aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog222
-rw-r--r--MAINTAINERS9
-rw-r--r--Makefile.def18
-rw-r--r--Makefile.in25407
-rw-r--r--Makefile.tpl535
-rw-r--r--bfd/ChangeLog1086
-rw-r--r--bfd/Makefile.am19
-rw-r--r--bfd/Makefile.in29
-rw-r--r--bfd/aclocal.m410
-rw-r--r--bfd/aout-adobe.c3
-rw-r--r--bfd/aout-target.h9
-rw-r--r--bfd/aout-tic30.c10
-rw-r--r--bfd/archures.c9
-rw-r--r--bfd/bfd-in.h25
-rw-r--r--bfd/bfd-in2.h130
-rw-r--r--bfd/bfd.c27
-rw-r--r--bfd/bfdio.c102
-rw-r--r--bfd/binary.c5
-rw-r--r--bfd/bout.c3
-rw-r--r--bfd/cache.c111
-rw-r--r--bfd/coff-alpha.c5
-rw-r--r--bfd/coff-i386.c45
-rw-r--r--bfd/coff-mips.c1243
-rw-r--r--bfd/coff-rs6000.c6
-rw-r--r--bfd/coff64-rs6000.c6
-rw-r--r--bfd/coffcode.h26
-rw-r--r--bfd/config.bfd24
-rw-r--r--bfd/config.in6
-rwxr-xr-xbfd/configure393
-rw-r--r--bfd/configure.in17
-rw-r--r--bfd/cpu-cr16c.c38
-rw-r--r--bfd/cpu-frv.c5
-rw-r--r--bfd/cpu-m68k.c5
-rw-r--r--bfd/cpu-sh.c19
-rw-r--r--bfd/doc/ChangeLog7
-rw-r--r--bfd/doc/Makefile.in4
-rw-r--r--bfd/doc/bfdint.texi8
-rw-r--r--bfd/ecoff.c43
-rw-r--r--bfd/ecofflink.c49
-rw-r--r--bfd/ecoffswap.h74
-rw-r--r--bfd/elf-bfd.h271
-rw-r--r--bfd/elf-eh-frame.c42
-rw-r--r--bfd/elf-hppa.h50
-rw-r--r--bfd/elf-m10200.c30
-rw-r--r--bfd/elf-m10300.c47
-rw-r--r--bfd/elf.c151
-rw-r--r--bfd/elf32-arm.h292
-rw-r--r--bfd/elf32-avr.c35
-rw-r--r--bfd/elf32-cr16c.c1000
-rw-r--r--bfd/elf32-cris.c110
-rw-r--r--bfd/elf32-d10v.c34
-rw-r--r--bfd/elf32-dlx.c4
-rw-r--r--bfd/elf32-fr30.c51
-rw-r--r--bfd/elf32-frv.c567
-rw-r--r--bfd/elf32-gen.c4
-rw-r--r--bfd/elf32-h8300.c30
-rw-r--r--bfd/elf32-hppa.c60
-rw-r--r--bfd/elf32-i370.c26
-rw-r--r--bfd/elf32-i386.c44
-rw-r--r--bfd/elf32-i860.c34
-rw-r--r--bfd/elf32-ip2k.c7
-rw-r--r--bfd/elf32-iq2000.c13
-rw-r--r--bfd/elf32-m32r.c45
-rw-r--r--bfd/elf32-m68hc1x.c62
-rw-r--r--bfd/elf32-m68hc1x.h4
-rw-r--r--bfd/elf32-m68k.c34
-rw-r--r--bfd/elf32-mcore.c34
-rw-r--r--bfd/elf32-mips.c214
-rw-r--r--bfd/elf32-msp430.c33
-rw-r--r--bfd/elf32-openrisc.c37
-rw-r--r--bfd/elf32-ppc.c51
-rw-r--r--bfd/elf32-s390.c54
-rw-r--r--bfd/elf32-sh.c50
-rw-r--r--bfd/elf32-sh64.c29
-rw-r--r--bfd/elf32-sparc.c62
-rw-r--r--bfd/elf32-v850.c51
-rw-r--r--bfd/elf32-vax.c24
-rw-r--r--bfd/elf32-xstormy16.c38
-rw-r--r--bfd/elf32-xtensa.c152
-rw-r--r--bfd/elf64-alpha.c31
-rw-r--r--bfd/elf64-gen.c5
-rw-r--r--bfd/elf64-hppa.c15
-rw-r--r--bfd/elf64-mmix.c56
-rw-r--r--bfd/elf64-ppc.c51
-rw-r--r--bfd/elf64-s390.c54
-rw-r--r--bfd/elf64-sh64.c47
-rw-r--r--bfd/elf64-sparc.c70
-rw-r--r--bfd/elf64-x86-64.c57
-rw-r--r--bfd/elfarm-nabi.c41
-rw-r--r--bfd/elfcode.h25
-rw-r--r--bfd/elflink.c6744
-rw-r--r--bfd/elflink.h6333
-rw-r--r--bfd/elfxx-ia64.c59
-rw-r--r--bfd/elfxx-mips.c157
-rw-r--r--bfd/elfxx-mips.h4
-rw-r--r--bfd/elfxx-target.h41
-rw-r--r--bfd/hpux-core.c3
-rw-r--r--bfd/i386msdos.c3
-rw-r--r--bfd/i386os9k.c5
-rw-r--r--bfd/ieee.c3
-rw-r--r--bfd/ihex.c3
-rw-r--r--bfd/libaout.h175
-rw-r--r--bfd/libbfd-in.h5
-rw-r--r--bfd/libbfd.h69
-rw-r--r--bfd/libecoff.h36
-rw-r--r--bfd/linker.c18
-rw-r--r--bfd/mach-o.c3
-rw-r--r--bfd/mmo.c3
-rw-r--r--bfd/mpw-config.in86
-rw-r--r--bfd/mpw-make.sed81
-rw-r--r--bfd/netbsd-core.c147
-rw-r--r--bfd/nlm-target.h3
-rw-r--r--bfd/oasys.c3
-rw-r--r--bfd/opncls.c187
-rw-r--r--bfd/pe-i386.c17
-rw-r--r--bfd/pe-mips.c24
-rw-r--r--bfd/peXXigen.c24
-rw-r--r--bfd/pef.c3
-rw-r--r--bfd/pei-i386.c17
-rw-r--r--bfd/po/SRC-POTFILES.in1
-rw-r--r--bfd/po/bfd.pot1135
-rw-r--r--bfd/ppcboot.c3
-rw-r--r--bfd/reloc.c96
-rw-r--r--bfd/section.c124
-rw-r--r--bfd/simple.c40
-rw-r--r--bfd/som.c141
-rw-r--r--bfd/som.h38
-rw-r--r--bfd/srec.c3
-rw-r--r--bfd/stabs.c61
-rw-r--r--bfd/sunos.c1
-rw-r--r--bfd/targets.c10
-rw-r--r--bfd/tekhex.c5
-rw-r--r--bfd/versados.c3
-rw-r--r--bfd/version.h2
-rw-r--r--bfd/vms.c4
-rw-r--r--bfd/xsym.c3
-rw-r--r--binutils/ChangeLog126
-rw-r--r--binutils/MAINTAINERS6
-rw-r--r--binutils/Makefile.am4
-rw-r--r--binutils/Makefile.in4
-rw-r--r--binutils/aclocal.m451
-rw-r--r--binutils/ar.c183
-rw-r--r--binutils/arsup.c4
-rw-r--r--binutils/config.in6
-rwxr-xr-xbinutils/configure515
-rw-r--r--binutils/deflex.l32
-rw-r--r--binutils/defparse.y40
-rw-r--r--binutils/dlltool.c80
-rw-r--r--binutils/dlltool.h11
-rw-r--r--binutils/mac-binutils.r42
-rw-r--r--binutils/mpw-config.in27
-rw-r--r--binutils/mpw-make.sed115
-rw-r--r--binutils/objcopy.c8
-rw-r--r--binutils/objdump.c106
-rw-r--r--binutils/po/binutils.pot2319
-rwxr-xr-xbinutils/ranlib.sh2
-rw-r--r--binutils/readelf.c194
-rw-r--r--binutils/strings.c7
-rw-r--r--binutils/testsuite/ChangeLog12
-rw-r--r--binutils/testsuite/binutils-all/ar.exp38
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp4
-rw-r--r--binutils/testsuite/binutils-all/readelf.ss-mips10
-rwxr-xr-xconfig.guess64
-rwxr-xr-xconfig.sub64
-rw-r--r--config/ChangeLog18
-rw-r--r--config/accross.m44
-rw-r--r--config/acx.m438
-rwxr-xr-xconfigure1866
-rw-r--r--configure.in1005
-rw-r--r--cpu/ChangeLog85
-rw-r--r--cpu/frv.cpu1953
-rw-r--r--cpu/frv.opc107
-rw-r--r--cpu/m32r.cpu2426
-rw-r--r--cpu/m32r.opc342
-rw-r--r--cpu/sh.cpu368
-rw-r--r--cpu/sh.opc78
-rw-r--r--cpu/sh64-compact.cpu1747
-rw-r--r--cpu/sh64-media.cpu1732
-rw-r--r--gas/ChangeLog430
-rw-r--r--gas/Makefile.am16
-rw-r--r--gas/Makefile.in327
-rw-r--r--gas/NEWS6
-rw-r--r--gas/aclocal.m41022
-rw-r--r--gas/config.in338
-rw-r--r--gas/config/m68k-parse.h14
-rw-r--r--gas/config/m68k-parse.y35
-rw-r--r--gas/config/obj-aout.c14
-rw-r--r--gas/config/obj-elf.c45
-rw-r--r--gas/config/obj-som.c4
-rw-r--r--gas/config/tc-arc.c21
-rw-r--r--gas/config/tc-arm.c160
-rw-r--r--gas/config/tc-arm.h172
-rw-r--r--gas/config/tc-dlx.c19
-rw-r--r--gas/config/tc-frv.c52
-rw-r--r--gas/config/tc-generic.c22
-rw-r--r--gas/config/tc-hppa.c72
-rw-r--r--gas/config/tc-i386.c53
-rw-r--r--gas/config/tc-i386.h6
-rw-r--r--gas/config/tc-ia64.c167
-rw-r--r--gas/config/tc-ia64.h8
-rw-r--r--gas/config/tc-iq2000.c4
-rw-r--r--gas/config/tc-m32r.c48
-rw-r--r--gas/config/tc-m68k.c175
-rw-r--r--gas/config/tc-mips.c670
-rw-r--r--gas/config/tc-mips.h25
-rw-r--r--gas/config/tc-ppc.c208
-rw-r--r--gas/config/tc-s390.c12
-rw-r--r--gas/config/tc-sh.c130
-rw-r--r--gas/config/tc-xtensa.c9
-rwxr-xr-xgas/configure3
-rw-r--r--gas/configure.in3
-rw-r--r--gas/doc/Makefile.in213
-rw-r--r--gas/doc/as.texinfo23
-rw-r--r--gas/doc/c-arm.texi9
-rw-r--r--gas/doc/c-hppa.texi49
-rw-r--r--gas/doc/c-m32r.texi9
-rw-r--r--gas/doc/c-mips.texi10
-rw-r--r--gas/doc/c-sh.texi5
-rw-r--r--gas/dw2gencfi.c6
-rw-r--r--gas/dwarf2dbg.c11
-rw-r--r--gas/ecoff.c2
-rw-r--r--gas/expr.c15
-rw-r--r--gas/mac-as.r42
-rw-r--r--gas/mpw-config.in115
-rw-r--r--gas/mpw-make.sed96
-rw-r--r--gas/po/gas.pot4534
-rw-r--r--gas/read.c46
-rw-r--r--gas/stabs.c2
-rw-r--r--gas/testsuite/ChangeLog218
-rw-r--r--gas/testsuite/gas/alpha/elf-reloc-8.d34
-rw-r--r--gas/testsuite/gas/arm/arm.exp50
-rw-r--r--gas/testsuite/gas/arm/maverick.c44
-rw-r--r--gas/testsuite/gas/arm/maverick.d920
-rw-r--r--gas/testsuite/gas/arm/maverick.s920
-rw-r--r--gas/testsuite/gas/arm/reg-alias.d10
-rw-r--r--gas/testsuite/gas/arm/reg-alias.s14
-rw-r--r--gas/testsuite/gas/cfi/cfi-alpha-1.d15
-rw-r--r--gas/testsuite/gas/cfi/cfi-alpha-2.d4
-rw-r--r--gas/testsuite/gas/cfi/cfi-alpha-3.d20
-rw-r--r--gas/testsuite/gas/cfi/cfi-common-1.d10
-rw-r--r--gas/testsuite/gas/cfi/cfi-common-2.d10
-rw-r--r--gas/testsuite/gas/cfi/cfi-common-3.d11
-rw-r--r--gas/testsuite/gas/cfi/cfi-i386.d34
-rw-r--r--gas/testsuite/gas/cfi/cfi-m68k.d21
-rw-r--r--gas/testsuite/gas/cfi/cfi-s390x-1.d14
-rw-r--r--gas/testsuite/gas/cfi/cfi-sparc64-1.d12
-rw-r--r--gas/testsuite/gas/cfi/cfi-x86_64.d36
-rw-r--r--gas/testsuite/gas/dlx/alltests.exp1
-rw-r--r--gas/testsuite/gas/dlx/itype.d2
-rw-r--r--gas/testsuite/gas/dlx/lhi.d6
-rw-r--r--gas/testsuite/gas/dlx/lohi.d18
-rw-r--r--gas/testsuite/gas/dlx/lohi.s9
-rw-r--r--gas/testsuite/gas/elf/elf.exp4
-rw-r--r--gas/testsuite/gas/elf/group0.s4
-rw-r--r--gas/testsuite/gas/elf/group0a.d9
-rw-r--r--gas/testsuite/gas/elf/group0b.d10
-rw-r--r--gas/testsuite/gas/elf/group1.s2
-rw-r--r--gas/testsuite/gas/elf/group1a.d10
-rw-r--r--gas/testsuite/gas/elf/group1b.d9
-rw-r--r--gas/testsuite/gas/elf/section2.e-mips12
-rw-r--r--gas/testsuite/gas/elf/symver.d2
-rw-r--r--gas/testsuite/gas/frv/allinsn.d20
-rw-r--r--gas/testsuite/gas/frv/allinsn.exp22
-rw-r--r--gas/testsuite/gas/frv/allinsn.s20
-rw-r--r--gas/testsuite/gas/frv/fr405-insn.d15
-rw-r--r--gas/testsuite/gas/frv/fr405-insn.l8
-rw-r--r--gas/testsuite/gas/frv/fr405-insn.s7
-rw-r--r--gas/testsuite/gas/frv/fr450-insn.d41
-rw-r--r--gas/testsuite/gas/frv/fr450-insn.l33
-rw-r--r--gas/testsuite/gas/frv/fr450-insn.s32
-rw-r--r--gas/testsuite/gas/frv/fr450-media-issue.l31
-rw-r--r--gas/testsuite/gas/frv/fr450-media-issue.s83
-rw-r--r--gas/testsuite/gas/frv/fr450-spr.d107
-rw-r--r--gas/testsuite/gas/frv/fr450-spr.s99
-rw-r--r--gas/testsuite/gas/i386/i386.exp7
-rw-r--r--gas/testsuite/gas/i386/secrel.d43
-rw-r--r--gas/testsuite/gas/i386/secrel.s77
-rw-r--r--gas/testsuite/gas/i860/dir-intel03-err.l2
-rw-r--r--gas/testsuite/gas/m32r/m32r.exp1
-rw-r--r--gas/testsuite/gas/m32r/m32r2.exp1
-rw-r--r--gas/testsuite/gas/m32r/parallel-2.d10
-rw-r--r--gas/testsuite/gas/m32r/parallel-2.s7
-rw-r--r--gas/testsuite/gas/m32r/seth.d8
-rw-r--r--gas/testsuite/gas/m32r/seth.s3
-rw-r--r--gas/testsuite/gas/m68hc11/m68hc11.exp2
-rw-r--r--gas/testsuite/gas/m68k/all.exp2
-rw-r--r--gas/testsuite/gas/m68k/mcf-emac.d6538
-rw-r--r--gas/testsuite/gas/m68k/mcf-emac.s6660
-rw-r--r--gas/testsuite/gas/m68k/mcf-mac.d3325
-rw-r--r--gas/testsuite/gas/m68k/mcf-mac.s3331
-rw-r--r--gas/testsuite/gas/macros/macros.exp2
-rw-r--r--gas/testsuite/gas/mips/elempic.d154
-rw-r--r--gas/testsuite/gas/mips/empic.d154
-rw-r--r--gas/testsuite/gas/mips/empic.l3
-rw-r--r--gas/testsuite/gas/mips/empic.s119
-rw-r--r--gas/testsuite/gas/mips/empic2.d279
-rw-r--r--gas/testsuite/gas/mips/empic2.s100
-rw-r--r--gas/testsuite/gas/mips/empic3_e.d47
-rw-r--r--gas/testsuite/gas/mips/empic3_e.s46
-rw-r--r--gas/testsuite/gas/mips/empic3_g1.d47
-rw-r--r--gas/testsuite/gas/mips/empic3_g1.s46
-rw-r--r--gas/testsuite/gas/mips/empic3_g2.d47
-rw-r--r--gas/testsuite/gas/mips/empic3_g2.s46
-rw-r--r--gas/testsuite/gas/mips/jal-empic-elf-2.d48
-rw-r--r--gas/testsuite/gas/mips/jal-empic-elf-2.s28
-rw-r--r--gas/testsuite/gas/mips/jal-empic-elf-3.d24
-rw-r--r--gas/testsuite/gas/mips/jal-empic-elf-3.s20
-rw-r--r--gas/testsuite/gas/mips/jal-empic-elf.d26
-rw-r--r--gas/testsuite/gas/mips/jal-empic.d26
-rw-r--r--gas/testsuite/gas/mips/la-empic.d105
-rw-r--r--gas/testsuite/gas/mips/la-empic.s57
-rw-r--r--gas/testsuite/gas/mips/lb-empic.d102
-rw-r--r--gas/testsuite/gas/mips/lb-svr4pic-ilocks.d154
-rw-r--r--gas/testsuite/gas/mips/lb-xgot-ilocks.d294
-rw-r--r--gas/testsuite/gas/mips/ld-empic.d186
-rw-r--r--gas/testsuite/gas/mips/ld-pic.s2
-rw-r--r--gas/testsuite/gas/mips/lif-empic.d24
-rw-r--r--gas/testsuite/gas/mips/lifloat.s4
-rw-r--r--gas/testsuite/gas/mips/mips-abi32-pic.d168
-rw-r--r--gas/testsuite/gas/mips/mips-abi32-pic2.d109
-rw-r--r--gas/testsuite/gas/mips/mips-gp32-fp32-pic.d168
-rw-r--r--gas/testsuite/gas/mips/mips-gp32-fp64-pic.d170
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp32-pic.d234
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp64-pic.d236
-rw-r--r--gas/testsuite/gas/mips/mips.exp28
-rw-r--r--gas/testsuite/gas/mips/mips16-e.d12
-rw-r--r--gas/testsuite/gas/mips/mips16-f.d12
-rw-r--r--gas/testsuite/gas/mips/mipsel16-e.d12
-rw-r--r--gas/testsuite/gas/mips/mipsel16-f.d12
-rw-r--r--gas/testsuite/gas/mips/relax-swap1-mips2.d206
-rw-r--r--gas/testsuite/gas/mips/telempic.d155
-rw-r--r--gas/testsuite/gas/mips/tempic.d155
-rw-r--r--gas/testsuite/gas/mips/ulh-empic.d91
-rw-r--r--gas/testsuite/gas/mips/vr4122.d4
-rw-r--r--gas/testsuite/gas/mips/vr4122.s2
-rw-r--r--gas/testsuite/gas/ppc/power4.d5
-rw-r--r--gas/testsuite/gas/ppc/power4.s4
-rw-r--r--gas/testsuite/gas/sh/basic.exp3
-rw-r--r--gas/testsuite/gas/sh/pcrel2.d4
-rw-r--r--gas/testsuite/gas/sh/renesas-1.d11
-rw-r--r--gas/testsuite/gas/sh/renesas-1.s3
-rw-r--r--gas/testsuite/gas/sh/sh64/err-dsp.s2
-rw-r--r--gas/testsuite/gas/sh/tlsd.d14
-rw-r--r--gas/testsuite/gas/sh/tlsnopic.d2
-rw-r--r--gas/testsuite/gas/sh/tlspic.d4
-rw-r--r--gas/testsuite/gas/symver/symver0.d4
-rw-r--r--gas/testsuite/gas/symver/symver1.d4
-rw-r--r--gas/testsuite/lib/gas-defs.exp13
-rw-r--r--gprof/ChangeLog8
-rw-r--r--gprof/Makefile.am10
-rw-r--r--gprof/Makefile.in14
-rw-r--r--gprof/gconfig.in9
-rw-r--r--gprof/po/gprof.pot16
-rw-r--r--gprof/po/sv.po197
-rw-r--r--include/ChangeLog75
-rw-r--r--include/bfdlink.h15
-rw-r--r--include/coff/ChangeLog10
-rw-r--r--include/coff/ecoff.h28
-rw-r--r--include/coff/internal.h1
-rw-r--r--include/coff/mips.h30
-rw-r--r--include/dyn-string.h31
-rw-r--r--include/elf/ChangeLog24
-rw-r--r--include/elf/arm.h5
-rw-r--r--include/elf/common.h1
-rw-r--r--include/elf/cr16c.h258
-rw-r--r--include/elf/frv.h2
-rw-r--r--include/elf/mips.h6
-rw-r--r--include/elf/sh.h3
-rw-r--r--include/hashtab.h17
-rw-r--r--include/mpw/ChangeLog61
-rw-r--r--include/mpw/README1
-rw-r--r--include/mpw/dir.h23
-rw-r--r--include/mpw/dirent.h31
-rw-r--r--include/mpw/fcntl.h124
-rw-r--r--include/mpw/grp.h10
-rw-r--r--include/mpw/mpw.h130
-rw-r--r--include/mpw/pwd.h15
-rw-r--r--include/mpw/spin.h64
-rw-r--r--include/mpw/stat.h75
-rw-r--r--include/mpw/sys/file.h1
-rw-r--r--include/mpw/sys/param.h1
-rw-r--r--include/mpw/sys/resource.h9
-rw-r--r--include/mpw/sys/stat.h44
-rw-r--r--include/mpw/sys/time.h13
-rw-r--r--include/mpw/sys/types.h15
-rw-r--r--include/mpw/utime.h7
-rw-r--r--include/mpw/varargs.h9
-rw-r--r--include/opcode/ChangeLog12
-rw-r--r--include/opcode/i386.h6
-rw-r--r--include/opcode/m68k.h26
-rw-r--r--include/splay-tree.h12
-rwxr-xr-xinstall-sh468
-rw-r--r--ld/ChangeLog200
-rw-r--r--ld/ChangeLog-02031937
-rw-r--r--ld/Makefile.am49
-rw-r--r--ld/Makefile.in49
-rw-r--r--ld/NEWS8
-rw-r--r--ld/config.in9
-rw-r--r--ld/configure.host4
-rw-r--r--ld/configure.tgt2
-rw-r--r--ld/emulparams/elf32bmip.sh1
-rwxr-xr-xld/emulparams/elf32bmipn32.sh2
-rw-r--r--ld/emulparams/elf32bsmip.sh1
-rw-r--r--ld/emulparams/elf32cr16c.sh5
-rw-r--r--ld/emulparams/elf32frvfd.sh2
-rwxr-xr-xld/emulparams/elf64bmip.sh2
-rw-r--r--ld/emulparams/mipsidt.sh3
-rw-r--r--ld/emulparams/mipsidtl.sh3
-rw-r--r--ld/emultempl/armelf.em11
-rw-r--r--ld/emultempl/armelf_oabi.em2
-rw-r--r--ld/emultempl/elf32.em43
-rw-r--r--ld/emultempl/hppaelf.em4
-rw-r--r--ld/emultempl/irix.em41
-rw-r--r--ld/emultempl/mipsecoff.em255
-rw-r--r--ld/emultempl/mipself.em177
-rw-r--r--ld/emultempl/ppc64elf.em8
-rw-r--r--ld/emultempl/sh64elf.em2
-rw-r--r--ld/ld.texinfo56
-rw-r--r--ld/ldfile.c5
-rw-r--r--ld/ldlang.c45
-rw-r--r--ld/ldlang.h6
-rw-r--r--ld/ldlex.l5
-rw-r--r--ld/ldmain.c6
-rw-r--r--ld/ldmain.h3
-rw-r--r--ld/lexsup.c32
-rw-r--r--ld/mac-ld.r42
-rw-r--r--ld/mpw-config.in52
-rw-r--r--ld/mpw-make.sed95
-rw-r--r--ld/pe-dll.c31
-rw-r--r--ld/po/ld.pot866
-rw-r--r--ld/po/sv.po902
-rw-r--r--ld/scripttempl/elf.sc4
-rw-r--r--ld/scripttempl/elf32cr16c.sc52
-rw-r--r--ld/scripttempl/mips.sc3
-rw-r--r--ld/scripttempl/pe.sc86
-rw-r--r--ld/testsuite/ChangeLog187
-rw-r--r--ld/testsuite/ld-cdtest/cdtest.exp6
-rw-r--r--ld/testsuite/ld-elf/merge.d2
-rw-r--r--ld/testsuite/ld-elfvers/vers.exp6
-rw-r--r--ld/testsuite/ld-elfvsb/elfvsb.exp11
-rw-r--r--ld/testsuite/ld-elfweak/elfweak.exp30
-rw-r--r--ld/testsuite/ld-elfweak/size.dat3
-rw-r--r--ld/testsuite/ld-elfweak/size_bar.c11
-rw-r--r--ld/testsuite/ld-elfweak/size_foo.c8
-rw-r--r--ld/testsuite/ld-elfweak/size_main.c8
-rw-r--r--ld/testsuite/ld-empic/empic.exp263
-rw-r--r--ld/testsuite/ld-empic/relax.t49
-rw-r--r--ld/testsuite/ld-empic/relax1.c22
-rw-r--r--ld/testsuite/ld-empic/relax2.c19
-rw-r--r--ld/testsuite/ld-empic/relax3.c3
-rw-r--r--ld/testsuite/ld-empic/relax4.c3
-rw-r--r--ld/testsuite/ld-empic/run.c160
-rw-r--r--ld/testsuite/ld-empic/runtest1.c117
-rw-r--r--ld/testsuite/ld-empic/runtest2.c26
-rw-r--r--ld/testsuite/ld-empic/runtesti.s94
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-1.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-2.d64
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-6.d74
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-7.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-8-fail.d6
-rw-r--r--ld/testsuite/ld-frv/fdpic-pie-8.d122
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-1.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-2.d54
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-3.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-4.d65
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-5.d76
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-6.d74
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-7.d40
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-8.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-local-2.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-shared-local-8.d90
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-1.d42
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-2.d106
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-6.d2
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-7.d42
-rw-r--r--ld/testsuite/ld-frv/fdpic-static-8.d106
-rw-r--r--ld/testsuite/ld-frv/fdpic.exp3
-rw-r--r--ld/testsuite/ld-frv/fr450-link.d11
-rw-r--r--ld/testsuite/ld-frv/fr450-linka.s1
-rw-r--r--ld/testsuite/ld-frv/fr450-linkb.s1
-rw-r--r--ld/testsuite/ld-frv/fr450-linkc.s1
-rw-r--r--ld/testsuite/ld-frv/frv-elf.exp3
-rw-r--r--ld/testsuite/ld-i386/tlspic.dd14
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-ln.d27
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-lp.d26
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-mn.d25
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-mp.d25
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-ref.s9
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-sn.d23
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-sp.d23
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-space.s5
-rw-r--r--ld/testsuite/ld-mips-elf/empic1-tgt.s8
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-0.d20
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-1.d21
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s7
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-ref.s7
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-0.d22
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-1.d24
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-rev-tgt.s8
-rw-r--r--ld/testsuite/ld-mips-elf/empic2-space.s5
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs-eb.d25
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs-el.d25
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs.ld16
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs1.s23
-rw-r--r--ld/testsuite/ld-mips-elf/emrelocs2.s30
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp23
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3-r.d83
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3-srec.d54
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3.ld8
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3a.s38
-rw-r--r--ld/testsuite/ld-mips-elf/reloc-3b.s58
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe.r4
-rw-r--r--ld/testsuite/ld-powerpc/tlsexe32.d4
-rw-r--r--ld/testsuite/ld-powerpc/tlsexetoc.r4
-rw-r--r--ld/testsuite/ld-powerpc/tlsso32.d4
-rw-r--r--ld/testsuite/ld-scripts/align.exp5
-rw-r--r--ld/testsuite/ld-scripts/assert.s2
-rw-r--r--ld/testsuite/ld-scripts/data.d2
-rw-r--r--ld/testsuite/ld-scripts/data.s2
-rw-r--r--ld/testsuite/ld-scripts/data.t7
-rw-r--r--ld/testsuite/ld-scripts/defined2.d3
-rw-r--r--ld/testsuite/ld-scripts/defined3.d9
-rw-r--r--ld/testsuite/ld-scripts/provide-1.d3
-rw-r--r--ld/testsuite/ld-scripts/provide-1.s1
-rw-r--r--ld/testsuite/ld-scripts/provide-1.t3
-rw-r--r--ld/testsuite/ld-scripts/provide-2.d3
-rw-r--r--ld/testsuite/ld-scripts/provide-2.s2
-rw-r--r--ld/testsuite/ld-scripts/provide-3.d4
-rw-r--r--ld/testsuite/ld-scripts/provide-3.s1
-rw-r--r--ld/testsuite/ld-scripts/provide.exp5
-rw-r--r--ld/testsuite/ld-scripts/size-1.d14
-rw-r--r--ld/testsuite/ld-scripts/size-1.s16
-rw-r--r--ld/testsuite/ld-scripts/size-1.t13
-rw-r--r--ld/testsuite/ld-scripts/size-2.d23
-rw-r--r--ld/testsuite/ld-scripts/size-2.s7
-rw-r--r--ld/testsuite/ld-scripts/size-2.t4
-rw-r--r--ld/testsuite/ld-scripts/size.exp16
-rw-r--r--ld/testsuite/ld-sh/tlsbin-1.d36
-rw-r--r--ld/testsuite/ld-sh/tlspic-1.d22
-rw-r--r--ld/testsuite/ld-shared/shared.exp9
-rw-r--r--libiberty/ChangeLog119
-rw-r--r--libiberty/Makefile.in57
-rw-r--r--libiberty/acconfig.h3
-rw-r--r--libiberty/config.in12
-rwxr-xr-xlibiberty/configure1456
-rw-r--r--libiberty/configure.ac67
-rw-r--r--libiberty/cp-demangle.c355
-rw-r--r--libiberty/cp-demangle.h12
-rw-r--r--libiberty/dyn-string.c11
-rw-r--r--libiberty/hashtab.c367
-rw-r--r--libiberty/mkstemps.c6
-rw-r--r--libiberty/pex-common.h5
-rw-r--r--libiberty/pex-unix.c81
-rw-r--r--libiberty/strerror.c6
-rw-r--r--libiberty/testsuite/demangle-expected26
-rw-r--r--libiberty/testsuite/test-demangle.c8
-rwxr-xr-xmkinstalldirs69
-rw-r--r--mpw-README376
-rw-r--r--mpw-build.in204
-rw-r--r--mpw-config.in113
-rw-r--r--mpw-configure448
-rw-r--r--mpw-install122
-rw-r--r--opcodes/ChangeLog142
-rw-r--r--opcodes/aclocal.m449
-rw-r--r--opcodes/config.in6
-rwxr-xr-xopcodes/configure393
-rw-r--r--opcodes/frv-asm.c15
-rw-r--r--opcodes/frv-desc.c1633
-rw-r--r--opcodes/frv-desc.h88
-rw-r--r--opcodes/frv-dis.c15
-rw-r--r--opcodes/frv-ibld.c90
-rw-r--r--opcodes/frv-opc.c235
-rw-r--r--opcodes/frv-opc.h292
-rw-r--r--opcodes/h8300-dis.c11
-rw-r--r--opcodes/m32r-asm.c7
-rw-r--r--opcodes/m68k-dis.c70
-rw-r--r--opcodes/m68k-opc.c169
-rw-r--r--opcodes/mpw-config.in27
-rw-r--r--opcodes/mpw-make.sed25
-rw-r--r--opcodes/po/POTFILES.in1
-rw-r--r--opcodes/po/de.po695
-rw-r--r--opcodes/po/opcodes.pot207
-rw-r--r--opcodes/ppc-opc.c28
-rw-r--r--opcodes/sh-dis.c26
-rw-r--r--opcodes/sh-opc.h84
-rw-r--r--opcodes/sparc-opc.c164
-rw-r--r--src-release9
-rw-r--r--texinfo/texinfo.tex5279
588 files changed, 79964 insertions, 46491 deletions
diff --git a/ChangeLog b/ChangeLog
index 681247b..449a0f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,225 @@
+2004-04-27 Paolo Bonzini <bonzini@gnu.org>
+
+ Revert:
+ 2004-04-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.def (flags_to_pass): Remove *dir variables that
+ are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS,
+ as well as prefix and exec_prefix.
+ * Makefile.in: Regenerate.
+
+2004-04-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.def (host_modules): Mark with the bootstrap
+ flag packages on which gcc depends.
+ * Makefile.tpl (all-bootstrap): Use it.
+ * Makefile.in: Regenerate.
+
+2004-04-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.def (flags_to_pass): Remove *dir variables that
+ are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS,
+ as well as prefix and exec_prefix.
+ * Makefile.in: Regenerate.
+
+2004-04-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
+ * configure: Regenerate.
+ * config/acx.m4: Mutuate ACX_PROG_CMP_IGNORE_INITIAL from gcc.
+ * gcc/Makefile.tpl (compare): Use the result of the test.
+ * gcc/Makefile.in: Regenerate.
+
+2004-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc):
+ Always relocate gcc and prev-gcc to the original names, even
+ if the build fails.
+ (new-cleanstrap, new-restage1, new-restage2, new-restage3):
+ New targets.
+
+2004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.in (mips*-*-irix5*): Enable ld.
+ * configure: Regenerate.
+
+2004-04-15 James E Wilson <wilson@specifixinc.com>
+
+ * Makefile.tpl (configure-[+module+], configure-gcc,
+ configure-stage1-gcc, configure-stage2-gcc, configure-stage3-gcc):
+ Set and export LDFLAGS.
+ * Makefile.in: Regenerate.
+
+2004-04-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR bootstrap/14871
+ * Makefile.tpl: If we don't have built-in-tree target tools,
+ use the ones found by configure rather than hacking around with
+ program_transform_name.
+ * configure.in: Give Makefile.tpl the information necessary
+ to do that.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR bootstrap/14760
+ * configure.in: When computing baseargs, strip *all* copies of
+ offending options. Also, don't match/substitute the trailing space,
+ so that this actually works when two similar options are separated by
+ only one space.
+ * configure: Regenerate.
+
+2004-04-06 David Edelsohn <edelsohn@gnu.org>
+
+ * configure.in (powerpc-*-aix*): Remove target-libada from noconfigdirs.
+ (rs6000-*-aix*): Same.
+ * configure: Regenerate.
+
+2004-03-25 Stan Shebs <shebs@apple.com>
+
+ Remove MPW support, no longer used.
+ * mpw-README, mpw-build.in, mpw-config.in, mpw-configure,
+ mpw-install: Remove files.
+ * src-release (DEVO_SUPPORT): Remove names of removed files.
+ * MAINTAINERS: Likewise.
+
+2004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.tpl (top level bootstrap support): Remove now-unneeded
+ STRICT_WARN, WARN_CFLAGS flags passed down to make.
+ * Makefile.in: Regenerate.
+
+ * configure.in (top level bootstrap support): Rework --enable-werror
+ to set @stage2_werror_flag@.
+ * configure: Regenerate.
+ * Makefile.tpl (top level bootstrap support): Pass
+ @stage2_werror_flag@ down to configure in stages 2 and 3.
+ * Makefile.in: Regenerate.
+
+2004-03-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure
+ for stages 2 and 3 as well as in make. As a consequence, remove
+ OUTPUT_OPTION (now detected by configure) from the flags passed down
+ to make.
+ * Makefile.in: Regenerate.
+
+ * Makefile.tpl (new-bootstrap): Fix typo.
+ * Makefile.in: Regenerate.
+
+2004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.tpl: Rearrange by moving recursive_targets rules
+ into their proper sections.
+ * Makefile.tpl (top level bootstrap support): Move disabling
+ of coverage flags from 'make' to 'configure'; improve comments.
+ * Makefile.in: Regenerate.
+
+ * Makefile.tpl (experimental top level bootstrap) Move stage1
+ language setting from all- target to configure- target; disable
+ intermodule optimization in stage 1; prevent gratuitous rebuilds
+ of stage 1.
+ * Makefile.in: Regenerate.
+ * configure.in: Comma-separate stage 1 language list for top
+ level bootstrap.
+ * configure: Regenerate.
+
+ * Makefile.tpl: Clean up experimental top level bootstrap support:
+ note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
+ prev-gcc in configure- targets as well as all- targets.
+ * Makefile.in: Regenerate.
+
+2004-03-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.in: Remove symbolic link section.
+ * configure: Regenerate.
+ * Makefile.tpl (links): Remove.
+ * Makefile.in: Regenerate.
+
+2004-03-15 Paolo Bonzini <bonzini@gnu.org>
+ Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure.in (DEFAULT_YACC, DEFAULT_M4, DEFAULT_LEX):
+ Set with AC_CHECK_PROGS.
+ * configure.in: Fix comment typo from last patch.
+ * configure: Regenerate.
+
+2004-03-15 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.tpl: Introduce experimental top level bootstrap support.
+ * Makefile.in: Regenerate.
+ * configure.in: Introduce support for top level bootstrap.
+ * configure: Regenerate.
+
+2004-03-12 Eric Botcazou <ebotcazou@gcc.gnu.org>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/14522
+ * configure.in: Cope with shells that do not support unquoted ^
+ * configure: Regenerate.
+
+2004-03-11 Eric Botcazou <ebotcazou@gcc.gnu.org>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/14522
+ * configure.in: Cope with shell that do not support nesting
+ quotes inside quoted backquote substitutions.
+ * configure: Regenerate.
+
+2004-03-10 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR bootstrap/14522
+ * configure.in: Fix escaping of $.
+ * configure: Regenerate.
+
+2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure: Regenerate.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * configure.in: Find default values for the tools as
+ soon as possible. Disable ada if GNAT is not found.
+ Emit error message about missing languages. Expand
+ --enable-languages=all for the gcc subdirectory.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * configure.in (mips64*-*-linux*): Override mips*-*-linux* case
+ and disable libgcj.
+ * configure: Regenerated.
+
+2004-02-28 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR bootstrap/7087
+ * Makefile.tpl: Guard XFOO sed statements better.
+ * Makefile.tpl: Add dependency for configure-target-libada.
+ * Makefile.in: Regenerate (incidentally fixes broken
+ commit when libada-branch was merged).
+
+2004-02-28 Andrew Cagney <cagney@redhat.com>
+
+ * src-release (CVS_NAMES): Define.
+ (do-tar, do-tar): Prune $(CVS_NAMES).
+
+2004-02-23 Andrew Cagney <cagney@redhat.com>
+
+ * texinfo/texinfo.tex: Update from version 2003-02-03.16 to
+ 2004-02-19.09.
+
+2004-02-19 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR bootstrap/11932
+ * mkinstalldirs, install-sh: Import from automake CVS HEAD.
+
+2004-02-19 Andrew Cagney <cagney@redhat.com>
+
+ * config.guess: Update from version 2003-06-12 to 2004-02-16.
+ * config.sub: Update from version 2003-06-13 to 2004-02-16.
+
2004-02-11 David Edelsohn <edelsohn@gnu.org>
* configure.in (powerpc-*-aix*): Add target-libada to noconfigdirs.
diff --git a/MAINTAINERS b/MAINTAINERS
index c9ad6b3..eaa6cd4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -38,7 +38,7 @@ dejagnu/
Patches to bug-dejagnu@gnu.org
Avoid making changes to the local repository; please send
patches upstream. Important and approved patches can be
- checked into the src repository, otheriwse patches will be
+ checked into the src repository, otherwise patches will be
imported from the next release.
gdb/; mmalloc/; readline/; sim/; GDB's part of include/ & dejagnu/
@@ -59,8 +59,8 @@ libiberty/; libiberty's part of include/
Otherwise, changes are automatically merged, usually within
a day.
-ltconfig; ltmain.sh
- libtool: http://gnu.org
+ltconfig; ltmain.sh; ltcf-*.sh
+ libtool: http://www.gnu.org/software/libtool/
Changes need to be done in tandem with the official LIBTOOL
sources or submitted to the master file maintainer and brought
in via a merge.
@@ -100,8 +100,7 @@ winsup/
General discussion cygwin@sources.redhat.com.
See also winsup/MAINTAINERS.
-expect/; config-ml.in; mpw-README; mpw-build.in; mpw-config.in;
-mpw-configure; mpw-install; setup.com; missing; makefile.vms; utils/;
+expect/; config-ml.in; setup.com; missing; makefile.vms; utils/;
config/; config.if; makefile.vms; missing; ylwrap; mkdep; etc/;
install-sh; intl/
Ask DJ Delorie <dj@redhat.com> after reading the libiberty entry.
diff --git a/Makefile.def b/Makefile.def
index 5a68098..e8e207a 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -32,9 +32,9 @@ host_modules= { module= automake; };
host_modules= { module= bash; };
host_modules= { module= bfd; };
host_modules= { module= opcodes; };
-host_modules= { module= binutils; };
-host_modules= { module= bison; no_check_cross= true; };
-host_modules= { module= byacc; no_check_cross= true; };
+host_modules= { module= binutils; bootstrap=true; };
+host_modules= { module= bison; no_check_cross= true; bootstrap=true; };
+host_modules= { module= byacc; no_check_cross= true; bootstrap=true; };
host_modules= { module= bzip2; };
host_modules= { module= dejagnu; };
host_modules= { module= diff; };
@@ -45,7 +45,7 @@ host_modules= { module= fileutils; };
host_modules= { module= findutils; };
host_modules= { module= find; };
host_modules= { module= flex; no_check_cross= true; };
-host_modules= { module= gas; };
+host_modules= { module= gas; bootstrap=true; };
host_modules= { module= gawk; };
host_modules= { module= gettext; };
host_modules= { module= gnuserv; };
@@ -53,13 +53,13 @@ host_modules= { module= gprof; };
host_modules= { module= gzip; };
host_modules= { module= hello; };
host_modules= { module= indent; };
-host_modules= { module= intl; };
+host_modules= { module= intl; bootstrap=true; };
host_modules= { module= tcl;
missing=mostlyclean; };
host_modules= { module= itcl; };
-host_modules= { module= ld; };
+host_modules= { module= ld; bootstrap=true; };
host_modules= { module= libgui; };
-host_modules= { module= libiberty; };
+host_modules= { module= libiberty; bootstrap=true; };
host_modules= { module= libtool; };
host_modules= { module= m4; };
host_modules= { module= make; };
@@ -77,13 +77,13 @@ host_modules= { module= shellutils; };
host_modules= { module= sid; };
host_modules= { module= sim; };
host_modules= { module= tar; };
-host_modules= { module= texinfo; no_install= true; };
+host_modules= { module= texinfo; no_install= true; bootstrap=true; };
host_modules= { module= textutils; };
host_modules= { module= time; };
host_modules= { module= uudecode; };
host_modules= { module= wdiff; };
host_modules= { module= zip; no_check_cross=true; };
-host_modules= { module= zlib; no_install=true; no_check=true; };
+host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; };
host_modules= { module= gdb; with_x=true; };
host_modules= { module= expect; with_x=true; };
host_modules= { module= guile; with_x=true; };
diff --git a/Makefile.in b/Makefile.in
index 061a76f..8f60905 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -70,7 +70,6 @@ INSTALL_DATA = @INSTALL_DATA@
# Miscellaneous non-standard autoconf-set variables
# -------------------------------------------------
-links=@configlinks@
# The file containing GCC's version number.
gcc_version_trigger = @gcc_version_trigger@
gcc_version = @gcc_version@
@@ -247,6 +246,7 @@ TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
AR_FOR_TARGET=@AR_FOR_TARGET@
+CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@
USUAL_AR_FOR_TARGET = ` \
if [ -f $$r/binutils/ar ] ; then \
echo $$r/binutils/ar ; \
@@ -254,11 +254,12 @@ USUAL_AR_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AR); \
else \
- echo ar | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_AR_FOR_TARGET) ; \
fi; \
fi`
AS_FOR_TARGET=@AS_FOR_TARGET@
+CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
USUAL_AS_FOR_TARGET = ` \
if [ -f $$r/gas/as-new ] ; then \
echo $$r/gas/as-new ; \
@@ -268,7 +269,7 @@ USUAL_AS_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AS); \
else \
- echo as | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_AS_FOR_TARGET) ; \
fi; \
fi`
@@ -294,6 +295,7 @@ CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
USUAL_DLLTOOL_FOR_TARGET = ` \
if [ -f $$r/binutils/dlltool ] ; then \
echo $$r/binutils/dlltool ; \
@@ -301,13 +303,14 @@ USUAL_DLLTOOL_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(DLLTOOL); \
else \
- echo dlltool | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \
fi; \
fi`
GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
LD_FOR_TARGET=@LD_FOR_TARGET@
+CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
USUAL_LD_FOR_TARGET = ` \
if [ -f $$r/ld/ld-new ] ; then \
echo $$r/ld/ld-new ; \
@@ -317,13 +320,14 @@ USUAL_LD_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(LD); \
else \
- echo ld | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_LD_FOR_TARGET) ; \
fi; \
fi`
LDFLAGS_FOR_TARGET =
NM_FOR_TARGET=@NM_FOR_TARGET@
+CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
USUAL_NM_FOR_TARGET = ` \
if [ -f $$r/binutils/nm-new ] ; then \
echo $$r/binutils/nm-new ; \
@@ -333,11 +337,12 @@ USUAL_NM_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(NM); \
else \
- echo nm | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_NM_FOR_TARGET) ; \
fi; \
fi`
RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
+CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@
USUAL_RANLIB_FOR_TARGET = ` \
if [ -f $$r/binutils/ranlib ] ; then \
echo $$r/binutils/ranlib ; \
@@ -349,11 +354,12 @@ USUAL_RANLIB_FOR_TARGET = ` \
echo ranlib; \
fi; \
else \
- echo ranlib | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \
fi; \
fi`
WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
+CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@
USUAL_WINDRES_FOR_TARGET = ` \
if [ -f $$r/binutils/windres ] ; then \
echo $$r/binutils/windres ; \
@@ -361,7 +367,7 @@ USUAL_WINDRES_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(WINDRES); \
else \
- echo windres | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \
fi; \
fi`
@@ -516,15 +522,15 @@ EXTRA_GCC_FLAGS = \
'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s/.*=$$/XFOO=/`"
+ "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
@@ -799,28 +805,1247 @@ info-target: \
maybe-info-target-rda \
maybe-info-target-libada
-# GCC, the eternal special case
-.PHONY: maybe-info-gcc info-gcc
-maybe-info-gcc:
-info-gcc: \
- configure-gcc
- @[ -f ./gcc/Makefile ] || exit 0; \
+.PHONY: do-dvi
+do-dvi: dvi-host dvi-target
+
+.PHONY: dvi-host
+dvi-host: maybe-dvi-gcc \
+ maybe-dvi-ash \
+ maybe-dvi-autoconf \
+ maybe-dvi-automake \
+ maybe-dvi-bash \
+ maybe-dvi-bfd \
+ maybe-dvi-opcodes \
+ maybe-dvi-binutils \
+ maybe-dvi-bison \
+ maybe-dvi-byacc \
+ maybe-dvi-bzip2 \
+ maybe-dvi-dejagnu \
+ maybe-dvi-diff \
+ maybe-dvi-dosutils \
+ maybe-dvi-etc \
+ maybe-dvi-fastjar \
+ maybe-dvi-fileutils \
+ maybe-dvi-findutils \
+ maybe-dvi-find \
+ maybe-dvi-flex \
+ maybe-dvi-gas \
+ maybe-dvi-gawk \
+ maybe-dvi-gettext \
+ maybe-dvi-gnuserv \
+ maybe-dvi-gprof \
+ maybe-dvi-gzip \
+ maybe-dvi-hello \
+ maybe-dvi-indent \
+ maybe-dvi-intl \
+ maybe-dvi-tcl \
+ maybe-dvi-itcl \
+ maybe-dvi-ld \
+ maybe-dvi-libgui \
+ maybe-dvi-libiberty \
+ maybe-dvi-libtool \
+ maybe-dvi-m4 \
+ maybe-dvi-make \
+ maybe-dvi-mmalloc \
+ maybe-dvi-patch \
+ maybe-dvi-perl \
+ maybe-dvi-prms \
+ maybe-dvi-rcs \
+ maybe-dvi-readline \
+ maybe-dvi-release \
+ maybe-dvi-recode \
+ maybe-dvi-sed \
+ maybe-dvi-send-pr \
+ maybe-dvi-shellutils \
+ maybe-dvi-sid \
+ maybe-dvi-sim \
+ maybe-dvi-tar \
+ maybe-dvi-texinfo \
+ maybe-dvi-textutils \
+ maybe-dvi-time \
+ maybe-dvi-uudecode \
+ maybe-dvi-wdiff \
+ maybe-dvi-zip \
+ maybe-dvi-zlib \
+ maybe-dvi-gdb \
+ maybe-dvi-expect \
+ maybe-dvi-guile \
+ maybe-dvi-tk \
+ maybe-dvi-tix \
+ maybe-dvi-libtermcap \
+ maybe-dvi-utils
+
+.PHONY: dvi-target
+dvi-target: \
+ maybe-dvi-target-libstdc++-v3 \
+ maybe-dvi-target-newlib \
+ maybe-dvi-target-libf2c \
+ maybe-dvi-target-libobjc \
+ maybe-dvi-target-libtermcap \
+ maybe-dvi-target-winsup \
+ maybe-dvi-target-libgloss \
+ maybe-dvi-target-libiberty \
+ maybe-dvi-target-gperf \
+ maybe-dvi-target-examples \
+ maybe-dvi-target-libffi \
+ maybe-dvi-target-libjava \
+ maybe-dvi-target-zlib \
+ maybe-dvi-target-boehm-gc \
+ maybe-dvi-target-qthreads \
+ maybe-dvi-target-rda \
+ maybe-dvi-target-libada
+
+.PHONY: do-TAGS
+do-TAGS: TAGS-host TAGS-target
+
+.PHONY: TAGS-host
+TAGS-host: maybe-TAGS-gcc \
+ maybe-TAGS-ash \
+ maybe-TAGS-autoconf \
+ maybe-TAGS-automake \
+ maybe-TAGS-bash \
+ maybe-TAGS-bfd \
+ maybe-TAGS-opcodes \
+ maybe-TAGS-binutils \
+ maybe-TAGS-bison \
+ maybe-TAGS-byacc \
+ maybe-TAGS-bzip2 \
+ maybe-TAGS-dejagnu \
+ maybe-TAGS-diff \
+ maybe-TAGS-dosutils \
+ maybe-TAGS-etc \
+ maybe-TAGS-fastjar \
+ maybe-TAGS-fileutils \
+ maybe-TAGS-findutils \
+ maybe-TAGS-find \
+ maybe-TAGS-flex \
+ maybe-TAGS-gas \
+ maybe-TAGS-gawk \
+ maybe-TAGS-gettext \
+ maybe-TAGS-gnuserv \
+ maybe-TAGS-gprof \
+ maybe-TAGS-gzip \
+ maybe-TAGS-hello \
+ maybe-TAGS-indent \
+ maybe-TAGS-intl \
+ maybe-TAGS-tcl \
+ maybe-TAGS-itcl \
+ maybe-TAGS-ld \
+ maybe-TAGS-libgui \
+ maybe-TAGS-libiberty \
+ maybe-TAGS-libtool \
+ maybe-TAGS-m4 \
+ maybe-TAGS-make \
+ maybe-TAGS-mmalloc \
+ maybe-TAGS-patch \
+ maybe-TAGS-perl \
+ maybe-TAGS-prms \
+ maybe-TAGS-rcs \
+ maybe-TAGS-readline \
+ maybe-TAGS-release \
+ maybe-TAGS-recode \
+ maybe-TAGS-sed \
+ maybe-TAGS-send-pr \
+ maybe-TAGS-shellutils \
+ maybe-TAGS-sid \
+ maybe-TAGS-sim \
+ maybe-TAGS-tar \
+ maybe-TAGS-texinfo \
+ maybe-TAGS-textutils \
+ maybe-TAGS-time \
+ maybe-TAGS-uudecode \
+ maybe-TAGS-wdiff \
+ maybe-TAGS-zip \
+ maybe-TAGS-zlib \
+ maybe-TAGS-gdb \
+ maybe-TAGS-expect \
+ maybe-TAGS-guile \
+ maybe-TAGS-tk \
+ maybe-TAGS-tix \
+ maybe-TAGS-libtermcap \
+ maybe-TAGS-utils
+
+.PHONY: TAGS-target
+TAGS-target: \
+ maybe-TAGS-target-libstdc++-v3 \
+ maybe-TAGS-target-newlib \
+ maybe-TAGS-target-libf2c \
+ maybe-TAGS-target-libobjc \
+ maybe-TAGS-target-libtermcap \
+ maybe-TAGS-target-winsup \
+ maybe-TAGS-target-libgloss \
+ maybe-TAGS-target-libiberty \
+ maybe-TAGS-target-gperf \
+ maybe-TAGS-target-examples \
+ maybe-TAGS-target-libffi \
+ maybe-TAGS-target-libjava \
+ maybe-TAGS-target-zlib \
+ maybe-TAGS-target-boehm-gc \
+ maybe-TAGS-target-qthreads \
+ maybe-TAGS-target-rda \
+ maybe-TAGS-target-libada
+
+.PHONY: do-install-info
+do-install-info: install-info-host install-info-target
+
+.PHONY: install-info-host
+install-info-host: maybe-install-info-gcc \
+ maybe-install-info-ash \
+ maybe-install-info-autoconf \
+ maybe-install-info-automake \
+ maybe-install-info-bash \
+ maybe-install-info-bfd \
+ maybe-install-info-opcodes \
+ maybe-install-info-binutils \
+ maybe-install-info-bison \
+ maybe-install-info-byacc \
+ maybe-install-info-bzip2 \
+ maybe-install-info-dejagnu \
+ maybe-install-info-diff \
+ maybe-install-info-dosutils \
+ maybe-install-info-etc \
+ maybe-install-info-fastjar \
+ maybe-install-info-fileutils \
+ maybe-install-info-findutils \
+ maybe-install-info-find \
+ maybe-install-info-flex \
+ maybe-install-info-gas \
+ maybe-install-info-gawk \
+ maybe-install-info-gettext \
+ maybe-install-info-gnuserv \
+ maybe-install-info-gprof \
+ maybe-install-info-gzip \
+ maybe-install-info-hello \
+ maybe-install-info-indent \
+ maybe-install-info-intl \
+ maybe-install-info-tcl \
+ maybe-install-info-itcl \
+ maybe-install-info-ld \
+ maybe-install-info-libgui \
+ maybe-install-info-libiberty \
+ maybe-install-info-libtool \
+ maybe-install-info-m4 \
+ maybe-install-info-make \
+ maybe-install-info-mmalloc \
+ maybe-install-info-patch \
+ maybe-install-info-perl \
+ maybe-install-info-prms \
+ maybe-install-info-rcs \
+ maybe-install-info-readline \
+ maybe-install-info-release \
+ maybe-install-info-recode \
+ maybe-install-info-sed \
+ maybe-install-info-send-pr \
+ maybe-install-info-shellutils \
+ maybe-install-info-sid \
+ maybe-install-info-sim \
+ maybe-install-info-tar \
+ maybe-install-info-texinfo \
+ maybe-install-info-textutils \
+ maybe-install-info-time \
+ maybe-install-info-uudecode \
+ maybe-install-info-wdiff \
+ maybe-install-info-zip \
+ maybe-install-info-zlib \
+ maybe-install-info-gdb \
+ maybe-install-info-expect \
+ maybe-install-info-guile \
+ maybe-install-info-tk \
+ maybe-install-info-tix \
+ maybe-install-info-libtermcap \
+ maybe-install-info-utils
+
+.PHONY: install-info-target
+install-info-target: \
+ maybe-install-info-target-libstdc++-v3 \
+ maybe-install-info-target-newlib \
+ maybe-install-info-target-libf2c \
+ maybe-install-info-target-libobjc \
+ maybe-install-info-target-libtermcap \
+ maybe-install-info-target-winsup \
+ maybe-install-info-target-libgloss \
+ maybe-install-info-target-libiberty \
+ maybe-install-info-target-gperf \
+ maybe-install-info-target-examples \
+ maybe-install-info-target-libffi \
+ maybe-install-info-target-libjava \
+ maybe-install-info-target-zlib \
+ maybe-install-info-target-boehm-gc \
+ maybe-install-info-target-qthreads \
+ maybe-install-info-target-rda \
+ maybe-install-info-target-libada
+
+.PHONY: do-installcheck
+do-installcheck: installcheck-host installcheck-target
+
+.PHONY: installcheck-host
+installcheck-host: maybe-installcheck-gcc \
+ maybe-installcheck-ash \
+ maybe-installcheck-autoconf \
+ maybe-installcheck-automake \
+ maybe-installcheck-bash \
+ maybe-installcheck-bfd \
+ maybe-installcheck-opcodes \
+ maybe-installcheck-binutils \
+ maybe-installcheck-bison \
+ maybe-installcheck-byacc \
+ maybe-installcheck-bzip2 \
+ maybe-installcheck-dejagnu \
+ maybe-installcheck-diff \
+ maybe-installcheck-dosutils \
+ maybe-installcheck-etc \
+ maybe-installcheck-fastjar \
+ maybe-installcheck-fileutils \
+ maybe-installcheck-findutils \
+ maybe-installcheck-find \
+ maybe-installcheck-flex \
+ maybe-installcheck-gas \
+ maybe-installcheck-gawk \
+ maybe-installcheck-gettext \
+ maybe-installcheck-gnuserv \
+ maybe-installcheck-gprof \
+ maybe-installcheck-gzip \
+ maybe-installcheck-hello \
+ maybe-installcheck-indent \
+ maybe-installcheck-intl \
+ maybe-installcheck-tcl \
+ maybe-installcheck-itcl \
+ maybe-installcheck-ld \
+ maybe-installcheck-libgui \
+ maybe-installcheck-libiberty \
+ maybe-installcheck-libtool \
+ maybe-installcheck-m4 \
+ maybe-installcheck-make \
+ maybe-installcheck-mmalloc \
+ maybe-installcheck-patch \
+ maybe-installcheck-perl \
+ maybe-installcheck-prms \
+ maybe-installcheck-rcs \
+ maybe-installcheck-readline \
+ maybe-installcheck-release \
+ maybe-installcheck-recode \
+ maybe-installcheck-sed \
+ maybe-installcheck-send-pr \
+ maybe-installcheck-shellutils \
+ maybe-installcheck-sid \
+ maybe-installcheck-sim \
+ maybe-installcheck-tar \
+ maybe-installcheck-texinfo \
+ maybe-installcheck-textutils \
+ maybe-installcheck-time \
+ maybe-installcheck-uudecode \
+ maybe-installcheck-wdiff \
+ maybe-installcheck-zip \
+ maybe-installcheck-zlib \
+ maybe-installcheck-gdb \
+ maybe-installcheck-expect \
+ maybe-installcheck-guile \
+ maybe-installcheck-tk \
+ maybe-installcheck-tix \
+ maybe-installcheck-libtermcap \
+ maybe-installcheck-utils
+
+.PHONY: installcheck-target
+installcheck-target: \
+ maybe-installcheck-target-libstdc++-v3 \
+ maybe-installcheck-target-newlib \
+ maybe-installcheck-target-libf2c \
+ maybe-installcheck-target-libobjc \
+ maybe-installcheck-target-libtermcap \
+ maybe-installcheck-target-winsup \
+ maybe-installcheck-target-libgloss \
+ maybe-installcheck-target-libiberty \
+ maybe-installcheck-target-gperf \
+ maybe-installcheck-target-examples \
+ maybe-installcheck-target-libffi \
+ maybe-installcheck-target-libjava \
+ maybe-installcheck-target-zlib \
+ maybe-installcheck-target-boehm-gc \
+ maybe-installcheck-target-qthreads \
+ maybe-installcheck-target-rda \
+ maybe-installcheck-target-libada
+
+.PHONY: do-mostlyclean
+do-mostlyclean: mostlyclean-host mostlyclean-target
+
+.PHONY: mostlyclean-host
+mostlyclean-host: maybe-mostlyclean-gcc \
+ maybe-mostlyclean-ash \
+ maybe-mostlyclean-autoconf \
+ maybe-mostlyclean-automake \
+ maybe-mostlyclean-bash \
+ maybe-mostlyclean-bfd \
+ maybe-mostlyclean-opcodes \
+ maybe-mostlyclean-binutils \
+ maybe-mostlyclean-bison \
+ maybe-mostlyclean-byacc \
+ maybe-mostlyclean-bzip2 \
+ maybe-mostlyclean-dejagnu \
+ maybe-mostlyclean-diff \
+ maybe-mostlyclean-dosutils \
+ maybe-mostlyclean-etc \
+ maybe-mostlyclean-fastjar \
+ maybe-mostlyclean-fileutils \
+ maybe-mostlyclean-findutils \
+ maybe-mostlyclean-find \
+ maybe-mostlyclean-flex \
+ maybe-mostlyclean-gas \
+ maybe-mostlyclean-gawk \
+ maybe-mostlyclean-gettext \
+ maybe-mostlyclean-gnuserv \
+ maybe-mostlyclean-gprof \
+ maybe-mostlyclean-gzip \
+ maybe-mostlyclean-hello \
+ maybe-mostlyclean-indent \
+ maybe-mostlyclean-intl \
+ maybe-mostlyclean-tcl \
+ maybe-mostlyclean-itcl \
+ maybe-mostlyclean-ld \
+ maybe-mostlyclean-libgui \
+ maybe-mostlyclean-libiberty \
+ maybe-mostlyclean-libtool \
+ maybe-mostlyclean-m4 \
+ maybe-mostlyclean-make \
+ maybe-mostlyclean-mmalloc \
+ maybe-mostlyclean-patch \
+ maybe-mostlyclean-perl \
+ maybe-mostlyclean-prms \
+ maybe-mostlyclean-rcs \
+ maybe-mostlyclean-readline \
+ maybe-mostlyclean-release \
+ maybe-mostlyclean-recode \
+ maybe-mostlyclean-sed \
+ maybe-mostlyclean-send-pr \
+ maybe-mostlyclean-shellutils \
+ maybe-mostlyclean-sid \
+ maybe-mostlyclean-sim \
+ maybe-mostlyclean-tar \
+ maybe-mostlyclean-texinfo \
+ maybe-mostlyclean-textutils \
+ maybe-mostlyclean-time \
+ maybe-mostlyclean-uudecode \
+ maybe-mostlyclean-wdiff \
+ maybe-mostlyclean-zip \
+ maybe-mostlyclean-zlib \
+ maybe-mostlyclean-gdb \
+ maybe-mostlyclean-expect \
+ maybe-mostlyclean-guile \
+ maybe-mostlyclean-tk \
+ maybe-mostlyclean-tix \
+ maybe-mostlyclean-libtermcap \
+ maybe-mostlyclean-utils
+
+.PHONY: mostlyclean-target
+mostlyclean-target: \
+ maybe-mostlyclean-target-libstdc++-v3 \
+ maybe-mostlyclean-target-newlib \
+ maybe-mostlyclean-target-libf2c \
+ maybe-mostlyclean-target-libobjc \
+ maybe-mostlyclean-target-libtermcap \
+ maybe-mostlyclean-target-winsup \
+ maybe-mostlyclean-target-libgloss \
+ maybe-mostlyclean-target-libiberty \
+ maybe-mostlyclean-target-gperf \
+ maybe-mostlyclean-target-examples \
+ maybe-mostlyclean-target-libffi \
+ maybe-mostlyclean-target-libjava \
+ maybe-mostlyclean-target-zlib \
+ maybe-mostlyclean-target-boehm-gc \
+ maybe-mostlyclean-target-qthreads \
+ maybe-mostlyclean-target-rda \
+ maybe-mostlyclean-target-libada
+
+.PHONY: do-clean
+do-clean: clean-host clean-target
+
+.PHONY: clean-host
+clean-host: maybe-clean-gcc \
+ maybe-clean-ash \
+ maybe-clean-autoconf \
+ maybe-clean-automake \
+ maybe-clean-bash \
+ maybe-clean-bfd \
+ maybe-clean-opcodes \
+ maybe-clean-binutils \
+ maybe-clean-bison \
+ maybe-clean-byacc \
+ maybe-clean-bzip2 \
+ maybe-clean-dejagnu \
+ maybe-clean-diff \
+ maybe-clean-dosutils \
+ maybe-clean-etc \
+ maybe-clean-fastjar \
+ maybe-clean-fileutils \
+ maybe-clean-findutils \
+ maybe-clean-find \
+ maybe-clean-flex \
+ maybe-clean-gas \
+ maybe-clean-gawk \
+ maybe-clean-gettext \
+ maybe-clean-gnuserv \
+ maybe-clean-gprof \
+ maybe-clean-gzip \
+ maybe-clean-hello \
+ maybe-clean-indent \
+ maybe-clean-intl \
+ maybe-clean-tcl \
+ maybe-clean-itcl \
+ maybe-clean-ld \
+ maybe-clean-libgui \
+ maybe-clean-libiberty \
+ maybe-clean-libtool \
+ maybe-clean-m4 \
+ maybe-clean-make \
+ maybe-clean-mmalloc \
+ maybe-clean-patch \
+ maybe-clean-perl \
+ maybe-clean-prms \
+ maybe-clean-rcs \
+ maybe-clean-readline \
+ maybe-clean-release \
+ maybe-clean-recode \
+ maybe-clean-sed \
+ maybe-clean-send-pr \
+ maybe-clean-shellutils \
+ maybe-clean-sid \
+ maybe-clean-sim \
+ maybe-clean-tar \
+ maybe-clean-texinfo \
+ maybe-clean-textutils \
+ maybe-clean-time \
+ maybe-clean-uudecode \
+ maybe-clean-wdiff \
+ maybe-clean-zip \
+ maybe-clean-zlib \
+ maybe-clean-gdb \
+ maybe-clean-expect \
+ maybe-clean-guile \
+ maybe-clean-tk \
+ maybe-clean-tix \
+ maybe-clean-libtermcap \
+ maybe-clean-utils
+
+.PHONY: clean-target
+clean-target: \
+ maybe-clean-target-libstdc++-v3 \
+ maybe-clean-target-newlib \
+ maybe-clean-target-libf2c \
+ maybe-clean-target-libobjc \
+ maybe-clean-target-libtermcap \
+ maybe-clean-target-winsup \
+ maybe-clean-target-libgloss \
+ maybe-clean-target-libiberty \
+ maybe-clean-target-gperf \
+ maybe-clean-target-examples \
+ maybe-clean-target-libffi \
+ maybe-clean-target-libjava \
+ maybe-clean-target-zlib \
+ maybe-clean-target-boehm-gc \
+ maybe-clean-target-qthreads \
+ maybe-clean-target-rda \
+ maybe-clean-target-libada
+
+.PHONY: do-distclean
+do-distclean: distclean-host distclean-target
+
+.PHONY: distclean-host
+distclean-host: maybe-distclean-gcc \
+ maybe-distclean-ash \
+ maybe-distclean-autoconf \
+ maybe-distclean-automake \
+ maybe-distclean-bash \
+ maybe-distclean-bfd \
+ maybe-distclean-opcodes \
+ maybe-distclean-binutils \
+ maybe-distclean-bison \
+ maybe-distclean-byacc \
+ maybe-distclean-bzip2 \
+ maybe-distclean-dejagnu \
+ maybe-distclean-diff \
+ maybe-distclean-dosutils \
+ maybe-distclean-etc \
+ maybe-distclean-fastjar \
+ maybe-distclean-fileutils \
+ maybe-distclean-findutils \
+ maybe-distclean-find \
+ maybe-distclean-flex \
+ maybe-distclean-gas \
+ maybe-distclean-gawk \
+ maybe-distclean-gettext \
+ maybe-distclean-gnuserv \
+ maybe-distclean-gprof \
+ maybe-distclean-gzip \
+ maybe-distclean-hello \
+ maybe-distclean-indent \
+ maybe-distclean-intl \
+ maybe-distclean-tcl \
+ maybe-distclean-itcl \
+ maybe-distclean-ld \
+ maybe-distclean-libgui \
+ maybe-distclean-libiberty \
+ maybe-distclean-libtool \
+ maybe-distclean-m4 \
+ maybe-distclean-make \
+ maybe-distclean-mmalloc \
+ maybe-distclean-patch \
+ maybe-distclean-perl \
+ maybe-distclean-prms \
+ maybe-distclean-rcs \
+ maybe-distclean-readline \
+ maybe-distclean-release \
+ maybe-distclean-recode \
+ maybe-distclean-sed \
+ maybe-distclean-send-pr \
+ maybe-distclean-shellutils \
+ maybe-distclean-sid \
+ maybe-distclean-sim \
+ maybe-distclean-tar \
+ maybe-distclean-texinfo \
+ maybe-distclean-textutils \
+ maybe-distclean-time \
+ maybe-distclean-uudecode \
+ maybe-distclean-wdiff \
+ maybe-distclean-zip \
+ maybe-distclean-zlib \
+ maybe-distclean-gdb \
+ maybe-distclean-expect \
+ maybe-distclean-guile \
+ maybe-distclean-tk \
+ maybe-distclean-tix \
+ maybe-distclean-libtermcap \
+ maybe-distclean-utils
+
+.PHONY: distclean-target
+distclean-target: \
+ maybe-distclean-target-libstdc++-v3 \
+ maybe-distclean-target-newlib \
+ maybe-distclean-target-libf2c \
+ maybe-distclean-target-libobjc \
+ maybe-distclean-target-libtermcap \
+ maybe-distclean-target-winsup \
+ maybe-distclean-target-libgloss \
+ maybe-distclean-target-libiberty \
+ maybe-distclean-target-gperf \
+ maybe-distclean-target-examples \
+ maybe-distclean-target-libffi \
+ maybe-distclean-target-libjava \
+ maybe-distclean-target-zlib \
+ maybe-distclean-target-boehm-gc \
+ maybe-distclean-target-qthreads \
+ maybe-distclean-target-rda \
+ maybe-distclean-target-libada
+
+.PHONY: do-maintainer-clean
+do-maintainer-clean: maintainer-clean-host maintainer-clean-target
+
+.PHONY: maintainer-clean-host
+maintainer-clean-host: maybe-maintainer-clean-gcc \
+ maybe-maintainer-clean-ash \
+ maybe-maintainer-clean-autoconf \
+ maybe-maintainer-clean-automake \
+ maybe-maintainer-clean-bash \
+ maybe-maintainer-clean-bfd \
+ maybe-maintainer-clean-opcodes \
+ maybe-maintainer-clean-binutils \
+ maybe-maintainer-clean-bison \
+ maybe-maintainer-clean-byacc \
+ maybe-maintainer-clean-bzip2 \
+ maybe-maintainer-clean-dejagnu \
+ maybe-maintainer-clean-diff \
+ maybe-maintainer-clean-dosutils \
+ maybe-maintainer-clean-etc \
+ maybe-maintainer-clean-fastjar \
+ maybe-maintainer-clean-fileutils \
+ maybe-maintainer-clean-findutils \
+ maybe-maintainer-clean-find \
+ maybe-maintainer-clean-flex \
+ maybe-maintainer-clean-gas \
+ maybe-maintainer-clean-gawk \
+ maybe-maintainer-clean-gettext \
+ maybe-maintainer-clean-gnuserv \
+ maybe-maintainer-clean-gprof \
+ maybe-maintainer-clean-gzip \
+ maybe-maintainer-clean-hello \
+ maybe-maintainer-clean-indent \
+ maybe-maintainer-clean-intl \
+ maybe-maintainer-clean-tcl \
+ maybe-maintainer-clean-itcl \
+ maybe-maintainer-clean-ld \
+ maybe-maintainer-clean-libgui \
+ maybe-maintainer-clean-libiberty \
+ maybe-maintainer-clean-libtool \
+ maybe-maintainer-clean-m4 \
+ maybe-maintainer-clean-make \
+ maybe-maintainer-clean-mmalloc \
+ maybe-maintainer-clean-patch \
+ maybe-maintainer-clean-perl \
+ maybe-maintainer-clean-prms \
+ maybe-maintainer-clean-rcs \
+ maybe-maintainer-clean-readline \
+ maybe-maintainer-clean-release \
+ maybe-maintainer-clean-recode \
+ maybe-maintainer-clean-sed \
+ maybe-maintainer-clean-send-pr \
+ maybe-maintainer-clean-shellutils \
+ maybe-maintainer-clean-sid \
+ maybe-maintainer-clean-sim \
+ maybe-maintainer-clean-tar \
+ maybe-maintainer-clean-texinfo \
+ maybe-maintainer-clean-textutils \
+ maybe-maintainer-clean-time \
+ maybe-maintainer-clean-uudecode \
+ maybe-maintainer-clean-wdiff \
+ maybe-maintainer-clean-zip \
+ maybe-maintainer-clean-zlib \
+ maybe-maintainer-clean-gdb \
+ maybe-maintainer-clean-expect \
+ maybe-maintainer-clean-guile \
+ maybe-maintainer-clean-tk \
+ maybe-maintainer-clean-tix \
+ maybe-maintainer-clean-libtermcap \
+ maybe-maintainer-clean-utils
+
+.PHONY: maintainer-clean-target
+maintainer-clean-target: \
+ maybe-maintainer-clean-target-libstdc++-v3 \
+ maybe-maintainer-clean-target-newlib \
+ maybe-maintainer-clean-target-libf2c \
+ maybe-maintainer-clean-target-libobjc \
+ maybe-maintainer-clean-target-libtermcap \
+ maybe-maintainer-clean-target-winsup \
+ maybe-maintainer-clean-target-libgloss \
+ maybe-maintainer-clean-target-libiberty \
+ maybe-maintainer-clean-target-gperf \
+ maybe-maintainer-clean-target-examples \
+ maybe-maintainer-clean-target-libffi \
+ maybe-maintainer-clean-target-libjava \
+ maybe-maintainer-clean-target-zlib \
+ maybe-maintainer-clean-target-boehm-gc \
+ maybe-maintainer-clean-target-qthreads \
+ maybe-maintainer-clean-target-rda \
+ maybe-maintainer-clean-target-libada
+
+
+# Here are the targets which correspond to the do-X targets.
+
+.PHONY: info installcheck dvi install-info
+.PHONY: clean distclean mostlyclean maintainer-clean realclean
+.PHONY: local-clean local-distclean local-maintainer-clean
+info: do-info
+installcheck: do-installcheck
+dvi: do-dvi
+
+# Make sure makeinfo is built before we do a `make info', if we're
+# in fact building texinfo.
+do-info: maybe-all-texinfo
+
+install-info: do-install-info dir.info
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ if [ -f dir.info ] ; then \
+ $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
+ else true ; fi
+
+local-clean:
+ -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log
+
+local-distclean:
+ -rm -f Makefile config.status config.cache mh-frag mt-frag
+ -rm -f multilib.out multilib.tmp maybedep.tmp serdep.tmp
+ -if [ "$(TARGET_SUBDIR)" != "." ]; then \
+ rm -rf $(TARGET_SUBDIR); \
+ else true; fi
+ -rm -rf $(BUILD_SUBDIR)
+ -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
+ -rm -f texinfo/doc/Makefile texinfo/po/POTFILES
+ -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
+ -rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null
+ -rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null
+
+local-maintainer-clean:
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+clean: do-clean local-clean
+mostlyclean: do-mostlyclean local-clean
+distclean: do-distclean local-clean local-distclean
+maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean
+maintainer-clean: local-distclean
+realclean: maintainer-clean
+
+# Extra dependency for clean-target, owing to the mixed nature of gcc
+clean-target: clean-target-libgcc
+clean-target-libgcc:
+ test ! -d gcc/libgcc || \
+ (cd gcc/libgcc && find . -type d -print) | \
+ while read d; do rm -f gcc/$$d/libgcc.a || : ; done
+ -rm -rf gcc/libgcc
+
+# Check target.
+
+.PHONY: check do-check
+check: do-check
+
+# Only include modules actually being configured and built.
+do-check: maybe-check-gcc \
+ maybe-check-ash \
+ maybe-check-autoconf \
+ maybe-check-automake \
+ maybe-check-bash \
+ maybe-check-bfd \
+ maybe-check-opcodes \
+ maybe-check-binutils \
+ maybe-check-bison \
+ maybe-check-byacc \
+ maybe-check-bzip2 \
+ maybe-check-dejagnu \
+ maybe-check-diff \
+ maybe-check-dosutils \
+ maybe-check-etc \
+ maybe-check-fastjar \
+ maybe-check-fileutils \
+ maybe-check-findutils \
+ maybe-check-find \
+ maybe-check-flex \
+ maybe-check-gas \
+ maybe-check-gawk \
+ maybe-check-gettext \
+ maybe-check-gnuserv \
+ maybe-check-gprof \
+ maybe-check-gzip \
+ maybe-check-hello \
+ maybe-check-indent \
+ maybe-check-intl \
+ maybe-check-tcl \
+ maybe-check-itcl \
+ maybe-check-ld \
+ maybe-check-libgui \
+ maybe-check-libiberty \
+ maybe-check-libtool \
+ maybe-check-m4 \
+ maybe-check-make \
+ maybe-check-mmalloc \
+ maybe-check-patch \
+ maybe-check-perl \
+ maybe-check-prms \
+ maybe-check-rcs \
+ maybe-check-readline \
+ maybe-check-release \
+ maybe-check-recode \
+ maybe-check-sed \
+ maybe-check-send-pr \
+ maybe-check-shellutils \
+ maybe-check-sid \
+ maybe-check-sim \
+ maybe-check-tar \
+ maybe-check-texinfo \
+ maybe-check-textutils \
+ maybe-check-time \
+ maybe-check-uudecode \
+ maybe-check-wdiff \
+ maybe-check-zip \
+ maybe-check-zlib \
+ maybe-check-gdb \
+ maybe-check-expect \
+ maybe-check-guile \
+ maybe-check-tk \
+ maybe-check-tix \
+ maybe-check-libtermcap \
+ maybe-check-utils \
+ maybe-check-target-libstdc++-v3 \
+ maybe-check-target-newlib \
+ maybe-check-target-libf2c \
+ maybe-check-target-libobjc \
+ maybe-check-target-libtermcap \
+ maybe-check-target-winsup \
+ maybe-check-target-libgloss \
+ maybe-check-target-libiberty \
+ maybe-check-target-gperf \
+ maybe-check-target-examples \
+ maybe-check-target-libffi \
+ maybe-check-target-libjava \
+ maybe-check-target-zlib \
+ maybe-check-target-boehm-gc \
+ maybe-check-target-qthreads \
+ maybe-check-target-rda \
+ maybe-check-target-libada
+
+# Automated reporting of test results.
+
+warning.log: build.log
+ $(srcdir)/contrib/warn_summary build.log > $@
+
+mail-report.log:
+ if test x'$(BOOT_CFLAGS)' != x''; then \
+ BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
+ fi; \
+ $(srcdir)/contrib/test_summary -t >$@
+ chmod +x $@
+ echo If you really want to send e-mail, run ./$@ now
+
+mail-report-with-warnings.log: warning.log
+ if test x'$(BOOT_CFLAGS)' != x''; then \
+ BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
+ fi; \
+ $(srcdir)/contrib/test_summary -t -i warning.log >$@
+ chmod +x $@
+ echo If you really want to send e-mail, run ./$@ now
+
+# Installation targets.
+
+.PHONY: install uninstall
+install: installdirs install-host install-target
+
+.PHONY: install-host-nogcc
+install-host-nogcc: \
+ maybe-install-ash \
+ maybe-install-autoconf \
+ maybe-install-automake \
+ maybe-install-bash \
+ maybe-install-bfd \
+ maybe-install-opcodes \
+ maybe-install-binutils \
+ maybe-install-bison \
+ maybe-install-byacc \
+ maybe-install-bzip2 \
+ maybe-install-dejagnu \
+ maybe-install-diff \
+ maybe-install-dosutils \
+ maybe-install-etc \
+ maybe-install-fastjar \
+ maybe-install-fileutils \
+ maybe-install-findutils \
+ maybe-install-find \
+ maybe-install-flex \
+ maybe-install-gas \
+ maybe-install-gawk \
+ maybe-install-gettext \
+ maybe-install-gnuserv \
+ maybe-install-gprof \
+ maybe-install-gzip \
+ maybe-install-hello \
+ maybe-install-indent \
+ maybe-install-intl \
+ maybe-install-tcl \
+ maybe-install-itcl \
+ maybe-install-ld \
+ maybe-install-libgui \
+ maybe-install-libiberty \
+ maybe-install-libtool \
+ maybe-install-m4 \
+ maybe-install-make \
+ maybe-install-mmalloc \
+ maybe-install-patch \
+ maybe-install-perl \
+ maybe-install-prms \
+ maybe-install-rcs \
+ maybe-install-readline \
+ maybe-install-release \
+ maybe-install-recode \
+ maybe-install-sed \
+ maybe-install-send-pr \
+ maybe-install-shellutils \
+ maybe-install-sid \
+ maybe-install-sim \
+ maybe-install-tar \
+ maybe-install-texinfo \
+ maybe-install-textutils \
+ maybe-install-time \
+ maybe-install-uudecode \
+ maybe-install-wdiff \
+ maybe-install-zip \
+ maybe-install-zlib \
+ maybe-install-gdb \
+ maybe-install-expect \
+ maybe-install-guile \
+ maybe-install-tk \
+ maybe-install-tix \
+ maybe-install-libtermcap \
+ maybe-install-utils
+
+.PHONY: install-host
+install-host: maybe-install-gcc \
+ maybe-install-ash \
+ maybe-install-autoconf \
+ maybe-install-automake \
+ maybe-install-bash \
+ maybe-install-bfd \
+ maybe-install-opcodes \
+ maybe-install-binutils \
+ maybe-install-bison \
+ maybe-install-byacc \
+ maybe-install-bzip2 \
+ maybe-install-dejagnu \
+ maybe-install-diff \
+ maybe-install-dosutils \
+ maybe-install-etc \
+ maybe-install-fastjar \
+ maybe-install-fileutils \
+ maybe-install-findutils \
+ maybe-install-find \
+ maybe-install-flex \
+ maybe-install-gas \
+ maybe-install-gawk \
+ maybe-install-gettext \
+ maybe-install-gnuserv \
+ maybe-install-gprof \
+ maybe-install-gzip \
+ maybe-install-hello \
+ maybe-install-indent \
+ maybe-install-intl \
+ maybe-install-tcl \
+ maybe-install-itcl \
+ maybe-install-ld \
+ maybe-install-libgui \
+ maybe-install-libiberty \
+ maybe-install-libtool \
+ maybe-install-m4 \
+ maybe-install-make \
+ maybe-install-mmalloc \
+ maybe-install-patch \
+ maybe-install-perl \
+ maybe-install-prms \
+ maybe-install-rcs \
+ maybe-install-readline \
+ maybe-install-release \
+ maybe-install-recode \
+ maybe-install-sed \
+ maybe-install-send-pr \
+ maybe-install-shellutils \
+ maybe-install-sid \
+ maybe-install-sim \
+ maybe-install-tar \
+ maybe-install-texinfo \
+ maybe-install-textutils \
+ maybe-install-time \
+ maybe-install-uudecode \
+ maybe-install-wdiff \
+ maybe-install-zip \
+ maybe-install-zlib \
+ maybe-install-gdb \
+ maybe-install-expect \
+ maybe-install-guile \
+ maybe-install-tk \
+ maybe-install-tix \
+ maybe-install-libtermcap \
+ maybe-install-utils
+
+.PHONY: install-target
+install-target: \
+ maybe-install-target-libstdc++-v3 \
+ maybe-install-target-newlib \
+ maybe-install-target-libf2c \
+ maybe-install-target-libobjc \
+ maybe-install-target-libtermcap \
+ maybe-install-target-winsup \
+ maybe-install-target-libgloss \
+ maybe-install-target-libiberty \
+ maybe-install-target-gperf \
+ maybe-install-target-examples \
+ maybe-install-target-libffi \
+ maybe-install-target-libjava \
+ maybe-install-target-zlib \
+ maybe-install-target-boehm-gc \
+ maybe-install-target-qthreads \
+ maybe-install-target-rda \
+ maybe-install-target-libada
+
+uninstall:
+ @echo "the uninstall target is not supported in this tree"
+
+.PHONY: install.all
+install.all: install-no-fixedincludes
+ @if [ -f ./gcc/Makefile ] ; then \
+ r=`${PWD_COMMAND}` ; export r ; \
+ $(SET_LIB_PATH) \
+ (cd ./gcc && \
+ $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
+ else \
+ true ; \
+ fi
+
+# install-no-fixedincludes is used because Cygnus can not distribute
+# the fixed header files.
+.PHONY: install-no-fixedincludes
+install-no-fixedincludes: installdirs install-host-nogcc \
+ install-target gcc-no-fixedincludes
+
+### other supporting targets
+
+MAKEDIRS= \
+ $(DESTDIR)$(prefix) \
+ $(DESTDIR)$(exec_prefix)
+.PHONY: installdirs
+installdirs: mkinstalldirs
+ $(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS)
+
+dir.info: do-install-info
+ if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
+ $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
+ mv -f dir.info.new dir.info ; \
+ else true ; \
+ fi
+
+dist:
+ @echo "Building a full distribution of this tree isn't done"
+ @echo "via 'make dist'. Check out the etc/ subdirectory"
+
+etags tags: TAGS
+
+# Right now this just builds TAGS in each subdirectory. emacs19 has the
+# ability to use several tags files at once, so there is probably no need
+# to combine them into one big TAGS file (like CVS 1.3 does). We could
+# (if we felt like it) have this Makefile write a piece of elisp which
+# the user could load to tell emacs19 where all the TAGS files we just
+# built are.
+TAGS: do-TAGS
+
+# --------------------------------------
+# Modules which run on the build machine
+# --------------------------------------
+
+.PHONY: configure-build-libiberty maybe-configure-build-libiberty
+maybe-configure-build-libiberty:
+configure-build-libiberty:
+ @test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in gcc" ; \
- (cd gcc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ AR="$(AR_FOR_BUILD)"; export AR; \
+ AS="$(AS_FOR_BUILD)"; export AS; \
+ CC="$(CC_FOR_BUILD)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ LD="$(LD_FOR_BUILD)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+ NM="$(NM_FOR_BUILD)"; export NM; \
+ RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
+ echo Configuring in $(BUILD_SUBDIR)/libiberty; \
+ cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(BUILD_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ if [ "$(srcdir)" = "." ] ; then \
+ if [ "$(BUILD_SUBDIR)" != "." ] ; then \
+ if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \
+ if [ -f Makefile ]; then \
+ if $(MAKE) distclean; then \
+ true; \
+ else \
+ exit 1; \
+ fi; \
+ else \
+ true; \
+ fi; \
+ else \
+ exit 1; \
+ fi; \
+ else \
+ true; \
+ fi; \
+ srcdiroption="--srcdir=."; \
+ libsrcdir="."; \
+ else \
+ srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ libsrcdir="$$s/libiberty"; \
+ fi; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(BUILD_CONFIGARGS) $${srcdiroption} \
+ --with-build-subdir="$(BUILD_SUBDIR)" \
+ || exit 1
+
+.PHONY: all-build-libiberty maybe-all-build-libiberty
+maybe-all-build-libiberty:
+all-build-libiberty: configure-build-libiberty
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ (cd $(BUILD_SUBDIR)/libiberty && $(MAKE) all)
+
+
+# --------------------------------------
+# Modules which run on the host machine
+# --------------------------------------
+
+.PHONY: configure-ash maybe-configure-ash
+maybe-configure-ash:
+configure-ash:
+ @test ! -f ash/Makefile || exit 0; \
+ [ -d ash ] || mkdir ash; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in ash; \
+ cd ash || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/ash"; \
+ libsrcdir="$$s/ash";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/ash"; \
+ libsrcdir="$$s/ash";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
-# Host modules.
+.PHONY: all-ash maybe-all-ash
+maybe-all-ash:
+all-ash: configure-ash
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd ash && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-ash maybe-check-ash
+maybe-check-ash:
+
+check-ash:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd ash && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-ash maybe-install-ash
+maybe-install-ash:
+
+install-ash: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd ash && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
.PHONY: maybe-info-ash info-ash
maybe-info-ash:
@@ -844,262 +2069,264 @@ info-ash: \
|| exit 1
-.PHONY: maybe-info-autoconf info-autoconf
-maybe-info-autoconf:
+.PHONY: maybe-dvi-ash dvi-ash
+maybe-dvi-ash:
-info-autoconf: \
- configure-autoconf
- @[ -f ./autoconf/Makefile ] || exit 0; \
+dvi-ash: \
+ configure-ash
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in autoconf" ; \
- (cd autoconf && \
+ echo "Doing dvi in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-automake info-automake
-maybe-info-automake:
+.PHONY: maybe-TAGS-ash TAGS-ash
+maybe-TAGS-ash:
-info-automake: \
- configure-automake
- @[ -f ./automake/Makefile ] || exit 0; \
+TAGS-ash: \
+ configure-ash
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in automake" ; \
- (cd automake && \
+ echo "Doing TAGS in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-bash info-bash
-maybe-info-bash:
+.PHONY: maybe-install-info-ash install-info-ash
+maybe-install-info-ash:
-info-bash: \
- configure-bash
- @[ -f ./bash/Makefile ] || exit 0; \
+install-info-ash: \
+ configure-ash \
+ info-ash
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in bash" ; \
- (cd bash && \
+ echo "Doing install-info in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-bfd info-bfd
-maybe-info-bfd:
+.PHONY: maybe-installcheck-ash installcheck-ash
+maybe-installcheck-ash:
-info-bfd: \
- configure-bfd
- @[ -f ./bfd/Makefile ] || exit 0; \
+installcheck-ash: \
+ configure-ash
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in bfd" ; \
- (cd bfd && \
+ echo "Doing installcheck in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-opcodes info-opcodes
-maybe-info-opcodes:
+.PHONY: maybe-mostlyclean-ash mostlyclean-ash
+maybe-mostlyclean-ash:
-info-opcodes: \
- configure-opcodes
- @[ -f ./opcodes/Makefile ] || exit 0; \
+mostlyclean-ash:
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in opcodes" ; \
- (cd opcodes && \
+ echo "Doing mostlyclean in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-binutils info-binutils
-maybe-info-binutils:
+.PHONY: maybe-clean-ash clean-ash
+maybe-clean-ash:
-info-binutils: \
- configure-binutils
- @[ -f ./binutils/Makefile ] || exit 0; \
+clean-ash:
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in binutils" ; \
- (cd binutils && \
+ echo "Doing clean in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-bison info-bison
-maybe-info-bison:
+.PHONY: maybe-distclean-ash distclean-ash
+maybe-distclean-ash:
-info-bison: \
- configure-bison
- @[ -f ./bison/Makefile ] || exit 0; \
+distclean-ash:
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in bison" ; \
- (cd bison && \
+ echo "Doing distclean in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-byacc info-byacc
-maybe-info-byacc:
+.PHONY: maybe-maintainer-clean-ash maintainer-clean-ash
+maybe-maintainer-clean-ash:
-info-byacc: \
- configure-byacc
- @[ -f ./byacc/Makefile ] || exit 0; \
+maintainer-clean-ash:
+ @[ -f ./ash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in byacc" ; \
- (cd byacc && \
+ echo "Doing maintainer-clean in ash" ; \
+ (cd ash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-bzip2 info-bzip2
-maybe-info-bzip2:
-info-bzip2: \
- configure-bzip2
- @[ -f ./bzip2/Makefile ] || exit 0; \
+.PHONY: configure-autoconf maybe-configure-autoconf
+maybe-configure-autoconf:
+configure-autoconf:
+ @test ! -f autoconf/Makefile || exit 0; \
+ [ -d autoconf ] || mkdir autoconf; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in bzip2" ; \
- (cd bzip2 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in autoconf; \
+ cd autoconf || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/autoconf"; \
+ libsrcdir="$$s/autoconf";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/autoconf"; \
+ libsrcdir="$$s/autoconf";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-autoconf maybe-all-autoconf
+maybe-all-autoconf:
+all-autoconf: configure-autoconf
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-dejagnu info-dejagnu
-maybe-info-dejagnu:
+.PHONY: check-autoconf maybe-check-autoconf
+maybe-check-autoconf:
-info-dejagnu: \
- configure-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-autoconf:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in dejagnu" ; \
- (cd dejagnu && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-info-diff info-diff
-maybe-info-diff:
+.PHONY: install-autoconf maybe-install-autoconf
+maybe-install-autoconf:
-info-diff: \
- configure-diff
- @[ -f ./diff/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-autoconf: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in diff" ; \
- (cd diff && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-info-dosutils info-dosutils
-maybe-info-dosutils:
+# Other targets (info, dvi, etc.)
-info-dosutils: \
- configure-dosutils
- @[ -f ./dosutils/Makefile ] || exit 0; \
+.PHONY: maybe-info-autoconf info-autoconf
+maybe-info-autoconf:
+
+info-autoconf: \
+ configure-autoconf
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in dosutils" ; \
- (cd dosutils && \
+ echo "Doing info in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -1108,262 +2335,264 @@ info-dosutils: \
|| exit 1
-.PHONY: maybe-info-etc info-etc
-maybe-info-etc:
+.PHONY: maybe-dvi-autoconf dvi-autoconf
+maybe-dvi-autoconf:
-info-etc: \
- configure-etc
- @[ -f ./etc/Makefile ] || exit 0; \
+dvi-autoconf: \
+ configure-autoconf
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in etc" ; \
- (cd etc && \
+ echo "Doing dvi in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-fastjar info-fastjar
-maybe-info-fastjar:
+.PHONY: maybe-TAGS-autoconf TAGS-autoconf
+maybe-TAGS-autoconf:
-info-fastjar: \
- configure-fastjar
- @[ -f ./fastjar/Makefile ] || exit 0; \
+TAGS-autoconf: \
+ configure-autoconf
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in fastjar" ; \
- (cd fastjar && \
+ echo "Doing TAGS in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-fileutils info-fileutils
-maybe-info-fileutils:
+.PHONY: maybe-install-info-autoconf install-info-autoconf
+maybe-install-info-autoconf:
-info-fileutils: \
- configure-fileutils
- @[ -f ./fileutils/Makefile ] || exit 0; \
+install-info-autoconf: \
+ configure-autoconf \
+ info-autoconf
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in fileutils" ; \
- (cd fileutils && \
+ echo "Doing install-info in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-findutils info-findutils
-maybe-info-findutils:
+.PHONY: maybe-installcheck-autoconf installcheck-autoconf
+maybe-installcheck-autoconf:
-info-findutils: \
- configure-findutils
- @[ -f ./findutils/Makefile ] || exit 0; \
+installcheck-autoconf: \
+ configure-autoconf
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in findutils" ; \
- (cd findutils && \
+ echo "Doing installcheck in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-find info-find
-maybe-info-find:
+.PHONY: maybe-mostlyclean-autoconf mostlyclean-autoconf
+maybe-mostlyclean-autoconf:
-info-find: \
- configure-find
- @[ -f ./find/Makefile ] || exit 0; \
+mostlyclean-autoconf:
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in find" ; \
- (cd find && \
+ echo "Doing mostlyclean in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-flex info-flex
-maybe-info-flex:
+.PHONY: maybe-clean-autoconf clean-autoconf
+maybe-clean-autoconf:
-info-flex: \
- configure-flex
- @[ -f ./flex/Makefile ] || exit 0; \
+clean-autoconf:
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in flex" ; \
- (cd flex && \
+ echo "Doing clean in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-gas info-gas
-maybe-info-gas:
+.PHONY: maybe-distclean-autoconf distclean-autoconf
+maybe-distclean-autoconf:
-info-gas: \
- configure-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+distclean-autoconf:
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in gas" ; \
- (cd gas && \
+ echo "Doing distclean in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-gawk info-gawk
-maybe-info-gawk:
+.PHONY: maybe-maintainer-clean-autoconf maintainer-clean-autoconf
+maybe-maintainer-clean-autoconf:
-info-gawk: \
- configure-gawk
- @[ -f ./gawk/Makefile ] || exit 0; \
+maintainer-clean-autoconf:
+ @[ -f ./autoconf/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in gawk" ; \
- (cd gawk && \
+ echo "Doing maintainer-clean in autoconf" ; \
+ (cd autoconf && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-gettext info-gettext
-maybe-info-gettext:
-info-gettext: \
- configure-gettext
- @[ -f ./gettext/Makefile ] || exit 0; \
+.PHONY: configure-automake maybe-configure-automake
+maybe-configure-automake:
+configure-automake:
+ @test ! -f automake/Makefile || exit 0; \
+ [ -d automake ] || mkdir automake; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in gettext" ; \
- (cd gettext && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in automake; \
+ cd automake || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/automake"; \
+ libsrcdir="$$s/automake";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/automake"; \
+ libsrcdir="$$s/automake";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-automake maybe-all-automake
+maybe-all-automake:
+all-automake: configure-automake
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd automake && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-gnuserv info-gnuserv
-maybe-info-gnuserv:
+.PHONY: check-automake maybe-check-automake
+maybe-check-automake:
-info-gnuserv: \
- configure-gnuserv
- @[ -f ./gnuserv/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-automake:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in gnuserv" ; \
- (cd gnuserv && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd automake && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-info-gprof info-gprof
-maybe-info-gprof:
+.PHONY: install-automake maybe-install-automake
+maybe-install-automake:
-info-gprof: \
- configure-gprof
- @[ -f ./gprof/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-automake: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in gprof" ; \
- (cd gprof && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd automake && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-info-gzip info-gzip
-maybe-info-gzip:
+# Other targets (info, dvi, etc.)
-info-gzip: \
- configure-gzip
- @[ -f ./gzip/Makefile ] || exit 0; \
+.PHONY: maybe-info-automake info-automake
+maybe-info-automake:
+
+info-automake: \
+ configure-automake
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in gzip" ; \
- (cd gzip && \
+ echo "Doing info in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -1372,262 +2601,264 @@ info-gzip: \
|| exit 1
-.PHONY: maybe-info-hello info-hello
-maybe-info-hello:
+.PHONY: maybe-dvi-automake dvi-automake
+maybe-dvi-automake:
-info-hello: \
- configure-hello
- @[ -f ./hello/Makefile ] || exit 0; \
+dvi-automake: \
+ configure-automake
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in hello" ; \
- (cd hello && \
+ echo "Doing dvi in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-indent info-indent
-maybe-info-indent:
+.PHONY: maybe-TAGS-automake TAGS-automake
+maybe-TAGS-automake:
-info-indent: \
- configure-indent
- @[ -f ./indent/Makefile ] || exit 0; \
+TAGS-automake: \
+ configure-automake
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in indent" ; \
- (cd indent && \
+ echo "Doing TAGS in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-intl info-intl
-maybe-info-intl:
+.PHONY: maybe-install-info-automake install-info-automake
+maybe-install-info-automake:
-info-intl: \
- configure-intl
- @[ -f ./intl/Makefile ] || exit 0; \
+install-info-automake: \
+ configure-automake \
+ info-automake
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in intl" ; \
- (cd intl && \
+ echo "Doing install-info in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-tcl info-tcl
-maybe-info-tcl:
+.PHONY: maybe-installcheck-automake installcheck-automake
+maybe-installcheck-automake:
-info-tcl: \
- configure-tcl
- @[ -f ./tcl/Makefile ] || exit 0; \
+installcheck-automake: \
+ configure-automake
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in tcl" ; \
- (cd tcl && \
+ echo "Doing installcheck in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-itcl info-itcl
-maybe-info-itcl:
+.PHONY: maybe-mostlyclean-automake mostlyclean-automake
+maybe-mostlyclean-automake:
-info-itcl: \
- configure-itcl
- @[ -f ./itcl/Makefile ] || exit 0; \
+mostlyclean-automake:
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in itcl" ; \
- (cd itcl && \
+ echo "Doing mostlyclean in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-ld info-ld
-maybe-info-ld:
+.PHONY: maybe-clean-automake clean-automake
+maybe-clean-automake:
-info-ld: \
- configure-ld
- @[ -f ./ld/Makefile ] || exit 0; \
+clean-automake:
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in ld" ; \
- (cd ld && \
+ echo "Doing clean in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-libgui info-libgui
-maybe-info-libgui:
+.PHONY: maybe-distclean-automake distclean-automake
+maybe-distclean-automake:
-info-libgui: \
- configure-libgui
- @[ -f ./libgui/Makefile ] || exit 0; \
+distclean-automake:
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in libgui" ; \
- (cd libgui && \
+ echo "Doing distclean in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-libiberty info-libiberty
-maybe-info-libiberty:
+.PHONY: maybe-maintainer-clean-automake maintainer-clean-automake
+maybe-maintainer-clean-automake:
-info-libiberty: \
- configure-libiberty
- @[ -f ./libiberty/Makefile ] || exit 0; \
+maintainer-clean-automake:
+ @[ -f ./automake/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in libiberty" ; \
- (cd libiberty && \
+ echo "Doing maintainer-clean in automake" ; \
+ (cd automake && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-libtool info-libtool
-maybe-info-libtool:
-info-libtool: \
- configure-libtool
- @[ -f ./libtool/Makefile ] || exit 0; \
+.PHONY: configure-bash maybe-configure-bash
+maybe-configure-bash:
+configure-bash:
+ @test ! -f bash/Makefile || exit 0; \
+ [ -d bash ] || mkdir bash; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in libtool" ; \
- (cd libtool && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in bash; \
+ cd bash || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/bash"; \
+ libsrcdir="$$s/bash";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/bash"; \
+ libsrcdir="$$s/bash";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-bash maybe-all-bash
+maybe-all-bash:
+all-bash: configure-bash
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bash && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-m4 info-m4
-maybe-info-m4:
+.PHONY: check-bash maybe-check-bash
+maybe-check-bash:
-info-m4: \
- configure-m4
- @[ -f ./m4/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-bash:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in m4" ; \
- (cd m4 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd bash && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-info-make info-make
-maybe-info-make:
+.PHONY: install-bash maybe-install-bash
+maybe-install-bash:
-info-make: \
- configure-make
- @[ -f ./make/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-bash: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in make" ; \
- (cd make && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd bash && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-info-mmalloc info-mmalloc
-maybe-info-mmalloc:
+# Other targets (info, dvi, etc.)
-info-mmalloc: \
- configure-mmalloc
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+.PHONY: maybe-info-bash info-bash
+maybe-info-bash:
+
+info-bash: \
+ configure-bash
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing info in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -1636,240 +2867,264 @@ info-mmalloc: \
|| exit 1
-.PHONY: maybe-info-patch info-patch
-maybe-info-patch:
+.PHONY: maybe-dvi-bash dvi-bash
+maybe-dvi-bash:
-info-patch: \
- configure-patch
- @[ -f ./patch/Makefile ] || exit 0; \
+dvi-bash: \
+ configure-bash
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in patch" ; \
- (cd patch && \
+ echo "Doing dvi in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-perl info-perl
-maybe-info-perl:
+.PHONY: maybe-TAGS-bash TAGS-bash
+maybe-TAGS-bash:
-info-perl: \
- configure-perl
- @[ -f ./perl/Makefile ] || exit 0; \
+TAGS-bash: \
+ configure-bash
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in perl" ; \
- (cd perl && \
+ echo "Doing TAGS in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-prms info-prms
-maybe-info-prms:
+.PHONY: maybe-install-info-bash install-info-bash
+maybe-install-info-bash:
-info-prms: \
- configure-prms
- @[ -f ./prms/Makefile ] || exit 0; \
+install-info-bash: \
+ configure-bash \
+ info-bash
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in prms" ; \
- (cd prms && \
+ echo "Doing install-info in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-rcs info-rcs
-maybe-info-rcs:
+.PHONY: maybe-installcheck-bash installcheck-bash
+maybe-installcheck-bash:
-info-rcs: \
- configure-rcs
- @[ -f ./rcs/Makefile ] || exit 0; \
+installcheck-bash: \
+ configure-bash
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in rcs" ; \
- (cd rcs && \
+ echo "Doing installcheck in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-readline info-readline
-maybe-info-readline:
+.PHONY: maybe-mostlyclean-bash mostlyclean-bash
+maybe-mostlyclean-bash:
-info-readline: \
- configure-readline
- @[ -f ./readline/Makefile ] || exit 0; \
+mostlyclean-bash:
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in readline" ; \
- (cd readline && \
+ echo "Doing mostlyclean in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-release info-release
-maybe-info-release:
+.PHONY: maybe-clean-bash clean-bash
+maybe-clean-bash:
-info-release: \
- configure-release
- @[ -f ./release/Makefile ] || exit 0; \
+clean-bash:
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in release" ; \
- (cd release && \
+ echo "Doing clean in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-recode info-recode
-maybe-info-recode:
+.PHONY: maybe-distclean-bash distclean-bash
+maybe-distclean-bash:
-info-recode: \
- configure-recode
- @[ -f ./recode/Makefile ] || exit 0; \
+distclean-bash:
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in recode" ; \
- (cd recode && \
+ echo "Doing distclean in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-sed info-sed
-maybe-info-sed:
+.PHONY: maybe-maintainer-clean-bash maintainer-clean-bash
+maybe-maintainer-clean-bash:
-info-sed: \
- configure-sed
- @[ -f ./sed/Makefile ] || exit 0; \
+maintainer-clean-bash:
+ @[ -f ./bash/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in sed" ; \
- (cd sed && \
+ echo "Doing maintainer-clean in bash" ; \
+ (cd bash && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-send-pr info-send-pr
-maybe-info-send-pr:
-info-send-pr: \
- configure-send-pr
- @[ -f ./send-pr/Makefile ] || exit 0; \
+.PHONY: configure-bfd maybe-configure-bfd
+maybe-configure-bfd:
+configure-bfd:
+ @test ! -f bfd/Makefile || exit 0; \
+ [ -d bfd ] || mkdir bfd; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in send-pr" ; \
- (cd send-pr && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in bfd; \
+ cd bfd || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/bfd"; \
+ libsrcdir="$$s/bfd";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/bfd"; \
+ libsrcdir="$$s/bfd";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-bfd maybe-all-bfd
+maybe-all-bfd:
+all-bfd: configure-bfd
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bfd && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-shellutils info-shellutils
-maybe-info-shellutils:
+.PHONY: check-bfd maybe-check-bfd
+maybe-check-bfd:
-info-shellutils: \
- configure-shellutils
- @[ -f ./shellutils/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-bfd:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in shellutils" ; \
- (cd shellutils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-info-sid info-sid
-maybe-info-sid:
+.PHONY: install-bfd maybe-install-bfd
+maybe-install-bfd:
-info-sid: \
- configure-sid
- @[ -f ./sid/Makefile ] || exit 0; \
+install-bfd: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-bfd info-bfd
+maybe-info-bfd:
+
+info-bfd: \
+ configure-bfd
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in sid" ; \
- (cd sid && \
+ echo "Doing info in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -1878,218 +3133,264 @@ info-sid: \
|| exit 1
-.PHONY: maybe-info-sim info-sim
-maybe-info-sim:
+.PHONY: maybe-dvi-bfd dvi-bfd
+maybe-dvi-bfd:
-info-sim: \
- configure-sim
- @[ -f ./sim/Makefile ] || exit 0; \
+dvi-bfd: \
+ configure-bfd
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in sim" ; \
- (cd sim && \
+ echo "Doing dvi in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-tar info-tar
-maybe-info-tar:
+.PHONY: maybe-TAGS-bfd TAGS-bfd
+maybe-TAGS-bfd:
-info-tar: \
- configure-tar
- @[ -f ./tar/Makefile ] || exit 0; \
+TAGS-bfd: \
+ configure-bfd
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in tar" ; \
- (cd tar && \
+ echo "Doing TAGS in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-texinfo info-texinfo
-maybe-info-texinfo:
+.PHONY: maybe-install-info-bfd install-info-bfd
+maybe-install-info-bfd:
-info-texinfo: \
- configure-texinfo
- @[ -f ./texinfo/Makefile ] || exit 0; \
+install-info-bfd: \
+ configure-bfd \
+ info-bfd
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in texinfo" ; \
- (cd texinfo && \
+ echo "Doing install-info in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-textutils info-textutils
-maybe-info-textutils:
+.PHONY: maybe-installcheck-bfd installcheck-bfd
+maybe-installcheck-bfd:
-info-textutils: \
- configure-textutils
- @[ -f ./textutils/Makefile ] || exit 0; \
+installcheck-bfd: \
+ configure-bfd
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in textutils" ; \
- (cd textutils && \
+ echo "Doing installcheck in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-time info-time
-maybe-info-time:
+.PHONY: maybe-mostlyclean-bfd mostlyclean-bfd
+maybe-mostlyclean-bfd:
-info-time: \
- configure-time
- @[ -f ./time/Makefile ] || exit 0; \
+mostlyclean-bfd:
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in time" ; \
- (cd time && \
+ echo "Doing mostlyclean in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-uudecode info-uudecode
-maybe-info-uudecode:
+.PHONY: maybe-clean-bfd clean-bfd
+maybe-clean-bfd:
-info-uudecode: \
- configure-uudecode
- @[ -f ./uudecode/Makefile ] || exit 0; \
+clean-bfd:
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in uudecode" ; \
- (cd uudecode && \
+ echo "Doing clean in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-wdiff info-wdiff
-maybe-info-wdiff:
+.PHONY: maybe-distclean-bfd distclean-bfd
+maybe-distclean-bfd:
-info-wdiff: \
- configure-wdiff
- @[ -f ./wdiff/Makefile ] || exit 0; \
+distclean-bfd:
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in wdiff" ; \
- (cd wdiff && \
+ echo "Doing distclean in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-zip info-zip
-maybe-info-zip:
+.PHONY: maybe-maintainer-clean-bfd maintainer-clean-bfd
+maybe-maintainer-clean-bfd:
-info-zip: \
- configure-zip
- @[ -f ./zip/Makefile ] || exit 0; \
+maintainer-clean-bfd:
+ @[ -f ./bfd/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in zip" ; \
- (cd zip && \
+ echo "Doing maintainer-clean in bfd" ; \
+ (cd bfd && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-zlib info-zlib
-maybe-info-zlib:
-info-zlib: \
- configure-zlib
- @[ -f ./zlib/Makefile ] || exit 0; \
+.PHONY: configure-opcodes maybe-configure-opcodes
+maybe-configure-opcodes:
+configure-opcodes:
+ @test ! -f opcodes/Makefile || exit 0; \
+ [ -d opcodes ] || mkdir opcodes; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing info in zlib" ; \
- (cd zlib && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in opcodes; \
+ cd opcodes || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/opcodes"; \
+ libsrcdir="$$s/opcodes";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
+ libsrcdir="$$s/opcodes";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-opcodes maybe-all-opcodes
+maybe-all-opcodes:
+all-opcodes: configure-opcodes
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-gdb info-gdb
-maybe-info-gdb:
+.PHONY: check-opcodes maybe-check-opcodes
+maybe-check-opcodes:
-info-gdb: \
- configure-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+check-opcodes:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-opcodes maybe-install-opcodes
+maybe-install-opcodes:
+
+install-opcodes: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-opcodes info-opcodes
+maybe-info-opcodes:
+
+info-opcodes: \
+ configure-opcodes
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in gdb" ; \
- (cd gdb && \
+ echo "Doing info in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -2098,265 +3399,264 @@ info-gdb: \
|| exit 1
-.PHONY: maybe-info-expect info-expect
-maybe-info-expect:
+.PHONY: maybe-dvi-opcodes dvi-opcodes
+maybe-dvi-opcodes:
-info-expect: \
- configure-expect
- @[ -f ./expect/Makefile ] || exit 0; \
+dvi-opcodes: \
+ configure-opcodes
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in expect" ; \
- (cd expect && \
+ echo "Doing dvi in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-guile info-guile
-maybe-info-guile:
+.PHONY: maybe-TAGS-opcodes TAGS-opcodes
+maybe-TAGS-opcodes:
-info-guile: \
- configure-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+TAGS-opcodes: \
+ configure-opcodes
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in guile" ; \
- (cd guile && \
+ echo "Doing TAGS in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-tk info-tk
-maybe-info-tk:
+.PHONY: maybe-install-info-opcodes install-info-opcodes
+maybe-install-info-opcodes:
-info-tk: \
- configure-tk
- @[ -f ./tk/Makefile ] || exit 0; \
+install-info-opcodes: \
+ configure-opcodes \
+ info-opcodes
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in tk" ; \
- (cd tk && \
+ echo "Doing install-info in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-tix info-tix
-maybe-info-tix:
+.PHONY: maybe-installcheck-opcodes installcheck-opcodes
+maybe-installcheck-opcodes:
-info-tix: \
- configure-tix
- @[ -f ./tix/Makefile ] || exit 0; \
+installcheck-opcodes: \
+ configure-opcodes
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in tix" ; \
- (cd tix && \
+ echo "Doing installcheck in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-libtermcap info-libtermcap
-maybe-info-libtermcap:
+.PHONY: maybe-mostlyclean-opcodes mostlyclean-opcodes
+maybe-mostlyclean-opcodes:
-info-libtermcap: \
- configure-libtermcap
- @[ -f ./libtermcap/Makefile ] || exit 0; \
+mostlyclean-opcodes:
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in libtermcap" ; \
- (cd libtermcap && \
+ echo "Doing mostlyclean in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-utils info-utils
-maybe-info-utils:
+.PHONY: maybe-clean-opcodes clean-opcodes
+maybe-clean-opcodes:
-info-utils: \
- configure-utils
- @[ -f ./utils/Makefile ] || exit 0; \
+clean-opcodes:
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing info in utils" ; \
- (cd utils && \
+ echo "Doing clean in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
+.PHONY: maybe-distclean-opcodes distclean-opcodes
+maybe-distclean-opcodes:
-# Target modules.
-
-.PHONY: maybe-info-target-libstdc++-v3 info-target-libstdc++-v3
-maybe-info-target-libstdc++-v3:
-
-info-target-libstdc++-v3: \
- configure-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+distclean-opcodes:
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing distclean in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-target-newlib info-target-newlib
-maybe-info-target-newlib:
+.PHONY: maybe-maintainer-clean-opcodes maintainer-clean-opcodes
+maybe-maintainer-clean-opcodes:
-info-target-newlib: \
- configure-target-newlib
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+maintainer-clean-opcodes:
+ @[ -f ./opcodes/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing maintainer-clean in opcodes" ; \
+ (cd opcodes && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-target-libf2c info-target-libf2c
-maybe-info-target-libf2c:
-info-target-libf2c: \
- configure-target-libf2c
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+.PHONY: configure-binutils maybe-configure-binutils
+maybe-configure-binutils:
+configure-binutils:
+ @test ! -f binutils/Makefile || exit 0; \
+ [ -d binutils ] || mkdir binutils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in binutils; \
+ cd binutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/binutils"; \
+ libsrcdir="$$s/binutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/binutils"; \
+ libsrcdir="$$s/binutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-binutils maybe-all-binutils
+maybe-all-binutils:
+all-binutils: configure-binutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd binutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-target-libobjc info-target-libobjc
-maybe-info-target-libobjc:
+.PHONY: check-binutils maybe-check-binutils
+maybe-check-binutils:
-info-target-libobjc: \
- configure-target-libobjc
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-binutils:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-info-target-libtermcap info-target-libtermcap
-maybe-info-target-libtermcap:
+.PHONY: install-binutils maybe-install-binutils
+maybe-install-binutils:
-info-target-libtermcap: \
- configure-target-libtermcap
- @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-binutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libtermcap && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-info-target-winsup info-target-winsup
-maybe-info-target-winsup:
+# Other targets (info, dvi, etc.)
-info-target-winsup: \
- configure-target-winsup
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-binutils info-binutils
+maybe-info-binutils:
+
+info-binutils: \
+ configure-binutils
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/winsup && \
+ echo "Doing info in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -2365,240 +3665,267 @@ info-target-winsup: \
|| exit 1
-.PHONY: maybe-info-target-libgloss info-target-libgloss
-maybe-info-target-libgloss:
+.PHONY: maybe-dvi-binutils dvi-binutils
+maybe-dvi-binutils:
-info-target-libgloss: \
- configure-target-libgloss
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+dvi-binutils: \
+ configure-binutils
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ echo "Doing dvi in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-info-target-libiberty info-target-libiberty
-maybe-info-target-libiberty:
+.PHONY: maybe-TAGS-binutils TAGS-binutils
+maybe-TAGS-binutils:
-info-target-libiberty: \
- configure-target-libiberty
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+TAGS-binutils: \
+ configure-binutils
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing TAGS in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-info-target-gperf info-target-gperf
-maybe-info-target-gperf:
+.PHONY: maybe-install-info-binutils install-info-binutils
+maybe-install-info-binutils:
-info-target-gperf: \
- configure-target-gperf
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+install-info-binutils: \
+ configure-binutils \
+ info-binutils
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing install-info in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ install-info) \
|| exit 1
-.PHONY: maybe-info-target-examples info-target-examples
-maybe-info-target-examples:
+.PHONY: maybe-installcheck-binutils installcheck-binutils
+maybe-installcheck-binutils:
-info-target-examples: \
- configure-target-examples
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+installcheck-binutils: \
+ configure-binutils
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing installcheck in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-info-target-libffi info-target-libffi
-maybe-info-target-libffi:
+.PHONY: maybe-mostlyclean-binutils mostlyclean-binutils
+maybe-mostlyclean-binutils:
-info-target-libffi: \
- configure-target-libffi
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+mostlyclean-binutils:
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing mostlyclean in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-info-target-libjava info-target-libjava
-maybe-info-target-libjava:
+.PHONY: maybe-clean-binutils clean-binutils
+maybe-clean-binutils:
-info-target-libjava: \
- configure-target-libjava
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+clean-binutils:
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing clean in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ clean) \
|| exit 1
-.PHONY: maybe-info-target-zlib info-target-zlib
-maybe-info-target-zlib:
+.PHONY: maybe-distclean-binutils distclean-binutils
+maybe-distclean-binutils:
-info-target-zlib: \
- configure-target-zlib
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+distclean-binutils:
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing distclean in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-info-target-boehm-gc info-target-boehm-gc
-maybe-info-target-boehm-gc:
+.PHONY: maybe-maintainer-clean-binutils maintainer-clean-binutils
+maybe-maintainer-clean-binutils:
-info-target-boehm-gc: \
- configure-target-boehm-gc
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+maintainer-clean-binutils:
+ @[ -f ./binutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing maintainer-clean in binutils" ; \
+ (cd binutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-info-target-qthreads info-target-qthreads
-maybe-info-target-qthreads:
-info-target-qthreads: \
- configure-target-qthreads
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+.PHONY: configure-bison maybe-configure-bison
+maybe-configure-bison:
+configure-bison:
+ @test ! -f bison/Makefile || exit 0; \
+ [ -d bison ] || mkdir bison; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in bison; \
+ cd bison || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/bison"; \
+ libsrcdir="$$s/bison";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/bison"; \
+ libsrcdir="$$s/bison";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-bison maybe-all-bison
+maybe-all-bison:
+all-bison: configure-bison
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bison && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-info-target-rda info-target-rda
-maybe-info-target-rda:
+.PHONY: check-bison maybe-check-bison
+maybe-check-bison:
-info-target-rda: \
- configure-target-rda
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+# This module is only tested in a native toolchain.
+check-bison:
+ @if [ '$(host)' = '$(target)' ] ; then \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bison && $(MAKE) $(FLAGS_TO_PASS) check); \
+ fi
+
+
+.PHONY: install-bison maybe-install-bison
+maybe-install-bison:
+
+install-bison: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/rda && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- info) \
- || exit 1
+ (cd bison && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-info-target-libada info-target-libada
-maybe-info-target-libada:
+# Other targets (info, dvi, etc.)
-info-target-libada: \
- configure-target-libada
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-bison info-bison
+maybe-info-bison:
+
+info-bison: \
+ configure-bison
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libada && \
+ echo "Doing info in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -2607,111 +3934,20 @@ info-target-libada: \
|| exit 1
+.PHONY: maybe-dvi-bison dvi-bison
+maybe-dvi-bison:
-.PHONY: do-dvi
-do-dvi: dvi-host dvi-target
-
-.PHONY: dvi-host
-dvi-host: maybe-dvi-gcc \
- maybe-dvi-ash \
- maybe-dvi-autoconf \
- maybe-dvi-automake \
- maybe-dvi-bash \
- maybe-dvi-bfd \
- maybe-dvi-opcodes \
- maybe-dvi-binutils \
- maybe-dvi-bison \
- maybe-dvi-byacc \
- maybe-dvi-bzip2 \
- maybe-dvi-dejagnu \
- maybe-dvi-diff \
- maybe-dvi-dosutils \
- maybe-dvi-etc \
- maybe-dvi-fastjar \
- maybe-dvi-fileutils \
- maybe-dvi-findutils \
- maybe-dvi-find \
- maybe-dvi-flex \
- maybe-dvi-gas \
- maybe-dvi-gawk \
- maybe-dvi-gettext \
- maybe-dvi-gnuserv \
- maybe-dvi-gprof \
- maybe-dvi-gzip \
- maybe-dvi-hello \
- maybe-dvi-indent \
- maybe-dvi-intl \
- maybe-dvi-tcl \
- maybe-dvi-itcl \
- maybe-dvi-ld \
- maybe-dvi-libgui \
- maybe-dvi-libiberty \
- maybe-dvi-libtool \
- maybe-dvi-m4 \
- maybe-dvi-make \
- maybe-dvi-mmalloc \
- maybe-dvi-patch \
- maybe-dvi-perl \
- maybe-dvi-prms \
- maybe-dvi-rcs \
- maybe-dvi-readline \
- maybe-dvi-release \
- maybe-dvi-recode \
- maybe-dvi-sed \
- maybe-dvi-send-pr \
- maybe-dvi-shellutils \
- maybe-dvi-sid \
- maybe-dvi-sim \
- maybe-dvi-tar \
- maybe-dvi-texinfo \
- maybe-dvi-textutils \
- maybe-dvi-time \
- maybe-dvi-uudecode \
- maybe-dvi-wdiff \
- maybe-dvi-zip \
- maybe-dvi-zlib \
- maybe-dvi-gdb \
- maybe-dvi-expect \
- maybe-dvi-guile \
- maybe-dvi-tk \
- maybe-dvi-tix \
- maybe-dvi-libtermcap \
- maybe-dvi-utils
-
-.PHONY: dvi-target
-dvi-target: \
- maybe-dvi-target-libstdc++-v3 \
- maybe-dvi-target-newlib \
- maybe-dvi-target-libf2c \
- maybe-dvi-target-libobjc \
- maybe-dvi-target-libtermcap \
- maybe-dvi-target-winsup \
- maybe-dvi-target-libgloss \
- maybe-dvi-target-libiberty \
- maybe-dvi-target-gperf \
- maybe-dvi-target-examples \
- maybe-dvi-target-libffi \
- maybe-dvi-target-libjava \
- maybe-dvi-target-zlib \
- maybe-dvi-target-boehm-gc \
- maybe-dvi-target-qthreads \
- maybe-dvi-target-rda \
- maybe-dvi-target-libada
-
-# GCC, the eternal special case
-.PHONY: maybe-dvi-gcc dvi-gcc
-maybe-dvi-gcc:
-dvi-gcc: \
- configure-gcc
- @[ -f ./gcc/Makefile ] || exit 0; \
+dvi-bison: \
+ configure-bison
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gcc" ; \
- (cd gcc && \
+ echo "Doing dvi in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -2719,181 +3955,251 @@ dvi-gcc: \
dvi) \
|| exit 1
-# Host modules.
-.PHONY: maybe-dvi-ash dvi-ash
-maybe-dvi-ash:
+.PHONY: maybe-TAGS-bison TAGS-bison
+maybe-TAGS-bison:
-dvi-ash: \
- configure-ash
- @[ -f ./ash/Makefile ] || exit 0; \
+TAGS-bison: \
+ configure-bison
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in ash" ; \
- (cd ash && \
+ echo "Doing TAGS in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-autoconf dvi-autoconf
-maybe-dvi-autoconf:
+.PHONY: maybe-install-info-bison install-info-bison
+maybe-install-info-bison:
-dvi-autoconf: \
- configure-autoconf
- @[ -f ./autoconf/Makefile ] || exit 0; \
+install-info-bison: \
+ configure-bison \
+ info-bison
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in autoconf" ; \
- (cd autoconf && \
+ echo "Doing install-info in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-automake dvi-automake
-maybe-dvi-automake:
+.PHONY: maybe-installcheck-bison installcheck-bison
+maybe-installcheck-bison:
-dvi-automake: \
- configure-automake
- @[ -f ./automake/Makefile ] || exit 0; \
+installcheck-bison: \
+ configure-bison
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in automake" ; \
- (cd automake && \
+ echo "Doing installcheck in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-bash dvi-bash
-maybe-dvi-bash:
+.PHONY: maybe-mostlyclean-bison mostlyclean-bison
+maybe-mostlyclean-bison:
-dvi-bash: \
- configure-bash
- @[ -f ./bash/Makefile ] || exit 0; \
+mostlyclean-bison:
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in bash" ; \
- (cd bash && \
+ echo "Doing mostlyclean in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-bfd dvi-bfd
-maybe-dvi-bfd:
+.PHONY: maybe-clean-bison clean-bison
+maybe-clean-bison:
-dvi-bfd: \
- configure-bfd
- @[ -f ./bfd/Makefile ] || exit 0; \
+clean-bison:
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in bfd" ; \
- (cd bfd && \
+ echo "Doing clean in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-opcodes dvi-opcodes
-maybe-dvi-opcodes:
+.PHONY: maybe-distclean-bison distclean-bison
+maybe-distclean-bison:
-dvi-opcodes: \
- configure-opcodes
- @[ -f ./opcodes/Makefile ] || exit 0; \
+distclean-bison:
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in opcodes" ; \
- (cd opcodes && \
+ echo "Doing distclean in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-binutils dvi-binutils
-maybe-dvi-binutils:
+.PHONY: maybe-maintainer-clean-bison maintainer-clean-bison
+maybe-maintainer-clean-bison:
-dvi-binutils: \
- configure-binutils
- @[ -f ./binutils/Makefile ] || exit 0; \
+maintainer-clean-bison:
+ @[ -f ./bison/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in binutils" ; \
- (cd binutils && \
+ echo "Doing maintainer-clean in bison" ; \
+ (cd bison && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-bison dvi-bison
-maybe-dvi-bison:
-dvi-bison: \
- configure-bison
- @[ -f ./bison/Makefile ] || exit 0; \
+.PHONY: configure-byacc maybe-configure-byacc
+maybe-configure-byacc:
+configure-byacc:
+ @test ! -f byacc/Makefile || exit 0; \
+ [ -d byacc ] || mkdir byacc; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in byacc; \
+ cd byacc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/byacc"; \
+ libsrcdir="$$s/byacc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/byacc"; \
+ libsrcdir="$$s/byacc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+
+.PHONY: all-byacc maybe-all-byacc
+maybe-all-byacc:
+all-byacc: configure-byacc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd byacc && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-byacc maybe-check-byacc
+maybe-check-byacc:
+
+# This module is only tested in a native toolchain.
+check-byacc:
+ @if [ '$(host)' = '$(target)' ] ; then \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd byacc && $(MAKE) $(FLAGS_TO_PASS) check); \
+ fi
+
+
+.PHONY: install-byacc maybe-install-byacc
+maybe-install-byacc:
+
+install-byacc: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-byacc info-byacc
+maybe-info-byacc:
+
+info-byacc: \
+ configure-byacc
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in bison" ; \
- (cd bison && \
+ echo "Doing info in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
@@ -2919,262 +4225,264 @@ dvi-byacc: \
|| exit 1
-.PHONY: maybe-dvi-bzip2 dvi-bzip2
-maybe-dvi-bzip2:
+.PHONY: maybe-TAGS-byacc TAGS-byacc
+maybe-TAGS-byacc:
-dvi-bzip2: \
- configure-bzip2
- @[ -f ./bzip2/Makefile ] || exit 0; \
+TAGS-byacc: \
+ configure-byacc
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in bzip2" ; \
- (cd bzip2 && \
+ echo "Doing TAGS in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-dejagnu dvi-dejagnu
-maybe-dvi-dejagnu:
+.PHONY: maybe-install-info-byacc install-info-byacc
+maybe-install-info-byacc:
-dvi-dejagnu: \
- configure-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
+install-info-byacc: \
+ configure-byacc \
+ info-byacc
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in dejagnu" ; \
- (cd dejagnu && \
+ echo "Doing install-info in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-diff dvi-diff
-maybe-dvi-diff:
+.PHONY: maybe-installcheck-byacc installcheck-byacc
+maybe-installcheck-byacc:
-dvi-diff: \
- configure-diff
- @[ -f ./diff/Makefile ] || exit 0; \
+installcheck-byacc: \
+ configure-byacc
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in diff" ; \
- (cd diff && \
+ echo "Doing installcheck in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-dosutils dvi-dosutils
-maybe-dvi-dosutils:
+.PHONY: maybe-mostlyclean-byacc mostlyclean-byacc
+maybe-mostlyclean-byacc:
-dvi-dosutils: \
- configure-dosutils
- @[ -f ./dosutils/Makefile ] || exit 0; \
+mostlyclean-byacc:
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in dosutils" ; \
- (cd dosutils && \
+ echo "Doing mostlyclean in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-etc dvi-etc
-maybe-dvi-etc:
+.PHONY: maybe-clean-byacc clean-byacc
+maybe-clean-byacc:
-dvi-etc: \
- configure-etc
- @[ -f ./etc/Makefile ] || exit 0; \
+clean-byacc:
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in etc" ; \
- (cd etc && \
+ echo "Doing clean in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-fastjar dvi-fastjar
-maybe-dvi-fastjar:
+.PHONY: maybe-distclean-byacc distclean-byacc
+maybe-distclean-byacc:
-dvi-fastjar: \
- configure-fastjar
- @[ -f ./fastjar/Makefile ] || exit 0; \
+distclean-byacc:
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in fastjar" ; \
- (cd fastjar && \
+ echo "Doing distclean in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-fileutils dvi-fileutils
-maybe-dvi-fileutils:
+.PHONY: maybe-maintainer-clean-byacc maintainer-clean-byacc
+maybe-maintainer-clean-byacc:
-dvi-fileutils: \
- configure-fileutils
- @[ -f ./fileutils/Makefile ] || exit 0; \
+maintainer-clean-byacc:
+ @[ -f ./byacc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in fileutils" ; \
- (cd fileutils && \
+ echo "Doing maintainer-clean in byacc" ; \
+ (cd byacc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-findutils dvi-findutils
-maybe-dvi-findutils:
-dvi-findutils: \
- configure-findutils
- @[ -f ./findutils/Makefile ] || exit 0; \
+.PHONY: configure-bzip2 maybe-configure-bzip2
+maybe-configure-bzip2:
+configure-bzip2:
+ @test ! -f bzip2/Makefile || exit 0; \
+ [ -d bzip2 ] || mkdir bzip2; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in findutils" ; \
- (cd findutils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in bzip2; \
+ cd bzip2 || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/bzip2"; \
+ libsrcdir="$$s/bzip2";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/bzip2"; \
+ libsrcdir="$$s/bzip2";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-bzip2 maybe-all-bzip2
+maybe-all-bzip2:
+all-bzip2: configure-bzip2
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-dvi-find dvi-find
-maybe-dvi-find:
+.PHONY: check-bzip2 maybe-check-bzip2
+maybe-check-bzip2:
-dvi-find: \
- configure-find
- @[ -f ./find/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-bzip2:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in find" ; \
- (cd find && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-dvi-flex dvi-flex
-maybe-dvi-flex:
+.PHONY: install-bzip2 maybe-install-bzip2
+maybe-install-bzip2:
-dvi-flex: \
- configure-flex
- @[ -f ./flex/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-bzip2: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in flex" ; \
- (cd flex && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-gas dvi-gas
-maybe-dvi-gas:
+# Other targets (info, dvi, etc.)
-dvi-gas: \
- configure-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+.PHONY: maybe-info-bzip2 info-bzip2
+maybe-info-bzip2:
+
+info-bzip2: \
+ configure-bzip2
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gas" ; \
- (cd gas && \
+ echo "Doing info in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-gawk dvi-gawk
-maybe-dvi-gawk:
+.PHONY: maybe-dvi-bzip2 dvi-bzip2
+maybe-dvi-bzip2:
-dvi-gawk: \
- configure-gawk
- @[ -f ./gawk/Makefile ] || exit 0; \
+dvi-bzip2: \
+ configure-bzip2
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gawk" ; \
- (cd gawk && \
+ echo "Doing dvi in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -3183,262 +4491,264 @@ dvi-gawk: \
|| exit 1
-.PHONY: maybe-dvi-gettext dvi-gettext
-maybe-dvi-gettext:
+.PHONY: maybe-TAGS-bzip2 TAGS-bzip2
+maybe-TAGS-bzip2:
-dvi-gettext: \
- configure-gettext
- @[ -f ./gettext/Makefile ] || exit 0; \
+TAGS-bzip2: \
+ configure-bzip2
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gettext" ; \
- (cd gettext && \
+ echo "Doing TAGS in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-gnuserv dvi-gnuserv
-maybe-dvi-gnuserv:
+.PHONY: maybe-install-info-bzip2 install-info-bzip2
+maybe-install-info-bzip2:
-dvi-gnuserv: \
- configure-gnuserv
- @[ -f ./gnuserv/Makefile ] || exit 0; \
+install-info-bzip2: \
+ configure-bzip2 \
+ info-bzip2
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gnuserv" ; \
- (cd gnuserv && \
+ echo "Doing install-info in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-gprof dvi-gprof
-maybe-dvi-gprof:
+.PHONY: maybe-installcheck-bzip2 installcheck-bzip2
+maybe-installcheck-bzip2:
-dvi-gprof: \
- configure-gprof
- @[ -f ./gprof/Makefile ] || exit 0; \
+installcheck-bzip2: \
+ configure-bzip2
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gprof" ; \
- (cd gprof && \
+ echo "Doing installcheck in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-gzip dvi-gzip
-maybe-dvi-gzip:
+.PHONY: maybe-mostlyclean-bzip2 mostlyclean-bzip2
+maybe-mostlyclean-bzip2:
-dvi-gzip: \
- configure-gzip
- @[ -f ./gzip/Makefile ] || exit 0; \
+mostlyclean-bzip2:
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gzip" ; \
- (cd gzip && \
+ echo "Doing mostlyclean in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-hello dvi-hello
-maybe-dvi-hello:
+.PHONY: maybe-clean-bzip2 clean-bzip2
+maybe-clean-bzip2:
-dvi-hello: \
- configure-hello
- @[ -f ./hello/Makefile ] || exit 0; \
+clean-bzip2:
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in hello" ; \
- (cd hello && \
+ echo "Doing clean in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-indent dvi-indent
-maybe-dvi-indent:
+.PHONY: maybe-distclean-bzip2 distclean-bzip2
+maybe-distclean-bzip2:
-dvi-indent: \
- configure-indent
- @[ -f ./indent/Makefile ] || exit 0; \
+distclean-bzip2:
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in indent" ; \
- (cd indent && \
+ echo "Doing distclean in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-intl dvi-intl
-maybe-dvi-intl:
+.PHONY: maybe-maintainer-clean-bzip2 maintainer-clean-bzip2
+maybe-maintainer-clean-bzip2:
-dvi-intl: \
- configure-intl
- @[ -f ./intl/Makefile ] || exit 0; \
+maintainer-clean-bzip2:
+ @[ -f ./bzip2/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in intl" ; \
- (cd intl && \
+ echo "Doing maintainer-clean in bzip2" ; \
+ (cd bzip2 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-tcl dvi-tcl
-maybe-dvi-tcl:
-dvi-tcl: \
- configure-tcl
- @[ -f ./tcl/Makefile ] || exit 0; \
+.PHONY: configure-dejagnu maybe-configure-dejagnu
+maybe-configure-dejagnu:
+configure-dejagnu:
+ @test ! -f dejagnu/Makefile || exit 0; \
+ [ -d dejagnu ] || mkdir dejagnu; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in tcl" ; \
- (cd tcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in dejagnu; \
+ cd dejagnu || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/dejagnu"; \
+ libsrcdir="$$s/dejagnu";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \
+ libsrcdir="$$s/dejagnu";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-dejagnu maybe-all-dejagnu
+maybe-all-dejagnu:
+all-dejagnu: configure-dejagnu
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-dvi-itcl dvi-itcl
-maybe-dvi-itcl:
+.PHONY: check-dejagnu maybe-check-dejagnu
+maybe-check-dejagnu:
-dvi-itcl: \
- configure-itcl
- @[ -f ./itcl/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-dejagnu:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in itcl" ; \
- (cd itcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-dvi-ld dvi-ld
-maybe-dvi-ld:
+.PHONY: install-dejagnu maybe-install-dejagnu
+maybe-install-dejagnu:
-dvi-ld: \
- configure-ld
- @[ -f ./ld/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-dejagnu: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in ld" ; \
- (cd ld && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-libgui dvi-libgui
-maybe-dvi-libgui:
+# Other targets (info, dvi, etc.)
-dvi-libgui: \
- configure-libgui
- @[ -f ./libgui/Makefile ] || exit 0; \
+.PHONY: maybe-info-dejagnu info-dejagnu
+maybe-info-dejagnu:
+
+info-dejagnu: \
+ configure-dejagnu
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in libgui" ; \
- (cd libgui && \
+ echo "Doing info in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-libiberty dvi-libiberty
-maybe-dvi-libiberty:
+.PHONY: maybe-dvi-dejagnu dvi-dejagnu
+maybe-dvi-dejagnu:
-dvi-libiberty: \
- configure-libiberty
- @[ -f ./libiberty/Makefile ] || exit 0; \
+dvi-dejagnu: \
+ configure-dejagnu
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in libiberty" ; \
- (cd libiberty && \
+ echo "Doing dvi in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -3447,262 +4757,264 @@ dvi-libiberty: \
|| exit 1
-.PHONY: maybe-dvi-libtool dvi-libtool
-maybe-dvi-libtool:
+.PHONY: maybe-TAGS-dejagnu TAGS-dejagnu
+maybe-TAGS-dejagnu:
-dvi-libtool: \
- configure-libtool
- @[ -f ./libtool/Makefile ] || exit 0; \
+TAGS-dejagnu: \
+ configure-dejagnu
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in libtool" ; \
- (cd libtool && \
+ echo "Doing TAGS in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-m4 dvi-m4
-maybe-dvi-m4:
+.PHONY: maybe-install-info-dejagnu install-info-dejagnu
+maybe-install-info-dejagnu:
-dvi-m4: \
- configure-m4
- @[ -f ./m4/Makefile ] || exit 0; \
+install-info-dejagnu: \
+ configure-dejagnu \
+ info-dejagnu
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in m4" ; \
- (cd m4 && \
+ echo "Doing install-info in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-make dvi-make
-maybe-dvi-make:
+.PHONY: maybe-installcheck-dejagnu installcheck-dejagnu
+maybe-installcheck-dejagnu:
-dvi-make: \
- configure-make
- @[ -f ./make/Makefile ] || exit 0; \
+installcheck-dejagnu: \
+ configure-dejagnu
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in make" ; \
- (cd make && \
+ echo "Doing installcheck in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-mmalloc dvi-mmalloc
-maybe-dvi-mmalloc:
+.PHONY: maybe-mostlyclean-dejagnu mostlyclean-dejagnu
+maybe-mostlyclean-dejagnu:
-dvi-mmalloc: \
- configure-mmalloc
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+mostlyclean-dejagnu:
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing mostlyclean in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-patch dvi-patch
-maybe-dvi-patch:
+.PHONY: maybe-clean-dejagnu clean-dejagnu
+maybe-clean-dejagnu:
-dvi-patch: \
- configure-patch
- @[ -f ./patch/Makefile ] || exit 0; \
+clean-dejagnu:
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in patch" ; \
- (cd patch && \
+ echo "Doing clean in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-perl dvi-perl
-maybe-dvi-perl:
+.PHONY: maybe-distclean-dejagnu distclean-dejagnu
+maybe-distclean-dejagnu:
-dvi-perl: \
- configure-perl
- @[ -f ./perl/Makefile ] || exit 0; \
+distclean-dejagnu:
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in perl" ; \
- (cd perl && \
+ echo "Doing distclean in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-prms dvi-prms
-maybe-dvi-prms:
+.PHONY: maybe-maintainer-clean-dejagnu maintainer-clean-dejagnu
+maybe-maintainer-clean-dejagnu:
-dvi-prms: \
- configure-prms
- @[ -f ./prms/Makefile ] || exit 0; \
+maintainer-clean-dejagnu:
+ @[ -f ./dejagnu/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in prms" ; \
- (cd prms && \
+ echo "Doing maintainer-clean in dejagnu" ; \
+ (cd dejagnu && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-rcs dvi-rcs
-maybe-dvi-rcs:
-dvi-rcs: \
- configure-rcs
- @[ -f ./rcs/Makefile ] || exit 0; \
+.PHONY: configure-diff maybe-configure-diff
+maybe-configure-diff:
+configure-diff:
+ @test ! -f diff/Makefile || exit 0; \
+ [ -d diff ] || mkdir diff; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in rcs" ; \
- (cd rcs && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in diff; \
+ cd diff || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/diff"; \
+ libsrcdir="$$s/diff";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/diff"; \
+ libsrcdir="$$s/diff";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-diff maybe-all-diff
+maybe-all-diff:
+all-diff: configure-diff
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd diff && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-dvi-readline dvi-readline
-maybe-dvi-readline:
+.PHONY: check-diff maybe-check-diff
+maybe-check-diff:
-dvi-readline: \
- configure-readline
- @[ -f ./readline/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-diff:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in readline" ; \
- (cd readline && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd diff && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-dvi-release dvi-release
-maybe-dvi-release:
+.PHONY: install-diff maybe-install-diff
+maybe-install-diff:
-dvi-release: \
- configure-release
- @[ -f ./release/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-diff: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in release" ; \
- (cd release && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd diff && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-recode dvi-recode
-maybe-dvi-recode:
+# Other targets (info, dvi, etc.)
-dvi-recode: \
- configure-recode
- @[ -f ./recode/Makefile ] || exit 0; \
+.PHONY: maybe-info-diff info-diff
+maybe-info-diff:
+
+info-diff: \
+ configure-diff
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in recode" ; \
- (cd recode && \
+ echo "Doing info in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-sed dvi-sed
-maybe-dvi-sed:
+.PHONY: maybe-dvi-diff dvi-diff
+maybe-dvi-diff:
-dvi-sed: \
- configure-sed
- @[ -f ./sed/Makefile ] || exit 0; \
+dvi-diff: \
+ configure-diff
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in sed" ; \
- (cd sed && \
+ echo "Doing dvi in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -3711,240 +5023,260 @@ dvi-sed: \
|| exit 1
-.PHONY: maybe-dvi-send-pr dvi-send-pr
-maybe-dvi-send-pr:
+.PHONY: maybe-TAGS-diff TAGS-diff
+maybe-TAGS-diff:
-dvi-send-pr: \
- configure-send-pr
- @[ -f ./send-pr/Makefile ] || exit 0; \
+TAGS-diff: \
+ configure-diff
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in send-pr" ; \
- (cd send-pr && \
+ echo "Doing TAGS in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-shellutils dvi-shellutils
-maybe-dvi-shellutils:
+.PHONY: maybe-install-info-diff install-info-diff
+maybe-install-info-diff:
-dvi-shellutils: \
- configure-shellutils
- @[ -f ./shellutils/Makefile ] || exit 0; \
+install-info-diff: \
+ configure-diff \
+ info-diff
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in shellutils" ; \
- (cd shellutils && \
+ echo "Doing install-info in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-sid dvi-sid
-maybe-dvi-sid:
+.PHONY: maybe-installcheck-diff installcheck-diff
+maybe-installcheck-diff:
-dvi-sid: \
- configure-sid
- @[ -f ./sid/Makefile ] || exit 0; \
+installcheck-diff: \
+ configure-diff
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in sid" ; \
- (cd sid && \
+ echo "Doing installcheck in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-sim dvi-sim
-maybe-dvi-sim:
+.PHONY: maybe-mostlyclean-diff mostlyclean-diff
+maybe-mostlyclean-diff:
-dvi-sim: \
- configure-sim
- @[ -f ./sim/Makefile ] || exit 0; \
+mostlyclean-diff:
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in sim" ; \
- (cd sim && \
+ echo "Doing mostlyclean in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-tar dvi-tar
-maybe-dvi-tar:
+.PHONY: maybe-clean-diff clean-diff
+maybe-clean-diff:
-dvi-tar: \
- configure-tar
- @[ -f ./tar/Makefile ] || exit 0; \
+clean-diff:
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in tar" ; \
- (cd tar && \
+ echo "Doing clean in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-texinfo dvi-texinfo
-maybe-dvi-texinfo:
+.PHONY: maybe-distclean-diff distclean-diff
+maybe-distclean-diff:
-dvi-texinfo: \
- configure-texinfo
- @[ -f ./texinfo/Makefile ] || exit 0; \
+distclean-diff:
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in texinfo" ; \
- (cd texinfo && \
+ echo "Doing distclean in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-textutils dvi-textutils
-maybe-dvi-textutils:
+.PHONY: maybe-maintainer-clean-diff maintainer-clean-diff
+maybe-maintainer-clean-diff:
-dvi-textutils: \
- configure-textutils
- @[ -f ./textutils/Makefile ] || exit 0; \
+maintainer-clean-diff:
+ @[ -f ./diff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in textutils" ; \
- (cd textutils && \
+ echo "Doing maintainer-clean in diff" ; \
+ (cd diff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-time dvi-time
-maybe-dvi-time:
-dvi-time: \
- configure-time
- @[ -f ./time/Makefile ] || exit 0; \
+.PHONY: configure-dosutils maybe-configure-dosutils
+maybe-configure-dosutils:
+configure-dosutils:
+ @test ! -f dosutils/Makefile || exit 0; \
+ [ -d dosutils ] || mkdir dosutils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in time" ; \
- (cd time && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in dosutils; \
+ cd dosutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/dosutils"; \
+ libsrcdir="$$s/dosutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/dosutils"; \
+ libsrcdir="$$s/dosutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-dosutils maybe-all-dosutils
+maybe-all-dosutils:
+all-dosutils: configure-dosutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-dvi-uudecode dvi-uudecode
-maybe-dvi-uudecode:
+.PHONY: check-dosutils maybe-check-dosutils
+maybe-check-dosutils:
-dvi-uudecode: \
- configure-uudecode
- @[ -f ./uudecode/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-dosutils:
+
+
+.PHONY: install-dosutils maybe-install-dosutils
+maybe-install-dosutils:
+
+install-dosutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in uudecode" ; \
- (cd uudecode && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-wdiff dvi-wdiff
-maybe-dvi-wdiff:
+# Other targets (info, dvi, etc.)
-dvi-wdiff: \
- configure-wdiff
- @[ -f ./wdiff/Makefile ] || exit 0; \
+.PHONY: maybe-info-dosutils info-dosutils
+maybe-info-dosutils:
+
+info-dosutils: \
+ configure-dosutils
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in wdiff" ; \
- (cd wdiff && \
+ echo "Doing info in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-zip dvi-zip
-maybe-dvi-zip:
+.PHONY: maybe-dvi-dosutils dvi-dosutils
+maybe-dvi-dosutils:
-dvi-zip: \
- configure-zip
- @[ -f ./zip/Makefile ] || exit 0; \
+dvi-dosutils: \
+ configure-dosutils
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in zip" ; \
- (cd zip && \
+ echo "Doing dvi in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -3953,243 +5285,264 @@ dvi-zip: \
|| exit 1
-.PHONY: maybe-dvi-zlib dvi-zlib
-maybe-dvi-zlib:
+.PHONY: maybe-TAGS-dosutils TAGS-dosutils
+maybe-TAGS-dosutils:
-dvi-zlib: \
- configure-zlib
- @[ -f ./zlib/Makefile ] || exit 0; \
+TAGS-dosutils: \
+ configure-dosutils
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in zlib" ; \
- (cd zlib && \
+ echo "Doing TAGS in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-gdb dvi-gdb
-maybe-dvi-gdb:
+.PHONY: maybe-install-info-dosutils install-info-dosutils
+maybe-install-info-dosutils:
-dvi-gdb: \
- configure-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+install-info-dosutils: \
+ configure-dosutils \
+ info-dosutils
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in gdb" ; \
- (cd gdb && \
+ echo "Doing install-info in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-expect dvi-expect
-maybe-dvi-expect:
+.PHONY: maybe-installcheck-dosutils installcheck-dosutils
+maybe-installcheck-dosutils:
-dvi-expect: \
- configure-expect
- @[ -f ./expect/Makefile ] || exit 0; \
+installcheck-dosutils: \
+ configure-dosutils
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in expect" ; \
- (cd expect && \
+ echo "Doing installcheck in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-guile dvi-guile
-maybe-dvi-guile:
+.PHONY: maybe-mostlyclean-dosutils mostlyclean-dosutils
+maybe-mostlyclean-dosutils:
-dvi-guile: \
- configure-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+mostlyclean-dosutils:
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in guile" ; \
- (cd guile && \
+ echo "Doing mostlyclean in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-tk dvi-tk
-maybe-dvi-tk:
+.PHONY: maybe-clean-dosutils clean-dosutils
+maybe-clean-dosutils:
-dvi-tk: \
- configure-tk
- @[ -f ./tk/Makefile ] || exit 0; \
+clean-dosutils:
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in tk" ; \
- (cd tk && \
+ echo "Doing clean in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-tix dvi-tix
-maybe-dvi-tix:
+.PHONY: maybe-distclean-dosutils distclean-dosutils
+maybe-distclean-dosutils:
-dvi-tix: \
- configure-tix
- @[ -f ./tix/Makefile ] || exit 0; \
+distclean-dosutils:
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in tix" ; \
- (cd tix && \
+ echo "Doing distclean in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-libtermcap dvi-libtermcap
-maybe-dvi-libtermcap:
+.PHONY: maybe-maintainer-clean-dosutils maintainer-clean-dosutils
+maybe-maintainer-clean-dosutils:
-dvi-libtermcap: \
- configure-libtermcap
- @[ -f ./libtermcap/Makefile ] || exit 0; \
+maintainer-clean-dosutils:
+ @[ -f ./dosutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing dvi in libtermcap" ; \
- (cd libtermcap && \
+ echo "Doing maintainer-clean in dosutils" ; \
+ (cd dosutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-utils dvi-utils
-maybe-dvi-utils:
-dvi-utils: \
- configure-utils
- @[ -f ./utils/Makefile ] || exit 0; \
+.PHONY: configure-etc maybe-configure-etc
+maybe-configure-etc:
+configure-etc:
+ @test ! -f etc/Makefile || exit 0; \
+ [ -d etc ] || mkdir etc; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing dvi in utils" ; \
- (cd utils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in etc; \
+ cd etc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/etc"; \
+ libsrcdir="$$s/etc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/etc"; \
+ libsrcdir="$$s/etc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-etc maybe-all-etc
+maybe-all-etc:
+all-etc: configure-etc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd etc && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-etc maybe-check-etc
+maybe-check-etc:
+check-etc:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd etc && $(MAKE) $(FLAGS_TO_PASS) check)
-# Target modules.
-.PHONY: maybe-dvi-target-libstdc++-v3 dvi-target-libstdc++-v3
-maybe-dvi-target-libstdc++-v3:
+.PHONY: install-etc maybe-install-etc
+maybe-install-etc:
-dvi-target-libstdc++-v3: \
- configure-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-etc: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd etc && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-target-newlib dvi-target-newlib
-maybe-dvi-target-newlib:
+# Other targets (info, dvi, etc.)
-dvi-target-newlib: \
- configure-target-newlib
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-etc info-etc
+maybe-info-etc:
+
+info-etc: \
+ configure-etc
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing info in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-target-libf2c dvi-target-libf2c
-maybe-dvi-target-libf2c:
+.PHONY: maybe-dvi-etc dvi-etc
+maybe-dvi-etc:
-dvi-target-libf2c: \
- configure-target-libf2c
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+dvi-etc: \
+ configure-etc
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing dvi in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -4198,240 +5551,267 @@ dvi-target-libf2c: \
|| exit 1
-.PHONY: maybe-dvi-target-libobjc dvi-target-libobjc
-maybe-dvi-target-libobjc:
+.PHONY: maybe-TAGS-etc TAGS-etc
+maybe-TAGS-etc:
-dvi-target-libobjc: \
- configure-target-libobjc
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+TAGS-etc: \
+ configure-etc
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ echo "Doing TAGS in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-target-libtermcap dvi-target-libtermcap
-maybe-dvi-target-libtermcap:
+.PHONY: maybe-install-info-etc install-info-etc
+maybe-install-info-etc:
-dvi-target-libtermcap: \
- configure-target-libtermcap
- @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
+install-info-etc: \
+ configure-etc \
+ info-etc
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libtermcap && \
+ echo "Doing install-info in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-target-winsup dvi-target-winsup
-maybe-dvi-target-winsup:
+.PHONY: maybe-installcheck-etc installcheck-etc
+maybe-installcheck-etc:
-dvi-target-winsup: \
- configure-target-winsup
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+installcheck-etc: \
+ configure-etc
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/winsup && \
+ echo "Doing installcheck in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-dvi-target-libgloss dvi-target-libgloss
-maybe-dvi-target-libgloss:
+.PHONY: maybe-mostlyclean-etc mostlyclean-etc
+maybe-mostlyclean-etc:
-dvi-target-libgloss: \
- configure-target-libgloss
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+mostlyclean-etc:
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ echo "Doing mostlyclean in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-dvi-target-libiberty dvi-target-libiberty
-maybe-dvi-target-libiberty:
+.PHONY: maybe-clean-etc clean-etc
+maybe-clean-etc:
-dvi-target-libiberty: \
- configure-target-libiberty
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+clean-etc:
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing clean in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ clean) \
|| exit 1
-.PHONY: maybe-dvi-target-gperf dvi-target-gperf
-maybe-dvi-target-gperf:
+.PHONY: maybe-distclean-etc distclean-etc
+maybe-distclean-etc:
-dvi-target-gperf: \
- configure-target-gperf
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+distclean-etc:
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing distclean in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ distclean) \
|| exit 1
-.PHONY: maybe-dvi-target-examples dvi-target-examples
-maybe-dvi-target-examples:
+.PHONY: maybe-maintainer-clean-etc maintainer-clean-etc
+maybe-maintainer-clean-etc:
-dvi-target-examples: \
- configure-target-examples
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+maintainer-clean-etc:
+ @[ -f ./etc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing maintainer-clean in etc" ; \
+ (cd etc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-dvi-target-libffi dvi-target-libffi
-maybe-dvi-target-libffi:
-dvi-target-libffi: \
- configure-target-libffi
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+.PHONY: configure-fastjar maybe-configure-fastjar
+maybe-configure-fastjar:
+configure-fastjar:
+ @test ! -f fastjar/Makefile || exit 0; \
+ [ -d fastjar ] || mkdir fastjar; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libffi && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in fastjar; \
+ cd fastjar || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/fastjar"; \
+ libsrcdir="$$s/fastjar";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/fastjar"; \
+ libsrcdir="$$s/fastjar";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-fastjar maybe-all-fastjar
+maybe-all-fastjar:
+all-fastjar: configure-fastjar
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-dvi-target-libjava dvi-target-libjava
-maybe-dvi-target-libjava:
+.PHONY: check-fastjar maybe-check-fastjar
+maybe-check-fastjar:
-dvi-target-libjava: \
- configure-target-libjava
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+# This module is only tested in a native toolchain.
+check-fastjar:
+ @if [ '$(host)' = '$(target)' ] ; then \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) check); \
+ fi
+
+
+.PHONY: install-fastjar maybe-install-fastjar
+maybe-install-fastjar:
+
+install-fastjar: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libjava && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
- || exit 1
+ (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-dvi-target-zlib dvi-target-zlib
-maybe-dvi-target-zlib:
+# Other targets (info, dvi, etc.)
-dvi-target-zlib: \
- configure-target-zlib
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-fastjar info-fastjar
+maybe-info-fastjar:
+
+info-fastjar: \
+ configure-fastjar
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing info in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ info) \
|| exit 1
-.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc
-maybe-dvi-target-boehm-gc:
+.PHONY: maybe-dvi-fastjar dvi-fastjar
+maybe-dvi-fastjar:
-dvi-target-boehm-gc: \
- configure-target-boehm-gc
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+dvi-fastjar: \
+ configure-fastjar
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing dvi in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -4440,332 +5820,286 @@ dvi-target-boehm-gc: \
|| exit 1
-.PHONY: maybe-dvi-target-qthreads dvi-target-qthreads
-maybe-dvi-target-qthreads:
+.PHONY: maybe-TAGS-fastjar TAGS-fastjar
+maybe-TAGS-fastjar:
-dvi-target-qthreads: \
- configure-target-qthreads
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+TAGS-fastjar: \
+ configure-fastjar
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing TAGS in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-dvi-target-rda dvi-target-rda
-maybe-dvi-target-rda:
+.PHONY: maybe-install-info-fastjar install-info-fastjar
+maybe-install-info-fastjar:
-dvi-target-rda: \
- configure-target-rda
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+install-info-fastjar: \
+ configure-fastjar \
+ info-fastjar
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ echo "Doing install-info in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ install-info) \
|| exit 1
-.PHONY: maybe-dvi-target-libada dvi-target-libada
-maybe-dvi-target-libada:
+.PHONY: maybe-installcheck-fastjar installcheck-fastjar
+maybe-installcheck-fastjar:
-dvi-target-libada: \
- configure-target-libada
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+installcheck-fastjar: \
+ configure-fastjar
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libada && \
+ echo "Doing installcheck in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- dvi) \
+ installcheck) \
|| exit 1
+.PHONY: maybe-mostlyclean-fastjar mostlyclean-fastjar
+maybe-mostlyclean-fastjar:
-.PHONY: do-TAGS
-do-TAGS: TAGS-host TAGS-target
-
-.PHONY: TAGS-host
-TAGS-host: maybe-TAGS-gcc \
- maybe-TAGS-ash \
- maybe-TAGS-autoconf \
- maybe-TAGS-automake \
- maybe-TAGS-bash \
- maybe-TAGS-bfd \
- maybe-TAGS-opcodes \
- maybe-TAGS-binutils \
- maybe-TAGS-bison \
- maybe-TAGS-byacc \
- maybe-TAGS-bzip2 \
- maybe-TAGS-dejagnu \
- maybe-TAGS-diff \
- maybe-TAGS-dosutils \
- maybe-TAGS-etc \
- maybe-TAGS-fastjar \
- maybe-TAGS-fileutils \
- maybe-TAGS-findutils \
- maybe-TAGS-find \
- maybe-TAGS-flex \
- maybe-TAGS-gas \
- maybe-TAGS-gawk \
- maybe-TAGS-gettext \
- maybe-TAGS-gnuserv \
- maybe-TAGS-gprof \
- maybe-TAGS-gzip \
- maybe-TAGS-hello \
- maybe-TAGS-indent \
- maybe-TAGS-intl \
- maybe-TAGS-tcl \
- maybe-TAGS-itcl \
- maybe-TAGS-ld \
- maybe-TAGS-libgui \
- maybe-TAGS-libiberty \
- maybe-TAGS-libtool \
- maybe-TAGS-m4 \
- maybe-TAGS-make \
- maybe-TAGS-mmalloc \
- maybe-TAGS-patch \
- maybe-TAGS-perl \
- maybe-TAGS-prms \
- maybe-TAGS-rcs \
- maybe-TAGS-readline \
- maybe-TAGS-release \
- maybe-TAGS-recode \
- maybe-TAGS-sed \
- maybe-TAGS-send-pr \
- maybe-TAGS-shellutils \
- maybe-TAGS-sid \
- maybe-TAGS-sim \
- maybe-TAGS-tar \
- maybe-TAGS-texinfo \
- maybe-TAGS-textutils \
- maybe-TAGS-time \
- maybe-TAGS-uudecode \
- maybe-TAGS-wdiff \
- maybe-TAGS-zip \
- maybe-TAGS-zlib \
- maybe-TAGS-gdb \
- maybe-TAGS-expect \
- maybe-TAGS-guile \
- maybe-TAGS-tk \
- maybe-TAGS-tix \
- maybe-TAGS-libtermcap \
- maybe-TAGS-utils
-
-.PHONY: TAGS-target
-TAGS-target: \
- maybe-TAGS-target-libstdc++-v3 \
- maybe-TAGS-target-newlib \
- maybe-TAGS-target-libf2c \
- maybe-TAGS-target-libobjc \
- maybe-TAGS-target-libtermcap \
- maybe-TAGS-target-winsup \
- maybe-TAGS-target-libgloss \
- maybe-TAGS-target-libiberty \
- maybe-TAGS-target-gperf \
- maybe-TAGS-target-examples \
- maybe-TAGS-target-libffi \
- maybe-TAGS-target-libjava \
- maybe-TAGS-target-zlib \
- maybe-TAGS-target-boehm-gc \
- maybe-TAGS-target-qthreads \
- maybe-TAGS-target-rda \
- maybe-TAGS-target-libada
-
-# GCC, the eternal special case
-.PHONY: maybe-TAGS-gcc TAGS-gcc
-maybe-TAGS-gcc:
-TAGS-gcc: \
- configure-gcc
- @[ -f ./gcc/Makefile ] || exit 0; \
+mostlyclean-fastjar:
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gcc" ; \
- (cd gcc && \
+ echo "Doing mostlyclean in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-# Host modules.
-.PHONY: maybe-TAGS-ash TAGS-ash
-maybe-TAGS-ash:
+.PHONY: maybe-clean-fastjar clean-fastjar
+maybe-clean-fastjar:
-TAGS-ash: \
- configure-ash
- @[ -f ./ash/Makefile ] || exit 0; \
+clean-fastjar:
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in ash" ; \
- (cd ash && \
+ echo "Doing clean in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-autoconf TAGS-autoconf
-maybe-TAGS-autoconf:
+.PHONY: maybe-distclean-fastjar distclean-fastjar
+maybe-distclean-fastjar:
-TAGS-autoconf: \
- configure-autoconf
- @[ -f ./autoconf/Makefile ] || exit 0; \
+distclean-fastjar:
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in autoconf" ; \
- (cd autoconf && \
+ echo "Doing distclean in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-automake TAGS-automake
-maybe-TAGS-automake:
+.PHONY: maybe-maintainer-clean-fastjar maintainer-clean-fastjar
+maybe-maintainer-clean-fastjar:
-TAGS-automake: \
- configure-automake
- @[ -f ./automake/Makefile ] || exit 0; \
+maintainer-clean-fastjar:
+ @[ -f ./fastjar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in automake" ; \
- (cd automake && \
+ echo "Doing maintainer-clean in fastjar" ; \
+ (cd fastjar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-bash TAGS-bash
-maybe-TAGS-bash:
-TAGS-bash: \
- configure-bash
- @[ -f ./bash/Makefile ] || exit 0; \
+.PHONY: configure-fileutils maybe-configure-fileutils
+maybe-configure-fileutils:
+configure-fileutils:
+ @test ! -f fileutils/Makefile || exit 0; \
+ [ -d fileutils ] || mkdir fileutils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in bash" ; \
- (cd bash && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in fileutils; \
+ cd fileutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/fileutils"; \
+ libsrcdir="$$s/fileutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/fileutils"; \
+ libsrcdir="$$s/fileutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-fileutils maybe-all-fileutils
+maybe-all-fileutils:
+all-fileutils: configure-fileutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-fileutils maybe-check-fileutils
+maybe-check-fileutils:
-.PHONY: maybe-TAGS-bfd TAGS-bfd
-maybe-TAGS-bfd:
+check-fileutils:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check)
-TAGS-bfd: \
- configure-bfd
- @[ -f ./bfd/Makefile ] || exit 0; \
+
+.PHONY: install-fileutils maybe-install-fileutils
+maybe-install-fileutils:
+
+install-fileutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-fileutils info-fileutils
+maybe-info-fileutils:
+
+info-fileutils: \
+ configure-fileutils
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in bfd" ; \
- (cd bfd && \
+ echo "Doing info in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-opcodes TAGS-opcodes
-maybe-TAGS-opcodes:
+.PHONY: maybe-dvi-fileutils dvi-fileutils
+maybe-dvi-fileutils:
-TAGS-opcodes: \
- configure-opcodes
- @[ -f ./opcodes/Makefile ] || exit 0; \
+dvi-fileutils: \
+ configure-fileutils
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in opcodes" ; \
- (cd opcodes && \
+ echo "Doing dvi in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-binutils TAGS-binutils
-maybe-TAGS-binutils:
+.PHONY: maybe-TAGS-fileutils TAGS-fileutils
+maybe-TAGS-fileutils:
-TAGS-binutils: \
- configure-binutils
- @[ -f ./binutils/Makefile ] || exit 0; \
+TAGS-fileutils: \
+ configure-fileutils
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in binutils" ; \
- (cd binutils && \
+ echo "Doing TAGS in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -4774,201 +6108,247 @@ TAGS-binutils: \
|| exit 1
-.PHONY: maybe-TAGS-bison TAGS-bison
-maybe-TAGS-bison:
+.PHONY: maybe-install-info-fileutils install-info-fileutils
+maybe-install-info-fileutils:
-TAGS-bison: \
- configure-bison
- @[ -f ./bison/Makefile ] || exit 0; \
+install-info-fileutils: \
+ configure-fileutils \
+ info-fileutils
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in bison" ; \
- (cd bison && \
+ echo "Doing install-info in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-byacc TAGS-byacc
-maybe-TAGS-byacc:
+.PHONY: maybe-installcheck-fileutils installcheck-fileutils
+maybe-installcheck-fileutils:
-TAGS-byacc: \
- configure-byacc
- @[ -f ./byacc/Makefile ] || exit 0; \
+installcheck-fileutils: \
+ configure-fileutils
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in byacc" ; \
- (cd byacc && \
+ echo "Doing installcheck in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-bzip2 TAGS-bzip2
-maybe-TAGS-bzip2:
+.PHONY: maybe-mostlyclean-fileutils mostlyclean-fileutils
+maybe-mostlyclean-fileutils:
-TAGS-bzip2: \
- configure-bzip2
- @[ -f ./bzip2/Makefile ] || exit 0; \
+mostlyclean-fileutils:
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in bzip2" ; \
- (cd bzip2 && \
+ echo "Doing mostlyclean in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-dejagnu TAGS-dejagnu
-maybe-TAGS-dejagnu:
+.PHONY: maybe-clean-fileutils clean-fileutils
+maybe-clean-fileutils:
-TAGS-dejagnu: \
- configure-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
+clean-fileutils:
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in dejagnu" ; \
- (cd dejagnu && \
+ echo "Doing clean in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-diff TAGS-diff
-maybe-TAGS-diff:
+.PHONY: maybe-distclean-fileutils distclean-fileutils
+maybe-distclean-fileutils:
-TAGS-diff: \
- configure-diff
- @[ -f ./diff/Makefile ] || exit 0; \
+distclean-fileutils:
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in diff" ; \
- (cd diff && \
+ echo "Doing distclean in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-dosutils TAGS-dosutils
-maybe-TAGS-dosutils:
+.PHONY: maybe-maintainer-clean-fileutils maintainer-clean-fileutils
+maybe-maintainer-clean-fileutils:
-TAGS-dosutils: \
- configure-dosutils
- @[ -f ./dosutils/Makefile ] || exit 0; \
+maintainer-clean-fileutils:
+ @[ -f ./fileutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in dosutils" ; \
- (cd dosutils && \
+ echo "Doing maintainer-clean in fileutils" ; \
+ (cd fileutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-etc TAGS-etc
-maybe-TAGS-etc:
-TAGS-etc: \
- configure-etc
- @[ -f ./etc/Makefile ] || exit 0; \
+.PHONY: configure-findutils maybe-configure-findutils
+maybe-configure-findutils:
+configure-findutils:
+ @test ! -f findutils/Makefile || exit 0; \
+ [ -d findutils ] || mkdir findutils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in etc" ; \
- (cd etc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in findutils; \
+ cd findutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/findutils"; \
+ libsrcdir="$$s/findutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/findutils"; \
+ libsrcdir="$$s/findutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-findutils maybe-all-findutils
+maybe-all-findutils:
+all-findutils: configure-findutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd findutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-fastjar TAGS-fastjar
-maybe-TAGS-fastjar:
+.PHONY: check-findutils maybe-check-findutils
+maybe-check-findutils:
-TAGS-fastjar: \
- configure-fastjar
- @[ -f ./fastjar/Makefile ] || exit 0; \
+check-findutils:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-findutils maybe-install-findutils
+maybe-install-findutils:
+
+install-findutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-findutils info-findutils
+maybe-info-findutils:
+
+info-findutils: \
+ configure-findutils
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in fastjar" ; \
- (cd fastjar && \
+ echo "Doing info in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-fileutils TAGS-fileutils
-maybe-TAGS-fileutils:
+.PHONY: maybe-dvi-findutils dvi-findutils
+maybe-dvi-findutils:
-TAGS-fileutils: \
- configure-fileutils
- @[ -f ./fileutils/Makefile ] || exit 0; \
+dvi-findutils: \
+ configure-findutils
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in fileutils" ; \
- (cd fileutils && \
+ echo "Doing dvi in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
@@ -4994,262 +6374,264 @@ TAGS-findutils: \
|| exit 1
-.PHONY: maybe-TAGS-find TAGS-find
-maybe-TAGS-find:
+.PHONY: maybe-install-info-findutils install-info-findutils
+maybe-install-info-findutils:
-TAGS-find: \
- configure-find
- @[ -f ./find/Makefile ] || exit 0; \
+install-info-findutils: \
+ configure-findutils \
+ info-findutils
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in find" ; \
- (cd find && \
+ echo "Doing install-info in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-flex TAGS-flex
-maybe-TAGS-flex:
+.PHONY: maybe-installcheck-findutils installcheck-findutils
+maybe-installcheck-findutils:
-TAGS-flex: \
- configure-flex
- @[ -f ./flex/Makefile ] || exit 0; \
+installcheck-findutils: \
+ configure-findutils
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in flex" ; \
- (cd flex && \
+ echo "Doing installcheck in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-gas TAGS-gas
-maybe-TAGS-gas:
+.PHONY: maybe-mostlyclean-findutils mostlyclean-findutils
+maybe-mostlyclean-findutils:
-TAGS-gas: \
- configure-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+mostlyclean-findutils:
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gas" ; \
- (cd gas && \
+ echo "Doing mostlyclean in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-gawk TAGS-gawk
-maybe-TAGS-gawk:
+.PHONY: maybe-clean-findutils clean-findutils
+maybe-clean-findutils:
-TAGS-gawk: \
- configure-gawk
- @[ -f ./gawk/Makefile ] || exit 0; \
+clean-findutils:
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gawk" ; \
- (cd gawk && \
+ echo "Doing clean in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-gettext TAGS-gettext
-maybe-TAGS-gettext:
+.PHONY: maybe-distclean-findutils distclean-findutils
+maybe-distclean-findutils:
-TAGS-gettext: \
- configure-gettext
- @[ -f ./gettext/Makefile ] || exit 0; \
+distclean-findutils:
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gettext" ; \
- (cd gettext && \
+ echo "Doing distclean in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv
-maybe-TAGS-gnuserv:
+.PHONY: maybe-maintainer-clean-findutils maintainer-clean-findutils
+maybe-maintainer-clean-findutils:
-TAGS-gnuserv: \
- configure-gnuserv
- @[ -f ./gnuserv/Makefile ] || exit 0; \
+maintainer-clean-findutils:
+ @[ -f ./findutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gnuserv" ; \
- (cd gnuserv && \
+ echo "Doing maintainer-clean in findutils" ; \
+ (cd findutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-gprof TAGS-gprof
-maybe-TAGS-gprof:
-TAGS-gprof: \
- configure-gprof
- @[ -f ./gprof/Makefile ] || exit 0; \
+.PHONY: configure-find maybe-configure-find
+maybe-configure-find:
+configure-find:
+ @test ! -f find/Makefile || exit 0; \
+ [ -d find ] || mkdir find; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in gprof" ; \
- (cd gprof && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in find; \
+ cd find || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/find"; \
+ libsrcdir="$$s/find";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/find"; \
+ libsrcdir="$$s/find";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-find maybe-all-find
+maybe-all-find:
+all-find: configure-find
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd find && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-gzip TAGS-gzip
-maybe-TAGS-gzip:
+.PHONY: check-find maybe-check-find
+maybe-check-find:
-TAGS-gzip: \
- configure-gzip
- @[ -f ./gzip/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-find:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in gzip" ; \
- (cd gzip && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd find && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-TAGS-hello TAGS-hello
-maybe-TAGS-hello:
+.PHONY: install-find maybe-install-find
+maybe-install-find:
-TAGS-hello: \
- configure-hello
- @[ -f ./hello/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-find: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in hello" ; \
- (cd hello && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd find && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-TAGS-indent TAGS-indent
-maybe-TAGS-indent:
+# Other targets (info, dvi, etc.)
-TAGS-indent: \
- configure-indent
- @[ -f ./indent/Makefile ] || exit 0; \
+.PHONY: maybe-info-find info-find
+maybe-info-find:
+
+info-find: \
+ configure-find
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in indent" ; \
- (cd indent && \
+ echo "Doing info in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-intl TAGS-intl
-maybe-TAGS-intl:
+.PHONY: maybe-dvi-find dvi-find
+maybe-dvi-find:
-TAGS-intl: \
- configure-intl
- @[ -f ./intl/Makefile ] || exit 0; \
+dvi-find: \
+ configure-find
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in intl" ; \
- (cd intl && \
+ echo "Doing dvi in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-tcl TAGS-tcl
-maybe-TAGS-tcl:
+.PHONY: maybe-TAGS-find TAGS-find
+maybe-TAGS-find:
-TAGS-tcl: \
- configure-tcl
- @[ -f ./tcl/Makefile ] || exit 0; \
+TAGS-find: \
+ configure-find
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in tcl" ; \
- (cd tcl && \
+ echo "Doing TAGS in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -5258,240 +6640,267 @@ TAGS-tcl: \
|| exit 1
-.PHONY: maybe-TAGS-itcl TAGS-itcl
-maybe-TAGS-itcl:
+.PHONY: maybe-install-info-find install-info-find
+maybe-install-info-find:
-TAGS-itcl: \
- configure-itcl
- @[ -f ./itcl/Makefile ] || exit 0; \
+install-info-find: \
+ configure-find \
+ info-find
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in itcl" ; \
- (cd itcl && \
+ echo "Doing install-info in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-ld TAGS-ld
-maybe-TAGS-ld:
+.PHONY: maybe-installcheck-find installcheck-find
+maybe-installcheck-find:
-TAGS-ld: \
- configure-ld
- @[ -f ./ld/Makefile ] || exit 0; \
+installcheck-find: \
+ configure-find
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in ld" ; \
- (cd ld && \
+ echo "Doing installcheck in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-libgui TAGS-libgui
-maybe-TAGS-libgui:
+.PHONY: maybe-mostlyclean-find mostlyclean-find
+maybe-mostlyclean-find:
-TAGS-libgui: \
- configure-libgui
- @[ -f ./libgui/Makefile ] || exit 0; \
+mostlyclean-find:
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in libgui" ; \
- (cd libgui && \
+ echo "Doing mostlyclean in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-libiberty TAGS-libiberty
-maybe-TAGS-libiberty:
+.PHONY: maybe-clean-find clean-find
+maybe-clean-find:
-TAGS-libiberty: \
- configure-libiberty
- @[ -f ./libiberty/Makefile ] || exit 0; \
+clean-find:
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in libiberty" ; \
- (cd libiberty && \
+ echo "Doing clean in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-libtool TAGS-libtool
-maybe-TAGS-libtool:
+.PHONY: maybe-distclean-find distclean-find
+maybe-distclean-find:
-TAGS-libtool: \
- configure-libtool
- @[ -f ./libtool/Makefile ] || exit 0; \
+distclean-find:
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in libtool" ; \
- (cd libtool && \
+ echo "Doing distclean in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-m4 TAGS-m4
-maybe-TAGS-m4:
+.PHONY: maybe-maintainer-clean-find maintainer-clean-find
+maybe-maintainer-clean-find:
-TAGS-m4: \
- configure-m4
- @[ -f ./m4/Makefile ] || exit 0; \
+maintainer-clean-find:
+ @[ -f ./find/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in m4" ; \
- (cd m4 && \
+ echo "Doing maintainer-clean in find" ; \
+ (cd find && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-make TAGS-make
-maybe-TAGS-make:
-TAGS-make: \
- configure-make
- @[ -f ./make/Makefile ] || exit 0; \
+.PHONY: configure-flex maybe-configure-flex
+maybe-configure-flex:
+configure-flex:
+ @test ! -f flex/Makefile || exit 0; \
+ [ -d flex ] || mkdir flex; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in make" ; \
- (cd make && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in flex; \
+ cd flex || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/flex"; \
+ libsrcdir="$$s/flex";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/flex"; \
+ libsrcdir="$$s/flex";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-flex maybe-all-flex
+maybe-all-flex:
+all-flex: configure-flex
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd flex && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-mmalloc TAGS-mmalloc
-maybe-TAGS-mmalloc:
+.PHONY: check-flex maybe-check-flex
+maybe-check-flex:
-TAGS-mmalloc: \
- configure-mmalloc
- @[ -f ./mmalloc/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+# This module is only tested in a native toolchain.
+check-flex:
+ @if [ '$(host)' = '$(target)' ] ; then \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd flex && $(MAKE) $(FLAGS_TO_PASS) check); \
+ fi
+
+
+.PHONY: install-flex maybe-install-flex
+maybe-install-flex:
+
+install-flex: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in mmalloc" ; \
- (cd mmalloc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd flex && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-TAGS-patch TAGS-patch
-maybe-TAGS-patch:
+# Other targets (info, dvi, etc.)
-TAGS-patch: \
- configure-patch
- @[ -f ./patch/Makefile ] || exit 0; \
+.PHONY: maybe-info-flex info-flex
+maybe-info-flex:
+
+info-flex: \
+ configure-flex
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in patch" ; \
- (cd patch && \
+ echo "Doing info in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-perl TAGS-perl
-maybe-TAGS-perl:
+.PHONY: maybe-dvi-flex dvi-flex
+maybe-dvi-flex:
-TAGS-perl: \
- configure-perl
- @[ -f ./perl/Makefile ] || exit 0; \
+dvi-flex: \
+ configure-flex
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in perl" ; \
- (cd perl && \
+ echo "Doing dvi in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-prms TAGS-prms
-maybe-TAGS-prms:
+.PHONY: maybe-TAGS-flex TAGS-flex
+maybe-TAGS-flex:
-TAGS-prms: \
- configure-prms
- @[ -f ./prms/Makefile ] || exit 0; \
+TAGS-flex: \
+ configure-flex
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in prms" ; \
- (cd prms && \
+ echo "Doing TAGS in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -5500,262 +6909,264 @@ TAGS-prms: \
|| exit 1
-.PHONY: maybe-TAGS-rcs TAGS-rcs
-maybe-TAGS-rcs:
+.PHONY: maybe-install-info-flex install-info-flex
+maybe-install-info-flex:
-TAGS-rcs: \
- configure-rcs
- @[ -f ./rcs/Makefile ] || exit 0; \
+install-info-flex: \
+ configure-flex \
+ info-flex
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in rcs" ; \
- (cd rcs && \
+ echo "Doing install-info in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-readline TAGS-readline
-maybe-TAGS-readline:
+.PHONY: maybe-installcheck-flex installcheck-flex
+maybe-installcheck-flex:
-TAGS-readline: \
- configure-readline
- @[ -f ./readline/Makefile ] || exit 0; \
+installcheck-flex: \
+ configure-flex
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in readline" ; \
- (cd readline && \
+ echo "Doing installcheck in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-release TAGS-release
-maybe-TAGS-release:
+.PHONY: maybe-mostlyclean-flex mostlyclean-flex
+maybe-mostlyclean-flex:
-TAGS-release: \
- configure-release
- @[ -f ./release/Makefile ] || exit 0; \
+mostlyclean-flex:
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in release" ; \
- (cd release && \
+ echo "Doing mostlyclean in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-recode TAGS-recode
-maybe-TAGS-recode:
+.PHONY: maybe-clean-flex clean-flex
+maybe-clean-flex:
-TAGS-recode: \
- configure-recode
- @[ -f ./recode/Makefile ] || exit 0; \
+clean-flex:
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in recode" ; \
- (cd recode && \
+ echo "Doing clean in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-sed TAGS-sed
-maybe-TAGS-sed:
+.PHONY: maybe-distclean-flex distclean-flex
+maybe-distclean-flex:
-TAGS-sed: \
- configure-sed
- @[ -f ./sed/Makefile ] || exit 0; \
+distclean-flex:
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in sed" ; \
- (cd sed && \
+ echo "Doing distclean in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-send-pr TAGS-send-pr
-maybe-TAGS-send-pr:
+.PHONY: maybe-maintainer-clean-flex maintainer-clean-flex
+maybe-maintainer-clean-flex:
-TAGS-send-pr: \
- configure-send-pr
- @[ -f ./send-pr/Makefile ] || exit 0; \
+maintainer-clean-flex:
+ @[ -f ./flex/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in send-pr" ; \
- (cd send-pr && \
+ echo "Doing maintainer-clean in flex" ; \
+ (cd flex && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-shellutils TAGS-shellutils
-maybe-TAGS-shellutils:
-TAGS-shellutils: \
- configure-shellutils
- @[ -f ./shellutils/Makefile ] || exit 0; \
+.PHONY: configure-gas maybe-configure-gas
+maybe-configure-gas:
+configure-gas:
+ @test ! -f gas/Makefile || exit 0; \
+ [ -d gas ] || mkdir gas; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in shellutils" ; \
- (cd shellutils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gas; \
+ cd gas || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gas"; \
+ libsrcdir="$$s/gas";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gas"; \
+ libsrcdir="$$s/gas";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gas maybe-all-gas
+maybe-all-gas:
+all-gas: configure-gas
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gas && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-sid TAGS-sid
-maybe-TAGS-sid:
+.PHONY: check-gas maybe-check-gas
+maybe-check-gas:
-TAGS-sid: \
- configure-sid
- @[ -f ./sid/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-gas:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in sid" ; \
- (cd sid && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd gas && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-TAGS-sim TAGS-sim
-maybe-TAGS-sim:
+.PHONY: install-gas maybe-install-gas
+maybe-install-gas:
-TAGS-sim: \
- configure-sim
- @[ -f ./sim/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-gas: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in sim" ; \
- (cd sim && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd gas && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-TAGS-tar TAGS-tar
-maybe-TAGS-tar:
+# Other targets (info, dvi, etc.)
-TAGS-tar: \
- configure-tar
- @[ -f ./tar/Makefile ] || exit 0; \
+.PHONY: maybe-info-gas info-gas
+maybe-info-gas:
+
+info-gas: \
+ configure-gas
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in tar" ; \
- (cd tar && \
+ echo "Doing info in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-texinfo TAGS-texinfo
-maybe-TAGS-texinfo:
+.PHONY: maybe-dvi-gas dvi-gas
+maybe-dvi-gas:
-TAGS-texinfo: \
- configure-texinfo
- @[ -f ./texinfo/Makefile ] || exit 0; \
+dvi-gas: \
+ configure-gas
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in texinfo" ; \
- (cd texinfo && \
+ echo "Doing dvi in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-textutils TAGS-textutils
-maybe-TAGS-textutils:
+.PHONY: maybe-TAGS-gas TAGS-gas
+maybe-TAGS-gas:
-TAGS-textutils: \
- configure-textutils
- @[ -f ./textutils/Makefile ] || exit 0; \
+TAGS-gas: \
+ configure-gas
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in textutils" ; \
- (cd textutils && \
+ echo "Doing TAGS in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -5764,218 +7175,264 @@ TAGS-textutils: \
|| exit 1
-.PHONY: maybe-TAGS-time TAGS-time
-maybe-TAGS-time:
+.PHONY: maybe-install-info-gas install-info-gas
+maybe-install-info-gas:
-TAGS-time: \
- configure-time
- @[ -f ./time/Makefile ] || exit 0; \
+install-info-gas: \
+ configure-gas \
+ info-gas
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in time" ; \
- (cd time && \
+ echo "Doing install-info in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-uudecode TAGS-uudecode
-maybe-TAGS-uudecode:
+.PHONY: maybe-installcheck-gas installcheck-gas
+maybe-installcheck-gas:
-TAGS-uudecode: \
- configure-uudecode
- @[ -f ./uudecode/Makefile ] || exit 0; \
+installcheck-gas: \
+ configure-gas
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in uudecode" ; \
- (cd uudecode && \
+ echo "Doing installcheck in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-wdiff TAGS-wdiff
-maybe-TAGS-wdiff:
+.PHONY: maybe-mostlyclean-gas mostlyclean-gas
+maybe-mostlyclean-gas:
-TAGS-wdiff: \
- configure-wdiff
- @[ -f ./wdiff/Makefile ] || exit 0; \
+mostlyclean-gas:
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in wdiff" ; \
- (cd wdiff && \
+ echo "Doing mostlyclean in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-zip TAGS-zip
-maybe-TAGS-zip:
+.PHONY: maybe-clean-gas clean-gas
+maybe-clean-gas:
-TAGS-zip: \
- configure-zip
- @[ -f ./zip/Makefile ] || exit 0; \
+clean-gas:
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in zip" ; \
- (cd zip && \
+ echo "Doing clean in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-zlib TAGS-zlib
-maybe-TAGS-zlib:
+.PHONY: maybe-distclean-gas distclean-gas
+maybe-distclean-gas:
-TAGS-zlib: \
- configure-zlib
- @[ -f ./zlib/Makefile ] || exit 0; \
+distclean-gas:
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in zlib" ; \
- (cd zlib && \
+ echo "Doing distclean in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-gdb TAGS-gdb
-maybe-TAGS-gdb:
+.PHONY: maybe-maintainer-clean-gas maintainer-clean-gas
+maybe-maintainer-clean-gas:
-TAGS-gdb: \
- configure-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+maintainer-clean-gas:
+ @[ -f ./gas/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in gdb" ; \
- (cd gdb && \
+ echo "Doing maintainer-clean in gas" ; \
+ (cd gas && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-expect TAGS-expect
-maybe-TAGS-expect:
-TAGS-expect: \
- configure-expect
- @[ -f ./expect/Makefile ] || exit 0; \
+.PHONY: configure-gawk maybe-configure-gawk
+maybe-configure-gawk:
+configure-gawk:
+ @test ! -f gawk/Makefile || exit 0; \
+ [ -d gawk ] || mkdir gawk; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing TAGS in expect" ; \
- (cd expect && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gawk; \
+ cd gawk || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gawk"; \
+ libsrcdir="$$s/gawk";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gawk"; \
+ libsrcdir="$$s/gawk";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gawk maybe-all-gawk
+maybe-all-gawk:
+all-gawk: configure-gawk
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-guile TAGS-guile
-maybe-TAGS-guile:
+.PHONY: check-gawk maybe-check-gawk
+maybe-check-gawk:
-TAGS-guile: \
- configure-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+check-gawk:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-gawk maybe-install-gawk
+maybe-install-gawk:
+
+install-gawk: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-gawk info-gawk
+maybe-info-gawk:
+
+info-gawk: \
+ configure-gawk
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in guile" ; \
- (cd guile && \
+ echo "Doing info in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-tk TAGS-tk
-maybe-TAGS-tk:
+.PHONY: maybe-dvi-gawk dvi-gawk
+maybe-dvi-gawk:
-TAGS-tk: \
- configure-tk
- @[ -f ./tk/Makefile ] || exit 0; \
+dvi-gawk: \
+ configure-gawk
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in tk" ; \
- (cd tk && \
+ echo "Doing dvi in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-tix TAGS-tix
-maybe-TAGS-tix:
+.PHONY: maybe-TAGS-gawk TAGS-gawk
+maybe-TAGS-gawk:
-TAGS-tix: \
- configure-tix
- @[ -f ./tix/Makefile ] || exit 0; \
+TAGS-gawk: \
+ configure-gawk
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in tix" ; \
- (cd tix && \
+ echo "Doing TAGS in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -5984,265 +7441,264 @@ TAGS-tix: \
|| exit 1
-.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap
-maybe-TAGS-libtermcap:
+.PHONY: maybe-install-info-gawk install-info-gawk
+maybe-install-info-gawk:
-TAGS-libtermcap: \
- configure-libtermcap
- @[ -f ./libtermcap/Makefile ] || exit 0; \
+install-info-gawk: \
+ configure-gawk \
+ info-gawk
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in libtermcap" ; \
- (cd libtermcap && \
+ echo "Doing install-info in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-utils TAGS-utils
-maybe-TAGS-utils:
+.PHONY: maybe-installcheck-gawk installcheck-gawk
+maybe-installcheck-gawk:
-TAGS-utils: \
- configure-utils
- @[ -f ./utils/Makefile ] || exit 0; \
+installcheck-gawk: \
+ configure-gawk
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing TAGS in utils" ; \
- (cd utils && \
+ echo "Doing installcheck in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
+.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk
+maybe-mostlyclean-gawk:
-# Target modules.
-
-.PHONY: maybe-TAGS-target-libstdc++-v3 TAGS-target-libstdc++-v3
-maybe-TAGS-target-libstdc++-v3:
-
-TAGS-target-libstdc++-v3: \
- configure-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+mostlyclean-gawk:
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing mostlyclean in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-target-newlib TAGS-target-newlib
-maybe-TAGS-target-newlib:
+.PHONY: maybe-clean-gawk clean-gawk
+maybe-clean-gawk:
-TAGS-target-newlib: \
- configure-target-newlib
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+clean-gawk:
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing clean in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-target-libf2c TAGS-target-libf2c
-maybe-TAGS-target-libf2c:
+.PHONY: maybe-distclean-gawk distclean-gawk
+maybe-distclean-gawk:
-TAGS-target-libf2c: \
- configure-target-libf2c
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+distclean-gawk:
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing distclean in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-target-libobjc TAGS-target-libobjc
-maybe-TAGS-target-libobjc:
+.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk
+maybe-maintainer-clean-gawk:
-TAGS-target-libobjc: \
- configure-target-libobjc
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+maintainer-clean-gawk:
+ @[ -f ./gawk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ echo "Doing maintainer-clean in gawk" ; \
+ (cd gawk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-target-libtermcap TAGS-target-libtermcap
-maybe-TAGS-target-libtermcap:
-TAGS-target-libtermcap: \
- configure-target-libtermcap
- @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
+.PHONY: configure-gettext maybe-configure-gettext
+maybe-configure-gettext:
+configure-gettext:
+ @test ! -f gettext/Makefile || exit 0; \
+ [ -d gettext ] || mkdir gettext; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libtermcap && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gettext; \
+ cd gettext || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gettext"; \
+ libsrcdir="$$s/gettext";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gettext"; \
+ libsrcdir="$$s/gettext";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gettext maybe-all-gettext
+maybe-all-gettext:
+all-gettext: configure-gettext
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-TAGS-target-winsup TAGS-target-winsup
-maybe-TAGS-target-winsup:
+.PHONY: check-gettext maybe-check-gettext
+maybe-check-gettext:
-TAGS-target-winsup: \
- configure-target-winsup
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-gettext:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-TAGS-target-libgloss TAGS-target-libgloss
-maybe-TAGS-target-libgloss:
+.PHONY: install-gettext maybe-install-gettext
+maybe-install-gettext:
-TAGS-target-libgloss: \
- configure-target-libgloss
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-gettext: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
- || exit 1
+ (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-TAGS-target-libiberty TAGS-target-libiberty
-maybe-TAGS-target-libiberty:
+# Other targets (info, dvi, etc.)
-TAGS-target-libiberty: \
- configure-target-libiberty
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-gettext info-gettext
+maybe-info-gettext:
+
+info-gettext: \
+ configure-gettext
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing info in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ info) \
|| exit 1
-.PHONY: maybe-TAGS-target-gperf TAGS-target-gperf
-maybe-TAGS-target-gperf:
+.PHONY: maybe-dvi-gettext dvi-gettext
+maybe-dvi-gettext:
-TAGS-target-gperf: \
- configure-target-gperf
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+dvi-gettext: \
+ configure-gettext
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing dvi in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ dvi) \
|| exit 1
-.PHONY: maybe-TAGS-target-examples TAGS-target-examples
-maybe-TAGS-target-examples:
+.PHONY: maybe-TAGS-gettext TAGS-gettext
+maybe-TAGS-gettext:
-TAGS-target-examples: \
- configure-target-examples
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+TAGS-gettext: \
+ configure-gettext
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing TAGS in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -6251,359 +7707,287 @@ TAGS-target-examples: \
|| exit 1
-.PHONY: maybe-TAGS-target-libffi TAGS-target-libffi
-maybe-TAGS-target-libffi:
+.PHONY: maybe-install-info-gettext install-info-gettext
+maybe-install-info-gettext:
-TAGS-target-libffi: \
- configure-target-libffi
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+install-info-gettext: \
+ configure-gettext \
+ info-gettext
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing install-info in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ install-info) \
|| exit 1
-.PHONY: maybe-TAGS-target-libjava TAGS-target-libjava
-maybe-TAGS-target-libjava:
+.PHONY: maybe-installcheck-gettext installcheck-gettext
+maybe-installcheck-gettext:
-TAGS-target-libjava: \
- configure-target-libjava
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+installcheck-gettext: \
+ configure-gettext
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing installcheck in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-TAGS-target-zlib TAGS-target-zlib
-maybe-TAGS-target-zlib:
+.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext
+maybe-mostlyclean-gettext:
-TAGS-target-zlib: \
- configure-target-zlib
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+mostlyclean-gettext:
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing mostlyclean in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc
-maybe-TAGS-target-boehm-gc:
+.PHONY: maybe-clean-gettext clean-gettext
+maybe-clean-gettext:
-TAGS-target-boehm-gc: \
- configure-target-boehm-gc
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+clean-gettext:
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing clean in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ clean) \
|| exit 1
-.PHONY: maybe-TAGS-target-qthreads TAGS-target-qthreads
-maybe-TAGS-target-qthreads:
+.PHONY: maybe-distclean-gettext distclean-gettext
+maybe-distclean-gettext:
-TAGS-target-qthreads: \
- configure-target-qthreads
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+distclean-gettext:
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing distclean in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ distclean) \
|| exit 1
-.PHONY: maybe-TAGS-target-rda TAGS-target-rda
-maybe-TAGS-target-rda:
+.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext
+maybe-maintainer-clean-gettext:
-TAGS-target-rda: \
- configure-target-rda
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+maintainer-clean-gettext:
+ @[ -f ./gettext/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ echo "Doing maintainer-clean in gettext" ; \
+ (cd gettext && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-TAGS-target-libada TAGS-target-libada
-maybe-TAGS-target-libada:
-TAGS-target-libada: \
- configure-target-libada
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+.PHONY: configure-gnuserv maybe-configure-gnuserv
+maybe-configure-gnuserv:
+configure-gnuserv:
+ @test ! -f gnuserv/Makefile || exit 0; \
+ [ -d gnuserv ] || mkdir gnuserv; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libada && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- TAGS) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gnuserv; \
+ cd gnuserv || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gnuserv"; \
+ libsrcdir="$$s/gnuserv";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \
+ libsrcdir="$$s/gnuserv";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gnuserv maybe-all-gnuserv
+maybe-all-gnuserv:
+all-gnuserv: configure-gnuserv
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all)
+.PHONY: check-gnuserv maybe-check-gnuserv
+maybe-check-gnuserv:
-.PHONY: do-install-info
-do-install-info: install-info-host install-info-target
+check-gnuserv:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: install-info-host
-install-info-host: maybe-install-info-gcc \
- maybe-install-info-ash \
- maybe-install-info-autoconf \
- maybe-install-info-automake \
- maybe-install-info-bash \
- maybe-install-info-bfd \
- maybe-install-info-opcodes \
- maybe-install-info-binutils \
- maybe-install-info-bison \
- maybe-install-info-byacc \
- maybe-install-info-bzip2 \
- maybe-install-info-dejagnu \
- maybe-install-info-diff \
- maybe-install-info-dosutils \
- maybe-install-info-etc \
- maybe-install-info-fastjar \
- maybe-install-info-fileutils \
- maybe-install-info-findutils \
- maybe-install-info-find \
- maybe-install-info-flex \
- maybe-install-info-gas \
- maybe-install-info-gawk \
- maybe-install-info-gettext \
- maybe-install-info-gnuserv \
- maybe-install-info-gprof \
- maybe-install-info-gzip \
- maybe-install-info-hello \
- maybe-install-info-indent \
- maybe-install-info-intl \
- maybe-install-info-tcl \
- maybe-install-info-itcl \
- maybe-install-info-ld \
- maybe-install-info-libgui \
- maybe-install-info-libiberty \
- maybe-install-info-libtool \
- maybe-install-info-m4 \
- maybe-install-info-make \
- maybe-install-info-mmalloc \
- maybe-install-info-patch \
- maybe-install-info-perl \
- maybe-install-info-prms \
- maybe-install-info-rcs \
- maybe-install-info-readline \
- maybe-install-info-release \
- maybe-install-info-recode \
- maybe-install-info-sed \
- maybe-install-info-send-pr \
- maybe-install-info-shellutils \
- maybe-install-info-sid \
- maybe-install-info-sim \
- maybe-install-info-tar \
- maybe-install-info-texinfo \
- maybe-install-info-textutils \
- maybe-install-info-time \
- maybe-install-info-uudecode \
- maybe-install-info-wdiff \
- maybe-install-info-zip \
- maybe-install-info-zlib \
- maybe-install-info-gdb \
- maybe-install-info-expect \
- maybe-install-info-guile \
- maybe-install-info-tk \
- maybe-install-info-tix \
- maybe-install-info-libtermcap \
- maybe-install-info-utils
-.PHONY: install-info-target
-install-info-target: \
- maybe-install-info-target-libstdc++-v3 \
- maybe-install-info-target-newlib \
- maybe-install-info-target-libf2c \
- maybe-install-info-target-libobjc \
- maybe-install-info-target-libtermcap \
- maybe-install-info-target-winsup \
- maybe-install-info-target-libgloss \
- maybe-install-info-target-libiberty \
- maybe-install-info-target-gperf \
- maybe-install-info-target-examples \
- maybe-install-info-target-libffi \
- maybe-install-info-target-libjava \
- maybe-install-info-target-zlib \
- maybe-install-info-target-boehm-gc \
- maybe-install-info-target-qthreads \
- maybe-install-info-target-rda \
- maybe-install-info-target-libada
+.PHONY: install-gnuserv maybe-install-gnuserv
+maybe-install-gnuserv:
-# GCC, the eternal special case
-.PHONY: maybe-install-info-gcc install-info-gcc
-maybe-install-info-gcc:
-install-info-gcc: \
- configure-gcc \
- info-gcc
- @[ -f ./gcc/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-gnuserv: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in gcc" ; \
- (cd gcc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
- || exit 1
+ (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install)
-# Host modules.
-.PHONY: maybe-install-info-ash install-info-ash
-maybe-install-info-ash:
+# Other targets (info, dvi, etc.)
-install-info-ash: \
- configure-ash \
- info-ash
- @[ -f ./ash/Makefile ] || exit 0; \
+.PHONY: maybe-info-gnuserv info-gnuserv
+maybe-info-gnuserv:
+
+info-gnuserv: \
+ configure-gnuserv
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in ash" ; \
- (cd ash && \
+ echo "Doing info in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-autoconf install-info-autoconf
-maybe-install-info-autoconf:
+.PHONY: maybe-dvi-gnuserv dvi-gnuserv
+maybe-dvi-gnuserv:
-install-info-autoconf: \
- configure-autoconf \
- info-autoconf
- @[ -f ./autoconf/Makefile ] || exit 0; \
+dvi-gnuserv: \
+ configure-gnuserv
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in autoconf" ; \
- (cd autoconf && \
+ echo "Doing dvi in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-automake install-info-automake
-maybe-install-info-automake:
+.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv
+maybe-TAGS-gnuserv:
-install-info-automake: \
- configure-automake \
- info-automake
- @[ -f ./automake/Makefile ] || exit 0; \
+TAGS-gnuserv: \
+ configure-gnuserv
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in automake" ; \
- (cd automake && \
+ echo "Doing TAGS in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-bash install-info-bash
-maybe-install-info-bash:
+.PHONY: maybe-install-info-gnuserv install-info-gnuserv
+maybe-install-info-gnuserv:
-install-info-bash: \
- configure-bash \
- info-bash
- @[ -f ./bash/Makefile ] || exit 0; \
+install-info-gnuserv: \
+ configure-gnuserv \
+ info-gnuserv
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in bash" ; \
- (cd bash && \
+ echo "Doing install-info in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -6612,251 +7996,264 @@ install-info-bash: \
|| exit 1
-.PHONY: maybe-install-info-bfd install-info-bfd
-maybe-install-info-bfd:
+.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv
+maybe-installcheck-gnuserv:
-install-info-bfd: \
- configure-bfd \
- info-bfd
- @[ -f ./bfd/Makefile ] || exit 0; \
+installcheck-gnuserv: \
+ configure-gnuserv
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in bfd" ; \
- (cd bfd && \
+ echo "Doing installcheck in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-opcodes install-info-opcodes
-maybe-install-info-opcodes:
+.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv
+maybe-mostlyclean-gnuserv:
-install-info-opcodes: \
- configure-opcodes \
- info-opcodes
- @[ -f ./opcodes/Makefile ] || exit 0; \
+mostlyclean-gnuserv:
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in opcodes" ; \
- (cd opcodes && \
+ echo "Doing mostlyclean in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-binutils install-info-binutils
-maybe-install-info-binutils:
+.PHONY: maybe-clean-gnuserv clean-gnuserv
+maybe-clean-gnuserv:
-install-info-binutils: \
- configure-binutils \
- info-binutils
- @[ -f ./binutils/Makefile ] || exit 0; \
+clean-gnuserv:
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in binutils" ; \
- (cd binutils && \
+ echo "Doing clean in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-bison install-info-bison
-maybe-install-info-bison:
+.PHONY: maybe-distclean-gnuserv distclean-gnuserv
+maybe-distclean-gnuserv:
-install-info-bison: \
- configure-bison \
- info-bison
- @[ -f ./bison/Makefile ] || exit 0; \
+distclean-gnuserv:
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in bison" ; \
- (cd bison && \
+ echo "Doing distclean in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-byacc install-info-byacc
-maybe-install-info-byacc:
+.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv
+maybe-maintainer-clean-gnuserv:
-install-info-byacc: \
- configure-byacc \
- info-byacc
- @[ -f ./byacc/Makefile ] || exit 0; \
+maintainer-clean-gnuserv:
+ @[ -f ./gnuserv/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in byacc" ; \
- (cd byacc && \
+ echo "Doing maintainer-clean in gnuserv" ; \
+ (cd gnuserv && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-bzip2 install-info-bzip2
-maybe-install-info-bzip2:
-install-info-bzip2: \
- configure-bzip2 \
- info-bzip2
- @[ -f ./bzip2/Makefile ] || exit 0; \
+.PHONY: configure-gprof maybe-configure-gprof
+maybe-configure-gprof:
+configure-gprof:
+ @test ! -f gprof/Makefile || exit 0; \
+ [ -d gprof ] || mkdir gprof; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in bzip2" ; \
- (cd bzip2 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gprof; \
+ cd gprof || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gprof"; \
+ libsrcdir="$$s/gprof";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gprof"; \
+ libsrcdir="$$s/gprof";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gprof maybe-all-gprof
+maybe-all-gprof:
+all-gprof: configure-gprof
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-gprof maybe-check-gprof
+maybe-check-gprof:
-.PHONY: maybe-install-info-dejagnu install-info-dejagnu
-maybe-install-info-dejagnu:
+check-gprof:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check)
-install-info-dejagnu: \
- configure-dejagnu \
- info-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+
+.PHONY: install-gprof maybe-install-gprof
+maybe-install-gprof:
+
+install-gprof: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in dejagnu" ; \
- (cd dejagnu && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
- || exit 1
+ (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-install-info-diff install-info-diff
-maybe-install-info-diff:
+# Other targets (info, dvi, etc.)
-install-info-diff: \
- configure-diff \
- info-diff
- @[ -f ./diff/Makefile ] || exit 0; \
+.PHONY: maybe-info-gprof info-gprof
+maybe-info-gprof:
+
+info-gprof: \
+ configure-gprof
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in diff" ; \
- (cd diff && \
+ echo "Doing info in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-dosutils install-info-dosutils
-maybe-install-info-dosutils:
+.PHONY: maybe-dvi-gprof dvi-gprof
+maybe-dvi-gprof:
-install-info-dosutils: \
- configure-dosutils \
- info-dosutils
- @[ -f ./dosutils/Makefile ] || exit 0; \
+dvi-gprof: \
+ configure-gprof
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in dosutils" ; \
- (cd dosutils && \
+ echo "Doing dvi in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-etc install-info-etc
-maybe-install-info-etc:
+.PHONY: maybe-TAGS-gprof TAGS-gprof
+maybe-TAGS-gprof:
-install-info-etc: \
- configure-etc \
- info-etc
- @[ -f ./etc/Makefile ] || exit 0; \
+TAGS-gprof: \
+ configure-gprof
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in etc" ; \
- (cd etc && \
+ echo "Doing TAGS in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-fastjar install-info-fastjar
-maybe-install-info-fastjar:
+.PHONY: maybe-install-info-gprof install-info-gprof
+maybe-install-info-gprof:
-install-info-fastjar: \
- configure-fastjar \
- info-fastjar
- @[ -f ./fastjar/Makefile ] || exit 0; \
+install-info-gprof: \
+ configure-gprof \
+ info-gprof
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in fastjar" ; \
- (cd fastjar && \
+ echo "Doing install-info in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -6865,210 +8262,246 @@ install-info-fastjar: \
|| exit 1
-.PHONY: maybe-install-info-fileutils install-info-fileutils
-maybe-install-info-fileutils:
+.PHONY: maybe-installcheck-gprof installcheck-gprof
+maybe-installcheck-gprof:
-install-info-fileutils: \
- configure-fileutils \
- info-fileutils
- @[ -f ./fileutils/Makefile ] || exit 0; \
+installcheck-gprof: \
+ configure-gprof
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in fileutils" ; \
- (cd fileutils && \
+ echo "Doing installcheck in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-findutils install-info-findutils
-maybe-install-info-findutils:
+.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof
+maybe-mostlyclean-gprof:
-install-info-findutils: \
- configure-findutils \
- info-findutils
- @[ -f ./findutils/Makefile ] || exit 0; \
+mostlyclean-gprof:
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in findutils" ; \
- (cd findutils && \
+ echo "Doing mostlyclean in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-find install-info-find
-maybe-install-info-find:
+.PHONY: maybe-clean-gprof clean-gprof
+maybe-clean-gprof:
-install-info-find: \
- configure-find \
- info-find
- @[ -f ./find/Makefile ] || exit 0; \
+clean-gprof:
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in find" ; \
- (cd find && \
+ echo "Doing clean in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-flex install-info-flex
-maybe-install-info-flex:
+.PHONY: maybe-distclean-gprof distclean-gprof
+maybe-distclean-gprof:
-install-info-flex: \
- configure-flex \
- info-flex
- @[ -f ./flex/Makefile ] || exit 0; \
+distclean-gprof:
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in flex" ; \
- (cd flex && \
+ echo "Doing distclean in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-gas install-info-gas
-maybe-install-info-gas:
+.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof
+maybe-maintainer-clean-gprof:
-install-info-gas: \
- configure-gas \
- info-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+maintainer-clean-gprof:
+ @[ -f ./gprof/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in gas" ; \
- (cd gas && \
+ echo "Doing maintainer-clean in gprof" ; \
+ (cd gprof && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-gawk install-info-gawk
-maybe-install-info-gawk:
-install-info-gawk: \
- configure-gawk \
- info-gawk
- @[ -f ./gawk/Makefile ] || exit 0; \
+.PHONY: configure-gzip maybe-configure-gzip
+maybe-configure-gzip:
+configure-gzip:
+ @test ! -f gzip/Makefile || exit 0; \
+ [ -d gzip ] || mkdir gzip; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in gawk" ; \
- (cd gawk && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gzip; \
+ cd gzip || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gzip"; \
+ libsrcdir="$$s/gzip";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gzip"; \
+ libsrcdir="$$s/gzip";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gzip maybe-all-gzip
+maybe-all-gzip:
+all-gzip: configure-gzip
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-install-info-gettext install-info-gettext
-maybe-install-info-gettext:
+.PHONY: check-gzip maybe-check-gzip
+maybe-check-gzip:
-install-info-gettext: \
- configure-gettext \
- info-gettext
- @[ -f ./gettext/Makefile ] || exit 0; \
+check-gzip:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-gzip maybe-install-gzip
+maybe-install-gzip:
+
+install-gzip: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-gzip info-gzip
+maybe-info-gzip:
+
+info-gzip: \
+ configure-gzip
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in gettext" ; \
- (cd gettext && \
+ echo "Doing info in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-gnuserv install-info-gnuserv
-maybe-install-info-gnuserv:
+.PHONY: maybe-dvi-gzip dvi-gzip
+maybe-dvi-gzip:
-install-info-gnuserv: \
- configure-gnuserv \
- info-gnuserv
- @[ -f ./gnuserv/Makefile ] || exit 0; \
+dvi-gzip: \
+ configure-gzip
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in gnuserv" ; \
- (cd gnuserv && \
+ echo "Doing dvi in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-gprof install-info-gprof
-maybe-install-info-gprof:
+.PHONY: maybe-TAGS-gzip TAGS-gzip
+maybe-TAGS-gzip:
-install-info-gprof: \
- configure-gprof \
- info-gprof
- @[ -f ./gprof/Makefile ] || exit 0; \
+TAGS-gzip: \
+ configure-gzip
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in gprof" ; \
- (cd gprof && \
+ echo "Doing TAGS in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
@@ -7095,228 +8528,264 @@ install-info-gzip: \
|| exit 1
-.PHONY: maybe-install-info-hello install-info-hello
-maybe-install-info-hello:
+.PHONY: maybe-installcheck-gzip installcheck-gzip
+maybe-installcheck-gzip:
-install-info-hello: \
- configure-hello \
- info-hello
- @[ -f ./hello/Makefile ] || exit 0; \
+installcheck-gzip: \
+ configure-gzip
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in hello" ; \
- (cd hello && \
+ echo "Doing installcheck in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-indent install-info-indent
-maybe-install-info-indent:
+.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip
+maybe-mostlyclean-gzip:
-install-info-indent: \
- configure-indent \
- info-indent
- @[ -f ./indent/Makefile ] || exit 0; \
+mostlyclean-gzip:
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in indent" ; \
- (cd indent && \
+ echo "Doing mostlyclean in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-intl install-info-intl
-maybe-install-info-intl:
+.PHONY: maybe-clean-gzip clean-gzip
+maybe-clean-gzip:
-install-info-intl: \
- configure-intl \
- info-intl
- @[ -f ./intl/Makefile ] || exit 0; \
+clean-gzip:
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in intl" ; \
- (cd intl && \
+ echo "Doing clean in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-tcl install-info-tcl
-maybe-install-info-tcl:
+.PHONY: maybe-distclean-gzip distclean-gzip
+maybe-distclean-gzip:
-install-info-tcl: \
- configure-tcl \
- info-tcl
- @[ -f ./tcl/Makefile ] || exit 0; \
+distclean-gzip:
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in tcl" ; \
- (cd tcl && \
+ echo "Doing distclean in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-itcl install-info-itcl
-maybe-install-info-itcl:
+.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip
+maybe-maintainer-clean-gzip:
-install-info-itcl: \
- configure-itcl \
- info-itcl
- @[ -f ./itcl/Makefile ] || exit 0; \
+maintainer-clean-gzip:
+ @[ -f ./gzip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in itcl" ; \
- (cd itcl && \
+ echo "Doing maintainer-clean in gzip" ; \
+ (cd gzip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-ld install-info-ld
-maybe-install-info-ld:
-install-info-ld: \
- configure-ld \
- info-ld
- @[ -f ./ld/Makefile ] || exit 0; \
+.PHONY: configure-hello maybe-configure-hello
+maybe-configure-hello:
+configure-hello:
+ @test ! -f hello/Makefile || exit 0; \
+ [ -d hello ] || mkdir hello; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in ld" ; \
- (cd ld && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in hello; \
+ cd hello || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/hello"; \
+ libsrcdir="$$s/hello";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/hello"; \
+ libsrcdir="$$s/hello";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-hello maybe-all-hello
+maybe-all-hello:
+all-hello: configure-hello
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd hello && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-install-info-libgui install-info-libgui
-maybe-install-info-libgui:
+.PHONY: check-hello maybe-check-hello
+maybe-check-hello:
-install-info-libgui: \
- configure-libgui \
- info-libgui
- @[ -f ./libgui/Makefile ] || exit 0; \
+check-hello:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd hello && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-hello maybe-install-hello
+maybe-install-hello:
+
+install-hello: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd hello && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-hello info-hello
+maybe-info-hello:
+
+info-hello: \
+ configure-hello
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in libgui" ; \
- (cd libgui && \
+ echo "Doing info in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-libiberty install-info-libiberty
-maybe-install-info-libiberty:
+.PHONY: maybe-dvi-hello dvi-hello
+maybe-dvi-hello:
-install-info-libiberty: \
- configure-libiberty \
- info-libiberty
- @[ -f ./libiberty/Makefile ] || exit 0; \
+dvi-hello: \
+ configure-hello
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in libiberty" ; \
- (cd libiberty && \
+ echo "Doing dvi in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-libtool install-info-libtool
-maybe-install-info-libtool:
+.PHONY: maybe-TAGS-hello TAGS-hello
+maybe-TAGS-hello:
-install-info-libtool: \
- configure-libtool \
- info-libtool
- @[ -f ./libtool/Makefile ] || exit 0; \
+TAGS-hello: \
+ configure-hello
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in libtool" ; \
- (cd libtool && \
+ echo "Doing TAGS in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-m4 install-info-m4
-maybe-install-info-m4:
+.PHONY: maybe-install-info-hello install-info-hello
+maybe-install-info-hello:
-install-info-m4: \
- configure-m4 \
- info-m4
- @[ -f ./m4/Makefile ] || exit 0; \
+install-info-hello: \
+ configure-hello \
+ info-hello
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in m4" ; \
- (cd m4 && \
+ echo "Doing install-info in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -7325,228 +8794,264 @@ install-info-m4: \
|| exit 1
-.PHONY: maybe-install-info-make install-info-make
-maybe-install-info-make:
+.PHONY: maybe-installcheck-hello installcheck-hello
+maybe-installcheck-hello:
-install-info-make: \
- configure-make \
- info-make
- @[ -f ./make/Makefile ] || exit 0; \
+installcheck-hello: \
+ configure-hello
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in make" ; \
- (cd make && \
+ echo "Doing installcheck in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-mmalloc install-info-mmalloc
-maybe-install-info-mmalloc:
+.PHONY: maybe-mostlyclean-hello mostlyclean-hello
+maybe-mostlyclean-hello:
-install-info-mmalloc: \
- configure-mmalloc \
- info-mmalloc
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+mostlyclean-hello:
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing mostlyclean in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-patch install-info-patch
-maybe-install-info-patch:
+.PHONY: maybe-clean-hello clean-hello
+maybe-clean-hello:
-install-info-patch: \
- configure-patch \
- info-patch
- @[ -f ./patch/Makefile ] || exit 0; \
+clean-hello:
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in patch" ; \
- (cd patch && \
+ echo "Doing clean in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-perl install-info-perl
-maybe-install-info-perl:
+.PHONY: maybe-distclean-hello distclean-hello
+maybe-distclean-hello:
-install-info-perl: \
- configure-perl \
- info-perl
- @[ -f ./perl/Makefile ] || exit 0; \
+distclean-hello:
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in perl" ; \
- (cd perl && \
+ echo "Doing distclean in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-prms install-info-prms
-maybe-install-info-prms:
+.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello
+maybe-maintainer-clean-hello:
-install-info-prms: \
- configure-prms \
- info-prms
- @[ -f ./prms/Makefile ] || exit 0; \
+maintainer-clean-hello:
+ @[ -f ./hello/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in prms" ; \
- (cd prms && \
+ echo "Doing maintainer-clean in hello" ; \
+ (cd hello && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-rcs install-info-rcs
-maybe-install-info-rcs:
-install-info-rcs: \
- configure-rcs \
- info-rcs
- @[ -f ./rcs/Makefile ] || exit 0; \
+.PHONY: configure-indent maybe-configure-indent
+maybe-configure-indent:
+configure-indent:
+ @test ! -f indent/Makefile || exit 0; \
+ [ -d indent ] || mkdir indent; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing install-info in rcs" ; \
- (cd rcs && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in indent; \
+ cd indent || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/indent"; \
+ libsrcdir="$$s/indent";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/indent"; \
+ libsrcdir="$$s/indent";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-indent maybe-all-indent
+maybe-all-indent:
+all-indent: configure-indent
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd indent && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-install-info-readline install-info-readline
-maybe-install-info-readline:
+.PHONY: check-indent maybe-check-indent
+maybe-check-indent:
-install-info-readline: \
- configure-readline \
- info-readline
- @[ -f ./readline/Makefile ] || exit 0; \
+check-indent:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd indent && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-indent maybe-install-indent
+maybe-install-indent:
+
+install-indent: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd indent && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-indent info-indent
+maybe-info-indent:
+
+info-indent: \
+ configure-indent
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in readline" ; \
- (cd readline && \
+ echo "Doing info in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-release install-info-release
-maybe-install-info-release:
+.PHONY: maybe-dvi-indent dvi-indent
+maybe-dvi-indent:
-install-info-release: \
- configure-release \
- info-release
- @[ -f ./release/Makefile ] || exit 0; \
+dvi-indent: \
+ configure-indent
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in release" ; \
- (cd release && \
+ echo "Doing dvi in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-recode install-info-recode
-maybe-install-info-recode:
+.PHONY: maybe-TAGS-indent TAGS-indent
+maybe-TAGS-indent:
-install-info-recode: \
- configure-recode \
- info-recode
- @[ -f ./recode/Makefile ] || exit 0; \
+TAGS-indent: \
+ configure-indent
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in recode" ; \
- (cd recode && \
+ echo "Doing TAGS in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-sed install-info-sed
-maybe-install-info-sed:
+.PHONY: maybe-install-info-indent install-info-indent
+maybe-install-info-indent:
-install-info-sed: \
- configure-sed \
- info-sed
- @[ -f ./sed/Makefile ] || exit 0; \
+install-info-indent: \
+ configure-indent \
+ info-indent
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in sed" ; \
- (cd sed && \
+ echo "Doing install-info in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -7555,205 +9060,264 @@ install-info-sed: \
|| exit 1
-.PHONY: maybe-install-info-send-pr install-info-send-pr
-maybe-install-info-send-pr:
+.PHONY: maybe-installcheck-indent installcheck-indent
+maybe-installcheck-indent:
-install-info-send-pr: \
- configure-send-pr \
- info-send-pr
- @[ -f ./send-pr/Makefile ] || exit 0; \
+installcheck-indent: \
+ configure-indent
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in send-pr" ; \
- (cd send-pr && \
+ echo "Doing installcheck in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-shellutils install-info-shellutils
-maybe-install-info-shellutils:
+.PHONY: maybe-mostlyclean-indent mostlyclean-indent
+maybe-mostlyclean-indent:
-install-info-shellutils: \
- configure-shellutils \
- info-shellutils
- @[ -f ./shellutils/Makefile ] || exit 0; \
+mostlyclean-indent:
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in shellutils" ; \
- (cd shellutils && \
+ echo "Doing mostlyclean in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-sid install-info-sid
-maybe-install-info-sid:
+.PHONY: maybe-clean-indent clean-indent
+maybe-clean-indent:
-install-info-sid: \
- configure-sid \
- info-sid
- @[ -f ./sid/Makefile ] || exit 0; \
+clean-indent:
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in sid" ; \
- (cd sid && \
+ echo "Doing clean in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-sim install-info-sim
-maybe-install-info-sim:
+.PHONY: maybe-distclean-indent distclean-indent
+maybe-distclean-indent:
-install-info-sim: \
- configure-sim \
- info-sim
- @[ -f ./sim/Makefile ] || exit 0; \
+distclean-indent:
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in sim" ; \
- (cd sim && \
+ echo "Doing distclean in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-tar install-info-tar
-maybe-install-info-tar:
+.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent
+maybe-maintainer-clean-indent:
-install-info-tar: \
- configure-tar \
- info-tar
- @[ -f ./tar/Makefile ] || exit 0; \
+maintainer-clean-indent:
+ @[ -f ./indent/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in tar" ; \
- (cd tar && \
+ echo "Doing maintainer-clean in indent" ; \
+ (cd indent && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-texinfo install-info-texinfo
-maybe-install-info-texinfo:
-install-info-texinfo: \
- configure-texinfo \
- info-texinfo
- @[ -f ./texinfo/Makefile ] || exit 0; \
+.PHONY: configure-intl maybe-configure-intl
+maybe-configure-intl:
+configure-intl:
+ @test ! -f intl/Makefile || exit 0; \
+ [ -d intl ] || mkdir intl; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in intl; \
+ cd intl || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/intl"; \
+ libsrcdir="$$s/intl";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/intl"; \
+ libsrcdir="$$s/intl";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+
+.PHONY: all-intl maybe-all-intl
+maybe-all-intl:
+all-intl: configure-intl
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd intl && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-intl maybe-check-intl
+maybe-check-intl:
+
+check-intl:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd intl && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-intl maybe-install-intl
+maybe-install-intl:
+
+install-intl: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd intl && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-intl info-intl
+maybe-info-intl:
+
+info-intl: \
+ configure-intl
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in texinfo" ; \
- (cd texinfo && \
+ echo "Doing info in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-textutils install-info-textutils
-maybe-install-info-textutils:
+.PHONY: maybe-dvi-intl dvi-intl
+maybe-dvi-intl:
-install-info-textutils: \
- configure-textutils \
- info-textutils
- @[ -f ./textutils/Makefile ] || exit 0; \
+dvi-intl: \
+ configure-intl
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in textutils" ; \
- (cd textutils && \
+ echo "Doing dvi in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-time install-info-time
-maybe-install-info-time:
+.PHONY: maybe-TAGS-intl TAGS-intl
+maybe-TAGS-intl:
-install-info-time: \
- configure-time \
- info-time
- @[ -f ./time/Makefile ] || exit 0; \
+TAGS-intl: \
+ configure-intl
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in time" ; \
- (cd time && \
+ echo "Doing TAGS in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-uudecode install-info-uudecode
-maybe-install-info-uudecode:
+.PHONY: maybe-install-info-intl install-info-intl
+maybe-install-info-intl:
-install-info-uudecode: \
- configure-uudecode \
- info-uudecode
- @[ -f ./uudecode/Makefile ] || exit 0; \
+install-info-intl: \
+ configure-intl \
+ info-intl
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in uudecode" ; \
- (cd uudecode && \
+ echo "Doing install-info in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -7762,205 +9326,264 @@ install-info-uudecode: \
|| exit 1
-.PHONY: maybe-install-info-wdiff install-info-wdiff
-maybe-install-info-wdiff:
+.PHONY: maybe-installcheck-intl installcheck-intl
+maybe-installcheck-intl:
-install-info-wdiff: \
- configure-wdiff \
- info-wdiff
- @[ -f ./wdiff/Makefile ] || exit 0; \
+installcheck-intl: \
+ configure-intl
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in wdiff" ; \
- (cd wdiff && \
+ echo "Doing installcheck in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-zip install-info-zip
-maybe-install-info-zip:
+.PHONY: maybe-mostlyclean-intl mostlyclean-intl
+maybe-mostlyclean-intl:
-install-info-zip: \
- configure-zip \
- info-zip
- @[ -f ./zip/Makefile ] || exit 0; \
+mostlyclean-intl:
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in zip" ; \
- (cd zip && \
+ echo "Doing mostlyclean in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-zlib install-info-zlib
-maybe-install-info-zlib:
+.PHONY: maybe-clean-intl clean-intl
+maybe-clean-intl:
-install-info-zlib: \
- configure-zlib \
- info-zlib
- @[ -f ./zlib/Makefile ] || exit 0; \
+clean-intl:
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in zlib" ; \
- (cd zlib && \
+ echo "Doing clean in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-gdb install-info-gdb
-maybe-install-info-gdb:
+.PHONY: maybe-distclean-intl distclean-intl
+maybe-distclean-intl:
-install-info-gdb: \
- configure-gdb \
- info-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+distclean-intl:
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in gdb" ; \
- (cd gdb && \
+ echo "Doing distclean in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-expect install-info-expect
-maybe-install-info-expect:
+.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl
+maybe-maintainer-clean-intl:
-install-info-expect: \
- configure-expect \
- info-expect
- @[ -f ./expect/Makefile ] || exit 0; \
+maintainer-clean-intl:
+ @[ -f ./intl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in expect" ; \
- (cd expect && \
+ echo "Doing maintainer-clean in intl" ; \
+ (cd intl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-guile install-info-guile
-maybe-install-info-guile:
-install-info-guile: \
- configure-guile \
- info-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+.PHONY: configure-tcl maybe-configure-tcl
+maybe-configure-tcl:
+configure-tcl:
+ @test ! -f tcl/Makefile || exit 0; \
+ [ -d tcl ] || mkdir tcl; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in tcl; \
+ cd tcl || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/tcl"; \
+ libsrcdir="$$s/tcl";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/tcl"; \
+ libsrcdir="$$s/tcl";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+
+.PHONY: all-tcl maybe-all-tcl
+maybe-all-tcl:
+all-tcl: configure-tcl
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-tcl maybe-check-tcl
+maybe-check-tcl:
+
+check-tcl:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-tcl maybe-install-tcl
+maybe-install-tcl:
+
+install-tcl: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-tcl info-tcl
+maybe-info-tcl:
+
+info-tcl: \
+ configure-tcl
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in guile" ; \
- (cd guile && \
+ echo "Doing info in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-tk install-info-tk
-maybe-install-info-tk:
+.PHONY: maybe-dvi-tcl dvi-tcl
+maybe-dvi-tcl:
-install-info-tk: \
- configure-tk \
- info-tk
- @[ -f ./tk/Makefile ] || exit 0; \
+dvi-tcl: \
+ configure-tcl
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in tk" ; \
- (cd tk && \
+ echo "Doing dvi in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-tix install-info-tix
-maybe-install-info-tix:
+.PHONY: maybe-TAGS-tcl TAGS-tcl
+maybe-TAGS-tcl:
-install-info-tix: \
- configure-tix \
- info-tix
- @[ -f ./tix/Makefile ] || exit 0; \
+TAGS-tcl: \
+ configure-tcl
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in tix" ; \
- (cd tix && \
+ echo "Doing TAGS in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-libtermcap install-info-libtermcap
-maybe-install-info-libtermcap:
+.PHONY: maybe-install-info-tcl install-info-tcl
+maybe-install-info-tcl:
-install-info-libtermcap: \
- configure-libtermcap \
- info-libtermcap
- @[ -f ./libtermcap/Makefile ] || exit 0; \
+install-info-tcl: \
+ configure-tcl \
+ info-tcl
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in libtermcap" ; \
- (cd libtermcap && \
+ echo "Doing install-info in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -7969,254 +9592,250 @@ install-info-libtermcap: \
|| exit 1
-.PHONY: maybe-install-info-utils install-info-utils
-maybe-install-info-utils:
+.PHONY: maybe-installcheck-tcl installcheck-tcl
+maybe-installcheck-tcl:
-install-info-utils: \
- configure-utils \
- info-utils
- @[ -f ./utils/Makefile ] || exit 0; \
+installcheck-tcl: \
+ configure-tcl
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing install-info in utils" ; \
- (cd utils && \
+ echo "Doing installcheck in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
+.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl
+maybe-mostlyclean-tcl:
-# Target modules.
+# tcl doesn't support mostlyclean.
+mostlyclean-tcl:
-.PHONY: maybe-install-info-target-libstdc++-v3 install-info-target-libstdc++-v3
-maybe-install-info-target-libstdc++-v3:
-install-info-target-libstdc++-v3: \
- configure-target-libstdc++-v3 \
- info-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+.PHONY: maybe-clean-tcl clean-tcl
+maybe-clean-tcl:
+
+clean-tcl:
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing clean in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-target-newlib install-info-target-newlib
-maybe-install-info-target-newlib:
+.PHONY: maybe-distclean-tcl distclean-tcl
+maybe-distclean-tcl:
-install-info-target-newlib: \
- configure-target-newlib \
- info-target-newlib
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+distclean-tcl:
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing distclean in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-target-libf2c install-info-target-libf2c
-maybe-install-info-target-libf2c:
+.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl
+maybe-maintainer-clean-tcl:
-install-info-target-libf2c: \
- configure-target-libf2c \
- info-target-libf2c
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+maintainer-clean-tcl:
+ @[ -f ./tcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing maintainer-clean in tcl" ; \
+ (cd tcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-target-libobjc install-info-target-libobjc
-maybe-install-info-target-libobjc:
-install-info-target-libobjc: \
- configure-target-libobjc \
- info-target-libobjc
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+.PHONY: configure-itcl maybe-configure-itcl
+maybe-configure-itcl:
+configure-itcl:
+ @test ! -f itcl/Makefile || exit 0; \
+ [ -d itcl ] || mkdir itcl; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in itcl; \
+ cd itcl || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/itcl"; \
+ libsrcdir="$$s/itcl";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/itcl"; \
+ libsrcdir="$$s/itcl";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-itcl maybe-all-itcl
+maybe-all-itcl:
+all-itcl: configure-itcl
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-install-info-target-libtermcap install-info-target-libtermcap
-maybe-install-info-target-libtermcap:
+.PHONY: check-itcl maybe-check-itcl
+maybe-check-itcl:
-install-info-target-libtermcap: \
- configure-target-libtermcap \
- info-target-libtermcap
- @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-itcl:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libtermcap && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
- || exit 1
+ (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-install-info-target-winsup install-info-target-winsup
-maybe-install-info-target-winsup:
+.PHONY: install-itcl maybe-install-itcl
+maybe-install-itcl:
-install-info-target-winsup: \
- configure-target-winsup \
- info-target-winsup
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-itcl: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
- || exit 1
+ (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-install-info-target-libgloss install-info-target-libgloss
-maybe-install-info-target-libgloss:
+# Other targets (info, dvi, etc.)
-install-info-target-libgloss: \
- configure-target-libgloss \
- info-target-libgloss
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-itcl info-itcl
+maybe-info-itcl:
+
+info-itcl: \
+ configure-itcl
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ echo "Doing info in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ info) \
|| exit 1
-.PHONY: maybe-install-info-target-libiberty install-info-target-libiberty
-maybe-install-info-target-libiberty:
+.PHONY: maybe-dvi-itcl dvi-itcl
+maybe-dvi-itcl:
-install-info-target-libiberty: \
- configure-target-libiberty \
- info-target-libiberty
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+dvi-itcl: \
+ configure-itcl
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing dvi in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ dvi) \
|| exit 1
-.PHONY: maybe-install-info-target-gperf install-info-target-gperf
-maybe-install-info-target-gperf:
+.PHONY: maybe-TAGS-itcl TAGS-itcl
+maybe-TAGS-itcl:
-install-info-target-gperf: \
- configure-target-gperf \
- info-target-gperf
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+TAGS-itcl: \
+ configure-itcl
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing TAGS in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-install-info-target-examples install-info-target-examples
-maybe-install-info-target-examples:
+.PHONY: maybe-install-info-itcl install-info-itcl
+maybe-install-info-itcl:
-install-info-target-examples: \
- configure-target-examples \
- info-target-examples
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+install-info-itcl: \
+ configure-itcl \
+ info-itcl
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing install-info in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -8225,361 +9844,286 @@ install-info-target-examples: \
|| exit 1
-.PHONY: maybe-install-info-target-libffi install-info-target-libffi
-maybe-install-info-target-libffi:
+.PHONY: maybe-installcheck-itcl installcheck-itcl
+maybe-installcheck-itcl:
-install-info-target-libffi: \
- configure-target-libffi \
- info-target-libffi
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+installcheck-itcl: \
+ configure-itcl
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing installcheck in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-install-info-target-libjava install-info-target-libjava
-maybe-install-info-target-libjava:
+.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl
+maybe-mostlyclean-itcl:
-install-info-target-libjava: \
- configure-target-libjava \
- info-target-libjava
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+mostlyclean-itcl:
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing mostlyclean in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-install-info-target-zlib install-info-target-zlib
-maybe-install-info-target-zlib:
+.PHONY: maybe-clean-itcl clean-itcl
+maybe-clean-itcl:
-install-info-target-zlib: \
- configure-target-zlib \
- info-target-zlib
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+clean-itcl:
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing clean in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ clean) \
|| exit 1
-.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc
-maybe-install-info-target-boehm-gc:
+.PHONY: maybe-distclean-itcl distclean-itcl
+maybe-distclean-itcl:
-install-info-target-boehm-gc: \
- configure-target-boehm-gc \
- info-target-boehm-gc
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+distclean-itcl:
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing distclean in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ distclean) \
|| exit 1
-.PHONY: maybe-install-info-target-qthreads install-info-target-qthreads
-maybe-install-info-target-qthreads:
+.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl
+maybe-maintainer-clean-itcl:
-install-info-target-qthreads: \
- configure-target-qthreads \
- info-target-qthreads
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+maintainer-clean-itcl:
+ @[ -f ./itcl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing maintainer-clean in itcl" ; \
+ (cd itcl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-install-info-target-rda install-info-target-rda
-maybe-install-info-target-rda:
-install-info-target-rda: \
- configure-target-rda \
- info-target-rda
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+.PHONY: configure-ld maybe-configure-ld
+maybe-configure-ld:
+configure-ld:
+ @test ! -f ld/Makefile || exit 0; \
+ [ -d ld ] || mkdir ld; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/rda && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in ld; \
+ cd ld || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/ld"; \
+ libsrcdir="$$s/ld";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/ld"; \
+ libsrcdir="$$s/ld";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-ld maybe-all-ld
+maybe-all-ld:
+all-ld: configure-ld
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd ld && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-install-info-target-libada install-info-target-libada
-maybe-install-info-target-libada:
+.PHONY: check-ld maybe-check-ld
+maybe-check-ld:
-install-info-target-libada: \
- configure-target-libada \
- info-target-libada
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-ld:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libada && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- install-info) \
- || exit 1
+ (cd ld && $(MAKE) $(FLAGS_TO_PASS) check)
+.PHONY: install-ld maybe-install-ld
+maybe-install-ld:
-.PHONY: do-installcheck
-do-installcheck: installcheck-host installcheck-target
+install-ld: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd ld && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: installcheck-host
-installcheck-host: maybe-installcheck-gcc \
- maybe-installcheck-ash \
- maybe-installcheck-autoconf \
- maybe-installcheck-automake \
- maybe-installcheck-bash \
- maybe-installcheck-bfd \
- maybe-installcheck-opcodes \
- maybe-installcheck-binutils \
- maybe-installcheck-bison \
- maybe-installcheck-byacc \
- maybe-installcheck-bzip2 \
- maybe-installcheck-dejagnu \
- maybe-installcheck-diff \
- maybe-installcheck-dosutils \
- maybe-installcheck-etc \
- maybe-installcheck-fastjar \
- maybe-installcheck-fileutils \
- maybe-installcheck-findutils \
- maybe-installcheck-find \
- maybe-installcheck-flex \
- maybe-installcheck-gas \
- maybe-installcheck-gawk \
- maybe-installcheck-gettext \
- maybe-installcheck-gnuserv \
- maybe-installcheck-gprof \
- maybe-installcheck-gzip \
- maybe-installcheck-hello \
- maybe-installcheck-indent \
- maybe-installcheck-intl \
- maybe-installcheck-tcl \
- maybe-installcheck-itcl \
- maybe-installcheck-ld \
- maybe-installcheck-libgui \
- maybe-installcheck-libiberty \
- maybe-installcheck-libtool \
- maybe-installcheck-m4 \
- maybe-installcheck-make \
- maybe-installcheck-mmalloc \
- maybe-installcheck-patch \
- maybe-installcheck-perl \
- maybe-installcheck-prms \
- maybe-installcheck-rcs \
- maybe-installcheck-readline \
- maybe-installcheck-release \
- maybe-installcheck-recode \
- maybe-installcheck-sed \
- maybe-installcheck-send-pr \
- maybe-installcheck-shellutils \
- maybe-installcheck-sid \
- maybe-installcheck-sim \
- maybe-installcheck-tar \
- maybe-installcheck-texinfo \
- maybe-installcheck-textutils \
- maybe-installcheck-time \
- maybe-installcheck-uudecode \
- maybe-installcheck-wdiff \
- maybe-installcheck-zip \
- maybe-installcheck-zlib \
- maybe-installcheck-gdb \
- maybe-installcheck-expect \
- maybe-installcheck-guile \
- maybe-installcheck-tk \
- maybe-installcheck-tix \
- maybe-installcheck-libtermcap \
- maybe-installcheck-utils
-.PHONY: installcheck-target
-installcheck-target: \
- maybe-installcheck-target-libstdc++-v3 \
- maybe-installcheck-target-newlib \
- maybe-installcheck-target-libf2c \
- maybe-installcheck-target-libobjc \
- maybe-installcheck-target-libtermcap \
- maybe-installcheck-target-winsup \
- maybe-installcheck-target-libgloss \
- maybe-installcheck-target-libiberty \
- maybe-installcheck-target-gperf \
- maybe-installcheck-target-examples \
- maybe-installcheck-target-libffi \
- maybe-installcheck-target-libjava \
- maybe-installcheck-target-zlib \
- maybe-installcheck-target-boehm-gc \
- maybe-installcheck-target-qthreads \
- maybe-installcheck-target-rda \
- maybe-installcheck-target-libada
+# Other targets (info, dvi, etc.)
-# GCC, the eternal special case
-.PHONY: maybe-installcheck-gcc installcheck-gcc
-maybe-installcheck-gcc:
-installcheck-gcc: \
- configure-gcc
- @[ -f ./gcc/Makefile ] || exit 0; \
+.PHONY: maybe-info-ld info-ld
+maybe-info-ld:
+
+info-ld: \
+ configure-ld
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gcc" ; \
- (cd gcc && \
+ echo "Doing info in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-# Host modules.
-.PHONY: maybe-installcheck-ash installcheck-ash
-maybe-installcheck-ash:
+.PHONY: maybe-dvi-ld dvi-ld
+maybe-dvi-ld:
-installcheck-ash: \
- configure-ash
- @[ -f ./ash/Makefile ] || exit 0; \
+dvi-ld: \
+ configure-ld
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in ash" ; \
- (cd ash && \
+ echo "Doing dvi in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-autoconf installcheck-autoconf
-maybe-installcheck-autoconf:
+.PHONY: maybe-TAGS-ld TAGS-ld
+maybe-TAGS-ld:
-installcheck-autoconf: \
- configure-autoconf
- @[ -f ./autoconf/Makefile ] || exit 0; \
+TAGS-ld: \
+ configure-ld
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in autoconf" ; \
- (cd autoconf && \
+ echo "Doing TAGS in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-automake installcheck-automake
-maybe-installcheck-automake:
+.PHONY: maybe-install-info-ld install-info-ld
+maybe-install-info-ld:
-installcheck-automake: \
- configure-automake
- @[ -f ./automake/Makefile ] || exit 0; \
+install-info-ld: \
+ configure-ld \
+ info-ld
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in automake" ; \
- (cd automake && \
+ echo "Doing install-info in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-bash installcheck-bash
-maybe-installcheck-bash:
+.PHONY: maybe-installcheck-ld installcheck-ld
+maybe-installcheck-ld:
-installcheck-bash: \
- configure-bash
- @[ -f ./bash/Makefile ] || exit 0; \
+installcheck-ld: \
+ configure-ld
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in bash" ; \
- (cd bash && \
+ echo "Doing installcheck in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -8588,218 +10132,264 @@ installcheck-bash: \
|| exit 1
-.PHONY: maybe-installcheck-bfd installcheck-bfd
-maybe-installcheck-bfd:
+.PHONY: maybe-mostlyclean-ld mostlyclean-ld
+maybe-mostlyclean-ld:
-installcheck-bfd: \
- configure-bfd
- @[ -f ./bfd/Makefile ] || exit 0; \
+mostlyclean-ld:
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in bfd" ; \
- (cd bfd && \
+ echo "Doing mostlyclean in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-opcodes installcheck-opcodes
-maybe-installcheck-opcodes:
+.PHONY: maybe-clean-ld clean-ld
+maybe-clean-ld:
-installcheck-opcodes: \
- configure-opcodes
- @[ -f ./opcodes/Makefile ] || exit 0; \
+clean-ld:
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in opcodes" ; \
- (cd opcodes && \
+ echo "Doing clean in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-binutils installcheck-binutils
-maybe-installcheck-binutils:
+.PHONY: maybe-distclean-ld distclean-ld
+maybe-distclean-ld:
-installcheck-binutils: \
- configure-binutils
- @[ -f ./binutils/Makefile ] || exit 0; \
+distclean-ld:
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in binutils" ; \
- (cd binutils && \
+ echo "Doing distclean in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-bison installcheck-bison
-maybe-installcheck-bison:
+.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld
+maybe-maintainer-clean-ld:
-installcheck-bison: \
- configure-bison
- @[ -f ./bison/Makefile ] || exit 0; \
+maintainer-clean-ld:
+ @[ -f ./ld/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in bison" ; \
- (cd bison && \
+ echo "Doing maintainer-clean in ld" ; \
+ (cd ld && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-byacc installcheck-byacc
-maybe-installcheck-byacc:
-installcheck-byacc: \
- configure-byacc
- @[ -f ./byacc/Makefile ] || exit 0; \
+.PHONY: configure-libgui maybe-configure-libgui
+maybe-configure-libgui:
+configure-libgui:
+ @test ! -f libgui/Makefile || exit 0; \
+ [ -d libgui ] || mkdir libgui; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in byacc" ; \
- (cd byacc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in libgui; \
+ cd libgui || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/libgui"; \
+ libsrcdir="$$s/libgui";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/libgui"; \
+ libsrcdir="$$s/libgui";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-libgui maybe-all-libgui
+maybe-all-libgui:
+all-libgui: configure-libgui
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-bzip2 installcheck-bzip2
-maybe-installcheck-bzip2:
+.PHONY: check-libgui maybe-check-libgui
+maybe-check-libgui:
-installcheck-bzip2: \
- configure-bzip2
- @[ -f ./bzip2/Makefile ] || exit 0; \
+check-libgui:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-libgui maybe-install-libgui
+maybe-install-libgui:
+
+install-libgui: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-libgui info-libgui
+maybe-info-libgui:
+
+info-libgui: \
+ configure-libgui
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in bzip2" ; \
- (cd bzip2 && \
+ echo "Doing info in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-dejagnu installcheck-dejagnu
-maybe-installcheck-dejagnu:
+.PHONY: maybe-dvi-libgui dvi-libgui
+maybe-dvi-libgui:
-installcheck-dejagnu: \
- configure-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
+dvi-libgui: \
+ configure-libgui
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in dejagnu" ; \
- (cd dejagnu && \
+ echo "Doing dvi in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-diff installcheck-diff
-maybe-installcheck-diff:
+.PHONY: maybe-TAGS-libgui TAGS-libgui
+maybe-TAGS-libgui:
-installcheck-diff: \
- configure-diff
- @[ -f ./diff/Makefile ] || exit 0; \
+TAGS-libgui: \
+ configure-libgui
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in diff" ; \
- (cd diff && \
+ echo "Doing TAGS in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-dosutils installcheck-dosutils
-maybe-installcheck-dosutils:
+.PHONY: maybe-install-info-libgui install-info-libgui
+maybe-install-info-libgui:
-installcheck-dosutils: \
- configure-dosutils
- @[ -f ./dosutils/Makefile ] || exit 0; \
+install-info-libgui: \
+ configure-libgui \
+ info-libgui
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in dosutils" ; \
- (cd dosutils && \
+ echo "Doing install-info in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-etc installcheck-etc
-maybe-installcheck-etc:
+.PHONY: maybe-installcheck-libgui installcheck-libgui
+maybe-installcheck-libgui:
-installcheck-etc: \
- configure-etc
- @[ -f ./etc/Makefile ] || exit 0; \
+installcheck-libgui: \
+ configure-libgui
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in etc" ; \
- (cd etc && \
+ echo "Doing installcheck in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -8808,218 +10398,264 @@ installcheck-etc: \
|| exit 1
-.PHONY: maybe-installcheck-fastjar installcheck-fastjar
-maybe-installcheck-fastjar:
+.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui
+maybe-mostlyclean-libgui:
-installcheck-fastjar: \
- configure-fastjar
- @[ -f ./fastjar/Makefile ] || exit 0; \
+mostlyclean-libgui:
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in fastjar" ; \
- (cd fastjar && \
+ echo "Doing mostlyclean in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-fileutils installcheck-fileutils
-maybe-installcheck-fileutils:
+.PHONY: maybe-clean-libgui clean-libgui
+maybe-clean-libgui:
-installcheck-fileutils: \
- configure-fileutils
- @[ -f ./fileutils/Makefile ] || exit 0; \
+clean-libgui:
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in fileutils" ; \
- (cd fileutils && \
+ echo "Doing clean in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-findutils installcheck-findutils
-maybe-installcheck-findutils:
+.PHONY: maybe-distclean-libgui distclean-libgui
+maybe-distclean-libgui:
-installcheck-findutils: \
- configure-findutils
- @[ -f ./findutils/Makefile ] || exit 0; \
+distclean-libgui:
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in findutils" ; \
- (cd findutils && \
+ echo "Doing distclean in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-find installcheck-find
-maybe-installcheck-find:
+.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui
+maybe-maintainer-clean-libgui:
-installcheck-find: \
- configure-find
- @[ -f ./find/Makefile ] || exit 0; \
+maintainer-clean-libgui:
+ @[ -f ./libgui/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in find" ; \
- (cd find && \
+ echo "Doing maintainer-clean in libgui" ; \
+ (cd libgui && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-flex installcheck-flex
-maybe-installcheck-flex:
-installcheck-flex: \
- configure-flex
- @[ -f ./flex/Makefile ] || exit 0; \
+.PHONY: configure-libiberty maybe-configure-libiberty
+maybe-configure-libiberty:
+configure-libiberty:
+ @test ! -f libiberty/Makefile || exit 0; \
+ [ -d libiberty ] || mkdir libiberty; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in flex" ; \
- (cd flex && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in libiberty; \
+ cd libiberty || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/libiberty"; \
+ libsrcdir="$$s/libiberty";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
+ libsrcdir="$$s/libiberty";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-libiberty maybe-all-libiberty
+maybe-all-libiberty:
+all-libiberty: configure-libiberty
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-libiberty maybe-check-libiberty
+maybe-check-libiberty:
-.PHONY: maybe-installcheck-gas installcheck-gas
-maybe-installcheck-gas:
+check-libiberty:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check)
-installcheck-gas: \
- configure-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+
+.PHONY: install-libiberty maybe-install-libiberty
+maybe-install-libiberty:
+
+install-libiberty: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-libiberty info-libiberty
+maybe-info-libiberty:
+
+info-libiberty: \
+ configure-libiberty
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gas" ; \
- (cd gas && \
+ echo "Doing info in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-gawk installcheck-gawk
-maybe-installcheck-gawk:
+.PHONY: maybe-dvi-libiberty dvi-libiberty
+maybe-dvi-libiberty:
-installcheck-gawk: \
- configure-gawk
- @[ -f ./gawk/Makefile ] || exit 0; \
+dvi-libiberty: \
+ configure-libiberty
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gawk" ; \
- (cd gawk && \
+ echo "Doing dvi in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-gettext installcheck-gettext
-maybe-installcheck-gettext:
+.PHONY: maybe-TAGS-libiberty TAGS-libiberty
+maybe-TAGS-libiberty:
-installcheck-gettext: \
- configure-gettext
- @[ -f ./gettext/Makefile ] || exit 0; \
+TAGS-libiberty: \
+ configure-libiberty
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gettext" ; \
- (cd gettext && \
+ echo "Doing TAGS in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv
-maybe-installcheck-gnuserv:
+.PHONY: maybe-install-info-libiberty install-info-libiberty
+maybe-install-info-libiberty:
-installcheck-gnuserv: \
- configure-gnuserv
- @[ -f ./gnuserv/Makefile ] || exit 0; \
+install-info-libiberty: \
+ configure-libiberty \
+ info-libiberty
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gnuserv" ; \
- (cd gnuserv && \
+ echo "Doing install-info in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-gprof installcheck-gprof
-maybe-installcheck-gprof:
+.PHONY: maybe-installcheck-libiberty installcheck-libiberty
+maybe-installcheck-libiberty:
-installcheck-gprof: \
- configure-gprof
- @[ -f ./gprof/Makefile ] || exit 0; \
+installcheck-libiberty: \
+ configure-libiberty
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gprof" ; \
- (cd gprof && \
+ echo "Doing installcheck in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -9028,201 +10664,247 @@ installcheck-gprof: \
|| exit 1
-.PHONY: maybe-installcheck-gzip installcheck-gzip
-maybe-installcheck-gzip:
+.PHONY: maybe-mostlyclean-libiberty mostlyclean-libiberty
+maybe-mostlyclean-libiberty:
-installcheck-gzip: \
- configure-gzip
- @[ -f ./gzip/Makefile ] || exit 0; \
+mostlyclean-libiberty:
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gzip" ; \
- (cd gzip && \
+ echo "Doing mostlyclean in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-hello installcheck-hello
-maybe-installcheck-hello:
+.PHONY: maybe-clean-libiberty clean-libiberty
+maybe-clean-libiberty:
-installcheck-hello: \
- configure-hello
- @[ -f ./hello/Makefile ] || exit 0; \
+clean-libiberty:
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in hello" ; \
- (cd hello && \
+ echo "Doing clean in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-indent installcheck-indent
-maybe-installcheck-indent:
+.PHONY: maybe-distclean-libiberty distclean-libiberty
+maybe-distclean-libiberty:
-installcheck-indent: \
- configure-indent
- @[ -f ./indent/Makefile ] || exit 0; \
+distclean-libiberty:
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in indent" ; \
- (cd indent && \
+ echo "Doing distclean in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-intl installcheck-intl
-maybe-installcheck-intl:
+.PHONY: maybe-maintainer-clean-libiberty maintainer-clean-libiberty
+maybe-maintainer-clean-libiberty:
-installcheck-intl: \
- configure-intl
- @[ -f ./intl/Makefile ] || exit 0; \
+maintainer-clean-libiberty:
+ @[ -f ./libiberty/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in intl" ; \
- (cd intl && \
+ echo "Doing maintainer-clean in libiberty" ; \
+ (cd libiberty && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-tcl installcheck-tcl
-maybe-installcheck-tcl:
-installcheck-tcl: \
- configure-tcl
- @[ -f ./tcl/Makefile ] || exit 0; \
+.PHONY: configure-libtool maybe-configure-libtool
+maybe-configure-libtool:
+configure-libtool:
+ @test ! -f libtool/Makefile || exit 0; \
+ [ -d libtool ] || mkdir libtool; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in tcl" ; \
- (cd tcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in libtool; \
+ cd libtool || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/libtool"; \
+ libsrcdir="$$s/libtool";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/libtool"; \
+ libsrcdir="$$s/libtool";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-libtool maybe-all-libtool
+maybe-all-libtool:
+all-libtool: configure-libtool
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libtool && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-itcl installcheck-itcl
-maybe-installcheck-itcl:
+.PHONY: check-libtool maybe-check-libtool
+maybe-check-libtool:
-installcheck-itcl: \
- configure-itcl
- @[ -f ./itcl/Makefile ] || exit 0; \
+check-libtool:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-libtool maybe-install-libtool
+maybe-install-libtool:
+
+install-libtool: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-libtool info-libtool
+maybe-info-libtool:
+
+info-libtool: \
+ configure-libtool
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in itcl" ; \
- (cd itcl && \
+ echo "Doing info in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-ld installcheck-ld
-maybe-installcheck-ld:
+.PHONY: maybe-dvi-libtool dvi-libtool
+maybe-dvi-libtool:
-installcheck-ld: \
- configure-ld
- @[ -f ./ld/Makefile ] || exit 0; \
+dvi-libtool: \
+ configure-libtool
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in ld" ; \
- (cd ld && \
+ echo "Doing dvi in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-libgui installcheck-libgui
-maybe-installcheck-libgui:
+.PHONY: maybe-TAGS-libtool TAGS-libtool
+maybe-TAGS-libtool:
-installcheck-libgui: \
- configure-libgui
- @[ -f ./libgui/Makefile ] || exit 0; \
+TAGS-libtool: \
+ configure-libtool
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in libgui" ; \
- (cd libgui && \
+ echo "Doing TAGS in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-libiberty installcheck-libiberty
-maybe-installcheck-libiberty:
+.PHONY: maybe-install-info-libtool install-info-libtool
+maybe-install-info-libtool:
-installcheck-libiberty: \
- configure-libiberty
- @[ -f ./libiberty/Makefile ] || exit 0; \
+install-info-libtool: \
+ configure-libtool \
+ info-libtool
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in libiberty" ; \
- (cd libiberty && \
+ echo "Doing install-info in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
@@ -9248,218 +10930,264 @@ installcheck-libtool: \
|| exit 1
-.PHONY: maybe-installcheck-m4 installcheck-m4
-maybe-installcheck-m4:
+.PHONY: maybe-mostlyclean-libtool mostlyclean-libtool
+maybe-mostlyclean-libtool:
-installcheck-m4: \
- configure-m4
- @[ -f ./m4/Makefile ] || exit 0; \
+mostlyclean-libtool:
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in m4" ; \
- (cd m4 && \
+ echo "Doing mostlyclean in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-make installcheck-make
-maybe-installcheck-make:
+.PHONY: maybe-clean-libtool clean-libtool
+maybe-clean-libtool:
-installcheck-make: \
- configure-make
- @[ -f ./make/Makefile ] || exit 0; \
+clean-libtool:
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in make" ; \
- (cd make && \
+ echo "Doing clean in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-mmalloc installcheck-mmalloc
-maybe-installcheck-mmalloc:
+.PHONY: maybe-distclean-libtool distclean-libtool
+maybe-distclean-libtool:
-installcheck-mmalloc: \
- configure-mmalloc
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+distclean-libtool:
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing distclean in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-patch installcheck-patch
-maybe-installcheck-patch:
+.PHONY: maybe-maintainer-clean-libtool maintainer-clean-libtool
+maybe-maintainer-clean-libtool:
-installcheck-patch: \
- configure-patch
- @[ -f ./patch/Makefile ] || exit 0; \
+maintainer-clean-libtool:
+ @[ -f ./libtool/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in patch" ; \
- (cd patch && \
+ echo "Doing maintainer-clean in libtool" ; \
+ (cd libtool && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-perl installcheck-perl
-maybe-installcheck-perl:
-installcheck-perl: \
- configure-perl
- @[ -f ./perl/Makefile ] || exit 0; \
+.PHONY: configure-m4 maybe-configure-m4
+maybe-configure-m4:
+configure-m4:
+ @test ! -f m4/Makefile || exit 0; \
+ [ -d m4 ] || mkdir m4; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in perl" ; \
- (cd perl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in m4; \
+ cd m4 || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/m4"; \
+ libsrcdir="$$s/m4";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/m4"; \
+ libsrcdir="$$s/m4";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-m4 maybe-all-m4
+maybe-all-m4:
+all-m4: configure-m4
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd m4 && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-prms installcheck-prms
-maybe-installcheck-prms:
+.PHONY: check-m4 maybe-check-m4
+maybe-check-m4:
-installcheck-prms: \
- configure-prms
- @[ -f ./prms/Makefile ] || exit 0; \
+check-m4:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-m4 maybe-install-m4
+maybe-install-m4:
+
+install-m4: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-m4 info-m4
+maybe-info-m4:
+
+info-m4: \
+ configure-m4
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in prms" ; \
- (cd prms && \
+ echo "Doing info in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-rcs installcheck-rcs
-maybe-installcheck-rcs:
+.PHONY: maybe-dvi-m4 dvi-m4
+maybe-dvi-m4:
-installcheck-rcs: \
- configure-rcs
- @[ -f ./rcs/Makefile ] || exit 0; \
+dvi-m4: \
+ configure-m4
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in rcs" ; \
- (cd rcs && \
+ echo "Doing dvi in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-readline installcheck-readline
-maybe-installcheck-readline:
+.PHONY: maybe-TAGS-m4 TAGS-m4
+maybe-TAGS-m4:
-installcheck-readline: \
- configure-readline
- @[ -f ./readline/Makefile ] || exit 0; \
+TAGS-m4: \
+ configure-m4
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in readline" ; \
- (cd readline && \
+ echo "Doing TAGS in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-release installcheck-release
-maybe-installcheck-release:
+.PHONY: maybe-install-info-m4 install-info-m4
+maybe-install-info-m4:
-installcheck-release: \
- configure-release
- @[ -f ./release/Makefile ] || exit 0; \
+install-info-m4: \
+ configure-m4 \
+ info-m4
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in release" ; \
- (cd release && \
+ echo "Doing install-info in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-recode installcheck-recode
-maybe-installcheck-recode:
+.PHONY: maybe-installcheck-m4 installcheck-m4
+maybe-installcheck-m4:
-installcheck-recode: \
- configure-recode
- @[ -f ./recode/Makefile ] || exit 0; \
+installcheck-m4: \
+ configure-m4
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in recode" ; \
- (cd recode && \
+ echo "Doing installcheck in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -9468,218 +11196,264 @@ installcheck-recode: \
|| exit 1
-.PHONY: maybe-installcheck-sed installcheck-sed
-maybe-installcheck-sed:
+.PHONY: maybe-mostlyclean-m4 mostlyclean-m4
+maybe-mostlyclean-m4:
-installcheck-sed: \
- configure-sed
- @[ -f ./sed/Makefile ] || exit 0; \
+mostlyclean-m4:
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in sed" ; \
- (cd sed && \
+ echo "Doing mostlyclean in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-send-pr installcheck-send-pr
-maybe-installcheck-send-pr:
+.PHONY: maybe-clean-m4 clean-m4
+maybe-clean-m4:
-installcheck-send-pr: \
- configure-send-pr
- @[ -f ./send-pr/Makefile ] || exit 0; \
+clean-m4:
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in send-pr" ; \
- (cd send-pr && \
+ echo "Doing clean in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-shellutils installcheck-shellutils
-maybe-installcheck-shellutils:
+.PHONY: maybe-distclean-m4 distclean-m4
+maybe-distclean-m4:
-installcheck-shellutils: \
- configure-shellutils
- @[ -f ./shellutils/Makefile ] || exit 0; \
+distclean-m4:
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in shellutils" ; \
- (cd shellutils && \
+ echo "Doing distclean in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-sid installcheck-sid
-maybe-installcheck-sid:
+.PHONY: maybe-maintainer-clean-m4 maintainer-clean-m4
+maybe-maintainer-clean-m4:
-installcheck-sid: \
- configure-sid
- @[ -f ./sid/Makefile ] || exit 0; \
+maintainer-clean-m4:
+ @[ -f ./m4/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in sid" ; \
- (cd sid && \
+ echo "Doing maintainer-clean in m4" ; \
+ (cd m4 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-sim installcheck-sim
-maybe-installcheck-sim:
-installcheck-sim: \
- configure-sim
- @[ -f ./sim/Makefile ] || exit 0; \
+.PHONY: configure-make maybe-configure-make
+maybe-configure-make:
+configure-make:
+ @test ! -f make/Makefile || exit 0; \
+ [ -d make ] || mkdir make; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in sim" ; \
- (cd sim && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in make; \
+ cd make || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/make"; \
+ libsrcdir="$$s/make";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/make"; \
+ libsrcdir="$$s/make";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-make maybe-all-make
+maybe-all-make:
+all-make: configure-make
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd make && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-tar installcheck-tar
-maybe-installcheck-tar:
+.PHONY: check-make maybe-check-make
+maybe-check-make:
-installcheck-tar: \
- configure-tar
- @[ -f ./tar/Makefile ] || exit 0; \
+check-make:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd make && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-make maybe-install-make
+maybe-install-make:
+
+install-make: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd make && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-make info-make
+maybe-info-make:
+
+info-make: \
+ configure-make
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in tar" ; \
- (cd tar && \
+ echo "Doing info in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-texinfo installcheck-texinfo
-maybe-installcheck-texinfo:
+.PHONY: maybe-dvi-make dvi-make
+maybe-dvi-make:
-installcheck-texinfo: \
- configure-texinfo
- @[ -f ./texinfo/Makefile ] || exit 0; \
+dvi-make: \
+ configure-make
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in texinfo" ; \
- (cd texinfo && \
+ echo "Doing dvi in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-textutils installcheck-textutils
-maybe-installcheck-textutils:
+.PHONY: maybe-TAGS-make TAGS-make
+maybe-TAGS-make:
-installcheck-textutils: \
- configure-textutils
- @[ -f ./textutils/Makefile ] || exit 0; \
+TAGS-make: \
+ configure-make
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in textutils" ; \
- (cd textutils && \
+ echo "Doing TAGS in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-time installcheck-time
-maybe-installcheck-time:
+.PHONY: maybe-install-info-make install-info-make
+maybe-install-info-make:
-installcheck-time: \
- configure-time
- @[ -f ./time/Makefile ] || exit 0; \
+install-info-make: \
+ configure-make \
+ info-make
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in time" ; \
- (cd time && \
+ echo "Doing install-info in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-uudecode installcheck-uudecode
-maybe-installcheck-uudecode:
+.PHONY: maybe-installcheck-make installcheck-make
+maybe-installcheck-make:
-installcheck-uudecode: \
- configure-uudecode
- @[ -f ./uudecode/Makefile ] || exit 0; \
+installcheck-make: \
+ configure-make
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in uudecode" ; \
- (cd uudecode && \
+ echo "Doing installcheck in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -9688,218 +11462,260 @@ installcheck-uudecode: \
|| exit 1
-.PHONY: maybe-installcheck-wdiff installcheck-wdiff
-maybe-installcheck-wdiff:
+.PHONY: maybe-mostlyclean-make mostlyclean-make
+maybe-mostlyclean-make:
-installcheck-wdiff: \
- configure-wdiff
- @[ -f ./wdiff/Makefile ] || exit 0; \
+mostlyclean-make:
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in wdiff" ; \
- (cd wdiff && \
+ echo "Doing mostlyclean in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-zip installcheck-zip
-maybe-installcheck-zip:
+.PHONY: maybe-clean-make clean-make
+maybe-clean-make:
-installcheck-zip: \
- configure-zip
- @[ -f ./zip/Makefile ] || exit 0; \
+clean-make:
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in zip" ; \
- (cd zip && \
+ echo "Doing clean in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-zlib installcheck-zlib
-maybe-installcheck-zlib:
+.PHONY: maybe-distclean-make distclean-make
+maybe-distclean-make:
-installcheck-zlib: \
- configure-zlib
- @[ -f ./zlib/Makefile ] || exit 0; \
+distclean-make:
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in zlib" ; \
- (cd zlib && \
+ echo "Doing distclean in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-gdb installcheck-gdb
-maybe-installcheck-gdb:
+.PHONY: maybe-maintainer-clean-make maintainer-clean-make
+maybe-maintainer-clean-make:
-installcheck-gdb: \
- configure-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+maintainer-clean-make:
+ @[ -f ./make/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in gdb" ; \
- (cd gdb && \
+ echo "Doing maintainer-clean in make" ; \
+ (cd make && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-expect installcheck-expect
-maybe-installcheck-expect:
-installcheck-expect: \
- configure-expect
- @[ -f ./expect/Makefile ] || exit 0; \
+.PHONY: configure-mmalloc maybe-configure-mmalloc
+maybe-configure-mmalloc:
+configure-mmalloc:
+ @test ! -f mmalloc/Makefile || exit 0; \
+ [ -d mmalloc ] || mkdir mmalloc; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing installcheck in expect" ; \
- (cd expect && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in mmalloc; \
+ cd mmalloc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/mmalloc"; \
+ libsrcdir="$$s/mmalloc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \
+ libsrcdir="$$s/mmalloc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-mmalloc maybe-all-mmalloc
+maybe-all-mmalloc:
+all-mmalloc: configure-mmalloc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-guile installcheck-guile
-maybe-installcheck-guile:
+.PHONY: check-mmalloc maybe-check-mmalloc
+maybe-check-mmalloc:
-installcheck-guile: \
- configure-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+check-mmalloc:
+
+
+.PHONY: install-mmalloc maybe-install-mmalloc
+maybe-install-mmalloc:
+
+install-mmalloc: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-mmalloc info-mmalloc
+maybe-info-mmalloc:
+
+info-mmalloc: \
+ configure-mmalloc
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in guile" ; \
- (cd guile && \
+ echo "Doing info in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-tk installcheck-tk
-maybe-installcheck-tk:
+.PHONY: maybe-dvi-mmalloc dvi-mmalloc
+maybe-dvi-mmalloc:
-installcheck-tk: \
- configure-tk
- @[ -f ./tk/Makefile ] || exit 0; \
+dvi-mmalloc: \
+ configure-mmalloc
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in tk" ; \
- (cd tk && \
+ echo "Doing dvi in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-tix installcheck-tix
-maybe-installcheck-tix:
+.PHONY: maybe-TAGS-mmalloc TAGS-mmalloc
+maybe-TAGS-mmalloc:
-installcheck-tix: \
- configure-tix
- @[ -f ./tix/Makefile ] || exit 0; \
+TAGS-mmalloc: \
+ configure-mmalloc
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in tix" ; \
- (cd tix && \
+ echo "Doing TAGS in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap
-maybe-installcheck-libtermcap:
+.PHONY: maybe-install-info-mmalloc install-info-mmalloc
+maybe-install-info-mmalloc:
-installcheck-libtermcap: \
- configure-libtermcap
- @[ -f ./libtermcap/Makefile ] || exit 0; \
+install-info-mmalloc: \
+ configure-mmalloc \
+ info-mmalloc
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in libtermcap" ; \
- (cd libtermcap && \
+ echo "Doing install-info in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-utils installcheck-utils
-maybe-installcheck-utils:
+.PHONY: maybe-installcheck-mmalloc installcheck-mmalloc
+maybe-installcheck-mmalloc:
-installcheck-utils: \
- configure-utils
- @[ -f ./utils/Makefile ] || exit 0; \
+installcheck-mmalloc: \
+ configure-mmalloc
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing installcheck in utils" ; \
- (cd utils && \
+ echo "Doing installcheck in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -9908,265 +11724,264 @@ installcheck-utils: \
|| exit 1
+.PHONY: maybe-mostlyclean-mmalloc mostlyclean-mmalloc
+maybe-mostlyclean-mmalloc:
-# Target modules.
-
-.PHONY: maybe-installcheck-target-libstdc++-v3 installcheck-target-libstdc++-v3
-maybe-installcheck-target-libstdc++-v3:
-
-installcheck-target-libstdc++-v3: \
- configure-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+mostlyclean-mmalloc:
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing mostlyclean in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-target-newlib installcheck-target-newlib
-maybe-installcheck-target-newlib:
+.PHONY: maybe-clean-mmalloc clean-mmalloc
+maybe-clean-mmalloc:
-installcheck-target-newlib: \
- configure-target-newlib
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+clean-mmalloc:
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing clean in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-target-libf2c installcheck-target-libf2c
-maybe-installcheck-target-libf2c:
+.PHONY: maybe-distclean-mmalloc distclean-mmalloc
+maybe-distclean-mmalloc:
-installcheck-target-libf2c: \
- configure-target-libf2c
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+distclean-mmalloc:
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing distclean in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-target-libobjc installcheck-target-libobjc
-maybe-installcheck-target-libobjc:
+.PHONY: maybe-maintainer-clean-mmalloc maintainer-clean-mmalloc
+maybe-maintainer-clean-mmalloc:
-installcheck-target-libobjc: \
- configure-target-libobjc
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+maintainer-clean-mmalloc:
+ @[ -f ./mmalloc/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ echo "Doing maintainer-clean in mmalloc" ; \
+ (cd mmalloc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-target-libtermcap installcheck-target-libtermcap
-maybe-installcheck-target-libtermcap:
-installcheck-target-libtermcap: \
- configure-target-libtermcap
- @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
+.PHONY: configure-patch maybe-configure-patch
+maybe-configure-patch:
+configure-patch:
+ @test ! -f patch/Makefile || exit 0; \
+ [ -d patch ] || mkdir patch; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libtermcap && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in patch; \
+ cd patch || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/patch"; \
+ libsrcdir="$$s/patch";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/patch"; \
+ libsrcdir="$$s/patch";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-patch maybe-all-patch
+maybe-all-patch:
+all-patch: configure-patch
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd patch && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-installcheck-target-winsup installcheck-target-winsup
-maybe-installcheck-target-winsup:
+.PHONY: check-patch maybe-check-patch
+maybe-check-patch:
-installcheck-target-winsup: \
- configure-target-winsup
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-patch:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
- || exit 1
+ (cd patch && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-installcheck-target-libgloss installcheck-target-libgloss
-maybe-installcheck-target-libgloss:
+.PHONY: install-patch maybe-install-patch
+maybe-install-patch:
-installcheck-target-libgloss: \
- configure-target-libgloss
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-patch: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
- || exit 1
+ (cd patch && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-installcheck-target-libiberty installcheck-target-libiberty
-maybe-installcheck-target-libiberty:
+# Other targets (info, dvi, etc.)
-installcheck-target-libiberty: \
- configure-target-libiberty
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-patch info-patch
+maybe-info-patch:
+
+info-patch: \
+ configure-patch
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing info in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ info) \
|| exit 1
-.PHONY: maybe-installcheck-target-gperf installcheck-target-gperf
-maybe-installcheck-target-gperf:
+.PHONY: maybe-dvi-patch dvi-patch
+maybe-dvi-patch:
-installcheck-target-gperf: \
- configure-target-gperf
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+dvi-patch: \
+ configure-patch
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing dvi in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ dvi) \
|| exit 1
-.PHONY: maybe-installcheck-target-examples installcheck-target-examples
-maybe-installcheck-target-examples:
+.PHONY: maybe-TAGS-patch TAGS-patch
+maybe-TAGS-patch:
-installcheck-target-examples: \
- configure-target-examples
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+TAGS-patch: \
+ configure-patch
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing TAGS in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-installcheck-target-libffi installcheck-target-libffi
-maybe-installcheck-target-libffi:
+.PHONY: maybe-install-info-patch install-info-patch
+maybe-install-info-patch:
-installcheck-target-libffi: \
- configure-target-libffi
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+install-info-patch: \
+ configure-patch \
+ info-patch
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing install-info in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ install-info) \
|| exit 1
-.PHONY: maybe-installcheck-target-libjava installcheck-target-libjava
-maybe-installcheck-target-libjava:
+.PHONY: maybe-installcheck-patch installcheck-patch
+maybe-installcheck-patch:
-installcheck-target-libjava: \
- configure-target-libjava
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+installcheck-patch: \
+ configure-patch
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing installcheck in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -10175,347 +11990,285 @@ installcheck-target-libjava: \
|| exit 1
-.PHONY: maybe-installcheck-target-zlib installcheck-target-zlib
-maybe-installcheck-target-zlib:
+.PHONY: maybe-mostlyclean-patch mostlyclean-patch
+maybe-mostlyclean-patch:
-installcheck-target-zlib: \
- configure-target-zlib
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+mostlyclean-patch:
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing mostlyclean in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc
-maybe-installcheck-target-boehm-gc:
+.PHONY: maybe-clean-patch clean-patch
+maybe-clean-patch:
-installcheck-target-boehm-gc: \
- configure-target-boehm-gc
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+clean-patch:
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing clean in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ clean) \
|| exit 1
-.PHONY: maybe-installcheck-target-qthreads installcheck-target-qthreads
-maybe-installcheck-target-qthreads:
+.PHONY: maybe-distclean-patch distclean-patch
+maybe-distclean-patch:
-installcheck-target-qthreads: \
- configure-target-qthreads
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+distclean-patch:
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing distclean in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ distclean) \
|| exit 1
-.PHONY: maybe-installcheck-target-rda installcheck-target-rda
-maybe-installcheck-target-rda:
+.PHONY: maybe-maintainer-clean-patch maintainer-clean-patch
+maybe-maintainer-clean-patch:
-installcheck-target-rda: \
- configure-target-rda
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+maintainer-clean-patch:
+ @[ -f ./patch/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ echo "Doing maintainer-clean in patch" ; \
+ (cd patch && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-installcheck-target-libada installcheck-target-libada
-maybe-installcheck-target-libada:
-installcheck-target-libada: \
- configure-target-libada
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+.PHONY: configure-perl maybe-configure-perl
+maybe-configure-perl:
+configure-perl:
+ @test ! -f perl/Makefile || exit 0; \
+ [ -d perl ] || mkdir perl; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libada && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- installcheck) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in perl; \
+ cd perl || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/perl"; \
+ libsrcdir="$$s/perl";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/perl"; \
+ libsrcdir="$$s/perl";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-perl maybe-all-perl
+maybe-all-perl:
+all-perl: configure-perl
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd perl && $(MAKE) $(FLAGS_TO_PASS) all)
+.PHONY: check-perl maybe-check-perl
+maybe-check-perl:
-.PHONY: do-mostlyclean
-do-mostlyclean: mostlyclean-host mostlyclean-target
+check-perl:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd perl && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: mostlyclean-host
-mostlyclean-host: maybe-mostlyclean-gcc \
- maybe-mostlyclean-ash \
- maybe-mostlyclean-autoconf \
- maybe-mostlyclean-automake \
- maybe-mostlyclean-bash \
- maybe-mostlyclean-bfd \
- maybe-mostlyclean-opcodes \
- maybe-mostlyclean-binutils \
- maybe-mostlyclean-bison \
- maybe-mostlyclean-byacc \
- maybe-mostlyclean-bzip2 \
- maybe-mostlyclean-dejagnu \
- maybe-mostlyclean-diff \
- maybe-mostlyclean-dosutils \
- maybe-mostlyclean-etc \
- maybe-mostlyclean-fastjar \
- maybe-mostlyclean-fileutils \
- maybe-mostlyclean-findutils \
- maybe-mostlyclean-find \
- maybe-mostlyclean-flex \
- maybe-mostlyclean-gas \
- maybe-mostlyclean-gawk \
- maybe-mostlyclean-gettext \
- maybe-mostlyclean-gnuserv \
- maybe-mostlyclean-gprof \
- maybe-mostlyclean-gzip \
- maybe-mostlyclean-hello \
- maybe-mostlyclean-indent \
- maybe-mostlyclean-intl \
- maybe-mostlyclean-tcl \
- maybe-mostlyclean-itcl \
- maybe-mostlyclean-ld \
- maybe-mostlyclean-libgui \
- maybe-mostlyclean-libiberty \
- maybe-mostlyclean-libtool \
- maybe-mostlyclean-m4 \
- maybe-mostlyclean-make \
- maybe-mostlyclean-mmalloc \
- maybe-mostlyclean-patch \
- maybe-mostlyclean-perl \
- maybe-mostlyclean-prms \
- maybe-mostlyclean-rcs \
- maybe-mostlyclean-readline \
- maybe-mostlyclean-release \
- maybe-mostlyclean-recode \
- maybe-mostlyclean-sed \
- maybe-mostlyclean-send-pr \
- maybe-mostlyclean-shellutils \
- maybe-mostlyclean-sid \
- maybe-mostlyclean-sim \
- maybe-mostlyclean-tar \
- maybe-mostlyclean-texinfo \
- maybe-mostlyclean-textutils \
- maybe-mostlyclean-time \
- maybe-mostlyclean-uudecode \
- maybe-mostlyclean-wdiff \
- maybe-mostlyclean-zip \
- maybe-mostlyclean-zlib \
- maybe-mostlyclean-gdb \
- maybe-mostlyclean-expect \
- maybe-mostlyclean-guile \
- maybe-mostlyclean-tk \
- maybe-mostlyclean-tix \
- maybe-mostlyclean-libtermcap \
- maybe-mostlyclean-utils
-.PHONY: mostlyclean-target
-mostlyclean-target: \
- maybe-mostlyclean-target-libstdc++-v3 \
- maybe-mostlyclean-target-newlib \
- maybe-mostlyclean-target-libf2c \
- maybe-mostlyclean-target-libobjc \
- maybe-mostlyclean-target-libtermcap \
- maybe-mostlyclean-target-winsup \
- maybe-mostlyclean-target-libgloss \
- maybe-mostlyclean-target-libiberty \
- maybe-mostlyclean-target-gperf \
- maybe-mostlyclean-target-examples \
- maybe-mostlyclean-target-libffi \
- maybe-mostlyclean-target-libjava \
- maybe-mostlyclean-target-zlib \
- maybe-mostlyclean-target-boehm-gc \
- maybe-mostlyclean-target-qthreads \
- maybe-mostlyclean-target-rda \
- maybe-mostlyclean-target-libada
+.PHONY: install-perl maybe-install-perl
+maybe-install-perl:
-# GCC, the eternal special case
-.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc
-maybe-mostlyclean-gcc:
-mostlyclean-gcc:
- @[ -f ./gcc/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-perl: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in gcc" ; \
- (cd gcc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd perl && $(MAKE) $(FLAGS_TO_PASS) install)
-# Host modules.
-.PHONY: maybe-mostlyclean-ash mostlyclean-ash
-maybe-mostlyclean-ash:
+# Other targets (info, dvi, etc.)
-mostlyclean-ash:
- @[ -f ./ash/Makefile ] || exit 0; \
+.PHONY: maybe-info-perl info-perl
+maybe-info-perl:
+
+info-perl: \
+ configure-perl
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in ash" ; \
- (cd ash && \
+ echo "Doing info in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-autoconf mostlyclean-autoconf
-maybe-mostlyclean-autoconf:
+.PHONY: maybe-dvi-perl dvi-perl
+maybe-dvi-perl:
-mostlyclean-autoconf:
- @[ -f ./autoconf/Makefile ] || exit 0; \
+dvi-perl: \
+ configure-perl
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in autoconf" ; \
- (cd autoconf && \
+ echo "Doing dvi in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-automake mostlyclean-automake
-maybe-mostlyclean-automake:
+.PHONY: maybe-TAGS-perl TAGS-perl
+maybe-TAGS-perl:
-mostlyclean-automake:
- @[ -f ./automake/Makefile ] || exit 0; \
+TAGS-perl: \
+ configure-perl
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in automake" ; \
- (cd automake && \
+ echo "Doing TAGS in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-bash mostlyclean-bash
-maybe-mostlyclean-bash:
+.PHONY: maybe-install-info-perl install-info-perl
+maybe-install-info-perl:
-mostlyclean-bash:
- @[ -f ./bash/Makefile ] || exit 0; \
+install-info-perl: \
+ configure-perl \
+ info-perl
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in bash" ; \
- (cd bash && \
+ echo "Doing install-info in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-bfd mostlyclean-bfd
-maybe-mostlyclean-bfd:
+.PHONY: maybe-installcheck-perl installcheck-perl
+maybe-installcheck-perl:
-mostlyclean-bfd:
- @[ -f ./bfd/Makefile ] || exit 0; \
+installcheck-perl: \
+ configure-perl
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in bfd" ; \
- (cd bfd && \
+ echo "Doing installcheck in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-opcodes mostlyclean-opcodes
-maybe-mostlyclean-opcodes:
+.PHONY: maybe-mostlyclean-perl mostlyclean-perl
+maybe-mostlyclean-perl:
-mostlyclean-opcodes:
- @[ -f ./opcodes/Makefile ] || exit 0; \
+mostlyclean-perl:
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in opcodes" ; \
- (cd opcodes && \
+ echo "Doing mostlyclean in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -10524,250 +12277,264 @@ mostlyclean-opcodes:
|| exit 1
-.PHONY: maybe-mostlyclean-binutils mostlyclean-binutils
-maybe-mostlyclean-binutils:
+.PHONY: maybe-clean-perl clean-perl
+maybe-clean-perl:
-mostlyclean-binutils:
- @[ -f ./binutils/Makefile ] || exit 0; \
+clean-perl:
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in binutils" ; \
- (cd binutils && \
+ echo "Doing clean in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-bison mostlyclean-bison
-maybe-mostlyclean-bison:
+.PHONY: maybe-distclean-perl distclean-perl
+maybe-distclean-perl:
-mostlyclean-bison:
- @[ -f ./bison/Makefile ] || exit 0; \
+distclean-perl:
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in bison" ; \
- (cd bison && \
+ echo "Doing distclean in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-byacc mostlyclean-byacc
-maybe-mostlyclean-byacc:
+.PHONY: maybe-maintainer-clean-perl maintainer-clean-perl
+maybe-maintainer-clean-perl:
-mostlyclean-byacc:
- @[ -f ./byacc/Makefile ] || exit 0; \
+maintainer-clean-perl:
+ @[ -f ./perl/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in byacc" ; \
- (cd byacc && \
+ echo "Doing maintainer-clean in perl" ; \
+ (cd perl && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-bzip2 mostlyclean-bzip2
-maybe-mostlyclean-bzip2:
-mostlyclean-bzip2:
- @[ -f ./bzip2/Makefile ] || exit 0; \
+.PHONY: configure-prms maybe-configure-prms
+maybe-configure-prms:
+configure-prms:
+ @test ! -f prms/Makefile || exit 0; \
+ [ -d prms ] || mkdir prms; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in bzip2" ; \
- (cd bzip2 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in prms; \
+ cd prms || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/prms"; \
+ libsrcdir="$$s/prms";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/prms"; \
+ libsrcdir="$$s/prms";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-prms maybe-all-prms
+maybe-all-prms:
+all-prms: configure-prms
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd prms && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-dejagnu mostlyclean-dejagnu
-maybe-mostlyclean-dejagnu:
+.PHONY: check-prms maybe-check-prms
+maybe-check-prms:
-mostlyclean-dejagnu:
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-prms:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in dejagnu" ; \
- (cd dejagnu && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd prms && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-mostlyclean-diff mostlyclean-diff
-maybe-mostlyclean-diff:
+.PHONY: install-prms maybe-install-prms
+maybe-install-prms:
-mostlyclean-diff:
- @[ -f ./diff/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-prms: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in diff" ; \
- (cd diff && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd prms && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-mostlyclean-dosutils mostlyclean-dosutils
-maybe-mostlyclean-dosutils:
+# Other targets (info, dvi, etc.)
-mostlyclean-dosutils:
- @[ -f ./dosutils/Makefile ] || exit 0; \
+.PHONY: maybe-info-prms info-prms
+maybe-info-prms:
+
+info-prms: \
+ configure-prms
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in dosutils" ; \
- (cd dosutils && \
+ echo "Doing info in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-etc mostlyclean-etc
-maybe-mostlyclean-etc:
+.PHONY: maybe-dvi-prms dvi-prms
+maybe-dvi-prms:
-mostlyclean-etc:
- @[ -f ./etc/Makefile ] || exit 0; \
+dvi-prms: \
+ configure-prms
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in etc" ; \
- (cd etc && \
+ echo "Doing dvi in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-fastjar mostlyclean-fastjar
-maybe-mostlyclean-fastjar:
+.PHONY: maybe-TAGS-prms TAGS-prms
+maybe-TAGS-prms:
-mostlyclean-fastjar:
- @[ -f ./fastjar/Makefile ] || exit 0; \
+TAGS-prms: \
+ configure-prms
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in fastjar" ; \
- (cd fastjar && \
+ echo "Doing TAGS in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-fileutils mostlyclean-fileutils
-maybe-mostlyclean-fileutils:
+.PHONY: maybe-install-info-prms install-info-prms
+maybe-install-info-prms:
-mostlyclean-fileutils:
- @[ -f ./fileutils/Makefile ] || exit 0; \
+install-info-prms: \
+ configure-prms \
+ info-prms
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in fileutils" ; \
- (cd fileutils && \
+ echo "Doing install-info in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-findutils mostlyclean-findutils
-maybe-mostlyclean-findutils:
+.PHONY: maybe-installcheck-prms installcheck-prms
+maybe-installcheck-prms:
-mostlyclean-findutils:
- @[ -f ./findutils/Makefile ] || exit 0; \
+installcheck-prms: \
+ configure-prms
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in findutils" ; \
- (cd findutils && \
+ echo "Doing installcheck in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-find mostlyclean-find
-maybe-mostlyclean-find:
+.PHONY: maybe-mostlyclean-prms mostlyclean-prms
+maybe-mostlyclean-prms:
-mostlyclean-find:
- @[ -f ./find/Makefile ] || exit 0; \
+mostlyclean-prms:
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in find" ; \
- (cd find && \
+ echo "Doing mostlyclean in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -10776,257 +12543,264 @@ mostlyclean-find:
|| exit 1
-.PHONY: maybe-mostlyclean-flex mostlyclean-flex
-maybe-mostlyclean-flex:
+.PHONY: maybe-clean-prms clean-prms
+maybe-clean-prms:
-mostlyclean-flex:
- @[ -f ./flex/Makefile ] || exit 0; \
+clean-prms:
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in flex" ; \
- (cd flex && \
+ echo "Doing clean in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-gas mostlyclean-gas
-maybe-mostlyclean-gas:
+.PHONY: maybe-distclean-prms distclean-prms
+maybe-distclean-prms:
-mostlyclean-gas:
- @[ -f ./gas/Makefile ] || exit 0; \
+distclean-prms:
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in gas" ; \
- (cd gas && \
+ echo "Doing distclean in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk
-maybe-mostlyclean-gawk:
+.PHONY: maybe-maintainer-clean-prms maintainer-clean-prms
+maybe-maintainer-clean-prms:
-mostlyclean-gawk:
- @[ -f ./gawk/Makefile ] || exit 0; \
+maintainer-clean-prms:
+ @[ -f ./prms/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in gawk" ; \
- (cd gawk && \
+ echo "Doing maintainer-clean in prms" ; \
+ (cd prms && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext
-maybe-mostlyclean-gettext:
-mostlyclean-gettext:
- @[ -f ./gettext/Makefile ] || exit 0; \
+.PHONY: configure-rcs maybe-configure-rcs
+maybe-configure-rcs:
+configure-rcs:
+ @test ! -f rcs/Makefile || exit 0; \
+ [ -d rcs ] || mkdir rcs; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in gettext" ; \
- (cd gettext && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in rcs; \
+ cd rcs || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/rcs"; \
+ libsrcdir="$$s/rcs";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/rcs"; \
+ libsrcdir="$$s/rcs";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-rcs maybe-all-rcs
+maybe-all-rcs:
+all-rcs: configure-rcs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd rcs && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv
-maybe-mostlyclean-gnuserv:
+.PHONY: check-rcs maybe-check-rcs
+maybe-check-rcs:
-mostlyclean-gnuserv:
- @[ -f ./gnuserv/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-rcs:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in gnuserv" ; \
- (cd gnuserv && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof
-maybe-mostlyclean-gprof:
+.PHONY: install-rcs maybe-install-rcs
+maybe-install-rcs:
-mostlyclean-gprof:
- @[ -f ./gprof/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-rcs: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in gprof" ; \
- (cd gprof && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip
-maybe-mostlyclean-gzip:
+# Other targets (info, dvi, etc.)
-mostlyclean-gzip:
- @[ -f ./gzip/Makefile ] || exit 0; \
+.PHONY: maybe-info-rcs info-rcs
+maybe-info-rcs:
+
+info-rcs: \
+ configure-rcs
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in gzip" ; \
- (cd gzip && \
+ echo "Doing info in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-hello mostlyclean-hello
-maybe-mostlyclean-hello:
+.PHONY: maybe-dvi-rcs dvi-rcs
+maybe-dvi-rcs:
-mostlyclean-hello:
- @[ -f ./hello/Makefile ] || exit 0; \
+dvi-rcs: \
+ configure-rcs
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in hello" ; \
- (cd hello && \
+ echo "Doing dvi in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-indent mostlyclean-indent
-maybe-mostlyclean-indent:
+.PHONY: maybe-TAGS-rcs TAGS-rcs
+maybe-TAGS-rcs:
-mostlyclean-indent:
- @[ -f ./indent/Makefile ] || exit 0; \
+TAGS-rcs: \
+ configure-rcs
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in indent" ; \
- (cd indent && \
+ echo "Doing TAGS in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-intl mostlyclean-intl
-maybe-mostlyclean-intl:
+.PHONY: maybe-install-info-rcs install-info-rcs
+maybe-install-info-rcs:
-mostlyclean-intl:
- @[ -f ./intl/Makefile ] || exit 0; \
+install-info-rcs: \
+ configure-rcs \
+ info-rcs
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in intl" ; \
- (cd intl && \
+ echo "Doing install-info in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl
-maybe-mostlyclean-tcl:
-
-# tcl doesn't support mostlyclean.
-mostlyclean-tcl:
-
-
-.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl
-maybe-mostlyclean-itcl:
+.PHONY: maybe-installcheck-rcs installcheck-rcs
+maybe-installcheck-rcs:
-mostlyclean-itcl:
- @[ -f ./itcl/Makefile ] || exit 0; \
+installcheck-rcs: \
+ configure-rcs
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in itcl" ; \
- (cd itcl && \
+ echo "Doing installcheck in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-ld mostlyclean-ld
-maybe-mostlyclean-ld:
+.PHONY: maybe-mostlyclean-rcs mostlyclean-rcs
+maybe-mostlyclean-rcs:
-mostlyclean-ld:
- @[ -f ./ld/Makefile ] || exit 0; \
+mostlyclean-rcs:
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in ld" ; \
- (cd ld && \
+ echo "Doing mostlyclean in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -11035,213 +12809,248 @@ mostlyclean-ld:
|| exit 1
-.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui
-maybe-mostlyclean-libgui:
+.PHONY: maybe-clean-rcs clean-rcs
+maybe-clean-rcs:
-mostlyclean-libgui:
- @[ -f ./libgui/Makefile ] || exit 0; \
+clean-rcs:
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in libgui" ; \
- (cd libgui && \
+ echo "Doing clean in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-libiberty mostlyclean-libiberty
-maybe-mostlyclean-libiberty:
+.PHONY: maybe-distclean-rcs distclean-rcs
+maybe-distclean-rcs:
-mostlyclean-libiberty:
- @[ -f ./libiberty/Makefile ] || exit 0; \
+distclean-rcs:
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in libiberty" ; \
- (cd libiberty && \
+ echo "Doing distclean in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-libtool mostlyclean-libtool
-maybe-mostlyclean-libtool:
+.PHONY: maybe-maintainer-clean-rcs maintainer-clean-rcs
+maybe-maintainer-clean-rcs:
-mostlyclean-libtool:
- @[ -f ./libtool/Makefile ] || exit 0; \
+maintainer-clean-rcs:
+ @[ -f ./rcs/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in libtool" ; \
- (cd libtool && \
+ echo "Doing maintainer-clean in rcs" ; \
+ (cd rcs && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-m4 mostlyclean-m4
-maybe-mostlyclean-m4:
-mostlyclean-m4:
- @[ -f ./m4/Makefile ] || exit 0; \
+.PHONY: configure-readline maybe-configure-readline
+maybe-configure-readline:
+configure-readline:
+ @test ! -f readline/Makefile || exit 0; \
+ [ -d readline ] || mkdir readline; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in m4" ; \
- (cd m4 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in readline; \
+ cd readline || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/readline"; \
+ libsrcdir="$$s/readline";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/readline"; \
+ libsrcdir="$$s/readline";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-readline maybe-all-readline
+maybe-all-readline:
+all-readline: configure-readline
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd readline && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-make mostlyclean-make
-maybe-mostlyclean-make:
+.PHONY: check-readline maybe-check-readline
+maybe-check-readline:
-mostlyclean-make:
- @[ -f ./make/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-readline:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in make" ; \
- (cd make && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd readline && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-mostlyclean-mmalloc mostlyclean-mmalloc
-maybe-mostlyclean-mmalloc:
+.PHONY: install-readline maybe-install-readline
+maybe-install-readline:
-mostlyclean-mmalloc:
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+install-readline: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd readline && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-readline info-readline
+maybe-info-readline:
+
+info-readline: \
+ configure-readline
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing info in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-patch mostlyclean-patch
-maybe-mostlyclean-patch:
+.PHONY: maybe-dvi-readline dvi-readline
+maybe-dvi-readline:
-mostlyclean-patch:
- @[ -f ./patch/Makefile ] || exit 0; \
+dvi-readline: \
+ configure-readline
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in patch" ; \
- (cd patch && \
+ echo "Doing dvi in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-perl mostlyclean-perl
-maybe-mostlyclean-perl:
+.PHONY: maybe-TAGS-readline TAGS-readline
+maybe-TAGS-readline:
-mostlyclean-perl:
- @[ -f ./perl/Makefile ] || exit 0; \
+TAGS-readline: \
+ configure-readline
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in perl" ; \
- (cd perl && \
+ echo "Doing TAGS in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-prms mostlyclean-prms
-maybe-mostlyclean-prms:
+.PHONY: maybe-install-info-readline install-info-readline
+maybe-install-info-readline:
-mostlyclean-prms:
- @[ -f ./prms/Makefile ] || exit 0; \
+install-info-readline: \
+ configure-readline \
+ info-readline
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in prms" ; \
- (cd prms && \
+ echo "Doing install-info in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-rcs mostlyclean-rcs
-maybe-mostlyclean-rcs:
+.PHONY: maybe-installcheck-readline installcheck-readline
+maybe-installcheck-readline:
-mostlyclean-rcs:
- @[ -f ./rcs/Makefile ] || exit 0; \
+installcheck-readline: \
+ configure-readline
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in rcs" ; \
- (cd rcs && \
+ echo "Doing installcheck in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
@@ -11266,208 +13075,256 @@ mostlyclean-readline:
|| exit 1
-.PHONY: maybe-mostlyclean-release mostlyclean-release
-maybe-mostlyclean-release:
+.PHONY: maybe-clean-readline clean-readline
+maybe-clean-readline:
-mostlyclean-release:
- @[ -f ./release/Makefile ] || exit 0; \
+clean-readline:
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in release" ; \
- (cd release && \
+ echo "Doing clean in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-recode mostlyclean-recode
-maybe-mostlyclean-recode:
+.PHONY: maybe-distclean-readline distclean-readline
+maybe-distclean-readline:
-mostlyclean-recode:
- @[ -f ./recode/Makefile ] || exit 0; \
+distclean-readline:
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in recode" ; \
- (cd recode && \
+ echo "Doing distclean in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-sed mostlyclean-sed
-maybe-mostlyclean-sed:
+.PHONY: maybe-maintainer-clean-readline maintainer-clean-readline
+maybe-maintainer-clean-readline:
-mostlyclean-sed:
- @[ -f ./sed/Makefile ] || exit 0; \
+maintainer-clean-readline:
+ @[ -f ./readline/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in sed" ; \
- (cd sed && \
+ echo "Doing maintainer-clean in readline" ; \
+ (cd readline && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-send-pr mostlyclean-send-pr
-maybe-mostlyclean-send-pr:
-mostlyclean-send-pr:
- @[ -f ./send-pr/Makefile ] || exit 0; \
+.PHONY: configure-release maybe-configure-release
+maybe-configure-release:
+configure-release:
+ @test ! -f release/Makefile || exit 0; \
+ [ -d release ] || mkdir release; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in send-pr" ; \
- (cd send-pr && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in release; \
+ cd release || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/release"; \
+ libsrcdir="$$s/release";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/release"; \
+ libsrcdir="$$s/release";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-release maybe-all-release
+maybe-all-release:
+all-release: configure-release
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd release && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-shellutils mostlyclean-shellutils
-maybe-mostlyclean-shellutils:
+.PHONY: check-release maybe-check-release
+maybe-check-release:
-mostlyclean-shellutils:
- @[ -f ./shellutils/Makefile ] || exit 0; \
+check-release:
+
+
+.PHONY: install-release maybe-install-release
+maybe-install-release:
+
+install-release:
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-release info-release
+maybe-info-release:
+
+info-release: \
+ configure-release
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in shellutils" ; \
- (cd shellutils && \
+ echo "Doing info in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-sid mostlyclean-sid
-maybe-mostlyclean-sid:
+.PHONY: maybe-dvi-release dvi-release
+maybe-dvi-release:
-mostlyclean-sid:
- @[ -f ./sid/Makefile ] || exit 0; \
+dvi-release: \
+ configure-release
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in sid" ; \
- (cd sid && \
+ echo "Doing dvi in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-sim mostlyclean-sim
-maybe-mostlyclean-sim:
+.PHONY: maybe-TAGS-release TAGS-release
+maybe-TAGS-release:
-mostlyclean-sim:
- @[ -f ./sim/Makefile ] || exit 0; \
+TAGS-release: \
+ configure-release
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in sim" ; \
- (cd sim && \
+ echo "Doing TAGS in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-tar mostlyclean-tar
-maybe-mostlyclean-tar:
+.PHONY: maybe-install-info-release install-info-release
+maybe-install-info-release:
-mostlyclean-tar:
- @[ -f ./tar/Makefile ] || exit 0; \
+install-info-release: \
+ configure-release \
+ info-release
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in tar" ; \
- (cd tar && \
+ echo "Doing install-info in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-texinfo mostlyclean-texinfo
-maybe-mostlyclean-texinfo:
+.PHONY: maybe-installcheck-release installcheck-release
+maybe-installcheck-release:
-mostlyclean-texinfo:
- @[ -f ./texinfo/Makefile ] || exit 0; \
+installcheck-release: \
+ configure-release
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in texinfo" ; \
- (cd texinfo && \
+ echo "Doing installcheck in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-textutils mostlyclean-textutils
-maybe-mostlyclean-textutils:
+.PHONY: maybe-mostlyclean-release mostlyclean-release
+maybe-mostlyclean-release:
-mostlyclean-textutils:
- @[ -f ./textutils/Makefile ] || exit 0; \
+mostlyclean-release:
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in textutils" ; \
- (cd textutils && \
+ echo "Doing mostlyclean in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -11476,236 +13333,264 @@ mostlyclean-textutils:
|| exit 1
-.PHONY: maybe-mostlyclean-time mostlyclean-time
-maybe-mostlyclean-time:
+.PHONY: maybe-clean-release clean-release
+maybe-clean-release:
-mostlyclean-time:
- @[ -f ./time/Makefile ] || exit 0; \
+clean-release:
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in time" ; \
- (cd time && \
+ echo "Doing clean in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-uudecode mostlyclean-uudecode
-maybe-mostlyclean-uudecode:
+.PHONY: maybe-distclean-release distclean-release
+maybe-distclean-release:
-mostlyclean-uudecode:
- @[ -f ./uudecode/Makefile ] || exit 0; \
+distclean-release:
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in uudecode" ; \
- (cd uudecode && \
+ echo "Doing distclean in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-wdiff mostlyclean-wdiff
-maybe-mostlyclean-wdiff:
+.PHONY: maybe-maintainer-clean-release maintainer-clean-release
+maybe-maintainer-clean-release:
-mostlyclean-wdiff:
- @[ -f ./wdiff/Makefile ] || exit 0; \
+maintainer-clean-release:
+ @[ -f ./release/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in wdiff" ; \
- (cd wdiff && \
+ echo "Doing maintainer-clean in release" ; \
+ (cd release && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-zip mostlyclean-zip
-maybe-mostlyclean-zip:
-mostlyclean-zip:
- @[ -f ./zip/Makefile ] || exit 0; \
+.PHONY: configure-recode maybe-configure-recode
+maybe-configure-recode:
+configure-recode:
+ @test ! -f recode/Makefile || exit 0; \
+ [ -d recode ] || mkdir recode; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in zip" ; \
- (cd zip && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in recode; \
+ cd recode || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/recode"; \
+ libsrcdir="$$s/recode";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/recode"; \
+ libsrcdir="$$s/recode";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-recode maybe-all-recode
+maybe-all-recode:
+all-recode: configure-recode
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd recode && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-zlib mostlyclean-zlib
-maybe-mostlyclean-zlib:
+.PHONY: check-recode maybe-check-recode
+maybe-check-recode:
-mostlyclean-zlib:
- @[ -f ./zlib/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-recode:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing mostlyclean in zlib" ; \
- (cd zlib && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd recode && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-mostlyclean-gdb mostlyclean-gdb
-maybe-mostlyclean-gdb:
+.PHONY: install-recode maybe-install-recode
+maybe-install-recode:
-mostlyclean-gdb:
- @[ -f ./gdb/Makefile ] || exit 0; \
+install-recode: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd recode && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-recode info-recode
+maybe-info-recode:
+
+info-recode: \
+ configure-recode
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in gdb" ; \
- (cd gdb && \
+ echo "Doing info in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-expect mostlyclean-expect
-maybe-mostlyclean-expect:
+.PHONY: maybe-dvi-recode dvi-recode
+maybe-dvi-recode:
-mostlyclean-expect:
- @[ -f ./expect/Makefile ] || exit 0; \
+dvi-recode: \
+ configure-recode
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in expect" ; \
- (cd expect && \
+ echo "Doing dvi in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-guile mostlyclean-guile
-maybe-mostlyclean-guile:
+.PHONY: maybe-TAGS-recode TAGS-recode
+maybe-TAGS-recode:
-mostlyclean-guile:
- @[ -f ./guile/Makefile ] || exit 0; \
+TAGS-recode: \
+ configure-recode
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in guile" ; \
- (cd guile && \
+ echo "Doing TAGS in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-tk mostlyclean-tk
-maybe-mostlyclean-tk:
+.PHONY: maybe-install-info-recode install-info-recode
+maybe-install-info-recode:
-mostlyclean-tk:
- @[ -f ./tk/Makefile ] || exit 0; \
+install-info-recode: \
+ configure-recode \
+ info-recode
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in tk" ; \
- (cd tk && \
+ echo "Doing install-info in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-tix mostlyclean-tix
-maybe-mostlyclean-tix:
+.PHONY: maybe-installcheck-recode installcheck-recode
+maybe-installcheck-recode:
-mostlyclean-tix:
- @[ -f ./tix/Makefile ] || exit 0; \
+installcheck-recode: \
+ configure-recode
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in tix" ; \
- (cd tix && \
+ echo "Doing installcheck in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-libtermcap mostlyclean-libtermcap
-maybe-mostlyclean-libtermcap:
-
-# libtermcap doesn't support mostlyclean.
-mostlyclean-libtermcap:
-
-
-.PHONY: maybe-mostlyclean-utils mostlyclean-utils
-maybe-mostlyclean-utils:
+.PHONY: maybe-mostlyclean-recode mostlyclean-recode
+maybe-mostlyclean-recode:
-mostlyclean-utils:
- @[ -f ./utils/Makefile ] || exit 0; \
+mostlyclean-recode:
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing mostlyclean in utils" ; \
- (cd utils && \
+ echo "Doing mostlyclean in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -11714,239 +13599,264 @@ mostlyclean-utils:
|| exit 1
+.PHONY: maybe-clean-recode clean-recode
+maybe-clean-recode:
-# Target modules.
-
-.PHONY: maybe-mostlyclean-target-libstdc++-v3 mostlyclean-target-libstdc++-v3
-maybe-mostlyclean-target-libstdc++-v3:
-
-mostlyclean-target-libstdc++-v3:
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+clean-recode:
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing clean in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-newlib mostlyclean-target-newlib
-maybe-mostlyclean-target-newlib:
+.PHONY: maybe-distclean-recode distclean-recode
+maybe-distclean-recode:
-mostlyclean-target-newlib:
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+distclean-recode:
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing distclean in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-libf2c mostlyclean-target-libf2c
-maybe-mostlyclean-target-libf2c:
+.PHONY: maybe-maintainer-clean-recode maintainer-clean-recode
+maybe-maintainer-clean-recode:
-mostlyclean-target-libf2c:
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+maintainer-clean-recode:
+ @[ -f ./recode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing maintainer-clean in recode" ; \
+ (cd recode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-libobjc mostlyclean-target-libobjc
-maybe-mostlyclean-target-libobjc:
-mostlyclean-target-libobjc:
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+.PHONY: configure-sed maybe-configure-sed
+maybe-configure-sed:
+configure-sed:
+ @test ! -f sed/Makefile || exit 0; \
+ [ -d sed ] || mkdir sed; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in sed; \
+ cd sed || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/sed"; \
+ libsrcdir="$$s/sed";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/sed"; \
+ libsrcdir="$$s/sed";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-sed maybe-all-sed
+maybe-all-sed:
+all-sed: configure-sed
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sed && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-target-libtermcap mostlyclean-target-libtermcap
-maybe-mostlyclean-target-libtermcap:
+.PHONY: check-sed maybe-check-sed
+maybe-check-sed:
-# libtermcap doesn't support mostlyclean.
-mostlyclean-target-libtermcap:
+check-sed:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sed && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-mostlyclean-target-winsup mostlyclean-target-winsup
-maybe-mostlyclean-target-winsup:
+.PHONY: install-sed maybe-install-sed
+maybe-install-sed:
-mostlyclean-target-winsup:
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-sed: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd sed && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-mostlyclean-target-libgloss mostlyclean-target-libgloss
-maybe-mostlyclean-target-libgloss:
+# Other targets (info, dvi, etc.)
-mostlyclean-target-libgloss:
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-sed info-sed
+maybe-info-sed:
+
+info-sed: \
+ configure-sed
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ echo "Doing info in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ info) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-libiberty mostlyclean-target-libiberty
-maybe-mostlyclean-target-libiberty:
+.PHONY: maybe-dvi-sed dvi-sed
+maybe-dvi-sed:
-mostlyclean-target-libiberty:
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+dvi-sed: \
+ configure-sed
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing dvi in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-gperf mostlyclean-target-gperf
-maybe-mostlyclean-target-gperf:
+.PHONY: maybe-TAGS-sed TAGS-sed
+maybe-TAGS-sed:
-mostlyclean-target-gperf:
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+TAGS-sed: \
+ configure-sed
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing TAGS in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-examples mostlyclean-target-examples
-maybe-mostlyclean-target-examples:
+.PHONY: maybe-install-info-sed install-info-sed
+maybe-install-info-sed:
-mostlyclean-target-examples:
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+install-info-sed: \
+ configure-sed \
+ info-sed
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing install-info in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-libffi mostlyclean-target-libffi
-maybe-mostlyclean-target-libffi:
+.PHONY: maybe-installcheck-sed installcheck-sed
+maybe-installcheck-sed:
-mostlyclean-target-libffi:
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+installcheck-sed: \
+ configure-sed
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing installcheck in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-libjava mostlyclean-target-libjava
-maybe-mostlyclean-target-libjava:
+.PHONY: maybe-mostlyclean-sed mostlyclean-sed
+maybe-mostlyclean-sed:
-mostlyclean-target-libjava:
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+mostlyclean-sed:
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing mostlyclean in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -11955,342 +13865,285 @@ mostlyclean-target-libjava:
|| exit 1
-.PHONY: maybe-mostlyclean-target-zlib mostlyclean-target-zlib
-maybe-mostlyclean-target-zlib:
+.PHONY: maybe-clean-sed clean-sed
+maybe-clean-sed:
-mostlyclean-target-zlib:
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+clean-sed:
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing clean in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc
-maybe-mostlyclean-target-boehm-gc:
+.PHONY: maybe-distclean-sed distclean-sed
+maybe-distclean-sed:
-mostlyclean-target-boehm-gc:
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+distclean-sed:
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing distclean in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-qthreads mostlyclean-target-qthreads
-maybe-mostlyclean-target-qthreads:
+.PHONY: maybe-maintainer-clean-sed maintainer-clean-sed
+maybe-maintainer-clean-sed:
-mostlyclean-target-qthreads:
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+maintainer-clean-sed:
+ @[ -f ./sed/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing maintainer-clean in sed" ; \
+ (cd sed && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-mostlyclean-target-rda mostlyclean-target-rda
-maybe-mostlyclean-target-rda:
-mostlyclean-target-rda:
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+.PHONY: configure-send-pr maybe-configure-send-pr
+maybe-configure-send-pr:
+configure-send-pr:
+ @test ! -f send-pr/Makefile || exit 0; \
+ [ -d send-pr ] || mkdir send-pr; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/rda && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in send-pr; \
+ cd send-pr || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/send-pr"; \
+ libsrcdir="$$s/send-pr";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/send-pr"; \
+ libsrcdir="$$s/send-pr";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-send-pr maybe-all-send-pr
+maybe-all-send-pr:
+all-send-pr: configure-send-pr
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada
-maybe-mostlyclean-target-libada:
+.PHONY: check-send-pr maybe-check-send-pr
+maybe-check-send-pr:
-mostlyclean-target-libada:
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-send-pr:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libada && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- mostlyclean) \
- || exit 1
+ (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check)
+.PHONY: install-send-pr maybe-install-send-pr
+maybe-install-send-pr:
-.PHONY: do-clean
-do-clean: clean-host clean-target
+install-send-pr: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: clean-host
-clean-host: maybe-clean-gcc \
- maybe-clean-ash \
- maybe-clean-autoconf \
- maybe-clean-automake \
- maybe-clean-bash \
- maybe-clean-bfd \
- maybe-clean-opcodes \
- maybe-clean-binutils \
- maybe-clean-bison \
- maybe-clean-byacc \
- maybe-clean-bzip2 \
- maybe-clean-dejagnu \
- maybe-clean-diff \
- maybe-clean-dosutils \
- maybe-clean-etc \
- maybe-clean-fastjar \
- maybe-clean-fileutils \
- maybe-clean-findutils \
- maybe-clean-find \
- maybe-clean-flex \
- maybe-clean-gas \
- maybe-clean-gawk \
- maybe-clean-gettext \
- maybe-clean-gnuserv \
- maybe-clean-gprof \
- maybe-clean-gzip \
- maybe-clean-hello \
- maybe-clean-indent \
- maybe-clean-intl \
- maybe-clean-tcl \
- maybe-clean-itcl \
- maybe-clean-ld \
- maybe-clean-libgui \
- maybe-clean-libiberty \
- maybe-clean-libtool \
- maybe-clean-m4 \
- maybe-clean-make \
- maybe-clean-mmalloc \
- maybe-clean-patch \
- maybe-clean-perl \
- maybe-clean-prms \
- maybe-clean-rcs \
- maybe-clean-readline \
- maybe-clean-release \
- maybe-clean-recode \
- maybe-clean-sed \
- maybe-clean-send-pr \
- maybe-clean-shellutils \
- maybe-clean-sid \
- maybe-clean-sim \
- maybe-clean-tar \
- maybe-clean-texinfo \
- maybe-clean-textutils \
- maybe-clean-time \
- maybe-clean-uudecode \
- maybe-clean-wdiff \
- maybe-clean-zip \
- maybe-clean-zlib \
- maybe-clean-gdb \
- maybe-clean-expect \
- maybe-clean-guile \
- maybe-clean-tk \
- maybe-clean-tix \
- maybe-clean-libtermcap \
- maybe-clean-utils
-.PHONY: clean-target
-clean-target: \
- maybe-clean-target-libstdc++-v3 \
- maybe-clean-target-newlib \
- maybe-clean-target-libf2c \
- maybe-clean-target-libobjc \
- maybe-clean-target-libtermcap \
- maybe-clean-target-winsup \
- maybe-clean-target-libgloss \
- maybe-clean-target-libiberty \
- maybe-clean-target-gperf \
- maybe-clean-target-examples \
- maybe-clean-target-libffi \
- maybe-clean-target-libjava \
- maybe-clean-target-zlib \
- maybe-clean-target-boehm-gc \
- maybe-clean-target-qthreads \
- maybe-clean-target-rda \
- maybe-clean-target-libada
+# Other targets (info, dvi, etc.)
-# GCC, the eternal special case
-.PHONY: maybe-clean-gcc clean-gcc
-maybe-clean-gcc:
-clean-gcc:
- @[ -f ./gcc/Makefile ] || exit 0; \
+.PHONY: maybe-info-send-pr info-send-pr
+maybe-info-send-pr:
+
+info-send-pr: \
+ configure-send-pr
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in gcc" ; \
- (cd gcc && \
+ echo "Doing info in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-# Host modules.
-.PHONY: maybe-clean-ash clean-ash
-maybe-clean-ash:
+.PHONY: maybe-dvi-send-pr dvi-send-pr
+maybe-dvi-send-pr:
-clean-ash:
- @[ -f ./ash/Makefile ] || exit 0; \
+dvi-send-pr: \
+ configure-send-pr
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in ash" ; \
- (cd ash && \
+ echo "Doing dvi in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-autoconf clean-autoconf
-maybe-clean-autoconf:
+.PHONY: maybe-TAGS-send-pr TAGS-send-pr
+maybe-TAGS-send-pr:
-clean-autoconf:
- @[ -f ./autoconf/Makefile ] || exit 0; \
+TAGS-send-pr: \
+ configure-send-pr
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in autoconf" ; \
- (cd autoconf && \
+ echo "Doing TAGS in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-automake clean-automake
-maybe-clean-automake:
+.PHONY: maybe-install-info-send-pr install-info-send-pr
+maybe-install-info-send-pr:
-clean-automake:
- @[ -f ./automake/Makefile ] || exit 0; \
+install-info-send-pr: \
+ configure-send-pr \
+ info-send-pr
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in automake" ; \
- (cd automake && \
+ echo "Doing install-info in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-bash clean-bash
-maybe-clean-bash:
+.PHONY: maybe-installcheck-send-pr installcheck-send-pr
+maybe-installcheck-send-pr:
-clean-bash:
- @[ -f ./bash/Makefile ] || exit 0; \
+installcheck-send-pr: \
+ configure-send-pr
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in bash" ; \
- (cd bash && \
+ echo "Doing installcheck in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-bfd clean-bfd
-maybe-clean-bfd:
+.PHONY: maybe-mostlyclean-send-pr mostlyclean-send-pr
+maybe-mostlyclean-send-pr:
-clean-bfd:
- @[ -f ./bfd/Makefile ] || exit 0; \
+mostlyclean-send-pr:
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in bfd" ; \
- (cd bfd && \
+ echo "Doing mostlyclean in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-opcodes clean-opcodes
-maybe-clean-opcodes:
+.PHONY: maybe-clean-send-pr clean-send-pr
+maybe-clean-send-pr:
-clean-opcodes:
- @[ -f ./opcodes/Makefile ] || exit 0; \
+clean-send-pr:
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in opcodes" ; \
- (cd opcodes && \
+ echo "Doing clean in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -12299,250 +14152,264 @@ clean-opcodes:
|| exit 1
-.PHONY: maybe-clean-binutils clean-binutils
-maybe-clean-binutils:
+.PHONY: maybe-distclean-send-pr distclean-send-pr
+maybe-distclean-send-pr:
-clean-binutils:
- @[ -f ./binutils/Makefile ] || exit 0; \
+distclean-send-pr:
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in binutils" ; \
- (cd binutils && \
+ echo "Doing distclean in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-bison clean-bison
-maybe-clean-bison:
+.PHONY: maybe-maintainer-clean-send-pr maintainer-clean-send-pr
+maybe-maintainer-clean-send-pr:
-clean-bison:
- @[ -f ./bison/Makefile ] || exit 0; \
+maintainer-clean-send-pr:
+ @[ -f ./send-pr/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in bison" ; \
- (cd bison && \
+ echo "Doing maintainer-clean in send-pr" ; \
+ (cd send-pr && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-byacc clean-byacc
-maybe-clean-byacc:
-clean-byacc:
- @[ -f ./byacc/Makefile ] || exit 0; \
+.PHONY: configure-shellutils maybe-configure-shellutils
+maybe-configure-shellutils:
+configure-shellutils:
+ @test ! -f shellutils/Makefile || exit 0; \
+ [ -d shellutils ] || mkdir shellutils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in byacc" ; \
- (cd byacc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in shellutils; \
+ cd shellutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/shellutils"; \
+ libsrcdir="$$s/shellutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/shellutils"; \
+ libsrcdir="$$s/shellutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-shellutils maybe-all-shellutils
+maybe-all-shellutils:
+all-shellutils: configure-shellutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-bzip2 clean-bzip2
-maybe-clean-bzip2:
+.PHONY: check-shellutils maybe-check-shellutils
+maybe-check-shellutils:
-clean-bzip2:
- @[ -f ./bzip2/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-shellutils:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in bzip2" ; \
- (cd bzip2 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-clean-dejagnu clean-dejagnu
-maybe-clean-dejagnu:
+.PHONY: install-shellutils maybe-install-shellutils
+maybe-install-shellutils:
-clean-dejagnu:
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-shellutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in dejagnu" ; \
- (cd dejagnu && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-clean-diff clean-diff
-maybe-clean-diff:
+# Other targets (info, dvi, etc.)
-clean-diff:
- @[ -f ./diff/Makefile ] || exit 0; \
+.PHONY: maybe-info-shellutils info-shellutils
+maybe-info-shellutils:
+
+info-shellutils: \
+ configure-shellutils
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in diff" ; \
- (cd diff && \
+ echo "Doing info in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-dosutils clean-dosutils
-maybe-clean-dosutils:
+.PHONY: maybe-dvi-shellutils dvi-shellutils
+maybe-dvi-shellutils:
-clean-dosutils:
- @[ -f ./dosutils/Makefile ] || exit 0; \
+dvi-shellutils: \
+ configure-shellutils
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in dosutils" ; \
- (cd dosutils && \
+ echo "Doing dvi in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-etc clean-etc
-maybe-clean-etc:
+.PHONY: maybe-TAGS-shellutils TAGS-shellutils
+maybe-TAGS-shellutils:
-clean-etc:
- @[ -f ./etc/Makefile ] || exit 0; \
+TAGS-shellutils: \
+ configure-shellutils
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in etc" ; \
- (cd etc && \
+ echo "Doing TAGS in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-fastjar clean-fastjar
-maybe-clean-fastjar:
+.PHONY: maybe-install-info-shellutils install-info-shellutils
+maybe-install-info-shellutils:
-clean-fastjar:
- @[ -f ./fastjar/Makefile ] || exit 0; \
+install-info-shellutils: \
+ configure-shellutils \
+ info-shellutils
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in fastjar" ; \
- (cd fastjar && \
+ echo "Doing install-info in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-fileutils clean-fileutils
-maybe-clean-fileutils:
+.PHONY: maybe-installcheck-shellutils installcheck-shellutils
+maybe-installcheck-shellutils:
-clean-fileutils:
- @[ -f ./fileutils/Makefile ] || exit 0; \
+installcheck-shellutils: \
+ configure-shellutils
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in fileutils" ; \
- (cd fileutils && \
+ echo "Doing installcheck in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-findutils clean-findutils
-maybe-clean-findutils:
+.PHONY: maybe-mostlyclean-shellutils mostlyclean-shellutils
+maybe-mostlyclean-shellutils:
-clean-findutils:
- @[ -f ./findutils/Makefile ] || exit 0; \
+mostlyclean-shellutils:
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in findutils" ; \
- (cd findutils && \
+ echo "Doing mostlyclean in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-find clean-find
-maybe-clean-find:
+.PHONY: maybe-clean-shellutils clean-shellutils
+maybe-clean-shellutils:
-clean-find:
- @[ -f ./find/Makefile ] || exit 0; \
+clean-shellutils:
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in find" ; \
- (cd find && \
+ echo "Doing clean in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -12551,250 +14418,264 @@ clean-find:
|| exit 1
-.PHONY: maybe-clean-flex clean-flex
-maybe-clean-flex:
+.PHONY: maybe-distclean-shellutils distclean-shellutils
+maybe-distclean-shellutils:
-clean-flex:
- @[ -f ./flex/Makefile ] || exit 0; \
+distclean-shellutils:
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in flex" ; \
- (cd flex && \
+ echo "Doing distclean in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-gas clean-gas
-maybe-clean-gas:
+.PHONY: maybe-maintainer-clean-shellutils maintainer-clean-shellutils
+maybe-maintainer-clean-shellutils:
-clean-gas:
- @[ -f ./gas/Makefile ] || exit 0; \
+maintainer-clean-shellutils:
+ @[ -f ./shellutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in gas" ; \
- (cd gas && \
+ echo "Doing maintainer-clean in shellutils" ; \
+ (cd shellutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-gawk clean-gawk
-maybe-clean-gawk:
-clean-gawk:
- @[ -f ./gawk/Makefile ] || exit 0; \
+.PHONY: configure-sid maybe-configure-sid
+maybe-configure-sid:
+configure-sid:
+ @test ! -f sid/Makefile || exit 0; \
+ [ -d sid ] || mkdir sid; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in gawk" ; \
- (cd gawk && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in sid; \
+ cd sid || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/sid"; \
+ libsrcdir="$$s/sid";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/sid"; \
+ libsrcdir="$$s/sid";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-sid maybe-all-sid
+maybe-all-sid:
+all-sid: configure-sid
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sid && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-gettext clean-gettext
-maybe-clean-gettext:
+.PHONY: check-sid maybe-check-sid
+maybe-check-sid:
-clean-gettext:
- @[ -f ./gettext/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-sid:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in gettext" ; \
- (cd gettext && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd sid && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-clean-gnuserv clean-gnuserv
-maybe-clean-gnuserv:
+.PHONY: install-sid maybe-install-sid
+maybe-install-sid:
-clean-gnuserv:
- @[ -f ./gnuserv/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-sid: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in gnuserv" ; \
- (cd gnuserv && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd sid && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-clean-gprof clean-gprof
-maybe-clean-gprof:
+# Other targets (info, dvi, etc.)
-clean-gprof:
- @[ -f ./gprof/Makefile ] || exit 0; \
+.PHONY: maybe-info-sid info-sid
+maybe-info-sid:
+
+info-sid: \
+ configure-sid
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in gprof" ; \
- (cd gprof && \
+ echo "Doing info in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-gzip clean-gzip
-maybe-clean-gzip:
+.PHONY: maybe-dvi-sid dvi-sid
+maybe-dvi-sid:
-clean-gzip:
- @[ -f ./gzip/Makefile ] || exit 0; \
+dvi-sid: \
+ configure-sid
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in gzip" ; \
- (cd gzip && \
+ echo "Doing dvi in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-hello clean-hello
-maybe-clean-hello:
+.PHONY: maybe-TAGS-sid TAGS-sid
+maybe-TAGS-sid:
-clean-hello:
- @[ -f ./hello/Makefile ] || exit 0; \
+TAGS-sid: \
+ configure-sid
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in hello" ; \
- (cd hello && \
+ echo "Doing TAGS in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-indent clean-indent
-maybe-clean-indent:
+.PHONY: maybe-install-info-sid install-info-sid
+maybe-install-info-sid:
-clean-indent:
- @[ -f ./indent/Makefile ] || exit 0; \
+install-info-sid: \
+ configure-sid \
+ info-sid
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in indent" ; \
- (cd indent && \
+ echo "Doing install-info in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-intl clean-intl
-maybe-clean-intl:
+.PHONY: maybe-installcheck-sid installcheck-sid
+maybe-installcheck-sid:
-clean-intl:
- @[ -f ./intl/Makefile ] || exit 0; \
+installcheck-sid: \
+ configure-sid
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in intl" ; \
- (cd intl && \
+ echo "Doing installcheck in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-tcl clean-tcl
-maybe-clean-tcl:
+.PHONY: maybe-mostlyclean-sid mostlyclean-sid
+maybe-mostlyclean-sid:
-clean-tcl:
- @[ -f ./tcl/Makefile ] || exit 0; \
+mostlyclean-sid:
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in tcl" ; \
- (cd tcl && \
+ echo "Doing mostlyclean in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-itcl clean-itcl
-maybe-clean-itcl:
+.PHONY: maybe-clean-sid clean-sid
+maybe-clean-sid:
-clean-itcl:
- @[ -f ./itcl/Makefile ] || exit 0; \
+clean-sid:
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in itcl" ; \
- (cd itcl && \
+ echo "Doing clean in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -12803,208 +14684,264 @@ clean-itcl:
|| exit 1
-.PHONY: maybe-clean-ld clean-ld
-maybe-clean-ld:
+.PHONY: maybe-distclean-sid distclean-sid
+maybe-distclean-sid:
-clean-ld:
- @[ -f ./ld/Makefile ] || exit 0; \
+distclean-sid:
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in ld" ; \
- (cd ld && \
+ echo "Doing distclean in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-libgui clean-libgui
-maybe-clean-libgui:
+.PHONY: maybe-maintainer-clean-sid maintainer-clean-sid
+maybe-maintainer-clean-sid:
-clean-libgui:
- @[ -f ./libgui/Makefile ] || exit 0; \
+maintainer-clean-sid:
+ @[ -f ./sid/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in libgui" ; \
- (cd libgui && \
+ echo "Doing maintainer-clean in sid" ; \
+ (cd sid && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-libiberty clean-libiberty
-maybe-clean-libiberty:
-clean-libiberty:
- @[ -f ./libiberty/Makefile ] || exit 0; \
+.PHONY: configure-sim maybe-configure-sim
+maybe-configure-sim:
+configure-sim:
+ @test ! -f sim/Makefile || exit 0; \
+ [ -d sim ] || mkdir sim; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in libiberty" ; \
- (cd libiberty && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in sim; \
+ cd sim || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/sim"; \
+ libsrcdir="$$s/sim";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/sim"; \
+ libsrcdir="$$s/sim";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-sim maybe-all-sim
+maybe-all-sim:
+all-sim: configure-sim
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sim && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-libtool clean-libtool
-maybe-clean-libtool:
+.PHONY: check-sim maybe-check-sim
+maybe-check-sim:
-clean-libtool:
- @[ -f ./libtool/Makefile ] || exit 0; \
+check-sim:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sim && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-sim maybe-install-sim
+maybe-install-sim:
+
+install-sim: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd sim && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-sim info-sim
+maybe-info-sim:
+
+info-sim: \
+ configure-sim
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in libtool" ; \
- (cd libtool && \
+ echo "Doing info in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-m4 clean-m4
-maybe-clean-m4:
+.PHONY: maybe-dvi-sim dvi-sim
+maybe-dvi-sim:
-clean-m4:
- @[ -f ./m4/Makefile ] || exit 0; \
+dvi-sim: \
+ configure-sim
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in m4" ; \
- (cd m4 && \
+ echo "Doing dvi in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-make clean-make
-maybe-clean-make:
+.PHONY: maybe-TAGS-sim TAGS-sim
+maybe-TAGS-sim:
-clean-make:
- @[ -f ./make/Makefile ] || exit 0; \
+TAGS-sim: \
+ configure-sim
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in make" ; \
- (cd make && \
+ echo "Doing TAGS in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-mmalloc clean-mmalloc
-maybe-clean-mmalloc:
+.PHONY: maybe-install-info-sim install-info-sim
+maybe-install-info-sim:
-clean-mmalloc:
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+install-info-sim: \
+ configure-sim \
+ info-sim
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing install-info in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-patch clean-patch
-maybe-clean-patch:
+.PHONY: maybe-installcheck-sim installcheck-sim
+maybe-installcheck-sim:
-clean-patch:
- @[ -f ./patch/Makefile ] || exit 0; \
+installcheck-sim: \
+ configure-sim
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in patch" ; \
- (cd patch && \
+ echo "Doing installcheck in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-perl clean-perl
-maybe-clean-perl:
+.PHONY: maybe-mostlyclean-sim mostlyclean-sim
+maybe-mostlyclean-sim:
-clean-perl:
- @[ -f ./perl/Makefile ] || exit 0; \
+mostlyclean-sim:
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in perl" ; \
- (cd perl && \
+ echo "Doing mostlyclean in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-prms clean-prms
-maybe-clean-prms:
+.PHONY: maybe-clean-sim clean-sim
+maybe-clean-sim:
-clean-prms:
- @[ -f ./prms/Makefile ] || exit 0; \
+clean-sim:
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in prms" ; \
- (cd prms && \
+ echo "Doing clean in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -13013,192 +14950,248 @@ clean-prms:
|| exit 1
-.PHONY: maybe-clean-rcs clean-rcs
-maybe-clean-rcs:
+.PHONY: maybe-distclean-sim distclean-sim
+maybe-distclean-sim:
-clean-rcs:
- @[ -f ./rcs/Makefile ] || exit 0; \
+distclean-sim:
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in rcs" ; \
- (cd rcs && \
+ echo "Doing distclean in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-readline clean-readline
-maybe-clean-readline:
+.PHONY: maybe-maintainer-clean-sim maintainer-clean-sim
+maybe-maintainer-clean-sim:
-clean-readline:
- @[ -f ./readline/Makefile ] || exit 0; \
+maintainer-clean-sim:
+ @[ -f ./sim/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in readline" ; \
- (cd readline && \
+ echo "Doing maintainer-clean in sim" ; \
+ (cd sim && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-release clean-release
-maybe-clean-release:
-clean-release:
- @[ -f ./release/Makefile ] || exit 0; \
+.PHONY: configure-tar maybe-configure-tar
+maybe-configure-tar:
+configure-tar:
+ @test ! -f tar/Makefile || exit 0; \
+ [ -d tar ] || mkdir tar; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in release" ; \
- (cd release && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in tar; \
+ cd tar || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/tar"; \
+ libsrcdir="$$s/tar";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/tar"; \
+ libsrcdir="$$s/tar";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-tar maybe-all-tar
+maybe-all-tar:
+all-tar: configure-tar
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tar && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-recode clean-recode
-maybe-clean-recode:
+.PHONY: check-tar maybe-check-tar
+maybe-check-tar:
-clean-recode:
- @[ -f ./recode/Makefile ] || exit 0; \
+check-tar:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tar && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-tar maybe-install-tar
+maybe-install-tar:
+
+install-tar: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tar && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-tar info-tar
+maybe-info-tar:
+
+info-tar: \
+ configure-tar
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in recode" ; \
- (cd recode && \
+ echo "Doing info in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-sed clean-sed
-maybe-clean-sed:
+.PHONY: maybe-dvi-tar dvi-tar
+maybe-dvi-tar:
-clean-sed:
- @[ -f ./sed/Makefile ] || exit 0; \
+dvi-tar: \
+ configure-tar
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in sed" ; \
- (cd sed && \
+ echo "Doing dvi in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-send-pr clean-send-pr
-maybe-clean-send-pr:
+.PHONY: maybe-TAGS-tar TAGS-tar
+maybe-TAGS-tar:
-clean-send-pr:
- @[ -f ./send-pr/Makefile ] || exit 0; \
+TAGS-tar: \
+ configure-tar
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in send-pr" ; \
- (cd send-pr && \
+ echo "Doing TAGS in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-shellutils clean-shellutils
-maybe-clean-shellutils:
+.PHONY: maybe-install-info-tar install-info-tar
+maybe-install-info-tar:
-clean-shellutils:
- @[ -f ./shellutils/Makefile ] || exit 0; \
+install-info-tar: \
+ configure-tar \
+ info-tar
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in shellutils" ; \
- (cd shellutils && \
+ echo "Doing install-info in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-sid clean-sid
-maybe-clean-sid:
+.PHONY: maybe-installcheck-tar installcheck-tar
+maybe-installcheck-tar:
-clean-sid:
- @[ -f ./sid/Makefile ] || exit 0; \
+installcheck-tar: \
+ configure-tar
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in sid" ; \
- (cd sid && \
+ echo "Doing installcheck in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-sim clean-sim
-maybe-clean-sim:
+.PHONY: maybe-mostlyclean-tar mostlyclean-tar
+maybe-mostlyclean-tar:
-clean-sim:
- @[ -f ./sim/Makefile ] || exit 0; \
+mostlyclean-tar:
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in sim" ; \
- (cd sim && \
+ echo "Doing mostlyclean in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
@@ -13223,208 +15216,260 @@ clean-tar:
|| exit 1
-.PHONY: maybe-clean-texinfo clean-texinfo
-maybe-clean-texinfo:
+.PHONY: maybe-distclean-tar distclean-tar
+maybe-distclean-tar:
-clean-texinfo:
- @[ -f ./texinfo/Makefile ] || exit 0; \
+distclean-tar:
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in texinfo" ; \
- (cd texinfo && \
+ echo "Doing distclean in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-textutils clean-textutils
-maybe-clean-textutils:
+.PHONY: maybe-maintainer-clean-tar maintainer-clean-tar
+maybe-maintainer-clean-tar:
-clean-textutils:
- @[ -f ./textutils/Makefile ] || exit 0; \
+maintainer-clean-tar:
+ @[ -f ./tar/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in textutils" ; \
- (cd textutils && \
+ echo "Doing maintainer-clean in tar" ; \
+ (cd tar && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-time clean-time
-maybe-clean-time:
-clean-time:
- @[ -f ./time/Makefile ] || exit 0; \
+.PHONY: configure-texinfo maybe-configure-texinfo
+maybe-configure-texinfo:
+configure-texinfo:
+ @test ! -f texinfo/Makefile || exit 0; \
+ [ -d texinfo ] || mkdir texinfo; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in time" ; \
- (cd time && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in texinfo; \
+ cd texinfo || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/texinfo"; \
+ libsrcdir="$$s/texinfo";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/texinfo"; \
+ libsrcdir="$$s/texinfo";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-texinfo maybe-all-texinfo
+maybe-all-texinfo:
+all-texinfo: configure-texinfo
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-uudecode clean-uudecode
-maybe-clean-uudecode:
+.PHONY: check-texinfo maybe-check-texinfo
+maybe-check-texinfo:
-clean-uudecode:
- @[ -f ./uudecode/Makefile ] || exit 0; \
+check-texinfo:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check)
+
+
+.PHONY: install-texinfo maybe-install-texinfo
+maybe-install-texinfo:
+
+install-texinfo:
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-texinfo info-texinfo
+maybe-info-texinfo:
+
+info-texinfo: \
+ configure-texinfo
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in uudecode" ; \
- (cd uudecode && \
+ echo "Doing info in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-wdiff clean-wdiff
-maybe-clean-wdiff:
+.PHONY: maybe-dvi-texinfo dvi-texinfo
+maybe-dvi-texinfo:
-clean-wdiff:
- @[ -f ./wdiff/Makefile ] || exit 0; \
+dvi-texinfo: \
+ configure-texinfo
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in wdiff" ; \
- (cd wdiff && \
+ echo "Doing dvi in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-zip clean-zip
-maybe-clean-zip:
+.PHONY: maybe-TAGS-texinfo TAGS-texinfo
+maybe-TAGS-texinfo:
-clean-zip:
- @[ -f ./zip/Makefile ] || exit 0; \
+TAGS-texinfo: \
+ configure-texinfo
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in zip" ; \
- (cd zip && \
+ echo "Doing TAGS in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-zlib clean-zlib
-maybe-clean-zlib:
+.PHONY: maybe-install-info-texinfo install-info-texinfo
+maybe-install-info-texinfo:
-clean-zlib:
- @[ -f ./zlib/Makefile ] || exit 0; \
+install-info-texinfo: \
+ configure-texinfo \
+ info-texinfo
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in zlib" ; \
- (cd zlib && \
+ echo "Doing install-info in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-gdb clean-gdb
-maybe-clean-gdb:
+.PHONY: maybe-installcheck-texinfo installcheck-texinfo
+maybe-installcheck-texinfo:
-clean-gdb:
- @[ -f ./gdb/Makefile ] || exit 0; \
+installcheck-texinfo: \
+ configure-texinfo
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in gdb" ; \
- (cd gdb && \
+ echo "Doing installcheck in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-expect clean-expect
-maybe-clean-expect:
+.PHONY: maybe-mostlyclean-texinfo mostlyclean-texinfo
+maybe-mostlyclean-texinfo:
-clean-expect:
- @[ -f ./expect/Makefile ] || exit 0; \
+mostlyclean-texinfo:
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in expect" ; \
- (cd expect && \
+ echo "Doing mostlyclean in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-guile clean-guile
-maybe-clean-guile:
+.PHONY: maybe-clean-texinfo clean-texinfo
+maybe-clean-texinfo:
-clean-guile:
- @[ -f ./guile/Makefile ] || exit 0; \
+clean-texinfo:
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in guile" ; \
- (cd guile && \
+ echo "Doing clean in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -13433,225 +15478,264 @@ clean-guile:
|| exit 1
-.PHONY: maybe-clean-tk clean-tk
-maybe-clean-tk:
+.PHONY: maybe-distclean-texinfo distclean-texinfo
+maybe-distclean-texinfo:
-clean-tk:
- @[ -f ./tk/Makefile ] || exit 0; \
+distclean-texinfo:
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in tk" ; \
- (cd tk && \
+ echo "Doing distclean in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-tix clean-tix
-maybe-clean-tix:
+.PHONY: maybe-maintainer-clean-texinfo maintainer-clean-texinfo
+maybe-maintainer-clean-texinfo:
-clean-tix:
- @[ -f ./tix/Makefile ] || exit 0; \
+maintainer-clean-texinfo:
+ @[ -f ./texinfo/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing clean in tix" ; \
- (cd tix && \
+ echo "Doing maintainer-clean in texinfo" ; \
+ (cd texinfo && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-libtermcap clean-libtermcap
-maybe-clean-libtermcap:
-# libtermcap doesn't support clean.
-clean-libtermcap:
+.PHONY: configure-textutils maybe-configure-textutils
+maybe-configure-textutils:
+configure-textutils:
+ @test ! -f textutils/Makefile || exit 0; \
+ [ -d textutils ] || mkdir textutils; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in textutils; \
+ cd textutils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/textutils"; \
+ libsrcdir="$$s/textutils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/textutils"; \
+ libsrcdir="$$s/textutils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+.PHONY: all-textutils maybe-all-textutils
+maybe-all-textutils:
+all-textutils: configure-textutils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd textutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-utils clean-utils
-maybe-clean-utils:
+.PHONY: check-textutils maybe-check-textutils
+maybe-check-textutils:
-clean-utils:
- @[ -f ./utils/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-textutils:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing clean in utils" ; \
- (cd utils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check)
+.PHONY: install-textutils maybe-install-textutils
+maybe-install-textutils:
-# Target modules.
+install-textutils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-clean-target-libstdc++-v3 clean-target-libstdc++-v3
-maybe-clean-target-libstdc++-v3:
-clean-target-libstdc++-v3:
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-textutils info-textutils
+maybe-info-textutils:
+
+info-textutils: \
+ configure-textutils
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing info in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-target-newlib clean-target-newlib
-maybe-clean-target-newlib:
+.PHONY: maybe-dvi-textutils dvi-textutils
+maybe-dvi-textutils:
-clean-target-newlib:
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+dvi-textutils: \
+ configure-textutils
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing dvi in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-target-libf2c clean-target-libf2c
-maybe-clean-target-libf2c:
+.PHONY: maybe-TAGS-textutils TAGS-textutils
+maybe-TAGS-textutils:
-clean-target-libf2c:
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+TAGS-textutils: \
+ configure-textutils
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing TAGS in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-target-libobjc clean-target-libobjc
-maybe-clean-target-libobjc:
+.PHONY: maybe-install-info-textutils install-info-textutils
+maybe-install-info-textutils:
-clean-target-libobjc:
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+install-info-textutils: \
+ configure-textutils \
+ info-textutils
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ echo "Doing install-info in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-clean-target-libtermcap clean-target-libtermcap
-maybe-clean-target-libtermcap:
-
-# libtermcap doesn't support clean.
-clean-target-libtermcap:
-
-
-.PHONY: maybe-clean-target-winsup clean-target-winsup
-maybe-clean-target-winsup:
+.PHONY: maybe-installcheck-textutils installcheck-textutils
+maybe-installcheck-textutils:
-clean-target-winsup:
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+installcheck-textutils: \
+ configure-textutils
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/winsup && \
+ echo "Doing installcheck in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-clean-target-libgloss clean-target-libgloss
-maybe-clean-target-libgloss:
+.PHONY: maybe-mostlyclean-textutils mostlyclean-textutils
+maybe-mostlyclean-textutils:
-clean-target-libgloss:
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+mostlyclean-textutils:
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ echo "Doing mostlyclean in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-clean-target-libiberty clean-target-libiberty
-maybe-clean-target-libiberty:
+.PHONY: maybe-clean-textutils clean-textutils
+maybe-clean-textutils:
-clean-target-libiberty:
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+clean-textutils:
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing clean in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -13660,363 +15744,285 @@ clean-target-libiberty:
|| exit 1
-.PHONY: maybe-clean-target-gperf clean-target-gperf
-maybe-clean-target-gperf:
+.PHONY: maybe-distclean-textutils distclean-textutils
+maybe-distclean-textutils:
-clean-target-gperf:
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+distclean-textutils:
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing distclean in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-clean-target-examples clean-target-examples
-maybe-clean-target-examples:
+.PHONY: maybe-maintainer-clean-textutils maintainer-clean-textutils
+maybe-maintainer-clean-textutils:
-clean-target-examples:
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+maintainer-clean-textutils:
+ @[ -f ./textutils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing maintainer-clean in textutils" ; \
+ (cd textutils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-clean-target-libffi clean-target-libffi
-maybe-clean-target-libffi:
-clean-target-libffi:
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+.PHONY: configure-time maybe-configure-time
+maybe-configure-time:
+configure-time:
+ @test ! -f time/Makefile || exit 0; \
+ [ -d time ] || mkdir time; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libffi && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in time; \
+ cd time || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/time"; \
+ libsrcdir="$$s/time";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/time"; \
+ libsrcdir="$$s/time";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-time maybe-all-time
+maybe-all-time:
+all-time: configure-time
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd time && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-clean-target-libjava clean-target-libjava
-maybe-clean-target-libjava:
+.PHONY: check-time maybe-check-time
+maybe-check-time:
-clean-target-libjava:
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-time:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libjava && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd time && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-clean-target-zlib clean-target-zlib
-maybe-clean-target-zlib:
+.PHONY: install-time maybe-install-time
+maybe-install-time:
-clean-target-zlib:
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-time: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/zlib && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
- || exit 1
+ (cd time && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc
-maybe-clean-target-boehm-gc:
+# Other targets (info, dvi, etc.)
-clean-target-boehm-gc:
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-time info-time
+maybe-info-time:
+
+info-time: \
+ configure-time
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing info in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ info) \
|| exit 1
-.PHONY: maybe-clean-target-qthreads clean-target-qthreads
-maybe-clean-target-qthreads:
+.PHONY: maybe-dvi-time dvi-time
+maybe-dvi-time:
-clean-target-qthreads:
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+dvi-time: \
+ configure-time
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing dvi in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-clean-target-rda clean-target-rda
-maybe-clean-target-rda:
+.PHONY: maybe-TAGS-time TAGS-time
+maybe-TAGS-time:
-clean-target-rda:
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+TAGS-time: \
+ configure-time
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ echo "Doing TAGS in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-clean-target-libada clean-target-libada
-maybe-clean-target-libada:
+.PHONY: maybe-install-info-time install-info-time
+maybe-install-info-time:
-clean-target-libada:
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+install-info-time: \
+ configure-time \
+ info-time
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libada && \
+ echo "Doing install-info in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- clean) \
+ install-info) \
|| exit 1
+.PHONY: maybe-installcheck-time installcheck-time
+maybe-installcheck-time:
-.PHONY: do-distclean
-do-distclean: distclean-host distclean-target
-
-.PHONY: distclean-host
-distclean-host: maybe-distclean-gcc \
- maybe-distclean-ash \
- maybe-distclean-autoconf \
- maybe-distclean-automake \
- maybe-distclean-bash \
- maybe-distclean-bfd \
- maybe-distclean-opcodes \
- maybe-distclean-binutils \
- maybe-distclean-bison \
- maybe-distclean-byacc \
- maybe-distclean-bzip2 \
- maybe-distclean-dejagnu \
- maybe-distclean-diff \
- maybe-distclean-dosutils \
- maybe-distclean-etc \
- maybe-distclean-fastjar \
- maybe-distclean-fileutils \
- maybe-distclean-findutils \
- maybe-distclean-find \
- maybe-distclean-flex \
- maybe-distclean-gas \
- maybe-distclean-gawk \
- maybe-distclean-gettext \
- maybe-distclean-gnuserv \
- maybe-distclean-gprof \
- maybe-distclean-gzip \
- maybe-distclean-hello \
- maybe-distclean-indent \
- maybe-distclean-intl \
- maybe-distclean-tcl \
- maybe-distclean-itcl \
- maybe-distclean-ld \
- maybe-distclean-libgui \
- maybe-distclean-libiberty \
- maybe-distclean-libtool \
- maybe-distclean-m4 \
- maybe-distclean-make \
- maybe-distclean-mmalloc \
- maybe-distclean-patch \
- maybe-distclean-perl \
- maybe-distclean-prms \
- maybe-distclean-rcs \
- maybe-distclean-readline \
- maybe-distclean-release \
- maybe-distclean-recode \
- maybe-distclean-sed \
- maybe-distclean-send-pr \
- maybe-distclean-shellutils \
- maybe-distclean-sid \
- maybe-distclean-sim \
- maybe-distclean-tar \
- maybe-distclean-texinfo \
- maybe-distclean-textutils \
- maybe-distclean-time \
- maybe-distclean-uudecode \
- maybe-distclean-wdiff \
- maybe-distclean-zip \
- maybe-distclean-zlib \
- maybe-distclean-gdb \
- maybe-distclean-expect \
- maybe-distclean-guile \
- maybe-distclean-tk \
- maybe-distclean-tix \
- maybe-distclean-libtermcap \
- maybe-distclean-utils
-
-.PHONY: distclean-target
-distclean-target: \
- maybe-distclean-target-libstdc++-v3 \
- maybe-distclean-target-newlib \
- maybe-distclean-target-libf2c \
- maybe-distclean-target-libobjc \
- maybe-distclean-target-libtermcap \
- maybe-distclean-target-winsup \
- maybe-distclean-target-libgloss \
- maybe-distclean-target-libiberty \
- maybe-distclean-target-gperf \
- maybe-distclean-target-examples \
- maybe-distclean-target-libffi \
- maybe-distclean-target-libjava \
- maybe-distclean-target-zlib \
- maybe-distclean-target-boehm-gc \
- maybe-distclean-target-qthreads \
- maybe-distclean-target-rda \
- maybe-distclean-target-libada
-
-# GCC, the eternal special case
-.PHONY: maybe-distclean-gcc distclean-gcc
-maybe-distclean-gcc:
-distclean-gcc:
- @[ -f ./gcc/Makefile ] || exit 0; \
+installcheck-time: \
+ configure-time
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gcc" ; \
- (cd gcc && \
+ echo "Doing installcheck in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-# Host modules.
-.PHONY: maybe-distclean-ash distclean-ash
-maybe-distclean-ash:
+.PHONY: maybe-mostlyclean-time mostlyclean-time
+maybe-mostlyclean-time:
-distclean-ash:
- @[ -f ./ash/Makefile ] || exit 0; \
+mostlyclean-time:
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in ash" ; \
- (cd ash && \
+ echo "Doing mostlyclean in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-autoconf distclean-autoconf
-maybe-distclean-autoconf:
+.PHONY: maybe-clean-time clean-time
+maybe-clean-time:
-distclean-autoconf:
- @[ -f ./autoconf/Makefile ] || exit 0; \
+clean-time:
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in autoconf" ; \
- (cd autoconf && \
+ echo "Doing clean in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-automake distclean-automake
-maybe-distclean-automake:
+.PHONY: maybe-distclean-time distclean-time
+maybe-distclean-time:
-distclean-automake:
- @[ -f ./automake/Makefile ] || exit 0; \
+distclean-time:
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in automake" ; \
- (cd automake && \
+ echo "Doing distclean in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -14025,250 +16031,264 @@ distclean-automake:
|| exit 1
-.PHONY: maybe-distclean-bash distclean-bash
-maybe-distclean-bash:
+.PHONY: maybe-maintainer-clean-time maintainer-clean-time
+maybe-maintainer-clean-time:
-distclean-bash:
- @[ -f ./bash/Makefile ] || exit 0; \
+maintainer-clean-time:
+ @[ -f ./time/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in bash" ; \
- (cd bash && \
+ echo "Doing maintainer-clean in time" ; \
+ (cd time && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-bfd distclean-bfd
-maybe-distclean-bfd:
-distclean-bfd:
- @[ -f ./bfd/Makefile ] || exit 0; \
+.PHONY: configure-uudecode maybe-configure-uudecode
+maybe-configure-uudecode:
+configure-uudecode:
+ @test ! -f uudecode/Makefile || exit 0; \
+ [ -d uudecode ] || mkdir uudecode; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in bfd" ; \
- (cd bfd && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in uudecode; \
+ cd uudecode || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/uudecode"; \
+ libsrcdir="$$s/uudecode";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/uudecode"; \
+ libsrcdir="$$s/uudecode";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-uudecode maybe-all-uudecode
+maybe-all-uudecode:
+all-uudecode: configure-uudecode
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-distclean-opcodes distclean-opcodes
-maybe-distclean-opcodes:
+.PHONY: check-uudecode maybe-check-uudecode
+maybe-check-uudecode:
-distclean-opcodes:
- @[ -f ./opcodes/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-uudecode:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in opcodes" ; \
- (cd opcodes && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-distclean-binutils distclean-binutils
-maybe-distclean-binutils:
+.PHONY: install-uudecode maybe-install-uudecode
+maybe-install-uudecode:
-distclean-binutils:
- @[ -f ./binutils/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-uudecode: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in binutils" ; \
- (cd binutils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-distclean-bison distclean-bison
-maybe-distclean-bison:
+# Other targets (info, dvi, etc.)
-distclean-bison:
- @[ -f ./bison/Makefile ] || exit 0; \
+.PHONY: maybe-info-uudecode info-uudecode
+maybe-info-uudecode:
+
+info-uudecode: \
+ configure-uudecode
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in bison" ; \
- (cd bison && \
+ echo "Doing info in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-byacc distclean-byacc
-maybe-distclean-byacc:
+.PHONY: maybe-dvi-uudecode dvi-uudecode
+maybe-dvi-uudecode:
-distclean-byacc:
- @[ -f ./byacc/Makefile ] || exit 0; \
+dvi-uudecode: \
+ configure-uudecode
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in byacc" ; \
- (cd byacc && \
+ echo "Doing dvi in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-bzip2 distclean-bzip2
-maybe-distclean-bzip2:
+.PHONY: maybe-TAGS-uudecode TAGS-uudecode
+maybe-TAGS-uudecode:
-distclean-bzip2:
- @[ -f ./bzip2/Makefile ] || exit 0; \
+TAGS-uudecode: \
+ configure-uudecode
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in bzip2" ; \
- (cd bzip2 && \
+ echo "Doing TAGS in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-dejagnu distclean-dejagnu
-maybe-distclean-dejagnu:
+.PHONY: maybe-install-info-uudecode install-info-uudecode
+maybe-install-info-uudecode:
-distclean-dejagnu:
- @[ -f ./dejagnu/Makefile ] || exit 0; \
+install-info-uudecode: \
+ configure-uudecode \
+ info-uudecode
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in dejagnu" ; \
- (cd dejagnu && \
+ echo "Doing install-info in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-diff distclean-diff
-maybe-distclean-diff:
+.PHONY: maybe-installcheck-uudecode installcheck-uudecode
+maybe-installcheck-uudecode:
-distclean-diff:
- @[ -f ./diff/Makefile ] || exit 0; \
+installcheck-uudecode: \
+ configure-uudecode
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in diff" ; \
- (cd diff && \
+ echo "Doing installcheck in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-dosutils distclean-dosutils
-maybe-distclean-dosutils:
+.PHONY: maybe-mostlyclean-uudecode mostlyclean-uudecode
+maybe-mostlyclean-uudecode:
-distclean-dosutils:
- @[ -f ./dosutils/Makefile ] || exit 0; \
+mostlyclean-uudecode:
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in dosutils" ; \
- (cd dosutils && \
+ echo "Doing mostlyclean in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-etc distclean-etc
-maybe-distclean-etc:
+.PHONY: maybe-clean-uudecode clean-uudecode
+maybe-clean-uudecode:
-distclean-etc:
- @[ -f ./etc/Makefile ] || exit 0; \
+clean-uudecode:
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in etc" ; \
- (cd etc && \
+ echo "Doing clean in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-fastjar distclean-fastjar
-maybe-distclean-fastjar:
+.PHONY: maybe-distclean-uudecode distclean-uudecode
+maybe-distclean-uudecode:
-distclean-fastjar:
- @[ -f ./fastjar/Makefile ] || exit 0; \
+distclean-uudecode:
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in fastjar" ; \
- (cd fastjar && \
+ echo "Doing distclean in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -14277,250 +16297,264 @@ distclean-fastjar:
|| exit 1
-.PHONY: maybe-distclean-fileutils distclean-fileutils
-maybe-distclean-fileutils:
+.PHONY: maybe-maintainer-clean-uudecode maintainer-clean-uudecode
+maybe-maintainer-clean-uudecode:
-distclean-fileutils:
- @[ -f ./fileutils/Makefile ] || exit 0; \
+maintainer-clean-uudecode:
+ @[ -f ./uudecode/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in fileutils" ; \
- (cd fileutils && \
+ echo "Doing maintainer-clean in uudecode" ; \
+ (cd uudecode && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-findutils distclean-findutils
-maybe-distclean-findutils:
-distclean-findutils:
- @[ -f ./findutils/Makefile ] || exit 0; \
+.PHONY: configure-wdiff maybe-configure-wdiff
+maybe-configure-wdiff:
+configure-wdiff:
+ @test ! -f wdiff/Makefile || exit 0; \
+ [ -d wdiff ] || mkdir wdiff; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in findutils" ; \
- (cd findutils && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in wdiff; \
+ cd wdiff || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/wdiff"; \
+ libsrcdir="$$s/wdiff";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/wdiff"; \
+ libsrcdir="$$s/wdiff";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-wdiff maybe-all-wdiff
+maybe-all-wdiff:
+all-wdiff: configure-wdiff
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-distclean-find distclean-find
-maybe-distclean-find:
+.PHONY: check-wdiff maybe-check-wdiff
+maybe-check-wdiff:
-distclean-find:
- @[ -f ./find/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-wdiff:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in find" ; \
- (cd find && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-distclean-flex distclean-flex
-maybe-distclean-flex:
+.PHONY: install-wdiff maybe-install-wdiff
+maybe-install-wdiff:
-distclean-flex:
- @[ -f ./flex/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-wdiff: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in flex" ; \
- (cd flex && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-distclean-gas distclean-gas
-maybe-distclean-gas:
+# Other targets (info, dvi, etc.)
-distclean-gas:
- @[ -f ./gas/Makefile ] || exit 0; \
+.PHONY: maybe-info-wdiff info-wdiff
+maybe-info-wdiff:
+
+info-wdiff: \
+ configure-wdiff
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gas" ; \
- (cd gas && \
+ echo "Doing info in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-gawk distclean-gawk
-maybe-distclean-gawk:
+.PHONY: maybe-dvi-wdiff dvi-wdiff
+maybe-dvi-wdiff:
-distclean-gawk:
- @[ -f ./gawk/Makefile ] || exit 0; \
+dvi-wdiff: \
+ configure-wdiff
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gawk" ; \
- (cd gawk && \
+ echo "Doing dvi in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-gettext distclean-gettext
-maybe-distclean-gettext:
+.PHONY: maybe-TAGS-wdiff TAGS-wdiff
+maybe-TAGS-wdiff:
-distclean-gettext:
- @[ -f ./gettext/Makefile ] || exit 0; \
+TAGS-wdiff: \
+ configure-wdiff
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gettext" ; \
- (cd gettext && \
+ echo "Doing TAGS in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-gnuserv distclean-gnuserv
-maybe-distclean-gnuserv:
+.PHONY: maybe-install-info-wdiff install-info-wdiff
+maybe-install-info-wdiff:
-distclean-gnuserv:
- @[ -f ./gnuserv/Makefile ] || exit 0; \
+install-info-wdiff: \
+ configure-wdiff \
+ info-wdiff
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gnuserv" ; \
- (cd gnuserv && \
+ echo "Doing install-info in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-gprof distclean-gprof
-maybe-distclean-gprof:
+.PHONY: maybe-installcheck-wdiff installcheck-wdiff
+maybe-installcheck-wdiff:
-distclean-gprof:
- @[ -f ./gprof/Makefile ] || exit 0; \
+installcheck-wdiff: \
+ configure-wdiff
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gprof" ; \
- (cd gprof && \
+ echo "Doing installcheck in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-gzip distclean-gzip
-maybe-distclean-gzip:
+.PHONY: maybe-mostlyclean-wdiff mostlyclean-wdiff
+maybe-mostlyclean-wdiff:
-distclean-gzip:
- @[ -f ./gzip/Makefile ] || exit 0; \
+mostlyclean-wdiff:
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gzip" ; \
- (cd gzip && \
+ echo "Doing mostlyclean in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-hello distclean-hello
-maybe-distclean-hello:
+.PHONY: maybe-clean-wdiff clean-wdiff
+maybe-clean-wdiff:
-distclean-hello:
- @[ -f ./hello/Makefile ] || exit 0; \
+clean-wdiff:
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in hello" ; \
- (cd hello && \
+ echo "Doing clean in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-indent distclean-indent
-maybe-distclean-indent:
+.PHONY: maybe-distclean-wdiff distclean-wdiff
+maybe-distclean-wdiff:
-distclean-indent:
- @[ -f ./indent/Makefile ] || exit 0; \
+distclean-wdiff:
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in indent" ; \
- (cd indent && \
+ echo "Doing distclean in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -14529,208 +16563,267 @@ distclean-indent:
|| exit 1
-.PHONY: maybe-distclean-intl distclean-intl
-maybe-distclean-intl:
+.PHONY: maybe-maintainer-clean-wdiff maintainer-clean-wdiff
+maybe-maintainer-clean-wdiff:
-distclean-intl:
- @[ -f ./intl/Makefile ] || exit 0; \
+maintainer-clean-wdiff:
+ @[ -f ./wdiff/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in intl" ; \
- (cd intl && \
+ echo "Doing maintainer-clean in wdiff" ; \
+ (cd wdiff && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-tcl distclean-tcl
-maybe-distclean-tcl:
-distclean-tcl:
- @[ -f ./tcl/Makefile ] || exit 0; \
+.PHONY: configure-zip maybe-configure-zip
+maybe-configure-zip:
+configure-zip:
+ @test ! -f zip/Makefile || exit 0; \
+ [ -d zip ] || mkdir zip; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in tcl" ; \
- (cd tcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in zip; \
+ cd zip || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/zip"; \
+ libsrcdir="$$s/zip";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/zip"; \
+ libsrcdir="$$s/zip";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-zip maybe-all-zip
+maybe-all-zip:
+all-zip: configure-zip
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd zip && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-zip maybe-check-zip
+maybe-check-zip:
-.PHONY: maybe-distclean-itcl distclean-itcl
-maybe-distclean-itcl:
+# This module is only tested in a native toolchain.
+check-zip:
+ @if [ '$(host)' = '$(target)' ] ; then \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd zip && $(MAKE) $(FLAGS_TO_PASS) check); \
+ fi
-distclean-itcl:
- @[ -f ./itcl/Makefile ] || exit 0; \
+
+.PHONY: install-zip maybe-install-zip
+maybe-install-zip:
+
+install-zip: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd zip && $(MAKE) $(FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-zip info-zip
+maybe-info-zip:
+
+info-zip: \
+ configure-zip
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in itcl" ; \
- (cd itcl && \
+ echo "Doing info in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-ld distclean-ld
-maybe-distclean-ld:
+.PHONY: maybe-dvi-zip dvi-zip
+maybe-dvi-zip:
-distclean-ld:
- @[ -f ./ld/Makefile ] || exit 0; \
+dvi-zip: \
+ configure-zip
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in ld" ; \
- (cd ld && \
+ echo "Doing dvi in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-libgui distclean-libgui
-maybe-distclean-libgui:
+.PHONY: maybe-TAGS-zip TAGS-zip
+maybe-TAGS-zip:
-distclean-libgui:
- @[ -f ./libgui/Makefile ] || exit 0; \
+TAGS-zip: \
+ configure-zip
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in libgui" ; \
- (cd libgui && \
+ echo "Doing TAGS in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-libiberty distclean-libiberty
-maybe-distclean-libiberty:
+.PHONY: maybe-install-info-zip install-info-zip
+maybe-install-info-zip:
-distclean-libiberty:
- @[ -f ./libiberty/Makefile ] || exit 0; \
+install-info-zip: \
+ configure-zip \
+ info-zip
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in libiberty" ; \
- (cd libiberty && \
+ echo "Doing install-info in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-libtool distclean-libtool
-maybe-distclean-libtool:
+.PHONY: maybe-installcheck-zip installcheck-zip
+maybe-installcheck-zip:
-distclean-libtool:
- @[ -f ./libtool/Makefile ] || exit 0; \
+installcheck-zip: \
+ configure-zip
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in libtool" ; \
- (cd libtool && \
+ echo "Doing installcheck in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-m4 distclean-m4
-maybe-distclean-m4:
+.PHONY: maybe-mostlyclean-zip mostlyclean-zip
+maybe-mostlyclean-zip:
-distclean-m4:
- @[ -f ./m4/Makefile ] || exit 0; \
+mostlyclean-zip:
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in m4" ; \
- (cd m4 && \
+ echo "Doing mostlyclean in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-make distclean-make
-maybe-distclean-make:
+.PHONY: maybe-clean-zip clean-zip
+maybe-clean-zip:
-distclean-make:
- @[ -f ./make/Makefile ] || exit 0; \
+clean-zip:
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in make" ; \
- (cd make && \
+ echo "Doing clean in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-mmalloc distclean-mmalloc
-maybe-distclean-mmalloc:
+.PHONY: maybe-distclean-zip distclean-zip
+maybe-distclean-zip:
-distclean-mmalloc:
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+distclean-zip:
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing distclean in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -14739,208 +16832,256 @@ distclean-mmalloc:
|| exit 1
-.PHONY: maybe-distclean-patch distclean-patch
-maybe-distclean-patch:
+.PHONY: maybe-maintainer-clean-zip maintainer-clean-zip
+maybe-maintainer-clean-zip:
-distclean-patch:
- @[ -f ./patch/Makefile ] || exit 0; \
+maintainer-clean-zip:
+ @[ -f ./zip/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in patch" ; \
- (cd patch && \
+ echo "Doing maintainer-clean in zip" ; \
+ (cd zip && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-perl distclean-perl
-maybe-distclean-perl:
-distclean-perl:
- @[ -f ./perl/Makefile ] || exit 0; \
+.PHONY: configure-zlib maybe-configure-zlib
+maybe-configure-zlib:
+configure-zlib:
+ @test ! -f zlib/Makefile || exit 0; \
+ [ -d zlib ] || mkdir zlib; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in perl" ; \
- (cd perl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in zlib; \
+ cd zlib || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/zlib"; \
+ libsrcdir="$$s/zlib";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/zlib"; \
+ libsrcdir="$$s/zlib";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-zlib maybe-all-zlib
+maybe-all-zlib:
+all-zlib: configure-zlib
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd zlib && $(MAKE) $(FLAGS_TO_PASS) all)
+
+.PHONY: check-zlib maybe-check-zlib
+maybe-check-zlib:
-.PHONY: maybe-distclean-prms distclean-prms
-maybe-distclean-prms:
+check-zlib:
-distclean-prms:
- @[ -f ./prms/Makefile ] || exit 0; \
+
+.PHONY: install-zlib maybe-install-zlib
+maybe-install-zlib:
+
+install-zlib:
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-zlib info-zlib
+maybe-info-zlib:
+
+info-zlib: \
+ configure-zlib
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in prms" ; \
- (cd prms && \
+ echo "Doing info in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-rcs distclean-rcs
-maybe-distclean-rcs:
+.PHONY: maybe-dvi-zlib dvi-zlib
+maybe-dvi-zlib:
-distclean-rcs:
- @[ -f ./rcs/Makefile ] || exit 0; \
+dvi-zlib: \
+ configure-zlib
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in rcs" ; \
- (cd rcs && \
+ echo "Doing dvi in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-readline distclean-readline
-maybe-distclean-readline:
+.PHONY: maybe-TAGS-zlib TAGS-zlib
+maybe-TAGS-zlib:
-distclean-readline:
- @[ -f ./readline/Makefile ] || exit 0; \
+TAGS-zlib: \
+ configure-zlib
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in readline" ; \
- (cd readline && \
+ echo "Doing TAGS in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-release distclean-release
-maybe-distclean-release:
+.PHONY: maybe-install-info-zlib install-info-zlib
+maybe-install-info-zlib:
-distclean-release:
- @[ -f ./release/Makefile ] || exit 0; \
+install-info-zlib: \
+ configure-zlib \
+ info-zlib
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in release" ; \
- (cd release && \
+ echo "Doing install-info in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-recode distclean-recode
-maybe-distclean-recode:
+.PHONY: maybe-installcheck-zlib installcheck-zlib
+maybe-installcheck-zlib:
-distclean-recode:
- @[ -f ./recode/Makefile ] || exit 0; \
+installcheck-zlib: \
+ configure-zlib
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in recode" ; \
- (cd recode && \
+ echo "Doing installcheck in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-sed distclean-sed
-maybe-distclean-sed:
+.PHONY: maybe-mostlyclean-zlib mostlyclean-zlib
+maybe-mostlyclean-zlib:
-distclean-sed:
- @[ -f ./sed/Makefile ] || exit 0; \
+mostlyclean-zlib:
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in sed" ; \
- (cd sed && \
+ echo "Doing mostlyclean in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-send-pr distclean-send-pr
-maybe-distclean-send-pr:
+.PHONY: maybe-clean-zlib clean-zlib
+maybe-clean-zlib:
-distclean-send-pr:
- @[ -f ./send-pr/Makefile ] || exit 0; \
+clean-zlib:
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in send-pr" ; \
- (cd send-pr && \
+ echo "Doing clean in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-shellutils distclean-shellutils
-maybe-distclean-shellutils:
+.PHONY: maybe-distclean-zlib distclean-zlib
+maybe-distclean-zlib:
-distclean-shellutils:
- @[ -f ./shellutils/Makefile ] || exit 0; \
+distclean-zlib:
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in shellutils" ; \
- (cd shellutils && \
+ echo "Doing distclean in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -14949,208 +17090,264 @@ distclean-shellutils:
|| exit 1
-.PHONY: maybe-distclean-sid distclean-sid
-maybe-distclean-sid:
+.PHONY: maybe-maintainer-clean-zlib maintainer-clean-zlib
+maybe-maintainer-clean-zlib:
-distclean-sid:
- @[ -f ./sid/Makefile ] || exit 0; \
+maintainer-clean-zlib:
+ @[ -f ./zlib/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in sid" ; \
- (cd sid && \
+ echo "Doing maintainer-clean in zlib" ; \
+ (cd zlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-sim distclean-sim
-maybe-distclean-sim:
-distclean-sim:
- @[ -f ./sim/Makefile ] || exit 0; \
+.PHONY: configure-gdb maybe-configure-gdb
+maybe-configure-gdb:
+configure-gdb:
+ @test ! -f gdb/Makefile || exit 0; \
+ [ -d gdb ] || mkdir gdb; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing distclean in sim" ; \
- (cd sim && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in gdb; \
+ cd gdb || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gdb"; \
+ libsrcdir="$$s/gdb";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gdb"; \
+ libsrcdir="$$s/gdb";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-gdb maybe-all-gdb
+maybe-all-gdb:
+all-gdb: configure-gdb
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: maybe-distclean-tar distclean-tar
-maybe-distclean-tar:
+.PHONY: check-gdb maybe-check-gdb
+maybe-check-gdb:
-distclean-tar:
- @[ -f ./tar/Makefile ] || exit 0; \
+check-gdb:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
+
+
+.PHONY: install-gdb maybe-install-gdb
+maybe-install-gdb:
+
+install-gdb: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-gdb info-gdb
+maybe-info-gdb:
+
+info-gdb: \
+ configure-gdb
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in tar" ; \
- (cd tar && \
+ echo "Doing info in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-texinfo distclean-texinfo
-maybe-distclean-texinfo:
+.PHONY: maybe-dvi-gdb dvi-gdb
+maybe-dvi-gdb:
-distclean-texinfo:
- @[ -f ./texinfo/Makefile ] || exit 0; \
+dvi-gdb: \
+ configure-gdb
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in texinfo" ; \
- (cd texinfo && \
+ echo "Doing dvi in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-textutils distclean-textutils
-maybe-distclean-textutils:
+.PHONY: maybe-TAGS-gdb TAGS-gdb
+maybe-TAGS-gdb:
-distclean-textutils:
- @[ -f ./textutils/Makefile ] || exit 0; \
+TAGS-gdb: \
+ configure-gdb
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in textutils" ; \
- (cd textutils && \
+ echo "Doing TAGS in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-time distclean-time
-maybe-distclean-time:
+.PHONY: maybe-install-info-gdb install-info-gdb
+maybe-install-info-gdb:
-distclean-time:
- @[ -f ./time/Makefile ] || exit 0; \
+install-info-gdb: \
+ configure-gdb \
+ info-gdb
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in time" ; \
- (cd time && \
+ echo "Doing install-info in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-uudecode distclean-uudecode
-maybe-distclean-uudecode:
+.PHONY: maybe-installcheck-gdb installcheck-gdb
+maybe-installcheck-gdb:
-distclean-uudecode:
- @[ -f ./uudecode/Makefile ] || exit 0; \
+installcheck-gdb: \
+ configure-gdb
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in uudecode" ; \
- (cd uudecode && \
+ echo "Doing installcheck in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-wdiff distclean-wdiff
-maybe-distclean-wdiff:
+.PHONY: maybe-mostlyclean-gdb mostlyclean-gdb
+maybe-mostlyclean-gdb:
-distclean-wdiff:
- @[ -f ./wdiff/Makefile ] || exit 0; \
+mostlyclean-gdb:
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in wdiff" ; \
- (cd wdiff && \
+ echo "Doing mostlyclean in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-zip distclean-zip
-maybe-distclean-zip:
+.PHONY: maybe-clean-gdb clean-gdb
+maybe-clean-gdb:
-distclean-zip:
- @[ -f ./zip/Makefile ] || exit 0; \
+clean-gdb:
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in zip" ; \
- (cd zip && \
+ echo "Doing clean in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-zlib distclean-zlib
-maybe-distclean-zlib:
+.PHONY: maybe-distclean-gdb distclean-gdb
+maybe-distclean-gdb:
-distclean-zlib:
- @[ -f ./zlib/Makefile ] || exit 0; \
+distclean-gdb:
+ @[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in zlib" ; \
- (cd zlib && \
+ echo "Doing distclean in gdb" ; \
+ (cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -15159,10 +17356,10 @@ distclean-zlib:
|| exit 1
-.PHONY: maybe-distclean-gdb distclean-gdb
-maybe-distclean-gdb:
+.PHONY: maybe-maintainer-clean-gdb maintainer-clean-gdb
+maybe-maintainer-clean-gdb:
-distclean-gdb:
+maintainer-clean-gdb:
@[ -f ./gdb/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -15170,20 +17367,92 @@ distclean-gdb:
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in gdb" ; \
+ echo "Doing maintainer-clean in gdb" ; \
(cd gdb && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-expect distclean-expect
-maybe-distclean-expect:
-distclean-expect:
+.PHONY: configure-expect maybe-configure-expect
+maybe-configure-expect:
+configure-expect:
+ @test ! -f expect/Makefile || exit 0; \
+ [ -d expect ] || mkdir expect; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in expect; \
+ cd expect || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/expect"; \
+ libsrcdir="$$s/expect";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/expect"; \
+ libsrcdir="$$s/expect";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+
+.PHONY: all-expect maybe-all-expect
+maybe-all-expect:
+all-expect: configure-expect
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
+
+.PHONY: check-expect maybe-check-expect
+maybe-check-expect:
+
+check-expect:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
+
+
+.PHONY: install-expect maybe-install-expect
+maybe-install-expect:
+
+install-expect: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-expect info-expect
+maybe-info-expect:
+
+info-expect: \
+ configure-expect
@[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -15191,165 +17460,160 @@ distclean-expect:
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in expect" ; \
+ echo "Doing info in expect" ; \
(cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-guile distclean-guile
-maybe-distclean-guile:
+.PHONY: maybe-dvi-expect dvi-expect
+maybe-dvi-expect:
-distclean-guile:
- @[ -f ./guile/Makefile ] || exit 0; \
+dvi-expect: \
+ configure-expect
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in guile" ; \
- (cd guile && \
+ echo "Doing dvi in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-tk distclean-tk
-maybe-distclean-tk:
+.PHONY: maybe-TAGS-expect TAGS-expect
+maybe-TAGS-expect:
-distclean-tk:
- @[ -f ./tk/Makefile ] || exit 0; \
+TAGS-expect: \
+ configure-expect
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in tk" ; \
- (cd tk && \
+ echo "Doing TAGS in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-tix distclean-tix
-maybe-distclean-tix:
+.PHONY: maybe-install-info-expect install-info-expect
+maybe-install-info-expect:
-distclean-tix:
- @[ -f ./tix/Makefile ] || exit 0; \
+install-info-expect: \
+ configure-expect \
+ info-expect
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in tix" ; \
- (cd tix && \
+ echo "Doing install-info in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-libtermcap distclean-libtermcap
-maybe-distclean-libtermcap:
-
-# libtermcap doesn't support distclean.
-distclean-libtermcap:
-
-
-.PHONY: maybe-distclean-utils distclean-utils
-maybe-distclean-utils:
+.PHONY: maybe-installcheck-expect installcheck-expect
+maybe-installcheck-expect:
-distclean-utils:
- @[ -f ./utils/Makefile ] || exit 0; \
+installcheck-expect: \
+ configure-expect
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing distclean in utils" ; \
- (cd utils && \
+ echo "Doing installcheck in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
+.PHONY: maybe-mostlyclean-expect mostlyclean-expect
+maybe-mostlyclean-expect:
-# Target modules.
-
-.PHONY: maybe-distclean-target-libstdc++-v3 distclean-target-libstdc++-v3
-maybe-distclean-target-libstdc++-v3:
-
-distclean-target-libstdc++-v3:
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+mostlyclean-expect:
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ echo "Doing mostlyclean in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-target-newlib distclean-target-newlib
-maybe-distclean-target-newlib:
+.PHONY: maybe-clean-expect clean-expect
+maybe-clean-expect:
-distclean-target-newlib:
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+clean-expect:
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ echo "Doing clean in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-target-libf2c distclean-target-libf2c
-maybe-distclean-target-libf2c:
+.PHONY: maybe-distclean-expect distclean-expect
+maybe-distclean-expect:
-distclean-target-libf2c:
- @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
+distclean-expect:
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libf2c" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libf2c && \
+ echo "Doing distclean in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -15358,236 +17622,264 @@ distclean-target-libf2c:
|| exit 1
-.PHONY: maybe-distclean-target-libobjc distclean-target-libobjc
-maybe-distclean-target-libobjc:
+.PHONY: maybe-maintainer-clean-expect maintainer-clean-expect
+maybe-maintainer-clean-expect:
-distclean-target-libobjc:
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+maintainer-clean-expect:
+ @[ -f ./expect/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ echo "Doing maintainer-clean in expect" ; \
+ (cd expect && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-target-libtermcap distclean-target-libtermcap
-maybe-distclean-target-libtermcap:
-# libtermcap doesn't support distclean.
-distclean-target-libtermcap:
+.PHONY: configure-guile maybe-configure-guile
+maybe-configure-guile:
+configure-guile:
+ @test ! -f guile/Makefile || exit 0; \
+ [ -d guile ] || mkdir guile; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in guile; \
+ cd guile || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/guile"; \
+ libsrcdir="$$s/guile";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/guile"; \
+ libsrcdir="$$s/guile";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ || exit 1
+.PHONY: all-guile maybe-all-guile
+maybe-all-guile:
+all-guile: configure-guile
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: maybe-distclean-target-winsup distclean-target-winsup
-maybe-distclean-target-winsup:
+.PHONY: check-guile maybe-check-guile
+maybe-check-guile:
-distclean-target-winsup:
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+check-guile:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-.PHONY: maybe-distclean-target-libgloss distclean-target-libgloss
-maybe-distclean-target-libgloss:
+.PHONY: install-guile maybe-install-guile
+maybe-install-guile:
-distclean-target-libgloss:
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+install-guile: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
- || exit 1
+ (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
-.PHONY: maybe-distclean-target-libiberty distclean-target-libiberty
-maybe-distclean-target-libiberty:
+# Other targets (info, dvi, etc.)
-distclean-target-libiberty:
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+.PHONY: maybe-info-guile info-guile
+maybe-info-guile:
+
+info-guile: \
+ configure-guile
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
+ echo "Doing info in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ info) \
|| exit 1
-.PHONY: maybe-distclean-target-gperf distclean-target-gperf
-maybe-distclean-target-gperf:
+.PHONY: maybe-dvi-guile dvi-guile
+maybe-dvi-guile:
-distclean-target-gperf:
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+dvi-guile: \
+ configure-guile
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ echo "Doing dvi in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-distclean-target-examples distclean-target-examples
-maybe-distclean-target-examples:
+.PHONY: maybe-TAGS-guile TAGS-guile
+maybe-TAGS-guile:
-distclean-target-examples:
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+TAGS-guile: \
+ configure-guile
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ echo "Doing TAGS in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-distclean-target-libffi distclean-target-libffi
-maybe-distclean-target-libffi:
+.PHONY: maybe-install-info-guile install-info-guile
+maybe-install-info-guile:
-distclean-target-libffi:
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+install-info-guile: \
+ configure-guile \
+ info-guile
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ echo "Doing install-info in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-distclean-target-libjava distclean-target-libjava
-maybe-distclean-target-libjava:
+.PHONY: maybe-installcheck-guile installcheck-guile
+maybe-installcheck-guile:
-distclean-target-libjava:
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+installcheck-guile: \
+ configure-guile
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ echo "Doing installcheck in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-distclean-target-zlib distclean-target-zlib
-maybe-distclean-target-zlib:
+.PHONY: maybe-mostlyclean-guile mostlyclean-guile
+maybe-mostlyclean-guile:
-distclean-target-zlib:
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+mostlyclean-guile:
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ echo "Doing mostlyclean in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc
-maybe-distclean-target-boehm-gc:
+.PHONY: maybe-clean-guile clean-guile
+maybe-clean-guile:
-distclean-target-boehm-gc:
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+clean-guile:
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ echo "Doing clean in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ clean) \
|| exit 1
-.PHONY: maybe-distclean-target-qthreads distclean-target-qthreads
-maybe-distclean-target-qthreads:
+.PHONY: maybe-distclean-guile distclean-guile
+maybe-distclean-guile:
-distclean-target-qthreads:
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+distclean-guile:
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ echo "Doing distclean in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -15596,342 +17888,285 @@ distclean-target-qthreads:
|| exit 1
-.PHONY: maybe-distclean-target-rda distclean-target-rda
-maybe-distclean-target-rda:
+.PHONY: maybe-maintainer-clean-guile maintainer-clean-guile
+maybe-maintainer-clean-guile:
-distclean-target-rda:
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+maintainer-clean-guile:
+ @[ -f ./guile/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
+ for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ echo "Doing maintainer-clean in guile" ; \
+ (cd guile && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ maintainer-clean) \
|| exit 1
-.PHONY: maybe-distclean-target-libada distclean-target-libada
-maybe-distclean-target-libada:
-distclean-target-libada:
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+.PHONY: configure-tk maybe-configure-tk
+maybe-configure-tk:
+configure-tk:
+ @test ! -f tk/Makefile || exit 0; \
+ [ -d tk ] || mkdir tk; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libada && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- distclean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in tk; \
+ cd tk || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/tk"; \
+ libsrcdir="$$s/tk";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/tk"; \
+ libsrcdir="$$s/tk";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-tk maybe-all-tk
+maybe-all-tk:
+all-tk: configure-tk
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
+.PHONY: check-tk maybe-check-tk
+maybe-check-tk:
-.PHONY: do-maintainer-clean
-do-maintainer-clean: maintainer-clean-host maintainer-clean-target
+check-tk:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-.PHONY: maintainer-clean-host
-maintainer-clean-host: maybe-maintainer-clean-gcc \
- maybe-maintainer-clean-ash \
- maybe-maintainer-clean-autoconf \
- maybe-maintainer-clean-automake \
- maybe-maintainer-clean-bash \
- maybe-maintainer-clean-bfd \
- maybe-maintainer-clean-opcodes \
- maybe-maintainer-clean-binutils \
- maybe-maintainer-clean-bison \
- maybe-maintainer-clean-byacc \
- maybe-maintainer-clean-bzip2 \
- maybe-maintainer-clean-dejagnu \
- maybe-maintainer-clean-diff \
- maybe-maintainer-clean-dosutils \
- maybe-maintainer-clean-etc \
- maybe-maintainer-clean-fastjar \
- maybe-maintainer-clean-fileutils \
- maybe-maintainer-clean-findutils \
- maybe-maintainer-clean-find \
- maybe-maintainer-clean-flex \
- maybe-maintainer-clean-gas \
- maybe-maintainer-clean-gawk \
- maybe-maintainer-clean-gettext \
- maybe-maintainer-clean-gnuserv \
- maybe-maintainer-clean-gprof \
- maybe-maintainer-clean-gzip \
- maybe-maintainer-clean-hello \
- maybe-maintainer-clean-indent \
- maybe-maintainer-clean-intl \
- maybe-maintainer-clean-tcl \
- maybe-maintainer-clean-itcl \
- maybe-maintainer-clean-ld \
- maybe-maintainer-clean-libgui \
- maybe-maintainer-clean-libiberty \
- maybe-maintainer-clean-libtool \
- maybe-maintainer-clean-m4 \
- maybe-maintainer-clean-make \
- maybe-maintainer-clean-mmalloc \
- maybe-maintainer-clean-patch \
- maybe-maintainer-clean-perl \
- maybe-maintainer-clean-prms \
- maybe-maintainer-clean-rcs \
- maybe-maintainer-clean-readline \
- maybe-maintainer-clean-release \
- maybe-maintainer-clean-recode \
- maybe-maintainer-clean-sed \
- maybe-maintainer-clean-send-pr \
- maybe-maintainer-clean-shellutils \
- maybe-maintainer-clean-sid \
- maybe-maintainer-clean-sim \
- maybe-maintainer-clean-tar \
- maybe-maintainer-clean-texinfo \
- maybe-maintainer-clean-textutils \
- maybe-maintainer-clean-time \
- maybe-maintainer-clean-uudecode \
- maybe-maintainer-clean-wdiff \
- maybe-maintainer-clean-zip \
- maybe-maintainer-clean-zlib \
- maybe-maintainer-clean-gdb \
- maybe-maintainer-clean-expect \
- maybe-maintainer-clean-guile \
- maybe-maintainer-clean-tk \
- maybe-maintainer-clean-tix \
- maybe-maintainer-clean-libtermcap \
- maybe-maintainer-clean-utils
-.PHONY: maintainer-clean-target
-maintainer-clean-target: \
- maybe-maintainer-clean-target-libstdc++-v3 \
- maybe-maintainer-clean-target-newlib \
- maybe-maintainer-clean-target-libf2c \
- maybe-maintainer-clean-target-libobjc \
- maybe-maintainer-clean-target-libtermcap \
- maybe-maintainer-clean-target-winsup \
- maybe-maintainer-clean-target-libgloss \
- maybe-maintainer-clean-target-libiberty \
- maybe-maintainer-clean-target-gperf \
- maybe-maintainer-clean-target-examples \
- maybe-maintainer-clean-target-libffi \
- maybe-maintainer-clean-target-libjava \
- maybe-maintainer-clean-target-zlib \
- maybe-maintainer-clean-target-boehm-gc \
- maybe-maintainer-clean-target-qthreads \
- maybe-maintainer-clean-target-rda \
- maybe-maintainer-clean-target-libada
+.PHONY: install-tk maybe-install-tk
+maybe-install-tk:
-# GCC, the eternal special case
-.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc
-maybe-maintainer-clean-gcc:
-maintainer-clean-gcc:
- @[ -f ./gcc/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-tk: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in gcc" ; \
- (cd gcc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
- || exit 1
+ (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
-# Host modules.
-.PHONY: maybe-maintainer-clean-ash maintainer-clean-ash
-maybe-maintainer-clean-ash:
+# Other targets (info, dvi, etc.)
-maintainer-clean-ash:
- @[ -f ./ash/Makefile ] || exit 0; \
+.PHONY: maybe-info-tk info-tk
+maybe-info-tk:
+
+info-tk: \
+ configure-tk
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in ash" ; \
- (cd ash && \
+ echo "Doing info in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-autoconf maintainer-clean-autoconf
-maybe-maintainer-clean-autoconf:
+.PHONY: maybe-dvi-tk dvi-tk
+maybe-dvi-tk:
-maintainer-clean-autoconf:
- @[ -f ./autoconf/Makefile ] || exit 0; \
+dvi-tk: \
+ configure-tk
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in autoconf" ; \
- (cd autoconf && \
+ echo "Doing dvi in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-automake maintainer-clean-automake
-maybe-maintainer-clean-automake:
+.PHONY: maybe-TAGS-tk TAGS-tk
+maybe-TAGS-tk:
-maintainer-clean-automake:
- @[ -f ./automake/Makefile ] || exit 0; \
+TAGS-tk: \
+ configure-tk
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in automake" ; \
- (cd automake && \
+ echo "Doing TAGS in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-bash maintainer-clean-bash
-maybe-maintainer-clean-bash:
+.PHONY: maybe-install-info-tk install-info-tk
+maybe-install-info-tk:
-maintainer-clean-bash:
- @[ -f ./bash/Makefile ] || exit 0; \
+install-info-tk: \
+ configure-tk \
+ info-tk
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in bash" ; \
- (cd bash && \
+ echo "Doing install-info in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-bfd maintainer-clean-bfd
-maybe-maintainer-clean-bfd:
+.PHONY: maybe-installcheck-tk installcheck-tk
+maybe-installcheck-tk:
-maintainer-clean-bfd:
- @[ -f ./bfd/Makefile ] || exit 0; \
+installcheck-tk: \
+ configure-tk
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in bfd" ; \
- (cd bfd && \
+ echo "Doing installcheck in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-opcodes maintainer-clean-opcodes
-maybe-maintainer-clean-opcodes:
+.PHONY: maybe-mostlyclean-tk mostlyclean-tk
+maybe-mostlyclean-tk:
-maintainer-clean-opcodes:
- @[ -f ./opcodes/Makefile ] || exit 0; \
+mostlyclean-tk:
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in opcodes" ; \
- (cd opcodes && \
+ echo "Doing mostlyclean in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-binutils maintainer-clean-binutils
-maybe-maintainer-clean-binutils:
+.PHONY: maybe-clean-tk clean-tk
+maybe-clean-tk:
-maintainer-clean-binutils:
- @[ -f ./binutils/Makefile ] || exit 0; \
+clean-tk:
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in binutils" ; \
- (cd binutils && \
+ echo "Doing clean in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-bison maintainer-clean-bison
-maybe-maintainer-clean-bison:
+.PHONY: maybe-distclean-tk distclean-tk
+maybe-distclean-tk:
-maintainer-clean-bison:
- @[ -f ./bison/Makefile ] || exit 0; \
+distclean-tk:
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in bison" ; \
- (cd bison && \
+ echo "Doing distclean in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-byacc maintainer-clean-byacc
-maybe-maintainer-clean-byacc:
+.PHONY: maybe-maintainer-clean-tk maintainer-clean-tk
+maybe-maintainer-clean-tk:
-maintainer-clean-byacc:
- @[ -f ./byacc/Makefile ] || exit 0; \
+maintainer-clean-tk:
+ @[ -f ./tk/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in byacc" ; \
- (cd byacc && \
+ echo "Doing maintainer-clean in tk" ; \
+ (cd tk && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -15940,250 +18175,264 @@ maintainer-clean-byacc:
|| exit 1
-.PHONY: maybe-maintainer-clean-bzip2 maintainer-clean-bzip2
-maybe-maintainer-clean-bzip2:
-maintainer-clean-bzip2:
- @[ -f ./bzip2/Makefile ] || exit 0; \
+.PHONY: configure-tix maybe-configure-tix
+maybe-configure-tix:
+configure-tix:
+ @test ! -f tix/Makefile || exit 0; \
+ [ -d tix ] || mkdir tix; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in bzip2" ; \
- (cd bzip2 && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in tix; \
+ cd tix || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/tix"; \
+ libsrcdir="$$s/tix";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/tix"; \
+ libsrcdir="$$s/tix";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-tix maybe-all-tix
+maybe-all-tix:
+all-tix: configure-tix
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-dejagnu maintainer-clean-dejagnu
-maybe-maintainer-clean-dejagnu:
+.PHONY: check-tix maybe-check-tix
+maybe-check-tix:
-maintainer-clean-dejagnu:
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-tix:
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in dejagnu" ; \
- (cd dejagnu && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
- || exit 1
+ (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-.PHONY: maybe-maintainer-clean-diff maintainer-clean-diff
-maybe-maintainer-clean-diff:
+.PHONY: install-tix maybe-install-tix
+maybe-install-tix:
-maintainer-clean-diff:
- @[ -f ./diff/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+install-tix: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in diff" ; \
- (cd diff && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
- || exit 1
+ (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
-.PHONY: maybe-maintainer-clean-dosutils maintainer-clean-dosutils
-maybe-maintainer-clean-dosutils:
+# Other targets (info, dvi, etc.)
-maintainer-clean-dosutils:
- @[ -f ./dosutils/Makefile ] || exit 0; \
+.PHONY: maybe-info-tix info-tix
+maybe-info-tix:
+
+info-tix: \
+ configure-tix
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in dosutils" ; \
- (cd dosutils && \
+ echo "Doing info in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-etc maintainer-clean-etc
-maybe-maintainer-clean-etc:
+.PHONY: maybe-dvi-tix dvi-tix
+maybe-dvi-tix:
-maintainer-clean-etc:
- @[ -f ./etc/Makefile ] || exit 0; \
+dvi-tix: \
+ configure-tix
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in etc" ; \
- (cd etc && \
+ echo "Doing dvi in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-fastjar maintainer-clean-fastjar
-maybe-maintainer-clean-fastjar:
+.PHONY: maybe-TAGS-tix TAGS-tix
+maybe-TAGS-tix:
-maintainer-clean-fastjar:
- @[ -f ./fastjar/Makefile ] || exit 0; \
+TAGS-tix: \
+ configure-tix
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in fastjar" ; \
- (cd fastjar && \
+ echo "Doing TAGS in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-fileutils maintainer-clean-fileutils
-maybe-maintainer-clean-fileutils:
+.PHONY: maybe-install-info-tix install-info-tix
+maybe-install-info-tix:
-maintainer-clean-fileutils:
- @[ -f ./fileutils/Makefile ] || exit 0; \
+install-info-tix: \
+ configure-tix \
+ info-tix
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in fileutils" ; \
- (cd fileutils && \
+ echo "Doing install-info in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-findutils maintainer-clean-findutils
-maybe-maintainer-clean-findutils:
+.PHONY: maybe-installcheck-tix installcheck-tix
+maybe-installcheck-tix:
-maintainer-clean-findutils:
- @[ -f ./findutils/Makefile ] || exit 0; \
+installcheck-tix: \
+ configure-tix
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in findutils" ; \
- (cd findutils && \
+ echo "Doing installcheck in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-find maintainer-clean-find
-maybe-maintainer-clean-find:
+.PHONY: maybe-mostlyclean-tix mostlyclean-tix
+maybe-mostlyclean-tix:
-maintainer-clean-find:
- @[ -f ./find/Makefile ] || exit 0; \
+mostlyclean-tix:
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in find" ; \
- (cd find && \
+ echo "Doing mostlyclean in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-flex maintainer-clean-flex
-maybe-maintainer-clean-flex:
+.PHONY: maybe-clean-tix clean-tix
+maybe-clean-tix:
-maintainer-clean-flex:
- @[ -f ./flex/Makefile ] || exit 0; \
+clean-tix:
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in flex" ; \
- (cd flex && \
+ echo "Doing clean in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-gas maintainer-clean-gas
-maybe-maintainer-clean-gas:
+.PHONY: maybe-distclean-tix distclean-tix
+maybe-distclean-tix:
-maintainer-clean-gas:
- @[ -f ./gas/Makefile ] || exit 0; \
+distclean-tix:
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in gas" ; \
- (cd gas && \
+ echo "Doing distclean in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk
-maybe-maintainer-clean-gawk:
+.PHONY: maybe-maintainer-clean-tix maintainer-clean-tix
+maybe-maintainer-clean-tix:
-maintainer-clean-gawk:
- @[ -f ./gawk/Makefile ] || exit 0; \
+maintainer-clean-tix:
+ @[ -f ./tix/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in gawk" ; \
- (cd gawk && \
+ echo "Doing maintainer-clean in tix" ; \
+ (cd tix && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -16192,376 +18441,466 @@ maintainer-clean-gawk:
|| exit 1
-.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext
-maybe-maintainer-clean-gettext:
-maintainer-clean-gettext:
- @[ -f ./gettext/Makefile ] || exit 0; \
+.PHONY: configure-libtermcap maybe-configure-libtermcap
+maybe-configure-libtermcap:
+configure-libtermcap:
+ @test ! -f libtermcap/Makefile || exit 0; \
+ [ -d libtermcap ] || mkdir libtermcap; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in gettext" ; \
- (cd gettext && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in libtermcap; \
+ cd libtermcap || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/libtermcap"; \
+ libsrcdir="$$s/libtermcap";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \
+ libsrcdir="$$s/libtermcap";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-libtermcap maybe-all-libtermcap
+maybe-all-libtermcap:
+all-libtermcap: configure-libtermcap
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv
-maybe-maintainer-clean-gnuserv:
+.PHONY: check-libtermcap maybe-check-libtermcap
+maybe-check-libtermcap:
-maintainer-clean-gnuserv:
- @[ -f ./gnuserv/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-libtermcap:
+
+
+.PHONY: install-libtermcap maybe-install-libtermcap
+maybe-install-libtermcap:
+
+install-libtermcap: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in gnuserv" ; \
- (cd gnuserv && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
- || exit 1
+ (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof
-maybe-maintainer-clean-gprof:
+# Other targets (info, dvi, etc.)
-maintainer-clean-gprof:
- @[ -f ./gprof/Makefile ] || exit 0; \
+.PHONY: maybe-info-libtermcap info-libtermcap
+maybe-info-libtermcap:
+
+info-libtermcap: \
+ configure-libtermcap
+ @[ -f ./libtermcap/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in gprof" ; \
- (cd gprof && \
+ echo "Doing info in libtermcap" ; \
+ (cd libtermcap && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip
-maybe-maintainer-clean-gzip:
+.PHONY: maybe-dvi-libtermcap dvi-libtermcap
+maybe-dvi-libtermcap:
-maintainer-clean-gzip:
- @[ -f ./gzip/Makefile ] || exit 0; \
+dvi-libtermcap: \
+ configure-libtermcap
+ @[ -f ./libtermcap/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in gzip" ; \
- (cd gzip && \
+ echo "Doing dvi in libtermcap" ; \
+ (cd libtermcap && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello
-maybe-maintainer-clean-hello:
+.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap
+maybe-TAGS-libtermcap:
-maintainer-clean-hello:
- @[ -f ./hello/Makefile ] || exit 0; \
+TAGS-libtermcap: \
+ configure-libtermcap
+ @[ -f ./libtermcap/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in hello" ; \
- (cd hello && \
+ echo "Doing TAGS in libtermcap" ; \
+ (cd libtermcap && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent
-maybe-maintainer-clean-indent:
+.PHONY: maybe-install-info-libtermcap install-info-libtermcap
+maybe-install-info-libtermcap:
-maintainer-clean-indent:
- @[ -f ./indent/Makefile ] || exit 0; \
+install-info-libtermcap: \
+ configure-libtermcap \
+ info-libtermcap
+ @[ -f ./libtermcap/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in indent" ; \
- (cd indent && \
+ echo "Doing install-info in libtermcap" ; \
+ (cd libtermcap && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl
-maybe-maintainer-clean-intl:
+.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap
+maybe-installcheck-libtermcap:
-maintainer-clean-intl:
- @[ -f ./intl/Makefile ] || exit 0; \
+installcheck-libtermcap: \
+ configure-libtermcap
+ @[ -f ./libtermcap/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in intl" ; \
- (cd intl && \
+ echo "Doing installcheck in libtermcap" ; \
+ (cd libtermcap && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl
-maybe-maintainer-clean-tcl:
+.PHONY: maybe-mostlyclean-libtermcap mostlyclean-libtermcap
+maybe-mostlyclean-libtermcap:
-maintainer-clean-tcl:
- @[ -f ./tcl/Makefile ] || exit 0; \
+# libtermcap doesn't support mostlyclean.
+mostlyclean-libtermcap:
+
+
+.PHONY: maybe-clean-libtermcap clean-libtermcap
+maybe-clean-libtermcap:
+
+# libtermcap doesn't support clean.
+clean-libtermcap:
+
+
+.PHONY: maybe-distclean-libtermcap distclean-libtermcap
+maybe-distclean-libtermcap:
+
+# libtermcap doesn't support distclean.
+distclean-libtermcap:
+
+
+.PHONY: maybe-maintainer-clean-libtermcap maintainer-clean-libtermcap
+maybe-maintainer-clean-libtermcap:
+
+# libtermcap doesn't support maintainer-clean.
+maintainer-clean-libtermcap:
+
+
+
+.PHONY: configure-utils maybe-configure-utils
+maybe-configure-utils:
+configure-utils:
+ @test ! -f utils/Makefile || exit 0; \
+ [ -d utils ] || mkdir utils; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in tcl" ; \
- (cd tcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring in utils; \
+ cd utils || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/utils"; \
+ libsrcdir="$$s/utils";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/utils"; \
+ libsrcdir="$$s/utils";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
|| exit 1
+.PHONY: all-utils maybe-all-utils
+maybe-all-utils:
+all-utils: configure-utils
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd utils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl
-maybe-maintainer-clean-itcl:
+.PHONY: check-utils maybe-check-utils
+maybe-check-utils:
-maintainer-clean-itcl:
- @[ -f ./itcl/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-utils:
+
+
+.PHONY: install-utils maybe-install-utils
+maybe-install-utils:
+
+install-utils: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in itcl" ; \
- (cd itcl && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
- || exit 1
+ (cd utils && $(MAKE) $(FLAGS_TO_PASS) install)
-.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld
-maybe-maintainer-clean-ld:
+# Other targets (info, dvi, etc.)
-maintainer-clean-ld:
- @[ -f ./ld/Makefile ] || exit 0; \
+.PHONY: maybe-info-utils info-utils
+maybe-info-utils:
+
+info-utils: \
+ configure-utils
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in ld" ; \
- (cd ld && \
+ echo "Doing info in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui
-maybe-maintainer-clean-libgui:
+.PHONY: maybe-dvi-utils dvi-utils
+maybe-dvi-utils:
-maintainer-clean-libgui:
- @[ -f ./libgui/Makefile ] || exit 0; \
+dvi-utils: \
+ configure-utils
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in libgui" ; \
- (cd libgui && \
+ echo "Doing dvi in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-libiberty maintainer-clean-libiberty
-maybe-maintainer-clean-libiberty:
+.PHONY: maybe-TAGS-utils TAGS-utils
+maybe-TAGS-utils:
-maintainer-clean-libiberty:
- @[ -f ./libiberty/Makefile ] || exit 0; \
+TAGS-utils: \
+ configure-utils
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in libiberty" ; \
- (cd libiberty && \
+ echo "Doing TAGS in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-libtool maintainer-clean-libtool
-maybe-maintainer-clean-libtool:
+.PHONY: maybe-install-info-utils install-info-utils
+maybe-install-info-utils:
-maintainer-clean-libtool:
- @[ -f ./libtool/Makefile ] || exit 0; \
+install-info-utils: \
+ configure-utils \
+ info-utils
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in libtool" ; \
- (cd libtool && \
+ echo "Doing install-info in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-m4 maintainer-clean-m4
-maybe-maintainer-clean-m4:
+.PHONY: maybe-installcheck-utils installcheck-utils
+maybe-installcheck-utils:
-maintainer-clean-m4:
- @[ -f ./m4/Makefile ] || exit 0; \
+installcheck-utils: \
+ configure-utils
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in m4" ; \
- (cd m4 && \
+ echo "Doing installcheck in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-make maintainer-clean-make
-maybe-maintainer-clean-make:
+.PHONY: maybe-mostlyclean-utils mostlyclean-utils
+maybe-mostlyclean-utils:
-maintainer-clean-make:
- @[ -f ./make/Makefile ] || exit 0; \
+mostlyclean-utils:
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in make" ; \
- (cd make && \
+ echo "Doing mostlyclean in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-mmalloc maintainer-clean-mmalloc
-maybe-maintainer-clean-mmalloc:
+.PHONY: maybe-clean-utils clean-utils
+maybe-clean-utils:
-maintainer-clean-mmalloc:
- @[ -f ./mmalloc/Makefile ] || exit 0; \
+clean-utils:
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in mmalloc" ; \
- (cd mmalloc && \
+ echo "Doing clean in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-patch maintainer-clean-patch
-maybe-maintainer-clean-patch:
+.PHONY: maybe-distclean-utils distclean-utils
+maybe-distclean-utils:
-maintainer-clean-patch:
- @[ -f ./patch/Makefile ] || exit 0; \
+distclean-utils:
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in patch" ; \
- (cd patch && \
+ echo "Doing distclean in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-perl maintainer-clean-perl
-maybe-maintainer-clean-perl:
+.PHONY: maybe-maintainer-clean-utils maintainer-clean-utils
+maybe-maintainer-clean-utils:
-maintainer-clean-perl:
- @[ -f ./perl/Makefile ] || exit 0; \
+maintainer-clean-utils:
+ @[ -f ./utils/Makefile ] || exit 0; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
for flag in $(EXTRA_HOST_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in perl" ; \
- (cd perl && \
+ echo "Doing maintainer-clean in utils" ; \
+ (cd utils && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -16570,208 +18909,282 @@ maintainer-clean-perl:
|| exit 1
-.PHONY: maybe-maintainer-clean-prms maintainer-clean-prms
-maybe-maintainer-clean-prms:
-maintainer-clean-prms:
- @[ -f ./prms/Makefile ] || exit 0; \
+
+# ---------------------------------------
+# Modules which run on the target machine
+# ---------------------------------------
+
+.PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3
+maybe-configure-target-libstdc++-v3:
+
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
+ rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
+
+configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in prms" ; \
- (cd prms && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
+ CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \
+ cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
+ libsrcdir="$$s/libstdc++-v3"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
+.PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3
+maybe-all-target-libstdc++-v3:
+all-target-libstdc++-v3: configure-target-libstdc++-v3
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all)
-.PHONY: maybe-maintainer-clean-rcs maintainer-clean-rcs
-maybe-maintainer-clean-rcs:
+.PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
+maybe-check-target-libstdc++-v3:
-maintainer-clean-rcs:
- @[ -f ./rcs/Makefile ] || exit 0; \
+check-target-libstdc++-v3:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check)
+
+
+.PHONY: install-target-libstdc++-v3 maybe-install-target-libstdc++-v3
+maybe-install-target-libstdc++-v3:
+
+install-target-libstdc++-v3: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-libstdc++-v3 info-target-libstdc++-v3
+maybe-info-target-libstdc++-v3:
+
+info-target-libstdc++-v3: \
+ configure-target-libstdc++-v3
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in rcs" ; \
- (cd rcs && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-readline maintainer-clean-readline
-maybe-maintainer-clean-readline:
+.PHONY: maybe-dvi-target-libstdc++-v3 dvi-target-libstdc++-v3
+maybe-dvi-target-libstdc++-v3:
-maintainer-clean-readline:
- @[ -f ./readline/Makefile ] || exit 0; \
+dvi-target-libstdc++-v3: \
+ configure-target-libstdc++-v3
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in readline" ; \
- (cd readline && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-release maintainer-clean-release
-maybe-maintainer-clean-release:
+.PHONY: maybe-TAGS-target-libstdc++-v3 TAGS-target-libstdc++-v3
+maybe-TAGS-target-libstdc++-v3:
-maintainer-clean-release:
- @[ -f ./release/Makefile ] || exit 0; \
+TAGS-target-libstdc++-v3: \
+ configure-target-libstdc++-v3
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in release" ; \
- (cd release && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-recode maintainer-clean-recode
-maybe-maintainer-clean-recode:
+.PHONY: maybe-install-info-target-libstdc++-v3 install-info-target-libstdc++-v3
+maybe-install-info-target-libstdc++-v3:
-maintainer-clean-recode:
- @[ -f ./recode/Makefile ] || exit 0; \
+install-info-target-libstdc++-v3: \
+ configure-target-libstdc++-v3 \
+ info-target-libstdc++-v3
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in recode" ; \
- (cd recode && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-sed maintainer-clean-sed
-maybe-maintainer-clean-sed:
+.PHONY: maybe-installcheck-target-libstdc++-v3 installcheck-target-libstdc++-v3
+maybe-installcheck-target-libstdc++-v3:
-maintainer-clean-sed:
- @[ -f ./sed/Makefile ] || exit 0; \
+installcheck-target-libstdc++-v3: \
+ configure-target-libstdc++-v3
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in sed" ; \
- (cd sed && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-send-pr maintainer-clean-send-pr
-maybe-maintainer-clean-send-pr:
+.PHONY: maybe-mostlyclean-target-libstdc++-v3 mostlyclean-target-libstdc++-v3
+maybe-mostlyclean-target-libstdc++-v3:
-maintainer-clean-send-pr:
- @[ -f ./send-pr/Makefile ] || exit 0; \
+mostlyclean-target-libstdc++-v3:
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in send-pr" ; \
- (cd send-pr && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-shellutils maintainer-clean-shellutils
-maybe-maintainer-clean-shellutils:
+.PHONY: maybe-clean-target-libstdc++-v3 clean-target-libstdc++-v3
+maybe-clean-target-libstdc++-v3:
-maintainer-clean-shellutils:
- @[ -f ./shellutils/Makefile ] || exit 0; \
+clean-target-libstdc++-v3:
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in shellutils" ; \
- (cd shellutils && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-sid maintainer-clean-sid
-maybe-maintainer-clean-sid:
+.PHONY: maybe-distclean-target-libstdc++-v3 distclean-target-libstdc++-v3
+maybe-distclean-target-libstdc++-v3:
-maintainer-clean-sid:
- @[ -f ./sid/Makefile ] || exit 0; \
+distclean-target-libstdc++-v3:
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in sid" ; \
- (cd sid && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-sim maintainer-clean-sim
-maybe-maintainer-clean-sim:
+.PHONY: maybe-maintainer-clean-target-libstdc++-v3 maintainer-clean-target-libstdc++-v3
+maybe-maintainer-clean-target-libstdc++-v3:
-maintainer-clean-sim:
- @[ -f ./sim/Makefile ] || exit 0; \
+maintainer-clean-target-libstdc++-v3:
+ @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in sim" ; \
- (cd sim && \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -16780,208 +19193,276 @@ maintainer-clean-sim:
|| exit 1
-.PHONY: maybe-maintainer-clean-tar maintainer-clean-tar
-maybe-maintainer-clean-tar:
-maintainer-clean-tar:
- @[ -f ./tar/Makefile ] || exit 0; \
+.PHONY: configure-target-newlib maybe-configure-target-newlib
+maybe-configure-target-newlib:
+
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/newlib/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
+ rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out
+
+configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in tar" ; \
- (cd tar && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/newlib; \
+ cd "$(TARGET_SUBDIR)/newlib" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/newlib"; \
+ libsrcdir="$$s/newlib"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
+.PHONY: all-target-newlib maybe-all-target-newlib
+maybe-all-target-newlib:
+all-target-newlib: configure-target-newlib
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/newlib && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-texinfo maintainer-clean-texinfo
-maybe-maintainer-clean-texinfo:
+.PHONY: check-target-newlib maybe-check-target-newlib
+maybe-check-target-newlib:
-maintainer-clean-texinfo:
- @[ -f ./texinfo/Makefile ] || exit 0; \
+check-target-newlib:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/newlib && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+
+.PHONY: install-target-newlib maybe-install-target-newlib
+maybe-install-target-newlib:
+
+install-target-newlib: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/newlib && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-newlib info-target-newlib
+maybe-info-target-newlib:
+
+info-target-newlib: \
+ configure-target-newlib
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in texinfo" ; \
- (cd texinfo && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-textutils maintainer-clean-textutils
-maybe-maintainer-clean-textutils:
+.PHONY: maybe-dvi-target-newlib dvi-target-newlib
+maybe-dvi-target-newlib:
-maintainer-clean-textutils:
- @[ -f ./textutils/Makefile ] || exit 0; \
+dvi-target-newlib: \
+ configure-target-newlib
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in textutils" ; \
- (cd textutils && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-time maintainer-clean-time
-maybe-maintainer-clean-time:
+.PHONY: maybe-TAGS-target-newlib TAGS-target-newlib
+maybe-TAGS-target-newlib:
-maintainer-clean-time:
- @[ -f ./time/Makefile ] || exit 0; \
+TAGS-target-newlib: \
+ configure-target-newlib
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in time" ; \
- (cd time && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-uudecode maintainer-clean-uudecode
-maybe-maintainer-clean-uudecode:
+.PHONY: maybe-install-info-target-newlib install-info-target-newlib
+maybe-install-info-target-newlib:
-maintainer-clean-uudecode:
- @[ -f ./uudecode/Makefile ] || exit 0; \
+install-info-target-newlib: \
+ configure-target-newlib \
+ info-target-newlib
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in uudecode" ; \
- (cd uudecode && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-wdiff maintainer-clean-wdiff
-maybe-maintainer-clean-wdiff:
+.PHONY: maybe-installcheck-target-newlib installcheck-target-newlib
+maybe-installcheck-target-newlib:
-maintainer-clean-wdiff:
- @[ -f ./wdiff/Makefile ] || exit 0; \
+installcheck-target-newlib: \
+ configure-target-newlib
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in wdiff" ; \
- (cd wdiff && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-zip maintainer-clean-zip
-maybe-maintainer-clean-zip:
+.PHONY: maybe-mostlyclean-target-newlib mostlyclean-target-newlib
+maybe-mostlyclean-target-newlib:
-maintainer-clean-zip:
- @[ -f ./zip/Makefile ] || exit 0; \
+mostlyclean-target-newlib:
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in zip" ; \
- (cd zip && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-zlib maintainer-clean-zlib
-maybe-maintainer-clean-zlib:
+.PHONY: maybe-clean-target-newlib clean-target-newlib
+maybe-clean-target-newlib:
-maintainer-clean-zlib:
- @[ -f ./zlib/Makefile ] || exit 0; \
+clean-target-newlib:
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in zlib" ; \
- (cd zlib && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-gdb maintainer-clean-gdb
-maybe-maintainer-clean-gdb:
+.PHONY: maybe-distclean-target-newlib distclean-target-newlib
+maybe-distclean-target-newlib:
-maintainer-clean-gdb:
- @[ -f ./gdb/Makefile ] || exit 0; \
+distclean-target-newlib:
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in gdb" ; \
- (cd gdb && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-expect maintainer-clean-expect
-maybe-maintainer-clean-expect:
+.PHONY: maybe-maintainer-clean-target-newlib maintainer-clean-target-newlib
+maybe-maintainer-clean-target-newlib:
-maintainer-clean-expect:
- @[ -f ./expect/Makefile ] || exit 0; \
+maintainer-clean-target-newlib:
+ @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in expect" ; \
- (cd expect && \
+ (cd $(TARGET_SUBDIR)/newlib && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -16990,151 +19471,209 @@ maintainer-clean-expect:
|| exit 1
-.PHONY: maybe-maintainer-clean-guile maintainer-clean-guile
-maybe-maintainer-clean-guile:
-maintainer-clean-guile:
- @[ -f ./guile/Makefile ] || exit 0; \
+.PHONY: configure-target-libf2c maybe-configure-target-libf2c
+maybe-configure-target-libf2c:
+
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libf2c/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \
+ rm -f $(TARGET_SUBDIR)/libf2c/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libf2c/multilib.out
+
+configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libf2c/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing maintainer-clean in guile" ; \
- (cd guile && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libf2c; \
+ cd "$(TARGET_SUBDIR)/libf2c" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libf2c"; \
+ libsrcdir="$$s/libf2c"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
+.PHONY: all-target-libf2c maybe-all-target-libf2c
+maybe-all-target-libf2c:
+all-target-libf2c: configure-target-libf2c
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libf2c && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-tk maintainer-clean-tk
-maybe-maintainer-clean-tk:
+.PHONY: check-target-libf2c maybe-check-target-libf2c
+maybe-check-target-libf2c:
-maintainer-clean-tk:
- @[ -f ./tk/Makefile ] || exit 0; \
+check-target-libf2c:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libf2c && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+
+.PHONY: install-target-libf2c maybe-install-target-libf2c
+maybe-install-target-libf2c:
+
+install-target-libf2c: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libf2c && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-libf2c info-target-libf2c
+maybe-info-target-libf2c:
+
+info-target-libf2c: \
+ configure-target-libf2c
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing info in $(TARGET_SUBDIR)/libf2c" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in tk" ; \
- (cd tk && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-tix maintainer-clean-tix
-maybe-maintainer-clean-tix:
+.PHONY: maybe-dvi-target-libf2c dvi-target-libf2c
+maybe-dvi-target-libf2c:
-maintainer-clean-tix:
- @[ -f ./tix/Makefile ] || exit 0; \
+dvi-target-libf2c: \
+ configure-target-libf2c
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libf2c" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in tix" ; \
- (cd tix && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-libtermcap maintainer-clean-libtermcap
-maybe-maintainer-clean-libtermcap:
-
-# libtermcap doesn't support maintainer-clean.
-maintainer-clean-libtermcap:
-
-
-.PHONY: maybe-maintainer-clean-utils maintainer-clean-utils
-maybe-maintainer-clean-utils:
+.PHONY: maybe-TAGS-target-libf2c TAGS-target-libf2c
+maybe-TAGS-target-libf2c:
-maintainer-clean-utils:
- @[ -f ./utils/Makefile ] || exit 0; \
+TAGS-target-libf2c: \
+ configure-target-libf2c
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libf2c" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- echo "Doing maintainer-clean in utils" ; \
- (cd utils && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
+.PHONY: maybe-install-info-target-libf2c install-info-target-libf2c
+maybe-install-info-target-libf2c:
-# Target modules.
-
-.PHONY: maybe-maintainer-clean-target-libstdc++-v3 maintainer-clean-target-libstdc++-v3
-maybe-maintainer-clean-target-libstdc++-v3:
-
-maintainer-clean-target-libstdc++-v3:
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+install-info-target-libf2c: \
+ configure-target-libf2c \
+ info-target-libf2c
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-newlib maintainer-clean-target-newlib
-maybe-maintainer-clean-target-newlib:
+.PHONY: maybe-installcheck-target-libf2c installcheck-target-libf2c
+maybe-installcheck-target-libf2c:
-maintainer-clean-target-newlib:
- @[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
+installcheck-target-libf2c: \
+ configure-target-libf2c
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/newlib && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libf2c maintainer-clean-target-libf2c
-maybe-maintainer-clean-target-libf2c:
+.PHONY: maybe-mostlyclean-target-libf2c mostlyclean-target-libf2c
+maybe-mostlyclean-target-libf2c:
-maintainer-clean-target-libf2c:
+mostlyclean-target-libf2c:
@[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libf2c" ; \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
@@ -17143,72 +19682,65 @@ maintainer-clean-target-libf2c:
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libobjc maintainer-clean-target-libobjc
-maybe-maintainer-clean-target-libobjc:
+.PHONY: maybe-clean-target-libf2c clean-target-libf2c
+maybe-clean-target-libf2c:
-maintainer-clean-target-libobjc:
- @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
+clean-target-libf2c:
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \
+ echo "Doing clean in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libobjc && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libtermcap maintainer-clean-target-libtermcap
-maybe-maintainer-clean-target-libtermcap:
-
-# libtermcap doesn't support maintainer-clean.
-maintainer-clean-target-libtermcap:
-
-
-.PHONY: maybe-maintainer-clean-target-winsup maintainer-clean-target-winsup
-maybe-maintainer-clean-target-winsup:
+.PHONY: maybe-distclean-target-libf2c distclean-target-libf2c
+maybe-distclean-target-libf2c:
-maintainer-clean-target-winsup:
- @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+distclean-target-libf2c:
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/winsup && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libgloss maintainer-clean-target-libgloss
-maybe-maintainer-clean-target-libgloss:
+.PHONY: maybe-maintainer-clean-target-libf2c maintainer-clean-target-libf2c
+maybe-maintainer-clean-target-libf2c:
-maintainer-clean-target-libgloss:
- @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+maintainer-clean-target-libf2c:
+ @[ -f $(TARGET_SUBDIR)/libf2c/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libf2c" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libgloss && \
+ (cd $(TARGET_SUBDIR)/libf2c && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -17217,208 +19749,276 @@ maintainer-clean-target-libgloss:
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libiberty maintainer-clean-target-libiberty
-maybe-maintainer-clean-target-libiberty:
-maintainer-clean-target-libiberty:
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+.PHONY: configure-target-libobjc maybe-configure-target-libobjc
+maybe-configure-target-libobjc:
+
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
+ rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out
+
+configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/libiberty && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libobjc; \
+ cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \
+ case $(srcdir) in \
+ /* | [A-Za-z]:[\\/]*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ srcdiroption="--srcdir=$${topdir}/libobjc"; \
+ libsrcdir="$$s/libobjc"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
+.PHONY: all-target-libobjc maybe-all-target-libobjc
+maybe-all-target-libobjc:
+all-target-libobjc: configure-target-libobjc
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libobjc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: maybe-maintainer-clean-target-gperf maintainer-clean-target-gperf
-maybe-maintainer-clean-target-gperf:
+.PHONY: check-target-libobjc maybe-check-target-libobjc
+maybe-check-target-libobjc:
-maintainer-clean-target-gperf:
- @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+check-target-libobjc:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libobjc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+
+.PHONY: install-target-libobjc maybe-install-target-libobjc
+maybe-install-target-libobjc:
+
+install-target-libobjc: installdirs
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/libobjc && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+
+
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-libobjc info-target-libobjc
+maybe-info-target-libobjc:
+
+info-target-libobjc: \
+ configure-target-libobjc
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \
+ echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/gperf && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-examples maintainer-clean-target-examples
-maybe-maintainer-clean-target-examples:
+.PHONY: maybe-dvi-target-libobjc dvi-target-libobjc
+maybe-dvi-target-libobjc:
-maintainer-clean-target-examples:
- @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+dvi-target-libobjc: \
+ configure-target-libobjc
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/examples && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ dvi) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libffi maintainer-clean-target-libffi
-maybe-maintainer-clean-target-libffi:
+.PHONY: maybe-TAGS-target-libobjc TAGS-target-libobjc
+maybe-TAGS-target-libobjc:
-maintainer-clean-target-libffi:
- @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+TAGS-target-libobjc: \
+ configure-target-libobjc
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libffi && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ TAGS) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libjava maintainer-clean-target-libjava
-maybe-maintainer-clean-target-libjava:
+.PHONY: maybe-install-info-target-libobjc install-info-target-libobjc
+maybe-install-info-target-libobjc:
-maintainer-clean-target-libjava:
- @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+install-info-target-libobjc: \
+ configure-target-libobjc \
+ info-target-libobjc
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libjava && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ install-info) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-zlib maintainer-clean-target-zlib
-maybe-maintainer-clean-target-zlib:
+.PHONY: maybe-installcheck-target-libobjc installcheck-target-libobjc
+maybe-installcheck-target-libobjc:
-maintainer-clean-target-zlib:
- @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+installcheck-target-libobjc: \
+ configure-target-libobjc
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/zlib && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ installcheck) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc
-maybe-maintainer-clean-target-boehm-gc:
+.PHONY: maybe-mostlyclean-target-libobjc mostlyclean-target-libobjc
+maybe-mostlyclean-target-libobjc:
-maintainer-clean-target-boehm-gc:
- @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+mostlyclean-target-libobjc:
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ mostlyclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-qthreads maintainer-clean-target-qthreads
-maybe-maintainer-clean-target-qthreads:
+.PHONY: maybe-clean-target-libobjc clean-target-libobjc
+maybe-clean-target-libobjc:
-maintainer-clean-target-qthreads:
- @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+clean-target-libobjc:
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \
+ echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/qthreads && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ clean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-rda maintainer-clean-target-rda
-maybe-maintainer-clean-target-rda:
+.PHONY: maybe-distclean-target-libobjc distclean-target-libobjc
+maybe-distclean-target-libobjc:
-maintainer-clean-target-rda:
- @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+distclean-target-libobjc:
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/rda && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
"DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- maintainer-clean) \
+ distclean) \
|| exit 1
-.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada
-maybe-maintainer-clean-target-libada:
+.PHONY: maybe-maintainer-clean-target-libobjc maintainer-clean-target-libobjc
+maybe-maintainer-clean-target-libobjc:
-maintainer-clean-target-libada:
- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+maintainer-clean-target-libobjc:
+ @[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \
for flag in $(EXTRA_TARGET_FLAGS); do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
- (cd $(TARGET_SUBDIR)/libada && \
+ (cd $(TARGET_SUBDIR)/libobjc && \
$(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
"CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
"RANLIB=$${RANLIB}" \
@@ -17428,419 +20028,50 @@ maintainer-clean-target-libada:
+.PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
+maybe-configure-target-libtermcap:
-# Here are the targets which correspond to the do-X targets.
-
-.PHONY: info installcheck dvi install-info
-.PHONY: clean distclean mostlyclean maintainer-clean realclean
-.PHONY: local-clean local-distclean local-maintainer-clean
-info: do-info
-installcheck: do-installcheck
-dvi: do-dvi
-
-# Make sure makeinfo is built before we do a `make info', if we're
-# in fact building texinfo.
-do-info: maybe-all-texinfo
-
-install-info: do-install-info dir.info
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- if [ -f dir.info ] ; then \
- $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \
- else true ; fi
-
-local-clean:
- -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log
-
-local-distclean:
- -rm -f Makefile config.status config.cache mh-frag mt-frag
- -rm -f multilib.out multilib.tmp maybedep.tmp serdep.tmp
- -if [ "$(TARGET_SUBDIR)" != "." ]; then \
- rm -rf $(TARGET_SUBDIR); \
- else true; fi
- -rm -rf $(BUILD_SUBDIR)
- -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
- -rm -f texinfo/doc/Makefile texinfo/po/POTFILES
- -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
- -rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null
- -rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null
-
-local-maintainer-clean:
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-clean: do-clean local-clean
-mostlyclean: do-mostlyclean local-clean
-distclean: do-distclean local-clean local-distclean
-maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean
-maintainer-clean: local-distclean
-realclean: maintainer-clean
-
-# Extra dependency for clean-target, owing to the mixed nature of gcc
-clean-target: clean-target-libgcc
-clean-target-libgcc:
- test ! -d gcc/libgcc || \
- (cd gcc/libgcc && find . -type d -print) | \
- while read d; do rm -f gcc/$$d/libgcc.a || : ; done
- -rm -rf gcc/libgcc
-
-# Check target.
-
-.PHONY: check do-check
-check: do-check
-
-# Only include modules actually being configured and built.
-do-check: maybe-check-gcc \
- maybe-check-ash \
- maybe-check-autoconf \
- maybe-check-automake \
- maybe-check-bash \
- maybe-check-bfd \
- maybe-check-opcodes \
- maybe-check-binutils \
- maybe-check-bison \
- maybe-check-byacc \
- maybe-check-bzip2 \
- maybe-check-dejagnu \
- maybe-check-diff \
- maybe-check-dosutils \
- maybe-check-etc \
- maybe-check-fastjar \
- maybe-check-fileutils \
- maybe-check-findutils \
- maybe-check-find \
- maybe-check-flex \
- maybe-check-gas \
- maybe-check-gawk \
- maybe-check-gettext \
- maybe-check-gnuserv \
- maybe-check-gprof \
- maybe-check-gzip \
- maybe-check-hello \
- maybe-check-indent \
- maybe-check-intl \
- maybe-check-tcl \
- maybe-check-itcl \
- maybe-check-ld \
- maybe-check-libgui \
- maybe-check-libiberty \
- maybe-check-libtool \
- maybe-check-m4 \
- maybe-check-make \
- maybe-check-mmalloc \
- maybe-check-patch \
- maybe-check-perl \
- maybe-check-prms \
- maybe-check-rcs \
- maybe-check-readline \
- maybe-check-release \
- maybe-check-recode \
- maybe-check-sed \
- maybe-check-send-pr \
- maybe-check-shellutils \
- maybe-check-sid \
- maybe-check-sim \
- maybe-check-tar \
- maybe-check-texinfo \
- maybe-check-textutils \
- maybe-check-time \
- maybe-check-uudecode \
- maybe-check-wdiff \
- maybe-check-zip \
- maybe-check-zlib \
- maybe-check-gdb \
- maybe-check-expect \
- maybe-check-guile \
- maybe-check-tk \
- maybe-check-tix \
- maybe-check-libtermcap \
- maybe-check-utils \
- maybe-check-target-libstdc++-v3 \
- maybe-check-target-newlib \
- maybe-check-target-libf2c \
- maybe-check-target-libobjc \
- maybe-check-target-libtermcap \
- maybe-check-target-winsup \
- maybe-check-target-libgloss \
- maybe-check-target-libiberty \
- maybe-check-target-gperf \
- maybe-check-target-examples \
- maybe-check-target-libffi \
- maybe-check-target-libjava \
- maybe-check-target-zlib \
- maybe-check-target-boehm-gc \
- maybe-check-target-qthreads \
- maybe-check-target-rda \
- maybe-check-target-libada
-
-# Automated reporting of test results.
-
-warning.log: build.log
- $(srcdir)/contrib/warn_summary build.log > $@
-
-mail-report.log:
- if test x'$(BOOT_CFLAGS)' != x''; then \
- BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
- fi; \
- $(srcdir)/contrib/test_summary -t >$@
- chmod +x $@
- echo If you really want to send e-mail, run ./$@ now
-
-mail-report-with-warnings.log: warning.log
- if test x'$(BOOT_CFLAGS)' != x''; then \
- BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \
- fi; \
- $(srcdir)/contrib/test_summary -t -i warning.log >$@
- chmod +x $@
- echo If you really want to send e-mail, run ./$@ now
-
-# Installation targets.
-
-.PHONY: install uninstall
-install: installdirs install-host install-target
-
-.PHONY: install-host-nogcc
-install-host-nogcc: \
- maybe-install-ash \
- maybe-install-autoconf \
- maybe-install-automake \
- maybe-install-bash \
- maybe-install-bfd \
- maybe-install-opcodes \
- maybe-install-binutils \
- maybe-install-bison \
- maybe-install-byacc \
- maybe-install-bzip2 \
- maybe-install-dejagnu \
- maybe-install-diff \
- maybe-install-dosutils \
- maybe-install-etc \
- maybe-install-fastjar \
- maybe-install-fileutils \
- maybe-install-findutils \
- maybe-install-find \
- maybe-install-flex \
- maybe-install-gas \
- maybe-install-gawk \
- maybe-install-gettext \
- maybe-install-gnuserv \
- maybe-install-gprof \
- maybe-install-gzip \
- maybe-install-hello \
- maybe-install-indent \
- maybe-install-intl \
- maybe-install-tcl \
- maybe-install-itcl \
- maybe-install-ld \
- maybe-install-libgui \
- maybe-install-libiberty \
- maybe-install-libtool \
- maybe-install-m4 \
- maybe-install-make \
- maybe-install-mmalloc \
- maybe-install-patch \
- maybe-install-perl \
- maybe-install-prms \
- maybe-install-rcs \
- maybe-install-readline \
- maybe-install-release \
- maybe-install-recode \
- maybe-install-sed \
- maybe-install-send-pr \
- maybe-install-shellutils \
- maybe-install-sid \
- maybe-install-sim \
- maybe-install-tar \
- maybe-install-texinfo \
- maybe-install-textutils \
- maybe-install-time \
- maybe-install-uudecode \
- maybe-install-wdiff \
- maybe-install-zip \
- maybe-install-zlib \
- maybe-install-gdb \
- maybe-install-expect \
- maybe-install-guile \
- maybe-install-tk \
- maybe-install-tix \
- maybe-install-libtermcap \
- maybe-install-utils
-
-.PHONY: install-host
-install-host: maybe-install-gcc \
- maybe-install-ash \
- maybe-install-autoconf \
- maybe-install-automake \
- maybe-install-bash \
- maybe-install-bfd \
- maybe-install-opcodes \
- maybe-install-binutils \
- maybe-install-bison \
- maybe-install-byacc \
- maybe-install-bzip2 \
- maybe-install-dejagnu \
- maybe-install-diff \
- maybe-install-dosutils \
- maybe-install-etc \
- maybe-install-fastjar \
- maybe-install-fileutils \
- maybe-install-findutils \
- maybe-install-find \
- maybe-install-flex \
- maybe-install-gas \
- maybe-install-gawk \
- maybe-install-gettext \
- maybe-install-gnuserv \
- maybe-install-gprof \
- maybe-install-gzip \
- maybe-install-hello \
- maybe-install-indent \
- maybe-install-intl \
- maybe-install-tcl \
- maybe-install-itcl \
- maybe-install-ld \
- maybe-install-libgui \
- maybe-install-libiberty \
- maybe-install-libtool \
- maybe-install-m4 \
- maybe-install-make \
- maybe-install-mmalloc \
- maybe-install-patch \
- maybe-install-perl \
- maybe-install-prms \
- maybe-install-rcs \
- maybe-install-readline \
- maybe-install-release \
- maybe-install-recode \
- maybe-install-sed \
- maybe-install-send-pr \
- maybe-install-shellutils \
- maybe-install-sid \
- maybe-install-sim \
- maybe-install-tar \
- maybe-install-texinfo \
- maybe-install-textutils \
- maybe-install-time \
- maybe-install-uudecode \
- maybe-install-wdiff \
- maybe-install-zip \
- maybe-install-zlib \
- maybe-install-gdb \
- maybe-install-expect \
- maybe-install-guile \
- maybe-install-tk \
- maybe-install-tix \
- maybe-install-libtermcap \
- maybe-install-utils
-
-.PHONY: install-target
-install-target: \
- maybe-install-target-libstdc++-v3 \
- maybe-install-target-newlib \
- maybe-install-target-libf2c \
- maybe-install-target-libobjc \
- maybe-install-target-libtermcap \
- maybe-install-target-winsup \
- maybe-install-target-libgloss \
- maybe-install-target-libiberty \
- maybe-install-target-gperf \
- maybe-install-target-examples \
- maybe-install-target-libffi \
- maybe-install-target-libjava \
- maybe-install-target-zlib \
- maybe-install-target-boehm-gc \
- maybe-install-target-qthreads \
- maybe-install-target-rda \
- maybe-install-target-libada
-
-uninstall:
- @echo "the uninstall target is not supported in this tree"
-
-.PHONY: install.all
-install.all: install-no-fixedincludes
- @if [ -f ./gcc/Makefile ] ; then \
- r=`${PWD_COMMAND}` ; export r ; \
- $(SET_LIB_PATH) \
- (cd ./gcc && \
- $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
- else \
- true ; \
- fi
-
-# install-no-fixedincludes is used because Cygnus can not distribute
-# the fixed header files.
-.PHONY: install-no-fixedincludes
-install-no-fixedincludes: installdirs install-host-nogcc \
- install-target gcc-no-fixedincludes
-
-### other supporting targets
-
-MAKEDIRS= \
- $(DESTDIR)$(prefix) \
- $(DESTDIR)$(exec_prefix)
-.PHONY: installdirs
-installdirs: mkinstalldirs
- $(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS)
-
-dir.info: do-install-info
- if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
- $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
- mv -f dir.info.new dir.info ; \
- else true ; \
- fi
-
-dist:
- @echo "Building a full distribution of this tree isn't done"
- @echo "via 'make dist'. Check out the etc/ subdirectory"
-
-etags tags: TAGS
-
-# Right now this just builds TAGS in each subdirectory. emacs19 has the
-# ability to use several tags files at once, so there is probably no need
-# to combine them into one big TAGS file (like CVS 1.3 does). We could
-# (if we felt like it) have this Makefile write a piece of elisp which
-# the user could load to tell emacs19 where all the TAGS files we just
-# built are.
-TAGS: do-TAGS
-
-# --------------------------------------
-# Modules which run on the build machine
-# --------------------------------------
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
+ rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out
-.PHONY: configure-build-libiberty maybe-configure-build-libiberty
-maybe-configure-build-libiberty:
-configure-build-libiberty:
- @test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
+configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- AR="$(AR_FOR_BUILD)"; export AR; \
- AS="$(AS_FOR_BUILD)"; export AS; \
- CC="$(CC_FOR_BUILD)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
- LD="$(LD_FOR_BUILD)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
- NM="$(NM_FOR_BUILD)"; export NM; \
- RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
- echo Configuring in $(BUILD_SUBDIR)/libiberty; \
- cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libtermcap; \
+ cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) \
topdir=$(srcdir) ;; \
*) \
- case "$(BUILD_SUBDIR)" in \
+ case "$(TARGET_SUBDIR)" in \
.) topdir="../$(srcdir)" ;; \
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
if [ "$(srcdir)" = "." ] ; then \
- if [ "$(BUILD_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \
+ if [ "$(TARGET_SUBDIR)" != "." ] ; then \
+ if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \
if [ -f Makefile ]; then \
if $(MAKE) distclean; then \
true; \
@@ -17859,4311 +20090,1852 @@ configure-build-libiberty:
srcdiroption="--srcdir=."; \
libsrcdir="."; \
else \
- srcdiroption="--srcdir=$${topdir}/libiberty"; \
- libsrcdir="$$s/libiberty"; \
+ srcdiroption="--srcdir=$${topdir}/libtermcap"; \
+ libsrcdir="$$s/libtermcap"; \
fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(BUILD_CONFIGARGS) $${srcdiroption} \
- --with-build-subdir="$(BUILD_SUBDIR)" \
- || exit 1
-
-.PHONY: all-build-libiberty maybe-all-build-libiberty
-maybe-all-build-libiberty:
-all-build-libiberty: configure-build-libiberty
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- (cd $(BUILD_SUBDIR)/libiberty && $(MAKE) all)
-
-
-# --------------------------------------
-# Modules which run on the host machine
-# --------------------------------------
-
-.PHONY: configure-ash maybe-configure-ash
-maybe-configure-ash:
-configure-ash:
- @test ! -f ash/Makefile || exit 0; \
- [ -d ash ] || mkdir ash; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in ash; \
- cd ash || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/ash"; \
- libsrcdir="$$s/ash";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/ash"; \
- libsrcdir="$$s/ash";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-ash maybe-all-ash
-maybe-all-ash:
-all-ash: configure-ash
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd ash && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-ash maybe-check-ash
-maybe-check-ash:
-
-check-ash:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd ash && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-ash maybe-install-ash
-maybe-install-ash:
-
-install-ash: installdirs
+.PHONY: all-target-libtermcap maybe-all-target-libtermcap
+maybe-all-target-libtermcap:
+all-target-libtermcap: configure-target-libtermcap
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd ash && $(MAKE) $(FLAGS_TO_PASS) install)
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
+.PHONY: check-target-libtermcap maybe-check-target-libtermcap
+maybe-check-target-libtermcap:
-.PHONY: configure-autoconf maybe-configure-autoconf
-maybe-configure-autoconf:
-configure-autoconf:
- @test ! -f autoconf/Makefile || exit 0; \
- [ -d autoconf ] || mkdir autoconf; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in autoconf; \
- cd autoconf || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/autoconf"; \
- libsrcdir="$$s/autoconf";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/autoconf"; \
- libsrcdir="$$s/autoconf";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+# Dummy target for uncheckable module.
+check-target-libtermcap:
-.PHONY: all-autoconf maybe-all-autoconf
-maybe-all-autoconf:
-all-autoconf: configure-autoconf
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-autoconf maybe-check-autoconf
-maybe-check-autoconf:
+.PHONY: install-target-libtermcap maybe-install-target-libtermcap
+maybe-install-target-libtermcap:
-check-autoconf:
+install-target-libtermcap: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check)
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: install-autoconf maybe-install-autoconf
-maybe-install-autoconf:
-
-install-autoconf: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+.PHONY: maybe-info-target-libtermcap info-target-libtermcap
+maybe-info-target-libtermcap:
-.PHONY: configure-automake maybe-configure-automake
-maybe-configure-automake:
-configure-automake:
- @test ! -f automake/Makefile || exit 0; \
- [ -d automake ] || mkdir automake; \
+info-target-libtermcap: \
+ configure-target-libtermcap
+ @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in automake; \
- cd automake || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/automake"; \
- libsrcdir="$$s/automake";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/automake"; \
- libsrcdir="$$s/automake";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-automake maybe-all-automake
-maybe-all-automake:
-all-automake: configure-automake
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd automake && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-automake maybe-check-automake
-maybe-check-automake:
-
-check-automake:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd automake && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-automake maybe-install-automake
-maybe-install-automake:
-
-install-automake: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd automake && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-bash maybe-configure-bash
-maybe-configure-bash:
-configure-bash:
- @test ! -f bash/Makefile || exit 0; \
- [ -d bash ] || mkdir bash; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in bash; \
- cd bash || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/bash"; \
- libsrcdir="$$s/bash";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/bash"; \
- libsrcdir="$$s/bash";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-bash maybe-all-bash
-maybe-all-bash:
-all-bash: configure-bash
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bash && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-bash maybe-check-bash
-maybe-check-bash:
-
-check-bash:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bash && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-bash maybe-install-bash
-maybe-install-bash:
-
-install-bash: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bash && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-dvi-target-libtermcap dvi-target-libtermcap
+maybe-dvi-target-libtermcap:
-.PHONY: configure-bfd maybe-configure-bfd
-maybe-configure-bfd:
-configure-bfd:
- @test ! -f bfd/Makefile || exit 0; \
- [ -d bfd ] || mkdir bfd; \
+dvi-target-libtermcap: \
+ configure-target-libtermcap
+ @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in bfd; \
- cd bfd || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/bfd"; \
- libsrcdir="$$s/bfd";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- libsrcdir="$$s/bfd";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-bfd maybe-all-bfd
-maybe-all-bfd:
-all-bfd: configure-bfd
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd bfd && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-bfd maybe-check-bfd
-maybe-check-bfd:
-
-check-bfd:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-bfd maybe-install-bfd
-maybe-install-bfd:
-
-install-bfd: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-opcodes maybe-configure-opcodes
-maybe-configure-opcodes:
-configure-opcodes:
- @test ! -f opcodes/Makefile || exit 0; \
- [ -d opcodes ] || mkdir opcodes; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in opcodes; \
- cd opcodes || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- libsrcdir="$$s/opcodes";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- libsrcdir="$$s/opcodes";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
|| exit 1
-.PHONY: all-opcodes maybe-all-opcodes
-maybe-all-opcodes:
-all-opcodes: configure-opcodes
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-opcodes maybe-check-opcodes
-maybe-check-opcodes:
-
-check-opcodes:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-opcodes maybe-install-opcodes
-maybe-install-opcodes:
-
-install-opcodes: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-TAGS-target-libtermcap TAGS-target-libtermcap
+maybe-TAGS-target-libtermcap:
-.PHONY: configure-binutils maybe-configure-binutils
-maybe-configure-binutils:
-configure-binutils:
- @test ! -f binutils/Makefile || exit 0; \
- [ -d binutils ] || mkdir binutils; \
+TAGS-target-libtermcap: \
+ configure-target-libtermcap
+ @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in binutils; \
- cd binutils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/binutils"; \
- libsrcdir="$$s/binutils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- libsrcdir="$$s/binutils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-binutils maybe-all-binutils
-maybe-all-binutils:
-all-binutils: configure-binutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd binutils && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-binutils maybe-check-binutils
-maybe-check-binutils:
-
-check-binutils:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-binutils maybe-install-binutils
-maybe-install-binutils:
-
-install-binutils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-bison maybe-configure-bison
-maybe-configure-bison:
-configure-bison:
- @test ! -f bison/Makefile || exit 0; \
- [ -d bison ] || mkdir bison; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in bison; \
- cd bison || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/bison"; \
- libsrcdir="$$s/bison";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/bison"; \
- libsrcdir="$$s/bison";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
|| exit 1
-.PHONY: all-bison maybe-all-bison
-maybe-all-bison:
-all-bison: configure-bison
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bison && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-bison maybe-check-bison
-maybe-check-bison:
-
-# This module is only tested in a native toolchain.
-check-bison:
- @if [ '$(host)' = '$(target)' ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bison && $(MAKE) $(FLAGS_TO_PASS) check); \
- fi
-
-
-.PHONY: install-bison maybe-install-bison
-maybe-install-bison:
-
-install-bison: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bison && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-install-info-target-libtermcap install-info-target-libtermcap
+maybe-install-info-target-libtermcap:
-.PHONY: configure-byacc maybe-configure-byacc
-maybe-configure-byacc:
-configure-byacc:
- @test ! -f byacc/Makefile || exit 0; \
- [ -d byacc ] || mkdir byacc; \
+install-info-target-libtermcap: \
+ configure-target-libtermcap \
+ info-target-libtermcap
+ @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in byacc; \
- cd byacc || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/byacc"; \
- libsrcdir="$$s/byacc";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/byacc"; \
- libsrcdir="$$s/byacc";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-byacc maybe-all-byacc
-maybe-all-byacc:
-all-byacc: configure-byacc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd byacc && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-byacc maybe-check-byacc
-maybe-check-byacc:
-
-# This module is only tested in a native toolchain.
-check-byacc:
- @if [ '$(host)' = '$(target)' ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd byacc && $(MAKE) $(FLAGS_TO_PASS) check); \
- fi
-
-
-.PHONY: install-byacc maybe-install-byacc
-maybe-install-byacc:
-
-install-byacc: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-bzip2 maybe-configure-bzip2
-maybe-configure-bzip2:
-configure-bzip2:
- @test ! -f bzip2/Makefile || exit 0; \
- [ -d bzip2 ] || mkdir bzip2; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in bzip2; \
- cd bzip2 || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/bzip2"; \
- libsrcdir="$$s/bzip2";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/bzip2"; \
- libsrcdir="$$s/bzip2";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-bzip2 maybe-all-bzip2
-maybe-all-bzip2:
-all-bzip2: configure-bzip2
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-bzip2 maybe-check-bzip2
-maybe-check-bzip2:
-
-check-bzip2:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-bzip2 maybe-install-bzip2
-maybe-install-bzip2:
-
-install-bzip2: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-installcheck-target-libtermcap installcheck-target-libtermcap
+maybe-installcheck-target-libtermcap:
-.PHONY: configure-dejagnu maybe-configure-dejagnu
-maybe-configure-dejagnu:
-configure-dejagnu:
- @test ! -f dejagnu/Makefile || exit 0; \
- [ -d dejagnu ] || mkdir dejagnu; \
+installcheck-target-libtermcap: \
+ configure-target-libtermcap
+ @[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in dejagnu; \
- cd dejagnu || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/dejagnu"; \
- libsrcdir="$$s/dejagnu";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \
- libsrcdir="$$s/dejagnu";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-dejagnu maybe-all-dejagnu
-maybe-all-dejagnu:
-all-dejagnu: configure-dejagnu
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-dejagnu maybe-check-dejagnu
-maybe-check-dejagnu:
-
-check-dejagnu:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-dejagnu maybe-install-dejagnu
-maybe-install-dejagnu:
-
-install-dejagnu: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-diff maybe-configure-diff
-maybe-configure-diff:
-configure-diff:
- @test ! -f diff/Makefile || exit 0; \
- [ -d diff ] || mkdir diff; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in diff; \
- cd diff || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/diff"; \
- libsrcdir="$$s/diff";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/diff"; \
- libsrcdir="$$s/diff";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
|| exit 1
-.PHONY: all-diff maybe-all-diff
-maybe-all-diff:
-all-diff: configure-diff
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd diff && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-diff maybe-check-diff
-maybe-check-diff:
-
-check-diff:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd diff && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-diff maybe-install-diff
-maybe-install-diff:
-
-install-diff: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd diff && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-mostlyclean-target-libtermcap mostlyclean-target-libtermcap
+maybe-mostlyclean-target-libtermcap:
-.PHONY: configure-dosutils maybe-configure-dosutils
-maybe-configure-dosutils:
-configure-dosutils:
- @test ! -f dosutils/Makefile || exit 0; \
- [ -d dosutils ] || mkdir dosutils; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in dosutils; \
- cd dosutils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/dosutils"; \
- libsrcdir="$$s/dosutils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/dosutils"; \
- libsrcdir="$$s/dosutils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-dosutils maybe-all-dosutils
-maybe-all-dosutils:
-all-dosutils: configure-dosutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) all)
+# libtermcap doesn't support mostlyclean.
+mostlyclean-target-libtermcap:
-.PHONY: check-dosutils maybe-check-dosutils
-maybe-check-dosutils:
-check-dosutils:
+.PHONY: maybe-clean-target-libtermcap clean-target-libtermcap
+maybe-clean-target-libtermcap:
+# libtermcap doesn't support clean.
+clean-target-libtermcap:
-.PHONY: install-dosutils maybe-install-dosutils
-maybe-install-dosutils:
-
-install-dosutils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-distclean-target-libtermcap distclean-target-libtermcap
+maybe-distclean-target-libtermcap:
-.PHONY: configure-etc maybe-configure-etc
-maybe-configure-etc:
-configure-etc:
- @test ! -f etc/Makefile || exit 0; \
- [ -d etc ] || mkdir etc; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in etc; \
- cd etc || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/etc"; \
- libsrcdir="$$s/etc";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/etc"; \
- libsrcdir="$$s/etc";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+# libtermcap doesn't support distclean.
+distclean-target-libtermcap:
-.PHONY: all-etc maybe-all-etc
-maybe-all-etc:
-all-etc: configure-etc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd etc && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-etc maybe-check-etc
-maybe-check-etc:
+.PHONY: maybe-maintainer-clean-target-libtermcap maintainer-clean-target-libtermcap
+maybe-maintainer-clean-target-libtermcap:
-check-etc:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd etc && $(MAKE) $(FLAGS_TO_PASS) check)
+# libtermcap doesn't support maintainer-clean.
+maintainer-clean-target-libtermcap:
-.PHONY: install-etc maybe-install-etc
-maybe-install-etc:
-install-etc: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd etc && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: configure-target-winsup maybe-configure-target-winsup
+maybe-configure-target-winsup:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/winsup/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
+ rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out
-.PHONY: configure-fastjar maybe-configure-fastjar
-maybe-configure-fastjar:
-configure-fastjar:
- @test ! -f fastjar/Makefile || exit 0; \
- [ -d fastjar ] || mkdir fastjar; \
+configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in fastjar; \
- cd fastjar || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/fastjar"; \
- libsrcdir="$$s/fastjar";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/fastjar"; \
- libsrcdir="$$s/fastjar";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-fastjar maybe-all-fastjar
-maybe-all-fastjar:
-all-fastjar: configure-fastjar
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-fastjar maybe-check-fastjar
-maybe-check-fastjar:
-
-# This module is only tested in a native toolchain.
-check-fastjar:
- @if [ '$(host)' = '$(target)' ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) check); \
- fi
-
-
-.PHONY: install-fastjar maybe-install-fastjar
-maybe-install-fastjar:
-
-install-fastjar: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-fileutils maybe-configure-fileutils
-maybe-configure-fileutils:
-configure-fileutils:
- @test ! -f fileutils/Makefile || exit 0; \
- [ -d fileutils ] || mkdir fileutils; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in fileutils; \
- cd fileutils || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/winsup; \
+ cd "$(TARGET_SUBDIR)/winsup" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/fileutils"; \
- libsrcdir="$$s/fileutils";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/fileutils"; \
- libsrcdir="$$s/fileutils";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/winsup"; \
+ libsrcdir="$$s/winsup"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-fileutils maybe-all-fileutils
-maybe-all-fileutils:
-all-fileutils: configure-fileutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-fileutils maybe-check-fileutils
-maybe-check-fileutils:
-
-check-fileutils:
+.PHONY: all-target-winsup maybe-all-target-winsup
+maybe-all-target-winsup:
+all-target-winsup: configure-target-winsup
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: install-fileutils maybe-install-fileutils
-maybe-install-fileutils:
+.PHONY: check-target-winsup maybe-check-target-winsup
+maybe-check-target-winsup:
-install-fileutils: installdirs
+check-target-winsup:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-findutils maybe-configure-findutils
-maybe-configure-findutils:
-configure-findutils:
- @test ! -f findutils/Makefile || exit 0; \
- [ -d findutils ] || mkdir findutils; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in findutils; \
- cd findutils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/findutils"; \
- libsrcdir="$$s/findutils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/findutils"; \
- libsrcdir="$$s/findutils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: all-findutils maybe-all-findutils
-maybe-all-findutils:
-all-findutils: configure-findutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd findutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-findutils maybe-check-findutils
-maybe-check-findutils:
+.PHONY: install-target-winsup maybe-install-target-winsup
+maybe-install-target-winsup:
-check-findutils:
+install-target-winsup: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check)
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: install-findutils maybe-install-findutils
-maybe-install-findutils:
-
-install-findutils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+.PHONY: maybe-info-target-winsup info-target-winsup
+maybe-info-target-winsup:
-.PHONY: configure-find maybe-configure-find
-maybe-configure-find:
-configure-find:
- @test ! -f find/Makefile || exit 0; \
- [ -d find ] || mkdir find; \
+info-target-winsup: \
+ configure-target-winsup
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in find; \
- cd find || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/find"; \
- libsrcdir="$$s/find";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/find"; \
- libsrcdir="$$s/find";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-find maybe-all-find
-maybe-all-find:
-all-find: configure-find
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd find && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-find maybe-check-find
-maybe-check-find:
-
-check-find:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd find && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-find maybe-install-find
-maybe-install-find:
-
-install-find: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd find && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-flex maybe-configure-flex
-maybe-configure-flex:
-configure-flex:
- @test ! -f flex/Makefile || exit 0; \
- [ -d flex ] || mkdir flex; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in flex; \
- cd flex || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/flex"; \
- libsrcdir="$$s/flex";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/flex"; \
- libsrcdir="$$s/flex";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-flex maybe-all-flex
-maybe-all-flex:
-all-flex: configure-flex
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd flex && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-flex maybe-check-flex
-maybe-check-flex:
-
-# This module is only tested in a native toolchain.
-check-flex:
- @if [ '$(host)' = '$(target)' ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd flex && $(MAKE) $(FLAGS_TO_PASS) check); \
- fi
-
-
-.PHONY: install-flex maybe-install-flex
-maybe-install-flex:
-
-install-flex: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd flex && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-dvi-target-winsup dvi-target-winsup
+maybe-dvi-target-winsup:
-.PHONY: configure-gas maybe-configure-gas
-maybe-configure-gas:
-configure-gas:
- @test ! -f gas/Makefile || exit 0; \
- [ -d gas ] || mkdir gas; \
+dvi-target-winsup: \
+ configure-target-winsup
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gas; \
- cd gas || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gas"; \
- libsrcdir="$$s/gas";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gas"; \
- libsrcdir="$$s/gas";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-gas maybe-all-gas
-maybe-all-gas:
-all-gas: configure-gas
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gas && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gas maybe-check-gas
-maybe-check-gas:
-
-check-gas:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd gas && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gas maybe-install-gas
-maybe-install-gas:
-
-install-gas: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gas && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-gawk maybe-configure-gawk
-maybe-configure-gawk:
-configure-gawk:
- @test ! -f gawk/Makefile || exit 0; \
- [ -d gawk ] || mkdir gawk; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gawk; \
- cd gawk || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gawk"; \
- libsrcdir="$$s/gawk";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gawk"; \
- libsrcdir="$$s/gawk";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
|| exit 1
-.PHONY: all-gawk maybe-all-gawk
-maybe-all-gawk:
-all-gawk: configure-gawk
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gawk maybe-check-gawk
-maybe-check-gawk:
-
-check-gawk:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gawk maybe-install-gawk
-maybe-install-gawk:
-
-install-gawk: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-TAGS-target-winsup TAGS-target-winsup
+maybe-TAGS-target-winsup:
-.PHONY: configure-gettext maybe-configure-gettext
-maybe-configure-gettext:
-configure-gettext:
- @test ! -f gettext/Makefile || exit 0; \
- [ -d gettext ] || mkdir gettext; \
+TAGS-target-winsup: \
+ configure-target-winsup
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gettext; \
- cd gettext || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gettext"; \
- libsrcdir="$$s/gettext";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gettext"; \
- libsrcdir="$$s/gettext";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-gettext maybe-all-gettext
-maybe-all-gettext:
-all-gettext: configure-gettext
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gettext maybe-check-gettext
-maybe-check-gettext:
-
-check-gettext:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gettext maybe-install-gettext
-maybe-install-gettext:
-
-install-gettext: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-gnuserv maybe-configure-gnuserv
-maybe-configure-gnuserv:
-configure-gnuserv:
- @test ! -f gnuserv/Makefile || exit 0; \
- [ -d gnuserv ] || mkdir gnuserv; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gnuserv; \
- cd gnuserv || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gnuserv"; \
- libsrcdir="$$s/gnuserv";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \
- libsrcdir="$$s/gnuserv";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
|| exit 1
-.PHONY: all-gnuserv maybe-all-gnuserv
-maybe-all-gnuserv:
-all-gnuserv: configure-gnuserv
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gnuserv maybe-check-gnuserv
-maybe-check-gnuserv:
-
-check-gnuserv:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gnuserv maybe-install-gnuserv
-maybe-install-gnuserv:
-
-install-gnuserv: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-install-info-target-winsup install-info-target-winsup
+maybe-install-info-target-winsup:
-.PHONY: configure-gprof maybe-configure-gprof
-maybe-configure-gprof:
-configure-gprof:
- @test ! -f gprof/Makefile || exit 0; \
- [ -d gprof ] || mkdir gprof; \
+install-info-target-winsup: \
+ configure-target-winsup \
+ info-target-winsup
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gprof; \
- cd gprof || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gprof"; \
- libsrcdir="$$s/gprof";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gprof"; \
- libsrcdir="$$s/gprof";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-gprof maybe-all-gprof
-maybe-all-gprof:
-all-gprof: configure-gprof
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gprof maybe-check-gprof
-maybe-check-gprof:
-
-check-gprof:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gprof maybe-install-gprof
-maybe-install-gprof:
-
-install-gprof: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-gzip maybe-configure-gzip
-maybe-configure-gzip:
-configure-gzip:
- @test ! -f gzip/Makefile || exit 0; \
- [ -d gzip ] || mkdir gzip; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gzip; \
- cd gzip || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gzip"; \
- libsrcdir="$$s/gzip";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/gzip"; \
- libsrcdir="$$s/gzip";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-gzip maybe-all-gzip
-maybe-all-gzip:
-all-gzip: configure-gzip
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-gzip maybe-check-gzip
-maybe-check-gzip:
-
-check-gzip:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-gzip maybe-install-gzip
-maybe-install-gzip:
-
-install-gzip: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-installcheck-target-winsup installcheck-target-winsup
+maybe-installcheck-target-winsup:
-.PHONY: configure-hello maybe-configure-hello
-maybe-configure-hello:
-configure-hello:
- @test ! -f hello/Makefile || exit 0; \
- [ -d hello ] || mkdir hello; \
+installcheck-target-winsup: \
+ configure-target-winsup
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in hello; \
- cd hello || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/hello"; \
- libsrcdir="$$s/hello";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/hello"; \
- libsrcdir="$$s/hello";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-hello maybe-all-hello
-maybe-all-hello:
-all-hello: configure-hello
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd hello && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-hello maybe-check-hello
-maybe-check-hello:
-
-check-hello:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd hello && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-hello maybe-install-hello
-maybe-install-hello:
-
-install-hello: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd hello && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-indent maybe-configure-indent
-maybe-configure-indent:
-configure-indent:
- @test ! -f indent/Makefile || exit 0; \
- [ -d indent ] || mkdir indent; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in indent; \
- cd indent || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/indent"; \
- libsrcdir="$$s/indent";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/indent"; \
- libsrcdir="$$s/indent";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
|| exit 1
-.PHONY: all-indent maybe-all-indent
-maybe-all-indent:
-all-indent: configure-indent
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd indent && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-indent maybe-check-indent
-maybe-check-indent:
-
-check-indent:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd indent && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-indent maybe-install-indent
-maybe-install-indent:
-
-install-indent: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd indent && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-mostlyclean-target-winsup mostlyclean-target-winsup
+maybe-mostlyclean-target-winsup:
-.PHONY: configure-intl maybe-configure-intl
-maybe-configure-intl:
-configure-intl:
- @test ! -f intl/Makefile || exit 0; \
- [ -d intl ] || mkdir intl; \
+mostlyclean-target-winsup:
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in intl; \
- cd intl || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/intl"; \
- libsrcdir="$$s/intl";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/intl"; \
- libsrcdir="$$s/intl";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-intl maybe-all-intl
-maybe-all-intl:
-all-intl: configure-intl
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd intl && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-intl maybe-check-intl
-maybe-check-intl:
-
-check-intl:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd intl && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-intl maybe-install-intl
-maybe-install-intl:
-
-install-intl: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd intl && $(MAKE) $(FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-tcl maybe-configure-tcl
-maybe-configure-tcl:
-configure-tcl:
- @test ! -f tcl/Makefile || exit 0; \
- [ -d tcl ] || mkdir tcl; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in tcl; \
- cd tcl || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/tcl"; \
- libsrcdir="$$s/tcl";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/tcl"; \
- libsrcdir="$$s/tcl";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
|| exit 1
-.PHONY: all-tcl maybe-all-tcl
-maybe-all-tcl:
-all-tcl: configure-tcl
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-tcl maybe-check-tcl
-maybe-check-tcl:
+.PHONY: maybe-clean-target-winsup clean-target-winsup
+maybe-clean-target-winsup:
-check-tcl:
- @r=`${PWD_COMMAND}`; export r; \
+clean-target-winsup:
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-tcl maybe-install-tcl
-maybe-install-tcl:
+ echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-install-tcl: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-distclean-target-winsup distclean-target-winsup
+maybe-distclean-target-winsup:
-.PHONY: configure-itcl maybe-configure-itcl
-maybe-configure-itcl:
-configure-itcl:
- @test ! -f itcl/Makefile || exit 0; \
- [ -d itcl ] || mkdir itcl; \
+distclean-target-winsup:
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in itcl; \
- cd itcl || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/itcl"; \
- libsrcdir="$$s/itcl";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/itcl"; \
- libsrcdir="$$s/itcl";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
|| exit 1
-.PHONY: all-itcl maybe-all-itcl
-maybe-all-itcl:
-all-itcl: configure-itcl
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-itcl maybe-check-itcl
-maybe-check-itcl:
+.PHONY: maybe-maintainer-clean-target-winsup maintainer-clean-target-winsup
+maybe-maintainer-clean-target-winsup:
-check-itcl:
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-winsup:
+ @[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/winsup && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: install-itcl maybe-install-itcl
-maybe-install-itcl:
-install-itcl: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: configure-target-libgloss maybe-configure-target-libgloss
+maybe-configure-target-libgloss:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
+ rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out
-.PHONY: configure-ld maybe-configure-ld
-maybe-configure-ld:
-configure-ld:
- @test ! -f ld/Makefile || exit 0; \
- [ -d ld ] || mkdir ld; \
+configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in ld; \
- cd ld || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libgloss; \
+ cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/ld"; \
- libsrcdir="$$s/ld";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/ld"; \
- libsrcdir="$$s/ld";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/libgloss"; \
+ libsrcdir="$$s/libgloss"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-ld maybe-all-ld
-maybe-all-ld:
-all-ld: configure-ld
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd ld && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-ld maybe-check-ld
-maybe-check-ld:
-
-check-ld:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd ld && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-ld maybe-install-ld
-maybe-install-ld:
-
-install-ld: installdirs
+.PHONY: all-target-libgloss maybe-all-target-libgloss
+maybe-all-target-libgloss:
+all-target-libgloss: configure-target-libgloss
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd ld && $(MAKE) $(FLAGS_TO_PASS) install)
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
+.PHONY: check-target-libgloss maybe-check-target-libgloss
+maybe-check-target-libgloss:
-.PHONY: configure-libgui maybe-configure-libgui
-maybe-configure-libgui:
-configure-libgui:
- @test ! -f libgui/Makefile || exit 0; \
- [ -d libgui ] || mkdir libgui; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in libgui; \
- cd libgui || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/libgui"; \
- libsrcdir="$$s/libgui";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/libgui"; \
- libsrcdir="$$s/libgui";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+# Dummy target for uncheckable module.
+check-target-libgloss:
-.PHONY: all-libgui maybe-all-libgui
-maybe-all-libgui:
-all-libgui: configure-libgui
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-libgui maybe-check-libgui
-maybe-check-libgui:
+.PHONY: install-target-libgloss maybe-install-target-libgloss
+maybe-install-target-libgloss:
-check-libgui:
+install-target-libgloss: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: install-libgui maybe-install-libgui
-maybe-install-libgui:
-install-libgui: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+.PHONY: maybe-info-target-libgloss info-target-libgloss
+maybe-info-target-libgloss:
-.PHONY: configure-libiberty maybe-configure-libiberty
-maybe-configure-libiberty:
-configure-libiberty:
- @test ! -f libiberty/Makefile || exit 0; \
- [ -d libiberty ] || mkdir libiberty; \
+info-target-libgloss: \
+ configure-target-libgloss
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in libiberty; \
- cd libiberty || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- libsrcdir="$$s/libiberty";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- libsrcdir="$$s/libiberty";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-libiberty maybe-all-libiberty
-maybe-all-libiberty:
-all-libiberty: configure-libiberty
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-libiberty maybe-check-libiberty
-maybe-check-libiberty:
+.PHONY: maybe-dvi-target-libgloss dvi-target-libgloss
+maybe-dvi-target-libgloss:
-check-libiberty:
- @r=`${PWD_COMMAND}`; export r; \
+dvi-target-libgloss: \
+ configure-target-libgloss
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-libiberty maybe-install-libiberty
-maybe-install-libiberty:
+ echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-install-libiberty: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-TAGS-target-libgloss TAGS-target-libgloss
+maybe-TAGS-target-libgloss:
-.PHONY: configure-libtool maybe-configure-libtool
-maybe-configure-libtool:
-configure-libtool:
- @test ! -f libtool/Makefile || exit 0; \
- [ -d libtool ] || mkdir libtool; \
+TAGS-target-libgloss: \
+ configure-target-libgloss
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in libtool; \
- cd libtool || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/libtool"; \
- libsrcdir="$$s/libtool";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/libtool"; \
- libsrcdir="$$s/libtool";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
|| exit 1
-.PHONY: all-libtool maybe-all-libtool
-maybe-all-libtool:
-all-libtool: configure-libtool
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libtool && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-libtool maybe-check-libtool
-maybe-check-libtool:
+.PHONY: maybe-install-info-target-libgloss install-info-target-libgloss
+maybe-install-info-target-libgloss:
-check-libtool:
- @r=`${PWD_COMMAND}`; export r; \
+install-info-target-libgloss: \
+ configure-target-libgloss \
+ info-target-libgloss
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-libtool maybe-install-libtool
-maybe-install-libtool:
+ echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
-install-libtool: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-installcheck-target-libgloss installcheck-target-libgloss
+maybe-installcheck-target-libgloss:
-.PHONY: configure-m4 maybe-configure-m4
-maybe-configure-m4:
-configure-m4:
- @test ! -f m4/Makefile || exit 0; \
- [ -d m4 ] || mkdir m4; \
+installcheck-target-libgloss: \
+ configure-target-libgloss
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in m4; \
- cd m4 || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/m4"; \
- libsrcdir="$$s/m4";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/m4"; \
- libsrcdir="$$s/m4";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
|| exit 1
-.PHONY: all-m4 maybe-all-m4
-maybe-all-m4:
-all-m4: configure-m4
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd m4 && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-m4 maybe-check-m4
-maybe-check-m4:
+.PHONY: maybe-mostlyclean-target-libgloss mostlyclean-target-libgloss
+maybe-mostlyclean-target-libgloss:
-check-m4:
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-libgloss:
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-m4 maybe-install-m4
-maybe-install-m4:
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-install-m4: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-clean-target-libgloss clean-target-libgloss
+maybe-clean-target-libgloss:
-.PHONY: configure-make maybe-configure-make
-maybe-configure-make:
-configure-make:
- @test ! -f make/Makefile || exit 0; \
- [ -d make ] || mkdir make; \
+clean-target-libgloss:
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in make; \
- cd make || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/make"; \
- libsrcdir="$$s/make";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/make"; \
- libsrcdir="$$s/make";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
|| exit 1
-.PHONY: all-make maybe-all-make
-maybe-all-make:
-all-make: configure-make
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd make && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-make maybe-check-make
-maybe-check-make:
+.PHONY: maybe-distclean-target-libgloss distclean-target-libgloss
+maybe-distclean-target-libgloss:
-check-make:
- @r=`${PWD_COMMAND}`; export r; \
+distclean-target-libgloss:
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd make && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-make maybe-install-make
-maybe-install-make:
+ echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-install-make: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd make && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-maintainer-clean-target-libgloss maintainer-clean-target-libgloss
+maybe-maintainer-clean-target-libgloss:
-.PHONY: configure-mmalloc maybe-configure-mmalloc
-maybe-configure-mmalloc:
-configure-mmalloc:
- @test ! -f mmalloc/Makefile || exit 0; \
- [ -d mmalloc ] || mkdir mmalloc; \
+maintainer-clean-target-libgloss:
+ @[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in mmalloc; \
- cd mmalloc || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/mmalloc"; \
- libsrcdir="$$s/mmalloc";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \
- libsrcdir="$$s/mmalloc";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-mmalloc maybe-all-mmalloc
-maybe-all-mmalloc:
-all-mmalloc: configure-mmalloc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-mmalloc maybe-check-mmalloc
-maybe-check-mmalloc:
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-check-mmalloc:
-.PHONY: install-mmalloc maybe-install-mmalloc
-maybe-install-mmalloc:
-
-install-mmalloc: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: configure-target-libiberty maybe-configure-target-libiberty
+maybe-configure-target-libiberty:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
+ rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out
-.PHONY: configure-patch maybe-configure-patch
-maybe-configure-patch:
-configure-patch:
- @test ! -f patch/Makefile || exit 0; \
- [ -d patch ] || mkdir patch; \
+configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in patch; \
- cd patch || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libiberty; \
+ cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/patch"; \
- libsrcdir="$$s/patch";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/patch"; \
- libsrcdir="$$s/patch";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ libsrcdir="$$s/libiberty"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-patch maybe-all-patch
-maybe-all-patch:
-all-patch: configure-patch
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd patch && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-patch maybe-check-patch
-maybe-check-patch:
-
-check-patch:
+.PHONY: all-target-libiberty maybe-all-target-libiberty
+maybe-all-target-libiberty:
+all-target-libiberty: configure-target-libiberty
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd patch && $(MAKE) $(FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: install-patch maybe-install-patch
-maybe-install-patch:
+.PHONY: check-target-libiberty maybe-check-target-libiberty
+maybe-check-target-libiberty:
-install-patch: installdirs
+check-target-libiberty:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd patch && $(MAKE) $(FLAGS_TO_PASS) install)
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: configure-perl maybe-configure-perl
-maybe-configure-perl:
-configure-perl:
- @test ! -f perl/Makefile || exit 0; \
- [ -d perl ] || mkdir perl; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in perl; \
- cd perl || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/perl"; \
- libsrcdir="$$s/perl";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/perl"; \
- libsrcdir="$$s/perl";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-perl maybe-all-perl
-maybe-all-perl:
-all-perl: configure-perl
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd perl && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-perl maybe-check-perl
-maybe-check-perl:
+.PHONY: install-target-libiberty maybe-install-target-libiberty
+maybe-install-target-libiberty:
-check-perl:
+install-target-libiberty: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd perl && $(MAKE) $(FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: install-perl maybe-install-perl
-maybe-install-perl:
-install-perl: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd perl && $(MAKE) $(FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+.PHONY: maybe-info-target-libiberty info-target-libiberty
+maybe-info-target-libiberty:
-.PHONY: configure-prms maybe-configure-prms
-maybe-configure-prms:
-configure-prms:
- @test ! -f prms/Makefile || exit 0; \
- [ -d prms ] || mkdir prms; \
+info-target-libiberty: \
+ configure-target-libiberty
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in prms; \
- cd prms || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/prms"; \
- libsrcdir="$$s/prms";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/prms"; \
- libsrcdir="$$s/prms";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-prms maybe-all-prms
-maybe-all-prms:
-all-prms: configure-prms
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd prms && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-prms maybe-check-prms
-maybe-check-prms:
+.PHONY: maybe-dvi-target-libiberty dvi-target-libiberty
+maybe-dvi-target-libiberty:
-check-prms:
- @r=`${PWD_COMMAND}`; export r; \
+dvi-target-libiberty: \
+ configure-target-libiberty
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd prms && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-prms maybe-install-prms
-maybe-install-prms:
+ echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-install-prms: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd prms && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-TAGS-target-libiberty TAGS-target-libiberty
+maybe-TAGS-target-libiberty:
-.PHONY: configure-rcs maybe-configure-rcs
-maybe-configure-rcs:
-configure-rcs:
- @test ! -f rcs/Makefile || exit 0; \
- [ -d rcs ] || mkdir rcs; \
+TAGS-target-libiberty: \
+ configure-target-libiberty
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in rcs; \
- cd rcs || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/rcs"; \
- libsrcdir="$$s/rcs";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/rcs"; \
- libsrcdir="$$s/rcs";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
|| exit 1
-.PHONY: all-rcs maybe-all-rcs
-maybe-all-rcs:
-all-rcs: configure-rcs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd rcs && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-rcs maybe-check-rcs
-maybe-check-rcs:
+.PHONY: maybe-install-info-target-libiberty install-info-target-libiberty
+maybe-install-info-target-libiberty:
-check-rcs:
- @r=`${PWD_COMMAND}`; export r; \
+install-info-target-libiberty: \
+ configure-target-libiberty \
+ info-target-libiberty
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check)
-
+ echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
-.PHONY: install-rcs maybe-install-rcs
-maybe-install-rcs:
-
-install-rcs: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-installcheck-target-libiberty installcheck-target-libiberty
+maybe-installcheck-target-libiberty:
-.PHONY: configure-readline maybe-configure-readline
-maybe-configure-readline:
-configure-readline:
- @test ! -f readline/Makefile || exit 0; \
- [ -d readline ] || mkdir readline; \
+installcheck-target-libiberty: \
+ configure-target-libiberty
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in readline; \
- cd readline || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/readline"; \
- libsrcdir="$$s/readline";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/readline"; \
- libsrcdir="$$s/readline";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
|| exit 1
-.PHONY: all-readline maybe-all-readline
-maybe-all-readline:
-all-readline: configure-readline
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd readline && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-readline maybe-check-readline
-maybe-check-readline:
+.PHONY: maybe-mostlyclean-target-libiberty mostlyclean-target-libiberty
+maybe-mostlyclean-target-libiberty:
-check-readline:
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-libiberty:
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd readline && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-readline maybe-install-readline
-maybe-install-readline:
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-install-readline: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd readline && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-clean-target-libiberty clean-target-libiberty
+maybe-clean-target-libiberty:
-.PHONY: configure-release maybe-configure-release
-maybe-configure-release:
-configure-release:
- @test ! -f release/Makefile || exit 0; \
- [ -d release ] || mkdir release; \
+clean-target-libiberty:
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in release; \
- cd release || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/release"; \
- libsrcdir="$$s/release";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/release"; \
- libsrcdir="$$s/release";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-release maybe-all-release
-maybe-all-release:
-all-release: configure-release
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd release && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-release maybe-check-release
-maybe-check-release:
-
-check-release:
-
-
-.PHONY: install-release maybe-install-release
-maybe-install-release:
+ echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-install-release:
+.PHONY: maybe-distclean-target-libiberty distclean-target-libiberty
+maybe-distclean-target-libiberty:
-.PHONY: configure-recode maybe-configure-recode
-maybe-configure-recode:
-configure-recode:
- @test ! -f recode/Makefile || exit 0; \
- [ -d recode ] || mkdir recode; \
+distclean-target-libiberty:
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in recode; \
- cd recode || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/recode"; \
- libsrcdir="$$s/recode";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/recode"; \
- libsrcdir="$$s/recode";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
|| exit 1
-.PHONY: all-recode maybe-all-recode
-maybe-all-recode:
-all-recode: configure-recode
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd recode && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-recode maybe-check-recode
-maybe-check-recode:
+.PHONY: maybe-maintainer-clean-target-libiberty maintainer-clean-target-libiberty
+maybe-maintainer-clean-target-libiberty:
-check-recode:
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-libiberty:
+ @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd recode && $(MAKE) $(FLAGS_TO_PASS) check)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: install-recode maybe-install-recode
-maybe-install-recode:
-install-recode: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd recode && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: configure-target-gperf maybe-configure-target-gperf
+maybe-configure-target-gperf:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/gperf/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
+ rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out
-.PHONY: configure-sed maybe-configure-sed
-maybe-configure-sed:
-configure-sed:
- @test ! -f sed/Makefile || exit 0; \
- [ -d sed ] || mkdir sed; \
+configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in sed; \
- cd sed || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/gperf; \
+ cd "$(TARGET_SUBDIR)/gperf" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/sed"; \
- libsrcdir="$$s/sed";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/sed"; \
- libsrcdir="$$s/sed";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/gperf"; \
+ libsrcdir="$$s/gperf"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-sed maybe-all-sed
-maybe-all-sed:
-all-sed: configure-sed
+.PHONY: all-target-gperf maybe-all-target-gperf
+maybe-all-target-gperf:
+all-target-gperf: configure-target-gperf
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd sed && $(MAKE) $(FLAGS_TO_PASS) all)
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-sed maybe-check-sed
-maybe-check-sed:
+.PHONY: check-target-gperf maybe-check-target-gperf
+maybe-check-target-gperf:
-check-sed:
+check-target-gperf:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd sed && $(MAKE) $(FLAGS_TO_PASS) check)
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: install-sed maybe-install-sed
-maybe-install-sed:
+.PHONY: install-target-gperf maybe-install-target-gperf
+maybe-install-target-gperf:
-install-sed: installdirs
+install-target-gperf: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd sed && $(MAKE) $(FLAGS_TO_PASS) install)
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: configure-send-pr maybe-configure-send-pr
-maybe-configure-send-pr:
-configure-send-pr:
- @test ! -f send-pr/Makefile || exit 0; \
- [ -d send-pr ] || mkdir send-pr; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in send-pr; \
- cd send-pr || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/send-pr"; \
- libsrcdir="$$s/send-pr";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/send-pr"; \
- libsrcdir="$$s/send-pr";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+# Other targets (info, dvi, etc.)
-.PHONY: all-send-pr maybe-all-send-pr
-maybe-all-send-pr:
-all-send-pr: configure-send-pr
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-send-pr maybe-check-send-pr
-maybe-check-send-pr:
+.PHONY: maybe-info-target-gperf info-target-gperf
+maybe-info-target-gperf:
-check-send-pr:
- @r=`${PWD_COMMAND}`; export r; \
+info-target-gperf: \
+ configure-target-gperf
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-send-pr maybe-install-send-pr
-maybe-install-send-pr:
+ echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
-install-send-pr: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-dvi-target-gperf dvi-target-gperf
+maybe-dvi-target-gperf:
-.PHONY: configure-shellutils maybe-configure-shellutils
-maybe-configure-shellutils:
-configure-shellutils:
- @test ! -f shellutils/Makefile || exit 0; \
- [ -d shellutils ] || mkdir shellutils; \
+dvi-target-gperf: \
+ configure-target-gperf
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in shellutils; \
- cd shellutils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/shellutils"; \
- libsrcdir="$$s/shellutils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/shellutils"; \
- libsrcdir="$$s/shellutils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
|| exit 1
-.PHONY: all-shellutils maybe-all-shellutils
-maybe-all-shellutils:
-all-shellutils: configure-shellutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-shellutils maybe-check-shellutils
-maybe-check-shellutils:
+.PHONY: maybe-TAGS-target-gperf TAGS-target-gperf
+maybe-TAGS-target-gperf:
-check-shellutils:
- @r=`${PWD_COMMAND}`; export r; \
+TAGS-target-gperf: \
+ configure-target-gperf
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-shellutils maybe-install-shellutils
-maybe-install-shellutils:
+ echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-install-shellutils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-install-info-target-gperf install-info-target-gperf
+maybe-install-info-target-gperf:
-.PHONY: configure-sid maybe-configure-sid
-maybe-configure-sid:
-configure-sid:
- @test ! -f sid/Makefile || exit 0; \
- [ -d sid ] || mkdir sid; \
+install-info-target-gperf: \
+ configure-target-gperf \
+ info-target-gperf
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in sid; \
- cd sid || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/sid"; \
- libsrcdir="$$s/sid";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/sid"; \
- libsrcdir="$$s/sid";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-sid maybe-all-sid
-maybe-all-sid:
-all-sid: configure-sid
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd sid && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-sid maybe-check-sid
-maybe-check-sid:
+.PHONY: maybe-installcheck-target-gperf installcheck-target-gperf
+maybe-installcheck-target-gperf:
-check-sid:
- @r=`${PWD_COMMAND}`; export r; \
+installcheck-target-gperf: \
+ configure-target-gperf
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd sid && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-sid maybe-install-sid
-maybe-install-sid:
+ echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-install-sid: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd sid && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-mostlyclean-target-gperf mostlyclean-target-gperf
+maybe-mostlyclean-target-gperf:
-.PHONY: configure-sim maybe-configure-sim
-maybe-configure-sim:
-configure-sim:
- @test ! -f sim/Makefile || exit 0; \
- [ -d sim ] || mkdir sim; \
+mostlyclean-target-gperf:
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in sim; \
- cd sim || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/sim"; \
- libsrcdir="$$s/sim";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/sim"; \
- libsrcdir="$$s/sim";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
|| exit 1
-.PHONY: all-sim maybe-all-sim
-maybe-all-sim:
-all-sim: configure-sim
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd sim && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-sim maybe-check-sim
-maybe-check-sim:
+.PHONY: maybe-clean-target-gperf clean-target-gperf
+maybe-clean-target-gperf:
-check-sim:
- @r=`${PWD_COMMAND}`; export r; \
+clean-target-gperf:
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd sim && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-sim maybe-install-sim
-maybe-install-sim:
+ echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-install-sim: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd sim && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-distclean-target-gperf distclean-target-gperf
+maybe-distclean-target-gperf:
-.PHONY: configure-tar maybe-configure-tar
-maybe-configure-tar:
-configure-tar:
- @test ! -f tar/Makefile || exit 0; \
- [ -d tar ] || mkdir tar; \
+distclean-target-gperf:
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in tar; \
- cd tar || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/tar"; \
- libsrcdir="$$s/tar";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/tar"; \
- libsrcdir="$$s/tar";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
|| exit 1
-.PHONY: all-tar maybe-all-tar
-maybe-all-tar:
-all-tar: configure-tar
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tar && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-tar maybe-check-tar
-maybe-check-tar:
+.PHONY: maybe-maintainer-clean-target-gperf maintainer-clean-target-gperf
+maybe-maintainer-clean-target-gperf:
-check-tar:
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-gperf:
+ @[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd tar && $(MAKE) $(FLAGS_TO_PASS) check)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/gperf && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: install-tar maybe-install-tar
-maybe-install-tar:
-install-tar: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tar && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: configure-target-examples maybe-configure-target-examples
+maybe-configure-target-examples:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/examples/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
+ rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out
-.PHONY: configure-texinfo maybe-configure-texinfo
-maybe-configure-texinfo:
-configure-texinfo:
- @test ! -f texinfo/Makefile || exit 0; \
- [ -d texinfo ] || mkdir texinfo; \
+configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in texinfo; \
- cd texinfo || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/examples; \
+ cd "$(TARGET_SUBDIR)/examples" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/texinfo"; \
- libsrcdir="$$s/texinfo";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/texinfo"; \
- libsrcdir="$$s/texinfo";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/examples"; \
+ libsrcdir="$$s/examples"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-texinfo maybe-all-texinfo
-maybe-all-texinfo:
-all-texinfo: configure-texinfo
+.PHONY: all-target-examples maybe-all-target-examples
+maybe-all-target-examples:
+all-target-examples: configure-target-examples
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-texinfo maybe-check-texinfo
-maybe-check-texinfo:
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-check-texinfo:
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check)
+.PHONY: check-target-examples maybe-check-target-examples
+maybe-check-target-examples:
+# Dummy target for uncheckable module.
+check-target-examples:
-.PHONY: install-texinfo maybe-install-texinfo
-maybe-install-texinfo:
-install-texinfo:
+.PHONY: install-target-examples maybe-install-target-examples
+maybe-install-target-examples:
+# Dummy target for uninstallable.
+install-target-examples:
-.PHONY: configure-textutils maybe-configure-textutils
-maybe-configure-textutils:
-configure-textutils:
- @test ! -f textutils/Makefile || exit 0; \
- [ -d textutils ] || mkdir textutils; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in textutils; \
- cd textutils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/textutils"; \
- libsrcdir="$$s/textutils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/textutils"; \
- libsrcdir="$$s/textutils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-.PHONY: all-textutils maybe-all-textutils
-maybe-all-textutils:
-all-textutils: configure-textutils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd textutils && $(MAKE) $(FLAGS_TO_PASS) all)
+# Other targets (info, dvi, etc.)
-.PHONY: check-textutils maybe-check-textutils
-maybe-check-textutils:
+.PHONY: maybe-info-target-examples info-target-examples
+maybe-info-target-examples:
-check-textutils:
- @r=`${PWD_COMMAND}`; export r; \
+info-target-examples: \
+ configure-target-examples
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-textutils maybe-install-textutils
-maybe-install-textutils:
+ echo "Doing info in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
-install-textutils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-dvi-target-examples dvi-target-examples
+maybe-dvi-target-examples:
-.PHONY: configure-time maybe-configure-time
-maybe-configure-time:
-configure-time:
- @test ! -f time/Makefile || exit 0; \
- [ -d time ] || mkdir time; \
+dvi-target-examples: \
+ configure-target-examples
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in time; \
- cd time || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/time"; \
- libsrcdir="$$s/time";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/time"; \
- libsrcdir="$$s/time";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
|| exit 1
-.PHONY: all-time maybe-all-time
-maybe-all-time:
-all-time: configure-time
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd time && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-time maybe-check-time
-maybe-check-time:
+.PHONY: maybe-TAGS-target-examples TAGS-target-examples
+maybe-TAGS-target-examples:
-check-time:
- @r=`${PWD_COMMAND}`; export r; \
+TAGS-target-examples: \
+ configure-target-examples
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd time && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-time maybe-install-time
-maybe-install-time:
+ echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-install-time: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd time && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-install-info-target-examples install-info-target-examples
+maybe-install-info-target-examples:
-.PHONY: configure-uudecode maybe-configure-uudecode
-maybe-configure-uudecode:
-configure-uudecode:
- @test ! -f uudecode/Makefile || exit 0; \
- [ -d uudecode ] || mkdir uudecode; \
+install-info-target-examples: \
+ configure-target-examples \
+ info-target-examples
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in uudecode; \
- cd uudecode || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/uudecode"; \
- libsrcdir="$$s/uudecode";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/uudecode"; \
- libsrcdir="$$s/uudecode";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-uudecode maybe-all-uudecode
-maybe-all-uudecode:
-all-uudecode: configure-uudecode
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-uudecode maybe-check-uudecode
-maybe-check-uudecode:
+.PHONY: maybe-installcheck-target-examples installcheck-target-examples
+maybe-installcheck-target-examples:
-check-uudecode:
- @r=`${PWD_COMMAND}`; export r; \
+installcheck-target-examples: \
+ configure-target-examples
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-uudecode maybe-install-uudecode
-maybe-install-uudecode:
+ echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-install-uudecode: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-mostlyclean-target-examples mostlyclean-target-examples
+maybe-mostlyclean-target-examples:
-.PHONY: configure-wdiff maybe-configure-wdiff
-maybe-configure-wdiff:
-configure-wdiff:
- @test ! -f wdiff/Makefile || exit 0; \
- [ -d wdiff ] || mkdir wdiff; \
+mostlyclean-target-examples:
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in wdiff; \
- cd wdiff || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/wdiff"; \
- libsrcdir="$$s/wdiff";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/wdiff"; \
- libsrcdir="$$s/wdiff";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
|| exit 1
-.PHONY: all-wdiff maybe-all-wdiff
-maybe-all-wdiff:
-all-wdiff: configure-wdiff
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) all)
-.PHONY: check-wdiff maybe-check-wdiff
-maybe-check-wdiff:
+.PHONY: maybe-clean-target-examples clean-target-examples
+maybe-clean-target-examples:
-check-wdiff:
- @r=`${PWD_COMMAND}`; export r; \
+clean-target-examples:
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check)
-
-
-.PHONY: install-wdiff maybe-install-wdiff
-maybe-install-wdiff:
+ echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-install-wdiff: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-distclean-target-examples distclean-target-examples
+maybe-distclean-target-examples:
-.PHONY: configure-zip maybe-configure-zip
-maybe-configure-zip:
-configure-zip:
- @test ! -f zip/Makefile || exit 0; \
- [ -d zip ] || mkdir zip; \
+distclean-target-examples:
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in zip; \
- cd zip || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/zip"; \
- libsrcdir="$$s/zip";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/zip"; \
- libsrcdir="$$s/zip";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-zip maybe-all-zip
-maybe-all-zip:
-all-zip: configure-zip
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd zip && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-zip maybe-check-zip
-maybe-check-zip:
-
-# This module is only tested in a native toolchain.
-check-zip:
- @if [ '$(host)' = '$(target)' ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd zip && $(MAKE) $(FLAGS_TO_PASS) check); \
- fi
-
-
-.PHONY: install-zip maybe-install-zip
-maybe-install-zip:
+ echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-install-zip: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd zip && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-maintainer-clean-target-examples maintainer-clean-target-examples
+maybe-maintainer-clean-target-examples:
-.PHONY: configure-zlib maybe-configure-zlib
-maybe-configure-zlib:
-configure-zlib:
- @test ! -f zlib/Makefile || exit 0; \
- [ -d zlib ] || mkdir zlib; \
+maintainer-clean-target-examples:
+ @[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in zlib; \
- cd zlib || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/zlib"; \
- libsrcdir="$$s/zlib";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- libsrcdir="$$s/zlib";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-zlib maybe-all-zlib
-maybe-all-zlib:
-all-zlib: configure-zlib
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd zlib && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-zlib maybe-check-zlib
-maybe-check-zlib:
-
-check-zlib:
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/examples && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: install-zlib maybe-install-zlib
-maybe-install-zlib:
-install-zlib:
+.PHONY: configure-target-libffi maybe-configure-target-libffi
+maybe-configure-target-libffi:
+# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+$(TARGET_SUBDIR)/libffi/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
+ rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out
-.PHONY: configure-gdb maybe-configure-gdb
-maybe-configure-gdb:
-configure-gdb:
- @test ! -f gdb/Makefile || exit 0; \
- [ -d gdb ] || mkdir gdb; \
+configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ $(SET_LIB_PATH) \
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in gdb; \
- cd gdb || exit 1; \
+ CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_TARGET)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+ NM="$(NM_FOR_TARGET)"; export NM; \
+ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ echo Configuring in $(TARGET_SUBDIR)/libffi; \
+ cd "$(TARGET_SUBDIR)/libffi" || exit 1; \
case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
/* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/gdb"; \
- libsrcdir="$$s/gdb";; \
+ topdir=$(srcdir) ;; \
*) \
- srcdiroption="--srcdir=../$(srcdir)/gdb"; \
- libsrcdir="$$s/gdb";; \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ srcdiroption="--srcdir=$${topdir}/libffi"; \
+ libsrcdir="$$s/libffi"; \
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-gdb maybe-all-gdb
-maybe-all-gdb:
-all-gdb: configure-gdb
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-
-.PHONY: check-gdb maybe-check-gdb
-maybe-check-gdb:
-
-check-gdb:
+.PHONY: all-target-libffi maybe-all-target-libffi
+maybe-all-target-libffi:
+all-target-libffi: configure-target-libffi
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: install-gdb maybe-install-gdb
-maybe-install-gdb:
+.PHONY: check-target-libffi maybe-check-target-libffi
+maybe-check-target-libffi:
-install-gdb: installdirs
+check-target-libffi:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
-
-
-.PHONY: configure-expect maybe-configure-expect
-maybe-configure-expect:
-configure-expect:
- @test ! -f expect/Makefile || exit 0; \
- [ -d expect ] || mkdir expect; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in expect; \
- cd expect || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/expect"; \
- libsrcdir="$$s/expect";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/expect"; \
- libsrcdir="$$s/expect";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: all-expect maybe-all-expect
-maybe-all-expect:
-all-expect: configure-expect
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: check-expect maybe-check-expect
-maybe-check-expect:
+.PHONY: install-target-libffi maybe-install-target-libffi
+maybe-install-target-libffi:
-check-expect:
+install-target-libffi: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: install-expect maybe-install-expect
-maybe-install-expect:
-install-expect: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+.PHONY: maybe-info-target-libffi info-target-libffi
+maybe-info-target-libffi:
-.PHONY: configure-guile maybe-configure-guile
-maybe-configure-guile:
-configure-guile:
- @test ! -f guile/Makefile || exit 0; \
- [ -d guile ] || mkdir guile; \
+info-target-libffi: \
+ configure-target-libffi
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in guile; \
- cd guile || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/guile"; \
- libsrcdir="$$s/guile";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/guile"; \
- libsrcdir="$$s/guile";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-guile maybe-all-guile
-maybe-all-guile:
-all-guile: configure-guile
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: check-guile maybe-check-guile
-maybe-check-guile:
+.PHONY: maybe-dvi-target-libffi dvi-target-libffi
+maybe-dvi-target-libffi:
-check-guile:
- @r=`${PWD_COMMAND}`; export r; \
+dvi-target-libffi: \
+ configure-target-libffi
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-
-
-.PHONY: install-guile maybe-install-guile
-maybe-install-guile:
+ echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-install-guile: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+.PHONY: maybe-TAGS-target-libffi TAGS-target-libffi
+maybe-TAGS-target-libffi:
-.PHONY: configure-tk maybe-configure-tk
-maybe-configure-tk:
-configure-tk:
- @test ! -f tk/Makefile || exit 0; \
- [ -d tk ] || mkdir tk; \
+TAGS-target-libffi: \
+ configure-target-libffi
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in tk; \
- cd tk || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/tk"; \
- libsrcdir="$$s/tk";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/tk"; \
- libsrcdir="$$s/tk";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
|| exit 1
-.PHONY: all-tk maybe-all-tk
-maybe-all-tk:
-all-tk: configure-tk
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: check-tk maybe-check-tk
-maybe-check-tk:
+.PHONY: maybe-install-info-target-libffi install-info-target-libffi
+maybe-install-info-target-libffi:
-check-tk:
- @r=`${PWD_COMMAND}`; export r; \
+install-info-target-libffi: \
+ configure-target-libffi \
+ info-target-libffi
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-
-
-.PHONY: install-tk maybe-install-tk
-maybe-install-tk:
+ echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
-install-tk: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+.PHONY: maybe-installcheck-target-libffi installcheck-target-libffi
+maybe-installcheck-target-libffi:
-.PHONY: configure-tix maybe-configure-tix
-maybe-configure-tix:
-configure-tix:
- @test ! -f tix/Makefile || exit 0; \
- [ -d tix ] || mkdir tix; \
+installcheck-target-libffi: \
+ configure-target-libffi
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in tix; \
- cd tix || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/tix"; \
- libsrcdir="$$s/tix";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/tix"; \
- libsrcdir="$$s/tix";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
|| exit 1
-.PHONY: all-tix maybe-all-tix
-maybe-all-tix:
-all-tix: configure-tix
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
-.PHONY: check-tix maybe-check-tix
-maybe-check-tix:
+.PHONY: maybe-mostlyclean-target-libffi mostlyclean-target-libffi
+maybe-mostlyclean-target-libffi:
-check-tix:
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-libffi:
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
-
-
-.PHONY: install-tix maybe-install-tix
-maybe-install-tix:
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-install-tix: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
+.PHONY: maybe-clean-target-libffi clean-target-libffi
+maybe-clean-target-libffi:
-.PHONY: configure-libtermcap maybe-configure-libtermcap
-maybe-configure-libtermcap:
-configure-libtermcap:
- @test ! -f libtermcap/Makefile || exit 0; \
- [ -d libtermcap ] || mkdir libtermcap; \
+clean-target-libffi:
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in libtermcap; \
- cd libtermcap || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/libtermcap"; \
- libsrcdir="$$s/libtermcap";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \
- libsrcdir="$$s/libtermcap";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-libtermcap maybe-all-libtermcap
-maybe-all-libtermcap:
-all-libtermcap: configure-libtermcap
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-libtermcap maybe-check-libtermcap
-maybe-check-libtermcap:
-
-check-libtermcap:
-
-
-.PHONY: install-libtermcap maybe-install-libtermcap
-maybe-install-libtermcap:
+ echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-install-libtermcap: installdirs
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install)
+.PHONY: maybe-distclean-target-libffi distclean-target-libffi
+maybe-distclean-target-libffi:
-.PHONY: configure-utils maybe-configure-utils
-maybe-configure-utils:
-configure-utils:
- @test ! -f utils/Makefile || exit 0; \
- [ -d utils ] || mkdir utils; \
+distclean-target-libffi:
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- CC="$(CC)"; export CC; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
- AR="$(AR)"; export AR; \
- AS="$(AS)"; export AS; \
- CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
- DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
- LD="$(LD)"; export LD; \
- NM="$(NM)"; export NM; \
- RANLIB="$(RANLIB)"; export RANLIB; \
- WINDRES="$(WINDRES)"; export WINDRES; \
- OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
- OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
- echo Configuring in utils; \
- cd utils || exit 1; \
- case $(srcdir) in \
- \.) \
- srcdiroption="--srcdir=."; \
- libsrcdir=".";; \
- /* | [A-Za-z]:[\\/]*) \
- srcdiroption="--srcdir=$(srcdir)/utils"; \
- libsrcdir="$$s/utils";; \
- *) \
- srcdiroption="--srcdir=../$(srcdir)/utils"; \
- libsrcdir="$$s/utils";; \
- esac; \
- $(SHELL) $${libsrcdir}/configure \
- $(HOST_CONFIGARGS) $${srcdiroption} \
- || exit 1
-
-.PHONY: all-utils maybe-all-utils
-maybe-all-utils:
-all-utils: configure-utils
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd utils && $(MAKE) $(FLAGS_TO_PASS) all)
-
-.PHONY: check-utils maybe-check-utils
-maybe-check-utils:
-
-check-utils:
+ echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-.PHONY: install-utils maybe-install-utils
-maybe-install-utils:
+.PHONY: maybe-maintainer-clean-target-libffi maintainer-clean-target-libffi
+maybe-maintainer-clean-target-libffi:
-install-utils: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-libffi:
+ @[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd utils && $(MAKE) $(FLAGS_TO_PASS) install)
-
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libffi && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-# ---------------------------------------
-# Modules which run on the target machine
-# ---------------------------------------
-.PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3
-maybe-configure-target-libstdc++-v3:
+.PHONY: configure-target-libjava maybe-configure-target-libjava
+maybe-configure-target-libjava:
# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
- rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
+$(TARGET_SUBDIR)/libjava/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
+ rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out
-configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
+configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
@@ -22183,8 +21955,8 @@ configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
NM="$(NM_FOR_TARGET)"; export NM; \
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \
- cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \
+ echo Configuring in $(TARGET_SUBDIR)/libjava; \
+ cd "$(TARGET_SUBDIR)/libjava" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) \
topdir=$(srcdir) ;; \
@@ -22194,297 +21966,255 @@ configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
- libsrcdir="$$s/libstdc++-v3"; \
+ srcdiroption="--srcdir=$${topdir}/libjava"; \
+ libsrcdir="$$s/libjava"; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
--with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3
-maybe-all-target-libstdc++-v3:
-all-target-libstdc++-v3: configure-target-libstdc++-v3
+.PHONY: all-target-libjava maybe-all-target-libjava
+maybe-all-target-libjava:
+all-target-libjava: configure-target-libjava
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ (cd $(TARGET_SUBDIR)/libjava && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all)
-.PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
-maybe-check-target-libstdc++-v3:
+.PHONY: check-target-libjava maybe-check-target-libjava
+maybe-check-target-libjava:
-check-target-libstdc++-v3:
+check-target-libjava:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ (cd $(TARGET_SUBDIR)/libjava && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check)
-.PHONY: install-target-libstdc++-v3 maybe-install-target-libstdc++-v3
-maybe-install-target-libstdc++-v3:
+.PHONY: install-target-libjava maybe-install-target-libjava
+maybe-install-target-libjava:
-install-target-libstdc++-v3: installdirs
+install-target-libjava: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+ (cd $(TARGET_SUBDIR)/libjava && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: configure-target-newlib maybe-configure-target-newlib
-maybe-configure-target-newlib:
+# Other targets (info, dvi, etc.)
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/newlib/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
- rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out
+.PHONY: maybe-info-target-libjava info-target-libjava
+maybe-info-target-libjava:
-configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
- @test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
+info-target-libjava: \
+ configure-target-libjava
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/newlib; \
- cd "$(TARGET_SUBDIR)/newlib" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/newlib"; \
- libsrcdir="$$s/newlib"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-target-newlib maybe-all-target-newlib
-maybe-all-target-newlib:
-all-target-newlib: configure-target-newlib
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/newlib && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-newlib maybe-check-target-newlib
-maybe-check-target-newlib:
+.PHONY: maybe-dvi-target-libjava dvi-target-libjava
+maybe-dvi-target-libjava:
-check-target-newlib:
- @r=`${PWD_COMMAND}`; export r; \
+dvi-target-libjava: \
+ configure-target-libjava
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/newlib && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-.PHONY: install-target-newlib maybe-install-target-newlib
-maybe-install-target-newlib:
+.PHONY: maybe-TAGS-target-libjava TAGS-target-libjava
+maybe-TAGS-target-libjava:
-install-target-newlib: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+TAGS-target-libjava: \
+ configure-target-libjava
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/newlib && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-.PHONY: configure-target-libf2c maybe-configure-target-libf2c
-maybe-configure-target-libf2c:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libf2c/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \
- rm -f $(TARGET_SUBDIR)/libf2c/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libf2c/multilib.out
+.PHONY: maybe-install-info-target-libjava install-info-target-libjava
+maybe-install-info-target-libjava:
-configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libf2c/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libf2c ; \
+install-info-target-libjava: \
+ configure-target-libjava \
+ info-target-libjava
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libf2c; \
- cd "$(TARGET_SUBDIR)/libf2c" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libf2c"; \
- libsrcdir="$$s/libf2c"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-target-libf2c maybe-all-target-libf2c
-maybe-all-target-libf2c:
-all-target-libf2c: configure-target-libf2c
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libf2c && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libf2c maybe-check-target-libf2c
-maybe-check-target-libf2c:
+.PHONY: maybe-installcheck-target-libjava installcheck-target-libjava
+maybe-installcheck-target-libjava:
-check-target-libf2c:
- @r=`${PWD_COMMAND}`; export r; \
+installcheck-target-libjava: \
+ configure-target-libjava
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libf2c && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-.PHONY: install-target-libf2c maybe-install-target-libf2c
-maybe-install-target-libf2c:
+.PHONY: maybe-mostlyclean-target-libjava mostlyclean-target-libjava
+maybe-mostlyclean-target-libjava:
-install-target-libf2c: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-libjava:
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libf2c && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-.PHONY: configure-target-libobjc maybe-configure-target-libobjc
-maybe-configure-target-libobjc:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
- rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out
+.PHONY: maybe-clean-target-libjava clean-target-libjava
+maybe-clean-target-libjava:
-configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
+clean-target-libjava:
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libobjc; \
- cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libobjc"; \
- libsrcdir="$$s/libobjc"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
|| exit 1
-.PHONY: all-target-libobjc maybe-all-target-libobjc
-maybe-all-target-libobjc:
-all-target-libobjc: configure-target-libobjc
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libobjc maybe-check-target-libobjc
-maybe-check-target-libobjc:
+.PHONY: maybe-distclean-target-libjava distclean-target-libjava
+maybe-distclean-target-libjava:
-check-target-libobjc:
- @r=`${PWD_COMMAND}`; export r; \
+distclean-target-libjava:
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-.PHONY: install-target-libobjc maybe-install-target-libobjc
-maybe-install-target-libobjc:
+.PHONY: maybe-maintainer-clean-target-libjava maintainer-clean-target-libjava
+maybe-maintainer-clean-target-libjava:
-install-target-libobjc: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-libjava:
+ @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libobjc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libjava && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
-maybe-configure-target-libtermcap:
+
+.PHONY: configure-target-zlib maybe-configure-target-zlib
+maybe-configure-target-zlib:
# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
- rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out
+$(TARGET_SUBDIR)/zlib/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
+ rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out
-configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
+configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
@@ -22503,8 +22233,8 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
NM="$(NM_FOR_TARGET)"; export NM; \
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libtermcap; \
- cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \
+ echo Configuring in $(TARGET_SUBDIR)/zlib; \
+ cd "$(TARGET_SUBDIR)/zlib" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) \
topdir=$(srcdir) ;; \
@@ -22516,7 +22246,7 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
esac; \
if [ "$(srcdir)" = "." ] ; then \
if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \
+ if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \
if [ -f Makefile ]; then \
if $(MAKE) distclean; then \
true; \
@@ -22535,8 +22265,8 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
srcdiroption="--srcdir=."; \
libsrcdir="."; \
else \
- srcdiroption="--srcdir=$${topdir}/libtermcap"; \
- libsrcdir="$$s/libtermcap"; \
+ srcdiroption="--srcdir=$${topdir}/zlib"; \
+ libsrcdir="$$s/zlib"; \
fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
@@ -22544,281 +22274,247 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
--with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-target-libtermcap maybe-all-target-libtermcap
-maybe-all-target-libtermcap:
-all-target-libtermcap: configure-target-libtermcap
+.PHONY: all-target-zlib maybe-all-target-zlib
+maybe-all-target-zlib:
+all-target-zlib: configure-target-zlib
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libtermcap && \
+ (cd $(TARGET_SUBDIR)/zlib && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libtermcap maybe-check-target-libtermcap
-maybe-check-target-libtermcap:
+.PHONY: check-target-zlib maybe-check-target-zlib
+maybe-check-target-zlib:
-# Dummy target for uncheckable module.
-check-target-libtermcap:
+check-target-zlib:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: install-target-libtermcap maybe-install-target-libtermcap
-maybe-install-target-libtermcap:
+.PHONY: install-target-zlib maybe-install-target-zlib
+maybe-install-target-zlib:
-install-target-libtermcap: installdirs
+install-target-zlib: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libtermcap && \
+ (cd $(TARGET_SUBDIR)/zlib && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: configure-target-winsup maybe-configure-target-winsup
-maybe-configure-target-winsup:
+# Other targets (info, dvi, etc.)
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/winsup/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
- rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out
+.PHONY: maybe-info-target-zlib info-target-zlib
+maybe-info-target-zlib:
-configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
- @test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
+info-target-zlib: \
+ configure-target-zlib
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/winsup; \
- cd "$(TARGET_SUBDIR)/winsup" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/winsup"; \
- libsrcdir="$$s/winsup"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-target-winsup maybe-all-target-winsup
-maybe-all-target-winsup:
-all-target-winsup: configure-target-winsup
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-winsup maybe-check-target-winsup
-maybe-check-target-winsup:
+.PHONY: maybe-dvi-target-zlib dvi-target-zlib
+maybe-dvi-target-zlib:
-check-target-winsup:
- @r=`${PWD_COMMAND}`; export r; \
+dvi-target-zlib: \
+ configure-target-zlib
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-.PHONY: install-target-winsup maybe-install-target-winsup
-maybe-install-target-winsup:
+.PHONY: maybe-TAGS-target-zlib TAGS-target-zlib
+maybe-TAGS-target-zlib:
-install-target-winsup: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+TAGS-target-zlib: \
+ configure-target-zlib
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/winsup && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-
+ echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-.PHONY: configure-target-libgloss maybe-configure-target-libgloss
-maybe-configure-target-libgloss:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
- rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out
+.PHONY: maybe-install-info-target-zlib install-info-target-zlib
+maybe-install-info-target-zlib:
-configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
+install-info-target-zlib: \
+ configure-target-zlib \
+ info-target-zlib
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libgloss; \
- cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libgloss"; \
- libsrcdir="$$s/libgloss"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-target-libgloss maybe-all-target-libgloss
-maybe-all-target-libgloss:
-all-target-libgloss: configure-target-libgloss
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libgloss && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libgloss maybe-check-target-libgloss
-maybe-check-target-libgloss:
+.PHONY: maybe-installcheck-target-zlib installcheck-target-zlib
+maybe-installcheck-target-zlib:
-# Dummy target for uncheckable module.
-check-target-libgloss:
+installcheck-target-zlib: \
+ configure-target-zlib
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-.PHONY: install-target-libgloss maybe-install-target-libgloss
-maybe-install-target-libgloss:
+.PHONY: maybe-mostlyclean-target-zlib mostlyclean-target-zlib
+maybe-mostlyclean-target-zlib:
-install-target-libgloss: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-zlib:
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libgloss && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-.PHONY: configure-target-libiberty maybe-configure-target-libiberty
-maybe-configure-target-libiberty:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
- rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out
+.PHONY: maybe-clean-target-zlib clean-target-zlib
+maybe-clean-target-zlib:
-configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
+clean-target-zlib:
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libiberty; \
- cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libiberty"; \
- libsrcdir="$$s/libiberty"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
|| exit 1
-.PHONY: all-target-libiberty maybe-all-target-libiberty
-maybe-all-target-libiberty:
-all-target-libiberty: configure-target-libiberty
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libiberty && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libiberty maybe-check-target-libiberty
-maybe-check-target-libiberty:
+.PHONY: maybe-distclean-target-zlib distclean-target-zlib
+maybe-distclean-target-zlib:
-check-target-libiberty:
- @r=`${PWD_COMMAND}`; export r; \
+distclean-target-zlib:
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libiberty && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-.PHONY: install-target-libiberty maybe-install-target-libiberty
-maybe-install-target-libiberty:
+.PHONY: maybe-maintainer-clean-target-zlib maintainer-clean-target-zlib
+maybe-maintainer-clean-target-zlib:
-install-target-libiberty: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-zlib:
+ @[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libiberty && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/zlib && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: configure-target-gperf maybe-configure-target-gperf
-maybe-configure-target-gperf:
+
+.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
+maybe-configure-target-boehm-gc:
# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/gperf/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
- rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out
+$(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
+ rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out
-configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
- @test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
+configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
@@ -22837,8 +22533,8 @@ configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
NM="$(NM_FOR_TARGET)"; export NM; \
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/gperf; \
- cd "$(TARGET_SUBDIR)/gperf" || exit 1; \
+ echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
+ cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) \
topdir=$(srcdir) ;; \
@@ -22848,290 +22544,255 @@ configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- srcdiroption="--srcdir=$${topdir}/gperf"; \
- libsrcdir="$$s/gperf"; \
+ srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
+ libsrcdir="$$s/boehm-gc"; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
--with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-target-gperf maybe-all-target-gperf
-maybe-all-target-gperf:
-all-target-gperf: configure-target-gperf
+.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
+maybe-all-target-boehm-gc:
+all-target-boehm-gc: configure-target-boehm-gc
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/gperf && \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-gperf maybe-check-target-gperf
-maybe-check-target-gperf:
+.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
+maybe-check-target-boehm-gc:
-check-target-gperf:
+check-target-boehm-gc:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/gperf && \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: install-target-gperf maybe-install-target-gperf
-maybe-install-target-gperf:
+.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc
+maybe-install-target-boehm-gc:
-install-target-gperf: installdirs
+install-target-boehm-gc: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/gperf && \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: configure-target-examples maybe-configure-target-examples
-maybe-configure-target-examples:
+# Other targets (info, dvi, etc.)
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/examples/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
- rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out
+.PHONY: maybe-info-target-boehm-gc info-target-boehm-gc
+maybe-info-target-boehm-gc:
-configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
- @test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
+info-target-boehm-gc: \
+ configure-target-boehm-gc
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/examples; \
- cd "$(TARGET_SUBDIR)/examples" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/examples"; \
- libsrcdir="$$s/examples"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-target-examples maybe-all-target-examples
-maybe-all-target-examples:
-all-target-examples: configure-target-examples
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/examples && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-
-.PHONY: check-target-examples maybe-check-target-examples
-maybe-check-target-examples:
-# Dummy target for uncheckable module.
-check-target-examples:
+.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc
+maybe-dvi-target-boehm-gc:
+dvi-target-boehm-gc: \
+ configure-target-boehm-gc
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-.PHONY: install-target-examples maybe-install-target-examples
-maybe-install-target-examples:
-# Dummy target for uninstallable.
-install-target-examples:
+.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc
+maybe-TAGS-target-boehm-gc:
+TAGS-target-boehm-gc: \
+ configure-target-boehm-gc
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-.PHONY: configure-target-libffi maybe-configure-target-libffi
-maybe-configure-target-libffi:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libffi/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
- rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out
+.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc
+maybe-install-info-target-boehm-gc:
-configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
+install-info-target-boehm-gc: \
+ configure-target-boehm-gc \
+ info-target-boehm-gc
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libffi; \
- cd "$(TARGET_SUBDIR)/libffi" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libffi"; \
- libsrcdir="$$s/libffi"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
|| exit 1
-.PHONY: all-target-libffi maybe-all-target-libffi
-maybe-all-target-libffi:
-all-target-libffi: configure-target-libffi
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libffi && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-libffi maybe-check-target-libffi
-maybe-check-target-libffi:
+.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc
+maybe-installcheck-target-boehm-gc:
-check-target-libffi:
- @r=`${PWD_COMMAND}`; export r; \
+installcheck-target-boehm-gc: \
+ configure-target-boehm-gc
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libffi && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-.PHONY: install-target-libffi maybe-install-target-libffi
-maybe-install-target-libffi:
+.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc
+maybe-mostlyclean-target-boehm-gc:
-install-target-libffi: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+mostlyclean-target-boehm-gc:
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libffi && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
-.PHONY: configure-target-libjava maybe-configure-target-libjava
-maybe-configure-target-libjava:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/libjava/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
- rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out
+.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc
+maybe-clean-target-boehm-gc:
-configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
- @test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
+clean-target-boehm-gc:
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
- CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/libjava; \
- cd "$(TARGET_SUBDIR)/libjava" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/libjava"; \
- libsrcdir="$$s/libjava"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
|| exit 1
-.PHONY: all-target-libjava maybe-all-target-libjava
-maybe-all-target-libjava:
-all-target-libjava: configure-target-libjava
- @r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libjava && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all)
-.PHONY: check-target-libjava maybe-check-target-libjava
-maybe-check-target-libjava:
+.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc
+maybe-distclean-target-boehm-gc:
-check-target-libjava:
- @r=`${PWD_COMMAND}`; export r; \
+distclean-target-boehm-gc:
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libjava && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check)
+ echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-.PHONY: install-target-libjava maybe-install-target-libjava
-maybe-install-target-libjava:
+.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc
+maybe-maintainer-clean-target-boehm-gc:
-install-target-libjava: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-boehm-gc:
+ @[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/libjava && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
-.PHONY: configure-target-zlib maybe-configure-target-zlib
-maybe-configure-target-zlib:
+
+.PHONY: configure-target-qthreads maybe-configure-target-qthreads
+maybe-configure-target-qthreads:
# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/zlib/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
- rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out
+$(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
+ rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \
+ cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out
-configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
- @test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
+configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
+ @test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
@@ -23150,8 +22811,8 @@ configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
NM="$(NM_FOR_TARGET)"; export NM; \
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/zlib; \
- cd "$(TARGET_SUBDIR)/zlib" || exit 1; \
+ echo Configuring in $(TARGET_SUBDIR)/qthreads; \
+ cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \
case $(srcdir) in \
/* | [A-Za-z]:[\\/]*) \
topdir=$(srcdir) ;; \
@@ -23161,225 +22822,241 @@ configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
- srcdiroption="--srcdir=$${topdir}/zlib"; \
- libsrcdir="$$s/zlib"; \
- fi; \
+ srcdiroption="--srcdir=$${topdir}/qthreads"; \
+ libsrcdir="$$s/qthreads"; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
--with-target-subdir="$(TARGET_SUBDIR)" \
|| exit 1
-.PHONY: all-target-zlib maybe-all-target-zlib
-maybe-all-target-zlib:
-all-target-zlib: configure-target-zlib
+.PHONY: all-target-qthreads maybe-all-target-qthreads
+maybe-all-target-qthreads:
+all-target-qthreads: configure-target-qthreads
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/zlib && \
+ (cd $(TARGET_SUBDIR)/qthreads && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all)
-.PHONY: check-target-zlib maybe-check-target-zlib
-maybe-check-target-zlib:
+.PHONY: check-target-qthreads maybe-check-target-qthreads
+maybe-check-target-qthreads:
-check-target-zlib:
+check-target-qthreads:
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/zlib && \
+ (cd $(TARGET_SUBDIR)/qthreads && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.PHONY: install-target-zlib maybe-install-target-zlib
-maybe-install-target-zlib:
+.PHONY: install-target-qthreads maybe-install-target-qthreads
+maybe-install-target-qthreads:
-install-target-zlib: installdirs
+install-target-qthreads: installdirs
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/zlib && \
+ (cd $(TARGET_SUBDIR)/qthreads && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
-.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
-maybe-configure-target-boehm-gc:
+# Other targets (info, dvi, etc.)
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
- rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out
+.PHONY: maybe-info-target-qthreads info-target-qthreads
+maybe-info-target-qthreads:
-configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
- @test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
+info-target-qthreads: \
+ configure-target-qthreads
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
- cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
- libsrcdir="$$s/boehm-gc"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
|| exit 1
-.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
-maybe-all-target-boehm-gc:
-all-target-boehm-gc: configure-target-boehm-gc
- @r=`${PWD_COMMAND}`; export r; \
+
+.PHONY: maybe-dvi-target-qthreads dvi-target-qthreads
+maybe-dvi-target-qthreads:
+
+dvi-target-qthreads: \
+ configure-target-qthreads
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
+ echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
-.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
-maybe-check-target-boehm-gc:
-check-target-boehm-gc:
- @r=`${PWD_COMMAND}`; export r; \
+.PHONY: maybe-TAGS-target-qthreads TAGS-target-qthreads
+maybe-TAGS-target-qthreads:
+
+TAGS-target-qthreads: \
+ configure-target-qthreads
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
-.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc
-maybe-install-target-boehm-gc:
+.PHONY: maybe-install-info-target-qthreads install-info-target-qthreads
+maybe-install-info-target-qthreads:
-install-target-boehm-gc: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+install-info-target-qthreads: \
+ configure-target-qthreads \
+ info-target-qthreads
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- (cd $(TARGET_SUBDIR)/boehm-gc && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+ echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
-.PHONY: configure-target-qthreads maybe-configure-target-qthreads
-maybe-configure-target-qthreads:
+.PHONY: maybe-installcheck-target-qthreads installcheck-target-qthreads
+maybe-installcheck-target-qthreads:
-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
-$(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
- rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \
- cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out
+installcheck-target-qthreads: \
+ configure-target-qthreads
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
-configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
- @test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
+
+.PHONY: maybe-mostlyclean-target-qthreads mostlyclean-target-qthreads
+maybe-mostlyclean-target-qthreads:
+
+mostlyclean-target-qthreads:
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
- AR="$(AR_FOR_TARGET)"; export AR; \
- AS="$(AS_FOR_TARGET)"; export AS; \
- CC="$(CC_FOR_TARGET)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_TARGET)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
- GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
- DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- LD="$(LD_FOR_TARGET)"; export LD; \
- LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
- NM="$(NM_FOR_TARGET)"; export NM; \
- RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- echo Configuring in $(TARGET_SUBDIR)/qthreads; \
- cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \
- case $(srcdir) in \
- /* | [A-Za-z]:[\\/]*) \
- topdir=$(srcdir) ;; \
- *) \
- case "$(TARGET_SUBDIR)" in \
- .) topdir="../$(srcdir)" ;; \
- *) topdir="../../$(srcdir)" ;; \
- esac ;; \
- esac; \
- srcdiroption="--srcdir=$${topdir}/qthreads"; \
- libsrcdir="$$s/qthreads"; \
- rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- $(TARGET_CONFIGARGS) $${srcdiroption} \
- --with-target-subdir="$(TARGET_SUBDIR)" \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
|| exit 1
-.PHONY: all-target-qthreads maybe-all-target-qthreads
-maybe-all-target-qthreads:
-all-target-qthreads: configure-target-qthreads
- @r=`${PWD_COMMAND}`; export r; \
+
+.PHONY: maybe-clean-target-qthreads clean-target-qthreads
+maybe-clean-target-qthreads:
+
+clean-target-qthreads:
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
+ echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
(cd $(TARGET_SUBDIR)/qthreads && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) all)
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
-.PHONY: check-target-qthreads maybe-check-target-qthreads
-maybe-check-target-qthreads:
-check-target-qthreads:
- @r=`${PWD_COMMAND}`; export r; \
+.PHONY: maybe-distclean-target-qthreads distclean-target-qthreads
+maybe-distclean-target-qthreads:
+
+distclean-target-qthreads:
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
(cd $(TARGET_SUBDIR)/qthreads && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
-.PHONY: install-target-qthreads maybe-install-target-qthreads
-maybe-install-target-qthreads:
+.PHONY: maybe-maintainer-clean-target-qthreads maintainer-clean-target-qthreads
+maybe-maintainer-clean-target-qthreads:
-install-target-qthreads: installdirs
- @r=`${PWD_COMMAND}`; export r; \
+maintainer-clean-target-qthreads:
+ @[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
(cd $(TARGET_SUBDIR)/qthreads && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
+
.PHONY: configure-target-rda maybe-configure-target-rda
@@ -23462,6 +23139,204 @@ install-target-rda: installdirs
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-rda info-target-rda
+maybe-info-target-rda:
+
+info-target-rda: \
+ configure-target-rda
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing info in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
+
+
+.PHONY: maybe-dvi-target-rda dvi-target-rda
+maybe-dvi-target-rda:
+
+dvi-target-rda: \
+ configure-target-rda
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
+
+
+.PHONY: maybe-TAGS-target-rda TAGS-target-rda
+maybe-TAGS-target-rda:
+
+TAGS-target-rda: \
+ configure-target-rda
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
+
+
+.PHONY: maybe-install-info-target-rda install-info-target-rda
+maybe-install-info-target-rda:
+
+install-info-target-rda: \
+ configure-target-rda \
+ info-target-rda
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
+
+
+.PHONY: maybe-installcheck-target-rda installcheck-target-rda
+maybe-installcheck-target-rda:
+
+installcheck-target-rda: \
+ configure-target-rda
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
+
+
+.PHONY: maybe-mostlyclean-target-rda mostlyclean-target-rda
+maybe-mostlyclean-target-rda:
+
+mostlyclean-target-rda:
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
+
+
+.PHONY: maybe-clean-target-rda clean-target-rda
+maybe-clean-target-rda:
+
+clean-target-rda:
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
+
+
+.PHONY: maybe-distclean-target-rda distclean-target-rda
+maybe-distclean-target-rda:
+
+distclean-target-rda:
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
+
+
+.PHONY: maybe-maintainer-clean-target-rda maintainer-clean-target-rda
+maybe-maintainer-clean-target-rda:
+
+maintainer-clean-target-rda:
+ @[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/rda && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
+
+
+
.PHONY: configure-target-libada maybe-configure-target-libada
maybe-configure-target-libada:
@@ -23481,6 +23356,7 @@ configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -23502,30 +23378,8 @@ configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libada "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libada"; \
libsrcdir="$$s/libada"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -23563,6 +23417,204 @@ install-target-libada: installdirs
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+# Other targets (info, dvi, etc.)
+
+.PHONY: maybe-info-target-libada info-target-libada
+maybe-info-target-libada:
+
+info-target-libada: \
+ configure-target-libada
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
+
+
+.PHONY: maybe-dvi-target-libada dvi-target-libada
+maybe-dvi-target-libada:
+
+dvi-target-libada: \
+ configure-target-libada
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
+
+
+.PHONY: maybe-TAGS-target-libada TAGS-target-libada
+maybe-TAGS-target-libada:
+
+TAGS-target-libada: \
+ configure-target-libada
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
+
+
+.PHONY: maybe-install-info-target-libada install-info-target-libada
+maybe-install-info-target-libada:
+
+install-info-target-libada: \
+ configure-target-libada \
+ info-target-libada
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
+
+
+.PHONY: maybe-installcheck-target-libada installcheck-target-libada
+maybe-installcheck-target-libada:
+
+installcheck-target-libada: \
+ configure-target-libada
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
+
+
+.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada
+maybe-mostlyclean-target-libada:
+
+mostlyclean-target-libada:
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
+
+
+.PHONY: maybe-clean-target-libada clean-target-libada
+maybe-clean-target-libada:
+
+clean-target-libada:
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
+
+
+.PHONY: maybe-distclean-target-libada distclean-target-libada
+maybe-distclean-target-libada:
+
+distclean-target-libada:
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
+
+
+.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada
+maybe-maintainer-clean-target-libada:
+
+maintainer-clean-target-libada:
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/libada && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
+
+
+
# ----------
# GCC module
@@ -23576,10 +23628,13 @@ install-target-libada: installdirs
# Don't use shared host config.cache, as it will confuse later
# directories; GCC wants slightly different values for some
# precious variables. *sigh*
+
+# We must skip configuring if toplevel bootstrap is going.
.PHONY: configure-gcc maybe-configure-gcc
maybe-configure-gcc:
configure-gcc:
@test ! -f gcc/Makefile || exit 0; \
+ [ -f stage_last ] && exit 0; \
[ -d gcc ] || mkdir gcc; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -23594,6 +23649,7 @@ configure-gcc:
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
NM="$(NM)"; export NM; \
RANLIB="$(RANLIB)"; export RANLIB; \
WINDRES="$(WINDRES)"; export WINDRES; \
@@ -23622,14 +23678,14 @@ configure-gcc:
.PHONY: all-gcc maybe-all-gcc
maybe-all-gcc:
all-gcc: configure-gcc
- @if [ -f gcc/stage_last ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ if [ -f stage_last ] ; then \
+ true ; \
+ elif [ -f gcc/stage_last ] ; then \
$(SET_LIB_PATH) \
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \
else \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \
fi
@@ -23767,6 +23823,503 @@ gcc-no-fixedincludes:
mv gcc/tmp-include gcc/include 2>/dev/null; \
else true; fi
+# Other targets (dvi, info, etc.)
+
+.PHONY: maybe-info-gcc info-gcc
+maybe-info-gcc:
+info-gcc: \
+ configure-gcc
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing info in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ info) \
+ || exit 1
+
+
+.PHONY: maybe-dvi-gcc dvi-gcc
+maybe-dvi-gcc:
+dvi-gcc: \
+ configure-gcc
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing dvi in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ dvi) \
+ || exit 1
+
+
+.PHONY: maybe-TAGS-gcc TAGS-gcc
+maybe-TAGS-gcc:
+TAGS-gcc: \
+ configure-gcc
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing TAGS in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ TAGS) \
+ || exit 1
+
+
+.PHONY: maybe-install-info-gcc install-info-gcc
+maybe-install-info-gcc:
+install-info-gcc: \
+ configure-gcc \
+ info-gcc
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing install-info in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ install-info) \
+ || exit 1
+
+
+.PHONY: maybe-installcheck-gcc installcheck-gcc
+maybe-installcheck-gcc:
+installcheck-gcc: \
+ configure-gcc
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing installcheck in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ installcheck) \
+ || exit 1
+
+
+.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc
+maybe-mostlyclean-gcc:
+mostlyclean-gcc:
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing mostlyclean in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ mostlyclean) \
+ || exit 1
+
+
+.PHONY: maybe-clean-gcc clean-gcc
+maybe-clean-gcc:
+clean-gcc:
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing clean in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ clean) \
+ || exit 1
+
+
+.PHONY: maybe-distclean-gcc distclean-gcc
+maybe-distclean-gcc:
+distclean-gcc:
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing distclean in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ distclean) \
+ || exit 1
+
+
+.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc
+maybe-maintainer-clean-gcc:
+maintainer-clean-gcc:
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing maintainer-clean in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ maintainer-clean) \
+ || exit 1
+
+
+
+# ---------------------
+# GCC bootstrap support
+# ---------------------
+
+# We name the directories for the various stages "stage1-gcc",
+# "stage2-gcc","stage3-gcc", etc.
+# Unfortunately, the 'compare' process will fail (on debugging information)
+# if any directory names are different!
+# So in the building rule for each stage, we relocate them before and after.
+# The current one is 'gcc', while the previous one is 'prev-gcc'. (The
+# current one must be 'gcc' for now because the scripts in that directory
+# assume it.)
+# At the end of the bootstrap, 'stage3-gcc' must be moved to 'gcc' so that
+# libraries can find it. Ick!
+
+# Bugs: This is almost certainly not parallel-make safe.
+
+# 'touch' doesn't work right on some platforms.
+STAMP = echo timestamp >
+
+# Only build the C compiler for stage1, because that is the only one that
+# we can guarantee will build with the native compiler, and also it is the
+# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
+# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+# overrideable (for a bootstrap build stage1 also builds gcc.info).
+
+STAGE1_CFLAGS=@stage1_cflags@
+STAGE1_LANGUAGES=@stage1_languages@
+
+# For stage 1:
+# * We force-disable intermodule optimizations, even if
+# --enable-intermodule was passed, since the installed compiler probably
+# can't handle them. Luckily, autoconf always respects
+# the last argument when conflicting --enable arguments are passed.
+# * Likewise, we force-disable coverage flags, since the installed compiler
+# probably has never heard of them.
+# * We build only C (and possibly Ada).
+configure-stage1-gcc:
+ echo configure-stage1-gcc > stage_last ; \
+ if [ -f stage1-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage1-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage1-gcc ] || mkdir stage1-gcc; \
+ mv stage1-gcc gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring stage 1 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage \
+ --enable-languages="$(STAGE1_LANGUAGES)"; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ $(STAMP) configure-stage1-gcc
+
+# Real targets act phony if they depend on phony targets; this hack
+# prevents gratuitous rebuilding of stage 1.
+prebootstrap:
+ $(MAKE) all-bootstrap
+ $(STAMP) prebootstrap
+
+all-stage1-gcc: configure-stage1-gcc prebootstrap
+ echo all-stage1-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage1-gcc gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc ; \
+ result=$$? ; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ exit $$result
+
+# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
+# Possibly pass --enable-werror-always (depending on --enable-werror);
+# that's what @stage2_werror_flag@ is for
+configure-stage2-gcc: all-stage1-gcc
+ echo configure-stage2-gcc > stage_last ; \
+ if [ -f stage2-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage2-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage2-gcc ] || mkdir stage2-gcc; \
+ mv stage2-gcc gcc ; \
+ mv stage1-gcc prev-gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
+ echo Configuring stage 2 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \
+ cd .. ; \
+ mv gcc stage2-gcc ; \
+ mv prev-gcc stage1-gcc ; \
+ $(STAMP) configure-stage2-gcc
+
+# Flags to pass to stage2 and later makes.
+BOOT_CFLAGS= -g -O2
+POSTSTAGE1_FLAGS_TO_PASS = \
+ CFLAGS="$(BOOT_CFLAGS)" \
+ ADAC="\$$(CC)"
+
+all-stage2-gcc: all-stage1-gcc configure-stage2-gcc
+ echo all-stage2-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage2-gcc gcc ; \
+ mv stage1-gcc prev-gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=$$r/prev-gcc/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage2-gcc ; \
+ result=$$? ; \
+ cd .. ; \
+ mv prev-gcc stage1-gcc ; \
+ mv gcc stage2-gcc ; \
+ exit $$result
+
+configure-stage3-gcc: all-stage2-gcc
+ echo configure-stage3-gcc > stage_last ; \
+ if [ -f stage3-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage3-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage3-gcc ] || mkdir stage3-gcc; \
+ mv stage3-gcc gcc ; \
+ mv stage2-gcc prev-gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
+ echo Configuring stage 3 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \
+ cd .. ; \
+ mv gcc stage3-gcc ; \
+ mv prev-gcc stage2-gcc ; \
+ $(STAMP) configure-stage3-gcc
+
+all-stage3-gcc: all-stage2-gcc configure-stage3-gcc
+ echo all-stage3-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage2-gcc prev-gcc ; \
+ mv stage3-gcc gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=$$r/prev-gcc/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage3-gcc \
+ result=$$? ; \
+ cd .. ; \
+ mv prev-gcc stage2-gcc ; \
+ mv gcc stage3-gcc ; \
+ exit $$result
+
+# We only want to compare .o files, so set this!
+objext = .o
+
+compare: all-stage3-gcc
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ rm -f .bad_compare ; \
+ cd stage3-gcc; \
+ files=`find . -name "*$(objext)" -print` ; \
+ cd .. ; \
+ for file in $${files} ; do \
+ f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \
+ @do_compare@ > /dev/null 2>&1; \
+ test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
+ done ; \
+ if [ -f .bad_compare ]; then \
+ echo "Bootstrap comparison failure!"; \
+ cat .bad_compare; \
+ exit 1; \
+ else \
+ true; \
+ fi ; \
+ $(STAMP) compare
+
+.PHONY: new-bootstrap
+# This target exists so that everything can be made in one pass.
+# 'all-gcc' has to avoid stomping on the bootstrap-generated gcc for
+# this to work.
+new-bootstrap: compare
+ mv stage3-gcc gcc ; \
+ $(MAKE) all ; \
+ mv gcc stage3-gcc
+
+new-cleanstrap:
+ rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) new-bootstrap
+
+new-restage1:
+ rm -rf all-stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage1-gcc
+
+new-restage2: all-stage1-gcc
+ rm -rf all-stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage2-gcc
+
+new-restage3: all-stage2-gcc
+ rm -rf all-stage3-gcc compare
+ $(MAKE) compare
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
@@ -23786,7 +24339,7 @@ all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-bison maybe-all-byacc mayb
# This is a slightly kludgy method of getting dependencies on
# all-build-libiberty correct; it would be better to build it every time.
all-gcc: maybe-all-build-libiberty
-all-bootstrap: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib
+all-bootstrap: maybe-all-binutils maybe-all-bison maybe-all-byacc maybe-all-gas maybe-all-intl maybe-all-ld maybe-all-libiberty maybe-all-texinfo maybe-all-zlib
# Host modules specific to gdb.
# GDB needs to know that the simulator is being built.
diff --git a/Makefile.tpl b/Makefile.tpl
index c82c818..18d55f2 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -73,7 +73,6 @@ INSTALL_DATA = @INSTALL_DATA@
# Miscellaneous non-standard autoconf-set variables
# -------------------------------------------------
-links=@configlinks@
# The file containing GCC's version number.
gcc_version_trigger = @gcc_version_trigger@
gcc_version = @gcc_version@
@@ -250,6 +249,7 @@ TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
AR_FOR_TARGET=@AR_FOR_TARGET@
+CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@
USUAL_AR_FOR_TARGET = ` \
if [ -f $$r/binutils/ar ] ; then \
echo $$r/binutils/ar ; \
@@ -257,11 +257,12 @@ USUAL_AR_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AR); \
else \
- echo ar | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_AR_FOR_TARGET) ; \
fi; \
fi`
AS_FOR_TARGET=@AS_FOR_TARGET@
+CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
USUAL_AS_FOR_TARGET = ` \
if [ -f $$r/gas/as-new ] ; then \
echo $$r/gas/as-new ; \
@@ -271,7 +272,7 @@ USUAL_AS_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AS); \
else \
- echo as | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_AS_FOR_TARGET) ; \
fi; \
fi`
@@ -297,6 +298,7 @@ CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
USUAL_DLLTOOL_FOR_TARGET = ` \
if [ -f $$r/binutils/dlltool ] ; then \
echo $$r/binutils/dlltool ; \
@@ -304,13 +306,14 @@ USUAL_DLLTOOL_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(DLLTOOL); \
else \
- echo dlltool | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \
fi; \
fi`
GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
LD_FOR_TARGET=@LD_FOR_TARGET@
+CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
USUAL_LD_FOR_TARGET = ` \
if [ -f $$r/ld/ld-new ] ; then \
echo $$r/ld/ld-new ; \
@@ -320,13 +323,14 @@ USUAL_LD_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(LD); \
else \
- echo ld | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_LD_FOR_TARGET) ; \
fi; \
fi`
LDFLAGS_FOR_TARGET =
NM_FOR_TARGET=@NM_FOR_TARGET@
+CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
USUAL_NM_FOR_TARGET = ` \
if [ -f $$r/binutils/nm-new ] ; then \
echo $$r/binutils/nm-new ; \
@@ -336,11 +340,12 @@ USUAL_NM_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(NM); \
else \
- echo nm | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_NM_FOR_TARGET) ; \
fi; \
fi`
RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
+CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@
USUAL_RANLIB_FOR_TARGET = ` \
if [ -f $$r/binutils/ranlib ] ; then \
echo $$r/binutils/ranlib ; \
@@ -352,11 +357,12 @@ USUAL_RANLIB_FOR_TARGET = ` \
echo ranlib; \
fi; \
else \
- echo ranlib | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \
fi; \
fi`
WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
+CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@
USUAL_WINDRES_FOR_TARGET = ` \
if [ -f $$r/binutils/windres ] ; then \
echo $$r/binutils/windres ; \
@@ -364,7 +370,7 @@ USUAL_WINDRES_FOR_TARGET = ` \
if [ '$(host)' = '$(target)' ] ; then \
echo $(WINDRES); \
else \
- echo windres | sed '$(program_transform_name)' ; \
+ echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \
fi; \
fi`
@@ -459,15 +465,15 @@ EXTRA_GCC_FLAGS = \
'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
- "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s/.*=$$/XFOO=/`"
+ "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
+ "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
@@ -516,89 +522,6 @@ do-[+make_target+]: [+make_target+]-host [+make_target+]-target
FOR target_modules +] \
maybe-[+make_target+]-target-[+module+][+
ENDFOR target_modules +]
-
-# GCC, the eternal special case
-.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc
-maybe-[+make_target+]-gcc:
-[+make_target+]-gcc: [+
- FOR depend +]\
- [+depend+]-gcc [+
- ENDFOR depend +]
- @[ -f ./gcc/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_GCC_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing [+make_target+] in gcc" ; \
- (cd gcc && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- [+make_target+]) \
- || exit 1
-
-# Host modules.
-[+ FOR host_modules +]
-.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
-maybe-[+make_target+]-[+module+]:
-[+ IF (match-value? = "missing" (get "make_target") ) +]
-# [+module+] doesn't support [+make_target+].
-[+make_target+]-[+module+]:
-[+ ELSE +]
-[+make_target+]-[+module+]: [+
- FOR depend +]\
- [+depend+]-[+module+] [+
- ENDFOR depend +]
- @[ -f ./[+module+]/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- for flag in $(EXTRA_HOST_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- echo "Doing [+make_target+] in [+module+]" ; \
- (cd [+module+] && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- [+make_target+]) \
- || exit 1
-[+ ENDIF +]
-[+ ENDFOR host_modules +]
-
-# Target modules.
-[+ FOR target_modules +]
-.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
-maybe-[+make_target+]-target-[+module+]:
-[+ IF (match-value? = "missing" (get "make_target") ) +]
-# [+module+] doesn't support [+make_target+].
-[+make_target+]-target-[+module+]:
-[+ ELSE +]
-[+make_target+]-target-[+module+]: [+
- FOR depend +]\
- [+depend+]-target-[+module+] [+
- ENDFOR depend +]
- @[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(SET_LIB_PATH) \
- echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \
- for flag in $(EXTRA_TARGET_FLAGS); do \
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
- done; \
- (cd $(TARGET_SUBDIR)/[+module+] && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
- "RANLIB=$${RANLIB}" \
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
- [+make_target+]) \
- || exit 1
-[+ ENDIF +]
-[+ ENDFOR target_modules +]
[+ ENDFOR recursive_targets +]
# Here are the targets which correspond to the do-X targets.
@@ -858,6 +781,7 @@ configure-[+module+]:
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
NM="$(NM)"; export NM; \
RANLIB="$(RANLIB)"; export RANLIB; \
WINDRES="$(WINDRES)"; export WINDRES; \
@@ -932,6 +856,36 @@ install-[+module+]: installdirs
+] $(X11_FLAGS_TO_PASS)[+
ENDIF with_x +] install)
[+ ENDIF no_install +]
+
+# Other targets (info, dvi, etc.)
+[+ FOR recursive_targets +]
+.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
+maybe-[+make_target+]-[+module+]:
+[+ IF (match-value? = "missing" (get "make_target") ) +]
+# [+module+] doesn't support [+make_target+].
+[+make_target+]-[+module+]:
+[+ ELSE +]
+[+make_target+]-[+module+]: [+
+ FOR depend +]\
+ [+depend+]-[+module+] [+
+ ENDFOR depend +]
+ @[ -f ./[+module+]/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_HOST_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing [+make_target+] in [+module+]" ; \
+ (cd [+module+] && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ [+make_target+]) \
+ || exit 1
+[+ ENDIF +]
+[+ ENDFOR recursive_targets +]
[+ ENDFOR host_modules +]
# ---------------------------------------
@@ -1058,6 +1012,36 @@ install-target-[+module+]: installdirs
(cd $(TARGET_SUBDIR)/[+module+] && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) install)
[+ ENDIF no_install +]
+
+# Other targets (info, dvi, etc.)
+[+ FOR recursive_targets +]
+.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+]
+maybe-[+make_target+]-target-[+module+]:
+[+ IF (match-value? = "missing" (get "make_target") ) +]
+# [+module+] doesn't support [+make_target+].
+[+make_target+]-target-[+module+]:
+[+ ELSE +]
+[+make_target+]-target-[+module+]: [+
+ FOR depend +]\
+ [+depend+]-target-[+module+] [+
+ ENDFOR depend +]
+ @[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ (cd $(TARGET_SUBDIR)/[+module+] && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ [+make_target+]) \
+ || exit 1
+[+ ENDIF +]
+[+ ENDFOR recursive_targets +]
[+ ENDFOR target_modules +]
# ----------
@@ -1072,10 +1056,13 @@ install-target-[+module+]: installdirs
# Don't use shared host config.cache, as it will confuse later
# directories; GCC wants slightly different values for some
# precious variables. *sigh*
+
+# We must skip configuring if toplevel bootstrap is going.
.PHONY: configure-gcc maybe-configure-gcc
maybe-configure-gcc:
configure-gcc:
@test ! -f gcc/Makefile || exit 0; \
+ [ -f stage_last ] && exit 0; \
[ -d gcc ] || mkdir gcc; \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -1090,6 +1077,7 @@ configure-gcc:
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
NM="$(NM)"; export NM; \
RANLIB="$(RANLIB)"; export RANLIB; \
WINDRES="$(WINDRES)"; export WINDRES; \
@@ -1118,14 +1106,14 @@ configure-gcc:
.PHONY: all-gcc maybe-all-gcc
maybe-all-gcc:
all-gcc: configure-gcc
- @if [ -f gcc/stage_last ] ; then \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ if [ -f stage_last ] ; then \
+ true ; \
+ elif [ -f gcc/stage_last ] ; then \
$(SET_LIB_PATH) \
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \
else \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(SET_LIB_PATH) \
(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \
fi
@@ -1263,6 +1251,340 @@ gcc-no-fixedincludes:
mv gcc/tmp-include gcc/include 2>/dev/null; \
else true; fi
+# Other targets (dvi, info, etc.)
+[+ FOR recursive_targets +]
+.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc
+maybe-[+make_target+]-gcc:
+[+make_target+]-gcc: [+
+ FOR depend +]\
+ [+depend+]-gcc [+
+ ENDFOR depend +]
+ @[ -f ./gcc/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ for flag in $(EXTRA_GCC_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+ echo "Doing [+make_target+] in gcc" ; \
+ (cd gcc && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ [+make_target+]) \
+ || exit 1
+
+[+ ENDFOR recursive_targets +]
+
+# ---------------------
+# GCC bootstrap support
+# ---------------------
+
+# We name the directories for the various stages "stage1-gcc",
+# "stage2-gcc","stage3-gcc", etc.
+# Unfortunately, the 'compare' process will fail (on debugging information)
+# if any directory names are different!
+# So in the building rule for each stage, we relocate them before and after.
+# The current one is 'gcc', while the previous one is 'prev-gcc'. (The
+# current one must be 'gcc' for now because the scripts in that directory
+# assume it.)
+# At the end of the bootstrap, 'stage3-gcc' must be moved to 'gcc' so that
+# libraries can find it. Ick!
+
+# Bugs: This is almost certainly not parallel-make safe.
+
+# 'touch' doesn't work right on some platforms.
+STAMP = echo timestamp >
+
+# Only build the C compiler for stage1, because that is the only one that
+# we can guarantee will build with the native compiler, and also it is the
+# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
+# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+# overrideable (for a bootstrap build stage1 also builds gcc.info).
+
+STAGE1_CFLAGS=@stage1_cflags@
+STAGE1_LANGUAGES=@stage1_languages@
+
+# For stage 1:
+# * We force-disable intermodule optimizations, even if
+# --enable-intermodule was passed, since the installed compiler probably
+# can't handle them. Luckily, autoconf always respects
+# the last argument when conflicting --enable arguments are passed.
+# * Likewise, we force-disable coverage flags, since the installed compiler
+# probably has never heard of them.
+# * We build only C (and possibly Ada).
+configure-stage1-gcc:
+ echo configure-stage1-gcc > stage_last ; \
+ if [ -f stage1-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage1-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage1-gcc ] || mkdir stage1-gcc; \
+ mv stage1-gcc gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CC="$(CC)"; export CC; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ echo Configuring stage 1 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} \
+ --disable-intermodule --disable-coverage \
+ --enable-languages="$(STAGE1_LANGUAGES)"; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ $(STAMP) configure-stage1-gcc
+
+# Real targets act phony if they depend on phony targets; this hack
+# prevents gratuitous rebuilding of stage 1.
+prebootstrap:
+ $(MAKE) all-bootstrap
+ $(STAMP) prebootstrap
+
+all-stage1-gcc: configure-stage1-gcc prebootstrap
+ echo all-stage1-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage1-gcc gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc ; \
+ result=$$? ; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ exit $$result
+
+# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
+# Possibly pass --enable-werror-always (depending on --enable-werror);
+# that's what @stage2_werror_flag@ is for
+configure-stage2-gcc: all-stage1-gcc
+ echo configure-stage2-gcc > stage_last ; \
+ if [ -f stage2-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage2-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage2-gcc ] || mkdir stage2-gcc; \
+ mv stage2-gcc gcc ; \
+ mv stage1-gcc prev-gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
+ echo Configuring stage 2 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \
+ cd .. ; \
+ mv gcc stage2-gcc ; \
+ mv prev-gcc stage1-gcc ; \
+ $(STAMP) configure-stage2-gcc
+
+# Flags to pass to stage2 and later makes.
+BOOT_CFLAGS= -g -O2
+POSTSTAGE1_FLAGS_TO_PASS = \
+ CFLAGS="$(BOOT_CFLAGS)" \
+ ADAC="\$$(CC)"
+
+all-stage2-gcc: all-stage1-gcc configure-stage2-gcc
+ echo all-stage2-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage2-gcc gcc ; \
+ mv stage1-gcc prev-gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=$$r/prev-gcc/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage2-gcc ; \
+ result=$$? ; \
+ cd .. ; \
+ mv prev-gcc stage1-gcc ; \
+ mv gcc stage2-gcc ; \
+ exit $$result
+
+configure-stage3-gcc: all-stage2-gcc
+ echo configure-stage3-gcc > stage_last ; \
+ if [ -f stage3-gcc/Makefile ] ; then \
+ $(STAMP) configure-stage3-gcc ; \
+ exit 0; \
+ else \
+ true ; \
+ fi ; \
+ [ -d stage3-gcc ] || mkdir stage3-gcc; \
+ mv stage3-gcc gcc ; \
+ mv stage2-gcc prev-gcc ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CXX="$(CXX)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
+ LD="$(LD)"; export LD; \
+ LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \
+ echo Configuring stage 3 in gcc; \
+ cd gcc || exit 1; \
+ case $(srcdir) in \
+ \.) \
+ srcdiroption="--srcdir=."; \
+ libsrcdir=".";; \
+ /* | [A-Za-z]:[\\/]*) \
+ srcdiroption="--srcdir=$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ *) \
+ srcdiroption="--srcdir=../$(srcdir)/gcc"; \
+ libsrcdir="$$s/gcc";; \
+ esac; \
+ $(SHELL) $${libsrcdir}/configure \
+ $(HOST_CONFIGARGS) $${srcdiroption} @stage2_werror_flag@ ; \
+ cd .. ; \
+ mv gcc stage3-gcc ; \
+ mv prev-gcc stage2-gcc ; \
+ $(STAMP) configure-stage3-gcc
+
+all-stage3-gcc: all-stage2-gcc configure-stage3-gcc
+ echo all-stage3-gcc > stage_last ; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ mv stage2-gcc prev-gcc ; \
+ mv stage3-gcc gcc ; \
+ cd gcc && \
+ $(MAKE) $(GCC_FLAGS_TO_PASS) \
+ CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
+ STAGE_PREFIX=$$r/prev-gcc/ \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage3-gcc \
+ result=$$? ; \
+ cd .. ; \
+ mv prev-gcc stage2-gcc ; \
+ mv gcc stage3-gcc ; \
+ exit $$result
+
+# We only want to compare .o files, so set this!
+objext = .o
+
+compare: all-stage3-gcc
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ rm -f .bad_compare ; \
+ cd stage3-gcc; \
+ files=`find . -name "*$(objext)" -print` ; \
+ cd .. ; \
+ for file in $${files} ; do \
+ f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \
+ @do_compare@ > /dev/null 2>&1; \
+ test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
+ done ; \
+ if [ -f .bad_compare ]; then \
+ echo "Bootstrap comparison failure!"; \
+ cat .bad_compare; \
+ exit 1; \
+ else \
+ true; \
+ fi ; \
+ $(STAMP) compare
+
+.PHONY: new-bootstrap
+# This target exists so that everything can be made in one pass.
+# 'all-gcc' has to avoid stomping on the bootstrap-generated gcc for
+# this to work.
+new-bootstrap: compare
+ mv stage3-gcc gcc ; \
+ $(MAKE) all ; \
+ mv gcc stage3-gcc
+
+new-cleanstrap:
+ rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) new-bootstrap
+
+new-restage1:
+ rm -rf all-stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage1-gcc
+
+new-restage2: all-stage1-gcc
+ rm -rf all-stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage2-gcc
+
+new-restage3: all-stage2-gcc
+ rm -rf all-stage3-gcc compare
+ $(MAKE) compare
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
@@ -1282,7 +1604,7 @@ all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-bison maybe-all-byacc mayb
# This is a slightly kludgy method of getting dependencies on
# all-build-libiberty correct; it would be better to build it every time.
all-gcc: maybe-all-build-libiberty
-all-bootstrap: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib
+all-bootstrap: [+ FOR host_modules +][+ IF bootstrap +]maybe-all-[+module+] [+ ENDIF bootstrap +][+ ENDFOR host_modules +]
# Host modules specific to gdb.
# GDB needs to know that the simulator is being built.
@@ -1354,6 +1676,7 @@ ALL_GCC_CXX = $(ALL_GCC_C) maybe-all-target-libstdc++-v3
configure-target-boehm-gc: $(ALL_GCC_C) maybe-configure-target-qthreads
configure-target-fastjar: maybe-configure-target-zlib
all-target-fastjar: maybe-all-target-zlib maybe-all-target-libiberty
+configure-target-libada: $(ALL_GCC_C)
configure-target-libf2c: $(ALL_GCC_C)
all-target-libf2c: maybe-all-target-libiberty
configure-target-libffi: $(ALL_GCC_C)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8800d4f..e225888 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,7 +1,914 @@
+2004-05-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
+ SEC_MERGE sections.
+ * elflink.c (elf_link_input_bfd): Adjust output reloc index for
+ those against discarded link-once and SEC_MERGE section symbols.
+
+2004-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * section.c (bfd_get_section_by_name_if): New.
+ * bfd-in2.h: Regenerated.
+
+2004-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * som.c (som_bfd_is_group_section): Define.
+
+2004-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_make_section_anyway): Copy the whole
+ bfd_hash_entry, not just "next" from existing entry.
+
+2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (bfd_section_from_shdr): Maintain the section order in
+ a section group.
+ (special_sections): Add ".note.GNU-stack".
+ (elf_fake_sections): Handle section group for relocatable
+ link..
+
+2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * section.c (bfd_sections_find_if): New.
+ * bfd-in2.h: Regenerated.
+
+2004-04-30 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_make_section_anyway): Add all sections to hash tab.
+
+ * elf-bfd.h (bfd_elf_is_group_section): Declare.
+ * elf.c (bfd_elf_is_group_section): New function.
+ * elfxx-target.h (bfd_elfNN_bfd_is_group_section
+ * section.c (bfd_generic_is_group_section): New function.
+ * targets.c (struct bfd_target): Add _bfd_is_group_section field.
+ (BFD_JUMP_TABLE_LINK): Adjust.
+ * aout-adobe.c (aout_32_bfd_is_group_section): Define.
+ * aout-target.h (MY_bfd_is_group_section): Define.
+ * aout-tic30.c (MY_bfd_is_group_section): Define.
+ * bfd.c (bfd_is_group_section): Define.
+ * binary.c (binary_bfd_is_group_section): Define.
+ * bout.c (b_out_bfd_is_group_section): Define.
+ * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
+ * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
+ * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
+ * coffcode.h (coff_bfd_is_group_section): Define.
+ * i386msdos.c (msdos_bfd_is_group_section): Define.
+ * i386os9k.c (os9k_bfd_is_group_section): Define.
+ * ieee.c (ieee_bfd_is_group_section): Define.
+ * ihex.c (ihex_bfd_is_group_section): Define.
+ * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
+ * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
+ * mmo.c (mmo_bfd_is_group_section): Define.
+ * nlm-target.h (nlm_bfd_is_group_section): Define.
+ * oasys.c (oasys_bfd_is_group_section): Define.
+ * pef.c (bfd_pef_bfd_is_group_section): Define.
+ * ppcboot.c (ppcboot_bfd_is_group_section): Define.
+ * srec.c (srec_bfd_is_group_section): Define.
+ * tekhex.c (tekhex_bfd_is_group_section): Define.
+ * versados.c (versados_bfd_is_group_section): Define.
+ * vms.c (vms_bfd_is_group_section): Define.
+ * xsym.c (bfd_sym_bfd_is_group_section): Define.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2004-04-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_gc_mark): Follow indirect and warning syms.
+
+2004-04-30 Hans-Peter Nilsson <hp@axis.com>
+
+ * configure.in: Update version to 2.15.91.
+ * configure: Regenerate.
+
+2004-04-29 Brian Ford <ford@vss.fsi.com>
+
+ * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
+ * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
+ [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
+ (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
+ [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
+ .gnu.linkonce.wi. sections.
+ * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
+ (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
+ .gnu.linkonce.wi..
+ * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
+ (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2004-04-28 Chris Demetriou <cgd@broadcom.com>
+
+ * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+
+2004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
+ dup_common fields.
+ (setup_sections): Use som_subspace_dictionary_record struct instead
+ subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
+ is_comdat, is_common or dup_common.
+ (som_prep_headers): Use som_subspace_dictionary_record struct. Set
+ is_comdat, is_common and dup_common in section subspace_dict from
+ copy_data.
+ (som_begin_writing): Use som_subspace_dictionary_record struct.
+ (som_finish_writing): Likewise.
+ (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
+ is_common and dup_common flags in info for symbol. Add comment
+ regarding linker support for these fields. Slightly reorganize
+ function.
+ (som_build_and_write_symbol_table): Set is_comdat, is_common and
+ dup_common fields in symbol table from symbol info.
+ (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
+ arguments. Set corresponding fields in copy_data. Change all callers.
+ (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
+ symbol table.
+ (som_vec): Add SEC_LINK_ONCE to applicable section flags.
+ * som.h (som_subspace_dictionary_record): Define.
+ (som_copyable_section_data_struct): Add is_comdat, is_common and
+ dup_common fields.
+ (som_section_data_struct): Use som_subspace_dictionary_record struct
+ instead of subspace_dictionary_record.
+ (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
+
+2004-04-27 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
+ if set. Check reloc_done flag before applying relocations. Use
+ output addresses, both when applying relocations and when comparing
+ against the specified section.
+ (elf_xtensa_relocate_section): Use output address to check if dynamic
+ reloc is in a literal pool. Set section's reloc_done flag.
+
+2004-04-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-sh64.c (elf_backend_section_flags): New. Defined.
+ (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
+ section.
+ (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
+ section.
+
+2004-04-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
+ structure field removed in 2004-04-24 patch.
+ * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
+
+ * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
+ Constify hdr arg.
+ * elf32-arm.h (elf32_arm_section_flags): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
+ * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
+ field before calling elf_backend_section_flags.
+
+2004-04-24 Chris Demetriou <cgd@broadcom.com>
+
+ * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
+ (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
+ (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
+ BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
+ and BFD_RELOC_32_PCREL.
+ (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
+ R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
+ * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+ (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
+ (mips_elf_next_relocation): Move comment about matching HI/LO
+ relocations to...
+ (_bfd_mips_elf_relocate_section): Here. Remove handling for
+ R_MIPS_GNU_REL_HI16.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
+ (mips_switch_reloc, mips_read_relocs, mips_relax_section)
+ (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
+ (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
+ and update comments to reflect current usage.
+ (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
+ and MIPS_R_SWITCH, as well as several empty entries. Update comment
+ for MIPS_R_PCREL16.
+ (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
+ (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
+ for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
+ (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
+ type number to be MIPS_R_PCREL16.
+ (mips_relocate_section): Remove support for link-time relaxation
+ of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
+ MIPS_R_RELLO, and MIPS_R_RELHI relocations.
+ (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
+ * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
+ relaxation of branches used by embedded-PIC.
+ * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
+ * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
+ related members, update comment.
+ * pe-mips.c: Remove disabled (commented-out and #if 0'd)
+ code related to embedded-PIC.
+ * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
+ initialization of now-removed 'adjust' member of
+ 'struct ecoff_debug_info'.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
+
+2004-04-21 Philip Blundell <pb@nexus.co.uk>
+
+ * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
+ relocs for locally defined symbols during -shared final link.
+ (elf32_arm_final_link_relocate): Likewise.
+
+2004-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
+ ELF_LINK_POINTER_EQUALITY_NEEDED.
+ (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
+ if r_type is not R_X86_64_PC32.
+ (elf64_x86_64_finish_dynamic_symbol): If
+ ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
+ SHN_UNDEF symbols.
+
+2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+
+2004-04-22 Andrew Cagney <cagney@redhat.com>
+
+ * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
+
+2004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * hpux-core.c (hpux_core_core_file_p): Add cast in call to
+ make_bfd_asection.
+ * som.c (som_set_section_contents): Constantify second argument.
+ (hppa_som_gen_reloc_type): Abort for unsupported selectors.
+ (som_object_setup): Rework to avoid warning.
+ (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
+ Likewise.
+
+2004-04-22 Andrew Cagney <cagney@redhat.com>
+
+ * cache.c (bfd_cache_close): Check for a previously closed file.
+
+2004-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * bfd.c (bfd_get_synthetic_symtab): Define.
+ * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
+ NAME##_get_synthetic_symtab.
+ (struct bfd_target): Add _bfd_get_synthetic_symtab.
+ * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
+ * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
+ relplt_name fields.
+ (_bfd_elf_get_synthetic_symtab): New prototype.
+ * elfcode.h (elf_get_synthetic_symtab): Define.
+ * elf.c (_bfd_elf_get_synthetic_symtab): New function.
+ * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
+ (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
+ (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
+ * bfd-in2.h: Rebuilt.
+ * libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_i386_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf32-s390.c (elf_s390_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf64-s390.c (elf_s390_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf32-sparc (elf32_sparc_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
+ (elf_backend_plt_sym_val): Define.
+ * aout-target.h (MY_get_synthetic_symtab): Define.
+ * aout-tic30.c (MY_get_synthetic_symtab): Define.
+ * coff-rs6000.c (rs6000coff_vec): Add
+ _bfd_nodynamic_get_synthetic_symtab.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Add
+ _bfd_nodynamic_get_synthetic_symtab.
+ (aix5coff64_vec): Likewise.
+ * sunos.c (MY_get_synthetic_symtab): Define.
+ * vms.c (vms_get_synthetic_symtab): Define.
+
+2004-04-22 Nick Clifton <nickc@redhat.com>
+
+ * bfd.c (bfd_archive_filename): Return NULL on NULL input.
+
+2004-04-22 Peter Barada <peter@the-baradas.com>
+
+ * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
+ * bfd2-in.h: Regenerate.
+ * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
+ * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
+ (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
+ * bfd-in2.h: Regenerate.
+
+2004-04-21 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (is_same_value): Add final_static_link argument and
+ require relocations against a weak symbol to reference the same
+ symbol hash entry if not a final, static link.
+ (get_cached_value, add_value_map): Add final_static_link argument.
+ (remove_literals): Pass final_static_link argument as needed.
+
+2004-04-21 Andrew Cagney <cagney@redhat.com>
+
+ * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
+ (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
+ (opncls_bwrite, opncls_bclose, opncls_bflush)
+ (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
+ bfd iovec that uses function callbacks.
+ (bfd_close): Use the iovec's bclose.
+ * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
+ (cache_bclose, cache_bflush, cache_bstat)
+ (cache_iovec): New functions and global variable, implement a
+ cache "iovec", where applicable set bfd_error.
+ (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
+ * bfdio.c (struct bfd_iovec): Define.
+ (real_read): Delete function.
+ (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
+ (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
+ assume that bread and bwrite set bfd_error.
+ * bfd.c (struct bfd): Add "iovec", update comments.
+ * bfd-in2.h, libbfd.h: Re-generate.
+
+2004-04-21 Andrew Cagney <cagney@redhat.com>
+
+ * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
+
+2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
+ (bfd_elf_gc_sections): Fail if a shared object is being created.
+ Do not fail if dynamic sections have been created. Instead call
+ elf_gc_mark_dynamic_ref_symbol to mark sections that contain
+ dynamically referenced symbols. Do not mark the whole graph
+ rooted at .eh_frame, only the section proper.
+
+2004-04-20 DJ Delorie <dj@redhat.com>
+
+ * reloc.c: Add BFD_RELOC_32_SECREL.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+ * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
+ (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
+ (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Handle
+ relocs against hidden/protected undefweak symbols properly.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2004-04-18 Mark Kettenis <kettenis@gnu.org>
+
+ * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
+ * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
+ core files.
+
+2004-04-17 Brian Ford <ford@vss.fsi.com>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
+ filepos for the SizeOfHeaders field.
+ (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
+ overflow.
+ (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
+
+2004-04-16 Alan Modra <amodra@bigpond.net.au>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Don't
+ change reloc_done. Set and restore _cooked_size.
+ (RETURN): Delete.
+
+2004-04-15 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
+ core files.
+
+2004-04-15 Nick Clifton <nickc@redhat.com>
+
+ * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
+
+2004-04-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
+
+2004-04-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
+ when it is a definition.
+
+2004-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
+ when statically linking PIC code.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
+ * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
+ targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
+ * configure: Regenerate.
+
+2004-04-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * elflink.c: Include libiberty.h.
+ * Makefile.am (elflink.lo): Depend on libiberty.h.
+ * Makefile.in: Regenerate.
+
+2004-04-06 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
+ ".MIPS.stubs".
+
+2004-04-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
+ reserve the memory for dynamic linker
+
+2004-04-05 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
+ (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
+
+2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
+ RELOC_FOR_GLOBAL_SYMBOL.
+ (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
+
+2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Handle
+ R_ARM_ALU* only if OLD_ARM_ABI is not defined.
+
+2004-04-01 Paul Brook <paul@codesourcery.com>
+
+ * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
+ * elf32-arm.h (struct elf32_elf_section_map): New.
+ (struct _arm_elf_section_data): New.
+ (elf32_arm_section_data): Define.
+ (struct elf32_arm_link_hash_table): Add byteswap_code.
+ (elf32_arm_link_hash_table_create): Initialize byteswap_code.
+ (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
+ (elf32_arm_post_process_headers): Set EF_ARM_BE8.
+ (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
+ elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
+ (bfd_elf32_new_section_hook, elf_backend_write_section,
+ elf_backend_link_output_symbol_hook): Define.
+
+2004-04-01 Andy Chittenden <achittenden@bluearc.com>
+
+ * stabs.c (struct stab_link_includes_totals): Add field 'symb'
+ that keeps the characters in a B_INCL..B_EINCL range.
+ (_bfd_link_section_stabs): When computing the sum of the
+ characters in a B_INCL..B_EINCL range also keep a copy of those
+ characters. Use this information to distinguish between
+ include sections that have the same sum and the same length
+ but which are nevertheless unique.
+
+2004-03-31 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
+ * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
+
+2004-03-31 Andy Chittenden <achittenden@bluearc.com>
+
+ * stabs.c (struct stab_link_includes_totals): Rename field 'total'
+ to 'sum_chars' and add field 'num_chars'.
+ (_bfd_link_section_stabs): When computing the sum of the
+ characters in a B_INCL..B_EINCL range also keep a count of the
+ number of characters. Use this information to help distinguish
+ between include sections when have the same sum but which
+ nevertheless are still unique.
+
+2004-03-31 Mattias Engdegård <mattias@virtutech.se>
+
+ * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
+
+2004-03-30 Galit Heller <Galit.Heller@nsc.com>
+ Tomer Levi <Tomer.Levi@nsc.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
+ (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
+ (BFD32_BACKENDS): Add elf32-cr16c.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
+ (cpu-cr16c.lo): New target.
+ (elf32-cr16c.lo): Likewise.
+ * Makefile.in: Regenerate.
+ * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
+ (bfd_archures_list): Add bfd_cr16c_arch.
+ * config.bfd: Handle cr16c-*-elf*.
+ * configure.in: Handle bfd_elf32_cr16c_vec.
+ * configure: Regenerate.
+ * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
+ BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
+ BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
+ BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
+ BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
+ BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
+ BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
+ BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
+ BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
+ BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
+ BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
+ BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
+ BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
+ BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
+ BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
+ BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
+ BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
+ BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
+ BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
+ BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
+ * targets.c (bfd_elf32_cr16c_vec): Declare.
+ (bfd_target_vector): Add bfd_elf32_cr16c_vec.
+ * cpu-cr16c.c: New file.
+ * elf32-cr16c.c: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Likewise.
+
+2004-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (map_sections_to_segments): Fix handling of .tbss.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Remove all mention of elflink.h.
+ * Makefile.in: Regenerate.
+ * bfd-in.h (bfd_elf_discard_info): Declare.
+ (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
+ bfd_elf32_link_record_dynamic_symbol,
+ bfd_elf64_link_record_dynamic_symbol,
+ _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
+ bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
+ _bfd_elf32_link_record_local_dynamic_symbol,
+ _bfd_elf64_link_record_local_dynamic_symbol,
+ _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
+ _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
+ _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
+ _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
+ _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
+ _bfd_elf32_reloc_symbol_deleted_p,
+ _bfd_elf64_reloc_symbol_deleted_p): Delete.
+ (bfd_elf_link_record_dynamic_symbol,
+ bfd_elf_link_record_local_dynamic_symbol,
+ bfd_elf_final_link, bfd_elf_gc_sections,
+ bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
+ bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
+ bfd_elf_reloc_symbol_deleted_p): Declare.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ * elf32-arm.h: Update for changed function names. Remove local
+ WILL_CALL_FINISH_DYNAMIC_SECTION define.
+ * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
+ * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
+ * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
+ * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
+ * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
+ * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
+ * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
+ * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
+ * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
+ (bfd_elfNN_print_symbol): Define.
+ * elfcode.h: Don't include elflink.h.
+ (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
+ elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
+ elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
+ elf_gc_record_vtinherit, elf_gc_record_vtentry,
+ elf_link_record_local_dynamic_symbol): Don't define.
+ * elflink.c: Update for changed function names. Move elflink.h
+ code here.
+ * elflink.h: Delete file.
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
+ "name" for global syms accidentally removed in 2004-03-20 change.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
+ * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
+ where Elf_External_* is different for 64 and 32 bit, with
+ corresponding elf_size_info field.
+ (struct elf_final_link_info): Use "bfd_byte *" instead
+ of "Elf_External_Sym *" for external_syms and symbuf.
+ (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
+ vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
+ (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
+ (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
+ (elf_link_sort_cmp2): Adjust.
+ (elf_link_sort_relocs): Set up r_sym_mask local var instead of
+ using ELF_R_SYM macro. Set u.sym_mask.
+ (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
+ version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
+ vs. section_from_elf_index. Adjust Elf_External_Sym pointer
+ arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
+ Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
+ swap_syn_out functions. Rearrange dyn swap in/out switch.
+ (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
+ Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
+ (elf_link_flush_output_syms): Add elf_backend_data arg.
+ (elf_link_check_versioned_symbol): Likewise.
+ (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
+ Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
+ (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
+ r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
+ ELF_R_TYPE and ELF_R_INFO macros.
+ (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
+ based on size rather than using ELF_R_INFO.
+ (elf_gc_mark): Set up r_sym_shift local var and use instead of
+ ELF_R_SYM macro.
+ (struct alloc_got_off_arg): New.
+ (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
+ ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
+ (elf_gc_allocate_got_offsets): Adjust.
+ (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
+ ELF_R_SYM. Use bfd_section_from_elf_index.
+ (elf_bfd_discard_info): Set cookie.r_sym_shift.
+ * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
+ (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
+
+2004-03-26 Stan Shebs <shebs@apple.com>
+
+ Remove MPW support, no longer used.
+ * config.bfd (powerpc-*-mpw*): Remove configuration.
+ * mpw-config.in, mpw-make.sed: Remove files.
+ * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
+
+2004-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
+ (ppc64_elf_add_symbol_hook): New function.
+ * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
+ const from Elf_Internal_Sym param.
+ * elflink.c (elf_link_add_object_symbols): Adjust.
+ * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
+ * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
+ * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
+ * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
+ * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
+ * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
+ * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
+ * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
+ * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
+ * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
+ * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
+
+2004-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
+ * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
+ (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
+ (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
+ (bfd_elf64_bfd_link_add_symbols): Delete.
+ (bfd_elf_link_add_symbols): Declare.
+ * elfcode.h (elf_bfd_link_add_symbols): Delete.
+ * elflink.c: Include safe-ctype.h.
+ (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
+ make static.
+ (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
+ (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
+ static.
+ (elf_link_add_archive_symbols): Rename from
+ _bfd_elf_link_add_archive_symbols, make static.
+ (elf_link_add_object_symbols): New function. Corresponding
+ elflink.h function converted to use elf_size_info.
+ (bfd_elf_link_add_symbols): Likewise.
+ (bfd_elf_size_dynamic_sections): Adjust.
+ * elflink.h (elf_bfd_link_add_symbols): Delete.
+ (elf_link_add_object_symbols): Delete.
+ * elf32-gen.c (elf32_generic_link_add_symbols): Call
+ bfd_elf_link_add_symbols.
+ * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
+
+2004-03-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
+ and chained shared libs only if dynsym. Clear dynsym on forced-local.
+
+ * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
+ (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
+ (_bfd_elf_add_dt_needed_tag): Declare.
+ (_bfd_elf_sort_symbol): Declare.
+ (_bfd_elf_finalize_dynstr): Declare.
+ (RELOC_FOR_GLOBAL_SYM): Formatting.
+ * elfcode.h (elf_add_dynamic_entry): Delete.
+ * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
+ elflink.h function converted to use elf_size_info.
+ (_bfd_elf_add_dt_needed_tag): Likewise.
+ (_bfd_elf_sort_symbol): Likewise.
+ (_bfd_elf_finalize_dynstr): Likewise.
+ (compute_bucket_count): Likewise.
+ (bfd_elf_size_dynamic_sections): Likewise. Check result of
+ _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
+ (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
+ * elflink.h: ..here.
+ (sort_symbol, add_dt_needed_tag): Delete.
+ (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
+ (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
+ Update all users.
+ * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
+ * elf32-cris.c (add_dynamic_entry): Likewise.
+ * elf32-hppa.c (add_dynamic_entry): Likewise.
+ * elf32-i370.c (add_dynamic_entry): Likewise.
+ * elf32-i386.c (add_dynamic_entry): Likewise.
+ * elf32-m32r.c (add_dynamic_entry): Likewise.
+ * elf32-m68k.c (add_dynamic_entry): Likewise.
+ * elf32-ppc.c (add_dynamic_entry): Likewise.
+ * elf32-s390.c (add_dynamic_entry): Likewise.
+ * elf32-sh.c (add_dynamic_entry): Likewise.
+ * elf32-sparc.c (add_dynamic_entry): Likewise.
+ * elf32-vax.c (add_dynamic_entry): Likewise.
+ * elf32-xtensa.c (add_dynamic_entry): Likewise.
+ * elf64-alpha.c (add_dynamic_entry): Likewise.
+ * elf64-hppa.c (add_dynamic_entry): Likewise.
+ * elf64-ppc.c (add_dynamic_entry): Likewise.
+ * elf64-s390.c (add_dynamic_entry): Likewise.
+ * elf64-sparc.c (add_dynamic_entry): Likewise.
+ * elf64-x86-64.c (add_dynamic_entry): Likewise.
+ * elfxx-ia64.c (add_dynamic_entry): Likewise.
+ * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
+ * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
+ * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+
+2004-03-23 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
+
+2004-03-22 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
+ literal tables and check for relocs outside of literal pools.
+ (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
+ (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
+ set DF_TEXTREL.
+ (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
+ (elf_xtensa_relocate_section): Read literal tables and check for
+ dynamic relocations in read-only sections and not in literal pools.
+
+2004-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR 51.
+ * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
+
+2004-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
+ R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
+ not defined by the executable, or defined in a DSO.
+ <eliding run-time relocation of .got>: Initialize GOT entry for a
+ function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
+ executable.
+ (cris_elf_gc_sweep_hook): Improve fallthrough marking.
+ (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
+ a PLT reloc to GOT for an executable.
+ (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
+ .got for a DSO and explain why.
+ (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
+ and unreferenced symbols for which a PLT is defined. Adjust
+ dynamic-symbol pruning correspondingly, to make sure we don't lose
+ a dynamic symbol also defined by a DSO.
+
+2004-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
+ and rel args. Group input and output args. Wrap to 80 columns.
+ * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
+ elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
+ elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
+ elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
+ elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
+ elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
+ elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
+ elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
+ RELOC_FOR_GLOBAL_SYMBOL invocation.
+
+2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
+ unresolved symbols in objects aren't allowed.
+
+ * elf-hppa.h (elf_hppa_relocate_section): Properly handle
+ unresolved symbols.
+ (elf_hppa_remark_useless_dynamic_symbols): Likewise.
+ (elf_hppa_unmark_useless_dynamic_symbols):
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
+ (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+
+ * elf-m10200.c (mn10200_elf_relocate_section): Use
+ RELOC_FOR_GLOBAL_SYMBOL.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
+
+2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
+ (final_link_relocate): Likewise.
+ * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
+ R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
+ type and size change code to where it was previously. Remove
+ dt_needed param. Treat old weak syms as strong if new sym is
+ from a shared lib, even when old sym is from another shared
+ lib. Remove unnecessary tests of oldweak and newweak. Correct
+ comments.
+ (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
+ _bfd_elf_merge_symbol calls.
+ * elflink.h (elf_link_add_object_symbols): Update calls. Remove
+ dt_needed local var. Update comments.
+ * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
+ (_bfd_elf_add_default_symbol): Likewise.
+
+ * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
+ strong syms in one shared object overriding weak syms in another.
+
+2004-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
+ dyn_lib_class field. Rearrange for better packing.
+ (elf_dt_soname): Delete.
+ (elf_dyn_lib_class): Define.
+ * elf.c (bfd_elf_set_dt_needed_name): Update comment.
+ (bfd_elf_set_dt_needed_soname): Delete.
+ (bfd_elf_set_dyn_lib_class): New function.
+ * elflink.h (add_dt_needed_tag): New function. Split out from..
+ (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
+ Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
+ initialization of soname.
+ (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
+ elf_dt_soname.
+ * bfd-in.h (enum dynamic_lib_link_class): New.
+ (bfd_elf_set_dt_needed_soname): Delete.
+ (bfd_elf_set_dyn_lib_class): Declare.
+ * bfd-in2.h: Regenerate.
+
+ * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
+ (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
+ * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
+ symbol loop. Instead use add_needed to flag tag as written.
+
+2004-03-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
+ logic for null_input_bfd detection.
+
2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
+2004-03-16 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
+ code.
+
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* elflink.c (elf_link_read_relocs_from_section): Don't use
@@ -9,11 +916,6 @@
(_bfd_elf_link_read_relocs): ..to here.
* elf32-ppc.c (ppc_elf_relax_section): Formatting.
- Merge from mainline.
- 2004-02-20 Jakub Jelinek <jakub@redhat.com>
- * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
- symbols used in PIE relocs.
-
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
@@ -127,15 +1029,189 @@
netbsd-core.lo.
* configure: Regenerate.
+2004-03-12 Nick Clifton <nickc@redhat.com>
+ Dave Murphy <wintermute2k4@ntlworld.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
+ if the input bfd does not contain any code.
+
2004-03-09 Steve Ellcey <sje@cup.hp.com>
* elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
+2004-03-05 Fred Fish <fnf@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
+ mips16 symbols to be even rather than testing first for even/odd.
+ (_bfd_mips_elf_link_output_symbol_hook): Ditto.
+
2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
* elf.c (map_sections_to_segments): Ignore .tbss sections for
layout purposes.
+2004-03-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
+ undefined symbols as hash_new.
+
+2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * archures.c: Add bfd_mach_sh4_nommu_nofpu.
+ * cpu-sh.c: Ditto.
+ * elf32-sh.c: Ditto.
+ * bfd-in2.h: Regenerate.
+
+2004-03-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
+ dynrelocs.
+ (_frv_count_got_plt_entries): Initialize them.
+ (frv_pic_relocs_info_find): Add insert argument. Adjust all
+ callers.
+ (frv_pic_relocs_info_for_global): Likewise.
+ (frv_pic_relocs_info_for_local): Likewise.
+ (frv_pic_merge_early_relocs_info): New.
+ (_frv_resolve_final_relocs_info): Use it in case one entry maps to
+ another.
+ (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
+ Check that we don't exceed the allocated count for entry.
+ (_frv_add_rofixup): Likewise.
+ (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
+ (elf32_frv_finish_dynamic_sections): Improve error message in case
+ we emit too few rofixup entries.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_fr450): New.
+ * bfd-in2.h: Regenerate.
+ * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
+ (arch_info_500): Link to it.
+ * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
+ (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
+ (frv_elf_arch_extension_p): New function.
+ (frv_elf_merge_private_bfd_data): Use it.
+
+2004-02-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
+
+ * elflink.h (is_global_data_symbol_definition): Moved to
+ elflink.c.
+ (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_archive_symbols): Likewise. Renamed to
+ _bfd_elf_link_add_archive_symbols.
+
+ * elflink.c (elf_link_is_defined_archive_symbol): Get the size
+ of ELF symbol table entry from backend.
+ (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
+ instead of elf_link_add_object_symbols.
+
+2004-02-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data): Added
+ elf_backend_can_make_relative_eh_frame,
+ elf_backend_can_make_lsda_relative_eh_frame and
+ elf_backend_encode_eh_address.
+ (_bfd_elf_encode_eh_address): Declare.
+ (_bfd_elf_can_make_relative): Declare.
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
+ hooks to decide whether to attempt to make_relative and
+ make_lsda_relative.
+ (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
+ (_bfd_elf_can_make_relative): New.
+ (_bfd_elf_encode_eh_address): New.
+ * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
+ (frv_elf_encode_eh_address): New.
+ (elf_backend_can_make_relative_eh_frame): Define.
+ (elf_backend_can_make_lsda_relative_eh_frame): Define.
+ (elf_backend_encode_eh_address): Define.
+ * elfxx-target.h
+ (elf_backend_can_make_relative_eh_frame): Define.
+ (elf_backend_can_make_lsda_relative_eh_frame): Define.
+ (elf_backend_encode_eh_address): Define.
+ (elfNN_bed): Add them.
+
+2004-02-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
+ complain_on_overflow to signed.
+
+2004-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (sort_symbol): New.
+ (elf_link_add_object_symbols): Use a sorted symbol array for
+ weakdef.
+
+2004-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
+ for pc relative relocs.
+ (elf_s390_relocate_section): Likewise.
+ * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
+ for pc relative relocs.
+ (elf_s390_relocate_section): Likewise.
+
+2004-02-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
+ count_dyn_reloc.
+
+2004-02-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
+ field to track if a relocation is against readonly section.
+ (count_dyn_reloc): Take a new argument for rent->reltext.
+ (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
+ (get_reloc_section): Don't set ia64_info->reltext here.
+ (allocate_dynrel_entries): Set ia64_info->reltext here.
+
+2004-02-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
+ (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
+ function's descriptor to symbol+offset, and map local undefweak
+ symbol to NULL function descriptor.
+ (elf32_frv_relocate_section): Likewise.
+
+2004-02-23 Mark Kettenis <kettenis@gnu.org>
+
+ * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
+ M_X86_64_NETBSD.
+ * netbsd-core.c (M_SPARC64_OPENBSD): Define.
+ (netbsd_core_file_p): Set architecture from machine ID for
+ selected machines.
+
+2004-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
+ DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
+
+2004-02-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
+ symbols with non-default visibility.
+
+2004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
+
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
+ IMAGE_SCN_MEM_WRITE on known sections only.
+
+2004-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
+ symbols used in PIE relocs.
+
+2004-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
+ .plt sh_entsize.
+
+2004-02-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure.in: Update version to 2.15.90.
+ * configure: Regenerate.
+
2004-02-17 Daniel Jacobowitz <drow@mvista.com>
Richard Sandiford <rsandifo@redhat.com>
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 3a2d43e..c395d32 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -55,6 +55,7 @@ ALL_MACHINES = \
cpu-arc.lo \
cpu-arm.lo \
cpu-avr.lo \
+ cpu-cr16c.lo \
cpu-cris.lo \
cpu-d10v.lo \
cpu-d30v.lo \
@@ -111,6 +112,7 @@ ALL_MACHINES_CFILES = \
cpu-arm.c \
cpu-avr.c \
cpu-cris.c \
+ cpu-cr16c.c \
cpu-d10v.c \
cpu-d30v.c \
cpu-dlx.c \
@@ -213,6 +215,7 @@ BFD32_BACKENDS = \
elfarm-oabi.lo \
elfarm-nabi.lo \
elf32-avr.lo \
+ elf32-cr16c.lo \
elf32-cris.lo \
elf32-d10v.lo \
elf32-d30v.lo \
@@ -378,6 +381,7 @@ BFD32_BACKENDS_CFILES = \
elfarm-oabi.c \
elfarm-nabi.c \
elf32-avr.c \
+ elf32-cr16c.c \
elf32-cris.c \
elf32-d10v.c \
elf32-d30v.c \
@@ -588,7 +592,7 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
SOURCE_HFILES = \
aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \
- elf64-hppa.h elfcode.h elfcore.h elflink.h \
+ elf64-hppa.h elfcode.h elfcore.h \
freebsd.h genlink.h go32stub.h \
libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \
@@ -915,6 +919,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/filenames.h
cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h
cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h
+cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h
cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h
cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h
@@ -1137,6 +1142,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h
+elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h elf-bfd.h \
+ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h $(INCDIR)/elf/reloc-macros.h \
+ elf32-target.h
elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \
@@ -1160,7 +1169,7 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \
elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \
- elf32-target.h
+ $(INCDIR)/elf/dwarf2.h $(INCDIR)/hashtab.h elf32-target.h
elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h elf32-target.h
@@ -1310,10 +1319,10 @@ elf32-xtensa.lo: elf32-xtensa.c $(INCDIR)/filenames.h \
elf32.lo: elf32.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \
- elflink.h $(INCDIR)/safe-ctype.h
+ $(INCDIR)/safe-ctype.h
elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
- $(INCDIR)/elf/external.h
+ $(INCDIR)/elf/external.h $(INCDIR)/libiberty.h
elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
@@ -1592,7 +1601,7 @@ elf64-sparc.lo: elf64-sparc.c $(INCDIR)/filenames.h \
elf64.lo: elf64.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \
- elflink.h $(INCDIR)/safe-ctype.h
+ $(INCDIR)/safe-ctype.h
mmo.lo: mmo.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/elf/mmix.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/mmix.h
nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index b3bf65b..4d4d784 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -116,8 +116,10 @@ WIN32LIBADD = @WIN32LIBADD@
all_backends = @all_backends@
bfd_backends = @bfd_backends@
bfd_default_target_size = @bfd_default_target_size@
+bfd_file_ptr = @bfd_file_ptr@
bfd_libs = @bfd_libs@
bfd_machines = @bfd_machines@
+bfd_ufile_ptr = @bfd_ufile_ptr@
bfd_version = @bfd_version@
bfd_version_string = @bfd_version_string@
l = @l@
@@ -181,6 +183,7 @@ ALL_MACHINES = \
cpu-arc.lo \
cpu-arm.lo \
cpu-avr.lo \
+ cpu-cr16c.lo \
cpu-cris.lo \
cpu-d10v.lo \
cpu-d30v.lo \
@@ -238,6 +241,7 @@ ALL_MACHINES_CFILES = \
cpu-arm.c \
cpu-avr.c \
cpu-cris.c \
+ cpu-cr16c.c \
cpu-d10v.c \
cpu-d30v.c \
cpu-dlx.c \
@@ -341,6 +345,7 @@ BFD32_BACKENDS = \
elfarm-oabi.lo \
elfarm-nabi.lo \
elf32-avr.lo \
+ elf32-cr16c.lo \
elf32-cris.lo \
elf32-d10v.lo \
elf32-d30v.lo \
@@ -507,6 +512,7 @@ BFD32_BACKENDS_CFILES = \
elfarm-oabi.c \
elfarm-nabi.c \
elf32-avr.c \
+ elf32-cr16c.c \
elf32-cris.c \
elf32-d10v.c \
elf32-d30v.c \
@@ -723,7 +729,7 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
SOURCE_HFILES = \
aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \
- elf64-hppa.h elfcode.h elfcore.h elflink.h \
+ elf64-hppa.h elfcode.h elfcore.h \
freebsd.h genlink.h go32stub.h \
libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \
libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \
@@ -812,7 +818,7 @@ configure.in version.h
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES)
OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS)
@@ -941,7 +947,7 @@ libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES)
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -961,7 +967,7 @@ check-recursive installcheck-recursive info-recursive dvi-recursive:
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
@@ -1450,6 +1456,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/filenames.h
cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h
cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h
+cpu-cr16c.lo: cpu-cr16c.c $(INCDIR)/filenames.h
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h
cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h
cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h
@@ -1672,6 +1679,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h
+elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h elf-bfd.h \
+ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h $(INCDIR)/elf/reloc-macros.h \
+ elf32-target.h
elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \
@@ -1695,7 +1706,7 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \
elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \
- elf32-target.h
+ $(INCDIR)/elf/dwarf2.h $(INCDIR)/hashtab.h elf32-target.h
elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h elf32-target.h
@@ -1845,10 +1856,10 @@ elf32-xtensa.lo: elf32-xtensa.c $(INCDIR)/filenames.h \
elf32.lo: elf32.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \
- elflink.h $(INCDIR)/safe-ctype.h
+ $(INCDIR)/safe-ctype.h
elflink.lo: elflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
- $(INCDIR)/elf/external.h
+ $(INCDIR)/elf/external.h $(INCDIR)/libiberty.h
elf-strtab.lo: elf-strtab.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
@@ -2127,7 +2138,7 @@ elf64-sparc.lo: elf64-sparc.c $(INCDIR)/filenames.h \
elf64.lo: elf64.c elfcode.h $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elfcore.h \
- elflink.h $(INCDIR)/safe-ctype.h
+ $(INCDIR)/safe-ctype.h
mmo.lo: mmo.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
$(INCDIR)/elf/mmix.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/opcode/mmix.h
nlm32-alpha.lo: nlm32-alpha.c $(INCDIR)/filenames.h \
diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4
index 9d27670..a97b35f 100644
--- a/bfd/aclocal.m4
+++ b/bfd/aclocal.m4
@@ -13,7 +13,7 @@ dnl PARTICULAR PURPOSE.
sinclude(../config/accross.m4)
dnl See whether we need to use fopen-bin.h rather than fopen-same.h.
-AC_DEFUN(BFD_BINARY_FOPEN,
+AC_DEFUN([BFD_BINARY_FOPEN],
[AC_REQUIRE([AC_CANONICAL_SYSTEM])
case "${host}" in
changequote(,)dnl
@@ -23,7 +23,7 @@ changequote([,])dnl
esac])dnl
dnl Get a default for CC_FOR_BUILD to put into Makefile.
-AC_DEFUN(BFD_CC_FOR_BUILD,
+AC_DEFUN([BFD_CC_FOR_BUILD],
[# Put a plausible default for CC_FOR_BUILD in Makefile.
if test -z "$CC_FOR_BUILD"; then
if test "x$cross_compiling" = "xno"; then
@@ -56,7 +56,7 @@ fi
AC_SUBST(EXEEXT_FOR_BUILD)])dnl
dnl See whether we need a declaration for a function.
-AC_DEFUN(BFD_NEED_DECLARATION,
+AC_DEFUN([BFD_NEED_DECLARATION],
[AC_MSG_CHECKING([whether $1 must be declared])
AC_CACHE_VAL(bfd_cv_decl_needed_$1,
[AC_TRY_COMPILE([
@@ -85,7 +85,7 @@ fi
dnl Check for existence of a type $1 in sys/procfs.h
-AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE,
+AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE],
[AC_MSG_CHECKING([for $1 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1,
[AC_TRY_COMPILE([
@@ -105,7 +105,7 @@ AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE,
dnl Check for existence of member $2 in type $1 in sys/procfs.h
-AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER,
+AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER],
[AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2,
[AC_TRY_COMPILE([
diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c
index 052e938..c13f80f 100644
--- a/bfd/aout-adobe.c
+++ b/bfd/aout-adobe.c
@@ -1,6 +1,6 @@
/* BFD back-end for a.out.adobe binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- 2002, 2003
+ 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support. Based on bout.c.
@@ -517,6 +517,7 @@ aout_adobe_sizeof_headers (ignore_abfd, ignore)
#define aout_32_bfd_relax_section bfd_generic_relax_section
#define aout_32_bfd_gc_sections bfd_generic_gc_sections
#define aout_32_bfd_merge_sections bfd_generic_merge_sections
+#define aout_32_bfd_is_group_section bfd_generic_is_group_section
#define aout_32_bfd_discard_group bfd_generic_discard_group
#define aout_32_bfd_link_hash_table_create \
_bfd_generic_link_hash_table_create
diff --git a/bfd/aout-target.h b/bfd/aout-target.h
index d8cad54..80513c7 100644
--- a/bfd/aout-target.h
+++ b/bfd/aout-target.h
@@ -1,6 +1,6 @@
/* Define a target vector and some small routines for a variant of a.out.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -513,6 +513,9 @@ MY_bfd_final_link (abfd, info)
#ifndef MY_bfd_merge_sections
#define MY_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef MY_bfd_is_group_section
+#define MY_bfd_is_group_section bfd_generic_is_group_section
+#endif
#ifndef MY_bfd_discard_group
#define MY_bfd_discard_group bfd_generic_discard_group
#endif
@@ -584,6 +587,10 @@ MY_bfd_final_link (abfd, info)
#define MY_canonicalize_dynamic_symtab \
_bfd_nodynamic_canonicalize_dynamic_symtab
#endif
+#ifndef MY_get_synthetic_symtab
+#define MY_get_synthetic_symtab \
+ _bfd_nodynamic_get_synthetic_symtab
+#endif
#ifndef MY_get_dynamic_reloc_upper_bound
#define MY_get_dynamic_reloc_upper_bound \
_bfd_nodynamic_get_dynamic_reloc_upper_bound
diff --git a/bfd/aout-tic30.c b/bfd/aout-tic30.c
index 1f37b99..1ae0ebf 100644
--- a/bfd/aout-tic30.c
+++ b/bfd/aout-tic30.c
@@ -1,5 +1,6 @@
/* BFD back-end for TMS320C30 a.out binaries.
- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
This file is part of BFD, the Binary File Descriptor library.
@@ -969,6 +970,9 @@ tic30_aout_set_arch_mach (abfd, arch, machine)
#ifndef MY_bfd_merge_sections
#define MY_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef MY_bfd_is_group_section
+#define MY_bfd_is_group_section bfd_generic_is_group_section
+#endif
#ifndef MY_bfd_discard_group
#define MY_bfd_discard_group bfd_generic_discard_group
#endif
@@ -1040,6 +1044,10 @@ tic30_aout_set_arch_mach (abfd, arch, machine)
#define MY_canonicalize_dynamic_symtab \
_bfd_nodynamic_canonicalize_dynamic_symtab
#endif
+#ifndef MY_get_synthetic_symtab
+#define MY_get_synthetic_symtab \
+ _bfd_nodynamic_get_synthetic_symtab
+#endif
#ifndef MY_get_dynamic_reloc_upper_bound
#define MY_get_dynamic_reloc_upper_bound \
_bfd_nodynamic_get_dynamic_reloc_upper_bound
diff --git a/bfd/archures.c b/bfd/archures.c
index f8aeeef..027ac6a 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -1,6 +1,6 @@
/* BFD library support routines for architectures.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
@@ -85,6 +85,7 @@ DESCRIPTION
.#define bfd_mach_mcf5307 11
.#define bfd_mach_mcf5407 12
.#define bfd_mach_mcf528x 13
+.#define bfd_mach_mcfv4e 14
. bfd_arch_vax, {* DEC Vax *}
. bfd_arch_i960, {* Intel 960 *}
. {* The order of the following is important.
@@ -230,6 +231,7 @@ DESCRIPTION
.#define bfd_mach_sh3e 0x3e
.#define bfd_mach_sh4 0x40
.#define bfd_mach_sh4_nofpu 0x41
+.#define bfd_mach_sh4_nommu_nofpu 0x42
.#define bfd_mach_sh4a 0x4a
.#define bfd_mach_sh4a_nofpu 0x4b
.#define bfd_mach_sh4al_dsp 0x4d
@@ -285,6 +287,7 @@ DESCRIPTION
.#define bfd_mach_frvsimple 2
.#define bfd_mach_fr300 300
.#define bfd_mach_fr400 400
+.#define bfd_mach_fr450 450
.#define bfd_mach_frvtomcat 499 {* fr500 prototype *}
.#define bfd_mach_fr500 500
.#define bfd_mach_fr550 550
@@ -305,6 +308,8 @@ DESCRIPTION
.#define bfd_mach_avr3 3
.#define bfd_mach_avr4 4
.#define bfd_mach_avr5 5
+. bfd_arch_cr16c, {* National Semiconductor CompactRISC. *}
+.#define bfd_mach_cr16c 1
. bfd_arch_cris, {* Axis CRIS *}
. bfd_arch_s390, {* IBM s390 *}
.#define bfd_mach_s390_31 31
@@ -373,6 +378,7 @@ extern const bfd_arch_info_type bfd_alpha_arch;
extern const bfd_arch_info_type bfd_arc_arch;
extern const bfd_arch_info_type bfd_arm_arch;
extern const bfd_arch_info_type bfd_avr_arch;
+extern const bfd_arch_info_type bfd_cr16c_arch;
extern const bfd_arch_info_type bfd_cris_arch;
extern const bfd_arch_info_type bfd_d10v_arch;
extern const bfd_arch_info_type bfd_d30v_arch;
@@ -433,6 +439,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
&bfd_arc_arch,
&bfd_arm_arch,
&bfd_avr_arch,
+ &bfd_cr16c_arch,
&bfd_cris_arch,
&bfd_d10v_arch,
&bfd_d30v_arch,
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 37df5f2..a3330e8 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -587,8 +587,6 @@ extern bfd_boolean bfd_ecoff_write_accumulated_debug
(void *handle, bfd *abfd, struct ecoff_debug_info *debug,
const struct ecoff_debug_swap *swap,
struct bfd_link_info *info, file_ptr where);
-extern bfd_boolean bfd_mips_ecoff_create_embedded_relocs
- (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
/* Externally visible ELF routines. */
@@ -599,29 +597,30 @@ struct bfd_link_needed_list
const char *name;
};
+enum dynamic_lib_link_class {
+ DYN_NORMAL = 0,
+ DYN_AS_NEEDED = 1,
+ DYN_DT_NEEDED = 2
+};
+
extern bfd_boolean bfd_elf_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, bfd_boolean);
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
(bfd *, struct bfd_link_info *);
extern bfd_boolean bfd_elf_get_bfd_needed_list
(bfd *, struct bfd_link_needed_list **);
-extern bfd_boolean bfd_elf32_size_dynamic_sections
- (bfd *, const char *, const char *, const char *, const char * const *,
- struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *);
-extern bfd_boolean bfd_elf64_size_dynamic_sections
+extern bfd_boolean bfd_elf_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *,
struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *);
extern void bfd_elf_set_dt_needed_name
(bfd *, const char *);
-extern void bfd_elf_set_dt_needed_soname
- (bfd *, const char *);
extern const char *bfd_elf_get_dt_soname
(bfd *);
+extern void bfd_elf_set_dyn_lib_class
+ (bfd *, int);
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
(bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf32_discard_info
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf64_discard_info
+extern bfd_boolean bfd_elf_discard_info
(bfd *, struct bfd_link_info *);
/* Return an upper bound on the number of bytes required to store a
@@ -669,8 +668,6 @@ extern struct bfd_section *_bfd_elf_tls_setup
extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
-extern bfd_boolean bfd_mips_elf32_create_embedded_relocs
- (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
/* SunOS shared library support routines for the linker. */
@@ -785,7 +782,7 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern bfd_boolean bfd_elf32_arm_process_before_allocation
- (bfd *, struct bfd_link_info *, int);
+ (bfd *, struct bfd_link_info *, int, int);
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 2d06fda..c246356 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -594,8 +594,6 @@ extern bfd_boolean bfd_ecoff_write_accumulated_debug
(void *handle, bfd *abfd, struct ecoff_debug_info *debug,
const struct ecoff_debug_swap *swap,
struct bfd_link_info *info, file_ptr where);
-extern bfd_boolean bfd_mips_ecoff_create_embedded_relocs
- (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
/* Externally visible ELF routines. */
@@ -606,29 +604,30 @@ struct bfd_link_needed_list
const char *name;
};
+enum dynamic_lib_link_class {
+ DYN_NORMAL = 0,
+ DYN_AS_NEEDED = 1,
+ DYN_DT_NEEDED = 2
+};
+
extern bfd_boolean bfd_elf_record_link_assignment
(bfd *, struct bfd_link_info *, const char *, bfd_boolean);
extern struct bfd_link_needed_list *bfd_elf_get_needed_list
(bfd *, struct bfd_link_info *);
extern bfd_boolean bfd_elf_get_bfd_needed_list
(bfd *, struct bfd_link_needed_list **);
-extern bfd_boolean bfd_elf32_size_dynamic_sections
- (bfd *, const char *, const char *, const char *, const char * const *,
- struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *);
-extern bfd_boolean bfd_elf64_size_dynamic_sections
+extern bfd_boolean bfd_elf_size_dynamic_sections
(bfd *, const char *, const char *, const char *, const char * const *,
struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *);
extern void bfd_elf_set_dt_needed_name
(bfd *, const char *);
-extern void bfd_elf_set_dt_needed_soname
- (bfd *, const char *);
extern const char *bfd_elf_get_dt_soname
(bfd *);
+extern void bfd_elf_set_dyn_lib_class
+ (bfd *, int);
extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
(bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf32_discard_info
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf64_discard_info
+extern bfd_boolean bfd_elf_discard_info
(bfd *, struct bfd_link_info *);
/* Return an upper bound on the number of bytes required to store a
@@ -676,8 +675,6 @@ extern struct bfd_section *_bfd_elf_tls_setup
extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
(bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
-extern bfd_boolean bfd_mips_elf32_create_embedded_relocs
- (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
/* SunOS shared library support routines for the linker. */
@@ -792,7 +789,7 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
(struct bfd_link_info *);
extern bfd_boolean bfd_elf32_arm_process_before_allocation
- (bfd *, struct bfd_link_info *, int);
+ (bfd *, struct bfd_link_info *, int, int);
extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
(bfd *, struct bfd_link_info *);
@@ -838,6 +835,18 @@ bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
bfd *bfd_openstreamr (const char *, const char *, void *);
+bfd *bfd_openr_iovec (const char *filename, const char *target,
+ void *(*open) (struct bfd *nbfd,
+ void *open_closure),
+ void *open_closure,
+ file_ptr (*pread) (struct bfd *nbfd,
+ void *stream,
+ void *buf,
+ file_ptr nbytes,
+ file_ptr offset),
+ int (*close) (struct bfd *nbfd,
+ void *stream));
+
bfd *bfd_openw (const char *filename, const char *target);
bfd_boolean bfd_close (bfd *abfd);
@@ -1424,6 +1433,12 @@ void bfd_section_list_clear (bfd *);
asection *bfd_get_section_by_name (bfd *abfd, const char *name);
+asection *bfd_get_section_by_name_if
+ (bfd *abfd,
+ const char *name,
+ bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
+ void *obj);
+
char *bfd_get_unique_section_name
(bfd *abfd, const char *templat, int *count);
@@ -1441,6 +1456,11 @@ void bfd_map_over_sections
void (*func) (bfd *abfd, asection *sect, void *obj),
void *obj);
+asection *bfd_sections_find_if
+ (bfd *abfd,
+ bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
+ void *obj);
+
bfd_boolean bfd_set_section_size
(bfd *abfd, asection *sec, bfd_size_type val);
@@ -1461,6 +1481,8 @@ bfd_boolean bfd_copy_private_section_data
void _bfd_strip_section_from_output
(struct bfd_link_info *info, asection *section);
+bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
+
bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
/* Extracted from archures.c. */
@@ -1482,6 +1504,7 @@ enum bfd_architecture
#define bfd_mach_mcf5307 11
#define bfd_mach_mcf5407 12
#define bfd_mach_mcf528x 13
+#define bfd_mach_mcfv4e 14
bfd_arch_vax, /* DEC Vax */
bfd_arch_i960, /* Intel 960 */
/* The order of the following is important.
@@ -1627,6 +1650,7 @@ enum bfd_architecture
#define bfd_mach_sh3e 0x3e
#define bfd_mach_sh4 0x40
#define bfd_mach_sh4_nofpu 0x41
+#define bfd_mach_sh4_nommu_nofpu 0x42
#define bfd_mach_sh4a 0x4a
#define bfd_mach_sh4a_nofpu 0x4b
#define bfd_mach_sh4al_dsp 0x4d
@@ -1682,6 +1706,7 @@ enum bfd_architecture
#define bfd_mach_frvsimple 2
#define bfd_mach_fr300 300
#define bfd_mach_fr400 400
+#define bfd_mach_fr450 450
#define bfd_mach_frvtomcat 499 /* fr500 prototype */
#define bfd_mach_fr500 500
#define bfd_mach_fr550 550
@@ -1702,6 +1727,8 @@ enum bfd_architecture
#define bfd_mach_avr3 3
#define bfd_mach_avr4 4
#define bfd_mach_avr5 5
+ bfd_arch_cr16c, /* National Semiconductor CompactRISC. */
+#define bfd_mach_cr16c 1
bfd_arch_cris, /* Axis CRIS */
bfd_arch_s390, /* IBM s390 */
#define bfd_mach_s390_31 31
@@ -2022,6 +2049,9 @@ The 24-bit relocation is used in some Intel 960 configurations. */
BFD_RELOC_12_PCREL,
BFD_RELOC_8_PCREL,
+/* Section relative relocations. Some targets need this for DWARF2. */
+ BFD_RELOC_32_SECREL,
+
/* For ELF. */
BFD_RELOC_32_GOT_PCREL,
BFD_RELOC_16_GOT_PCREL,
@@ -2272,12 +2302,6 @@ to compensate for the borrow when the low bits are added. */
/* Low 16 bits. */
BFD_RELOC_LO16,
-/* Like BFD_RELOC_HI16_S, but PC relative. */
- BFD_RELOC_PCREL_HI16_S,
-
-/* Like BFD_RELOC_LO16, but PC relative. */
- BFD_RELOC_PCREL_LO16,
-
/* Relocation against a MIPS literal section. */
BFD_RELOC_MIPS_LITERAL,
@@ -3340,6 +3364,48 @@ to follow the 16K memory bank of 68HC12 (seen as mapped in the window). */
This is the 5 bits of a value. */
BFD_RELOC_M68HC12_5B,
+/* NS CR16C Relocations. */
+ BFD_RELOC_16C_NUM08,
+ BFD_RELOC_16C_NUM08_C,
+ BFD_RELOC_16C_NUM16,
+ BFD_RELOC_16C_NUM16_C,
+ BFD_RELOC_16C_NUM32,
+ BFD_RELOC_16C_NUM32_C,
+ BFD_RELOC_16C_DISP04,
+ BFD_RELOC_16C_DISP04_C,
+ BFD_RELOC_16C_DISP08,
+ BFD_RELOC_16C_DISP08_C,
+ BFD_RELOC_16C_DISP16,
+ BFD_RELOC_16C_DISP16_C,
+ BFD_RELOC_16C_DISP24,
+ BFD_RELOC_16C_DISP24_C,
+ BFD_RELOC_16C_DISP24a,
+ BFD_RELOC_16C_DISP24a_C,
+ BFD_RELOC_16C_REG04,
+ BFD_RELOC_16C_REG04_C,
+ BFD_RELOC_16C_REG04a,
+ BFD_RELOC_16C_REG04a_C,
+ BFD_RELOC_16C_REG14,
+ BFD_RELOC_16C_REG14_C,
+ BFD_RELOC_16C_REG16,
+ BFD_RELOC_16C_REG16_C,
+ BFD_RELOC_16C_REG20,
+ BFD_RELOC_16C_REG20_C,
+ BFD_RELOC_16C_ABS20,
+ BFD_RELOC_16C_ABS20_C,
+ BFD_RELOC_16C_ABS24,
+ BFD_RELOC_16C_ABS24_C,
+ BFD_RELOC_16C_IMM04,
+ BFD_RELOC_16C_IMM04_C,
+ BFD_RELOC_16C_IMM16,
+ BFD_RELOC_16C_IMM16_C,
+ BFD_RELOC_16C_IMM20,
+ BFD_RELOC_16C_IMM20_C,
+ BFD_RELOC_16C_IMM24,
+ BFD_RELOC_16C_IMM24_C,
+ BFD_RELOC_16C_IMM32,
+ BFD_RELOC_16C_IMM32_C,
+
/* These relocs are only used within the CRIS assembler. They are not
(at present) written to any object files. */
BFD_RELOC_CRIS_BDISP8,
@@ -3658,14 +3724,10 @@ struct bfd
/* A pointer to the target jump table. */
const struct bfd_target *xvec;
- /* To avoid dragging too many header files into every file that
- includes `<<bfd.h>>', IOSTREAM has been declared as a "char *",
- and MTIME as a "long". Their correct types, to which they
- are cast when used, are "FILE *" and "time_t". The iostream
- is the result of an fopen on the filename. However, if the
- BFD_IN_MEMORY flag is set, then iostream is actually a pointer
- to a bfd_in_memory struct. */
+ /* The IOSTREAM, and corresponding IO vector that provide access
+ to the file backing the BFD. */
void *iostream;
+ const struct bfd_iovec *iovec;
/* Is the file descriptor being cached? That is, can it be closed as
needed, and re-opened when accessed later? */
@@ -3927,6 +3989,9 @@ bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
#define bfd_merge_sections(abfd, link_info) \
BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
+#define bfd_is_group_section(abfd, sec) \
+ BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
+
#define bfd_discard_group(abfd, sec) \
BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
@@ -3957,6 +4022,9 @@ bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
+#define bfd_get_synthetic_symtab(abfd, dynsyms, ret) \
+ BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, dynsyms, ret))
+
#define bfd_get_dynamic_reloc_upper_bound(abfd) \
BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
@@ -4294,6 +4362,7 @@ typedef struct bfd_target
NAME##_bfd_link_split_section, \
NAME##_bfd_gc_sections, \
NAME##_bfd_merge_sections, \
+ NAME##_bfd_is_group_section, \
NAME##_bfd_discard_group
int (*_bfd_sizeof_headers) (bfd *, bfd_boolean);
@@ -4331,6 +4400,9 @@ typedef struct bfd_target
/* Attempt to merge SEC_MERGE sections. */
bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
+ /* Is this section a member of a group? */
+ bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
+
/* Discard members of a group. */
bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
@@ -4338,6 +4410,7 @@ typedef struct bfd_target
#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
NAME##_get_dynamic_symtab_upper_bound, \
NAME##_canonicalize_dynamic_symtab, \
+ NAME##_get_synthetic_symtab, \
NAME##_get_dynamic_reloc_upper_bound, \
NAME##_canonicalize_dynamic_reloc
@@ -4346,6 +4419,9 @@ typedef struct bfd_target
/* Read in the dynamic symbols. */
long (*_bfd_canonicalize_dynamic_symtab)
(bfd *, struct bfd_symbol **);
+ /* Create synthetized symbols. */
+ long (*_bfd_get_synthetic_symtab)
+ (bfd *, struct bfd_symbol **, struct bfd_symbol **);
/* Get the amount of memory required to hold the dynamic relocs. */
long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
/* Read in the dynamic relocs. */
diff --git a/bfd/bfd.c b/bfd/bfd.c
index d37a48b..e184781 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -1,6 +1,6 @@
/* Generic BFD library interface and support routines.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -45,14 +45,10 @@ CODE_FRAGMENT
. {* A pointer to the target jump table. *}
. const struct bfd_target *xvec;
.
-. {* To avoid dragging too many header files into every file that
-. includes `<<bfd.h>>', IOSTREAM has been declared as a "char *",
-. and MTIME as a "long". Their correct types, to which they
-. are cast when used, are "FILE *" and "time_t". The iostream
-. is the result of an fopen on the filename. However, if the
-. BFD_IN_MEMORY flag is set, then iostream is actually a pointer
-. to a bfd_in_memory struct. *}
+. {* The IOSTREAM, and corresponding IO vector that provide access
+. to the file backing the BFD. *}
. void *iostream;
+. const struct bfd_iovec *iovec;
.
. {* Is the file descriptor being cached? That is, can it be closed as
. needed, and re-opened when accessed later? *}
@@ -512,6 +508,9 @@ DESCRIPTION
const char *
bfd_archive_filename (bfd *abfd)
{
+ if (abfd == NULL)
+ return NULL;
+
if (abfd->my_archive)
{
static size_t curr = 0;
@@ -766,12 +765,14 @@ bfd_get_sign_extend_vma (bfd *abfd)
name = bfd_get_target (abfd);
- /* Return a proper value for DJGPP COFF (an x86 COFF variant).
+ /* Return a proper value for DJGPP & PE COFF (x86 COFF variants).
This function is required for DWARF2 support, but there is
no place to store this information in the COFF back end.
Should enough other COFF targets add support for DWARF2,
a place will have to be found. Until then, this hack will do. */
- if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0)
+ if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0
+ || strcmp (name, "pe-i386") == 0
+ || strcmp (name, "pei-i386") == 0)
return 1;
bfd_set_error (bfd_error_wrong_format);
@@ -1082,6 +1083,9 @@ DESCRIPTION
.#define bfd_merge_sections(abfd, link_info) \
. BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
.
+.#define bfd_is_group_section(abfd, sec) \
+. BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
+.
.#define bfd_discard_group(abfd, sec) \
. BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
.
@@ -1112,6 +1116,9 @@ DESCRIPTION
.#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
. BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
.
+.#define bfd_get_synthetic_symtab(abfd, dynsyms, ret) \
+. BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, dynsyms, ret))
+.
.#define bfd_get_dynamic_reloc_upper_bound(abfd) \
. BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
.
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index a90cb33..53534f4 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -62,37 +62,41 @@ real_fseek (FILE *file, file_ptr offset, int whence)
#endif
}
-/* Note that archive entries don't have streams; they share their parent's.
- This allows someone to play with the iostream behind BFD's back.
+/*
+INTERNAL_DEFINITION
+ struct bfd_iovec
- Also, note that the origin pointer points to the beginning of a file's
- contents (0 for non-archive elements). For archive entries this is the
- first octet in the file, NOT the beginning of the archive header. */
+DESCRIPTION
-static size_t
-real_read (void *where, size_t a, size_t b, FILE *file)
-{
- /* FIXME - this looks like an optimization, but it's really to cover
- up for a feature of some OSs (not solaris - sigh) that
- ld/pe-dll.c takes advantage of (apparently) when it creates BFDs
- internally and tries to link against them. BFD seems to be smart
- enough to realize there are no symbol records in the "file" that
- doesn't exist but attempts to read them anyway. On Solaris,
- attempting to read zero bytes from a NULL file results in a core
- dump, but on other platforms it just returns zero bytes read.
- This makes it to something reasonable. - DJ */
- if (a == 0 || b == 0)
- return 0;
+ The <<struct bfd_iovec>> contains the internal file I/O class.
+ Each <<BFD>> has an instance of this class and all file I/O is
+ routed through it (it is assumed that the instance implements
+ all methods listed below).
+
+.struct bfd_iovec
+.{
+. {* To avoid problems with macros, a "b" rather than "f"
+. prefix is prepended to each method name. *}
+. {* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
+. bytes starting at PTR. Return the number of bytes actually
+. transfered (a read past end-of-file returns less than NBYTES),
+. or -1 (setting <<bfd_error>>) if an error occurs. *}
+. file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
+. file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
+. file_ptr nbytes);
+. {* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
+. if an error occurs. *}
+. file_ptr (*btell) (struct bfd *abfd);
+. {* For the following, on successful completion a value of 0 is returned.
+. Otherwise, a value of -1 is returned (and <<bfd_error>> is set). *}
+. int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
+. int (*bclose) (struct bfd *abfd);
+. int (*bflush) (struct bfd *abfd);
+. int (*bstat) (struct bfd *abfd, struct stat *sb);
+.};
+*/
-#if defined (__VAX) && defined (VMS)
- /* Apparently fread on Vax VMS does not keep the record length
- information. */
- return read (fileno (file), where, a * b);
-#else
- return fread (where, a, b, file);
-#endif
-}
/* Return value is amount read. */
@@ -121,25 +125,10 @@ bfd_bread (void *ptr, bfd_size_type size, bfd *abfd)
return get;
}
- nread = real_read (ptr, 1, (size_t) size, bfd_cache_lookup (abfd));
+ nread = abfd->iovec->bread (abfd, ptr, size);
if (nread != (size_t) -1)
abfd->where += nread;
- /* Set bfd_error if we did not read as much data as we expected.
-
- If the read failed due to an error set the bfd_error_system_call,
- else set bfd_error_file_truncated.
-
- A BFD backend may wish to override bfd_error_file_truncated to
- provide something more useful (eg. no_symbols or wrong_format). */
- if (nread != size)
- {
- if (ferror (bfd_cache_lookup (abfd)))
- bfd_set_error (bfd_error_system_call);
- else
- bfd_set_error (bfd_error_file_truncated);
- }
-
return nread;
}
@@ -175,7 +164,7 @@ bfd_bwrite (const void *ptr, bfd_size_type size, bfd *abfd)
return size;
}
- nwrote = fwrite (ptr, 1, (size_t) size, bfd_cache_lookup (abfd));
+ nwrote = abfd->iovec->bwrite (abfd, ptr, size);
if (nwrote != (size_t) -1)
abfd->where += nwrote;
if (nwrote != size)
@@ -196,7 +185,7 @@ bfd_tell (bfd *abfd)
if ((abfd->flags & BFD_IN_MEMORY) != 0)
return abfd->where;
- ptr = real_ftell (bfd_cache_lookup (abfd));
+ ptr = abfd->iovec->btell (abfd);
if (abfd->my_archive)
ptr -= abfd->origin;
@@ -209,7 +198,7 @@ bfd_flush (bfd *abfd)
{
if ((abfd->flags & BFD_IN_MEMORY) != 0)
return 0;
- return fflush (bfd_cache_lookup(abfd));
+ return abfd->iovec->bflush (abfd);
}
/* Returns 0 for success, negative value for failure (in which case
@@ -217,19 +206,12 @@ bfd_flush (bfd *abfd)
int
bfd_stat (bfd *abfd, struct stat *statbuf)
{
- FILE *f;
int result;
if ((abfd->flags & BFD_IN_MEMORY) != 0)
abort ();
- f = bfd_cache_lookup (abfd);
- if (f == NULL)
- {
- bfd_set_error (bfd_error_system_call);
- return -1;
- }
- result = fstat (fileno (f), statbuf);
+ result = abfd->iovec->bstat (abfd, statbuf);
if (result < 0)
bfd_set_error (bfd_error_system_call);
return result;
@@ -242,7 +224,6 @@ int
bfd_seek (bfd *abfd, file_ptr position, int direction)
{
int result;
- FILE *f;
file_ptr file_position;
/* For the time being, a BFD may not seek to it's end. The problem
is that we don't easily have a way to recognize the end of an
@@ -328,12 +309,11 @@ bfd_seek (bfd *abfd, file_ptr position, int direction)
In the meantime, no optimization for archives. */
}
- f = bfd_cache_lookup (abfd);
file_position = position;
if (direction == SEEK_SET && abfd->my_archive != NULL)
file_position += abfd->origin;
- result = real_fseek (f, file_position, direction);
+ result = abfd->iovec->bseek (abfd, file_position, direction);
if (result != 0)
{
int hold_errno = errno;
@@ -378,14 +358,12 @@ DESCRIPTION
long
bfd_get_mtime (bfd *abfd)
{
- FILE *fp;
struct stat buf;
if (abfd->mtime_set)
return abfd->mtime;
- fp = bfd_cache_lookup (abfd);
- if (0 != fstat (fileno (fp), &buf))
+ if (abfd->iovec->bstat (abfd, &buf) != 0)
return 0;
abfd->mtime = buf.st_mtime; /* Save value in case anyone wants it */
@@ -428,14 +406,12 @@ DESCRIPTION
long
bfd_get_size (bfd *abfd)
{
- FILE *fp;
struct stat buf;
if ((abfd->flags & BFD_IN_MEMORY) != 0)
return ((struct bfd_in_memory *) abfd->iostream)->size;
- fp = bfd_cache_lookup (abfd);
- if (0 != fstat (fileno (fp), & buf))
+ if (abfd->iovec->bstat (abfd, &buf) != 0)
return 0;
return buf.st_size;
diff --git a/bfd/binary.c b/bfd/binary.c
index 65f46af..c8d8941 100644
--- a/bfd/binary.c
+++ b/bfd/binary.c
@@ -1,6 +1,6 @@
/* BFD back-end for binary objects.
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>
This file is part of BFD, the Binary File Descriptor library.
@@ -339,6 +339,7 @@ binary_sizeof_headers (abfd, exec)
#define binary_bfd_relax_section bfd_generic_relax_section
#define binary_bfd_gc_sections bfd_generic_gc_sections
#define binary_bfd_merge_sections bfd_generic_merge_sections
+#define binary_bfd_is_group_section bfd_generic_is_group_section
#define binary_bfd_discard_group bfd_generic_discard_group
#define binary_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define binary_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/bout.c b/bfd/bout.c
index a39a9a3..0c6c808 100644
--- a/bfd/bout.c
+++ b/bfd/bout.c
@@ -1,6 +1,6 @@
/* BFD back-end for Intel 960 b.out binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -1487,6 +1487,7 @@ b_out_bfd_get_relocated_section_contents (output_bfd, link_info, link_order,
#define b_out_bfd_link_split_section _bfd_generic_link_split_section
#define b_out_bfd_gc_sections bfd_generic_gc_sections
#define b_out_bfd_merge_sections bfd_generic_merge_sections
+#define b_out_bfd_is_group_section bfd_generic_is_group_section
#define b_out_bfd_discard_group bfd_generic_discard_group
#define aout_32_get_section_contents_in_window \
diff --git a/bfd/cache.c b/bfd/cache.c
index 7d056ea..0586061 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -44,6 +44,109 @@ SECTION
static bfd_boolean bfd_cache_delete (bfd *);
+
+static file_ptr
+cache_btell (struct bfd *abfd)
+{
+ return real_ftell (bfd_cache_lookup (abfd));
+}
+
+static int
+cache_bseek (struct bfd *abfd, file_ptr offset, int whence)
+{
+ return real_fseek (bfd_cache_lookup (abfd), offset, whence);
+}
+
+/* Note that archive entries don't have streams; they share their parent's.
+ This allows someone to play with the iostream behind BFD's back.
+
+ Also, note that the origin pointer points to the beginning of a file's
+ contents (0 for non-archive elements). For archive entries this is the
+ first octet in the file, NOT the beginning of the archive header. */
+
+static file_ptr
+cache_bread (struct bfd *abfd, void *buf, file_ptr nbytes)
+{
+ file_ptr nread;
+ /* FIXME - this looks like an optimization, but it's really to cover
+ up for a feature of some OSs (not solaris - sigh) that
+ ld/pe-dll.c takes advantage of (apparently) when it creates BFDs
+ internally and tries to link against them. BFD seems to be smart
+ enough to realize there are no symbol records in the "file" that
+ doesn't exist but attempts to read them anyway. On Solaris,
+ attempting to read zero bytes from a NULL file results in a core
+ dump, but on other platforms it just returns zero bytes read.
+ This makes it to something reasonable. - DJ */
+ if (nbytes == 0)
+ return 0;
+
+#if defined (__VAX) && defined (VMS)
+ /* Apparently fread on Vax VMS does not keep the record length
+ information. */
+ nread = read (fileno (bfd_cache_lookup (abfd)), buf, nbytes);
+ /* Set bfd_error if we did not read as much data as we expected. If
+ the read failed due to an error set the bfd_error_system_call,
+ else set bfd_error_file_truncated. */
+ if (nread == (file_ptr)-1)
+ {
+ bfd_set_error (bfd_error_system_call);
+ return -1;
+ }
+#else
+ nread = fread (buf, 1, nbytes, bfd_cache_lookup (abfd));
+ /* Set bfd_error if we did not read as much data as we expected. If
+ the read failed due to an error set the bfd_error_system_call,
+ else set bfd_error_file_truncated. */
+ if (nread < nbytes && ferror (bfd_cache_lookup (abfd)))
+ {
+ bfd_set_error (bfd_error_system_call);
+ return -1;
+ }
+#endif
+ return nread;
+}
+
+static file_ptr
+cache_bwrite (struct bfd *abfd, const void *where, file_ptr nbytes)
+{
+ file_ptr nwrite = fwrite (where, 1, nbytes, bfd_cache_lookup (abfd));
+ if (nwrite < nbytes && ferror (bfd_cache_lookup (abfd)))
+ {
+ bfd_set_error (bfd_error_system_call);
+ return -1;
+ }
+ return nwrite;
+}
+
+static int
+cache_bclose (struct bfd *abfd)
+{
+ return bfd_cache_close (abfd);
+}
+
+static int
+cache_bflush (struct bfd *abfd)
+{
+ int sts = fflush (bfd_cache_lookup (abfd));
+ if (sts < 0)
+ bfd_set_error (bfd_error_system_call);
+ return sts;
+}
+
+static int
+cache_bstat (struct bfd *abfd, struct stat *sb)
+{
+ int sts = fstat (fileno (bfd_cache_lookup (abfd)), sb);
+ if (sts < 0)
+ bfd_set_error (bfd_error_system_call);
+ return sts;
+}
+
+static const struct bfd_iovec cache_iovec = {
+ &cache_bread, &cache_bwrite, &cache_btell, &cache_bseek,
+ &cache_bclose, &cache_bflush, &cache_bstat
+};
+
/*
INTERNAL_FUNCTION
BFD_CACHE_MAX_OPEN macro
@@ -205,6 +308,7 @@ bfd_cache_init (bfd *abfd)
if (! close_one ())
return FALSE;
}
+ abfd->iovec = &cache_iovec;
insert (abfd);
++open_files;
return TRUE;
@@ -229,8 +333,11 @@ RETURNS
bfd_boolean
bfd_cache_close (bfd *abfd)
{
- if (abfd->iostream == NULL
- || (abfd->flags & BFD_IN_MEMORY) != 0)
+ if (abfd->iovec != &cache_iovec)
+ return TRUE;
+
+ if (abfd->iostream == NULL)
+ /* Previously closed. */
return TRUE;
return bfd_cache_delete (abfd);
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index e9dd416..262af47 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -1,6 +1,6 @@
/* BFD back-end for ALPHA Extended-Coff files.
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
Modified from coff-mips.c by Steve Chamberlain <sac@cygnus.com> and
Ian Lance Taylor <ian@cygnus.com>.
@@ -2359,6 +2359,7 @@ static const struct ecoff_backend_data alpha_ecoff_backend_data =
#define _bfd_ecoff_bfd_relax_section bfd_generic_relax_section
#define _bfd_ecoff_bfd_gc_sections bfd_generic_gc_sections
#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections
+#define _bfd_ecoff_bfd_is_group_section bfd_generic_is_group_section
#define _bfd_ecoff_bfd_discard_group bfd_generic_discard_group
const bfd_target ecoffalpha_little_vec =
diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c
index a24344a..e2bf860 100644
--- a/bfd/coff-i386.c
+++ b/bfd/coff-i386.c
@@ -234,7 +234,24 @@ static reloc_howto_type howto_table[] =
EMPTY_HOWTO (010),
EMPTY_HOWTO (011),
EMPTY_HOWTO (012),
+#ifdef COFF_WITH_PE
+ /* 32-bit longword section relative relocation (013). */
+ HOWTO (R_SECREL32, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ coff_i386_reloc, /* special_function */
+ "secrel32", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+#else
EMPTY_HOWTO (013),
+#endif
EMPTY_HOWTO (014),
EMPTY_HOWTO (015),
EMPTY_HOWTO (016),
@@ -497,6 +514,30 @@ coff_i386_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
{
*addendp -= pe_data(sec->output_section->owner)->pe_opthdr.ImageBase;
}
+
+ if (rel->r_type == R_SECREL32)
+ {
+ bfd_vma osect_vma;
+
+ if (h && (h->type == bfd_link_hash_defined
+ || h->type == bfd_link_hash_defweak))
+ osect_vma = h->root.u.def.section->output_section->vma;
+ else
+ {
+ asection *sec;
+ int i;
+
+ /* Sigh, the only way to get the section to offset against
+ is to find it the hard way. */
+
+ for (sec = abfd->sections, i = 1; i < sym->n_scnum; i++)
+ sec = sec->next;
+
+ osect_vma = sec->output_section->vma;
+ }
+
+ *addendp -= osect_vma;
+ }
#endif
return howto;
@@ -525,6 +566,10 @@ coff_i386_reloc_type_lookup (abfd, code)
return howto_table + R_RELBYTE;
case BFD_RELOC_8_PCREL:
return howto_table + R_PCRBYTE;
+#ifdef COFF_WITH_PE
+ case BFD_RELOC_32_SECREL:
+ return howto_table + R_SECREL32;
+#endif
default:
BFD_FAIL ();
return 0;
diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c
index d6d8218..9ef1985 100644
--- a/bfd/coff-mips.c
+++ b/bfd/coff-mips.c
@@ -1,6 +1,6 @@
/* BFD back-end for MIPS Extended-Coff files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Original version by Per Bothner.
Full support added by Ian Lance Taylor, ian@cygnus.com.
@@ -57,28 +57,12 @@ static bfd_reloc_status_type mips_reflo_reloc
static bfd_reloc_status_type mips_gprel_reloc
PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data,
asection *section, bfd *output_bfd, char **error));
-static bfd_reloc_status_type mips_relhi_reloc
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data,
- asection *section, bfd *output_bfd, char **error));
-static bfd_reloc_status_type mips_rello_reloc
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data,
- asection *section, bfd *output_bfd, char **error));
-static bfd_reloc_status_type mips_switch_reloc
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data,
- asection *section, bfd *output_bfd, char **error));
static void mips_relocate_hi
PARAMS ((struct internal_reloc *refhi, struct internal_reloc *reflo,
bfd *input_bfd, asection *input_section, bfd_byte *contents,
- size_t adjust, bfd_vma relocation, bfd_boolean pcrel));
+ bfd_vma relocation));
static bfd_boolean mips_relocate_section
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, PTR));
-static bfd_boolean mips_read_relocs
- PARAMS ((bfd *, asection *));
-static bfd_boolean mips_relax_section
- PARAMS ((bfd *, asection *, struct bfd_link_info *, bfd_boolean *));
-static bfd_boolean mips_relax_pcrel16
- PARAMS ((struct bfd_link_info *, bfd *, asection *,
- struct ecoff_link_hash_entry *, bfd_byte *, bfd_vma));
static reloc_howto_type *mips_bfd_reloc_type_lookup
PARAMS ((bfd *, bfd_reloc_code_real_type));
@@ -243,10 +227,9 @@ static reloc_howto_type mips_howto_table[] =
EMPTY_HOWTO (10),
EMPTY_HOWTO (11),
- /* This reloc is a Cygnus extension used when generating position
- independent code for embedded systems. It represents a 16 bit PC
- relative reloc rightshifted twice as used in the MIPS branch
- instructions. */
+ /* FIXME: This relocation is used (internally only) to represent branches
+ when assembling. It should never appear in output files, and
+ be removed. (It used to be used for embedded-PIC support.) */
HOWTO (MIPS_R_PCREL16, /* type */
2, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
@@ -260,92 +243,10 @@ static reloc_howto_type mips_howto_table[] =
0xffff, /* src_mask */
0xffff, /* dst_mask */
TRUE), /* pcrel_offset */
-
- /* This reloc is a Cygnus extension used when generating position
- independent code for embedded systems. It represents the high 16
- bits of a PC relative reloc. The next reloc must be
- MIPS_R_RELLO, and the addend is formed from the addends of the
- two instructions, just as in MIPS_R_REFHI and MIPS_R_REFLO. The
- final value is actually PC relative to the location of the
- MIPS_R_RELLO reloc, not the MIPS_R_RELHI reloc. */
- HOWTO (MIPS_R_RELHI, /* type */
- 16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- mips_relhi_reloc, /* special_function */
- "RELHI", /* name */
- TRUE, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- TRUE), /* pcrel_offset */
-
- /* This reloc is a Cygnus extension used when generating position
- independent code for embedded systems. It represents the low 16
- bits of a PC relative reloc. */
- HOWTO (MIPS_R_RELLO, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_dont, /* complain_on_overflow */
- mips_rello_reloc, /* special_function */
- "RELLO", /* name */
- TRUE, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- TRUE), /* pcrel_offset */
-
- EMPTY_HOWTO (15),
- EMPTY_HOWTO (16),
- EMPTY_HOWTO (17),
- EMPTY_HOWTO (18),
- EMPTY_HOWTO (19),
- EMPTY_HOWTO (20),
- EMPTY_HOWTO (21),
-
- /* This reloc is a Cygnus extension used when generating position
- independent code for embedded systems. It represents an entry in
- a switch table, which is the difference between two symbols in
- the .text section. The symndx is actually the offset from the
- reloc address to the subtrahend. See include/coff/mips.h for
- more details. */
- HOWTO (MIPS_R_SWITCH, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_dont, /* complain_on_overflow */
- mips_switch_reloc, /* special_function */
- "SWITCH", /* name */
- TRUE, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- TRUE) /* pcrel_offset */
};
#define MIPS_HOWTO_COUNT \
(sizeof mips_howto_table / sizeof mips_howto_table[0])
-
-/* When the linker is doing relaxing, it may change an external PCREL16
- reloc. This typically represents an instruction like
- bal foo
- We change it to
- .set noreorder
- bal $L1
- lui $at,%hi(foo - $L1)
- $L1:
- addiu $at,%lo(foo - $L1)
- addu $at,$at,$31
- jalr $at
- PCREL16_EXPANSION_ADJUSTMENT is the number of bytes this changes the
- instruction by. */
-
-#define PCREL16_EXPANSION_ADJUSTMENT (4 * 4)
/* See whether the magic number matches. */
@@ -418,25 +319,6 @@ mips_ecoff_swap_reloc_in (abfd, ext_ptr, intern)
<< RELOC_BITS3_TYPEHI_SH_LITTLE));
intern->r_extern = (ext->r_bits[3] & RELOC_BITS3_EXTERN_LITTLE) != 0;
}
-
- /* If this is a MIPS_R_SWITCH reloc, or an internal MIPS_R_RELHI or
- MIPS_R_RELLO reloc, r_symndx is actually the offset from the
- reloc address to the base of the difference (see
- include/coff/mips.h for more details). We copy symndx into the
- r_offset field so as not to confuse ecoff_slurp_reloc_table in
- ecoff.c. In adjust_reloc_in we then copy r_offset into the reloc
- addend. */
- if (intern->r_type == MIPS_R_SWITCH
- || (! intern->r_extern
- && (intern->r_type == MIPS_R_RELLO
- || intern->r_type == MIPS_R_RELHI)))
- {
- BFD_ASSERT (! intern->r_extern);
- intern->r_offset = intern->r_symndx;
- if (intern->r_offset & 0x800000)
- intern->r_offset -= 0x1000000;
- intern->r_symndx = RELOC_SECTION_TEXT;
- }
}
/* Swap a reloc out. */
@@ -453,20 +335,7 @@ mips_ecoff_swap_reloc_out (abfd, intern, dst)
BFD_ASSERT (intern->r_extern
|| (intern->r_symndx >= 0 && intern->r_symndx <= 12));
- /* If this is a MIPS_R_SWITCH reloc, or an internal MIPS_R_RELLO or
- MIPS_R_RELHI reloc, we actually want to write the contents of
- r_offset out as the symbol index. This undoes the change made by
- mips_ecoff_swap_reloc_in. */
- if (intern->r_type != MIPS_R_SWITCH
- && (intern->r_extern
- || (intern->r_type != MIPS_R_RELHI
- && intern->r_type != MIPS_R_RELLO)))
- r_symndx = intern->r_symndx;
- else
- {
- BFD_ASSERT (intern->r_symndx == RELOC_SECTION_TEXT);
- r_symndx = intern->r_offset & 0xffffff;
- }
+ r_symndx = intern->r_symndx;
H_PUT_32 (abfd, intern->r_vaddr, ext->r_vaddr);
if (bfd_header_big_endian (abfd))
@@ -501,7 +370,7 @@ mips_adjust_reloc_in (abfd, intern, rptr)
const struct internal_reloc *intern;
arelent *rptr;
{
- if (intern->r_type > MIPS_R_SWITCH)
+ if (intern->r_type > MIPS_R_PCREL16)
abort ();
if (! intern->r_extern
@@ -514,18 +383,6 @@ mips_adjust_reloc_in (abfd, intern, rptr)
if (intern->r_type == MIPS_R_IGNORE)
rptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
- /* If this is a MIPS_R_SWITCH reloc, or an internal MIPS_R_RELHI or
- MIPS_R_RELLO reloc, we want the addend field of the BFD relocto
- hold the value which was originally in the symndx field of the
- internal MIPS ECOFF reloc. This value was copied into
- intern->r_offset by mips_swap_reloc_in, and here we copy it into
- the addend field. */
- if (intern->r_type == MIPS_R_SWITCH
- || (! intern->r_extern
- && (intern->r_type == MIPS_R_RELHI
- || intern->r_type == MIPS_R_RELLO)))
- rptr->addend = intern->r_offset;
-
rptr->howto = &mips_howto_table[intern->r_type];
}
@@ -535,19 +392,9 @@ mips_adjust_reloc_in (abfd, intern, rptr)
static void
mips_adjust_reloc_out (abfd, rel, intern)
bfd *abfd ATTRIBUTE_UNUSED;
- const arelent *rel;
- struct internal_reloc *intern;
+ const arelent *rel ATTRIBUTE_UNUSED;
+ struct internal_reloc *intern ATTRIBUTE_UNUSED;
{
- /* For a MIPS_R_SWITCH reloc, or an internal MIPS_R_RELHI or
- MIPS_R_RELLO reloc, we must copy rel->addend into
- intern->r_offset. This will then be written out as the symbol
- index by mips_ecoff_swap_reloc_out. This operation parallels the
- action of mips_adjust_reloc_in. */
- if (intern->r_type == MIPS_R_SWITCH
- || (! intern->r_extern
- && (intern->r_type == MIPS_R_RELHI
- || intern->r_type == MIPS_R_RELLO)))
- intern->r_offset = rel->addend;
}
/* ECOFF relocs are either against external symbols, or against
@@ -880,209 +727,6 @@ mips_gprel_reloc (abfd,
return bfd_reloc_ok;
}
-/* Do a RELHI relocation. We do this in conjunction with a RELLO
- reloc, just as REFHI and REFLO are done together. RELHI and RELLO
- are Cygnus extensions used when generating position independent
- code for embedded systems. */
-
-/* FIXME: This should not be a static variable. */
-
-static struct mips_hi *mips_relhi_list;
-
-static bfd_reloc_status_type
-mips_relhi_reloc (abfd,
- reloc_entry,
- symbol,
- data,
- input_section,
- output_bfd,
- error_message)
- bfd *abfd ATTRIBUTE_UNUSED;
- arelent *reloc_entry;
- asymbol *symbol;
- PTR data;
- asection *input_section;
- bfd *output_bfd;
- char **error_message ATTRIBUTE_UNUSED;
-{
- bfd_reloc_status_type ret;
- bfd_vma relocation;
- struct mips_hi *n;
-
- /* If this is a reloc against a section symbol, then it is correct
- in the object file. The only time we want to change this case is
- when we are relaxing, and that is handled entirely by
- mips_relocate_section and never calls this function. */
- if ((symbol->flags & BSF_SECTION_SYM) != 0)
- {
- if (output_bfd != (bfd *) NULL)
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- /* This is an external symbol. If we're relocating, we don't want
- to change anything. */
- if (output_bfd != (bfd *) NULL)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- ret = bfd_reloc_ok;
- if (bfd_is_und_section (symbol->section)
- && output_bfd == (bfd *) NULL)
- ret = bfd_reloc_undefined;
-
- if (bfd_is_com_section (symbol->section))
- relocation = 0;
- else
- relocation = symbol->value;
-
- relocation += symbol->section->output_section->vma;
- relocation += symbol->section->output_offset;
- relocation += reloc_entry->addend;
-
- if (reloc_entry->address > input_section->_cooked_size)
- return bfd_reloc_outofrange;
-
- /* Save the information, and let RELLO do the actual relocation. */
- n = (struct mips_hi *) bfd_malloc ((bfd_size_type) sizeof *n);
- if (n == NULL)
- return bfd_reloc_outofrange;
- n->addr = (bfd_byte *) data + reloc_entry->address;
- n->addend = relocation;
- n->next = mips_relhi_list;
- mips_relhi_list = n;
-
- if (output_bfd != (bfd *) NULL)
- reloc_entry->address += input_section->output_offset;
-
- return ret;
-}
-
-/* Do a RELLO relocation. This is a straightforward 16 bit PC
- relative relocation; this function exists in order to do the RELHI
- relocation described above. */
-
-static bfd_reloc_status_type
-mips_rello_reloc (abfd,
- reloc_entry,
- symbol,
- data,
- input_section,
- output_bfd,
- error_message)
- bfd *abfd;
- arelent *reloc_entry;
- asymbol *symbol;
- PTR data;
- asection *input_section;
- bfd *output_bfd;
- char **error_message;
-{
- if (mips_relhi_list != NULL)
- {
- struct mips_hi *l;
-
- l = mips_relhi_list;
- while (l != NULL)
- {
- unsigned long insn;
- unsigned long val;
- unsigned long vallo;
- struct mips_hi *next;
-
- /* Do the RELHI relocation. Note that we actually don't
- need to know anything about the RELLO itself, except
- where to find the low 16 bits of the addend needed by the
- RELHI. */
- insn = bfd_get_32 (abfd, l->addr);
- vallo = (bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address)
- & 0xffff);
- val = ((insn & 0xffff) << 16) + vallo;
- val += l->addend;
-
- /* If the symbol is defined, make val PC relative. If the
- symbol is not defined we don't want to do this, because
- we don't want the value in the object file to incorporate
- the address of the reloc. */
- if (! bfd_is_und_section (bfd_get_section (symbol))
- && ! bfd_is_com_section (bfd_get_section (symbol)))
- val -= (input_section->output_section->vma
- + input_section->output_offset
- + reloc_entry->address);
-
- /* The low order 16 bits are always treated as a signed
- value. Therefore, a negative value in the low order bits
- requires an adjustment in the high order bits. We need
- to make this adjustment in two ways: once for the bits we
- took from the data, and once for the bits we are putting
- back in to the data. */
- if ((vallo & 0x8000) != 0)
- val -= 0x10000;
- if ((val & 0x8000) != 0)
- val += 0x10000;
-
- insn = (insn &~ (unsigned) 0xffff) | ((val >> 16) & 0xffff);
- bfd_put_32 (abfd, (bfd_vma) insn, l->addr);
-
- next = l->next;
- free (l);
- l = next;
- }
-
- mips_relhi_list = NULL;
- }
-
- /* If this is a reloc against a section symbol, then it is correct
- in the object file. The only time we want to change this case is
- when we are relaxing, and that is handled entirely by
- mips_relocate_section and never calls this function. */
- if ((symbol->flags & BSF_SECTION_SYM) != 0)
- {
- if (output_bfd != (bfd *) NULL)
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- /* bfd_perform_relocation does not handle pcrel_offset relocations
- correctly when generating a relocatable file, so handle them
- directly here. */
- if (output_bfd != (bfd *) NULL)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- /* Now do the RELLO reloc in the usual way. */
- return mips_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
-/* This is the special function for the MIPS_R_SWITCH reloc. This
- special reloc is normally correct in the object file, and only
- requires special handling when relaxing. We don't want
- bfd_perform_relocation to tamper with it at all. */
-
-static bfd_reloc_status_type
-mips_switch_reloc (abfd,
- reloc_entry,
- symbol,
- data,
- input_section,
- output_bfd,
- error_message)
- bfd *abfd ATTRIBUTE_UNUSED;
- arelent *reloc_entry ATTRIBUTE_UNUSED;
- asymbol *symbol ATTRIBUTE_UNUSED;
- PTR data ATTRIBUTE_UNUSED;
- asection *input_section ATTRIBUTE_UNUSED;
- bfd *output_bfd ATTRIBUTE_UNUSED;
- char **error_message ATTRIBUTE_UNUSED;
-{
- return bfd_reloc_ok;
-}
-
/* Get the howto structure for a generic reloc type. */
static reloc_howto_type *
@@ -1119,15 +763,6 @@ mips_bfd_reloc_type_lookup (abfd, code)
case BFD_RELOC_16_PCREL_S2:
mips_type = MIPS_R_PCREL16;
break;
- case BFD_RELOC_PCREL_HI16_S:
- mips_type = MIPS_R_RELHI;
- break;
- case BFD_RELOC_PCREL_LO16:
- mips_type = MIPS_R_RELLO;
- break;
- case BFD_RELOC_GPREL32:
- mips_type = MIPS_R_SWITCH;
- break;
default:
return (reloc_howto_type *) NULL;
}
@@ -1136,21 +771,19 @@ mips_bfd_reloc_type_lookup (abfd, code)
}
/* A helper routine for mips_relocate_section which handles the REFHI
- and RELHI relocations. The REFHI relocation must be followed by a
- REFLO relocation (and RELHI by a RELLO), and the addend used is
- formed from the addends of both instructions. */
+ relocations. The REFHI relocation must be followed by a REFLO
+ relocation, and the addend used is formed from the addends of both
+ instructions. */
static void
-mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents, adjust,
- relocation, pcrel)
+mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents,
+ relocation)
struct internal_reloc *refhi;
struct internal_reloc *reflo;
bfd *input_bfd;
asection *input_section;
bfd_byte *contents;
- size_t adjust;
bfd_vma relocation;
- bfd_boolean pcrel;
{
unsigned long insn;
unsigned long val;
@@ -1160,12 +793,12 @@ mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents, adjust,
return;
insn = bfd_get_32 (input_bfd,
- contents + adjust + refhi->r_vaddr - input_section->vma);
+ contents + refhi->r_vaddr - input_section->vma);
if (reflo == NULL)
vallo = 0;
else
vallo = (bfd_get_32 (input_bfd,
- contents + adjust + reflo->r_vaddr - input_section->vma)
+ contents + reflo->r_vaddr - input_section->vma)
& 0xffff);
val = ((insn & 0xffff) << 16) + vallo;
@@ -1179,17 +812,12 @@ mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents, adjust,
if ((vallo & 0x8000) != 0)
val -= 0x10000;
- if (pcrel)
- val -= (input_section->output_section->vma
- + input_section->output_offset
- + (reflo->r_vaddr - input_section->vma + adjust));
-
if ((val & 0x8000) != 0)
val += 0x10000;
insn = (insn &~ (unsigned) 0xffff) | ((val >> 16) & 0xffff);
bfd_put_32 (input_bfd, (bfd_vma) insn,
- contents + adjust + refhi->r_vaddr - input_section->vma);
+ contents + refhi->r_vaddr - input_section->vma);
}
/* Relocate a section while linking a MIPS ECOFF file. */
@@ -1208,8 +836,6 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
struct ecoff_link_hash_entry **sym_hashes;
bfd_vma gp;
bfd_boolean gp_undefined;
- size_t adjust;
- long *offsets;
struct external_reloc *ext_rel;
struct external_reloc *ext_rel_end;
unsigned int i;
@@ -1270,13 +896,6 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
got_lo = FALSE;
- adjust = 0;
-
- if (ecoff_section_data (input_bfd, input_section) == NULL)
- offsets = NULL;
- else
- offsets = ecoff_section_data (input_bfd, input_section)->offsets;
-
ext_rel = (struct external_reloc *) external_relocs;
ext_rel_end = ext_rel + input_section->reloc_count;
for (i = 0; ext_rel < ext_rel_end; ext_rel++, i++)
@@ -1301,17 +920,15 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
BFD_ASSERT (int_rel.r_type
< sizeof mips_howto_table / sizeof mips_howto_table[0]);
- /* The REFHI and RELHI relocs requires special handling. they
- must be followed by a REFLO or RELLO reloc, respectively, and
- the addend is formed from both relocs. */
- if (int_rel.r_type == MIPS_R_REFHI
- || int_rel.r_type == MIPS_R_RELHI)
+ /* The REFHI reloc requires special handling. It must be followed
+ by a REFLO reloc, and the addend is formed from both relocs. */
+ if (int_rel.r_type == MIPS_R_REFHI)
{
struct external_reloc *lo_ext_rel;
/* As a GNU extension, permit an arbitrary number of REFHI
- or RELHI relocs before the REFLO or RELLO reloc. This
- permits gcc to emit the HI and LO relocs itself. */
+ relocs before the REFLO reloc. This permits gcc to emit
+ the HI and LO relocs itself. */
for (lo_ext_rel = ext_rel + 1;
lo_ext_rel < ext_rel_end;
lo_ext_rel++)
@@ -1323,10 +940,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
}
if (lo_ext_rel < ext_rel_end
- && (lo_int_rel.r_type
- == (int_rel.r_type == MIPS_R_REFHI
- ? MIPS_R_REFLO
- : MIPS_R_RELLO))
+ && lo_int_rel.r_type == MIPS_R_REFLO
&& int_rel.r_extern == lo_int_rel.r_extern
&& int_rel.r_symndx == lo_int_rel.r_symndx)
{
@@ -1338,32 +952,6 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
howto = &mips_howto_table[int_rel.r_type];
- /* The SWITCH reloc must be handled specially. This reloc is
- marks the location of a difference between two portions of an
- object file. The symbol index does not reference a symbol,
- but is actually the offset from the reloc to the subtrahend
- of the difference. This reloc is correct in the object file,
- and needs no further adjustment, unless we are relaxing. If
- we are relaxing, we may have to add in an offset. Since no
- symbols are involved in this reloc, we handle it completely
- here. */
- if (int_rel.r_type == MIPS_R_SWITCH)
- {
- if (offsets != NULL
- && offsets[i] != 0)
- {
- r = _bfd_relocate_contents (howto, input_bfd,
- (bfd_vma) offsets[i],
- (contents
- + adjust
- + int_rel.r_vaddr
- - input_section->vma));
- BFD_ASSERT (r == bfd_reloc_ok);
- }
-
- continue;
- }
-
if (int_rel.r_extern)
{
h = sym_hashes[int_rel.r_symndx];
@@ -1439,91 +1027,6 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
}
}
- /* If we are relaxing, mips_relax_section may have set
- offsets[i] to some value. A value of 1 means we must expand
- a PC relative branch into a multi-instruction of sequence,
- and any other value is an addend. */
- if (offsets != NULL
- && offsets[i] != 0)
- {
- BFD_ASSERT (! info->relocatable);
- BFD_ASSERT (int_rel.r_type == MIPS_R_PCREL16
- || int_rel.r_type == MIPS_R_RELHI
- || int_rel.r_type == MIPS_R_RELLO);
- if (offsets[i] != 1)
- addend += offsets[i];
- else
- {
- bfd_byte *here;
-
- BFD_ASSERT (int_rel.r_extern
- && int_rel.r_type == MIPS_R_PCREL16);
-
- /* Move the rest of the instructions up. */
- here = (contents
- + adjust
- + int_rel.r_vaddr
- - input_section->vma);
- memmove (here + PCREL16_EXPANSION_ADJUSTMENT, here,
- (size_t) (input_section->_raw_size
- - (int_rel.r_vaddr - input_section->vma)));
-
- /* Generate the new instructions. */
- if (! mips_relax_pcrel16 (info, input_bfd, input_section,
- h, here,
- (input_section->output_section->vma
- + input_section->output_offset
- + (int_rel.r_vaddr
- - input_section->vma)
- + adjust)))
- return FALSE;
-
- /* We must adjust everything else up a notch. */
- adjust += PCREL16_EXPANSION_ADJUSTMENT;
-
- /* mips_relax_pcrel16 handles all the details of this
- relocation. */
- continue;
- }
- }
-
- /* If we are relaxing, and this is a reloc against the .text
- segment, we may need to adjust it if some branches have been
- expanded. The reloc types which are likely to occur in the
- .text section are handled efficiently by mips_relax_section,
- and thus do not need to be handled here. */
- if (ecoff_data (input_bfd)->debug_info.adjust != NULL
- && ! int_rel.r_extern
- && int_rel.r_symndx == RELOC_SECTION_TEXT
- && (strcmp (bfd_get_section_name (input_bfd, input_section),
- ".text") != 0
- || (int_rel.r_type != MIPS_R_PCREL16
- && int_rel.r_type != MIPS_R_SWITCH
- && int_rel.r_type != MIPS_R_RELHI
- && int_rel.r_type != MIPS_R_RELLO)))
- {
- bfd_vma adr;
- struct ecoff_value_adjust *a;
-
- /* We need to get the addend so that we know whether we need
- to adjust the address. */
- BFD_ASSERT (int_rel.r_type == MIPS_R_REFWORD);
-
- adr = bfd_get_32 (input_bfd,
- (contents
- + adjust
- + int_rel.r_vaddr
- - input_section->vma));
-
- for (a = ecoff_data (input_bfd)->debug_info.adjust;
- a != (struct ecoff_value_adjust *) NULL;
- a = a->next)
- {
- if (adr >= a->start && adr < a->end)
- addend += a->adjust;
- }
- }
-
if (info->relocatable)
{
/* We are generating relocatable output, and must convert
@@ -1601,49 +1104,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
currently holds just the addend. We must adjust
by the address to get the right value. */
if (howto->pc_relative)
- {
- relocation -= int_rel.r_vaddr - input_section->vma;
-
- /* If we are converting a RELHI or RELLO reloc
- from being against an external symbol to
- being against a section, we must put a
- special value into the r_offset field. This
- value is the old addend. The r_offset for
- both the RELHI and RELLO relocs are the same,
- and we set both when we see RELHI. */
- if (int_rel.r_type == MIPS_R_RELHI)
- {
- long addhi, addlo;
-
- addhi = bfd_get_32 (input_bfd,
- (contents
- + adjust
- + int_rel.r_vaddr
- - input_section->vma));
- addhi &= 0xffff;
- if (addhi & 0x8000)
- addhi -= 0x10000;
- addhi <<= 16;
-
- if (! use_lo)
- addlo = 0;
- else
- {
- addlo = bfd_get_32 (input_bfd,
- (contents
- + adjust
- + lo_int_rel.r_vaddr
- - input_section->vma));
- addlo &= 0xffff;
- if (addlo & 0x8000)
- addlo -= 0x10000;
-
- lo_int_rel.r_offset = addhi + addlo;
- }
-
- int_rel.r_offset = addhi + addlo;
- }
- }
+ relocation -= int_rel.r_vaddr - input_section->vma;
h = NULL;
}
@@ -1679,14 +1140,8 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
/* Adjust a PC relative relocation by removing the reference
to the original address in the section and including the
- reference to the new address. However, external RELHI
- and RELLO relocs are PC relative, but don't include any
- reference to the address. The addend is merely an
- addend. */
- if (howto->pc_relative
- && (! int_rel.r_extern
- || (int_rel.r_type != MIPS_R_RELHI
- && int_rel.r_type != MIPS_R_RELLO)))
+ reference to the new address. */
+ if (howto->pc_relative)
relocation -= (input_section->output_section->vma
+ input_section->output_offset
- input_section->vma);
@@ -1696,11 +1151,9 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
r = bfd_reloc_ok;
else
{
- if (int_rel.r_type != MIPS_R_REFHI
- && int_rel.r_type != MIPS_R_RELHI)
+ if (int_rel.r_type != MIPS_R_REFHI)
r = _bfd_relocate_contents (howto, input_bfd, relocation,
(contents
- + adjust
+ int_rel.r_vaddr
- input_section->vma));
else
@@ -1708,8 +1161,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
mips_relocate_hi (&int_rel,
use_lo ? &lo_int_rel : NULL,
input_bfd, input_section, contents,
- adjust, relocation,
- int_rel.r_type == MIPS_R_RELHI);
+ relocation);
r = bfd_reloc_ok;
}
}
@@ -1759,32 +1211,24 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
file. Make it look like a pcrel_offset relocation by
adding in the start address. */
if (howto->pc_relative)
- {
- if (int_rel.r_type != MIPS_R_RELHI || ! use_lo)
- relocation += int_rel.r_vaddr + adjust;
- else
- relocation += lo_int_rel.r_vaddr + adjust;
- }
+ relocation += int_rel.r_vaddr;
}
- if (int_rel.r_type != MIPS_R_REFHI
- && int_rel.r_type != MIPS_R_RELHI)
+ if (int_rel.r_type != MIPS_R_REFHI)
r = _bfd_final_link_relocate (howto,
input_bfd,
input_section,
contents,
(int_rel.r_vaddr
- - input_section->vma
- + adjust),
+ - input_section->vma),
relocation,
addend);
else
{
mips_relocate_hi (&int_rel,
use_lo ? &lo_int_rel : NULL,
- input_bfd, input_section, contents, adjust,
- relocation,
- int_rel.r_type == MIPS_R_RELHI);
+ input_bfd, input_section, contents,
+ relocation);
r = bfd_reloc_ok;
}
}
@@ -1801,8 +1245,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
& 0xf0000000)
!= ((input_section->output_section->vma
+ input_section->output_offset
- + (int_rel.r_vaddr - input_section->vma)
- + adjust)
+ + (int_rel.r_vaddr - input_section->vma))
& 0xf0000000)))
r = bfd_reloc_overflow;
@@ -1835,621 +1278,6 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section,
return TRUE;
}
-/* Read in the relocs for a section. */
-
-static bfd_boolean
-mips_read_relocs (abfd, sec)
- bfd *abfd;
- asection *sec;
-{
- struct ecoff_section_tdata *section_tdata;
- bfd_size_type amt;
-
- section_tdata = ecoff_section_data (abfd, sec);
- if (section_tdata == (struct ecoff_section_tdata *) NULL)
- {
- amt = sizeof (struct ecoff_section_tdata);
- sec->used_by_bfd = (PTR) bfd_alloc (abfd, amt);
- if (sec->used_by_bfd == NULL)
- return FALSE;
-
- section_tdata = ecoff_section_data (abfd, sec);
- section_tdata->external_relocs = NULL;
- section_tdata->contents = NULL;
- section_tdata->offsets = NULL;
- }
-
- if (section_tdata->external_relocs == NULL)
- {
- amt = ecoff_backend (abfd)->external_reloc_size;
- amt *= sec->reloc_count;
- section_tdata->external_relocs = (PTR) bfd_alloc (abfd, amt);
- if (section_tdata->external_relocs == NULL && amt != 0)
- return FALSE;
-
- if (bfd_seek (abfd, sec->rel_filepos, SEEK_SET) != 0
- || bfd_bread (section_tdata->external_relocs, amt, abfd) != amt)
- return FALSE;
- }
-
- return TRUE;
-}
-
-/* Relax a section when linking a MIPS ECOFF file. This is used for
- embedded PIC code, which always uses PC relative branches which
- only have an 18 bit range on MIPS. If a branch is not in range, we
- generate a long instruction sequence to compensate. Each time we
- find a branch to expand, we have to check all the others again to
- make sure they are still in range. This is slow, but it only has
- to be done when -relax is passed to the linker.
-
- This routine figures out which branches need to expand; the actual
- expansion is done in mips_relocate_section when the section
- contents are relocated. The information is stored in the offsets
- field of the ecoff_section_tdata structure. An offset of 1 means
- that the branch must be expanded into a multi-instruction PC
- relative branch (such an offset will only occur for a PC relative
- branch to an external symbol). Any other offset must be a multiple
- of four, and is the amount to change the branch by (such an offset
- will only occur for a PC relative branch within the same section).
-
- We do not modify the section relocs or contents themselves so that
- if memory usage becomes an issue we can discard them and read them
- again. The only information we must save in memory between this
- routine and the mips_relocate_section routine is the table of
- offsets. */
-
-static bfd_boolean
-mips_relax_section (abfd, sec, info, again)
- bfd *abfd;
- asection *sec;
- struct bfd_link_info *info;
- bfd_boolean *again;
-{
- struct ecoff_section_tdata *section_tdata;
- bfd_byte *contents = NULL;
- long *offsets;
- struct external_reloc *ext_rel;
- struct external_reloc *ext_rel_end;
- unsigned int i;
-
- /* Assume we are not going to need another pass. */
- *again = FALSE;
-
- /* If we are not generating an ECOFF file, this is much too
- confusing to deal with. */
- if (info->hash->creator->flavour != bfd_get_flavour (abfd))
- return TRUE;
-
- /* If there are no relocs, there is nothing to do. */
- if (sec->reloc_count == 0)
- return TRUE;
-
- /* We are only interested in PC relative relocs, and why would there
- ever be one from anything but the .text section? */
- if (strcmp (bfd_get_section_name (abfd, sec), ".text") != 0)
- return TRUE;
-
- /* Read in the relocs, if we haven't already got them. */
- section_tdata = ecoff_section_data (abfd, sec);
- if (section_tdata == (struct ecoff_section_tdata *) NULL
- || section_tdata->external_relocs == NULL)
- {
- if (! mips_read_relocs (abfd, sec))
- goto error_return;
- section_tdata = ecoff_section_data (abfd, sec);
- }
-
- if (sec->_cooked_size == 0)
- {
- /* We must initialize _cooked_size only the first time we are
- called. */
- sec->_cooked_size = sec->_raw_size;
- }
-
- contents = section_tdata->contents;
- offsets = section_tdata->offsets;
-
- /* Look for any external PC relative relocs. Internal PC relative
- relocs are already correct in the object file, so they certainly
- can not overflow. */
- ext_rel = (struct external_reloc *) section_tdata->external_relocs;
- ext_rel_end = ext_rel + sec->reloc_count;
- for (i = 0; ext_rel < ext_rel_end; ext_rel++, i++)
- {
- struct internal_reloc int_rel;
- struct ecoff_link_hash_entry *h;
- asection *hsec;
- bfd_signed_vma relocation;
- struct external_reloc *adj_ext_rel;
- unsigned int adj_i;
- unsigned long ext_count;
- struct ecoff_link_hash_entry **adj_h_ptr;
- struct ecoff_link_hash_entry **adj_h_ptr_end;
- struct ecoff_value_adjust *adjust;
- bfd_size_type amt;
-
- /* If we have already expanded this reloc, we certainly don't
- need to do it again. */
- if (offsets != (long *) NULL && offsets[i] == 1)
- continue;
-
- /* Quickly check that this reloc is external PCREL16. */
- if (bfd_header_big_endian (abfd))
- {
- if ((ext_rel->r_bits[3] & RELOC_BITS3_EXTERN_BIG) == 0
- || (((ext_rel->r_bits[3] & RELOC_BITS3_TYPE_BIG)
- >> RELOC_BITS3_TYPE_SH_BIG)
- != MIPS_R_PCREL16))
- continue;
- }
- else
- {
- if ((ext_rel->r_bits[3] & RELOC_BITS3_EXTERN_LITTLE) == 0
- || (((ext_rel->r_bits[3] & RELOC_BITS3_TYPE_LITTLE)
- >> RELOC_BITS3_TYPE_SH_LITTLE)
- != MIPS_R_PCREL16))
- continue;
- }
-
- mips_ecoff_swap_reloc_in (abfd, (PTR) ext_rel, &int_rel);
-
- h = ecoff_data (abfd)->sym_hashes[int_rel.r_symndx];
- if (h == (struct ecoff_link_hash_entry *) NULL)
- abort ();
-
- if (h->root.type != bfd_link_hash_defined
- && h->root.type != bfd_link_hash_defweak)
- {
- /* Just ignore undefined symbols. These will presumably
- generate an error later in the link. */
- continue;
- }
-
- /* Get the value of the symbol. */
- hsec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + hsec->output_section->vma
- + hsec->output_offset);
-
- /* Subtract out the current address. */
- relocation -= (sec->output_section->vma
- + sec->output_offset
- + (int_rel.r_vaddr - sec->vma));
-
- /* The addend is stored in the object file. In the normal case
- of ``bal symbol'', the addend will be -4. It will only be
- different in the case of ``bal symbol+constant''. To avoid
- always reading in the section contents, we don't check the
- addend in the object file (we could easily check the contents
- if we happen to have already read them in, but I fear that
- this could be confusing). This means we will screw up if
- there is a branch to a symbol that is in range, but added to
- a constant which puts it out of range; in such a case the
- link will fail with a reloc overflow error. Since the
- compiler will never generate such code, it should be easy
- enough to work around it by changing the assembly code in the
- source file. */
- relocation -= 4;
-
- /* Now RELOCATION is the number we want to put in the object
- file. See whether it fits. */
- if (relocation >= -0x20000 && relocation < 0x20000)
- continue;
-
- /* Now that we know this reloc needs work, which will rarely
- happen, go ahead and grab the section contents. */
- if (contents == (bfd_byte *) NULL)
- {
- if (info->keep_memory)
- contents = (bfd_byte *) bfd_alloc (abfd, sec->_raw_size);
- else
- contents = (bfd_byte *) bfd_malloc (sec->_raw_size);
- if (contents == (bfd_byte *) NULL)
- goto error_return;
- if (! bfd_get_section_contents (abfd, sec, (PTR) contents,
- (file_ptr) 0, sec->_raw_size))
- goto error_return;
- if (info->keep_memory)
- section_tdata->contents = contents;
- }
-
- /* We only support changing the bal instruction. It would be
- possible to handle other PC relative branches, but some of
- them (the conditional branches) would require a different
- length instruction sequence which would complicate both this
- routine and mips_relax_pcrel16. It could be written if
- somebody felt it were important. Ignoring this reloc will
- presumably cause a reloc overflow error later on. */
- if (bfd_get_32 (abfd, contents + int_rel.r_vaddr - sec->vma)
- != 0x0411ffff) /* bgezal $0,. == bal . */
- continue;
-
- /* Bother. We need to expand this reloc, and we will need to
- make another relaxation pass since this change may put other
- relocs out of range. We need to examine the local branches
- and we need to allocate memory to hold the offsets we must
- add to them. We also need to adjust the values of all
- symbols in the object file following this location. */
-
- sec->_cooked_size += PCREL16_EXPANSION_ADJUSTMENT;
- *again = TRUE;
-
- if (offsets == (long *) NULL)
- {
- bfd_size_type size;
-
- size = (bfd_size_type) sec->reloc_count * sizeof (long);
- offsets = (long *) bfd_zalloc (abfd, size);
- if (offsets == (long *) NULL)
- goto error_return;
- section_tdata->offsets = offsets;
- }
-
- offsets[i] = 1;
-
- /* Now look for all PC relative references that cross this reloc
- and adjust their offsets. */
- adj_ext_rel = (struct external_reloc *) section_tdata->external_relocs;
- for (adj_i = 0; adj_ext_rel < ext_rel_end; adj_ext_rel++, adj_i++)
- {
- struct internal_reloc adj_int_rel;
- bfd_vma start, stop;
- int change;
-
- mips_ecoff_swap_reloc_in (abfd, (PTR) adj_ext_rel, &adj_int_rel);
-
- if (adj_int_rel.r_type == MIPS_R_PCREL16)
- {
- unsigned long insn;
-
- /* We only care about local references. External ones
- will be relocated correctly anyhow. */
- if (adj_int_rel.r_extern)
- continue;
-
- /* We are only interested in a PC relative reloc within
- this section. FIXME: Cross section PC relative
- relocs may not be handled correctly; does anybody
- care? */
- if (adj_int_rel.r_symndx != RELOC_SECTION_TEXT)
- continue;
-
- start = adj_int_rel.r_vaddr;
-
- insn = bfd_get_32 (abfd,
- contents + adj_int_rel.r_vaddr - sec->vma);
-
- stop = (insn & 0xffff) << 2;
- if ((stop & 0x20000) != 0)
- stop -= 0x40000;
- stop += adj_int_rel.r_vaddr + 4;
- }
- else if (adj_int_rel.r_type == MIPS_R_RELHI)
- {
- struct internal_reloc rello;
- long addhi, addlo;
-
- /* The next reloc must be MIPS_R_RELLO, and we handle
- them together. */
- BFD_ASSERT (adj_ext_rel + 1 < ext_rel_end);
-
- mips_ecoff_swap_reloc_in (abfd, (PTR) (adj_ext_rel + 1), &rello);
-
- BFD_ASSERT (rello.r_type == MIPS_R_RELLO);
-
- addhi = bfd_get_32 (abfd,
- contents + adj_int_rel.r_vaddr - sec->vma);
- addhi &= 0xffff;
- if (addhi & 0x8000)
- addhi -= 0x10000;
- addhi <<= 16;
-
- addlo = bfd_get_32 (abfd, contents + rello.r_vaddr - sec->vma);
- addlo &= 0xffff;
- if (addlo & 0x8000)
- addlo -= 0x10000;
-
- if (adj_int_rel.r_extern)
- {
- /* The value we want here is
- sym - RELLOaddr + addend
- which we can express as
- sym - (RELLOaddr - addend)
- Therefore if we are expanding the area between
- RELLOaddr and RELLOaddr - addend we must adjust
- the addend. This is admittedly ambiguous, since
- we might mean (sym + addend) - RELLOaddr, but in
- practice we don't, and there is no way to handle
- that case correctly since at this point we have
- no idea whether any reloc is being expanded
- between sym and sym + addend. */
- start = rello.r_vaddr - (addhi + addlo);
- stop = rello.r_vaddr;
- }
- else
- {
- /* An internal RELHI/RELLO pair represents the
- difference between two addresses, $LC0 - foo.
- The symndx value is actually the difference
- between the reloc address and $LC0. This lets us
- compute $LC0, and, by considering the addend,
- foo. If the reloc we are expanding falls between
- those two relocs, we must adjust the addend. At
- this point, the symndx value is actually in the
- r_offset field, where it was put by
- mips_ecoff_swap_reloc_in. */
- start = rello.r_vaddr - adj_int_rel.r_offset;
- stop = start + addhi + addlo;
- }
- }
- else if (adj_int_rel.r_type == MIPS_R_SWITCH)
- {
- /* A MIPS_R_SWITCH reloc represents a word of the form
- .word $L3-$LS12
- The value in the object file is correct, assuming the
- original value of $L3. The symndx value is actually
- the difference between the reloc address and $LS12.
- This lets us compute the original value of $LS12 as
- vaddr - symndx
- and the original value of $L3 as
- vaddr - symndx + addend
- where addend is the value from the object file. At
- this point, the symndx value is actually found in the
- r_offset field, since it was moved by
- mips_ecoff_swap_reloc_in. */
- start = adj_int_rel.r_vaddr - adj_int_rel.r_offset;
- stop = start + bfd_get_32 (abfd,
- (contents
- + adj_int_rel.r_vaddr
- - sec->vma));
- }
- else
- continue;
-
- /* If the range expressed by this reloc, which is the
- distance between START and STOP crosses the reloc we are
- expanding, we must adjust the offset. The sign of the
- adjustment depends upon the direction in which the range
- crosses the reloc being expanded. */
- if (start <= int_rel.r_vaddr && stop > int_rel.r_vaddr)
- change = PCREL16_EXPANSION_ADJUSTMENT;
- else if (start > int_rel.r_vaddr && stop <= int_rel.r_vaddr)
- change = - PCREL16_EXPANSION_ADJUSTMENT;
- else
- change = 0;
-
- offsets[adj_i] += change;
-
- if (adj_int_rel.r_type == MIPS_R_RELHI)
- {
- adj_ext_rel++;
- adj_i++;
- offsets[adj_i] += change;
- }
- }
-
- /* Find all symbols in this section defined by this object file
- and adjust their values. Note that we decide whether to
- adjust the value based on the value stored in the ECOFF EXTR
- structure, because the value stored in the hash table may
- have been changed by an earlier expanded reloc and thus may
- no longer correctly indicate whether the symbol is before or
- after the expanded reloc. */
- ext_count = ecoff_data (abfd)->debug_info.symbolic_header.iextMax;
- adj_h_ptr = ecoff_data (abfd)->sym_hashes;
- adj_h_ptr_end = adj_h_ptr + ext_count;
- for (; adj_h_ptr < adj_h_ptr_end; adj_h_ptr++)
- {
- struct ecoff_link_hash_entry *adj_h;
-
- adj_h = *adj_h_ptr;
- if (adj_h != (struct ecoff_link_hash_entry *) NULL
- && (adj_h->root.type == bfd_link_hash_defined
- || adj_h->root.type == bfd_link_hash_defweak)
- && adj_h->root.u.def.section == sec
- && adj_h->esym.asym.value > int_rel.r_vaddr)
- adj_h->root.u.def.value += PCREL16_EXPANSION_ADJUSTMENT;
- }
-
- /* Add an entry to the symbol value adjust list. This is used
- by bfd_ecoff_debug_accumulate to adjust the values of
- internal symbols and FDR's. */
- amt = sizeof (struct ecoff_value_adjust);
- adjust = (struct ecoff_value_adjust *) bfd_alloc (abfd, amt);
- if (adjust == (struct ecoff_value_adjust *) NULL)
- goto error_return;
-
- adjust->start = int_rel.r_vaddr;
- adjust->end = sec->vma + sec->_raw_size;
- adjust->adjust = PCREL16_EXPANSION_ADJUSTMENT;
-
- adjust->next = ecoff_data (abfd)->debug_info.adjust;
- ecoff_data (abfd)->debug_info.adjust = adjust;
- }
-
- if (contents != (bfd_byte *) NULL && ! info->keep_memory)
- free (contents);
-
- return TRUE;
-
- error_return:
- if (contents != (bfd_byte *) NULL && ! info->keep_memory)
- free (contents);
- return FALSE;
-}
-
-/* This routine is called from mips_relocate_section when a PC
- relative reloc must be expanded into the five instruction sequence.
- It handles all the details of the expansion, including resolving
- the reloc. */
-
-static bfd_boolean
-mips_relax_pcrel16 (info, input_bfd, input_section, h, location, address)
- struct bfd_link_info *info ATTRIBUTE_UNUSED;
- bfd *input_bfd;
- asection *input_section ATTRIBUTE_UNUSED;
- struct ecoff_link_hash_entry *h;
- bfd_byte *location;
- bfd_vma address;
-{
- bfd_vma relocation;
-
- /* 0x0411ffff is bgezal $0,. == bal . */
- BFD_ASSERT (bfd_get_32 (input_bfd, location) == 0x0411ffff);
-
- /* We need to compute the distance between the symbol and the
- current address plus eight. */
- relocation = (h->root.u.def.value
- + h->root.u.def.section->output_section->vma
- + h->root.u.def.section->output_offset);
- relocation -= address + 8;
-
- /* If the lower half is negative, increment the upper 16 half. */
- if ((relocation & 0x8000) != 0)
- relocation += 0x10000;
-
- bfd_put_32 (input_bfd, (bfd_vma) 0x04110001, location); /* bal .+8 */
- bfd_put_32 (input_bfd,
- 0x3c010000 | ((relocation >> 16) & 0xffff), /* lui $at,XX */
- location + 4);
- bfd_put_32 (input_bfd,
- 0x24210000 | (relocation & 0xffff), /* addiu $at,$at,XX */
- location + 8);
- bfd_put_32 (input_bfd,
- (bfd_vma) 0x003f0821, location + 12); /* addu $at,$at,$ra */
- bfd_put_32 (input_bfd,
- (bfd_vma) 0x0020f809, location + 16); /* jalr $at */
-
- return TRUE;
-}
-
-/* Given a .sdata section and a .rel.sdata in-memory section, store
- relocation information into the .rel.sdata section which can be
- used at runtime to relocate the section. This is called by the
- linker when the --embedded-relocs switch is used. This is called
- after the add_symbols entry point has been called for all the
- objects, and before the final_link entry point is called. This
- function presumes that the object was compiled using
- -membedded-pic. */
-
-bfd_boolean
-bfd_mips_ecoff_create_embedded_relocs (abfd, info, datasec, relsec, errmsg)
- bfd *abfd;
- struct bfd_link_info *info;
- asection *datasec;
- asection *relsec;
- char **errmsg;
-{
- struct ecoff_link_hash_entry **sym_hashes;
- struct ecoff_section_tdata *section_tdata;
- struct external_reloc *ext_rel;
- struct external_reloc *ext_rel_end;
- bfd_byte *p;
- bfd_size_type amt;
-
- BFD_ASSERT (! info->relocatable);
-
- *errmsg = NULL;
-
- if (datasec->reloc_count == 0)
- return TRUE;
-
- sym_hashes = ecoff_data (abfd)->sym_hashes;
-
- if (! mips_read_relocs (abfd, datasec))
- return FALSE;
-
- amt = (bfd_size_type) datasec->reloc_count * 4;
- relsec->contents = (bfd_byte *) bfd_alloc (abfd, amt);
- if (relsec->contents == NULL)
- return FALSE;
-
- p = relsec->contents;
-
- section_tdata = ecoff_section_data (abfd, datasec);
- ext_rel = (struct external_reloc *) section_tdata->external_relocs;
- ext_rel_end = ext_rel + datasec->reloc_count;
- for (; ext_rel < ext_rel_end; ext_rel++, p += 4)
- {
- struct internal_reloc int_rel;
- bfd_boolean text_relative;
-
- mips_ecoff_swap_reloc_in (abfd, (PTR) ext_rel, &int_rel);
-
- /* We are going to write a four byte word into the runtime reloc
- section. The word will be the address in the data section
- which must be relocated. This must be on a word boundary,
- which means the lower two bits must be zero. We use the
- least significant bit to indicate how the value in the data
- section must be relocated. A 0 means that the value is
- relative to the text section, while a 1 indicates that the
- value is relative to the data section. Given that we are
- assuming the code was compiled using -membedded-pic, there
- should not be any other possibilities. */
-
- /* We can only relocate REFWORD relocs at run time. */
- if (int_rel.r_type != MIPS_R_REFWORD)
- {
- *errmsg = _("unsupported reloc type");
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- if (int_rel.r_extern)
- {
- struct ecoff_link_hash_entry *h;
-
- h = sym_hashes[int_rel.r_symndx];
- /* If h is NULL, that means that there is a reloc against an
- external symbol which we thought was just a debugging
- symbol. This should not happen. */
- if (h == (struct ecoff_link_hash_entry *) NULL)
- abort ();
- if ((h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- && (h->root.u.def.section->flags & SEC_CODE) != 0)
- text_relative = TRUE;
- else
- text_relative = FALSE;
- }
- else
- {
- switch (int_rel.r_symndx)
- {
- case RELOC_SECTION_TEXT:
- text_relative = TRUE;
- break;
- case RELOC_SECTION_SDATA:
- case RELOC_SECTION_SBSS:
- case RELOC_SECTION_LIT8:
- text_relative = FALSE;
- break;
- default:
- /* No other sections should appear in -membedded-pic
- code. */
- *errmsg = _("reloc against unsupported section");
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
- }
-
- if ((int_rel.r_offset & 3) != 0)
- {
- *errmsg = _("reloc not properly aligned");
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- bfd_put_32 (abfd,
- (int_rel.r_vaddr - datasec->vma + datasec->output_offset
- + (text_relative ? 0 : 1)),
- p);
- }
-
- return TRUE;
-}
-
/* This is the ECOFF backend structure. The backend field of the
target vector points to this. */
@@ -2557,7 +1385,7 @@ static const struct ecoff_backend_data mips_ecoff_backend_data =
_bfd_generic_get_section_contents_in_window
/* Relaxing sections is MIPS specific. */
-#define _bfd_ecoff_bfd_relax_section mips_relax_section
+#define _bfd_ecoff_bfd_relax_section bfd_generic_relax_section
/* GC of sections is not done. */
#define _bfd_ecoff_bfd_gc_sections bfd_generic_gc_sections
@@ -2565,6 +1393,7 @@ static const struct ecoff_backend_data mips_ecoff_backend_data =
/* Merging of sections is not done. */
#define _bfd_ecoff_bfd_merge_sections bfd_generic_merge_sections
+#define _bfd_ecoff_bfd_is_group_section bfd_generic_is_group_section
#define _bfd_ecoff_bfd_discard_group bfd_generic_discard_group
extern const bfd_target ecoff_big_vec;
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 56e34e2..22d47c5 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -1,5 +1,5 @@
/* BFD back-end for IBM RS/6000 "XCOFF" files.
- Copyright 1990-1999, 2000, 2001, 2002, 2003
+ Copyright 1990-1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
FIXME: Can someone provide a transliteration of this name into ASCII?
Using the following chars caused a compiler warning on HIUX (so I replaced
@@ -4196,11 +4196,13 @@ const bfd_target rs6000coff_vec =
_bfd_generic_link_split_section,
bfd_generic_gc_sections,
bfd_generic_merge_sections,
+ bfd_generic_is_group_section,
bfd_generic_discard_group,
/* Dynamic */
_bfd_xcoff_get_dynamic_symtab_upper_bound,
_bfd_xcoff_canonicalize_dynamic_symtab,
+ _bfd_nodynamic_get_synthetic_symtab,
_bfd_xcoff_get_dynamic_reloc_upper_bound,
_bfd_xcoff_canonicalize_dynamic_reloc,
@@ -4438,11 +4440,13 @@ const bfd_target pmac_xcoff_vec =
_bfd_generic_link_split_section,
bfd_generic_gc_sections,
bfd_generic_merge_sections,
+ bfd_generic_is_group_section,
bfd_generic_discard_group,
/* Dynamic */
_bfd_xcoff_get_dynamic_symtab_upper_bound,
_bfd_xcoff_canonicalize_dynamic_symtab,
+ _bfd_nodynamic_get_synthetic_symtab,
_bfd_xcoff_get_dynamic_reloc_upper_bound,
_bfd_xcoff_canonicalize_dynamic_reloc,
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index ec9c695..857a4b4 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -1,5 +1,5 @@
/* BFD back-end for IBM RS/6000 "XCOFF64" files.
- Copyright 2000, 2001, 2002, 2003
+ Copyright 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written Clinton Popetz.
Contributed by Cygnus Support.
@@ -2737,11 +2737,13 @@ const bfd_target rs6000coff64_vec =
_bfd_generic_link_split_section,
bfd_generic_gc_sections,
bfd_generic_merge_sections,
+ bfd_generic_is_group_section,
bfd_generic_discard_group,
/* Dynamic */
_bfd_xcoff_get_dynamic_symtab_upper_bound,
_bfd_xcoff_canonicalize_dynamic_symtab,
+ _bfd_nodynamic_get_synthetic_symtab,
_bfd_xcoff_get_dynamic_reloc_upper_bound,
_bfd_xcoff_canonicalize_dynamic_reloc,
@@ -2980,11 +2982,13 @@ const bfd_target aix5coff64_vec =
_bfd_generic_link_split_section,
bfd_generic_gc_sections,
bfd_generic_merge_sections,
+ bfd_generic_is_group_section,
bfd_generic_discard_group,
/* Dynamic */
_bfd_xcoff_get_dynamic_symtab_upper_bound,
_bfd_xcoff_canonicalize_dynamic_symtab,
+ _bfd_nodynamic_get_synthetic_symtab,
_bfd_xcoff_get_dynamic_reloc_upper_bound,
_bfd_xcoff_canonicalize_dynamic_reloc,
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 15d9709..d495b53 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1,6 +1,6 @@
/* Support for the generic parts of most COFF variants, for BFD.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -309,6 +309,9 @@ CODE_FRAGMENT
#define STRING_SIZE_SIZE (4)
+#define DOT_DEBUG ".debug"
+#define GNU_LINKONCE_WI ".gnu.linkonce.wi."
+
static long sec_to_styp_flags
PARAMS ((const char *, flagword));
static bfd_boolean styp_to_sec_flags
@@ -428,7 +431,7 @@ sec_to_styp_flags (sec_name, sec_flags)
styp_flags = STYP_LIT;
#endif /* _LIT */
}
- else if (!strncmp (sec_name, ".debug", 6))
+ else if (!strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1))
{
/* Handle the XCOFF debug section and DWARF2 debug sections. */
if (!sec_name[6])
@@ -441,7 +444,7 @@ sec_to_styp_flags (sec_name, sec_flags)
styp_flags = STYP_DEBUG_INFO;
}
#ifdef COFF_LONG_SECTION_NAMES
- else if (!strncmp (sec_name, ".gnu.linkonce.wi.", 17))
+ else if (!strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1))
{
styp_flags = STYP_DEBUG_INFO;
}
@@ -518,7 +521,7 @@ sec_to_styp_flags (sec_name, sec_flags)
static long
sec_to_styp_flags (sec_name, sec_flags)
- const char *sec_name ATTRIBUTE_UNUSED;
+ const char *sec_name;
flagword sec_flags;
{
long styp_flags = 0;
@@ -531,6 +534,11 @@ sec_to_styp_flags (sec_name, sec_flags)
PE files. The STYP_* flags and the IMAGE_SCN_* flags overlap,
but there are more IMAGE_SCN_* flags. */
+ /* FIXME: There is no gas syntax to specify the debug section flag. */
+ if (strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
+ || strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0)
+ sec_flags = SEC_READONLY | SEC_DEBUGGING;
+
/* skip LOAD */
/* READONLY later */
/* skip RELOC */
@@ -675,12 +683,12 @@ styp_to_sec_flags (abfd, hdr, name, section, flags_ptr)
#endif
sec_flags |= SEC_ALLOC;
}
- else if (strncmp (name, ".debug", 6) == 0
+ else if (strncmp (name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
#ifdef _COMMENT
|| strcmp (name, _COMMENT) == 0
#endif
#ifdef COFF_LONG_SECTION_NAMES
- || strncmp (name, ".gnu.linkonce.wi.", 17) == 0
+ || strncmp (name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0
#endif
|| strncmp (name, ".stab", 5) == 0)
{
@@ -3004,7 +3012,7 @@ coff_compute_section_file_positions (abfd)
{
asection *dsec;
- dsec = bfd_make_section_old_way (abfd, ".debug");
+ dsec = bfd_make_section_old_way (abfd, DOT_DEBUG);
if (dsec == NULL)
abort ();
dsec->_raw_size = sz;
@@ -5556,6 +5564,10 @@ static const bfd_coff_backend_data ticoff1_swap_table =
#define coff_bfd_merge_sections bfd_generic_merge_sections
#endif
+#ifndef coff_bfd_is_group_section
+#define coff_bfd_is_group_section bfd_generic_is_group_section
+#endif
+
#ifndef coff_bfd_discard_group
#define coff_bfd_discard_group bfd_generic_discard_group
#endif
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 2f9c197..a158ca6 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -89,12 +89,17 @@ esac
case "${targ}" in
mips*-dec-bsd*)
- echo "This target is obsolete and has been removed."
+ echo "This target is obsolete and has been removed."
+ exit 1
+ ;;
+
+ mips*-*-mach3*)
+ echo "This target is obsolete and has been removed."
exit 1
;;
mips*-*-pe*)
- echo "This target is obsolete and has been removed."
+ echo "This target is obsolete and has been removed."
exit 1
;;
@@ -306,6 +311,11 @@ case "${targ}" in
targ_underscore=yes
;;
+ cr16c-*-elf*)
+ targ_defvec=bfd_elf32_cr16c_vec
+ targ_underscore=yes
+ ;;
+
cris-*-*)
targ_defvec=cris_aout_vec
targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
@@ -762,10 +772,6 @@ case "${targ}" in
targ_defvec=bfd_elf32_bigmips_vec
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
;;
- mips*-dec-mach3*)
- targ_defvec=aout_mips_little_vec
- targ_cflags=-DSTAT_FOR_EXEC
- ;;
mips*-dec-* | mips*el-*-ecoff*)
targ_defvec=ecoff_little_vec
targ_selvecs=ecoff_big_vec
@@ -792,10 +798,6 @@ case "${targ}" in
targ_defvec=ecoff_biglittle_vec
targ_selvecs="ecoff_little_vec ecoff_big_vec"
;;
- mips*-*-mach3*)
- targ_defvec=aout_mips_little_vec
- targ_cflags=-DSTAT_FOR_EXEC
- ;;
mips*-*-sysv4*)
targ_defvec=bfd_elf32_tradbigmips_vec
targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
@@ -969,7 +971,7 @@ case "${targ}" in
targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch"
;;
- powerpc-*-macos* | powerpc-*-mpw*)
+ powerpc-*-macos*)
targ_defvec=pmac_xcoff_vec
;;
powerpc-*-netware*)
diff --git a/bfd/config.in b/bfd/config.in
index ef9eca4..3224539 100644
--- a/bfd/config.in
+++ b/bfd/config.in
@@ -172,9 +172,15 @@
/* Define if you have the <sys/procfs.h> header file. */
#undef HAVE_SYS_PROCFS_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <time.h> header file. */
#undef HAVE_TIME_H
diff --git a/bfd/configure b/bfd/configure
index 424dba9..8bbd2b7 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -919,7 +919,7 @@ fi
PACKAGE=bfd
-VERSION=2.14.90
+VERSION=2.15.91
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
@@ -3327,7 +3327,7 @@ EOF
fi
-for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
+for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@@ -3459,24 +3459,11 @@ else
#include <fcntl.h>
#include <sys/mman.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -3584,7 +3571,7 @@ main()
}
EOF
-if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3612,17 +3599,17 @@ unistd.h values.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3616: checking for $ac_hdr" >&5
+echo "configure:3603: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3621 "configure"
+#line 3608 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3652,12 +3639,12 @@ done
__argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3656: checking for $ac_func" >&5
+echo "configure:3643: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3661 "configure"
+#line 3648 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3680,7 +3667,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3709,12 +3696,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3713: checking for $ac_func" >&5
+echo "configure:3700: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3718 "configure"
+#line 3705 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3737,7 +3724,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3771,19 +3758,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3775: checking for LC_MESSAGES" >&5
+echo "configure:3762: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3780 "configure"
+#line 3767 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -3804,7 +3791,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3808: checking whether NLS is requested" >&5
+echo "configure:3795: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3824,7 +3811,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3828: checking whether included gettext is requested" >&5
+echo "configure:3815: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3843,17 +3830,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3847: checking for libintl.h" >&5
+echo "configure:3834: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3852 "configure"
+#line 3839 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3857: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3870,19 +3857,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3874: checking for gettext in libc" >&5
+echo "configure:3861: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3879 "configure"
+#line 3866 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3898,7 +3885,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3902: checking for bindtextdomain in -lintl" >&5
+echo "configure:3889: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3906,7 +3893,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3910 "configure"
+#line 3897 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3917,7 +3904,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3933,19 +3920,19 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:3937: checking for gettext in libintl" >&5
+echo "configure:3924: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3942 "configure"
+#line 3929 "configure"
#include "confdefs.h"
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libintl=yes
else
@@ -3973,7 +3960,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3977: checking for $ac_word" >&5
+echo "configure:3964: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4007,12 +3994,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4011: checking for $ac_func" >&5
+echo "configure:3998: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4016 "configure"
+#line 4003 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4035,7 +4022,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4062,7 +4049,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4066: checking for $ac_word" >&5
+echo "configure:4053: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4098,7 +4085,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4102: checking for $ac_word" >&5
+echo "configure:4089: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4130,7 +4117,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 4134 "configure"
+#line 4121 "configure"
#include "confdefs.h"
int main() {
@@ -4138,7 +4125,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4170,7 +4157,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4174: checking for $ac_word" >&5
+echo "configure:4161: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4204,7 +4191,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4208: checking for $ac_word" >&5
+echo "configure:4195: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4240,7 +4227,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4244: checking for $ac_word" >&5
+echo "configure:4231: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4330,7 +4317,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4334: checking for catalogs to be installed" >&5
+echo "configure:4321: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4358,17 +4345,17 @@ echo "configure:4334: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:4362: checking for linux/version.h" >&5
+echo "configure:4349: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4367 "configure"
+#line 4354 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4446,7 +4433,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:4450: checking for a BSD compatible install" >&5
+echo "configure:4437: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4506,19 +4493,19 @@ BFD_HOST_64_BIT=
BFD_HOST_U_64_BIT=
echo $ac_n "checking for long long""... $ac_c" 1>&6
-echo "configure:4510: checking for long long" >&5
+echo "configure:4497: checking for long long" >&5
if eval "test \"`echo '$''{'bfd_cv_has_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4515 "configure"
+#line 4502 "configure"
#include "confdefs.h"
int main() {
unsigned long long ll = 18446744073709551615ULL;
; return 0; }
EOF
-if { (eval echo configure:4522: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4509: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_has_long_long=yes
else
@@ -4534,13 +4521,13 @@ echo "$ac_t""$bfd_cv_has_long_long" 1>&6
if test $bfd_cv_has_long_long = yes; then
BFD_HOST_LONG_LONG=1
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4538: checking size of long long" >&5
+echo "configure:4525: checking size of long long" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 4544 "configure"
+#line 4531 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -4550,7 +4537,7 @@ int main() {
switch (0) case 0: case (sizeof (long long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:4554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long_long=$ac_size
else
@@ -4575,13 +4562,13 @@ EOF
fi
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4579: checking size of long" >&5
+echo "configure:4566: checking size of long" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 4585 "configure"
+#line 4572 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -4591,7 +4578,7 @@ int main() {
switch (0) case 0: case (sizeof (long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:4595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long=$ac_size
else
@@ -4649,7 +4636,7 @@ if test "x$cross_compiling" = "xno"; then
EXEEXT_FOR_BUILD='$(EXEEXT)'
else
echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6
-echo "configure:4653: checking for build system executable suffix" >&5
+echo "configure:4640: checking for build system executable suffix" >&5
if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4677,17 +4664,17 @@ for ac_hdr in stddef.h string.h strings.h stdlib.h time.h unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4681: checking for $ac_hdr" >&5
+echo "configure:4668: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4686 "configure"
+#line 4673 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4717,17 +4704,17 @@ for ac_hdr in fcntl.h sys/file.h sys/time.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4721: checking for $ac_hdr" >&5
+echo "configure:4708: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4726 "configure"
+#line 4713 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4754,12 +4741,12 @@ fi
done
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:4758: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:4745: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4763 "configure"
+#line 4750 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -4768,7 +4755,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:4772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -4793,12 +4780,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:4797: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4784: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4802 "configure"
+#line 4789 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -4806,7 +4793,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:4810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -4831,7 +4818,7 @@ done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:4835: checking for opendir in -ldir" >&5
+echo "configure:4822: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4839,7 +4826,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4843 "configure"
+#line 4830 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4850,7 +4837,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4872,7 +4859,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4876: checking for opendir in -lx" >&5
+echo "configure:4863: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4880,7 +4867,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4884 "configure"
+#line 4871 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4891,7 +4878,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4916,12 +4903,12 @@ fi
for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4920: checking for $ac_func" >&5
+echo "configure:4907: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4925 "configure"
+#line 4912 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4944,7 +4931,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4971,12 +4958,12 @@ done
for ac_func in strtoull
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4975: checking for $ac_func" >&5
+echo "configure:4962: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4980 "configure"
+#line 4967 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4999,7 +4986,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -5034,12 +5021,12 @@ EOF
esac
echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6
-echo "configure:5038: checking whether strstr must be declared" >&5
+echo "configure:5025: checking whether strstr must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5043 "configure"
+#line 5030 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5060,7 +5047,7 @@ int main() {
char *(*pfn) = (char *(*)) strstr
; return 0; }
EOF
-if { (eval echo configure:5064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strstr=no
else
@@ -5081,12 +5068,12 @@ EOF
fi
echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6
-echo "configure:5085: checking whether malloc must be declared" >&5
+echo "configure:5072: checking whether malloc must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5090 "configure"
+#line 5077 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5107,7 +5094,7 @@ int main() {
char *(*pfn) = (char *(*)) malloc
; return 0; }
EOF
-if { (eval echo configure:5111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_malloc=no
else
@@ -5128,12 +5115,12 @@ EOF
fi
echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6
-echo "configure:5132: checking whether realloc must be declared" >&5
+echo "configure:5119: checking whether realloc must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5137 "configure"
+#line 5124 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5154,7 +5141,7 @@ int main() {
char *(*pfn) = (char *(*)) realloc
; return 0; }
EOF
-if { (eval echo configure:5158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_realloc=no
else
@@ -5175,12 +5162,12 @@ EOF
fi
echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6
-echo "configure:5179: checking whether free must be declared" >&5
+echo "configure:5166: checking whether free must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5184 "configure"
+#line 5171 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5201,7 +5188,7 @@ int main() {
char *(*pfn) = (char *(*)) free
; return 0; }
EOF
-if { (eval echo configure:5205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_free=no
else
@@ -5222,12 +5209,12 @@ EOF
fi
echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6
-echo "configure:5226: checking whether getenv must be declared" >&5
+echo "configure:5213: checking whether getenv must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5231 "configure"
+#line 5218 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5248,7 +5235,7 @@ int main() {
char *(*pfn) = (char *(*)) getenv
; return 0; }
EOF
-if { (eval echo configure:5252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_getenv=no
else
@@ -5348,14 +5335,6 @@ if test "${target}" = "${host}"; then
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/i860mach3.h"'
;;
- mips-dec-bsd*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsbsd.h"'
- ;;
- mips-dec-mach3*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsmach3.h"'
- ;;
mips-*-netbsd* | mips*-*-openbsd*)
COREFILE=netbsd-core.lo
;;
@@ -5366,10 +5345,6 @@ if test "${target}" = "${host}"; then
mips-sgi-irix4*) COREFILE=irix-core.lo ;;
mips-sgi-irix5*) COREFILE=irix-core.lo ;;
mips-sgi-irix6*) COREFILE=irix-core.lo ;;
- mips-*-mach3*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsmach3.h"'
- ;;
mips-*-sysv4*) ;;
mips-*-sysv* | mips-*-riscos*)
COREFILE=trad-core.lo
@@ -5436,16 +5411,16 @@ if test "${target}" = "${host}"; then
# Not all versions of AIX with -DAIX_CORE_DUMPX_CORE
# have c_impl as a member of struct core_dumpx
echo $ac_n "checking for c_impl in struct core_dumpx""... $ac_c" 1>&6
-echo "configure:5440: checking for c_impl in struct core_dumpx" >&5
+echo "configure:5415: checking for c_impl in struct core_dumpx" >&5
cat > conftest.$ac_ext <<EOF
-#line 5442 "configure"
+#line 5417 "configure"
#include "confdefs.h"
#include <core.h>
int main() {
struct core_dumpx c; c.c_impl = 0;
; return 0; }
EOF
-if { (eval echo configure:5449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ST_C_IMPL 1
@@ -5522,17 +5497,17 @@ rm -f conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5526: checking for $ac_hdr" >&5
+echo "configure:5501: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5531 "configure"
+#line 5506 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5560,12 +5535,12 @@ done
if test "$ac_cv_header_sys_procfs_h" = yes; then
echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5564: checking for prstatus_t in sys/procfs.h" >&5
+echo "configure:5539: checking for prstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5569 "configure"
+#line 5544 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5574,7 +5549,7 @@ int main() {
prstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5553: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prstatus_t=yes
else
@@ -5596,12 +5571,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6
echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5600: checking for prstatus32_t in sys/procfs.h" >&5
+echo "configure:5575: checking for prstatus32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5605 "configure"
+#line 5580 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5610,7 +5585,7 @@ int main() {
prstatus32_t avar
; return 0; }
EOF
-if { (eval echo configure:5614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prstatus32_t=yes
else
@@ -5632,12 +5607,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6
echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5636: checking for prstatus_t.pr_who in sys/procfs.h" >&5
+echo "configure:5611: checking for prstatus_t.pr_who in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5641 "configure"
+#line 5616 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5646,7 +5621,7 @@ int main() {
prstatus_t avar; void* aref = (void*) &avar.pr_who
; return 0; }
EOF
-if { (eval echo configure:5650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes
else
@@ -5668,12 +5643,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6
echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5672: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
+echo "configure:5647: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5677 "configure"
+#line 5652 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5682,7 +5657,7 @@ int main() {
prstatus32_t avar; void* aref = (void*) &avar.pr_who
; return 0; }
EOF
-if { (eval echo configure:5686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes
else
@@ -5704,12 +5679,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6
echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5708: checking for pstatus_t in sys/procfs.h" >&5
+echo "configure:5683: checking for pstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5713 "configure"
+#line 5688 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5718,7 +5693,7 @@ int main() {
pstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pstatus_t=yes
else
@@ -5740,12 +5715,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6
echo $ac_n "checking for pxstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5744: checking for pxstatus_t in sys/procfs.h" >&5
+echo "configure:5719: checking for pxstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pxstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5749 "configure"
+#line 5724 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5754,7 +5729,7 @@ int main() {
pxstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pxstatus_t=yes
else
@@ -5776,12 +5751,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pxstatus_t" 1>&6
echo $ac_n "checking for pstatus32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5780: checking for pstatus32_t in sys/procfs.h" >&5
+echo "configure:5755: checking for pstatus32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5785 "configure"
+#line 5760 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5790,7 +5765,7 @@ int main() {
pstatus32_t avar
; return 0; }
EOF
-if { (eval echo configure:5794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pstatus32_t=yes
else
@@ -5812,12 +5787,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus32_t" 1>&6
echo $ac_n "checking for prpsinfo_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5816: checking for prpsinfo_t in sys/procfs.h" >&5
+echo "configure:5791: checking for prpsinfo_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5821 "configure"
+#line 5796 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5826,7 +5801,7 @@ int main() {
prpsinfo_t avar
; return 0; }
EOF
-if { (eval echo configure:5830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prpsinfo_t=yes
else
@@ -5848,12 +5823,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo_t" 1>&6
echo $ac_n "checking for prpsinfo32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5852: checking for prpsinfo32_t in sys/procfs.h" >&5
+echo "configure:5827: checking for prpsinfo32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5857 "configure"
+#line 5832 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5862,7 +5837,7 @@ int main() {
prpsinfo32_t avar
; return 0; }
EOF
-if { (eval echo configure:5866: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes
else
@@ -5884,12 +5859,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo32_t" 1>&6
echo $ac_n "checking for psinfo_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5888: checking for psinfo_t in sys/procfs.h" >&5
+echo "configure:5863: checking for psinfo_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5893 "configure"
+#line 5868 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5898,7 +5873,7 @@ int main() {
psinfo_t avar
; return 0; }
EOF
-if { (eval echo configure:5902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_psinfo_t=yes
else
@@ -5920,12 +5895,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo_t" 1>&6
echo $ac_n "checking for psinfo32_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5924: checking for psinfo32_t in sys/procfs.h" >&5
+echo "configure:5899: checking for psinfo32_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo32_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5929 "configure"
+#line 5904 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5934,7 +5909,7 @@ int main() {
psinfo32_t avar
; return 0; }
EOF
-if { (eval echo configure:5938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_psinfo32_t=yes
else
@@ -5956,12 +5931,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo32_t" 1>&6
echo $ac_n "checking for lwpstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5960: checking for lwpstatus_t in sys/procfs.h" >&5
+echo "configure:5935: checking for lwpstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5965 "configure"
+#line 5940 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5970,7 +5945,7 @@ int main() {
lwpstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_lwpstatus_t=yes
else
@@ -5992,12 +5967,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpstatus_t" 1>&6
echo $ac_n "checking for lwpxstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:5996: checking for lwpxstatus_t in sys/procfs.h" >&5
+echo "configure:5971: checking for lwpxstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpxstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6001 "configure"
+#line 5976 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6006,7 +5981,7 @@ int main() {
lwpxstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:6010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes
else
@@ -6028,12 +6003,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpxstatus_t" 1>&6
echo $ac_n "checking for lwpstatus_t.pr_context in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:6032: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
+echo "configure:6007: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6037 "configure"
+#line 6012 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6042,7 +6017,7 @@ int main() {
lwpstatus_t avar; void* aref = (void*) &avar.pr_context
; return 0; }
EOF
-if { (eval echo configure:6046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=yes
else
@@ -6064,12 +6039,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" 1>&6
echo $ac_n "checking for lwpstatus_t.pr_reg in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:6068: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
+echo "configure:6043: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6073 "configure"
+#line 6048 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6078,7 +6053,7 @@ int main() {
lwpstatus_t avar; void* aref = (void*) &avar.pr_reg
; return 0; }
EOF
-if { (eval echo configure:6082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6057: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=yes
else
@@ -6100,12 +6075,12 @@ EOF
echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" 1>&6
echo $ac_n "checking for win32_pstatus_t in sys/procfs.h""... $ac_c" 1>&6
-echo "configure:6104: checking for win32_pstatus_t in sys/procfs.h" >&5
+echo "configure:6079: checking for win32_pstatus_t in sys/procfs.h" >&5
if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_win32_pstatus_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6109 "configure"
+#line 6084 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6114,7 +6089,7 @@ int main() {
win32_pstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:6118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes
else
@@ -6274,8 +6249,6 @@ do
aout0_big_vec) tb="$tb aout0.lo aout32.lo" ;;
aout_arm_big_vec) tb="$tb aout-arm.lo aout32.lo" ;;
aout_arm_little_vec) tb="$tb aout-arm.lo aout32.lo" ;;
- aout_mips_big_vec) tb="$tb mipsbsd.lo aout32.lo" ;;
- aout_mips_little_vec) tb="$tb mipsbsd.lo aout32.lo" ;;
apollocoff_vec) tb="$tb coff-apollo.lo" ;;
arm_epoc_pe_big_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
@@ -6299,6 +6272,7 @@ do
bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
+ bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
@@ -6586,10 +6560,10 @@ case ${host64}-${target64}-${want64} in
if test -n "$GCC" ; then
bad_64bit_gcc=no;
echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6
-echo "configure:6590: checking for gcc version with buggy 64-bit support" >&5
+echo "configure:6564: checking for gcc version with buggy 64-bit support" >&5
# Add more tests for gcc versions with non-working 64-bit support here.
cat > conftest.$ac_ext <<EOF
-#line 6593 "configure"
+#line 6567 "configure"
#include "confdefs.h"
:__GNUC__:__GNUC_MINOR__:__i386__:
EOF
@@ -6631,12 +6605,12 @@ esac
for ac_func in ftello ftello64 fseeko fseeko64
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6635: checking for $ac_func" >&5
+echo "configure:6609: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6640 "configure"
+#line 6614 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6659,7 +6633,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6685,13 +6659,13 @@ done
if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then
echo $ac_n "checking size of off_t""... $ac_c" 1>&6
-echo "configure:6689: checking size of off_t" >&5
+echo "configure:6663: checking size of off_t" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
-#line 6695 "configure"
+#line 6669 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -6701,7 +6675,7 @@ int main() {
switch (0) case 0: case (sizeof (off_t) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:6705: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_off_t=$ac_size
else
@@ -6725,7 +6699,7 @@ EOF
fi
echo $ac_n "checking file_ptr type""... $ac_c" 1>&6
-echo "configure:6729: checking file_ptr type" >&5
+echo "configure:6703: checking file_ptr type" >&5
bfd_file_ptr="long"
bfd_ufile_ptr="unsigned long"
if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \
@@ -6746,21 +6720,21 @@ test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selar
test -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
-for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
+for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6754: checking for $ac_hdr" >&5
+echo "configure:6728: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6759 "configure"
+#line 6733 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6764: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6789,12 +6763,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6793: checking for $ac_func" >&5
+echo "configure:6767: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6798 "configure"
+#line 6772 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6817,7 +6791,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6842,7 +6816,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6846: checking for working mmap" >&5
+echo "configure:6820: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6850,7 +6824,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 6854 "configure"
+#line 6828 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6878,24 +6852,11 @@ else
#include <fcntl.h>
#include <sys/mman.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -7003,7 +6964,7 @@ main()
}
EOF
-if { (eval echo configure:7007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -7028,12 +6989,12 @@ fi
for ac_func in madvise mprotect
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7032: checking for $ac_func" >&5
+echo "configure:6993: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7037 "configure"
+#line 6998 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7056,7 +7017,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
diff --git a/bfd/configure.in b/bfd/configure.in
index f970287..7d9594c 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -7,7 +7,7 @@ AC_INIT(libbfd.c)
AC_CANONICAL_SYSTEM
AC_ISC_POSIX
-AM_INIT_AUTOMAKE(bfd, 2.14.90)
+AM_INIT_AUTOMAKE(bfd, 2.15.91)
# Uncomment the next line to remove the date from the reported bfd version
#is_release=y
@@ -272,14 +272,6 @@ changequote([,])dnl
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/i860mach3.h"'
;;
- mips-dec-bsd*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsbsd.h"'
- ;;
- mips-dec-mach3*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsmach3.h"'
- ;;
mips-*-netbsd* | mips*-*-openbsd*)
COREFILE=netbsd-core.lo
;;
@@ -290,10 +282,6 @@ changequote([,])dnl
mips-sgi-irix4*) COREFILE=irix-core.lo ;;
mips-sgi-irix5*) COREFILE=irix-core.lo ;;
mips-sgi-irix6*) COREFILE=irix-core.lo ;;
- mips-*-mach3*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/mipsmach3.h"'
- ;;
mips-*-sysv4*) ;;
mips-*-sysv* | mips-*-riscos*)
COREFILE=trad-core.lo
@@ -583,8 +571,6 @@ do
aout0_big_vec) tb="$tb aout0.lo aout32.lo" ;;
aout_arm_big_vec) tb="$tb aout-arm.lo aout32.lo" ;;
aout_arm_little_vec) tb="$tb aout-arm.lo aout32.lo" ;;
- aout_mips_big_vec) tb="$tb mipsbsd.lo aout32.lo" ;;
- aout_mips_little_vec) tb="$tb mipsbsd.lo aout32.lo" ;;
apollocoff_vec) tb="$tb coff-apollo.lo" ;;
arm_epoc_pe_big_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
@@ -608,6 +594,7 @@ do
bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
+ bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
diff --git a/bfd/cpu-cr16c.c b/bfd/cpu-cr16c.c
new file mode 100644
index 0000000..0773e08
--- /dev/null
+++ b/bfd/cpu-cr16c.c
@@ -0,0 +1,38 @@
+/* BFD support for the CR16C processor.
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+
+const bfd_arch_info_type bfd_cr16c_arch =
+ {
+ 16, /* 16 bits in a word. */
+ 32, /* 32 bits in an address. */
+ 8, /* 8 bits in a byte. */
+ bfd_arch_cr16c,
+ bfd_mach_cr16c,
+ "cr16c",
+ "cr16c",
+ 1,
+ TRUE, /* The one and only. */
+ bfd_default_compatible,
+ bfd_default_scan ,
+ 0,
+ };
diff --git a/bfd/cpu-frv.c b/bfd/cpu-frv.c
index f911881..499c66d 100644
--- a/bfd/cpu-frv.c
+++ b/bfd/cpu-frv.c
@@ -43,8 +43,11 @@ static const bfd_arch_info_type arch_info_300
static const bfd_arch_info_type arch_info_400
= FRV_ARCH (bfd_mach_fr400, "fr400", FALSE, &arch_info_300);
+static const bfd_arch_info_type arch_info_450
+ = FRV_ARCH (bfd_mach_fr450, "fr450", FALSE, &arch_info_400);
+
static const bfd_arch_info_type arch_info_500
- = FRV_ARCH (bfd_mach_fr500, "fr500", FALSE, &arch_info_400);
+ = FRV_ARCH (bfd_mach_fr500, "fr500", FALSE, &arch_info_450);
static const bfd_arch_info_type arch_info_550
= FRV_ARCH (bfd_mach_fr550, "fr550", FALSE, &arch_info_500);
diff --git a/bfd/cpu-m68k.c b/bfd/cpu-m68k.c
index 71c7029..426f583 100644
--- a/bfd/cpu-m68k.c
+++ b/bfd/cpu-m68k.c
@@ -1,6 +1,6 @@
/* BFD library support routines for architectures.
Copyright 1990, 1991, 1992, 1993, 1994, 1997, 1998, 2000, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
Hacked by Steve Chamberlain of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -40,7 +40,8 @@ static const bfd_arch_info_type arch_info_struct[] =
N(bfd_mach_mcf5307, "m68k:5307", FALSE, &arch_info_struct[10]),
N(bfd_mach_mcf5407, "m68k:5407", FALSE, &arch_info_struct[11]),
N(bfd_mach_m68060, "m68k:68060", FALSE, &arch_info_struct[12]),
- N(bfd_mach_mcf528x, "m68k:528x", FALSE, 0),
+ N(bfd_mach_mcf528x, "m68k:528x", FALSE, &arch_info_struct[13]),
+ N(bfd_mach_mcfv4e, "m68k:cfv4e", FALSE, 0),
};
const bfd_arch_info_type bfd_m68k_arch =
diff --git a/bfd/cpu-sh.c b/bfd/cpu-sh.c
index 2f33240..be359df 100644
--- a/bfd/cpu-sh.c
+++ b/bfd/cpu-sh.c
@@ -1,5 +1,5 @@
/* BFD library support routines for the Renesas / SuperH SH architecture.
- Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Hacked by Steve Chamberlain of Cygnus Support.
@@ -34,7 +34,8 @@
#define SH4A_NEXT &arch_info_struct[8]
#define SH4AL_DSP_NEXT &arch_info_struct[9]
#define SH4_NOFPU_NEXT &arch_info_struct[10]
-#define SH4A_NOFPU_NEXT &arch_info_struct[11]
+#define SH4_NOMMU_NOFPU_NEXT &arch_info_struct[11]
+#define SH4A_NOFPU_NEXT &arch_info_struct[12]
#define SH64_NEXT NULL
static const bfd_arch_info_type arch_info_struct[] =
@@ -184,6 +185,20 @@ static const bfd_arch_info_type arch_info_struct[] =
32, /* 32 bits in an address */
8, /* 8 bits in a byte */
bfd_arch_sh,
+ bfd_mach_sh4_nommu_nofpu,
+ "sh", /* arch_name */
+ "sh4-nommu-nofpu", /* printable name */
+ 1,
+ FALSE, /* not the default */
+ bfd_default_compatible,
+ bfd_default_scan,
+ SH4_NOMMU_NOFPU_NEXT
+ },
+ {
+ 32, /* 32 bits in a word */
+ 32, /* 32 bits in an address */
+ 8, /* 8 bits in a byte */
+ bfd_arch_sh,
bfd_mach_sh4a_nofpu,
"sh", /* arch_name */
"sh4a-nofpu", /* printable name */
diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog
index 3316383..cc57b2b 100644
--- a/bfd/doc/ChangeLog
+++ b/bfd/doc/ChangeLog
@@ -1,3 +1,10 @@
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdint.texi: Remove all mention of elflink.h.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
For older changes see ChangeLog-9103
diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in
index 1c1fce9..136b429 100644
--- a/bfd/doc/Makefile.in
+++ b/bfd/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -117,8 +117,10 @@ WIN32LIBADD = @WIN32LIBADD@
all_backends = @all_backends@
bfd_backends = @bfd_backends@
bfd_default_target_size = @bfd_default_target_size@
+bfd_file_ptr = @bfd_file_ptr@
bfd_libs = @bfd_libs@
bfd_machines = @bfd_machines@
+bfd_ufile_ptr = @bfd_ufile_ptr@
bfd_version = @bfd_version@
bfd_version_string = @bfd_version_string@
bfdincludedir = @bfdincludedir@
diff --git a/bfd/doc/bfdint.texi b/bfd/doc/bfdint.texi
index cd29ae8..95c0096 100644
--- a/bfd/doc/bfdint.texi
+++ b/bfd/doc/bfdint.texi
@@ -1073,11 +1073,6 @@ sizes.
Like @file{elfcode.h}, but for functions that are specific to ELF core
files. This is included only by @file{elfcode.h}.
-@item elflink.h
-@cindex @file{elflink.h}
-Like @file{elfcode.h}, but for functions used by the ELF linker. This
-is included only by @file{elfcode.h}.
-
@item elfxx-target.h
@cindex @file{elfxx-target.h}
This file is the source for the generated files @file{elf32-target.h}
@@ -1482,8 +1477,7 @@ external data. @file{elfcode.h} is compiled twice, once via
@file{elfcode.h} includes functions to swap the ELF structures in and
out of external form, as well as a few more complex functions.
-Linker support is found in @file{elflink.c} and @file{elflink.h}. The
-latter file is compiled twice, for both 32 and 64 bit support. The
+Linker support is found in @file{elflink.c}. The
linker support is only used if the processor specific file defines
@samp{elf_backend_relocate_section}, which is required to relocate the
section contents. If that macro is not defined, the generic linker code
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index cfc5ae1..5991fdd 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -4526,7 +4526,6 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order)
{
asection *input_section;
bfd *input_bfd;
- struct ecoff_section_tdata *section_tdata;
bfd_size_type raw_size;
bfd_size_type cooked_size;
bfd_byte *contents = NULL;
@@ -4542,7 +4541,6 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order)
input_section = link_order->u.indirect.section;
input_bfd = input_section->owner;
- section_tdata = ecoff_section_data (input_bfd, input_section);
raw_size = input_section->_raw_size;
cooked_size = input_section->_cooked_size;
@@ -4560,39 +4558,24 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order)
if (contents == NULL && amt != 0)
goto error_return;
- /* If we are relaxing, the contents may have already been read into
- memory, in which case we copy them into our new buffer. We don't
- simply reuse the old buffer in case cooked_size > raw_size. */
- if (section_tdata != (struct ecoff_section_tdata *) NULL
- && section_tdata->contents != (bfd_byte *) NULL)
- memcpy (contents, section_tdata->contents, (size_t) raw_size);
- else
- {
- if (! bfd_get_section_contents (input_bfd, input_section,
- (PTR) contents,
- (file_ptr) 0, raw_size))
- goto error_return;
- }
+ if (! bfd_get_section_contents (input_bfd, input_section,
+ (PTR) contents,
+ (file_ptr) 0, raw_size))
+ goto error_return;
/* Get the relocs. If we are relaxing MIPS code, they will already
have been read in. Otherwise, we read them in now. */
external_reloc_size = ecoff_backend (input_bfd)->external_reloc_size;
external_relocs_size = external_reloc_size * input_section->reloc_count;
- if (section_tdata != (struct ecoff_section_tdata *) NULL
- && section_tdata->external_relocs != NULL)
- external_relocs = section_tdata->external_relocs;
- else
- {
- external_relocs = (PTR) bfd_malloc (external_relocs_size);
- if (external_relocs == NULL && external_relocs_size != 0)
- goto error_return;
+ external_relocs = (PTR) bfd_malloc (external_relocs_size);
+ if (external_relocs == NULL && external_relocs_size != 0)
+ goto error_return;
- if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0
- || (bfd_bread (external_relocs, external_relocs_size, input_bfd)
- != external_relocs_size))
- goto error_return;
- }
+ if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0
+ || (bfd_bread (external_relocs, external_relocs_size, input_bfd)
+ != external_relocs_size))
+ goto error_return;
/* Relocate the section contents. */
if (! ((*ecoff_backend (input_bfd)->relocate_section)
@@ -4625,14 +4608,14 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order)
if (contents != NULL)
free (contents);
- if (external_relocs != NULL && section_tdata == NULL)
+ if (external_relocs != NULL)
free (external_relocs);
return TRUE;
error_return:
if (contents != NULL)
free (contents);
- if (external_relocs != NULL && section_tdata == NULL)
+ if (external_relocs != NULL)
free (external_relocs);
return FALSE;
}
diff --git a/bfd/ecofflink.c b/bfd/ecofflink.c
index 9e23848..9abf9d1 100644
--- a/bfd/ecofflink.c
+++ b/bfd/ecofflink.c
@@ -800,20 +800,6 @@ bfd_ecoff_debug_accumulate (handle, output_bfd, output_debug, output_swap,
fdr_adr = fdr.adr;
- /* Adjust the FDR address for any changes that may have been
- made by relaxing. */
- if (input_debug->adjust != (struct ecoff_value_adjust *) NULL)
- {
- struct ecoff_value_adjust *adjust;
-
- for (adjust = input_debug->adjust;
- adjust != (struct ecoff_value_adjust *) NULL;
- adjust = adjust->next)
- if (fdr_adr >= adjust->start
- && fdr_adr < adjust->end)
- fdr.adr += adjust->adjust;
- }
-
/* FIXME: It is conceivable that this FDR points to the .init or
.fini section, in which case this will not do the right
thing. */
@@ -856,19 +842,6 @@ bfd_ecoff_debug_accumulate (handle, output_bfd, output_debug, output_swap,
case stLabel:
case stProc:
case stStaticProc:
- if (input_debug->adjust != (struct ecoff_value_adjust *) NULL)
- {
- bfd_vma value;
- struct ecoff_value_adjust *adjust;
-
- value = internal_sym.value;
- for (adjust = input_debug->adjust;
- adjust != (struct ecoff_value_adjust *) NULL;
- adjust = adjust->next)
- if (value >= adjust->start
- && value < adjust->end)
- internal_sym.value += adjust->adjust;
- }
internal_sym.value += section_adjust[internal_sym.sc];
break;
@@ -978,9 +951,8 @@ bfd_ecoff_debug_accumulate (handle, output_bfd, output_debug, output_swap,
output_symhdr->issMax += fdr.cbSs;
}
- if ((output_bfd->xvec->header_byteorder
- == input_bfd->xvec->header_byteorder)
- && input_debug->adjust == (struct ecoff_value_adjust *) NULL)
+ if (output_bfd->xvec->header_byteorder
+ == input_bfd->xvec->header_byteorder)
{
/* The two BFD's have the same endianness, and we don't have
to adjust the PDR addresses, so simply copying the
@@ -1036,23 +1008,6 @@ bfd_ecoff_debug_accumulate (handle, output_bfd, output_debug, output_swap,
PDR pdr;
(*input_swap->swap_pdr_in) (input_bfd, (PTR) in, &pdr);
-
- /* If we have been relaxing, we may have to adjust the
- address. */
- if (input_debug->adjust != (struct ecoff_value_adjust *) NULL)
- {
- bfd_vma adr;
- struct ecoff_value_adjust *adjust;
-
- adr = fdr_adr + pdr.adr;
- for (adjust = input_debug->adjust;
- adjust != (struct ecoff_value_adjust *) NULL;
- adjust = adjust->next)
- if (adr >= adjust->start
- && adr < adjust->end)
- pdr.adr += adjust->adjust;
- }
-
(*output_swap->swap_pdr_out) (output_bfd, &pdr, (PTR) out);
}
diff --git a/bfd/ecoffswap.h b/bfd/ecoffswap.h
index 7ea0394..0e77052 100644
--- a/bfd/ecoffswap.h
+++ b/bfd/ecoffswap.h
@@ -324,8 +324,6 @@ ecoff_swap_fdr_out (abfd, intern_copy, ext_ptr)
#endif
}
-#ifndef MPW_C
-
/* Swap in the procedure descriptor record. */
static void
@@ -454,78 +452,6 @@ ecoff_swap_pdr_out (abfd, intern_copy, ext_ptr)
#endif
}
-#else /* MPW_C */
-/* Same routines, but with ECOFF_64 code removed, so ^&%$#&! MPW C doesn't
- corrupt itself and then freak out. */
-/* Swap in the procedure descriptor record. */
-
-static void
-ecoff_swap_pdr_in (abfd, ext_copy, intern)
- bfd *abfd;
- PTR ext_copy;
- PDR *intern;
-{
- struct pdr_ext ext[1];
-
- *ext = *(struct pdr_ext *) ext_copy;
-
- intern->adr = ECOFF_GET_OFF (abfd, ext->p_adr);
- intern->isym = H_GET_32 (abfd, ext->p_isym);
- intern->iline = H_GET_32 (abfd, ext->p_iline);
- intern->regmask = H_GET_32 (abfd, ext->p_regmask);
- intern->regoffset = H_GET_S32 (abfd, ext->p_regoffset);
- intern->iopt = H_GET_S32 (abfd, ext->p_iopt);
- intern->fregmask = H_GET_32 (abfd, ext->p_fregmask);
- intern->fregoffset = H_GET_S32 (abfd, ext->p_fregoffset);
- intern->frameoffset = H_GET_S32 (abfd, ext->p_frameoffset);
- intern->framereg = H_GET_16 (abfd, ext->p_framereg);
- intern->pcreg = H_GET_16 (abfd, ext->p_pcreg);
- intern->lnLow = H_GET_32 (abfd, ext->p_lnLow);
- intern->lnHigh = H_GET_32 (abfd, ext->p_lnHigh);
- intern->cbLineOffset = ECOFF_GET_OFF (abfd, ext->p_cbLineOffset);
-
-#ifdef TEST
- if (memcmp ((char *)ext, (char *)intern, sizeof (*intern)) != 0)
- abort ();
-#endif
-}
-
-/* Swap out the procedure descriptor record. */
-
-static void
-ecoff_swap_pdr_out (abfd, intern_copy, ext_ptr)
- bfd *abfd;
- const PDR *intern_copy;
- PTR ext_ptr;
-{
- struct pdr_ext *ext = (struct pdr_ext *) ext_ptr;
- PDR intern[1];
-
- /* Make it reasonable to do in-place. */
- *intern = *intern_copy;
-
- ECOFF_PUT_OFF (abfd, intern->adr, ext->p_adr);
- H_PUT_32 (abfd, intern->isym, ext->p_isym);
- H_PUT_32 (abfd, intern->iline, ext->p_iline);
- H_PUT_32 (abfd, intern->regmask, ext->p_regmask);
- H_PUT_32 (abfd, intern->regoffset, ext->p_regoffset);
- H_PUT_32 (abfd, intern->iopt, ext->p_iopt);
- H_PUT_32 (abfd, intern->fregmask, ext->p_fregmask);
- H_PUT_32 (abfd, intern->fregoffset, ext->p_fregoffset);
- H_PUT_32 (abfd, intern->frameoffset, ext->p_frameoffset);
- H_PUT_16 (abfd, intern->framereg, ext->p_framereg);
- H_PUT_16 (abfd, intern->pcreg, ext->p_pcreg);
- H_PUT_32 (abfd, intern->lnLow, ext->p_lnLow);
- H_PUT_32 (abfd, intern->lnHigh, ext->p_lnHigh);
- ECOFF_PUT_OFF (abfd, intern->cbLineOffset, ext->p_cbLineOffset);
-
-#ifdef TEST
- if (memcmp ((char *)ext, (char *)intern, sizeof (*intern)) != 0)
- abort ();
-#endif
-}
-#endif /* MPW_C */
-
/* Swap in a symbol record. */
static void
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 6bbacad..9d0ec36 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1,6 +1,6 @@
/* BFD back-end data structures for ELF files.
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003 Free Software Foundation, Inc.
+ 2002, 2003, 2004 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -492,6 +492,7 @@ struct elf_reloc_cookie
size_t locsymcount;
size_t extsymoff;
struct elf_link_hash_entry **sym_hashes;
+ int r_sym_shift;
bfd_boolean bad_symtab;
};
@@ -596,7 +597,7 @@ struct elf_backend_data
/* A function to convert machine dependent section header flags to
BFD internal section header flags. */
bfd_boolean (*elf_backend_section_flags)
- (flagword *, Elf_Internal_Shdr *);
+ (flagword *, const Elf_Internal_Shdr *);
/* A function to handle unusual program segment types when creating BFD
sections from ELF program segments. */
@@ -625,7 +626,7 @@ struct elf_backend_data
indices, and must set at least *FLAGS and *SEC for each processor
dependent case; failure to do so will cause a link error. */
bfd_boolean (*elf_add_symbol_hook)
- (bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *,
+ (bfd *abfd, struct bfd_link_info *info, Elf_Internal_Sym *,
const char **name, flagword *flags, asection **sec, bfd_vma *value);
/* If this field is not NULL, it is called by the elf_link_output_sym
@@ -860,6 +861,24 @@ struct elf_backend_data
bfd_boolean (*elf_backend_ignore_discarded_relocs)
(asection *);
+ /* These functions tell elf-eh-frame whether to attempt to turn
+ absolute or lsda encodings into pc-relative ones. The default
+ definition enables these transformations. */
+ bfd_boolean (*elf_backend_can_make_relative_eh_frame)
+ (bfd *, struct bfd_link_info *, asection *);
+ bfd_boolean (*elf_backend_can_make_lsda_relative_eh_frame)
+ (bfd *, struct bfd_link_info *, asection *);
+
+ /* This function returns an encoding after computing the encoded
+ value (and storing it in ENCODED) for the given OFFSET into OSEC,
+ to be stored in at LOC_OFFSET into the LOC_SEC input section.
+ The default definition chooses a 32-bit PC-relative encoding. */
+ bfd_byte (*elf_backend_encode_eh_address)
+ (bfd *abfd, struct bfd_link_info *info,
+ asection *osec, bfd_vma offset,
+ asection *loc_sec, bfd_vma loc_offset,
+ bfd_vma *encoded);
+
/* This function, if defined, may write out the given section.
Returns TRUE if it did so and FALSE if the caller should. */
bfd_boolean (*elf_backend_write_section)
@@ -883,6 +902,13 @@ struct elf_backend_data
(bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
int (*target_read_memory) (bfd_vma vma, char *myaddr, int len));
+ /* This function is used by `_bfd_elf_get_synthetic_symtab';
+ see elf.c. */
+ bfd_vma (*plt_sym_val) (bfd_vma, const asection *, const arelent *);
+
+ /* Name of the PLT relocation section. */
+ const char *relplt_name;
+
/* Alternate EM_xxxx machine codes for this backend. */
int elf_machine_alt1;
int elf_machine_alt2;
@@ -1114,9 +1140,6 @@ struct elf_obj_tdata
bfd_vma gp; /* The gp value */
unsigned int gp_size; /* The gp size */
- Elf_Internal_Shdr **group_sect_ptr;
- int num_group;
-
/* Information grabbed from an elf core file. */
int core_signal;
int core_pid;
@@ -1124,10 +1147,6 @@ struct elf_obj_tdata
char* core_program;
char* core_command;
- /* This is set to TRUE if the object was created by the backend
- linker. */
- bfd_boolean linker;
-
/* A mapping from external symbols to entries in the linker hash
table, used when linking. This is indexed by the symbol index
minus the sh_info field of the symbol table header. */
@@ -1153,21 +1172,6 @@ struct elf_obj_tdata
one. */
const char *dt_name;
- /* When a reference in a regular object is resolved by a shared
- object is loaded into via the DT_NEEDED entries by the linker
- ELF emulation code, we need to add the shared object to the
- DT_NEEDED list of the resulting binary to indicate the dependency
- as if the -l option is passed to the linker. This field holds the
- name of the loaded shared object. */
- const char *dt_soname;
-
- /* Irix 5 often screws up the symbol table, sorting local symbols
- after global symbols. This flag is set if the symbol table in
- this BFD appears to be screwed up. If it is, we ignore the
- sh_info field in the symbol table header, and always read all the
- symbols. */
- bfd_boolean bad_symtab;
-
/* Records the result of `get_program_header_size'. */
bfd_size_type program_header_size;
@@ -1195,8 +1199,8 @@ struct elf_obj_tdata
created. */
asection *eh_frame_hdr;
- /* Used to determine if the e_flags field has been initialized */
- bfd_boolean flags_init;
+ Elf_Internal_Shdr **group_sect_ptr;
+ int num_group;
/* Number of symbol version definitions we are about to emit. */
unsigned int cverdefs;
@@ -1219,6 +1223,25 @@ struct elf_obj_tdata
asymbol *elf_text_symbol;
asection *elf_data_section;
asection *elf_text_section;
+
+ /* Whether a dyanmic object was specified normally on the linker
+ command line, or was specified when --as-needed was in effect,
+ or was found via a DT_NEEDED entry. */
+ enum dynamic_lib_link_class dyn_lib_class;
+
+ /* This is set to TRUE if the object was created by the backend
+ linker. */
+ bfd_boolean linker;
+
+ /* Irix 5 often screws up the symbol table, sorting local symbols
+ after global symbols. This flag is set if the symbol table in
+ this BFD appears to be screwed up. If it is, we ignore the
+ sh_info field in the symbol table header, and always read all the
+ symbols. */
+ bfd_boolean bad_symtab;
+
+ /* Used to determine if the e_flags field has been initialized */
+ bfd_boolean flags_init;
};
#define elf_tdata(bfd) ((bfd) -> tdata.elf_obj_data)
@@ -1245,7 +1268,7 @@ struct elf_obj_tdata
#define elf_local_got_offsets(bfd) (elf_tdata(bfd) -> local_got.offsets)
#define elf_local_got_ents(bfd) (elf_tdata(bfd) -> local_got.ents)
#define elf_dt_name(bfd) (elf_tdata(bfd) -> dt_name)
-#define elf_dt_soname(bfd) (elf_tdata(bfd) -> dt_soname)
+#define elf_dyn_lib_class(bfd) (elf_tdata(bfd) -> dyn_lib_class)
#define elf_bad_symtab(bfd) (elf_tdata(bfd) -> bad_symtab)
#define elf_flags_init(bfd) (elf_tdata(bfd) -> flags_init)
@@ -1293,14 +1316,17 @@ extern void bfd_elf_print_symbol
bfd_elf_string_from_elf_section (abfd, elf_elfheader(abfd)->e_shstrndx, \
strindex)
-#define bfd_elf32_print_symbol bfd_elf_print_symbol
-#define bfd_elf64_print_symbol bfd_elf_print_symbol
-
extern void _bfd_elf_sprintf_vma
(bfd *, char *, bfd_vma);
extern void _bfd_elf_fprintf_vma
(bfd *, void *, bfd_vma);
+extern bfd_byte _bfd_elf_encode_eh_address
+ (bfd *abfd, struct bfd_link_info *info, asection *osec, bfd_vma offset,
+ asection *loc_sec, bfd_vma loc_offset, bfd_vma *encoded);
+extern bfd_boolean _bfd_elf_can_make_relative
+ (bfd *input_bfd, struct bfd_link_info *info, asection *eh_frame_section);
+
extern enum elf_reloc_type_class _bfd_elf_reloc_type_class
(const Elf_Internal_Rela *);
extern bfd_vma _bfd_elf_rela_local_sym
@@ -1342,6 +1368,8 @@ extern bfd_boolean _bfd_elf_slurp_version_tables
(bfd *);
extern bfd_boolean _bfd_elf_merge_sections
(bfd *, struct bfd_link_info *);
+extern bfd_boolean bfd_elf_is_group_section
+ (bfd *, const struct bfd_section *);
extern bfd_boolean bfd_elf_discard_group
(bfd *, struct bfd_section *);
extern void bfd_elf_set_group_contents
@@ -1366,6 +1394,8 @@ extern long _bfd_elf_get_dynamic_symtab_upper_bound
(bfd *);
extern long _bfd_elf_canonicalize_dynamic_symtab
(bfd *, asymbol **);
+extern long _bfd_elf_get_synthetic_symtab
+ (bfd *, asymbol **, asymbol **);
extern long _bfd_elf_get_reloc_upper_bound
(bfd *, sec_ptr);
extern long _bfd_elf_canonicalize_reloc
@@ -1455,12 +1485,12 @@ extern bfd_boolean _bfd_elf_maybe_strip_eh_frame_hdr
extern bfd_boolean _bfd_elf_merge_symbol
(bfd *, struct bfd_link_info *, const char *, Elf_Internal_Sym *,
asection **, bfd_vma *, struct elf_link_hash_entry **, bfd_boolean *,
- bfd_boolean *, bfd_boolean *, bfd_boolean *, bfd_boolean);
+ bfd_boolean *, bfd_boolean *, bfd_boolean *);
extern bfd_boolean _bfd_elf_add_default_symbol
(bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
const char *, Elf_Internal_Sym *, asection **, bfd_vma *,
- bfd_boolean *, bfd_boolean, bfd_boolean);
+ bfd_boolean *, bfd_boolean);
extern bfd_boolean _bfd_elf_export_symbol
(struct elf_link_hash_entry *, void *);
@@ -1471,8 +1501,6 @@ extern bfd_boolean _bfd_elf_link_find_version_dependencies
extern bfd_boolean _bfd_elf_link_assign_sym_version
(struct elf_link_hash_entry *, void *);
-extern bfd_boolean _bfd_elf_link_record_dynamic_symbol
- (struct bfd_link_info *, struct elf_link_hash_entry *);
extern long _bfd_elf_link_lookup_local_dynindx
(struct bfd_link_info *, bfd *, long);
extern bfd_boolean _bfd_elf_compute_section_file_positions
@@ -1534,11 +1562,6 @@ extern int bfd_elf32_core_file_failing_signal
extern bfd_boolean bfd_elf32_core_file_matches_executable_p
(bfd *, bfd *);
-extern bfd_boolean bfd_elf32_bfd_link_add_symbols
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf32_bfd_final_link
- (bfd *, struct bfd_link_info *);
-
extern void bfd_elf32_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
extern void bfd_elf32_swap_symbol_out
@@ -1569,8 +1592,6 @@ extern void bfd_elf32_write_relocs
(bfd *, asection *, void *);
extern bfd_boolean bfd_elf32_slurp_reloc_table
(bfd *, asection *, asymbol **, bfd_boolean);
-extern bfd_boolean bfd_elf32_add_dynamic_entry
- (struct bfd_link_info *, bfd_vma, bfd_vma);
extern const bfd_target *bfd_elf64_object_p
(bfd *);
@@ -1582,10 +1603,6 @@ extern int bfd_elf64_core_file_failing_signal
(bfd *);
extern bfd_boolean bfd_elf64_core_file_matches_executable_p
(bfd *, bfd *);
-extern bfd_boolean bfd_elf64_bfd_link_add_symbols
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf64_bfd_final_link
- (bfd *, struct bfd_link_info *);
extern void bfd_elf64_swap_symbol_in
(bfd *, const void *, const void *, Elf_Internal_Sym *);
@@ -1617,20 +1634,17 @@ extern void bfd_elf64_write_relocs
(bfd *, asection *, void *);
extern bfd_boolean bfd_elf64_slurp_reloc_table
(bfd *, asection *, asymbol **, bfd_boolean);
-extern bfd_boolean bfd_elf64_add_dynamic_entry
+
+extern bfd_boolean bfd_elf_link_add_symbols
+ (bfd *, struct bfd_link_info *);
+extern bfd_boolean _bfd_elf_add_dynamic_entry
(struct bfd_link_info *, bfd_vma, bfd_vma);
-#define bfd_elf32_link_record_dynamic_symbol \
- _bfd_elf_link_record_dynamic_symbol
-#define bfd_elf64_link_record_dynamic_symbol \
- _bfd_elf_link_record_dynamic_symbol
+extern bfd_boolean bfd_elf_link_record_dynamic_symbol
+ (struct bfd_link_info *, struct elf_link_hash_entry *);
-extern int elf_link_record_local_dynamic_symbol
+extern int bfd_elf_link_record_local_dynamic_symbol
(struct bfd_link_info *, bfd *, long);
-#define _bfd_elf32_link_record_local_dynamic_symbol \
- elf_link_record_local_dynamic_symbol
-#define _bfd_elf64_link_record_local_dynamic_symbol \
- elf_link_record_local_dynamic_symbol
extern bfd_boolean _bfd_elf_close_and_cleanup
(bfd *);
@@ -1638,31 +1652,25 @@ extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn
(bfd *, arelent *, struct bfd_symbol *, void *,
asection *, bfd *, char **);
-extern bfd_boolean _bfd_elf32_gc_sections
+extern bfd_boolean bfd_elf_final_link
(bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf32_gc_common_finalize_got_offsets
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf32_gc_common_final_link
+
+extern bfd_boolean bfd_elf_gc_sections
(bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf32_gc_record_vtinherit
+
+extern bfd_boolean bfd_elf_gc_record_vtinherit
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
-extern bfd_boolean _bfd_elf32_gc_record_vtentry
+
+extern bfd_boolean bfd_elf_gc_record_vtentry
(bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
-extern bfd_boolean _bfd_elf64_gc_sections
- (bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf64_gc_common_finalize_got_offsets
+extern bfd_boolean bfd_elf_gc_common_finalize_got_offsets
(bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf64_gc_common_final_link
+
+extern bfd_boolean bfd_elf_gc_common_final_link
(bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_elf64_gc_record_vtinherit
- (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
-extern bfd_boolean _bfd_elf64_gc_record_vtentry
- (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma);
-extern bfd_boolean _bfd_elf32_reloc_symbol_deleted_p
- (bfd_vma, void *);
-extern bfd_boolean _bfd_elf64_reloc_symbol_deleted_p
+extern bfd_boolean bfd_elf_reloc_symbol_deleted_p
(bfd_vma, void *);
/* Exported interface for writing elf corefile notes. */
@@ -1693,60 +1701,73 @@ extern bfd *_bfd_elf64_bfd_from_remote_memory
extern bfd_boolean _sh_elf_set_mach_from_flags
(bfd *);
+/* This is the condition under which finish_dynamic_symbol will be called.
+ If our finish_dynamic_symbol isn't called, we'll need to do something
+ about initializing any .plt and .got entries in relocate_section. */
+#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
+ ((DYN) \
+ && ((SHARED) \
+ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
+ && ((H)->dynindx != -1 \
+ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
+
/* This macro is to avoid lots of duplicated code in the body
of xxx_relocate_section() in the various elfxx-xxxx.c files. */
-#define RELOC_FOR_GLOBAL_SYMBOL(h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned) \
- do \
- { \
- /* It seems this can happen with erroneous or unsupported \
- input (mixing a.out and elf in an archive, for example.) */ \
- if (sym_hashes == NULL) \
- return FALSE; \
- \
- h = sym_hashes[r_symndx - symtab_hdr->sh_info]; \
- \
- while (h->root.type == bfd_link_hash_indirect \
- || h->root.type == bfd_link_hash_warning) \
- h = (struct elf_link_hash_entry *) h->root.u.i.link; \
- \
- warned = FALSE; \
- unresolved_reloc = FALSE; \
- relocation = 0; \
- if (h->root.type == bfd_link_hash_defined \
- || h->root.type == bfd_link_hash_defweak) \
- { \
- sec = h->root.u.def.section; \
- if (sec == NULL \
- || sec->output_section == NULL) \
- /* Set a flag that will be cleared later if we find a \
- relocation value for this symbol. output_section \
- is typically NULL for symbols satisfied by a shared \
- library. */ \
- unresolved_reloc = TRUE; \
- else \
- relocation = (h->root.u.def.value \
- + sec->output_section->vma \
- + sec->output_offset); \
- } \
- else if (h->root.type == bfd_link_hash_undefweak) \
- ; \
- else if (!info->executable \
- && info->unresolved_syms_in_objects == RM_IGNORE \
- && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \
- ; \
- else \
- { \
- if (! info->callbacks->undefined_symbol \
- (info, h->root.root.string, input_bfd, \
- input_section, rel->r_offset, \
- ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR) \
- || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR) \
- || ELF_ST_VISIBILITY (h->other)) \
- )) \
- return FALSE; \
- warned = TRUE; \
- } \
- } \
+#define RELOC_FOR_GLOBAL_SYMBOL(info, input_bfd, input_section, rel, \
+ r_symndx, symtab_hdr, sym_hashes, \
+ h, sec, relocation, \
+ unresolved_reloc, warned) \
+ do \
+ { \
+ /* It seems this can happen with erroneous or unsupported \
+ input (mixing a.out and elf in an archive, for example.) */ \
+ if (sym_hashes == NULL) \
+ return FALSE; \
+ \
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; \
+ \
+ while (h->root.type == bfd_link_hash_indirect \
+ || h->root.type == bfd_link_hash_warning) \
+ h = (struct elf_link_hash_entry *) h->root.u.i.link; \
+ \
+ warned = FALSE; \
+ unresolved_reloc = FALSE; \
+ relocation = 0; \
+ if (h->root.type == bfd_link_hash_defined \
+ || h->root.type == bfd_link_hash_defweak) \
+ { \
+ sec = h->root.u.def.section; \
+ if (sec == NULL \
+ || sec->output_section == NULL) \
+ /* Set a flag that will be cleared later if we find a \
+ relocation value for this symbol. output_section \
+ is typically NULL for symbols satisfied by a shared \
+ library. */ \
+ unresolved_reloc = TRUE; \
+ else \
+ relocation = (h->root.u.def.value \
+ + sec->output_section->vma \
+ + sec->output_offset); \
+ } \
+ else if (h->root.type == bfd_link_hash_undefweak) \
+ ; \
+ else if (info->unresolved_syms_in_objects == RM_IGNORE \
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT) \
+ ; \
+ else \
+ { \
+ bfd_boolean err; \
+ err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR \
+ || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT); \
+ if (!info->callbacks->undefined_symbol (info, \
+ h->root.root.string, \
+ input_bfd, \
+ input_section, \
+ rel->r_offset, err)) \
+ return FALSE; \
+ warned = TRUE; \
+ } \
+ } \
while (0)
#endif /* _LIBELF_H_ */
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 28e0b55..d3777b4 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -518,10 +518,16 @@ _bfd_elf_discard_section_eh_frame
/* For shared libraries, try to get rid of as many RELATIVE relocs
as possible. */
if (info->shared
+ && (get_elf_backend_data (abfd)
+ ->elf_backend_can_make_relative_eh_frame
+ (abfd, info, sec))
&& (cie.fde_encoding & 0xf0) == DW_EH_PE_absptr)
cie.make_relative = 1;
if (info->shared
+ && (get_elf_backend_data (abfd)
+ ->elf_backend_can_make_lsda_relative_eh_frame
+ (abfd, info, sec))
&& (cie.lsda_encoding & 0xf0) == DW_EH_PE_absptr)
cie.make_lsda_relative = 1;
@@ -1120,6 +1126,7 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
asection *eh_frame_sec;
bfd_size_type size;
bfd_boolean retval;
+ bfd_vma encoded_eh_frame;
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
@@ -1143,7 +1150,10 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
memset (contents, 0, EH_FRAME_HDR_SIZE);
contents[0] = 1; /* Version. */
- contents[1] = DW_EH_PE_pcrel | DW_EH_PE_sdata4; /* .eh_frame offset. */
+ contents[1] = get_elf_backend_data (abfd)->elf_backend_encode_eh_address
+ (abfd, info, eh_frame_sec, 0, sec, 4,
+ &encoded_eh_frame); /* .eh_frame offset. */
+
if (hdr_info->array && hdr_info->array_count == hdr_info->fde_count)
{
contents[2] = DW_EH_PE_udata4; /* FDE count encoding. */
@@ -1154,8 +1164,8 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
contents[2] = DW_EH_PE_omit;
contents[3] = DW_EH_PE_omit;
}
- bfd_put_32 (abfd, eh_frame_sec->vma - sec->output_section->vma - 4,
- contents + 4);
+ bfd_put_32 (abfd, encoded_eh_frame, contents + 4);
+
if (contents[2] != DW_EH_PE_omit)
{
unsigned int i;
@@ -1181,3 +1191,29 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
free (contents);
return retval;
}
+
+/* Decide whether we can use a PC-relative encoding within the given
+ EH frame section. This is the default implementation. */
+
+bfd_boolean
+_bfd_elf_can_make_relative (bfd *input_bfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *eh_frame_section ATTRIBUTE_UNUSED)
+{
+ return TRUE;
+}
+
+/* Select an encoding for the given address. Preference is given to
+ PC-relative addressing modes. */
+
+bfd_byte
+_bfd_elf_encode_eh_address (bfd *abfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *osec, bfd_vma offset,
+ asection *loc_sec, bfd_vma loc_offset,
+ bfd_vma *encoded)
+{
+ *encoded = osec->vma + offset -
+ (loc_sec->output_section->vma + loc_sec->output_offset + loc_offset);
+ return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h
index a5c0b44..1f79147 100644
--- a/bfd/elf-hppa.h
+++ b/bfd/elf-hppa.h
@@ -1,5 +1,6 @@
/* Common code for PA ELF implementations.
- Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -31,7 +32,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define elf_hppa_reloc_final_type elf64_hppa_reloc_final_type
#define _bfd_elf_hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type
#define elf_hppa_relocate_section elf64_hppa_relocate_section
-#define bfd_elf_bfd_final_link bfd_elf64_bfd_final_link
#define elf_hppa_final_link elf64_hppa_final_link
#endif
#if ARCH_SIZE == 32
@@ -40,7 +40,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define elf_hppa_reloc_final_type elf32_hppa_reloc_final_type
#define _bfd_elf_hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type
#define elf_hppa_relocate_section elf32_hppa_relocate_section
-#define bfd_elf_bfd_final_link bfd_elf32_bfd_final_link
#define elf_hppa_final_link elf32_hppa_final_link
#endif
@@ -812,6 +811,28 @@ elf_hppa_reloc_final_type (bfd *abfd,
}
break;
+ case 32:
+ switch (field)
+ {
+ case e_fsel:
+ final_type = R_PARISC_PCREL32;
+ break;
+ default:
+ return R_PARISC_NONE;
+ }
+ break;
+
+ case 64:
+ switch (field)
+ {
+ case e_fsel:
+ final_type = R_PARISC_PCREL64;
+ break;
+ default:
+ return R_PARISC_NONE;
+ }
+ break;
+
default:
return R_PARISC_NONE;
}
@@ -1048,7 +1069,7 @@ static bfd_boolean elf_hppa_sort_unwind (bfd *abfd)
static bfd_boolean
elf_hppa_add_symbol_hook (bfd *abfd,
struct bfd_link_info *info ATTRIBUTE_UNUSED,
- const Elf_Internal_Sym *sym,
+ Elf_Internal_Sym *sym,
const char **namep ATTRIBUTE_UNUSED,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp,
@@ -1096,8 +1117,7 @@ elf_hppa_unmark_useless_dynamic_symbols (struct elf_link_hash_entry *h,
Ultimately we should have better controls over the generic ELF BFD
linker code. */
if (! info->relocatable
- && ! (info->shared
- && info->unresolved_syms_in_shared_libs == RM_IGNORE)
+ && info->unresolved_syms_in_shared_libs != RM_IGNORE
&& h->root.type == bfd_link_hash_undefined
&& (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0
&& (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0)
@@ -1131,8 +1151,7 @@ elf_hppa_remark_useless_dynamic_symbols (struct elf_link_hash_entry *h,
Ultimately we should have better controls over the generic ELF BFD
linker code. */
if (! info->relocatable
- && ! (info->shared
- && info->unresolved_syms_in_shared_libs == RM_IGNORE)
+ && info->unresolved_syms_in_shared_libs != RM_IGNORE
&& h->root.type == bfd_link_hash_undefined
&& (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0
&& (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0
@@ -1274,7 +1293,7 @@ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
info);
/* Invoke the regular ELF backend linker to do all the work. */
- retval = bfd_elf_bfd_final_link (abfd, info);
+ retval = bfd_elf_final_link (abfd, info);
elf_link_hash_traverse (elf_hash_table (info),
elf_hppa_remark_useless_dynamic_symbols,
@@ -1398,16 +1417,9 @@ elf_hppa_relocate_section (bfd *output_bfd,
else
relocation = 0;
}
- /* Allow undefined symbols in shared libraries. */
- else if (info->shared
- && info->unresolved_syms_in_shared_libs == RM_IGNORE
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
{
- if (info->symbolic)
- (*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, FALSE);
-
/* If this symbol has an entry in the PA64 dynamic hash
table, then get it. */
dyn_name = get_dyn_name (input_bfd, h, rel,
@@ -1449,7 +1461,9 @@ elf_hppa_relocate_section (bfd *output_bfd,
{
if (!((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
+ input_section, rel->r_offset,
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+ || ELF_ST_VISIBILITY (h->other)))))
return FALSE;
break;
}
diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c
index 133d2a9..5268525 100644
--- a/bfd/elf-m10200.c
+++ b/bfd/elf-m10200.c
@@ -1,5 +1,5 @@
/* Matsushita 10200 specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -377,28 +377,12 @@ mn10200_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = mn10200_elf_final_link_relocate (howto, input_bfd, output_bfd,
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index f628e76..c64d34f 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -1,5 +1,5 @@
/* Matsushita 10300 specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -616,7 +616,7 @@ _bfd_mn10300_elf_create_got_section (abfd, info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -650,7 +650,7 @@ _bfd_mn10300_elf_create_got_section (abfd, info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
elf_hash_table (info)->hgot = h;
@@ -770,14 +770,14 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_MN10300_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_MN10300_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
case R_MN10300_GOT32:
@@ -822,7 +822,7 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1537,15 +1537,14 @@ mn10300_elf_relocate_section (output_bfd, info, input_bfd, input_section,
asection **local_sections;
{
Elf_Internal_Shdr *symtab_hdr;
- struct elf32_mn10300_link_hash_entry **sym_hashes;
+ struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel, *relend;
if (info->relocatable)
return TRUE;
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
- sym_hashes = (struct elf32_mn10300_link_hash_entry **)
- (elf_sym_hashes (input_bfd));
+ sym_hashes = elf_sym_hashes (input_bfd);
rel = relocs;
relend = relocs + input_section->reloc_count;
@@ -1584,10 +1583,10 @@ mn10300_elf_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean warned;
struct elf_link_hash_entry *hh;
- RELOC_FOR_GLOBAL_SYMBOL (hh, (struct elf_link_hash_entry *) sym_hashes,
- r_symndx, symtab_hdr, relocation,
- sec, unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ hh, sec, relocation,
+ unresolved_reloc, warned);
h = (struct elf32_mn10300_link_hash_entry *) hh;
@@ -4187,7 +4186,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4492,31 +4491,31 @@ _bfd_mn10300_elf_size_dynamic_sections (output_bfd, info)
in by the dynamic linker and used by the debugger. */
if (! info->shared)
{
- if (! bfd_elf32_add_dynamic_entry (info, DT_DEBUG, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_DEBUG, 0))
return FALSE;
}
if (plt)
{
- if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_RELA)
- || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_RELA)
+ || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0))
return FALSE;
}
if (relocs)
{
- if (! bfd_elf32_add_dynamic_entry (info, DT_RELA, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_RELASZ, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_RELAENT,
- sizeof (Elf32_External_Rela)))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_RELA, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELASZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELAENT,
+ sizeof (Elf32_External_Rela)))
return FALSE;
}
if (reltext)
{
- if (! bfd_elf32_add_dynamic_entry (info, DT_TEXTREL, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_TEXTREL, 0))
return FALSE;
}
}
diff --git a/bfd/elf.c b/bfd/elf.c
index 33b58f5..00443c2 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -613,6 +613,12 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
}
bfd_boolean
+bfd_elf_is_group_section (bfd *abfd ATTRIBUTE_UNUSED, const asection *sec)
+{
+ return elf_next_in_group (sec) != NULL;
+}
+
+bfd_boolean
bfd_elf_discard_group (bfd *abfd ATTRIBUTE_UNUSED, asection *group)
{
asection *first = elf_next_in_group (group);
@@ -652,6 +658,9 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
if (newsect == NULL)
return FALSE;
+ hdr->bfd_section = newsect;
+ elf_section_data (newsect)->this_hdr = *hdr;
+
/* Always use the real type/flags. */
elf_section_type (newsect) = hdr->sh_type;
elf_section_flags (newsect) = hdr->sh_flags;
@@ -798,9 +807,6 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
}
}
- hdr->bfd_section = newsect;
- elf_section_data (newsect)->this_hdr = *hdr;
-
return TRUE;
}
@@ -1479,8 +1485,7 @@ _bfd_elf_link_hash_table_create (bfd *abfd)
/* This is a hook for the ELF emulation code in the generic linker to
tell the backend linker what file name to use for the DT_NEEDED
- entry for a dynamic object. The generic linker passes name as an
- empty string to indicate that no DT_NEEDED entry should be made. */
+ entry for a dynamic object. */
void
bfd_elf_set_dt_needed_name (bfd *abfd, const char *name)
@@ -1491,11 +1496,11 @@ bfd_elf_set_dt_needed_name (bfd *abfd, const char *name)
}
void
-bfd_elf_set_dt_needed_soname (bfd *abfd, const char *name)
+bfd_elf_set_dyn_lib_class (bfd *abfd, int lib_class)
{
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
&& bfd_get_format (abfd) == bfd_object)
- elf_dt_soname (abfd) = name;
+ elf_dyn_lib_class (abfd) = lib_class;
}
/* Get the list of DT_NEEDED entries for a link. This is a hook for
@@ -1946,8 +1951,10 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
hdr->bfd_section->flags
|= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
+ /* We try to keep the same section order as it comes in. */
+ idx += n_elt;
while (--n_elt != 0)
- if ((s = (++idx)->shdr->bfd_section) != NULL
+ if ((s = (--idx)->shdr->bfd_section) != NULL
&& elf_next_in_group (s) != NULL)
{
elf_next_in_group (hdr->bfd_section) = s;
@@ -2055,6 +2062,7 @@ static struct bfd_elf_special_section const special_sections[] =
{ ".gnu.version", 12, 0, SHT_GNU_versym, 0 },
{ ".gnu.version_d", 14, 0, SHT_GNU_verdef, 0 },
{ ".gnu.version_r", 14, 0, SHT_GNU_verneed, 0 },
+ { ".note.GNU-stack",15, 0, SHT_PROGBITS, 0 },
{ ".note", 5, -1, SHT_NOTE, 0 },
{ ".rela", 5, -1, SHT_RELA, 0 },
{ ".rel", 4, -1, SHT_REL, 0 },
@@ -2387,7 +2395,31 @@ elf_fake_sections (bfd *abfd, asection *asect, void *failedptrarg)
asect->flags. */
if (this_hdr->sh_type == SHT_NULL)
{
- if ((asect->flags & SEC_ALLOC) != 0
+ if ((asect->flags & SEC_GROUP) != 0)
+ {
+ /* We also need to mark SHF_GROUP here for relocatable
+ link. */
+ struct bfd_link_order *l;
+ asection *elt;
+
+ for (l = asect->link_order_head; l != NULL; l = l->next)
+ if (l->type == bfd_indirect_link_order
+ && (elt = elf_next_in_group (l->u.indirect.section)) != NULL)
+ do
+ {
+ /* The name is not important. Anything will do. */
+ elf_group_name (elt->output_section) = "G";
+ elf_section_flags (elt->output_section) |= SHF_GROUP;
+
+ elt = elf_next_in_group (elt);
+ /* During a relocatable link, the lists are
+ circular. */
+ }
+ while (elt != elf_next_in_group (l->u.indirect.section));
+
+ this_hdr->sh_type = SHT_GROUP;
+ }
+ else if ((asect->flags & SEC_ALLOC) != 0
&& (((asect->flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0)
|| (asect->flags & SEC_NEVER_LOAD) != 0))
this_hdr->sh_type = SHT_NOBITS;
@@ -3187,6 +3219,7 @@ map_sections_to_segments (bfd *abfd)
struct elf_segment_map **pm;
struct elf_segment_map *m;
asection *last_hdr;
+ bfd_vma last_size;
unsigned int phdr_index;
bfd_vma maxpagesize;
asection **hdrpp;
@@ -3266,6 +3299,7 @@ map_sections_to_segments (bfd *abfd)
segment when the start of the second section can be placed within
a few bytes of the end of the first section. */
last_hdr = NULL;
+ last_size = 0;
phdr_index = 0;
maxpagesize = get_elf_backend_data (abfd)->maxpagesize;
writable = FALSE;
@@ -3314,18 +3348,19 @@ map_sections_to_segments (bfd *abfd)
segment. */
new_segment = TRUE;
}
- else if (BFD_ALIGN (last_hdr->lma + last_hdr->_raw_size, maxpagesize)
+ else if (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize)
< BFD_ALIGN (hdr->lma, maxpagesize))
{
/* If putting this section in this segment would force us to
skip a page in the segment, then we need a new segment. */
new_segment = TRUE;
}
- else if ((last_hdr->flags & SEC_LOAD) == 0
- && (hdr->flags & SEC_LOAD) != 0)
+ else if ((last_hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == 0
+ && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0)
{
/* We don't want to put a loadable section after a
- nonloadable section in the same segment. */
+ nonloadable section in the same segment.
+ Consider .tbss sections as loadable for this purpose. */
new_segment = TRUE;
}
else if ((abfd->flags & D_PAGED) == 0)
@@ -3337,7 +3372,7 @@ map_sections_to_segments (bfd *abfd)
}
else if (! writable
&& (hdr->flags & SEC_READONLY) == 0
- && (((last_hdr->lma + last_hdr->_raw_size - 1)
+ && (((last_hdr->lma + last_size - 1)
& ~(maxpagesize - 1))
!= (hdr->lma & ~(maxpagesize - 1))))
{
@@ -3360,9 +3395,12 @@ map_sections_to_segments (bfd *abfd)
{
if ((hdr->flags & SEC_READONLY) == 0)
writable = TRUE;
- /* Ignore .tbss section for segment layout purposes. */
+ last_hdr = hdr;
+ /* .tbss sections effectively have zero size. */
if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL)
- last_hdr = hdr;
+ last_size = hdr->_raw_size;
+ else
+ last_size = 0;
continue;
}
@@ -3382,6 +3420,11 @@ map_sections_to_segments (bfd *abfd)
writable = FALSE;
last_hdr = hdr;
+ /* .tbss sections effectively have zero size. */
+ if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL)
+ last_size = hdr->_raw_size;
+ else
+ last_size = 0;
phdr_index = i;
phdr_in_segment = FALSE;
}
@@ -7503,3 +7546,79 @@ bfd_elf_bfd_from_remote_memory
return (*get_elf_backend_data (templ)->elf_backend_bfd_from_remote_memory)
(templ, ehdr_vma, loadbasep, target_read_memory);
}
+
+long
+_bfd_elf_get_synthetic_symtab (bfd *abfd, asymbol **dynsyms, asymbol **ret)
+{
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ asection *relplt;
+ asymbol *s;
+ const char *relplt_name;
+ bfd_boolean (*slurp_relocs) (bfd *, asection *, asymbol **, bfd_boolean);
+ arelent *p;
+ long count, i, n;
+ size_t size;
+ Elf_Internal_Shdr *hdr;
+ char *names;
+ asection *plt;
+
+ *ret = NULL;
+ if (!bed->plt_sym_val)
+ return 0;
+
+ relplt_name = bed->relplt_name;
+ if (relplt_name == NULL)
+ relplt_name = bed->default_use_rela_p ? ".rela.plt" : ".rel.plt";
+ relplt = bfd_get_section_by_name (abfd, relplt_name);
+ if (relplt == NULL)
+ return 0;
+
+ hdr = &elf_section_data (relplt)->this_hdr;
+ if (hdr->sh_link != elf_dynsymtab (abfd)
+ || (hdr->sh_type != SHT_REL && hdr->sh_type != SHT_RELA))
+ return 0;
+
+ plt = bfd_get_section_by_name (abfd, ".plt");
+ if (plt == NULL)
+ return 0;
+
+ slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
+ if (! (*slurp_relocs) (abfd, relplt, dynsyms, TRUE))
+ return -1;
+
+ count = relplt->_raw_size / hdr->sh_entsize;
+ size = count * sizeof (asymbol);
+ p = relplt->relocation;
+ for (i = 0; i < count; i++, s++, p++)
+ size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt");
+
+ s = *ret = bfd_malloc (size);
+ if (s == NULL)
+ return -1;
+
+ names = (char *) (s + count);
+ p = relplt->relocation;
+ n = 0;
+ for (i = 0; i < count; i++, s++, p++)
+ {
+ size_t len;
+ bfd_vma addr;
+
+ addr = bed->plt_sym_val (i, plt, p);
+ if (addr == (bfd_vma) -1)
+ continue;
+
+ *s = **p->sym_ptr_ptr;
+ s->section = plt;
+ s->value = addr - plt->vma;
+ s->name = names;
+ len = strlen ((*p->sym_ptr_ptr)->name);
+ memcpy (names, (*p->sym_ptr_ptr)->name, len);
+ names += len;
+ memcpy (names, "@plt", sizeof ("@plt"));
+ names += sizeof ("@plt");
+ ++n;
+ }
+
+ return n;
+}
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index 7c284c1..64da333 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -1,5 +1,6 @@
/* 32-bit ELF support for ARM
- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -105,7 +106,7 @@ bfd_boolean bfd_elf32_arm_allocate_interworking_sections
bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
PARAMS ((bfd *, struct bfd_link_info *));
bfd_boolean bfd_elf32_arm_process_before_allocation
- PARAMS ((bfd *, struct bfd_link_info *, int));
+ PARAMS ((bfd *, struct bfd_link_info *, int, int));
#endif
@@ -189,6 +190,26 @@ static const bfd_vma elf32_arm_plt_entry [PLT_ENTRY_SIZE / 4] =
#endif
+/* Used to build a map of a section. This is required for mixed-endian
+ code/data. */
+
+typedef struct elf32_elf_section_map
+{
+ bfd_vma vma;
+ char type;
+}
+elf32_arm_section_map;
+
+struct _arm_elf_section_data
+{
+ struct bfd_elf_section_data elf;
+ int mapcount;
+ elf32_arm_section_map *map;
+};
+
+#define elf32_arm_section_data(sec) \
+ ((struct _arm_elf_section_data *) elf_section_data (sec))
+
/* The ARM linker needs to keep track of the number of relocs that it
decides to copy in check_relocs for each symbol. This is so that
it can discard PC relative relocs if it doesn't need them when
@@ -246,6 +267,9 @@ struct elf32_arm_link_hash_table
length should be applied by the linker. */
int no_pipeline_knowledge;
+ /* Nonzero to output a BE8 image. */
+ int byteswap_code;
+
/* Short-cuts to get to dynamic linker sections. */
asection *sgot;
asection *sgotplt;
@@ -429,6 +453,7 @@ elf32_arm_link_hash_table_create (abfd)
ret->arm_glue_size = 0;
ret->bfd_of_glue_owner = NULL;
ret->no_pipeline_knowledge = 0;
+ ret->byteswap_code = 0;
ret->sym_sec.abfd = NULL;
return &ret->root.root;
@@ -807,10 +832,13 @@ bfd_elf32_arm_get_bfd_for_interworking (abfd, info)
}
bfd_boolean
-bfd_elf32_arm_process_before_allocation (abfd, link_info, no_pipeline_knowledge)
+bfd_elf32_arm_process_before_allocation (abfd, link_info,
+ no_pipeline_knowledge,
+ byteswap_code)
bfd *abfd;
struct bfd_link_info *link_info;
int no_pipeline_knowledge;
+ int byteswap_code;
{
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Rela *internal_relocs = NULL;
@@ -833,6 +861,14 @@ bfd_elf32_arm_process_before_allocation (abfd, link_info, no_pipeline_knowledge)
BFD_ASSERT (globals->bfd_of_glue_owner != NULL);
globals->no_pipeline_knowledge = no_pipeline_knowledge;
+ if (byteswap_code && !bfd_big_endian (abfd))
+ {
+ _bfd_error_handler (
+ _("%s: BE8 images only valid in big-endian mode."),
+ bfd_archive_filename (abfd));
+ return FALSE;
+ }
+ globals->byteswap_code = byteswap_code;
/* Rummage around all the relocs and map the glue vectors. */
sec = abfd->sections;
@@ -1208,18 +1244,6 @@ elf32_arm_to_thumb_stub (info, name, input_bfd, output_bfd, input_section,
return TRUE;
}
-/* This is the condition under which elf32_arm_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf32_arm_relocate_section
- and elf32_arm_final_link_relocate. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Perform a relocation as part of a final link. */
static bfd_reloc_status_type
@@ -1337,6 +1361,8 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
into the output file to be resolved at run time. */
if (info->shared
&& (input_section->flags & SEC_ALLOC)
+ && (r_type != R_ARM_REL32
+ || !SYMBOL_CALLS_LOCAL (info, h))
&& (h == NULL
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|| h->root.type != bfd_link_hash_undefweak)
@@ -1743,6 +1769,33 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
return bfd_reloc_ok;
}
+#ifndef OLD_ARM_ABI
+ case R_ARM_ALU_PCREL7_0:
+ case R_ARM_ALU_PCREL15_8:
+ case R_ARM_ALU_PCREL23_15:
+ {
+ bfd_vma insn;
+ bfd_vma relocation;
+
+ insn = bfd_get_32 (input_bfd, hit_data);
+#if USE_REL
+ /* Extract the addend. */
+ addend = (insn & 0xff) << ((insn & 0xf00) >> 7);
+ signed_addend = addend;
+#endif
+ relocation = value + signed_addend;
+
+ relocation -= (input_section->output_section->vma
+ + input_section->output_offset
+ + rel->r_offset);
+ insn = (insn & ~0xfff)
+ | ((howto->bitpos << 7) & 0xf00)
+ | ((relocation >> howto->bitpos) & 0xff);
+ bfd_put_32 (input_bfd, value, hit_data);
+ }
+ return bfd_reloc_ok;
+#endif
+
case R_ARM_GNU_VTINHERIT:
case R_ARM_GNU_VTENTRY:
return bfd_reloc_ok;
@@ -2124,10 +2177,10 @@ elf32_arm_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean warned;
bfd_boolean unresolved_reloc;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation,
- sec, unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
if (unresolved_reloc || relocation != 0)
{
@@ -2430,11 +2483,16 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
not, its flags may not have been initialised either, but it
cannot actually cause any incompatibility. Do not short-circuit
dynamic objects; their section list may be emptied by
- elf_link_add_object_symbols. */
+ elf_link_add_object_symbols.
+ Also check to see if there are no code sections in the input.
+ In this case there is no need to check for code specific flags.
+ XXX - do we need to worry about floating-point format compatability
+ in data sections ? */
if (!(ibfd->flags & DYNAMIC))
{
bfd_boolean null_input_bfd = TRUE;
+ bfd_boolean only_data_sections = TRUE;
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
{
@@ -2442,11 +2500,17 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
if (strcmp (sec->name, ".glue_7")
&& strcmp (sec->name, ".glue_7t"))
{
+ if ((bfd_get_section_flags (ibfd, sec)
+ & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
+ == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
+ only_data_sections = FALSE;
+
null_input_bfd = FALSE;
break;
}
}
- if (null_input_bfd)
+
+ if (null_input_bfd || only_data_sections)
return TRUE;
}
@@ -2667,6 +2731,18 @@ elf32_arm_print_private_bfd_data (abfd, ptr)
| EF_ARM_MAPSYMSFIRST);
break;
+ case EF_ARM_EABI_VER3:
+ fprintf (file, _(" [Version3 EABI]"));
+
+ if (flags & EF_ARM_BE8)
+ fprintf (file, _(" [BE8]"));
+
+ if (flags & EF_ARM_LE8)
+ fprintf (file, _(" [LE8]"));
+
+ flags &= ~(EF_ARM_LE8 | EF_ARM_BE8);
+ break;
+
default:
fprintf (file, _(" <EABI version unrecognised>"));
break;
@@ -2967,7 +3043,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
if (info->shared
&& (sec->flags & SEC_ALLOC) != 0
&& ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
- && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32)
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32)
|| (h != NULL
&& (! info->symbolic
|| (h->elf_link_hash_flags
@@ -3056,14 +3133,14 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_ARM_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_ARM_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
}
@@ -3319,7 +3396,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3379,7 +3456,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3432,7 +3509,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3641,7 +3718,7 @@ elf32_arm_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!info->shared)
{
@@ -4012,11 +4089,19 @@ elf32_arm_post_process_headers (abfd, link_info)
struct bfd_link_info * link_info ATTRIBUTE_UNUSED;
{
Elf_Internal_Ehdr * i_ehdrp; /* ELF file header, internal form. */
+ struct elf32_arm_link_hash_table *globals;
i_ehdrp = elf_elfheader (abfd);
i_ehdrp->e_ident[EI_OSABI] = ARM_ELF_OS_ABI_VERSION;
i_ehdrp->e_ident[EI_ABIVERSION] = ARM_ELF_ABI_VERSION;
+
+ if (link_info)
+ {
+ globals = elf32_arm_hash_table (link_info);
+ if (globals->byteswap_code)
+ i_ehdrp->e_flags |= EF_ARM_BE8;
+ }
}
static enum elf_reloc_type_class
@@ -4036,7 +4121,7 @@ elf32_arm_reloc_type_class (rela)
}
}
-static bfd_boolean elf32_arm_section_flags PARAMS ((flagword *, Elf_Internal_Shdr *));
+static bfd_boolean elf32_arm_section_flags PARAMS ((flagword *, const Elf_Internal_Shdr *));
static void elf32_arm_final_write_processing PARAMS ((bfd *, bfd_boolean));
/* Set the right machine number for an Arm ELF file. */
@@ -4044,7 +4129,7 @@ static void elf32_arm_final_write_processing PARAMS ((bfd *, bfd_boolean
static bfd_boolean
elf32_arm_section_flags (flags, hdr)
flagword *flags;
- Elf_Internal_Shdr *hdr;
+ const Elf_Internal_Shdr *hdr;
{
if (hdr->sh_type == SHT_NOTE)
*flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_SAME_CONTENTS;
@@ -4052,7 +4137,7 @@ elf32_arm_section_flags (flags, hdr)
return TRUE;
}
-void
+static void
elf32_arm_final_write_processing (abfd, linker)
bfd *abfd;
bfd_boolean linker ATTRIBUTE_UNUSED;
@@ -4060,6 +4145,148 @@ elf32_arm_final_write_processing (abfd, linker)
bfd_arm_update_notes (abfd, ARM_NOTE_SECTION);
}
+
+/* Called for each symbol. Builds a section map based on mapping symbols.
+ Does not alter any of the symbols. */
+
+static bfd_boolean
+elf32_arm_output_symbol_hook (struct bfd_link_info *info,
+ const char *name,
+ Elf_Internal_Sym *elfsym,
+ asection *input_sec,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+ int mapcount;
+ elf32_arm_section_map *map;
+ struct elf32_arm_link_hash_table *globals;
+
+ /* Only do this on final link. */
+ if (info->relocatable)
+ return TRUE;
+
+ /* Only build a map if we need to byteswap code. */
+ globals = elf32_arm_hash_table (info);
+ if (!globals->byteswap_code)
+ return TRUE;
+
+ /* We only want mapping symbols. */
+ if (name == NULL
+ || name[0] != '$'
+ || (name[1] != 'a'
+ && name[1] != 't'
+ && name[1] != 'd'))
+ return TRUE;
+
+ mapcount = ++(elf32_arm_section_data (input_sec)->mapcount);
+ map = elf32_arm_section_data (input_sec)->map;
+ /* TODO: This may be inefficient, but we probably don't usually have many
+ mapping symbols per section. */
+ map = bfd_realloc (map, mapcount * sizeof (elf32_arm_section_map));
+ elf32_arm_section_data (input_sec)->map = map;
+
+ map[mapcount - 1].vma = elfsym->st_value;
+ map[mapcount - 1].type = name[1];
+ return TRUE;
+}
+
+
+/* Allocate target specific section data. */
+
+static bfd_boolean
+elf32_arm_new_section_hook (bfd *abfd, asection *sec)
+{
+ struct _arm_elf_section_data *sdata;
+ bfd_size_type amt = sizeof (*sdata);
+
+ sdata = bfd_zalloc (abfd, amt);
+ if (sdata == NULL)
+ return FALSE;
+ sec->used_by_bfd = sdata;
+
+ return _bfd_elf_new_section_hook (abfd, sec);
+}
+
+
+/* Used to order a list of mapping symbols by address. */
+
+static int
+elf32_arm_compare_mapping (const void * a, const void * b)
+{
+ return ((const elf32_arm_section_map *) a)->vma
+ > ((const elf32_arm_section_map *) b)->vma;
+}
+
+
+/* Do code byteswapping. Return FALSE afterwards so that the section is
+ written out as normal. */
+
+static bfd_boolean
+elf32_arm_write_section (bfd *output_bfd ATTRIBUTE_UNUSED, asection *sec,
+ bfd_byte *contents)
+{
+ int mapcount;
+ elf32_arm_section_map *map;
+ bfd_vma ptr;
+ bfd_vma end;
+ bfd_vma offset;
+ bfd_byte tmp;
+ int i;
+
+ mapcount = elf32_arm_section_data (sec)->mapcount;
+ map = elf32_arm_section_data (sec)->map;
+
+ if (mapcount == 0)
+ return FALSE;
+
+ qsort (map, mapcount, sizeof (elf32_arm_section_map),
+ elf32_arm_compare_mapping);
+
+ offset = sec->output_section->vma + sec->output_offset;
+ ptr = map[0].vma - offset;
+ for (i = 0; i < mapcount; i++)
+ {
+ if (i == mapcount - 1)
+ end = bfd_section_size (output_bfd, sec);
+ else
+ end = map[i + 1].vma - offset;
+
+ switch (map[i].type)
+ {
+ case 'a':
+ /* Byte swap code words. */
+ while (ptr + 3 < end)
+ {
+ tmp = contents[ptr];
+ contents[ptr] = contents[ptr + 3];
+ contents[ptr + 3] = tmp;
+ tmp = contents[ptr + 1];
+ contents[ptr + 1] = contents[ptr + 2];
+ contents[ptr + 2] = tmp;
+ ptr += 4;
+ }
+ break;
+
+ case 't':
+ /* Byte swap code halfwords. */
+ while (ptr + 1 < end)
+ {
+ tmp = contents[ptr];
+ contents[ptr] = contents[ptr + 1];
+ contents[ptr + 1] = tmp;
+ ptr += 2;
+ }
+ break;
+
+ case 'd':
+ /* Leave data alone. */
+ break;
+ }
+ ptr = end;
+ }
+ free (map);
+ return FALSE;
+}
+
#define ELF_ARCH bfd_arch_arm
#define ELF_MACHINE_CODE EM_ARM
#ifdef __QNXTARGET__
@@ -4075,16 +4302,19 @@ elf32_arm_final_write_processing (abfd, linker)
#define bfd_elf32_bfd_link_hash_table_create elf32_arm_link_hash_table_create
#define bfd_elf32_bfd_reloc_type_lookup elf32_arm_reloc_type_lookup
#define bfd_elf32_find_nearest_line elf32_arm_find_nearest_line
+#define bfd_elf32_new_section_hook elf32_arm_new_section_hook
#define elf_backend_get_symbol_type elf32_arm_get_symbol_type
#define elf_backend_gc_mark_hook elf32_arm_gc_mark_hook
#define elf_backend_gc_sweep_hook elf32_arm_gc_sweep_hook
#define elf_backend_check_relocs elf32_arm_check_relocs
#define elf_backend_relocate_section elf32_arm_relocate_section
+#define elf_backend_write_section elf32_arm_write_section
#define elf_backend_adjust_dynamic_symbol elf32_arm_adjust_dynamic_symbol
#define elf_backend_create_dynamic_sections elf32_arm_create_dynamic_sections
#define elf_backend_finish_dynamic_symbol elf32_arm_finish_dynamic_symbol
#define elf_backend_finish_dynamic_sections elf32_arm_finish_dynamic_sections
+#define elf_backend_link_output_symbol_hook elf32_arm_output_symbol_hook
#define elf_backend_size_dynamic_sections elf32_arm_size_dynamic_sections
#define elf_backend_post_process_headers elf32_arm_post_process_headers
#define elf_backend_reloc_type_class elf32_arm_reloc_type_class
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 44f2b38..06e398b 100644
--- a/bfd/elf32-avr.c
+++ b/bfd/elf32-avr.c
@@ -1,5 +1,6 @@
/* AVR-specific support for 32-bit ELF
- Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of BFD, the Binary File Descriptor library.
@@ -758,34 +759,12 @@ elf32_avr_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- relocation = 0;
- }
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = avr_final_link_relocate (howto, input_bfd, input_section,
diff --git a/bfd/elf32-cr16c.c b/bfd/elf32-cr16c.c
new file mode 100644
index 0000000..e722335
--- /dev/null
+++ b/bfd/elf32-cr16c.c
@@ -0,0 +1,1000 @@
+/* BFD back-end for National Semiconductor's CR16C ELF
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+#include "bfdlink.h"
+#include "elf/cr16c.h"
+#include "elf-bfd.h"
+
+
+#define USE_REL 1 /* CR16C uses REL relocations instead of RELA. */
+
+/* The following definition is based on EMPTY_HOWTO macro,
+ but also initiates the "name" field in HOWTO struct. */
+#define ONLY_NAME_HOWTO(C) \
+ HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
+ STRINGX(C), FALSE, 0, 0, FALSE)
+
+/* reloc_map_index array maps CRASM relocation type into a BFD
+ relocation enum. The array's indices are synchronized with
+ RINDEX_16C_* indices, created in include/elf/cr16c.h.
+ The array is used in:
+ 1. elf32-cr16c.c : elf_cr16c_reloc_type_lookup().
+ 2. asreloc.c : find_reloc_type(). */
+
+RELOC_MAP reloc_map_index[RINDEX_16C_MAX] =
+{
+ {R_16C_NUM08, BFD_RELOC_16C_NUM08},
+ {R_16C_NUM08_C, BFD_RELOC_16C_NUM08_C},
+ {R_16C_NUM16, BFD_RELOC_16C_NUM16},
+ {R_16C_NUM16_C, BFD_RELOC_16C_NUM16_C},
+ {R_16C_NUM32, BFD_RELOC_16C_NUM32},
+ {R_16C_NUM32_C, BFD_RELOC_16C_NUM32_C},
+ {R_16C_DISP04, BFD_RELOC_16C_DISP04},
+ {R_16C_DISP04_C, BFD_RELOC_16C_DISP04_C},
+ {R_16C_DISP08, BFD_RELOC_16C_DISP08},
+ {R_16C_DISP08_C, BFD_RELOC_16C_DISP08_C},
+ {R_16C_DISP16, BFD_RELOC_16C_DISP16},
+ {R_16C_DISP16_C, BFD_RELOC_16C_DISP16_C},
+ {R_16C_DISP24, BFD_RELOC_16C_DISP24},
+ {R_16C_DISP24_C, BFD_RELOC_16C_DISP24_C},
+ {R_16C_DISP24a, BFD_RELOC_16C_DISP24a},
+ {R_16C_DISP24a_C, BFD_RELOC_16C_DISP24a_C},
+ {R_16C_REG04, BFD_RELOC_16C_REG04},
+ {R_16C_REG04_C, BFD_RELOC_16C_REG04_C},
+ {R_16C_REG04a, BFD_RELOC_16C_REG04a},
+ {R_16C_REG04a_C, BFD_RELOC_16C_REG04a_C},
+ {R_16C_REG14, BFD_RELOC_16C_REG14},
+ {R_16C_REG14_C, BFD_RELOC_16C_REG14_C},
+ {R_16C_REG16, BFD_RELOC_16C_REG16},
+ {R_16C_REG16_C, BFD_RELOC_16C_REG16_C},
+ {R_16C_REG20, BFD_RELOC_16C_REG20},
+ {R_16C_REG20_C, BFD_RELOC_16C_REG20_C},
+ {R_16C_ABS20, BFD_RELOC_16C_ABS20},
+ {R_16C_ABS20_C, BFD_RELOC_16C_ABS20_C},
+ {R_16C_ABS24, BFD_RELOC_16C_ABS24},
+ {R_16C_ABS24_C, BFD_RELOC_16C_ABS24_C},
+ {R_16C_IMM04, BFD_RELOC_16C_IMM04},
+ {R_16C_IMM04_C, BFD_RELOC_16C_IMM04_C},
+ {R_16C_IMM16, BFD_RELOC_16C_IMM16},
+ {R_16C_IMM16_C, BFD_RELOC_16C_IMM16_C},
+ {R_16C_IMM20, BFD_RELOC_16C_IMM20},
+ {R_16C_IMM20_C, BFD_RELOC_16C_IMM20_C},
+ {R_16C_IMM24, BFD_RELOC_16C_IMM24},
+ {R_16C_IMM24_C, BFD_RELOC_16C_IMM24_C},
+ {R_16C_IMM32, BFD_RELOC_16C_IMM32},
+ {R_16C_IMM32_C, BFD_RELOC_16C_IMM32_C}
+};
+
+static reloc_howto_type elf_howto_table[] =
+{
+ /* 00 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM08),
+ /* 01 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM08_C),
+ /* 02 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM16),
+ /* 03 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM16_C),
+ /* 04 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM32),
+ /* 05 */ ONLY_NAME_HOWTO (RINDEX_16C_NUM32_C),
+ /* 06 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP04),
+ /* 07 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP04_C),
+ /* 08 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP08),
+ /* 09 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP08_C),
+ /* 10 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP16),
+ /* 11 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP16_C),
+ /* 12 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24),
+ /* 13 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24_C),
+ /* 14 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24a),
+ /* 15 */ ONLY_NAME_HOWTO (RINDEX_16C_DISP24a_C),
+ /* 16 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04),
+ /* 17 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04_C),
+ /* 18 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04a),
+ /* 19 */ ONLY_NAME_HOWTO (RINDEX_16C_REG04a_C),
+ /* 20 */ ONLY_NAME_HOWTO (RINDEX_16C_REG14),
+ /* 21 */ ONLY_NAME_HOWTO (RINDEX_16C_REG14_C),
+ /* 22 */ ONLY_NAME_HOWTO (RINDEX_16C_REG16),
+ /* 23 */ ONLY_NAME_HOWTO (RINDEX_16C_REG16_C),
+ /* 24 */ ONLY_NAME_HOWTO (RINDEX_16C_REG20),
+ /* 25 */ ONLY_NAME_HOWTO (RINDEX_16C_REG20_C),
+ /* 26 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS20),
+ /* 27 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS20_C),
+ /* 28 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS24),
+ /* 29 */ ONLY_NAME_HOWTO (RINDEX_16C_ABS24_C),
+ /* 30 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM04),
+ /* 31 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM04_C),
+ /* 32 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM16),
+ /* 33 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM16_C),
+ /* 34 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM20),
+ /* 35 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM20_C),
+ /* 36 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM24),
+ /* 37 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM24_C),
+ /* 38 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM32),
+ /* 39 */ ONLY_NAME_HOWTO (RINDEX_16C_IMM32_C)
+};
+
+
+/* Code to turn a code_type into a howto ptr, uses the above howto table. */
+
+static reloc_howto_type *
+elf_cr16c_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+ bfd_reloc_code_real_type code)
+{
+ unsigned int i;
+
+ for (i = 0; i < RINDEX_16C_MAX; i++)
+ {
+ if (code == reloc_map_index[i].bfd_reloc_enum)
+ {
+ /* printf ("CR16C Relocation Type is - %x\n", code); */
+ return & elf_howto_table[i];
+ }
+ }
+
+ /* printf ("This relocation Type is not supported - %x\n", code); */
+ return 0;
+}
+
+static void
+elf_cr16c_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *cache_ptr ATTRIBUTE_UNUSED,
+ Elf_Internal_Rela *dst ATTRIBUTE_UNUSED)
+{
+ abort ();
+}
+
+static void
+elf_cr16c_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *cache_ptr,
+ Elf_Internal_Rela *dst)
+{
+ unsigned int r_type = ELF32_R_TYPE (dst->r_info);
+
+ BFD_ASSERT (r_type < (unsigned int) RINDEX_16C_MAX);
+ cache_ptr->howto = &elf_howto_table[r_type];
+}
+
+/* Perform a relocation as part of a final link. */
+
+static bfd_reloc_status_type
+cr16c_elf_final_link_relocate (reloc_howto_type *howto,
+ bfd *abfd,
+ bfd *output_bfd ATTRIBUTE_UNUSED,
+ asection *input_section,
+ bfd_byte *data,
+ bfd_vma octets,
+ bfd_vma Rvalue,
+ bfd_vma addend ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *sym_sec ATTRIBUTE_UNUSED,
+ int is_local ATTRIBUTE_UNUSED)
+{
+ long value;
+ short sword; /* Extracted from the hole and put back. */
+ unsigned long format, addr_type, code_factor;
+ unsigned short size;
+ unsigned short r_type;
+ asymbol *symbol = NULL;
+
+ unsigned long disp20_opcod;
+ char neg = 0;
+ char neg2pos = 0;
+
+ long left_val = 0;
+ long plus_factor = 0; /* To be added to the hole. */
+
+#define MIN_BYTE ((int) 0xFFFFFF80)
+#define MIN_WORD ((int) 0xFFFF8000)
+#define MAX_UWORD ((unsigned) 0x0000FFFF)
+#define MAX_UBYTE ((unsigned) 0x000000FF)
+
+ r_type = reloc_map_index[howto->type].cr_reloc_type;
+ format = r_type & R_FORMAT;
+ size = r_type & R_SIZESP;
+ addr_type = r_type & R_ADDRTYPE;
+ code_factor = ((addr_type == R_CODE_ADDR) ? 1 : 0);
+
+ if (sym_sec)
+ symbol = sym_sec->symbol;
+
+ switch (format)
+ {
+ case R_NUMBER:
+ switch (size)
+ {
+ case R_S_16C_08: /* One byte. */
+ value = bfd_get_8 (abfd, (char *) data + octets);
+ break;
+ case R_S_16C_16: /* Two bytes. */
+ sword = bfd_get_16 (abfd, (bfd_byte *) data + octets);
+ value = sword;
+ break;
+ case R_S_16C_32: /* Four bytes. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_DISPL:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1(4-7). */
+ value = bfd_get_8 (abfd, (char *) data + octets);
+ left_val = value & 0xF;
+ value = (value & 0xF0) >> 4;
+ value++;
+ value <<= 1;
+ break;
+ case R_S_16C_08: /* word1(0-3,8-11). */
+ sword = bfd_get_16 (abfd, (char *) data + octets);
+ value = sword & 0x000F;
+ value |= ((sword & 0x0F00) >> 4);
+ left_val = sword & 0xF0F0;
+ value <<= 1;
+ if (value & 0x100)
+ value |= 0xFFFFFF00;
+ break;
+ case R_S_16C_16: /* word2. */
+ sword = bfd_get_16 (abfd, (bfd_byte *) data + octets);
+ value = sword;
+ value = ((value & 0xFFFE) >> 1) | ((value & 0x1) << 15);
+ value <<= 1;
+ if (value & 0x10000)
+ value |= 0xFFFF0000;
+ break;
+ case R_S_16C_24_a: /* word1(0-7),word2. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x0000FF00;
+ value = ((value & 0xFFFE0000) >> 17) |
+ ((value & 0x00010000) << 7) | ((value & 0x000000FF) << 15);
+ value <<= 1;
+ if (value & 0x1000000)
+ value |= 0xFE000000;
+ break;
+ case R_S_16C_24: /* word2(0-3,8-11),word3. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x0000F0F0;
+ value = ((value >> 16) & 0x0000FFFF) |
+ ((value & 0x00000F00) << 8) | ((value & 0x0000000F) << 20);
+
+ value = ((value & 0x00FFFFFE) >> 1) | ((value & 0x00000001) << 23);
+
+ value <<= 1;
+ if (value & 0x1000000)
+ value |= 0xFE000000;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_REGREL:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1(12-15) not scaled. */
+ value = bfd_get_8 (abfd, (char *) data + octets);
+ left_val = value & 0xF0;
+ value = value & 0xF;
+ break;
+ case R_S_16C_04_a: /* word1(12-15) scaled by 2. */
+ value = bfd_get_8 (abfd, (char *) data + octets);
+ left_val = value & 0xF0;
+ value = value & 0xF;
+ value <<= 1;
+ break;
+ case R_S_16C_14: /* word1(4-5),word2(0-3,8-15). */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x00F0FFCF;
+ value = ((value & 0xc0000000) >> 24) |
+ ((value & 0x3F000000) >> 16) |
+ ((value & 0x000F0000) >> 16) | (value & 0x00000030);
+ break;
+ case R_S_16C_16: /* word2. */
+ sword = bfd_get_16 (abfd, (bfd_byte *) data + octets);
+ value = sword;
+ break;
+ case R_S_16C_20: /* word2(8-11),word3. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0xF0;
+ value = (value & 0xF) << 16;
+ sword = bfd_get_16 (abfd, (bfd_byte *) data + octets + 1);
+ value = value | (unsigned short) sword;
+ disp20_opcod = bfd_get_32 (abfd, (bfd_byte *) data + octets - 3);
+ disp20_opcod |= 0x0FFF0000;
+ if ((disp20_opcod == 0x4FFF0018) || /* loadb -disp20(reg) */
+ (disp20_opcod == 0x5FFF0018) || /* loadb -disp20(rp) */
+ (disp20_opcod == 0x8FFF0018) || /* loadd -disp20(reg) */
+ (disp20_opcod == 0x9FFF0018) || /* loadd -disp20(rp) */
+ (disp20_opcod == 0xCFFF0018) || /* loadw -disp20(reg) */
+ (disp20_opcod == 0xDFFF0018) || /* loadw -disp20(rp) */
+ (disp20_opcod == 0x4FFF0019) || /* storb -disp20(reg) */
+ (disp20_opcod == 0x5FFF0019) || /* storb -disp20(rp) */
+ (disp20_opcod == 0x8FFF0019) || /* stord -disp20(reg) */
+ (disp20_opcod == 0x9FFF0019) || /* stord -disp20(rp) */
+ (disp20_opcod == 0xCFFF0019) || /* storw -disp20(reg) */
+ (disp20_opcod == 0xDFFF0019))
+ { /* storw -disp20(rp). */
+ neg = 1;
+ value |= 0xFFF00000;
+ }
+
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_ABS:
+ switch (size)
+ {
+ case R_S_16C_20: /* word1(0-3),word2. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x0000FFF0;
+ value = ((value & 0xFFFF0000) >> 16) |
+ ((value & 0x0000000F) << 16);
+ break;
+ case R_S_16C_24: /* word2(0-3,8-11),word3. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x0000F0F0;
+ value = ((value & 0xFFFF0000) >> 16) |
+ ((value & 0x00000F00) << 8) | ((value & 0x0000000F) << 20);
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_IMMED:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1/2(4-7). */
+ value = bfd_get_8 (abfd, (char *) data + octets);
+ left_val = value & 0xF;
+ value = (value & 0xF0) >> 4;
+ break;
+ case R_S_16C_16: /* word2. */
+ sword = bfd_get_16 (abfd, (bfd_byte *) data + octets);
+ value = sword;
+ break;
+ case R_S_16C_20: /* word1(0-3),word2. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ left_val = value & 0x0000FFF0;
+ value = ((value & 0xFFFF0000) >> 16) |
+ ((value & 0x0000000F) << 16);
+ break;
+ case R_S_16C_32: /* word2, word3. */
+ value = bfd_get_32 (abfd, (bfd_byte *) data + octets);
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0xFFFF0000) >> 16);
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+
+ switch ((r_type & R_RELTO) >> 4)
+ {
+
+ case 0: /* R_ABS. */
+ plus_factor = Rvalue;
+ break;
+ case 1: /* R_PCREL. */
+ plus_factor = Rvalue -
+ (input_section->output_section->vma + input_section->output_offset);
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+
+ if (neg)
+ {
+ if (plus_factor >= -value)
+ neg2pos = 1;
+ /* We need to change load/stor with negative
+ displ opcode to positive disp opcode (CR16C). */
+ }
+
+ value = value + (plus_factor >> code_factor);
+
+ switch (format)
+ {
+ case R_NUMBER:
+ switch (size)
+ {
+ case R_S_16C_08: /* One byte. */
+ if (value > (int) MAX_UBYTE || value < MIN_BYTE)
+ return bfd_reloc_overflow;
+ value &= 0xFF;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_16: /* Two bytes. */
+ if (value > (int) MAX_UWORD || value < MIN_WORD)
+ return bfd_reloc_overflow;
+ value &= 0xFFFF;
+ sword = value;
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_32: /* Four bytes. */
+ value &= 0xFFFFFFFF;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_DISPL:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1(4-7). */
+ if ((value - 32) > 32 || value < 2)
+ return bfd_reloc_overflow;
+ value >>= 1;
+ value--;
+ value &= 0xF;
+ value <<= 4;
+ value |= left_val;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_08: /* word1(0-3,8-11). */
+ if (value > 255 || value < -256 || value == 0x80)
+ return bfd_reloc_overflow;
+ value &= 0x1FF;
+ value >>= 1;
+ sword = value & 0x000F;
+ sword |= (value & 0x00F0) << 4;
+ sword |= left_val;
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_16: /* word2. */
+ if (value > 65535 || value < -65536)
+ return bfd_reloc_overflow;
+ value >>= 1;
+ value &= 0xFFFF;
+ value = ((value & 0x8000) >> 15) | ((value & 0x7FFF) << 1);
+ sword = value;
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_24_a: /* word1(0-7),word2. */
+ if (value > 16777215 || value < -16777216)
+ return bfd_reloc_overflow;
+ value &= 0x1FFFFFF;
+ value >>= 1;
+ value = ((value & 0x00007FFF) << 17) |
+ ((value & 0x00800000) >> 7) | ((value & 0x007F8000) >> 15);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_24: /* word2(0-3,8-11),word3. */
+ if (value > 16777215 || value < -16777216)
+ return bfd_reloc_overflow;
+ value &= 0x1FFFFFF;
+ value >>= 1;
+
+ value = ((value & 0x007FFFFF) << 1) | ((value & 0x00800000) >> 23);
+
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0x000F0000) >> 8) | ((value & 0x00F00000) >> 20);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_REGREL:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1(12-15) not scaled. */
+ if (value > 13 || value < 0)
+ return bfd_reloc_overflow;
+ value &= 0xF;
+ value |= left_val;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_04_a: /* word1(12-15) not scaled. */
+ if (value > 26 || value < 0)
+ return bfd_reloc_overflow;
+ value &= 0x1F;
+ value >>= 1;
+ value |= left_val;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_14: /* word1(4-5),word2(0-3,8-15). */
+ if (value < 0 || value > 16383)
+ return bfd_reloc_overflow;
+ value &= 0x3FFF;
+ value = ((value & 0x000000c0) << 24) |
+ ((value & 0x00003F00) << 16) |
+ ((value & 0x0000000F) << 16) | (value & 0x00000030);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_16: /* word2. */
+ if (value > 65535 || value < 0)
+ return bfd_reloc_overflow;
+ value &= 0xFFFF;
+ sword = value;
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_20: /* word2(8-11),word3. */
+ /* if (value > 1048575 || value < 0) RELOC_ERROR(1); */
+ value &= 0xFFFFF;
+ sword = value & 0x0000FFFF;
+ value = (value & 0x000F0000) >> 16;
+ value |= left_val;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets + 1);
+ if (neg2pos)
+ {
+ /* Change load/stor negative displ opcode
+ to load/stor positive displ opcode. */
+ value = bfd_get_8 (abfd, (char *) data + octets - 3);
+ value &= 0xF7;
+ value |= 0x2;
+ bfd_put_8 (abfd, (bfd_vma) value,
+ (unsigned char *) data + octets - 3);
+ }
+ return bfd_reloc_ok;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_ABS:
+ switch (size)
+ {
+ case R_S_16C_20: /* word1(0-3),word2. */
+ if (value > 1048575 || value < 0)
+ return bfd_reloc_overflow;
+ value &= 0xFFFFF;
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0x000F0000) >> 16);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_24: /* word2(0-3,8-11),word3. */
+ /* if (value > 16777215 || value < 0) RELOC_ERROR(1); */
+ value &= 0xFFFFFF;
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0x000F0000) >> 8) | ((value & 0x00F00000) >> 20);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+
+ case R_16C_IMMED:
+ switch (size)
+ {
+ case R_S_16C_04: /* word1/2(4-7). */
+ if (value > 15 || value < -1)
+ return bfd_reloc_overflow;
+ value &= 0xF;
+ value <<= 4;
+ value |= left_val;
+ bfd_put_8 (abfd, (bfd_vma) value, (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_16: /* word2. */
+ if (value > 32767 || value < -32768)
+ return bfd_reloc_overflow;
+ value &= 0xFFFF;
+ sword = value;
+ bfd_put_16 (abfd, (bfd_vma) sword,
+ (unsigned char *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_20: /* word1(0-3),word2. */
+ if (value > 1048575 || value < 0)
+ return bfd_reloc_overflow;
+ value &= 0xFFFFF;
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0x000F0000) >> 16);
+ value |= left_val;
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ case R_S_16C_32: /* word2, word3. */
+ value &= 0xFFFFFFFF;
+ value = ((value & 0x0000FFFF) << 16) |
+ ((value & 0xFFFF0000) >> 16);
+ bfd_put_32 (abfd, (bfd_vma) value, (bfd_byte *) data + octets);
+ return bfd_reloc_ok;
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+ break;
+ default:
+ return bfd_reloc_notsupported;
+ }
+}
+
+/* Relocate a CR16C ELF section. */
+
+static bfd_boolean
+elf32_cr16c_relocate_section (bfd *output_bfd,
+ struct bfd_link_info *info,
+ bfd *input_bfd,
+ asection *input_section,
+ bfd_byte *contents,
+ Elf_Internal_Rela *relocs,
+ Elf_Internal_Sym *local_syms,
+ asection **local_sections)
+{
+ Elf_Internal_Shdr *symtab_hdr;
+ struct elf_link_hash_entry **sym_hashes;
+ Elf_Internal_Rela *rel, *relend;
+
+ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (input_bfd);
+
+ rel = relocs;
+ relend = relocs + input_section->reloc_count;
+ for (; rel < relend; rel++)
+ {
+ int r_type;
+ reloc_howto_type *howto;
+ unsigned long r_symndx;
+ Elf_Internal_Sym *sym;
+ asection *sec;
+ struct elf_link_hash_entry *h;
+ bfd_vma relocation;
+ bfd_reloc_status_type r;
+
+ r_symndx = ELF32_R_SYM (rel->r_info);
+ r_type = ELF32_R_TYPE (rel->r_info);
+ howto = elf_howto_table + r_type;
+
+ if (info->relocatable)
+ {
+ /* This is a relocatable link. We don't have to change
+ anything, unless the reloc is against a section symbol,
+ in which case we have to adjust according to where the
+ section symbol winds up in the output section. */
+ if (r_symndx < symtab_hdr->sh_info)
+ {
+ sym = local_syms + r_symndx;
+ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
+ {
+ sec = local_sections[r_symndx];
+ rel->r_addend += sec->output_offset + sym->st_value;
+ }
+ }
+
+ continue;
+ }
+
+ /* This is a final link. */
+ h = NULL;
+ sym = NULL;
+ sec = NULL;
+ if (r_symndx < symtab_hdr->sh_info)
+ {
+ sym = local_syms + r_symndx;
+ sec = local_sections[r_symndx];
+ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
+ }
+ else
+ {
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
+ }
+
+ r = cr16c_elf_final_link_relocate (howto, input_bfd, output_bfd,
+ input_section,
+ contents, rel->r_offset,
+ relocation, rel->r_addend,
+ info, sec, h == NULL);
+
+ if (r != bfd_reloc_ok)
+ {
+ const char *name;
+ const char *msg = (const char *) 0;
+
+ if (h != NULL)
+ name = h->root.root.string;
+ else
+ {
+ name = (bfd_elf_string_from_elf_section
+ (input_bfd, symtab_hdr->sh_link, sym->st_name));
+ if (name == NULL || *name == '\0')
+ name = bfd_section_name (input_bfd, sec);
+ }
+
+ switch (r)
+ {
+ case bfd_reloc_overflow:
+ if (!((*info->callbacks->reloc_overflow)
+ (info, name, howto->name, (bfd_vma) 0,
+ input_bfd, input_section, rel->r_offset)))
+ return FALSE;
+ break;
+
+ case bfd_reloc_undefined:
+ if (!((*info->callbacks->undefined_symbol)
+ (info, name, input_bfd, input_section,
+ rel->r_offset, TRUE)))
+ return FALSE;
+ break;
+
+ case bfd_reloc_outofrange:
+ msg = _("internal error: out of range error");
+ goto common_error;
+
+ case bfd_reloc_notsupported:
+ msg = _("internal error: unsupported relocation error");
+ goto common_error;
+
+ case bfd_reloc_dangerous:
+ msg = _("internal error: dangerous error");
+ goto common_error;
+
+ default:
+ msg = _("internal error: unknown error");
+ /* fall through */
+
+ common_error:
+ if (!((*info->callbacks->warning)
+ (info, msg, name, input_bfd, input_section,
+ rel->r_offset)))
+ return FALSE;
+ break;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+static asection *
+elf32_cr16c_gc_mark_hook (asection *sec,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ Elf_Internal_Rela *rel,
+ struct elf_link_hash_entry *h,
+ Elf_Internal_Sym *sym)
+{
+ if (h != NULL)
+ {
+ switch (ELF32_R_TYPE (rel->r_info))
+ {
+
+ default:
+ switch (h->root.type)
+ {
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ return h->root.u.def.section;
+
+ case bfd_link_hash_common:
+ return h->root.u.c.p->section;
+
+ default:
+ break;
+ }
+ }
+ }
+ else
+ {
+ return bfd_section_from_elf_index (sec->owner, sym->st_shndx);
+ }
+
+ return NULL;
+}
+
+/* Update the got entry reference counts for the section being removed. */
+
+static bfd_boolean
+elf32_cr16c_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *sec ATTRIBUTE_UNUSED,
+ const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED)
+{
+ /* We don't support garbage collection of GOT and PLT relocs yet. */
+ return TRUE;
+}
+
+/* CR16C ELF uses three common sections:
+ One is for default common symbols (placed in usual common section).
+ Second is for near common symbols (placed in "ncommon" section).
+ Third is for far common symbols (placed in "fcommon" section).
+ The following implementation is based on elf32-mips architecture */
+
+static asection cr16c_elf_fcom_section;
+static asymbol cr16c_elf_fcom_symbol;
+static asymbol * cr16c_elf_fcom_symbol_ptr;
+static asection cr16c_elf_ncom_section;
+static asymbol cr16c_elf_ncom_symbol;
+static asymbol * cr16c_elf_ncom_symbol_ptr;
+
+/* Given a BFD section, try to locate the
+ corresponding ELF section index. */
+
+static bfd_boolean
+elf32_cr16c_section_from_bfd_section (bfd *abfd ATTRIBUTE_UNUSED,
+ asection *sec,
+ int *retval)
+{
+ if (strcmp (bfd_get_section_name (abfd, sec), ".fcommon") == 0)
+ *retval = SHN_CR16C_FCOMMON;
+ else if (strcmp (bfd_get_section_name (abfd, sec), ".ncommon") == 0)
+ *retval = SHN_CR16C_NCOMMON;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Handle the special CR16C section numbers that a symbol may use. */
+
+static void
+elf32_cr16c_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED,
+ asymbol *asym)
+{
+ elf_symbol_type *elfsym = (elf_symbol_type *) asym;
+ unsigned int indx;
+
+ indx = elfsym->internal_elf_sym.st_shndx;
+
+ switch (indx)
+ {
+ case SHN_CR16C_FCOMMON:
+ if (cr16c_elf_fcom_section.name == NULL)
+ {
+ /* Initialize the far common section. */
+ cr16c_elf_fcom_section.name = ".fcommon";
+ cr16c_elf_fcom_section.flags = SEC_IS_COMMON | SEC_ALLOC;
+ cr16c_elf_fcom_section.output_section = &cr16c_elf_fcom_section;
+ cr16c_elf_fcom_section.symbol = &cr16c_elf_fcom_symbol;
+ cr16c_elf_fcom_section.symbol_ptr_ptr = &cr16c_elf_fcom_symbol_ptr;
+ cr16c_elf_fcom_symbol.name = ".fcommon";
+ cr16c_elf_fcom_symbol.flags = BSF_SECTION_SYM;
+ cr16c_elf_fcom_symbol.section = &cr16c_elf_fcom_section;
+ cr16c_elf_fcom_symbol_ptr = &cr16c_elf_fcom_symbol;
+ }
+ asym->section = &cr16c_elf_fcom_section;
+ asym->value = elfsym->internal_elf_sym.st_size;
+ break;
+ case SHN_CR16C_NCOMMON:
+ if (cr16c_elf_ncom_section.name == NULL)
+ {
+ /* Initialize the far common section. */
+ cr16c_elf_ncom_section.name = ".ncommon";
+ cr16c_elf_ncom_section.flags = SEC_IS_COMMON | SEC_ALLOC;
+ cr16c_elf_ncom_section.output_section = &cr16c_elf_ncom_section;
+ cr16c_elf_ncom_section.symbol = &cr16c_elf_ncom_symbol;
+ cr16c_elf_ncom_section.symbol_ptr_ptr = &cr16c_elf_ncom_symbol_ptr;
+ cr16c_elf_ncom_symbol.name = ".ncommon";
+ cr16c_elf_ncom_symbol.flags = BSF_SECTION_SYM;
+ cr16c_elf_ncom_symbol.section = &cr16c_elf_ncom_section;
+ cr16c_elf_ncom_symbol_ptr = &cr16c_elf_ncom_symbol;
+ }
+ asym->section = &cr16c_elf_ncom_section;
+ asym->value = elfsym->internal_elf_sym.st_size;
+ break;
+ }
+}
+
+/* Hook called by the linker routine which adds symbols from an object
+ file. We must handle the special cr16c section numbers here. */
+
+static bfd_boolean
+elf32_cr16c_add_symbol_hook (bfd *abfd,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym,
+ const char **namep ATTRIBUTE_UNUSED,
+ flagword *flagsp ATTRIBUTE_UNUSED,
+ asection **secp,
+ bfd_vma *valp)
+{
+ unsigned int indx = sym->st_shndx;
+
+ switch (indx)
+ {
+ case SHN_CR16C_FCOMMON:
+ *secp = bfd_make_section_old_way (abfd, ".fcommon");
+ (*secp)->flags |= SEC_IS_COMMON;
+ *valp = sym->st_size;
+ break;
+ case SHN_CR16C_NCOMMON:
+ *secp = bfd_make_section_old_way (abfd, ".ncommon");
+ (*secp)->flags |= SEC_IS_COMMON;
+ *valp = sym->st_size;
+ break;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf32_cr16c_link_output_symbol_hook (struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ const char *name ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym,
+ asection *input_sec,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+ /* If we see a common symbol, which implies a relocatable link, then
+ if a symbol was in a special common section in an input file, mark
+ it as a special common in the output file. */
+
+ if (sym->st_shndx == SHN_COMMON)
+ {
+ if (strcmp (input_sec->name, ".fcommon") == 0)
+ sym->st_shndx = SHN_CR16C_FCOMMON;
+ else if (strcmp (input_sec->name, ".ncommon") == 0)
+ sym->st_shndx = SHN_CR16C_NCOMMON;
+ }
+
+ return TRUE;
+}
+
+/* Definitions for setting CR16C target vector. */
+#define TARGET_LITTLE_SYM bfd_elf32_cr16c_vec
+#define TARGET_LITTLE_NAME "elf32-cr16c"
+#define ELF_ARCH bfd_arch_cr16c
+#define ELF_MACHINE_CODE EM_CR
+#define ELF_MAXPAGESIZE 0x1
+#define elf_symbol_leading_char '_'
+
+#define bfd_elf32_bfd_reloc_type_lookup elf_cr16c_reloc_type_lookup
+#define elf_info_to_howto elf_cr16c_info_to_howto
+#define elf_info_to_howto_rel elf_cr16c_info_to_howto_rel
+#define elf_backend_relocate_section elf32_cr16c_relocate_section
+#define elf_backend_gc_mark_hook elf32_cr16c_gc_mark_hook
+#define elf_backend_gc_sweep_hook elf32_cr16c_gc_sweep_hook
+#define elf_backend_symbol_processing elf32_cr16c_symbol_processing
+#define elf_backend_section_from_bfd_section elf32_cr16c_section_from_bfd_section
+#define elf_backend_add_symbol_hook elf32_cr16c_add_symbol_hook
+#define elf_backend_link_output_symbol_hook elf32_cr16c_link_output_symbol_hook
+
+#define elf_backend_can_gc_sections 1
+
+#include "elf32-target.h"
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index e2a51f6..775fd0e 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1,5 +1,5 @@
/* CRIS-specific support for 32-bit ELF.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Axis Communications AB.
Written by Hans-Peter Nilsson, based on elf32-fr30.c
PIC and shlib bits based primarily on elf32-m68k.c and elf32-i386.c.
@@ -859,7 +859,10 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean warned;
bfd_boolean unresolved_reloc;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
if (unresolved_reloc
/* Perhaps we should detect the cases that
@@ -957,11 +960,25 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
statically linking PIC code, or when using -Bsymbolic. Check
that we instead have a GOT entry as done for us by
elf_cris_adjust_dynamic_symbol, and drop through into the
- ordinary GOT cases. */
- if (h != NULL && h->got.offset == (bfd_vma) -1)
+ ordinary GOT cases. This must not happen for the
+ executable, because any reference it does to a function
+ that is satisfied by a DSO must generate a PLT. We assume
+ these call-specific relocs don't address non-functions. */
+ if (h != NULL
+ && (h->got.offset == (bfd_vma) -1
+ || (!info->shared
+ && !((h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) != 0
+ || ((h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) == 0
+ && h->root.type == bfd_link_hash_undefweak)))))
{
(*_bfd_error_handler)
- (_("%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section"),
+ ((h->got.offset == (bfd_vma) -1)
+ ? _("%s: No PLT nor GOT for relocation %s against\
+ symbol `%s' from %s section")
+ : _("%s: No PLT for relocation %s against\
+ symbol `%s' from %s section"),
bfd_archive_filename (input_bfd),
cris_elf_howto_table[r_type].name,
symname[0] != '\0' ? symname : _("[whose name is lost]"),
@@ -993,18 +1010,25 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
if (!elf_hash_table (info)->dynamic_sections_created
|| (! info->shared
- && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))
+ && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)
+ || h->type == STT_FUNC
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_NEEDS_PLT)))
|| (info->shared
&& (info->symbolic || h->dynindx == -1)
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)))
{
/* This wasn't checked above for ! info->shared, but
- must hold there if we get here; the symbol must be
- defined in the regular program, or be undefweak. */
+ must hold there if we get here; the symbol must
+ be defined in the regular program or be undefweak
+ or be a function or otherwise need a PLT. */
BFD_ASSERT (!elf_hash_table (info)->dynamic_sections_created
|| info->shared
|| (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_REGULAR) != 0
+ || h->type == STT_FUNC
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_NEEDS_PLT)
|| h->root.type == bfd_link_hash_undefweak);
/* This is actually a static link, or it is a
@@ -1418,7 +1442,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym)
to this function. Note that we embed knowledge that "incoming"
.got goes after .got.plt in the output without padding (pointer
aligned). However, that knowledge is present in several other
- places too, here and in elflink.h at least. */
+ places too. */
bfd_vma got_offset
= (has_gotplt
? gotplt_offset
@@ -1508,12 +1532,15 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym)
}
}
- /* We don't emit .got relocs for symbols that aren't in the
- dynamic-symbols table for an ordinary program and are either defined
- by the program or are undefined weak symbols. */
+ /* For an ordinary program, we emit .got relocs only for symbols that
+ are in the dynamic-symbols table and are either defined by the
+ program or are undefined weak symbols, or are function symbols
+ where we do not output a PLT: the PLT reloc was output above and all
+ references to the function symbol are redirected to the PLT. */
if (h->got.offset != (bfd_vma) -1
&& (info->shared
|| (h->dynindx != -1
+ && h->plt.offset == (bfd_vma) -1
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
&& h->root.type != bfd_link_hash_undefweak)))
{
@@ -1835,13 +1862,12 @@ cris_elf_gc_sweep_hook (abfd, info, sec, relocs)
r_symndx = ELF32_R_SYM (rel->r_info);
if (r_symndx < symtab_hdr->sh_info)
goto local_got_reloc;
-
+ /* Fall through. */
case R_CRIS_32_PLT_GOTREL:
/* FIXME: We don't garbage-collect away the .got section. */
if (local_got_refcounts != NULL)
local_got_refcounts[-1]--;
/* Fall through. */
-
case R_CRIS_8_PCREL:
case R_CRIS_16_PCREL:
case R_CRIS_32_PCREL:
@@ -1926,16 +1952,22 @@ elf_cris_adjust_gotplt_to_got (h, p)
want to do this:
- When all PLT references are GOTPLT references, and there are GOT
- references. We don't have to generate a PLT at all.
+ references, and this is not the executable. We don't have to
+ generate a PLT at all.
- - When there are both (ordinary) PLT references and GOT references.
+ - When there are both (ordinary) PLT references and GOT references,
+ and this isn't the executable.
We want to make the PLT reference use the ordinary GOT entry rather
- than a run-time dynamically resolved GOTPLT entry (since the GOT
- entry will have to be resolved at startup anyway).
+ than R_CRIS_JUMP_SLOT, a run-time dynamically resolved GOTPLT entry,
+ since the GOT entry will have to be resolved at startup anyway.
Though the latter case is handled when room for the PLT is allocated,
not here.
+ By folding into the GOT, we may need a round-trip to a PLT in the
+ executable for calls, a loss in performance. Still, losing a
+ reloc is a win in size and at least in start-up time.
+
Note that this function is called before symbols are forced local by
version scripts. The differing cases are handled by
elf_cris_hide_symbol. */
@@ -2042,10 +2074,14 @@ elf_cris_adjust_dynamic_symbol (info, h)
info);
}
- /* If there are only GOT references and GOTPLT references to this
- PLT entry, get rid of the PLT. */
- if (! elf_cris_try_fold_plt_to_got ((struct elf_cris_link_hash_entry *)
- h, info))
+ /* If we had a R_CRIS_GLOB_DAT that didn't have to point to a PLT;
+ where a pointer-equivalent symbol was unimportant (i.e. more
+ like R_CRIS_JUMP_SLOT after symbol evaluation) we could get rid
+ of the PLT. We can't for the executable, because the GOT
+ entries will point to the PLT there (and be constant). */
+ if (info->shared
+ && !elf_cris_try_fold_plt_to_got ((struct elf_cris_link_hash_entry*)
+ h, info))
return FALSE;
/* GC or folding may have rendered this entry unused. */
@@ -2059,7 +2095,7 @@ elf_cris_adjust_dynamic_symbol (info, h)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2083,8 +2119,11 @@ elf_cris_adjust_dynamic_symbol (info, h)
/* If there's already a GOT entry, use that, not a .got.plt. A
GOT field still has a reference count when we get here; it's
- not yet changed to an offset. */
- if (h->got.refcount > 0)
+ not yet changed to an offset. We can't do this for an
+ executable, because then the reloc associated with the PLT
+ would get a non-PLT reloc pointing to the PLT. FIXME: Move
+ this to elf_cris_try_fold_plt_to_got. */
+ if (info->shared && h->got.refcount > 0)
{
h->got.refcount += h->plt.refcount;
@@ -2383,7 +2422,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (!bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (!bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2600,14 +2639,14 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_CRIS_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_CRIS_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -2770,7 +2809,7 @@ elf_cris_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!info->shared)
{
@@ -2857,9 +2896,11 @@ elf_cris_discard_excess_program_dynamics (h, inf)
/* If we're not creating a shared library and have a symbol which is
referred to by .got references, but the symbol is defined locally,
- (or rather, not not defined by a DSO) then lose the reloc for the
- .got (don't allocate room for it). */
- if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0)
+ (or rather, not defined by a DSO) then lose the reloc for the .got
+ (don't allocate room for it). Likewise for relocs for something
+ for which we create a PLT. */
+ if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0
+ || h->root.plt.refcount > 0)
{
if (h->root.got.refcount > 0
/* The size of this section is only valid and in sync with the
@@ -2885,7 +2926,8 @@ elf_cris_discard_excess_program_dynamics (h, inf)
introduce new problems. Of course we don't do this if we're
exporting all dynamic symbols. */
if (! info->export_dynamic
- && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0)
+ && (h->root.elf_link_hash_flags
+ & (ELF_LINK_HASH_DEF_DYNAMIC|ELF_LINK_HASH_REF_DYNAMIC)) == 0)
{
h->root.dynindx = -1;
_bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
@@ -3048,7 +3090,7 @@ elf_cris_reloc_type_class (rela)
#define elf_backend_create_dynamic_sections \
_bfd_elf_create_dynamic_sections
#define bfd_elf32_bfd_final_link \
- _bfd_elf32_gc_common_final_link
+ bfd_elf_gc_common_final_link
#define elf_backend_hide_symbol elf_cris_hide_symbol
#define elf_backend_reloc_type_class elf_cris_reloc_type_class
diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c
index f9454ff..e845a25 100644
--- a/bfd/elf32-d10v.c
+++ b/bfd/elf32-d10v.c
@@ -1,5 +1,5 @@
/* D10V-specific support for 32-bit ELF
- Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by Martin Hunt (hunt@cygnus.com).
@@ -334,14 +334,14 @@ elf32_d10v_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_D10V_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_D10V_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
}
@@ -517,28 +517,12 @@ elf32_d10v_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else
- {
- if (!((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
if (h != NULL)
diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c
index 6ccb9f5..7fb6d0c 100644
--- a/bfd/elf32-dlx.c
+++ b/bfd/elf32-dlx.c
@@ -558,14 +558,14 @@ elf32_dlx_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_DLX_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_DLX_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c
index 472a07a..5f70e3f 100644
--- a/bfd/elf32-fr30.c
+++ b/bfd/elf32-fr30.c
@@ -1,5 +1,5 @@
/* FR30-specific support for 32-bit ELF.
- Copyright 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -566,47 +566,12 @@ fr30_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
-#if 0
- fprintf (stderr,
- "defined: sec: %s, name: %s, value: %x + %x + %x gives: %x\n",
- sec->name, name, h->root.u.def.value,
- sec->output_section->vma, sec->output_offset, relocation);
-#endif
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
-#if 0
- fprintf (stderr, "undefined: sec: %s, name: %s\n",
- sec->name, name);
-#endif
- relocation = 0;
- }
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
-#if 0
- fprintf (stderr, "unknown: name: %s\n", name);
-#endif
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = fr30_final_link_relocate (howto, input_bfd, input_section,
@@ -753,14 +718,14 @@ fr30_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_FR30_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_FR30_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index 488438e..6412acd 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -1,5 +1,5 @@
/* FRV-specific support for 32-bit ELF.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf/frv.h"
+#include "elf/dwarf2.h"
#include "hashtab.h"
/* Forward declarations. */
@@ -51,7 +52,7 @@ static bfd_boolean elf32_frv_relocate_section
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
static bfd_boolean elf32_frv_add_symbol_hook
- PARAMS (( bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS (( bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static bfd_reloc_status_type frv_final_link_relocate
PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *,
@@ -117,7 +118,7 @@ static reloc_howto_type elf32_frv_howto_table [] =
16, /* bitsize */
TRUE, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
+ complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_FRV_LABEL16", /* name */
FALSE, /* partial_inplace */
@@ -659,7 +660,6 @@ frv_elf_link_hash_table_create (bfd *abfd)
#define FRV_SYM_LOCAL(INFO, H) \
(_bfd_elf_symbol_refs_local_p ((H), (INFO), 1) \
|| ! elf_hash_table (INFO)->dynamic_sections_created \
- || (H)->root.type == bfd_link_hash_undefweak \
|| (/* The condition below is an ugly hack to get .scommon data to
be regarded as local. For some reason the
ELF_LINK_HASH_DEF_REGULAR bit is not set on such common
@@ -748,6 +748,10 @@ struct frv_pic_relocs_info
relocations referencing the symbol. */
unsigned relocs32, relocsfd, relocsfdv;
+ /* The number of .rofixups entries and dynamic relocations allocated
+ for this symbol, minus any that might have already been used. */
+ unsigned fixups, dynrelocs;
+
/* The offsets of the GOT entries assigned to symbol+addend, to the
function descriptor's address, and to a function descriptor,
respectively. Should be zero if unassigned. The offsets are
@@ -789,10 +793,14 @@ frv_pic_relocs_info_eq (const void *entry1, const void *entry2)
static struct frv_pic_relocs_info *
frv_pic_relocs_info_find (struct htab *ht,
bfd *abfd,
- const struct frv_pic_relocs_info *entry)
+ const struct frv_pic_relocs_info *entry,
+ enum insert_option insert)
{
struct frv_pic_relocs_info **loc =
- (struct frv_pic_relocs_info **) htab_find_slot (ht, entry, INSERT);
+ (struct frv_pic_relocs_info **) htab_find_slot (ht, entry, insert);
+
+ if (! loc)
+ return NULL;
if (*loc)
return *loc;
@@ -818,7 +826,8 @@ inline static struct frv_pic_relocs_info *
frv_pic_relocs_info_for_global (struct htab *ht,
bfd *abfd,
struct elf_link_hash_entry *h,
- bfd_vma addend)
+ bfd_vma addend,
+ enum insert_option insert)
{
struct frv_pic_relocs_info entry;
@@ -826,7 +835,7 @@ frv_pic_relocs_info_for_global (struct htab *ht,
entry.d.h = h;
entry.addend = addend;
- return frv_pic_relocs_info_find (ht, abfd, &entry);
+ return frv_pic_relocs_info_find (ht, abfd, &entry, insert);
}
/* Obtain the address of the entry in HT associated with the SYMNDXth
@@ -836,7 +845,8 @@ inline static struct frv_pic_relocs_info *
frv_pic_relocs_info_for_local (struct htab *ht,
bfd *abfd,
long symndx,
- bfd_vma addend)
+ bfd_vma addend,
+ enum insert_option insert)
{
struct frv_pic_relocs_info entry;
@@ -844,7 +854,59 @@ frv_pic_relocs_info_for_local (struct htab *ht,
entry.d.abfd = abfd;
entry.addend = addend;
- return frv_pic_relocs_info_find (ht, abfd, &entry);
+ return frv_pic_relocs_info_find (ht, abfd, &entry, insert);
+}
+
+/* Merge fields set by check_relocs() of two entries that end up being
+ mapped to the same (presumably global) symbol. */
+
+inline static void
+frv_pic_merge_early_relocs_info (struct frv_pic_relocs_info *e2,
+ struct frv_pic_relocs_info const *e1)
+{
+ e2->got12 |= e1->got12;
+ e2->gotlos |= e1->gotlos;
+ e2->gothilo |= e1->gothilo;
+ e2->fd |= e1->fd;
+ e2->fdgot12 |= e1->fdgot12;
+ e2->fdgotlos |= e1->fdgotlos;
+ e2->fdgothilo |= e1->fdgothilo;
+ e2->fdgoff12 |= e1->fdgoff12;
+ e2->fdgofflos |= e1->fdgofflos;
+ e2->fdgoffhilo |= e1->fdgoffhilo;
+ e2->gotoff |= e1->gotoff;
+ e2->call |= e1->call;
+ e2->sym |= e1->sym;
+
+#if 0
+ /* These are set in _frv_count_got_plt_entries() or later, and this
+ function is only called in _frv_resolve_final_relocs_info(), that
+ runs just before it, so we don't have to worry about the fields
+ below. */
+
+ e2->plt |= e1->plt;
+ e2->privfd |= e1->privfd;
+ e2->lazyplt |= e1->lazyplt;
+ e2->done |= e1->done;
+
+ e2->relocs32 += e1->relocs32;
+ e2->relocsfd += e1->relocsfd;
+ e2->relocsfdv += e1->relocsfdv;
+ e2->fixups += e1->fixups;
+ e2->dynrelocs += e1->dynrelocs;
+
+ if (abs (e1->got_entry) < abs (e2->got_entry))
+ e2->got_entry = e1->got_entry;
+ if (abs (e1->fdgot_entry) < abs (e2->fdgot_entry))
+ e2->fdgot_entry = e1->fdgot_entry;
+ if (abs (e1->fd_entry) < abs (e2->fd_entry))
+ e2->fd_entry = e1->fd_entry;
+
+ if (e1->plt_entry < e2->plt_entry)
+ e2->plt_entry = e1->plt_entry;
+ if (e1->lzplt_entry < e2->lzplt_entry)
+ e2->lzplt_entry = e1->lzplt_entry;
+#endif
}
/* Every block of 65535 lazy PLT entries shares a single call to the
@@ -859,7 +921,8 @@ frv_pic_relocs_info_for_local (struct htab *ht,
inline static bfd_vma
_frv_add_dyn_reloc (bfd *output_bfd, asection *sreloc, bfd_vma offset,
- int reloc_type, long dynindx, bfd_vma addend)
+ int reloc_type, long dynindx, bfd_vma addend,
+ struct frv_pic_relocs_info *entry)
{
Elf_Internal_Rela outrel;
bfd_vma reloc_offset;
@@ -874,13 +937,17 @@ _frv_add_dyn_reloc (bfd *output_bfd, asection *sreloc, bfd_vma offset,
sreloc->contents + reloc_offset);
sreloc->reloc_count++;
+ BFD_ASSERT (entry->dynrelocs > 0);
+ entry->dynrelocs--;
+
return reloc_offset;
}
/* Add a fixup to the ROFIXUP section. */
static bfd_vma
-_frv_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset)
+_frv_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset,
+ struct frv_pic_relocs_info *entry)
{
bfd_vma fixup_offset;
@@ -894,7 +961,13 @@ _frv_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset)
bfd_put_32 (output_bfd, offset, rofixup->contents + fixup_offset);
}
rofixup->reloc_count++;
-
+
+ if (entry)
+ {
+ BFD_ASSERT (entry->fixups > 0);
+ entry->fixups--;
+ }
+
return fixup_offset;
}
@@ -999,13 +1072,13 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
{
if (sec)
ad += sec->output_section->vma;
- if (entry->symndx != -1 ||
- entry->d.h->root.type != bfd_link_hash_undefweak)
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
_frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset
+ frv_got_initial_offset (info)
- + entry->got_entry);
+ + entry->got_entry, entry);
}
else
_frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
@@ -1016,7 +1089,7 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
+ entry->got_entry)
+ frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset,
- R_FRV_32, idx, ad);
+ R_FRV_32, idx, ad, entry);
bfd_put_32 (output_bfd, ad,
frv_got_section (info)->contents
@@ -1029,65 +1102,79 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
if (entry->fdgot_entry)
{
int reloc, idx;
- bfd_vma ad;
+ bfd_vma ad = 0;
- /* If the symbol is dynamic and there may be dynamic symbol
- resolution because we are or are linked with a shared
- library, emit a FUNCDESC relocation such that the dynamic
- linker will allocate the function descriptor. */
- if (entry->symndx == -1 && ! FRV_FUNCDESC_LOCAL (info, entry->d.h))
+ if (! (entry->symndx == -1
+ && entry->d.h->root.type == bfd_link_hash_undefweak
+ && FRV_SYM_LOCAL (info, entry->d.h)))
{
- reloc = R_FRV_FUNCDESC;
- idx = dynindx;
- ad = addend;
- if (ad)
- return FALSE;
- }
- else
- {
- /* Otherwise, we know we have a private function descriptor,
- so reference it directly. */
- if (elf_hash_table (info)->dynamic_sections_created)
- BFD_ASSERT (entry->privfd);
- reloc = R_FRV_32;
- idx = elf_section_data (frv_got_section (info)->output_section)
- ->dynindx;
- ad = frv_got_section (info)->output_offset +
- frv_got_initial_offset (info) + entry->fd_entry;
- }
-
- /* If there is room for dynamic symbol resolution, emit the
- dynamic relocation. However, if we're linking an executable
- at a fixed location, we won't have emitted a dynamic symbol
- entry for the got section, so idx will be zero, which means
- we can and should compute the address of the private
- descriptor ourselves. */
- if (info->executable && !info->pie
- && (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (info, entry->d.h)))
- {
- if (entry->symndx == -1
- && entry->d.h->root.type == bfd_link_hash_undefweak)
- ad = 0;
+ /* If the symbol is dynamic and there may be dynamic symbol
+ resolution because we are, or are linked with, a shared
+ library, emit a FUNCDESC relocation such that the dynamic
+ linker will allocate the function descriptor. If the
+ symbol needs a non-local function descriptor but binds
+ locally (e.g., its visibility is protected, emit a
+ dynamic relocation decayed to section+offset. */
+ if (entry->symndx == -1 && ! FRV_FUNCDESC_LOCAL (info, entry->d.h)
+ && FRV_SYM_LOCAL (info, entry->d.h)
+ && !(info->executable && !info->pie))
+ {
+ reloc = R_FRV_FUNCDESC;
+ idx = elf_section_data (entry->d.h->root.u.def.section
+ ->output_section)->dynindx;
+ ad = entry->d.h->root.u.def.section->output_offset
+ + entry->d.h->root.u.def.value;
+ }
+ else if (entry->symndx == -1
+ && ! FRV_FUNCDESC_LOCAL (info, entry->d.h))
+ {
+ reloc = R_FRV_FUNCDESC;
+ idx = dynindx;
+ ad = addend;
+ if (ad)
+ return FALSE;
+ }
else
{
+ /* Otherwise, we know we have a private function descriptor,
+ so reference it directly. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ BFD_ASSERT (entry->privfd);
+ reloc = R_FRV_32;
+ idx = elf_section_data (frv_got_section (info)
+ ->output_section)->dynindx;
+ ad = frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info) + entry->fd_entry;
+ }
+
+ /* If there is room for dynamic symbol resolution, emit the
+ dynamic relocation. However, if we're linking an
+ executable at a fixed location, we won't have emitted a
+ dynamic symbol entry for the got section, so idx will be
+ zero, which means we can and should compute the address
+ of the private descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1
+ || FRV_FUNCDESC_LOCAL (info, entry->d.h)))
+ {
ad += frv_got_section (info)->output_section->vma;
_frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset
+ frv_got_initial_offset (info)
- + entry->fdgot_entry);
+ + entry->fdgot_entry, entry);
}
+ else
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->fdgot_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ reloc, idx, ad, entry);
}
- else
- _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
- _bfd_elf_section_offset
- (output_bfd, info,
- frv_got_section (info),
- frv_got_initial_offset (info)
- + entry->fdgot_entry)
- + frv_got_section (info)->output_section->vma
- + frv_got_section (info)->output_offset,
- reloc, idx, ad);
bfd_put_32 (output_bfd, ad,
frv_got_section (info)->contents
@@ -1128,19 +1215,19 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
if (sec)
ad += sec->output_section->vma;
ofst = 0;
- if (entry->symndx != -1 ||
- entry->d.h->root.type != bfd_link_hash_undefweak)
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
{
_frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset
+ frv_got_initial_offset (info)
- + entry->fd_entry);
+ + entry->fd_entry, entry);
_frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset
+ frv_got_initial_offset (info)
- + entry->fd_entry + 4);
+ + entry->fd_entry + 4, entry);
}
}
else
@@ -1156,7 +1243,7 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
+ entry->fd_entry)
+ frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset,
- R_FRV_FUNCDESC_VALUE, idx, ad);
+ R_FRV_FUNCDESC_VALUE, idx, ad, entry);
}
/* If we've omitted the dynamic relocation, just emit the fixed
@@ -1871,16 +1958,16 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
{
relocation = 0;
}
- else if ( ! info->executable
- && ! info->symbolic
- && info->unresolved_syms_in_objects == RM_IGNORE
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
relocation = 0;
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
+ input_section, rel->r_offset,
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+ || ELF_ST_VISIBILITY (h->other)))))
return FALSE;
relocation = 0;
}
@@ -1908,14 +1995,14 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
if (h != NULL)
picrel = frv_pic_relocs_info_for_global (frv_relocs_info (info),
input_bfd, h,
- orig_addend);
+ orig_addend, INSERT);
else
/* In order to find the entry we created before, we must
use the original addend, not the one that may have been
modified by _bfd_elf_rela_local_sym(). */
picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
input_bfd, r_symndx,
- orig_addend);
+ orig_addend, INSERT);
if (! picrel)
return FALSE;
@@ -2005,88 +2092,104 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
int dynindx;
bfd_vma addend = rel->r_addend;
- /* If the symbol is dynamic and there may be dynamic
- symbol resolution because we are or are linked with a
- shared library, emit a FUNCDESC relocation such that
- the dynamic linker will allocate the function
- descriptor. */
- if (h && ! FRV_FUNCDESC_LOCAL (info, h))
+ if (! (h && h->root.type == bfd_link_hash_undefweak
+ && FRV_SYM_LOCAL (info, h)))
{
- if (addend)
+ /* If the symbol is dynamic and there may be dynamic
+ symbol resolution because we are or are linked with a
+ shared library, emit a FUNCDESC relocation such that
+ the dynamic linker will allocate the function
+ descriptor. If the symbol needs a non-local function
+ descriptor but binds locally (e.g., its visibility is
+ protected, emit a dynamic relocation decayed to
+ section+offset. */
+ if (h && ! FRV_FUNCDESC_LOCAL (info, h)
+ && FRV_SYM_LOCAL (info, h)
+ && !(info->executable && !info->pie))
{
- info->callbacks->warning
- (info, _("R_FRV_FUNCDESC references dynamic symbol with nonzero addend"),
- name, input_bfd, input_section, rel->r_offset);
- return FALSE;
+ dynindx = elf_section_data (h->root.u.def.section
+ ->output_section)->dynindx;
+ addend += h->root.u.def.section->output_offset
+ + h->root.u.def.value;
+ }
+ else if (h && ! FRV_FUNCDESC_LOCAL (info, h))
+ {
+ if (addend)
+ {
+ info->callbacks->warning
+ (info, _("R_FRV_FUNCDESC references dynamic symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ dynindx = h->dynindx;
+ }
+ else
+ {
+ /* Otherwise, we know we have a private function
+ descriptor, so reference it directly. */
+ BFD_ASSERT (picrel->privfd);
+ r_type = R_FRV_32;
+ dynindx = elf_section_data (frv_got_section (info)
+ ->output_section)->dynindx;
+ addend = frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + picrel->fd_entry;
}
- dynindx = h->dynindx;
- }
- else
- {
- /* Otherwise, we know we have a private function
- descriptor, so reference it directly. */
- BFD_ASSERT (picrel->privfd);
- r_type = R_FRV_32;
- dynindx = elf_section_data (frv_got_section
- (info)->output_section)->dynindx;
- addend = frv_got_section (info)->output_offset
- + frv_got_initial_offset (info)
- + picrel->fd_entry;
- }
- /* If there is room for dynamic symbol resolution, emit
- the dynamic relocation. However, if we're linking an
- executable at a fixed location, we won't have emitted a
- dynamic symbol entry for the got section, so idx will
- be zero, which means we can and should compute the
- address of the private descriptor ourselves. */
- if (info->executable && !info->pie
- && (!h || FRV_FUNCDESC_LOCAL (info, h)))
- {
- addend += frv_got_section (info)->output_section->vma;
- if ((bfd_get_section_flags (output_bfd,
- input_section->output_section)
- & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ /* If there is room for dynamic symbol resolution, emit
+ the dynamic relocation. However, if we're linking an
+ executable at a fixed location, we won't have emitted a
+ dynamic symbol entry for the got section, so idx will
+ be zero, which means we can and should compute the
+ address of the private descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (!h || FRV_FUNCDESC_LOCAL (info, h)))
+ {
+ addend += frv_got_section (info)->output_section->vma;
+ if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit fixups in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ _frv_add_rofixup (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset,
+ picrel);
+ }
+ }
+ else if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
{
if (_frv_osec_readonly_p (output_bfd,
input_section->output_section))
{
info->callbacks->warning
(info,
- _("cannot emit fixups in read-only section"),
+ _("cannot emit dynamic relocations in read-only section"),
name, input_bfd, input_section, rel->r_offset);
return FALSE;
}
- if (! h || h->root.type != bfd_link_hash_undefweak)
- _frv_add_rofixup (output_bfd,
- frv_gotfixup_section (info),
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
_bfd_elf_section_offset
(output_bfd, info,
input_section, rel->r_offset)
+ input_section->output_section->vma
- + input_section->output_offset);
- }
- }
- else if ((bfd_get_section_flags (output_bfd,
- input_section->output_section)
- & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
- {
- if (_frv_osec_readonly_p (output_bfd,
- input_section->output_section))
- {
- info->callbacks->warning
- (info,
- _("cannot emit dynamic relocations in read-only section"),
- name, input_bfd, input_section, rel->r_offset);
- return FALSE;
+ + input_section->output_offset,
+ r_type, dynindx, addend, picrel);
}
- _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
- _bfd_elf_section_offset
- (output_bfd, info,
- input_section, rel->r_offset)
- + input_section->output_section->vma
- + input_section->output_offset,
- r_type, dynindx, addend);
}
/* We want the addend in-place because dynamic
@@ -2163,7 +2266,8 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
(output_bfd, info,
input_section, rel->r_offset)
+ input_section->output_section->vma
- + input_section->output_offset);
+ + input_section->output_offset,
+ picrel);
if (r_type == R_FRV_FUNCDESC_VALUE)
_frv_add_rofixup
(output_bfd,
@@ -2172,7 +2276,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
(output_bfd, info,
input_section, rel->r_offset)
+ input_section->output_section->vma
- + input_section->output_offset + 4);
+ + input_section->output_offset + 4, picrel);
}
}
}
@@ -2197,7 +2301,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
input_section, rel->r_offset)
+ input_section->output_section->vma
+ input_section->output_offset,
- r_type, dynindx, addend);
+ r_type, dynindx, addend, picrel);
}
/* We want the addend in-place because dynamic
relocations are REL. Setting relocation to it
@@ -2480,7 +2584,7 @@ static bfd_boolean
elf32_frv_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep ATTRIBUTE_UNUSED;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
@@ -2572,7 +2676,7 @@ _frv_create_got_section (bfd *abfd, struct bfd_link_info *info)
/* Machine-specific: we want the symbol for executables as
well. */
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
elf_hash_table (info)->hgot = h;
@@ -2620,7 +2724,7 @@ _frv_create_got_section (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
/* Machine-specific: we want the symbol for executables as well. */
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
return TRUE;
@@ -2675,7 +2779,7 @@ elf32_frv_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (! info->executable
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2777,6 +2881,7 @@ _frv_count_got_plt_entries (void **entryp, void *dinfo_)
{
struct frv_pic_relocs_info *entry = *entryp;
struct _frv_dynamic_got_info *dinfo = dinfo_;
+ unsigned relocs = 0, fixups = 0;
/* Allocate space for a GOT entry pointing to the symbol. */
if (entry->got12)
@@ -2833,27 +2938,33 @@ _frv_count_got_plt_entries (void **entryp, void *dinfo_)
dinfo->lzplt += 8;
if (!dinfo->info->executable || dinfo->info->pie)
- dinfo->relocs += entry->relocs32 + entry->relocsfd + entry->relocsfdv;
+ relocs = entry->relocs32 + entry->relocsfd + entry->relocsfdv;
else
{
if (entry->symndx != -1 || FRV_SYM_LOCAL (dinfo->info, entry->d.h))
{
if (entry->symndx != -1
- || entry->d.h->root.type != bfd_link_hash_undefweak)
- dinfo->fixups += entry->relocs32 + 2 * entry->relocsfdv;
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
+ fixups += entry->relocs32 + 2 * entry->relocsfdv;
}
else
- dinfo->relocs += entry->relocs32 + entry->relocsfdv;
+ relocs += entry->relocs32 + entry->relocsfdv;
+
if (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (dinfo->info, entry->d.h))
{
if (entry->symndx != -1
|| entry->d.h->root.type != bfd_link_hash_undefweak)
- dinfo->fixups += entry->relocsfd;
+ fixups += entry->relocsfd;
}
else
- dinfo->relocs += entry->relocsfd;
+ relocs += entry->relocsfd;
}
+ entry->dynrelocs += relocs;
+ entry->fixups += fixups;
+ dinfo->relocs += relocs;
+ dinfo->fixups += fixups;
+
return 1;
}
@@ -3181,6 +3292,7 @@ _frv_resolve_final_relocs_info (void **entryp, void *p)
if (entry->symndx == -1)
{
struct elf_link_hash_entry *h = entry->d.h;
+ struct frv_pic_relocs_info *oentry;
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
@@ -3189,6 +3301,17 @@ _frv_resolve_final_relocs_info (void **entryp, void *p)
if (entry->d.h == h)
return 1;
+ oentry = frv_pic_relocs_info_for_global (*htab, 0, h, entry->addend,
+ NO_INSERT);
+
+ if (oentry)
+ {
+ /* Merge the two entries. */
+ frv_pic_merge_early_relocs_info (oentry, entry);
+ htab_clear_slot (*htab, entryp);
+ return 1;
+ }
+
entry->d.h = h;
/* If we can't find this entry with the new bfd hash, re-insert
@@ -3413,20 +3536,20 @@ elf32_frv_size_dynamic_sections (bfd *output_bfd,
if (elf_hash_table (info)->dynamic_sections_created)
{
if (frv_got_section (info)->_raw_size)
- if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0))
return FALSE;
if (frv_pltrel_section (info)->_raw_size)
- if (! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_REL)
- || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_REL)
+ || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0))
return FALSE;
if (frv_gotrel_section (info)->_raw_size)
- if (! bfd_elf32_add_dynamic_entry (info, DT_REL, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_RELSZ, 0)
- || ! bfd_elf32_add_dynamic_entry (info, DT_RELENT,
- sizeof (Elf32_External_Rel)))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_REL, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELSZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELENT,
+ sizeof (Elf32_External_Rel)))
return FALSE;
}
@@ -3552,13 +3675,22 @@ elf32_frv_finish_dynamic_sections (bfd *output_bfd,
+ hgot->root.u.def.section->output_offset;
_frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
- got_value);
+ got_value, 0);
}
if (frv_gotfixup_section (info)->_raw_size
!= (frv_gotfixup_section (info)->reloc_count * 4))
{
- if (!elf_hash_table (info)->dynamic_sections_created)
+ if (frv_gotfixup_section (info)->_raw_size
+ < frv_gotfixup_section (info)->reloc_count * 4)
+ {
+ info->callbacks->warning
+ (info, "LINKER BUG: .rofixup section size mismatch",
+ ".rofixup", NULL, NULL, 0);
+ abort ();
+ return FALSE;
+ }
+ else if (!elf_hash_table (info)->dynamic_sections_created)
{
info->callbacks->warning
(info, "no dynamic sections, missing -melf32frvfd?",
@@ -3672,6 +3804,57 @@ elf32_frv_finish_dynamic_symbol (bfd *output_bfd ATTRIBUTE_UNUSED,
return TRUE;
}
+/* Decide whether to attempt to turn absptr or lsda encodings in
+ shared libraries into pcrel within the given input section. */
+
+static bfd_boolean
+frv_elf_use_relative_eh_frame (bfd *input_bfd,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *eh_frame_section ATTRIBUTE_UNUSED)
+{
+ /* We can't use PC-relative encodings in FDPIC binaries, in general. */
+ if (elf_elfheader (input_bfd)->e_flags & EF_FRV_FDPIC)
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Adjust the contents of an eh_frame_hdr section before they're output. */
+
+static bfd_byte
+frv_elf_encode_eh_address (bfd *abfd,
+ struct bfd_link_info *info,
+ asection *osec, bfd_vma offset,
+ asection *loc_sec, bfd_vma loc_offset,
+ bfd_vma *encoded)
+{
+ struct elf_link_hash_entry *h;
+
+ /* Non-FDPIC binaries can use PC-relative encodings. */
+ if (! (elf_elfheader (abfd)->e_flags & EF_FRV_FDPIC))
+ return _bfd_elf_encode_eh_address (abfd, info, osec, offset,
+ loc_sec, loc_offset, encoded);
+
+ h = elf_hash_table (info)->hgot;
+ BFD_ASSERT (h && h->root.type == bfd_link_hash_defined);
+
+ if (! h || (_frv_osec_to_segment (abfd, osec)
+ == _frv_osec_to_segment (abfd, loc_sec->output_section)))
+ return _bfd_elf_encode_eh_address (abfd, info, osec, offset,
+ loc_sec, loc_offset, encoded);
+
+ BFD_ASSERT (_frv_osec_to_segment (abfd, osec)
+ == _frv_osec_to_segment (abfd,
+ h->root.u.def.section->output_section));
+
+ *encoded = osec->vma + offset
+ - (h->root.u.def.value
+ + h->root.u.def.section->output_section->vma
+ + h->root.u.def.section->output_offset);
+
+ return DW_EH_PE_datarel | DW_EH_PE_sdata4;
+}
+
/* Look through the relocs for a section during the first phase.
Besides handling virtual table relocs for gc, we have to deal with
@@ -3845,18 +4028,18 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
case STV_HIDDEN:
break;
default:
- bfd_elf32_link_record_dynamic_symbol (info, h);
+ bfd_elf_link_record_dynamic_symbol (info, h);
break;
}
picrel
= frv_pic_relocs_info_for_global (frv_relocs_info (info),
abfd, h,
- rel->r_addend);
+ rel->r_addend, INSERT);
}
else
picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
abfd, r_symndx,
- rel->r_addend);
+ rel->r_addend, INSERT);
if (! picrel)
return FALSE;
break;
@@ -3924,14 +4107,14 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_FRV_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_FRV_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
@@ -3952,6 +4135,8 @@ elf32_frv_machine (abfd)
default: break;
case EF_FRV_CPU_FR550: return bfd_mach_fr550;
case EF_FRV_CPU_FR500: return bfd_mach_fr500;
+ case EF_FRV_CPU_FR450: return bfd_mach_fr450;
+ case EF_FRV_CPU_FR405: return bfd_mach_fr400;
case EF_FRV_CPU_FR400: return bfd_mach_fr400;
case EF_FRV_CPU_FR300: return bfd_mach_fr300;
case EF_FRV_CPU_SIMPLE: return bfd_mach_frvsimple;
@@ -4002,6 +4187,33 @@ frv_elf_copy_private_bfd_data (ibfd, obfd)
return TRUE;
}
+/* Return true if the architecture described by elf header flag
+ EXTENSION is an extension of the architecture described by BASE. */
+
+static bfd_boolean
+frv_elf_arch_extension_p (flagword base, flagword extension)
+{
+ if (base == extension)
+ return TRUE;
+
+ /* CPU_GENERIC code can be merged with code for a specific
+ architecture, in which case the result is marked as being
+ for the specific architecture. Everything is therefore
+ an extension of CPU_GENERIC. */
+ if (base == EF_FRV_CPU_GENERIC)
+ return TRUE;
+
+ if (extension == EF_FRV_CPU_FR450)
+ if (base == EF_FRV_CPU_FR400 || base == EF_FRV_CPU_FR405)
+ return TRUE;
+
+ if (extension == EF_FRV_CPU_FR405)
+ if (base == EF_FRV_CPU_FR400)
+ return TRUE;
+
+ return FALSE;
+}
+
/* Merge backend specific data from an object file to the output
object file when linking. */
@@ -4186,13 +4398,10 @@ frv_elf_merge_private_bfd_data (ibfd, obfd)
the generic cpu). */
new_partial = (new_flags & EF_FRV_CPU_MASK);
old_partial = (old_flags & EF_FRV_CPU_MASK);
- if (new_partial == old_partial)
- ;
-
- else if (new_partial == EF_FRV_CPU_GENERIC)
+ if (frv_elf_arch_extension_p (new_partial, old_partial))
;
- else if (old_partial == EF_FRV_CPU_GENERIC)
+ else if (frv_elf_arch_extension_p (old_partial, new_partial))
old_flags = (old_flags & ~EF_FRV_CPU_MASK) | new_partial;
else
@@ -4204,6 +4413,8 @@ frv_elf_merge_private_bfd_data (ibfd, obfd)
case EF_FRV_CPU_SIMPLE: strcat (new_opt, " -mcpu=simple"); break;
case EF_FRV_CPU_FR550: strcat (new_opt, " -mcpu=fr550"); break;
case EF_FRV_CPU_FR500: strcat (new_opt, " -mcpu=fr500"); break;
+ case EF_FRV_CPU_FR450: strcat (new_opt, " -mcpu=fr450"); break;
+ case EF_FRV_CPU_FR405: strcat (new_opt, " -mcpu=fr405"); break;
case EF_FRV_CPU_FR400: strcat (new_opt, " -mcpu=fr400"); break;
case EF_FRV_CPU_FR300: strcat (new_opt, " -mcpu=fr300"); break;
case EF_FRV_CPU_TOMCAT: strcat (new_opt, " -mcpu=tomcat"); break;
@@ -4216,6 +4427,8 @@ frv_elf_merge_private_bfd_data (ibfd, obfd)
case EF_FRV_CPU_SIMPLE: strcat (old_opt, " -mcpu=simple"); break;
case EF_FRV_CPU_FR550: strcat (old_opt, " -mcpu=fr550"); break;
case EF_FRV_CPU_FR500: strcat (old_opt, " -mcpu=fr500"); break;
+ case EF_FRV_CPU_FR450: strcat (old_opt, " -mcpu=fr450"); break;
+ case EF_FRV_CPU_FR405: strcat (old_opt, " -mcpu=fr405"); break;
case EF_FRV_CPU_FR400: strcat (old_opt, " -mcpu=fr400"); break;
case EF_FRV_CPU_FR300: strcat (old_opt, " -mcpu=fr300"); break;
case EF_FRV_CPU_TOMCAT: strcat (old_opt, " -mcpu=tomcat"); break;
@@ -4283,6 +4496,8 @@ frv_elf_print_private_bfd_data (abfd, ptr)
case EF_FRV_CPU_SIMPLE: fprintf (file, " -mcpu=simple"); break;
case EF_FRV_CPU_FR550: fprintf (file, " -mcpu=fr550"); break;
case EF_FRV_CPU_FR500: fprintf (file, " -mcpu=fr500"); break;
+ case EF_FRV_CPU_FR450: fprintf (file, " -mcpu=fr450"); break;
+ case EF_FRV_CPU_FR405: fprintf (file, " -mcpu=fr405"); break;
case EF_FRV_CPU_FR400: fprintf (file, " -mcpu=fr400"); break;
case EF_FRV_CPU_FR300: fprintf (file, " -mcpu=fr300"); break;
case EF_FRV_CPU_TOMCAT: fprintf (file, " -mcpu=tomcat"); break;
@@ -4391,6 +4606,12 @@ frv_elf_print_private_bfd_data (abfd, ptr)
#define elf_backend_want_plt_sym 0
#define elf_backend_plt_header_size 0
+#define elf_backend_can_make_relative_eh_frame \
+ frv_elf_use_relative_eh_frame
+#define elf_backend_can_make_lsda_relative_eh_frame \
+ frv_elf_use_relative_eh_frame
+#define elf_backend_encode_eh_address frv_elf_encode_eh_address
+
#define elf_backend_may_use_rel_p 1
#define elf_backend_may_use_rela_p 1
/* We use REL for dynamic relocations only. */
diff --git a/bfd/elf32-gen.c b/bfd/elf32-gen.c
index b1ad744..f2edf69 100644
--- a/bfd/elf32-gen.c
+++ b/bfd/elf32-gen.c
@@ -1,5 +1,5 @@
/* Generic support for 32-bit ELF
- Copyright 1993, 1995, 1998, 1999, 2001, 2002
+ Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -88,7 +88,7 @@ elf32_generic_link_add_symbols (abfd, info)
return FALSE;
}
- return bfd_elf32_bfd_link_add_symbols (abfd, info);
+ return bfd_elf_link_add_symbols (abfd, info);
}
#define TARGET_LITTLE_SYM bfd_elf32_little_generic_vec
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 547adfa..877da8a 100644
--- a/bfd/elf32-h8300.c
+++ b/bfd/elf32-h8300.c
@@ -439,28 +439,12 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = elf32_h8_final_link_relocate (r_type, input_bfd, output_bfd,
@@ -1574,7 +1558,7 @@ elf32_h8_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED,
/* ??? when elf_backend_relocate_section is not defined, elf32-target.h
defaults to using _bfd_generic_link_hash_table_create, but
- elflink.h:bfd_elf32_size_dynamic_sections uses
+ bfd_elf_size_dynamic_sections uses
dynobj = elf_hash_table (info)->dynobj;
and thus requires an elf hash table. */
#define bfd_elf32_bfd_link_hash_table_create _bfd_elf_link_hash_table_create
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index cf6c630..54dbb9a 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -1,6 +1,6 @@
/* BFD back-end for HP PA-RISC ELF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001,
- 2002, 2003 Free Software Foundation, Inc.
+ 2002, 2003, 2004 Free Software Foundation, Inc.
Original code by
Center for Software Science
@@ -1147,12 +1147,13 @@ elf32_hppa_check_relocs (bfd *abfd,
}
break;
- case R_PARISC_SEGBASE: /* Used to set segment base. */
+ case R_PARISC_SEGBASE: /* Used to set segment base. */
case R_PARISC_SEGREL32: /* Relative reloc, used for unwind. */
case R_PARISC_PCREL14F: /* PC relative load/store. */
case R_PARISC_PCREL14R:
case R_PARISC_PCREL17R: /* External branches. */
case R_PARISC_PCREL21L: /* As above, and for load/store too. */
+ case R_PARISC_PCREL32:
/* We don't need to propagate the relocation if linking a
shared object since these are section relative. */
continue;
@@ -1198,16 +1199,14 @@ elf32_hppa_check_relocs (bfd *abfd,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_PARISC_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec,
- &h->elf, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, &h->elf, rel->r_offset))
return FALSE;
continue;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_PARISC_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec,
- &h->elf, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, &h->elf, rel->r_addend))
return FALSE;
continue;
@@ -1620,17 +1619,6 @@ elf32_hppa_hide_symbol (struct bfd_link_info *info,
}
}
-/* This is the condition under which elf32_hppa_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf32_hppa_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \
- ((DYN) \
- && ((INFO)->shared \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Adjust a symbol defined by a dynamic object and referenced by a
regular object. The current definition is in some section of the
dynamic object, but we're not including those sections. We have to
@@ -1802,11 +1790,11 @@ allocate_plt_static (struct elf_link_hash_entry *h, void *inf)
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0
&& h->type != STT_PARISC_MILLI)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h))
{
/* Allocate these later. From this point on, h->plabel
means that the plt entry is only used by a plabel.
@@ -1880,7 +1868,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0
&& h->type != STT_PARISC_MILLI)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1951,7 +1939,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0
&& h->type != STT_PARISC_MILLI)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2240,7 +2228,7 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
communicate the LTP value of a load module to the dynamic
linker. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!add_dynamic_entry (DT_PLTGOT, 0))
return FALSE;
@@ -2792,8 +2780,7 @@ elf32_hppa_size_stubs
}
else if (hash->elf.root.type == bfd_link_hash_undefined)
{
- if (! (info->shared
- && info->unresolved_syms_in_objects == RM_IGNORE
+ if (! (info->unresolved_syms_in_objects == RM_IGNORE
&& (ELF_ST_VISIBILITY (hash->elf.other)
== STV_DEFAULT)
&& hash->elf.type != STT_PARISC_MILLI))
@@ -3005,7 +2992,7 @@ static bfd_boolean
elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
{
/* Invoke the regular ELF linker to do all the work. */
- if (!bfd_elf32_bfd_final_link (abfd, info))
+ if (!bfd_elf_final_link (abfd, info))
return FALSE;
/* If we're producing a final executable, sort the contents of the
@@ -3145,6 +3132,7 @@ final_link_relocate (asection *input_section,
case R_PARISC_PCREL17R:
case R_PARISC_PCREL14R:
case R_PARISC_PCREL14F:
+ case R_PARISC_PCREL32:
/* Make it a pc relative offset. */
value -= location;
addend -= 8;
@@ -3238,6 +3226,7 @@ final_link_relocate (asection *input_section,
case R_PARISC_DIR17F:
case R_PARISC_PCREL17C:
case R_PARISC_PCREL14F:
+ case R_PARISC_PCREL32:
case R_PARISC_DPREL14F:
case R_PARISC_PLABEL32:
case R_PARISC_DLTIND14F:
@@ -3430,26 +3419,25 @@ elf32_hppa_relocate_section (bfd *output_bfd,
{
struct elf_link_hash_entry *hh;
bfd_boolean unresolved_reloc;
+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
- RELOC_FOR_GLOBAL_SYMBOL (hh, elf_sym_hashes (input_bfd), r_symndx, symtab_hdr,
- relocation, sym_sec, unresolved_reloc, info,
- warned_undef);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ hh, sym_sec, relocation,
+ unresolved_reloc, warned_undef);
if (relocation == 0
&& hh->root.type != bfd_link_hash_defined
&& hh->root.type != bfd_link_hash_defweak
&& hh->root.type != bfd_link_hash_undefweak)
{
- if (!info->executable
- && info->unresolved_syms_in_objects == RM_IGNORE
+ if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (hh->other) == STV_DEFAULT
&& hh->type == STT_PARISC_MILLI)
{
if (! info->callbacks->undefined_symbol
(info, hh->root.root.string, input_bfd,
- input_section, rel->r_offset,
- ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)
- || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR))))
+ input_section, rel->r_offset, FALSE))
return FALSE;
warned_undef = TRUE;
}
@@ -3478,7 +3466,8 @@ elf32_hppa_relocate_section (bfd *output_bfd,
off = h->elf.got.offset;
dyn = htab->elf.dynamic_sections_created;
- if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, &h->elf))
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared,
+ &h->elf))
{
/* If we aren't going to call finish_dynamic_symbol,
then we need to handle initialisation of the .got
@@ -3570,7 +3559,8 @@ elf32_hppa_relocate_section (bfd *output_bfd,
if (h != NULL)
{
off = h->elf.plt.offset;
- if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, &h->elf))
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared,
+ &h->elf))
{
/* In a non-shared link, adjust_dynamic_symbols
isn't called for symbols forced local. We
diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c
index 80c45f6..f782925 100644
--- a/bfd/elf32-i370.c
+++ b/bfd/elf32-i370.c
@@ -1,5 +1,5 @@
/* i370-specific support for 32-bit ELF
- Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
+ Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
Hacked by Linas Vepstas for i370 linas@linas.org
@@ -791,7 +791,7 @@ i370_elf_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!info->shared)
{
@@ -1246,19 +1246,21 @@ i370_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else if (h->root.type == bfd_link_hash_undefweak)
relocation = 0;
- else if (info->shared
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
relocation = 0;
else
{
- (*info->callbacks->undefined_symbol) (info,
- h->root.root.string,
- input_bfd,
- input_section,
- rel->r_offset,
- TRUE);
- ret = FALSE;
- continue;
+ if ((*info->callbacks->undefined_symbol)
+ (info, h->root.root.string, input_bfd,
+ input_section, rel->r_offset,
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+ || ELF_ST_VISIBILITY (h->other))))
+ {
+ ret = FALSE;
+ continue;
+ }
+ relocation = 0;
}
}
@@ -1546,7 +1548,7 @@ static int i370_noop ()
#define elf_backend_add_symbol_hook \
(bfd_boolean (*) \
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, \
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *, \
const char **, flagword *, asection **, bfd_vma *))) i370_noop
#define elf_backend_finish_dynamic_symbol \
(bfd_boolean (*) \
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 0a3d83f..a53d93e 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1,6 +1,6 @@
/* Intel 80386/80486-specific support for 32-bit ELF
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1157,14 +1157,14 @@ elf_i386_check_relocs (bfd *abfd,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_386_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_386_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
@@ -1458,17 +1458,6 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info,
return TRUE;
}
-/* This is the condition under which elf_i386_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf_i386_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -1500,7 +1489,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1568,7 +1557,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1657,7 +1646,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1895,7 +1884,7 @@ elf_i386_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (TAG), (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -2179,7 +2168,10 @@ elf_i386_relocate_section (bfd *output_bfd,
{
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -3256,6 +3248,17 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
return TRUE;
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf_i386_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + (i + 1) * PLT_ENTRY_SIZE;
+}
+
+
#define TARGET_LITTLE_SYM bfd_elf32_i386_vec
#define TARGET_LITTLE_NAME "elf32-i386"
#define ELF_ARCH bfd_arch_i386
@@ -3293,6 +3296,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
#define elf_backend_reloc_type_class elf_i386_reloc_type_class
#define elf_backend_relocate_section elf_i386_relocate_section
#define elf_backend_size_dynamic_sections elf_i386_size_dynamic_sections
+#define elf_backend_plt_sym_val elf_i386_plt_sym_val
#include "elf32-target.h"
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
index 8ab3c92..f156bc5 100644
--- a/bfd/elf32-i860.c
+++ b/bfd/elf32-i860.c
@@ -1,5 +1,5 @@
/* Intel i860 specific support for 32-bit ELF.
- Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003
+ Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
@@ -1112,34 +1112,12 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- relocation = 0;
- }
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c
index 7606e0d..6493be6 100644
--- a/bfd/elf32-ip2k.c
+++ b/bfd/elf32-ip2k.c
@@ -1,5 +1,5 @@
/* Ubicom IP2xxx specific support for 32-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1535,7 +1535,10 @@ ip2k_elf_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean warned;
bfd_boolean unresolved_reloc;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
name = h->root.root.string;
}
diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c
index f85ffac..60dab34 100644
--- a/bfd/elf32-iq2000.c
+++ b/bfd/elf32-iq2000.c
@@ -1,5 +1,5 @@
/* IQ2000-specific support for 32-bit ELF.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -484,14 +484,14 @@ iq2000_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_IQ2000_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_IQ2000_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -621,9 +621,10 @@ iq2000_elf_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean unresolved_reloc;
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation,
- sec, unresolved_reloc, info, warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
name = h->root.root.string;
}
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 3f5fbca..21d37b1 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -51,7 +51,7 @@ bfd_boolean _bfd_m32r_elf_section_from_bfd_section
void _bfd_m32r_elf_symbol_processing
PARAMS ((bfd *, asymbol *));
static bfd_boolean m32r_elf_add_symbol_hook
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static bfd_boolean m32r_elf_relocate_section
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
@@ -1391,7 +1391,7 @@ static bfd_boolean
m32r_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
@@ -1742,7 +1742,7 @@ m32r_elf_create_dynamic_sections (abfd, info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2049,17 +2049,6 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
return TRUE;
}
-/* This is the condition under which finish_dynamic_symbol will be called
- from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol
- routine, we'll need to do something about initializing any .plt and .got
- entries in relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \
- ((DYN) \
- && ((INFO)->shared \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -2105,11 +2094,11 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h))
{
asection *s = htab->splt;
@@ -2164,7 +2153,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2173,7 +2162,7 @@ allocate_dynrelocs (h, inf)
h->got.offset = s->_raw_size;
s->_raw_size += 4;
dyn = htab->root.dynamic_sections_created;
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h))
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h))
htab->srelgot->_raw_size += sizeof (Elf32_External_Rela);
}
else
@@ -2224,7 +2213,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2442,7 +2431,7 @@ printf("m32r_elf_size_dynamic_sections()\n");
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (! info->shared)
{
@@ -2723,7 +2712,8 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|| r_type == R_M32R_GOT16_HI_ULO
|| r_type == R_M32R_GOT16_HI_SLO
|| r_type == R_M32R_GOT16_LO)
- && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
+ info->shared, h)
&& (! info->shared
|| (! info->symbolic && h->dynindx != -1)
|| (h->elf_link_hash_flags
@@ -2773,8 +2763,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else if (h->root.type == bfd_link_hash_undefweak)
relocation = 0;
- else if (info->shared
- && (!info->symbolic)
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
relocation = 0;
else
@@ -2782,7 +2771,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
input_section, offset,
- (!info->shared
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other)))))
return FALSE;
relocation = 0;
@@ -2846,7 +2835,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
BFD_ASSERT (off != (bfd_vma) -1);
dyn = htab->root.dynamic_sections_created;
- if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)
|| (info->shared
&& (info->symbolic
|| h->dynindx == -1
@@ -4657,18 +4646,18 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
Reconstruct it for later use during GC. */
case R_M32R_RELA_GNU_VTINHERIT:
case R_M32R_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_M32R_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
case R_M32R_RELA_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
index 709b8f4..2a139a4 100644
--- a/bfd/elf32-m68hc1x.c
+++ b/bfd/elf32-m68hc1x.c
@@ -1,5 +1,6 @@
/* Motorola 68HC11/HC12-specific support for 32-bit ELF
- Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
This file is part of BFD, the Binary File Descriptor library.
@@ -47,16 +48,6 @@ static void m68hc11_elf_set_symbol (bfd* abfd, struct bfd_link_info *info,
static bfd_boolean m68hc11_elf_export_one_stub
(struct bfd_hash_entry *gen_entry, void *in_arg);
-static bfd_boolean m68hc11_get_relocation_value
- (bfd* abfd,
- struct bfd_link_info* info,
- asection **local_sections,
- Elf_Internal_Sym* local_syms,
- Elf_Internal_Rela* rel,
- const char** name,
- bfd_vma* relocation,
- bfd_boolean* is_far);
-
static void scan_sections_for_abi (bfd*, asection*, PTR);
struct m68hc11_scan_param
@@ -190,7 +181,7 @@ m68hc12_add_stub (const char *stub_name, asection *section,
bfd_boolean
elf32_m68hc11_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
- const Elf_Internal_Sym *sym,
+ Elf_Internal_Sym *sym,
const char **namep ATTRIBUTE_UNUSED,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp ATTRIBUTE_UNUSED,
@@ -902,14 +893,14 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_M68HC11_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_M68HC11_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
@@ -919,7 +910,8 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info,
}
static bfd_boolean
-m68hc11_get_relocation_value (bfd *abfd, struct bfd_link_info *info,
+m68hc11_get_relocation_value (bfd *input_bfd, struct bfd_link_info *info,
+ asection *input_section,
asection **local_sections,
Elf_Internal_Sym *local_syms,
Elf_Internal_Rela *rel,
@@ -934,8 +926,8 @@ m68hc11_get_relocation_value (bfd *abfd, struct bfd_link_info *info,
Elf_Internal_Sym *sym;
const char* stub_name = 0;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
+ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (input_bfd);
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -953,33 +945,17 @@ m68hc11_get_relocation_value (bfd *abfd, struct bfd_link_info *info,
*is_far = (sym && (sym->st_other & STO_M68HC12_FAR));
if (*is_far)
stub_name = (bfd_elf_string_from_elf_section
- (abfd, symtab_hdr->sh_link,
+ (input_bfd, symtab_hdr->sh_link,
sym->st_name));
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- *relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- *relocation = 0;
- else
- {
- if (!((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, abfd,
- sec, rel->r_offset, TRUE)))
- return FALSE;
- *relocation = 0;
- }
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, *relocation, unresolved_reloc, warned);
+
*is_far = (h && (h->other & STO_M68HC12_FAR));
stub_name = h->root.root.string;
}
@@ -989,7 +965,7 @@ m68hc11_get_relocation_value (bfd *abfd, struct bfd_link_info *info,
else
{
*name = (bfd_elf_string_from_elf_section
- (abfd, symtab_hdr->sh_link, sym->st_name));
+ (input_bfd, symtab_hdr->sh_link, sym->st_name));
if (*name == NULL || **name == '\0')
*name = bfd_section_name (input_bfd, sec);
}
@@ -1082,8 +1058,8 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
(*ebd->elf_info_to_howto_rel) (input_bfd, &arel, rel);
howto = arel.howto;
- m68hc11_get_relocation_value (input_bfd, info,
- local_sections, local_syms,
+ m68hc11_get_relocation_value (input_bfd, info, input_section,
+ local_sections, local_syms,
rel, &name, &relocation, &is_far);
/* Do the memory bank mapping. */
diff --git a/bfd/elf32-m68hc1x.h b/bfd/elf32-m68hc1x.h
index 5964023..f6b2001 100644
--- a/bfd/elf32-m68hc1x.h
+++ b/bfd/elf32-m68hc1x.h
@@ -1,5 +1,5 @@
/* Motorola 68HC11/68HC12-specific support for 32-bit ELF
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
This file is part of BFD, the Binary File Descriptor library.
@@ -178,7 +178,7 @@ bfd_boolean elf32_m68hc11_relocate_section
bfd_boolean elf32_m68hc11_add_symbol_hook
(bfd *abfd, struct bfd_link_info *info,
- const Elf_Internal_Sym *sym, const char **namep,
+ Elf_Internal_Sym *sym, const char **namep,
flagword *flagsp, asection **secp,
bfd_vma *valp);
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 1c7fed9..39832be 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -1,6 +1,6 @@
/* Motorola 68k series support for 32-bit ELF
- Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -508,7 +508,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (!bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (!bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -586,7 +586,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (!bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (!bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -745,14 +745,14 @@ elf_m68k_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_68K_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_68K_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -970,7 +970,7 @@ elf_m68k_adjust_dynamic_symbol (info, h)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1099,17 +1099,6 @@ elf_m68k_adjust_dynamic_symbol (info, h)
return TRUE;
}
-/* This is the condition under which elf_m68k_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf_m68k_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Set the sizes of the dynamic sections. */
static bfd_boolean
@@ -1247,7 +1236,7 @@ elf_m68k_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!info->shared)
{
@@ -1410,7 +1399,10 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx, symtab_hdr, relocation, sec, unresolved_reloc, info, warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -2239,7 +2231,7 @@ elf32_m68k_reloc_type_class (rela)
_bfd_elf_create_dynamic_sections
#define bfd_elf32_bfd_link_hash_table_create \
elf_m68k_link_hash_table_create
-#define bfd_elf32_bfd_final_link _bfd_elf32_gc_common_final_link
+#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link
#define elf_backend_check_relocs elf_m68k_check_relocs
#define elf_backend_adjust_dynamic_symbol \
diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c
index 0fc9768..e6aa666 100644
--- a/bfd/elf32-mcore.c
+++ b/bfd/elf32-mcore.c
@@ -1,5 +1,5 @@
/* Motorola MCore specific support for 32-bit ELF
- Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003
+ Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -472,30 +472,12 @@ mcore_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
- if ( h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else if (info->shared
- && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
- relocation = 0;
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
+ bfd_boolean unresolved_reloc, warned;
- ret = FALSE;
- continue;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -665,14 +647,14 @@ mcore_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_MCORE_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_MCORE_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index a0480f0..63f1062 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -599,39 +599,6 @@ static reloc_howto_type elf_mips16_gprel_howto =
0x07ff001f, /* dst_mask */
FALSE); /* pcrel_offset */
-/* GNU extensions for embedded-pic. */
-/* High 16 bits of symbol value, pc-relative. */
-static reloc_howto_type elf_mips_gnu_rel_hi16 =
- HOWTO (R_MIPS_GNU_REL_HI16, /* type */
- 16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_dont, /* complain_on_overflow */
- _bfd_mips_elf_hi16_reloc, /* special_function */
- "R_MIPS_GNU_REL_HI16", /* name */
- TRUE, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- TRUE); /* pcrel_offset */
-
-/* Low 16 bits of symbol value, pc-relative. */
-static reloc_howto_type elf_mips_gnu_rel_lo16 =
- HOWTO (R_MIPS_GNU_REL_LO16, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 16, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_dont, /* complain_on_overflow */
- _bfd_mips_elf_lo16_reloc, /* special_function */
- "R_MIPS_GNU_REL_LO16", /* name */
- TRUE, /* partial_inplace */
- 0xffff, /* src_mask */
- 0xffff, /* dst_mask */
- TRUE); /* pcrel_offset */
-
/* 16 bit offset for pc-relative branches. */
static reloc_howto_type elf_mips_gnu_rel16_s2 =
HOWTO (R_MIPS_GNU_REL16_S2, /* type */
@@ -648,38 +615,6 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 =
0xffff, /* dst_mask */
TRUE); /* pcrel_offset */
-/* 64 bit pc-relative. */
-static reloc_howto_type elf_mips_gnu_pcrel64 =
- HOWTO (R_MIPS_PC64, /* type */
- 0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
- 64, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- _bfd_mips_elf_generic_reloc, /* special_function */
- "R_MIPS_PC64", /* name */
- TRUE, /* partial_inplace */
- MINUS_ONE, /* src_mask */
- MINUS_ONE, /* dst_mask */
- TRUE); /* pcrel_offset */
-
-/* 32 bit pc-relative. */
-static reloc_howto_type elf_mips_gnu_pcrel32 =
- HOWTO (R_MIPS_PC32, /* type */
- 0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
- TRUE, /* pc_relative */
- 0, /* bitpos */
- complain_overflow_signed, /* complain_on_overflow */
- _bfd_mips_elf_generic_reloc, /* special_function */
- "R_MIPS_PC32", /* name */
- TRUE, /* partial_inplace */
- 0xffffffff, /* src_mask */
- 0xffffffff, /* dst_mask */
- TRUE); /* pcrel_offset */
-
/* GNU extension to record C++ vtable hierarchy */
static reloc_howto_type elf_mips_gnu_vtinherit_howto =
HOWTO (R_MIPS_GNU_VTINHERIT, /* type */
@@ -1134,16 +1069,8 @@ bfd_elf32_bfd_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
return &elf_mips_gnu_vtinherit_howto;
case BFD_RELOC_VTABLE_ENTRY:
return &elf_mips_gnu_vtentry_howto;
- case BFD_RELOC_PCREL_HI16_S:
- return &elf_mips_gnu_rel_hi16;
- case BFD_RELOC_PCREL_LO16:
- return &elf_mips_gnu_rel_lo16;
case BFD_RELOC_16_PCREL_S2:
return &elf_mips_gnu_rel16_s2;
- case BFD_RELOC_64_PCREL:
- return &elf_mips_gnu_pcrel64;
- case BFD_RELOC_32_PCREL:
- return &elf_mips_gnu_pcrel32;
}
}
@@ -1163,16 +1090,8 @@ mips_elf32_rtype_to_howto (unsigned int r_type,
return &elf_mips_gnu_vtinherit_howto;
case R_MIPS_GNU_VTENTRY:
return &elf_mips_gnu_vtentry_howto;
- case R_MIPS_GNU_REL_HI16:
- return &elf_mips_gnu_rel_hi16;
- case R_MIPS_GNU_REL_LO16:
- return &elf_mips_gnu_rel_lo16;
case R_MIPS_GNU_REL16_S2:
return &elf_mips_gnu_rel16_s2;
- case R_MIPS_PC64:
- return &elf_mips_gnu_pcrel64;
- case R_MIPS_PC32:
- return &elf_mips_gnu_pcrel32;
default:
BFD_ASSERT (r_type < (unsigned int) R_MIPS_max);
return &elf_mips_howto_table_rel[r_type];
@@ -1335,139 +1254,6 @@ elf32_mips_irix_compat (bfd *abfd)
return ict_none;
}
-/* Given a data section and an in-memory embedded reloc section, store
- relocation information into the embedded reloc section which can be
- used at runtime to relocate the data section. This is called by the
- linker when the --embedded-relocs switch is used. This is called
- after the add_symbols entry point has been called for all the
- objects, and before the final_link entry point is called. */
-
-bfd_boolean
-bfd_mips_elf32_create_embedded_relocs (bfd *abfd, struct bfd_link_info *info,
- asection *datasec, asection *relsec,
- char **errmsg)
-{
- Elf_Internal_Shdr *symtab_hdr;
- Elf_Internal_Sym *isymbuf = NULL;
- Elf_Internal_Rela *internal_relocs = NULL;
- Elf_Internal_Rela *irel, *irelend;
- bfd_byte *p;
-
- BFD_ASSERT (! info->relocatable);
-
- *errmsg = NULL;
-
- if (datasec->reloc_count == 0)
- return TRUE;
-
- /* Read this BFD's symbols if we haven't done so already, or get the cached
- copy if it exists. */
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- if (symtab_hdr->sh_info != 0)
- {
- isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
- if (isymbuf == NULL)
- isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr,
- symtab_hdr->sh_info, 0,
- NULL, NULL, NULL);
- if (isymbuf == NULL)
- goto error_return;
- }
-
- /* Get a copy of the native relocations. */
- internal_relocs = _bfd_elf_link_read_relocs (abfd, datasec, NULL, NULL,
- info->keep_memory);
- if (internal_relocs == NULL)
- goto error_return;
-
- relsec->contents = bfd_alloc (abfd, datasec->reloc_count * 12);
- if (relsec->contents == NULL)
- goto error_return;
-
- p = relsec->contents;
-
- irelend = internal_relocs + datasec->reloc_count;
-
- for (irel = internal_relocs; irel < irelend; irel++, p += 12)
- {
- asection *targetsec;
-
- /* We are going to write a four byte longword into the runtime
- reloc section. The longword will be the address in the data
- section which must be relocated. It is followed by the name
- of the target section NUL-padded or truncated to 8
- characters. */
-
- /* We can only relocate absolute longword relocs at run time. */
- if ((ELF32_R_TYPE (irel->r_info) != (int) R_MIPS_32) &&
- (ELF32_R_TYPE (irel->r_info) != (int) R_MIPS_64))
- {
- *errmsg = _("unsupported reloc type");
- bfd_set_error (bfd_error_bad_value);
- goto error_return;
- }
- /* Get the target section referred to by the reloc. */
- if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info)
- {
- Elf_Internal_Sym *isym;
-
- /* A local symbol. */
- isym = isymbuf + ELF32_R_SYM (irel->r_info);
- targetsec = bfd_section_from_elf_index (abfd, isym->st_shndx);
- }
- else
- {
- unsigned long indx;
- struct elf_link_hash_entry *h;
-
- /* An external symbol. */
- indx = ELF32_R_SYM (irel->r_info);
- h = elf_sym_hashes (abfd)[indx];
- targetsec = NULL;
- /*
- For some reason, in certain programs, the symbol will
- not be in the hash table. It seems to happen when you
- declare a static table of pointers to const external structures.
- In this case, the relocs are relative to data, not
- text, so just treating it like an undefined link
- should be sufficient. */
- BFD_ASSERT(h != NULL);
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- targetsec = h->root.u.def.section;
- }
-
-
- /*
- Set the low bit of the relocation offset if it's a MIPS64 reloc.
- Relocations will always be on (at least) 32-bit boundaries. */
-
- bfd_put_32 (abfd, ((irel->r_offset + datasec->output_offset) +
- ((ELF32_R_TYPE (irel->r_info) == (int) R_MIPS_64) ? 1 : 0)),
- p);
- memset (p + 4, 0, 8);
- if (targetsec != NULL)
- strncpy (p + 4, targetsec->output_section->name, 8);
- }
-
- if (internal_relocs != NULL
- && elf_section_data (datasec)->relocs != internal_relocs)
- free (internal_relocs);
- if (isymbuf != NULL
- && symtab_hdr->contents != (unsigned char *) isymbuf)
- free (isymbuf);
- return TRUE;
-
- error_return:
- if (internal_relocs != NULL
- && elf_section_data (datasec)->relocs != internal_relocs)
- free (internal_relocs);
- if (isymbuf != NULL
- && symtab_hdr->contents != (unsigned char *) isymbuf)
- free (isymbuf);
- return FALSE;
-}
-
/* ECOFF swapping routines. These are used when dealing with the
.mdebug section, which is in the ECOFF debugging format. */
static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index 306a798..dfe33bd 100644
--- a/bfd/elf32-msp430.c
+++ b/bfd/elf32-msp430.c
@@ -1,5 +1,5 @@
/* MSP430-specific support for 32-bit ELF
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
This file is part of BFD, the Binary File Descriptor library.
@@ -457,33 +457,12 @@ elf32_msp430_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- relocation = 0;
- }
- else
- {
- if (!((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = msp430_final_link_relocate (howto, input_bfd, input_section,
diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c
index 62f86d4..af1c222 100644
--- a/bfd/elf32-openrisc.c
+++ b/bfd/elf32-openrisc.c
@@ -1,5 +1,5 @@
/* OpenRISC-specific support for 32-bit ELF.
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Johan Rydberg, jrydberg@opencores.org
This file is part of BFD, the Binary File Descriptor library.
@@ -383,33 +383,12 @@ openrisc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- relocation = 0;
- }
- else
- {
- if (!((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = openrisc_final_link_relocate (howto, input_bfd, input_section,
@@ -556,14 +535,14 @@ openrisc_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_OPENRISC_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_OPENRISC_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 6849da8..bdd3450 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -2392,7 +2392,7 @@ elf_create_pointer_linker_section (bfd *abfd,
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2685,7 +2685,7 @@ ppc_elf_create_linker_section (bfd *abfd,
lsect->sym_hash = h;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return NULL;
}
@@ -2993,17 +2993,6 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
return TRUE;
}
-/* This is the condition under which finish_dynamic_symbol will be
- called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Of those relocs that might be copied as dynamic relocs, this macro
selects those that must be copied when linking a shared library,
even when the symbol is local. */
@@ -3042,7 +3031,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3105,7 +3094,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (eh->elf.dynindx == -1
&& (eh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (!bfd_elf32_link_record_dynamic_symbol (info, &eh->elf))
+ if (!bfd_elf_link_record_dynamic_symbol (info, &eh->elf))
return FALSE;
}
@@ -3195,7 +3184,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
&& h->root.type == bfd_link_hash_undefweak
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
}
@@ -3214,7 +3203,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3470,7 +3459,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (TAG), (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -3806,14 +3795,14 @@ ppc_elf_check_relocs (bfd *abfd,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_PPC_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_PPC_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -4376,7 +4365,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
static bfd_boolean
ppc_elf_add_symbol_hook (bfd *abfd,
struct bfd_link_info *info,
- const Elf_Internal_Sym *sym,
+ Elf_Internal_Sym *sym,
const char **namep ATTRIBUTE_UNUSED,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp,
@@ -4701,10 +4690,10 @@ ppc_elf_relocate_section (bfd *output_bfd,
}
else
{
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
sym_name = h->root.root.string;
}
@@ -6139,6 +6128,17 @@ ppc_elf_final_write_processing (bfd *abfd, bfd_boolean linker ATTRIBUTE_UNUSED)
apuinfo_list_finish ();
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+ppc_elf_plt_sym_val (bfd_vma i ATTRIBUTE_UNUSED,
+ const asection *plt ATTRIBUTE_UNUSED,
+ const arelent *rel)
+{
+ return rel->address;
+}
+
/* Add extra PPC sections -- Note, for now, make .sbss2 and
.PPC.EMB.sbss0 a normal section, and not a bss section so
that the linker doesn't crater when trying to make more than
@@ -6216,5 +6216,6 @@ static struct bfd_elf_special_section const ppc_elf_special_sections[]=
#define elf_backend_final_write_processing ppc_elf_final_write_processing
#define elf_backend_write_section ppc_elf_write_section
#define elf_backend_special_sections ppc_elf_special_sections
+#define elf_backend_plt_sym_val ppc_elf_plt_sym_val
#include "elf32-target.h"
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 07ba23c..fb8758b 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -1,5 +1,5 @@
/* IBM S/390-specific support for 32-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Carl B. Pedersen and Martin Schwidefsky.
This file is part of BFD, the Binary File Descriptor library.
@@ -1345,14 +1345,14 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_390_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_390_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1716,17 +1716,6 @@ elf_s390_adjust_dynamic_symbol (info, h)
return TRUE;
}
-/* This is the condition under which elf_s390_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf_s390_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -1762,7 +1751,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1845,7 +1834,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1884,9 +1873,7 @@ allocate_dynrelocs (h, inf)
if (info->shared)
{
- if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0
- && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0
- || info->symbolic))
+ if (SYMBOL_REFERENCES_LOCAL (info, h))
{
struct elf_s390_dyn_relocs **pp;
@@ -1925,7 +1912,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2159,7 +2146,7 @@ elf_s390_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -2324,10 +2311,10 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean warned ATTRIBUTE_UNUSED;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -2562,10 +2549,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
&& r_type != R_390_PC32DBL
&& r_type != R_390_PC32)
|| (h != NULL
- && h->dynindx != -1
- && (! info->symbolic
- || (h->elf_link_hash_flags
- & ELF_LINK_HASH_DEF_REGULAR) == 0))))
+ && !SYMBOL_REFERENCES_LOCAL (info, h))))
|| (ELIMINATE_COPY_RELOCS
&& !info->shared
&& h != NULL
@@ -3473,6 +3457,17 @@ elf_s390_grok_prstatus (abfd, note)
raw_size, note->descpos + offset);
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + PLT_FIRST_ENTRY_SIZE + i * PLT_ENTRY_SIZE;
+}
+
+
#define TARGET_BIG_SYM bfd_elf32_s390_vec
#define TARGET_BIG_NAME "elf32-s390"
#define ELF_ARCH bfd_arch_s390
@@ -3507,6 +3502,7 @@ elf_s390_grok_prstatus (abfd, note)
#define elf_backend_size_dynamic_sections elf_s390_size_dynamic_sections
#define elf_backend_reloc_type_class elf_s390_reloc_type_class
#define elf_backend_grok_prstatus elf_s390_grok_prstatus
+#define elf_backend_plt_sym_val elf_s390_plt_sym_val
#define bfd_elf32_mkobject elf_s390_mkobject
#define elf_backend_object_p elf_s390_object_p
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index c8a091d..d69457f 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -1,5 +1,5 @@
/* Renesas / SuperH SH specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by Ian Lance Taylor, Cygnus Support.
@@ -3924,7 +3924,7 @@ sh_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4167,17 +4167,6 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
return TRUE;
}
-/* This is the condition under which sh_elf_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in sh_elf_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -4223,7 +4212,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4284,7 +4273,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4322,7 +4311,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4387,7 +4376,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -4620,7 +4609,7 @@ sh_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -4938,8 +4927,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
}
else if (h->root.type == bfd_link_hash_undefweak)
relocation = 0;
- else if (! info->executable
- && info->unresolved_syms_in_objects == RM_IGNORE
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
relocation = 0;
else
@@ -4947,8 +4935,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (! info->callbacks->undefined_symbol
(info, h->root.root.string, input_bfd,
input_section, rel->r_offset,
- ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)
- || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
|| ELF_ST_VISIBILITY (h->other))))
return FALSE;
relocation = 0;
@@ -6492,14 +6479,14 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_SH_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_SH_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -6876,6 +6863,9 @@ sh_elf_set_mach_from_flags (bfd *abfd)
case EF_SH4AL_DSP:
bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh4al_dsp);
break;
+ case EF_SH4_NOMMU_NOFPU:
+ bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh4_nommu_nofpu);
+ break;
default:
return FALSE;
}
@@ -7490,6 +7480,17 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
return TRUE;
}
+
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+sh_elf_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + (i + 1) * PLT_ENTRY_SIZE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_sh_vec
#define TARGET_BIG_NAME "elf32-sh"
#define TARGET_LITTLE_SYM bfd_elf32_shl_vec
@@ -7537,6 +7538,7 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
#define elf_backend_finish_dynamic_sections \
sh_elf_finish_dynamic_sections
#define elf_backend_reloc_type_class sh_elf_reloc_type_class
+#define elf_backend_plt_sym_val sh_elf_plt_sym_val
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1
diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c
index eac444a..62cf2e6 100644
--- a/bfd/elf32-sh64.c
+++ b/bfd/elf32-sh64.c
@@ -1,5 +1,5 @@
/* SuperH SH64-specific support for 32-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -56,7 +56,7 @@ static bfd_boolean shmedia_prepare_reloc
static int sh64_elf_get_symbol_type
(Elf_Internal_Sym *, int);
static bfd_boolean sh64_elf_add_symbol_hook
- (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, const char **,
+ (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **,
flagword *, asection **, bfd_vma *);
static bfd_boolean sh64_elf_link_output_symbol_hook
(struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
@@ -89,6 +89,7 @@ static void sh64_find_section_for_address
#define elf_backend_final_write_processing sh64_elf_final_write_processing
#define elf_backend_section_from_shdr sh64_backend_section_from_shdr
#define elf_backend_special_sections sh64_elf_special_sections
+#define elf_backend_section_flags sh64_elf_section_flags
#define bfd_elf32_new_section_hook sh64_elf_new_section_hook
@@ -149,7 +150,6 @@ static bfd_boolean
sh64_elf_set_mach_from_flags (bfd *abfd)
{
flagword flags = elf_elfheader (abfd)->e_flags;
- asection *cranges;
switch (flags & EF_SH_MACH_MASK)
{
@@ -164,18 +164,19 @@ sh64_elf_set_mach_from_flags (bfd *abfd)
return FALSE;
}
- /* We also need to set SEC_DEBUGGING on an incoming .cranges section.
- We could have used elf_backend_section_flags if it had given us the
- section name; the bfd_section member in the header argument is not
- set at the point of the call. FIXME: Find out whether that is by
- undocumented design or a bug. */
- cranges = bfd_get_section_by_name (abfd, SH64_CRANGES_SECTION_NAME);
- if (cranges != NULL
- && ! bfd_set_section_flags (abfd, cranges,
- bfd_get_section_flags (abfd, cranges)
- | SEC_DEBUGGING))
+ return TRUE;
+}
+
+static bfd_boolean
+sh64_elf_section_flags (flagword *flags,
+ const Elf_Internal_Shdr *hdr)
+{
+ if (hdr->bfd_section == NULL)
return FALSE;
+ if (strcmp (hdr->bfd_section->name, SH64_CRANGES_SECTION_NAME) == 0)
+ *flags |= SEC_DEBUGGING;
+
return TRUE;
}
@@ -374,7 +375,7 @@ sh64_elf_get_symbol_type (Elf_Internal_Sym *elf_sym, int type)
static bfd_boolean
sh64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
- const Elf_Internal_Sym *sym, const char **namep,
+ Elf_Internal_Sym *sym, const char **namep,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp, bfd_vma *valp)
{
diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
index c20e403..3809567 100644
--- a/bfd/elf32-sparc.c
+++ b/bfd/elf32-sparc.c
@@ -1,6 +1,6 @@
/* SPARC-specific support for 32-bit ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -1267,12 +1267,12 @@ elf32_sparc_check_relocs (abfd, info, sec, relocs)
break;
case R_SPARC_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
case R_SPARC_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1592,17 +1592,6 @@ elf32_sparc_adjust_dynamic_symbol (info, h)
return TRUE;
}
-/* This is the condition under which finish_dynamic_symbol will be called
- from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol
- routine, we'll need to do something about initializing any .plt and .got
- entries in relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \
- ((DYN) \
- && ((INFO)->shared \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -1636,11 +1625,11 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info->shared, h))
{
asection *s = htab->splt;
@@ -1705,7 +1694,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1724,7 +1713,7 @@ allocate_dynrelocs (h, inf)
htab->srelgot->_raw_size += sizeof (Elf32_External_Rela);
else if (tls_type == GOT_TLS_GD)
htab->srelgot->_raw_size += 2 * sizeof (Elf32_External_Rela);
- else if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h))
+ else if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h))
htab->srelgot->_raw_size += sizeof (Elf32_External_Rela);
}
else
@@ -1777,7 +1766,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2027,7 +2016,7 @@ elf32_sparc_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -2215,10 +2204,10 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean warned ATTRIBUTE_UNUSED;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -2239,7 +2228,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
BFD_ASSERT (off != (bfd_vma) -1);
dyn = elf_hash_table (info)->dynamic_sections_created;
- if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)
|| (info->shared
&& (info->symbolic
|| h->dynindx == -1
@@ -2334,7 +2323,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
if (h == NULL)
break;
- if (h->plt.offset == (bfd_vma) -1)
+ if (h->plt.offset == (bfd_vma) -1 || htab->splt == NULL)
{
/* We didn't make a PLT entry for this symbol. This
happens when statically linking PIC code, or when
@@ -2342,9 +2331,6 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
break;
}
- if (htab->splt == NULL)
- abort ();
-
relocation = (htab->splt->output_section->vma
+ htab->splt->output_offset
+ h->plt.offset);
@@ -2388,6 +2374,9 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
break;
if ((info->shared
+ && (h == NULL
+ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+ || h->root.type != bfd_link_hash_undefweak)
&& (! howto->pc_relative
|| (h != NULL
&& h->dynindx != -1
@@ -3283,8 +3272,7 @@ elf32_sparc_finish_dynamic_sections (output_bfd, info)
splt->contents + splt->_raw_size - 4);
}
- elf_section_data (splt->output_section)->this_hdr.sh_entsize =
- PLT_ENTRY_SIZE;
+ elf_section_data (splt->output_section)->this_hdr.sh_entsize = 0;
}
/* Set the first entry in the global offset table to the address of
@@ -3444,6 +3432,17 @@ elf32_sparc_reloc_type_class (rela)
return reloc_class_normal;
}
}
+
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf32_sparc_plt_sym_val (bfd_vma i ATTRIBUTE_UNUSED,
+ const asection *plt ATTRIBUTE_UNUSED,
+ const arelent *rel)
+{
+ return rel->address;
+}
#define TARGET_BIG_SYM bfd_elf32_sparc_vec
#define TARGET_BIG_NAME "elf32-sparc"
@@ -3482,6 +3481,7 @@ elf32_sparc_reloc_type_class (rela)
#define elf_backend_gc_sweep_hook elf32_sparc_gc_sweep_hook
#define elf_backend_grok_psinfo elf32_sparc_grok_psinfo
#define elf_backend_reloc_type_class elf32_sparc_reloc_type_class
+#define elf_backend_plt_sym_val elf32_sparc_plt_sym_val
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index 45bb4f6..b9dcf3c 100644
--- a/bfd/elf32-v850.c
+++ b/bfd/elf32-v850.c
@@ -1,5 +1,5 @@
/* V850-specific support for 32-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -73,7 +73,7 @@ static bfd_boolean v850_elf_section_from_bfd_section
static void v850_elf_symbol_processing
PARAMS ((bfd *, asymbol *));
static bfd_boolean v850_elf_add_symbol_hook
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static bfd_boolean v850_elf_link_output_symbol_hook
PARAMS ((struct bfd_link_info *, const char *, Elf_Internal_Sym *,
@@ -699,14 +699,14 @@ v850_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_V850_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries
are actually used. Record for later use during GC. */
case R_V850_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1696,43 +1696,12 @@ v850_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
-#if 0
- fprintf (stderr, "defined: sec: %s, name: %s, value: %x + %x + %x gives: %x\n",
- sec->name, h->root.root.string, h->root.u.def.value, sec->output_section->vma, sec->output_offset, relocation);
-#endif
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
-#if 0
- fprintf (stderr, "undefined: sec: %s, name: %s\n",
- sec->name, h->root.root.string);
-#endif
- relocation = 0;
- }
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
-#if 0
- fprintf (stderr, "unknown: name: %s\n", h->root.root.string);
-#endif
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
/* FIXME: We should use the addend, but the COFF relocations don't. */
@@ -2155,7 +2124,7 @@ static bfd_boolean
v850_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info ATTRIBUTE_UNUSED;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep ATTRIBUTE_UNUSED;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index e085e35..8ce4678 100644
--- a/bfd/elf32-vax.c
+++ b/bfd/elf32-vax.c
@@ -1,6 +1,6 @@
/* VAX series support for 32-bit ELF
- Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Contributed by Matt Thomas <matt@3am-software.com>.
This file is part of BFD, the Binary File Descriptor library.
@@ -821,14 +821,14 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_VAX_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_VAX_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1006,7 +1006,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1297,7 +1297,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!info->shared)
{
@@ -1400,7 +1400,7 @@ elf_vax_instantiate_got_entries (h, infoptr)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (!bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (!bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1489,10 +1489,10 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean unresolved_reloc;
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
@@ -2133,7 +2133,7 @@ elf_vax_finish_dynamic_sections (output_bfd, info)
_bfd_elf_create_dynamic_sections
#define bfd_elf32_bfd_link_hash_table_create \
elf_vax_link_hash_table_create
-#define bfd_elf32_bfd_final_link _bfd_elf32_gc_common_final_link
+#define bfd_elf32_bfd_final_link bfd_elf_gc_common_final_link
#define elf_backend_check_relocs elf_vax_check_relocs
#define elf_backend_adjust_dynamic_symbol \
diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c
index 1377ff2..bbf6ee0 100644
--- a/bfd/elf32-xstormy16.c
+++ b/bfd/elf32-xstormy16.c
@@ -1,5 +1,5 @@
/* XSTORMY16-specific support for 32-bit ELF.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -516,14 +516,14 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_XSTORMY16_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_XSTORMY16_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
@@ -853,34 +853,12 @@ xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc, warned;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- relocation = 0;
- }
- else
- {
- if (! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (ELF32_R_TYPE (rel->r_info))
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 44450c5..710a1a6 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -1,5 +1,5 @@
/* Xtensa-specific support for 32-bit ELF.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -497,13 +497,15 @@ xtensa_read_table_entries (abfd, section, table_p, sec_name)
int block_count;
bfd_size_type num_records;
Elf_Internal_Rela *internal_relocs;
+ bfd_vma section_addr;
table_section_name =
xtensa_get_property_section_name (section, sec_name);
table_section = bfd_get_section_by_name (abfd, table_section_name);
free (table_section_name);
if (table_section != NULL)
- table_size = bfd_get_section_size_before_reloc (table_section);
+ table_size = (table_section->_cooked_size
+ ? table_section->_cooked_size : table_section->_raw_size);
if (table_size == 0)
{
@@ -517,10 +519,12 @@ xtensa_read_table_entries (abfd, section, table_p, sec_name)
bfd_malloc (num_records * sizeof (property_table_entry));
block_count = 0;
+ section_addr = section->output_section->vma + section->output_offset;
+
/* If the file has not yet been relocated, process the relocations
and sort out the table entries that apply to the specified section. */
internal_relocs = retrieve_internal_relocs (abfd, table_section, TRUE);
- if (internal_relocs)
+ if (internal_relocs && !table_section->reloc_done)
{
unsigned i;
@@ -539,7 +543,7 @@ xtensa_read_table_entries (abfd, section, table_p, sec_name)
{
bfd_vma sym_off = get_elf_r_symndx_offset (abfd, r_symndx);
blocks[block_count].address =
- (section->vma + sym_off + rel->r_addend
+ (section_addr + sym_off + rel->r_addend
+ bfd_get_32 (abfd, table_data + rel->r_offset));
blocks[block_count].size =
bfd_get_32 (abfd, table_data + rel->r_offset + 4);
@@ -549,16 +553,16 @@ xtensa_read_table_entries (abfd, section, table_p, sec_name)
}
else
{
- /* No relocations. Presumably the file has been relocated
- and the addresses are already in the table. */
+ /* The file has already been relocated and the addresses are
+ already in the table. */
bfd_vma off;
for (off = 0; off < table_size; off += 8)
{
bfd_vma address = bfd_get_32 (abfd, table_data + off);
- if (address >= section->vma
- && address < ( section->vma + section->_raw_size))
+ if (address >= section_addr
+ && address < ( section_addr + section->_raw_size))
{
blocks[block_count].address = address;
blocks[block_count].size =
@@ -619,8 +623,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
- property_table_entry *lit_table;
- int ltblsize;
if (info->relocatable)
return TRUE;
@@ -628,11 +630,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
- ltblsize = xtensa_read_table_entries (abfd, sec, &lit_table,
- XTENSA_LIT_SEC_NAME);
- if (ltblsize < 0)
- return FALSE;
-
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
@@ -669,11 +666,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
if ((sec->flags & SEC_ALLOC) != 0)
{
- if ((sec->flags & SEC_READONLY) != 0
- && !elf_xtensa_in_literal_pool (lit_table, ltblsize,
- sec->vma + rel->r_offset))
- h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
-
if (h->got.refcount <= 0)
h->got.refcount = 1;
else
@@ -689,11 +681,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
if ((sec->flags & SEC_ALLOC) != 0)
{
- if ((sec->flags & SEC_READONLY) != 0
- && !elf_xtensa_in_literal_pool (lit_table, ltblsize,
- sec->vma + rel->r_offset))
- h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
-
if (h->plt.refcount <= 0)
{
h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
@@ -736,14 +723,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
elf_local_got_refcounts (abfd) = local_got_refcounts;
}
local_got_refcounts[r_symndx] += 1;
-
- /* If the relocation is not inside the GOT, the DF_TEXTREL
- flag needs to be set. */
- if (info->shared
- && (sec->flags & SEC_READONLY) != 0
- && !elf_xtensa_in_literal_pool (lit_table, ltblsize,
- sec->vma + rel->r_offset))
- info->flags |= DF_TEXTREL;
}
break;
@@ -758,14 +737,14 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
case R_XTENSA_GNU_VTINHERIT:
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
case R_XTENSA_GNU_VTENTRY:
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -774,7 +753,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
}
}
- free (lit_table);
return TRUE;
}
@@ -1044,7 +1022,6 @@ elf_xtensa_make_sym_local (info, h)
else
{
/* Don't need any dynamic relocations at all. */
- h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF;
h->plt.refcount = 0;
h->got.refcount = 0;
}
@@ -1064,11 +1041,6 @@ elf_xtensa_fix_refcounts (h, arg)
if (! xtensa_elf_dynamic_symbol_p (h, info))
elf_xtensa_make_sym_local (info, h);
- /* If the symbol has a relocation outside the GOT, set the
- DF_TEXTREL flag. */
- if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) != 0)
- info->flags |= DF_TEXTREL;
-
return TRUE;
}
@@ -1366,7 +1338,7 @@ elf_xtensa_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (! info->shared)
{
@@ -1391,12 +1363,6 @@ elf_xtensa_size_dynamic_sections (output_bfd, info)
return FALSE;
}
- if ((info->flags & DF_TEXTREL) != 0)
- {
- if (!add_dynamic_entry (DT_TEXTREL, 0))
- return FALSE;
- }
-
if (!add_dynamic_entry (DT_XTENSA_GOT_LOC_OFF, 0)
|| !add_dynamic_entry (DT_XTENSA_GOT_LOC_SZ, 0))
return FALSE;
@@ -1851,6 +1817,8 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
struct elf_link_hash_entry **sym_hashes;
asection *srelgot, *srelplt;
bfd *dynobj;
+ property_table_entry *lit_table = 0;
+ int ltblsize = 0;
char *error_message = NULL;
if (xtensa_default_isa == NULL)
@@ -1868,6 +1836,14 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
srelplt = bfd_get_section_by_name (dynobj, ".rela.plt");
}
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ ltblsize = xtensa_read_table_entries (input_bfd, input_section,
+ &lit_table, XTENSA_LIT_SEC_NAME);
+ if (ltblsize < 0)
+ return FALSE;
+ }
+
rel = relocs;
relend = relocs + input_section->reloc_count;
for (; rel < relend; rel++)
@@ -1993,10 +1969,10 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
}
else
{
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
if (relocation == 0
&& !unresolved_reloc
@@ -2068,6 +2044,20 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset);
+ /* Complain if the relocation is in a read-only section
+ and not in a literal pool. */
+ if ((input_section->flags & SEC_READONLY) != 0
+ && !elf_xtensa_in_literal_pool (lit_table, ltblsize,
+ outrel.r_offset))
+ {
+ error_message =
+ _("dynamic relocation in read-only section");
+ if (!((*info->callbacks->reloc_dangerous)
+ (info, error_message, input_bfd, input_section,
+ rel->r_offset)))
+ return FALSE;
+ }
+
if (dynamic_symbol)
{
outrel.r_addend = rel->r_addend;
@@ -2155,6 +2145,11 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
}
}
+ if (lit_table)
+ free (lit_table);
+
+ input_section->reloc_done = TRUE;
+
return TRUE;
}
@@ -2730,7 +2725,7 @@ elf_xtensa_discard_info_for_section (abfd, cookie, info, sec)
while (cookie->rel < cookie->relend
&& cookie->rel->r_offset == offset)
{
- if (_bfd_elf32_reloc_symbol_deleted_p (offset, cookie))
+ if (bfd_elf_reloc_symbol_deleted_p (offset, cookie))
{
/* Remove the table entry. (If the reloc type is NONE, then
the entry has already been merged with another and deleted
@@ -3441,7 +3436,7 @@ struct value_map_hash_table_struct
static bfd_boolean is_same_value
- PARAMS ((const literal_value *, const literal_value *));
+ PARAMS ((const literal_value *, const literal_value *, bfd_boolean));
static value_map_hash_table *value_map_hash_table_init
PARAMS ((void));
static unsigned hash_literal_value
@@ -3449,16 +3444,20 @@ static unsigned hash_literal_value
static unsigned hash_bfd_vma
PARAMS ((bfd_vma));
static value_map *get_cached_value
- PARAMS ((value_map_hash_table *, const literal_value *));
+ PARAMS ((value_map_hash_table *, const literal_value *, bfd_boolean));
static value_map *add_value_map
- PARAMS ((value_map_hash_table *, const literal_value *, const r_reloc *));
+ PARAMS ((value_map_hash_table *, const literal_value *, const r_reloc *,
+ bfd_boolean));
static bfd_boolean
-is_same_value (src1, src2)
+is_same_value (src1, src2, final_static_link)
const literal_value *src1;
const literal_value *src2;
+ bfd_boolean final_static_link;
{
+ struct elf_link_hash_entry *h1, *h2;
+
if (r_reloc_is_const (&src1->r_rel) != r_reloc_is_const (&src2->r_rel))
return FALSE;
@@ -3476,8 +3475,14 @@ is_same_value (src1, src2)
if (src1->value != src2->value)
return FALSE;
- /* Now check for the same section and the same elf_hash. */
- if (r_reloc_is_defined (&src1->r_rel))
+ /* Now check for the same section (if defined) or the same elf_hash
+ (if undefined or weak). */
+ h1 = r_reloc_get_hash_entry (&src1->r_rel);
+ h2 = r_reloc_get_hash_entry (&src2->r_rel);
+ if (r_reloc_is_defined (&src1->r_rel)
+ && (final_static_link
+ || ((!h1 || h1->root.type != bfd_link_hash_defweak)
+ && (!h2 || h2->root.type != bfd_link_hash_defweak))))
{
if (r_reloc_get_section (&src1->r_rel)
!= r_reloc_get_section (&src2->r_rel))
@@ -3485,11 +3490,8 @@ is_same_value (src1, src2)
}
else
{
- if (r_reloc_get_hash_entry (&src1->r_rel)
- != r_reloc_get_hash_entry (&src2->r_rel))
- return FALSE;
-
- if (r_reloc_get_hash_entry (&src1->r_rel) == 0)
+ /* Require that the hash entries (i.e., symbols) be identical. */
+ if (h1 != h2 || h1 == 0)
return FALSE;
}
@@ -3550,9 +3552,10 @@ hash_literal_value (src)
/* Check if the specified literal_value has been seen before. */
static value_map *
-get_cached_value (map, val)
+get_cached_value (map, val, final_static_link)
value_map_hash_table *map;
const literal_value *val;
+ bfd_boolean final_static_link;
{
value_map *map_e;
value_map *bucket;
@@ -3563,7 +3566,7 @@ get_cached_value (map, val)
bucket = map->buckets[idx];
for (map_e = bucket; map_e; map_e = map_e->next)
{
- if (is_same_value (&map_e->val, val))
+ if (is_same_value (&map_e->val, val, final_static_link))
return map_e;
}
return NULL;
@@ -3574,17 +3577,18 @@ get_cached_value (map, val)
already has an entry here. */
static value_map *
-add_value_map (map, val, loc)
+add_value_map (map, val, loc, final_static_link)
value_map_hash_table *map;
const literal_value *val;
const r_reloc *loc;
+ bfd_boolean final_static_link;
{
value_map **bucket_p;
unsigned idx;
value_map *val_e = (value_map *) bfd_zmalloc (sizeof (value_map));
- BFD_ASSERT (get_cached_value (map, val) == NULL);
+ BFD_ASSERT (get_cached_value (map, val, final_static_link) == NULL);
val_e->val = *val;
val_e->loc = *loc;
@@ -4490,6 +4494,7 @@ remove_literals (abfd, sec, link_info, values)
bfd_byte *contents;
Elf_Internal_Rela *internal_relocs;
source_reloc *src_relocs;
+ bfd_boolean final_static_link;
bfd_boolean ok = TRUE;
int i;
@@ -4510,6 +4515,10 @@ remove_literals (abfd, sec, link_info, values)
goto error_return;
}
+ final_static_link =
+ (!link_info->relocatable
+ && !elf_hash_table (link_info)->dynamic_sections_created);
+
/* Sort the source_relocs by target offset. */
src_relocs = relax_info->src_relocs;
qsort (src_relocs, relax_info->src_count,
@@ -4562,7 +4571,7 @@ remove_literals (abfd, sec, link_info, values)
val.value = bfd_get_32 (abfd, contents + rel->r_rel.target_offset);
/* Check if we've seen another literal with the same value. */
- val_map = get_cached_value (values, &val);
+ val_map = get_cached_value (values, &val, final_static_link);
if (val_map != NULL)
{
/* First check that THIS and all the other relocs to this
@@ -4585,7 +4594,7 @@ remove_literals (abfd, sec, link_info, values)
{
/* This is the first time we've seen this literal value. */
BFD_ASSERT (sec == r_reloc_get_section (&rel->r_rel));
- add_value_map (values, &val, &rel->r_rel);
+ add_value_map (values, &val, &rel->r_rel, final_static_link);
}
}
@@ -5825,7 +5834,6 @@ static struct bfd_elf_special_section const elf_xtensa_special_sections[]=
#define elf_info_to_howto elf_xtensa_info_to_howto_rela
-#define bfd_elf32_bfd_final_link bfd_elf32_bfd_final_link
#define bfd_elf32_bfd_merge_private_bfd_data elf_xtensa_merge_private_bfd_data
#define bfd_elf32_new_section_hook elf_xtensa_new_section_hook
#define bfd_elf32_bfd_print_private_bfd_data elf_xtensa_print_private_bfd_data
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 8bd03c2..01c66b5 100644
--- a/bfd/elf64-alpha.c
+++ b/bfd/elf64-alpha.c
@@ -1,5 +1,5 @@
/* Alpha specific support for 64-bit ELF
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@tamu.edu>.
@@ -75,7 +75,7 @@ static bfd_boolean elf64_alpha_object_p
static bfd_boolean elf64_alpha_section_from_shdr
PARAMS ((bfd *, Elf_Internal_Shdr *, const char *));
static bfd_boolean elf64_alpha_section_flags
- PARAMS ((flagword *, Elf_Internal_Shdr *));
+ PARAMS ((flagword *, const Elf_Internal_Shdr *));
static bfd_boolean elf64_alpha_fake_sections
PARAMS ((bfd *, Elf_Internal_Shdr *, asection *));
static bfd_boolean elf64_alpha_create_got_section
@@ -123,7 +123,7 @@ static bfd_boolean elf64_alpha_size_rela_got_section
static bfd_boolean elf64_alpha_size_rela_got_1
PARAMS ((struct alpha_elf_link_hash_entry *, struct bfd_link_info *));
static bfd_boolean elf64_alpha_add_symbol_hook
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static struct alpha_elf_got_entry *get_got_entry
PARAMS ((bfd *, struct alpha_elf_link_hash_entry *, unsigned long,
@@ -2315,7 +2315,7 @@ elf64_alpha_section_from_shdr (abfd, hdr, name)
static bfd_boolean
elf64_alpha_section_flags (flags, hdr)
flagword *flags;
- Elf_Internal_Shdr *hdr;
+ const Elf_Internal_Shdr *hdr;
{
if (hdr->sh_flags & SHF_ALPHA_GPREL)
*flags |= SEC_SMALL_DATA;
@@ -2363,7 +2363,7 @@ static bfd_boolean
elf64_alpha_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep ATTRIBUTE_UNUSED;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
@@ -2462,7 +2462,7 @@ elf64_alpha_create_dynamic_sections (abfd, info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
s = bfd_make_section (abfd, ".rela.plt");
@@ -2506,7 +2506,7 @@ elf64_alpha_create_dynamic_sections (abfd, info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
elf_hash_table (info)->hgot = h;
@@ -2572,7 +2572,6 @@ elf64_alpha_read_ecoff_info (abfd, section, debug)
#undef READ
debug->fdr = NULL;
- debug->adjust = NULL;
return TRUE;
@@ -4094,7 +4093,7 @@ elf64_alpha_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -4399,12 +4398,12 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_boolean warned;
bfd_boolean unresolved_reloc;
struct elf_link_hash_entry *hh;
-
- RELOC_FOR_GLOBAL_SYMBOL (hh,
- (struct elf_link_hash_entry *) alpha_elf_sym_hashes (input_bfd),
- r_symndx, symtab_hdr, value,
- sec, unresolved_reloc, info,
- warned);
+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ hh, sec, value,
+ unresolved_reloc, warned);
if (warned)
continue;
@@ -5335,7 +5334,7 @@ elf64_alpha_final_link (abfd, info)
}
/* Invoke the regular ELF backend linker to do all the work. */
- if (! bfd_elf64_bfd_final_link (abfd, info))
+ if (! bfd_elf_final_link (abfd, info))
return FALSE;
/* Now write out the computed sections. */
diff --git a/bfd/elf64-gen.c b/bfd/elf64-gen.c
index 590456c..be1dc3e 100644
--- a/bfd/elf64-gen.c
+++ b/bfd/elf64-gen.c
@@ -1,5 +1,6 @@
/* Generic support for 64-bit ELF
- Copyright 1993, 1995, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004
+ Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -87,7 +88,7 @@ elf64_generic_link_add_symbols (abfd, info)
return FALSE;
}
- return bfd_elf64_bfd_link_add_symbols (abfd, info);
+ return bfd_elf_link_add_symbols (abfd, info);
}
#define TARGET_LITTLE_SYM bfd_elf64_little_generic_vec
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
index 5bc9309..76dcc18 100644
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -1,5 +1,6 @@
/* Support for HPPA 64-bit ELF
- Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -932,7 +933,7 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs)
section symbol for this section ends up in the dynamic
symbol table. */
if (info->shared && dynrel_type == R_PARISC_FPTR64
- && ! (_bfd_elf64_link_record_local_dynamic_symbol
+ && ! (bfd_elf_link_record_local_dynamic_symbol
(info, abfd, sec_symndx)))
return FALSE;
}
@@ -1043,7 +1044,7 @@ allocate_global_data_dlt (dyn_h, data)
bfd *owner;
owner = (h ? h->root.u.def.section->owner : dyn_h->owner);
- if (! (_bfd_elf64_link_record_local_dynamic_symbol
+ if (! (bfd_elf_link_record_local_dynamic_symbol
(x->info, owner, dyn_h->sym_indx)))
return FALSE;
}
@@ -1147,7 +1148,7 @@ allocate_global_data_opd (dyn_h, data)
bfd *owner;
owner = (h ? h->root.u.def.section->owner : dyn_h->owner);
- if (!_bfd_elf64_link_record_local_dynamic_symbol
+ if (!bfd_elf_link_record_local_dynamic_symbol
(x->info, owner, dyn_h->sym_indx))
return FALSE;
}
@@ -1173,7 +1174,7 @@ allocate_global_data_opd (dyn_h, data)
nh->root.u.def.value = h->root.u.def.value;
nh->root.u.def.section = h->root.u.def.section;
- if (! bfd_elf64_link_record_dynamic_symbol (x->info, nh))
+ if (! bfd_elf_link_record_dynamic_symbol (x->info, nh))
return FALSE;
}
@@ -1509,7 +1510,7 @@ allocate_dynrel_entries (dyn_h, data)
the symbol need only be added once. */
if (dyn_h->h == 0
|| (dyn_h->h->dynindx == -1 && dyn_h->h->type != STT_PARISC_MILLI))
- if (!_bfd_elf64_link_record_local_dynamic_symbol
+ if (!bfd_elf_link_record_local_dynamic_symbol
(x->info, rent->sec->owner, dyn_h->sym_indx))
return FALSE;
}
@@ -1832,7 +1833,7 @@ elf64_hppa_size_dynamic_sections (output_bfd, info)
the PLT, it is how we communicate the __gp value of a load
module to the dynamic linker. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!add_dynamic_entry (DT_HP_DLD_FLAGS, 0)
|| !add_dynamic_entry (DT_PLTGOT, 0))
diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c
index ca627ef..4b78681 100644
--- a/bfd/elf64-mmix.c
+++ b/bfd/elf64-mmix.c
@@ -1,5 +1,5 @@
/* MMIX-specific support for 64-bit ELF.
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com>
This file is part of BFD, the Binary File Descriptor library.
@@ -205,7 +205,7 @@ static bfd_boolean mmix_elf_section_from_bfd_section
PARAMS ((bfd *, asection *, int *));
static bfd_boolean mmix_elf_add_symbol_hook
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static bfd_boolean mmix_elf_is_local_label_name
@@ -1474,45 +1474,21 @@ mmix_elf_relocate_section (output_bfd, info, input_bfd, input_section,
sec = local_sections [r_symndx];
relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
- name = bfd_elf_string_from_elf_section
- (input_bfd, symtab_hdr->sh_link, sym->st_name);
- name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+ name = bfd_elf_string_from_elf_section (input_bfd,
+ symtab_hdr->sh_link,
+ sym->st_name);
+ if (name == NULL)
+ name = bfd_section_name (input_bfd, sec);
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
-
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ bfd_boolean unresolved_reloc;
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, undefined_signalled);
name = h->root.root.string;
-
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma
- + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else if (info->shared
- && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
- relocation = 0;
- else
- {
- /* The test on undefined_signalled is redundant at the
- moment, but kept for symmetry. */
- if (! undefined_signalled
- && ! ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- undefined_signalled = TRUE;
- relocation = 0;
- }
}
r = mmix_final_link_relocate (howto, input_section,
@@ -2051,14 +2027,14 @@ mmix_elf_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_MMIX_GNU_VTINHERIT:
- if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_MMIX_GNU_VTENTRY:
- if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
}
@@ -2202,7 +2178,7 @@ bfd_boolean
mmix_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info ATTRIBUTE_UNUSED;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep ATTRIBUTE_UNUSED;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
@@ -2296,7 +2272,7 @@ mmix_elf_final_link (abfd, info)
--abfd->section_count;
}
- if (! bfd_elf64_bfd_final_link (abfd, info))
+ if (! bfd_elf_final_link (abfd, info))
return FALSE;
/* Since this section is marked SEC_LINKER_CREATED, it isn't output by
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 304a635..a0d81d0 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -1,5 +1,6 @@
/* PowerPC64-specific support for 64-bit ELF.
- Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Written by Linus Nordberg, Swox AB <info@swox.com>,
based on elf32-ppc.c by Ian Lance Taylor.
Largely rewritten by Alan Modra <amodra@bigpond.net.au>
@@ -81,6 +82,7 @@ static bfd_reloc_status_type ppc64_elf_unhandled_reloc
#define elf_backend_grok_psinfo ppc64_elf_grok_psinfo
#define elf_backend_create_dynamic_sections ppc64_elf_create_dynamic_sections
#define elf_backend_copy_indirect_symbol ppc64_elf_copy_indirect_symbol
+#define elf_backend_add_symbol_hook ppc64_elf_add_symbol_hook
#define elf_backend_check_relocs ppc64_elf_check_relocs
#define elf_backend_gc_mark_hook ppc64_elf_gc_mark_hook
#define elf_backend_gc_sweep_hook ppc64_elf_gc_sweep_hook
@@ -3473,6 +3475,22 @@ ppc64_elf_mark_entry_syms (struct bfd_link_info *info)
return TRUE;
}
+/* Hack symbols defined in .opd sections to be function type. */
+
+static bfd_boolean
+ppc64_elf_add_symbol_hook (bfd *ibfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *isym,
+ const char **name ATTRIBUTE_UNUSED,
+ flagword *flags ATTRIBUTE_UNUSED,
+ asection **sec,
+ bfd_vma *value ATTRIBUTE_UNUSED)
+{
+ if (strcmp (bfd_get_section_name (ibfd, *sec), ".opd") == 0)
+ isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC);
+ return TRUE;
+}
+
static bfd_boolean
update_local_sym_info (bfd *abfd, Elf_Internal_Shdr *symtab_hdr,
unsigned long r_symndx, bfd_vma r_addend, int tls_type)
@@ -3790,14 +3808,14 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_PPC64_GNU_VTINHERIT:
- if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_PPC64_GNU_VTENTRY:
- if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -4386,7 +4404,7 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf)
&& ELF_ST_VISIBILITY (fdh->elf.other) == STV_DEFAULT)))
{
if (fdh->elf.dynindx == -1)
- if (! bfd_elf64_link_record_dynamic_symbol (info, &fdh->elf))
+ if (! bfd_elf_link_record_dynamic_symbol (info, &fdh->elf))
return FALSE;
fdh->elf.elf_link_hash_flags
|= (fh->elf.elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
@@ -5556,17 +5574,6 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
return TRUE;
}
-/* This is the condition under which ppc64_elf_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in ppc64_elf_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -5676,7 +5683,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -5757,7 +5764,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -6064,7 +6071,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (TAG), (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -7480,10 +7487,10 @@ ppc64_elf_relocate_section (bfd *output_bfd,
}
else
{
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
sym_name = h->root.root.string;
sym_type = h->type;
}
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 2260248..63e9950 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -1,5 +1,5 @@
/* IBM S/390-specific support for 64-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of BFD, the Binary File Descriptor library.
@@ -1309,14 +1309,14 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_390_GNU_VTINHERIT:
- if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_390_GNU_VTENTRY:
- if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1687,17 +1687,6 @@ elf_s390_adjust_dynamic_symbol (info, h)
return TRUE;
}
-/* This is the condition under which elf_s390_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf_s390_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -1733,7 +1722,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1816,7 +1805,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1855,9 +1844,7 @@ allocate_dynrelocs (h, inf)
if (info->shared)
{
- if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0
- && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0
- || info->symbolic))
+ if (SYMBOL_REFERENCES_LOCAL (info, h))
{
struct elf_s390_dyn_relocs **pp;
@@ -1896,7 +1883,7 @@ allocate_dynrelocs (h, inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2129,7 +2116,7 @@ elf_s390_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -2294,10 +2281,10 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean warned ATTRIBUTE_UNUSED;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
switch (r_type)
@@ -2540,10 +2527,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
&& r_type != R_390_PC32DBL
&& r_type != R_390_PC64)
|| (h != NULL
- && h->dynindx != -1
- && (! info->symbolic
- || (h->elf_link_hash_flags
- & ELF_LINK_HASH_DEF_REGULAR) == 0))))
+ && !SYMBOL_REFERENCES_LOCAL (info, h))))
|| (ELIMINATE_COPY_RELOCS
&& !info->shared
&& h != NULL
@@ -3385,6 +3369,17 @@ elf_s390_finish_dynamic_sections (output_bfd, info)
return TRUE;
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + PLT_FIRST_ENTRY_SIZE + i * PLT_ENTRY_SIZE;
+}
+
+
/* Why was the hash table entry size definition changed from
ARCH_SIZE/8 to 4? This breaks the 64 bit dynamic linker and
this is the only reason for the s390_elf64_size_info structure. */
@@ -3454,6 +3449,7 @@ const struct elf_size_info s390_elf64_size_info =
#define elf_backend_relocate_section elf_s390_relocate_section
#define elf_backend_size_dynamic_sections elf_s390_size_dynamic_sections
#define elf_backend_reloc_type_class elf_s390_reloc_type_class
+#define elf_backend_plt_sym_val elf_s390_plt_sym_val
#define bfd_elf64_mkobject elf_s390_mkobject
#define elf_backend_object_p elf_s390_object_p
diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
index 15c2992..ad6ca1c 100644
--- a/bfd/elf64-sh64.c
+++ b/bfd/elf64-sh64.c
@@ -1,5 +1,5 @@
/* SuperH SH64-specific support for 64-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -141,7 +141,7 @@ static bfd_boolean sh_elf64_check_relocs
static int sh64_elf64_get_symbol_type
(Elf_Internal_Sym *, int);
static bfd_boolean sh64_elf64_add_symbol_hook
- (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *, const char **,
+ (bfd *, struct bfd_link_info *, Elf_Internal_Sym *, const char **,
flagword *, asection **, bfd_vma *);
static bfd_boolean sh64_elf64_link_output_symbol_hook
(struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
@@ -1703,15 +1703,16 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
}
else if (h->root.type == bfd_link_hash_undefweak)
relocation = 0;
- else if (info->shared
- && !info->symbolic
- && info->unresolved_syms_in_objects == RM_IGNORE)
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
relocation = 0;
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
+ input_section, rel->r_offset,
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+ || ELF_ST_VISIBILITY (h->other)))))
return FALSE;
relocation = 0;
}
@@ -2561,14 +2562,14 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_SH_GNU_VTINHERIT:
- if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_SH_GNU_VTENTRY:
- if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -2633,7 +2634,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2716,7 +2717,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2886,7 +2887,7 @@ sh64_elf64_get_symbol_type (Elf_Internal_Sym * elf_sym, int type)
static bfd_boolean
sh64_elf64_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
- const Elf_Internal_Sym *sym, const char **namep,
+ Elf_Internal_Sym *sym, const char **namep,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp, bfd_vma *valp)
{
@@ -3298,7 +3299,7 @@ sh64_elf64_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (info->shared
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3424,7 +3425,7 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info,
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -3727,31 +3728,31 @@ sh64_elf64_size_dynamic_sections (bfd *output_bfd,
dynamic linker and used by the debugger. */
if (info->executable)
{
- if (! bfd_elf64_add_dynamic_entry (info, DT_DEBUG, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_DEBUG, 0))
return FALSE;
}
if (plt)
{
- if (! bfd_elf64_add_dynamic_entry (info, DT_PLTGOT, 0)
- || ! bfd_elf64_add_dynamic_entry (info, DT_PLTRELSZ, 0)
- || ! bfd_elf64_add_dynamic_entry (info, DT_PLTREL, DT_RELA)
- || ! bfd_elf64_add_dynamic_entry (info, DT_JMPREL, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_PLTGOT, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PLTRELSZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PLTREL, DT_RELA)
+ || !_bfd_elf_add_dynamic_entry (info, DT_JMPREL, 0))
return FALSE;
}
if (relocs)
{
- if (! bfd_elf64_add_dynamic_entry (info, DT_RELA, 0)
- || ! bfd_elf64_add_dynamic_entry (info, DT_RELASZ, 0)
- || ! bfd_elf64_add_dynamic_entry (info, DT_RELAENT,
- sizeof (Elf64_External_Rela)))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_RELA, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELASZ, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_RELAENT,
+ sizeof (Elf64_External_Rela)))
return FALSE;
}
if (reltext)
{
- if (! bfd_elf64_add_dynamic_entry (info, DT_TEXTREL, 0))
+ if (!_bfd_elf_add_dynamic_entry (info, DT_TEXTREL, 0))
return FALSE;
}
}
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c
index 4224310..905890e 100644
--- a/bfd/elf64-sparc.c
+++ b/bfd/elf64-sparc.c
@@ -1,6 +1,6 @@
/* SPARC-specific support for 64-bit ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -61,7 +61,7 @@ static bfd_boolean sparc64_elf_size_dynamic_sections
static int sparc64_elf_get_symbol_type
PARAMS (( Elf_Internal_Sym *, int));
static bfd_boolean sparc64_elf_add_symbol_hook
- PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *));
static bfd_boolean sparc64_elf_output_arch_syms
PARAMS ((bfd *, struct bfd_link_info *, PTR,
@@ -1178,7 +1178,7 @@ sparc64_elf_check_relocs (abfd, info, sec, relocs)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1261,7 +1261,7 @@ sparc64_elf_check_relocs (abfd, info, sec, relocs)
/* Make sure this symbol is output as a dynamic symbol. */
if (h->dynindx == -1)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1385,7 +1385,7 @@ static bfd_boolean
sparc64_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp ATTRIBUTE_UNUSED;
@@ -1876,7 +1876,7 @@ sparc64_elf_size_dynamic_sections (output_bfd, info)
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
int reg;
struct sparc64_elf_app_reg * app_regs;
@@ -1989,17 +1989,6 @@ sparc64_elf_relax_section (abfd, section, link_info, again)
return TRUE;
}
-/* This is the condition under which finish_dynamic_symbol will be called
- from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol
- routine, we'll need to do something about initializing any .plt and
- .got entries in relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \
- ((DYN) \
- && ((INFO)->shared \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Relocate a SPARC64 ELF section. */
static bfd_boolean
@@ -2039,6 +2028,8 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
got_base = elf_hash_table (info)->hgot->root.u.def.value;
sgot = splt = sreloc = NULL;
+ if (dynobj != NULL)
+ splt = bfd_get_section_by_name (dynobj, ".plt");
rel = relocs;
relend = relocs + NUM_SHDR_ENTRIES (& elf_section_data (input_section)->rel_hdr);
@@ -2079,10 +2070,10 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
if (warned)
{
/* To avoid generating warning messages about truncated
@@ -2222,6 +2213,13 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
break;
}
+ /* FIXME: Dynamic reloc handling really needs to be rewritten. */
+ if (!skip
+ && h != NULL
+ && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+ && h->root.type == bfd_link_hash_undefweak)
+ skip = TRUE, relocate = TRUE;
+
if (skip)
memset (&outrel, 0, sizeof outrel);
/* h->dynindx may be -1 if the symbol was marked to
@@ -2327,7 +2325,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
BFD_ASSERT (off != (bfd_vma) -1);
dyn = elf_hash_table (info)->dynamic_sections_created;
- if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h)
|| (info->shared
&& (info->symbolic
|| h->dynindx == -1
@@ -2420,7 +2418,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
procedure linkage table. */
BFD_ASSERT (h != NULL);
- if (h->plt.offset == (bfd_vma) -1)
+ if (h->plt.offset == (bfd_vma) -1 || splt == NULL)
{
/* We didn't make a PLT entry for this symbol. This
happens when statically linking PIC code, or when
@@ -2428,12 +2426,6 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
goto do_default;
}
- if (splt == NULL)
- {
- splt = bfd_get_section_by_name (dynobj, ".plt");
- BFD_ASSERT (splt != NULL);
- }
-
relocation = (splt->output_section->vma
+ splt->output_offset
+ sparc64_elf_plt_entry_offset (h->plt.offset));
@@ -3115,6 +3107,24 @@ sparc64_elf_object_p (abfd)
return bfd_default_set_arch_mach (abfd, bfd_arch_sparc, mach);
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+sparc64_elf_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ bfd_vma j;
+
+ i += PLT_HEADER_SIZE / PLT_ENTRY_SIZE;
+ if (i < LARGE_PLT_THRESHOLD)
+ return plt->vma + i * PLT_ENTRY_SIZE;
+
+ j = (i - LARGE_PLT_THRESHOLD) % 160;
+ i -= j;
+ return plt->vma + i * PLT_ENTRY_SIZE + j * 4 * 6;
+}
+
/* Relocations in the 64 bit SPARC ELF ABI are more complex than in
standard ELF, because R_SPARC_OLO10 has secondary addend in
ELF64_R_TYPE_DATA field. This structure is used to redirect the
@@ -3214,6 +3224,8 @@ const struct elf_size_info sparc64_elf_size_info =
sparc64_elf_merge_private_bfd_data
#define elf_backend_fake_sections \
sparc64_elf_fake_sections
+#define elf_backend_plt_sym_val \
+ sparc64_elf_plt_sym_val
#define elf_backend_size_info \
sparc64_elf_size_info
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index a688620..ee1b14e 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -1,5 +1,5 @@
/* X86-64 specific support for 64-bit ELF
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>.
This file is part of BFD, the Binary File Descriptor library.
@@ -561,7 +561,8 @@ elf64_x86_64_copy_indirect_symbol (const struct elf_backend_data *bed,
(ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC
| ELF_LINK_HASH_REF_REGULAR
| ELF_LINK_HASH_REF_REGULAR_NONWEAK
- | ELF_LINK_HASH_NEEDS_PLT));
+ | ELF_LINK_HASH_NEEDS_PLT
+ | ELF_LINK_POINTER_EQUALITY_NEEDED));
else
_bfd_elf_link_hash_copy_indirect (bed, dir, ind);
}
@@ -812,6 +813,8 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
/* We may need a .plt entry if the function this reloc
refers to is in a shared lib. */
h->plt.refcount += 1;
+ if (r_type != R_X86_64_PC32)
+ h->elf_link_hash_flags |= ELF_LINK_POINTER_EQUALITY_NEEDED;
}
/* If we are creating a shared library, and this is a reloc
@@ -951,14 +954,14 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_X86_64_GNU_VTINHERIT:
- if (!_bfd_elf64_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_X86_64_GNU_VTENTRY:
- if (!_bfd_elf64_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
return FALSE;
break;
@@ -1258,17 +1261,6 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info,
return TRUE;
}
-/* This is the condition under which elf64_x86_64_finish_dynamic_symbol
- will be called from elflink.h. If elflink.h doesn't call our
- finish_dynamic_symbol routine, we'll need to do something about
- initializing any .plt and .got entries in elf64_x86_64_relocate_section. */
-#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \
- ((DYN) \
- && ((SHARED) \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
- && ((H)->dynindx != -1 \
- || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
-
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
@@ -1297,7 +1289,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1365,7 +1357,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1450,7 +1442,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
if (h->dynindx == -1
&& (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
{
- if (! bfd_elf64_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -1683,7 +1675,7 @@ elf64_x86_64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
the .dynamic section. The DT_DEBUG entry is filled in by the
dynamic linker and used by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elf64_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (info->executable)
{
@@ -1820,10 +1812,10 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
{
bfd_boolean warned;
- RELOC_FOR_GLOBAL_SYMBOL (h, sym_hashes, r_symndx,
- symtab_hdr, relocation, sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
/* When generating a shared object, the relocations handled here are
copied into the output file to be resolved at run time. */
@@ -2530,11 +2522,16 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd,
if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
{
/* Mark the symbol as undefined, rather than as defined in
- the .plt section. Leave the value alone. This is a clue
+ the .plt section. Leave the value if there were any
+ relocations where pointer equality matters (this is a clue
for the dynamic linker, to make function pointer
comparisons work between an application and shared
- library. */
+ library), otherwise set it to zero. If a function is only
+ called from a binary, there is no need to slow down
+ shared libraries because of that. */
sym->st_shndx = SHN_UNDEF;
+ if ((h->elf_link_hash_flags & ELF_LINK_POINTER_EQUALITY_NEEDED) == 0)
+ sym->st_value = 0;
}
}
@@ -2761,6 +2758,15 @@ elf64_x86_64_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *inf
return TRUE;
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf64_x86_64_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + (i + 1) * PLT_ENTRY_SIZE;
+}
#define TARGET_LITTLE_SYM bfd_elf64_x86_64_vec
#define TARGET_LITTLE_NAME "elf64-x86-64"
@@ -2795,6 +2801,7 @@ elf64_x86_64_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *inf
#define elf_backend_reloc_type_class elf64_x86_64_reloc_type_class
#define elf_backend_relocate_section elf64_x86_64_relocate_section
#define elf_backend_size_dynamic_sections elf64_x86_64_size_dynamic_sections
+#define elf_backend_plt_sym_val elf64_x86_64_plt_sym_val
#define elf_backend_object_p elf64_x86_64_elf_object_p
#define bfd_elf64_mkobject elf64_x86_64_mkobject
diff --git a/bfd/elfarm-nabi.c b/bfd/elfarm-nabi.c
index 5ecbe8e..961a52a 100644
--- a/bfd/elfarm-nabi.c
+++ b/bfd/elfarm-nabi.c
@@ -516,6 +516,47 @@ static reloc_howto_type elf32_arm_howto_table[] =
0, /* dst_mask */
FALSE), /* pcrel_offset */
+ HOWTO (R_ARM_ALU_PCREL7_0, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_ARM_ALU_PCREL_7_0", /* name */
+ FALSE, /* partial_inplace */
+ 0x00000fff, /* src_mask */
+ 0x00000fff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ HOWTO (R_ARM_ALU_PCREL15_8, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ TRUE, /* pc_relative */
+ 8, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_ARM_ALU_PCREL_15_8",/* name */
+ FALSE, /* partial_inplace */
+ 0x00000fff, /* src_mask */
+ 0x00000fff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ HOWTO (R_ARM_ALU_PCREL23_15, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ TRUE, /* pc_relative */
+ 16, /* bitpos */
+ complain_overflow_dont,/* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_ARM_ALU_PCREL_23_15",/* name */
+ FALSE, /* partial_inplace */
+ 0x00000fff, /* src_mask */
+ 0x00000fff, /* dst_mask */
+ TRUE), /* pcrel_offset */
};
/* GNU extension to record C++ vtable hierarchy */
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 87d96fa..0c7be88 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -105,6 +105,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define elf_canonicalize_symtab NAME(bfd_elf,canonicalize_symtab)
#define elf_canonicalize_dynamic_symtab \
NAME(bfd_elf,canonicalize_dynamic_symtab)
+#define elf_get_synthetic_symtab \
+ NAME(bfd_elf,get_synthetic_symtab)
#define elf_make_empty_symbol NAME(bfd_elf,make_empty_symbol)
#define elf_get_symbol_info NAME(bfd_elf,get_symbol_info)
#define elf_get_lineno NAME(bfd_elf,get_lineno)
@@ -115,24 +117,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define elf_no_info_to_howto NAME(bfd_elf,no_info_to_howto)
#define elf_no_info_to_howto_rel NAME(bfd_elf,no_info_to_howto_rel)
#define elf_find_section NAME(bfd_elf,find_section)
-#define elf_bfd_link_add_symbols NAME(bfd_elf,bfd_link_add_symbols)
-#define elf_add_dynamic_entry NAME(bfd_elf,add_dynamic_entry)
#define elf_write_shdrs_and_ehdr NAME(bfd_elf,write_shdrs_and_ehdr)
#define elf_write_out_phdrs NAME(bfd_elf,write_out_phdrs)
#define elf_write_relocs NAME(bfd_elf,write_relocs)
#define elf_slurp_reloc_table NAME(bfd_elf,slurp_reloc_table)
-#define elf_bfd_discard_info NAME(bfd_elf,discard_info)
-#define elf_reloc_symbol_deleted_p NAME(_bfd_elf,reloc_symbol_deleted_p)
-#define elf_link_record_dynamic_symbol _bfd_elf_link_record_dynamic_symbol
-#define elf_bfd_final_link NAME(bfd_elf,bfd_final_link)
-#define elf_gc_sections NAME(_bfd_elf,gc_sections)
-#define elf_gc_common_finalize_got_offsets \
- NAME(_bfd_elf,gc_common_finalize_got_offsets)
-#define elf_gc_common_final_link NAME(_bfd_elf,gc_common_final_link)
-#define elf_gc_record_vtinherit NAME(_bfd_elf,gc_record_vtinherit)
-#define elf_gc_record_vtentry NAME(_bfd_elf,gc_record_vtentry)
-#define elf_link_record_local_dynamic_symbol \
- NAME(_bfd_elf,link_record_local_dynamic_symbol)
#if ARCH_SIZE == 64
#define ELF_R_INFO(X,Y) ELF64_R_INFO(X,Y)
@@ -151,10 +139,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define LOG_FILE_ALIGN 2
#endif
-#define elf_stringtab_init _bfd_elf_stringtab_init
-
-#define section_from_elf_index bfd_section_from_elf_index
-
#ifdef DEBUG
static void elf_debug_section (int, Elf_Internal_Shdr *);
static void elf_debug_file (Elf_Internal_Ehdr *);
@@ -1111,8 +1095,8 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bfd_boolean dynamic)
else if (isym->st_shndx < SHN_LORESERVE
|| isym->st_shndx > SHN_HIRESERVE)
{
- sym->symbol.section = section_from_elf_index (abfd,
- isym->st_shndx);
+ sym->symbol.section = bfd_section_from_elf_index (abfd,
+ isym->st_shndx);
if (sym->symbol.section == NULL)
{
/* This symbol is in a section for which we did not
@@ -1737,7 +1721,6 @@ NAME(_bfd_elf,bfd_from_remote_memory)
}
#include "elfcore.h"
-#include "elflink.h"
/* Size-dependent data and functions. */
const struct elf_size_info NAME(_bfd_elf,size_info) = {
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 5770b25..32f4264 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -24,6 +24,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "libbfd.h"
#define ARCH_SIZE 0
#include "elf-bfd.h"
+#include "safe-ctype.h"
+#include "libiberty.h"
bfd_boolean
_bfd_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
@@ -89,7 +91,7 @@ _bfd_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (! info->executable
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
elf_hash_table (info)->hgot = h;
@@ -219,7 +221,7 @@ _bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (! info->executable
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
s = bfd_make_section (abfd, ".hash");
@@ -284,7 +286,7 @@ _bfd_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->type = STT_OBJECT;
if (! info->executable
- && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -346,8 +348,8 @@ _bfd_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
one. */
bfd_boolean
-_bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
+bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info,
+ struct elf_link_hash_entry *h)
{
if (h->dynindx == -1)
{
@@ -430,6 +432,13 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED,
if (h == NULL)
return FALSE;
+ /* Since we're defining the symbol, don't let it seem to have not
+ been defined. record_dynamic_symbol and size_dynamic_sections
+ may depend on this. */
+ if (h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_undefined)
+ h->root.type = bfd_link_hash_new;
+
if (h->root.type == bfd_link_hash_new)
h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF;
@@ -458,7 +467,7 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED,
|| info->shared)
&& h->dynindx == -1)
{
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
/* If this is a weak defined symbol, and we know a corresponding
@@ -467,7 +476,7 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED,
if (h->weakdef != NULL
&& h->weakdef->dynindx == -1)
{
- if (! _bfd_elf_link_record_dynamic_symbol (info, h->weakdef))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef))
return FALSE;
}
}
@@ -480,9 +489,9 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED,
in a discarded section, eg. a discarded link-once section symbol. */
int
-elf_link_record_local_dynamic_symbol (struct bfd_link_info *info,
- bfd *input_bfd,
- long input_indx)
+bfd_elf_link_record_local_dynamic_symbol (struct bfd_link_info *info,
+ bfd *input_bfd,
+ long input_indx)
{
bfd_size_type amt;
struct elf_link_local_dynamic_entry *entry;
@@ -646,8 +655,7 @@ _bfd_elf_link_renumber_dynsyms (bfd *output_bfd, struct bfd_link_info *info)
TYPE_CHANGE_OK if it is OK for the type to change. We set
SIZE_CHANGE_OK if it is OK for the size to change. By OK to
change, we mean that we shouldn't warn if the type or size does
- change. DT_NEEDED indicates if it comes from a DT_NEEDED entry of
- a shared object. */
+ change. */
bfd_boolean
_bfd_elf_merge_symbol (bfd *abfd,
@@ -660,8 +668,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
bfd_boolean *skip,
bfd_boolean *override,
bfd_boolean *type_change_ok,
- bfd_boolean *size_change_ok,
- bfd_boolean dt_needed)
+ bfd_boolean *size_change_ok)
{
asection *sec;
struct elf_link_hash_entry *h;
@@ -669,7 +676,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
int bind;
bfd *oldbfd;
bfd_boolean newdyn, olddyn, olddef, newdef, newdyncommon, olddyncommon;
- bfd_boolean newweakdef, oldweakdef, newweakundef, oldweakundef;
+ bfd_boolean newweak, oldweak;
*skip = FALSE;
*override = FALSE;
@@ -807,7 +814,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
is the first time we see it in a dynamic object, we mark
if it is weak. Otherwise, we clear it. */
if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0)
- {
+ {
if (bind == STB_WEAK)
h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_WEAK;
}
@@ -830,7 +837,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
FIXME: Should we check type and size for protected symbol? */
if (ELF_ST_VISIBILITY (h->other) == STV_PROTECTED)
- return _bfd_elf_link_record_dynamic_symbol (info, h);
+ return bfd_elf_link_record_dynamic_symbol (info, h);
else
return TRUE;
}
@@ -843,8 +850,26 @@ _bfd_elf_merge_symbol (bfd *abfd,
object, we remove the old definition. */
if ((*sym_hash)->root.type == bfd_link_hash_indirect)
h = *sym_hash;
- h->root.type = bfd_link_hash_new;
- h->root.u.undef.abfd = NULL;
+
+ if ((h->root.und_next || info->hash->undefs_tail == &h->root)
+ && bfd_is_und_section (sec))
+ {
+ /* If the new symbol is undefined and the old symbol was
+ also undefined before, we need to make sure
+ _bfd_generic_link_add_one_symbol doesn't mess
+ up the linker hash table undefs list. Since the old
+ definition came from a dynamic object, it is still on the
+ undefs list. */
+ h->root.type = bfd_link_hash_undefined;
+ /* FIXME: What if the new symbol is weak undefined? */
+ h->root.u.undef.abfd = abfd;
+ }
+ else
+ {
+ h->root.type = bfd_link_hash_new;
+ h->root.u.undef.abfd = NULL;
+ }
+
if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)
{
h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC;
@@ -857,48 +882,43 @@ _bfd_elf_merge_symbol (bfd *abfd,
return TRUE;
}
- /* We need to treat weak definition right, depending on if there is a
- definition from a dynamic object. */
- if (bind == STB_WEAK)
- {
- if (olddef)
- {
- newweakdef = TRUE;
- newweakundef = FALSE;
- }
- else
- {
- newweakdef = FALSE;
- newweakundef = TRUE;
- }
- }
- else
- newweakdef = newweakundef = FALSE;
+ /* Differentiate strong and weak symbols. */
+ newweak = bind == STB_WEAK;
+ oldweak = (h->root.type == bfd_link_hash_defweak
+ || h->root.type == bfd_link_hash_undefweak);
- /* If the new weak definition comes from a relocatable file and the
- old symbol comes from a dynamic object, we treat the new one as
- strong. */
- if (newweakdef && !newdyn && olddyn)
- newweakdef = FALSE;
+ /* If a new weak symbol definition comes from a regular file and the
+ old symbol comes from a dynamic library, we treat the new one as
+ strong. Similarly, an old weak symbol definition from a regular
+ file is treated as strong when the new symbol comes from a dynamic
+ library. Further, an old weak symbol from a dynamic library is
+ treated as strong if the new symbol is from a dynamic library.
+ This reflects the way glibc's ld.so works.
- if (h->root.type == bfd_link_hash_defweak)
- {
- oldweakdef = TRUE;
- oldweakundef = FALSE;
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- {
- oldweakdef = FALSE;
- oldweakundef = TRUE;
- }
- else
- oldweakdef = oldweakundef = FALSE;
+ Do this before setting *type_change_ok or *size_change_ok so that
+ we warn properly when dynamic library symbols are overridden. */
+
+ if (newdef && !newdyn && olddyn)
+ newweak = FALSE;
+ if (olddef && newdyn)
+ oldweak = FALSE;
+
+ /* It's OK to change the type if either the existing symbol or the
+ new symbol is weak. A type change is also OK if the old symbol
+ is undefined and the new symbol is defined. */
+
+ if (oldweak
+ || newweak
+ || (newdef
+ && h->root.type == bfd_link_hash_undefined))
+ *type_change_ok = TRUE;
- /* If the old weak definition comes from a relocatable file and the
- new symbol comes from a dynamic object, we treat the old one as
- strong. */
- if (oldweakdef && !olddyn && newdyn)
- oldweakdef = FALSE;
+ /* It's OK to change the size if either the existing symbol or the
+ new symbol is weak, or if the old symbol is undefined. */
+
+ if (*type_change_ok
+ || h->root.type == bfd_link_hash_undefined)
+ *size_change_ok = TRUE;
/* NEWDYNCOMMON and OLDDYNCOMMON indicate whether the new or old
symbol, respectively, appears to be a common symbol in a dynamic
@@ -925,11 +945,10 @@ _bfd_elf_merge_symbol (bfd *abfd,
if (newdyn
&& newdef
+ && !newweak
&& (sec->flags & SEC_ALLOC) != 0
&& (sec->flags & SEC_LOAD) == 0
&& sym->st_size > 0
- && !newweakdef
- && !newweakundef
&& ELF_ST_TYPE (sym->st_info) != STT_FUNC)
newdyncommon = TRUE;
else
@@ -947,28 +966,6 @@ _bfd_elf_merge_symbol (bfd *abfd,
else
olddyncommon = FALSE;
- /* It's OK to change the type if either the existing symbol or the
- new symbol is weak unless it comes from a DT_NEEDED entry of
- a shared object, in which case, the DT_NEEDED entry may not be
- required at the run time. The type change is also OK if the
- old symbol is undefined and the new symbol is defined. */
-
- if ((! dt_needed && oldweakdef)
- || oldweakundef
- || newweakdef
- || newweakundef
- || (newdef
- && (h->root.type == bfd_link_hash_undefined
- || h->root.type == bfd_link_hash_undefweak)))
- *type_change_ok = TRUE;
-
- /* It's OK to change the size if either the existing symbol or the
- new symbol is weak, or if the old symbol is undefined. */
-
- if (*type_change_ok
- || h->root.type == bfd_link_hash_undefined)
- *size_change_ok = TRUE;
-
/* If both the old and the new symbols look like common symbols in a
dynamic object, set the size of the symbol to the larger of the
two. */
@@ -1006,24 +1003,14 @@ _bfd_elf_merge_symbol (bfd *abfd,
represent variables; this can cause confusion in principle, but
any such confusion would seem to indicate an erroneous program or
shared library. We also permit a common symbol in a regular
- object to override a weak symbol in a shared object.
-
- We prefer a non-weak definition in a shared library to a weak
- definition in the executable unless it comes from a DT_NEEDED
- entry of a shared object, in which case, the DT_NEEDED entry
- may not be required at the run time. */
+ object to override a weak symbol in a shared object. */
if (newdyn
&& newdef
&& (olddef
|| (h->root.type == bfd_link_hash_common
- && (newweakdef
- || newweakundef
- || ELF_ST_TYPE (sym->st_info) == STT_FUNC)))
- && (!oldweakdef
- || dt_needed
- || newweakdef
- || newweakundef))
+ && (newweak
+ || ELF_ST_TYPE (sym->st_info) == STT_FUNC))))
{
*override = TRUE;
newdef = FALSE;
@@ -1067,20 +1054,17 @@ _bfd_elf_merge_symbol (bfd *abfd,
As above, we again permit a common symbol in a regular object to
override a definition in a shared object if the shared object
- symbol is a function or is weak.
-
- As above, we permit a non-weak definition in a shared object to
- override a weak definition in a regular object. */
+ symbol is a function or is weak. */
flip = NULL;
if (! newdyn
&& (newdef
|| (bfd_is_com_section (sec)
- && (oldweakdef || h->type == STT_FUNC)))
+ && (oldweak
+ || h->type == STT_FUNC)))
&& olddyn
&& olddef
- && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
- && ((!newweakdef && !newweakundef) || oldweakdef))
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)
{
/* Change the hash table entry to undefined, and let
_bfd_generic_link_add_one_symbol do the right thing with the
@@ -1169,57 +1153,13 @@ _bfd_elf_merge_symbol (bfd *abfd,
}
}
- /* Handle the special case of a weak definition in a regular object
- followed by a non-weak definition in a shared object. In this
- case, we prefer the definition in the shared object unless it
- comes from a DT_NEEDED entry of a shared object, in which case,
- the DT_NEEDED entry may not be required at the run time. */
- if (olddef
- && ! dt_needed
- && oldweakdef
- && newdef
- && newdyn
- && !newweakdef
- && !newweakundef)
- {
- /* To make this work we have to frob the flags so that the rest
- of the code does not think we are using the regular
- definition. */
- if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0)
- h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR;
- else if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)
- h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC;
- h->elf_link_hash_flags &= ~ (ELF_LINK_HASH_DEF_REGULAR
- | ELF_LINK_HASH_DEF_DYNAMIC);
-
- /* If H is the target of an indirection, we want the caller to
- use H rather than the indirect symbol. Otherwise if we are
- defining a new indirect symbol we will wind up attaching it
- to the entry we are overriding. */
- *sym_hash = h;
- }
-
- /* Handle the special case of a non-weak definition in a shared
- object followed by a weak definition in a regular object. In
- this case we prefer the definition in the shared object. To make
- this work we have to tell the caller to not treat the new symbol
- as a definition. */
- if (olddef
- && olddyn
- && !oldweakdef
- && newdef
- && ! newdyn
- && (newweakdef || newweakundef))
- *override = TRUE;
-
return TRUE;
}
/* This function is called to create an indirect symbol from the
default for the symbol with the default version if needed. The
symbol is described by H, NAME, SYM, PSEC, VALUE, and OVERRIDE. We
- set DYNSYM if the new indirect symbol is dynamic. DT_NEEDED
- indicates if it comes from a DT_NEEDED entry of a shared object. */
+ set DYNSYM if the new indirect symbol is dynamic. */
bfd_boolean
_bfd_elf_add_default_symbol (bfd *abfd,
@@ -1230,8 +1170,7 @@ _bfd_elf_add_default_symbol (bfd *abfd,
asection **psec,
bfd_vma *value,
bfd_boolean *dynsym,
- bfd_boolean override,
- bfd_boolean dt_needed)
+ bfd_boolean override)
{
bfd_boolean type_change_ok;
bfd_boolean size_change_ok;
@@ -1292,7 +1231,7 @@ _bfd_elf_add_default_symbol (bfd *abfd,
sec = *psec;
if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, value,
&hi, &skip, &override, &type_change_ok,
- &size_change_ok, dt_needed))
+ &size_change_ok))
return FALSE;
if (skip)
@@ -1341,7 +1280,7 @@ _bfd_elf_add_default_symbol (bfd *abfd,
& (ELF_LINK_HASH_REF_REGULAR
| ELF_LINK_HASH_DEF_REGULAR))
{
- if (! _bfd_elf_link_record_dynamic_symbol (info, hi))
+ if (! bfd_elf_link_record_dynamic_symbol (info, hi))
return FALSE;
}
}
@@ -1359,12 +1298,6 @@ _bfd_elf_add_default_symbol (bfd *abfd,
{
struct elf_link_hash_entry *ht;
- /* If the symbol became indirect, then we assume that we have
- not seen a definition before. */
- BFD_ASSERT ((hi->elf_link_hash_flags
- & (ELF_LINK_HASH_DEF_DYNAMIC
- | ELF_LINK_HASH_DEF_REGULAR)) == 0);
-
ht = (struct elf_link_hash_entry *) hi->root.u.i.link;
(*bed->elf_backend_copy_indirect_symbol) (bed, ht, hi);
@@ -1405,7 +1338,7 @@ nondefault:
sec = *psec;
if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, value,
&hi, &skip, &override, &type_change_ok,
- &size_change_ok, dt_needed))
+ &size_change_ok))
return FALSE;
if (skip)
@@ -1437,12 +1370,6 @@ nondefault:
if (hi->root.type == bfd_link_hash_indirect)
{
- /* If the symbol became indirect, then we assume that we have
- not seen a definition before. */
- BFD_ASSERT ((hi->elf_link_hash_flags
- & (ELF_LINK_HASH_DEF_DYNAMIC
- | ELF_LINK_HASH_DEF_REGULAR)) == 0);
-
(*bed->elf_backend_copy_indirect_symbol) (bed, h, hi);
/* See if the new flags lead us to realize that the symbol
@@ -1511,7 +1438,7 @@ _bfd_elf_export_symbol (struct elf_link_hash_entry *h, void *data)
if (!eif->verdefs)
{
doit:
- if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (eif->info, h))
{
eif->failed = TRUE;
return FALSE;
@@ -2155,7 +2082,7 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h,
&& ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
|| (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0))
{
- if (! _bfd_elf_link_record_dynamic_symbol (eif->info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (eif->info, h))
{
eif->failed = TRUE;
return FALSE;
@@ -2543,3 +2470,6488 @@ _bfd_elf_tls_setup (bfd *obfd, struct bfd_link_info *info)
return tls;
}
+
+/* Return TRUE iff this is a non-common, definition of a non-function symbol. */
+static bfd_boolean
+is_global_data_symbol_definition (bfd *abfd ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym)
+{
+ /* Local symbols do not count, but target specific ones might. */
+ if (ELF_ST_BIND (sym->st_info) != STB_GLOBAL
+ && ELF_ST_BIND (sym->st_info) < STB_LOOS)
+ return FALSE;
+
+ /* Function symbols do not count. */
+ if (ELF_ST_TYPE (sym->st_info) == STT_FUNC)
+ return FALSE;
+
+ /* If the section is undefined, then so is the symbol. */
+ if (sym->st_shndx == SHN_UNDEF)
+ return FALSE;
+
+ /* If the symbol is defined in the common section, then
+ it is a common definition and so does not count. */
+ if (sym->st_shndx == SHN_COMMON)
+ return FALSE;
+
+ /* If the symbol is in a target specific section then we
+ must rely upon the backend to tell us what it is. */
+ if (sym->st_shndx >= SHN_LORESERVE && sym->st_shndx < SHN_ABS)
+ /* FIXME - this function is not coded yet:
+
+ return _bfd_is_global_symbol_definition (abfd, sym);
+
+ Instead for now assume that the definition is not global,
+ Even if this is wrong, at least the linker will behave
+ in the same way that it used to do. */
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Search the symbol table of the archive element of the archive ABFD
+ whose archive map contains a mention of SYMDEF, and determine if
+ the symbol is defined in this element. */
+static bfd_boolean
+elf_link_is_defined_archive_symbol (bfd * abfd, carsym * symdef)
+{
+ Elf_Internal_Shdr * hdr;
+ bfd_size_type symcount;
+ bfd_size_type extsymcount;
+ bfd_size_type extsymoff;
+ Elf_Internal_Sym *isymbuf;
+ Elf_Internal_Sym *isym;
+ Elf_Internal_Sym *isymend;
+ bfd_boolean result;
+
+ abfd = _bfd_get_elt_at_filepos (abfd, symdef->file_offset);
+ if (abfd == NULL)
+ return FALSE;
+
+ if (! bfd_check_format (abfd, bfd_object))
+ return FALSE;
+
+ /* If we have already included the element containing this symbol in the
+ link then we do not need to include it again. Just claim that any symbol
+ it contains is not a definition, so that our caller will not decide to
+ (re)include this element. */
+ if (abfd->archive_pass)
+ return FALSE;
+
+ /* Select the appropriate symbol table. */
+ if ((abfd->flags & DYNAMIC) == 0 || elf_dynsymtab (abfd) == 0)
+ hdr = &elf_tdata (abfd)->symtab_hdr;
+ else
+ hdr = &elf_tdata (abfd)->dynsymtab_hdr;
+
+ symcount = hdr->sh_size / get_elf_backend_data (abfd)->s->sizeof_sym;
+
+ /* The sh_info field of the symtab header tells us where the
+ external symbols start. We don't care about the local symbols. */
+ if (elf_bad_symtab (abfd))
+ {
+ extsymcount = symcount;
+ extsymoff = 0;
+ }
+ else
+ {
+ extsymcount = symcount - hdr->sh_info;
+ extsymoff = hdr->sh_info;
+ }
+
+ if (extsymcount == 0)
+ return FALSE;
+
+ /* Read in the symbol table. */
+ isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff,
+ NULL, NULL, NULL);
+ if (isymbuf == NULL)
+ return FALSE;
+
+ /* Scan the symbol table looking for SYMDEF. */
+ result = FALSE;
+ for (isym = isymbuf, isymend = isymbuf + extsymcount; isym < isymend; isym++)
+ {
+ const char *name;
+
+ name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
+ isym->st_name);
+ if (name == NULL)
+ break;
+
+ if (strcmp (name, symdef->name) == 0)
+ {
+ result = is_global_data_symbol_definition (abfd, isym);
+ break;
+ }
+ }
+
+ free (isymbuf);
+
+ return result;
+}
+
+/* Add an entry to the .dynamic table. */
+
+bfd_boolean
+_bfd_elf_add_dynamic_entry (struct bfd_link_info *info,
+ bfd_vma tag,
+ bfd_vma val)
+{
+ struct elf_link_hash_table *hash_table;
+ const struct elf_backend_data *bed;
+ asection *s;
+ bfd_size_type newsize;
+ bfd_byte *newcontents;
+ Elf_Internal_Dyn dyn;
+
+ hash_table = elf_hash_table (info);
+ if (! is_elf_hash_table (hash_table))
+ return FALSE;
+
+ bed = get_elf_backend_data (hash_table->dynobj);
+ s = bfd_get_section_by_name (hash_table->dynobj, ".dynamic");
+ BFD_ASSERT (s != NULL);
+
+ newsize = s->_raw_size + bed->s->sizeof_dyn;
+ newcontents = bfd_realloc (s->contents, newsize);
+ if (newcontents == NULL)
+ return FALSE;
+
+ dyn.d_tag = tag;
+ dyn.d_un.d_val = val;
+ bed->s->swap_dyn_out (hash_table->dynobj, &dyn, newcontents + s->_raw_size);
+
+ s->_raw_size = newsize;
+ s->contents = newcontents;
+
+ return TRUE;
+}
+
+/* Add a DT_NEEDED entry for this dynamic object if DO_IT is true,
+ otherwise just check whether one already exists. Returns -1 on error,
+ 1 if a DT_NEEDED tag already exists, and 0 on success. */
+
+static int
+elf_add_dt_needed_tag (struct bfd_link_info *info,
+ const char *soname,
+ bfd_boolean do_it)
+{
+ struct elf_link_hash_table *hash_table;
+ bfd_size_type oldsize;
+ bfd_size_type strindex;
+
+ hash_table = elf_hash_table (info);
+ oldsize = _bfd_elf_strtab_size (hash_table->dynstr);
+ strindex = _bfd_elf_strtab_add (hash_table->dynstr, soname, FALSE);
+ if (strindex == (bfd_size_type) -1)
+ return -1;
+
+ if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr))
+ {
+ asection *sdyn;
+ const struct elf_backend_data *bed;
+ bfd_byte *extdyn;
+
+ bed = get_elf_backend_data (hash_table->dynobj);
+ sdyn = bfd_get_section_by_name (hash_table->dynobj, ".dynamic");
+ BFD_ASSERT (sdyn != NULL);
+
+ for (extdyn = sdyn->contents;
+ extdyn < sdyn->contents + sdyn->_raw_size;
+ extdyn += bed->s->sizeof_dyn)
+ {
+ Elf_Internal_Dyn dyn;
+
+ bed->s->swap_dyn_in (hash_table->dynobj, extdyn, &dyn);
+ if (dyn.d_tag == DT_NEEDED
+ && dyn.d_un.d_val == strindex)
+ {
+ _bfd_elf_strtab_delref (hash_table->dynstr, strindex);
+ return 1;
+ }
+ }
+ }
+
+ if (do_it)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_NEEDED, strindex))
+ return -1;
+ }
+ else
+ /* We were just checking for existence of the tag. */
+ _bfd_elf_strtab_delref (hash_table->dynstr, strindex);
+
+ return 0;
+}
+
+/* Sort symbol by value and section. */
+static int
+elf_sort_symbol (const void *arg1, const void *arg2)
+{
+ const struct elf_link_hash_entry *h1;
+ const struct elf_link_hash_entry *h2;
+ bfd_signed_vma vdiff;
+
+ h1 = *(const struct elf_link_hash_entry **) arg1;
+ h2 = *(const struct elf_link_hash_entry **) arg2;
+ vdiff = h1->root.u.def.value - h2->root.u.def.value;
+ if (vdiff != 0)
+ return vdiff > 0 ? 1 : -1;
+ else
+ {
+ long sdiff = h1->root.u.def.section - h2->root.u.def.section;
+ if (sdiff != 0)
+ return sdiff > 0 ? 1 : -1;
+ }
+ return 0;
+}
+
+/* This function is used to adjust offsets into .dynstr for
+ dynamic symbols. This is called via elf_link_hash_traverse. */
+
+static bfd_boolean
+elf_adjust_dynstr_offsets (struct elf_link_hash_entry *h, void *data)
+{
+ struct elf_strtab_hash *dynstr = data;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if (h->dynindx != -1)
+ h->dynstr_index = _bfd_elf_strtab_offset (dynstr, h->dynstr_index);
+ return TRUE;
+}
+
+/* Assign string offsets in .dynstr, update all structures referencing
+ them. */
+
+static bfd_boolean
+elf_finalize_dynstr (bfd *output_bfd, struct bfd_link_info *info)
+{
+ struct elf_link_hash_table *hash_table = elf_hash_table (info);
+ struct elf_link_local_dynamic_entry *entry;
+ struct elf_strtab_hash *dynstr = hash_table->dynstr;
+ bfd *dynobj = hash_table->dynobj;
+ asection *sdyn;
+ bfd_size_type size;
+ const struct elf_backend_data *bed;
+ bfd_byte *extdyn;
+
+ _bfd_elf_strtab_finalize (dynstr);
+ size = _bfd_elf_strtab_size (dynstr);
+
+ bed = get_elf_backend_data (dynobj);
+ sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
+ BFD_ASSERT (sdyn != NULL);
+
+ /* Update all .dynamic entries referencing .dynstr strings. */
+ for (extdyn = sdyn->contents;
+ extdyn < sdyn->contents + sdyn->_raw_size;
+ extdyn += bed->s->sizeof_dyn)
+ {
+ Elf_Internal_Dyn dyn;
+
+ bed->s->swap_dyn_in (dynobj, extdyn, &dyn);
+ switch (dyn.d_tag)
+ {
+ case DT_STRSZ:
+ dyn.d_un.d_val = size;
+ break;
+ case DT_NEEDED:
+ case DT_SONAME:
+ case DT_RPATH:
+ case DT_RUNPATH:
+ case DT_FILTER:
+ case DT_AUXILIARY:
+ dyn.d_un.d_val = _bfd_elf_strtab_offset (dynstr, dyn.d_un.d_val);
+ break;
+ default:
+ continue;
+ }
+ bed->s->swap_dyn_out (dynobj, &dyn, extdyn);
+ }
+
+ /* Now update local dynamic symbols. */
+ for (entry = hash_table->dynlocal; entry ; entry = entry->next)
+ entry->isym.st_name = _bfd_elf_strtab_offset (dynstr,
+ entry->isym.st_name);
+
+ /* And the rest of dynamic symbols. */
+ elf_link_hash_traverse (hash_table, elf_adjust_dynstr_offsets, dynstr);
+
+ /* Adjust version definitions. */
+ if (elf_tdata (output_bfd)->cverdefs)
+ {
+ asection *s;
+ bfd_byte *p;
+ bfd_size_type i;
+ Elf_Internal_Verdef def;
+ Elf_Internal_Verdaux defaux;
+
+ s = bfd_get_section_by_name (dynobj, ".gnu.version_d");
+ p = s->contents;
+ do
+ {
+ _bfd_elf_swap_verdef_in (output_bfd, (Elf_External_Verdef *) p,
+ &def);
+ p += sizeof (Elf_External_Verdef);
+ for (i = 0; i < def.vd_cnt; ++i)
+ {
+ _bfd_elf_swap_verdaux_in (output_bfd,
+ (Elf_External_Verdaux *) p, &defaux);
+ defaux.vda_name = _bfd_elf_strtab_offset (dynstr,
+ defaux.vda_name);
+ _bfd_elf_swap_verdaux_out (output_bfd,
+ &defaux, (Elf_External_Verdaux *) p);
+ p += sizeof (Elf_External_Verdaux);
+ }
+ }
+ while (def.vd_next);
+ }
+
+ /* Adjust version references. */
+ if (elf_tdata (output_bfd)->verref)
+ {
+ asection *s;
+ bfd_byte *p;
+ bfd_size_type i;
+ Elf_Internal_Verneed need;
+ Elf_Internal_Vernaux needaux;
+
+ s = bfd_get_section_by_name (dynobj, ".gnu.version_r");
+ p = s->contents;
+ do
+ {
+ _bfd_elf_swap_verneed_in (output_bfd, (Elf_External_Verneed *) p,
+ &need);
+ need.vn_file = _bfd_elf_strtab_offset (dynstr, need.vn_file);
+ _bfd_elf_swap_verneed_out (output_bfd, &need,
+ (Elf_External_Verneed *) p);
+ p += sizeof (Elf_External_Verneed);
+ for (i = 0; i < need.vn_cnt; ++i)
+ {
+ _bfd_elf_swap_vernaux_in (output_bfd,
+ (Elf_External_Vernaux *) p, &needaux);
+ needaux.vna_name = _bfd_elf_strtab_offset (dynstr,
+ needaux.vna_name);
+ _bfd_elf_swap_vernaux_out (output_bfd,
+ &needaux,
+ (Elf_External_Vernaux *) p);
+ p += sizeof (Elf_External_Vernaux);
+ }
+ }
+ while (need.vn_next);
+ }
+
+ return TRUE;
+}
+
+/* Add symbols from an ELF object file to the linker hash table. */
+
+static bfd_boolean
+elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
+{
+ bfd_boolean (*add_symbol_hook)
+ (bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
+ const char **, flagword *, asection **, bfd_vma *);
+ bfd_boolean (*check_relocs)
+ (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
+ bfd_boolean collect;
+ Elf_Internal_Shdr *hdr;
+ bfd_size_type symcount;
+ bfd_size_type extsymcount;
+ bfd_size_type extsymoff;
+ struct elf_link_hash_entry **sym_hash;
+ bfd_boolean dynamic;
+ Elf_External_Versym *extversym = NULL;
+ Elf_External_Versym *ever;
+ struct elf_link_hash_entry *weaks;
+ struct elf_link_hash_entry **nondeflt_vers = NULL;
+ bfd_size_type nondeflt_vers_cnt = 0;
+ Elf_Internal_Sym *isymbuf = NULL;
+ Elf_Internal_Sym *isym;
+ Elf_Internal_Sym *isymend;
+ const struct elf_backend_data *bed;
+ bfd_boolean add_needed;
+ struct elf_link_hash_table * hash_table;
+ bfd_size_type amt;
+
+ hash_table = elf_hash_table (info);
+
+ bed = get_elf_backend_data (abfd);
+ add_symbol_hook = bed->elf_add_symbol_hook;
+ collect = bed->collect;
+
+ if ((abfd->flags & DYNAMIC) == 0)
+ dynamic = FALSE;
+ else
+ {
+ dynamic = TRUE;
+
+ /* You can't use -r against a dynamic object. Also, there's no
+ hope of using a dynamic object which does not exactly match
+ the format of the output file. */
+ if (info->relocatable
+ || !is_elf_hash_table (hash_table)
+ || hash_table->root.creator != abfd->xvec)
+ {
+ bfd_set_error (bfd_error_invalid_operation);
+ goto error_return;
+ }
+ }
+
+ /* As a GNU extension, any input sections which are named
+ .gnu.warning.SYMBOL are treated as warning symbols for the given
+ symbol. This differs from .gnu.warning sections, which generate
+ warnings when they are included in an output file. */
+ if (info->executable)
+ {
+ asection *s;
+
+ for (s = abfd->sections; s != NULL; s = s->next)
+ {
+ const char *name;
+
+ name = bfd_get_section_name (abfd, s);
+ if (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0)
+ {
+ char *msg;
+ bfd_size_type sz;
+ bfd_size_type prefix_len;
+ const char * gnu_warning_prefix = _("warning: ");
+
+ name += sizeof ".gnu.warning." - 1;
+
+ /* If this is a shared object, then look up the symbol
+ in the hash table. If it is there, and it is already
+ been defined, then we will not be using the entry
+ from this shared object, so we don't need to warn.
+ FIXME: If we see the definition in a regular object
+ later on, we will warn, but we shouldn't. The only
+ fix is to keep track of what warnings we are supposed
+ to emit, and then handle them all at the end of the
+ link. */
+ if (dynamic)
+ {
+ struct elf_link_hash_entry *h;
+
+ h = elf_link_hash_lookup (hash_table, name,
+ FALSE, FALSE, TRUE);
+
+ /* FIXME: What about bfd_link_hash_common? */
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak))
+ {
+ /* We don't want to issue this warning. Clobber
+ the section size so that the warning does not
+ get copied into the output file. */
+ s->_raw_size = 0;
+ continue;
+ }
+ }
+
+ sz = bfd_section_size (abfd, s);
+ prefix_len = strlen (gnu_warning_prefix);
+ msg = bfd_alloc (abfd, prefix_len + sz + 1);
+ if (msg == NULL)
+ goto error_return;
+
+ strcpy (msg, gnu_warning_prefix);
+ if (! bfd_get_section_contents (abfd, s, msg + prefix_len, 0, sz))
+ goto error_return;
+
+ msg[prefix_len + sz] = '\0';
+
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, name, BSF_WARNING, s, 0, msg,
+ FALSE, collect, NULL)))
+ goto error_return;
+
+ if (! info->relocatable)
+ {
+ /* Clobber the section size so that the warning does
+ not get copied into the output file. */
+ s->_raw_size = 0;
+ }
+ }
+ }
+ }
+
+ add_needed = TRUE;
+ if (! dynamic)
+ {
+ /* If we are creating a shared library, create all the dynamic
+ sections immediately. We need to attach them to something,
+ so we attach them to this BFD, provided it is the right
+ format. FIXME: If there are no input BFD's of the same
+ format as the output, we can't make a shared library. */
+ if (info->shared
+ && is_elf_hash_table (hash_table)
+ && hash_table->root.creator == abfd->xvec
+ && ! hash_table->dynamic_sections_created)
+ {
+ if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
+ goto error_return;
+ }
+ }
+ else if (!is_elf_hash_table (hash_table))
+ goto error_return;
+ else
+ {
+ asection *s;
+ const char *soname = NULL;
+ struct bfd_link_needed_list *rpath = NULL, *runpath = NULL;
+ int ret;
+
+ /* ld --just-symbols and dynamic objects don't mix very well.
+ Test for --just-symbols by looking at info set up by
+ _bfd_elf_link_just_syms. */
+ if ((s = abfd->sections) != NULL
+ && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
+ goto error_return;
+
+ /* If this dynamic lib was specified on the command line with
+ --as-needed in effect, then we don't want to add a DT_NEEDED
+ tag unless the lib is actually used. Similary for libs brought
+ in by another lib's DT_NEEDED. */
+ add_needed = elf_dyn_lib_class (abfd) == DYN_NORMAL;
+
+ s = bfd_get_section_by_name (abfd, ".dynamic");
+ if (s != NULL)
+ {
+ bfd_byte *dynbuf;
+ bfd_byte *extdyn;
+ int elfsec;
+ unsigned long shlink;
+
+ dynbuf = bfd_malloc (s->_raw_size);
+ if (dynbuf == NULL)
+ goto error_return;
+
+ if (! bfd_get_section_contents (abfd, s, dynbuf, 0, s->_raw_size))
+ goto error_free_dyn;
+
+ elfsec = _bfd_elf_section_from_bfd_section (abfd, s);
+ if (elfsec == -1)
+ goto error_free_dyn;
+ shlink = elf_elfsections (abfd)[elfsec]->sh_link;
+
+ for (extdyn = dynbuf;
+ extdyn < dynbuf + s->_raw_size;
+ extdyn += bed->s->sizeof_dyn)
+ {
+ Elf_Internal_Dyn dyn;
+
+ bed->s->swap_dyn_in (abfd, extdyn, &dyn);
+ if (dyn.d_tag == DT_SONAME)
+ {
+ unsigned int tagv = dyn.d_un.d_val;
+ soname = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
+ if (soname == NULL)
+ goto error_free_dyn;
+ }
+ if (dyn.d_tag == DT_NEEDED)
+ {
+ struct bfd_link_needed_list *n, **pn;
+ char *fnm, *anm;
+ unsigned int tagv = dyn.d_un.d_val;
+
+ amt = sizeof (struct bfd_link_needed_list);
+ n = bfd_alloc (abfd, amt);
+ fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
+ if (n == NULL || fnm == NULL)
+ goto error_free_dyn;
+ amt = strlen (fnm) + 1;
+ anm = bfd_alloc (abfd, amt);
+ if (anm == NULL)
+ goto error_free_dyn;
+ memcpy (anm, fnm, amt);
+ n->name = anm;
+ n->by = abfd;
+ n->next = NULL;
+ for (pn = & hash_table->needed;
+ *pn != NULL;
+ pn = &(*pn)->next)
+ ;
+ *pn = n;
+ }
+ if (dyn.d_tag == DT_RUNPATH)
+ {
+ struct bfd_link_needed_list *n, **pn;
+ char *fnm, *anm;
+ unsigned int tagv = dyn.d_un.d_val;
+
+ amt = sizeof (struct bfd_link_needed_list);
+ n = bfd_alloc (abfd, amt);
+ fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
+ if (n == NULL || fnm == NULL)
+ goto error_free_dyn;
+ amt = strlen (fnm) + 1;
+ anm = bfd_alloc (abfd, amt);
+ if (anm == NULL)
+ goto error_free_dyn;
+ memcpy (anm, fnm, amt);
+ n->name = anm;
+ n->by = abfd;
+ n->next = NULL;
+ for (pn = & runpath;
+ *pn != NULL;
+ pn = &(*pn)->next)
+ ;
+ *pn = n;
+ }
+ /* Ignore DT_RPATH if we have seen DT_RUNPATH. */
+ if (!runpath && dyn.d_tag == DT_RPATH)
+ {
+ struct bfd_link_needed_list *n, **pn;
+ char *fnm, *anm;
+ unsigned int tagv = dyn.d_un.d_val;
+
+ amt = sizeof (struct bfd_link_needed_list);
+ n = bfd_alloc (abfd, amt);
+ fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
+ if (n == NULL || fnm == NULL)
+ goto error_free_dyn;
+ amt = strlen (fnm) + 1;
+ anm = bfd_alloc (abfd, amt);
+ if (anm == NULL)
+ {
+ error_free_dyn:
+ free (dynbuf);
+ goto error_return;
+ }
+ memcpy (anm, fnm, amt);
+ n->name = anm;
+ n->by = abfd;
+ n->next = NULL;
+ for (pn = & rpath;
+ *pn != NULL;
+ pn = &(*pn)->next)
+ ;
+ *pn = n;
+ }
+ }
+
+ free (dynbuf);
+ }
+
+ /* DT_RUNPATH overrides DT_RPATH. Do _NOT_ bfd_release, as that
+ frees all more recently bfd_alloc'd blocks as well. */
+ if (runpath)
+ rpath = runpath;
+
+ if (rpath)
+ {
+ struct bfd_link_needed_list **pn;
+ for (pn = & hash_table->runpath;
+ *pn != NULL;
+ pn = &(*pn)->next)
+ ;
+ *pn = rpath;
+ }
+
+ /* We do not want to include any of the sections in a dynamic
+ object in the output file. We hack by simply clobbering the
+ list of sections in the BFD. This could be handled more
+ cleanly by, say, a new section flag; the existing
+ SEC_NEVER_LOAD flag is not the one we want, because that one
+ still implies that the section takes up space in the output
+ file. */
+ bfd_section_list_clear (abfd);
+
+ /* If this is the first dynamic object found in the link, create
+ the special sections required for dynamic linking. */
+ if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
+ goto error_return;
+
+ /* Find the name to use in a DT_NEEDED entry that refers to this
+ object. If the object has a DT_SONAME entry, we use it.
+ Otherwise, if the generic linker stuck something in
+ elf_dt_name, we use that. Otherwise, we just use the file
+ name. */
+ if (soname == NULL || *soname == '\0')
+ {
+ soname = elf_dt_name (abfd);
+ if (soname == NULL || *soname == '\0')
+ soname = bfd_get_filename (abfd);
+ }
+
+ /* Save the SONAME because sometimes the linker emulation code
+ will need to know it. */
+ elf_dt_name (abfd) = soname;
+
+ ret = elf_add_dt_needed_tag (info, soname, add_needed);
+ if (ret < 0)
+ goto error_return;
+
+ /* If we have already included this dynamic object in the
+ link, just ignore it. There is no reason to include a
+ particular dynamic object more than once. */
+ if (ret > 0)
+ return TRUE;
+ }
+
+ /* If this is a dynamic object, we always link against the .dynsym
+ symbol table, not the .symtab symbol table. The dynamic linker
+ will only see the .dynsym symbol table, so there is no reason to
+ look at .symtab for a dynamic object. */
+
+ if (! dynamic || elf_dynsymtab (abfd) == 0)
+ hdr = &elf_tdata (abfd)->symtab_hdr;
+ else
+ hdr = &elf_tdata (abfd)->dynsymtab_hdr;
+
+ symcount = hdr->sh_size / bed->s->sizeof_sym;
+
+ /* The sh_info field of the symtab header tells us where the
+ external symbols start. We don't care about the local symbols at
+ this point. */
+ if (elf_bad_symtab (abfd))
+ {
+ extsymcount = symcount;
+ extsymoff = 0;
+ }
+ else
+ {
+ extsymcount = symcount - hdr->sh_info;
+ extsymoff = hdr->sh_info;
+ }
+
+ sym_hash = NULL;
+ if (extsymcount != 0)
+ {
+ isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff,
+ NULL, NULL, NULL);
+ if (isymbuf == NULL)
+ goto error_return;
+
+ /* We store a pointer to the hash table entry for each external
+ symbol. */
+ amt = extsymcount * sizeof (struct elf_link_hash_entry *);
+ sym_hash = bfd_alloc (abfd, amt);
+ if (sym_hash == NULL)
+ goto error_free_sym;
+ elf_sym_hashes (abfd) = sym_hash;
+ }
+
+ if (dynamic)
+ {
+ /* Read in any version definitions. */
+ if (! _bfd_elf_slurp_version_tables (abfd))
+ goto error_free_sym;
+
+ /* Read in the symbol versions, but don't bother to convert them
+ to internal format. */
+ if (elf_dynversym (abfd) != 0)
+ {
+ Elf_Internal_Shdr *versymhdr;
+
+ versymhdr = &elf_tdata (abfd)->dynversym_hdr;
+ extversym = bfd_malloc (versymhdr->sh_size);
+ if (extversym == NULL)
+ goto error_free_sym;
+ amt = versymhdr->sh_size;
+ if (bfd_seek (abfd, versymhdr->sh_offset, SEEK_SET) != 0
+ || bfd_bread (extversym, amt, abfd) != amt)
+ goto error_free_vers;
+ }
+ }
+
+ weaks = NULL;
+
+ ever = extversym != NULL ? extversym + extsymoff : NULL;
+ for (isym = isymbuf, isymend = isymbuf + extsymcount;
+ isym < isymend;
+ isym++, sym_hash++, ever = (ever != NULL ? ever + 1 : NULL))
+ {
+ int bind;
+ bfd_vma value;
+ asection *sec;
+ flagword flags;
+ const char *name;
+ struct elf_link_hash_entry *h;
+ bfd_boolean definition;
+ bfd_boolean size_change_ok;
+ bfd_boolean type_change_ok;
+ bfd_boolean new_weakdef;
+ bfd_boolean override;
+ unsigned int old_alignment;
+ bfd *old_bfd;
+
+ override = FALSE;
+
+ flags = BSF_NO_FLAGS;
+ sec = NULL;
+ value = isym->st_value;
+ *sym_hash = NULL;
+
+ bind = ELF_ST_BIND (isym->st_info);
+ if (bind == STB_LOCAL)
+ {
+ /* This should be impossible, since ELF requires that all
+ global symbols follow all local symbols, and that sh_info
+ point to the first global symbol. Unfortunately, Irix 5
+ screws this up. */
+ continue;
+ }
+ else if (bind == STB_GLOBAL)
+ {
+ if (isym->st_shndx != SHN_UNDEF
+ && isym->st_shndx != SHN_COMMON)
+ flags = BSF_GLOBAL;
+ }
+ else if (bind == STB_WEAK)
+ flags = BSF_WEAK;
+ else
+ {
+ /* Leave it up to the processor backend. */
+ }
+
+ if (isym->st_shndx == SHN_UNDEF)
+ sec = bfd_und_section_ptr;
+ else if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
+ {
+ sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
+ if (sec == NULL)
+ sec = bfd_abs_section_ptr;
+ else if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
+ value -= sec->vma;
+ }
+ else if (isym->st_shndx == SHN_ABS)
+ sec = bfd_abs_section_ptr;
+ else if (isym->st_shndx == SHN_COMMON)
+ {
+ sec = bfd_com_section_ptr;
+ /* What ELF calls the size we call the value. What ELF
+ calls the value we call the alignment. */
+ value = isym->st_size;
+ }
+ else
+ {
+ /* Leave it up to the processor backend. */
+ }
+
+ name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
+ isym->st_name);
+ if (name == NULL)
+ goto error_free_vers;
+
+ if (isym->st_shndx == SHN_COMMON
+ && ELF_ST_TYPE (isym->st_info) == STT_TLS)
+ {
+ asection *tcomm = bfd_get_section_by_name (abfd, ".tcommon");
+
+ if (tcomm == NULL)
+ {
+ tcomm = bfd_make_section (abfd, ".tcommon");
+ if (tcomm == NULL
+ || !bfd_set_section_flags (abfd, tcomm, (SEC_ALLOC
+ | SEC_IS_COMMON
+ | SEC_LINKER_CREATED
+ | SEC_THREAD_LOCAL)))
+ goto error_free_vers;
+ }
+ sec = tcomm;
+ }
+ else if (add_symbol_hook)
+ {
+ if (! (*add_symbol_hook) (abfd, info, isym, &name, &flags, &sec,
+ &value))
+ goto error_free_vers;
+
+ /* The hook function sets the name to NULL if this symbol
+ should be skipped for some reason. */
+ if (name == NULL)
+ continue;
+ }
+
+ /* Sanity check that all possibilities were handled. */
+ if (sec == NULL)
+ {
+ bfd_set_error (bfd_error_bad_value);
+ goto error_free_vers;
+ }
+
+ if (bfd_is_und_section (sec)
+ || bfd_is_com_section (sec))
+ definition = FALSE;
+ else
+ definition = TRUE;
+
+ size_change_ok = FALSE;
+ type_change_ok = get_elf_backend_data (abfd)->type_change_ok;
+ old_alignment = 0;
+ old_bfd = NULL;
+
+ if (is_elf_hash_table (hash_table))
+ {
+ Elf_Internal_Versym iver;
+ unsigned int vernum = 0;
+ bfd_boolean skip;
+
+ if (ever != NULL)
+ {
+ _bfd_elf_swap_versym_in (abfd, ever, &iver);
+ vernum = iver.vs_vers & VERSYM_VERSION;
+
+ /* If this is a hidden symbol, or if it is not version
+ 1, we append the version name to the symbol name.
+ However, we do not modify a non-hidden absolute
+ symbol, because it might be the version symbol
+ itself. FIXME: What if it isn't? */
+ if ((iver.vs_vers & VERSYM_HIDDEN) != 0
+ || (vernum > 1 && ! bfd_is_abs_section (sec)))
+ {
+ const char *verstr;
+ size_t namelen, verlen, newlen;
+ char *newname, *p;
+
+ if (isym->st_shndx != SHN_UNDEF)
+ {
+ if (vernum > elf_tdata (abfd)->dynverdef_hdr.sh_info)
+ {
+ (*_bfd_error_handler)
+ (_("%s: %s: invalid version %u (max %d)"),
+ bfd_archive_filename (abfd), name, vernum,
+ elf_tdata (abfd)->dynverdef_hdr.sh_info);
+ bfd_set_error (bfd_error_bad_value);
+ goto error_free_vers;
+ }
+ else if (vernum > 1)
+ verstr =
+ elf_tdata (abfd)->verdef[vernum - 1].vd_nodename;
+ else
+ verstr = "";
+ }
+ else
+ {
+ /* We cannot simply test for the number of
+ entries in the VERNEED section since the
+ numbers for the needed versions do not start
+ at 0. */
+ Elf_Internal_Verneed *t;
+
+ verstr = NULL;
+ for (t = elf_tdata (abfd)->verref;
+ t != NULL;
+ t = t->vn_nextref)
+ {
+ Elf_Internal_Vernaux *a;
+
+ for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ {
+ if (a->vna_other == vernum)
+ {
+ verstr = a->vna_nodename;
+ break;
+ }
+ }
+ if (a != NULL)
+ break;
+ }
+ if (verstr == NULL)
+ {
+ (*_bfd_error_handler)
+ (_("%s: %s: invalid needed version %d"),
+ bfd_archive_filename (abfd), name, vernum);
+ bfd_set_error (bfd_error_bad_value);
+ goto error_free_vers;
+ }
+ }
+
+ namelen = strlen (name);
+ verlen = strlen (verstr);
+ newlen = namelen + verlen + 2;
+ if ((iver.vs_vers & VERSYM_HIDDEN) == 0
+ && isym->st_shndx != SHN_UNDEF)
+ ++newlen;
+
+ newname = bfd_alloc (abfd, newlen);
+ if (newname == NULL)
+ goto error_free_vers;
+ memcpy (newname, name, namelen);
+ p = newname + namelen;
+ *p++ = ELF_VER_CHR;
+ /* If this is a defined non-hidden version symbol,
+ we add another @ to the name. This indicates the
+ default version of the symbol. */
+ if ((iver.vs_vers & VERSYM_HIDDEN) == 0
+ && isym->st_shndx != SHN_UNDEF)
+ *p++ = ELF_VER_CHR;
+ memcpy (p, verstr, verlen + 1);
+
+ name = newname;
+ }
+ }
+
+ if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value,
+ sym_hash, &skip, &override,
+ &type_change_ok, &size_change_ok))
+ goto error_free_vers;
+
+ if (skip)
+ continue;
+
+ if (override)
+ definition = FALSE;
+
+ h = *sym_hash;
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* Remember the old alignment if this is a common symbol, so
+ that we don't reduce the alignment later on. We can't
+ check later, because _bfd_generic_link_add_one_symbol
+ will set a default for the alignment which we want to
+ override. We also remember the old bfd where the existing
+ definition comes from. */
+ switch (h->root.type)
+ {
+ default:
+ break;
+
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ old_bfd = h->root.u.def.section->owner;
+ break;
+
+ case bfd_link_hash_common:
+ old_bfd = h->root.u.c.p->section->owner;
+ old_alignment = h->root.u.c.p->alignment_power;
+ break;
+ }
+
+ if (elf_tdata (abfd)->verdef != NULL
+ && ! override
+ && vernum > 1
+ && definition)
+ h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1];
+ }
+
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, name, flags, sec, value, NULL, FALSE, collect,
+ (struct bfd_link_hash_entry **) sym_hash)))
+ goto error_free_vers;
+
+ h = *sym_hash;
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ *sym_hash = h;
+
+ new_weakdef = FALSE;
+ if (dynamic
+ && definition
+ && (flags & BSF_WEAK) != 0
+ && ELF_ST_TYPE (isym->st_info) != STT_FUNC
+ && is_elf_hash_table (hash_table)
+ && h->weakdef == NULL)
+ {
+ /* Keep a list of all weak defined non function symbols from
+ a dynamic object, using the weakdef field. Later in this
+ function we will set the weakdef field to the correct
+ value. We only put non-function symbols from dynamic
+ objects on this list, because that happens to be the only
+ time we need to know the normal symbol corresponding to a
+ weak symbol, and the information is time consuming to
+ figure out. If the weakdef field is not already NULL,
+ then this symbol was already defined by some previous
+ dynamic object, and we will be using that previous
+ definition anyhow. */
+
+ h->weakdef = weaks;
+ weaks = h;
+ new_weakdef = TRUE;
+ }
+
+ /* Set the alignment of a common symbol. */
+ if (isym->st_shndx == SHN_COMMON
+ && h->root.type == bfd_link_hash_common)
+ {
+ unsigned int align;
+
+ align = bfd_log2 (isym->st_value);
+ if (align > old_alignment
+ /* Permit an alignment power of zero if an alignment of one
+ is specified and no other alignments have been specified. */
+ || (isym->st_value == 1 && old_alignment == 0))
+ h->root.u.c.p->alignment_power = align;
+ else
+ h->root.u.c.p->alignment_power = old_alignment;
+ }
+
+ if (is_elf_hash_table (hash_table))
+ {
+ int old_flags;
+ bfd_boolean dynsym;
+ int new_flag;
+
+ /* Check the alignment when a common symbol is involved. This
+ can change when a common symbol is overridden by a normal
+ definition or a common symbol is ignored due to the old
+ normal definition. We need to make sure the maximum
+ alignment is maintained. */
+ if ((old_alignment || isym->st_shndx == SHN_COMMON)
+ && h->root.type != bfd_link_hash_common)
+ {
+ unsigned int common_align;
+ unsigned int normal_align;
+ unsigned int symbol_align;
+ bfd *normal_bfd;
+ bfd *common_bfd;
+
+ symbol_align = ffs (h->root.u.def.value) - 1;
+ if (h->root.u.def.section->owner != NULL
+ && (h->root.u.def.section->owner->flags & DYNAMIC) == 0)
+ {
+ normal_align = h->root.u.def.section->alignment_power;
+ if (normal_align > symbol_align)
+ normal_align = symbol_align;
+ }
+ else
+ normal_align = symbol_align;
+
+ if (old_alignment)
+ {
+ common_align = old_alignment;
+ common_bfd = old_bfd;
+ normal_bfd = abfd;
+ }
+ else
+ {
+ common_align = bfd_log2 (isym->st_value);
+ common_bfd = abfd;
+ normal_bfd = old_bfd;
+ }
+
+ if (normal_align < common_align)
+ (*_bfd_error_handler)
+ (_("Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"),
+ 1 << normal_align,
+ name,
+ bfd_archive_filename (normal_bfd),
+ 1 << common_align,
+ bfd_archive_filename (common_bfd));
+ }
+
+ /* Remember the symbol size and type. */
+ if (isym->st_size != 0
+ && (definition || h->size == 0))
+ {
+ if (h->size != 0 && h->size != isym->st_size && ! size_change_ok)
+ (*_bfd_error_handler)
+ (_("Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"),
+ name, (unsigned long) h->size,
+ bfd_archive_filename (old_bfd),
+ (unsigned long) isym->st_size,
+ bfd_archive_filename (abfd));
+
+ h->size = isym->st_size;
+ }
+
+ /* If this is a common symbol, then we always want H->SIZE
+ to be the size of the common symbol. The code just above
+ won't fix the size if a common symbol becomes larger. We
+ don't warn about a size change here, because that is
+ covered by --warn-common. */
+ if (h->root.type == bfd_link_hash_common)
+ h->size = h->root.u.c.size;
+
+ if (ELF_ST_TYPE (isym->st_info) != STT_NOTYPE
+ && (definition || h->type == STT_NOTYPE))
+ {
+ if (h->type != STT_NOTYPE
+ && h->type != ELF_ST_TYPE (isym->st_info)
+ && ! type_change_ok)
+ (*_bfd_error_handler)
+ (_("Warning: type of symbol `%s' changed from %d to %d in %s"),
+ name, h->type, ELF_ST_TYPE (isym->st_info),
+ bfd_archive_filename (abfd));
+
+ h->type = ELF_ST_TYPE (isym->st_info);
+ }
+
+ /* If st_other has a processor-specific meaning, specific
+ code might be needed here. We never merge the visibility
+ attribute with the one from a dynamic object. */
+ if (bed->elf_backend_merge_symbol_attribute)
+ (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition,
+ dynamic);
+
+ if (isym->st_other != 0 && !dynamic)
+ {
+ unsigned char hvis, symvis, other, nvis;
+
+ /* Take the balance of OTHER from the definition. */
+ other = (definition ? isym->st_other : h->other);
+ other &= ~ ELF_ST_VISIBILITY (-1);
+
+ /* Combine visibilities, using the most constraining one. */
+ hvis = ELF_ST_VISIBILITY (h->other);
+ symvis = ELF_ST_VISIBILITY (isym->st_other);
+ if (! hvis)
+ nvis = symvis;
+ else if (! symvis)
+ nvis = hvis;
+ else
+ nvis = hvis < symvis ? hvis : symvis;
+
+ h->other = other | nvis;
+ }
+
+ /* Set a flag in the hash table entry indicating the type of
+ reference or definition we just found. Keep a count of
+ the number of dynamic symbols we find. A dynamic symbol
+ is one which is referenced or defined by both a regular
+ object and a shared object. */
+ old_flags = h->elf_link_hash_flags;
+ dynsym = FALSE;
+ if (! dynamic)
+ {
+ if (! definition)
+ {
+ new_flag = ELF_LINK_HASH_REF_REGULAR;
+ if (bind != STB_WEAK)
+ new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK;
+ }
+ else
+ new_flag = ELF_LINK_HASH_DEF_REGULAR;
+ if (! info->executable
+ || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC
+ | ELF_LINK_HASH_REF_DYNAMIC)) != 0)
+ dynsym = TRUE;
+ }
+ else
+ {
+ if (! definition)
+ new_flag = ELF_LINK_HASH_REF_DYNAMIC;
+ else
+ new_flag = ELF_LINK_HASH_DEF_DYNAMIC;
+ if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR
+ | ELF_LINK_HASH_REF_REGULAR)) != 0
+ || (h->weakdef != NULL
+ && ! new_weakdef
+ && h->weakdef->dynindx != -1))
+ dynsym = TRUE;
+ }
+
+ h->elf_link_hash_flags |= new_flag;
+
+ /* Check to see if we need to add an indirect symbol for
+ the default name. */
+ if (definition || h->root.type == bfd_link_hash_common)
+ if (!_bfd_elf_add_default_symbol (abfd, info, h, name, isym,
+ &sec, &value, &dynsym,
+ override))
+ goto error_free_vers;
+
+ if (definition && !dynamic)
+ {
+ char *p = strchr (name, ELF_VER_CHR);
+ if (p != NULL && p[1] != ELF_VER_CHR)
+ {
+ /* Queue non-default versions so that .symver x, x@FOO
+ aliases can be checked. */
+ if (! nondeflt_vers)
+ {
+ amt = (isymend - isym + 1)
+ * sizeof (struct elf_link_hash_entry *);
+ nondeflt_vers = bfd_malloc (amt);
+ }
+ nondeflt_vers [nondeflt_vers_cnt++] = h;
+ }
+ }
+
+ if (dynsym && h->dynindx == -1)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ goto error_free_vers;
+ if (h->weakdef != NULL
+ && ! new_weakdef
+ && h->weakdef->dynindx == -1)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef))
+ goto error_free_vers;
+ }
+ }
+ else if (dynsym && h->dynindx != -1)
+ /* If the symbol already has a dynamic index, but
+ visibility says it should not be visible, turn it into
+ a local symbol. */
+ switch (ELF_ST_VISIBILITY (h->other))
+ {
+ case STV_INTERNAL:
+ case STV_HIDDEN:
+ (*bed->elf_backend_hide_symbol) (info, h, TRUE);
+ dynsym = FALSE;
+ break;
+ }
+
+ if (!add_needed
+ && definition
+ && dynsym
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_REF_REGULAR) != 0)
+ {
+ int ret;
+ const char *soname = elf_dt_name (abfd);
+
+ /* A symbol from a library loaded via DT_NEEDED of some
+ other library is referenced by a regular object.
+ Add a DT_NEEDED entry for it. */
+ add_needed = TRUE;
+ ret = elf_add_dt_needed_tag (info, soname, add_needed);
+ if (ret < 0)
+ goto error_free_vers;
+
+ BFD_ASSERT (ret == 0);
+ }
+ }
+ }
+
+ /* Now that all the symbols from this input file are created, handle
+ .symver foo, foo@BAR such that any relocs against foo become foo@BAR. */
+ if (nondeflt_vers != NULL)
+ {
+ bfd_size_type cnt, symidx;
+
+ for (cnt = 0; cnt < nondeflt_vers_cnt; ++cnt)
+ {
+ struct elf_link_hash_entry *h = nondeflt_vers[cnt], *hi;
+ char *shortname, *p;
+
+ p = strchr (h->root.root.string, ELF_VER_CHR);
+ if (p == NULL
+ || (h->root.type != bfd_link_hash_defined
+ && h->root.type != bfd_link_hash_defweak))
+ continue;
+
+ amt = p - h->root.root.string;
+ shortname = bfd_malloc (amt + 1);
+ memcpy (shortname, h->root.root.string, amt);
+ shortname[amt] = '\0';
+
+ hi = (struct elf_link_hash_entry *)
+ bfd_link_hash_lookup (&hash_table->root, shortname,
+ FALSE, FALSE, FALSE);
+ if (hi != NULL
+ && hi->root.type == h->root.type
+ && hi->root.u.def.value == h->root.u.def.value
+ && hi->root.u.def.section == h->root.u.def.section)
+ {
+ (*bed->elf_backend_hide_symbol) (info, hi, TRUE);
+ hi->root.type = bfd_link_hash_indirect;
+ hi->root.u.i.link = (struct bfd_link_hash_entry *) h;
+ (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi);
+ sym_hash = elf_sym_hashes (abfd);
+ if (sym_hash)
+ for (symidx = 0; symidx < extsymcount; ++symidx)
+ if (sym_hash[symidx] == hi)
+ {
+ sym_hash[symidx] = h;
+ break;
+ }
+ }
+ free (shortname);
+ }
+ free (nondeflt_vers);
+ nondeflt_vers = NULL;
+ }
+
+ if (extversym != NULL)
+ {
+ free (extversym);
+ extversym = NULL;
+ }
+
+ if (isymbuf != NULL)
+ free (isymbuf);
+ isymbuf = NULL;
+
+ /* Now set the weakdefs field correctly for all the weak defined
+ symbols we found. The only way to do this is to search all the
+ symbols. Since we only need the information for non functions in
+ dynamic objects, that's the only time we actually put anything on
+ the list WEAKS. We need this information so that if a regular
+ object refers to a symbol defined weakly in a dynamic object, the
+ real symbol in the dynamic object is also put in the dynamic
+ symbols; we also must arrange for both symbols to point to the
+ same memory location. We could handle the general case of symbol
+ aliasing, but a general symbol alias can only be generated in
+ assembler code, handling it correctly would be very time
+ consuming, and other ELF linkers don't handle general aliasing
+ either. */
+ if (weaks != NULL)
+ {
+ struct elf_link_hash_entry **hpp;
+ struct elf_link_hash_entry **hppend;
+ struct elf_link_hash_entry **sorted_sym_hash;
+ struct elf_link_hash_entry *h;
+ size_t sym_count;
+
+ /* Since we have to search the whole symbol list for each weak
+ defined symbol, search time for N weak defined symbols will be
+ O(N^2). Binary search will cut it down to O(NlogN). */
+ amt = extsymcount * sizeof (struct elf_link_hash_entry *);
+ sorted_sym_hash = bfd_malloc (amt);
+ if (sorted_sym_hash == NULL)
+ goto error_return;
+ sym_hash = sorted_sym_hash;
+ hpp = elf_sym_hashes (abfd);
+ hppend = hpp + extsymcount;
+ sym_count = 0;
+ for (; hpp < hppend; hpp++)
+ {
+ h = *hpp;
+ if (h != NULL
+ && h->root.type == bfd_link_hash_defined
+ && h->type != STT_FUNC)
+ {
+ *sym_hash = h;
+ sym_hash++;
+ sym_count++;
+ }
+ }
+
+ qsort (sorted_sym_hash, sym_count,
+ sizeof (struct elf_link_hash_entry *),
+ elf_sort_symbol);
+
+ while (weaks != NULL)
+ {
+ struct elf_link_hash_entry *hlook;
+ asection *slook;
+ bfd_vma vlook;
+ long ilook;
+ size_t i, j, idx;
+
+ hlook = weaks;
+ weaks = hlook->weakdef;
+ hlook->weakdef = NULL;
+
+ BFD_ASSERT (hlook->root.type == bfd_link_hash_defined
+ || hlook->root.type == bfd_link_hash_defweak
+ || hlook->root.type == bfd_link_hash_common
+ || hlook->root.type == bfd_link_hash_indirect);
+ slook = hlook->root.u.def.section;
+ vlook = hlook->root.u.def.value;
+
+ ilook = -1;
+ i = 0;
+ j = sym_count;
+ while (i < j)
+ {
+ bfd_signed_vma vdiff;
+ idx = (i + j) / 2;
+ h = sorted_sym_hash [idx];
+ vdiff = vlook - h->root.u.def.value;
+ if (vdiff < 0)
+ j = idx;
+ else if (vdiff > 0)
+ i = idx + 1;
+ else
+ {
+ long sdiff = slook - h->root.u.def.section;
+ if (sdiff < 0)
+ j = idx;
+ else if (sdiff > 0)
+ i = idx + 1;
+ else
+ {
+ ilook = idx;
+ break;
+ }
+ }
+ }
+
+ /* We didn't find a value/section match. */
+ if (ilook == -1)
+ continue;
+
+ for (i = ilook; i < sym_count; i++)
+ {
+ h = sorted_sym_hash [i];
+
+ /* Stop if value or section doesn't match. */
+ if (h->root.u.def.value != vlook
+ || h->root.u.def.section != slook)
+ break;
+ else if (h != hlook)
+ {
+ hlook->weakdef = h;
+
+ /* If the weak definition is in the list of dynamic
+ symbols, make sure the real definition is put
+ there as well. */
+ if (hlook->dynindx != -1 && h->dynindx == -1)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ goto error_return;
+ }
+
+ /* If the real definition is in the list of dynamic
+ symbols, make sure the weak definition is put
+ there as well. If we don't do this, then the
+ dynamic loader might not merge the entries for the
+ real definition and the weak definition. */
+ if (h->dynindx != -1 && hlook->dynindx == -1)
+ {
+ if (! bfd_elf_link_record_dynamic_symbol (info, hlook))
+ goto error_return;
+ }
+ break;
+ }
+ }
+ }
+
+ free (sorted_sym_hash);
+ }
+
+ /* If this object is the same format as the output object, and it is
+ not a shared library, then let the backend look through the
+ relocs.
+
+ This is required to build global offset table entries and to
+ arrange for dynamic relocs. It is not required for the
+ particular common case of linking non PIC code, even when linking
+ against shared libraries, but unfortunately there is no way of
+ knowing whether an object file has been compiled PIC or not.
+ Looking through the relocs is not particularly time consuming.
+ The problem is that we must either (1) keep the relocs in memory,
+ which causes the linker to require additional runtime memory or
+ (2) read the relocs twice from the input file, which wastes time.
+ This would be a good case for using mmap.
+
+ I have no idea how to handle linking PIC code into a file of a
+ different format. It probably can't be done. */
+ check_relocs = get_elf_backend_data (abfd)->check_relocs;
+ if (! dynamic
+ && is_elf_hash_table (hash_table)
+ && hash_table->root.creator == abfd->xvec
+ && check_relocs != NULL)
+ {
+ asection *o;
+
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ Elf_Internal_Rela *internal_relocs;
+ bfd_boolean ok;
+
+ if ((o->flags & SEC_RELOC) == 0
+ || o->reloc_count == 0
+ || ((info->strip == strip_all || info->strip == strip_debugger)
+ && (o->flags & SEC_DEBUGGING) != 0)
+ || bfd_is_abs_section (o->output_section))
+ continue;
+
+ internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL,
+ info->keep_memory);
+ if (internal_relocs == NULL)
+ goto error_return;
+
+ ok = (*check_relocs) (abfd, info, o, internal_relocs);
+
+ if (elf_section_data (o)->relocs != internal_relocs)
+ free (internal_relocs);
+
+ if (! ok)
+ goto error_return;
+ }
+ }
+
+ /* If this is a non-traditional link, try to optimize the handling
+ of the .stab/.stabstr sections. */
+ if (! dynamic
+ && ! info->traditional_format
+ && is_elf_hash_table (hash_table)
+ && (info->strip != strip_all && info->strip != strip_debugger))
+ {
+ asection *stabstr;
+
+ stabstr = bfd_get_section_by_name (abfd, ".stabstr");
+ if (stabstr != NULL)
+ {
+ bfd_size_type string_offset = 0;
+ asection *stab;
+
+ for (stab = abfd->sections; stab; stab = stab->next)
+ if (strncmp (".stab", stab->name, 5) == 0
+ && (!stab->name[5] ||
+ (stab->name[5] == '.' && ISDIGIT (stab->name[6])))
+ && (stab->flags & SEC_MERGE) == 0
+ && !bfd_is_abs_section (stab->output_section))
+ {
+ struct bfd_elf_section_data *secdata;
+
+ secdata = elf_section_data (stab);
+ if (! _bfd_link_section_stabs (abfd,
+ & hash_table->stab_info,
+ stab, stabstr,
+ &secdata->sec_info,
+ &string_offset))
+ goto error_return;
+ if (secdata->sec_info)
+ stab->sec_info_type = ELF_INFO_TYPE_STABS;
+ }
+ }
+ }
+
+ if (! info->relocatable
+ && ! dynamic
+ && is_elf_hash_table (hash_table))
+ {
+ asection *s;
+
+ for (s = abfd->sections; s != NULL; s = s->next)
+ if ((s->flags & SEC_MERGE) != 0
+ && !bfd_is_abs_section (s->output_section))
+ {
+ struct bfd_elf_section_data *secdata;
+
+ secdata = elf_section_data (s);
+ if (! _bfd_merge_section (abfd,
+ & hash_table->merge_info,
+ s, &secdata->sec_info))
+ goto error_return;
+ else if (secdata->sec_info)
+ s->sec_info_type = ELF_INFO_TYPE_MERGE;
+ }
+ }
+
+ if (is_elf_hash_table (hash_table))
+ {
+ /* Add this bfd to the loaded list. */
+ struct elf_link_loaded_list *n;
+
+ n = bfd_alloc (abfd, sizeof (struct elf_link_loaded_list));
+ if (n == NULL)
+ goto error_return;
+ n->abfd = abfd;
+ n->next = hash_table->loaded;
+ hash_table->loaded = n;
+ }
+
+ return TRUE;
+
+ error_free_vers:
+ if (nondeflt_vers != NULL)
+ free (nondeflt_vers);
+ if (extversym != NULL)
+ free (extversym);
+ error_free_sym:
+ if (isymbuf != NULL)
+ free (isymbuf);
+ error_return:
+ return FALSE;
+}
+
+/* Add symbols from an ELF archive file to the linker hash table. We
+ don't use _bfd_generic_link_add_archive_symbols because of a
+ problem which arises on UnixWare. The UnixWare libc.so is an
+ archive which includes an entry libc.so.1 which defines a bunch of
+ symbols. The libc.so archive also includes a number of other
+ object files, which also define symbols, some of which are the same
+ as those defined in libc.so.1. Correct linking requires that we
+ consider each object file in turn, and include it if it defines any
+ symbols we need. _bfd_generic_link_add_archive_symbols does not do
+ this; it looks through the list of undefined symbols, and includes
+ any object file which defines them. When this algorithm is used on
+ UnixWare, it winds up pulling in libc.so.1 early and defining a
+ bunch of symbols. This means that some of the other objects in the
+ archive are not included in the link, which is incorrect since they
+ precede libc.so.1 in the archive.
+
+ Fortunately, ELF archive handling is simpler than that done by
+ _bfd_generic_link_add_archive_symbols, which has to allow for a.out
+ oddities. In ELF, if we find a symbol in the archive map, and the
+ symbol is currently undefined, we know that we must pull in that
+ object file.
+
+ Unfortunately, we do have to make multiple passes over the symbol
+ table until nothing further is resolved. */
+
+static bfd_boolean
+elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
+{
+ symindex c;
+ bfd_boolean *defined = NULL;
+ bfd_boolean *included = NULL;
+ carsym *symdefs;
+ bfd_boolean loop;
+ bfd_size_type amt;
+
+ if (! bfd_has_map (abfd))
+ {
+ /* An empty archive is a special case. */
+ if (bfd_openr_next_archived_file (abfd, NULL) == NULL)
+ return TRUE;
+ bfd_set_error (bfd_error_no_armap);
+ return FALSE;
+ }
+
+ /* Keep track of all symbols we know to be already defined, and all
+ files we know to be already included. This is to speed up the
+ second and subsequent passes. */
+ c = bfd_ardata (abfd)->symdef_count;
+ if (c == 0)
+ return TRUE;
+ amt = c;
+ amt *= sizeof (bfd_boolean);
+ defined = bfd_zmalloc (amt);
+ included = bfd_zmalloc (amt);
+ if (defined == NULL || included == NULL)
+ goto error_return;
+
+ symdefs = bfd_ardata (abfd)->symdefs;
+
+ do
+ {
+ file_ptr last;
+ symindex i;
+ carsym *symdef;
+ carsym *symdefend;
+
+ loop = FALSE;
+ last = -1;
+
+ symdef = symdefs;
+ symdefend = symdef + c;
+ for (i = 0; symdef < symdefend; symdef++, i++)
+ {
+ struct elf_link_hash_entry *h;
+ bfd *element;
+ struct bfd_link_hash_entry *undefs_tail;
+ symindex mark;
+
+ if (defined[i] || included[i])
+ continue;
+ if (symdef->file_offset == last)
+ {
+ included[i] = TRUE;
+ continue;
+ }
+
+ h = elf_link_hash_lookup (elf_hash_table (info), symdef->name,
+ FALSE, FALSE, FALSE);
+
+ if (h == NULL)
+ {
+ char *p, *copy;
+ size_t len, first;
+
+ /* If this is a default version (the name contains @@),
+ look up the symbol again with only one `@' as well
+ as without the version. The effect is that references
+ to the symbol with and without the version will be
+ matched by the default symbol in the archive. */
+
+ p = strchr (symdef->name, ELF_VER_CHR);
+ if (p == NULL || p[1] != ELF_VER_CHR)
+ continue;
+
+ /* First check with only one `@'. */
+ len = strlen (symdef->name);
+ copy = bfd_alloc (abfd, len);
+ if (copy == NULL)
+ goto error_return;
+ first = p - symdef->name + 1;
+ memcpy (copy, symdef->name, first);
+ memcpy (copy + first, symdef->name + first + 1, len - first);
+
+ h = elf_link_hash_lookup (elf_hash_table (info), copy,
+ FALSE, FALSE, FALSE);
+
+ if (h == NULL)
+ {
+ /* We also need to check references to the symbol
+ without the version. */
+
+ copy[first - 1] = '\0';
+ h = elf_link_hash_lookup (elf_hash_table (info),
+ copy, FALSE, FALSE, FALSE);
+ }
+
+ bfd_release (abfd, copy);
+ }
+
+ if (h == NULL)
+ continue;
+
+ if (h->root.type == bfd_link_hash_common)
+ {
+ /* We currently have a common symbol. The archive map contains
+ a reference to this symbol, so we may want to include it. We
+ only want to include it however, if this archive element
+ contains a definition of the symbol, not just another common
+ declaration of it.
+
+ Unfortunately some archivers (including GNU ar) will put
+ declarations of common symbols into their archive maps, as
+ well as real definitions, so we cannot just go by the archive
+ map alone. Instead we must read in the element's symbol
+ table and check that to see what kind of symbol definition
+ this is. */
+ if (! elf_link_is_defined_archive_symbol (abfd, symdef))
+ continue;
+ }
+ else if (h->root.type != bfd_link_hash_undefined)
+ {
+ if (h->root.type != bfd_link_hash_undefweak)
+ defined[i] = TRUE;
+ continue;
+ }
+
+ /* We need to include this archive member. */
+ element = _bfd_get_elt_at_filepos (abfd, symdef->file_offset);
+ if (element == NULL)
+ goto error_return;
+
+ if (! bfd_check_format (element, bfd_object))
+ goto error_return;
+
+ /* Doublecheck that we have not included this object
+ already--it should be impossible, but there may be
+ something wrong with the archive. */
+ if (element->archive_pass != 0)
+ {
+ bfd_set_error (bfd_error_bad_value);
+ goto error_return;
+ }
+ element->archive_pass = 1;
+
+ undefs_tail = info->hash->undefs_tail;
+
+ if (! (*info->callbacks->add_archive_element) (info, element,
+ symdef->name))
+ goto error_return;
+ if (! bfd_link_add_symbols (element, info))
+ goto error_return;
+
+ /* If there are any new undefined symbols, we need to make
+ another pass through the archive in order to see whether
+ they can be defined. FIXME: This isn't perfect, because
+ common symbols wind up on undefs_tail and because an
+ undefined symbol which is defined later on in this pass
+ does not require another pass. This isn't a bug, but it
+ does make the code less efficient than it could be. */
+ if (undefs_tail != info->hash->undefs_tail)
+ loop = TRUE;
+
+ /* Look backward to mark all symbols from this object file
+ which we have already seen in this pass. */
+ mark = i;
+ do
+ {
+ included[mark] = TRUE;
+ if (mark == 0)
+ break;
+ --mark;
+ }
+ while (symdefs[mark].file_offset == symdef->file_offset);
+
+ /* We mark subsequent symbols from this object file as we go
+ on through the loop. */
+ last = symdef->file_offset;
+ }
+ }
+ while (loop);
+
+ free (defined);
+ free (included);
+
+ return TRUE;
+
+ error_return:
+ if (defined != NULL)
+ free (defined);
+ if (included != NULL)
+ free (included);
+ return FALSE;
+}
+
+/* Given an ELF BFD, add symbols to the global hash table as
+ appropriate. */
+
+bfd_boolean
+bfd_elf_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
+{
+ switch (bfd_get_format (abfd))
+ {
+ case bfd_object:
+ return elf_link_add_object_symbols (abfd, info);
+ case bfd_archive:
+ return elf_link_add_archive_symbols (abfd, info);
+ default:
+ bfd_set_error (bfd_error_wrong_format);
+ return FALSE;
+ }
+}
+
+/* This function will be called though elf_link_hash_traverse to store
+ all hash value of the exported symbols in an array. */
+
+static bfd_boolean
+elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data)
+{
+ unsigned long **valuep = data;
+ const char *name;
+ char *p;
+ unsigned long ha;
+ char *alc = NULL;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* Ignore indirect symbols. These are added by the versioning code. */
+ if (h->dynindx == -1)
+ return TRUE;
+
+ name = h->root.root.string;
+ p = strchr (name, ELF_VER_CHR);
+ if (p != NULL)
+ {
+ alc = bfd_malloc (p - name + 1);
+ memcpy (alc, name, p - name);
+ alc[p - name] = '\0';
+ name = alc;
+ }
+
+ /* Compute the hash value. */
+ ha = bfd_elf_hash (name);
+
+ /* Store the found hash value in the array given as the argument. */
+ *(*valuep)++ = ha;
+
+ /* And store it in the struct so that we can put it in the hash table
+ later. */
+ h->elf_hash_value = ha;
+
+ if (alc != NULL)
+ free (alc);
+
+ return TRUE;
+}
+
+/* Array used to determine the number of hash table buckets to use
+ based on the number of symbols there are. If there are fewer than
+ 3 symbols we use 1 bucket, fewer than 17 symbols we use 3 buckets,
+ fewer than 37 we use 17 buckets, and so forth. We never use more
+ than 32771 buckets. */
+
+static const size_t elf_buckets[] =
+{
+ 1, 3, 17, 37, 67, 97, 131, 197, 263, 521, 1031, 2053, 4099, 8209,
+ 16411, 32771, 0
+};
+
+/* Compute bucket count for hashing table. We do not use a static set
+ of possible tables sizes anymore. Instead we determine for all
+ possible reasonable sizes of the table the outcome (i.e., the
+ number of collisions etc) and choose the best solution. The
+ weighting functions are not too simple to allow the table to grow
+ without bounds. Instead one of the weighting factors is the size.
+ Therefore the result is always a good payoff between few collisions
+ (= short chain lengths) and table size. */
+static size_t
+compute_bucket_count (struct bfd_link_info *info)
+{
+ size_t dynsymcount = elf_hash_table (info)->dynsymcount;
+ size_t best_size = 0;
+ unsigned long int *hashcodes;
+ unsigned long int *hashcodesp;
+ unsigned long int i;
+ bfd_size_type amt;
+
+ /* Compute the hash values for all exported symbols. At the same
+ time store the values in an array so that we could use them for
+ optimizations. */
+ amt = dynsymcount;
+ amt *= sizeof (unsigned long int);
+ hashcodes = bfd_malloc (amt);
+ if (hashcodes == NULL)
+ return 0;
+ hashcodesp = hashcodes;
+
+ /* Put all hash values in HASHCODES. */
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_collect_hash_codes, &hashcodesp);
+
+ /* We have a problem here. The following code to optimize the table
+ size requires an integer type with more the 32 bits. If
+ BFD_HOST_U_64_BIT is set we know about such a type. */
+#ifdef BFD_HOST_U_64_BIT
+ if (info->optimize)
+ {
+ unsigned long int nsyms = hashcodesp - hashcodes;
+ size_t minsize;
+ size_t maxsize;
+ BFD_HOST_U_64_BIT best_chlen = ~((BFD_HOST_U_64_BIT) 0);
+ unsigned long int *counts ;
+ bfd *dynobj = elf_hash_table (info)->dynobj;
+ const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
+
+ /* Possible optimization parameters: if we have NSYMS symbols we say
+ that the hashing table must at least have NSYMS/4 and at most
+ 2*NSYMS buckets. */
+ minsize = nsyms / 4;
+ if (minsize == 0)
+ minsize = 1;
+ best_size = maxsize = nsyms * 2;
+
+ /* Create array where we count the collisions in. We must use bfd_malloc
+ since the size could be large. */
+ amt = maxsize;
+ amt *= sizeof (unsigned long int);
+ counts = bfd_malloc (amt);
+ if (counts == NULL)
+ {
+ free (hashcodes);
+ return 0;
+ }
+
+ /* Compute the "optimal" size for the hash table. The criteria is a
+ minimal chain length. The minor criteria is (of course) the size
+ of the table. */
+ for (i = minsize; i < maxsize; ++i)
+ {
+ /* Walk through the array of hashcodes and count the collisions. */
+ BFD_HOST_U_64_BIT max;
+ unsigned long int j;
+ unsigned long int fact;
+
+ memset (counts, '\0', i * sizeof (unsigned long int));
+
+ /* Determine how often each hash bucket is used. */
+ for (j = 0; j < nsyms; ++j)
+ ++counts[hashcodes[j] % i];
+
+ /* For the weight function we need some information about the
+ pagesize on the target. This is information need not be 100%
+ accurate. Since this information is not available (so far) we
+ define it here to a reasonable default value. If it is crucial
+ to have a better value some day simply define this value. */
+# ifndef BFD_TARGET_PAGESIZE
+# define BFD_TARGET_PAGESIZE (4096)
+# endif
+
+ /* We in any case need 2 + NSYMS entries for the size values and
+ the chains. */
+ max = (2 + nsyms) * (bed->s->arch_size / 8);
+
+# if 1
+ /* Variant 1: optimize for short chains. We add the squares
+ of all the chain lengths (which favors many small chain
+ over a few long chains). */
+ for (j = 0; j < i; ++j)
+ max += counts[j] * counts[j];
+
+ /* This adds penalties for the overall size of the table. */
+ fact = i / (BFD_TARGET_PAGESIZE / (bed->s->arch_size / 8)) + 1;
+ max *= fact * fact;
+# else
+ /* Variant 2: Optimize a lot more for small table. Here we
+ also add squares of the size but we also add penalties for
+ empty slots (the +1 term). */
+ for (j = 0; j < i; ++j)
+ max += (1 + counts[j]) * (1 + counts[j]);
+
+ /* The overall size of the table is considered, but not as
+ strong as in variant 1, where it is squared. */
+ fact = i / (BFD_TARGET_PAGESIZE / (bed->s->arch_size / 8)) + 1;
+ max *= fact;
+# endif
+
+ /* Compare with current best results. */
+ if (max < best_chlen)
+ {
+ best_chlen = max;
+ best_size = i;
+ }
+ }
+
+ free (counts);
+ }
+ else
+#endif /* defined (BFD_HOST_U_64_BIT) */
+ {
+ /* This is the fallback solution if no 64bit type is available or if we
+ are not supposed to spend much time on optimizations. We select the
+ bucket count using a fixed set of numbers. */
+ for (i = 0; elf_buckets[i] != 0; i++)
+ {
+ best_size = elf_buckets[i];
+ if (dynsymcount < elf_buckets[i + 1])
+ break;
+ }
+ }
+
+ /* Free the arrays we needed. */
+ free (hashcodes);
+
+ return best_size;
+}
+
+/* Set up the sizes and contents of the ELF dynamic sections. This is
+ called by the ELF linker emulation before_allocation routine. We
+ must set the sizes of the sections before the linker sets the
+ addresses of the various sections. */
+
+bfd_boolean
+bfd_elf_size_dynamic_sections (bfd *output_bfd,
+ const char *soname,
+ const char *rpath,
+ const char *filter_shlib,
+ const char * const *auxiliary_filters,
+ struct bfd_link_info *info,
+ asection **sinterpptr,
+ struct bfd_elf_version_tree *verdefs)
+{
+ bfd_size_type soname_indx;
+ bfd *dynobj;
+ const struct elf_backend_data *bed;
+ struct elf_assign_sym_version_info asvinfo;
+
+ *sinterpptr = NULL;
+
+ soname_indx = (bfd_size_type) -1;
+
+ if (!is_elf_hash_table (info->hash))
+ return TRUE;
+
+ if (info->execstack)
+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
+ else if (info->noexecstack)
+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
+ else
+ {
+ bfd *inputobj;
+ asection *notesec = NULL;
+ int exec = 0;
+
+ for (inputobj = info->input_bfds;
+ inputobj;
+ inputobj = inputobj->link_next)
+ {
+ asection *s;
+
+ if (inputobj->flags & DYNAMIC)
+ continue;
+ s = bfd_get_section_by_name (inputobj, ".note.GNU-stack");
+ if (s)
+ {
+ if (s->flags & SEC_CODE)
+ exec = PF_X;
+ notesec = s;
+ }
+ else
+ exec = PF_X;
+ }
+ if (notesec)
+ {
+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | exec;
+ if (exec && info->relocatable
+ && notesec->output_section != bfd_abs_section_ptr)
+ notesec->output_section->flags |= SEC_CODE;
+ }
+ }
+
+ /* Any syms created from now on start with -1 in
+ got.refcount/offset and plt.refcount/offset. */
+ elf_hash_table (info)->init_refcount = elf_hash_table (info)->init_offset;
+
+ /* The backend may have to create some sections regardless of whether
+ we're dynamic or not. */
+ bed = get_elf_backend_data (output_bfd);
+ if (bed->elf_backend_always_size_sections
+ && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
+ return FALSE;
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ /* If there were no dynamic objects in the link, there is nothing to
+ do here. */
+ if (dynobj == NULL)
+ return TRUE;
+
+ if (! _bfd_elf_maybe_strip_eh_frame_hdr (info))
+ return FALSE;
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ struct elf_info_failed eif;
+ struct elf_link_hash_entry *h;
+ asection *dynstr;
+ struct bfd_elf_version_tree *t;
+ struct bfd_elf_version_expr *d;
+ bfd_boolean all_defined;
+
+ *sinterpptr = bfd_get_section_by_name (dynobj, ".interp");
+ BFD_ASSERT (*sinterpptr != NULL || !info->executable);
+
+ if (soname != NULL)
+ {
+ soname_indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ soname, TRUE);
+ if (soname_indx == (bfd_size_type) -1
+ || !_bfd_elf_add_dynamic_entry (info, DT_SONAME, soname_indx))
+ return FALSE;
+ }
+
+ if (info->symbolic)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_SYMBOLIC, 0))
+ return FALSE;
+ info->flags |= DF_SYMBOLIC;
+ }
+
+ if (rpath != NULL)
+ {
+ bfd_size_type indx;
+
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath,
+ TRUE);
+ if (indx == (bfd_size_type) -1
+ || !_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx))
+ return FALSE;
+
+ if (info->new_dtags)
+ {
+ _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx);
+ if (!_bfd_elf_add_dynamic_entry (info, DT_RUNPATH, indx))
+ return FALSE;
+ }
+ }
+
+ if (filter_shlib != NULL)
+ {
+ bfd_size_type indx;
+
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ filter_shlib, TRUE);
+ if (indx == (bfd_size_type) -1
+ || !_bfd_elf_add_dynamic_entry (info, DT_FILTER, indx))
+ return FALSE;
+ }
+
+ if (auxiliary_filters != NULL)
+ {
+ const char * const *p;
+
+ for (p = auxiliary_filters; *p != NULL; p++)
+ {
+ bfd_size_type indx;
+
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ *p, TRUE);
+ if (indx == (bfd_size_type) -1
+ || !_bfd_elf_add_dynamic_entry (info, DT_AUXILIARY, indx))
+ return FALSE;
+ }
+ }
+
+ eif.info = info;
+ eif.verdefs = verdefs;
+ eif.failed = FALSE;
+
+ /* If we are supposed to export all symbols into the dynamic symbol
+ table (this is not the normal case), then do so. */
+ if (info->export_dynamic)
+ {
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_export_symbol,
+ &eif);
+ if (eif.failed)
+ return FALSE;
+ }
+
+ /* Make all global versions with definition. */
+ for (t = verdefs; t != NULL; t = t->next)
+ for (d = t->globals.list; d != NULL; d = d->next)
+ if (!d->symver && d->symbol)
+ {
+ const char *verstr, *name;
+ size_t namelen, verlen, newlen;
+ char *newname, *p;
+ struct elf_link_hash_entry *newh;
+
+ name = d->symbol;
+ namelen = strlen (name);
+ verstr = t->name;
+ verlen = strlen (verstr);
+ newlen = namelen + verlen + 3;
+
+ newname = bfd_malloc (newlen);
+ if (newname == NULL)
+ return FALSE;
+ memcpy (newname, name, namelen);
+
+ /* Check the hidden versioned definition. */
+ p = newname + namelen;
+ *p++ = ELF_VER_CHR;
+ memcpy (p, verstr, verlen + 1);
+ newh = elf_link_hash_lookup (elf_hash_table (info),
+ newname, FALSE, FALSE,
+ FALSE);
+ if (newh == NULL
+ || (newh->root.type != bfd_link_hash_defined
+ && newh->root.type != bfd_link_hash_defweak))
+ {
+ /* Check the default versioned definition. */
+ *p++ = ELF_VER_CHR;
+ memcpy (p, verstr, verlen + 1);
+ newh = elf_link_hash_lookup (elf_hash_table (info),
+ newname, FALSE, FALSE,
+ FALSE);
+ }
+ free (newname);
+
+ /* Mark this version if there is a definition and it is
+ not defined in a shared object. */
+ if (newh != NULL
+ && ((newh->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) == 0)
+ && (newh->root.type == bfd_link_hash_defined
+ || newh->root.type == bfd_link_hash_defweak))
+ d->symver = 1;
+ }
+
+ /* Attach all the symbols to their version information. */
+ asvinfo.output_bfd = output_bfd;
+ asvinfo.info = info;
+ asvinfo.verdefs = verdefs;
+ asvinfo.failed = FALSE;
+
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_link_assign_sym_version,
+ &asvinfo);
+ if (asvinfo.failed)
+ return FALSE;
+
+ if (!info->allow_undefined_version)
+ {
+ /* Check if all global versions have a definition. */
+ all_defined = TRUE;
+ for (t = verdefs; t != NULL; t = t->next)
+ for (d = t->globals.list; d != NULL; d = d->next)
+ if (!d->symver && !d->script)
+ {
+ (*_bfd_error_handler)
+ (_("%s: undefined version: %s"),
+ d->pattern, t->name);
+ all_defined = FALSE;
+ }
+
+ if (!all_defined)
+ {
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ }
+
+ /* Find all symbols which were defined in a dynamic object and make
+ the backend pick a reasonable value for them. */
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_adjust_dynamic_symbol,
+ &eif);
+ if (eif.failed)
+ return FALSE;
+
+ /* Add some entries to the .dynamic section. We fill in some of the
+ values later, in elf_bfd_final_link, but we must add the entries
+ now so that we know the final size of the .dynamic section. */
+
+ /* If there are initialization and/or finalization functions to
+ call then add the corresponding DT_INIT/DT_FINI entries. */
+ h = (info->init_function
+ ? elf_link_hash_lookup (elf_hash_table (info),
+ info->init_function, FALSE,
+ FALSE, FALSE)
+ : NULL);
+ if (h != NULL
+ && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
+ | ELF_LINK_HASH_DEF_REGULAR)) != 0)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_INIT, 0))
+ return FALSE;
+ }
+ h = (info->fini_function
+ ? elf_link_hash_lookup (elf_hash_table (info),
+ info->fini_function, FALSE,
+ FALSE, FALSE)
+ : NULL);
+ if (h != NULL
+ && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
+ | ELF_LINK_HASH_DEF_REGULAR)) != 0)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_FINI, 0))
+ return FALSE;
+ }
+
+ if (bfd_get_section_by_name (output_bfd, ".preinit_array") != NULL)
+ {
+ /* DT_PREINIT_ARRAY is not allowed in shared library. */
+ if (! info->executable)
+ {
+ bfd *sub;
+ asection *o;
+
+ for (sub = info->input_bfds; sub != NULL;
+ sub = sub->link_next)
+ for (o = sub->sections; o != NULL; o = o->next)
+ if (elf_section_data (o)->this_hdr.sh_type
+ == SHT_PREINIT_ARRAY)
+ {
+ (*_bfd_error_handler)
+ (_("%s: .preinit_array section is not allowed in DSO"),
+ bfd_archive_filename (sub));
+ break;
+ }
+
+ bfd_set_error (bfd_error_nonrepresentable_section);
+ return FALSE;
+ }
+
+ if (!_bfd_elf_add_dynamic_entry (info, DT_PREINIT_ARRAY, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_PREINIT_ARRAYSZ, 0))
+ return FALSE;
+ }
+ if (bfd_get_section_by_name (output_bfd, ".init_array") != NULL)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_INIT_ARRAY, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_INIT_ARRAYSZ, 0))
+ return FALSE;
+ }
+ if (bfd_get_section_by_name (output_bfd, ".fini_array") != NULL)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_FINI_ARRAY, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_FINI_ARRAYSZ, 0))
+ return FALSE;
+ }
+
+ dynstr = bfd_get_section_by_name (dynobj, ".dynstr");
+ /* If .dynstr is excluded from the link, we don't want any of
+ these tags. Strictly, we should be checking each section
+ individually; This quick check covers for the case where
+ someone does a /DISCARD/ : { *(*) }. */
+ if (dynstr != NULL && dynstr->output_section != bfd_abs_section_ptr)
+ {
+ bfd_size_type strsize;
+
+ strsize = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr);
+ if (!_bfd_elf_add_dynamic_entry (info, DT_HASH, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_STRTAB, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_SYMTAB, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_STRSZ, strsize)
+ || !_bfd_elf_add_dynamic_entry (info, DT_SYMENT,
+ bed->s->sizeof_sym))
+ return FALSE;
+ }
+ }
+
+ /* The backend must work out the sizes of all the other dynamic
+ sections. */
+ if (bed->elf_backend_size_dynamic_sections
+ && ! (*bed->elf_backend_size_dynamic_sections) (output_bfd, info))
+ return FALSE;
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ bfd_size_type dynsymcount;
+ asection *s;
+ size_t bucketcount = 0;
+ size_t hash_entry_size;
+ unsigned int dtagcount;
+
+ /* Set up the version definition section. */
+ s = bfd_get_section_by_name (dynobj, ".gnu.version_d");
+ BFD_ASSERT (s != NULL);
+
+ /* We may have created additional version definitions if we are
+ just linking a regular application. */
+ verdefs = asvinfo.verdefs;
+
+ /* Skip anonymous version tag. */
+ if (verdefs != NULL && verdefs->vernum == 0)
+ verdefs = verdefs->next;
+
+ if (verdefs == NULL)
+ _bfd_strip_section_from_output (info, s);
+ else
+ {
+ unsigned int cdefs;
+ bfd_size_type size;
+ struct bfd_elf_version_tree *t;
+ bfd_byte *p;
+ Elf_Internal_Verdef def;
+ Elf_Internal_Verdaux defaux;
+
+ cdefs = 0;
+ size = 0;
+
+ /* Make space for the base version. */
+ size += sizeof (Elf_External_Verdef);
+ size += sizeof (Elf_External_Verdaux);
+ ++cdefs;
+
+ for (t = verdefs; t != NULL; t = t->next)
+ {
+ struct bfd_elf_version_deps *n;
+
+ size += sizeof (Elf_External_Verdef);
+ size += sizeof (Elf_External_Verdaux);
+ ++cdefs;
+
+ for (n = t->deps; n != NULL; n = n->next)
+ size += sizeof (Elf_External_Verdaux);
+ }
+
+ s->_raw_size = size;
+ s->contents = bfd_alloc (output_bfd, s->_raw_size);
+ if (s->contents == NULL && s->_raw_size != 0)
+ return FALSE;
+
+ /* Fill in the version definition section. */
+
+ p = s->contents;
+
+ def.vd_version = VER_DEF_CURRENT;
+ def.vd_flags = VER_FLG_BASE;
+ def.vd_ndx = 1;
+ def.vd_cnt = 1;
+ def.vd_aux = sizeof (Elf_External_Verdef);
+ def.vd_next = (sizeof (Elf_External_Verdef)
+ + sizeof (Elf_External_Verdaux));
+
+ if (soname_indx != (bfd_size_type) -1)
+ {
+ _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
+ soname_indx);
+ def.vd_hash = bfd_elf_hash (soname);
+ defaux.vda_name = soname_indx;
+ }
+ else
+ {
+ const char *name;
+ bfd_size_type indx;
+
+ name = basename (output_bfd->filename);
+ def.vd_hash = bfd_elf_hash (name);
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ name, FALSE);
+ if (indx == (bfd_size_type) -1)
+ return FALSE;
+ defaux.vda_name = indx;
+ }
+ defaux.vda_next = 0;
+
+ _bfd_elf_swap_verdef_out (output_bfd, &def,
+ (Elf_External_Verdef *) p);
+ p += sizeof (Elf_External_Verdef);
+ _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
+ (Elf_External_Verdaux *) p);
+ p += sizeof (Elf_External_Verdaux);
+
+ for (t = verdefs; t != NULL; t = t->next)
+ {
+ unsigned int cdeps;
+ struct bfd_elf_version_deps *n;
+ struct elf_link_hash_entry *h;
+ struct bfd_link_hash_entry *bh;
+
+ cdeps = 0;
+ for (n = t->deps; n != NULL; n = n->next)
+ ++cdeps;
+
+ /* Add a symbol representing this version. */
+ bh = NULL;
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, dynobj, t->name, BSF_GLOBAL, bfd_abs_section_ptr,
+ 0, NULL, FALSE,
+ get_elf_backend_data (dynobj)->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+ h->verinfo.vertree = t;
+
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ def.vd_version = VER_DEF_CURRENT;
+ def.vd_flags = 0;
+ if (t->globals.list == NULL
+ && t->locals.list == NULL
+ && ! t->used)
+ def.vd_flags |= VER_FLG_WEAK;
+ def.vd_ndx = t->vernum + 1;
+ def.vd_cnt = cdeps + 1;
+ def.vd_hash = bfd_elf_hash (t->name);
+ def.vd_aux = sizeof (Elf_External_Verdef);
+ def.vd_next = 0;
+ if (t->next != NULL)
+ def.vd_next = (sizeof (Elf_External_Verdef)
+ + (cdeps + 1) * sizeof (Elf_External_Verdaux));
+
+ _bfd_elf_swap_verdef_out (output_bfd, &def,
+ (Elf_External_Verdef *) p);
+ p += sizeof (Elf_External_Verdef);
+
+ defaux.vda_name = h->dynstr_index;
+ _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
+ h->dynstr_index);
+ defaux.vda_next = 0;
+ if (t->deps != NULL)
+ defaux.vda_next = sizeof (Elf_External_Verdaux);
+ t->name_indx = defaux.vda_name;
+
+ _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
+ (Elf_External_Verdaux *) p);
+ p += sizeof (Elf_External_Verdaux);
+
+ for (n = t->deps; n != NULL; n = n->next)
+ {
+ if (n->version_needed == NULL)
+ {
+ /* This can happen if there was an error in the
+ version script. */
+ defaux.vda_name = 0;
+ }
+ else
+ {
+ defaux.vda_name = n->version_needed->name_indx;
+ _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
+ defaux.vda_name);
+ }
+ if (n->next == NULL)
+ defaux.vda_next = 0;
+ else
+ defaux.vda_next = sizeof (Elf_External_Verdaux);
+
+ _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
+ (Elf_External_Verdaux *) p);
+ p += sizeof (Elf_External_Verdaux);
+ }
+ }
+
+ if (!_bfd_elf_add_dynamic_entry (info, DT_VERDEF, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_VERDEFNUM, cdefs))
+ return FALSE;
+
+ elf_tdata (output_bfd)->cverdefs = cdefs;
+ }
+
+ if ((info->new_dtags && info->flags) || (info->flags & DF_STATIC_TLS))
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_FLAGS, info->flags))
+ return FALSE;
+ }
+ else if (info->flags & DF_BIND_NOW)
+ {
+ if (!_bfd_elf_add_dynamic_entry (info, DT_BIND_NOW, 0))
+ return FALSE;
+ }
+
+ if (info->flags_1)
+ {
+ if (info->executable)
+ info->flags_1 &= ~ (DF_1_INITFIRST
+ | DF_1_NODELETE
+ | DF_1_NOOPEN);
+ if (!_bfd_elf_add_dynamic_entry (info, DT_FLAGS_1, info->flags_1))
+ return FALSE;
+ }
+
+ /* Work out the size of the version reference section. */
+
+ s = bfd_get_section_by_name (dynobj, ".gnu.version_r");
+ BFD_ASSERT (s != NULL);
+ {
+ struct elf_find_verdep_info sinfo;
+
+ sinfo.output_bfd = output_bfd;
+ sinfo.info = info;
+ sinfo.vers = elf_tdata (output_bfd)->cverdefs;
+ if (sinfo.vers == 0)
+ sinfo.vers = 1;
+ sinfo.failed = FALSE;
+
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_link_find_version_dependencies,
+ &sinfo);
+
+ if (elf_tdata (output_bfd)->verref == NULL)
+ _bfd_strip_section_from_output (info, s);
+ else
+ {
+ Elf_Internal_Verneed *t;
+ unsigned int size;
+ unsigned int crefs;
+ bfd_byte *p;
+
+ /* Build the version definition section. */
+ size = 0;
+ crefs = 0;
+ for (t = elf_tdata (output_bfd)->verref;
+ t != NULL;
+ t = t->vn_nextref)
+ {
+ Elf_Internal_Vernaux *a;
+
+ size += sizeof (Elf_External_Verneed);
+ ++crefs;
+ for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ size += sizeof (Elf_External_Vernaux);
+ }
+
+ s->_raw_size = size;
+ s->contents = bfd_alloc (output_bfd, s->_raw_size);
+ if (s->contents == NULL)
+ return FALSE;
+
+ p = s->contents;
+ for (t = elf_tdata (output_bfd)->verref;
+ t != NULL;
+ t = t->vn_nextref)
+ {
+ unsigned int caux;
+ Elf_Internal_Vernaux *a;
+ bfd_size_type indx;
+
+ caux = 0;
+ for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ ++caux;
+
+ t->vn_version = VER_NEED_CURRENT;
+ t->vn_cnt = caux;
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ elf_dt_name (t->vn_bfd) != NULL
+ ? elf_dt_name (t->vn_bfd)
+ : basename (t->vn_bfd->filename),
+ FALSE);
+ if (indx == (bfd_size_type) -1)
+ return FALSE;
+ t->vn_file = indx;
+ t->vn_aux = sizeof (Elf_External_Verneed);
+ if (t->vn_nextref == NULL)
+ t->vn_next = 0;
+ else
+ t->vn_next = (sizeof (Elf_External_Verneed)
+ + caux * sizeof (Elf_External_Vernaux));
+
+ _bfd_elf_swap_verneed_out (output_bfd, t,
+ (Elf_External_Verneed *) p);
+ p += sizeof (Elf_External_Verneed);
+
+ for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
+ {
+ a->vna_hash = bfd_elf_hash (a->vna_nodename);
+ indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
+ a->vna_nodename, FALSE);
+ if (indx == (bfd_size_type) -1)
+ return FALSE;
+ a->vna_name = indx;
+ if (a->vna_nextptr == NULL)
+ a->vna_next = 0;
+ else
+ a->vna_next = sizeof (Elf_External_Vernaux);
+
+ _bfd_elf_swap_vernaux_out (output_bfd, a,
+ (Elf_External_Vernaux *) p);
+ p += sizeof (Elf_External_Vernaux);
+ }
+ }
+
+ if (!_bfd_elf_add_dynamic_entry (info, DT_VERNEED, 0)
+ || !_bfd_elf_add_dynamic_entry (info, DT_VERNEEDNUM, crefs))
+ return FALSE;
+
+ elf_tdata (output_bfd)->cverrefs = crefs;
+ }
+ }
+
+ /* Assign dynsym indicies. In a shared library we generate a
+ section symbol for each output section, which come first.
+ Next come all of the back-end allocated local dynamic syms,
+ followed by the rest of the global symbols. */
+
+ dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info);
+
+ /* Work out the size of the symbol version section. */
+ s = bfd_get_section_by_name (dynobj, ".gnu.version");
+ BFD_ASSERT (s != NULL);
+ if (dynsymcount == 0
+ || (verdefs == NULL && elf_tdata (output_bfd)->verref == NULL))
+ {
+ _bfd_strip_section_from_output (info, s);
+ /* The DYNSYMCOUNT might have changed if we were going to
+ output a dynamic symbol table entry for S. */
+ dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info);
+ }
+ else
+ {
+ s->_raw_size = dynsymcount * sizeof (Elf_External_Versym);
+ s->contents = bfd_zalloc (output_bfd, s->_raw_size);
+ if (s->contents == NULL)
+ return FALSE;
+
+ if (!_bfd_elf_add_dynamic_entry (info, DT_VERSYM, 0))
+ return FALSE;
+ }
+
+ /* Set the size of the .dynsym and .hash sections. We counted
+ the number of dynamic symbols in elf_link_add_object_symbols.
+ We will build the contents of .dynsym and .hash when we build
+ the final symbol table, because until then we do not know the
+ correct value to give the symbols. We built the .dynstr
+ section as we went along in elf_link_add_object_symbols. */
+ s = bfd_get_section_by_name (dynobj, ".dynsym");
+ BFD_ASSERT (s != NULL);
+ s->_raw_size = dynsymcount * bed->s->sizeof_sym;
+ s->contents = bfd_alloc (output_bfd, s->_raw_size);
+ if (s->contents == NULL && s->_raw_size != 0)
+ return FALSE;
+
+ if (dynsymcount != 0)
+ {
+ Elf_Internal_Sym isym;
+
+ /* The first entry in .dynsym is a dummy symbol. */
+ isym.st_value = 0;
+ isym.st_size = 0;
+ isym.st_name = 0;
+ isym.st_info = 0;
+ isym.st_other = 0;
+ isym.st_shndx = 0;
+ bed->s->swap_symbol_out (output_bfd, &isym, s->contents, 0);
+ }
+
+ /* Compute the size of the hashing table. As a side effect this
+ computes the hash values for all the names we export. */
+ bucketcount = compute_bucket_count (info);
+
+ s = bfd_get_section_by_name (dynobj, ".hash");
+ BFD_ASSERT (s != NULL);
+ hash_entry_size = elf_section_data (s)->this_hdr.sh_entsize;
+ s->_raw_size = ((2 + bucketcount + dynsymcount) * hash_entry_size);
+ s->contents = bfd_zalloc (output_bfd, s->_raw_size);
+ if (s->contents == NULL)
+ return FALSE;
+
+ bfd_put (8 * hash_entry_size, output_bfd, bucketcount, s->contents);
+ bfd_put (8 * hash_entry_size, output_bfd, dynsymcount,
+ s->contents + hash_entry_size);
+
+ elf_hash_table (info)->bucketcount = bucketcount;
+
+ s = bfd_get_section_by_name (dynobj, ".dynstr");
+ BFD_ASSERT (s != NULL);
+
+ elf_finalize_dynstr (output_bfd, info);
+
+ s->_raw_size = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr);
+
+ for (dtagcount = 0; dtagcount <= info->spare_dynamic_tags; ++dtagcount)
+ if (!_bfd_elf_add_dynamic_entry (info, DT_NULL, 0))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+/* Final phase of ELF linker. */
+
+/* A structure we use to avoid passing large numbers of arguments. */
+
+struct elf_final_link_info
+{
+ /* General link information. */
+ struct bfd_link_info *info;
+ /* Output BFD. */
+ bfd *output_bfd;
+ /* Symbol string table. */
+ struct bfd_strtab_hash *symstrtab;
+ /* .dynsym section. */
+ asection *dynsym_sec;
+ /* .hash section. */
+ asection *hash_sec;
+ /* symbol version section (.gnu.version). */
+ asection *symver_sec;
+ /* Buffer large enough to hold contents of any section. */
+ bfd_byte *contents;
+ /* Buffer large enough to hold external relocs of any section. */
+ void *external_relocs;
+ /* Buffer large enough to hold internal relocs of any section. */
+ Elf_Internal_Rela *internal_relocs;
+ /* Buffer large enough to hold external local symbols of any input
+ BFD. */
+ bfd_byte *external_syms;
+ /* And a buffer for symbol section indices. */
+ Elf_External_Sym_Shndx *locsym_shndx;
+ /* Buffer large enough to hold internal local symbols of any input
+ BFD. */
+ Elf_Internal_Sym *internal_syms;
+ /* Array large enough to hold a symbol index for each local symbol
+ of any input BFD. */
+ long *indices;
+ /* Array large enough to hold a section pointer for each local
+ symbol of any input BFD. */
+ asection **sections;
+ /* Buffer to hold swapped out symbols. */
+ bfd_byte *symbuf;
+ /* And one for symbol section indices. */
+ Elf_External_Sym_Shndx *symshndxbuf;
+ /* Number of swapped out symbols in buffer. */
+ size_t symbuf_count;
+ /* Number of symbols which fit in symbuf. */
+ size_t symbuf_size;
+ /* And same for symshndxbuf. */
+ size_t shndxbuf_size;
+};
+
+/* This struct is used to pass information to elf_link_output_extsym. */
+
+struct elf_outext_info
+{
+ bfd_boolean failed;
+ bfd_boolean localsyms;
+ struct elf_final_link_info *finfo;
+};
+
+/* When performing a relocatable link, the input relocations are
+ preserved. But, if they reference global symbols, the indices
+ referenced must be updated. Update all the relocations in
+ REL_HDR (there are COUNT of them), using the data in REL_HASH. */
+
+static void
+elf_link_adjust_relocs (bfd *abfd,
+ Elf_Internal_Shdr *rel_hdr,
+ unsigned int count,
+ struct elf_link_hash_entry **rel_hash)
+{
+ unsigned int i;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ bfd_byte *erela;
+ void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
+ void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
+ bfd_vma r_type_mask;
+ int r_sym_shift;
+
+ if (rel_hdr->sh_entsize == bed->s->sizeof_rel)
+ {
+ swap_in = bed->s->swap_reloc_in;
+ swap_out = bed->s->swap_reloc_out;
+ }
+ else if (rel_hdr->sh_entsize == bed->s->sizeof_rela)
+ {
+ swap_in = bed->s->swap_reloca_in;
+ swap_out = bed->s->swap_reloca_out;
+ }
+ else
+ abort ();
+
+ if (bed->s->int_rels_per_ext_rel > MAX_INT_RELS_PER_EXT_REL)
+ abort ();
+
+ if (bed->s->arch_size == 32)
+ {
+ r_type_mask = 0xff;
+ r_sym_shift = 8;
+ }
+ else
+ {
+ r_type_mask = 0xffffffff;
+ r_sym_shift = 32;
+ }
+
+ erela = rel_hdr->contents;
+ for (i = 0; i < count; i++, rel_hash++, erela += rel_hdr->sh_entsize)
+ {
+ Elf_Internal_Rela irela[MAX_INT_RELS_PER_EXT_REL];
+ unsigned int j;
+
+ if (*rel_hash == NULL)
+ continue;
+
+ BFD_ASSERT ((*rel_hash)->indx >= 0);
+
+ (*swap_in) (abfd, erela, irela);
+ for (j = 0; j < bed->s->int_rels_per_ext_rel; j++)
+ irela[j].r_info = ((bfd_vma) (*rel_hash)->indx << r_sym_shift
+ | (irela[j].r_info & r_type_mask));
+ (*swap_out) (abfd, irela, erela);
+ }
+}
+
+struct elf_link_sort_rela
+{
+ union {
+ bfd_vma offset;
+ bfd_vma sym_mask;
+ } u;
+ enum elf_reloc_type_class type;
+ /* We use this as an array of size int_rels_per_ext_rel. */
+ Elf_Internal_Rela rela[1];
+};
+
+static int
+elf_link_sort_cmp1 (const void *A, const void *B)
+{
+ const struct elf_link_sort_rela *a = A;
+ const struct elf_link_sort_rela *b = B;
+ int relativea, relativeb;
+
+ relativea = a->type == reloc_class_relative;
+ relativeb = b->type == reloc_class_relative;
+
+ if (relativea < relativeb)
+ return 1;
+ if (relativea > relativeb)
+ return -1;
+ if ((a->rela->r_info & a->u.sym_mask) < (b->rela->r_info & b->u.sym_mask))
+ return -1;
+ if ((a->rela->r_info & a->u.sym_mask) > (b->rela->r_info & b->u.sym_mask))
+ return 1;
+ if (a->rela->r_offset < b->rela->r_offset)
+ return -1;
+ if (a->rela->r_offset > b->rela->r_offset)
+ return 1;
+ return 0;
+}
+
+static int
+elf_link_sort_cmp2 (const void *A, const void *B)
+{
+ const struct elf_link_sort_rela *a = A;
+ const struct elf_link_sort_rela *b = B;
+ int copya, copyb;
+
+ if (a->u.offset < b->u.offset)
+ return -1;
+ if (a->u.offset > b->u.offset)
+ return 1;
+ copya = (a->type == reloc_class_copy) * 2 + (a->type == reloc_class_plt);
+ copyb = (b->type == reloc_class_copy) * 2 + (b->type == reloc_class_plt);
+ if (copya < copyb)
+ return -1;
+ if (copya > copyb)
+ return 1;
+ if (a->rela->r_offset < b->rela->r_offset)
+ return -1;
+ if (a->rela->r_offset > b->rela->r_offset)
+ return 1;
+ return 0;
+}
+
+static size_t
+elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
+{
+ asection *reldyn;
+ bfd_size_type count, size;
+ size_t i, ret, sort_elt, ext_size;
+ bfd_byte *sort, *s_non_relative, *p;
+ struct elf_link_sort_rela *sq;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ int i2e = bed->s->int_rels_per_ext_rel;
+ void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
+ void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
+ struct bfd_link_order *lo;
+ bfd_vma r_sym_mask;
+
+ reldyn = bfd_get_section_by_name (abfd, ".rela.dyn");
+ if (reldyn == NULL || reldyn->_raw_size == 0)
+ {
+ reldyn = bfd_get_section_by_name (abfd, ".rel.dyn");
+ if (reldyn == NULL || reldyn->_raw_size == 0)
+ return 0;
+ ext_size = bed->s->sizeof_rel;
+ swap_in = bed->s->swap_reloc_in;
+ swap_out = bed->s->swap_reloc_out;
+ }
+ else
+ {
+ ext_size = bed->s->sizeof_rela;
+ swap_in = bed->s->swap_reloca_in;
+ swap_out = bed->s->swap_reloca_out;
+ }
+ count = reldyn->_raw_size / ext_size;
+
+ size = 0;
+ for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
+ if (lo->type == bfd_indirect_link_order)
+ {
+ asection *o = lo->u.indirect.section;
+ size += o->_raw_size;
+ }
+
+ if (size != reldyn->_raw_size)
+ return 0;
+
+ sort_elt = (sizeof (struct elf_link_sort_rela)
+ + (i2e - 1) * sizeof (Elf_Internal_Rela));
+ sort = bfd_zmalloc (sort_elt * count);
+ if (sort == NULL)
+ {
+ (*info->callbacks->warning)
+ (info, _("Not enough memory to sort relocations"), 0, abfd, 0, 0);
+ return 0;
+ }
+
+ if (bed->s->arch_size == 32)
+ r_sym_mask = ~(bfd_vma) 0xff;
+ else
+ r_sym_mask = ~(bfd_vma) 0xffffffff;
+
+ for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
+ if (lo->type == bfd_indirect_link_order)
+ {
+ bfd_byte *erel, *erelend;
+ asection *o = lo->u.indirect.section;
+
+ erel = o->contents;
+ erelend = o->contents + o->_raw_size;
+ p = sort + o->output_offset / ext_size * sort_elt;
+ while (erel < erelend)
+ {
+ struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
+ (*swap_in) (abfd, erel, s->rela);
+ s->type = (*bed->elf_backend_reloc_type_class) (s->rela);
+ s->u.sym_mask = r_sym_mask;
+ p += sort_elt;
+ erel += ext_size;
+ }
+ }
+
+ qsort (sort, count, sort_elt, elf_link_sort_cmp1);
+
+ for (i = 0, p = sort; i < count; i++, p += sort_elt)
+ {
+ struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
+ if (s->type != reloc_class_relative)
+ break;
+ }
+ ret = i;
+ s_non_relative = p;
+
+ sq = (struct elf_link_sort_rela *) s_non_relative;
+ for (; i < count; i++, p += sort_elt)
+ {
+ struct elf_link_sort_rela *sp = (struct elf_link_sort_rela *) p;
+ if (((sp->rela->r_info ^ sq->rela->r_info) & r_sym_mask) != 0)
+ sq = sp;
+ sp->u.offset = sq->rela->r_offset;
+ }
+
+ qsort (s_non_relative, count - ret, sort_elt, elf_link_sort_cmp2);
+
+ for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
+ if (lo->type == bfd_indirect_link_order)
+ {
+ bfd_byte *erel, *erelend;
+ asection *o = lo->u.indirect.section;
+
+ erel = o->contents;
+ erelend = o->contents + o->_raw_size;
+ p = sort + o->output_offset / ext_size * sort_elt;
+ while (erel < erelend)
+ {
+ struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
+ (*swap_out) (abfd, s->rela, erel);
+ p += sort_elt;
+ erel += ext_size;
+ }
+ }
+
+ free (sort);
+ *psec = reldyn;
+ return ret;
+}
+
+/* Flush the output symbols to the file. */
+
+static bfd_boolean
+elf_link_flush_output_syms (struct elf_final_link_info *finfo,
+ const struct elf_backend_data *bed)
+{
+ if (finfo->symbuf_count > 0)
+ {
+ Elf_Internal_Shdr *hdr;
+ file_ptr pos;
+ bfd_size_type amt;
+
+ hdr = &elf_tdata (finfo->output_bfd)->symtab_hdr;
+ pos = hdr->sh_offset + hdr->sh_size;
+ amt = finfo->symbuf_count * bed->s->sizeof_sym;
+ if (bfd_seek (finfo->output_bfd, pos, SEEK_SET) != 0
+ || bfd_bwrite (finfo->symbuf, amt, finfo->output_bfd) != amt)
+ return FALSE;
+
+ hdr->sh_size += amt;
+ finfo->symbuf_count = 0;
+ }
+
+ return TRUE;
+}
+
+/* Add a symbol to the output symbol table. */
+
+static bfd_boolean
+elf_link_output_sym (struct elf_final_link_info *finfo,
+ const char *name,
+ Elf_Internal_Sym *elfsym,
+ asection *input_sec,
+ struct elf_link_hash_entry *h)
+{
+ bfd_byte *dest;
+ Elf_External_Sym_Shndx *destshndx;
+ bfd_boolean (*output_symbol_hook)
+ (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
+ struct elf_link_hash_entry *);
+ const struct elf_backend_data *bed;
+
+ bed = get_elf_backend_data (finfo->output_bfd);
+ output_symbol_hook = bed->elf_backend_link_output_symbol_hook;
+ if (output_symbol_hook != NULL)
+ {
+ if (! (*output_symbol_hook) (finfo->info, name, elfsym, input_sec, h))
+ return FALSE;
+ }
+
+ if (name == NULL || *name == '\0')
+ elfsym->st_name = 0;
+ else if (input_sec->flags & SEC_EXCLUDE)
+ elfsym->st_name = 0;
+ else
+ {
+ elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab,
+ name, TRUE, FALSE);
+ if (elfsym->st_name == (unsigned long) -1)
+ return FALSE;
+ }
+
+ if (finfo->symbuf_count >= finfo->symbuf_size)
+ {
+ if (! elf_link_flush_output_syms (finfo, bed))
+ return FALSE;
+ }
+
+ dest = finfo->symbuf + finfo->symbuf_count * bed->s->sizeof_sym;
+ destshndx = finfo->symshndxbuf;
+ if (destshndx != NULL)
+ {
+ if (bfd_get_symcount (finfo->output_bfd) >= finfo->shndxbuf_size)
+ {
+ bfd_size_type amt;
+
+ amt = finfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx);
+ finfo->symshndxbuf = destshndx = bfd_realloc (destshndx, amt * 2);
+ if (destshndx == NULL)
+ return FALSE;
+ memset ((char *) destshndx + amt, 0, amt);
+ finfo->shndxbuf_size *= 2;
+ }
+ destshndx += bfd_get_symcount (finfo->output_bfd);
+ }
+
+ bed->s->swap_symbol_out (finfo->output_bfd, elfsym, dest, destshndx);
+ finfo->symbuf_count += 1;
+ bfd_get_symcount (finfo->output_bfd) += 1;
+
+ return TRUE;
+}
+
+/* For DSOs loaded in via a DT_NEEDED entry, emulate ld.so in
+ allowing an unsatisfied unversioned symbol in the DSO to match a
+ versioned symbol that would normally require an explicit version.
+ We also handle the case that a DSO references a hidden symbol
+ which may be satisfied by a versioned symbol in another DSO. */
+
+static bfd_boolean
+elf_link_check_versioned_symbol (struct bfd_link_info *info,
+ const struct elf_backend_data *bed,
+ struct elf_link_hash_entry *h)
+{
+ bfd *abfd;
+ struct elf_link_loaded_list *loaded;
+
+ if (!is_elf_hash_table (info->hash))
+ return FALSE;
+
+ switch (h->root.type)
+ {
+ default:
+ abfd = NULL;
+ break;
+
+ case bfd_link_hash_undefined:
+ case bfd_link_hash_undefweak:
+ abfd = h->root.u.undef.abfd;
+ if ((abfd->flags & DYNAMIC) == 0
+ || elf_dyn_lib_class (abfd) != DYN_DT_NEEDED)
+ return FALSE;
+ break;
+
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ abfd = h->root.u.def.section->owner;
+ break;
+
+ case bfd_link_hash_common:
+ abfd = h->root.u.c.p->section->owner;
+ break;
+ }
+ BFD_ASSERT (abfd != NULL);
+
+ for (loaded = elf_hash_table (info)->loaded;
+ loaded != NULL;
+ loaded = loaded->next)
+ {
+ bfd *input;
+ Elf_Internal_Shdr *hdr;
+ bfd_size_type symcount;
+ bfd_size_type extsymcount;
+ bfd_size_type extsymoff;
+ Elf_Internal_Shdr *versymhdr;
+ Elf_Internal_Sym *isym;
+ Elf_Internal_Sym *isymend;
+ Elf_Internal_Sym *isymbuf;
+ Elf_External_Versym *ever;
+ Elf_External_Versym *extversym;
+
+ input = loaded->abfd;
+
+ /* We check each DSO for a possible hidden versioned definition. */
+ if (input == abfd
+ || (input->flags & DYNAMIC) == 0
+ || elf_dynversym (input) == 0)
+ continue;
+
+ hdr = &elf_tdata (input)->dynsymtab_hdr;
+
+ symcount = hdr->sh_size / bed->s->sizeof_sym;
+ if (elf_bad_symtab (input))
+ {
+ extsymcount = symcount;
+ extsymoff = 0;
+ }
+ else
+ {
+ extsymcount = symcount - hdr->sh_info;
+ extsymoff = hdr->sh_info;
+ }
+
+ if (extsymcount == 0)
+ continue;
+
+ isymbuf = bfd_elf_get_elf_syms (input, hdr, extsymcount, extsymoff,
+ NULL, NULL, NULL);
+ if (isymbuf == NULL)
+ return FALSE;
+
+ /* Read in any version definitions. */
+ versymhdr = &elf_tdata (input)->dynversym_hdr;
+ extversym = bfd_malloc (versymhdr->sh_size);
+ if (extversym == NULL)
+ goto error_ret;
+
+ if (bfd_seek (input, versymhdr->sh_offset, SEEK_SET) != 0
+ || (bfd_bread (extversym, versymhdr->sh_size, input)
+ != versymhdr->sh_size))
+ {
+ free (extversym);
+ error_ret:
+ free (isymbuf);
+ return FALSE;
+ }
+
+ ever = extversym + extsymoff;
+ isymend = isymbuf + extsymcount;
+ for (isym = isymbuf; isym < isymend; isym++, ever++)
+ {
+ const char *name;
+ Elf_Internal_Versym iver;
+ unsigned short version_index;
+
+ if (ELF_ST_BIND (isym->st_info) == STB_LOCAL
+ || isym->st_shndx == SHN_UNDEF)
+ continue;
+
+ name = bfd_elf_string_from_elf_section (input,
+ hdr->sh_link,
+ isym->st_name);
+ if (strcmp (name, h->root.root.string) != 0)
+ continue;
+
+ _bfd_elf_swap_versym_in (input, ever, &iver);
+
+ if ((iver.vs_vers & VERSYM_HIDDEN) == 0)
+ {
+ /* If we have a non-hidden versioned sym, then it should
+ have provided a definition for the undefined sym. */
+ abort ();
+ }
+
+ version_index = iver.vs_vers & VERSYM_VERSION;
+ if (version_index == 1 || version_index == 2)
+ {
+ /* This is the base or first version. We can use it. */
+ free (extversym);
+ free (isymbuf);
+ return TRUE;
+ }
+ }
+
+ free (extversym);
+ free (isymbuf);
+ }
+
+ return FALSE;
+}
+
+/* Add an external symbol to the symbol table. This is called from
+ the hash table traversal routine. When generating a shared object,
+ we go through the symbol table twice. The first time we output
+ anything that might have been forced to local scope in a version
+ script. The second time we output the symbols that are still
+ global symbols. */
+
+static bfd_boolean
+elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
+{
+ struct elf_outext_info *eoinfo = data;
+ struct elf_final_link_info *finfo = eoinfo->finfo;
+ bfd_boolean strip;
+ Elf_Internal_Sym sym;
+ asection *input_sec;
+ const struct elf_backend_data *bed;
+
+ if (h->root.type == bfd_link_hash_warning)
+ {
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ if (h->root.type == bfd_link_hash_new)
+ return TRUE;
+ }
+
+ /* Decide whether to output this symbol in this pass. */
+ if (eoinfo->localsyms)
+ {
+ if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ return TRUE;
+ }
+ else
+ {
+ if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
+ return TRUE;
+ }
+
+ bed = get_elf_backend_data (finfo->output_bfd);
+
+ /* If we have an undefined symbol reference here then it must have
+ come from a shared library that is being linked in. (Undefined
+ references in regular files have already been handled). If we
+ are reporting errors for this situation then do so now. */
+ if (h->root.type == bfd_link_hash_undefined
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0
+ && ! elf_link_check_versioned_symbol (finfo->info, bed, h)
+ && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE)
+ {
+ if (! ((*finfo->info->callbacks->undefined_symbol)
+ (finfo->info, h->root.root.string, h->root.u.undef.abfd,
+ NULL, 0, finfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)))
+ {
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+ }
+
+ /* We should also warn if a forced local symbol is referenced from
+ shared libraries. */
+ if (! finfo->info->relocatable
+ && (! finfo->info->shared)
+ && (h->elf_link_hash_flags
+ & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK))
+ == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC)
+ && ! elf_link_check_versioned_symbol (finfo->info, bed, h))
+ {
+ (*_bfd_error_handler)
+ (_("%s: %s symbol `%s' in %s is referenced by DSO"),
+ bfd_get_filename (finfo->output_bfd),
+ ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
+ ? "internal"
+ : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN
+ ? "hidden" : "local",
+ h->root.root.string,
+ bfd_archive_filename (h->root.u.def.section->owner));
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+
+ /* We don't want to output symbols that have never been mentioned by
+ a regular file, or that we have been told to strip. However, if
+ h->indx is set to -2, the symbol is used by a reloc and we must
+ output it. */
+ if (h->indx == -2)
+ strip = FALSE;
+ else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
+ || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0)
+ strip = TRUE;
+ else if (finfo->info->strip == strip_all)
+ strip = TRUE;
+ else if (finfo->info->strip == strip_some
+ && bfd_hash_lookup (finfo->info->keep_hash,
+ h->root.root.string, FALSE, FALSE) == NULL)
+ strip = TRUE;
+ else if (finfo->info->strip_discarded
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && elf_discarded_section (h->root.u.def.section))
+ strip = TRUE;
+ else
+ strip = FALSE;
+
+ /* If we're stripping it, and it's not a dynamic symbol, there's
+ nothing else to do unless it is a forced local symbol. */
+ if (strip
+ && h->dynindx == -1
+ && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ return TRUE;
+
+ sym.st_value = 0;
+ sym.st_size = h->size;
+ sym.st_other = h->other;
+ if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
+ sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type);
+ else if (h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_defweak)
+ sym.st_info = ELF_ST_INFO (STB_WEAK, h->type);
+ else
+ sym.st_info = ELF_ST_INFO (STB_GLOBAL, h->type);
+
+ switch (h->root.type)
+ {
+ default:
+ case bfd_link_hash_new:
+ case bfd_link_hash_warning:
+ abort ();
+ return FALSE;
+
+ case bfd_link_hash_undefined:
+ case bfd_link_hash_undefweak:
+ input_sec = bfd_und_section_ptr;
+ sym.st_shndx = SHN_UNDEF;
+ break;
+
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ {
+ input_sec = h->root.u.def.section;
+ if (input_sec->output_section != NULL)
+ {
+ sym.st_shndx =
+ _bfd_elf_section_from_bfd_section (finfo->output_bfd,
+ input_sec->output_section);
+ if (sym.st_shndx == SHN_BAD)
+ {
+ (*_bfd_error_handler)
+ (_("%s: could not find output section %s for input section %s"),
+ bfd_get_filename (finfo->output_bfd),
+ input_sec->output_section->name,
+ input_sec->name);
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+
+ /* ELF symbols in relocatable files are section relative,
+ but in nonrelocatable files they are virtual
+ addresses. */
+ sym.st_value = h->root.u.def.value + input_sec->output_offset;
+ if (! finfo->info->relocatable)
+ {
+ sym.st_value += input_sec->output_section->vma;
+ if (h->type == STT_TLS)
+ {
+ /* STT_TLS symbols are relative to PT_TLS segment
+ base. */
+ BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL);
+ sym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma;
+ }
+ }
+ }
+ else
+ {
+ BFD_ASSERT (input_sec->owner == NULL
+ || (input_sec->owner->flags & DYNAMIC) != 0);
+ sym.st_shndx = SHN_UNDEF;
+ input_sec = bfd_und_section_ptr;
+ }
+ }
+ break;
+
+ case bfd_link_hash_common:
+ input_sec = h->root.u.c.p->section;
+ sym.st_shndx = SHN_COMMON;
+ sym.st_value = 1 << h->root.u.c.p->alignment_power;
+ break;
+
+ case bfd_link_hash_indirect:
+ /* These symbols are created by symbol versioning. They point
+ to the decorated version of the name. For example, if the
+ symbol foo@@GNU_1.2 is the default, which should be used when
+ foo is used with no version, then we add an indirect symbol
+ foo which points to foo@@GNU_1.2. We ignore these symbols,
+ since the indirected symbol is already in the hash table. */
+ return TRUE;
+ }
+
+ /* Give the processor backend a chance to tweak the symbol value,
+ and also to finish up anything that needs to be done for this
+ symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for
+ forced local syms when non-shared is due to a historical quirk. */
+ if ((h->dynindx != -1
+ || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
+ && ((finfo->info->shared
+ && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+ || h->root.type != bfd_link_hash_undefweak))
+ || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ && elf_hash_table (finfo->info)->dynamic_sections_created)
+ {
+ if (! ((*bed->elf_backend_finish_dynamic_symbol)
+ (finfo->output_bfd, finfo->info, h, &sym)))
+ {
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+ }
+
+ /* If we are marking the symbol as undefined, and there are no
+ non-weak references to this symbol from a regular object, then
+ mark the symbol as weak undefined; if there are non-weak
+ references, mark the symbol as strong. We can't do this earlier,
+ because it might not be marked as undefined until the
+ finish_dynamic_symbol routine gets through with it. */
+ if (sym.st_shndx == SHN_UNDEF
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0
+ && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL
+ || ELF_ST_BIND (sym.st_info) == STB_WEAK))
+ {
+ int bindtype;
+
+ if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0)
+ bindtype = STB_GLOBAL;
+ else
+ bindtype = STB_WEAK;
+ sym.st_info = ELF_ST_INFO (bindtype, ELF_ST_TYPE (sym.st_info));
+ }
+
+ /* If a non-weak symbol with non-default visibility is not defined
+ locally, it is a fatal error. */
+ if (! finfo->info->relocatable
+ && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
+ && ELF_ST_BIND (sym.st_info) != STB_WEAK
+ && h->root.type == bfd_link_hash_undefined
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ {
+ (*_bfd_error_handler)
+ (_("%s: %s symbol `%s' isn't defined"),
+ bfd_get_filename (finfo->output_bfd),
+ ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED
+ ? "protected"
+ : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL
+ ? "internal" : "hidden",
+ h->root.root.string);
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+
+ /* If this symbol should be put in the .dynsym section, then put it
+ there now. We already know the symbol index. We also fill in
+ the entry in the .hash section. */
+ if (h->dynindx != -1
+ && elf_hash_table (finfo->info)->dynamic_sections_created)
+ {
+ size_t bucketcount;
+ size_t bucket;
+ size_t hash_entry_size;
+ bfd_byte *bucketpos;
+ bfd_vma chain;
+ bfd_byte *esym;
+
+ sym.st_name = h->dynstr_index;
+ esym = finfo->dynsym_sec->contents + h->dynindx * bed->s->sizeof_sym;
+ bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0);
+
+ bucketcount = elf_hash_table (finfo->info)->bucketcount;
+ bucket = h->elf_hash_value % bucketcount;
+ hash_entry_size
+ = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize;
+ bucketpos = ((bfd_byte *) finfo->hash_sec->contents
+ + (bucket + 2) * hash_entry_size);
+ chain = bfd_get (8 * hash_entry_size, finfo->output_bfd, bucketpos);
+ bfd_put (8 * hash_entry_size, finfo->output_bfd, h->dynindx, bucketpos);
+ bfd_put (8 * hash_entry_size, finfo->output_bfd, chain,
+ ((bfd_byte *) finfo->hash_sec->contents
+ + (bucketcount + 2 + h->dynindx) * hash_entry_size));
+
+ if (finfo->symver_sec != NULL && finfo->symver_sec->contents != NULL)
+ {
+ Elf_Internal_Versym iversym;
+ Elf_External_Versym *eversym;
+
+ if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ {
+ if (h->verinfo.verdef == NULL)
+ iversym.vs_vers = 0;
+ else
+ iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1;
+ }
+ else
+ {
+ if (h->verinfo.vertree == NULL)
+ iversym.vs_vers = 1;
+ else
+ iversym.vs_vers = h->verinfo.vertree->vernum + 1;
+ }
+
+ if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0)
+ iversym.vs_vers |= VERSYM_HIDDEN;
+
+ eversym = (Elf_External_Versym *) finfo->symver_sec->contents;
+ eversym += h->dynindx;
+ _bfd_elf_swap_versym_out (finfo->output_bfd, &iversym, eversym);
+ }
+ }
+
+ /* If we're stripping it, then it was just a dynamic symbol, and
+ there's nothing else to do. */
+ if (strip || (input_sec->flags & SEC_EXCLUDE) != 0)
+ return TRUE;
+
+ h->indx = bfd_get_symcount (finfo->output_bfd);
+
+ if (! elf_link_output_sym (finfo, h->root.root.string, &sym, input_sec, h))
+ {
+ eoinfo->failed = TRUE;
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf_section_ignore_discarded_relocs (asection *sec)
+{
+ const struct elf_backend_data *bed;
+
+ switch (sec->sec_info_type)
+ {
+ case ELF_INFO_TYPE_STABS:
+ case ELF_INFO_TYPE_EH_FRAME:
+ return TRUE;
+ default:
+ break;
+ }
+
+ bed = get_elf_backend_data (sec->owner);
+ if (bed->elf_backend_ignore_discarded_relocs != NULL
+ && (*bed->elf_backend_ignore_discarded_relocs) (sec))
+ return TRUE;
+
+ return FALSE;
+}
+
+/* Link an input file into the linker output file. This function
+ handles all the sections and relocations of the input file at once.
+ This is so that we only have to read the local symbols once, and
+ don't have to keep them in memory. */
+
+static bfd_boolean
+elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
+{
+ bfd_boolean (*relocate_section)
+ (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
+ Elf_Internal_Rela *, Elf_Internal_Sym *, asection **);
+ bfd *output_bfd;
+ Elf_Internal_Shdr *symtab_hdr;
+ size_t locsymcount;
+ size_t extsymoff;
+ Elf_Internal_Sym *isymbuf;
+ Elf_Internal_Sym *isym;
+ Elf_Internal_Sym *isymend;
+ long *pindex;
+ asection **ppsection;
+ asection *o;
+ const struct elf_backend_data *bed;
+ bfd_boolean emit_relocs;
+ struct elf_link_hash_entry **sym_hashes;
+
+ output_bfd = finfo->output_bfd;
+ bed = get_elf_backend_data (output_bfd);
+ relocate_section = bed->elf_backend_relocate_section;
+
+ /* If this is a dynamic object, we don't want to do anything here:
+ we don't want the local symbols, and we don't want the section
+ contents. */
+ if ((input_bfd->flags & DYNAMIC) != 0)
+ return TRUE;
+
+ emit_relocs = (finfo->info->relocatable
+ || finfo->info->emitrelocations
+ || bed->elf_backend_emit_relocs);
+
+ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
+ if (elf_bad_symtab (input_bfd))
+ {
+ locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
+ extsymoff = 0;
+ }
+ else
+ {
+ locsymcount = symtab_hdr->sh_info;
+ extsymoff = symtab_hdr->sh_info;
+ }
+
+ /* Read the local symbols. */
+ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
+ if (isymbuf == NULL && locsymcount != 0)
+ {
+ isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, locsymcount, 0,
+ finfo->internal_syms,
+ finfo->external_syms,
+ finfo->locsym_shndx);
+ if (isymbuf == NULL)
+ return FALSE;
+ }
+
+ /* Find local symbol sections and adjust values of symbols in
+ SEC_MERGE sections. Write out those local symbols we know are
+ going into the output file. */
+ isymend = isymbuf + locsymcount;
+ for (isym = isymbuf, pindex = finfo->indices, ppsection = finfo->sections;
+ isym < isymend;
+ isym++, pindex++, ppsection++)
+ {
+ asection *isec;
+ const char *name;
+ Elf_Internal_Sym osym;
+
+ *pindex = -1;
+
+ if (elf_bad_symtab (input_bfd))
+ {
+ if (ELF_ST_BIND (isym->st_info) != STB_LOCAL)
+ {
+ *ppsection = NULL;
+ continue;
+ }
+ }
+
+ if (isym->st_shndx == SHN_UNDEF)
+ isec = bfd_und_section_ptr;
+ else if (isym->st_shndx < SHN_LORESERVE
+ || isym->st_shndx > SHN_HIRESERVE)
+ {
+ isec = bfd_section_from_elf_index (input_bfd, isym->st_shndx);
+ if (isec
+ && isec->sec_info_type == ELF_INFO_TYPE_MERGE
+ && ELF_ST_TYPE (isym->st_info) != STT_SECTION)
+ isym->st_value =
+ _bfd_merged_section_offset (output_bfd, &isec,
+ elf_section_data (isec)->sec_info,
+ isym->st_value, 0);
+ }
+ else if (isym->st_shndx == SHN_ABS)
+ isec = bfd_abs_section_ptr;
+ else if (isym->st_shndx == SHN_COMMON)
+ isec = bfd_com_section_ptr;
+ else
+ {
+ /* Who knows? */
+ isec = NULL;
+ }
+
+ *ppsection = isec;
+
+ /* Don't output the first, undefined, symbol. */
+ if (ppsection == finfo->sections)
+ continue;
+
+ if (ELF_ST_TYPE (isym->st_info) == STT_SECTION)
+ {
+ /* We never output section symbols. Instead, we use the
+ section symbol of the corresponding section in the output
+ file. */
+ continue;
+ }
+
+ /* If we are stripping all symbols, we don't want to output this
+ one. */
+ if (finfo->info->strip == strip_all)
+ continue;
+
+ /* If we are discarding all local symbols, we don't want to
+ output this one. If we are generating a relocatable output
+ file, then some of the local symbols may be required by
+ relocs; we output them below as we discover that they are
+ needed. */
+ if (finfo->info->discard == discard_all)
+ continue;
+
+ /* If this symbol is defined in a section which we are
+ discarding, we don't need to keep it, but note that
+ linker_mark is only reliable for sections that have contents.
+ For the benefit of the MIPS ELF linker, we check SEC_EXCLUDE
+ as well as linker_mark. */
+ if ((isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
+ && isec != NULL
+ && ((! isec->linker_mark && (isec->flags & SEC_HAS_CONTENTS) != 0)
+ || (! finfo->info->relocatable
+ && (isec->flags & SEC_EXCLUDE) != 0)))
+ continue;
+
+ /* Get the name of the symbol. */
+ name = bfd_elf_string_from_elf_section (input_bfd, symtab_hdr->sh_link,
+ isym->st_name);
+ if (name == NULL)
+ return FALSE;
+
+ /* See if we are discarding symbols with this name. */
+ if ((finfo->info->strip == strip_some
+ && (bfd_hash_lookup (finfo->info->keep_hash, name, FALSE, FALSE)
+ == NULL))
+ || (((finfo->info->discard == discard_sec_merge
+ && (isec->flags & SEC_MERGE) && ! finfo->info->relocatable)
+ || finfo->info->discard == discard_l)
+ && bfd_is_local_label_name (input_bfd, name)))
+ continue;
+
+ /* If we get here, we are going to output this symbol. */
+
+ osym = *isym;
+
+ /* Adjust the section index for the output file. */
+ osym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd,
+ isec->output_section);
+ if (osym.st_shndx == SHN_BAD)
+ return FALSE;
+
+ *pindex = bfd_get_symcount (output_bfd);
+
+ /* ELF symbols in relocatable files are section relative, but
+ in executable files they are virtual addresses. Note that
+ this code assumes that all ELF sections have an associated
+ BFD section with a reasonable value for output_offset; below
+ we assume that they also have a reasonable value for
+ output_section. Any special sections must be set up to meet
+ these requirements. */
+ osym.st_value += isec->output_offset;
+ if (! finfo->info->relocatable)
+ {
+ osym.st_value += isec->output_section->vma;
+ if (ELF_ST_TYPE (osym.st_info) == STT_TLS)
+ {
+ /* STT_TLS symbols are relative to PT_TLS segment base. */
+ BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL);
+ osym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma;
+ }
+ }
+
+ if (! elf_link_output_sym (finfo, name, &osym, isec, NULL))
+ return FALSE;
+ }
+
+ /* Relocate the contents of each section. */
+ sym_hashes = elf_sym_hashes (input_bfd);
+ for (o = input_bfd->sections; o != NULL; o = o->next)
+ {
+ bfd_byte *contents;
+
+ if (! o->linker_mark)
+ {
+ /* This section was omitted from the link. */
+ continue;
+ }
+
+ if ((o->flags & SEC_HAS_CONTENTS) == 0
+ || (o->_raw_size == 0 && (o->flags & SEC_RELOC) == 0))
+ continue;
+
+ if ((o->flags & SEC_LINKER_CREATED) != 0)
+ {
+ /* Section was created by _bfd_elf_link_create_dynamic_sections
+ or somesuch. */
+ continue;
+ }
+
+ /* Get the contents of the section. They have been cached by a
+ relaxation routine. Note that o is a section in an input
+ file, so the contents field will not have been set by any of
+ the routines which work on output files. */
+ if (elf_section_data (o)->this_hdr.contents != NULL)
+ contents = elf_section_data (o)->this_hdr.contents;
+ else
+ {
+ contents = finfo->contents;
+ if (! bfd_get_section_contents (input_bfd, o, contents, 0,
+ o->_raw_size))
+ return FALSE;
+ }
+
+ if ((o->flags & SEC_RELOC) != 0)
+ {
+ Elf_Internal_Rela *internal_relocs;
+ bfd_vma r_type_mask;
+ int r_sym_shift;
+
+ /* Get the swapped relocs. */
+ internal_relocs
+ = _bfd_elf_link_read_relocs (input_bfd, o, finfo->external_relocs,
+ finfo->internal_relocs, FALSE);
+ if (internal_relocs == NULL
+ && o->reloc_count > 0)
+ return FALSE;
+
+ if (bed->s->arch_size == 32)
+ {
+ r_type_mask = 0xff;
+ r_sym_shift = 8;
+ }
+ else
+ {
+ r_type_mask = 0xffffffff;
+ r_sym_shift = 32;
+ }
+
+ /* Run through the relocs looking for any against symbols
+ from discarded sections and section symbols from
+ removed link-once sections. Complain about relocs
+ against discarded sections. Zero relocs against removed
+ link-once sections. Preserve debug information as much
+ as we can. */
+ if (!elf_section_ignore_discarded_relocs (o))
+ {
+ Elf_Internal_Rela *rel, *relend;
+
+ rel = internal_relocs;
+ relend = rel + o->reloc_count * bed->s->int_rels_per_ext_rel;
+ for ( ; rel < relend; rel++)
+ {
+ unsigned long r_symndx = rel->r_info >> r_sym_shift;
+ asection *sec;
+
+ if (r_symndx >= locsymcount
+ || (elf_bad_symtab (input_bfd)
+ && finfo->sections[r_symndx] == NULL))
+ {
+ struct elf_link_hash_entry *h;
+
+ h = sym_hashes[r_symndx - extsymoff];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* Complain if the definition comes from a
+ discarded section. */
+ sec = h->root.u.def.section;
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && elf_discarded_section (sec))
+ {
+ if ((o->flags & SEC_DEBUGGING) != 0)
+ {
+ BFD_ASSERT (r_symndx != 0);
+ /* Try to preserve debug information. */
+ if ((o->flags & SEC_DEBUGGING) != 0
+ && sec->kept_section != NULL
+ && sec->_raw_size == sec->kept_section->_raw_size)
+ h->root.u.def.section
+ = sec->kept_section;
+ else
+ memset (rel, 0, sizeof (*rel));
+ }
+ else
+ finfo->info->callbacks->error_handler
+ (LD_DEFINITION_IN_DISCARDED_SECTION,
+ _("%T: discarded in section `%s' from %s\n"),
+ h->root.root.string,
+ h->root.root.string,
+ h->root.u.def.section->name,
+ bfd_archive_filename (h->root.u.def.section->owner));
+ }
+ }
+ else
+ {
+ sec = finfo->sections[r_symndx];
+
+ if (sec != NULL && elf_discarded_section (sec))
+ {
+ if ((o->flags & SEC_DEBUGGING) != 0
+ || (sec->flags & SEC_LINK_ONCE) != 0)
+ {
+ BFD_ASSERT (r_symndx != 0);
+ /* Try to preserve debug information. */
+ if ((o->flags & SEC_DEBUGGING) != 0
+ && sec->kept_section != NULL
+ && sec->_raw_size == sec->kept_section->_raw_size)
+ finfo->sections[r_symndx]
+ = sec->kept_section;
+ else
+ {
+ rel->r_info &= r_type_mask;
+ rel->r_addend = 0;
+ }
+ }
+ else
+ {
+ static int count;
+ int ok;
+ char *buf;
+
+ ok = asprintf (&buf, "local symbol %d",
+ count++);
+ if (ok <= 0)
+ buf = (char *) "local symbol";
+ finfo->info->callbacks->error_handler
+ (LD_DEFINITION_IN_DISCARDED_SECTION,
+ _("%T: discarded in section `%s' from %s\n"),
+ buf, buf, sec->name,
+ bfd_archive_filename (input_bfd));
+ if (ok != -1)
+ free (buf);
+ }
+ }
+ }
+ }
+ }
+
+ /* Relocate the section by invoking a back end routine.
+
+ The back end routine is responsible for adjusting the
+ section contents as necessary, and (if using Rela relocs
+ and generating a relocatable output file) adjusting the
+ reloc addend as necessary.
+
+ The back end routine does not have to worry about setting
+ the reloc address or the reloc symbol index.
+
+ The back end routine is given a pointer to the swapped in
+ internal symbols, and can access the hash table entries
+ for the external symbols via elf_sym_hashes (input_bfd).
+
+ When generating relocatable output, the back end routine
+ must handle STB_LOCAL/STT_SECTION symbols specially. The
+ output symbol is going to be a section symbol
+ corresponding to the output section, which will require
+ the addend to be adjusted. */
+
+ if (! (*relocate_section) (output_bfd, finfo->info,
+ input_bfd, o, contents,
+ internal_relocs,
+ isymbuf,
+ finfo->sections))
+ return FALSE;
+
+ if (emit_relocs)
+ {
+ Elf_Internal_Rela *irela;
+ Elf_Internal_Rela *irelaend;
+ bfd_vma last_offset;
+ struct elf_link_hash_entry **rel_hash;
+ Elf_Internal_Shdr *input_rel_hdr, *input_rel_hdr2;
+ unsigned int next_erel;
+ bfd_boolean (*reloc_emitter)
+ (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *);
+ bfd_boolean rela_normal;
+
+ input_rel_hdr = &elf_section_data (o)->rel_hdr;
+ rela_normal = (bed->rela_normal
+ && (input_rel_hdr->sh_entsize
+ == bed->s->sizeof_rela));
+
+ /* Adjust the reloc addresses and symbol indices. */
+
+ irela = internal_relocs;
+ irelaend = irela + o->reloc_count * bed->s->int_rels_per_ext_rel;
+ rel_hash = (elf_section_data (o->output_section)->rel_hashes
+ + elf_section_data (o->output_section)->rel_count
+ + elf_section_data (o->output_section)->rel_count2);
+ last_offset = o->output_offset;
+ if (!finfo->info->relocatable)
+ last_offset += o->output_section->vma;
+ for (next_erel = 0; irela < irelaend; irela++, next_erel++)
+ {
+ unsigned long r_symndx;
+ asection *sec;
+ Elf_Internal_Sym sym;
+
+ if (next_erel == bed->s->int_rels_per_ext_rel)
+ {
+ rel_hash++;
+ next_erel = 0;
+ }
+
+ irela->r_offset = _bfd_elf_section_offset (output_bfd,
+ finfo->info, o,
+ irela->r_offset);
+ if (irela->r_offset >= (bfd_vma) -2)
+ {
+ /* This is a reloc for a deleted entry or somesuch.
+ Turn it into an R_*_NONE reloc, at the same
+ offset as the last reloc. elf_eh_frame.c and
+ elf_bfd_discard_info rely on reloc offsets
+ being ordered. */
+ irela->r_offset = last_offset;
+ irela->r_info = 0;
+ irela->r_addend = 0;
+ continue;
+ }
+
+ irela->r_offset += o->output_offset;
+
+ /* Relocs in an executable have to be virtual addresses. */
+ if (!finfo->info->relocatable)
+ irela->r_offset += o->output_section->vma;
+
+ last_offset = irela->r_offset;
+
+ r_symndx = irela->r_info >> r_sym_shift;
+ if (r_symndx == STN_UNDEF)
+ continue;
+
+ if (r_symndx >= locsymcount
+ || (elf_bad_symtab (input_bfd)
+ && finfo->sections[r_symndx] == NULL))
+ {
+ struct elf_link_hash_entry *rh;
+ unsigned long indx;
+
+ /* This is a reloc against a global symbol. We
+ have not yet output all the local symbols, so
+ we do not know the symbol index of any global
+ symbol. We set the rel_hash entry for this
+ reloc to point to the global hash table entry
+ for this symbol. The symbol index is then
+ set at the end of elf_bfd_final_link. */
+ indx = r_symndx - extsymoff;
+ rh = elf_sym_hashes (input_bfd)[indx];
+ while (rh->root.type == bfd_link_hash_indirect
+ || rh->root.type == bfd_link_hash_warning)
+ rh = (struct elf_link_hash_entry *) rh->root.u.i.link;
+
+ /* Setting the index to -2 tells
+ elf_link_output_extsym that this symbol is
+ used by a reloc. */
+ BFD_ASSERT (rh->indx < 0);
+ rh->indx = -2;
+
+ *rel_hash = rh;
+
+ continue;
+ }
+
+ /* This is a reloc against a local symbol. */
+
+ *rel_hash = NULL;
+ sym = isymbuf[r_symndx];
+ sec = finfo->sections[r_symndx];
+ if (ELF_ST_TYPE (sym.st_info) == STT_SECTION)
+ {
+ /* I suppose the backend ought to fill in the
+ section of any STT_SECTION symbol against a
+ processor specific section. */
+ r_symndx = 0;
+ if (bfd_is_abs_section (sec))
+ ;
+ else if (sec == NULL || sec->owner == NULL)
+ {
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ else
+ {
+ asection *osec = sec->output_section;
+
+ /* If we have discarded a section, the output
+ section will be the absolute section. In
+ case of discarded link-once and discarded
+ SEC_MERGE sections, use the kept section. */
+ if (bfd_is_abs_section (osec)
+ && sec->kept_section != NULL
+ && sec->kept_section->output_section != NULL)
+ {
+ osec = sec->kept_section->output_section;
+ irela->r_addend -= osec->vma;
+ }
+
+ if (!bfd_is_abs_section (osec))
+ {
+ r_symndx = osec->target_index;
+ BFD_ASSERT (r_symndx != 0);
+ }
+ }
+
+ /* Adjust the addend according to where the
+ section winds up in the output section. */
+ if (rela_normal)
+ irela->r_addend += sec->output_offset;
+ }
+ else
+ {
+ if (finfo->indices[r_symndx] == -1)
+ {
+ unsigned long shlink;
+ const char *name;
+ asection *osec;
+
+ if (finfo->info->strip == strip_all)
+ {
+ /* You can't do ld -r -s. */
+ bfd_set_error (bfd_error_invalid_operation);
+ return FALSE;
+ }
+
+ /* This symbol was skipped earlier, but
+ since it is needed by a reloc, we
+ must output it now. */
+ shlink = symtab_hdr->sh_link;
+ name = (bfd_elf_string_from_elf_section
+ (input_bfd, shlink, sym.st_name));
+ if (name == NULL)
+ return FALSE;
+
+ osec = sec->output_section;
+ sym.st_shndx =
+ _bfd_elf_section_from_bfd_section (output_bfd,
+ osec);
+ if (sym.st_shndx == SHN_BAD)
+ return FALSE;
+
+ sym.st_value += sec->output_offset;
+ if (! finfo->info->relocatable)
+ {
+ sym.st_value += osec->vma;
+ if (ELF_ST_TYPE (sym.st_info) == STT_TLS)
+ {
+ /* STT_TLS symbols are relative to PT_TLS
+ segment base. */
+ BFD_ASSERT (elf_hash_table (finfo->info)
+ ->tls_sec != NULL);
+ sym.st_value -= (elf_hash_table (finfo->info)
+ ->tls_sec->vma);
+ }
+ }
+
+ finfo->indices[r_symndx]
+ = bfd_get_symcount (output_bfd);
+
+ if (! elf_link_output_sym (finfo, name, &sym, sec,
+ NULL))
+ return FALSE;
+ }
+
+ r_symndx = finfo->indices[r_symndx];
+ }
+
+ irela->r_info = ((bfd_vma) r_symndx << r_sym_shift
+ | (irela->r_info & r_type_mask));
+ }
+
+ /* Swap out the relocs. */
+ if (bed->elf_backend_emit_relocs
+ && !(finfo->info->relocatable
+ || finfo->info->emitrelocations))
+ reloc_emitter = bed->elf_backend_emit_relocs;
+ else
+ reloc_emitter = _bfd_elf_link_output_relocs;
+
+ if (input_rel_hdr->sh_size != 0
+ && ! (*reloc_emitter) (output_bfd, o, input_rel_hdr,
+ internal_relocs))
+ return FALSE;
+
+ input_rel_hdr2 = elf_section_data (o)->rel_hdr2;
+ if (input_rel_hdr2 && input_rel_hdr2->sh_size != 0)
+ {
+ internal_relocs += (NUM_SHDR_ENTRIES (input_rel_hdr)
+ * bed->s->int_rels_per_ext_rel);
+ if (! (*reloc_emitter) (output_bfd, o, input_rel_hdr2,
+ internal_relocs))
+ return FALSE;
+ }
+ }
+ }
+
+ /* Write out the modified section contents. */
+ if (bed->elf_backend_write_section
+ && (*bed->elf_backend_write_section) (output_bfd, o, contents))
+ {
+ /* Section written out. */
+ }
+ else switch (o->sec_info_type)
+ {
+ case ELF_INFO_TYPE_STABS:
+ if (! (_bfd_write_section_stabs
+ (output_bfd,
+ &elf_hash_table (finfo->info)->stab_info,
+ o, &elf_section_data (o)->sec_info, contents)))
+ return FALSE;
+ break;
+ case ELF_INFO_TYPE_MERGE:
+ if (! _bfd_write_merged_section (output_bfd, o,
+ elf_section_data (o)->sec_info))
+ return FALSE;
+ break;
+ case ELF_INFO_TYPE_EH_FRAME:
+ {
+ if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info,
+ o, contents))
+ return FALSE;
+ }
+ break;
+ default:
+ {
+ bfd_size_type sec_size;
+
+ sec_size = (o->_cooked_size != 0 ? o->_cooked_size : o->_raw_size);
+ if (! (o->flags & SEC_EXCLUDE)
+ && ! bfd_set_section_contents (output_bfd, o->output_section,
+ contents,
+ (file_ptr) o->output_offset,
+ sec_size))
+ return FALSE;
+ }
+ break;
+ }
+ }
+
+ return TRUE;
+}
+
+/* Generate a reloc when linking an ELF file. This is a reloc
+ requested by the linker, and does come from any input file. This
+ is used to build constructor and destructor tables when linking
+ with -Ur. */
+
+static bfd_boolean
+elf_reloc_link_order (bfd *output_bfd,
+ struct bfd_link_info *info,
+ asection *output_section,
+ struct bfd_link_order *link_order)
+{
+ reloc_howto_type *howto;
+ long indx;
+ bfd_vma offset;
+ bfd_vma addend;
+ struct elf_link_hash_entry **rel_hash_ptr;
+ Elf_Internal_Shdr *rel_hdr;
+ const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ Elf_Internal_Rela irel[MAX_INT_RELS_PER_EXT_REL];
+ bfd_byte *erel;
+ unsigned int i;
+
+ howto = bfd_reloc_type_lookup (output_bfd, link_order->u.reloc.p->reloc);
+ if (howto == NULL)
+ {
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
+ addend = link_order->u.reloc.p->addend;
+
+ /* Figure out the symbol index. */
+ rel_hash_ptr = (elf_section_data (output_section)->rel_hashes
+ + elf_section_data (output_section)->rel_count
+ + elf_section_data (output_section)->rel_count2);
+ if (link_order->type == bfd_section_reloc_link_order)
+ {
+ indx = link_order->u.reloc.p->u.section->target_index;
+ BFD_ASSERT (indx != 0);
+ *rel_hash_ptr = NULL;
+ }
+ else
+ {
+ struct elf_link_hash_entry *h;
+
+ /* Treat a reloc against a defined symbol as though it were
+ actually against the section. */
+ h = ((struct elf_link_hash_entry *)
+ bfd_wrapped_link_hash_lookup (output_bfd, info,
+ link_order->u.reloc.p->u.name,
+ FALSE, FALSE, TRUE));
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak))
+ {
+ asection *section;
+
+ section = h->root.u.def.section;
+ indx = section->output_section->target_index;
+ *rel_hash_ptr = NULL;
+ /* It seems that we ought to add the symbol value to the
+ addend here, but in practice it has already been added
+ because it was passed to constructor_callback. */
+ addend += section->output_section->vma + section->output_offset;
+ }
+ else if (h != NULL)
+ {
+ /* Setting the index to -2 tells elf_link_output_extsym that
+ this symbol is used by a reloc. */
+ h->indx = -2;
+ *rel_hash_ptr = h;
+ indx = 0;
+ }
+ else
+ {
+ if (! ((*info->callbacks->unattached_reloc)
+ (info, link_order->u.reloc.p->u.name, NULL, NULL, 0)))
+ return FALSE;
+ indx = 0;
+ }
+ }
+
+ /* If this is an inplace reloc, we must write the addend into the
+ object file. */
+ if (howto->partial_inplace && addend != 0)
+ {
+ bfd_size_type size;
+ bfd_reloc_status_type rstat;
+ bfd_byte *buf;
+ bfd_boolean ok;
+ const char *sym_name;
+
+ size = bfd_get_reloc_size (howto);
+ buf = bfd_zmalloc (size);
+ if (buf == NULL)
+ return FALSE;
+ rstat = _bfd_relocate_contents (howto, output_bfd, addend, buf);
+ switch (rstat)
+ {
+ case bfd_reloc_ok:
+ break;
+
+ default:
+ case bfd_reloc_outofrange:
+ abort ();
+
+ case bfd_reloc_overflow:
+ if (link_order->type == bfd_section_reloc_link_order)
+ sym_name = bfd_section_name (output_bfd,
+ link_order->u.reloc.p->u.section);
+ else
+ sym_name = link_order->u.reloc.p->u.name;
+ if (! ((*info->callbacks->reloc_overflow)
+ (info, sym_name, howto->name, addend, NULL, NULL, 0)))
+ {
+ free (buf);
+ return FALSE;
+ }
+ break;
+ }
+ ok = bfd_set_section_contents (output_bfd, output_section, buf,
+ link_order->offset, size);
+ free (buf);
+ if (! ok)
+ return FALSE;
+ }
+
+ /* The address of a reloc is relative to the section in a
+ relocatable file, and is a virtual address in an executable
+ file. */
+ offset = link_order->offset;
+ if (! info->relocatable)
+ offset += output_section->vma;
+
+ for (i = 0; i < bed->s->int_rels_per_ext_rel; i++)
+ {
+ irel[i].r_offset = offset;
+ irel[i].r_info = 0;
+ irel[i].r_addend = 0;
+ }
+ if (bed->s->arch_size == 32)
+ irel[0].r_info = ELF32_R_INFO (indx, howto->type);
+ else
+ irel[0].r_info = ELF64_R_INFO (indx, howto->type);
+
+ rel_hdr = &elf_section_data (output_section)->rel_hdr;
+ erel = rel_hdr->contents;
+ if (rel_hdr->sh_type == SHT_REL)
+ {
+ erel += (elf_section_data (output_section)->rel_count
+ * bed->s->sizeof_rel);
+ (*bed->s->swap_reloc_out) (output_bfd, irel, erel);
+ }
+ else
+ {
+ irel[0].r_addend = addend;
+ erel += (elf_section_data (output_section)->rel_count
+ * bed->s->sizeof_rela);
+ (*bed->s->swap_reloca_out) (output_bfd, irel, erel);
+ }
+
+ ++elf_section_data (output_section)->rel_count;
+
+ return TRUE;
+}
+
+/* Do the final step of an ELF link. */
+
+bfd_boolean
+bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
+{
+ bfd_boolean dynamic;
+ bfd_boolean emit_relocs;
+ bfd *dynobj;
+ struct elf_final_link_info finfo;
+ register asection *o;
+ register struct bfd_link_order *p;
+ register bfd *sub;
+ bfd_size_type max_contents_size;
+ bfd_size_type max_external_reloc_size;
+ bfd_size_type max_internal_reloc_count;
+ bfd_size_type max_sym_count;
+ bfd_size_type max_sym_shndx_count;
+ file_ptr off;
+ Elf_Internal_Sym elfsym;
+ unsigned int i;
+ Elf_Internal_Shdr *symtab_hdr;
+ Elf_Internal_Shdr *symtab_shndx_hdr;
+ Elf_Internal_Shdr *symstrtab_hdr;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ struct elf_outext_info eoinfo;
+ bfd_boolean merged;
+ size_t relativecount = 0;
+ asection *reldyn = 0;
+ bfd_size_type amt;
+
+ if (! is_elf_hash_table (info->hash))
+ return FALSE;
+
+ if (info->shared)
+ abfd->flags |= DYNAMIC;
+
+ dynamic = elf_hash_table (info)->dynamic_sections_created;
+ dynobj = elf_hash_table (info)->dynobj;
+
+ emit_relocs = (info->relocatable
+ || info->emitrelocations
+ || bed->elf_backend_emit_relocs);
+
+ finfo.info = info;
+ finfo.output_bfd = abfd;
+ finfo.symstrtab = _bfd_elf_stringtab_init ();
+ if (finfo.symstrtab == NULL)
+ return FALSE;
+
+ if (! dynamic)
+ {
+ finfo.dynsym_sec = NULL;
+ finfo.hash_sec = NULL;
+ finfo.symver_sec = NULL;
+ }
+ else
+ {
+ finfo.dynsym_sec = bfd_get_section_by_name (dynobj, ".dynsym");
+ finfo.hash_sec = bfd_get_section_by_name (dynobj, ".hash");
+ BFD_ASSERT (finfo.dynsym_sec != NULL && finfo.hash_sec != NULL);
+ finfo.symver_sec = bfd_get_section_by_name (dynobj, ".gnu.version");
+ /* Note that it is OK if symver_sec is NULL. */
+ }
+
+ finfo.contents = NULL;
+ finfo.external_relocs = NULL;
+ finfo.internal_relocs = NULL;
+ finfo.external_syms = NULL;
+ finfo.locsym_shndx = NULL;
+ finfo.internal_syms = NULL;
+ finfo.indices = NULL;
+ finfo.sections = NULL;
+ finfo.symbuf = NULL;
+ finfo.symshndxbuf = NULL;
+ finfo.symbuf_count = 0;
+ finfo.shndxbuf_size = 0;
+
+ /* Count up the number of relocations we will output for each output
+ section, so that we know the sizes of the reloc sections. We
+ also figure out some maximum sizes. */
+ max_contents_size = 0;
+ max_external_reloc_size = 0;
+ max_internal_reloc_count = 0;
+ max_sym_count = 0;
+ max_sym_shndx_count = 0;
+ merged = FALSE;
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ struct bfd_elf_section_data *esdo = elf_section_data (o);
+ o->reloc_count = 0;
+
+ for (p = o->link_order_head; p != NULL; p = p->next)
+ {
+ unsigned int reloc_count = 0;
+ struct bfd_elf_section_data *esdi = NULL;
+ unsigned int *rel_count1;
+
+ if (p->type == bfd_section_reloc_link_order
+ || p->type == bfd_symbol_reloc_link_order)
+ reloc_count = 1;
+ else if (p->type == bfd_indirect_link_order)
+ {
+ asection *sec;
+
+ sec = p->u.indirect.section;
+ esdi = elf_section_data (sec);
+
+ /* Mark all sections which are to be included in the
+ link. This will normally be every section. We need
+ to do this so that we can identify any sections which
+ the linker has decided to not include. */
+ sec->linker_mark = TRUE;
+
+ if (sec->flags & SEC_MERGE)
+ merged = TRUE;
+
+ if (info->relocatable || info->emitrelocations)
+ reloc_count = sec->reloc_count;
+ else if (bed->elf_backend_count_relocs)
+ {
+ Elf_Internal_Rela * relocs;
+
+ relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
+ info->keep_memory);
+
+ reloc_count = (*bed->elf_backend_count_relocs) (sec, relocs);
+
+ if (elf_section_data (o)->relocs != relocs)
+ free (relocs);
+ }
+
+ if (sec->_raw_size > max_contents_size)
+ max_contents_size = sec->_raw_size;
+ if (sec->_cooked_size > max_contents_size)
+ max_contents_size = sec->_cooked_size;
+
+ /* We are interested in just local symbols, not all
+ symbols. */
+ if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour
+ && (sec->owner->flags & DYNAMIC) == 0)
+ {
+ size_t sym_count;
+
+ if (elf_bad_symtab (sec->owner))
+ sym_count = (elf_tdata (sec->owner)->symtab_hdr.sh_size
+ / bed->s->sizeof_sym);
+ else
+ sym_count = elf_tdata (sec->owner)->symtab_hdr.sh_info;
+
+ if (sym_count > max_sym_count)
+ max_sym_count = sym_count;
+
+ if (sym_count > max_sym_shndx_count
+ && elf_symtab_shndx (sec->owner) != 0)
+ max_sym_shndx_count = sym_count;
+
+ if ((sec->flags & SEC_RELOC) != 0)
+ {
+ size_t ext_size;
+
+ ext_size = elf_section_data (sec)->rel_hdr.sh_size;
+ if (ext_size > max_external_reloc_size)
+ max_external_reloc_size = ext_size;
+ if (sec->reloc_count > max_internal_reloc_count)
+ max_internal_reloc_count = sec->reloc_count;
+ }
+ }
+ }
+
+ if (reloc_count == 0)
+ continue;
+
+ o->reloc_count += reloc_count;
+
+ /* MIPS may have a mix of REL and RELA relocs on sections.
+ To support this curious ABI we keep reloc counts in
+ elf_section_data too. We must be careful to add the
+ relocations from the input section to the right output
+ count. FIXME: Get rid of one count. We have
+ o->reloc_count == esdo->rel_count + esdo->rel_count2. */
+ rel_count1 = &esdo->rel_count;
+ if (esdi != NULL)
+ {
+ bfd_boolean same_size;
+ bfd_size_type entsize1;
+
+ entsize1 = esdi->rel_hdr.sh_entsize;
+ BFD_ASSERT (entsize1 == bed->s->sizeof_rel
+ || entsize1 == bed->s->sizeof_rela);
+ same_size = !o->use_rela_p == (entsize1 == bed->s->sizeof_rel);
+
+ if (!same_size)
+ rel_count1 = &esdo->rel_count2;
+
+ if (esdi->rel_hdr2 != NULL)
+ {
+ bfd_size_type entsize2 = esdi->rel_hdr2->sh_entsize;
+ unsigned int alt_count;
+ unsigned int *rel_count2;
+
+ BFD_ASSERT (entsize2 != entsize1
+ && (entsize2 == bed->s->sizeof_rel
+ || entsize2 == bed->s->sizeof_rela));
+
+ rel_count2 = &esdo->rel_count2;
+ if (!same_size)
+ rel_count2 = &esdo->rel_count;
+
+ /* The following is probably too simplistic if the
+ backend counts output relocs unusually. */
+ BFD_ASSERT (bed->elf_backend_count_relocs == NULL);
+ alt_count = NUM_SHDR_ENTRIES (esdi->rel_hdr2);
+ *rel_count2 += alt_count;
+ reloc_count -= alt_count;
+ }
+ }
+ *rel_count1 += reloc_count;
+ }
+
+ if (o->reloc_count > 0)
+ o->flags |= SEC_RELOC;
+ else
+ {
+ /* Explicitly clear the SEC_RELOC flag. The linker tends to
+ set it (this is probably a bug) and if it is set
+ assign_section_numbers will create a reloc section. */
+ o->flags &=~ SEC_RELOC;
+ }
+
+ /* If the SEC_ALLOC flag is not set, force the section VMA to
+ zero. This is done in elf_fake_sections as well, but forcing
+ the VMA to 0 here will ensure that relocs against these
+ sections are handled correctly. */
+ if ((o->flags & SEC_ALLOC) == 0
+ && ! o->user_set_vma)
+ o->vma = 0;
+ }
+
+ if (! info->relocatable && merged)
+ elf_link_hash_traverse (elf_hash_table (info),
+ _bfd_elf_link_sec_merge_syms, abfd);
+
+ /* Figure out the file positions for everything but the symbol table
+ and the relocs. We set symcount to force assign_section_numbers
+ to create a symbol table. */
+ bfd_get_symcount (abfd) = info->strip == strip_all ? 0 : 1;
+ BFD_ASSERT (! abfd->output_has_begun);
+ if (! _bfd_elf_compute_section_file_positions (abfd, info))
+ goto error_return;
+
+ /* That created the reloc sections. Set their sizes, and assign
+ them file positions, and allocate some buffers. */
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ if ((o->flags & SEC_RELOC) != 0)
+ {
+ if (!(_bfd_elf_link_size_reloc_section
+ (abfd, &elf_section_data (o)->rel_hdr, o)))
+ goto error_return;
+
+ if (elf_section_data (o)->rel_hdr2
+ && !(_bfd_elf_link_size_reloc_section
+ (abfd, elf_section_data (o)->rel_hdr2, o)))
+ goto error_return;
+ }
+
+ /* Now, reset REL_COUNT and REL_COUNT2 so that we can use them
+ to count upwards while actually outputting the relocations. */
+ elf_section_data (o)->rel_count = 0;
+ elf_section_data (o)->rel_count2 = 0;
+ }
+
+ _bfd_elf_assign_file_positions_for_relocs (abfd);
+
+ /* We have now assigned file positions for all the sections except
+ .symtab and .strtab. We start the .symtab section at the current
+ file position, and write directly to it. We build the .strtab
+ section in memory. */
+ bfd_get_symcount (abfd) = 0;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ /* sh_name is set in prep_headers. */
+ symtab_hdr->sh_type = SHT_SYMTAB;
+ /* sh_flags, sh_addr and sh_size all start off zero. */
+ symtab_hdr->sh_entsize = bed->s->sizeof_sym;
+ /* sh_link is set in assign_section_numbers. */
+ /* sh_info is set below. */
+ /* sh_offset is set just below. */
+ symtab_hdr->sh_addralign = 1 << bed->s->log_file_align;
+
+ off = elf_tdata (abfd)->next_file_pos;
+ off = _bfd_elf_assign_file_position_for_section (symtab_hdr, off, TRUE);
+
+ /* Note that at this point elf_tdata (abfd)->next_file_pos is
+ incorrect. We do not yet know the size of the .symtab section.
+ We correct next_file_pos below, after we do know the size. */
+
+ /* Allocate a buffer to hold swapped out symbols. This is to avoid
+ continuously seeking to the right position in the file. */
+ if (! info->keep_memory || max_sym_count < 20)
+ finfo.symbuf_size = 20;
+ else
+ finfo.symbuf_size = max_sym_count;
+ amt = finfo.symbuf_size;
+ amt *= bed->s->sizeof_sym;
+ finfo.symbuf = bfd_malloc (amt);
+ if (finfo.symbuf == NULL)
+ goto error_return;
+ if (elf_numsections (abfd) > SHN_LORESERVE)
+ {
+ /* Wild guess at number of output symbols. realloc'd as needed. */
+ amt = 2 * max_sym_count + elf_numsections (abfd) + 1000;
+ finfo.shndxbuf_size = amt;
+ amt *= sizeof (Elf_External_Sym_Shndx);
+ finfo.symshndxbuf = bfd_zmalloc (amt);
+ if (finfo.symshndxbuf == NULL)
+ goto error_return;
+ }
+
+ /* Start writing out the symbol table. The first symbol is always a
+ dummy symbol. */
+ if (info->strip != strip_all
+ || emit_relocs)
+ {
+ elfsym.st_value = 0;
+ elfsym.st_size = 0;
+ elfsym.st_info = 0;
+ elfsym.st_other = 0;
+ elfsym.st_shndx = SHN_UNDEF;
+ if (! elf_link_output_sym (&finfo, NULL, &elfsym, bfd_und_section_ptr,
+ NULL))
+ goto error_return;
+ }
+
+#if 0
+ /* Some standard ELF linkers do this, but we don't because it causes
+ bootstrap comparison failures. */
+ /* Output a file symbol for the output file as the second symbol.
+ We output this even if we are discarding local symbols, although
+ I'm not sure if this is correct. */
+ elfsym.st_value = 0;
+ elfsym.st_size = 0;
+ elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
+ elfsym.st_other = 0;
+ elfsym.st_shndx = SHN_ABS;
+ if (! elf_link_output_sym (&finfo, bfd_get_filename (abfd),
+ &elfsym, bfd_abs_section_ptr, NULL))
+ goto error_return;
+#endif
+
+ /* Output a symbol for each section. We output these even if we are
+ discarding local symbols, since they are used for relocs. These
+ symbols have no names. We store the index of each one in the
+ index field of the section, so that we can find it again when
+ outputting relocs. */
+ if (info->strip != strip_all
+ || emit_relocs)
+ {
+ elfsym.st_size = 0;
+ elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
+ elfsym.st_other = 0;
+ for (i = 1; i < elf_numsections (abfd); i++)
+ {
+ o = bfd_section_from_elf_index (abfd, i);
+ if (o != NULL)
+ o->target_index = bfd_get_symcount (abfd);
+ elfsym.st_shndx = i;
+ if (info->relocatable || o == NULL)
+ elfsym.st_value = 0;
+ else
+ elfsym.st_value = o->vma;
+ if (! elf_link_output_sym (&finfo, NULL, &elfsym, o, NULL))
+ goto error_return;
+ if (i == SHN_LORESERVE - 1)
+ i += SHN_HIRESERVE + 1 - SHN_LORESERVE;
+ }
+ }
+
+ /* Allocate some memory to hold information read in from the input
+ files. */
+ if (max_contents_size != 0)
+ {
+ finfo.contents = bfd_malloc (max_contents_size);
+ if (finfo.contents == NULL)
+ goto error_return;
+ }
+
+ if (max_external_reloc_size != 0)
+ {
+ finfo.external_relocs = bfd_malloc (max_external_reloc_size);
+ if (finfo.external_relocs == NULL)
+ goto error_return;
+ }
+
+ if (max_internal_reloc_count != 0)
+ {
+ amt = max_internal_reloc_count * bed->s->int_rels_per_ext_rel;
+ amt *= sizeof (Elf_Internal_Rela);
+ finfo.internal_relocs = bfd_malloc (amt);
+ if (finfo.internal_relocs == NULL)
+ goto error_return;
+ }
+
+ if (max_sym_count != 0)
+ {
+ amt = max_sym_count * bed->s->sizeof_sym;
+ finfo.external_syms = bfd_malloc (amt);
+ if (finfo.external_syms == NULL)
+ goto error_return;
+
+ amt = max_sym_count * sizeof (Elf_Internal_Sym);
+ finfo.internal_syms = bfd_malloc (amt);
+ if (finfo.internal_syms == NULL)
+ goto error_return;
+
+ amt = max_sym_count * sizeof (long);
+ finfo.indices = bfd_malloc (amt);
+ if (finfo.indices == NULL)
+ goto error_return;
+
+ amt = max_sym_count * sizeof (asection *);
+ finfo.sections = bfd_malloc (amt);
+ if (finfo.sections == NULL)
+ goto error_return;
+ }
+
+ if (max_sym_shndx_count != 0)
+ {
+ amt = max_sym_shndx_count * sizeof (Elf_External_Sym_Shndx);
+ finfo.locsym_shndx = bfd_malloc (amt);
+ if (finfo.locsym_shndx == NULL)
+ goto error_return;
+ }
+
+ if (elf_hash_table (info)->tls_sec)
+ {
+ bfd_vma base, end = 0;
+ asection *sec;
+
+ for (sec = elf_hash_table (info)->tls_sec;
+ sec && (sec->flags & SEC_THREAD_LOCAL);
+ sec = sec->next)
+ {
+ bfd_vma size = sec->_raw_size;
+
+ if (size == 0 && (sec->flags & SEC_HAS_CONTENTS) == 0)
+ {
+ struct bfd_link_order *o;
+
+ for (o = sec->link_order_head; o != NULL; o = o->next)
+ if (size < o->offset + o->size)
+ size = o->offset + o->size;
+ }
+ end = sec->vma + size;
+ }
+ base = elf_hash_table (info)->tls_sec->vma;
+ end = align_power (end, elf_hash_table (info)->tls_sec->alignment_power);
+ elf_hash_table (info)->tls_size = end - base;
+ }
+
+ /* Since ELF permits relocations to be against local symbols, we
+ must have the local symbols available when we do the relocations.
+ Since we would rather only read the local symbols once, and we
+ would rather not keep them in memory, we handle all the
+ relocations for a single input file at the same time.
+
+ Unfortunately, there is no way to know the total number of local
+ symbols until we have seen all of them, and the local symbol
+ indices precede the global symbol indices. This means that when
+ we are generating relocatable output, and we see a reloc against
+ a global symbol, we can not know the symbol index until we have
+ finished examining all the local symbols to see which ones we are
+ going to output. To deal with this, we keep the relocations in
+ memory, and don't output them until the end of the link. This is
+ an unfortunate waste of memory, but I don't see a good way around
+ it. Fortunately, it only happens when performing a relocatable
+ link, which is not the common case. FIXME: If keep_memory is set
+ we could write the relocs out and then read them again; I don't
+ know how bad the memory loss will be. */
+
+ for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+ sub->output_has_begun = FALSE;
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ for (p = o->link_order_head; p != NULL; p = p->next)
+ {
+ if (p->type == bfd_indirect_link_order
+ && (bfd_get_flavour ((sub = p->u.indirect.section->owner))
+ == bfd_target_elf_flavour)
+ && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass)
+ {
+ if (! sub->output_has_begun)
+ {
+ if (! elf_link_input_bfd (&finfo, sub))
+ goto error_return;
+ sub->output_has_begun = TRUE;
+ }
+ }
+ else if (p->type == bfd_section_reloc_link_order
+ || p->type == bfd_symbol_reloc_link_order)
+ {
+ if (! elf_reloc_link_order (abfd, info, o, p))
+ goto error_return;
+ }
+ else
+ {
+ if (! _bfd_default_link_order (abfd, info, o, p))
+ goto error_return;
+ }
+ }
+ }
+
+ /* Output any global symbols that got converted to local in a
+ version script or due to symbol visibility. We do this in a
+ separate step since ELF requires all local symbols to appear
+ prior to any global symbols. FIXME: We should only do this if
+ some global symbols were, in fact, converted to become local.
+ FIXME: Will this work correctly with the Irix 5 linker? */
+ eoinfo.failed = FALSE;
+ eoinfo.finfo = &finfo;
+ eoinfo.localsyms = TRUE;
+ elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym,
+ &eoinfo);
+ if (eoinfo.failed)
+ return FALSE;
+
+ /* That wrote out all the local symbols. Finish up the symbol table
+ with the global symbols. Even if we want to strip everything we
+ can, we still need to deal with those global symbols that got
+ converted to local in a version script. */
+
+ /* The sh_info field records the index of the first non local symbol. */
+ symtab_hdr->sh_info = bfd_get_symcount (abfd);
+
+ if (dynamic
+ && finfo.dynsym_sec->output_section != bfd_abs_section_ptr)
+ {
+ Elf_Internal_Sym sym;
+ bfd_byte *dynsym = finfo.dynsym_sec->contents;
+ long last_local = 0;
+
+ /* Write out the section symbols for the output sections. */
+ if (info->shared)
+ {
+ asection *s;
+
+ sym.st_size = 0;
+ sym.st_name = 0;
+ sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
+ sym.st_other = 0;
+
+ for (s = abfd->sections; s != NULL; s = s->next)
+ {
+ int indx;
+ bfd_byte *dest;
+ long dynindx;
+
+ indx = elf_section_data (s)->this_idx;
+ dynindx = elf_section_data (s)->dynindx;
+ BFD_ASSERT (indx > 0);
+ sym.st_shndx = indx;
+ sym.st_value = s->vma;
+ dest = dynsym + dynindx * bed->s->sizeof_sym;
+ bed->s->swap_symbol_out (abfd, &sym, dest, 0);
+ }
+
+ last_local = bfd_count_sections (abfd);
+ }
+
+ /* Write out the local dynsyms. */
+ if (elf_hash_table (info)->dynlocal)
+ {
+ struct elf_link_local_dynamic_entry *e;
+ for (e = elf_hash_table (info)->dynlocal; e ; e = e->next)
+ {
+ asection *s;
+ bfd_byte *dest;
+
+ sym.st_size = e->isym.st_size;
+ sym.st_other = e->isym.st_other;
+
+ /* Copy the internal symbol as is.
+ Note that we saved a word of storage and overwrote
+ the original st_name with the dynstr_index. */
+ sym = e->isym;
+
+ if (e->isym.st_shndx != SHN_UNDEF
+ && (e->isym.st_shndx < SHN_LORESERVE
+ || e->isym.st_shndx > SHN_HIRESERVE))
+ {
+ s = bfd_section_from_elf_index (e->input_bfd,
+ e->isym.st_shndx);
+
+ sym.st_shndx =
+ elf_section_data (s->output_section)->this_idx;
+ sym.st_value = (s->output_section->vma
+ + s->output_offset
+ + e->isym.st_value);
+ }
+
+ if (last_local < e->dynindx)
+ last_local = e->dynindx;
+
+ dest = dynsym + e->dynindx * bed->s->sizeof_sym;
+ bed->s->swap_symbol_out (abfd, &sym, dest, 0);
+ }
+ }
+
+ elf_section_data (finfo.dynsym_sec->output_section)->this_hdr.sh_info =
+ last_local + 1;
+ }
+
+ /* We get the global symbols from the hash table. */
+ eoinfo.failed = FALSE;
+ eoinfo.localsyms = FALSE;
+ eoinfo.finfo = &finfo;
+ elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym,
+ &eoinfo);
+ if (eoinfo.failed)
+ return FALSE;
+
+ /* If backend needs to output some symbols not present in the hash
+ table, do it now. */
+ if (bed->elf_backend_output_arch_syms)
+ {
+ typedef bfd_boolean (*out_sym_func)
+ (void *, const char *, Elf_Internal_Sym *, asection *,
+ struct elf_link_hash_entry *);
+
+ if (! ((*bed->elf_backend_output_arch_syms)
+ (abfd, info, &finfo, (out_sym_func) elf_link_output_sym)))
+ return FALSE;
+ }
+
+ /* Flush all symbols to the file. */
+ if (! elf_link_flush_output_syms (&finfo, bed))
+ return FALSE;
+
+ /* Now we know the size of the symtab section. */
+ off += symtab_hdr->sh_size;
+
+ symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
+ if (symtab_shndx_hdr->sh_name != 0)
+ {
+ symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
+ symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
+ symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
+ amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
+ symtab_shndx_hdr->sh_size = amt;
+
+ off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
+ off, TRUE);
+
+ if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
+ || (bfd_bwrite (finfo.symshndxbuf, amt, abfd) != amt))
+ return FALSE;
+ }
+
+
+ /* Finish up and write out the symbol string table (.strtab)
+ section. */
+ symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
+ /* sh_name was set in prep_headers. */
+ symstrtab_hdr->sh_type = SHT_STRTAB;
+ symstrtab_hdr->sh_flags = 0;
+ symstrtab_hdr->sh_addr = 0;
+ symstrtab_hdr->sh_size = _bfd_stringtab_size (finfo.symstrtab);
+ symstrtab_hdr->sh_entsize = 0;
+ symstrtab_hdr->sh_link = 0;
+ symstrtab_hdr->sh_info = 0;
+ /* sh_offset is set just below. */
+ symstrtab_hdr->sh_addralign = 1;
+
+ off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr, off, TRUE);
+ elf_tdata (abfd)->next_file_pos = off;
+
+ if (bfd_get_symcount (abfd) > 0)
+ {
+ if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0
+ || ! _bfd_stringtab_emit (abfd, finfo.symstrtab))
+ return FALSE;
+ }
+
+ /* Adjust the relocs to have the correct symbol indices. */
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ if ((o->flags & SEC_RELOC) == 0)
+ continue;
+
+ elf_link_adjust_relocs (abfd, &elf_section_data (o)->rel_hdr,
+ elf_section_data (o)->rel_count,
+ elf_section_data (o)->rel_hashes);
+ if (elf_section_data (o)->rel_hdr2 != NULL)
+ elf_link_adjust_relocs (abfd, elf_section_data (o)->rel_hdr2,
+ elf_section_data (o)->rel_count2,
+ (elf_section_data (o)->rel_hashes
+ + elf_section_data (o)->rel_count));
+
+ /* Set the reloc_count field to 0 to prevent write_relocs from
+ trying to swap the relocs out itself. */
+ o->reloc_count = 0;
+ }
+
+ if (dynamic && info->combreloc && dynobj != NULL)
+ relativecount = elf_link_sort_relocs (abfd, info, &reldyn);
+
+ /* If we are linking against a dynamic object, or generating a
+ shared library, finish up the dynamic linking information. */
+ if (dynamic)
+ {
+ bfd_byte *dyncon, *dynconend;
+
+ /* Fix up .dynamic entries. */
+ o = bfd_get_section_by_name (dynobj, ".dynamic");
+ BFD_ASSERT (o != NULL);
+
+ dyncon = o->contents;
+ dynconend = o->contents + o->_raw_size;
+ for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
+ {
+ Elf_Internal_Dyn dyn;
+ const char *name;
+ unsigned int type;
+
+ bed->s->swap_dyn_in (dynobj, dyncon, &dyn);
+
+ switch (dyn.d_tag)
+ {
+ default:
+ continue;
+ case DT_NULL:
+ if (relativecount > 0 && dyncon + bed->s->sizeof_dyn < dynconend)
+ {
+ switch (elf_section_data (reldyn)->this_hdr.sh_type)
+ {
+ case SHT_REL: dyn.d_tag = DT_RELCOUNT; break;
+ case SHT_RELA: dyn.d_tag = DT_RELACOUNT; break;
+ default: continue;
+ }
+ dyn.d_un.d_val = relativecount;
+ relativecount = 0;
+ break;
+ }
+ continue;
+
+ case DT_INIT:
+ name = info->init_function;
+ goto get_sym;
+ case DT_FINI:
+ name = info->fini_function;
+ get_sym:
+ {
+ struct elf_link_hash_entry *h;
+
+ h = elf_link_hash_lookup (elf_hash_table (info), name,
+ FALSE, FALSE, TRUE);
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak))
+ {
+ dyn.d_un.d_val = h->root.u.def.value;
+ o = h->root.u.def.section;
+ if (o->output_section != NULL)
+ dyn.d_un.d_val += (o->output_section->vma
+ + o->output_offset);
+ else
+ {
+ /* The symbol is imported from another shared
+ library and does not apply to this one. */
+ dyn.d_un.d_val = 0;
+ }
+ break;
+ }
+ }
+ continue;
+
+ case DT_PREINIT_ARRAYSZ:
+ name = ".preinit_array";
+ goto get_size;
+ case DT_INIT_ARRAYSZ:
+ name = ".init_array";
+ goto get_size;
+ case DT_FINI_ARRAYSZ:
+ name = ".fini_array";
+ get_size:
+ o = bfd_get_section_by_name (abfd, name);
+ if (o == NULL)
+ {
+ (*_bfd_error_handler)
+ (_("%s: could not find output section %s"),
+ bfd_get_filename (abfd), name);
+ goto error_return;
+ }
+ if (o->_raw_size == 0)
+ (*_bfd_error_handler)
+ (_("warning: %s section has zero size"), name);
+ dyn.d_un.d_val = o->_raw_size;
+ break;
+
+ case DT_PREINIT_ARRAY:
+ name = ".preinit_array";
+ goto get_vma;
+ case DT_INIT_ARRAY:
+ name = ".init_array";
+ goto get_vma;
+ case DT_FINI_ARRAY:
+ name = ".fini_array";
+ goto get_vma;
+
+ case DT_HASH:
+ name = ".hash";
+ goto get_vma;
+ case DT_STRTAB:
+ name = ".dynstr";
+ goto get_vma;
+ case DT_SYMTAB:
+ name = ".dynsym";
+ goto get_vma;
+ case DT_VERDEF:
+ name = ".gnu.version_d";
+ goto get_vma;
+ case DT_VERNEED:
+ name = ".gnu.version_r";
+ goto get_vma;
+ case DT_VERSYM:
+ name = ".gnu.version";
+ get_vma:
+ o = bfd_get_section_by_name (abfd, name);
+ if (o == NULL)
+ {
+ (*_bfd_error_handler)
+ (_("%s: could not find output section %s"),
+ bfd_get_filename (abfd), name);
+ goto error_return;
+ }
+ dyn.d_un.d_ptr = o->vma;
+ break;
+
+ case DT_REL:
+ case DT_RELA:
+ case DT_RELSZ:
+ case DT_RELASZ:
+ if (dyn.d_tag == DT_REL || dyn.d_tag == DT_RELSZ)
+ type = SHT_REL;
+ else
+ type = SHT_RELA;
+ dyn.d_un.d_val = 0;
+ for (i = 1; i < elf_numsections (abfd); i++)
+ {
+ Elf_Internal_Shdr *hdr;
+
+ hdr = elf_elfsections (abfd)[i];
+ if (hdr->sh_type == type
+ && (hdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ if (dyn.d_tag == DT_RELSZ || dyn.d_tag == DT_RELASZ)
+ dyn.d_un.d_val += hdr->sh_size;
+ else
+ {
+ if (dyn.d_un.d_val == 0
+ || hdr->sh_addr < dyn.d_un.d_val)
+ dyn.d_un.d_val = hdr->sh_addr;
+ }
+ }
+ }
+ break;
+ }
+ bed->s->swap_dyn_out (dynobj, &dyn, dyncon);
+ }
+ }
+
+ /* If we have created any dynamic sections, then output them. */
+ if (dynobj != NULL)
+ {
+ if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info))
+ goto error_return;
+
+ for (o = dynobj->sections; o != NULL; o = o->next)
+ {
+ if ((o->flags & SEC_HAS_CONTENTS) == 0
+ || o->_raw_size == 0
+ || o->output_section == bfd_abs_section_ptr)
+ continue;
+ if ((o->flags & SEC_LINKER_CREATED) == 0)
+ {
+ /* At this point, we are only interested in sections
+ created by _bfd_elf_link_create_dynamic_sections. */
+ continue;
+ }
+ if ((elf_section_data (o->output_section)->this_hdr.sh_type
+ != SHT_STRTAB)
+ || strcmp (bfd_get_section_name (abfd, o), ".dynstr") != 0)
+ {
+ if (! bfd_set_section_contents (abfd, o->output_section,
+ o->contents,
+ (file_ptr) o->output_offset,
+ o->_raw_size))
+ goto error_return;
+ }
+ else
+ {
+ /* The contents of the .dynstr section are actually in a
+ stringtab. */
+ off = elf_section_data (o->output_section)->this_hdr.sh_offset;
+ if (bfd_seek (abfd, off, SEEK_SET) != 0
+ || ! _bfd_elf_strtab_emit (abfd,
+ elf_hash_table (info)->dynstr))
+ goto error_return;
+ }
+ }
+ }
+
+ if (info->relocatable)
+ {
+ bfd_boolean failed = FALSE;
+
+ bfd_map_over_sections (abfd, bfd_elf_set_group_contents, &failed);
+ if (failed)
+ goto error_return;
+ }
+
+ /* If we have optimized stabs strings, output them. */
+ if (elf_hash_table (info)->stab_info != NULL)
+ {
+ if (! _bfd_write_stab_strings (abfd, &elf_hash_table (info)->stab_info))
+ goto error_return;
+ }
+
+ if (info->eh_frame_hdr)
+ {
+ if (! _bfd_elf_write_section_eh_frame_hdr (abfd, info))
+ goto error_return;
+ }
+
+ if (finfo.symstrtab != NULL)
+ _bfd_stringtab_free (finfo.symstrtab);
+ if (finfo.contents != NULL)
+ free (finfo.contents);
+ if (finfo.external_relocs != NULL)
+ free (finfo.external_relocs);
+ if (finfo.internal_relocs != NULL)
+ free (finfo.internal_relocs);
+ if (finfo.external_syms != NULL)
+ free (finfo.external_syms);
+ if (finfo.locsym_shndx != NULL)
+ free (finfo.locsym_shndx);
+ if (finfo.internal_syms != NULL)
+ free (finfo.internal_syms);
+ if (finfo.indices != NULL)
+ free (finfo.indices);
+ if (finfo.sections != NULL)
+ free (finfo.sections);
+ if (finfo.symbuf != NULL)
+ free (finfo.symbuf);
+ if (finfo.symshndxbuf != NULL)
+ free (finfo.symshndxbuf);
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ if ((o->flags & SEC_RELOC) != 0
+ && elf_section_data (o)->rel_hashes != NULL)
+ free (elf_section_data (o)->rel_hashes);
+ }
+
+ elf_tdata (abfd)->linker = TRUE;
+
+ return TRUE;
+
+ error_return:
+ if (finfo.symstrtab != NULL)
+ _bfd_stringtab_free (finfo.symstrtab);
+ if (finfo.contents != NULL)
+ free (finfo.contents);
+ if (finfo.external_relocs != NULL)
+ free (finfo.external_relocs);
+ if (finfo.internal_relocs != NULL)
+ free (finfo.internal_relocs);
+ if (finfo.external_syms != NULL)
+ free (finfo.external_syms);
+ if (finfo.locsym_shndx != NULL)
+ free (finfo.locsym_shndx);
+ if (finfo.internal_syms != NULL)
+ free (finfo.internal_syms);
+ if (finfo.indices != NULL)
+ free (finfo.indices);
+ if (finfo.sections != NULL)
+ free (finfo.sections);
+ if (finfo.symbuf != NULL)
+ free (finfo.symbuf);
+ if (finfo.symshndxbuf != NULL)
+ free (finfo.symshndxbuf);
+ for (o = abfd->sections; o != NULL; o = o->next)
+ {
+ if ((o->flags & SEC_RELOC) != 0
+ && elf_section_data (o)->rel_hashes != NULL)
+ free (elf_section_data (o)->rel_hashes);
+ }
+
+ return FALSE;
+}
+
+/* Garbage collect unused sections. */
+
+/* The mark phase of garbage collection. For a given section, mark
+ it and any sections in this section's group, and all the sections
+ which define symbols to which it refers. */
+
+typedef asection * (*gc_mark_hook_fn)
+ (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
+ struct elf_link_hash_entry *, Elf_Internal_Sym *);
+
+static bfd_boolean
+elf_gc_mark (struct bfd_link_info *info,
+ asection *sec,
+ gc_mark_hook_fn gc_mark_hook)
+{
+ bfd_boolean ret;
+ asection *group_sec;
+
+ sec->gc_mark = 1;
+
+ /* Mark all the sections in the group. */
+ group_sec = elf_section_data (sec)->next_in_group;
+ if (group_sec && !group_sec->gc_mark)
+ if (!elf_gc_mark (info, group_sec, gc_mark_hook))
+ return FALSE;
+
+ /* Look through the section relocs. */
+ ret = TRUE;
+ if ((sec->flags & SEC_RELOC) != 0 && sec->reloc_count > 0)
+ {
+ Elf_Internal_Rela *relstart, *rel, *relend;
+ Elf_Internal_Shdr *symtab_hdr;
+ struct elf_link_hash_entry **sym_hashes;
+ size_t nlocsyms;
+ size_t extsymoff;
+ bfd *input_bfd = sec->owner;
+ const struct elf_backend_data *bed = get_elf_backend_data (input_bfd);
+ Elf_Internal_Sym *isym = NULL;
+ int r_sym_shift;
+
+ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (input_bfd);
+
+ /* Read the local symbols. */
+ if (elf_bad_symtab (input_bfd))
+ {
+ nlocsyms = symtab_hdr->sh_size / bed->s->sizeof_sym;
+ extsymoff = 0;
+ }
+ else
+ extsymoff = nlocsyms = symtab_hdr->sh_info;
+
+ isym = (Elf_Internal_Sym *) symtab_hdr->contents;
+ if (isym == NULL && nlocsyms != 0)
+ {
+ isym = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, nlocsyms, 0,
+ NULL, NULL, NULL);
+ if (isym == NULL)
+ return FALSE;
+ }
+
+ /* Read the relocations. */
+ relstart = _bfd_elf_link_read_relocs (input_bfd, sec, NULL, NULL,
+ info->keep_memory);
+ if (relstart == NULL)
+ {
+ ret = FALSE;
+ goto out1;
+ }
+ relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel;
+
+ if (bed->s->arch_size == 32)
+ r_sym_shift = 8;
+ else
+ r_sym_shift = 32;
+
+ for (rel = relstart; rel < relend; rel++)
+ {
+ unsigned long r_symndx;
+ asection *rsec;
+ struct elf_link_hash_entry *h;
+
+ r_symndx = rel->r_info >> r_sym_shift;
+ if (r_symndx == 0)
+ continue;
+
+ if (r_symndx >= nlocsyms
+ || ELF_ST_BIND (isym[r_symndx].st_info) != STB_LOCAL)
+ {
+ h = sym_hashes[r_symndx - extsymoff];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ rsec = (*gc_mark_hook) (sec, info, rel, h, NULL);
+ }
+ else
+ {
+ rsec = (*gc_mark_hook) (sec, info, rel, NULL, &isym[r_symndx]);
+ }
+
+ if (rsec && !rsec->gc_mark)
+ {
+ if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour)
+ rsec->gc_mark = 1;
+ else if (!elf_gc_mark (info, rsec, gc_mark_hook))
+ {
+ ret = FALSE;
+ goto out2;
+ }
+ }
+ }
+
+ out2:
+ if (elf_section_data (sec)->relocs != relstart)
+ free (relstart);
+ out1:
+ if (isym != NULL && symtab_hdr->contents != (unsigned char *) isym)
+ {
+ if (! info->keep_memory)
+ free (isym);
+ else
+ symtab_hdr->contents = (unsigned char *) isym;
+ }
+ }
+
+ return ret;
+}
+
+/* Sweep symbols in swept sections. Called via elf_link_hash_traverse. */
+
+static bfd_boolean
+elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *idxptr)
+{
+ int *idx = idxptr;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if (h->dynindx != -1
+ && ((h->root.type != bfd_link_hash_defined
+ && h->root.type != bfd_link_hash_defweak)
+ || h->root.u.def.section->gc_mark))
+ h->dynindx = (*idx)++;
+
+ return TRUE;
+}
+
+/* The sweep phase of garbage collection. Remove all garbage sections. */
+
+typedef bfd_boolean (*gc_sweep_hook_fn)
+ (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
+
+static bfd_boolean
+elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook)
+{
+ bfd *sub;
+
+ for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+ {
+ asection *o;
+
+ if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
+ continue;
+
+ for (o = sub->sections; o != NULL; o = o->next)
+ {
+ /* Keep special sections. Keep .debug sections. */
+ if ((o->flags & SEC_LINKER_CREATED)
+ || (o->flags & SEC_DEBUGGING))
+ o->gc_mark = 1;
+
+ if (o->gc_mark)
+ continue;
+
+ /* Skip sweeping sections already excluded. */
+ if (o->flags & SEC_EXCLUDE)
+ continue;
+
+ /* Since this is early in the link process, it is simple
+ to remove a section from the output. */
+ o->flags |= SEC_EXCLUDE;
+
+ /* But we also have to update some of the relocation
+ info we collected before. */
+ if (gc_sweep_hook
+ && (o->flags & SEC_RELOC) && o->reloc_count > 0)
+ {
+ Elf_Internal_Rela *internal_relocs;
+ bfd_boolean r;
+
+ internal_relocs
+ = _bfd_elf_link_read_relocs (o->owner, o, NULL, NULL,
+ info->keep_memory);
+ if (internal_relocs == NULL)
+ return FALSE;
+
+ r = (*gc_sweep_hook) (o->owner, info, o, internal_relocs);
+
+ if (elf_section_data (o)->relocs != internal_relocs)
+ free (internal_relocs);
+
+ if (!r)
+ return FALSE;
+ }
+ }
+ }
+
+ /* Remove the symbols that were in the swept sections from the dynamic
+ symbol table. GCFIXME: Anyone know how to get them out of the
+ static symbol table as well? */
+ {
+ int i = 0;
+
+ elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol, &i);
+
+ elf_hash_table (info)->dynsymcount = i;
+ }
+
+ return TRUE;
+}
+
+/* Propagate collected vtable information. This is called through
+ elf_link_hash_traverse. */
+
+static bfd_boolean
+elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp)
+{
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* Those that are not vtables. */
+ if (h->vtable_parent == NULL)
+ return TRUE;
+
+ /* Those vtables that do not have parents, we cannot merge. */
+ if (h->vtable_parent == (struct elf_link_hash_entry *) -1)
+ return TRUE;
+
+ /* If we've already been done, exit. */
+ if (h->vtable_entries_used && h->vtable_entries_used[-1])
+ return TRUE;
+
+ /* Make sure the parent's table is up to date. */
+ elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp);
+
+ if (h->vtable_entries_used == NULL)
+ {
+ /* None of this table's entries were referenced. Re-use the
+ parent's table. */
+ h->vtable_entries_used = h->vtable_parent->vtable_entries_used;
+ h->vtable_entries_size = h->vtable_parent->vtable_entries_size;
+ }
+ else
+ {
+ size_t n;
+ bfd_boolean *cu, *pu;
+
+ /* Or the parent's entries into ours. */
+ cu = h->vtable_entries_used;
+ cu[-1] = TRUE;
+ pu = h->vtable_parent->vtable_entries_used;
+ if (pu != NULL)
+ {
+ const struct elf_backend_data *bed;
+ unsigned int log_file_align;
+
+ bed = get_elf_backend_data (h->root.u.def.section->owner);
+ log_file_align = bed->s->log_file_align;
+ n = h->vtable_parent->vtable_entries_size >> log_file_align;
+ while (n--)
+ {
+ if (*pu)
+ *cu = TRUE;
+ pu++;
+ cu++;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
+{
+ asection *sec;
+ bfd_vma hstart, hend;
+ Elf_Internal_Rela *relstart, *relend, *rel;
+ const struct elf_backend_data *bed;
+ unsigned int log_file_align;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* Take care of both those symbols that do not describe vtables as
+ well as those that are not loaded. */
+ if (h->vtable_parent == NULL)
+ return TRUE;
+
+ BFD_ASSERT (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak);
+
+ sec = h->root.u.def.section;
+ hstart = h->root.u.def.value;
+ hend = hstart + h->size;
+
+ relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE);
+ if (!relstart)
+ return *(bfd_boolean *) okp = FALSE;
+ bed = get_elf_backend_data (sec->owner);
+ log_file_align = bed->s->log_file_align;
+
+ relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel;
+
+ for (rel = relstart; rel < relend; ++rel)
+ if (rel->r_offset >= hstart && rel->r_offset < hend)
+ {
+ /* If the entry is in use, do nothing. */
+ if (h->vtable_entries_used
+ && (rel->r_offset - hstart) < h->vtable_entries_size)
+ {
+ bfd_vma entry = (rel->r_offset - hstart) >> log_file_align;
+ if (h->vtable_entries_used[entry])
+ continue;
+ }
+ /* Otherwise, kill it. */
+ rel->r_offset = rel->r_info = rel->r_addend = 0;
+ }
+
+ return TRUE;
+}
+
+/* Mark sections containing dynamically referenced symbols. This is called
+ through elf_link_hash_traverse. */
+
+static bfd_boolean
+elf_gc_mark_dynamic_ref_symbol (struct elf_link_hash_entry *h,
+ void *okp ATTRIBUTE_UNUSED)
+{
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC))
+ h->root.u.def.section->flags |= SEC_KEEP;
+
+ return TRUE;
+}
+
+/* Do mark and sweep of unused sections. */
+
+bfd_boolean
+bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
+{
+ bfd_boolean ok = TRUE;
+ bfd *sub;
+ asection * (*gc_mark_hook)
+ (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
+ struct elf_link_hash_entry *h, Elf_Internal_Sym *);
+
+ if (!get_elf_backend_data (abfd)->can_gc_sections
+ || info->relocatable
+ || info->emitrelocations
+ || info->shared
+ || !is_elf_hash_table (info->hash))
+ {
+ (*_bfd_error_handler)(_("Warning: gc-sections option ignored"));
+ return TRUE;
+ }
+
+ /* Apply transitive closure to the vtable entry usage info. */
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_gc_propagate_vtable_entries_used,
+ &ok);
+ if (!ok)
+ return FALSE;
+
+ /* Kill the vtable relocations that were not used. */
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_gc_smash_unused_vtentry_relocs,
+ &ok);
+ if (!ok)
+ return FALSE;
+
+ /* Mark dynamically referenced symbols. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_gc_mark_dynamic_ref_symbol,
+ &ok);
+ if (!ok)
+ return FALSE;
+
+ /* Grovel through relocs to find out who stays ... */
+ gc_mark_hook = get_elf_backend_data (abfd)->gc_mark_hook;
+ for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
+ {
+ asection *o;
+
+ if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
+ continue;
+
+ for (o = sub->sections; o != NULL; o = o->next)
+ {
+ if (o->flags & SEC_KEEP)
+ {
+ /* _bfd_elf_discard_section_eh_frame knows how to discard
+ orphaned FDEs so don't mark sections referenced by the
+ EH frame section. */
+ if (strcmp (o->name, ".eh_frame") == 0)
+ o->gc_mark = 1;
+ else if (!elf_gc_mark (info, o, gc_mark_hook))
+ return FALSE;
+ }
+ }
+ }
+
+ /* ... and mark SEC_EXCLUDE for those that go. */
+ if (!elf_gc_sweep (info, get_elf_backend_data (abfd)->gc_sweep_hook))
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Called from check_relocs to record the existence of a VTINHERIT reloc. */
+
+bfd_boolean
+bfd_elf_gc_record_vtinherit (bfd *abfd,
+ asection *sec,
+ struct elf_link_hash_entry *h,
+ bfd_vma offset)
+{
+ struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
+ struct elf_link_hash_entry **search, *child;
+ bfd_size_type extsymcount;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+
+ /* The sh_info field of the symtab header tells us where the
+ external symbols start. We don't care about the local symbols at
+ this point. */
+ extsymcount = elf_tdata (abfd)->symtab_hdr.sh_size / bed->s->sizeof_sym;
+ if (!elf_bad_symtab (abfd))
+ extsymcount -= elf_tdata (abfd)->symtab_hdr.sh_info;
+
+ sym_hashes = elf_sym_hashes (abfd);
+ sym_hashes_end = sym_hashes + extsymcount;
+
+ /* Hunt down the child symbol, which is in this section at the same
+ offset as the relocation. */
+ for (search = sym_hashes; search != sym_hashes_end; ++search)
+ {
+ if ((child = *search) != NULL
+ && (child->root.type == bfd_link_hash_defined
+ || child->root.type == bfd_link_hash_defweak)
+ && child->root.u.def.section == sec
+ && child->root.u.def.value == offset)
+ goto win;
+ }
+
+ (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT",
+ bfd_archive_filename (abfd), sec->name,
+ (unsigned long) offset);
+ bfd_set_error (bfd_error_invalid_operation);
+ return FALSE;
+
+ win:
+ if (!h)
+ {
+ /* This *should* only be the absolute section. It could potentially
+ be that someone has defined a non-global vtable though, which
+ would be bad. It isn't worth paging in the local symbols to be
+ sure though; that case should simply be handled by the assembler. */
+
+ child->vtable_parent = (struct elf_link_hash_entry *) -1;
+ }
+ else
+ child->vtable_parent = h;
+
+ return TRUE;
+}
+
+/* Called from check_relocs to record the existence of a VTENTRY reloc. */
+
+bfd_boolean
+bfd_elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED,
+ asection *sec ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h,
+ bfd_vma addend)
+{
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ unsigned int log_file_align = bed->s->log_file_align;
+
+ if (addend >= h->vtable_entries_size)
+ {
+ size_t size, bytes, file_align;
+ bfd_boolean *ptr = h->vtable_entries_used;
+
+ /* While the symbol is undefined, we have to be prepared to handle
+ a zero size. */
+ file_align = 1 << log_file_align;
+ if (h->root.type == bfd_link_hash_undefined)
+ size = addend + file_align;
+ else
+ {
+ size = h->size;
+ if (addend >= size)
+ {
+ /* Oops! We've got a reference past the defined end of
+ the table. This is probably a bug -- shall we warn? */
+ size = addend + file_align;
+ }
+ }
+ size = (size + file_align - 1) & -file_align;
+
+ /* Allocate one extra entry for use as a "done" flag for the
+ consolidation pass. */
+ bytes = ((size >> log_file_align) + 1) * sizeof (bfd_boolean);
+
+ if (ptr)
+ {
+ ptr = bfd_realloc (ptr - 1, bytes);
+
+ if (ptr != NULL)
+ {
+ size_t oldbytes;
+
+ oldbytes = (((h->vtable_entries_size >> log_file_align) + 1)
+ * sizeof (bfd_boolean));
+ memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes);
+ }
+ }
+ else
+ ptr = bfd_zmalloc (bytes);
+
+ if (ptr == NULL)
+ return FALSE;
+
+ /* And arrange for that done flag to be at index -1. */
+ h->vtable_entries_used = ptr + 1;
+ h->vtable_entries_size = size;
+ }
+
+ h->vtable_entries_used[addend >> log_file_align] = TRUE;
+
+ return TRUE;
+}
+
+struct alloc_got_off_arg {
+ bfd_vma gotoff;
+ unsigned int got_elt_size;
+};
+
+/* We need a special top-level link routine to convert got reference counts
+ to real got offsets. */
+
+static bfd_boolean
+elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *arg)
+{
+ struct alloc_got_off_arg *gofarg = arg;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if (h->got.refcount > 0)
+ {
+ h->got.offset = gofarg->gotoff;
+ gofarg->gotoff += gofarg->got_elt_size;
+ }
+ else
+ h->got.offset = (bfd_vma) -1;
+
+ return TRUE;
+}
+
+/* And an accompanying bit to work out final got entry offsets once
+ we're done. Should be called from final_link. */
+
+bfd_boolean
+bfd_elf_gc_common_finalize_got_offsets (bfd *abfd,
+ struct bfd_link_info *info)
+{
+ bfd *i;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ bfd_vma gotoff;
+ unsigned int got_elt_size = bed->s->arch_size / 8;
+ struct alloc_got_off_arg gofarg;
+
+ if (! is_elf_hash_table (info->hash))
+ return FALSE;
+
+ /* The GOT offset is relative to the .got section, but the GOT header is
+ put into the .got.plt section, if the backend uses it. */
+ if (bed->want_got_plt)
+ gotoff = 0;
+ else
+ gotoff = bed->got_header_size;
+
+ /* Do the local .got entries first. */
+ for (i = info->input_bfds; i; i = i->link_next)
+ {
+ bfd_signed_vma *local_got;
+ bfd_size_type j, locsymcount;
+ Elf_Internal_Shdr *symtab_hdr;
+
+ if (bfd_get_flavour (i) != bfd_target_elf_flavour)
+ continue;
+
+ local_got = elf_local_got_refcounts (i);
+ if (!local_got)
+ continue;
+
+ symtab_hdr = &elf_tdata (i)->symtab_hdr;
+ if (elf_bad_symtab (i))
+ locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
+ else
+ locsymcount = symtab_hdr->sh_info;
+
+ for (j = 0; j < locsymcount; ++j)
+ {
+ if (local_got[j] > 0)
+ {
+ local_got[j] = gotoff;
+ gotoff += got_elt_size;
+ }
+ else
+ local_got[j] = (bfd_vma) -1;
+ }
+ }
+
+ /* Then the global .got entries. .plt refcounts are handled by
+ adjust_dynamic_symbol */
+ gofarg.gotoff = gotoff;
+ gofarg.got_elt_size = got_elt_size;
+ elf_link_hash_traverse (elf_hash_table (info),
+ elf_gc_allocate_got_offsets,
+ &gofarg);
+ return TRUE;
+}
+
+/* Many folk need no more in the way of final link than this, once
+ got entry reference counting is enabled. */
+
+bfd_boolean
+bfd_elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info)
+{
+ if (!bfd_elf_gc_common_finalize_got_offsets (abfd, info))
+ return FALSE;
+
+ /* Invoke the regular ELF backend linker to do all the work. */
+ return bfd_elf_final_link (abfd, info);
+}
+
+bfd_boolean
+bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie)
+{
+ struct elf_reloc_cookie *rcookie = cookie;
+
+ if (rcookie->bad_symtab)
+ rcookie->rel = rcookie->rels;
+
+ for (; rcookie->rel < rcookie->relend; rcookie->rel++)
+ {
+ unsigned long r_symndx;
+
+ if (! rcookie->bad_symtab)
+ if (rcookie->rel->r_offset > offset)
+ return FALSE;
+ if (rcookie->rel->r_offset != offset)
+ continue;
+
+ r_symndx = rcookie->rel->r_info >> rcookie->r_sym_shift;
+ if (r_symndx == SHN_UNDEF)
+ return TRUE;
+
+ if (r_symndx >= rcookie->locsymcount
+ || ELF_ST_BIND (rcookie->locsyms[r_symndx].st_info) != STB_LOCAL)
+ {
+ struct elf_link_hash_entry *h;
+
+ h = rcookie->sym_hashes[r_symndx - rcookie->extsymoff];
+
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && elf_discarded_section (h->root.u.def.section))
+ return TRUE;
+ else
+ return FALSE;
+ }
+ else
+ {
+ /* It's not a relocation against a global symbol,
+ but it could be a relocation against a local
+ symbol for a discarded section. */
+ asection *isec;
+ Elf_Internal_Sym *isym;
+
+ /* Need to: get the symbol; get the section. */
+ isym = &rcookie->locsyms[r_symndx];
+ if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
+ {
+ isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx);
+ if (isec != NULL && elf_discarded_section (isec))
+ return TRUE;
+ }
+ }
+ return FALSE;
+ }
+ return FALSE;
+}
+
+/* Discard unneeded references to discarded sections.
+ Returns TRUE if any section's size was changed. */
+/* This function assumes that the relocations are in sorted order,
+ which is true for all known assemblers. */
+
+bfd_boolean
+bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
+{
+ struct elf_reloc_cookie cookie;
+ asection *stab, *eh;
+ Elf_Internal_Shdr *symtab_hdr;
+ const struct elf_backend_data *bed;
+ bfd *abfd;
+ unsigned int count;
+ bfd_boolean ret = FALSE;
+
+ if (info->traditional_format
+ || !is_elf_hash_table (info->hash))
+ return FALSE;
+
+ for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
+ {
+ if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+ continue;
+
+ bed = get_elf_backend_data (abfd);
+
+ if ((abfd->flags & DYNAMIC) != 0)
+ continue;
+
+ eh = bfd_get_section_by_name (abfd, ".eh_frame");
+ if (info->relocatable
+ || (eh != NULL
+ && (eh->_raw_size == 0
+ || bfd_is_abs_section (eh->output_section))))
+ eh = NULL;
+
+ stab = bfd_get_section_by_name (abfd, ".stab");
+ if (stab != NULL
+ && (stab->_raw_size == 0
+ || bfd_is_abs_section (stab->output_section)
+ || stab->sec_info_type != ELF_INFO_TYPE_STABS))
+ stab = NULL;
+
+ if (stab == NULL
+ && eh == NULL
+ && bed->elf_backend_discard_info == NULL)
+ continue;
+
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ cookie.abfd = abfd;
+ cookie.sym_hashes = elf_sym_hashes (abfd);
+ cookie.bad_symtab = elf_bad_symtab (abfd);
+ if (cookie.bad_symtab)
+ {
+ cookie.locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
+ cookie.extsymoff = 0;
+ }
+ else
+ {
+ cookie.locsymcount = symtab_hdr->sh_info;
+ cookie.extsymoff = symtab_hdr->sh_info;
+ }
+
+ if (bed->s->arch_size == 32)
+ cookie.r_sym_shift = 8;
+ else
+ cookie.r_sym_shift = 32;
+
+ cookie.locsyms = (Elf_Internal_Sym *) symtab_hdr->contents;
+ if (cookie.locsyms == NULL && cookie.locsymcount != 0)
+ {
+ cookie.locsyms = bfd_elf_get_elf_syms (abfd, symtab_hdr,
+ cookie.locsymcount, 0,
+ NULL, NULL, NULL);
+ if (cookie.locsyms == NULL)
+ return FALSE;
+ }
+
+ if (stab != NULL)
+ {
+ cookie.rels = NULL;
+ count = stab->reloc_count;
+ if (count != 0)
+ cookie.rels = _bfd_elf_link_read_relocs (abfd, stab, NULL, NULL,
+ info->keep_memory);
+ if (cookie.rels != NULL)
+ {
+ cookie.rel = cookie.rels;
+ cookie.relend = cookie.rels;
+ cookie.relend += count * bed->s->int_rels_per_ext_rel;
+ if (_bfd_discard_section_stabs (abfd, stab,
+ elf_section_data (stab)->sec_info,
+ bfd_elf_reloc_symbol_deleted_p,
+ &cookie))
+ ret = TRUE;
+ if (elf_section_data (stab)->relocs != cookie.rels)
+ free (cookie.rels);
+ }
+ }
+
+ if (eh != NULL)
+ {
+ cookie.rels = NULL;
+ count = eh->reloc_count;
+ if (count != 0)
+ cookie.rels = _bfd_elf_link_read_relocs (abfd, eh, NULL, NULL,
+ info->keep_memory);
+ cookie.rel = cookie.rels;
+ cookie.relend = cookie.rels;
+ if (cookie.rels != NULL)
+ cookie.relend += count * bed->s->int_rels_per_ext_rel;
+
+ if (_bfd_elf_discard_section_eh_frame (abfd, info, eh,
+ bfd_elf_reloc_symbol_deleted_p,
+ &cookie))
+ ret = TRUE;
+
+ if (cookie.rels != NULL
+ && elf_section_data (eh)->relocs != cookie.rels)
+ free (cookie.rels);
+ }
+
+ if (bed->elf_backend_discard_info != NULL
+ && (*bed->elf_backend_discard_info) (abfd, &cookie, info))
+ ret = TRUE;
+
+ if (cookie.locsyms != NULL
+ && symtab_hdr->contents != (unsigned char *) cookie.locsyms)
+ {
+ if (! info->keep_memory)
+ free (cookie.locsyms);
+ else
+ symtab_hdr->contents = (unsigned char *) cookie.locsyms;
+ }
+ }
+
+ if (info->eh_frame_hdr
+ && !info->relocatable
+ && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info))
+ ret = TRUE;
+
+ return ret;
+}
diff --git a/bfd/elflink.h b/bfd/elflink.h
deleted file mode 100644
index c37d739..0000000
--- a/bfd/elflink.h
+++ /dev/null
@@ -1,6333 +0,0 @@
-/* ELF linker support.
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* ELF linker code. */
-
-#include "safe-ctype.h"
-
-static bfd_boolean elf_link_add_object_symbols (bfd *, struct bfd_link_info *);
-static bfd_boolean elf_link_add_archive_symbols (bfd *,
- struct bfd_link_info *);
-static bfd_boolean elf_finalize_dynstr (bfd *, struct bfd_link_info *);
-static bfd_boolean elf_collect_hash_codes (struct elf_link_hash_entry *,
- void *);
-static bfd_boolean elf_section_ignore_discarded_relocs (asection *);
-
-/* Given an ELF BFD, add symbols to the global hash table as
- appropriate. */
-
-bfd_boolean
-elf_bfd_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
-{
- switch (bfd_get_format (abfd))
- {
- case bfd_object:
- return elf_link_add_object_symbols (abfd, info);
- case bfd_archive:
- return elf_link_add_archive_symbols (abfd, info);
- default:
- bfd_set_error (bfd_error_wrong_format);
- return FALSE;
- }
-}
-
-/* Return TRUE iff this is a non-common, definition of a non-function symbol. */
-static bfd_boolean
-is_global_data_symbol_definition (bfd *abfd ATTRIBUTE_UNUSED,
- Elf_Internal_Sym *sym)
-{
- /* Local symbols do not count, but target specific ones might. */
- if (ELF_ST_BIND (sym->st_info) != STB_GLOBAL
- && ELF_ST_BIND (sym->st_info) < STB_LOOS)
- return FALSE;
-
- /* Function symbols do not count. */
- if (ELF_ST_TYPE (sym->st_info) == STT_FUNC)
- return FALSE;
-
- /* If the section is undefined, then so is the symbol. */
- if (sym->st_shndx == SHN_UNDEF)
- return FALSE;
-
- /* If the symbol is defined in the common section, then
- it is a common definition and so does not count. */
- if (sym->st_shndx == SHN_COMMON)
- return FALSE;
-
- /* If the symbol is in a target specific section then we
- must rely upon the backend to tell us what it is. */
- if (sym->st_shndx >= SHN_LORESERVE && sym->st_shndx < SHN_ABS)
- /* FIXME - this function is not coded yet:
-
- return _bfd_is_global_symbol_definition (abfd, sym);
-
- Instead for now assume that the definition is not global,
- Even if this is wrong, at least the linker will behave
- in the same way that it used to do. */
- return FALSE;
-
- return TRUE;
-}
-
-/* Search the symbol table of the archive element of the archive ABFD
- whose archive map contains a mention of SYMDEF, and determine if
- the symbol is defined in this element. */
-static bfd_boolean
-elf_link_is_defined_archive_symbol (bfd * abfd, carsym * symdef)
-{
- Elf_Internal_Shdr * hdr;
- bfd_size_type symcount;
- bfd_size_type extsymcount;
- bfd_size_type extsymoff;
- Elf_Internal_Sym *isymbuf;
- Elf_Internal_Sym *isym;
- Elf_Internal_Sym *isymend;
- bfd_boolean result;
-
- abfd = _bfd_get_elt_at_filepos (abfd, symdef->file_offset);
- if (abfd == NULL)
- return FALSE;
-
- if (! bfd_check_format (abfd, bfd_object))
- return FALSE;
-
- /* If we have already included the element containing this symbol in the
- link then we do not need to include it again. Just claim that any symbol
- it contains is not a definition, so that our caller will not decide to
- (re)include this element. */
- if (abfd->archive_pass)
- return FALSE;
-
- /* Select the appropriate symbol table. */
- if ((abfd->flags & DYNAMIC) == 0 || elf_dynsymtab (abfd) == 0)
- hdr = &elf_tdata (abfd)->symtab_hdr;
- else
- hdr = &elf_tdata (abfd)->dynsymtab_hdr;
-
- symcount = hdr->sh_size / sizeof (Elf_External_Sym);
-
- /* The sh_info field of the symtab header tells us where the
- external symbols start. We don't care about the local symbols. */
- if (elf_bad_symtab (abfd))
- {
- extsymcount = symcount;
- extsymoff = 0;
- }
- else
- {
- extsymcount = symcount - hdr->sh_info;
- extsymoff = hdr->sh_info;
- }
-
- if (extsymcount == 0)
- return FALSE;
-
- /* Read in the symbol table. */
- isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff,
- NULL, NULL, NULL);
- if (isymbuf == NULL)
- return FALSE;
-
- /* Scan the symbol table looking for SYMDEF. */
- result = FALSE;
- for (isym = isymbuf, isymend = isymbuf + extsymcount; isym < isymend; isym++)
- {
- const char *name;
-
- name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
- isym->st_name);
- if (name == NULL)
- break;
-
- if (strcmp (name, symdef->name) == 0)
- {
- result = is_global_data_symbol_definition (abfd, isym);
- break;
- }
- }
-
- free (isymbuf);
-
- return result;
-}
-
-/* Add symbols from an ELF archive file to the linker hash table. We
- don't use _bfd_generic_link_add_archive_symbols because of a
- problem which arises on UnixWare. The UnixWare libc.so is an
- archive which includes an entry libc.so.1 which defines a bunch of
- symbols. The libc.so archive also includes a number of other
- object files, which also define symbols, some of which are the same
- as those defined in libc.so.1. Correct linking requires that we
- consider each object file in turn, and include it if it defines any
- symbols we need. _bfd_generic_link_add_archive_symbols does not do
- this; it looks through the list of undefined symbols, and includes
- any object file which defines them. When this algorithm is used on
- UnixWare, it winds up pulling in libc.so.1 early and defining a
- bunch of symbols. This means that some of the other objects in the
- archive are not included in the link, which is incorrect since they
- precede libc.so.1 in the archive.
-
- Fortunately, ELF archive handling is simpler than that done by
- _bfd_generic_link_add_archive_symbols, which has to allow for a.out
- oddities. In ELF, if we find a symbol in the archive map, and the
- symbol is currently undefined, we know that we must pull in that
- object file.
-
- Unfortunately, we do have to make multiple passes over the symbol
- table until nothing further is resolved. */
-
-static bfd_boolean
-elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
-{
- symindex c;
- bfd_boolean *defined = NULL;
- bfd_boolean *included = NULL;
- carsym *symdefs;
- bfd_boolean loop;
- bfd_size_type amt;
-
- if (! bfd_has_map (abfd))
- {
- /* An empty archive is a special case. */
- if (bfd_openr_next_archived_file (abfd, NULL) == NULL)
- return TRUE;
- bfd_set_error (bfd_error_no_armap);
- return FALSE;
- }
-
- /* Keep track of all symbols we know to be already defined, and all
- files we know to be already included. This is to speed up the
- second and subsequent passes. */
- c = bfd_ardata (abfd)->symdef_count;
- if (c == 0)
- return TRUE;
- amt = c;
- amt *= sizeof (bfd_boolean);
- defined = bfd_zmalloc (amt);
- included = bfd_zmalloc (amt);
- if (defined == NULL || included == NULL)
- goto error_return;
-
- symdefs = bfd_ardata (abfd)->symdefs;
-
- do
- {
- file_ptr last;
- symindex i;
- carsym *symdef;
- carsym *symdefend;
-
- loop = FALSE;
- last = -1;
-
- symdef = symdefs;
- symdefend = symdef + c;
- for (i = 0; symdef < symdefend; symdef++, i++)
- {
- struct elf_link_hash_entry *h;
- bfd *element;
- struct bfd_link_hash_entry *undefs_tail;
- symindex mark;
-
- if (defined[i] || included[i])
- continue;
- if (symdef->file_offset == last)
- {
- included[i] = TRUE;
- continue;
- }
-
- h = elf_link_hash_lookup (elf_hash_table (info), symdef->name,
- FALSE, FALSE, FALSE);
-
- if (h == NULL)
- {
- char *p, *copy;
- size_t len, first;
-
- /* If this is a default version (the name contains @@),
- look up the symbol again with only one `@' as well
- as without the version. The effect is that references
- to the symbol with and without the version will be
- matched by the default symbol in the archive. */
-
- p = strchr (symdef->name, ELF_VER_CHR);
- if (p == NULL || p[1] != ELF_VER_CHR)
- continue;
-
- /* First check with only one `@'. */
- len = strlen (symdef->name);
- copy = bfd_alloc (abfd, len);
- if (copy == NULL)
- goto error_return;
- first = p - symdef->name + 1;
- memcpy (copy, symdef->name, first);
- memcpy (copy + first, symdef->name + first + 1, len - first);
-
- h = elf_link_hash_lookup (elf_hash_table (info), copy,
- FALSE, FALSE, FALSE);
-
- if (h == NULL)
- {
- /* We also need to check references to the symbol
- without the version. */
-
- copy[first - 1] = '\0';
- h = elf_link_hash_lookup (elf_hash_table (info),
- copy, FALSE, FALSE, FALSE);
- }
-
- bfd_release (abfd, copy);
- }
-
- if (h == NULL)
- continue;
-
- if (h->root.type == bfd_link_hash_common)
- {
- /* We currently have a common symbol. The archive map contains
- a reference to this symbol, so we may want to include it. We
- only want to include it however, if this archive element
- contains a definition of the symbol, not just another common
- declaration of it.
-
- Unfortunately some archivers (including GNU ar) will put
- declarations of common symbols into their archive maps, as
- well as real definitions, so we cannot just go by the archive
- map alone. Instead we must read in the element's symbol
- table and check that to see what kind of symbol definition
- this is. */
- if (! elf_link_is_defined_archive_symbol (abfd, symdef))
- continue;
- }
- else if (h->root.type != bfd_link_hash_undefined)
- {
- if (h->root.type != bfd_link_hash_undefweak)
- defined[i] = TRUE;
- continue;
- }
-
- /* We need to include this archive member. */
- element = _bfd_get_elt_at_filepos (abfd, symdef->file_offset);
- if (element == NULL)
- goto error_return;
-
- if (! bfd_check_format (element, bfd_object))
- goto error_return;
-
- /* Doublecheck that we have not included this object
- already--it should be impossible, but there may be
- something wrong with the archive. */
- if (element->archive_pass != 0)
- {
- bfd_set_error (bfd_error_bad_value);
- goto error_return;
- }
- element->archive_pass = 1;
-
- undefs_tail = info->hash->undefs_tail;
-
- if (! (*info->callbacks->add_archive_element) (info, element,
- symdef->name))
- goto error_return;
- if (! elf_link_add_object_symbols (element, info))
- goto error_return;
-
- /* If there are any new undefined symbols, we need to make
- another pass through the archive in order to see whether
- they can be defined. FIXME: This isn't perfect, because
- common symbols wind up on undefs_tail and because an
- undefined symbol which is defined later on in this pass
- does not require another pass. This isn't a bug, but it
- does make the code less efficient than it could be. */
- if (undefs_tail != info->hash->undefs_tail)
- loop = TRUE;
-
- /* Look backward to mark all symbols from this object file
- which we have already seen in this pass. */
- mark = i;
- do
- {
- included[mark] = TRUE;
- if (mark == 0)
- break;
- --mark;
- }
- while (symdefs[mark].file_offset == symdef->file_offset);
-
- /* We mark subsequent symbols from this object file as we go
- on through the loop. */
- last = symdef->file_offset;
- }
- }
- while (loop);
-
- free (defined);
- free (included);
-
- return TRUE;
-
- error_return:
- if (defined != NULL)
- free (defined);
- if (included != NULL)
- free (included);
- return FALSE;
-}
-
-/* Add symbols from an ELF object file to the linker hash table. */
-
-static bfd_boolean
-elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
-{
- bfd_boolean (*add_symbol_hook)
- (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
- const char **, flagword *, asection **, bfd_vma *);
- bfd_boolean (*check_relocs)
- (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
- bfd_boolean collect;
- Elf_Internal_Shdr *hdr;
- bfd_size_type symcount;
- bfd_size_type extsymcount;
- bfd_size_type extsymoff;
- struct elf_link_hash_entry **sym_hash;
- bfd_boolean dynamic;
- Elf_External_Versym *extversym = NULL;
- Elf_External_Versym *ever;
- struct elf_link_hash_entry *weaks;
- struct elf_link_hash_entry **nondeflt_vers = NULL;
- bfd_size_type nondeflt_vers_cnt = 0;
- Elf_Internal_Sym *isymbuf = NULL;
- Elf_Internal_Sym *isym;
- Elf_Internal_Sym *isymend;
- const struct elf_backend_data *bed;
- bfd_boolean dt_needed;
- struct elf_link_hash_table * hash_table;
- bfd_size_type amt;
-
- hash_table = elf_hash_table (info);
-
- bed = get_elf_backend_data (abfd);
- add_symbol_hook = bed->elf_add_symbol_hook;
- collect = bed->collect;
-
- if ((abfd->flags & DYNAMIC) == 0)
- dynamic = FALSE;
- else
- {
- dynamic = TRUE;
-
- /* You can't use -r against a dynamic object. Also, there's no
- hope of using a dynamic object which does not exactly match
- the format of the output file. */
- if (info->relocatable
- || !is_elf_hash_table (hash_table)
- || hash_table->root.creator != abfd->xvec)
- {
- bfd_set_error (bfd_error_invalid_operation);
- goto error_return;
- }
- }
-
- /* As a GNU extension, any input sections which are named
- .gnu.warning.SYMBOL are treated as warning symbols for the given
- symbol. This differs from .gnu.warning sections, which generate
- warnings when they are included in an output file. */
- if (info->executable)
- {
- asection *s;
-
- for (s = abfd->sections; s != NULL; s = s->next)
- {
- const char *name;
-
- name = bfd_get_section_name (abfd, s);
- if (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0)
- {
- char *msg;
- bfd_size_type sz;
- bfd_size_type prefix_len;
- const char * gnu_warning_prefix = _("warning: ");
-
- name += sizeof ".gnu.warning." - 1;
-
- /* If this is a shared object, then look up the symbol
- in the hash table. If it is there, and it is already
- been defined, then we will not be using the entry
- from this shared object, so we don't need to warn.
- FIXME: If we see the definition in a regular object
- later on, we will warn, but we shouldn't. The only
- fix is to keep track of what warnings we are supposed
- to emit, and then handle them all at the end of the
- link. */
- if (dynamic)
- {
- struct elf_link_hash_entry *h;
-
- h = elf_link_hash_lookup (hash_table, name,
- FALSE, FALSE, TRUE);
-
- /* FIXME: What about bfd_link_hash_common? */
- if (h != NULL
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak))
- {
- /* We don't want to issue this warning. Clobber
- the section size so that the warning does not
- get copied into the output file. */
- s->_raw_size = 0;
- continue;
- }
- }
-
- sz = bfd_section_size (abfd, s);
- prefix_len = strlen (gnu_warning_prefix);
- msg = bfd_alloc (abfd, prefix_len + sz + 1);
- if (msg == NULL)
- goto error_return;
-
- strcpy (msg, gnu_warning_prefix);
- if (! bfd_get_section_contents (abfd, s, msg + prefix_len, 0, sz))
- goto error_return;
-
- msg[prefix_len + sz] = '\0';
-
- if (! (_bfd_generic_link_add_one_symbol
- (info, abfd, name, BSF_WARNING, s, 0, msg,
- FALSE, collect, NULL)))
- goto error_return;
-
- if (! info->relocatable)
- {
- /* Clobber the section size so that the warning does
- not get copied into the output file. */
- s->_raw_size = 0;
- }
- }
- }
- }
-
- dt_needed = FALSE;
- if (! dynamic)
- {
- /* If we are creating a shared library, create all the dynamic
- sections immediately. We need to attach them to something,
- so we attach them to this BFD, provided it is the right
- format. FIXME: If there are no input BFD's of the same
- format as the output, we can't make a shared library. */
- if (info->shared
- && is_elf_hash_table (hash_table)
- && hash_table->root.creator == abfd->xvec
- && ! hash_table->dynamic_sections_created)
- {
- if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
- goto error_return;
- }
- }
- else if (!is_elf_hash_table (hash_table))
- goto error_return;
- else
- {
- asection *s;
- bfd_boolean add_needed;
- const char *name;
- bfd_size_type oldsize;
- bfd_size_type strindex;
- struct bfd_link_needed_list *rpath = NULL, *runpath = NULL;
-
- /* ld --just-symbols and dynamic objects don't mix very well.
- Test for --just-symbols by looking at info set up by
- _bfd_elf_link_just_syms. */
- if ((s = abfd->sections) != NULL
- && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
- goto error_return;
-
- /* Find the name to use in a DT_NEEDED entry that refers to this
- object. If the object has a DT_SONAME entry, we use it.
- Otherwise, if the generic linker stuck something in
- elf_dt_name, we use that. Otherwise, we just use the file
- name. If the generic linker put a null string into
- elf_dt_name, we don't make a DT_NEEDED entry at all, even if
- there is a DT_SONAME entry. */
- add_needed = TRUE;
- name = bfd_get_filename (abfd);
- if (elf_dt_name (abfd) != NULL)
- {
- name = elf_dt_name (abfd);
- if (*name == '\0')
- {
- if (elf_dt_soname (abfd) != NULL)
- dt_needed = TRUE;
-
- add_needed = FALSE;
- }
- }
- s = bfd_get_section_by_name (abfd, ".dynamic");
- if (s != NULL)
- {
- Elf_External_Dyn *dynbuf = NULL;
- Elf_External_Dyn *extdyn;
- Elf_External_Dyn *extdynend;
- int elfsec;
- unsigned long shlink;
-
- dynbuf = bfd_malloc (s->_raw_size);
- if (dynbuf == NULL)
- goto error_return;
-
- if (! bfd_get_section_contents (abfd, s, dynbuf, 0, s->_raw_size))
- goto error_free_dyn;
-
- elfsec = _bfd_elf_section_from_bfd_section (abfd, s);
- if (elfsec == -1)
- goto error_free_dyn;
- shlink = elf_elfsections (abfd)[elfsec]->sh_link;
-
- extdyn = dynbuf;
- extdynend = extdyn + s->_raw_size / sizeof (Elf_External_Dyn);
- for (; extdyn < extdynend; extdyn++)
- {
- Elf_Internal_Dyn dyn;
-
- elf_swap_dyn_in (abfd, extdyn, &dyn);
- if (dyn.d_tag == DT_SONAME)
- {
- unsigned int tagv = dyn.d_un.d_val;
- name = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
- if (name == NULL)
- goto error_free_dyn;
- }
- if (dyn.d_tag == DT_NEEDED)
- {
- struct bfd_link_needed_list *n, **pn;
- char *fnm, *anm;
- unsigned int tagv = dyn.d_un.d_val;
-
- amt = sizeof (struct bfd_link_needed_list);
- n = bfd_alloc (abfd, amt);
- fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
- if (n == NULL || fnm == NULL)
- goto error_free_dyn;
- amt = strlen (fnm) + 1;
- anm = bfd_alloc (abfd, amt);
- if (anm == NULL)
- goto error_free_dyn;
- memcpy (anm, fnm, amt);
- n->name = anm;
- n->by = abfd;
- n->next = NULL;
- for (pn = & hash_table->needed;
- *pn != NULL;
- pn = &(*pn)->next)
- ;
- *pn = n;
- }
- if (dyn.d_tag == DT_RUNPATH)
- {
- struct bfd_link_needed_list *n, **pn;
- char *fnm, *anm;
- unsigned int tagv = dyn.d_un.d_val;
-
- amt = sizeof (struct bfd_link_needed_list);
- n = bfd_alloc (abfd, amt);
- fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
- if (n == NULL || fnm == NULL)
- goto error_free_dyn;
- amt = strlen (fnm) + 1;
- anm = bfd_alloc (abfd, amt);
- if (anm == NULL)
- goto error_free_dyn;
- memcpy (anm, fnm, amt);
- n->name = anm;
- n->by = abfd;
- n->next = NULL;
- for (pn = & runpath;
- *pn != NULL;
- pn = &(*pn)->next)
- ;
- *pn = n;
- }
- /* Ignore DT_RPATH if we have seen DT_RUNPATH. */
- if (!runpath && dyn.d_tag == DT_RPATH)
- {
- struct bfd_link_needed_list *n, **pn;
- char *fnm, *anm;
- unsigned int tagv = dyn.d_un.d_val;
-
- amt = sizeof (struct bfd_link_needed_list);
- n = bfd_alloc (abfd, amt);
- fnm = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
- if (n == NULL || fnm == NULL)
- goto error_free_dyn;
- amt = strlen (fnm) + 1;
- anm = bfd_alloc (abfd, amt);
- if (anm == NULL)
- {
- error_free_dyn:
- free (dynbuf);
- goto error_return;
- }
- memcpy (anm, fnm, amt);
- n->name = anm;
- n->by = abfd;
- n->next = NULL;
- for (pn = & rpath;
- *pn != NULL;
- pn = &(*pn)->next)
- ;
- *pn = n;
- }
- }
-
- free (dynbuf);
- }
-
- /* DT_RUNPATH overrides DT_RPATH. Do _NOT_ bfd_release, as that
- frees all more recently bfd_alloc'd blocks as well. */
- if (runpath)
- rpath = runpath;
-
- if (rpath)
- {
- struct bfd_link_needed_list **pn;
- for (pn = & hash_table->runpath;
- *pn != NULL;
- pn = &(*pn)->next)
- ;
- *pn = rpath;
- }
-
- /* We do not want to include any of the sections in a dynamic
- object in the output file. We hack by simply clobbering the
- list of sections in the BFD. This could be handled more
- cleanly by, say, a new section flag; the existing
- SEC_NEVER_LOAD flag is not the one we want, because that one
- still implies that the section takes up space in the output
- file. */
- bfd_section_list_clear (abfd);
-
- /* If this is the first dynamic object found in the link, create
- the special sections required for dynamic linking. */
- if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
- goto error_return;
-
- if (add_needed)
- {
- /* Add a DT_NEEDED entry for this dynamic object. */
- oldsize = _bfd_elf_strtab_size (hash_table->dynstr);
- strindex = _bfd_elf_strtab_add (hash_table->dynstr, name, FALSE);
- if (strindex == (bfd_size_type) -1)
- goto error_return;
-
- if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr))
- {
- asection *sdyn;
- Elf_External_Dyn *dyncon, *dynconend;
-
- /* The hash table size did not change, which means that
- the dynamic object name was already entered. If we
- have already included this dynamic object in the
- link, just ignore it. There is no reason to include
- a particular dynamic object more than once. */
- sdyn = bfd_get_section_by_name (hash_table->dynobj, ".dynamic");
- BFD_ASSERT (sdyn != NULL);
-
- dyncon = (Elf_External_Dyn *) sdyn->contents;
- dynconend = (Elf_External_Dyn *) (sdyn->contents +
- sdyn->_raw_size);
- for (; dyncon < dynconend; dyncon++)
- {
- Elf_Internal_Dyn dyn;
-
- elf_swap_dyn_in (hash_table->dynobj, dyncon, & dyn);
- if (dyn.d_tag == DT_NEEDED
- && dyn.d_un.d_val == strindex)
- {
- _bfd_elf_strtab_delref (hash_table->dynstr, strindex);
- return TRUE;
- }
- }
- }
-
- if (! elf_add_dynamic_entry (info, DT_NEEDED, strindex))
- goto error_return;
- }
-
- /* Save the SONAME, if there is one, because sometimes the
- linker emulation code will need to know it. */
- if (*name == '\0')
- name = basename (bfd_get_filename (abfd));
- elf_dt_name (abfd) = name;
- }
-
- /* If this is a dynamic object, we always link against the .dynsym
- symbol table, not the .symtab symbol table. The dynamic linker
- will only see the .dynsym symbol table, so there is no reason to
- look at .symtab for a dynamic object. */
-
- if (! dynamic || elf_dynsymtab (abfd) == 0)
- hdr = &elf_tdata (abfd)->symtab_hdr;
- else
- hdr = &elf_tdata (abfd)->dynsymtab_hdr;
-
- symcount = hdr->sh_size / sizeof (Elf_External_Sym);
-
- /* The sh_info field of the symtab header tells us where the
- external symbols start. We don't care about the local symbols at
- this point. */
- if (elf_bad_symtab (abfd))
- {
- extsymcount = symcount;
- extsymoff = 0;
- }
- else
- {
- extsymcount = symcount - hdr->sh_info;
- extsymoff = hdr->sh_info;
- }
-
- sym_hash = NULL;
- if (extsymcount != 0)
- {
- isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff,
- NULL, NULL, NULL);
- if (isymbuf == NULL)
- goto error_return;
-
- /* We store a pointer to the hash table entry for each external
- symbol. */
- amt = extsymcount * sizeof (struct elf_link_hash_entry *);
- sym_hash = bfd_alloc (abfd, amt);
- if (sym_hash == NULL)
- goto error_free_sym;
- elf_sym_hashes (abfd) = sym_hash;
- }
-
- if (dynamic)
- {
- /* Read in any version definitions. */
- if (! _bfd_elf_slurp_version_tables (abfd))
- goto error_free_sym;
-
- /* Read in the symbol versions, but don't bother to convert them
- to internal format. */
- if (elf_dynversym (abfd) != 0)
- {
- Elf_Internal_Shdr *versymhdr;
-
- versymhdr = &elf_tdata (abfd)->dynversym_hdr;
- extversym = bfd_malloc (versymhdr->sh_size);
- if (extversym == NULL)
- goto error_free_sym;
- amt = versymhdr->sh_size;
- if (bfd_seek (abfd, versymhdr->sh_offset, SEEK_SET) != 0
- || bfd_bread (extversym, amt, abfd) != amt)
- goto error_free_vers;
- }
- }
-
- weaks = NULL;
-
- ever = extversym != NULL ? extversym + extsymoff : NULL;
- for (isym = isymbuf, isymend = isymbuf + extsymcount;
- isym < isymend;
- isym++, sym_hash++, ever = (ever != NULL ? ever + 1 : NULL))
- {
- int bind;
- bfd_vma value;
- asection *sec;
- flagword flags;
- const char *name;
- struct elf_link_hash_entry *h;
- bfd_boolean definition;
- bfd_boolean size_change_ok;
- bfd_boolean type_change_ok;
- bfd_boolean new_weakdef;
- bfd_boolean override;
- unsigned int old_alignment;
- bfd *old_bfd;
-
- override = FALSE;
-
- flags = BSF_NO_FLAGS;
- sec = NULL;
- value = isym->st_value;
- *sym_hash = NULL;
-
- bind = ELF_ST_BIND (isym->st_info);
- if (bind == STB_LOCAL)
- {
- /* This should be impossible, since ELF requires that all
- global symbols follow all local symbols, and that sh_info
- point to the first global symbol. Unfortunately, Irix 5
- screws this up. */
- continue;
- }
- else if (bind == STB_GLOBAL)
- {
- if (isym->st_shndx != SHN_UNDEF
- && isym->st_shndx != SHN_COMMON)
- flags = BSF_GLOBAL;
- }
- else if (bind == STB_WEAK)
- flags = BSF_WEAK;
- else
- {
- /* Leave it up to the processor backend. */
- }
-
- if (isym->st_shndx == SHN_UNDEF)
- sec = bfd_und_section_ptr;
- else if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
- {
- sec = section_from_elf_index (abfd, isym->st_shndx);
- if (sec == NULL)
- sec = bfd_abs_section_ptr;
- else if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
- value -= sec->vma;
- }
- else if (isym->st_shndx == SHN_ABS)
- sec = bfd_abs_section_ptr;
- else if (isym->st_shndx == SHN_COMMON)
- {
- sec = bfd_com_section_ptr;
- /* What ELF calls the size we call the value. What ELF
- calls the value we call the alignment. */
- value = isym->st_size;
- }
- else
- {
- /* Leave it up to the processor backend. */
- }
-
- name = bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
- isym->st_name);
- if (name == NULL)
- goto error_free_vers;
-
- if (isym->st_shndx == SHN_COMMON
- && ELF_ST_TYPE (isym->st_info) == STT_TLS)
- {
- asection *tcomm = bfd_get_section_by_name (abfd, ".tcommon");
-
- if (tcomm == NULL)
- {
- tcomm = bfd_make_section (abfd, ".tcommon");
- if (tcomm == NULL
- || !bfd_set_section_flags (abfd, tcomm, (SEC_ALLOC
- | SEC_IS_COMMON
- | SEC_LINKER_CREATED
- | SEC_THREAD_LOCAL)))
- goto error_free_vers;
- }
- sec = tcomm;
- }
- else if (add_symbol_hook)
- {
- if (! (*add_symbol_hook) (abfd, info, isym, &name, &flags, &sec,
- &value))
- goto error_free_vers;
-
- /* The hook function sets the name to NULL if this symbol
- should be skipped for some reason. */
- if (name == NULL)
- continue;
- }
-
- /* Sanity check that all possibilities were handled. */
- if (sec == NULL)
- {
- bfd_set_error (bfd_error_bad_value);
- goto error_free_vers;
- }
-
- if (bfd_is_und_section (sec)
- || bfd_is_com_section (sec))
- definition = FALSE;
- else
- definition = TRUE;
-
- size_change_ok = FALSE;
- type_change_ok = get_elf_backend_data (abfd)->type_change_ok;
- old_alignment = 0;
- old_bfd = NULL;
-
- if (is_elf_hash_table (hash_table))
- {
- Elf_Internal_Versym iver;
- unsigned int vernum = 0;
- bfd_boolean skip;
-
- if (ever != NULL)
- {
- _bfd_elf_swap_versym_in (abfd, ever, &iver);
- vernum = iver.vs_vers & VERSYM_VERSION;
-
- /* If this is a hidden symbol, or if it is not version
- 1, we append the version name to the symbol name.
- However, we do not modify a non-hidden absolute
- symbol, because it might be the version symbol
- itself. FIXME: What if it isn't? */
- if ((iver.vs_vers & VERSYM_HIDDEN) != 0
- || (vernum > 1 && ! bfd_is_abs_section (sec)))
- {
- const char *verstr;
- size_t namelen, verlen, newlen;
- char *newname, *p;
-
- if (isym->st_shndx != SHN_UNDEF)
- {
- if (vernum > elf_tdata (abfd)->dynverdef_hdr.sh_info)
- {
- (*_bfd_error_handler)
- (_("%s: %s: invalid version %u (max %d)"),
- bfd_archive_filename (abfd), name, vernum,
- elf_tdata (abfd)->dynverdef_hdr.sh_info);
- bfd_set_error (bfd_error_bad_value);
- goto error_free_vers;
- }
- else if (vernum > 1)
- verstr =
- elf_tdata (abfd)->verdef[vernum - 1].vd_nodename;
- else
- verstr = "";
- }
- else
- {
- /* We cannot simply test for the number of
- entries in the VERNEED section since the
- numbers for the needed versions do not start
- at 0. */
- Elf_Internal_Verneed *t;
-
- verstr = NULL;
- for (t = elf_tdata (abfd)->verref;
- t != NULL;
- t = t->vn_nextref)
- {
- Elf_Internal_Vernaux *a;
-
- for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
- {
- if (a->vna_other == vernum)
- {
- verstr = a->vna_nodename;
- break;
- }
- }
- if (a != NULL)
- break;
- }
- if (verstr == NULL)
- {
- (*_bfd_error_handler)
- (_("%s: %s: invalid needed version %d"),
- bfd_archive_filename (abfd), name, vernum);
- bfd_set_error (bfd_error_bad_value);
- goto error_free_vers;
- }
- }
-
- namelen = strlen (name);
- verlen = strlen (verstr);
- newlen = namelen + verlen + 2;
- if ((iver.vs_vers & VERSYM_HIDDEN) == 0
- && isym->st_shndx != SHN_UNDEF)
- ++newlen;
-
- newname = bfd_alloc (abfd, newlen);
- if (newname == NULL)
- goto error_free_vers;
- memcpy (newname, name, namelen);
- p = newname + namelen;
- *p++ = ELF_VER_CHR;
- /* If this is a defined non-hidden version symbol,
- we add another @ to the name. This indicates the
- default version of the symbol. */
- if ((iver.vs_vers & VERSYM_HIDDEN) == 0
- && isym->st_shndx != SHN_UNDEF)
- *p++ = ELF_VER_CHR;
- memcpy (p, verstr, verlen + 1);
-
- name = newname;
- }
- }
-
- if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value,
- sym_hash, &skip, &override,
- &type_change_ok, &size_change_ok,
- dt_needed))
- goto error_free_vers;
-
- if (skip)
- continue;
-
- if (override)
- definition = FALSE;
-
- h = *sym_hash;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- /* Remember the old alignment if this is a common symbol, so
- that we don't reduce the alignment later on. We can't
- check later, because _bfd_generic_link_add_one_symbol
- will set a default for the alignment which we want to
- override. We also remember the old bfd where the existing
- definition comes from. */
- switch (h->root.type)
- {
- default:
- break;
-
- case bfd_link_hash_defined:
- case bfd_link_hash_defweak:
- old_bfd = h->root.u.def.section->owner;
- break;
-
- case bfd_link_hash_common:
- old_bfd = h->root.u.c.p->section->owner;
- old_alignment = h->root.u.c.p->alignment_power;
- break;
- }
-
- if (elf_tdata (abfd)->verdef != NULL
- && ! override
- && vernum > 1
- && definition)
- h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1];
- }
-
- if (! (_bfd_generic_link_add_one_symbol
- (info, abfd, name, flags, sec, value, NULL, FALSE, collect,
- (struct bfd_link_hash_entry **) sym_hash)))
- goto error_free_vers;
-
- h = *sym_hash;
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- *sym_hash = h;
-
- new_weakdef = FALSE;
- if (dynamic
- && definition
- && (flags & BSF_WEAK) != 0
- && ELF_ST_TYPE (isym->st_info) != STT_FUNC
- && is_elf_hash_table (hash_table)
- && h->weakdef == NULL)
- {
- /* Keep a list of all weak defined non function symbols from
- a dynamic object, using the weakdef field. Later in this
- function we will set the weakdef field to the correct
- value. We only put non-function symbols from dynamic
- objects on this list, because that happens to be the only
- time we need to know the normal symbol corresponding to a
- weak symbol, and the information is time consuming to
- figure out. If the weakdef field is not already NULL,
- then this symbol was already defined by some previous
- dynamic object, and we will be using that previous
- definition anyhow. */
-
- h->weakdef = weaks;
- weaks = h;
- new_weakdef = TRUE;
- }
-
- /* Set the alignment of a common symbol. */
- if (isym->st_shndx == SHN_COMMON
- && h->root.type == bfd_link_hash_common)
- {
- unsigned int align;
-
- align = bfd_log2 (isym->st_value);
- if (align > old_alignment
- /* Permit an alignment power of zero if an alignment of one
- is specified and no other alignments have been specified. */
- || (isym->st_value == 1 && old_alignment == 0))
- h->root.u.c.p->alignment_power = align;
- else
- h->root.u.c.p->alignment_power = old_alignment;
- }
-
- if (is_elf_hash_table (hash_table))
- {
- int old_flags;
- bfd_boolean dynsym;
- int new_flag;
-
- /* Check the alignment when a common symbol is involved. This
- can change when a common symbol is overridden by a normal
- definition or a common symbol is ignored due to the old
- normal definition. We need to make sure the maximum
- alignment is maintained. */
- if ((old_alignment || isym->st_shndx == SHN_COMMON)
- && h->root.type != bfd_link_hash_common)
- {
- unsigned int common_align;
- unsigned int normal_align;
- unsigned int symbol_align;
- bfd *normal_bfd;
- bfd *common_bfd;
-
- symbol_align = ffs (h->root.u.def.value) - 1;
- if (h->root.u.def.section->owner != NULL
- && (h->root.u.def.section->owner->flags & DYNAMIC) == 0)
- {
- normal_align = h->root.u.def.section->alignment_power;
- if (normal_align > symbol_align)
- normal_align = symbol_align;
- }
- else
- normal_align = symbol_align;
-
- if (old_alignment)
- {
- common_align = old_alignment;
- common_bfd = old_bfd;
- normal_bfd = abfd;
- }
- else
- {
- common_align = bfd_log2 (isym->st_value);
- common_bfd = abfd;
- normal_bfd = old_bfd;
- }
-
- if (normal_align < common_align)
- (*_bfd_error_handler)
- (_("Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"),
- 1 << normal_align,
- name,
- bfd_archive_filename (normal_bfd),
- 1 << common_align,
- bfd_archive_filename (common_bfd));
- }
-
- /* Remember the symbol size and type. */
- if (isym->st_size != 0
- && (definition || h->size == 0))
- {
- if (h->size != 0 && h->size != isym->st_size && ! size_change_ok)
- (*_bfd_error_handler)
- (_("Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"),
- name, (unsigned long) h->size,
- bfd_archive_filename (old_bfd),
- (unsigned long) isym->st_size,
- bfd_archive_filename (abfd));
-
- h->size = isym->st_size;
- }
-
- /* If this is a common symbol, then we always want H->SIZE
- to be the size of the common symbol. The code just above
- won't fix the size if a common symbol becomes larger. We
- don't warn about a size change here, because that is
- covered by --warn-common. */
- if (h->root.type == bfd_link_hash_common)
- h->size = h->root.u.c.size;
-
- if (ELF_ST_TYPE (isym->st_info) != STT_NOTYPE
- && (definition || h->type == STT_NOTYPE))
- {
- if (h->type != STT_NOTYPE
- && h->type != ELF_ST_TYPE (isym->st_info)
- && ! type_change_ok)
- (*_bfd_error_handler)
- (_("Warning: type of symbol `%s' changed from %d to %d in %s"),
- name, h->type, ELF_ST_TYPE (isym->st_info),
- bfd_archive_filename (abfd));
-
- h->type = ELF_ST_TYPE (isym->st_info);
- }
-
- /* If st_other has a processor-specific meaning, specific
- code might be needed here. We never merge the visibility
- attribute with the one from a dynamic object. */
- if (bed->elf_backend_merge_symbol_attribute)
- (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition,
- dynamic);
-
- if (isym->st_other != 0 && !dynamic)
- {
- unsigned char hvis, symvis, other, nvis;
-
- /* Take the balance of OTHER from the definition. */
- other = (definition ? isym->st_other : h->other);
- other &= ~ ELF_ST_VISIBILITY (-1);
-
- /* Combine visibilities, using the most constraining one. */
- hvis = ELF_ST_VISIBILITY (h->other);
- symvis = ELF_ST_VISIBILITY (isym->st_other);
- if (! hvis)
- nvis = symvis;
- else if (! symvis)
- nvis = hvis;
- else
- nvis = hvis < symvis ? hvis : symvis;
-
- h->other = other | nvis;
- }
-
- /* Set a flag in the hash table entry indicating the type of
- reference or definition we just found. Keep a count of
- the number of dynamic symbols we find. A dynamic symbol
- is one which is referenced or defined by both a regular
- object and a shared object. */
- old_flags = h->elf_link_hash_flags;
- dynsym = FALSE;
- if (! dynamic)
- {
- if (! definition)
- {
- new_flag = ELF_LINK_HASH_REF_REGULAR;
- if (bind != STB_WEAK)
- new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK;
- }
- else
- new_flag = ELF_LINK_HASH_DEF_REGULAR;
- if (! info->executable
- || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC
- | ELF_LINK_HASH_REF_DYNAMIC)) != 0)
- dynsym = TRUE;
- }
- else
- {
- if (! definition)
- new_flag = ELF_LINK_HASH_REF_DYNAMIC;
- else
- new_flag = ELF_LINK_HASH_DEF_DYNAMIC;
- if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR
- | ELF_LINK_HASH_REF_REGULAR)) != 0
- || (h->weakdef != NULL
- && ! new_weakdef
- && h->weakdef->dynindx != -1))
- dynsym = TRUE;
- }
-
- h->elf_link_hash_flags |= new_flag;
-
- /* Check to see if we need to add an indirect symbol for
- the default name. */
- if (definition || h->root.type == bfd_link_hash_common)
- if (!_bfd_elf_add_default_symbol (abfd, info, h, name, isym,
- &sec, &value, &dynsym,
- override, dt_needed))
- goto error_free_vers;
-
- if (definition && !dynamic)
- {
- char *p = strchr (name, ELF_VER_CHR);
- if (p != NULL && p[1] != ELF_VER_CHR)
- {
- /* Queue non-default versions so that .symver x, x@FOO
- aliases can be checked. */
- if (! nondeflt_vers)
- {
- amt = (isymend - isym + 1)
- * sizeof (struct elf_link_hash_entry *);
- nondeflt_vers = bfd_malloc (amt);
- }
- nondeflt_vers [nondeflt_vers_cnt++] = h;
- }
- }
-
- if (dynsym && h->dynindx == -1)
- {
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
- goto error_free_vers;
- if (h->weakdef != NULL
- && ! new_weakdef
- && h->weakdef->dynindx == -1)
- {
- if (! _bfd_elf_link_record_dynamic_symbol (info, h->weakdef))
- goto error_free_vers;
- }
- }
- else if (dynsym && h->dynindx != -1)
- /* If the symbol already has a dynamic index, but
- visibility says it should not be visible, turn it into
- a local symbol. */
- switch (ELF_ST_VISIBILITY (h->other))
- {
- case STV_INTERNAL:
- case STV_HIDDEN:
- (*bed->elf_backend_hide_symbol) (info, h, TRUE);
- break;
- }
-
- if (dt_needed && definition
- && (h->elf_link_hash_flags
- & ELF_LINK_HASH_REF_REGULAR) != 0)
- {
- bfd_size_type oldsize;
- bfd_size_type strindex;
-
- /* The symbol from a DT_NEEDED object is referenced from
- the regular object to create a dynamic executable. We
- have to make sure there is a DT_NEEDED entry for it. */
-
- dt_needed = FALSE;
- oldsize = _bfd_elf_strtab_size (hash_table->dynstr);
- strindex = _bfd_elf_strtab_add (hash_table->dynstr,
- elf_dt_soname (abfd), FALSE);
- if (strindex == (bfd_size_type) -1)
- goto error_free_vers;
-
- if (oldsize == _bfd_elf_strtab_size (hash_table->dynstr))
- {
- asection *sdyn;
- Elf_External_Dyn *dyncon, *dynconend;
-
- sdyn = bfd_get_section_by_name (hash_table->dynobj,
- ".dynamic");
- BFD_ASSERT (sdyn != NULL);
-
- dyncon = (Elf_External_Dyn *) sdyn->contents;
- dynconend = (Elf_External_Dyn *) (sdyn->contents +
- sdyn->_raw_size);
- for (; dyncon < dynconend; dyncon++)
- {
- Elf_Internal_Dyn dyn;
-
- elf_swap_dyn_in (hash_table->dynobj,
- dyncon, &dyn);
- BFD_ASSERT (dyn.d_tag != DT_NEEDED ||
- dyn.d_un.d_val != strindex);
- }
- }
-
- if (! elf_add_dynamic_entry (info, DT_NEEDED, strindex))
- goto error_free_vers;
- }
- }
- }
-
- /* Now that all the symbols from this input file are created, handle
- .symver foo, foo@BAR such that any relocs against foo become foo@BAR. */
- if (nondeflt_vers != NULL)
- {
- bfd_size_type cnt, symidx;
-
- for (cnt = 0; cnt < nondeflt_vers_cnt; ++cnt)
- {
- struct elf_link_hash_entry *h = nondeflt_vers[cnt], *hi;
- char *shortname, *p;
-
- p = strchr (h->root.root.string, ELF_VER_CHR);
- if (p == NULL
- || (h->root.type != bfd_link_hash_defined
- && h->root.type != bfd_link_hash_defweak))
- continue;
-
- amt = p - h->root.root.string;
- shortname = bfd_malloc (amt + 1);
- memcpy (shortname, h->root.root.string, amt);
- shortname[amt] = '\0';
-
- hi = (struct elf_link_hash_entry *)
- bfd_link_hash_lookup (&hash_table->root, shortname,
- FALSE, FALSE, FALSE);
- if (hi != NULL
- && hi->root.type == h->root.type
- && hi->root.u.def.value == h->root.u.def.value
- && hi->root.u.def.section == h->root.u.def.section)
- {
- (*bed->elf_backend_hide_symbol) (info, hi, TRUE);
- hi->root.type = bfd_link_hash_indirect;
- hi->root.u.i.link = (struct bfd_link_hash_entry *) h;
- (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi);
- sym_hash = elf_sym_hashes (abfd);
- if (sym_hash)
- for (symidx = 0; symidx < extsymcount; ++symidx)
- if (sym_hash[symidx] == hi)
- {
- sym_hash[symidx] = h;
- break;
- }
- }
- free (shortname);
- }
- free (nondeflt_vers);
- nondeflt_vers = NULL;
- }
-
- if (extversym != NULL)
- {
- free (extversym);
- extversym = NULL;
- }
-
- if (isymbuf != NULL)
- free (isymbuf);
- isymbuf = NULL;
-
- /* Now set the weakdefs field correctly for all the weak defined
- symbols we found. The only way to do this is to search all the
- symbols. Since we only need the information for non functions in
- dynamic objects, that's the only time we actually put anything on
- the list WEAKS. We need this information so that if a regular
- object refers to a symbol defined weakly in a dynamic object, the
- real symbol in the dynamic object is also put in the dynamic
- symbols; we also must arrange for both symbols to point to the
- same memory location. We could handle the general case of symbol
- aliasing, but a general symbol alias can only be generated in
- assembler code, handling it correctly would be very time
- consuming, and other ELF linkers don't handle general aliasing
- either. */
- while (weaks != NULL)
- {
- struct elf_link_hash_entry *hlook;
- asection *slook;
- bfd_vma vlook;
- struct elf_link_hash_entry **hpp;
- struct elf_link_hash_entry **hppend;
-
- hlook = weaks;
- weaks = hlook->weakdef;
- hlook->weakdef = NULL;
-
- BFD_ASSERT (hlook->root.type == bfd_link_hash_defined
- || hlook->root.type == bfd_link_hash_defweak
- || hlook->root.type == bfd_link_hash_common
- || hlook->root.type == bfd_link_hash_indirect);
- slook = hlook->root.u.def.section;
- vlook = hlook->root.u.def.value;
-
- hpp = elf_sym_hashes (abfd);
- hppend = hpp + extsymcount;
- for (; hpp < hppend; hpp++)
- {
- struct elf_link_hash_entry *h;
-
- h = *hpp;
- if (h != NULL && h != hlook
- && h->root.type == bfd_link_hash_defined
- && h->root.u.def.section == slook
- && h->root.u.def.value == vlook)
- {
- hlook->weakdef = h;
-
- /* If the weak definition is in the list of dynamic
- symbols, make sure the real definition is put there
- as well. */
- if (hlook->dynindx != -1
- && h->dynindx == -1)
- {
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
- goto error_return;
- }
-
- /* If the real definition is in the list of dynamic
- symbols, make sure the weak definition is put there
- as well. If we don't do this, then the dynamic
- loader might not merge the entries for the real
- definition and the weak definition. */
- if (h->dynindx != -1
- && hlook->dynindx == -1)
- {
- if (! _bfd_elf_link_record_dynamic_symbol (info, hlook))
- goto error_return;
- }
- break;
- }
- }
- }
-
- /* If this object is the same format as the output object, and it is
- not a shared library, then let the backend look through the
- relocs.
-
- This is required to build global offset table entries and to
- arrange for dynamic relocs. It is not required for the
- particular common case of linking non PIC code, even when linking
- against shared libraries, but unfortunately there is no way of
- knowing whether an object file has been compiled PIC or not.
- Looking through the relocs is not particularly time consuming.
- The problem is that we must either (1) keep the relocs in memory,
- which causes the linker to require additional runtime memory or
- (2) read the relocs twice from the input file, which wastes time.
- This would be a good case for using mmap.
-
- I have no idea how to handle linking PIC code into a file of a
- different format. It probably can't be done. */
- check_relocs = get_elf_backend_data (abfd)->check_relocs;
- if (! dynamic
- && is_elf_hash_table (hash_table)
- && hash_table->root.creator == abfd->xvec
- && check_relocs != NULL)
- {
- asection *o;
-
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- Elf_Internal_Rela *internal_relocs;
- bfd_boolean ok;
-
- if ((o->flags & SEC_RELOC) == 0
- || o->reloc_count == 0
- || ((info->strip == strip_all || info->strip == strip_debugger)
- && (o->flags & SEC_DEBUGGING) != 0)
- || bfd_is_abs_section (o->output_section))
- continue;
-
- internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL,
- info->keep_memory);
- if (internal_relocs == NULL)
- goto error_return;
-
- ok = (*check_relocs) (abfd, info, o, internal_relocs);
-
- if (elf_section_data (o)->relocs != internal_relocs)
- free (internal_relocs);
-
- if (! ok)
- goto error_return;
- }
- }
-
- /* If this is a non-traditional link, try to optimize the handling
- of the .stab/.stabstr sections. */
- if (! dynamic
- && ! info->traditional_format
- && is_elf_hash_table (hash_table)
- && (info->strip != strip_all && info->strip != strip_debugger))
- {
- asection *stabstr;
-
- stabstr = bfd_get_section_by_name (abfd, ".stabstr");
- if (stabstr != NULL)
- {
- bfd_size_type string_offset = 0;
- asection *stab;
-
- for (stab = abfd->sections; stab; stab = stab->next)
- if (strncmp (".stab", stab->name, 5) == 0
- && (!stab->name[5] ||
- (stab->name[5] == '.' && ISDIGIT (stab->name[6])))
- && (stab->flags & SEC_MERGE) == 0
- && !bfd_is_abs_section (stab->output_section))
- {
- struct bfd_elf_section_data *secdata;
-
- secdata = elf_section_data (stab);
- if (! _bfd_link_section_stabs (abfd,
- & hash_table->stab_info,
- stab, stabstr,
- &secdata->sec_info,
- &string_offset))
- goto error_return;
- if (secdata->sec_info)
- stab->sec_info_type = ELF_INFO_TYPE_STABS;
- }
- }
- }
-
- if (! info->relocatable
- && ! dynamic
- && is_elf_hash_table (hash_table))
- {
- asection *s;
-
- for (s = abfd->sections; s != NULL; s = s->next)
- if ((s->flags & SEC_MERGE) != 0
- && !bfd_is_abs_section (s->output_section))
- {
- struct bfd_elf_section_data *secdata;
-
- secdata = elf_section_data (s);
- if (! _bfd_merge_section (abfd,
- & hash_table->merge_info,
- s, &secdata->sec_info))
- goto error_return;
- else if (secdata->sec_info)
- s->sec_info_type = ELF_INFO_TYPE_MERGE;
- }
- }
-
- if (is_elf_hash_table (hash_table))
- {
- /* Add this bfd to the loaded list. */
- struct elf_link_loaded_list *n;
-
- n = bfd_alloc (abfd, sizeof (struct elf_link_loaded_list));
- if (n == NULL)
- goto error_return;
- n->abfd = abfd;
- n->next = hash_table->loaded;
- hash_table->loaded = n;
- }
-
- return TRUE;
-
- error_free_vers:
- if (nondeflt_vers != NULL)
- free (nondeflt_vers);
- if (extversym != NULL)
- free (extversym);
- error_free_sym:
- if (isymbuf != NULL)
- free (isymbuf);
- error_return:
- return FALSE;
-}
-
-/* Add an entry to the .dynamic table. */
-
-bfd_boolean
-elf_add_dynamic_entry (struct bfd_link_info *info, bfd_vma tag, bfd_vma val)
-{
- Elf_Internal_Dyn dyn;
- bfd *dynobj;
- asection *s;
- bfd_size_type newsize;
- bfd_byte *newcontents;
-
- if (! is_elf_hash_table (info->hash))
- return FALSE;
-
- dynobj = elf_hash_table (info)->dynobj;
-
- s = bfd_get_section_by_name (dynobj, ".dynamic");
- BFD_ASSERT (s != NULL);
-
- newsize = s->_raw_size + sizeof (Elf_External_Dyn);
- newcontents = bfd_realloc (s->contents, newsize);
- if (newcontents == NULL)
- return FALSE;
-
- dyn.d_tag = tag;
- dyn.d_un.d_val = val;
- elf_swap_dyn_out (dynobj, &dyn,
- (Elf_External_Dyn *) (newcontents + s->_raw_size));
-
- s->_raw_size = newsize;
- s->contents = newcontents;
-
- return TRUE;
-}
-
-/* Array used to determine the number of hash table buckets to use
- based on the number of symbols there are. If there are fewer than
- 3 symbols we use 1 bucket, fewer than 17 symbols we use 3 buckets,
- fewer than 37 we use 17 buckets, and so forth. We never use more
- than 32771 buckets. */
-
-static const size_t elf_buckets[] =
-{
- 1, 3, 17, 37, 67, 97, 131, 197, 263, 521, 1031, 2053, 4099, 8209,
- 16411, 32771, 0
-};
-
-/* Compute bucket count for hashing table. We do not use a static set
- of possible tables sizes anymore. Instead we determine for all
- possible reasonable sizes of the table the outcome (i.e., the
- number of collisions etc) and choose the best solution. The
- weighting functions are not too simple to allow the table to grow
- without bounds. Instead one of the weighting factors is the size.
- Therefore the result is always a good payoff between few collisions
- (= short chain lengths) and table size. */
-static size_t
-compute_bucket_count (struct bfd_link_info *info)
-{
- size_t dynsymcount = elf_hash_table (info)->dynsymcount;
- size_t best_size = 0;
- unsigned long int *hashcodes;
- unsigned long int *hashcodesp;
- unsigned long int i;
- bfd_size_type amt;
-
- /* Compute the hash values for all exported symbols. At the same
- time store the values in an array so that we could use them for
- optimizations. */
- amt = dynsymcount;
- amt *= sizeof (unsigned long int);
- hashcodes = bfd_malloc (amt);
- if (hashcodes == NULL)
- return 0;
- hashcodesp = hashcodes;
-
- /* Put all hash values in HASHCODES. */
- elf_link_hash_traverse (elf_hash_table (info),
- elf_collect_hash_codes, &hashcodesp);
-
- /* We have a problem here. The following code to optimize the table
- size requires an integer type with more the 32 bits. If
- BFD_HOST_U_64_BIT is set we know about such a type. */
-#ifdef BFD_HOST_U_64_BIT
- if (info->optimize)
- {
- unsigned long int nsyms = hashcodesp - hashcodes;
- size_t minsize;
- size_t maxsize;
- BFD_HOST_U_64_BIT best_chlen = ~((BFD_HOST_U_64_BIT) 0);
- unsigned long int *counts ;
-
- /* Possible optimization parameters: if we have NSYMS symbols we say
- that the hashing table must at least have NSYMS/4 and at most
- 2*NSYMS buckets. */
- minsize = nsyms / 4;
- if (minsize == 0)
- minsize = 1;
- best_size = maxsize = nsyms * 2;
-
- /* Create array where we count the collisions in. We must use bfd_malloc
- since the size could be large. */
- amt = maxsize;
- amt *= sizeof (unsigned long int);
- counts = bfd_malloc (amt);
- if (counts == NULL)
- {
- free (hashcodes);
- return 0;
- }
-
- /* Compute the "optimal" size for the hash table. The criteria is a
- minimal chain length. The minor criteria is (of course) the size
- of the table. */
- for (i = minsize; i < maxsize; ++i)
- {
- /* Walk through the array of hashcodes and count the collisions. */
- BFD_HOST_U_64_BIT max;
- unsigned long int j;
- unsigned long int fact;
-
- memset (counts, '\0', i * sizeof (unsigned long int));
-
- /* Determine how often each hash bucket is used. */
- for (j = 0; j < nsyms; ++j)
- ++counts[hashcodes[j] % i];
-
- /* For the weight function we need some information about the
- pagesize on the target. This is information need not be 100%
- accurate. Since this information is not available (so far) we
- define it here to a reasonable default value. If it is crucial
- to have a better value some day simply define this value. */
-# ifndef BFD_TARGET_PAGESIZE
-# define BFD_TARGET_PAGESIZE (4096)
-# endif
-
- /* We in any case need 2 + NSYMS entries for the size values and
- the chains. */
- max = (2 + nsyms) * (ARCH_SIZE / 8);
-
-# if 1
- /* Variant 1: optimize for short chains. We add the squares
- of all the chain lengths (which favors many small chain
- over a few long chains). */
- for (j = 0; j < i; ++j)
- max += counts[j] * counts[j];
-
- /* This adds penalties for the overall size of the table. */
- fact = i / (BFD_TARGET_PAGESIZE / (ARCH_SIZE / 8)) + 1;
- max *= fact * fact;
-# else
- /* Variant 2: Optimize a lot more for small table. Here we
- also add squares of the size but we also add penalties for
- empty slots (the +1 term). */
- for (j = 0; j < i; ++j)
- max += (1 + counts[j]) * (1 + counts[j]);
-
- /* The overall size of the table is considered, but not as
- strong as in variant 1, where it is squared. */
- fact = i / (BFD_TARGET_PAGESIZE / (ARCH_SIZE / 8)) + 1;
- max *= fact;
-# endif
-
- /* Compare with current best results. */
- if (max < best_chlen)
- {
- best_chlen = max;
- best_size = i;
- }
- }
-
- free (counts);
- }
- else
-#endif /* defined (BFD_HOST_U_64_BIT) */
- {
- /* This is the fallback solution if no 64bit type is available or if we
- are not supposed to spend much time on optimizations. We select the
- bucket count using a fixed set of numbers. */
- for (i = 0; elf_buckets[i] != 0; i++)
- {
- best_size = elf_buckets[i];
- if (dynsymcount < elf_buckets[i + 1])
- break;
- }
- }
-
- /* Free the arrays we needed. */
- free (hashcodes);
-
- return best_size;
-}
-
-/* Set up the sizes and contents of the ELF dynamic sections. This is
- called by the ELF linker emulation before_allocation routine. We
- must set the sizes of the sections before the linker sets the
- addresses of the various sections. */
-
-bfd_boolean
-NAME(bfd_elf,size_dynamic_sections) (bfd *output_bfd,
- const char *soname,
- const char *rpath,
- const char *filter_shlib,
- const char * const *auxiliary_filters,
- struct bfd_link_info *info,
- asection **sinterpptr,
- struct bfd_elf_version_tree *verdefs)
-{
- bfd_size_type soname_indx;
- bfd *dynobj;
- const struct elf_backend_data *bed;
- struct elf_assign_sym_version_info asvinfo;
-
- *sinterpptr = NULL;
-
- soname_indx = (bfd_size_type) -1;
-
- if (!is_elf_hash_table (info->hash))
- return TRUE;
-
- if (info->execstack)
- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
- else if (info->noexecstack)
- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
- else
- {
- bfd *inputobj;
- asection *notesec = NULL;
- int exec = 0;
-
- for (inputobj = info->input_bfds;
- inputobj;
- inputobj = inputobj->link_next)
- {
- asection *s;
-
- if (inputobj->flags & DYNAMIC)
- continue;
- s = bfd_get_section_by_name (inputobj, ".note.GNU-stack");
- if (s)
- {
- if (s->flags & SEC_CODE)
- exec = PF_X;
- notesec = s;
- }
- else
- exec = PF_X;
- }
- if (notesec)
- {
- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | exec;
- if (exec && info->relocatable
- && notesec->output_section != bfd_abs_section_ptr)
- notesec->output_section->flags |= SEC_CODE;
- }
- }
-
- /* Any syms created from now on start with -1 in
- got.refcount/offset and plt.refcount/offset. */
- elf_hash_table (info)->init_refcount = elf_hash_table (info)->init_offset;
-
- /* The backend may have to create some sections regardless of whether
- we're dynamic or not. */
- bed = get_elf_backend_data (output_bfd);
- if (bed->elf_backend_always_size_sections
- && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
- return FALSE;
-
- dynobj = elf_hash_table (info)->dynobj;
-
- /* If there were no dynamic objects in the link, there is nothing to
- do here. */
- if (dynobj == NULL)
- return TRUE;
-
- if (! _bfd_elf_maybe_strip_eh_frame_hdr (info))
- return FALSE;
-
- if (elf_hash_table (info)->dynamic_sections_created)
- {
- struct elf_info_failed eif;
- struct elf_link_hash_entry *h;
- asection *dynstr;
- struct bfd_elf_version_tree *t;
- struct bfd_elf_version_expr *d;
- bfd_boolean all_defined;
-
- *sinterpptr = bfd_get_section_by_name (dynobj, ".interp");
- BFD_ASSERT (*sinterpptr != NULL || !info->executable);
-
- if (soname != NULL)
- {
- soname_indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- soname, TRUE);
- if (soname_indx == (bfd_size_type) -1
- || ! elf_add_dynamic_entry (info, DT_SONAME, soname_indx))
- return FALSE;
- }
-
- if (info->symbolic)
- {
- if (! elf_add_dynamic_entry (info, DT_SYMBOLIC, 0))
- return FALSE;
- info->flags |= DF_SYMBOLIC;
- }
-
- if (rpath != NULL)
- {
- bfd_size_type indx;
-
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath,
- TRUE);
- if (info->new_dtags)
- _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx);
- if (indx == (bfd_size_type) -1
- || ! elf_add_dynamic_entry (info, DT_RPATH, indx)
- || (info->new_dtags
- && ! elf_add_dynamic_entry (info, DT_RUNPATH, indx)))
- return FALSE;
- }
-
- if (filter_shlib != NULL)
- {
- bfd_size_type indx;
-
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- filter_shlib, TRUE);
- if (indx == (bfd_size_type) -1
- || ! elf_add_dynamic_entry (info, DT_FILTER, indx))
- return FALSE;
- }
-
- if (auxiliary_filters != NULL)
- {
- const char * const *p;
-
- for (p = auxiliary_filters; *p != NULL; p++)
- {
- bfd_size_type indx;
-
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- *p, TRUE);
- if (indx == (bfd_size_type) -1
- || ! elf_add_dynamic_entry (info, DT_AUXILIARY, indx))
- return FALSE;
- }
- }
-
- eif.info = info;
- eif.verdefs = verdefs;
- eif.failed = FALSE;
-
- /* If we are supposed to export all symbols into the dynamic symbol
- table (this is not the normal case), then do so. */
- if (info->export_dynamic)
- {
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_export_symbol,
- &eif);
- if (eif.failed)
- return FALSE;
- }
-
- /* Make all global versions with definition. */
- for (t = verdefs; t != NULL; t = t->next)
- for (d = t->globals.list; d != NULL; d = d->next)
- if (!d->symver && d->symbol)
- {
- const char *verstr, *name;
- size_t namelen, verlen, newlen;
- char *newname, *p;
- struct elf_link_hash_entry *newh;
-
- name = d->symbol;
- namelen = strlen (name);
- verstr = t->name;
- verlen = strlen (verstr);
- newlen = namelen + verlen + 3;
-
- newname = bfd_malloc (newlen);
- if (newname == NULL)
- return FALSE;
- memcpy (newname, name, namelen);
-
- /* Check the hidden versioned definition. */
- p = newname + namelen;
- *p++ = ELF_VER_CHR;
- memcpy (p, verstr, verlen + 1);
- newh = elf_link_hash_lookup (elf_hash_table (info),
- newname, FALSE, FALSE,
- FALSE);
- if (newh == NULL
- || (newh->root.type != bfd_link_hash_defined
- && newh->root.type != bfd_link_hash_defweak))
- {
- /* Check the default versioned definition. */
- *p++ = ELF_VER_CHR;
- memcpy (p, verstr, verlen + 1);
- newh = elf_link_hash_lookup (elf_hash_table (info),
- newname, FALSE, FALSE,
- FALSE);
- }
- free (newname);
-
- /* Mark this version if there is a definition and it is
- not defined in a shared object. */
- if (newh != NULL
- && ((newh->elf_link_hash_flags
- & ELF_LINK_HASH_DEF_DYNAMIC) == 0)
- && (newh->root.type == bfd_link_hash_defined
- || newh->root.type == bfd_link_hash_defweak))
- d->symver = 1;
- }
-
- /* Attach all the symbols to their version information. */
- asvinfo.output_bfd = output_bfd;
- asvinfo.info = info;
- asvinfo.verdefs = verdefs;
- asvinfo.failed = FALSE;
-
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_link_assign_sym_version,
- &asvinfo);
- if (asvinfo.failed)
- return FALSE;
-
- if (!info->allow_undefined_version)
- {
- /* Check if all global versions have a definition. */
- all_defined = TRUE;
- for (t = verdefs; t != NULL; t = t->next)
- for (d = t->globals.list; d != NULL; d = d->next)
- if (!d->symver && !d->script)
- {
- (*_bfd_error_handler)
- (_("%s: undefined version: %s"),
- d->pattern, t->name);
- all_defined = FALSE;
- }
-
- if (!all_defined)
- {
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
- }
-
- /* Find all symbols which were defined in a dynamic object and make
- the backend pick a reasonable value for them. */
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_adjust_dynamic_symbol,
- &eif);
- if (eif.failed)
- return FALSE;
-
- /* Add some entries to the .dynamic section. We fill in some of the
- values later, in elf_bfd_final_link, but we must add the entries
- now so that we know the final size of the .dynamic section. */
-
- /* If there are initialization and/or finalization functions to
- call then add the corresponding DT_INIT/DT_FINI entries. */
- h = (info->init_function
- ? elf_link_hash_lookup (elf_hash_table (info),
- info->init_function, FALSE,
- FALSE, FALSE)
- : NULL);
- if (h != NULL
- && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
- | ELF_LINK_HASH_DEF_REGULAR)) != 0)
- {
- if (! elf_add_dynamic_entry (info, DT_INIT, 0))
- return FALSE;
- }
- h = (info->fini_function
- ? elf_link_hash_lookup (elf_hash_table (info),
- info->fini_function, FALSE,
- FALSE, FALSE)
- : NULL);
- if (h != NULL
- && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR
- | ELF_LINK_HASH_DEF_REGULAR)) != 0)
- {
- if (! elf_add_dynamic_entry (info, DT_FINI, 0))
- return FALSE;
- }
-
- if (bfd_get_section_by_name (output_bfd, ".preinit_array") != NULL)
- {
- /* DT_PREINIT_ARRAY is not allowed in shared library. */
- if (! info->executable)
- {
- bfd *sub;
- asection *o;
-
- for (sub = info->input_bfds; sub != NULL;
- sub = sub->link_next)
- for (o = sub->sections; o != NULL; o = o->next)
- if (elf_section_data (o)->this_hdr.sh_type
- == SHT_PREINIT_ARRAY)
- {
- (*_bfd_error_handler)
- (_("%s: .preinit_array section is not allowed in DSO"),
- bfd_archive_filename (sub));
- break;
- }
-
- bfd_set_error (bfd_error_nonrepresentable_section);
- return FALSE;
- }
-
- if (!elf_add_dynamic_entry (info, DT_PREINIT_ARRAY, 0)
- || !elf_add_dynamic_entry (info, DT_PREINIT_ARRAYSZ, 0))
- return FALSE;
- }
- if (bfd_get_section_by_name (output_bfd, ".init_array") != NULL)
- {
- if (!elf_add_dynamic_entry (info, DT_INIT_ARRAY, 0)
- || !elf_add_dynamic_entry (info, DT_INIT_ARRAYSZ, 0))
- return FALSE;
- }
- if (bfd_get_section_by_name (output_bfd, ".fini_array") != NULL)
- {
- if (!elf_add_dynamic_entry (info, DT_FINI_ARRAY, 0)
- || !elf_add_dynamic_entry (info, DT_FINI_ARRAYSZ, 0))
- return FALSE;
- }
-
- dynstr = bfd_get_section_by_name (dynobj, ".dynstr");
- /* If .dynstr is excluded from the link, we don't want any of
- these tags. Strictly, we should be checking each section
- individually; This quick check covers for the case where
- someone does a /DISCARD/ : { *(*) }. */
- if (dynstr != NULL && dynstr->output_section != bfd_abs_section_ptr)
- {
- bfd_size_type strsize;
-
- strsize = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr);
- if (! elf_add_dynamic_entry (info, DT_HASH, 0)
- || ! elf_add_dynamic_entry (info, DT_STRTAB, 0)
- || ! elf_add_dynamic_entry (info, DT_SYMTAB, 0)
- || ! elf_add_dynamic_entry (info, DT_STRSZ, strsize)
- || ! elf_add_dynamic_entry (info, DT_SYMENT,
- sizeof (Elf_External_Sym)))
- return FALSE;
- }
- }
-
- /* The backend must work out the sizes of all the other dynamic
- sections. */
- if (bed->elf_backend_size_dynamic_sections
- && ! (*bed->elf_backend_size_dynamic_sections) (output_bfd, info))
- return FALSE;
-
- if (elf_hash_table (info)->dynamic_sections_created)
- {
- bfd_size_type dynsymcount;
- asection *s;
- size_t bucketcount = 0;
- size_t hash_entry_size;
- unsigned int dtagcount;
-
- /* Set up the version definition section. */
- s = bfd_get_section_by_name (dynobj, ".gnu.version_d");
- BFD_ASSERT (s != NULL);
-
- /* We may have created additional version definitions if we are
- just linking a regular application. */
- verdefs = asvinfo.verdefs;
-
- /* Skip anonymous version tag. */
- if (verdefs != NULL && verdefs->vernum == 0)
- verdefs = verdefs->next;
-
- if (verdefs == NULL)
- _bfd_strip_section_from_output (info, s);
- else
- {
- unsigned int cdefs;
- bfd_size_type size;
- struct bfd_elf_version_tree *t;
- bfd_byte *p;
- Elf_Internal_Verdef def;
- Elf_Internal_Verdaux defaux;
-
- cdefs = 0;
- size = 0;
-
- /* Make space for the base version. */
- size += sizeof (Elf_External_Verdef);
- size += sizeof (Elf_External_Verdaux);
- ++cdefs;
-
- for (t = verdefs; t != NULL; t = t->next)
- {
- struct bfd_elf_version_deps *n;
-
- size += sizeof (Elf_External_Verdef);
- size += sizeof (Elf_External_Verdaux);
- ++cdefs;
-
- for (n = t->deps; n != NULL; n = n->next)
- size += sizeof (Elf_External_Verdaux);
- }
-
- s->_raw_size = size;
- s->contents = bfd_alloc (output_bfd, s->_raw_size);
- if (s->contents == NULL && s->_raw_size != 0)
- return FALSE;
-
- /* Fill in the version definition section. */
-
- p = s->contents;
-
- def.vd_version = VER_DEF_CURRENT;
- def.vd_flags = VER_FLG_BASE;
- def.vd_ndx = 1;
- def.vd_cnt = 1;
- def.vd_aux = sizeof (Elf_External_Verdef);
- def.vd_next = (sizeof (Elf_External_Verdef)
- + sizeof (Elf_External_Verdaux));
-
- if (soname_indx != (bfd_size_type) -1)
- {
- _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
- soname_indx);
- def.vd_hash = bfd_elf_hash (soname);
- defaux.vda_name = soname_indx;
- }
- else
- {
- const char *name;
- bfd_size_type indx;
-
- name = basename (output_bfd->filename);
- def.vd_hash = bfd_elf_hash (name);
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- name, FALSE);
- if (indx == (bfd_size_type) -1)
- return FALSE;
- defaux.vda_name = indx;
- }
- defaux.vda_next = 0;
-
- _bfd_elf_swap_verdef_out (output_bfd, &def,
- (Elf_External_Verdef *) p);
- p += sizeof (Elf_External_Verdef);
- _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
- (Elf_External_Verdaux *) p);
- p += sizeof (Elf_External_Verdaux);
-
- for (t = verdefs; t != NULL; t = t->next)
- {
- unsigned int cdeps;
- struct bfd_elf_version_deps *n;
- struct elf_link_hash_entry *h;
- struct bfd_link_hash_entry *bh;
-
- cdeps = 0;
- for (n = t->deps; n != NULL; n = n->next)
- ++cdeps;
-
- /* Add a symbol representing this version. */
- bh = NULL;
- if (! (_bfd_generic_link_add_one_symbol
- (info, dynobj, t->name, BSF_GLOBAL, bfd_abs_section_ptr,
- 0, NULL, FALSE,
- get_elf_backend_data (dynobj)->collect, &bh)))
- return FALSE;
- h = (struct elf_link_hash_entry *) bh;
- h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF;
- h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
- h->type = STT_OBJECT;
- h->verinfo.vertree = t;
-
- if (! _bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
-
- def.vd_version = VER_DEF_CURRENT;
- def.vd_flags = 0;
- if (t->globals.list == NULL && t->locals.list == NULL && ! t->used)
- def.vd_flags |= VER_FLG_WEAK;
- def.vd_ndx = t->vernum + 1;
- def.vd_cnt = cdeps + 1;
- def.vd_hash = bfd_elf_hash (t->name);
- def.vd_aux = sizeof (Elf_External_Verdef);
- if (t->next != NULL)
- def.vd_next = (sizeof (Elf_External_Verdef)
- + (cdeps + 1) * sizeof (Elf_External_Verdaux));
- else
- def.vd_next = 0;
-
- _bfd_elf_swap_verdef_out (output_bfd, &def,
- (Elf_External_Verdef *) p);
- p += sizeof (Elf_External_Verdef);
-
- defaux.vda_name = h->dynstr_index;
- _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
- h->dynstr_index);
- if (t->deps == NULL)
- defaux.vda_next = 0;
- else
- defaux.vda_next = sizeof (Elf_External_Verdaux);
- t->name_indx = defaux.vda_name;
-
- _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
- (Elf_External_Verdaux *) p);
- p += sizeof (Elf_External_Verdaux);
-
- for (n = t->deps; n != NULL; n = n->next)
- {
- if (n->version_needed == NULL)
- {
- /* This can happen if there was an error in the
- version script. */
- defaux.vda_name = 0;
- }
- else
- {
- defaux.vda_name = n->version_needed->name_indx;
- _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr,
- defaux.vda_name);
- }
- if (n->next == NULL)
- defaux.vda_next = 0;
- else
- defaux.vda_next = sizeof (Elf_External_Verdaux);
-
- _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
- (Elf_External_Verdaux *) p);
- p += sizeof (Elf_External_Verdaux);
- }
- }
-
- if (! elf_add_dynamic_entry (info, DT_VERDEF, 0)
- || ! elf_add_dynamic_entry (info, DT_VERDEFNUM, cdefs))
- return FALSE;
-
- elf_tdata (output_bfd)->cverdefs = cdefs;
- }
-
- if ((info->new_dtags && info->flags) || (info->flags & DF_STATIC_TLS))
- {
- if (! elf_add_dynamic_entry (info, DT_FLAGS, info->flags))
- return FALSE;
- }
-
- if (info->flags_1)
- {
- if (info->executable)
- info->flags_1 &= ~ (DF_1_INITFIRST
- | DF_1_NODELETE
- | DF_1_NOOPEN);
- if (! elf_add_dynamic_entry (info, DT_FLAGS_1, info->flags_1))
- return FALSE;
- }
-
- /* Work out the size of the version reference section. */
-
- s = bfd_get_section_by_name (dynobj, ".gnu.version_r");
- BFD_ASSERT (s != NULL);
- {
- struct elf_find_verdep_info sinfo;
-
- sinfo.output_bfd = output_bfd;
- sinfo.info = info;
- sinfo.vers = elf_tdata (output_bfd)->cverdefs;
- if (sinfo.vers == 0)
- sinfo.vers = 1;
- sinfo.failed = FALSE;
-
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_link_find_version_dependencies,
- &sinfo);
-
- if (elf_tdata (output_bfd)->verref == NULL)
- _bfd_strip_section_from_output (info, s);
- else
- {
- Elf_Internal_Verneed *t;
- unsigned int size;
- unsigned int crefs;
- bfd_byte *p;
-
- /* Build the version definition section. */
- size = 0;
- crefs = 0;
- for (t = elf_tdata (output_bfd)->verref;
- t != NULL;
- t = t->vn_nextref)
- {
- Elf_Internal_Vernaux *a;
-
- size += sizeof (Elf_External_Verneed);
- ++crefs;
- for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
- size += sizeof (Elf_External_Vernaux);
- }
-
- s->_raw_size = size;
- s->contents = bfd_alloc (output_bfd, s->_raw_size);
- if (s->contents == NULL)
- return FALSE;
-
- p = s->contents;
- for (t = elf_tdata (output_bfd)->verref;
- t != NULL;
- t = t->vn_nextref)
- {
- unsigned int caux;
- Elf_Internal_Vernaux *a;
- bfd_size_type indx;
-
- caux = 0;
- for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
- ++caux;
-
- t->vn_version = VER_NEED_CURRENT;
- t->vn_cnt = caux;
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- elf_dt_name (t->vn_bfd) != NULL
- ? elf_dt_name (t->vn_bfd)
- : basename (t->vn_bfd->filename),
- FALSE);
- if (indx == (bfd_size_type) -1)
- return FALSE;
- t->vn_file = indx;
- t->vn_aux = sizeof (Elf_External_Verneed);
- if (t->vn_nextref == NULL)
- t->vn_next = 0;
- else
- t->vn_next = (sizeof (Elf_External_Verneed)
- + caux * sizeof (Elf_External_Vernaux));
-
- _bfd_elf_swap_verneed_out (output_bfd, t,
- (Elf_External_Verneed *) p);
- p += sizeof (Elf_External_Verneed);
-
- for (a = t->vn_auxptr; a != NULL; a = a->vna_nextptr)
- {
- a->vna_hash = bfd_elf_hash (a->vna_nodename);
- indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
- a->vna_nodename, FALSE);
- if (indx == (bfd_size_type) -1)
- return FALSE;
- a->vna_name = indx;
- if (a->vna_nextptr == NULL)
- a->vna_next = 0;
- else
- a->vna_next = sizeof (Elf_External_Vernaux);
-
- _bfd_elf_swap_vernaux_out (output_bfd, a,
- (Elf_External_Vernaux *) p);
- p += sizeof (Elf_External_Vernaux);
- }
- }
-
- if (! elf_add_dynamic_entry (info, DT_VERNEED, 0)
- || ! elf_add_dynamic_entry (info, DT_VERNEEDNUM, crefs))
- return FALSE;
-
- elf_tdata (output_bfd)->cverrefs = crefs;
- }
- }
-
- /* Assign dynsym indicies. In a shared library we generate a
- section symbol for each output section, which come first.
- Next come all of the back-end allocated local dynamic syms,
- followed by the rest of the global symbols. */
-
- dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info);
-
- /* Work out the size of the symbol version section. */
- s = bfd_get_section_by_name (dynobj, ".gnu.version");
- BFD_ASSERT (s != NULL);
- if (dynsymcount == 0
- || (verdefs == NULL && elf_tdata (output_bfd)->verref == NULL))
- {
- _bfd_strip_section_from_output (info, s);
- /* The DYNSYMCOUNT might have changed if we were going to
- output a dynamic symbol table entry for S. */
- dynsymcount = _bfd_elf_link_renumber_dynsyms (output_bfd, info);
- }
- else
- {
- s->_raw_size = dynsymcount * sizeof (Elf_External_Versym);
- s->contents = bfd_zalloc (output_bfd, s->_raw_size);
- if (s->contents == NULL)
- return FALSE;
-
- if (! elf_add_dynamic_entry (info, DT_VERSYM, 0))
- return FALSE;
- }
-
- /* Set the size of the .dynsym and .hash sections. We counted
- the number of dynamic symbols in elf_link_add_object_symbols.
- We will build the contents of .dynsym and .hash when we build
- the final symbol table, because until then we do not know the
- correct value to give the symbols. We built the .dynstr
- section as we went along in elf_link_add_object_symbols. */
- s = bfd_get_section_by_name (dynobj, ".dynsym");
- BFD_ASSERT (s != NULL);
- s->_raw_size = dynsymcount * sizeof (Elf_External_Sym);
- s->contents = bfd_alloc (output_bfd, s->_raw_size);
- if (s->contents == NULL && s->_raw_size != 0)
- return FALSE;
-
- if (dynsymcount != 0)
- {
- Elf_Internal_Sym isym;
-
- /* The first entry in .dynsym is a dummy symbol. */
- isym.st_value = 0;
- isym.st_size = 0;
- isym.st_name = 0;
- isym.st_info = 0;
- isym.st_other = 0;
- isym.st_shndx = 0;
- elf_swap_symbol_out (output_bfd, &isym, s->contents, 0);
- }
-
- /* Compute the size of the hashing table. As a side effect this
- computes the hash values for all the names we export. */
- bucketcount = compute_bucket_count (info);
-
- s = bfd_get_section_by_name (dynobj, ".hash");
- BFD_ASSERT (s != NULL);
- hash_entry_size = elf_section_data (s)->this_hdr.sh_entsize;
- s->_raw_size = ((2 + bucketcount + dynsymcount) * hash_entry_size);
- s->contents = bfd_zalloc (output_bfd, s->_raw_size);
- if (s->contents == NULL)
- return FALSE;
-
- bfd_put (8 * hash_entry_size, output_bfd, bucketcount, s->contents);
- bfd_put (8 * hash_entry_size, output_bfd, dynsymcount,
- s->contents + hash_entry_size);
-
- elf_hash_table (info)->bucketcount = bucketcount;
-
- s = bfd_get_section_by_name (dynobj, ".dynstr");
- BFD_ASSERT (s != NULL);
-
- elf_finalize_dynstr (output_bfd, info);
-
- s->_raw_size = _bfd_elf_strtab_size (elf_hash_table (info)->dynstr);
-
- for (dtagcount = 0; dtagcount <= info->spare_dynamic_tags; ++dtagcount)
- if (! elf_add_dynamic_entry (info, DT_NULL, 0))
- return FALSE;
- }
-
- return TRUE;
-}
-
-/* This function is used to adjust offsets into .dynstr for
- dynamic symbols. This is called via elf_link_hash_traverse. */
-
-static bfd_boolean
-elf_adjust_dynstr_offsets (struct elf_link_hash_entry *h, void *data)
-{
- struct elf_strtab_hash *dynstr = data;
-
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- if (h->dynindx != -1)
- h->dynstr_index = _bfd_elf_strtab_offset (dynstr, h->dynstr_index);
- return TRUE;
-}
-
-/* Assign string offsets in .dynstr, update all structures referencing
- them. */
-
-static bfd_boolean
-elf_finalize_dynstr (bfd *output_bfd, struct bfd_link_info *info)
-{
- struct elf_link_local_dynamic_entry *entry;
- struct elf_strtab_hash *dynstr = elf_hash_table (info)->dynstr;
- bfd *dynobj = elf_hash_table (info)->dynobj;
- asection *sdyn;
- bfd_size_type size;
- Elf_External_Dyn *dyncon, *dynconend;
-
- _bfd_elf_strtab_finalize (dynstr);
- size = _bfd_elf_strtab_size (dynstr);
-
- /* Update all .dynamic entries referencing .dynstr strings. */
- sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
- BFD_ASSERT (sdyn != NULL);
-
- dyncon = (Elf_External_Dyn *) sdyn->contents;
- dynconend = (Elf_External_Dyn *) (sdyn->contents +
- sdyn->_raw_size);
- for (; dyncon < dynconend; dyncon++)
- {
- Elf_Internal_Dyn dyn;
-
- elf_swap_dyn_in (dynobj, dyncon, & dyn);
- switch (dyn.d_tag)
- {
- case DT_STRSZ:
- dyn.d_un.d_val = size;
- elf_swap_dyn_out (dynobj, & dyn, dyncon);
- break;
- case DT_NEEDED:
- case DT_SONAME:
- case DT_RPATH:
- case DT_RUNPATH:
- case DT_FILTER:
- case DT_AUXILIARY:
- dyn.d_un.d_val = _bfd_elf_strtab_offset (dynstr, dyn.d_un.d_val);
- elf_swap_dyn_out (dynobj, & dyn, dyncon);
- break;
- default:
- break;
- }
- }
-
- /* Now update local dynamic symbols. */
- for (entry = elf_hash_table (info)->dynlocal; entry ; entry = entry->next)
- entry->isym.st_name = _bfd_elf_strtab_offset (dynstr,
- entry->isym.st_name);
-
- /* And the rest of dynamic symbols. */
- elf_link_hash_traverse (elf_hash_table (info),
- elf_adjust_dynstr_offsets, dynstr);
-
- /* Adjust version definitions. */
- if (elf_tdata (output_bfd)->cverdefs)
- {
- asection *s;
- bfd_byte *p;
- bfd_size_type i;
- Elf_Internal_Verdef def;
- Elf_Internal_Verdaux defaux;
-
- s = bfd_get_section_by_name (dynobj, ".gnu.version_d");
- p = (bfd_byte *) s->contents;
- do
- {
- _bfd_elf_swap_verdef_in (output_bfd, (Elf_External_Verdef *) p,
- &def);
- p += sizeof (Elf_External_Verdef);
- for (i = 0; i < def.vd_cnt; ++i)
- {
- _bfd_elf_swap_verdaux_in (output_bfd,
- (Elf_External_Verdaux *) p, &defaux);
- defaux.vda_name = _bfd_elf_strtab_offset (dynstr,
- defaux.vda_name);
- _bfd_elf_swap_verdaux_out (output_bfd,
- &defaux, (Elf_External_Verdaux *) p);
- p += sizeof (Elf_External_Verdaux);
- }
- }
- while (def.vd_next);
- }
-
- /* Adjust version references. */
- if (elf_tdata (output_bfd)->verref)
- {
- asection *s;
- bfd_byte *p;
- bfd_size_type i;
- Elf_Internal_Verneed need;
- Elf_Internal_Vernaux needaux;
-
- s = bfd_get_section_by_name (dynobj, ".gnu.version_r");
- p = (bfd_byte *) s->contents;
- do
- {
- _bfd_elf_swap_verneed_in (output_bfd, (Elf_External_Verneed *) p,
- &need);
- need.vn_file = _bfd_elf_strtab_offset (dynstr, need.vn_file);
- _bfd_elf_swap_verneed_out (output_bfd, &need,
- (Elf_External_Verneed *) p);
- p += sizeof (Elf_External_Verneed);
- for (i = 0; i < need.vn_cnt; ++i)
- {
- _bfd_elf_swap_vernaux_in (output_bfd,
- (Elf_External_Vernaux *) p, &needaux);
- needaux.vna_name = _bfd_elf_strtab_offset (dynstr,
- needaux.vna_name);
- _bfd_elf_swap_vernaux_out (output_bfd,
- &needaux,
- (Elf_External_Vernaux *) p);
- p += sizeof (Elf_External_Vernaux);
- }
- }
- while (need.vn_next);
- }
-
- return TRUE;
-}
-
-/* Final phase of ELF linker. */
-
-/* A structure we use to avoid passing large numbers of arguments. */
-
-struct elf_final_link_info
-{
- /* General link information. */
- struct bfd_link_info *info;
- /* Output BFD. */
- bfd *output_bfd;
- /* Symbol string table. */
- struct bfd_strtab_hash *symstrtab;
- /* .dynsym section. */
- asection *dynsym_sec;
- /* .hash section. */
- asection *hash_sec;
- /* symbol version section (.gnu.version). */
- asection *symver_sec;
- /* Buffer large enough to hold contents of any section. */
- bfd_byte *contents;
- /* Buffer large enough to hold external relocs of any section. */
- void *external_relocs;
- /* Buffer large enough to hold internal relocs of any section. */
- Elf_Internal_Rela *internal_relocs;
- /* Buffer large enough to hold external local symbols of any input
- BFD. */
- Elf_External_Sym *external_syms;
- /* And a buffer for symbol section indices. */
- Elf_External_Sym_Shndx *locsym_shndx;
- /* Buffer large enough to hold internal local symbols of any input
- BFD. */
- Elf_Internal_Sym *internal_syms;
- /* Array large enough to hold a symbol index for each local symbol
- of any input BFD. */
- long *indices;
- /* Array large enough to hold a section pointer for each local
- symbol of any input BFD. */
- asection **sections;
- /* Buffer to hold swapped out symbols. */
- Elf_External_Sym *symbuf;
- /* And one for symbol section indices. */
- Elf_External_Sym_Shndx *symshndxbuf;
- /* Number of swapped out symbols in buffer. */
- size_t symbuf_count;
- /* Number of symbols which fit in symbuf. */
- size_t symbuf_size;
- /* And same for symshndxbuf. */
- size_t shndxbuf_size;
-};
-
-static bfd_boolean elf_link_output_sym
- (struct elf_final_link_info *, const char *, Elf_Internal_Sym *, asection *,
- struct elf_link_hash_entry *);
-static bfd_boolean elf_link_flush_output_syms
- (struct elf_final_link_info *);
-static bfd_boolean elf_link_output_extsym
- (struct elf_link_hash_entry *, void *);
-static bfd_boolean elf_link_input_bfd
- (struct elf_final_link_info *, bfd *);
-static bfd_boolean elf_reloc_link_order
- (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
-
-/* This struct is used to pass information to elf_link_output_extsym. */
-
-struct elf_outext_info
-{
- bfd_boolean failed;
- bfd_boolean localsyms;
- struct elf_final_link_info *finfo;
-};
-
-/* When performing a relocatable link, the input relocations are
- preserved. But, if they reference global symbols, the indices
- referenced must be updated. Update all the relocations in
- REL_HDR (there are COUNT of them), using the data in REL_HASH. */
-
-static void
-elf_link_adjust_relocs (bfd *abfd,
- Elf_Internal_Shdr *rel_hdr,
- unsigned int count,
- struct elf_link_hash_entry **rel_hash)
-{
- unsigned int i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- bfd_byte *erela;
- void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
- void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
-
- if (rel_hdr->sh_entsize == sizeof (Elf_External_Rel))
- {
- swap_in = bed->s->swap_reloc_in;
- swap_out = bed->s->swap_reloc_out;
- }
- else if (rel_hdr->sh_entsize == sizeof (Elf_External_Rela))
- {
- swap_in = bed->s->swap_reloca_in;
- swap_out = bed->s->swap_reloca_out;
- }
- else
- abort ();
-
- if (bed->s->int_rels_per_ext_rel > MAX_INT_RELS_PER_EXT_REL)
- abort ();
-
- erela = rel_hdr->contents;
- for (i = 0; i < count; i++, rel_hash++, erela += rel_hdr->sh_entsize)
- {
- Elf_Internal_Rela irela[MAX_INT_RELS_PER_EXT_REL];
- unsigned int j;
-
- if (*rel_hash == NULL)
- continue;
-
- BFD_ASSERT ((*rel_hash)->indx >= 0);
-
- (*swap_in) (abfd, erela, irela);
- for (j = 0; j < bed->s->int_rels_per_ext_rel; j++)
- irela[j].r_info = ELF_R_INFO ((*rel_hash)->indx,
- ELF_R_TYPE (irela[j].r_info));
- (*swap_out) (abfd, irela, erela);
- }
-}
-
-struct elf_link_sort_rela
-{
- bfd_vma offset;
- enum elf_reloc_type_class type;
- /* We use this as an array of size int_rels_per_ext_rel. */
- Elf_Internal_Rela rela[1];
-};
-
-static int
-elf_link_sort_cmp1 (const void *A, const void *B)
-{
- const struct elf_link_sort_rela *a = A;
- const struct elf_link_sort_rela *b = B;
- int relativea, relativeb;
-
- relativea = a->type == reloc_class_relative;
- relativeb = b->type == reloc_class_relative;
-
- if (relativea < relativeb)
- return 1;
- if (relativea > relativeb)
- return -1;
- if (ELF_R_SYM (a->rela->r_info) < ELF_R_SYM (b->rela->r_info))
- return -1;
- if (ELF_R_SYM (a->rela->r_info) > ELF_R_SYM (b->rela->r_info))
- return 1;
- if (a->rela->r_offset < b->rela->r_offset)
- return -1;
- if (a->rela->r_offset > b->rela->r_offset)
- return 1;
- return 0;
-}
-
-static int
-elf_link_sort_cmp2 (const void *A, const void *B)
-{
- const struct elf_link_sort_rela *a = A;
- const struct elf_link_sort_rela *b = B;
- int copya, copyb;
-
- if (a->offset < b->offset)
- return -1;
- if (a->offset > b->offset)
- return 1;
- copya = (a->type == reloc_class_copy) * 2 + (a->type == reloc_class_plt);
- copyb = (b->type == reloc_class_copy) * 2 + (b->type == reloc_class_plt);
- if (copya < copyb)
- return -1;
- if (copya > copyb)
- return 1;
- if (a->rela->r_offset < b->rela->r_offset)
- return -1;
- if (a->rela->r_offset > b->rela->r_offset)
- return 1;
- return 0;
-}
-
-static size_t
-elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
-{
- asection *reldyn;
- bfd_size_type count, size;
- size_t i, ret, sort_elt, ext_size;
- bfd_byte *sort, *s_non_relative, *p;
- struct elf_link_sort_rela *sq;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- int i2e = bed->s->int_rels_per_ext_rel;
- void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
- void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
- struct bfd_link_order *lo;
-
- reldyn = bfd_get_section_by_name (abfd, ".rela.dyn");
- if (reldyn == NULL || reldyn->_raw_size == 0)
- {
- reldyn = bfd_get_section_by_name (abfd, ".rel.dyn");
- if (reldyn == NULL || reldyn->_raw_size == 0)
- return 0;
- ext_size = sizeof (Elf_External_Rel);
- swap_in = bed->s->swap_reloc_in;
- swap_out = bed->s->swap_reloc_out;
- }
- else
- {
- ext_size = sizeof (Elf_External_Rela);
- swap_in = bed->s->swap_reloca_in;
- swap_out = bed->s->swap_reloca_out;
- }
- count = reldyn->_raw_size / ext_size;
-
- size = 0;
- for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
- if (lo->type == bfd_indirect_link_order)
- {
- asection *o = lo->u.indirect.section;
- size += o->_raw_size;
- }
-
- if (size != reldyn->_raw_size)
- return 0;
-
- sort_elt = (sizeof (struct elf_link_sort_rela)
- + (i2e - 1) * sizeof (Elf_Internal_Rela));
- sort = bfd_zmalloc (sort_elt * count);
- if (sort == NULL)
- {
- (*info->callbacks->warning)
- (info, _("Not enough memory to sort relocations"), 0, abfd, 0, 0);
- return 0;
- }
-
- for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
- if (lo->type == bfd_indirect_link_order)
- {
- bfd_byte *erel, *erelend;
- asection *o = lo->u.indirect.section;
-
- erel = o->contents;
- erelend = o->contents + o->_raw_size;
- p = sort + o->output_offset / ext_size * sort_elt;
- while (erel < erelend)
- {
- struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
- (*swap_in) (abfd, erel, s->rela);
- s->type = (*bed->elf_backend_reloc_type_class) (s->rela);
- p += sort_elt;
- erel += ext_size;
- }
- }
-
- qsort (sort, count, sort_elt, elf_link_sort_cmp1);
-
- for (i = 0, p = sort; i < count; i++, p += sort_elt)
- {
- struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
- if (s->type != reloc_class_relative)
- break;
- }
- ret = i;
- s_non_relative = p;
-
- sq = (struct elf_link_sort_rela *) s_non_relative;
- for (; i < count; i++, p += sort_elt)
- {
- struct elf_link_sort_rela *sp = (struct elf_link_sort_rela *) p;
- if (ELF_R_SYM (sp->rela->r_info) != ELF_R_SYM (sq->rela->r_info))
- sq = sp;
- sp->offset = sq->rela->r_offset;
- }
-
- qsort (s_non_relative, count - ret, sort_elt, elf_link_sort_cmp2);
-
- for (lo = reldyn->link_order_head; lo != NULL; lo = lo->next)
- if (lo->type == bfd_indirect_link_order)
- {
- bfd_byte *erel, *erelend;
- asection *o = lo->u.indirect.section;
-
- erel = o->contents;
- erelend = o->contents + o->_raw_size;
- p = sort + o->output_offset / ext_size * sort_elt;
- while (erel < erelend)
- {
- struct elf_link_sort_rela *s = (struct elf_link_sort_rela *) p;
- (*swap_out) (abfd, s->rela, erel);
- p += sort_elt;
- erel += ext_size;
- }
- }
-
- free (sort);
- *psec = reldyn;
- return ret;
-}
-
-/* Do the final step of an ELF link. */
-
-bfd_boolean
-elf_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
-{
- bfd_boolean dynamic;
- bfd_boolean emit_relocs;
- bfd *dynobj;
- struct elf_final_link_info finfo;
- register asection *o;
- register struct bfd_link_order *p;
- register bfd *sub;
- bfd_size_type max_contents_size;
- bfd_size_type max_external_reloc_size;
- bfd_size_type max_internal_reloc_count;
- bfd_size_type max_sym_count;
- bfd_size_type max_sym_shndx_count;
- file_ptr off;
- Elf_Internal_Sym elfsym;
- unsigned int i;
- Elf_Internal_Shdr *symtab_hdr;
- Elf_Internal_Shdr *symtab_shndx_hdr;
- Elf_Internal_Shdr *symstrtab_hdr;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- struct elf_outext_info eoinfo;
- bfd_boolean merged;
- size_t relativecount = 0;
- asection *reldyn = 0;
- bfd_size_type amt;
-
- if (! is_elf_hash_table (info->hash))
- return FALSE;
-
- if (info->shared)
- abfd->flags |= DYNAMIC;
-
- dynamic = elf_hash_table (info)->dynamic_sections_created;
- dynobj = elf_hash_table (info)->dynobj;
-
- emit_relocs = (info->relocatable
- || info->emitrelocations
- || bed->elf_backend_emit_relocs);
-
- finfo.info = info;
- finfo.output_bfd = abfd;
- finfo.symstrtab = elf_stringtab_init ();
- if (finfo.symstrtab == NULL)
- return FALSE;
-
- if (! dynamic)
- {
- finfo.dynsym_sec = NULL;
- finfo.hash_sec = NULL;
- finfo.symver_sec = NULL;
- }
- else
- {
- finfo.dynsym_sec = bfd_get_section_by_name (dynobj, ".dynsym");
- finfo.hash_sec = bfd_get_section_by_name (dynobj, ".hash");
- BFD_ASSERT (finfo.dynsym_sec != NULL && finfo.hash_sec != NULL);
- finfo.symver_sec = bfd_get_section_by_name (dynobj, ".gnu.version");
- /* Note that it is OK if symver_sec is NULL. */
- }
-
- finfo.contents = NULL;
- finfo.external_relocs = NULL;
- finfo.internal_relocs = NULL;
- finfo.external_syms = NULL;
- finfo.locsym_shndx = NULL;
- finfo.internal_syms = NULL;
- finfo.indices = NULL;
- finfo.sections = NULL;
- finfo.symbuf = NULL;
- finfo.symshndxbuf = NULL;
- finfo.symbuf_count = 0;
- finfo.shndxbuf_size = 0;
-
- /* Count up the number of relocations we will output for each output
- section, so that we know the sizes of the reloc sections. We
- also figure out some maximum sizes. */
- max_contents_size = 0;
- max_external_reloc_size = 0;
- max_internal_reloc_count = 0;
- max_sym_count = 0;
- max_sym_shndx_count = 0;
- merged = FALSE;
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- struct bfd_elf_section_data *esdo = elf_section_data (o);
- o->reloc_count = 0;
-
- for (p = o->link_order_head; p != NULL; p = p->next)
- {
- unsigned int reloc_count = 0;
- struct bfd_elf_section_data *esdi = NULL;
- unsigned int *rel_count1;
-
- if (p->type == bfd_section_reloc_link_order
- || p->type == bfd_symbol_reloc_link_order)
- reloc_count = 1;
- else if (p->type == bfd_indirect_link_order)
- {
- asection *sec;
-
- sec = p->u.indirect.section;
- esdi = elf_section_data (sec);
-
- /* Mark all sections which are to be included in the
- link. This will normally be every section. We need
- to do this so that we can identify any sections which
- the linker has decided to not include. */
- sec->linker_mark = TRUE;
-
- if (sec->flags & SEC_MERGE)
- merged = TRUE;
-
- if (info->relocatable || info->emitrelocations)
- reloc_count = sec->reloc_count;
- else if (bed->elf_backend_count_relocs)
- {
- Elf_Internal_Rela * relocs;
-
- relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
- info->keep_memory);
-
- reloc_count = (*bed->elf_backend_count_relocs) (sec, relocs);
-
- if (elf_section_data (o)->relocs != relocs)
- free (relocs);
- }
-
- if (sec->_raw_size > max_contents_size)
- max_contents_size = sec->_raw_size;
- if (sec->_cooked_size > max_contents_size)
- max_contents_size = sec->_cooked_size;
-
- /* We are interested in just local symbols, not all
- symbols. */
- if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour
- && (sec->owner->flags & DYNAMIC) == 0)
- {
- size_t sym_count;
-
- if (elf_bad_symtab (sec->owner))
- sym_count = (elf_tdata (sec->owner)->symtab_hdr.sh_size
- / sizeof (Elf_External_Sym));
- else
- sym_count = elf_tdata (sec->owner)->symtab_hdr.sh_info;
-
- if (sym_count > max_sym_count)
- max_sym_count = sym_count;
-
- if (sym_count > max_sym_shndx_count
- && elf_symtab_shndx (sec->owner) != 0)
- max_sym_shndx_count = sym_count;
-
- if ((sec->flags & SEC_RELOC) != 0)
- {
- size_t ext_size;
-
- ext_size = elf_section_data (sec)->rel_hdr.sh_size;
- if (ext_size > max_external_reloc_size)
- max_external_reloc_size = ext_size;
- if (sec->reloc_count > max_internal_reloc_count)
- max_internal_reloc_count = sec->reloc_count;
- }
- }
- }
-
- if (reloc_count == 0)
- continue;
-
- o->reloc_count += reloc_count;
-
- /* MIPS may have a mix of REL and RELA relocs on sections.
- To support this curious ABI we keep reloc counts in
- elf_section_data too. We must be careful to add the
- relocations from the input section to the right output
- count. FIXME: Get rid of one count. We have
- o->reloc_count == esdo->rel_count + esdo->rel_count2. */
- rel_count1 = &esdo->rel_count;
- if (esdi != NULL)
- {
- bfd_boolean same_size;
- bfd_size_type entsize1;
-
- entsize1 = esdi->rel_hdr.sh_entsize;
- BFD_ASSERT (entsize1 == sizeof (Elf_External_Rel)
- || entsize1 == sizeof (Elf_External_Rela));
- same_size = (!o->use_rela_p
- == (entsize1 == sizeof (Elf_External_Rel)));
-
- if (!same_size)
- rel_count1 = &esdo->rel_count2;
-
- if (esdi->rel_hdr2 != NULL)
- {
- bfd_size_type entsize2 = esdi->rel_hdr2->sh_entsize;
- unsigned int alt_count;
- unsigned int *rel_count2;
-
- BFD_ASSERT (entsize2 != entsize1
- && (entsize2 == sizeof (Elf_External_Rel)
- || entsize2 == sizeof (Elf_External_Rela)));
-
- rel_count2 = &esdo->rel_count2;
- if (!same_size)
- rel_count2 = &esdo->rel_count;
-
- /* The following is probably too simplistic if the
- backend counts output relocs unusually. */
- BFD_ASSERT (bed->elf_backend_count_relocs == NULL);
- alt_count = NUM_SHDR_ENTRIES (esdi->rel_hdr2);
- *rel_count2 += alt_count;
- reloc_count -= alt_count;
- }
- }
- *rel_count1 += reloc_count;
- }
-
- if (o->reloc_count > 0)
- o->flags |= SEC_RELOC;
- else
- {
- /* Explicitly clear the SEC_RELOC flag. The linker tends to
- set it (this is probably a bug) and if it is set
- assign_section_numbers will create a reloc section. */
- o->flags &=~ SEC_RELOC;
- }
-
- /* If the SEC_ALLOC flag is not set, force the section VMA to
- zero. This is done in elf_fake_sections as well, but forcing
- the VMA to 0 here will ensure that relocs against these
- sections are handled correctly. */
- if ((o->flags & SEC_ALLOC) == 0
- && ! o->user_set_vma)
- o->vma = 0;
- }
-
- if (! info->relocatable && merged)
- elf_link_hash_traverse (elf_hash_table (info),
- _bfd_elf_link_sec_merge_syms, abfd);
-
- /* Figure out the file positions for everything but the symbol table
- and the relocs. We set symcount to force assign_section_numbers
- to create a symbol table. */
- bfd_get_symcount (abfd) = info->strip == strip_all ? 0 : 1;
- BFD_ASSERT (! abfd->output_has_begun);
- if (! _bfd_elf_compute_section_file_positions (abfd, info))
- goto error_return;
-
- /* That created the reloc sections. Set their sizes, and assign
- them file positions, and allocate some buffers. */
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- if ((o->flags & SEC_RELOC) != 0)
- {
- if (!(_bfd_elf_link_size_reloc_section
- (abfd, &elf_section_data (o)->rel_hdr, o)))
- goto error_return;
-
- if (elf_section_data (o)->rel_hdr2
- && !(_bfd_elf_link_size_reloc_section
- (abfd, elf_section_data (o)->rel_hdr2, o)))
- goto error_return;
- }
-
- /* Now, reset REL_COUNT and REL_COUNT2 so that we can use them
- to count upwards while actually outputting the relocations. */
- elf_section_data (o)->rel_count = 0;
- elf_section_data (o)->rel_count2 = 0;
- }
-
- _bfd_elf_assign_file_positions_for_relocs (abfd);
-
- /* We have now assigned file positions for all the sections except
- .symtab and .strtab. We start the .symtab section at the current
- file position, and write directly to it. We build the .strtab
- section in memory. */
- bfd_get_symcount (abfd) = 0;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- /* sh_name is set in prep_headers. */
- symtab_hdr->sh_type = SHT_SYMTAB;
- /* sh_flags, sh_addr and sh_size all start off zero. */
- symtab_hdr->sh_entsize = sizeof (Elf_External_Sym);
- /* sh_link is set in assign_section_numbers. */
- /* sh_info is set below. */
- /* sh_offset is set just below. */
- symtab_hdr->sh_addralign = 1 << bed->s->log_file_align;
-
- off = elf_tdata (abfd)->next_file_pos;
- off = _bfd_elf_assign_file_position_for_section (symtab_hdr, off, TRUE);
-
- /* Note that at this point elf_tdata (abfd)->next_file_pos is
- incorrect. We do not yet know the size of the .symtab section.
- We correct next_file_pos below, after we do know the size. */
-
- /* Allocate a buffer to hold swapped out symbols. This is to avoid
- continuously seeking to the right position in the file. */
- if (! info->keep_memory || max_sym_count < 20)
- finfo.symbuf_size = 20;
- else
- finfo.symbuf_size = max_sym_count;
- amt = finfo.symbuf_size;
- amt *= sizeof (Elf_External_Sym);
- finfo.symbuf = bfd_malloc (amt);
- if (finfo.symbuf == NULL)
- goto error_return;
- if (elf_numsections (abfd) > SHN_LORESERVE)
- {
- /* Wild guess at number of output symbols. realloc'd as needed. */
- amt = 2 * max_sym_count + elf_numsections (abfd) + 1000;
- finfo.shndxbuf_size = amt;
- amt *= sizeof (Elf_External_Sym_Shndx);
- finfo.symshndxbuf = bfd_zmalloc (amt);
- if (finfo.symshndxbuf == NULL)
- goto error_return;
- }
-
- /* Start writing out the symbol table. The first symbol is always a
- dummy symbol. */
- if (info->strip != strip_all
- || emit_relocs)
- {
- elfsym.st_value = 0;
- elfsym.st_size = 0;
- elfsym.st_info = 0;
- elfsym.st_other = 0;
- elfsym.st_shndx = SHN_UNDEF;
- if (! elf_link_output_sym (&finfo, NULL, &elfsym, bfd_und_section_ptr,
- NULL))
- goto error_return;
- }
-
-#if 0
- /* Some standard ELF linkers do this, but we don't because it causes
- bootstrap comparison failures. */
- /* Output a file symbol for the output file as the second symbol.
- We output this even if we are discarding local symbols, although
- I'm not sure if this is correct. */
- elfsym.st_value = 0;
- elfsym.st_size = 0;
- elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
- elfsym.st_other = 0;
- elfsym.st_shndx = SHN_ABS;
- if (! elf_link_output_sym (&finfo, bfd_get_filename (abfd),
- &elfsym, bfd_abs_section_ptr, NULL))
- goto error_return;
-#endif
-
- /* Output a symbol for each section. We output these even if we are
- discarding local symbols, since they are used for relocs. These
- symbols have no names. We store the index of each one in the
- index field of the section, so that we can find it again when
- outputting relocs. */
- if (info->strip != strip_all
- || emit_relocs)
- {
- elfsym.st_size = 0;
- elfsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
- elfsym.st_other = 0;
- for (i = 1; i < elf_numsections (abfd); i++)
- {
- o = section_from_elf_index (abfd, i);
- if (o != NULL)
- o->target_index = bfd_get_symcount (abfd);
- elfsym.st_shndx = i;
- if (info->relocatable || o == NULL)
- elfsym.st_value = 0;
- else
- elfsym.st_value = o->vma;
- if (! elf_link_output_sym (&finfo, NULL, &elfsym, o, NULL))
- goto error_return;
- if (i == SHN_LORESERVE - 1)
- i += SHN_HIRESERVE + 1 - SHN_LORESERVE;
- }
- }
-
- /* Allocate some memory to hold information read in from the input
- files. */
- if (max_contents_size != 0)
- {
- finfo.contents = bfd_malloc (max_contents_size);
- if (finfo.contents == NULL)
- goto error_return;
- }
-
- if (max_external_reloc_size != 0)
- {
- finfo.external_relocs = bfd_malloc (max_external_reloc_size);
- if (finfo.external_relocs == NULL)
- goto error_return;
- }
-
- if (max_internal_reloc_count != 0)
- {
- amt = max_internal_reloc_count * bed->s->int_rels_per_ext_rel;
- amt *= sizeof (Elf_Internal_Rela);
- finfo.internal_relocs = bfd_malloc (amt);
- if (finfo.internal_relocs == NULL)
- goto error_return;
- }
-
- if (max_sym_count != 0)
- {
- amt = max_sym_count * sizeof (Elf_External_Sym);
- finfo.external_syms = bfd_malloc (amt);
- if (finfo.external_syms == NULL)
- goto error_return;
-
- amt = max_sym_count * sizeof (Elf_Internal_Sym);
- finfo.internal_syms = bfd_malloc (amt);
- if (finfo.internal_syms == NULL)
- goto error_return;
-
- amt = max_sym_count * sizeof (long);
- finfo.indices = bfd_malloc (amt);
- if (finfo.indices == NULL)
- goto error_return;
-
- amt = max_sym_count * sizeof (asection *);
- finfo.sections = bfd_malloc (amt);
- if (finfo.sections == NULL)
- goto error_return;
- }
-
- if (max_sym_shndx_count != 0)
- {
- amt = max_sym_shndx_count * sizeof (Elf_External_Sym_Shndx);
- finfo.locsym_shndx = bfd_malloc (amt);
- if (finfo.locsym_shndx == NULL)
- goto error_return;
- }
-
- if (elf_hash_table (info)->tls_sec)
- {
- bfd_vma base, end = 0;
- asection *sec;
-
- for (sec = elf_hash_table (info)->tls_sec;
- sec && (sec->flags & SEC_THREAD_LOCAL);
- sec = sec->next)
- {
- bfd_vma size = sec->_raw_size;
-
- if (size == 0 && (sec->flags & SEC_HAS_CONTENTS) == 0)
- {
- struct bfd_link_order *o;
-
- for (o = sec->link_order_head; o != NULL; o = o->next)
- if (size < o->offset + o->size)
- size = o->offset + o->size;
- }
- end = sec->vma + size;
- }
- base = elf_hash_table (info)->tls_sec->vma;
- end = align_power (end, elf_hash_table (info)->tls_sec->alignment_power);
- elf_hash_table (info)->tls_size = end - base;
- }
-
- /* Since ELF permits relocations to be against local symbols, we
- must have the local symbols available when we do the relocations.
- Since we would rather only read the local symbols once, and we
- would rather not keep them in memory, we handle all the
- relocations for a single input file at the same time.
-
- Unfortunately, there is no way to know the total number of local
- symbols until we have seen all of them, and the local symbol
- indices precede the global symbol indices. This means that when
- we are generating relocatable output, and we see a reloc against
- a global symbol, we can not know the symbol index until we have
- finished examining all the local symbols to see which ones we are
- going to output. To deal with this, we keep the relocations in
- memory, and don't output them until the end of the link. This is
- an unfortunate waste of memory, but I don't see a good way around
- it. Fortunately, it only happens when performing a relocatable
- link, which is not the common case. FIXME: If keep_memory is set
- we could write the relocs out and then read them again; I don't
- know how bad the memory loss will be. */
-
- for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
- sub->output_has_begun = FALSE;
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- for (p = o->link_order_head; p != NULL; p = p->next)
- {
- if (p->type == bfd_indirect_link_order
- && (bfd_get_flavour ((sub = p->u.indirect.section->owner))
- == bfd_target_elf_flavour)
- && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass)
- {
- if (! sub->output_has_begun)
- {
- if (! elf_link_input_bfd (&finfo, sub))
- goto error_return;
- sub->output_has_begun = TRUE;
- }
- }
- else if (p->type == bfd_section_reloc_link_order
- || p->type == bfd_symbol_reloc_link_order)
- {
- if (! elf_reloc_link_order (abfd, info, o, p))
- goto error_return;
- }
- else
- {
- if (! _bfd_default_link_order (abfd, info, o, p))
- goto error_return;
- }
- }
- }
-
- /* Output any global symbols that got converted to local in a
- version script or due to symbol visibility. We do this in a
- separate step since ELF requires all local symbols to appear
- prior to any global symbols. FIXME: We should only do this if
- some global symbols were, in fact, converted to become local.
- FIXME: Will this work correctly with the Irix 5 linker? */
- eoinfo.failed = FALSE;
- eoinfo.finfo = &finfo;
- eoinfo.localsyms = TRUE;
- elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym,
- &eoinfo);
- if (eoinfo.failed)
- return FALSE;
-
- /* That wrote out all the local symbols. Finish up the symbol table
- with the global symbols. Even if we want to strip everything we
- can, we still need to deal with those global symbols that got
- converted to local in a version script. */
-
- /* The sh_info field records the index of the first non local symbol. */
- symtab_hdr->sh_info = bfd_get_symcount (abfd);
-
- if (dynamic
- && finfo.dynsym_sec->output_section != bfd_abs_section_ptr)
- {
- Elf_Internal_Sym sym;
- Elf_External_Sym *dynsym =
- (Elf_External_Sym *) finfo.dynsym_sec->contents;
- long last_local = 0;
-
- /* Write out the section symbols for the output sections. */
- if (info->shared)
- {
- asection *s;
-
- sym.st_size = 0;
- sym.st_name = 0;
- sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
- sym.st_other = 0;
-
- for (s = abfd->sections; s != NULL; s = s->next)
- {
- int indx;
- Elf_External_Sym *dest;
-
- indx = elf_section_data (s)->this_idx;
- BFD_ASSERT (indx > 0);
- sym.st_shndx = indx;
- sym.st_value = s->vma;
- dest = dynsym + elf_section_data (s)->dynindx;
- elf_swap_symbol_out (abfd, &sym, dest, 0);
- }
-
- last_local = bfd_count_sections (abfd);
- }
-
- /* Write out the local dynsyms. */
- if (elf_hash_table (info)->dynlocal)
- {
- struct elf_link_local_dynamic_entry *e;
- for (e = elf_hash_table (info)->dynlocal; e ; e = e->next)
- {
- asection *s;
- Elf_External_Sym *dest;
-
- sym.st_size = e->isym.st_size;
- sym.st_other = e->isym.st_other;
-
- /* Copy the internal symbol as is.
- Note that we saved a word of storage and overwrote
- the original st_name with the dynstr_index. */
- sym = e->isym;
-
- if (e->isym.st_shndx != SHN_UNDEF
- && (e->isym.st_shndx < SHN_LORESERVE
- || e->isym.st_shndx > SHN_HIRESERVE))
- {
- s = bfd_section_from_elf_index (e->input_bfd,
- e->isym.st_shndx);
-
- sym.st_shndx =
- elf_section_data (s->output_section)->this_idx;
- sym.st_value = (s->output_section->vma
- + s->output_offset
- + e->isym.st_value);
- }
-
- if (last_local < e->dynindx)
- last_local = e->dynindx;
-
- dest = dynsym + e->dynindx;
- elf_swap_symbol_out (abfd, &sym, dest, 0);
- }
- }
-
- elf_section_data (finfo.dynsym_sec->output_section)->this_hdr.sh_info =
- last_local + 1;
- }
-
- /* We get the global symbols from the hash table. */
- eoinfo.failed = FALSE;
- eoinfo.localsyms = FALSE;
- eoinfo.finfo = &finfo;
- elf_link_hash_traverse (elf_hash_table (info), elf_link_output_extsym,
- &eoinfo);
- if (eoinfo.failed)
- return FALSE;
-
- /* If backend needs to output some symbols not present in the hash
- table, do it now. */
- if (bed->elf_backend_output_arch_syms)
- {
- typedef bfd_boolean (*out_sym_func)
- (void *, const char *, Elf_Internal_Sym *, asection *,
- struct elf_link_hash_entry *);
-
- if (! ((*bed->elf_backend_output_arch_syms)
- (abfd, info, &finfo, (out_sym_func) elf_link_output_sym)))
- return FALSE;
- }
-
- /* Flush all symbols to the file. */
- if (! elf_link_flush_output_syms (&finfo))
- return FALSE;
-
- /* Now we know the size of the symtab section. */
- off += symtab_hdr->sh_size;
-
- symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
- if (symtab_shndx_hdr->sh_name != 0)
- {
- symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
- symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
- symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
- amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
- symtab_shndx_hdr->sh_size = amt;
-
- off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
- off, TRUE);
-
- if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
- || (bfd_bwrite (finfo.symshndxbuf, amt, abfd) != amt))
- return FALSE;
- }
-
-
- /* Finish up and write out the symbol string table (.strtab)
- section. */
- symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
- /* sh_name was set in prep_headers. */
- symstrtab_hdr->sh_type = SHT_STRTAB;
- symstrtab_hdr->sh_flags = 0;
- symstrtab_hdr->sh_addr = 0;
- symstrtab_hdr->sh_size = _bfd_stringtab_size (finfo.symstrtab);
- symstrtab_hdr->sh_entsize = 0;
- symstrtab_hdr->sh_link = 0;
- symstrtab_hdr->sh_info = 0;
- /* sh_offset is set just below. */
- symstrtab_hdr->sh_addralign = 1;
-
- off = _bfd_elf_assign_file_position_for_section (symstrtab_hdr, off, TRUE);
- elf_tdata (abfd)->next_file_pos = off;
-
- if (bfd_get_symcount (abfd) > 0)
- {
- if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0
- || ! _bfd_stringtab_emit (abfd, finfo.symstrtab))
- return FALSE;
- }
-
- /* Adjust the relocs to have the correct symbol indices. */
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- if ((o->flags & SEC_RELOC) == 0)
- continue;
-
- elf_link_adjust_relocs (abfd, &elf_section_data (o)->rel_hdr,
- elf_section_data (o)->rel_count,
- elf_section_data (o)->rel_hashes);
- if (elf_section_data (o)->rel_hdr2 != NULL)
- elf_link_adjust_relocs (abfd, elf_section_data (o)->rel_hdr2,
- elf_section_data (o)->rel_count2,
- (elf_section_data (o)->rel_hashes
- + elf_section_data (o)->rel_count));
-
- /* Set the reloc_count field to 0 to prevent write_relocs from
- trying to swap the relocs out itself. */
- o->reloc_count = 0;
- }
-
- if (dynamic && info->combreloc && dynobj != NULL)
- relativecount = elf_link_sort_relocs (abfd, info, &reldyn);
-
- /* If we are linking against a dynamic object, or generating a
- shared library, finish up the dynamic linking information. */
- if (dynamic)
- {
- Elf_External_Dyn *dyncon, *dynconend;
-
- /* Fix up .dynamic entries. */
- o = bfd_get_section_by_name (dynobj, ".dynamic");
- BFD_ASSERT (o != NULL);
-
- dyncon = (Elf_External_Dyn *) o->contents;
- dynconend = (Elf_External_Dyn *) (o->contents + o->_raw_size);
- for (; dyncon < dynconend; dyncon++)
- {
- Elf_Internal_Dyn dyn;
- const char *name;
- unsigned int type;
-
- elf_swap_dyn_in (dynobj, dyncon, &dyn);
-
- switch (dyn.d_tag)
- {
- default:
- break;
- case DT_NULL:
- if (relativecount > 0 && dyncon + 1 < dynconend)
- {
- switch (elf_section_data (reldyn)->this_hdr.sh_type)
- {
- case SHT_REL: dyn.d_tag = DT_RELCOUNT; break;
- case SHT_RELA: dyn.d_tag = DT_RELACOUNT; break;
- default: break;
- }
- if (dyn.d_tag != DT_NULL)
- {
- dyn.d_un.d_val = relativecount;
- elf_swap_dyn_out (dynobj, &dyn, dyncon);
- relativecount = 0;
- }
- }
- break;
- case DT_INIT:
- name = info->init_function;
- goto get_sym;
- case DT_FINI:
- name = info->fini_function;
- get_sym:
- {
- struct elf_link_hash_entry *h;
-
- h = elf_link_hash_lookup (elf_hash_table (info), name,
- FALSE, FALSE, TRUE);
- if (h != NULL
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak))
- {
- dyn.d_un.d_val = h->root.u.def.value;
- o = h->root.u.def.section;
- if (o->output_section != NULL)
- dyn.d_un.d_val += (o->output_section->vma
- + o->output_offset);
- else
- {
- /* The symbol is imported from another shared
- library and does not apply to this one. */
- dyn.d_un.d_val = 0;
- }
-
- elf_swap_dyn_out (dynobj, &dyn, dyncon);
- }
- }
- break;
-
- case DT_PREINIT_ARRAYSZ:
- name = ".preinit_array";
- goto get_size;
- case DT_INIT_ARRAYSZ:
- name = ".init_array";
- goto get_size;
- case DT_FINI_ARRAYSZ:
- name = ".fini_array";
- get_size:
- o = bfd_get_section_by_name (abfd, name);
- if (o == NULL)
- {
- (*_bfd_error_handler)
- (_("%s: could not find output section %s"),
- bfd_get_filename (abfd), name);
- goto error_return;
- }
- if (o->_raw_size == 0)
- (*_bfd_error_handler)
- (_("warning: %s section has zero size"), name);
- dyn.d_un.d_val = o->_raw_size;
- elf_swap_dyn_out (dynobj, &dyn, dyncon);
- break;
-
- case DT_PREINIT_ARRAY:
- name = ".preinit_array";
- goto get_vma;
- case DT_INIT_ARRAY:
- name = ".init_array";
- goto get_vma;
- case DT_FINI_ARRAY:
- name = ".fini_array";
- goto get_vma;
-
- case DT_HASH:
- name = ".hash";
- goto get_vma;
- case DT_STRTAB:
- name = ".dynstr";
- goto get_vma;
- case DT_SYMTAB:
- name = ".dynsym";
- goto get_vma;
- case DT_VERDEF:
- name = ".gnu.version_d";
- goto get_vma;
- case DT_VERNEED:
- name = ".gnu.version_r";
- goto get_vma;
- case DT_VERSYM:
- name = ".gnu.version";
- get_vma:
- o = bfd_get_section_by_name (abfd, name);
- if (o == NULL)
- {
- (*_bfd_error_handler)
- (_("%s: could not find output section %s"),
- bfd_get_filename (abfd), name);
- goto error_return;
- }
- dyn.d_un.d_ptr = o->vma;
- elf_swap_dyn_out (dynobj, &dyn, dyncon);
- break;
-
- case DT_REL:
- case DT_RELA:
- case DT_RELSZ:
- case DT_RELASZ:
- if (dyn.d_tag == DT_REL || dyn.d_tag == DT_RELSZ)
- type = SHT_REL;
- else
- type = SHT_RELA;
- dyn.d_un.d_val = 0;
- for (i = 1; i < elf_numsections (abfd); i++)
- {
- Elf_Internal_Shdr *hdr;
-
- hdr = elf_elfsections (abfd)[i];
- if (hdr->sh_type == type
- && (hdr->sh_flags & SHF_ALLOC) != 0)
- {
- if (dyn.d_tag == DT_RELSZ || dyn.d_tag == DT_RELASZ)
- dyn.d_un.d_val += hdr->sh_size;
- else
- {
- if (dyn.d_un.d_val == 0
- || hdr->sh_addr < dyn.d_un.d_val)
- dyn.d_un.d_val = hdr->sh_addr;
- }
- }
- }
- elf_swap_dyn_out (dynobj, &dyn, dyncon);
- break;
- }
- }
- }
-
- /* If we have created any dynamic sections, then output them. */
- if (dynobj != NULL)
- {
- if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info))
- goto error_return;
-
- for (o = dynobj->sections; o != NULL; o = o->next)
- {
- if ((o->flags & SEC_HAS_CONTENTS) == 0
- || o->_raw_size == 0
- || o->output_section == bfd_abs_section_ptr)
- continue;
- if ((o->flags & SEC_LINKER_CREATED) == 0)
- {
- /* At this point, we are only interested in sections
- created by _bfd_elf_link_create_dynamic_sections. */
- continue;
- }
- if ((elf_section_data (o->output_section)->this_hdr.sh_type
- != SHT_STRTAB)
- || strcmp (bfd_get_section_name (abfd, o), ".dynstr") != 0)
- {
- if (! bfd_set_section_contents (abfd, o->output_section,
- o->contents,
- (file_ptr) o->output_offset,
- o->_raw_size))
- goto error_return;
- }
- else
- {
- /* The contents of the .dynstr section are actually in a
- stringtab. */
- off = elf_section_data (o->output_section)->this_hdr.sh_offset;
- if (bfd_seek (abfd, off, SEEK_SET) != 0
- || ! _bfd_elf_strtab_emit (abfd,
- elf_hash_table (info)->dynstr))
- goto error_return;
- }
- }
- }
-
- if (info->relocatable)
- {
- bfd_boolean failed = FALSE;
-
- bfd_map_over_sections (abfd, bfd_elf_set_group_contents, &failed);
- if (failed)
- goto error_return;
- }
-
- /* If we have optimized stabs strings, output them. */
- if (elf_hash_table (info)->stab_info != NULL)
- {
- if (! _bfd_write_stab_strings (abfd, &elf_hash_table (info)->stab_info))
- goto error_return;
- }
-
- if (info->eh_frame_hdr)
- {
- if (! _bfd_elf_write_section_eh_frame_hdr (abfd, info))
- goto error_return;
- }
-
- if (finfo.symstrtab != NULL)
- _bfd_stringtab_free (finfo.symstrtab);
- if (finfo.contents != NULL)
- free (finfo.contents);
- if (finfo.external_relocs != NULL)
- free (finfo.external_relocs);
- if (finfo.internal_relocs != NULL)
- free (finfo.internal_relocs);
- if (finfo.external_syms != NULL)
- free (finfo.external_syms);
- if (finfo.locsym_shndx != NULL)
- free (finfo.locsym_shndx);
- if (finfo.internal_syms != NULL)
- free (finfo.internal_syms);
- if (finfo.indices != NULL)
- free (finfo.indices);
- if (finfo.sections != NULL)
- free (finfo.sections);
- if (finfo.symbuf != NULL)
- free (finfo.symbuf);
- if (finfo.symshndxbuf != NULL)
- free (finfo.symshndxbuf);
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- if ((o->flags & SEC_RELOC) != 0
- && elf_section_data (o)->rel_hashes != NULL)
- free (elf_section_data (o)->rel_hashes);
- }
-
- elf_tdata (abfd)->linker = TRUE;
-
- return TRUE;
-
- error_return:
- if (finfo.symstrtab != NULL)
- _bfd_stringtab_free (finfo.symstrtab);
- if (finfo.contents != NULL)
- free (finfo.contents);
- if (finfo.external_relocs != NULL)
- free (finfo.external_relocs);
- if (finfo.internal_relocs != NULL)
- free (finfo.internal_relocs);
- if (finfo.external_syms != NULL)
- free (finfo.external_syms);
- if (finfo.locsym_shndx != NULL)
- free (finfo.locsym_shndx);
- if (finfo.internal_syms != NULL)
- free (finfo.internal_syms);
- if (finfo.indices != NULL)
- free (finfo.indices);
- if (finfo.sections != NULL)
- free (finfo.sections);
- if (finfo.symbuf != NULL)
- free (finfo.symbuf);
- if (finfo.symshndxbuf != NULL)
- free (finfo.symshndxbuf);
- for (o = abfd->sections; o != NULL; o = o->next)
- {
- if ((o->flags & SEC_RELOC) != 0
- && elf_section_data (o)->rel_hashes != NULL)
- free (elf_section_data (o)->rel_hashes);
- }
-
- return FALSE;
-}
-
-/* Add a symbol to the output symbol table. */
-
-static bfd_boolean
-elf_link_output_sym (struct elf_final_link_info *finfo,
- const char *name,
- Elf_Internal_Sym *elfsym,
- asection *input_sec,
- struct elf_link_hash_entry *h)
-{
- Elf_External_Sym *dest;
- Elf_External_Sym_Shndx *destshndx;
- bfd_boolean (*output_symbol_hook)
- (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
- struct elf_link_hash_entry *);
-
- output_symbol_hook = get_elf_backend_data (finfo->output_bfd)->
- elf_backend_link_output_symbol_hook;
- if (output_symbol_hook != NULL)
- {
- if (! (*output_symbol_hook) (finfo->info, name, elfsym, input_sec, h))
- return FALSE;
- }
-
- if (name == NULL || *name == '\0')
- elfsym->st_name = 0;
- else if (input_sec->flags & SEC_EXCLUDE)
- elfsym->st_name = 0;
- else
- {
- elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab,
- name, TRUE, FALSE);
- if (elfsym->st_name == (unsigned long) -1)
- return FALSE;
- }
-
- if (finfo->symbuf_count >= finfo->symbuf_size)
- {
- if (! elf_link_flush_output_syms (finfo))
- return FALSE;
- }
-
- dest = finfo->symbuf + finfo->symbuf_count;
- destshndx = finfo->symshndxbuf;
- if (destshndx != NULL)
- {
- if (bfd_get_symcount (finfo->output_bfd) >= finfo->shndxbuf_size)
- {
- bfd_size_type amt;
-
- amt = finfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx);
- finfo->symshndxbuf = destshndx = bfd_realloc (destshndx, amt * 2);
- if (destshndx == NULL)
- return FALSE;
- memset ((char *) destshndx + amt, 0, amt);
- finfo->shndxbuf_size *= 2;
- }
- destshndx += bfd_get_symcount (finfo->output_bfd);
- }
-
- elf_swap_symbol_out (finfo->output_bfd, elfsym, dest, destshndx);
- finfo->symbuf_count += 1;
- bfd_get_symcount (finfo->output_bfd) += 1;
-
- return TRUE;
-}
-
-/* Flush the output symbols to the file. */
-
-static bfd_boolean
-elf_link_flush_output_syms (struct elf_final_link_info *finfo)
-{
- if (finfo->symbuf_count > 0)
- {
- Elf_Internal_Shdr *hdr;
- file_ptr pos;
- bfd_size_type amt;
-
- hdr = &elf_tdata (finfo->output_bfd)->symtab_hdr;
- pos = hdr->sh_offset + hdr->sh_size;
- amt = finfo->symbuf_count * sizeof (Elf_External_Sym);
- if (bfd_seek (finfo->output_bfd, pos, SEEK_SET) != 0
- || bfd_bwrite (finfo->symbuf, amt, finfo->output_bfd) != amt)
- return FALSE;
-
- hdr->sh_size += amt;
- finfo->symbuf_count = 0;
- }
-
- return TRUE;
-}
-
-/* For DSOs loaded in via a DT_NEEDED entry, emulate ld.so in
- allowing an unsatisfied unversioned symbol in the DSO to match a
- versioned symbol that would normally require an explicit version.
- We also handle the case that a DSO references a hidden symbol
- which may be satisfied by a versioned symbol in another DSO. */
-
-static bfd_boolean
-elf_link_check_versioned_symbol (struct bfd_link_info *info,
- struct elf_link_hash_entry *h)
-{
- bfd *abfd;
- struct elf_link_loaded_list *loaded;
-
- if (!is_elf_hash_table (info->hash))
- return FALSE;
-
- switch (h->root.type)
- {
- default:
- abfd = NULL;
- break;
-
- case bfd_link_hash_undefined:
- case bfd_link_hash_undefweak:
- abfd = h->root.u.undef.abfd;
- if ((abfd->flags & DYNAMIC) == 0 || elf_dt_soname (abfd) == NULL)
- return FALSE;
- break;
-
- case bfd_link_hash_defined:
- case bfd_link_hash_defweak:
- abfd = h->root.u.def.section->owner;
- break;
-
- case bfd_link_hash_common:
- abfd = h->root.u.c.p->section->owner;
- break;
- }
- BFD_ASSERT (abfd != NULL);
-
- for (loaded = elf_hash_table (info)->loaded;
- loaded != NULL;
- loaded = loaded->next)
- {
- bfd *input;
- Elf_Internal_Shdr *hdr;
- bfd_size_type symcount;
- bfd_size_type extsymcount;
- bfd_size_type extsymoff;
- Elf_Internal_Shdr *versymhdr;
- Elf_Internal_Sym *isym;
- Elf_Internal_Sym *isymend;
- Elf_Internal_Sym *isymbuf;
- Elf_External_Versym *ever;
- Elf_External_Versym *extversym;
-
- input = loaded->abfd;
-
- /* We check each DSO for a possible hidden versioned definition. */
- if (input == abfd
- || (input->flags & DYNAMIC) == 0
- || elf_dynversym (input) == 0)
- continue;
-
- hdr = &elf_tdata (input)->dynsymtab_hdr;
-
- symcount = hdr->sh_size / sizeof (Elf_External_Sym);
- if (elf_bad_symtab (input))
- {
- extsymcount = symcount;
- extsymoff = 0;
- }
- else
- {
- extsymcount = symcount - hdr->sh_info;
- extsymoff = hdr->sh_info;
- }
-
- if (extsymcount == 0)
- continue;
-
- isymbuf = bfd_elf_get_elf_syms (input, hdr, extsymcount, extsymoff,
- NULL, NULL, NULL);
- if (isymbuf == NULL)
- return FALSE;
-
- /* Read in any version definitions. */
- versymhdr = &elf_tdata (input)->dynversym_hdr;
- extversym = bfd_malloc (versymhdr->sh_size);
- if (extversym == NULL)
- goto error_ret;
-
- if (bfd_seek (input, versymhdr->sh_offset, SEEK_SET) != 0
- || (bfd_bread (extversym, versymhdr->sh_size, input)
- != versymhdr->sh_size))
- {
- free (extversym);
- error_ret:
- free (isymbuf);
- return FALSE;
- }
-
- ever = extversym + extsymoff;
- isymend = isymbuf + extsymcount;
- for (isym = isymbuf; isym < isymend; isym++, ever++)
- {
- const char *name;
- Elf_Internal_Versym iver;
- unsigned short version_index;
-
- if (ELF_ST_BIND (isym->st_info) == STB_LOCAL
- || isym->st_shndx == SHN_UNDEF)
- continue;
-
- name = bfd_elf_string_from_elf_section (input,
- hdr->sh_link,
- isym->st_name);
- if (strcmp (name, h->root.root.string) != 0)
- continue;
-
- _bfd_elf_swap_versym_in (input, ever, &iver);
-
- if ((iver.vs_vers & VERSYM_HIDDEN) == 0)
- {
- /* If we have a non-hidden versioned sym, then it should
- have provided a definition for the undefined sym. */
- abort ();
- }
-
- version_index = iver.vs_vers & VERSYM_VERSION;
- if (version_index == 1 || version_index == 2)
- {
- /* This is the base or first version. We can use it. */
- free (extversym);
- free (isymbuf);
- return TRUE;
- }
- }
-
- free (extversym);
- free (isymbuf);
- }
-
- return FALSE;
-}
-
-/* Add an external symbol to the symbol table. This is called from
- the hash table traversal routine. When generating a shared object,
- we go through the symbol table twice. The first time we output
- anything that might have been forced to local scope in a version
- script. The second time we output the symbols that are still
- global symbols. */
-
-static bfd_boolean
-elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
-{
- struct elf_outext_info *eoinfo = data;
- struct elf_final_link_info *finfo = eoinfo->finfo;
- bfd_boolean strip;
- Elf_Internal_Sym sym;
- asection *input_sec;
-
- if (h->root.type == bfd_link_hash_warning)
- {
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_new)
- return TRUE;
- }
-
- /* Decide whether to output this symbol in this pass. */
- if (eoinfo->localsyms)
- {
- if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
- return TRUE;
- }
- else
- {
- if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
- return TRUE;
- }
-
- /* If we have an undefined symbol reference here then it must have
- come from a shared library that is being linked in. (Undefined
- references in regular files have already been handled). If we
- are reporting errors for this situation then do so now. */
- if (h->root.type == bfd_link_hash_undefined
- && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0
- && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0
- && ! elf_link_check_versioned_symbol (finfo->info, h)
- && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE)
- {
- if (! ((*finfo->info->callbacks->undefined_symbol)
- (finfo->info, h->root.root.string, h->root.u.undef.abfd,
- NULL, 0, finfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)))
- {
- eoinfo->failed = TRUE;
- return FALSE;
- }
- }
-
- /* We should also warn if a forced local symbol is referenced from
- shared libraries. */
- if (! finfo->info->relocatable
- && (! finfo->info->shared)
- && (h->elf_link_hash_flags
- & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK))
- == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC)
- && ! elf_link_check_versioned_symbol (finfo->info, h))
- {
- (*_bfd_error_handler)
- (_("%s: %s symbol `%s' in %s is referenced by DSO"),
- bfd_get_filename (finfo->output_bfd),
- ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
- ? "internal"
- : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN
- ? "hidden" : "local",
- h->root.root.string,
- bfd_archive_filename (h->root.u.def.section->owner));
- eoinfo->failed = TRUE;
- return FALSE;
- }
-
- /* We don't want to output symbols that have never been mentioned by
- a regular file, or that we have been told to strip. However, if
- h->indx is set to -2, the symbol is used by a reloc and we must
- output it. */
- if (h->indx == -2)
- strip = FALSE;
- else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
- || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)
- && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
- && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0)
- strip = TRUE;
- else if (finfo->info->strip == strip_all)
- strip = TRUE;
- else if (finfo->info->strip == strip_some
- && bfd_hash_lookup (finfo->info->keep_hash,
- h->root.root.string, FALSE, FALSE) == NULL)
- strip = TRUE;
- else if (finfo->info->strip_discarded
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- && elf_discarded_section (h->root.u.def.section))
- strip = TRUE;
- else
- strip = FALSE;
-
- /* If we're stripping it, and it's not a dynamic symbol, there's
- nothing else to do unless it is a forced local symbol. */
- if (strip
- && h->dynindx == -1
- && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
- return TRUE;
-
- sym.st_value = 0;
- sym.st_size = h->size;
- sym.st_other = h->other;
- if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
- sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type);
- else if (h->root.type == bfd_link_hash_undefweak
- || h->root.type == bfd_link_hash_defweak)
- sym.st_info = ELF_ST_INFO (STB_WEAK, h->type);
- else
- sym.st_info = ELF_ST_INFO (STB_GLOBAL, h->type);
-
- switch (h->root.type)
- {
- default:
- case bfd_link_hash_new:
- case bfd_link_hash_warning:
- abort ();
- return FALSE;
-
- case bfd_link_hash_undefined:
- case bfd_link_hash_undefweak:
- input_sec = bfd_und_section_ptr;
- sym.st_shndx = SHN_UNDEF;
- break;
-
- case bfd_link_hash_defined:
- case bfd_link_hash_defweak:
- {
- input_sec = h->root.u.def.section;
- if (input_sec->output_section != NULL)
- {
- sym.st_shndx =
- _bfd_elf_section_from_bfd_section (finfo->output_bfd,
- input_sec->output_section);
- if (sym.st_shndx == SHN_BAD)
- {
- (*_bfd_error_handler)
- (_("%s: could not find output section %s for input section %s"),
- bfd_get_filename (finfo->output_bfd),
- input_sec->output_section->name,
- input_sec->name);
- eoinfo->failed = TRUE;
- return FALSE;
- }
-
- /* ELF symbols in relocatable files are section relative,
- but in nonrelocatable files they are virtual
- addresses. */
- sym.st_value = h->root.u.def.value + input_sec->output_offset;
- if (! finfo->info->relocatable)
- {
- sym.st_value += input_sec->output_section->vma;
- if (h->type == STT_TLS)
- {
- /* STT_TLS symbols are relative to PT_TLS segment
- base. */
- BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL);
- sym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma;
- }
- }
- }
- else
- {
- BFD_ASSERT (input_sec->owner == NULL
- || (input_sec->owner->flags & DYNAMIC) != 0);
- sym.st_shndx = SHN_UNDEF;
- input_sec = bfd_und_section_ptr;
- }
- }
- break;
-
- case bfd_link_hash_common:
- input_sec = h->root.u.c.p->section;
- sym.st_shndx = SHN_COMMON;
- sym.st_value = 1 << h->root.u.c.p->alignment_power;
- break;
-
- case bfd_link_hash_indirect:
- /* These symbols are created by symbol versioning. They point
- to the decorated version of the name. For example, if the
- symbol foo@@GNU_1.2 is the default, which should be used when
- foo is used with no version, then we add an indirect symbol
- foo which points to foo@@GNU_1.2. We ignore these symbols,
- since the indirected symbol is already in the hash table. */
- return TRUE;
- }
-
- /* Give the processor backend a chance to tweak the symbol value,
- and also to finish up anything that needs to be done for this
- symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for
- forced local syms when non-shared is due to a historical quirk. */
- if ((h->dynindx != -1
- || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
- && ((finfo->info->shared
- && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
- || h->root.type != bfd_link_hash_undefweak))
- || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
- && elf_hash_table (finfo->info)->dynamic_sections_created)
- {
- const struct elf_backend_data *bed;
-
- bed = get_elf_backend_data (finfo->output_bfd);
- if (! ((*bed->elf_backend_finish_dynamic_symbol)
- (finfo->output_bfd, finfo->info, h, &sym)))
- {
- eoinfo->failed = TRUE;
- return FALSE;
- }
- }
-
- /* If we are marking the symbol as undefined, and there are no
- non-weak references to this symbol from a regular object, then
- mark the symbol as weak undefined; if there are non-weak
- references, mark the symbol as strong. We can't do this earlier,
- because it might not be marked as undefined until the
- finish_dynamic_symbol routine gets through with it. */
- if (sym.st_shndx == SHN_UNDEF
- && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0
- && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL
- || ELF_ST_BIND (sym.st_info) == STB_WEAK))
- {
- int bindtype;
-
- if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0)
- bindtype = STB_GLOBAL;
- else
- bindtype = STB_WEAK;
- sym.st_info = ELF_ST_INFO (bindtype, ELF_ST_TYPE (sym.st_info));
- }
-
- /* If a non-weak symbol with non-default visibility is not defined
- locally, it is a fatal error. */
- if (! finfo->info->relocatable
- && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
- && ELF_ST_BIND (sym.st_info) != STB_WEAK
- && h->root.type == bfd_link_hash_undefined
- && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
- {
- (*_bfd_error_handler)
- (_("%s: %s symbol `%s' isn't defined"),
- bfd_get_filename (finfo->output_bfd),
- ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED
- ? "protected"
- : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL
- ? "internal" : "hidden",
- h->root.root.string);
- eoinfo->failed = TRUE;
- return FALSE;
- }
-
- /* If this symbol should be put in the .dynsym section, then put it
- there now. We already know the symbol index. We also fill in
- the entry in the .hash section. */
- if (h->dynindx != -1
- && elf_hash_table (finfo->info)->dynamic_sections_created)
- {
- size_t bucketcount;
- size_t bucket;
- size_t hash_entry_size;
- bfd_byte *bucketpos;
- bfd_vma chain;
- Elf_External_Sym *esym;
-
- sym.st_name = h->dynstr_index;
- esym = (Elf_External_Sym *) finfo->dynsym_sec->contents + h->dynindx;
- elf_swap_symbol_out (finfo->output_bfd, &sym, esym, 0);
-
- bucketcount = elf_hash_table (finfo->info)->bucketcount;
- bucket = h->elf_hash_value % bucketcount;
- hash_entry_size
- = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize;
- bucketpos = ((bfd_byte *) finfo->hash_sec->contents
- + (bucket + 2) * hash_entry_size);
- chain = bfd_get (8 * hash_entry_size, finfo->output_bfd, bucketpos);
- bfd_put (8 * hash_entry_size, finfo->output_bfd, h->dynindx, bucketpos);
- bfd_put (8 * hash_entry_size, finfo->output_bfd, chain,
- ((bfd_byte *) finfo->hash_sec->contents
- + (bucketcount + 2 + h->dynindx) * hash_entry_size));
-
- if (finfo->symver_sec != NULL && finfo->symver_sec->contents != NULL)
- {
- Elf_Internal_Versym iversym;
- Elf_External_Versym *eversym;
-
- if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
- {
- if (h->verinfo.verdef == NULL)
- iversym.vs_vers = 0;
- else
- iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1;
- }
- else
- {
- if (h->verinfo.vertree == NULL)
- iversym.vs_vers = 1;
- else
- iversym.vs_vers = h->verinfo.vertree->vernum + 1;
- }
-
- if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0)
- iversym.vs_vers |= VERSYM_HIDDEN;
-
- eversym = (Elf_External_Versym *) finfo->symver_sec->contents;
- eversym += h->dynindx;
- _bfd_elf_swap_versym_out (finfo->output_bfd, &iversym, eversym);
- }
- }
-
- /* If we're stripping it, then it was just a dynamic symbol, and
- there's nothing else to do. */
- if (strip || (input_sec->flags & SEC_EXCLUDE) != 0)
- return TRUE;
-
- h->indx = bfd_get_symcount (finfo->output_bfd);
-
- if (! elf_link_output_sym (finfo, h->root.root.string, &sym, input_sec, h))
- {
- eoinfo->failed = TRUE;
- return FALSE;
- }
-
- return TRUE;
-}
-
-/* Link an input file into the linker output file. This function
- handles all the sections and relocations of the input file at once.
- This is so that we only have to read the local symbols once, and
- don't have to keep them in memory. */
-
-static bfd_boolean
-elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
-{
- bfd_boolean (*relocate_section)
- (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
- Elf_Internal_Rela *, Elf_Internal_Sym *, asection **);
- bfd *output_bfd;
- Elf_Internal_Shdr *symtab_hdr;
- size_t locsymcount;
- size_t extsymoff;
- Elf_Internal_Sym *isymbuf;
- Elf_Internal_Sym *isym;
- Elf_Internal_Sym *isymend;
- long *pindex;
- asection **ppsection;
- asection *o;
- const struct elf_backend_data *bed;
- bfd_boolean emit_relocs;
- struct elf_link_hash_entry **sym_hashes;
-
- output_bfd = finfo->output_bfd;
- bed = get_elf_backend_data (output_bfd);
- relocate_section = bed->elf_backend_relocate_section;
-
- /* If this is a dynamic object, we don't want to do anything here:
- we don't want the local symbols, and we don't want the section
- contents. */
- if ((input_bfd->flags & DYNAMIC) != 0)
- return TRUE;
-
- emit_relocs = (finfo->info->relocatable
- || finfo->info->emitrelocations
- || bed->elf_backend_emit_relocs);
-
- symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
- if (elf_bad_symtab (input_bfd))
- {
- locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym);
- extsymoff = 0;
- }
- else
- {
- locsymcount = symtab_hdr->sh_info;
- extsymoff = symtab_hdr->sh_info;
- }
-
- /* Read the local symbols. */
- isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
- if (isymbuf == NULL && locsymcount != 0)
- {
- isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, locsymcount, 0,
- finfo->internal_syms,
- finfo->external_syms,
- finfo->locsym_shndx);
- if (isymbuf == NULL)
- return FALSE;
- }
-
- /* Find local symbol sections and adjust values of symbols in
- SEC_MERGE sections. Write out those local symbols we know are
- going into the output file. */
- isymend = isymbuf + locsymcount;
- for (isym = isymbuf, pindex = finfo->indices, ppsection = finfo->sections;
- isym < isymend;
- isym++, pindex++, ppsection++)
- {
- asection *isec;
- const char *name;
- Elf_Internal_Sym osym;
-
- *pindex = -1;
-
- if (elf_bad_symtab (input_bfd))
- {
- if (ELF_ST_BIND (isym->st_info) != STB_LOCAL)
- {
- *ppsection = NULL;
- continue;
- }
- }
-
- if (isym->st_shndx == SHN_UNDEF)
- isec = bfd_und_section_ptr;
- else if (isym->st_shndx < SHN_LORESERVE
- || isym->st_shndx > SHN_HIRESERVE)
- {
- isec = section_from_elf_index (input_bfd, isym->st_shndx);
- if (isec
- && isec->sec_info_type == ELF_INFO_TYPE_MERGE
- && ELF_ST_TYPE (isym->st_info) != STT_SECTION)
- isym->st_value =
- _bfd_merged_section_offset (output_bfd, &isec,
- elf_section_data (isec)->sec_info,
- isym->st_value, 0);
- }
- else if (isym->st_shndx == SHN_ABS)
- isec = bfd_abs_section_ptr;
- else if (isym->st_shndx == SHN_COMMON)
- isec = bfd_com_section_ptr;
- else
- {
- /* Who knows? */
- isec = NULL;
- }
-
- *ppsection = isec;
-
- /* Don't output the first, undefined, symbol. */
- if (ppsection == finfo->sections)
- continue;
-
- if (ELF_ST_TYPE (isym->st_info) == STT_SECTION)
- {
- /* We never output section symbols. Instead, we use the
- section symbol of the corresponding section in the output
- file. */
- continue;
- }
-
- /* If we are stripping all symbols, we don't want to output this
- one. */
- if (finfo->info->strip == strip_all)
- continue;
-
- /* If we are discarding all local symbols, we don't want to
- output this one. If we are generating a relocatable output
- file, then some of the local symbols may be required by
- relocs; we output them below as we discover that they are
- needed. */
- if (finfo->info->discard == discard_all)
- continue;
-
- /* If this symbol is defined in a section which we are
- discarding, we don't need to keep it, but note that
- linker_mark is only reliable for sections that have contents.
- For the benefit of the MIPS ELF linker, we check SEC_EXCLUDE
- as well as linker_mark. */
- if ((isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
- && isec != NULL
- && ((! isec->linker_mark && (isec->flags & SEC_HAS_CONTENTS) != 0)
- || (! finfo->info->relocatable
- && (isec->flags & SEC_EXCLUDE) != 0)))
- continue;
-
- /* Get the name of the symbol. */
- name = bfd_elf_string_from_elf_section (input_bfd, symtab_hdr->sh_link,
- isym->st_name);
- if (name == NULL)
- return FALSE;
-
- /* See if we are discarding symbols with this name. */
- if ((finfo->info->strip == strip_some
- && (bfd_hash_lookup (finfo->info->keep_hash, name, FALSE, FALSE)
- == NULL))
- || (((finfo->info->discard == discard_sec_merge
- && (isec->flags & SEC_MERGE) && ! finfo->info->relocatable)
- || finfo->info->discard == discard_l)
- && bfd_is_local_label_name (input_bfd, name)))
- continue;
-
- /* If we get here, we are going to output this symbol. */
-
- osym = *isym;
-
- /* Adjust the section index for the output file. */
- osym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd,
- isec->output_section);
- if (osym.st_shndx == SHN_BAD)
- return FALSE;
-
- *pindex = bfd_get_symcount (output_bfd);
-
- /* ELF symbols in relocatable files are section relative, but
- in executable files they are virtual addresses. Note that
- this code assumes that all ELF sections have an associated
- BFD section with a reasonable value for output_offset; below
- we assume that they also have a reasonable value for
- output_section. Any special sections must be set up to meet
- these requirements. */
- osym.st_value += isec->output_offset;
- if (! finfo->info->relocatable)
- {
- osym.st_value += isec->output_section->vma;
- if (ELF_ST_TYPE (osym.st_info) == STT_TLS)
- {
- /* STT_TLS symbols are relative to PT_TLS segment base. */
- BFD_ASSERT (elf_hash_table (finfo->info)->tls_sec != NULL);
- osym.st_value -= elf_hash_table (finfo->info)->tls_sec->vma;
- }
- }
-
- if (! elf_link_output_sym (finfo, name, &osym, isec, NULL))
- return FALSE;
- }
-
- /* Relocate the contents of each section. */
- sym_hashes = elf_sym_hashes (input_bfd);
- for (o = input_bfd->sections; o != NULL; o = o->next)
- {
- bfd_byte *contents;
-
- if (! o->linker_mark)
- {
- /* This section was omitted from the link. */
- continue;
- }
-
- if ((o->flags & SEC_HAS_CONTENTS) == 0
- || (o->_raw_size == 0 && (o->flags & SEC_RELOC) == 0))
- continue;
-
- if ((o->flags & SEC_LINKER_CREATED) != 0)
- {
- /* Section was created by _bfd_elf_link_create_dynamic_sections
- or somesuch. */
- continue;
- }
-
- /* Get the contents of the section. They have been cached by a
- relaxation routine. Note that o is a section in an input
- file, so the contents field will not have been set by any of
- the routines which work on output files. */
- if (elf_section_data (o)->this_hdr.contents != NULL)
- contents = elf_section_data (o)->this_hdr.contents;
- else
- {
- contents = finfo->contents;
- if (! bfd_get_section_contents (input_bfd, o, contents, 0,
- o->_raw_size))
- return FALSE;
- }
-
- if ((o->flags & SEC_RELOC) != 0)
- {
- Elf_Internal_Rela *internal_relocs;
-
- /* Get the swapped relocs. */
- internal_relocs
- = _bfd_elf_link_read_relocs (input_bfd, o, finfo->external_relocs,
- finfo->internal_relocs, FALSE);
- if (internal_relocs == NULL
- && o->reloc_count > 0)
- return FALSE;
-
- /* Run through the relocs looking for any against symbols
- from discarded sections and section symbols from
- removed link-once sections. Complain about relocs
- against discarded sections. Zero relocs against removed
- link-once sections. Preserve debug information as much
- as we can. */
- if (!elf_section_ignore_discarded_relocs (o))
- {
- Elf_Internal_Rela *rel, *relend;
-
- rel = internal_relocs;
- relend = rel + o->reloc_count * bed->s->int_rels_per_ext_rel;
- for ( ; rel < relend; rel++)
- {
- unsigned long r_symndx = ELF_R_SYM (rel->r_info);
- asection *sec;
-
- if (r_symndx >= locsymcount
- || (elf_bad_symtab (input_bfd)
- && finfo->sections[r_symndx] == NULL))
- {
- struct elf_link_hash_entry *h;
-
- h = sym_hashes[r_symndx - extsymoff];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- /* Complain if the definition comes from a
- discarded section. */
- sec = h->root.u.def.section;
- if ((h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- && elf_discarded_section (sec))
- {
- if ((o->flags & SEC_DEBUGGING) != 0)
- {
- BFD_ASSERT (r_symndx != 0);
- /* Try to preserve debug information. */
- if ((o->flags & SEC_DEBUGGING) != 0
- && sec->kept_section != NULL
- && sec->_raw_size == sec->kept_section->_raw_size)
- h->root.u.def.section
- = sec->kept_section;
- else
- memset (rel, 0, sizeof (*rel));
- }
- else
- finfo->info->callbacks->error_handler
- (LD_DEFINITION_IN_DISCARDED_SECTION,
- _("%T: discarded in section `%s' from %s\n"),
- h->root.root.string,
- h->root.root.string,
- h->root.u.def.section->name,
- bfd_archive_filename (h->root.u.def.section->owner));
- }
- }
- else
- {
- sec = finfo->sections[r_symndx];
-
- if (sec != NULL && elf_discarded_section (sec))
- {
- if ((o->flags & SEC_DEBUGGING) != 0
- || (sec->flags & SEC_LINK_ONCE) != 0)
- {
- BFD_ASSERT (r_symndx != 0);
- /* Try to preserve debug information. */
- if ((o->flags & SEC_DEBUGGING) != 0
- && sec->kept_section != NULL
- && sec->_raw_size == sec->kept_section->_raw_size)
- finfo->sections[r_symndx]
- = sec->kept_section;
- else
- {
- rel->r_info
- = ELF_R_INFO (0, ELF_R_TYPE (rel->r_info));
- rel->r_addend = 0;
- }
- }
- else
- {
- static int count;
- int ok;
- char *buf;
-
- ok = asprintf (&buf, "local symbol %d",
- count++);
- if (ok <= 0)
- buf = (char *) "local symbol";
- finfo->info->callbacks->error_handler
- (LD_DEFINITION_IN_DISCARDED_SECTION,
- _("%T: discarded in section `%s' from %s\n"),
- buf, buf, sec->name,
- bfd_archive_filename (input_bfd));
- if (ok != -1)
- free (buf);
- }
- }
- }
- }
- }
-
- /* Relocate the section by invoking a back end routine.
-
- The back end routine is responsible for adjusting the
- section contents as necessary, and (if using Rela relocs
- and generating a relocatable output file) adjusting the
- reloc addend as necessary.
-
- The back end routine does not have to worry about setting
- the reloc address or the reloc symbol index.
-
- The back end routine is given a pointer to the swapped in
- internal symbols, and can access the hash table entries
- for the external symbols via elf_sym_hashes (input_bfd).
-
- When generating relocatable output, the back end routine
- must handle STB_LOCAL/STT_SECTION symbols specially. The
- output symbol is going to be a section symbol
- corresponding to the output section, which will require
- the addend to be adjusted. */
-
- if (! (*relocate_section) (output_bfd, finfo->info,
- input_bfd, o, contents,
- internal_relocs,
- isymbuf,
- finfo->sections))
- return FALSE;
-
- if (emit_relocs)
- {
- Elf_Internal_Rela *irela;
- Elf_Internal_Rela *irelaend;
- bfd_vma last_offset;
- struct elf_link_hash_entry **rel_hash;
- Elf_Internal_Shdr *input_rel_hdr, *input_rel_hdr2;
- unsigned int next_erel;
- bfd_boolean (*reloc_emitter)
- (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *);
- bfd_boolean rela_normal;
-
- input_rel_hdr = &elf_section_data (o)->rel_hdr;
- rela_normal = (bed->rela_normal
- && (input_rel_hdr->sh_entsize
- == sizeof (Elf_External_Rela)));
-
- /* Adjust the reloc addresses and symbol indices. */
-
- irela = internal_relocs;
- irelaend = irela + o->reloc_count * bed->s->int_rels_per_ext_rel;
- rel_hash = (elf_section_data (o->output_section)->rel_hashes
- + elf_section_data (o->output_section)->rel_count
- + elf_section_data (o->output_section)->rel_count2);
- last_offset = o->output_offset;
- if (!finfo->info->relocatable)
- last_offset += o->output_section->vma;
- for (next_erel = 0; irela < irelaend; irela++, next_erel++)
- {
- unsigned long r_symndx;
- asection *sec;
- Elf_Internal_Sym sym;
-
- if (next_erel == bed->s->int_rels_per_ext_rel)
- {
- rel_hash++;
- next_erel = 0;
- }
-
- irela->r_offset = _bfd_elf_section_offset (output_bfd,
- finfo->info, o,
- irela->r_offset);
- if (irela->r_offset >= (bfd_vma) -2)
- {
- /* This is a reloc for a deleted entry or somesuch.
- Turn it into an R_*_NONE reloc, at the same
- offset as the last reloc. elf_eh_frame.c and
- elf_bfd_discard_info rely on reloc offsets
- being ordered. */
- irela->r_offset = last_offset;
- irela->r_info = 0;
- irela->r_addend = 0;
- continue;
- }
-
- irela->r_offset += o->output_offset;
-
- /* Relocs in an executable have to be virtual addresses. */
- if (!finfo->info->relocatable)
- irela->r_offset += o->output_section->vma;
-
- last_offset = irela->r_offset;
-
- r_symndx = ELF_R_SYM (irela->r_info);
- if (r_symndx == STN_UNDEF)
- continue;
-
- if (r_symndx >= locsymcount
- || (elf_bad_symtab (input_bfd)
- && finfo->sections[r_symndx] == NULL))
- {
- struct elf_link_hash_entry *rh;
- unsigned long indx;
-
- /* This is a reloc against a global symbol. We
- have not yet output all the local symbols, so
- we do not know the symbol index of any global
- symbol. We set the rel_hash entry for this
- reloc to point to the global hash table entry
- for this symbol. The symbol index is then
- set at the end of elf_bfd_final_link. */
- indx = r_symndx - extsymoff;
- rh = elf_sym_hashes (input_bfd)[indx];
- while (rh->root.type == bfd_link_hash_indirect
- || rh->root.type == bfd_link_hash_warning)
- rh = (struct elf_link_hash_entry *) rh->root.u.i.link;
-
- /* Setting the index to -2 tells
- elf_link_output_extsym that this symbol is
- used by a reloc. */
- BFD_ASSERT (rh->indx < 0);
- rh->indx = -2;
-
- *rel_hash = rh;
-
- continue;
- }
-
- /* This is a reloc against a local symbol. */
-
- *rel_hash = NULL;
- sym = isymbuf[r_symndx];
- sec = finfo->sections[r_symndx];
- if (ELF_ST_TYPE (sym.st_info) == STT_SECTION)
- {
- /* I suppose the backend ought to fill in the
- section of any STT_SECTION symbol against a
- processor specific section. If we have
- discarded a section, the output_section will
- be the absolute section. */
- if (bfd_is_abs_section (sec)
- || (sec != NULL
- && bfd_is_abs_section (sec->output_section)))
- r_symndx = 0;
- else if (sec == NULL || sec->owner == NULL)
- {
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
- else
- {
- r_symndx = sec->output_section->target_index;
- BFD_ASSERT (r_symndx != 0);
- }
-
- /* Adjust the addend according to where the
- section winds up in the output section. */
- if (rela_normal)
- irela->r_addend += sec->output_offset;
- }
- else
- {
- if (finfo->indices[r_symndx] == -1)
- {
- unsigned long shlink;
- const char *name;
- asection *osec;
-
- if (finfo->info->strip == strip_all)
- {
- /* You can't do ld -r -s. */
- bfd_set_error (bfd_error_invalid_operation);
- return FALSE;
- }
-
- /* This symbol was skipped earlier, but
- since it is needed by a reloc, we
- must output it now. */
- shlink = symtab_hdr->sh_link;
- name = (bfd_elf_string_from_elf_section
- (input_bfd, shlink, sym.st_name));
- if (name == NULL)
- return FALSE;
-
- osec = sec->output_section;
- sym.st_shndx =
- _bfd_elf_section_from_bfd_section (output_bfd,
- osec);
- if (sym.st_shndx == SHN_BAD)
- return FALSE;
-
- sym.st_value += sec->output_offset;
- if (! finfo->info->relocatable)
- {
- sym.st_value += osec->vma;
- if (ELF_ST_TYPE (sym.st_info) == STT_TLS)
- {
- /* STT_TLS symbols are relative to PT_TLS
- segment base. */
- BFD_ASSERT (elf_hash_table (finfo->info)
- ->tls_sec != NULL);
- sym.st_value -= (elf_hash_table (finfo->info)
- ->tls_sec->vma);
- }
- }
-
- finfo->indices[r_symndx]
- = bfd_get_symcount (output_bfd);
-
- if (! elf_link_output_sym (finfo, name, &sym, sec,
- NULL))
- return FALSE;
- }
-
- r_symndx = finfo->indices[r_symndx];
- }
-
- irela->r_info = ELF_R_INFO (r_symndx,
- ELF_R_TYPE (irela->r_info));
- }
-
- /* Swap out the relocs. */
- if (bed->elf_backend_emit_relocs
- && !(finfo->info->relocatable
- || finfo->info->emitrelocations))
- reloc_emitter = bed->elf_backend_emit_relocs;
- else
- reloc_emitter = _bfd_elf_link_output_relocs;
-
- if (input_rel_hdr->sh_size != 0
- && ! (*reloc_emitter) (output_bfd, o, input_rel_hdr,
- internal_relocs))
- return FALSE;
-
- input_rel_hdr2 = elf_section_data (o)->rel_hdr2;
- if (input_rel_hdr2 && input_rel_hdr2->sh_size != 0)
- {
- internal_relocs += (NUM_SHDR_ENTRIES (input_rel_hdr)
- * bed->s->int_rels_per_ext_rel);
- if (! (*reloc_emitter) (output_bfd, o, input_rel_hdr2,
- internal_relocs))
- return FALSE;
- }
- }
- }
-
- /* Write out the modified section contents. */
- if (bed->elf_backend_write_section
- && (*bed->elf_backend_write_section) (output_bfd, o, contents))
- {
- /* Section written out. */
- }
- else switch (o->sec_info_type)
- {
- case ELF_INFO_TYPE_STABS:
- if (! (_bfd_write_section_stabs
- (output_bfd,
- &elf_hash_table (finfo->info)->stab_info,
- o, &elf_section_data (o)->sec_info, contents)))
- return FALSE;
- break;
- case ELF_INFO_TYPE_MERGE:
- if (! _bfd_write_merged_section (output_bfd, o,
- elf_section_data (o)->sec_info))
- return FALSE;
- break;
- case ELF_INFO_TYPE_EH_FRAME:
- {
- if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info,
- o, contents))
- return FALSE;
- }
- break;
- default:
- {
- bfd_size_type sec_size;
-
- sec_size = (o->_cooked_size != 0 ? o->_cooked_size : o->_raw_size);
- if (! (o->flags & SEC_EXCLUDE)
- && ! bfd_set_section_contents (output_bfd, o->output_section,
- contents,
- (file_ptr) o->output_offset,
- sec_size))
- return FALSE;
- }
- break;
- }
- }
-
- return TRUE;
-}
-
-/* Generate a reloc when linking an ELF file. This is a reloc
- requested by the linker, and does come from any input file. This
- is used to build constructor and destructor tables when linking
- with -Ur. */
-
-static bfd_boolean
-elf_reloc_link_order (bfd *output_bfd,
- struct bfd_link_info *info,
- asection *output_section,
- struct bfd_link_order *link_order)
-{
- reloc_howto_type *howto;
- long indx;
- bfd_vma offset;
- bfd_vma addend;
- struct elf_link_hash_entry **rel_hash_ptr;
- Elf_Internal_Shdr *rel_hdr;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
- Elf_Internal_Rela irel[MAX_INT_RELS_PER_EXT_REL];
- bfd_byte *erel;
- unsigned int i;
-
- howto = bfd_reloc_type_lookup (output_bfd, link_order->u.reloc.p->reloc);
- if (howto == NULL)
- {
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
-
- addend = link_order->u.reloc.p->addend;
-
- /* Figure out the symbol index. */
- rel_hash_ptr = (elf_section_data (output_section)->rel_hashes
- + elf_section_data (output_section)->rel_count
- + elf_section_data (output_section)->rel_count2);
- if (link_order->type == bfd_section_reloc_link_order)
- {
- indx = link_order->u.reloc.p->u.section->target_index;
- BFD_ASSERT (indx != 0);
- *rel_hash_ptr = NULL;
- }
- else
- {
- struct elf_link_hash_entry *h;
-
- /* Treat a reloc against a defined symbol as though it were
- actually against the section. */
- h = ((struct elf_link_hash_entry *)
- bfd_wrapped_link_hash_lookup (output_bfd, info,
- link_order->u.reloc.p->u.name,
- FALSE, FALSE, TRUE));
- if (h != NULL
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak))
- {
- asection *section;
-
- section = h->root.u.def.section;
- indx = section->output_section->target_index;
- *rel_hash_ptr = NULL;
- /* It seems that we ought to add the symbol value to the
- addend here, but in practice it has already been added
- because it was passed to constructor_callback. */
- addend += section->output_section->vma + section->output_offset;
- }
- else if (h != NULL)
- {
- /* Setting the index to -2 tells elf_link_output_extsym that
- this symbol is used by a reloc. */
- h->indx = -2;
- *rel_hash_ptr = h;
- indx = 0;
- }
- else
- {
- if (! ((*info->callbacks->unattached_reloc)
- (info, link_order->u.reloc.p->u.name, NULL, NULL, 0)))
- return FALSE;
- indx = 0;
- }
- }
-
- /* If this is an inplace reloc, we must write the addend into the
- object file. */
- if (howto->partial_inplace && addend != 0)
- {
- bfd_size_type size;
- bfd_reloc_status_type rstat;
- bfd_byte *buf;
- bfd_boolean ok;
- const char *sym_name;
-
- size = bfd_get_reloc_size (howto);
- buf = bfd_zmalloc (size);
- if (buf == NULL)
- return FALSE;
- rstat = _bfd_relocate_contents (howto, output_bfd, addend, buf);
- switch (rstat)
- {
- case bfd_reloc_ok:
- break;
-
- default:
- case bfd_reloc_outofrange:
- abort ();
-
- case bfd_reloc_overflow:
- if (link_order->type == bfd_section_reloc_link_order)
- sym_name = bfd_section_name (output_bfd,
- link_order->u.reloc.p->u.section);
- else
- sym_name = link_order->u.reloc.p->u.name;
- if (! ((*info->callbacks->reloc_overflow)
- (info, sym_name, howto->name, addend, NULL, NULL, 0)))
- {
- free (buf);
- return FALSE;
- }
- break;
- }
- ok = bfd_set_section_contents (output_bfd, output_section, buf,
- link_order->offset, size);
- free (buf);
- if (! ok)
- return FALSE;
- }
-
- /* The address of a reloc is relative to the section in a
- relocatable file, and is a virtual address in an executable
- file. */
- offset = link_order->offset;
- if (! info->relocatable)
- offset += output_section->vma;
-
- for (i = 0; i < bed->s->int_rels_per_ext_rel; i++)
- {
- irel[i].r_offset = offset;
- irel[i].r_info = 0;
- irel[i].r_addend = 0;
- }
- irel[0].r_info = ELF_R_INFO (indx, howto->type);
-
- rel_hdr = &elf_section_data (output_section)->rel_hdr;
- erel = rel_hdr->contents;
- if (rel_hdr->sh_type == SHT_REL)
- {
- erel += (elf_section_data (output_section)->rel_count
- * sizeof (Elf_External_Rel));
- (*bed->s->swap_reloc_out) (output_bfd, irel, erel);
- }
- else
- {
- irel[0].r_addend = addend;
- erel += (elf_section_data (output_section)->rel_count
- * sizeof (Elf_External_Rela));
- (*bed->s->swap_reloca_out) (output_bfd, irel, erel);
- }
-
- ++elf_section_data (output_section)->rel_count;
-
- return TRUE;
-}
-
-/* Garbage collect unused sections. */
-
-static bfd_boolean elf_gc_sweep_symbol
- (struct elf_link_hash_entry *, void *);
-
-static bfd_boolean elf_gc_allocate_got_offsets
- (struct elf_link_hash_entry *, void *);
-
-/* The mark phase of garbage collection. For a given section, mark
- it and any sections in this section's group, and all the sections
- which define symbols to which it refers. */
-
-typedef asection * (*gc_mark_hook_fn)
- (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
- struct elf_link_hash_entry *, Elf_Internal_Sym *);
-
-static bfd_boolean
-elf_gc_mark (struct bfd_link_info *info,
- asection *sec,
- gc_mark_hook_fn gc_mark_hook)
-{
- bfd_boolean ret;
- asection *group_sec;
-
- sec->gc_mark = 1;
-
- /* Mark all the sections in the group. */
- group_sec = elf_section_data (sec)->next_in_group;
- if (group_sec && !group_sec->gc_mark)
- if (!elf_gc_mark (info, group_sec, gc_mark_hook))
- return FALSE;
-
- /* Look through the section relocs. */
- ret = TRUE;
- if ((sec->flags & SEC_RELOC) != 0 && sec->reloc_count > 0)
- {
- Elf_Internal_Rela *relstart, *rel, *relend;
- Elf_Internal_Shdr *symtab_hdr;
- struct elf_link_hash_entry **sym_hashes;
- size_t nlocsyms;
- size_t extsymoff;
- bfd *input_bfd = sec->owner;
- const struct elf_backend_data *bed = get_elf_backend_data (input_bfd);
- Elf_Internal_Sym *isym = NULL;
-
- symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (input_bfd);
-
- /* Read the local symbols. */
- if (elf_bad_symtab (input_bfd))
- {
- nlocsyms = symtab_hdr->sh_size / sizeof (Elf_External_Sym);
- extsymoff = 0;
- }
- else
- extsymoff = nlocsyms = symtab_hdr->sh_info;
-
- isym = (Elf_Internal_Sym *) symtab_hdr->contents;
- if (isym == NULL && nlocsyms != 0)
- {
- isym = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, nlocsyms, 0,
- NULL, NULL, NULL);
- if (isym == NULL)
- return FALSE;
- }
-
- /* Read the relocations. */
- relstart = _bfd_elf_link_read_relocs (input_bfd, sec, NULL, NULL,
- info->keep_memory);
- if (relstart == NULL)
- {
- ret = FALSE;
- goto out1;
- }
- relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel;
-
- for (rel = relstart; rel < relend; rel++)
- {
- unsigned long r_symndx;
- asection *rsec;
- struct elf_link_hash_entry *h;
-
- r_symndx = ELF_R_SYM (rel->r_info);
- if (r_symndx == 0)
- continue;
-
- if (r_symndx >= nlocsyms
- || ELF_ST_BIND (isym[r_symndx].st_info) != STB_LOCAL)
- {
- h = sym_hashes[r_symndx - extsymoff];
- rsec = (*gc_mark_hook) (sec, info, rel, h, NULL);
- }
- else
- {
- rsec = (*gc_mark_hook) (sec, info, rel, NULL, &isym[r_symndx]);
- }
-
- if (rsec && !rsec->gc_mark)
- {
- if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour)
- rsec->gc_mark = 1;
- else if (!elf_gc_mark (info, rsec, gc_mark_hook))
- {
- ret = FALSE;
- goto out2;
- }
- }
- }
-
- out2:
- if (elf_section_data (sec)->relocs != relstart)
- free (relstart);
- out1:
- if (isym != NULL && symtab_hdr->contents != (unsigned char *) isym)
- {
- if (! info->keep_memory)
- free (isym);
- else
- symtab_hdr->contents = (unsigned char *) isym;
- }
- }
-
- return ret;
-}
-
-/* The sweep phase of garbage collection. Remove all garbage sections. */
-
-typedef bfd_boolean (*gc_sweep_hook_fn)
- (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
-
-static bfd_boolean
-elf_gc_sweep (struct bfd_link_info *info, gc_sweep_hook_fn gc_sweep_hook)
-{
- bfd *sub;
-
- for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
- {
- asection *o;
-
- if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
- continue;
-
- for (o = sub->sections; o != NULL; o = o->next)
- {
- /* Keep special sections. Keep .debug sections. */
- if ((o->flags & SEC_LINKER_CREATED)
- || (o->flags & SEC_DEBUGGING))
- o->gc_mark = 1;
-
- if (o->gc_mark)
- continue;
-
- /* Skip sweeping sections already excluded. */
- if (o->flags & SEC_EXCLUDE)
- continue;
-
- /* Since this is early in the link process, it is simple
- to remove a section from the output. */
- o->flags |= SEC_EXCLUDE;
-
- /* But we also have to update some of the relocation
- info we collected before. */
- if (gc_sweep_hook
- && (o->flags & SEC_RELOC) && o->reloc_count > 0)
- {
- Elf_Internal_Rela *internal_relocs;
- bfd_boolean r;
-
- internal_relocs
- = _bfd_elf_link_read_relocs (o->owner, o, NULL, NULL,
- info->keep_memory);
- if (internal_relocs == NULL)
- return FALSE;
-
- r = (*gc_sweep_hook) (o->owner, info, o, internal_relocs);
-
- if (elf_section_data (o)->relocs != internal_relocs)
- free (internal_relocs);
-
- if (!r)
- return FALSE;
- }
- }
- }
-
- /* Remove the symbols that were in the swept sections from the dynamic
- symbol table. GCFIXME: Anyone know how to get them out of the
- static symbol table as well? */
- {
- int i = 0;
-
- elf_link_hash_traverse (elf_hash_table (info), elf_gc_sweep_symbol, &i);
-
- elf_hash_table (info)->dynsymcount = i;
- }
-
- return TRUE;
-}
-
-/* Sweep symbols in swept sections. Called via elf_link_hash_traverse. */
-
-static bfd_boolean
-elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *idxptr)
-{
- int *idx = idxptr;
-
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- if (h->dynindx != -1
- && ((h->root.type != bfd_link_hash_defined
- && h->root.type != bfd_link_hash_defweak)
- || h->root.u.def.section->gc_mark))
- h->dynindx = (*idx)++;
-
- return TRUE;
-}
-
-/* Propagate collected vtable information. This is called through
- elf_link_hash_traverse. */
-
-static bfd_boolean
-elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp)
-{
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- /* Those that are not vtables. */
- if (h->vtable_parent == NULL)
- return TRUE;
-
- /* Those vtables that do not have parents, we cannot merge. */
- if (h->vtable_parent == (struct elf_link_hash_entry *) -1)
- return TRUE;
-
- /* If we've already been done, exit. */
- if (h->vtable_entries_used && h->vtable_entries_used[-1])
- return TRUE;
-
- /* Make sure the parent's table is up to date. */
- elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp);
-
- if (h->vtable_entries_used == NULL)
- {
- /* None of this table's entries were referenced. Re-use the
- parent's table. */
- h->vtable_entries_used = h->vtable_parent->vtable_entries_used;
- h->vtable_entries_size = h->vtable_parent->vtable_entries_size;
- }
- else
- {
- size_t n;
- bfd_boolean *cu, *pu;
-
- /* Or the parent's entries into ours. */
- cu = h->vtable_entries_used;
- cu[-1] = TRUE;
- pu = h->vtable_parent->vtable_entries_used;
- if (pu != NULL)
- {
- const struct elf_backend_data *bed;
- unsigned int log_file_align;
-
- bed = get_elf_backend_data (h->root.u.def.section->owner);
- log_file_align = bed->s->log_file_align;
- n = h->vtable_parent->vtable_entries_size >> log_file_align;
- while (n--)
- {
- if (*pu)
- *cu = TRUE;
- pu++;
- cu++;
- }
- }
- }
-
- return TRUE;
-}
-
-static bfd_boolean
-elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
-{
- asection *sec;
- bfd_vma hstart, hend;
- Elf_Internal_Rela *relstart, *relend, *rel;
- const struct elf_backend_data *bed;
- unsigned int log_file_align;
-
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- /* Take care of both those symbols that do not describe vtables as
- well as those that are not loaded. */
- if (h->vtable_parent == NULL)
- return TRUE;
-
- BFD_ASSERT (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak);
-
- sec = h->root.u.def.section;
- hstart = h->root.u.def.value;
- hend = hstart + h->size;
-
- relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE);
- if (!relstart)
- return *(bfd_boolean *) okp = FALSE;
- bed = get_elf_backend_data (sec->owner);
- log_file_align = bed->s->log_file_align;
-
- relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel;
-
- for (rel = relstart; rel < relend; ++rel)
- if (rel->r_offset >= hstart && rel->r_offset < hend)
- {
- /* If the entry is in use, do nothing. */
- if (h->vtable_entries_used
- && (rel->r_offset - hstart) < h->vtable_entries_size)
- {
- bfd_vma entry = (rel->r_offset - hstart) >> log_file_align;
- if (h->vtable_entries_used[entry])
- continue;
- }
- /* Otherwise, kill it. */
- rel->r_offset = rel->r_info = rel->r_addend = 0;
- }
-
- return TRUE;
-}
-
-/* Do mark and sweep of unused sections. */
-
-bfd_boolean
-elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
-{
- bfd_boolean ok = TRUE;
- bfd *sub;
- asection * (*gc_mark_hook)
- (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
- struct elf_link_hash_entry *h, Elf_Internal_Sym *);
-
- if (!get_elf_backend_data (abfd)->can_gc_sections
- || info->relocatable
- || info->emitrelocations
- || !is_elf_hash_table (info->hash)
- || elf_hash_table (info)->dynamic_sections_created)
- {
- (*_bfd_error_handler)(_("Warning: gc-sections option ignored"));
- return TRUE;
- }
-
- /* Apply transitive closure to the vtable entry usage info. */
- elf_link_hash_traverse (elf_hash_table (info),
- elf_gc_propagate_vtable_entries_used,
- &ok);
- if (!ok)
- return FALSE;
-
- /* Kill the vtable relocations that were not used. */
- elf_link_hash_traverse (elf_hash_table (info),
- elf_gc_smash_unused_vtentry_relocs,
- &ok);
- if (!ok)
- return FALSE;
-
- /* Grovel through relocs to find out who stays ... */
-
- gc_mark_hook = get_elf_backend_data (abfd)->gc_mark_hook;
- for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
- {
- asection *o;
-
- if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
- continue;
-
- for (o = sub->sections; o != NULL; o = o->next)
- {
- if (o->flags & SEC_KEEP)
- if (!elf_gc_mark (info, o, gc_mark_hook))
- return FALSE;
- }
- }
-
- /* ... and mark SEC_EXCLUDE for those that go. */
- if (!elf_gc_sweep (info, get_elf_backend_data (abfd)->gc_sweep_hook))
- return FALSE;
-
- return TRUE;
-}
-
-/* Called from check_relocs to record the existence of a VTINHERIT reloc. */
-
-bfd_boolean
-elf_gc_record_vtinherit (bfd *abfd,
- asection *sec,
- struct elf_link_hash_entry *h,
- bfd_vma offset)
-{
- struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
- struct elf_link_hash_entry **search, *child;
- bfd_size_type extsymcount;
-
- /* The sh_info field of the symtab header tells us where the
- external symbols start. We don't care about the local symbols at
- this point. */
- extsymcount = elf_tdata (abfd)->symtab_hdr.sh_size/sizeof (Elf_External_Sym);
- if (!elf_bad_symtab (abfd))
- extsymcount -= elf_tdata (abfd)->symtab_hdr.sh_info;
-
- sym_hashes = elf_sym_hashes (abfd);
- sym_hashes_end = sym_hashes + extsymcount;
-
- /* Hunt down the child symbol, which is in this section at the same
- offset as the relocation. */
- for (search = sym_hashes; search != sym_hashes_end; ++search)
- {
- if ((child = *search) != NULL
- && (child->root.type == bfd_link_hash_defined
- || child->root.type == bfd_link_hash_defweak)
- && child->root.u.def.section == sec
- && child->root.u.def.value == offset)
- goto win;
- }
-
- (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT",
- bfd_archive_filename (abfd), sec->name,
- (unsigned long) offset);
- bfd_set_error (bfd_error_invalid_operation);
- return FALSE;
-
- win:
- if (!h)
- {
- /* This *should* only be the absolute section. It could potentially
- be that someone has defined a non-global vtable though, which
- would be bad. It isn't worth paging in the local symbols to be
- sure though; that case should simply be handled by the assembler. */
-
- child->vtable_parent = (struct elf_link_hash_entry *) -1;
- }
- else
- child->vtable_parent = h;
-
- return TRUE;
-}
-
-/* Called from check_relocs to record the existence of a VTENTRY reloc. */
-
-bfd_boolean
-elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED,
- asection *sec ATTRIBUTE_UNUSED,
- struct elf_link_hash_entry *h,
- bfd_vma addend)
-{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- unsigned int log_file_align = bed->s->log_file_align;
-
- if (addend >= h->vtable_entries_size)
- {
- size_t size, bytes, file_align;
- bfd_boolean *ptr = h->vtable_entries_used;
-
- /* While the symbol is undefined, we have to be prepared to handle
- a zero size. */
- file_align = 1 << log_file_align;
- if (h->root.type == bfd_link_hash_undefined)
- size = addend + file_align;
- else
- {
- size = h->size;
- if (addend >= size)
- {
- /* Oops! We've got a reference past the defined end of
- the table. This is probably a bug -- shall we warn? */
- size = addend + file_align;
- }
- }
- size = (size + file_align - 1) & -file_align;
-
- /* Allocate one extra entry for use as a "done" flag for the
- consolidation pass. */
- bytes = ((size >> log_file_align) + 1) * sizeof (bfd_boolean);
-
- if (ptr)
- {
- ptr = bfd_realloc (ptr - 1, bytes);
-
- if (ptr != NULL)
- {
- size_t oldbytes;
-
- oldbytes = (((h->vtable_entries_size >> log_file_align) + 1)
- * sizeof (bfd_boolean));
- memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes);
- }
- }
- else
- ptr = bfd_zmalloc (bytes);
-
- if (ptr == NULL)
- return FALSE;
-
- /* And arrange for that done flag to be at index -1. */
- h->vtable_entries_used = ptr + 1;
- h->vtable_entries_size = size;
- }
-
- h->vtable_entries_used[addend >> log_file_align] = TRUE;
-
- return TRUE;
-}
-
-/* And an accompanying bit to work out final got entry offsets once
- we're done. Should be called from final_link. */
-
-bfd_boolean
-elf_gc_common_finalize_got_offsets (bfd *abfd,
- struct bfd_link_info *info)
-{
- bfd *i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- bfd_vma gotoff;
-
- if (! is_elf_hash_table (info->hash))
- return FALSE;
-
- /* The GOT offset is relative to the .got section, but the GOT header is
- put into the .got.plt section, if the backend uses it. */
- if (bed->want_got_plt)
- gotoff = 0;
- else
- gotoff = bed->got_header_size;
-
- /* Do the local .got entries first. */
- for (i = info->input_bfds; i; i = i->link_next)
- {
- bfd_signed_vma *local_got;
- bfd_size_type j, locsymcount;
- Elf_Internal_Shdr *symtab_hdr;
-
- if (bfd_get_flavour (i) != bfd_target_elf_flavour)
- continue;
-
- local_got = elf_local_got_refcounts (i);
- if (!local_got)
- continue;
-
- symtab_hdr = &elf_tdata (i)->symtab_hdr;
- if (elf_bad_symtab (i))
- locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym);
- else
- locsymcount = symtab_hdr->sh_info;
-
- for (j = 0; j < locsymcount; ++j)
- {
- if (local_got[j] > 0)
- {
- local_got[j] = gotoff;
- gotoff += ARCH_SIZE / 8;
- }
- else
- local_got[j] = (bfd_vma) -1;
- }
- }
-
- /* Then the global .got entries. .plt refcounts are handled by
- adjust_dynamic_symbol */
- elf_link_hash_traverse (elf_hash_table (info),
- elf_gc_allocate_got_offsets,
- &gotoff);
- return TRUE;
-}
-
-/* We need a special top-level link routine to convert got reference counts
- to real got offsets. */
-
-static bfd_boolean
-elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *offarg)
-{
- bfd_vma *off = offarg;
-
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- if (h->got.refcount > 0)
- {
- h->got.offset = off[0];
- off[0] += ARCH_SIZE / 8;
- }
- else
- h->got.offset = (bfd_vma) -1;
-
- return TRUE;
-}
-
-/* Many folk need no more in the way of final link than this, once
- got entry reference counting is enabled. */
-
-bfd_boolean
-elf_gc_common_final_link (bfd *abfd, struct bfd_link_info *info)
-{
- if (!elf_gc_common_finalize_got_offsets (abfd, info))
- return FALSE;
-
- /* Invoke the regular ELF backend linker to do all the work. */
- return elf_bfd_final_link (abfd, info);
-}
-
-/* This function will be called though elf_link_hash_traverse to store
- all hash value of the exported symbols in an array. */
-
-static bfd_boolean
-elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data)
-{
- unsigned long **valuep = data;
- const char *name;
- char *p;
- unsigned long ha;
- char *alc = NULL;
-
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- /* Ignore indirect symbols. These are added by the versioning code. */
- if (h->dynindx == -1)
- return TRUE;
-
- name = h->root.root.string;
- p = strchr (name, ELF_VER_CHR);
- if (p != NULL)
- {
- alc = bfd_malloc (p - name + 1);
- memcpy (alc, name, p - name);
- alc[p - name] = '\0';
- name = alc;
- }
-
- /* Compute the hash value. */
- ha = bfd_elf_hash (name);
-
- /* Store the found hash value in the array given as the argument. */
- *(*valuep)++ = ha;
-
- /* And store it in the struct so that we can put it in the hash table
- later. */
- h->elf_hash_value = ha;
-
- if (alc != NULL)
- free (alc);
-
- return TRUE;
-}
-
-bfd_boolean
-elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie)
-{
- struct elf_reloc_cookie *rcookie = cookie;
-
- if (rcookie->bad_symtab)
- rcookie->rel = rcookie->rels;
-
- for (; rcookie->rel < rcookie->relend; rcookie->rel++)
- {
- unsigned long r_symndx;
-
- if (! rcookie->bad_symtab)
- if (rcookie->rel->r_offset > offset)
- return FALSE;
- if (rcookie->rel->r_offset != offset)
- continue;
-
- r_symndx = ELF_R_SYM (rcookie->rel->r_info);
- if (r_symndx == SHN_UNDEF)
- return TRUE;
-
- if (r_symndx >= rcookie->locsymcount
- || ELF_ST_BIND (rcookie->locsyms[r_symndx].st_info) != STB_LOCAL)
- {
- struct elf_link_hash_entry *h;
-
- h = rcookie->sym_hashes[r_symndx - rcookie->extsymoff];
-
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
- if ((h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- && elf_discarded_section (h->root.u.def.section))
- return TRUE;
- else
- return FALSE;
- }
- else
- {
- /* It's not a relocation against a global symbol,
- but it could be a relocation against a local
- symbol for a discarded section. */
- asection *isec;
- Elf_Internal_Sym *isym;
-
- /* Need to: get the symbol; get the section. */
- isym = &rcookie->locsyms[r_symndx];
- if (isym->st_shndx < SHN_LORESERVE || isym->st_shndx > SHN_HIRESERVE)
- {
- isec = section_from_elf_index (rcookie->abfd, isym->st_shndx);
- if (isec != NULL && elf_discarded_section (isec))
- return TRUE;
- }
- }
- return FALSE;
- }
- return FALSE;
-}
-
-/* Discard unneeded references to discarded sections.
- Returns TRUE if any section's size was changed. */
-/* This function assumes that the relocations are in sorted order,
- which is true for all known assemblers. */
-
-bfd_boolean
-elf_bfd_discard_info (bfd *output_bfd, struct bfd_link_info *info)
-{
- struct elf_reloc_cookie cookie;
- asection *stab, *eh;
- Elf_Internal_Shdr *symtab_hdr;
- const struct elf_backend_data *bed;
- bfd *abfd;
- unsigned int count;
- bfd_boolean ret = FALSE;
-
- if (info->traditional_format
- || !is_elf_hash_table (info->hash))
- return FALSE;
-
- for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
- continue;
-
- bed = get_elf_backend_data (abfd);
-
- if ((abfd->flags & DYNAMIC) != 0)
- continue;
-
- eh = bfd_get_section_by_name (abfd, ".eh_frame");
- if (info->relocatable
- || (eh != NULL
- && (eh->_raw_size == 0
- || bfd_is_abs_section (eh->output_section))))
- eh = NULL;
-
- stab = bfd_get_section_by_name (abfd, ".stab");
- if (stab != NULL
- && (stab->_raw_size == 0
- || bfd_is_abs_section (stab->output_section)
- || stab->sec_info_type != ELF_INFO_TYPE_STABS))
- stab = NULL;
-
- if (stab == NULL
- && eh == NULL
- && bed->elf_backend_discard_info == NULL)
- continue;
-
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- cookie.abfd = abfd;
- cookie.sym_hashes = elf_sym_hashes (abfd);
- cookie.bad_symtab = elf_bad_symtab (abfd);
- if (cookie.bad_symtab)
- {
- cookie.locsymcount = symtab_hdr->sh_size / sizeof (Elf_External_Sym);
- cookie.extsymoff = 0;
- }
- else
- {
- cookie.locsymcount = symtab_hdr->sh_info;
- cookie.extsymoff = symtab_hdr->sh_info;
- }
-
- cookie.locsyms = (Elf_Internal_Sym *) symtab_hdr->contents;
- if (cookie.locsyms == NULL && cookie.locsymcount != 0)
- {
- cookie.locsyms = bfd_elf_get_elf_syms (abfd, symtab_hdr,
- cookie.locsymcount, 0,
- NULL, NULL, NULL);
- if (cookie.locsyms == NULL)
- return FALSE;
- }
-
- if (stab != NULL)
- {
- cookie.rels = NULL;
- count = stab->reloc_count;
- if (count != 0)
- cookie.rels = _bfd_elf_link_read_relocs (abfd, stab, NULL, NULL,
- info->keep_memory);
- if (cookie.rels != NULL)
- {
- cookie.rel = cookie.rels;
- cookie.relend = cookie.rels;
- cookie.relend += count * bed->s->int_rels_per_ext_rel;
- if (_bfd_discard_section_stabs (abfd, stab,
- elf_section_data (stab)->sec_info,
- elf_reloc_symbol_deleted_p,
- &cookie))
- ret = TRUE;
- if (elf_section_data (stab)->relocs != cookie.rels)
- free (cookie.rels);
- }
- }
-
- if (eh != NULL)
- {
- cookie.rels = NULL;
- count = eh->reloc_count;
- if (count != 0)
- cookie.rels = _bfd_elf_link_read_relocs (abfd, eh, NULL, NULL,
- info->keep_memory);
- cookie.rel = cookie.rels;
- cookie.relend = cookie.rels;
- if (cookie.rels != NULL)
- cookie.relend += count * bed->s->int_rels_per_ext_rel;
-
- if (_bfd_elf_discard_section_eh_frame (abfd, info, eh,
- elf_reloc_symbol_deleted_p,
- &cookie))
- ret = TRUE;
-
- if (cookie.rels != NULL
- && elf_section_data (eh)->relocs != cookie.rels)
- free (cookie.rels);
- }
-
- if (bed->elf_backend_discard_info != NULL
- && (*bed->elf_backend_discard_info) (abfd, &cookie, info))
- ret = TRUE;
-
- if (cookie.locsyms != NULL
- && symtab_hdr->contents != (unsigned char *) cookie.locsyms)
- {
- if (! info->keep_memory)
- free (cookie.locsyms);
- else
- symtab_hdr->contents = (unsigned char *) cookie.locsyms;
- }
- }
-
- if (info->eh_frame_hdr
- && !info->relocatable
- && _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info))
- ret = TRUE;
-
- return ret;
-}
-
-static bfd_boolean
-elf_section_ignore_discarded_relocs (asection *sec)
-{
- const struct elf_backend_data *bed;
-
- switch (sec->sec_info_type)
- {
- case ELF_INFO_TYPE_STABS:
- case ELF_INFO_TYPE_EH_FRAME:
- return TRUE;
- default:
- break;
- }
-
- bed = get_elf_backend_data (sec->owner);
- if (bed->elf_backend_ignore_discarded_relocs != NULL
- && (*bed->elf_backend_ignore_discarded_relocs) (sec))
- return TRUE;
-
- return FALSE;
-}
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index 2996485..20d9083 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -1,5 +1,6 @@
/* IA-64 support for 64-bit ELF
- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
This file is part of BFD, the Binary File Descriptor library.
@@ -92,6 +93,9 @@ struct elfNN_ia64_dyn_sym_info
asection *srel;
int type;
int count;
+
+ /* Is this reloc against readonly section? */
+ bfd_boolean reltext;
} *reloc_entries;
/* TRUE when the section contents have been updated. */
@@ -182,13 +186,13 @@ static bfd_boolean is_unwind_section_name
static bfd_boolean elfNN_ia64_section_from_shdr
PARAMS ((bfd *, Elf_Internal_Shdr *, const char *));
static bfd_boolean elfNN_ia64_section_flags
- PARAMS ((flagword *, Elf_Internal_Shdr *));
+ PARAMS ((flagword *, const Elf_Internal_Shdr *));
static bfd_boolean elfNN_ia64_fake_sections
PARAMS ((bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec));
static void elfNN_ia64_final_write_processing
PARAMS ((bfd *abfd, bfd_boolean linker));
static bfd_boolean elfNN_ia64_add_symbol_hook
- PARAMS ((bfd *abfd, struct bfd_link_info *info, const Elf_Internal_Sym *sym,
+ PARAMS ((bfd *abfd, struct bfd_link_info *info, Elf_Internal_Sym *sym,
const char **namep, flagword *flagsp, asection **secp,
bfd_vma *valp));
static int elfNN_ia64_additional_program_headers
@@ -243,9 +247,6 @@ static asection *get_pltoff
static asection *get_reloc_section
PARAMS ((bfd *abfd, struct elfNN_ia64_link_hash_table *ia64_info,
asection *sec, bfd_boolean create));
-static bfd_boolean count_dyn_reloc
- PARAMS ((bfd *abfd, struct elfNN_ia64_dyn_sym_info *dyn_i,
- asection *srel, int type));
static bfd_boolean elfNN_ia64_check_relocs
PARAMS ((bfd *abfd, struct bfd_link_info *info, asection *sec,
const Elf_Internal_Rela *relocs));
@@ -1270,7 +1271,7 @@ elfNN_ia64_section_from_shdr (abfd, hdr, name)
static bfd_boolean
elfNN_ia64_section_flags (flags, hdr)
flagword *flags;
- Elf_Internal_Shdr *hdr;
+ const Elf_Internal_Shdr *hdr;
{
if (hdr->sh_flags & SHF_IA_64_SHORT)
*flags |= SEC_SMALL_DATA;
@@ -1429,7 +1430,7 @@ static bfd_boolean
elfNN_ia64_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
bfd *abfd;
struct bfd_link_info *info;
- const Elf_Internal_Sym *sym;
+ Elf_Internal_Sym *sym;
const char **namep ATTRIBUTE_UNUSED;
flagword *flagsp ATTRIBUTE_UNUSED;
asection **secp;
@@ -2175,18 +2176,12 @@ get_reloc_section (abfd, ia64_info, sec, create)
return NULL;
}
- if (sec->flags & SEC_READONLY)
- ia64_info->reltext = 1;
-
return srel;
}
static bfd_boolean
-count_dyn_reloc (abfd, dyn_i, srel, type)
- bfd *abfd;
- struct elfNN_ia64_dyn_sym_info *dyn_i;
- asection *srel;
- int type;
+count_dyn_reloc (bfd *abfd, struct elfNN_ia64_dyn_sym_info *dyn_i,
+ asection *srel, int type, bfd_boolean reltext)
{
struct elfNN_ia64_dyn_reloc_entry *rent;
@@ -2207,6 +2202,7 @@ count_dyn_reloc (abfd, dyn_i, srel, type)
rent->count = 0;
dyn_i->reloc_entries = rent;
}
+ rent->reltext = reltext;
rent->count++;
return TRUE;
@@ -2463,7 +2459,7 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs)
dynamic symbol table. */
if (!h && info->shared)
{
- if (! (_bfd_elfNN_link_record_local_dynamic_symbol
+ if (! (bfd_elf_link_record_local_dynamic_symbol
(info, abfd, (long) r_symndx)))
return FALSE;
}
@@ -2491,7 +2487,8 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs)
if (!srel)
return FALSE;
}
- if (!count_dyn_reloc (abfd, dyn_i, srel, dynrel_type))
+ if (!count_dyn_reloc (abfd, dyn_i, srel, dynrel_type,
+ (sec->flags & SEC_READONLY) != 0))
return FALSE;
}
}
@@ -2634,7 +2631,7 @@ allocate_fptr (dyn_i, data)
BFD_ASSERT ((h->root.type == bfd_link_hash_defined)
|| (h->root.type == bfd_link_hash_defweak));
- if (!_bfd_elfNN_link_record_local_dynamic_symbol
+ if (!bfd_elf_link_record_local_dynamic_symbol
(x->info, h->root.u.def.section->owner,
global_sym_index (h)))
return FALSE;
@@ -2798,6 +2795,8 @@ allocate_dynrel_entries (dyn_i, data)
default:
abort ();
}
+ if (rent->reltext)
+ ia64_info->reltext = 1;
rent->srel->_raw_size += sizeof (ElfNN_External_Rela) * count;
}
@@ -2942,8 +2941,12 @@ elfNN_ia64_size_dynamic_sections (output_bfd, info)
data.ofs = (data.ofs + 31) & (bfd_vma) -32;
elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_plt2_entries, &data);
- if (data.ofs != 0)
+ if (data.ofs != 0 || ia64_info->root.dynamic_sections_created)
{
+ /* FIXME: we always reserve the memory for dynamic linker even if
+ there are no PLT entries since dynamic linker may assume the
+ reserved memory always exists. */
+
BFD_ASSERT (ia64_info->root.dynamic_sections_created);
ia64_info->plt_sec->_raw_size = data.ofs;
@@ -3084,7 +3087,7 @@ elfNN_ia64_size_dynamic_sections (output_bfd, info)
/* The DT_DEBUG entry is filled in by the dynamic linker and used
by the debugger. */
#define add_dynamic_entry(TAG, VAL) \
- bfd_elfNN_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
if (!add_dynamic_entry (DT_DEBUG, 0))
return FALSE;
@@ -3839,7 +3842,7 @@ elfNN_ia64_final_link (abfd, info)
}
/* Invoke the regular ELF backend linker to do all the work. */
- if (!bfd_elfNN_bfd_final_link (abfd, info))
+ if (!bfd_elf_final_link (abfd, info))
return FALSE;
if (unwind_output_sec)
@@ -3976,12 +3979,12 @@ elfNN_ia64_relocate_section (output_bfd, info, input_bfd, input_section,
{
bfd_boolean unresolved_reloc;
bfd_boolean warned;
+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
- RELOC_FOR_GLOBAL_SYMBOL (h, elf_sym_hashes (input_bfd),
- r_symndx,
- symtab_hdr, value, sym_sec,
- unresolved_reloc, info,
- warned);
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sym_sec, value,
+ unresolved_reloc, warned);
if (h->root.type == bfd_link_hash_undefweak)
undef_weak_ref = TRUE;
@@ -4597,7 +4600,7 @@ elfNN_ia64_finish_dynamic_symbol (output_bfd, info, h, sym)
/* Mark the symbol as undefined, rather than as defined in the
plt section. Leave the value alone. */
/* ??? We didn't redefine it in adjust_dynamic_symbol in the
- first place. But perhaps elflink.h did some for us. */
+ first place. But perhaps elflink.c did some for us. */
if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
sym->st_shndx = SHN_UNDEF;
}
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index f072f26..e5226d9 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -1,6 +1,6 @@
/* MIPS-specific support for ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
Most of the information added by Ian Lance Taylor, Cygnus Support,
<ian@cygnus.com>.
@@ -400,8 +400,6 @@ static asection *mips_elf_got_section
(bfd *, bfd_boolean);
static struct mips_got_info *mips_elf_got_info
(bfd *, asection **);
-static long mips_elf_get_global_gotsym_index
- (bfd *abfd);
static bfd_vma mips_elf_local_got_index
(bfd *, bfd *, struct bfd_link_info *, bfd_vma);
static bfd_vma mips_elf_global_got_index
@@ -530,8 +528,7 @@ static bfd *reldyn_sorting_bfd;
(NEWABI_P (abfd) ? ".MIPS.options" : ".options")
/* The name of the stub section. */
-#define MIPS_ELF_STUB_SECTION_NAME(abfd) \
- (NEWABI_P (abfd) ? ".MIPS.stubs" : ".stub")
+#define MIPS_ELF_STUB_SECTION_NAME(abfd) ".MIPS.stubs"
/* The size of an external REL relocation. */
#define MIPS_ELF_REL_SIZE(abfd) \
@@ -564,17 +561,8 @@ static bfd *reldyn_sorting_bfd;
: bfd_put_32 (abfd, val, ptr))
/* Add a dynamic symbol table-entry. */
-#ifdef BFD64
-#define MIPS_ELF_ADD_DYNAMIC_ENTRY(info, tag, val) \
- (ABI_64_P (elf_hash_table (info)->dynobj) \
- ? bfd_elf64_add_dynamic_entry (info, tag, val) \
- : bfd_elf32_add_dynamic_entry (info, tag, val))
-#else
#define MIPS_ELF_ADD_DYNAMIC_ENTRY(info, tag, val) \
- (ABI_64_P (elf_hash_table (info)->dynobj) \
- ? (abort (), FALSE) \
- : bfd_elf32_add_dynamic_entry (info, tag, val))
-#endif
+ _bfd_elf_add_dynamic_entry (info, tag, val)
#define MIPS_ELF_RTYPE_TO_HOWTO(abfd, rtype, rela) \
(get_elf_backend_data (abfd)->elf_backend_mips_rtype_to_howto (rtype, rela))
@@ -821,7 +809,6 @@ _bfd_mips_elf_read_ecoff_info (bfd *abfd, asection *section,
#undef READ
debug->fdr = NULL;
- debug->adjust = NULL;
return TRUE;
@@ -1233,13 +1220,6 @@ _bfd_mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
carry or borrow will induce a change of +1 or -1 in the high part. */
hi->rel.addend += (vallo + 0x8000) & 0xffff;
- /* R_MIPS_GNU_REL_HI16 relocations are relative to the address of the
- lo16 relocation, not their own address. If we're calculating the
- final value, and hence subtracting the "PC", subtract the offset
- of the lo16 relocation from here. */
- if (output_bfd == NULL && hi->rel.howto->type == R_MIPS_GNU_REL_HI16)
- hi->rel.addend -= reloc_entry->address - hi->rel.address;
-
ret = _bfd_mips_elf_generic_reloc (abfd, &hi->rel, symbol, hi->data,
hi->input_section, output_bfd,
error_message);
@@ -1825,28 +1805,6 @@ mips_elf_got_info (bfd *abfd, asection **sgotp)
return g;
}
-/* Obtain the lowest dynamic index of a symbol that was assigned a
- global GOT entry. */
-static long
-mips_elf_get_global_gotsym_index (bfd *abfd)
-{
- asection *sgot;
- struct mips_got_info *g;
-
- if (abfd == NULL)
- return 0;
-
- sgot = mips_elf_got_section (abfd, TRUE);
- if (sgot == NULL || mips_elf_section_data (sgot) == NULL)
- return 0;
-
- g = mips_elf_section_data (sgot)->u.got_info;
- if (g == NULL || g->global_gotsym == NULL)
- return 0;
-
- return g->global_gotsym->dynindx;
-}
-
/* Returns the GOT offset at which the indicated address can be found.
If there is not yet a GOT entry for this value, create one. Returns
-1 if no satisfactory GOT offset can be found. */
@@ -2153,7 +2111,7 @@ mips_elf_record_global_got_symbol (struct elf_link_hash_entry *h,
_bfd_mips_elf_hide_symbol (info, h, TRUE);
break;
}
- if (!bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (!bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -2763,12 +2721,6 @@ mips_elf_next_relocation (bfd *abfd ATTRIBUTE_UNUSED, unsigned int r_type,
const Elf_Internal_Rela *relocation,
const Elf_Internal_Rela *relend)
{
- /* According to the MIPS ELF ABI, the R_MIPS_LO16 relocation must be
- immediately following. However, for the IRIX6 ABI, the next
- relocation may be a composed relocation consisting of several
- relocations for the same address. In that case, the R_MIPS_LO16
- relocation may occur as one of these. We permit a similar
- extension in general, as that is useful for GCC. */
while (relocation < relend)
{
if (ELF_R_TYPE (abfd, relocation->r_info) == r_type)
@@ -2965,7 +2917,7 @@ mips_elf_create_got_section (bfd *abfd, struct bfd_link_info *info,
h->type = STT_OBJECT;
if (info->shared
- && ! bfd_elf32_link_record_dynamic_symbol (info, h))
+ && ! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
amt = sizeof (struct mips_got_info);
@@ -3156,8 +3108,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
and check to see if they exist by looking at their
addresses. */
symbol = 0;
- else if (info->shared
- && info->unresolved_syms_in_objects == RM_IGNORE
+ else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT)
symbol = 0;
else if (strcmp (*namep, "_DYNAMIC_LINK") == 0 ||
@@ -3178,9 +3129,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, relocation->r_offset,
- ((info->shared && info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)
- || (!info->shared && info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
- || ELF_ST_VISIBILITY (h->root.other)))))
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
+ || ELF_ST_VISIBILITY (h->root.other))))
return bfd_reloc_undefined;
symbol = 0;
}
@@ -3385,29 +3335,12 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
value &= howto->dst_mask;
break;
- case R_MIPS_PC32:
- case R_MIPS_PC64:
- case R_MIPS_GNU_REL_LO16:
- value = symbol + addend - p;
- value &= howto->dst_mask;
- break;
-
case R_MIPS_GNU_REL16_S2:
value = symbol + _bfd_mips_elf_sign_extend (addend, 18) - p;
overflowed_p = mips_elf_overflow_p (value, 18);
value = (value >> 2) & howto->dst_mask;
break;
- case R_MIPS_GNU_REL_HI16:
- /* Instead of subtracting 'p' here, we should be subtracting the
- equivalent value for the LO part of the reloc, since the value
- here is relative to that address. Because that's not easy to do,
- we adjust 'addend' in _bfd_mips_elf_relocate_section(). See also
- the comment there for more information. */
- value = mips_elf_high (addend + symbol - p);
- value &= howto->dst_mask;
- break;
-
case R_MIPS16_26:
/* The calculation for R_MIPS16_26 is just the same as for an
R_MIPS_26. It's only the storage of the relocated field into
@@ -4726,7 +4659,7 @@ _bfd_mips_elf_section_from_bfd_section (bfd *abfd ATTRIBUTE_UNUSED,
bfd_boolean
_bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
- const Elf_Internal_Sym *sym, const char **namep,
+ Elf_Internal_Sym *sym, const char **namep,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp, bfd_vma *valp)
{
@@ -4859,7 +4792,7 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
h->type = STT_OBJECT;
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
mips_elf_hash_table (info)->use_rld_obj_head = TRUE;
@@ -4891,9 +4824,8 @@ _bfd_mips_elf_link_output_symbol_hook
&& strcmp (input_sec->name, ".scommon") == 0)
sym->st_shndx = SHN_MIPS_SCOMMON;
- if (sym->st_other == STO_MIPS16
- && (sym->st_value & 1) != 0)
- --sym->st_value;
+ if (sym->st_other == STO_MIPS16)
+ sym->st_value &= ~1;
return TRUE;
}
@@ -4972,7 +4904,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
h->type = STT_SECTION;
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
@@ -5017,7 +4949,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
h->type = STT_SECTION;
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
if (! mips_elf_hash_table (info)->use_rld_obj_head)
@@ -5041,7 +4973,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
h->type = STT_OBJECT;
- if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
return FALSE;
}
}
@@ -5360,7 +5292,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* We need a stub, not a plt entry for the undefined
function. But we record it as if it needs plt. See
- elf_adjust_dynamic_symbol in elflink.h. */
+ _bfd_elf_adjust_dynamic_symbol. */
h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
h->type = STT_FUNC;
}
@@ -5472,14 +5404,14 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_MIPS_GNU_VTINHERIT:
- if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_MIPS_GNU_VTENTRY:
- if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
@@ -6267,7 +6199,6 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
combination of the addend stored in two different
relocations. */
if (r_type == R_MIPS_HI16
- || r_type == R_MIPS_GNU_REL_HI16
|| (r_type == R_MIPS_GOT16
&& mips_elf_local_relocation_p (input_bfd, rel,
local_sections, FALSE)))
@@ -6275,7 +6206,6 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
bfd_vma l;
const Elf_Internal_Rela *lo16_relocation;
reloc_howto_type *lo16_howto;
- unsigned int lo;
/* The combined value is the sum of the HI16 addend,
left-shifted by sixteen bits, and the LO16
@@ -6283,18 +6213,25 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
a `lui' of the HI16 value, and then an `addiu' of
the LO16 value.)
- Scan ahead to find a matching LO16 relocation. */
- if (r_type == R_MIPS_GNU_REL_HI16)
- lo = R_MIPS_GNU_REL_LO16;
- else
- lo = R_MIPS_LO16;
- lo16_relocation = mips_elf_next_relocation (input_bfd, lo,
+ Scan ahead to find a matching LO16 relocation.
+
+ According to the MIPS ELF ABI, the R_MIPS_LO16
+ relocation must be immediately following.
+ However, for the IRIX6 ABI, the next relocation
+ may be a composed relocation consisting of
+ several relocations for the same address. In
+ that case, the R_MIPS_LO16 relocation may occur
+ as one of these. We permit a similar extension
+ in general, as that is useful for GCC. */
+ lo16_relocation = mips_elf_next_relocation (input_bfd,
+ R_MIPS_LO16,
rel, relend);
if (lo16_relocation == NULL)
return FALSE;
/* Obtain the addend kept there. */
- lo16_howto = MIPS_ELF_RTYPE_TO_HOWTO (input_bfd, lo, FALSE);
+ lo16_howto = MIPS_ELF_RTYPE_TO_HOWTO (input_bfd,
+ R_MIPS_LO16, FALSE);
l = mips_elf_obtain_contents (lo16_howto, lo16_relocation,
input_bfd, contents);
l &= lo16_howto->src_mask;
@@ -6305,16 +6242,6 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
/* Compute the combined addend. */
addend += l;
-
- /* If PC-relative, subtract the difference between the
- address of the LO part of the reloc and the address of
- the HI part. The relocation is relative to the LO
- part, but mips_elf_calculate_relocation() doesn't
- know its address or the difference from the HI part, so
- we subtract that difference here. See also the
- comment in mips_elf_calculate_relocation(). */
- if (r_type == R_MIPS_GNU_REL_HI16)
- addend -= (lo16_relocation->r_offset - rel->r_offset);
}
else if (r_type == R_MIPS16_GPREL)
{
@@ -6372,8 +6299,7 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
else
{
if (r_type == R_MIPS_HI16
- || r_type == R_MIPS_GOT16
- || r_type == R_MIPS_GNU_REL_HI16)
+ || r_type == R_MIPS_GOT16)
addend = mips_elf_high (addend);
else if (r_type == R_MIPS_HIGHER)
addend = mips_elf_higher (addend);
@@ -6814,9 +6740,8 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd,
}
/* If this is a mips16 symbol, force the value to be even. */
- if (sym->st_other == STO_MIPS16
- && (sym->st_value & 1) != 0)
- --sym->st_value;
+ if (sym->st_other == STO_MIPS16)
+ sym->st_value &= ~1;
return TRUE;
}
@@ -7744,7 +7669,7 @@ _bfd_mips_elf_discard_info (bfd *abfd, struct elf_reloc_cookie *cookie,
for (i = 0, skip = 0; i < o->_raw_size / PDR_SIZE; i ++)
{
- if (MNAME(abfd,_bfd_elf,reloc_symbol_deleted_p) (i * PDR_SIZE, cookie))
+ if (bfd_elf_reloc_symbol_deleted_p (i * PDR_SIZE, cookie))
{
tdata[i] = 1;
skip ++;
@@ -8801,7 +8726,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info)
}
/* Invoke the regular ELF backend linker to do all the work. */
- if (!MNAME(abfd,bfd_elf,bfd_final_link) (abfd, info))
+ if (!bfd_elf_final_link (abfd, info))
return FALSE;
/* Now write out the computed sections. */
@@ -9030,10 +8955,10 @@ _bfd_mips_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
which are automatically generated by gas. */
if (strcmp (sec->name, ".reginfo")
&& strcmp (sec->name, ".mdebug")
- && ((!strcmp (sec->name, ".text")
- || !strcmp (sec->name, ".data")
- || !strcmp (sec->name, ".bss"))
- && sec->_raw_size != 0))
+ && (sec->_raw_size != 0
+ || (strcmp (sec->name, ".text")
+ && strcmp (sec->name, ".data")
+ && strcmp (sec->name, ".bss"))))
{
null_input_bfd = FALSE;
break;
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index 9e5d7af..0a684d9 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -1,5 +1,5 @@
/* MIPS ELF specific backend routines.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -35,7 +35,7 @@ extern bfd_boolean _bfd_mips_elf_fake_sections
extern bfd_boolean _bfd_mips_elf_section_from_bfd_section
(bfd *, asection *, int *);
extern bfd_boolean _bfd_mips_elf_add_symbol_hook
- (bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
+ (bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
const char **, flagword *, asection **, bfd_vma *);
extern bfd_boolean _bfd_mips_elf_link_output_symbol_hook
(struct bfd_link_info *, const char *, Elf_Internal_Sym *,
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h
index ca0e47b..61ed197 100644
--- a/bfd/elfxx-target.h
+++ b/bfd/elfxx-target.h
@@ -1,6 +1,6 @@
/* Target definitions for NN-bit ELF
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -34,6 +34,8 @@
#define bfd_elfNN_canonicalize_dynamic_symtab \
_bfd_elf_canonicalize_dynamic_symtab
+#define bfd_elfNN_get_synthetic_symtab \
+ _bfd_elf_get_synthetic_symtab
#ifndef bfd_elfNN_canonicalize_reloc
#define bfd_elfNN_canonicalize_reloc _bfd_elf_canonicalize_reloc
#endif
@@ -126,7 +128,7 @@
#define elf_backend_gc_sweep_hook NULL
#endif
#ifndef bfd_elfNN_bfd_gc_sections
-#define bfd_elfNN_bfd_gc_sections _bfd_elfNN_gc_sections
+#define bfd_elfNN_bfd_gc_sections bfd_elf_gc_sections
#endif
#ifndef bfd_elfNN_bfd_merge_sections
@@ -134,6 +136,10 @@
_bfd_elf_merge_sections
#endif
+#ifndef bfd_elfNN_bfd_is_group_section
+#define bfd_elfNN_bfd_is_group_section bfd_elf_is_group_section
+#endif
+
#ifndef bfd_elfNN_bfd_discard_group
#define bfd_elfNN_bfd_discard_group bfd_elf_discard_group
#endif
@@ -189,6 +195,12 @@
#ifndef bfd_elfNN_bfd_link_hash_table_create
#define bfd_elfNN_bfd_link_hash_table_create _bfd_elf_link_hash_table_create
#endif
+#ifndef bfd_elfNN_bfd_link_add_symbols
+#define bfd_elfNN_bfd_link_add_symbols bfd_elf_link_add_symbols
+#endif
+#ifndef bfd_elfNN_bfd_final_link
+#define bfd_elfNN_bfd_final_link bfd_elf_final_link
+#endif
#else /* ! defined (elf_backend_relocate_section) */
/* If no backend relocate_section routine, use the generic linker.
Note - this will prevent the port from being able to use some of
@@ -235,6 +247,10 @@
#define bfd_elfNN_mkarchive _bfd_generic_mkarchive
#endif
+#ifndef bfd_elfNN_print_symbol
+#define bfd_elfNN_print_symbol bfd_elf_print_symbol
+#endif
+
#ifndef elf_symbol_leading_char
#define elf_symbol_leading_char 0
#endif
@@ -391,6 +407,15 @@
#ifndef elf_backend_ignore_discarded_relocs
#define elf_backend_ignore_discarded_relocs NULL
#endif
+#ifndef elf_backend_can_make_relative_eh_frame
+#define elf_backend_can_make_relative_eh_frame _bfd_elf_can_make_relative
+#endif
+#ifndef elf_backend_can_make_lsda_relative_eh_frame
+#define elf_backend_can_make_lsda_relative_eh_frame _bfd_elf_can_make_relative
+#endif
+#ifndef elf_backend_encode_eh_address
+#define elf_backend_encode_eh_address _bfd_elf_encode_eh_address
+#endif
#ifndef elf_backend_write_section
#define elf_backend_write_section NULL
#endif
@@ -424,6 +449,13 @@
#define elf_backend_rela_normal 0
#endif
+#ifndef elf_backend_plt_sym_val
+#define elf_backend_plt_sym_val NULL
+#endif
+#ifndef elf_backend_relplt_name
+#define elf_backend_relplt_name NULL
+#endif
+
#ifndef ELF_MACHINE_ALT1
#define ELF_MACHINE_ALT1 0
#endif
@@ -497,11 +529,16 @@ static const struct elf_backend_data elfNN_bed =
elf_backend_reloc_type_class,
elf_backend_discard_info,
elf_backend_ignore_discarded_relocs,
+ elf_backend_can_make_relative_eh_frame,
+ elf_backend_can_make_lsda_relative_eh_frame,
+ elf_backend_encode_eh_address,
elf_backend_write_section,
elf_backend_mips_irix_compat,
elf_backend_mips_rtype_to_howto,
elf_backend_ecoff_debug_swap,
elf_backend_bfd_from_remote_memory,
+ elf_backend_plt_sym_val,
+ elf_backend_relplt_name,
ELF_MACHINE_ALT1,
ELF_MACHINE_ALT2,
&elf_backend_size_info,
diff --git a/bfd/hpux-core.c b/bfd/hpux-core.c
index 30967c9..d624ad5 100644
--- a/bfd/hpux-core.c
+++ b/bfd/hpux-core.c
@@ -276,7 +276,8 @@ hpux_core_core_file_p (abfd)
case CORE_ANON_SHMEM:
if (!make_bfd_asection (abfd, ".data",
SEC_ALLOC + SEC_LOAD + SEC_HAS_CONTENTS,
- core_header.len, core_header.addr, 2))
+ core_header.len,
+ (bfd_vma) core_header.addr, 2))
goto fail;
bfd_seek (abfd, (file_ptr) core_header.len, SEEK_CUR);
diff --git a/bfd/i386msdos.c b/bfd/i386msdos.c
index 059466b..2dbd8df 100644
--- a/bfd/i386msdos.c
+++ b/bfd/i386msdos.c
@@ -1,6 +1,6 @@
/* BFD back-end for MS-DOS executables.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
Written by Bryan Ford of the University of Utah.
Contributed by the Center for Software Science at the
@@ -176,6 +176,7 @@ msdos_set_section_contents (abfd, section, location, offset, count)
#define msdos_bfd_relax_section bfd_generic_relax_section
#define msdos_bfd_gc_sections bfd_generic_gc_sections
#define msdos_bfd_merge_sections bfd_generic_merge_sections
+#define msdos_bfd_is_group_section bfd_generic_is_group_section
#define msdos_bfd_discard_group bfd_generic_discard_group
#define msdos_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define msdos_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/i386os9k.c b/bfd/i386os9k.c
index d9a34e3..3be6bdd 100644
--- a/bfd/i386os9k.c
+++ b/bfd/i386os9k.c
@@ -1,6 +1,6 @@
/* BFD back-end for os9000 i386 binaries.
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
+ 2004 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -333,6 +333,7 @@ os9k_sizeof_headers (ignore_abfd, ignore)
#define os9k_bfd_relax_section bfd_generic_relax_section
#define os9k_bfd_gc_sections bfd_generic_gc_sections
#define os9k_bfd_merge_sections bfd_generic_merge_sections
+#define os9k_bfd_is_group_section bfd_generic_is_group_section
#define os9k_bfd_discard_group bfd_generic_discard_group
#define os9k_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define os9k_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/ieee.c b/bfd/ieee.c
index 8a08028..fcabf75 100644
--- a/bfd/ieee.c
+++ b/bfd/ieee.c
@@ -1,6 +1,6 @@
/* BFD back-end for ieee-695 objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
@@ -4037,6 +4037,7 @@ ieee_bfd_debug_info_accumulate (abfd, section)
#define ieee_bfd_relax_section bfd_generic_relax_section
#define ieee_bfd_gc_sections bfd_generic_gc_sections
#define ieee_bfd_merge_sections bfd_generic_merge_sections
+#define ieee_bfd_is_group_section bfd_generic_is_group_section
#define ieee_bfd_discard_group bfd_generic_discard_group
#define ieee_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ieee_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/ihex.c b/bfd/ihex.c
index 5d2d47f..5c4c438 100644
--- a/bfd/ihex.c
+++ b/bfd/ihex.c
@@ -1,5 +1,5 @@
/* BFD back-end for Intel Hex objects.
- Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Ian Lance Taylor of Cygnus Support <ian@cygnus.com>.
@@ -988,6 +988,7 @@ ihex_sizeof_headers (abfd, exec)
#define ihex_bfd_relax_section bfd_generic_relax_section
#define ihex_bfd_gc_sections bfd_generic_gc_sections
#define ihex_bfd_merge_sections bfd_generic_merge_sections
+#define ihex_bfd_is_group_section bfd_generic_is_group_section
#define ihex_bfd_discard_group bfd_generic_discard_group
#define ihex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ihex_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/libaout.h b/bfd/libaout.h
index 67054e3..ddd0a9f 100644
--- a/bfd/libaout.h
+++ b/bfd/libaout.h
@@ -1,6 +1,6 @@
/* BFD back-end data structures for a.out (and similar) files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -221,73 +221,75 @@ struct aout_backend_data
struct internal_exec
{
- long a_info; /* Magic number and flags, packed */
- bfd_vma a_text; /* length of text, in bytes */
- bfd_vma a_data; /* length of data, in bytes */
- bfd_vma a_bss; /* length of uninitialized data area in mem */
- bfd_vma a_syms; /* length of symbol table data in file */
- bfd_vma a_entry; /* start address */
- bfd_vma a_trsize; /* length of text's relocation info, in bytes */
- bfd_vma a_drsize; /* length of data's relocation info, in bytes */
- /* Added for i960 */
- bfd_vma a_tload; /* Text runtime load address */
- bfd_vma a_dload; /* Data runtime load address */
- unsigned char a_talign; /* Alignment of text segment */
- unsigned char a_dalign; /* Alignment of data segment */
- unsigned char a_balign; /* Alignment of bss segment */
- char a_relaxable; /* Enough info for linker relax */
+ long a_info; /* Magic number and flags, packed. */
+ bfd_vma a_text; /* Length of text, in bytes. */
+ bfd_vma a_data; /* Length of data, in bytes. */
+ bfd_vma a_bss; /* Length of uninitialized data area in mem. */
+ bfd_vma a_syms; /* Length of symbol table data in file. */
+ bfd_vma a_entry; /* Start address. */
+ bfd_vma a_trsize; /* Length of text's relocation info, in bytes. */
+ bfd_vma a_drsize; /* Length of data's relocation info, in bytes. */
+ /* Added for i960 */
+ bfd_vma a_tload; /* Text runtime load address. */
+ bfd_vma a_dload; /* Data runtime load address. */
+ unsigned char a_talign; /* Alignment of text segment. */
+ unsigned char a_dalign; /* Alignment of data segment. */
+ unsigned char a_balign; /* Alignment of bss segment. */
+ char a_relaxable; /* Enough info for linker relax. */
};
/* Magic number is written
-< MSB >
-3130292827262524232221201918171615141312111009080706050403020100
-< FLAGS >< MACHINE TYPE >< MAGIC NUMBER >
-*/
+ < MSB >
+ 3130292827262524232221201918171615141312111009080706050403020100
+ < FLAGS >< MACHINE TYPE >< MAGIC NUMBER > */
+
/* Magic number for NetBSD is
-<MSB >
-3130292827262524232221201918171615141312111009080706050403020100
-< FLAGS >< MACHINE TYPE >< MAGIC NUMBER >
-*/
+ <MSB >
+ 3130292827262524232221201918171615141312111009080706050403020100
+ < FLAGS >< MACHINE TYPE >< MAGIC NUMBER > */
-enum machine_type {
+enum machine_type
+{
M_UNKNOWN = 0,
M_68010 = 1,
M_68020 = 2,
M_SPARC = 3,
/* Skip a bunch so we don't run into any of SUN's numbers. */
/* Make these up for the ns32k. */
- M_NS32032 = (64), /* ns32032 running ? */
- M_NS32532 = (64 + 5), /* ns32532 running mach */
-
+ M_NS32032 = (64), /* NS32032 running ? */
+ M_NS32532 = (64 + 5), /* NS32532 running mach. */
M_386 = 100,
- M_29K = 101, /* AMD 29000 */
- M_386_DYNIX = 102, /* Sequent running dynix */
- M_ARM = 103, /* Advanced Risc Machines ARM */
- M_SPARCLET = 131, /* SPARClet = M_SPARC + 128 */
- M_386_NETBSD = 134, /* NetBSD/i386 binary */
- M_68K_NETBSD = 135, /* NetBSD/m68k binary */
- M_68K4K_NETBSD = 136, /* NetBSD/m68k4k binary */
- M_532_NETBSD = 137, /* NetBSD/ns32k binary */
- M_SPARC_NETBSD = 138, /* NetBSD/sparc binary */
- M_PMAX_NETBSD = 139, /* NetBSD/pmax (MIPS little-endian) binary */
- M_VAX_NETBSD = 140, /* NetBSD/vax binary */
- M_ALPHA_NETBSD = 141, /* NetBSD/alpha binary */
- M_ARM6_NETBSD = 143, /* NetBSD/arm32 binary */
- M_SPARCLET_1 = 147, /* 0x93, reserved */
- M_VAX4K_NETBSD = 150, /* NetBSD/vax 4K pages binary */
- M_MIPS1 = 151, /* MIPS R2000/R3000 binary */
- M_MIPS2 = 152, /* MIPS R4000/R6000 binary */
- M_SPARCLET_2 = 163, /* 0xa3, reserved */
- M_SPARCLET_3 = 179, /* 0xb3, reserved */
- M_SPARCLET_4 = 195, /* 0xc3, reserved */
- M_HP200 = 200, /* HP 200 (68010) BSD binary */
- M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary */
- M_HPUX = (0x20c % 256), /* HP 200/300 HPUX binary */
- M_SPARCLET_5 = 211, /* 0xd3, reserved */
- M_SPARCLET_6 = 227, /* 0xe3, reserved */
- /* M_SPARCLET_7 = 243 / * 0xf3, reserved */
+ M_29K = 101, /* AMD 29000. */
+ M_386_DYNIX = 102, /* Sequent running dynix. */
+ M_ARM = 103, /* Advanced Risc Machines ARM. */
+ M_SPARCLET = 131, /* SPARClet = M_SPARC + 128. */
+ M_386_NETBSD = 134, /* NetBSD/i386 binary. */
+ M_68K_NETBSD = 135, /* NetBSD/m68k binary. */
+ M_68K4K_NETBSD = 136, /* NetBSD/m68k4k binary. */
+ M_532_NETBSD = 137, /* NetBSD/ns32k binary. */
+ M_SPARC_NETBSD = 138, /* NetBSD/sparc binary. */
+ M_PMAX_NETBSD = 139, /* NetBSD/pmax (MIPS little-endian) binary. */
+ M_VAX_NETBSD = 140, /* NetBSD/vax binary. */
+ M_ALPHA_NETBSD = 141, /* NetBSD/alpha binary. */
+ M_ARM6_NETBSD = 143, /* NetBSD/arm32 binary. */
+ M_SPARCLET_1 = 147, /* 0x93, reserved. */
+ M_POWERPC_NETBSD = 149, /* NetBSD/powerpc (big-endian) binary. */
+ M_VAX4K_NETBSD = 150, /* NetBSD/vax 4K pages binary. */
+ M_MIPS1 = 151, /* MIPS R2000/R3000 binary. */
+ M_MIPS2 = 152, /* MIPS R4000/R6000 binary. */
+ M_SPARC64_NETBSD = 156, /* NetBSD/sparc64 binary. */
+ M_X86_64_NETBSD = 157, /* NetBSD/amd64 binary. */
+ M_SPARCLET_2 = 163, /* 0xa3, reserved. */
+ M_SPARCLET_3 = 179, /* 0xb3, reserved. */
+ M_SPARCLET_4 = 195, /* 0xc3, reserved. */
+ M_HP200 = 200, /* HP 200 (68010) BSD binary. */
+ M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary. */
+ M_HPUX = (0x20c % 256), /* HP 200/300 HPUX binary. */
+ M_SPARCLET_5 = 211, /* 0xd3, reserved. */
+ M_SPARCLET_6 = 227, /* 0xe3, reserved. */
+/*M_SPARCLET_7 = 243 / * 0xf3, reserved. */
M_SPARCLITE_LE = 243,
- M_CRIS = 255 /* Axis CRIS binary. */
+ M_CRIS = 255 /* Axis CRIS binary. */
};
#define N_DYNAMIC(exec) ((exec).a_info & 0x80000000)
@@ -334,7 +336,8 @@ enum machine_type {
((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
#endif
-typedef struct aout_symbol {
+typedef struct aout_symbol
+{
asymbol symbol;
short desc;
char other;
@@ -345,9 +348,10 @@ typedef struct aout_symbol {
Various things depend on this struct being around any time an a.out
file is being handled. An example is dbxread.c in GDB. */
-struct aoutdata {
- struct internal_exec *hdr; /* exec file header */
- aout_symbol_type *symbols; /* symtab for input bfd */
+struct aoutdata
+{
+ struct internal_exec *hdr; /* Exec file header. */
+ aout_symbol_type *symbols; /* Symtab for input bfd. */
/* For ease, we do this. */
asection *textsec;
@@ -417,30 +421,31 @@ struct aoutdata {
bfd_vma *local_got_offsets;
};
-struct aout_data_struct {
- struct aoutdata a;
- struct internal_exec e;
+struct aout_data_struct
+{
+ struct aoutdata a;
+ struct internal_exec e;
};
-#define adata(bfd) ((bfd)->tdata.aout_data->a)
-#define exec_hdr(bfd) (adata(bfd).hdr)
-#define obj_aout_symbols(bfd) (adata(bfd).symbols)
-#define obj_textsec(bfd) (adata(bfd).textsec)
-#define obj_datasec(bfd) (adata(bfd).datasec)
-#define obj_bsssec(bfd) (adata(bfd).bsssec)
-#define obj_sym_filepos(bfd) (adata(bfd).sym_filepos)
-#define obj_str_filepos(bfd) (adata(bfd).str_filepos)
-#define obj_reloc_entry_size(bfd) (adata(bfd).reloc_entry_size)
-#define obj_symbol_entry_size(bfd) (adata(bfd).symbol_entry_size)
-#define obj_aout_subformat(bfd) (adata(bfd).subformat)
-#define obj_aout_external_syms(bfd) (adata(bfd).external_syms)
-#define obj_aout_external_sym_count(bfd) (adata(bfd).external_sym_count)
-#define obj_aout_sym_window(bfd) (adata(bfd).sym_window)
-#define obj_aout_external_strings(bfd) (adata(bfd).external_strings)
-#define obj_aout_external_string_size(bfd) (adata(bfd).external_string_size)
-#define obj_aout_string_window(bfd) (adata(bfd).string_window)
-#define obj_aout_sym_hashes(bfd) (adata(bfd).sym_hashes)
-#define obj_aout_dynamic_info(bfd) (adata(bfd).dynamic_info)
+#define adata(bfd) ((bfd)->tdata.aout_data->a)
+#define exec_hdr(bfd) (adata (bfd).hdr)
+#define obj_aout_symbols(bfd) (adata (bfd).symbols)
+#define obj_textsec(bfd) (adata (bfd).textsec)
+#define obj_datasec(bfd) (adata (bfd).datasec)
+#define obj_bsssec(bfd) (adata (bfd).bsssec)
+#define obj_sym_filepos(bfd) (adata (bfd).sym_filepos)
+#define obj_str_filepos(bfd) (adata (bfd).str_filepos)
+#define obj_reloc_entry_size(bfd) (adata (bfd).reloc_entry_size)
+#define obj_symbol_entry_size(bfd) (adata (bfd).symbol_entry_size)
+#define obj_aout_subformat(bfd) (adata (bfd).subformat)
+#define obj_aout_external_syms(bfd) (adata (bfd).external_syms)
+#define obj_aout_external_sym_count(bfd) (adata (bfd).external_sym_count)
+#define obj_aout_sym_window(bfd) (adata (bfd).sym_window)
+#define obj_aout_external_strings(bfd) (adata (bfd).external_strings)
+#define obj_aout_external_string_size(bfd) (adata (bfd).external_string_size)
+#define obj_aout_string_window(bfd) (adata (bfd).string_window)
+#define obj_aout_sym_hashes(bfd) (adata (bfd).sym_hashes)
+#define obj_aout_dynamic_info(bfd) (adata (bfd).dynamic_info)
/* We take the address of the first element of an asymbol to ensure that the
macro is only ever applied to an asymbol. */
@@ -602,7 +607,7 @@ extern bfd_boolean NAME(aout,bfd_free_cached_info)
#ifndef WRITE_HEADERS
#define WRITE_HEADERS(abfd, execp) \
{ \
- bfd_size_type text_size; /* dummy vars */ \
+ bfd_size_type text_size; /* Dummy vars. */ \
file_ptr text_end; \
if (adata(abfd).magic == undecided_magic) \
NAME(aout,adjust_sizes_and_vmas) (abfd, &text_size, &text_end); \
@@ -617,7 +622,7 @@ extern bfd_boolean NAME(aout,bfd_free_cached_info)
NAME(aout,swap_exec_header_out) (abfd, execp, &exec_bytes); \
\
if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0 \
- || bfd_bwrite ((PTR) &exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE, \
+ || bfd_bwrite ((PTR) &exec_bytes, (bfd_size_type) EXEC_BYTES_SIZE,\
abfd) != EXEC_BYTES_SIZE) \
return FALSE; \
/* Now write out reloc info, followed by syms and strings. */ \
@@ -632,12 +637,12 @@ extern bfd_boolean NAME(aout,bfd_free_cached_info)
return FALSE; \
} \
\
- if (bfd_seek (abfd, (file_ptr) (N_TRELOFF(*execp)), SEEK_SET) != 0) \
+ if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (*execp)), SEEK_SET) != 0) \
return FALSE; \
if (!NAME(aout,squirt_out_relocs) (abfd, obj_textsec (abfd))) \
return FALSE; \
\
- if (bfd_seek (abfd, (file_ptr) (N_DRELOFF(*execp)), SEEK_SET) != 0) \
+ if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (*execp)), SEEK_SET) != 0) \
return FALSE; \
if (!NAME(aout,squirt_out_relocs) (abfd, obj_datasec (abfd))) \
return FALSE; \
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
index 10cafef..fb021d3 100644
--- a/bfd/libbfd-in.h
+++ b/bfd/libbfd-in.h
@@ -355,6 +355,9 @@ extern bfd_boolean _bfd_generic_set_section_contents
#define _bfd_nolink_bfd_merge_sections \
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
bfd_false)
+#define _bfd_nolink_bfd_is_group_section \
+ ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
+ bfd_false)
#define _bfd_nolink_bfd_discard_group \
((bfd_boolean (*) (bfd *, struct bfd_section *)) \
bfd_false)
@@ -378,6 +381,8 @@ extern bfd_boolean _bfd_generic_set_section_contents
#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
#define _bfd_nodynamic_canonicalize_dynamic_symtab \
((long (*) (bfd *, asymbol **)) _bfd_n1)
+#define _bfd_nodynamic_get_synthetic_symtab \
+ ((long (*) (bfd *, asymbol **, asymbol **)) _bfd_n1)
#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
#define _bfd_nodynamic_canonicalize_dynamic_reloc \
((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 62043f3..6841e29 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -360,6 +360,9 @@ extern bfd_boolean _bfd_generic_set_section_contents
#define _bfd_nolink_bfd_merge_sections \
((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
bfd_false)
+#define _bfd_nolink_bfd_is_group_section \
+ ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
+ bfd_false)
#define _bfd_nolink_bfd_discard_group \
((bfd_boolean (*) (bfd *, struct bfd_section *)) \
bfd_false)
@@ -383,6 +386,8 @@ extern bfd_boolean _bfd_generic_set_section_contents
#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
#define _bfd_nodynamic_canonicalize_dynamic_symtab \
((long (*) (bfd *, asymbol **)) _bfd_n1)
+#define _bfd_nodynamic_get_synthetic_symtab \
+ ((long (*) (bfd *, asymbol **, asymbol **)) _bfd_n1)
#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
#define _bfd_nodynamic_canonicalize_dynamic_reloc \
((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
@@ -657,6 +662,27 @@ bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
unsigned int bfd_log2 (bfd_vma x);
/* Extracted from bfdio.c. */
+struct bfd_iovec
+{
+ /* To avoid problems with macros, a "b" rather than "f"
+ prefix is prepended to each method name. */
+ /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
+ bytes starting at PTR. Return the number of bytes actually
+ transfered (a read past end-of-file returns less than NBYTES),
+ or -1 (setting <<bfd_error>>) if an error occurs. */
+ file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
+ file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
+ file_ptr nbytes);
+ /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
+ if an error occurs. */
+ file_ptr (*btell) (struct bfd *abfd);
+ /* For the following, on successful completion a value of 0 is returned.
+ Otherwise, a value of -1 is returned (and <<bfd_error>> is set). */
+ int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
+ int (*bclose) (struct bfd *abfd);
+ int (*bflush) (struct bfd *abfd);
+ int (*bstat) (struct bfd *abfd, struct stat *sb);
+};
/* Extracted from bfdwin.c. */
struct _bfd_window_internal {
struct _bfd_window_internal *next;
@@ -699,6 +725,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_16_PCREL",
"BFD_RELOC_12_PCREL",
"BFD_RELOC_8_PCREL",
+ "BFD_RELOC_32_SECREL",
"BFD_RELOC_32_GOT_PCREL",
"BFD_RELOC_16_GOT_PCREL",
"BFD_RELOC_8_GOT_PCREL",
@@ -836,8 +863,6 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_HI16",
"BFD_RELOC_HI16_S",
"BFD_RELOC_LO16",
- "BFD_RELOC_PCREL_HI16_S",
- "BFD_RELOC_PCREL_LO16",
"BFD_RELOC_MIPS_LITERAL",
"BFD_RELOC_MIPS_GOT16",
"BFD_RELOC_MIPS_CALL16",
@@ -1437,6 +1462,46 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_M68HC11_PAGE",
"BFD_RELOC_M68HC11_24",
"BFD_RELOC_M68HC12_5B",
+ "BFD_RELOC_16C_NUM08",
+ "BFD_RELOC_16C_NUM08_C",
+ "BFD_RELOC_16C_NUM16",
+ "BFD_RELOC_16C_NUM16_C",
+ "BFD_RELOC_16C_NUM32",
+ "BFD_RELOC_16C_NUM32_C",
+ "BFD_RELOC_16C_DISP04",
+ "BFD_RELOC_16C_DISP04_C",
+ "BFD_RELOC_16C_DISP08",
+ "BFD_RELOC_16C_DISP08_C",
+ "BFD_RELOC_16C_DISP16",
+ "BFD_RELOC_16C_DISP16_C",
+ "BFD_RELOC_16C_DISP24",
+ "BFD_RELOC_16C_DISP24_C",
+ "BFD_RELOC_16C_DISP24a",
+ "BFD_RELOC_16C_DISP24a_C",
+ "BFD_RELOC_16C_REG04",
+ "BFD_RELOC_16C_REG04_C",
+ "BFD_RELOC_16C_REG04a",
+ "BFD_RELOC_16C_REG04a_C",
+ "BFD_RELOC_16C_REG14",
+ "BFD_RELOC_16C_REG14_C",
+ "BFD_RELOC_16C_REG16",
+ "BFD_RELOC_16C_REG16_C",
+ "BFD_RELOC_16C_REG20",
+ "BFD_RELOC_16C_REG20_C",
+ "BFD_RELOC_16C_ABS20",
+ "BFD_RELOC_16C_ABS20_C",
+ "BFD_RELOC_16C_ABS24",
+ "BFD_RELOC_16C_ABS24_C",
+ "BFD_RELOC_16C_IMM04",
+ "BFD_RELOC_16C_IMM04_C",
+ "BFD_RELOC_16C_IMM16",
+ "BFD_RELOC_16C_IMM16_C",
+ "BFD_RELOC_16C_IMM20",
+ "BFD_RELOC_16C_IMM20_C",
+ "BFD_RELOC_16C_IMM24",
+ "BFD_RELOC_16C_IMM24_C",
+ "BFD_RELOC_16C_IMM32",
+ "BFD_RELOC_16C_IMM32_C",
"BFD_RELOC_CRIS_BDISP8",
"BFD_RELOC_CRIS_UNSIGNED_5",
"BFD_RELOC_CRIS_SIGNED_6",
diff --git a/bfd/libecoff.h b/bfd/libecoff.h
index 161f06c..7d4006a 100644
--- a/bfd/libecoff.h
+++ b/bfd/libecoff.h
@@ -176,41 +176,13 @@ typedef struct ecoff_symbol_struct
#define ecoff_get_sym_index(symbol) ((symbol)->udata.i)
#define ecoff_set_sym_index(symbol, idx) ((symbol)->udata.i = (idx))
-/* When generating MIPS embedded PIC code, the linker relaxes the code
- to turn PC relative branches into longer code sequences when the PC
- relative branch is out of range. This involves reading the relocs
- in bfd_relax_section as well as in bfd_final_link, and requires the
- code to keep track of which relocs have been expanded. A pointer
- to this structure is put in the used_by_bfd pointer of a section to
- keep track of this information. The user_by_bfd pointer will be
- NULL if the information was not needed. */
+/* A pointer to this structure is put in the used_by_bfd pointer of
+ a section to keep track of any per-section data.
+ The user_by_bfd pointer will be NULL if the information was not
+ needed. */
struct ecoff_section_tdata
{
- /* The unswapped relocs for this section. These are stored in
- memory so the input file does not have to be read twice. */
- PTR external_relocs;
-
- /* The contents of the section. These bytes may or may not be saved
- in memory, but if it is this is a pointer to them. */
- bfd_byte *contents;
-
- /* Offset adjustments for PC relative branches. A number other than
- 1 is an addend for a PC relative branch, or a switch table entry
- which is the difference of two .text locations; this addend
- arises because the branch or difference crosses one or more
- branches which were expanded into a larger code sequence. A 1
- means that this branch was itself expanded into a larger code
- sequence. 1 is not a possible offset, since all offsets must be
- multiples of the instruction size, which is 4; also, the only
- relocs with non-zero offsets will be PC relative branches or
- switch table entries within the same object file. If this field
- is NULL, no branches were expanded and no offsets are required.
- Otherwise there are as many entries as there are relocs in the
- section, and the entry for any reloc that is not PC relative is
- zero. */
- long *offsets;
-
/* When producing an executable (i.e., final, non-relocatable link)
on the Alpha, we may need to use multiple global pointer values
to span the entire .lita section. In essence, we allow each
diff --git a/bfd/linker.c b/bfd/linker.c
index c55fb93..58befc3 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -1,6 +1,6 @@
/* linker.c -- BFD linker routines
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support
This file is part of BFD, the Binary File Descriptor library.
@@ -523,10 +523,14 @@ bfd_wrapped_link_hash_lookup (bfd *abfd,
if (info->wrap_hash != NULL)
{
const char *l;
+ char prefix = '\0';
l = string;
- if (*l == bfd_get_symbol_leading_char (abfd))
- ++l;
+ if (*l == bfd_get_symbol_leading_char (abfd) || *l == info->wrap_char)
+ {
+ prefix = *l;
+ ++l;
+ }
#undef WRAP
#define WRAP "__wrap_"
@@ -544,8 +548,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd,
if (n == NULL)
return NULL;
- /* Note that symbol_leading_char may be '\0'. */
- n[0] = bfd_get_symbol_leading_char (abfd);
+ n[0] = prefix;
n[1] = '\0';
strcat (n, WRAP);
strcat (n, l);
@@ -576,8 +579,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd,
if (n == NULL)
return NULL;
- /* Note that symbol_leading_char may be '\0'. */
- n[0] = bfd_get_symbol_leading_char (abfd);
+ n[0] = prefix;
n[1] = '\0';
strcat (n, l + sizeof REAL - 1);
h = bfd_link_hash_lookup (info->hash, n, create, TRUE, follow);
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index b5d6a72..eaa7aba 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -1,5 +1,5 @@
/* Mach-O support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2003
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -68,6 +68,7 @@
#define bfd_mach_o_set_section_contents _bfd_generic_set_section_contents
#define bfd_mach_o_bfd_gc_sections bfd_generic_gc_sections
#define bfd_mach_o_bfd_merge_sections bfd_generic_merge_sections
+#define bfd_mach_o_bfd_is_group_section bfd_generic_is_group_section
#define bfd_mach_o_bfd_discard_group bfd_generic_discard_group
static bfd_boolean bfd_mach_o_bfd_copy_private_symbol_data
diff --git a/bfd/mmo.c b/bfd/mmo.c
index 74b4c9d..d791062 100644
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -1,5 +1,5 @@
/* BFD back-end for mmo objects (MMIX-specific object-format).
- Copyright 2001, 2002, 2003
+ Copyright 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Hans-Peter Nilsson (hp@bitrange.com).
Infrastructure and other bits originally copied from srec.c and
@@ -3286,6 +3286,7 @@ mmo_canonicalize_reloc (abfd, section, relptr, symbols)
#define mmo_set_arch_mach bfd_default_set_arch_mach
#define mmo_bfd_relax_section bfd_generic_relax_section
#define mmo_bfd_merge_sections bfd_generic_merge_sections
+#define mmo_bfd_is_group_section bfd_generic_is_group_section
#define mmo_bfd_discard_group bfd_generic_discard_group
/* objcopy will be upset if we return -1 from bfd_get_reloc_upper_bound by
diff --git a/bfd/mpw-config.in b/bfd/mpw-config.in
deleted file mode 100644
index 31addee..0000000
--- a/bfd/mpw-config.in
+++ /dev/null
@@ -1,86 +0,0 @@
-# Configuration fragment for BFD.
-
-# This is almost always correct.
-
-Set selarchs "&bfd_{target_cpu}_arch"
-Set defvec ""
-Set selvecs ""
-Set havevecs ""
-
-If "{target_canonical}" =~ /m68k-apple-macos/
- Set BFD_BACKENDS '"{o}"coff-m68k.c.o "{o}"cofflink.c.o'
- Set defvec m68kcoff_vec
- Set selvecs '&m68kcoff_vec'
- Set havevecs '-d HAVE_m68kcoff_vec'
-
-Else If "{target_canonical}" =~ /powerpc-apple-macos/
- Set BFD_BACKENDS '"{o}"coff-pmac.c.o "{o}"xcofflink.c.o'
- Set defvec pmac_xcoff_vec
- Set selvecs '&pmac_xcoff_vec'
- Set havevecs '-d HAVE_pmac_xcoff_vec'
- Set selarchs "&bfd_powerpc_arch"
-
-Else If "{target_canonical}" =~ /i386-\Option-x-go32/
- Set BFD_BACKENDS '"{o}"coff-i386.c.o'
- Set defvec i386coff_vec
- Set selvecs '&i386coff_vec'
- Set havevecs '-d HAVE_i386coff_vec'
-
-Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/
- Set BFD_BACKENDS '"{o}"coff-mips.c.o "{o}"ecoff.c.o "{o}"ecofflink.c.o "{o}"elf32.c.o "{o}"elf32-mips.c.o "{o}"elflink.c.o'
- Set defvec ecoff_big_vec
- Set selvecs '&ecoff_big_vec,&ecoff_little_vec,&bfd_elf32_bigmips_vec'
- Set havevecs '-d HAVE_ecoff_big_vec -d HAVE_ecoff_little_vec -d HAVE_bfd_elf32_bigmips_vec'
-
-Else If "{target_canonical}" =~ /sh-\Option-x-hms/
- Set BFD_BACKENDS '"{o}"coff-sh.c.o "{o}"cofflink.c.o'
- Set defvec shcoff_vec
- Set selvecs '&shcoff_vec,&shlcoff_vec'
- Set havevecs '-d HAVE_shcoff_vec -d HAVE_shlcoff_vec'
-End If
-
-Set ta `echo {selarchs} | sed -e 's/&bfd_/{o}cpu-/g' -e 's/_arch/.c.o/g'`
-
-Set tdefaults "-d DEFAULT_VECTOR={defvec} -d SELECT_VECS={selvecs} -d SELECT_ARCHITECTURES={selarchs} {havevecs}"
-
-Echo '# From mpw-config.in' > "{o}"mk.tmp
-Echo 'WORDSIZE = 32' >> "{o}"mk.tmp
-Echo 'BFD_MACHINES = ' {ta} >> "{o}"mk.tmp
-Echo 'BFD_BACKENDS = ' {BFD_BACKENDS} >> "{o}"mk.tmp
-Echo 'TDEFAULTS = ' {tdefaults} >> "{o}"mk.tmp
-Echo 'HDEPFILES = ' >> "{o}"mk.tmp
-Echo 'TDEPFILES = ' >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
-Echo '#include "mpw.h"' >> "{o}"config.new
-
-MoveIfChange "{o}"config.new "{o}"config.h
-
-# We can only handle 32-bit targets right now.
-
-sed -e 's/@WORDSIZE@/32/' \Option-d
- -e 's/@wordsize@/32/' \Option-d
- -e "s/@VERSION@/`Catenate {srcdir}VERSION`/" \Option-d
- -e 's/@BFD_HOST_64_BIT_DEFINED@/0/' \Option-d
- -e 's/@BFD_HOST_64_BIT@//' \Option-d
- -e 's/@BFD_HOST_U_64_BIT@//' \Option-d
- -e 's/@BFD_HOST_64BIT_LONG@/0/' \Option-d
- "{srcdir}"bfd-in2.h >"{o}"bfd.h-new
-
-MoveIfChange "{o}"bfd.h-new "{o}"bfd.h
-
-sed -e 's/NN/32/g' "{srcdir}"elfxx-target.h >"{o}"elf32-target.h-new
-MoveIfChange "{o}"elf32-target.h-new "{o}"elf32-target.h
-
-# Pre-expand some macros in coffswap.h, so MPW C doesn't choke.
-
-sed -e 's/^ PUT_AOUTHDR_TSIZE (/ bfd_h_put_32 (/' \Option-d
- -e 's/^ PUT_AOUTHDR_DSIZE (/ bfd_h_put_32 (/' \Option-d
- -e 's/^ PUT_AOUTHDR_BSIZE (/ bfd_h_put_32 (/' \Option-d
- -e 's/^ PUT_AOUTHDR_ENTRY (/ bfd_h_put_32 (/' \Option-d
- -e 's/^ PUT_AOUTHDR_TEXT_START (/ bfd_h_put_32 (/' \Option-d
- -e 's/^ PUT_AOUTHDR_DATA_START (/ bfd_h_put_32 (/' \Option-d
- "{srcdir}"coffswap.h >"{o}"coffswap.h-new
-
-MoveIfChange "{o}"coffswap.h-new "{o}"coffswap.h
diff --git a/bfd/mpw-make.sed b/bfd/mpw-make.sed
deleted file mode 100644
index b2463c7..0000000
--- a/bfd/mpw-make.sed
+++ /dev/null
@@ -1,81 +0,0 @@
-# Sed commands to finish translating the Unix BFD Makefile into MPW syntax.
-
-# Whack out unused host and target define bits.
-/HDEFINES/s/@HDEFINES@//
-/TDEFINES/s/@TDEFINES@//
-
-# Fix pathnames to include directories.
-/^INCDIR = /s/^INCDIR = .*$/INCDIR = "{topsrcdir}"include/
-/^CSEARCH = /s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
-
-# Comment out setting of vars, configure script will add these itself.
-/^WORDSIZE =/s/^/#/
-# /^ALL_BACKENDS/s/^/#/
-/^BFD_BACKENDS/s/^/#/
-/^BFD_MACHINES/s/^/#/
-/^TDEFAULTS/s/^/#/
-
-# Remove extra, useless, "all".
-/^all \\Option-f _oldest/,/^$/d
-
-# Remove the Makefile rebuild rule.
-/^Makefile /,/--recheck/d
-
-# Don't do any recursive subdir stuff.
-/ subdir_do/s/{MAKE}/null-command/
-
-/BFD_H/s/^{BFD_H}/#{BFD_H}/
-
-# Add explicit srcdir paths to special files.
-/config.bfd/s/ config.bfd/ "{s}"config.bfd/g
-/targmatch.sed/s/ targmatch.sed/ "{s}"targmatch.sed/g
-
-# Point at include files that are always in the objdir.
-/bfd/s/"{s}"bfd\.h/"{o}"bfd.h/g
-/config/s/"{s}"config\.h/"{o}"config.h/g
-/targmatch/s/"{s}"targmatch\.h/"{o}"targmatch.h/g
-/targmatch/s/^targmatch\.h/"{o}"targmatch.h/
-/elf32-target/s/"{s}"elf32-target\.h/"{o}"elf32-target.h/g
-/elf32-target/s/^elf32-target\.h/"{o}"elf32-target.h/
-/elf64-target/s/"{s}"elf64-target\.h/"{o}"elf64-target.h/g
-/elf64-target/s/^elf64-target\.h/"{o}"elf64-target.h/
-
-/"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g
-
-/dep/s/\.dep/__dep/g
-
-# Removing duplicates is cool but presently unnecessary,
-# so whack this out.
-/^ofiles \\Option-f/,/^$/d
-/ofiles/s/{OFILES} ofiles/{OFILES}/
-/echo ofiles = /d
-/cat ofiles/s/`cat ofiles`/{OFILES}/
-
-# No corefile support.
-/COREFILE/s/@COREFILE@//
-/COREFLAG/s/@COREFLAG@//
-
-# No PIC foolery in this environment.
-/@ALLLIBS@/s/@ALLLIBS@/{TARGETLIB}/
-/@PICLIST@/s/@PICLIST@//
-/@PICFLAG@/s/@PICFLAG@//
-/^{OFILES} \\Option-f stamp-picdir/,/^$/d
-
-# Remove the pic trickery from the default build rule.
-/^\.c\.o \\Option-f /,/End If/c\
-.c.o \\Option-f .c
-
-# MPW Make doesn't know about $<.
-/"{o}"targets.c.o \\Option-f "{s}"targets.c Makefile/,/^$/c\
-"{o}"targets.c.o \\Option-f "{s}"targets.c Makefile\
- {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {TDEFAULTS} "{s}"targets.c -o "{o}"targets.c.o
-
-/"{o}"archures.c.o \\Option-f "{s}"archures.c Makefile/,/^$/c\
-"{o}"archures.c.o \\Option-f "{s}"archures.c Makefile\
- {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {TDEFAULTS} "{s}"archures.c -o "{o}"archures.c.o
-
-# Remove the .h rebuilding rules, we don't currently have a doc subdir,
-# or a way to build the prototype-hacking tool that's in it.
-/^"{srcdir}"bfd-in2.h \\Option-f /,/^$/d
-/^"{srcdir}"libbfd.h \\Option-f /,/^$/d
-/^"{srcdir}"libcoff.h \\Option-f /,/^$/d
diff --git a/bfd/netbsd-core.c b/bfd/netbsd-core.c
index 96488ac..570c0f7 100644
--- a/bfd/netbsd-core.c
+++ b/bfd/netbsd-core.c
@@ -4,41 +4,46 @@
Free Software Foundation, Inc.
Written by Paul Kranenburg, EUR
-This file is part of BFD, the Binary File Descriptor library.
+ This file is part of BFD, the Binary File Descriptor library.
-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 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.
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
-#include "libaout.h" /* BFD a.out internal data structures */
+#include "libaout.h" /* BFD a.out internal data structures. */
#include <sys/param.h>
#include <sys/dir.h>
#include <signal.h>
#include <sys/core.h>
-/*
- * FIXME: On NetBSD/sparc CORE_FPU_OFFSET should be (sizeof (struct trapframe))
- */
+/* The machine ID for OpenBSD/sparc64 and older versions of
+ NetBSD/sparc64 overlaps with M_MIPS1. */
+#define M_SPARC64_OPENBSD M_MIPS1
-struct netbsd_core_struct {
- struct core core;
+/* Offset of StackGhost cookie within `struct md_coredump' on
+ OpenBSD/sparc. */
+#define CORE_WCOOKIE_OFFSET 344
+
+struct netbsd_core_struct
+{
+ struct core core;
} *rawptr;
-/* forward declarations */
+/* Forward declarations. */
static const bfd_target *netbsd_core_file_p
PARAMS ((bfd *abfd));
@@ -60,7 +65,7 @@ netbsd_core_file_p (abfd)
{
int i, val;
file_ptr offset;
- asection *asect, *asect2;
+ asection *asect;
struct core core;
struct coreseg coreseg;
bfd_size_type amt = sizeof core;
@@ -68,7 +73,7 @@ netbsd_core_file_p (abfd)
val = bfd_bread ((void *) &core, amt, abfd);
if (val != sizeof core)
{
- /* Too small to be a core file */
+ /* Too small to be a core file. */
bfd_set_error (bfd_error_wrong_format);
return 0;
}
@@ -139,27 +144,58 @@ netbsd_core_file_p (abfd)
asect->filepos = offset;
asect->alignment_power = 2;
- offset += coreseg.c_size;
-
-#ifdef CORE_FPU_OFFSET
- switch (CORE_GETFLAG (coreseg))
+ if (CORE_GETMID (core) == M_SPARC_NETBSD
+ && CORE_GETFLAG (coreseg) == CORE_CPU
+ && coreseg.c_size > CORE_WCOOKIE_OFFSET)
{
- case CORE_CPU:
- /* Hackish... */
- asect->_raw_size = CORE_FPU_OFFSET;
- asect2 = bfd_make_section_anyway (abfd, ".reg2");
- if (asect2 == NULL)
+ /* Truncate the .reg section. */
+ asect->_raw_size = CORE_WCOOKIE_OFFSET;
+
+ /* And create the .wcookie section. */
+ asect = bfd_make_section_anyway (abfd, ".wcookie");
+ if (asect == NULL)
goto punt;
- asect2->_raw_size = coreseg.c_size - CORE_FPU_OFFSET;
- asect2->vma = 0;
- asect2->filepos = asect->filepos + CORE_FPU_OFFSET;
- asect2->alignment_power = 2;
- asect2->flags = SEC_ALLOC + SEC_HAS_CONTENTS;
- break;
+
+ asect->flags = SEC_ALLOC + SEC_HAS_CONTENTS;
+ asect->_raw_size = 4;
+ asect->vma = 0;
+ asect->filepos = offset + CORE_WCOOKIE_OFFSET;
+ asect->alignment_power = 2;
}
-#endif
+
+ offset += coreseg.c_size;
}
+ /* Set architecture from machine ID. */
+ switch (CORE_GETMID (core))
+ {
+ case M_X86_64_NETBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_x86_64);
+ break;
+
+ case M_386_NETBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_i386_i386);
+ break;
+
+ case M_POWERPC_NETBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_powerpc, bfd_mach_ppc);
+ break;
+
+ case M_SPARC_NETBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_sparc, bfd_mach_sparc);
+ break;
+
+ case M_SPARC64_NETBSD:
+ case M_SPARC64_OPENBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_sparc, bfd_mach_sparc_v9);
+ break;
+
+ case M_VAX_NETBSD:
+ case M_VAX4K_NETBSD:
+ bfd_default_set_arch_mach (abfd, bfd_arch_vax, 0);
+ break;
+ }
+
/* OK, we believe you. You're a core file (sure, sure). */
return abfd->xvec;
@@ -191,14 +227,17 @@ netbsd_core_file_matches_executable_p (core_bfd, exec_bfd)
bfd *core_bfd ATTRIBUTE_UNUSED;
bfd *exec_bfd ATTRIBUTE_UNUSED;
{
- return TRUE; /* FIXME, We have no way of telling at this point */
+ /* FIXME, We have no way of telling at this point. */
+ return TRUE;
}
/* If somebody calls any byte-swapping routines, shoot them. */
+
static void
swap_abort ()
{
- abort (); /* This way doesn't require any declaration for ANSI to fuck up */
+ /* This way doesn't require any declaration for ANSI to fuck up. */
+ abort ();
}
#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
@@ -212,15 +251,15 @@ const bfd_target netbsd_core_vec =
{
"netbsd-core",
bfd_target_unknown_flavour,
- BFD_ENDIAN_UNKNOWN, /* target byte order */
- BFD_ENDIAN_UNKNOWN, /* target headers byte order */
- (HAS_RELOC | EXEC_P | /* object flags */
+ BFD_ENDIAN_UNKNOWN, /* Target byte order. */
+ BFD_ENDIAN_UNKNOWN, /* Target headers byte order. */
+ (HAS_RELOC | EXEC_P | /* Object flags. */
HAS_LINENO | HAS_DEBUG |
HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
- (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
- 0, /* symbol prefix */
- ' ', /* ar_pad_char */
- 16, /* ar_max_namelen */
+ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
+ 0, /* Symbol prefix. */
+ ' ', /* ar_pad_char. */
+ 16, /* ar_max_namelen. */
NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data. */
NO_GET, NO_GETS, NO_PUT, /* 32 bit data. */
NO_GET, NO_GETS, NO_PUT, /* 16 bit data. */
@@ -228,17 +267,17 @@ const bfd_target netbsd_core_vec =
NO_GET, NO_GETS, NO_PUT, /* 32 bit hdrs. */
NO_GET, NO_GETS, NO_PUT, /* 16 bit hdrs. */
- { /* bfd_check_format */
- _bfd_dummy_target, /* unknown format */
- _bfd_dummy_target, /* object file */
- _bfd_dummy_target, /* archive */
- netbsd_core_file_p /* a core file */
+ { /* bfd_check_format. */
+ _bfd_dummy_target, /* Unknown format. */
+ _bfd_dummy_target, /* Object file. */
+ _bfd_dummy_target, /* Archive. */
+ netbsd_core_file_p /* A core file. */
},
- { /* bfd_set_format */
+ { /* bfd_set_format. */
bfd_false, bfd_false,
bfd_false, bfd_false
},
- { /* bfd_write_contents */
+ { /* bfd_write_contents. */
bfd_false, bfd_false,
bfd_false, bfd_false
},
@@ -255,5 +294,5 @@ const bfd_target netbsd_core_vec =
NULL,
- (PTR) 0 /* backend_data */
+ (PTR) 0 /* Backend_data. */
};
diff --git a/bfd/nlm-target.h b/bfd/nlm-target.h
index 70ae4f4..cf84000 100644
--- a/bfd/nlm-target.h
+++ b/bfd/nlm-target.h
@@ -1,5 +1,5 @@
/* Target definitions for 32/64-bit NLM (NetWare Loadable Module)
- Copyright 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -44,6 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define nlm_bfd_relax_section bfd_generic_relax_section
#define nlm_bfd_gc_sections bfd_generic_gc_sections
#define nlm_bfd_merge_sections bfd_generic_merge_sections
+#define nlm_bfd_is_group_section bfd_generic_is_group_section
#define nlm_bfd_discard_group bfd_generic_discard_group
#define nlm_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define nlm_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/oasys.c b/bfd/oasys.c
index be6a8d9..2108bda 100644
--- a/bfd/oasys.c
+++ b/bfd/oasys.c
@@ -1,6 +1,6 @@
/* BFD back-end for oasys objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2001,
- 2002, 2003 Free Software Foundation, Inc.
+ 2002, 2003, 2004 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support, <sac@cygnus.com>.
This file is part of BFD, the Binary File Descriptor library.
@@ -1506,6 +1506,7 @@ oasys_sizeof_headers (abfd, exec)
#define oasys_bfd_relax_section bfd_generic_relax_section
#define oasys_bfd_gc_sections bfd_generic_gc_sections
#define oasys_bfd_merge_sections bfd_generic_merge_sections
+#define oasys_bfd_is_group_section bfd_generic_is_group_section
#define oasys_bfd_discard_group bfd_generic_discard_group
#define oasys_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define oasys_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/opncls.c b/bfd/opncls.c
index 6abd405..7603030 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -103,6 +103,7 @@ _bfd_new_bfd_contained_in (bfd *obfd)
if (nbfd == NULL)
return NULL;
nbfd->xvec = obfd->xvec;
+ nbfd->iovec = obfd->iovec;
nbfd->my_archive = obfd;
nbfd->direction = read_direction;
nbfd->target_defaulted = obfd->target_defaulted;
@@ -322,6 +323,183 @@ bfd_openstreamr (const char *filename, const char *target, void *streamarg)
return nbfd;
}
+
+/*
+FUNCTION
+ bfd_openr_iovec
+
+SYNOPSIS
+ bfd *bfd_openr_iovec (const char *filename, const char *target,
+ void *(*open) (struct bfd *nbfd,
+ void *open_closure),
+ void *open_closure,
+ file_ptr (*pread) (struct bfd *nbfd,
+ void *stream,
+ void *buf,
+ file_ptr nbytes,
+ file_ptr offset),
+ int (*close) (struct bfd *nbfd,
+ void *stream));
+
+DESCRIPTION
+
+ Create and return a BFD backed by a read-only @var{stream}.
+ The @var{stream} is created using @var{open}, accessed using
+ @var{pread} and destroyed using @var{close}.
+
+ Calls <<bfd_find_target>>, so @var{target} is interpreted as by
+ that function.
+
+ Calls @var{open} (which can call <<bfd_zalloc>> and
+ <<bfd_get_filename>>) to obtain the read-only stream backing
+ the BFD. @var{open} either succeeds returning the
+ non-<<NULL>> @var{stream}, or fails returning <<NULL>>
+ (setting <<bfd_error>>).
+
+ Calls @var{pread} to request @var{nbytes} of data from
+ @var{stream} starting at @var{offset} (e.g., via a call to
+ <<bfd_read>>). @var{pread} either succeeds returning the
+ number of bytes read (which can be less than @var{nbytes} when
+ end-of-file), or fails returning -1 (setting <<bfd_error>>).
+
+ Calls @var{close} when the BFD is later closed using
+ <<bfd_close>>. @var{close} either succeeds returning 0, or
+ fails returning -1 (setting <<bfd_error>>).
+
+ If <<bfd_openr_iovec>> returns <<NULL>> then an error has
+ occurred. Possible errors are <<bfd_error_no_memory>>,
+ <<bfd_error_invalid_target>> and <<bfd_error_system_call>>.
+
+*/
+
+struct opncls
+{
+ void *stream;
+ file_ptr (*pread) (struct bfd *abfd, void *stream, void *buf,
+ file_ptr nbytes, file_ptr offset);
+ int (*close) (struct bfd *abfd, void *stream);
+ file_ptr where;
+};
+
+static file_ptr
+opncls_btell (struct bfd *abfd)
+{
+ struct opncls *vec = abfd->iostream;
+ return vec->where;
+}
+
+static int
+opncls_bseek (struct bfd *abfd, file_ptr offset, int whence)
+{
+ struct opncls *vec = abfd->iostream;
+ switch (whence)
+ {
+ case SEEK_SET: vec->where = offset; break;
+ case SEEK_CUR: vec->where += offset; break;
+ case SEEK_END: return -1;
+ }
+ return 0;
+}
+
+static file_ptr
+opncls_bread (struct bfd *abfd, void *buf, file_ptr nbytes)
+{
+ struct opncls *vec = abfd->iostream;
+ file_ptr nread = vec->pread (abfd, vec->stream, buf, nbytes, vec->where);
+ if (nread < 0)
+ return nread;
+ vec->where += nread;
+ return nread;
+}
+
+static file_ptr
+opncls_bwrite (struct bfd *abfd ATTRIBUTE_UNUSED,
+ const void *where ATTRIBUTE_UNUSED,
+ file_ptr nbytes ATTRIBUTE_UNUSED)
+{
+ return -1;
+}
+
+static int
+opncls_bclose (struct bfd *abfd)
+{
+ struct opncls *vec = abfd->iostream;
+ /* Since the VEC's memory is bound to the bfd deleting the bfd will
+ free it. */
+ int status = 0;
+ if (vec->close != NULL)
+ status = vec->close (abfd, vec->stream);
+ abfd->iostream = NULL;
+ return status;
+}
+
+static int
+opncls_bflush (struct bfd *abfd ATTRIBUTE_UNUSED)
+{
+ return 0;
+}
+
+static int
+opncls_bstat (struct bfd *abfd ATTRIBUTE_UNUSED, struct stat *sb)
+{
+ memset (sb, 0, sizeof (*sb));
+ return 0;
+}
+
+static const struct bfd_iovec opncls_iovec = {
+ &opncls_bread, &opncls_bwrite, &opncls_btell, &opncls_bseek,
+ &opncls_bclose, &opncls_bflush, &opncls_bstat
+};
+
+bfd *
+bfd_openr_iovec (const char *filename, const char *target,
+ void *(*open) (struct bfd *nbfd,
+ void *open_closure),
+ void *open_closure,
+ file_ptr (*pread) (struct bfd *abfd,
+ void *stream,
+ void *buf,
+ file_ptr nbytes,
+ file_ptr offset),
+ int (*close) (struct bfd *nbfd,
+ void *stream))
+{
+ bfd *nbfd;
+ const bfd_target *target_vec;
+ struct opncls *vec;
+ void *stream;
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
+ return NULL;
+
+ target_vec = bfd_find_target (target, nbfd);
+ if (target_vec == NULL)
+ {
+ _bfd_delete_bfd (nbfd);
+ return NULL;
+ }
+
+ nbfd->filename = filename;
+ nbfd->direction = read_direction;
+
+ stream = open (nbfd, open_closure);
+ if (stream == NULL)
+ {
+ _bfd_delete_bfd (nbfd);
+ return NULL;
+ }
+
+ vec = bfd_zalloc (nbfd, sizeof (struct opncls));
+ vec->stream = stream;
+ vec->pread = pread;
+ vec->close = close;
+
+ nbfd->iovec = &opncls_iovec;
+ nbfd->iostream = vec;
+
+ return nbfd;
+}
/* bfd_openw -- open for writing.
Returns a pointer to a freshly-allocated BFD on success, or NULL.
@@ -415,7 +593,12 @@ bfd_close (bfd *abfd)
if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
return FALSE;
- ret = bfd_cache_close (abfd);
+ /* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
+ vector. */
+ if (!(abfd->flags & BFD_IN_MEMORY))
+ ret = abfd->iovec->bclose (abfd);
+ else
+ ret = 0;
/* If the file was open for writing and is now executable,
make it so. */
@@ -630,7 +813,7 @@ INTERNAL_FUNCTION
bfd_alloc
SYNOPSIS
- void *bfd_alloc (bfd *abfd, size_t wanted);
+ void *bfd_alloc (bfd *abfd, bfd_size_type wanted);
DESCRIPTION
Allocate a block of @var{wanted} bytes of memory attached to
diff --git a/bfd/pe-i386.c b/bfd/pe-i386.c
index a912cff..be691fd 100644
--- a/bfd/pe-i386.c
+++ b/bfd/pe-i386.c
@@ -1,5 +1,5 @@
/* BFD back-end for Intel 386 PECOFF files.
- Copyright 1995, 1996, 1999, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1995, 1996, 1999, 2001, 2002, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -20,12 +20,13 @@
#include "bfd.h"
#include "sysdep.h"
-#define TARGET_SYM i386pe_vec
-#define TARGET_NAME "pe-i386"
+#define TARGET_SYM i386pe_vec
+#define TARGET_NAME "pe-i386"
#define COFF_WITH_PE
-#define PCRELOFFSET TRUE
-#define TARGET_UNDERSCORE '_'
+#define PCRELOFFSET TRUE
+#define TARGET_UNDERSCORE '_'
#define COFF_LONG_SECTION_NAMES
+#define COFF_SUPPORT_GNU_LINKONCE
#define COFF_LONG_FILENAMES
#define COFF_SECTION_ALIGNMENT_ENTRIES \
@@ -38,6 +39,10 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
- COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
#include "coff-i386.c"
diff --git a/bfd/pe-mips.c b/bfd/pe-mips.c
index 3066aaa..6e74c7e 100644
--- a/bfd/pe-mips.c
+++ b/bfd/pe-mips.c
@@ -41,16 +41,6 @@ static reloc_howto_type *coff_mips_rtype_to_howto
PARAMS ((bfd *, asection *, struct internal_reloc *,
struct coff_link_hash_entry *, struct internal_syment *,
bfd_vma *));
-#if 0
-static void mips_ecoff_swap_reloc_in
- PARAMS ((bfd *, PTR, struct internal_reloc *));
-static void mips_ecoff_swap_reloc_out
- PARAMS ((bfd *, const struct internal_reloc *, PTR));
-static void mips_adjust_reloc_in
- PARAMS ((bfd *, const struct internal_reloc *, arelent *));
-static void mips_adjust_reloc_out
- PARAMS ((bfd *, const arelent *, struct internal_reloc *));
-#endif
static bfd_boolean in_reloc_p
PARAMS ((bfd *, reloc_howto_type *));
@@ -534,20 +524,6 @@ coff_mips_reloc_type_lookup (abfd, code)
case BFD_RELOC_MIPS_LITERAL:
mips_type = MIPS_R_LITERAL;
break;
-/* FIXME?
- case BFD_RELOC_16_PCREL_S2:
- mips_type = MIPS_R_PCREL16;
- break;
- case BFD_RELOC_PCREL_HI16_S:
- mips_type = MIPS_R_RELHI;
- break;
- case BFD_RELOC_PCREL_LO16:
- mips_type = MIPS_R_RELLO;
- break;
- case BFD_RELOC_GPREL32:
- mips_type = MIPS_R_SWITCH;
- break;
-*/
case BFD_RELOC_RVA:
mips_type = MIPS_R_RVA;
break;
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index 559f2a2..d7f3750 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -198,7 +198,6 @@ _bfd_XXi_swap_sym_in (abfd, ext1, in1)
sec->lineno_count = 0;
sec->userdata = NULL;
sec->next = (asection *) NULL;
- sec->flags = 0;
sec->alignment_power = 2;
sec->flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_DATA | SEC_LOAD;
@@ -658,14 +657,19 @@ _bfd_XXi_swap_aouthdr_out (abfd, in, out)
{
asection *sec;
+ bfd_vma hsize = 0;
bfd_vma dsize = 0;
- bfd_vma isize = SA(abfd->sections->filepos);
+ bfd_vma isize = 0;
bfd_vma tsize = 0;
for (sec = abfd->sections; sec; sec = sec->next)
{
int rounded = FA(sec->_raw_size);
+ /* The first non-zero section filepos is the header size.
+ Sections without contents will have a filepos of 0. */
+ if (hsize == 0)
+ hsize = sec->filepos;
if (sec->flags & SEC_DATA)
dsize += rounded;
if (sec->flags & SEC_CODE)
@@ -682,10 +686,10 @@ _bfd_XXi_swap_aouthdr_out (abfd, in, out)
aouthdr_in->dsize = dsize;
aouthdr_in->tsize = tsize;
- extra->SizeOfImage = isize;
+ extra->SizeOfHeaders = hsize;
+ extra->SizeOfImage = SA(hsize) + isize;
}
- extra->SizeOfHeaders = abfd->sections->filepos;
H_PUT_16 (abfd, aouthdr_in->magic, aouthdr_out->standard.magic);
#define LINKER_VERSION 256 /* That is, 2.56 */
@@ -983,7 +987,6 @@ _bfd_XXi_swap_scnhdr_out (abfd, in, out)
};
pe_required_section_flags * p;
- int flags = scnhdr_int->s_flags;
/* We have defaulted to adding the IMAGE_SCN_MEM_WRITE flag, but now
we know exactly what this specific section wants so we remove it
@@ -992,19 +995,18 @@ _bfd_XXi_swap_scnhdr_out (abfd, in, out)
default WP_TEXT file flag has been cleared. WP_TEXT may be cleared
by ld --enable-auto-import (if auto-import is actually needed),
by ld --omagic, or by obcopy --writable-text. */
-
- if (strcmp (scnhdr_int->s_name, ".text")
- || (bfd_get_file_flags (abfd) & WP_TEXT))
- flags &= ~IMAGE_SCN_MEM_WRITE;
for (p = known_sections; p->section_name; p++)
if (strcmp (scnhdr_int->s_name, p->section_name) == 0)
{
- flags |= p->must_have;
+ if (strcmp (scnhdr_int->s_name, ".text")
+ || (bfd_get_file_flags (abfd) & WP_TEXT))
+ scnhdr_int->s_flags &= ~IMAGE_SCN_MEM_WRITE;
+ scnhdr_int->s_flags |= p->must_have;
break;
}
- H_PUT_32 (abfd, flags, scnhdr_ext->s_flags);
+ H_PUT_32 (abfd, scnhdr_int->s_flags, scnhdr_ext->s_flags);
}
if (coff_data (abfd)->link_info
diff --git a/bfd/pef.c b/bfd/pef.c
index 7d758cf..e1bb5a7 100644
--- a/bfd/pef.c
+++ b/bfd/pef.c
@@ -1,5 +1,5 @@
/* PEF support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2003
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -52,6 +52,7 @@
#define bfd_pef_bfd_relax_section bfd_generic_relax_section
#define bfd_pef_bfd_gc_sections bfd_generic_gc_sections
#define bfd_pef_bfd_merge_sections bfd_generic_merge_sections
+#define bfd_pef_bfd_is_group_section bfd_generic_is_group_section
#define bfd_pef_bfd_discard_group bfd_generic_discard_group
#define bfd_pef_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define bfd_pef_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/pei-i386.c b/bfd/pei-i386.c
index 63a63a8..4a59f14 100644
--- a/bfd/pei-i386.c
+++ b/bfd/pei-i386.c
@@ -1,5 +1,5 @@
/* BFD back-end for Intel 386 PE IMAGE COFF files.
- Copyright 1995, 1996, 1999, 2002 Free Software Foundation, Inc.
+ Copyright 1995, 1996, 1999, 2002, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -20,13 +20,14 @@
#include "bfd.h"
#include "sysdep.h"
-#define TARGET_SYM i386pei_vec
-#define TARGET_NAME "pei-i386"
+#define TARGET_SYM i386pei_vec
+#define TARGET_NAME "pei-i386"
#define COFF_IMAGE_WITH_PE
#define COFF_WITH_PE
-#define PCRELOFFSET TRUE
-#define TARGET_UNDERSCORE '_'
+#define PCRELOFFSET TRUE
+#define TARGET_UNDERSCORE '_'
#define COFF_LONG_SECTION_NAMES
+#define COFF_SUPPORT_GNU_LINKONCE
#define COFF_LONG_FILENAMES
#define COFF_SECTION_ALIGNMENT_ENTRIES \
@@ -39,6 +40,10 @@
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
- COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
#include "coff-i386.c"
diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in
index 07742dd..d29593d 100644
--- a/bfd/po/SRC-POTFILES.in
+++ b/bfd/po/SRC-POTFILES.in
@@ -185,7 +185,6 @@ elfcore.h
elf-eh-frame.c
elf-hppa.h
elflink.c
-elflink.h
elf-m10200.c
elf-m10300.c
elfn32-mips.c
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index 5d4f234..dd37e15 100644
--- a/bfd/po/bfd.pot
+++ b/bfd/po/bfd.pot
@@ -1,12 +1,14 @@
# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-17 14:52+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-27 15:34+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -34,22 +36,22 @@ msgstr ""
msgid "%s: Bad relocation record imported: %d"
msgstr ""
-#: aoutx.h:1295 aoutx.h:1716
+#: aoutx.h:1296 aoutx.h:1717
#, c-format
msgid "%s: can not represent section `%s' in a.out object file format"
msgstr ""
-#: aoutx.h:1682
+#: aoutx.h:1683
#, c-format
msgid ""
"%s: can not represent section for symbol `%s' in a.out object file format"
msgstr ""
-#: aoutx.h:1684
+#: aoutx.h:1685
msgid "*unknown*"
msgstr ""
-#: aoutx.h:3776
+#: aoutx.h:3777
#, c-format
msgid "%s: relocatable link from %s to %s not supported"
msgstr ""
@@ -171,15 +173,16 @@ msgid "not mapping: data=%lx mapped=%d\n"
msgstr ""
#: bfdwin.c:205
+#, c-format
msgid "not mapping: env var not set\n"
msgstr ""
-#: binary.c:306
+#: binary.c:308
#, c-format
msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
msgstr ""
-#: coff-rs6000.c:3616 coff64-rs6000.c:2109
+#: coff64-rs6000.c:2108 coff-rs6000.c:3615
#, c-format
msgid "%s: symbol `%s' has unrecognized smclas %d"
msgstr ""
@@ -212,169 +215,181 @@ msgstr ""
msgid "using multiple gp values"
msgstr ""
-#: coff-arm.c:1066 elf32-arm.h:294
+#: coff-arm.c:1066 elf32-arm.h:465
#, c-format
msgid "%s: unable to find THUMB glue '%s' for `%s'"
msgstr ""
-#: coff-arm.c:1096 elf32-arm.h:329
+#: coff-arm.c:1096 elf32-arm.h:500
#, c-format
msgid "%s: unable to find ARM glue '%s' for `%s'"
msgstr ""
-#: coff-arm.c:1394 coff-arm.c:1489 elf32-arm.h:892 elf32-arm.h:999
+#: coff-arm.c:1400 coff-arm.c:1495 elf32-arm.h:1063 elf32-arm.h:1170
#, c-format
msgid "%s(%s): warning: interworking not enabled."
msgstr ""
-#: coff-arm.c:1398 elf32-arm.h:1002
+#: coff-arm.c:1404 elf32-arm.h:1173
#, c-format
msgid " first occurrence: %s: arm call to thumb"
msgstr ""
-#: coff-arm.c:1493 elf32-arm.h:895
+#: coff-arm.c:1499 elf32-arm.h:1066
#, c-format
msgid " first occurrence: %s: thumb call to arm"
msgstr ""
-#: coff-arm.c:1496
+#: coff-arm.c:1502
msgid " consider relinking with --support-old-code enabled"
msgstr ""
-#: coff-arm.c:1788 coff-tic80.c:687 cofflink.c:3038
+#: coff-arm.c:1797 cofflink.c:2987 coff-tic80.c:687
#, c-format
msgid "%s: bad reloc address 0x%lx in section `%s'"
msgstr ""
-#: coff-arm.c:2132
+#: coff-arm.c:2141
#, c-format
msgid "%s: illegal symbol index in reloc: %d"
msgstr ""
-#: coff-arm.c:2265
+#: coff-arm.c:2274
#, c-format
msgid "ERROR: %s is compiled for APCS-%d, whereas %s is compiled for APCS-%d"
msgstr ""
-#: coff-arm.c:2280 elf32-arm.h:2328
+#: coff-arm.c:2289 elf32-arm.h:2482
#, c-format
msgid ""
"ERROR: %s passes floats in float registers, whereas %s passes them in "
"integer registers"
msgstr ""
-#: coff-arm.c:2283 elf32-arm.h:2333
+#: coff-arm.c:2292 elf32-arm.h:2487
#, c-format
msgid ""
"ERROR: %s passes floats in integer registers, whereas %s passes them in "
"float registers"
msgstr ""
-#: coff-arm.c:2298
+#: coff-arm.c:2307
#, c-format
msgid ""
"ERROR: %s is compiled as position independent code, whereas target %s is "
"absolute position"
msgstr ""
-#: coff-arm.c:2301
+#: coff-arm.c:2310
#, c-format
msgid ""
"ERROR: %s is compiled as absolute position code, whereas target %s is "
"position independent"
msgstr ""
-#: coff-arm.c:2330 elf32-arm.h:2405
+#: coff-arm.c:2339 elf32-arm.h:2559
#, c-format
msgid "Warning: %s supports interworking, whereas %s does not"
msgstr ""
-#: coff-arm.c:2333 elf32-arm.h:2412
+#: coff-arm.c:2342 elf32-arm.h:2566
#, c-format
msgid "Warning: %s does not support interworking, whereas %s does"
msgstr ""
-#: coff-arm.c:2360
+#: coff-arm.c:2369
#, c-format
msgid "private flags = %x:"
msgstr ""
-#: coff-arm.c:2368 elf32-arm.h:2467
+#: coff-arm.c:2377 elf32-arm.h:2621
+#, c-format
msgid " [floats passed in float registers]"
msgstr ""
-#: coff-arm.c:2370
+#: coff-arm.c:2379
+#, c-format
msgid " [floats passed in integer registers]"
msgstr ""
-#: coff-arm.c:2373 elf32-arm.h:2470
+#: coff-arm.c:2382 elf32-arm.h:2624
+#, c-format
msgid " [position independent]"
msgstr ""
-#: coff-arm.c:2375
+#: coff-arm.c:2384
+#, c-format
msgid " [absolute position]"
msgstr ""
-#: coff-arm.c:2379
+#: coff-arm.c:2388
+#, c-format
msgid " [interworking flag not initialised]"
msgstr ""
-#: coff-arm.c:2381
+#: coff-arm.c:2390
+#, c-format
msgid " [interworking supported]"
msgstr ""
-#: coff-arm.c:2383
+#: coff-arm.c:2392
+#, c-format
msgid " [interworking not supported]"
msgstr ""
-#: coff-arm.c:2431 elf32-arm.h:2150
+#: coff-arm.c:2440 elf32-arm.h:2286
#, c-format
msgid ""
"Warning: Not setting interworking flag of %s since it has already been "
"specified as non-interworking"
msgstr ""
-#: coff-arm.c:2435 elf32-arm.h:2154
+#: coff-arm.c:2444 elf32-arm.h:2290
#, c-format
msgid "Warning: Clearing the interworking flag of %s due to outside request"
msgstr ""
-#: coffcode.h:1108
+#: coffcode.h:1112
#, c-format
msgid "%s (%s): Section flag %s (0x%x) ignored"
msgstr ""
-#: coffcode.h:2214
+#: coffcode.h:2224
#, c-format
msgid "Unrecognized TI COFF target id '0x%x'"
msgstr ""
-#: coffcode.h:4439
+#: coffcode.h:4428
+#, c-format
+msgid "%s: warning: line number table read failed"
+msgstr ""
+
+#: coffcode.h:4461
#, c-format
msgid "%s: warning: illegal symbol index %ld in line numbers"
msgstr ""
-#: coffcode.h:4453
+#: coffcode.h:4475
#, c-format
msgid "%s: warning: duplicate line number information for `%s'"
msgstr ""
-#: coffcode.h:4807
+#: coffcode.h:4831
#, c-format
msgid "%s: Unrecognized storage class %d for %s symbol `%s'"
msgstr ""
-#: coffcode.h:4940
+#: coffcode.h:4964
#, c-format
msgid "warning: %s: local symbol `%s' has no section"
msgstr ""
-#: coff-tic4x.c:218 coff-tic54x.c:373 coffcode.h:5047
+#: coffcode.h:5071 coff-i860.c:610 coff-tic4x.c:218 coff-tic54x.c:366
#, c-format
msgid "%s: warning: illegal symbol index %ld in relocs"
msgstr ""
-#: coffcode.h:5085
+#: coffcode.h:5109
#, c-format
msgid "%s: illegal relocation type %d at address 0x%lx"
msgstr ""
@@ -384,40 +399,45 @@ msgstr ""
msgid "%s: bad string table size %lu"
msgstr ""
-#: coff-h8300.c:1047
+#: coff-h8300.c:1124
#, c-format
msgid "cannot handle R_MEM_INDIRECT reloc when using %s output"
msgstr ""
+#: coff-i860.c:142
+#, c-format
+msgid "Relocation `%s' not yet implemented\n"
+msgstr ""
+
#: coff-i960.c:137 coff-i960.c:486
msgid "uncertain calling convention for non-COFF symbol"
msgstr ""
-#: cofflink.c:538 elflink.h:1276
+#: cofflink.c:506 elflink.c:3665
#, c-format
msgid "Warning: type of symbol `%s' changed from %d to %d in %s"
msgstr ""
-#: cofflink.c:2328
+#: cofflink.c:2293
#, c-format
msgid "%s: relocs in section `%s', but it has no contents"
msgstr ""
-#: cofflink.c:2671 coffswap.h:890
+#: cofflink.c:2629 coffswap.h:890
#, c-format
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
msgstr ""
-#: cofflink.c:2680 coffswap.h:876
+#: cofflink.c:2638 coffswap.h:876
#, c-format
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
msgstr ""
-#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2193 elf32-mips.c:1783
+#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2145 elf32-mips.c:1405
msgid "unsupported reloc type"
msgstr ""
-#: coff-mips.c:839 elf32-mips.c:1088 elf64-mips.c:1590 elfn32-mips.c:1554
+#: coff-mips.c:839 elf32-mips.c:795 elf64-mips.c:1490 elfn32-mips.c:1301
msgid "GP relative relocation when _gp not defined"
msgstr ""
@@ -431,17 +451,17 @@ msgstr ""
msgid "reloc not properly aligned"
msgstr ""
-#: coff-rs6000.c:2790
+#: coff-rs6000.c:2789
#, c-format
msgid "%s: unsupported relocation type 0x%02x"
msgstr ""
-#: coff-rs6000.c:2883
+#: coff-rs6000.c:2882
#, c-format
msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
msgstr ""
-#: coff-tic4x.c:170 coff-tic54x.c:288 coff-tic80.c:450
+#: coff-tic4x.c:170 coff-tic54x.c:281 coff-tic80.c:450
#, c-format
msgid "Unrecognized reloc type 0x%x"
msgstr ""
@@ -461,72 +481,72 @@ msgstr ""
msgid "warning: unable to update contents of %s section in %s"
msgstr ""
-#: dwarf2.c:380
+#: dwarf2.c:289
msgid "Dwarf Error: Can't find .debug_str section."
msgstr ""
-#: dwarf2.c:397
+#: dwarf2.c:306
#, c-format
msgid ""
"Dwarf Error: DW_FORM_strp offset (%lu) greater than or equal to .debug_str "
"size (%lu)."
msgstr ""
-#: dwarf2.c:541
+#: dwarf2.c:441
msgid "Dwarf Error: Can't find .debug_abbrev section."
msgstr ""
-#: dwarf2.c:556
+#: dwarf2.c:456
#, c-format
msgid ""
"Dwarf Error: Abbrev offset (%lu) greater than or equal to .debug_abbrev size "
"(%lu)."
msgstr ""
-#: dwarf2.c:756
+#: dwarf2.c:654
#, c-format
msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
msgstr ""
-#: dwarf2.c:933
+#: dwarf2.c:827
msgid "Dwarf Error: mangled line number section (bad file number)."
msgstr ""
-#: dwarf2.c:1032
+#: dwarf2.c:920
msgid "Dwarf Error: Can't find .debug_line section."
msgstr ""
-#: dwarf2.c:1049
+#: dwarf2.c:937
#, c-format
msgid ""
"Dwarf Error: Line offset (%lu) greater than or equal to .debug_line size (%"
"lu)."
msgstr ""
-#: dwarf2.c:1255
+#: dwarf2.c:1142
msgid "Dwarf Error: mangled line number section."
msgstr ""
-#: dwarf2.c:1470 dwarf2.c:1620
+#: dwarf2.c:1352 dwarf2.c:1501
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr ""
-#: dwarf2.c:1581
+#: dwarf2.c:1462
#, c-format
msgid ""
"Dwarf Error: found dwarf version '%u', this reader only handles version 2 "
"information."
msgstr ""
-#: dwarf2.c:1588
+#: dwarf2.c:1469
#, c-format
msgid ""
"Dwarf Error: found address size '%u', this reader can not handle sizes "
"greater than '%u'."
msgstr ""
-#: dwarf2.c:1611
+#: dwarf2.c:1492
#, c-format
msgid "Dwarf Error: Bad abbrev number: %u."
msgstr ""
@@ -592,323 +612,404 @@ msgid ""
" Type: %s"
msgstr ""
-#: elf32-arm.h:1228
+#: elf32-arm.h:1416
#, c-format
msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr ""
-#: elf32-arm.h:1424
+#: elf32-arm.h:1612
#, c-format
msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr ""
-#: elf32-arm.h:1918 elf32-sh.c:4706 elf64-sh64.c:1613
+#: elf32-arm.h:2080 elf32-sh.c:4808 elf64-sh64.c:1596
#, c-format
msgid "%s(%s+0x%lx): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.h:2012
+#: elf32-arm.h:2172
#, c-format
msgid ""
"%s: warning: unresolvable relocation %d against symbol `%s' from %s section"
msgstr ""
-#: elf-m10200.c:442 elf-m10300.c:1695 elf32-arm.h:2088 elf32-avr.c:812
-#: elf32-cris.c:1390 elf32-d10v.c:482 elf32-fr30.c:634 elf32-frv.c:815
-#: elf32-h8300.c:509 elf32-i860.c:1028 elf32-ip2k.c:1586 elf32-iq2000.c:699
-#: elf32-m32r.c:1283 elf32-m68hc1x.c:1305 elf32-msp430.c:510
-#: elf32-openrisc.c:436 elf32-v850.c:1777 elf32-xstormy16.c:976
-#: elf64-mmix.c:1332
+#: elf32-arm.h:2224 elf32-avr.c:791 elf32-cris.c:1376 elf32-d10v.c:563
+#: elf32-fr30.c:599 elf32-frv.c:2499 elf32-h8300.c:493 elf32-i860.c:1196
+#: elf32-ip2k.c:1568 elf32-iq2000.c:666 elf32-m32r.c:3191 elf32-m68hc1x.c:1190
+#: elf32-msp430.c:489 elf32-openrisc.c:415 elf32-v850.c:1746
+#: elf32-xstormy16.c:954 elf64-mmix.c:1518 elf-m10200.c:426 elf-m10300.c:1676
msgid "internal error: out of range error"
msgstr ""
-#: elf-m10200.c:446 elf-m10300.c:1699 elf32-arm.h:2092 elf32-avr.c:816
-#: elf32-cris.c:1394 elf32-d10v.c:486 elf32-fr30.c:638 elf32-frv.c:819
-#: elf32-h8300.c:513 elf32-i860.c:1032 elf32-iq2000.c:703 elf32-m32r.c:1287
-#: elf32-m68hc1x.c:1309 elf32-msp430.c:514 elf32-openrisc.c:440
-#: elf32-v850.c:1781 elf32-xstormy16.c:980 elf64-mmix.c:1336 elfxx-mips.c:6452
+#: elf32-arm.h:2228 elf32-avr.c:795 elf32-cris.c:1380 elf32-d10v.c:567
+#: elf32-fr30.c:603 elf32-frv.c:2503 elf32-h8300.c:497 elf32-i860.c:1200
+#: elf32-iq2000.c:670 elf32-m32r.c:3195 elf32-m68hc1x.c:1194
+#: elf32-msp430.c:493 elf32-openrisc.c:419 elf32-v850.c:1750
+#: elf32-xstormy16.c:958 elf64-mmix.c:1522 elf-m10200.c:430 elf-m10300.c:1680
+#: elfxx-mips.c:6459
msgid "internal error: unsupported relocation error"
msgstr ""
-#: elf-m10200.c:450 elf-m10300.c:1703 elf32-arm.h:2096 elf32-d10v.c:490
-#: elf32-h8300.c:517 elf32-m32r.c:1291 elf32-m68hc1x.c:1313
+#: elf32-arm.h:2232 elf32-d10v.c:571 elf32-h8300.c:501 elf32-m32r.c:3199
+#: elf32-m68hc1x.c:1198 elf-m10200.c:434 elf-m10300.c:1684
msgid "internal error: dangerous error"
msgstr ""
-#: elf-m10200.c:454 elf-m10300.c:1707 elf32-arm.h:2100 elf32-avr.c:824
-#: elf32-cris.c:1402 elf32-d10v.c:494 elf32-fr30.c:646 elf32-frv.c:827
-#: elf32-h8300.c:521 elf32-i860.c:1040 elf32-ip2k.c:1601 elf32-iq2000.c:711
-#: elf32-m32r.c:1295 elf32-m68hc1x.c:1317 elf32-msp430.c:522
-#: elf32-openrisc.c:448 elf32-v850.c:1801 elf32-xstormy16.c:988
-#: elf64-mmix.c:1344
+#: elf32-arm.h:2236 elf32-avr.c:803 elf32-cris.c:1388 elf32-d10v.c:575
+#: elf32-fr30.c:611 elf32-frv.c:2511 elf32-h8300.c:505 elf32-i860.c:1208
+#: elf32-ip2k.c:1583 elf32-iq2000.c:678 elf32-m32r.c:3203 elf32-m68hc1x.c:1202
+#: elf32-msp430.c:501 elf32-openrisc.c:427 elf32-v850.c:1770
+#: elf32-xstormy16.c:966 elf64-mmix.c:1530 elf-m10200.c:438 elf-m10300.c:1688
msgid "internal error: unknown error"
msgstr ""
-#: elf32-arm.h:2202
+#: elf32-arm.h:2338
#, c-format
msgid ""
"Warning: Clearing the interworking flag of %s because non-interworking code "
"in %s has been linked with it"
msgstr ""
-#: elf32-arm.h:2302
+#: elf32-arm.h:2456
#, c-format
msgid ""
"ERROR: %s is compiled for EABI version %d, whereas %s is compiled for "
"version %d"
msgstr ""
-#: elf32-arm.h:2316
+#: elf32-arm.h:2470
#, c-format
msgid "ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d"
msgstr ""
-#: elf32-arm.h:2344
+#: elf32-arm.h:2498
#, c-format
msgid "ERROR: %s uses VFP instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2349
+#: elf32-arm.h:2503
#, c-format
msgid "ERROR: %s uses FPA instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2360 elf32-arm.h:2365
+#: elf32-arm.h:2514
#, c-format
msgid "ERROR: %s uses Maverick instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2385
+#: elf32-arm.h:2519
+#, c-format
+msgid "ERROR: %s does not use Maverick instructions, whereas %s does"
+msgstr ""
+
+#: elf32-arm.h:2539
#, c-format
msgid "ERROR: %s uses software FP, whereas %s uses hardware FP"
msgstr ""
-#: elf32-arm.h:2390
+#: elf32-arm.h:2544
#, c-format
msgid "ERROR: %s uses hardware FP, whereas %s uses software FP"
msgstr ""
#. Ignore init flag - it may not be set, despite the flags field
#. containing valid data.
-#: elf32-arm.h:2443 elf32-cris.c:2975 elf32-m68hc1x.c:1459 elf32-m68k.c:397
-#: elf32-vax.c:546 elfxx-mips.c:9240
+#. Ignore init flag - it may not be set, despite the flags field containing valid data.
+#: elf32-arm.h:2597 elf32-cris.c:2980 elf32-m68hc1x.c:1338 elf32-m68k.c:397
+#: elf32-vax.c:546 elfxx-mips.c:9168
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.h:2452
+#: elf32-arm.h:2606
+#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.h:2460
+#: elf32-arm.h:2614
+#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.h:2462
+#: elf32-arm.h:2616
+#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.h:2464
+#: elf32-arm.h:2618
+#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.h:2473
+#: elf32-arm.h:2627
+#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.h:2476
+#: elf32-arm.h:2630
+#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.h:2479
+#: elf32-arm.h:2633
+#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.h:2488
+#: elf32-arm.h:2642
+#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.h:2491 elf32-arm.h:2502
+#: elf32-arm.h:2645 elf32-arm.h:2656
+#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.h:2493 elf32-arm.h:2504
+#: elf32-arm.h:2647 elf32-arm.h:2658
+#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.h:2499
+#: elf32-arm.h:2653
+#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.h:2507
+#: elf32-arm.h:2661
+#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.h:2510
+#: elf32-arm.h:2664
+#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.h:2517
+#: elf32-arm.h:2671
+#, c-format
+msgid " [Version3 EABI]"
+msgstr ""
+
+#: elf32-arm.h:2674
+#, c-format
+msgid " [BE8]"
+msgstr ""
+
+#: elf32-arm.h:2677
+#, c-format
+msgid " [LE8]"
+msgstr ""
+
+#: elf32-arm.h:2683
+#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.h:2524
+#: elf32-arm.h:2690
+#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.h:2527
+#: elf32-arm.h:2693
+#, c-format
msgid " [has entry point]"
msgstr ""
-#: elf32-arm.h:2532
+#: elf32-arm.h:2698
+#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-avr.c:820 elf32-cris.c:1398 elf32-fr30.c:642 elf32-frv.c:823
-#: elf32-i860.c:1036 elf32-ip2k.c:1597 elf32-iq2000.c:707 elf32-msp430.c:518
-#: elf32-openrisc.c:444 elf32-v850.c:1785 elf32-xstormy16.c:984
-#: elf64-mmix.c:1340
+#: elf32-avr.c:799 elf32-cris.c:1384 elf32-fr30.c:607 elf32-frv.c:2507
+#: elf32-i860.c:1204 elf32-ip2k.c:1579 elf32-iq2000.c:674 elf32-msp430.c:497
+#: elf32-openrisc.c:423 elf32-v850.c:1754 elf32-xstormy16.c:962
+#: elf64-mmix.c:1526
msgid "internal error: dangerous relocation"
msgstr ""
-#: elf32-cris.c:931
+#: elf32-cris.c:921
#, c-format
msgid "%s: unresolvable relocation %s against symbol `%s' from %s section"
msgstr ""
-#: elf32-cris.c:993
+#: elf32-cris.c:978
#, c-format
msgid ""
"%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section"
msgstr ""
-#: elf32-cris.c:996 elf32-cris.c:1122
+#: elf32-cris.c:980
+#, c-format
+msgid "%s: No PLT for relocation %s against symbol `%s' from %s section"
+msgstr ""
+
+#: elf32-cris.c:984 elf32-cris.c:1117
msgid "[whose name is lost]"
msgstr ""
-#: elf32-cris.c:1111
+#: elf32-cris.c:1106
#, c-format
msgid ""
"%s: relocation %s with non-zero addend %d against local symbol from %s "
"section"
msgstr ""
-#: elf32-cris.c:1118
+#: elf32-cris.c:1113
#, c-format
msgid ""
"%s: relocation %s with non-zero addend %d against symbol `%s' from %s section"
msgstr ""
-#: elf32-cris.c:1143
+#: elf32-cris.c:1138
#, c-format
msgid ""
"%s: relocation %s is not allowed for global symbol: `%s' from %s section"
msgstr ""
-#: elf32-cris.c:1158
+#: elf32-cris.c:1153
#, c-format
msgid "%s: relocation %s in section %s with no GOT created"
msgstr ""
-#: elf32-cris.c:1277
+#: elf32-cris.c:1272
#, c-format
msgid "%s: Internal inconsistency; no relocation section %s"
msgstr ""
-#: elf32-cris.c:2500
+#: elf32-cris.c:2502
#, c-format
msgid ""
"%s, section %s:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:2978
+#: elf32-cris.c:2983
+#, c-format
msgid " [symbols have a _ prefix]"
msgstr ""
-#: elf32-cris.c:3017
+#: elf32-cris.c:3022
#, c-format
msgid "%s: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr ""
-#: elf32-cris.c:3018
+#: elf32-cris.c:3023
#, c-format
msgid "%s: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr ""
-#: elf32-frv.c:1223
+#: elf32-frv.c:2013
+msgid "Dynamic relocation references symbol with nonzero addend"
+msgstr ""
+
+#: elf32-frv.c:2026
+msgid "relocation references symbol not defined in the module"
+msgstr ""
+
+#: elf32-frv.c:2120
+msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend"
+msgstr ""
+
+#: elf32-frv.c:2158 elf32-frv.c:2257
+msgid "cannot emit fixups in read-only section"
+msgstr ""
+
+#: elf32-frv.c:2181 elf32-frv.c:2294
+msgid "cannot emit dynamic relocations in read-only section"
+msgstr ""
+
+#: elf32-frv.c:2216
+msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
+msgstr ""
+
+#: elf32-frv.c:2386
+msgid "relocations between different segments are not supported"
+msgstr ""
+
+#: elf32-frv.c:2387
+msgid "warning: relocation references a different segment"
+msgstr ""
+
+#: elf32-frv.c:4390
#, c-format
msgid ""
"%s: compiled with %s and linked with modules that use non-pic relocations"
msgstr ""
-#: elf32-frv.c:1273 elf32-iq2000.c:895
+#: elf32-frv.c:4443 elf32-iq2000.c:862
#, c-format
msgid "%s: compiled with %s and linked with modules compiled with %s"
msgstr ""
-#: elf32-frv.c:1285
+#: elf32-frv.c:4455
#, c-format
msgid ""
"%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%"
"lx)"
msgstr ""
-#: elf32-frv.c:1321 elf32-iq2000.c:933
+#: elf32-frv.c:4491 elf32-iq2000.c:900
#, c-format
msgid "private flags = 0x%lx:"
msgstr ""
-#: elf32-gen.c:83 elf64-gen.c:82
+#: elf32-gen.c:83 elf64-gen.c:83
#, c-format
msgid "%s: Relocations in generic ELF (EM: %d)"
msgstr ""
-#: elf32-hppa.c:672 elf32-m68hc1x.c:176 elf64-ppc.c:3118
+#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3188
#, c-format
msgid "%s: cannot create stub entry %s"
msgstr ""
-#: elf32-hppa.c:957 elf32-hppa.c:3538
+#: elf32-hppa.c:795 elf32-hppa.c:3315
#, c-format
msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections"
msgstr ""
-#: elf32-hppa.c:1340 elf64-x86-64.c:672 elf64-x86-64.c:797
+#: elf32-hppa.c:1167 elf64-x86-64.c:665 elf64-x86-64.c:790
#, c-format
msgid ""
"%s: relocation %s can not be used when making a shared object; recompile "
"with -fPIC"
msgstr ""
-#: elf32-hppa.c:1360
+#: elf32-hppa.c:1187
#, c-format
msgid ""
"%s: relocation %s should not be used when making a shared object; recompile "
"with -fPIC"
msgstr ""
-#: elf32-hppa.c:1553
+#: elf32-hppa.c:1377
#, c-format
msgid "Could not find relocation section for %s"
msgstr ""
-#: elf32-hppa.c:2828
+#: elf32-hppa.c:2572
#, c-format
msgid "%s: duplicate export stub %s"
msgstr ""
-#: elf32-hppa.c:3416
+#: elf32-hppa.c:3162
+#, c-format
+msgid ""
+"%s(%s+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"
+msgstr ""
+
+#: elf32-hppa.c:3192
#, c-format
msgid "%s(%s+0x%lx): fixing %s"
msgstr ""
-#: elf32-hppa.c:4039
+#: elf32-hppa.c:3810
#, c-format
msgid "%s(%s+0x%lx): cannot handle %s for %s"
msgstr ""
-#: elf32-hppa.c:4357
+#: elf32-hppa.c:4103
msgid ".got section not immediately after .plt section"
msgstr ""
@@ -917,33 +1018,33 @@ msgstr ""
msgid "%s: invalid relocation type %d"
msgstr ""
-#: elf32-i386.c:841 elf32-s390.c:990 elf32-sparc.c:887 elf32-xtensa.c:637
-#: elf64-s390.c:943 elf64-x86-64.c:650
+#: elf32-i386.c:864 elf32-s390.c:983 elf32-sparc.c:916 elf32-xtensa.c:641
+#: elf64-s390.c:936 elf64-x86-64.c:643
#, c-format
msgid "%s: bad symbol index: %d"
msgstr ""
-#: elf32-i386.c:949 elf32-s390.c:1168 elf32-sh.c:6426 elf32-sparc.c:1011
-#: elf64-s390.c:1129
+#: elf32-i386.c:972 elf32-s390.c:1161 elf32-sh.c:6590 elf32-sparc.c:1040
+#: elf64-s390.c:1122
#, c-format
msgid "%s: `%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf32-i386.c:1064 elf32-s390.c:1279 elf64-ppc.c:3929 elf64-s390.c:1243
-#: elf64-x86-64.c:886
+#: elf32-i386.c:1089 elf32-s390.c:1272 elf64-ppc.c:4036 elf64-s390.c:1236
+#: elf64-x86-64.c:879
#, c-format
msgid "%s: bad relocation section name `%s'"
msgstr ""
-#: elf32-i386.c:2908 elf32-m68k.c:1757 elf32-s390.c:3022 elf32-sparc.c:2879
-#: elf32-xtensa.c:2193 elf64-s390.c:3018 elf64-sparc.c:2664
-#: elf64-x86-64.c:2452
+#: elf32-i386.c:2889 elf32-m68k.c:1709 elf32-s390.c:2996 elf32-sparc.c:2857
+#: elf32-xtensa.c:2106 elf64-s390.c:2992 elf64-sparc.c:2620
+#: elf64-x86-64.c:2389
#, c-format
msgid "%s(%s+0x%lx): unresolvable relocation against symbol `%s'"
msgstr ""
-#: elf32-i386.c:2947 elf32-m68k.c:1796 elf32-s390.c:3072 elf64-s390.c:3068
-#: elf64-x86-64.c:2490
+#: elf32-i386.c:2928 elf32-m68k.c:1748 elf32-s390.c:3046 elf64-s390.c:3042
+#: elf64-x86-64.c:2427
#, c-format
msgid "%s(%s+0x%lx): reloc against `%s': error %d"
msgstr ""
@@ -968,130 +1069,155 @@ msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)."
msgstr ""
#. Only if it's not an unresolved symbol.
-#: elf32-ip2k.c:1593
+#: elf32-ip2k.c:1575
msgid "unsupported relocation between data/insn address spaces"
msgstr ""
-#: elf32-iq2000.c:907 elf32-m68hc1x.c:1431 elf32-ppc.c:2175 elf64-sparc.c:3072
-#: elfxx-mips.c:9197
+#: elf32-iq2000.c:874 elf32-m68hc1x.c:1312 elf32-ppc.c:2293 elf64-sparc.c:3028
+#: elfxx-mips.c:9129
#, c-format
msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr ""
-#: elf32-m32r.c:930
+#: elf32-m32r.c:1487
msgid "SDA relocation when _SDA_BASE_ not defined"
msgstr ""
-#: elf32-ia64.c:3817 elf32-m32r.c:1018 elf64-alpha.c:4279 elf64-alpha.c:4407
-#: elf64-ia64.c:3817
+#: elf32-m32r.c:2564 elf64-alpha.c:4199 elf64-alpha.c:4325 elf32-ia64.c:3921
+#: elf64-ia64.c:3921
#, c-format
msgid "%s: unknown relocation type %d"
msgstr ""
-#: elf32-m32r.c:1226
+#: elf32-m32r.c:2753 elf64-sh64.c:1689 elf-hppa.h:1406 elf-hppa.h:1433
+#: elf-hppa.h:1449 elf-m10300.c:1631
+#, c-format
+msgid ""
+"%s: warning: unresolvable relocation against symbol `%s' from %s section"
+msgstr ""
+
+#: elf32-m32r.c:3128
#, c-format
msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)"
msgstr ""
-#: elf32-m32r.c:1952
+#: elf32-m32r.c:4211
#, c-format
msgid "%s: Instruction set mismatch with previous modules"
msgstr ""
-#: elf32-m32r.c:1975
+#: elf32-m32r.c:4234
#, c-format
msgid "private flags = %lx"
msgstr ""
-#: elf32-m32r.c:1980
+#: elf32-m32r.c:4239
+#, c-format
msgid ": m32r instructions"
msgstr ""
-#: elf32-m32r.c:1981
+#: elf32-m32r.c:4240
+#, c-format
msgid ": m32rx instructions"
msgstr ""
-#: elf32-m68hc1x.c:1217
+#: elf32-m32r.c:4241
+#, c-format
+msgid ": m32r2 instructions"
+msgstr ""
+
+#: elf32-m68hc1x.c:1102
#, c-format
msgid ""
"Reference to the far symbol `%s' using a wrong relocation may result in "
"incorrect execution"
msgstr ""
-#: elf32-m68hc1x.c:1240
+#: elf32-m68hc1x.c:1125
#, c-format
msgid ""
"banked address [%lx:%04lx] (%lx) is not in the same bank as current banked "
"address [%lx:%04lx] (%lx)"
msgstr ""
-#: elf32-m68hc1x.c:1259
+#: elf32-m68hc1x.c:1144
#, c-format
msgid ""
"reference to a banked address [%lx:%04lx] in the normal address space at %"
"04lx"
msgstr ""
-#: elf32-m68hc1x.c:1396
+#: elf32-m68hc1x.c:1277
#, c-format
msgid ""
"%s: linking files compiled for 16-bit integers (-mshort) and others for 32-"
"bit integers"
msgstr ""
-#: elf32-m68hc1x.c:1404
+#: elf32-m68hc1x.c:1285
#, c-format
msgid ""
"%s: linking files compiled for 32-bit double (-fshort-double) and others for "
"64-bit double"
msgstr ""
-#: elf32-m68hc1x.c:1414
+#: elf32-m68hc1x.c:1295
#, c-format
msgid "%s: linking files compiled for HCS12 with others compiled for HC12"
msgstr ""
-#: elf32-m68hc1x.c:1462
+#: elf32-m68hc1x.c:1341
+#, c-format
msgid "[abi=32-bit int, "
msgstr ""
-#: elf32-m68hc1x.c:1464
+#: elf32-m68hc1x.c:1343
+#, c-format
msgid "[abi=16-bit int, "
msgstr ""
-#: elf32-m68hc1x.c:1467
+#: elf32-m68hc1x.c:1346
+#, c-format
msgid "64-bit double, "
msgstr ""
-#: elf32-m68hc1x.c:1469
+#: elf32-m68hc1x.c:1348
+#, c-format
msgid "32-bit double, "
msgstr ""
-#: elf32-m68hc1x.c:1472
+#: elf32-m68hc1x.c:1351
+#, c-format
msgid "cpu=HC11]"
msgstr ""
-#: elf32-m68hc1x.c:1474
+#: elf32-m68hc1x.c:1353
+#, c-format
msgid "cpu=HCS12]"
msgstr ""
-#: elf32-m68hc1x.c:1476
+#: elf32-m68hc1x.c:1355
+#, c-format
msgid "cpu=HC12]"
msgstr ""
-#: elf32-m68hc1x.c:1479
+#: elf32-m68hc1x.c:1358
+#, c-format
msgid " [memory=bank-model]"
msgstr ""
-#: elf32-m68hc1x.c:1481
+#: elf32-m68hc1x.c:1360
+#, c-format
msgid " [memory=flat]"
msgstr ""
#: elf32-m68k.c:400
+#, c-format
msgid " [cpu32]"
msgstr ""
#: elf32-m68k.c:403
+#, c-format
msgid " [m68000]"
msgstr ""
@@ -1105,230 +1231,239 @@ msgstr ""
msgid "%s: Unknown relocation type %d\n"
msgstr ""
-#: elf32-mips.c:1170 elf64-mips.c:1717 elfn32-mips.c:1664
-msgid "32bits gp relative relocation occurs for an external symbol"
-msgstr ""
-
-#: elf32-mips.c:1314 elf64-mips.c:1830 elfn32-mips.c:1783
+#: elf32-mips.c:968 elf64-mips.c:1693 elfn32-mips.c:1488
#, c-format
msgid "Linking mips16 objects into %s format is not supported"
msgstr ""
-#: elf32-ppc.c:2056
+#: elf32-ppc.c:2174
#, c-format
msgid "generic linker can't handle %s"
msgstr ""
-#: elf32-ppc.c:2138
+#: elf32-ppc.c:2256
#, c-format
msgid ""
"%s: compiled with -mrelocatable and linked with modules compiled normally"
msgstr ""
-#: elf32-ppc.c:2147
+#: elf32-ppc.c:2265
#, c-format
msgid ""
"%s: compiled normally and linked with modules compiled with -mrelocatable"
msgstr ""
-#: elf32-ppc.c:3413
+#: elf32-ppc.c:3534
#, c-format
msgid "%s: relocation %s cannot be used when making a shared object"
msgstr ""
-#. It does not make sense to have a procedure linkage
-#. table entry for a local symbol.
-#: elf32-ppc.c:3619
+#: elf32-ppc.c:3740
#, c-format
msgid "%s(%s+0x%lx): %s reloc against local symbol"
msgstr ""
-#: elf32-ppc.c:4862 elf64-ppc.c:7789
+#: elf32-ppc.c:4945 elf64-ppc.c:8022
#, c-format
msgid "%s: unknown relocation type %d for symbol %s"
msgstr ""
-#: elf32-ppc.c:5113
+#: elf32-ppc.c:5196
#, c-format
msgid "%s(%s+0x%lx): non-zero addend on %s reloc against `%s'"
msgstr ""
-#: elf32-ppc.c:5399 elf32-ppc.c:5425 elf32-ppc.c:5484
+#: elf32-ppc.c:5507 elf32-ppc.c:5533 elf32-ppc.c:5592
#, c-format
msgid ""
"%s: the target (%s) of a %s relocation is in the wrong output section (%s)"
msgstr ""
-#: elf32-ppc.c:5539
+#: elf32-ppc.c:5647
#, c-format
msgid "%s: relocation %s is not yet supported for symbol %s."
msgstr ""
-#: elf32-ppc.c:5594 elf64-ppc.c:8461
+#: elf32-ppc.c:5702 elf64-ppc.c:8694
#, c-format
msgid "%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
-#: elf32-ppc.c:5644 elf64-ppc.c:8507
+#: elf32-ppc.c:5752 elf64-ppc.c:8740
#, c-format
msgid "%s(%s+0x%lx): %s reloc against `%s': error %d"
msgstr ""
-#: elf32-ppc.c:5888
+#: elf32-ppc.c:5996
#, c-format
msgid "corrupt or empty %s section in %s"
msgstr ""
-#: elf32-ppc.c:5895
+#: elf32-ppc.c:6003
#, c-format
msgid "unable to read in %s section from %s"
msgstr ""
-#: elf32-ppc.c:5901
+#: elf32-ppc.c:6009
#, c-format
msgid "corrupt %s section in %s"
msgstr ""
-#: elf32-ppc.c:5944
+#: elf32-ppc.c:6052
#, c-format
msgid "warning: unable to set size of %s section in %s"
msgstr ""
-#: elf32-ppc.c:5994
+#: elf32-ppc.c:6102
msgid "failed to allocate space for new APUinfo section."
msgstr ""
-#: elf32-ppc.c:6013
+#: elf32-ppc.c:6121
msgid "failed to compute new APUinfo section."
msgstr ""
-#: elf32-ppc.c:6016
+#: elf32-ppc.c:6124
msgid "failed to install new APUinfo section."
msgstr ""
-#: elf32-s390.c:2256 elf64-s390.c:2226
+#: elf32-s390.c:2234 elf64-s390.c:2204
#, c-format
msgid "%s(%s+0x%lx): invalid instruction for TLS relocation %s"
msgstr ""
-#: elf32-sh64.c:221 elf64-sh64.c:2407
+#: elf32-sh64.c:215 elf64-sh64.c:2383
#, c-format
msgid "%s: compiled as 32-bit object and %s is 64-bit"
msgstr ""
-#: elf32-sh64.c:224 elf64-sh64.c:2410
+#: elf32-sh64.c:218 elf64-sh64.c:2386
#, c-format
msgid "%s: compiled as 64-bit object and %s is 32-bit"
msgstr ""
-#: elf32-sh64.c:226 elf64-sh64.c:2412
+#: elf32-sh64.c:220 elf64-sh64.c:2388
#, c-format
msgid "%s: object size does not match that of target %s"
msgstr ""
-#: elf32-sh64.c:461 elf64-sh64.c:2990
+#: elf32-sh64.c:442 elf64-sh64.c:2955
#, c-format
msgid "%s: encountered datalabel symbol in input"
msgstr ""
-#: elf32-sh64.c:544
+#: elf32-sh64.c:519
msgid "PTB mismatch: a SHmedia address (bit 0 == 1)"
msgstr ""
-#: elf32-sh64.c:547
+#: elf32-sh64.c:522
msgid "PTA mismatch: a SHcompact address (bit 0 == 0)"
msgstr ""
-#: elf32-sh64.c:565
+#: elf32-sh64.c:540
#, c-format
msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16"
msgstr ""
-#: elf32-sh64.c:614 elf64-sh64.c:1748
+#: elf32-sh64.c:589 elf64-sh64.c:1736
#, c-format
msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n"
msgstr ""
-#: elf32-sh64.c:698
+#: elf32-sh64.c:670
#, c-format
msgid "%s: could not write out added .cranges entries"
msgstr ""
-#: elf32-sh64.c:760
+#: elf32-sh64.c:732
#, c-format
msgid "%s: could not write out sorted .cranges entries"
msgstr ""
-#: elf32-sh.c:2103
+#: elf32-sh.c:2252
#, c-format
msgid "%s: 0x%lx: warning: bad R_SH_USES offset"
msgstr ""
-#: elf32-sh.c:2115
+#: elf32-sh.c:2264
#, c-format
msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
msgstr ""
-#: elf32-sh.c:2132
+#: elf32-sh.c:2281
#, c-format
msgid "%s: 0x%lx: warning: bad R_SH_USES load offset"
msgstr ""
-#: elf32-sh.c:2147
+#: elf32-sh.c:2296
#, c-format
msgid "%s: 0x%lx: warning: could not find expected reloc"
msgstr ""
-#: elf32-sh.c:2175
+#: elf32-sh.c:2324
#, c-format
msgid "%s: 0x%lx: warning: symbol in unexpected section"
msgstr ""
-#: elf32-sh.c:2300
+#: elf32-sh.c:2449
#, c-format
msgid "%s: 0x%lx: warning: could not find expected COUNT reloc"
msgstr ""
-#: elf32-sh.c:2309
+#: elf32-sh.c:2458
#, c-format
msgid "%s: 0x%lx: warning: bad count"
msgstr ""
-#: elf32-sh.c:2712 elf32-sh.c:3088
+#: elf32-sh.c:2858 elf32-sh.c:3227
#, c-format
msgid "%s: 0x%lx: fatal: reloc overflow while relaxing"
msgstr ""
-#: elf32-sh.c:4654 elf64-sh64.c:1585
+#: elf32-sh.c:4756 elf64-sh64.c:1568
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr ""
-#: elf32-sh.c:4809
+#: elf32-sh.c:4913
#, c-format
msgid "%s: unresolvable relocation against symbol `%s' from %s section"
msgstr ""
-#: elf32-sh.c:4881
+#: elf32-sh.c:4984
#, c-format
msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation"
msgstr ""
-#: elf32-sh.c:6627 elf64-alpha.c:4848
+#: elf32-sh.c:5017 elf32-sh.c:5032
+#, c-format
+msgid "%s: 0x%lx: fatal: unaligned %s relocation 0x%lx"
+msgstr ""
+
+#: elf32-sh.c:5046
+#, c-format
+msgid "%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:5060
+#, c-format
+msgid "%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:6802 elf64-alpha.c:4744
#, c-format
msgid "%s: TLS local exec code cannot be linked into shared objects"
msgstr ""
-#: elf32-sparc.c:2521 elf64-sparc.c:2314
+#: elf32-sparc.c:2499 elf64-sparc.c:2270
#, c-format
msgid "%s: probably compiled without -fPIC?"
msgstr ""
-#: elf32-sparc.c:3348
+#: elf32-sparc.c:3325
#, c-format
msgid "%s: compiled for a 64 bit system and target is 32 bit"
msgstr ""
-#: elf32-sparc.c:3362
+#: elf32-sparc.c:3339
#, c-format
msgid "%s: linking little endian files with big endian files"
msgstr ""
@@ -1363,48 +1498,59 @@ msgid ""
msgstr ""
#: elf32-v850.c:1144
+#, c-format
msgid "FAILED to find previous HI16 reloc\n"
msgstr ""
-#: elf32-v850.c:1789
+#: elf32-v850.c:1758
msgid "could not locate special linker symbol __gp"
msgstr ""
-#: elf32-v850.c:1793
+#: elf32-v850.c:1762
msgid "could not locate special linker symbol __ep"
msgstr ""
-#: elf32-v850.c:1797
+#: elf32-v850.c:1766
msgid "could not locate special linker symbol __ctbp"
msgstr ""
-#: elf32-v850.c:1963
+#: elf32-v850.c:1951
#, c-format
msgid "%s: Architecture mismatch with previous modules"
msgstr ""
-#: elf32-v850.c:1983
+#: elf32-v850.c:1972
#, c-format
msgid "private flags = %lx: "
msgstr ""
-#: elf32-v850.c:1988
+#: elf32-v850.c:1977
+#, c-format
msgid "v850 architecture"
msgstr ""
-#: elf32-v850.c:1989
+#: elf32-v850.c:1978
+#, c-format
msgid "v850e architecture"
msgstr ""
+#: elf32-v850.c:1979
+#, c-format
+msgid "v850e1 architecture"
+msgstr ""
+
#: elf32-vax.c:549
+#, c-format
msgid " [nonpic]"
msgstr ""
#: elf32-vax.c:552
+#, c-format
msgid " [d-float]"
msgstr ""
#: elf32-vax.c:555
+#, c-format
msgid " [g-float]"
msgstr ""
@@ -1415,79 +1561,92 @@ msgid ""
"%ld"
msgstr ""
-#: elf32-vax.c:1667
+#: elf32-vax.c:1645
#, c-format
msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored"
msgstr ""
-#: elf32-vax.c:1802
+#: elf32-vax.c:1771
#, c-format
msgid "%s: warning: %s relocation against symbol `%s' from %s section"
msgstr ""
-#: elf32-vax.c:1808
+#: elf32-vax.c:1777
#, c-format
msgid "%s: warning: %s relocation to 0x%x from %s section"
msgstr ""
-#: elf32-ia64.c:2326 elf32-xstormy16.c:462 elf64-ia64.c:2326
+#: elf32-xstormy16.c:462 elf32-ia64.c:2418 elf64-ia64.c:2418
msgid "non-zero addend in @fptr reloc"
msgstr ""
-#: elf64-alpha.c:1108
+#: elf32-xtensa.c:2051
+msgid "dynamic relocation in read-only section"
+msgstr ""
+
+#: elf64-alpha.c:1067
msgid "GPDISP relocation did not find ldah and lda instructions"
msgstr ""
-#: elf64-alpha.c:3731
+#: elf64-alpha.c:3565
+#, c-format
+msgid "Symbol %s has no GOT subsection for offset 0x%x"
+msgstr ""
+
+#: elf64-alpha.c:3651
#, c-format
msgid "%s: .got subsegment exceeds 64K (size %d)"
msgstr ""
-#: elf64-alpha.c:4602 elf64-alpha.c:4614
+#: elf64-alpha.c:4498 elf64-alpha.c:4510
#, c-format
msgid "%s: gp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4640 elf64-alpha.c:4773
+#: elf64-alpha.c:4536 elf64-alpha.c:4669
#, c-format
msgid "%s: pc-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4668
+#: elf64-alpha.c:4564
#, c-format
msgid "%s: change in gp: BRSGP %s"
msgstr ""
-#: elf64-alpha.c:4693
+#: elf64-alpha.c:4589
msgid "<unknown>"
msgstr ""
-#: elf64-alpha.c:4698
+#: elf64-alpha.c:4594
#, c-format
msgid "%s: !samegp reloc against symbol without .prologue: %s"
msgstr ""
-#: elf64-alpha.c:4749
+#: elf64-alpha.c:4645
#, c-format
msgid "%s: unhandled dynamic relocation against %s"
msgstr ""
-#: elf64-alpha.c:4832
+#: elf64-alpha.c:4728
#, c-format
msgid "%s: dtp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4855
+#: elf64-alpha.c:4751
#, c-format
msgid "%s: tp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-hppa.c:2086
+#: elf64-hppa.c:2083
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %ld"
msgstr ""
-#: elf64-mmix.c:1032
+#: elf64-mips.c:1599 elfn32-mips.c:1388
+msgid "32bits gp relative relocation occurs for an external symbol"
+msgstr ""
+
+#: elf64-mmix.c:1171
#, c-format
msgid ""
"%s: Internal inconsistency error for value for\n"
@@ -1495,106 +1654,113 @@ msgid ""
"08lx\n"
msgstr ""
-#: elf64-mmix.c:1416
+#: elf64-mmix.c:1603
#, c-format
msgid ""
"%s: base-plus-offset relocation against register symbol: (unknown) in %s"
msgstr ""
-#: elf64-mmix.c:1421
+#: elf64-mmix.c:1608
#, c-format
msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
msgstr ""
-#: elf64-mmix.c:1465
+#: elf64-mmix.c:1652
#, c-format
msgid "%s: register relocation against non-register symbol: (unknown) in %s"
msgstr ""
-#: elf64-mmix.c:1470
+#: elf64-mmix.c:1657
#, c-format
msgid "%s: register relocation against non-register symbol: %s in %s"
msgstr ""
-#: elf64-mmix.c:1507
+#: elf64-mmix.c:1694
#, c-format
msgid "%s: directive LOCAL valid only with a register or absolute value"
msgstr ""
-#: elf64-mmix.c:1535
+#: elf64-mmix.c:1722
#, c-format
msgid ""
"%s: LOCAL directive: Register $%ld is not a local register. First global "
"register is $%ld."
msgstr ""
-#: elf64-mmix.c:1994
+#: elf64-mmix.c:2202
#, c-format
msgid ""
"%s: Error: multiple definition of `%s'; start of %s is set in a earlier "
"linked file\n"
msgstr ""
-#: elf64-mmix.c:2053
+#: elf64-mmix.c:2261
msgid "Register section has contents\n"
msgstr ""
-#: elf64-mmix.c:2216
+#: elf64-mmix.c:2467
#, c-format
msgid ""
"Internal inconsistency: remaining %u != max %u.\n"
" Please report this bug."
msgstr ""
-#: elf64-ppc.c:2388 libbfd.c:831
+#: elf64-ppc.c:2433 libbfd.c:821
#, c-format
msgid "%s: compiled for a big endian system and target is little endian"
msgstr ""
-#: elf64-ppc.c:2391 libbfd.c:833
+#: elf64-ppc.c:2436 libbfd.c:823
#, c-format
msgid "%s: compiled for a little endian system and target is big endian"
msgstr ""
-#: elf64-ppc.c:4857
+#: elf64-ppc.c:4656
#, c-format
-msgid "%s: unexpected reloc type %u in .opd section"
+msgid ""
+"copy reloc against `%s' requires lazy plt linking; avoid setting "
+"LD_BIND_NOW=1 or upgrade gcc"
msgstr ""
-#: elf64-ppc.c:4877
+#: elf64-ppc.c:5027
#, c-format
msgid "%s: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:4897
+#: elf64-ppc.c:5037
+#, c-format
+msgid "%s: unexpected reloc type %u in .opd section"
+msgstr ""
+
+#: elf64-ppc.c:5057
#, c-format
msgid "%s: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:6136
+#: elf64-ppc.c:6272
#, c-format
msgid "can't find branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:6175 elf64-ppc.c:6250
+#: elf64-ppc.c:6311 elf64-ppc.c:6386
#, c-format
msgid "linkage table error against `%s'"
msgstr ""
-#: elf64-ppc.c:6340
+#: elf64-ppc.c:6503
#, c-format
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:7047
+#: elf64-ppc.c:7222
msgid ".glink and .plt too far apart"
msgstr ""
-#: elf64-ppc.c:7135
+#: elf64-ppc.c:7334
msgid "stubs don't match calculated size"
msgstr ""
-#: elf64-ppc.c:7147
+#: elf64-ppc.c:7346
#, c-format
msgid ""
"linker stubs in %u groups\n"
@@ -1605,14 +1771,24 @@ msgid ""
" plt call %lu"
msgstr ""
-#: elf64-ppc.c:7723
+#: elf64-ppc.c:7544
+#, c-format
+msgid "%s(%s+0x%lx): %s used with TLS symbol %s"
+msgstr ""
+
+#: elf64-ppc.c:7545
+#, c-format
+msgid "%s(%s+0x%lx): %s used with non-TLS symbol %s"
+msgstr ""
+
+#: elf64-ppc.c:7956
#, c-format
msgid ""
"%s(%s+0x%lx): automatic multiple TOCs not supported using your crt files; "
"recompile with -mminimal-toc or upgrade gcc"
msgstr ""
-#: elf64-ppc.c:7731
+#: elf64-ppc.c:7964
#, c-format
msgid ""
"%s(%s+0x%lx): sibling call optimization to `%s' does not allow automatic "
@@ -1620,107 +1796,105 @@ msgid ""
"or make `%s' extern"
msgstr ""
-#: elf64-ppc.c:8329
+#: elf64-ppc.c:8562
#, c-format
msgid "%s: relocation %s is not supported for symbol %s."
msgstr ""
-#: elf64-ppc.c:8408
+#: elf64-ppc.c:8641
#, c-format
msgid "%s: error: relocation %s not a multiple of %d"
msgstr ""
-#: elf-hppa.h:1458 elf-hppa.h:1491 elf-m10300.c:1628 elf64-sh64.c:1704
-#, c-format
-msgid ""
-"%s: warning: unresolvable relocation against symbol `%s' from %s section"
-msgstr ""
-
-#: elf64-sparc.c:1370
+#: elf64-sparc.c:1371
#, c-format
msgid "%s: check_relocs: unhandled reloc type %d"
msgstr ""
-#: elf64-sparc.c:1407
+#: elf64-sparc.c:1408
#, c-format
msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER"
msgstr ""
-#: elf64-sparc.c:1427
+#: elf64-sparc.c:1428
#, c-format
msgid "Register %%g%d used incompatibly: %s in %s, previously %s in %s"
msgstr ""
-#: elf64-sparc.c:1450
+#: elf64-sparc.c:1451
#, c-format
msgid "Symbol `%s' has differing types: REGISTER in %s, previously %s in %s"
msgstr ""
-#: elf64-sparc.c:1496
+#: elf64-sparc.c:1497
#, c-format
msgid "Symbol `%s' has differing types: %s in %s, previously REGISTER in %s"
msgstr ""
-#: elf64-sparc.c:3053
+#: elf64-sparc.c:3009
#, c-format
msgid "%s: linking UltraSPARC specific with HAL specific code"
msgstr ""
-#: elf64-x86-64.c:739
+#: elf64-x86-64.c:732
#, c-format
msgid "%s: %s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf.c:372
+#: elf.c:295
#, c-format
msgid "%s: invalid string offset %u >= %lu for section `%s'"
msgstr ""
-#: elf.c:624
+#: elf.c:538
#, c-format
msgid "%s: invalid SHT_GROUP entry"
msgstr ""
-#: elf.c:695
+#: elf.c:609
#, c-format
msgid "%s: no group info for section %s"
msgstr ""
-#: elf.c:1055
+#: elf.c:952
+#, c-format
msgid ""
"\n"
"Program Header:\n"
msgstr ""
-#: elf.c:1106
+#: elf.c:1003
+#, c-format
msgid ""
"\n"
"Dynamic Section:\n"
msgstr ""
-#: elf.c:1235
+#: elf.c:1131
+#, c-format
msgid ""
"\n"
"Version definitions:\n"
msgstr ""
-#: elf.c:1258
+#: elf.c:1154
+#, c-format
msgid ""
"\n"
"Version References:\n"
msgstr ""
-#: elf.c:1263
+#: elf.c:1159
#, c-format
msgid " required from %s:\n"
msgstr ""
-#: elf.c:1944
+#: elf.c:1826
#, c-format
msgid "%s: invalid link %lu for reloc section %s (index %u)"
msgstr ""
-#: elf.c:3686
+#: elf.c:3684
#, c-format
msgid "%s: Not enough room for program headers (allocated %u, need %u)"
msgstr ""
@@ -1730,271 +1904,311 @@ msgstr ""
msgid "%s: Not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:3922
+#: elf.c:3924
#, c-format
msgid ""
"Error: First section in segment (%s) starts at 0x%x whereas the segment "
"starts at 0x%x"
msgstr ""
-#: elf.c:4242
+#: elf.c:4243
#, c-format
msgid "%s: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:4566
+#: elf.c:4557
#, c-format
msgid "%s: symbol `%s' required but not present"
msgstr ""
-#: elf.c:4854
+#: elf.c:4845
#, c-format
msgid "%s: warning: Empty loadable segment detected, is this intentional ?\n"
msgstr ""
-#: elf.c:5485
+#: elf.c:5479
#, c-format
msgid ""
"Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:6298
+#: elf.c:6264
#, c-format
msgid "%s: unsupported relocation type %s"
msgstr ""
-#: elfcode.h:1113
+#: elfcode.h:1050
#, c-format
msgid "%s: version count (%ld) does not match symbol count (%ld)"
msgstr ""
-#: elfcode.h:1342
+#: elfcode.h:1276
#, c-format
msgid "%s(%s): relocation %d has invalid symbol index %ld"
msgstr ""
-#: elflink.c:1456
+#: elflink.c:1350
#, c-format
msgid "%s: warning: unexpected redefinition of indirect versioned symbol `%s'"
msgstr ""
-#: elflink.c:1807
+#: elflink.c:1669
#, c-format
msgid "%s: undefined versioned symbol name %s"
msgstr ""
-#: elflink.c:2142
+#: elflink.c:1818
+#, c-format
+msgid ""
+"%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'"
+msgstr ""
+
+#: elflink.c:2007
#, c-format
msgid "%s: relocation size mismatch in %s section %s"
msgstr ""
-#: elflink.c:2434
+#: elflink.c:2296
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
msgstr ""
-#: elflink.h:1022
+#: elflink.c:2917
+msgid "warning: "
+msgstr ""
+
+#: elflink.c:3411
#, c-format
msgid "%s: %s: invalid version %u (max %d)"
msgstr ""
-#: elflink.h:1063
+#: elflink.c:3452
#, c-format
msgid "%s: %s: invalid needed version %d"
msgstr ""
-#: elflink.h:1238
+#: elflink.c:3627
#, c-format
msgid "Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"
msgstr ""
-#: elflink.h:1252
+#: elflink.c:3641
#, c-format
msgid "Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"
msgstr ""
-#: elflink.h:2160
+#: elflink.c:4837
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.h:2226
+#: elflink.c:4903
#, c-format
msgid "%s: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.h:3078
+#: elflink.c:5594
msgid "Not enough memory to sort relocations"
msgstr ""
-#: elflink.h:3958 elflink.h:4001
+#: elflink.c:5976
#, c-format
-msgid "%s: could not find output section %s"
+msgid "%s: %s symbol `%s' in %s is referenced by DSO"
msgstr ""
-#: elflink.h:3964
+#: elflink.c:6057
#, c-format
-msgid "warning: %s section has zero size"
+msgid "%s: could not find output section %s for input section %s"
msgstr ""
-#: elflink.h:4483
+#: elflink.c:6156
#, c-format
-msgid "%s: %s symbol `%s' in %s is referenced by DSO"
+msgid "%s: %s symbol `%s' isn't defined"
msgstr ""
-#: elflink.h:4564
+#: elflink.c:6575 elflink.c:6616
+msgid "%T: discarded in section `%s' from %s\n"
+msgstr ""
+
+#: elflink.c:7870 elflink.c:7912
#, c-format
-msgid "%s: could not find output section %s for input section %s"
+msgid "%s: could not find output section %s"
msgstr ""
-#: elflink.h:4666
+#: elflink.c:7876
#, c-format
-msgid "%s: %s symbol `%s' isn't defined"
+msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.h:5053 elflink.h:5095
-msgid "%T: discarded in section `%s' from %s\n"
+#: elflink.c:8427
+msgid "Warning: gc-sections option ignored"
msgstr ""
-#: elfxx-mips.c:887
+#: elfxx-mips.c:890
msgid "static procedure (no name)"
msgstr ""
-#: elfxx-mips.c:1897
+#: elfxx-mips.c:2028
msgid "not enough GOT space for local GOT entries"
msgstr ""
-#: elfxx-mips.c:3691
+#: elfxx-mips.c:3775
#, c-format
msgid "%s: %s+0x%lx: jump to stub routine which is not jal"
msgstr ""
-#: elfxx-mips.c:5192
+#: elfxx-mips.c:5260
#, c-format
msgid "%s: Malformed reloc detected for section %s"
msgstr ""
-#: elfxx-mips.c:5266
+#: elfxx-mips.c:5334
#, c-format
msgid "%s: CALL16 reloc at 0x%lx not against global symbol"
msgstr ""
-#: elfxx-mips.c:8693
+#: elfxx-mips.c:8631
#, c-format
msgid "%s: illegal section name `%s'"
msgstr ""
-#: elfxx-mips.c:9027
+#: elfxx-mips.c:8954
#, c-format
msgid "%s: endianness incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:9039
+#: elfxx-mips.c:8966
#, c-format
msgid "%s: ABI is incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:9106
+#: elfxx-mips.c:9038
#, c-format
msgid "%s: warning: linking PIC files with non-PIC files"
msgstr ""
-#: elfxx-mips.c:9123
+#: elfxx-mips.c:9055
#, c-format
msgid "%s: linking 32-bit code with 64-bit code"
msgstr ""
-#: elfxx-mips.c:9151
+#: elfxx-mips.c:9083
#, c-format
msgid "%s: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:9174
+#: elfxx-mips.c:9106
#, c-format
msgid "%s: ABI mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:9243
+#: elfxx-mips.c:9171
+#, c-format
msgid " [abi=O32]"
msgstr ""
-#: elfxx-mips.c:9245
+#: elfxx-mips.c:9173
+#, c-format
msgid " [abi=O64]"
msgstr ""
-#: elfxx-mips.c:9247
+#: elfxx-mips.c:9175
+#, c-format
msgid " [abi=EABI32]"
msgstr ""
-#: elfxx-mips.c:9249
+#: elfxx-mips.c:9177
+#, c-format
msgid " [abi=EABI64]"
msgstr ""
-#: elfxx-mips.c:9251
+#: elfxx-mips.c:9179
+#, c-format
msgid " [abi unknown]"
msgstr ""
-#: elfxx-mips.c:9253
+#: elfxx-mips.c:9181
+#, c-format
msgid " [abi=N32]"
msgstr ""
-#: elfxx-mips.c:9255
+#: elfxx-mips.c:9183
+#, c-format
msgid " [abi=64]"
msgstr ""
-#: elfxx-mips.c:9257
+#: elfxx-mips.c:9185
+#, c-format
msgid " [no abi set]"
msgstr ""
-#: elfxx-mips.c:9260
+#: elfxx-mips.c:9188
+#, c-format
msgid " [mips1]"
msgstr ""
-#: elfxx-mips.c:9262
+#: elfxx-mips.c:9190
+#, c-format
msgid " [mips2]"
msgstr ""
-#: elfxx-mips.c:9264
+#: elfxx-mips.c:9192
+#, c-format
msgid " [mips3]"
msgstr ""
-#: elfxx-mips.c:9266
+#: elfxx-mips.c:9194
+#, c-format
msgid " [mips4]"
msgstr ""
-#: elfxx-mips.c:9268
+#: elfxx-mips.c:9196
+#, c-format
msgid " [mips5]"
msgstr ""
-#: elfxx-mips.c:9270
+#: elfxx-mips.c:9198
+#, c-format
msgid " [mips32]"
msgstr ""
-#: elfxx-mips.c:9272
+#: elfxx-mips.c:9200
+#, c-format
msgid " [mips64]"
msgstr ""
-#: elfxx-mips.c:9274
+#: elfxx-mips.c:9202
+#, c-format
msgid " [mips32r2]"
msgstr ""
-#: elfxx-mips.c:9276
+#: elfxx-mips.c:9204
+#, c-format
+msgid " [mips64r2]"
+msgstr ""
+
+#: elfxx-mips.c:9206
+#, c-format
msgid " [unknown ISA]"
msgstr ""
-#: elfxx-mips.c:9279
+#: elfxx-mips.c:9209
+#, c-format
msgid " [mdmx]"
msgstr ""
-#: elfxx-mips.c:9282
+#: elfxx-mips.c:9212
+#, c-format
msgid " [mips16]"
msgstr ""
-#: elfxx-mips.c:9285
+#: elfxx-mips.c:9215
+#, c-format
msgid " [32bitmode]"
msgstr ""
-#: elfxx-mips.c:9287
+#: elfxx-mips.c:9217
+#, c-format
msgid " [not 32bitmode]"
msgstr ""
@@ -2093,27 +2307,27 @@ msgstr ""
msgid "%s: address 0x%s out of range for Intel Hex file"
msgstr ""
-#: libbfd.c:861
+#: libbfd.c:851
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr ""
-#: libbfd.c:864
+#: libbfd.c:854
#, c-format
msgid "Deprecated %s called\n"
msgstr ""
-#: linker.c:1829
+#: linker.c:1831
#, c-format
msgid "%s: indirect symbol `%s' to `%s' is a loop"
msgstr ""
-#: linker.c:2697
+#: linker.c:2699
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
msgstr ""
-#: merge.c:896
+#: merge.c:797
#, c-format
msgid "%s: access beyond end of merged section (%ld + %ld)"
msgstr ""
@@ -2286,24 +2500,24 @@ msgstr ""
msgid "%s: Unrecognised import name type; %x"
msgstr ""
-#: peicode.h:1164
+#: peicode.h:1194
#, c-format
msgid "%s: Unrecognised machine type (0x%x) in Import Library Format archive"
msgstr ""
-#: peicode.h:1176
+#: peicode.h:1206
#, c-format
msgid ""
"%s: Recognised but unhandled machine type (0x%x) in Import Library Format "
"archive"
msgstr ""
-#: peicode.h:1193
+#: peicode.h:1223
#, c-format
msgid "%s: size field is zero in Import Library Format header"
msgstr ""
-#: peicode.h:1224
+#: peicode.h:1254
#, c-format
msgid "%s: string not null terminated in ILF object file."
msgstr ""
@@ -2334,6 +2548,7 @@ msgid "%s: bad pair/reflo after refhi\n"
msgstr ""
#: ppcboot.c:416
+#, c-format
msgid ""
"\n"
"ppcboot header:\n"
@@ -2390,7 +2605,7 @@ msgstr ""
msgid "%s:%d: Unexpected character `%s' in S-record file\n"
msgstr ""
-#: stabs.c:319
+#: stabs.c:326
#, c-format
msgid "%s(%s+0x%lx): Stabs entry has invalid string index."
msgstr ""
@@ -2642,224 +2857,230 @@ msgstr ""
msgid "%s: loader reloc in read-only section %s"
msgstr ""
-#: elf32-ia64.c:2271 elf64-ia64.c:2271
+#: elf32-ia64.c:2363 elf64-ia64.c:2363
msgid "@pltoff reloc against local symbol"
msgstr ""
-#: elf32-ia64.c:3663 elf64-ia64.c:3663
+#: elf32-ia64.c:3768 elf64-ia64.c:3768
#, c-format
msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
msgstr ""
-#: elf32-ia64.c:3674 elf64-ia64.c:3674
+#: elf32-ia64.c:3779 elf64-ia64.c:3779
#, c-format
msgid "%s: __gp does not cover short data segment"
msgstr ""
-#: elf32-ia64.c:3986 elf64-ia64.c:3986
+#: elf32-ia64.c:4027 elf64-ia64.c:4027
#, c-format
-msgid "%s: linking non-pic code in a shared library"
+msgid "%s: non-pic code with imm relocation against dynamic symbol `%s'"
msgstr ""
-#: elf32-ia64.c:4017 elf64-ia64.c:4017
+#: elf32-ia64.c:4092 elf64-ia64.c:4092
#, c-format
msgid "%s: @gprel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4077 elf64-ia64.c:4077
+#: elf32-ia64.c:4152 elf64-ia64.c:4152
#, c-format
msgid "%s: linking non-pic code in a position independent executable"
msgstr ""
-#: elf32-ia64.c:4214 elf64-ia64.c:4214
+#: elf32-ia64.c:4289 elf64-ia64.c:4289
#, c-format
msgid "%s: @internal branch to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4216 elf64-ia64.c:4216
+#: elf32-ia64.c:4291 elf64-ia64.c:4291
#, c-format
msgid "%s: speculation fixup to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4218 elf64-ia64.c:4218
+#: elf32-ia64.c:4293 elf64-ia64.c:4293
#, c-format
msgid "%s: @pcrel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4430 elf64-ia64.c:4430
+#: elf32-ia64.c:4505 elf64-ia64.c:4505
msgid "unsupported reloc"
msgstr ""
-#: elf32-ia64.c:4709 elf64-ia64.c:4709
+#: elf32-ia64.c:4784 elf64-ia64.c:4784
#, c-format
msgid "%s: linking trap-on-NULL-dereference with non-trapping files"
msgstr ""
-#: elf32-ia64.c:4718 elf64-ia64.c:4718
+#: elf32-ia64.c:4793 elf64-ia64.c:4793
#, c-format
msgid "%s: linking big-endian files with little-endian files"
msgstr ""
-#: elf32-ia64.c:4727 elf64-ia64.c:4727
+#: elf32-ia64.c:4802 elf64-ia64.c:4802
#, c-format
msgid "%s: linking 64-bit files with 32-bit files"
msgstr ""
-#: elf32-ia64.c:4736 elf64-ia64.c:4736
+#: elf32-ia64.c:4811 elf64-ia64.c:4811
#, c-format
msgid "%s: linking constant-gp files with non-constant-gp files"
msgstr ""
-#: elf32-ia64.c:4746 elf64-ia64.c:4746
+#: elf32-ia64.c:4821 elf64-ia64.c:4821
#, c-format
msgid "%s: linking auto-pic files with non-auto-pic files"
msgstr ""
-#: peigen.c:985 pepigen.c:985
+#: peigen.c:1031 pepigen.c:1031
#, c-format
msgid "%s: line number overflow: 0x%lx > 0xffff"
msgstr ""
-#: peigen.c:1002 pepigen.c:1002
+#: peigen.c:1052 pepigen.c:1052
#, c-format
msgid "%s: reloc overflow 1: 0x%lx > 0xffff"
msgstr ""
-#: peigen.c:1016 pepigen.c:1016
+#: peigen.c:1066 pepigen.c:1066
msgid "Export Directory [.edata (or where ever we found it)]"
msgstr ""
-#: peigen.c:1017 pepigen.c:1017
+#: peigen.c:1067 pepigen.c:1067
msgid "Import Directory [parts of .idata]"
msgstr ""
-#: peigen.c:1018 pepigen.c:1018
+#: peigen.c:1068 pepigen.c:1068
msgid "Resource Directory [.rsrc]"
msgstr ""
-#: peigen.c:1019 pepigen.c:1019
+#: peigen.c:1069 pepigen.c:1069
msgid "Exception Directory [.pdata]"
msgstr ""
-#: peigen.c:1020 pepigen.c:1020
+#: peigen.c:1070 pepigen.c:1070
msgid "Security Directory"
msgstr ""
-#: peigen.c:1021 pepigen.c:1021
+#: peigen.c:1071 pepigen.c:1071
msgid "Base Relocation Directory [.reloc]"
msgstr ""
-#: peigen.c:1022 pepigen.c:1022
+#: peigen.c:1072 pepigen.c:1072
msgid "Debug Directory"
msgstr ""
-#: peigen.c:1023 pepigen.c:1023
+#: peigen.c:1073 pepigen.c:1073
msgid "Description Directory"
msgstr ""
-#: peigen.c:1024 pepigen.c:1024
+#: peigen.c:1074 pepigen.c:1074
msgid "Special Directory"
msgstr ""
-#: peigen.c:1025 pepigen.c:1025
+#: peigen.c:1075 pepigen.c:1075
msgid "Thread Storage Directory [.tls]"
msgstr ""
-#: peigen.c:1026 pepigen.c:1026
+#: peigen.c:1076 pepigen.c:1076
msgid "Load Configuration Directory"
msgstr ""
-#: peigen.c:1027 pepigen.c:1027
+#: peigen.c:1077 pepigen.c:1077
msgid "Bound Import Directory"
msgstr ""
-#: peigen.c:1028 pepigen.c:1028
+#: peigen.c:1078 pepigen.c:1078
msgid "Import Address Table Directory"
msgstr ""
-#: peigen.c:1029 pepigen.c:1029
+#: peigen.c:1079 pepigen.c:1079
msgid "Delay Import Directory"
msgstr ""
-#: peigen.c:1030 peigen.c:1031 pepigen.c:1030 pepigen.c:1031
+#: peigen.c:1080 peigen.c:1081 pepigen.c:1080 pepigen.c:1081
msgid "Reserved"
msgstr ""
-#: peigen.c:1094 pepigen.c:1094
+#: peigen.c:1144 pepigen.c:1144
+#, c-format
msgid ""
"\n"
"There is an import table, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1099 pepigen.c:1099
+#: peigen.c:1149 pepigen.c:1149
#, c-format
msgid ""
"\n"
"There is an import table in %s at 0x%lx\n"
msgstr ""
-#: peigen.c:1136 pepigen.c:1136
+#: peigen.c:1186 pepigen.c:1186
#, c-format
msgid ""
"\n"
"Function descriptor located at the start address: %04lx\n"
msgstr ""
-#: peigen.c:1139 pepigen.c:1139
+#: peigen.c:1189 pepigen.c:1189
#, c-format
msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
msgstr ""
-#: peigen.c:1145 pepigen.c:1145
+#: peigen.c:1195 pepigen.c:1195
+#, c-format
msgid ""
"\n"
"No reldata section! Function descriptor not decoded.\n"
msgstr ""
-#: peigen.c:1150 pepigen.c:1150
+#: peigen.c:1200 pepigen.c:1200
#, c-format
msgid ""
"\n"
"The Import Tables (interpreted %s section contents)\n"
msgstr ""
-#: peigen.c:1153 pepigen.c:1153
+#: peigen.c:1203 pepigen.c:1203
+#, c-format
msgid ""
" vma: Hint Time Forward DLL First\n"
" Table Stamp Chain Name Thunk\n"
msgstr ""
-#: peigen.c:1204 pepigen.c:1204
+#: peigen.c:1254 pepigen.c:1254
#, c-format
msgid ""
"\n"
"\tDLL Name: %s\n"
msgstr ""
-#: peigen.c:1215 pepigen.c:1215
+#: peigen.c:1265 pepigen.c:1265
+#, c-format
msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
msgstr ""
-#: peigen.c:1240 pepigen.c:1240
+#: peigen.c:1290 pepigen.c:1290
+#, c-format
msgid ""
"\n"
"There is a first thunk, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1380 pepigen.c:1380
+#: peigen.c:1430 pepigen.c:1430
+#, c-format
msgid ""
"\n"
"There is an export table, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1385 pepigen.c:1385
+#: peigen.c:1435 pepigen.c:1435
#, c-format
msgid ""
"\n"
"There is an export table in %s at 0x%lx\n"
msgstr ""
-#: peigen.c:1416 pepigen.c:1416
+#: peigen.c:1466 pepigen.c:1466
#, c-format
msgid ""
"\n"
@@ -2867,129 +3088,143 @@ msgid ""
"\n"
msgstr ""
-#: peigen.c:1420 pepigen.c:1420
+#: peigen.c:1470 pepigen.c:1470
#, c-format
msgid "Export Flags \t\t\t%lx\n"
msgstr ""
-#: peigen.c:1423 pepigen.c:1423
+#: peigen.c:1473 pepigen.c:1473
#, c-format
msgid "Time/Date stamp \t\t%lx\n"
msgstr ""
-#: peigen.c:1426 pepigen.c:1426
+#: peigen.c:1476 pepigen.c:1476
#, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
msgstr ""
-#: peigen.c:1429 pepigen.c:1429
+#: peigen.c:1479 pepigen.c:1479
+#, c-format
msgid "Name \t\t\t\t"
msgstr ""
-#: peigen.c:1435 pepigen.c:1435
+#: peigen.c:1485 pepigen.c:1485
#, c-format
msgid "Ordinal Base \t\t\t%ld\n"
msgstr ""
-#: peigen.c:1438 pepigen.c:1438
+#: peigen.c:1488 pepigen.c:1488
+#, c-format
msgid "Number in:\n"
msgstr ""
-#: peigen.c:1441 pepigen.c:1441
+#: peigen.c:1491 pepigen.c:1491
#, c-format
msgid "\tExport Address Table \t\t%08lx\n"
msgstr ""
-#: peigen.c:1445 pepigen.c:1445
+#: peigen.c:1495 pepigen.c:1495
#, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
msgstr ""
-#: peigen.c:1448 pepigen.c:1448
+#: peigen.c:1498 pepigen.c:1498
+#, c-format
msgid "Table Addresses\n"
msgstr ""
-#: peigen.c:1451 pepigen.c:1451
+#: peigen.c:1501 pepigen.c:1501
+#, c-format
msgid "\tExport Address Table \t\t"
msgstr ""
-#: peigen.c:1456 pepigen.c:1456
+#: peigen.c:1506 pepigen.c:1506
+#, c-format
msgid "\tName Pointer Table \t\t"
msgstr ""
-#: peigen.c:1461 pepigen.c:1461
+#: peigen.c:1511 pepigen.c:1511
+#, c-format
msgid "\tOrdinal Table \t\t\t"
msgstr ""
-#: peigen.c:1476 pepigen.c:1476
+#: peigen.c:1526 pepigen.c:1526
#, c-format
msgid ""
"\n"
"Export Address Table -- Ordinal Base %ld\n"
msgstr ""
-#: peigen.c:1495 pepigen.c:1495
+#: peigen.c:1545 pepigen.c:1545
msgid "Forwarder RVA"
msgstr ""
-#: peigen.c:1506 pepigen.c:1506
+#: peigen.c:1556 pepigen.c:1556
msgid "Export RVA"
msgstr ""
-#: peigen.c:1513 pepigen.c:1513
+#: peigen.c:1563 pepigen.c:1563
+#, c-format
msgid ""
"\n"
"[Ordinal/Name Pointer] Table\n"
msgstr ""
-#: peigen.c:1568 pepigen.c:1568
+#: peigen.c:1618 pepigen.c:1618
#, c-format
msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
msgstr ""
-#: peigen.c:1572 pepigen.c:1572
+#: peigen.c:1622 pepigen.c:1622
+#, c-format
msgid ""
"\n"
"The Function Table (interpreted .pdata section contents)\n"
msgstr ""
-#: peigen.c:1575 pepigen.c:1575
+#: peigen.c:1625 pepigen.c:1625
+#, c-format
msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
msgstr ""
-#: peigen.c:1577 pepigen.c:1577
+#: peigen.c:1627 pepigen.c:1627
+#, c-format
msgid ""
" vma:\t\tBegin End EH EH PrologEnd Exception\n"
" \t\tAddress Address Handler Data Address Mask\n"
msgstr ""
-#: peigen.c:1647 pepigen.c:1647
+#: peigen.c:1697 pepigen.c:1697
+#, c-format
msgid " Register save millicode"
msgstr ""
-#: peigen.c:1650 pepigen.c:1650
+#: peigen.c:1700 pepigen.c:1700
+#, c-format
msgid " Register restore millicode"
msgstr ""
-#: peigen.c:1653 pepigen.c:1653
+#: peigen.c:1703 pepigen.c:1703
+#, c-format
msgid " Glue code sequence"
msgstr ""
-#: peigen.c:1705 pepigen.c:1705
+#: peigen.c:1755 pepigen.c:1755
+#, c-format
msgid ""
"\n"
"\n"
"PE File Base Relocations (interpreted .reloc section contents)\n"
msgstr ""
-#: peigen.c:1735 pepigen.c:1735
+#: peigen.c:1785 pepigen.c:1785
#, c-format
msgid ""
"\n"
"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"
msgstr ""
-#: peigen.c:1748 pepigen.c:1748
+#: peigen.c:1798 pepigen.c:1798
#, c-format
msgid "\treloc %4d offset %4x [%4lx] %s"
msgstr ""
@@ -2997,7 +3232,7 @@ msgstr ""
#. The MS dumpbin program reportedly ands with 0xff0f before
#. printing the characteristics field. Not sure why. No reason to
#. emulate it here.
-#: peigen.c:1788 pepigen.c:1788
+#: peigen.c:1838 pepigen.c:1838
#, c-format
msgid ""
"\n"
diff --git a/bfd/ppcboot.c b/bfd/ppcboot.c
index 05fb7de..d34f1a2 100644
--- a/bfd/ppcboot.c
+++ b/bfd/ppcboot.c
@@ -1,5 +1,5 @@
/* BFD back-end for PPCbug boot records.
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Michael Meissner, Cygnus Support, <meissner@cygnus.com>
@@ -469,6 +469,7 @@ ppcboot_bfd_print_private_bfd_data (abfd, farg)
#define ppcboot_bfd_relax_section bfd_generic_relax_section
#define ppcboot_bfd_gc_sections bfd_generic_gc_sections
#define ppcboot_bfd_merge_sections bfd_generic_merge_sections
+#define ppcboot_bfd_is_group_section bfd_generic_is_group_section
#define ppcboot_bfd_discard_group bfd_generic_discard_group
#define ppcboot_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define ppcboot_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 9bffaa3..bc8d13b 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -1647,6 +1647,11 @@ the section containing the relocation. It depends on the specific target.
The 24-bit relocation is used in some Intel 960 configurations.
ENUM
+ BFD_RELOC_32_SECREL
+ENUMDOC
+ Section relative relocations. Some targets need this for DWARF2.
+
+ENUM
BFD_RELOC_32_GOT_PCREL
ENUMX
BFD_RELOC_16_GOT_PCREL
@@ -2061,14 +2066,6 @@ ENUM
BFD_RELOC_LO16
ENUMDOC
Low 16 bits.
-ENUM
- BFD_RELOC_PCREL_HI16_S
-ENUMDOC
- Like BFD_RELOC_HI16_S, but PC relative.
-ENUM
- BFD_RELOC_PCREL_LO16
-ENUMDOC
- Like BFD_RELOC_LO16, but PC relative.
ENUM
BFD_RELOC_MIPS_LITERAL
@@ -3771,6 +3768,89 @@ ENUMDOC
This is the 5 bits of a value.
ENUM
+ BFD_RELOC_16C_NUM08
+ENUMX
+ BFD_RELOC_16C_NUM08_C
+ENUMX
+ BFD_RELOC_16C_NUM16
+ENUMX
+ BFD_RELOC_16C_NUM16_C
+ENUMX
+ BFD_RELOC_16C_NUM32
+ENUMX
+ BFD_RELOC_16C_NUM32_C
+ENUMX
+ BFD_RELOC_16C_DISP04
+ENUMX
+ BFD_RELOC_16C_DISP04_C
+ENUMX
+ BFD_RELOC_16C_DISP08
+ENUMX
+ BFD_RELOC_16C_DISP08_C
+ENUMX
+ BFD_RELOC_16C_DISP16
+ENUMX
+ BFD_RELOC_16C_DISP16_C
+ENUMX
+ BFD_RELOC_16C_DISP24
+ENUMX
+ BFD_RELOC_16C_DISP24_C
+ENUMX
+ BFD_RELOC_16C_DISP24a
+ENUMX
+ BFD_RELOC_16C_DISP24a_C
+ENUMX
+ BFD_RELOC_16C_REG04
+ENUMX
+ BFD_RELOC_16C_REG04_C
+ENUMX
+ BFD_RELOC_16C_REG04a
+ENUMX
+ BFD_RELOC_16C_REG04a_C
+ENUMX
+ BFD_RELOC_16C_REG14
+ENUMX
+ BFD_RELOC_16C_REG14_C
+ENUMX
+ BFD_RELOC_16C_REG16
+ENUMX
+ BFD_RELOC_16C_REG16_C
+ENUMX
+ BFD_RELOC_16C_REG20
+ENUMX
+ BFD_RELOC_16C_REG20_C
+ENUMX
+ BFD_RELOC_16C_ABS20
+ENUMX
+ BFD_RELOC_16C_ABS20_C
+ENUMX
+ BFD_RELOC_16C_ABS24
+ENUMX
+ BFD_RELOC_16C_ABS24_C
+ENUMX
+ BFD_RELOC_16C_IMM04
+ENUMX
+ BFD_RELOC_16C_IMM04_C
+ENUMX
+ BFD_RELOC_16C_IMM16
+ENUMX
+ BFD_RELOC_16C_IMM16_C
+ENUMX
+ BFD_RELOC_16C_IMM20
+ENUMX
+ BFD_RELOC_16C_IMM20_C
+ENUMX
+ BFD_RELOC_16C_IMM24
+ENUMX
+ BFD_RELOC_16C_IMM24_C
+ENUMX
+ BFD_RELOC_16C_IMM32
+ENUMX
+ BFD_RELOC_16C_IMM32_C
+ENUMDOC
+ NS CR16C Relocations.
+
+ENUM
BFD_RELOC_CRIS_BDISP8
ENUMX
BFD_RELOC_CRIS_UNSIGNED_5
diff --git a/bfd/section.c b/bfd/section.c
index fce8e1e..7f5365b 100644
--- a/bfd/section.c
+++ b/bfd/section.c
@@ -1,6 +1,6 @@
/* Object file "section" support for the BFD library.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -801,6 +801,57 @@ bfd_get_section_by_name (bfd *abfd, const char *name)
/*
FUNCTION
+ bfd_get_section_by_name_if
+
+SYNOPSIS
+ asection *bfd_get_section_by_name_if
+ (bfd *abfd,
+ const char *name,
+ bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
+ void *obj);
+
+DESCRIPTION
+ Call the provided function @var{func} for each section
+ attached to the BFD @var{abfd} whose name matches @var{name},
+ passing @var{obj} as an argument. The function will be called
+ as if by
+
+| func (abfd, the_section, obj);
+
+ It returns the first section for which @var{func} returns true,
+ otherwise <<NULL>>.
+
+*/
+
+asection *
+bfd_get_section_by_name_if (bfd *abfd, const char *name,
+ bfd_boolean (*operation) (bfd *,
+ asection *,
+ void *),
+ void *user_storage)
+{
+ struct section_hash_entry *sh;
+ unsigned long hash;
+
+ sh = section_hash_lookup (&abfd->section_htab, name, FALSE, FALSE);
+ if (sh == NULL)
+ return NULL;
+
+ hash = sh->root.hash;
+ do
+ {
+ if ((*operation) (abfd, &sh->section, user_storage))
+ return &sh->section;
+ sh = (struct section_hash_entry *) sh->root.next;
+ }
+ while (sh != NULL && sh->root.hash == hash
+ && strcmp (sh->root.string, name) == 0);
+
+ return NULL;
+}
+
+/*
+FUNCTION
bfd_get_unique_section_name
SYNOPSIS
@@ -945,13 +996,19 @@ bfd_make_section_anyway (bfd *abfd, const char *name)
newsect = &sh->section;
if (newsect->name != NULL)
{
- /* We are making a section of the same name. It can't go in
- section_htab without generating a unique section name and
- that would be pointless; We don't need to traverse the
- hash table. */
- newsect = bfd_zalloc (abfd, sizeof (asection));
- if (newsect == NULL)
+ /* We are making a section of the same name. Put it in the
+ section hash table. Even though we can't find it directly by a
+ hash lookup, we'll be able to find the section by traversing
+ sh->root.next quicker than looking at all the bfd sections. */
+ struct section_hash_entry *new_sh;
+ new_sh = (struct section_hash_entry *)
+ bfd_section_hash_newfunc (NULL, &abfd->section_htab, name);
+ if (new_sh == NULL)
return NULL;
+
+ new_sh->root = sh->root;
+ sh->root.next = &new_sh->root;
+ newsect = &new_sh->section;
}
newsect->name = name;
@@ -1090,6 +1147,41 @@ bfd_map_over_sections (bfd *abfd,
/*
FUNCTION
+ bfd_sections_find_if
+
+SYNOPSIS
+ asection *bfd_sections_find_if
+ (bfd *abfd,
+ bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
+ void *obj);
+
+DESCRIPTION
+ Call the provided function @var{func} for each section
+ attached to the BFD @var{abfd}, passing @var{obj} as an
+ argument. The function will be called as if by
+
+| func (abfd, the_section, obj);
+
+ It returns the first section for which @var{func} returns true.
+
+*/
+
+asection *
+bfd_sections_find_if (bfd *abfd,
+ bfd_boolean (*operation) (bfd *, asection *, void *),
+ void *user_storage)
+{
+ asection *sect;
+
+ for (sect = abfd->sections; sect != NULL; sect = sect->next)
+ if ((*operation) (abfd, sect, user_storage))
+ break;
+
+ return sect;
+}
+
+/*
+FUNCTION
bfd_set_section_size
SYNOPSIS
@@ -1351,6 +1443,24 @@ _bfd_strip_section_from_output (struct bfd_link_info *info, asection *s)
/*
FUNCTION
+ bfd_generic_is_group_section
+
+SYNOPSIS
+ bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
+
+DESCRIPTION
+ Returns TRUE if @var{sec} is a member of a group.
+*/
+
+bfd_boolean
+bfd_generic_is_group_section (bfd *abfd ATTRIBUTE_UNUSED,
+ const asection *sec ATTRIBUTE_UNUSED)
+{
+ return FALSE;
+}
+
+/*
+FUNCTION
bfd_generic_discard_group
SYNOPSIS
diff --git a/bfd/simple.c b/bfd/simple.c
index 4b597a4..fc2472e 100644
--- a/bfd/simple.c
+++ b/bfd/simple.c
@@ -1,5 +1,5 @@
/* simple.c -- BFD simple client routines
- Copyright 2002, 2003
+ Copyright 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by MontaVista Software, Inc.
@@ -140,28 +140,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
bfd_byte *contents, *data;
int storage_needed;
void *saved_offsets;
- bfd_boolean saved_reloc_done = sec->reloc_done;
-
-#undef RETURN
-#define RETURN(x) \
- do \
- { \
- sec->reloc_done = saved_reloc_done; \
- return (x); \
- } \
- while (0)
-
- /* Foul hack to prevent bfd_section_size aborts. The reloc_done flag
- only controls that macro (and the related size macros), selecting
- between _raw_size and _cooked_size. We may be called with relocation
- done or not, so we need to save the done-flag and mark the section as
- not relocated.
-
- Debug sections won't change size while we're only relocating. There
- may be trouble here someday if it tries to run relaxation
- unexpectedly, so make sure. */
- BFD_ASSERT (sec->_raw_size == sec->_cooked_size);
- sec->reloc_done = 0;
+ bfd_size_type old_cooked_size;
if (! (sec->flags & SEC_RELOC))
{
@@ -175,7 +154,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
if (contents)
bfd_get_section_contents (abfd, sec, contents, 0, size);
- RETURN (contents);
+ return contents;
}
/* In order to use bfd_get_relocated_section_contents, we need
@@ -205,7 +184,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
{
data = bfd_malloc (bfd_section_size (abfd, sec));
if (data == NULL)
- RETURN (NULL);
+ return NULL;
outbuf = data;
}
@@ -224,7 +203,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
{
if (data)
free (data);
- RETURN (NULL);
+ return NULL;
}
bfd_map_over_sections (abfd, simple_save_output_info, saved_offsets);
@@ -239,6 +218,12 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
else
storage_needed = 0;
+ /* This function might be called before _cooked_size has been set, and
+ bfd_perform_relocation needs _cooked_size to be valid. */
+ old_cooked_size = sec->_cooked_size;
+ if (old_cooked_size == 0)
+ sec->_cooked_size = sec->_raw_size;
+
contents = bfd_get_relocated_section_contents (abfd,
&link_info,
&link_order,
@@ -262,10 +247,11 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
free (symbol_table);
#endif
+ sec->_cooked_size = old_cooked_size;
bfd_map_over_sections (abfd, simple_restore_output_info, saved_offsets);
free (saved_offsets);
_bfd_generic_link_hash_table_free (link_info.hash);
- RETURN (contents);
+ return contents;
}
diff --git a/bfd/som.c b/bfd/som.c
index 9066257..11766c1 100644
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -1,6 +1,6 @@
/* bfd back-end for HP PA-RISC SOM objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by the Center for Software Science at the
@@ -146,6 +146,9 @@ struct som_misc_symbol_info {
unsigned int symbol_value;
unsigned int priv_level;
unsigned int secondary_def;
+ unsigned int is_comdat;
+ unsigned int is_common;
+ unsigned int dup_common;
};
/* Forward declarations. */
@@ -194,7 +197,7 @@ static bfd_boolean som_bfd_copy_private_bfd_data
static bfd_boolean som_bfd_is_local_label_name
PARAMS ((bfd *, const char *));
static bfd_boolean som_set_section_contents
- PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
+ PARAMS ((bfd *, sec_ptr, const PTR, file_ptr, bfd_size_type));
static bfd_boolean som_get_section_contents
PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
static bfd_boolean som_set_arch_mach
@@ -1589,6 +1592,11 @@ hppa_som_gen_reloc_type (abfd, base_type, format, field, sym_diff, sym)
final_types[3] = NULL;
*final_type = base_type;
break;
+
+ /* FIXME: These two field selectors are not currently supported. */
+ case e_ltpsel:
+ case e_rtpsel:
+ abort ();
}
switch (base_type)
@@ -1820,10 +1828,13 @@ som_object_setup (abfd, file_hdrp, aux_hdrp, current_offset)
found = 0;
for (section = abfd->sections; section; section = section->next)
{
+ bfd_vma entry;
+
if ((section->flags & SEC_CODE) == 0)
continue;
- if (aux_hdrp->exec_entry >= section->vma
- && aux_hdrp->exec_entry < section->vma + section->_cooked_size)
+ entry = aux_hdrp->exec_entry;
+ if (entry >= section->vma
+ && entry < section->vma + section->_cooked_size)
found = 1;
}
if (aux_hdrp->exec_entry == 0
@@ -1897,8 +1908,8 @@ setup_sections (abfd, file_hdr, current_offset)
for (space_index = 0; space_index < file_hdr->space_total; space_index++)
{
struct space_dictionary_record space;
- struct subspace_dictionary_record subspace, save_subspace;
- int subspace_index;
+ struct som_subspace_dictionary_record subspace, save_subspace;
+ unsigned int subspace_index;
asection *space_asect;
char *newname;
@@ -1965,7 +1976,7 @@ setup_sections (abfd, file_hdr, current_offset)
/* Initialize save_subspace so we can reliably determine if this
loop placed any useful values into it. */
- memset (&save_subspace, 0, sizeof (struct subspace_dictionary_record));
+ memset (&save_subspace, 0, sizeof (save_subspace));
/* Loop over the rest of the subspaces, building up more sections. */
for (subspace_index = 0; subspace_index < space.subspace_quantity;
@@ -1996,7 +2007,10 @@ setup_sections (abfd, file_hdr, current_offset)
if (! bfd_som_set_subsection_attributes (subspace_asect, space_asect,
subspace.access_control_bits,
subspace.sort_key,
- subspace.quadrant))
+ subspace.quadrant,
+ subspace.is_comdat,
+ subspace.is_common,
+ subspace.dup_common))
goto error_return;
/* Keep an easy mapping between subspaces and sections.
@@ -2042,9 +2056,10 @@ setup_sections (abfd, file_hdr, current_offset)
break;
}
- if (subspace.dup_common || subspace.is_common)
- subspace_asect->flags |= SEC_IS_COMMON;
- else if (subspace.subspace_length > 0)
+ if (subspace.is_comdat || subspace.is_common || subspace.dup_common)
+ subspace_asect->flags |= SEC_LINK_ONCE;
+
+ if (subspace.subspace_length > 0)
subspace_asect->flags |= SEC_HAS_CONTENTS;
if (subspace.is_loadable)
@@ -2394,21 +2409,15 @@ som_prep_headers (abfd)
else
{
/* Allocate space for the subspace dictionary. */
- amt = sizeof (struct subspace_dictionary_record);
+ amt = sizeof (struct som_subspace_dictionary_record);
som_section_data (section)->subspace_dict =
- (struct subspace_dictionary_record *) bfd_zalloc (abfd, amt);
+ (struct som_subspace_dictionary_record *) bfd_zalloc (abfd, amt);
if (som_section_data (section)->subspace_dict == NULL)
return FALSE;
/* Set subspace attributes. Basic stuff is done here, additional
attributes are filled in later as more information becomes
available. */
- if (section->flags & SEC_IS_COMMON)
- {
- som_section_data (section)->subspace_dict->dup_common = 1;
- som_section_data (section)->subspace_dict->is_common = 1;
- }
-
if (section->flags & SEC_ALLOC)
som_section_data (section)->subspace_dict->is_loadable = 1;
@@ -2431,6 +2440,12 @@ som_prep_headers (abfd)
som_section_data (section)->copy_data->access_control_bits;
som_section_data (section)->subspace_dict->quadrant =
som_section_data (section)->copy_data->quadrant;
+ som_section_data (section)->subspace_dict->is_comdat =
+ som_section_data (section)->copy_data->is_comdat;
+ som_section_data (section)->subspace_dict->is_common =
+ som_section_data (section)->copy_data->is_common;
+ som_section_data (section)->subspace_dict->dup_common =
+ som_section_data (section)->copy_data->dup_common;
}
}
return TRUE;
@@ -2725,7 +2740,7 @@ som_write_fixups (abfd, current_offset, total_reloc_sizep)
int reloc_offset;
unsigned int current_rounding_mode;
#ifndef NO_PCREL_MODES
- int current_call_mode;
+ unsigned int current_call_mode;
#endif
/* Find a subspace of this space. */
@@ -3466,7 +3481,8 @@ som_begin_writing (abfd)
num_subspaces = som_count_subspaces (abfd);
obj_som_file_hdr (abfd)->subspace_location = current_offset;
obj_som_file_hdr (abfd)->subspace_total = num_subspaces;
- current_offset += num_subspaces * sizeof (struct subspace_dictionary_record);
+ current_offset
+ += num_subspaces * sizeof (struct som_subspace_dictionary_record);
/* Next is the string table for the space/subspace names. We will
build and write the string table on the fly. At the same time
@@ -3841,7 +3857,7 @@ som_finish_writing (abfd)
som_section_data (subsection)->subspace_dict->space_index = i;
/* Dump the current subspace header. */
- amt = sizeof (struct subspace_dictionary_record);
+ amt = sizeof (struct som_subspace_dictionary_record);
if (bfd_bwrite ((PTR) som_section_data (subsection)->subspace_dict,
amt, abfd) != amt)
return FALSE;
@@ -3897,7 +3913,7 @@ som_finish_writing (abfd)
som_section_data (subsection)->subspace_dict->space_index = i;
/* Dump this subspace header. */
- amt = sizeof (struct subspace_dictionary_record);
+ amt = sizeof (struct som_subspace_dictionary_record);
if (bfd_bwrite ((PTR) som_section_data (subsection)->subspace_dict,
amt, abfd) != amt)
return FALSE;
@@ -4045,12 +4061,12 @@ som_bfd_derive_misc_symbol_info (abfd, sym, info)
info->symbol_type = ST_DATA;
else
{
- /* Common symbols must have scope SS_UNSAT and type
- ST_STORAGE or the linker will choke. */
+ /* For BFD style common, the linker will choke unless we set the
+ type and scope to ST_STORAGE and SS_UNSAT, respectively. */
if (bfd_is_com_section (sym->section))
{
- info->symbol_scope = SS_UNSAT;
info->symbol_type = ST_STORAGE;
+ info->symbol_scope = SS_UNSAT;
}
/* It is possible to have a symbol without an associated
@@ -4089,9 +4105,6 @@ som_bfd_derive_misc_symbol_info (abfd, sym, info)
info->symbol_type = ST_DATA;
}
- else if (som_symbol_data (sym)->som_type == SYMBOL_TYPE_UNKNOWN)
- info->symbol_type = ST_DATA;
-
/* From now on it's a very simple mapping. */
else if (som_symbol_data (sym)->som_type == SYMBOL_TYPE_ABSOLUTE)
info->symbol_type = ST_ABSOLUTE;
@@ -4112,14 +4125,15 @@ som_bfd_derive_misc_symbol_info (abfd, sym, info)
/* Now handle the symbol's scope. Exported data which is not
in the common section has scope SS_UNIVERSAL. Note scope
of common symbols was handled earlier! */
- if (bfd_is_und_section (sym->section))
+ if (bfd_is_com_section (sym->section))
+ ;
+ else if (bfd_is_und_section (sym->section))
info->symbol_scope = SS_UNSAT;
- else if (sym->flags & (BSF_EXPORT | BSF_WEAK)
- && ! bfd_is_com_section (sym->section))
+ else if (sym->flags & (BSF_EXPORT | BSF_WEAK))
info->symbol_scope = SS_UNIVERSAL;
/* Anything else which is not in the common section has scope
SS_LOCAL. */
- else if (! bfd_is_com_section (sym->section))
+ else
info->symbol_scope = SS_LOCAL;
/* Now set the symbol_info field. It has no real meaning
@@ -4138,12 +4152,49 @@ som_bfd_derive_misc_symbol_info (abfd, sym, info)
/* Set the symbol's value. */
info->symbol_value = sym->value + sym->section->vma;
- /* The secondary_def field is for weak symbols. */
+ /* The secondary_def field is for "weak" symbols. */
if (sym->flags & BSF_WEAK)
info->secondary_def = TRUE;
else
info->secondary_def = FALSE;
+ /* The is_comdat, is_common and dup_common fields provide various
+ flavors of common.
+
+ For data symbols, setting IS_COMMON provides Fortran style common
+ (duplicate definitions and overlapped initialization). Setting both
+ IS_COMMON and DUP_COMMON provides Cobol style common (duplicate
+ definitions as long as they are all the same length). In a shared
+ link data symbols retain their IS_COMMON and DUP_COMMON flags.
+ An IS_COMDAT data symbol is similar to a IS_COMMON | DUP_COMMON
+ symbol except in that it loses its IS_COMDAT flag in a shared link.
+
+ For code symbols, IS_COMDAT and DUP_COMMON have effect. Universal
+ DUP_COMMON code symbols are not exported from shared libraries.
+ IS_COMDAT symbols are exported but they lose their IS_COMDAT flag.
+
+ We take a simplified approach to setting the is_comdat, is_common
+ and dup_common flags in symbols based on the flag settings of their
+ subspace. This avoids having to add directives like `.comdat' but
+ the linker behavior is probably undefined if there is more than one
+ universal symbol (comdat key sysmbol) in a subspace.
+
+ The behavior of these flags is not well documentmented, so there
+ may be bugs and some surprising interactions with other flags. */
+ if (som_section_data (sym->section)
+ && som_section_data (sym->section)->subspace_dict
+ && info->symbol_scope == SS_UNIVERSAL
+ && (info->symbol_type == ST_ENTRY
+ || info->symbol_type == ST_CODE
+ || info->symbol_type == ST_DATA))
+ {
+ info->is_comdat
+ = som_section_data (sym->section)->subspace_dict->is_comdat;
+ info->is_common
+ = som_section_data (sym->section)->subspace_dict->is_common;
+ info->dup_common
+ = som_section_data (sym->section)->subspace_dict->dup_common;
+ }
}
/* Build and write, in one big chunk, the entire symbol table for
@@ -4189,6 +4240,9 @@ som_build_and_write_symbol_table (abfd)
som_symtab[i].xleast = 3;
som_symtab[i].symbol_value = info.symbol_value | info.priv_level;
som_symtab[i].secondary_def = info.secondary_def;
+ som_symtab[i].is_comdat = info.is_comdat;
+ som_symtab[i].is_common = info.is_common;
+ som_symtab[i].dup_common = info.dup_common;
}
/* Everything is ready, seek to the right location and
@@ -4298,7 +4352,7 @@ bfd_section_from_som_symbol (abfd, symbol)
&& symbol->symbol_type != ST_SEC_PROG
&& symbol->symbol_type != ST_MILLICODE))
{
- unsigned int index = symbol->symbol_info;
+ int index = symbol->symbol_info;
for (section = abfd->sections; section != NULL; section = section->next)
if (section->target_index == index && som_is_subspace (section))
return section;
@@ -5212,12 +5266,13 @@ bfd_som_set_section_attributes (section, defined, private, sort_key, spnum)
bfd_boolean
bfd_som_set_subsection_attributes (section, container, access,
- sort_key, quadrant)
+ sort_key, quadrant, comdat,
+ common, dup_common)
asection *section;
asection *container;
int access;
unsigned int sort_key;
- int quadrant;
+ int quadrant, comdat, common, dup_common;
{
/* Allocate memory to hold the magic information. */
if (som_section_data (section)->copy_data == NULL)
@@ -5233,6 +5288,9 @@ bfd_som_set_subsection_attributes (section, container, access,
som_section_data (section)->copy_data->access_control_bits = access;
som_section_data (section)->copy_data->quadrant = quadrant;
som_section_data (section)->copy_data->container = container;
+ som_section_data (section)->copy_data->is_comdat = comdat;
+ som_section_data (section)->copy_data->is_common = common;
+ som_section_data (section)->copy_data->dup_common = dup_common;
return TRUE;
}
@@ -5358,7 +5416,7 @@ static bfd_boolean
som_set_section_contents (abfd, section, location, offset, count)
bfd *abfd;
sec_ptr section;
- PTR location;
+ const PTR location;
file_ptr offset;
bfd_size_type count;
{
@@ -5385,7 +5443,7 @@ som_set_section_contents (abfd, section, location, offset, count)
if (bfd_seek (abfd, offset, SEEK_SET) != 0)
return FALSE;
- if (bfd_bwrite ((PTR) location, count, abfd) != count)
+ if (bfd_bwrite (location, count, abfd) != count)
return FALSE;
return TRUE;
}
@@ -6036,7 +6094,7 @@ som_bfd_ar_write_symbol_stuff (abfd, nsyms, string_size, lst, elength)
curr_lst_sym->initially_frozen = 0;
curr_lst_sym->memory_resident = 0;
curr_lst_sym->is_common = bfd_is_com_section (sym->symbol.section);
- curr_lst_sym->dup_common = 0;
+ curr_lst_sym->dup_common = info.dup_common;
curr_lst_sym->xleast = 3;
curr_lst_sym->arg_reloc = info.arg_reloc;
curr_lst_sym->name.n_strx = p - strings + 4;
@@ -6352,6 +6410,7 @@ som_bfd_link_split_section (abfd, sec)
#define som_bfd_gc_sections bfd_generic_gc_sections
#define som_bfd_merge_sections bfd_generic_merge_sections
+#define som_bfd_is_group_section bfd_generic_is_group_section
#define som_bfd_discard_group bfd_generic_discard_group
const bfd_target som_vec = {
@@ -6362,7 +6421,7 @@ const bfd_target som_vec = {
(HAS_RELOC | EXEC_P | /* object flags */
HAS_LINENO | HAS_DEBUG |
HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | DYNAMIC),
- (SEC_CODE | SEC_DATA | SEC_ROM | SEC_HAS_CONTENTS
+ (SEC_CODE | SEC_DATA | SEC_ROM | SEC_HAS_CONTENTS | SEC_LINK_ONCE
| SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
/* leading_symbol_char: is the first char of a user symbol
diff --git a/bfd/som.h b/bfd/som.h
index 537ddaa..3954855 100644
--- a/bfd/som.h
+++ b/bfd/som.h
@@ -27,7 +27,7 @@
#include "libhppa.h"
-/* Enable PA2.0 if available */
+/* We want reloc.h to provide PA 2.0 defines. */
#define PA_2_0
#include <a.out.h>
@@ -143,6 +143,35 @@ struct som_data_struct
struct somdata a;
};
+struct som_subspace_dictionary_record
+ {
+ int space_index;
+ unsigned int access_control_bits : 7;
+ unsigned int memory_resident : 1;
+ unsigned int dup_common : 1;
+ unsigned int is_common : 1;
+ unsigned int is_loadable : 1;
+ unsigned int quadrant : 2;
+ unsigned int initially_frozen : 1;
+ unsigned int is_first : 1;
+ unsigned int code_only : 1;
+ unsigned int sort_key : 8;
+ unsigned int replicate_init : 1;
+ unsigned int continuation : 1;
+ unsigned int is_tspecific : 1;
+ unsigned int is_comdat : 1;
+ unsigned int reserved : 4;
+ int file_loc_init_value;
+ unsigned int initialization_length;
+ unsigned int subspace_start;
+ unsigned int subspace_length;
+ unsigned int reserved2 : 5;
+ unsigned int alignment :27;
+ union name_pt name;
+ int fixup_request_index;
+ unsigned int fixup_request_quantity;
+ };
+
/* Substructure of som_section_data_struct used to hold information
which can't be represented by the generic BFD section structure,
but which must be copied during objcopy or strip. */
@@ -155,6 +184,9 @@ struct som_copyable_section_data_struct
unsigned int is_defined : 1;
unsigned int is_private : 1;
unsigned int quadrant : 2;
+ unsigned int is_comdat : 1;
+ unsigned int is_common : 1;
+ unsigned int dup_common : 1;
/* For subspaces, this points to the section which represents the
space in which the subspace is contained. For spaces it points
@@ -184,7 +216,7 @@ struct som_section_data_struct
unsigned int reloc_size;
char *reloc_stream;
struct space_dictionary_record *space_dict;
- struct subspace_dictionary_record *subspace_dict;
+ struct som_subspace_dictionary_record *subspace_dict;
};
#define somdata(bfd) ((bfd)->tdata.som_data->a)
@@ -231,7 +263,7 @@ struct som_section_data_struct
bfd_boolean bfd_som_set_section_attributes
PARAMS ((asection *, int, int, unsigned int, int));
bfd_boolean bfd_som_set_subsection_attributes
- PARAMS ((asection *, asection *, int, unsigned int, int));
+ PARAMS ((asection *, asection *, int, unsigned int, int, int, int, int));
void bfd_som_set_symbol_type PARAMS ((asymbol *, unsigned int));
bfd_boolean bfd_som_attach_aux_hdr PARAMS ((bfd *, int, char *));
int ** hppa_som_gen_reloc_type
diff --git a/bfd/srec.c b/bfd/srec.c
index c0a3d58..2eba70d 100644
--- a/bfd/srec.c
+++ b/bfd/srec.c
@@ -1,6 +1,6 @@
/* BFD back-end for s-record objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
@@ -1284,6 +1284,7 @@ srec_print_symbol (abfd, afile, symbol, how)
#define srec_bfd_relax_section bfd_generic_relax_section
#define srec_bfd_gc_sections bfd_generic_gc_sections
#define srec_bfd_merge_sections bfd_generic_merge_sections
+#define srec_bfd_is_group_section bfd_generic_is_group_section
#define srec_bfd_discard_group bfd_generic_discard_group
#define srec_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define srec_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/stabs.c b/bfd/stabs.c
index 42944a4..04b91f6 100644
--- a/bfd/stabs.c
+++ b/bfd/stabs.c
@@ -1,5 +1,5 @@
/* Stabs in sections linking support.
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
@@ -56,12 +56,19 @@ struct stab_link_includes_table
};
/* A linked list of totals that we have found for a particular header
- file. */
+ file. A total is a unique identifier for a particular BINCL...EINCL
+ sequence of STABs that can be used to identify duplicate sequences.
+ It consists of three fields, 'sum_chars' which is the sum of all the
+ STABS characters; 'num_chars' which is the number of these charactes
+ and 'symb' which is a buffer of all the symbols in the sequence. This
+ buffer is only checked as a last resort. */
struct stab_link_includes_totals
{
struct stab_link_includes_totals *next;
- bfd_vma total;
+ bfd_vma sum_chars; /* Accumulated sum of STABS characters. */
+ bfd_vma num_chars; /* Number of STABS characters. */
+ const char* symb; /* The STABS characters themselves. */
};
/* An entry in the header file hash table. */
@@ -340,15 +347,21 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
first number after an open parenthesis). */
if (type == (int) N_BINCL)
{
- bfd_vma val;
+ bfd_vma sum_chars;
+ bfd_vma num_chars;
+ bfd_vma buf_len = 0;
+ char * symb;
+ char * symb_rover;
int nest;
- bfd_byte *incl_sym;
- struct stab_link_includes_entry *incl_entry;
- struct stab_link_includes_totals *t;
- struct stab_excl_list *ne;
+ bfd_byte * incl_sym;
+ struct stab_link_includes_entry * incl_entry;
+ struct stab_link_includes_totals * t;
+ struct stab_excl_list * ne;
- val = 0;
+ symb = symb_rover = NULL;
+ sum_chars = num_chars = 0;
nest = 0;
+
for (incl_sym = sym + STABSIZE;
incl_sym < symend;
incl_sym += STABSIZE)
@@ -377,7 +390,17 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
+ bfd_get_32 (abfd, incl_sym + STRDXOFF));
for (; *str != '\0'; str++)
{
- val += *str;
+ if (num_chars >= buf_len)
+ {
+ buf_len += 32 * 1024;
+ symb = bfd_realloc (symb, buf_len);
+ if (symb == NULL)
+ goto error_return;
+ symb_rover = symb + num_chars;
+ }
+ * symb_rover ++ = * str;
+ sum_chars += *str;
+ num_chars ++;
if (*str == '(')
{
/* Skip the file number. */
@@ -390,6 +413,8 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
}
}
+ BFD_ASSERT (num_chars == (bfd_vma) (symb_rover - symb));
+
/* If we have already included a header file with the same
value, then replaced this one with an N_EXCL symbol. */
incl_entry = stab_link_includes_lookup (&sinfo->includes, string,
@@ -398,7 +423,9 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
goto error_return;
for (t = incl_entry->totals; t != NULL; t = t->next)
- if (t->total == val)
+ if (t->sum_chars == sum_chars
+ && t->num_chars == num_chars
+ && memcmp (t->symb, symb, num_chars) == 0)
break;
/* Record this symbol, so that we can set the value
@@ -408,7 +435,7 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
if (ne == NULL)
goto error_return;
ne->offset = sym - stabbuf;
- ne->val = val;
+ ne->val = sum_chars;
ne->type = (int) N_BINCL;
ne->next = secinfo->excls;
secinfo->excls = ne;
@@ -421,7 +448,9 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
bfd_hash_allocate (&sinfo->includes.root, sizeof *t));
if (t == NULL)
goto error_return;
- t->total = val;
+ t->sum_chars = sum_chars;
+ t->num_chars = num_chars;
+ t->symb = bfd_realloc (symb, num_chars); /* Trim data down. */
t->next = incl_entry->totals;
incl_entry->totals = t;
}
@@ -433,6 +462,9 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
pass to change the type to N_EXCL. */
ne->type = (int) N_EXCL;
+ /* Free off superfluous symbols. */
+ free (symb);
+
/* Mark the skipped symbols. */
nest = 0;
@@ -456,6 +488,9 @@ _bfd_link_section_stabs (abfd, psinfo, stabsec, stabstrsec, psecinfo, pstring_of
}
else if (incl_type == (int) N_BINCL)
++nest;
+ else if (incl_type == (int) N_EXCL)
+ /* Keep existing exclusion marks. */
+ continue;
else if (nest == 0)
{
*incl_pstridx = (bfd_size_type) -1;
diff --git a/bfd/sunos.c b/bfd/sunos.c
index 5b1b18b..4d5099a 100644
--- a/bfd/sunos.c
+++ b/bfd/sunos.c
@@ -73,6 +73,7 @@ static bfd_boolean sunos_finish_dynamic_link
#define MY_get_dynamic_symtab_upper_bound sunos_get_dynamic_symtab_upper_bound
#define MY_canonicalize_dynamic_symtab sunos_canonicalize_dynamic_symtab
+#define MY_get_synthetic_symtab _bfd_nodynamic_get_synthetic_symtab
#define MY_get_dynamic_reloc_upper_bound sunos_get_dynamic_reloc_upper_bound
#define MY_canonicalize_dynamic_reloc sunos_canonicalize_dynamic_reloc
#define MY_bfd_link_hash_table_create sunos_link_hash_table_create
diff --git a/bfd/targets.c b/bfd/targets.c
index 9d81c56..29e3f62 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -406,6 +406,7 @@ BFD_JUMP_TABLE macros.
. NAME##_bfd_link_split_section, \
. NAME##_bfd_gc_sections, \
. NAME##_bfd_merge_sections, \
+. NAME##_bfd_is_group_section, \
. NAME##_bfd_discard_group
.
. int (*_bfd_sizeof_headers) (bfd *, bfd_boolean);
@@ -443,6 +444,9 @@ BFD_JUMP_TABLE macros.
. {* Attempt to merge SEC_MERGE sections. *}
. bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
.
+. {* Is this section a member of a group? *}
+. bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
+.
. {* Discard members of a group. *}
. bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
.
@@ -450,6 +454,7 @@ BFD_JUMP_TABLE macros.
.#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
. NAME##_get_dynamic_symtab_upper_bound, \
. NAME##_canonicalize_dynamic_symtab, \
+. NAME##_get_synthetic_symtab, \
. NAME##_get_dynamic_reloc_upper_bound, \
. NAME##_canonicalize_dynamic_reloc
.
@@ -458,6 +463,9 @@ BFD_JUMP_TABLE macros.
. {* Read in the dynamic symbols. *}
. long (*_bfd_canonicalize_dynamic_symtab)
. (bfd *, struct bfd_symbol **);
+. {* Create synthetized symbols. *}
+. long (*_bfd_get_synthetic_symtab)
+. (bfd *, struct bfd_symbol **, struct bfd_symbol **);
. {* Get the amount of memory required to hold the dynamic relocs. *}
. long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
. {* Read in the dynamic relocs. *}
@@ -517,6 +525,7 @@ extern const bfd_target bfd_elf32_bigarc_vec;
extern const bfd_target bfd_elf32_bigarm_oabi_vec;
extern const bfd_target bfd_elf32_bigarm_vec;
extern const bfd_target bfd_elf32_bigmips_vec;
+extern const bfd_target bfd_elf32_cr16c_vec;
extern const bfd_target bfd_elf32_cris_vec;
extern const bfd_target bfd_elf32_d10v_vec;
extern const bfd_target bfd_elf32_d30v_vec;
@@ -807,6 +816,7 @@ static const bfd_target * const _bfd_target_vector[] = {
&bfd_elf32_bigarm_oabi_vec,
&bfd_elf32_bigarm_vec,
&bfd_elf32_bigmips_vec,
+ &bfd_elf32_cr16c_vec,
&bfd_elf32_cris_vec,
&bfd_elf32_d10v_vec,
&bfd_elf32_d30v_vec,
diff --git a/bfd/tekhex.c b/bfd/tekhex.c
index f828fe7..278e303 100644
--- a/bfd/tekhex.c
+++ b/bfd/tekhex.c
@@ -1,6 +1,6 @@
/* BFD backend for Extended Tektronix Hex Format objects.
- Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
This file is part of BFD, the Binary File Descriptor library.
@@ -1001,6 +1001,7 @@ tekhex_print_symbol (abfd, filep, symbol, how)
#define tekhex_bfd_relax_section bfd_generic_relax_section
#define tekhex_bfd_gc_sections bfd_generic_gc_sections
#define tekhex_bfd_merge_sections bfd_generic_merge_sections
+#define tekhex_bfd_is_group_section bfd_generic_is_group_section
#define tekhex_bfd_discard_group bfd_generic_discard_group
#define tekhex_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define tekhex_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/versados.c b/bfd/versados.c
index 19df300..cd5926e 100644
--- a/bfd/versados.c
+++ b/bfd/versados.c
@@ -1,5 +1,5 @@
/* BFD back-end for VERSAdos-E objects.
- Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
@@ -872,6 +872,7 @@ versados_canonicalize_reloc (abfd, section, relptr, symbols)
#define versados_bfd_relax_section bfd_generic_relax_section
#define versados_bfd_gc_sections bfd_generic_gc_sections
#define versados_bfd_merge_sections bfd_generic_merge_sections
+#define versados_bfd_is_group_section bfd_generic_is_group_section
#define versados_bfd_discard_group bfd_generic_discard_group
#define versados_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define versados_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/bfd/version.h b/bfd/version.h
index 483bae0..b9237fa 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,3 +1,3 @@
-#define BFD_VERSION_DATE 20040322
+#define BFD_VERSION_DATE 20040504
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_string@
diff --git a/bfd/vms.c b/bfd/vms.c
index a55b94b..329b056 100644
--- a/bfd/vms.c
+++ b/bfd/vms.c
@@ -1,6 +1,6 @@
/* vms.c -- BFD back-end for VAX (openVMS/VAX) and
EVAX (openVMS/Alpha) files.
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Klaus K"ampf (kkaempf@rmi.de)
@@ -154,6 +154,7 @@ static long vms_get_dynamic_symtab_upper_bound
PARAMS ((bfd *abfd));
static long vms_canonicalize_dynamic_symtab
PARAMS ((bfd *abfd, asymbol **symbols));
+#define vms_get_synthetic_symtab _bfd_nodynamic_get_synthetic_symtab
static long vms_get_dynamic_reloc_upper_bound
PARAMS ((bfd *abfd));
static long vms_canonicalize_dynamic_reloc
@@ -165,6 +166,7 @@ static bfd_boolean vms_bfd_set_private_flags
#define vms_make_empty_symbol _bfd_generic_make_empty_symbol
#define vms_bfd_link_just_syms _bfd_generic_link_just_syms
+#define vms_bfd_is_group_section bfd_generic_is_group_section
#define vms_bfd_discard_group bfd_generic_discard_group
/*===========================================================================*/
diff --git a/bfd/xsym.c b/bfd/xsym.c
index a4058dd..e5889d4 100644
--- a/bfd/xsym.c
+++ b/bfd/xsym.c
@@ -1,5 +1,5 @@
/* xSYM symbol-file support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2003
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -42,6 +42,7 @@
#define bfd_sym_bfd_relax_section bfd_generic_relax_section
#define bfd_sym_bfd_gc_sections bfd_generic_gc_sections
#define bfd_sym_bfd_merge_sections bfd_generic_merge_sections
+#define bfd_sym_bfd_is_group_section bfd_generic_is_group_section
#define bfd_sym_bfd_discard_group bfd_generic_discard_group
#define bfd_sym_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
#define bfd_sym_bfd_link_hash_table_free _bfd_generic_link_hash_table_free
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 9c9ce85..bfeb69f 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,129 @@
+2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * readelf.c (process_section_headers): Use %3lu on sh_info.
+
+2004-04-30 Michael Deutschmann <michael@talamasca.ocis.net>
+
+ * ranlib.sh: Quote $1 argument in case it contains spaces.
+
+2004-04-27 John Paul Wallington <jpw@gnu.org>
+
+ * objcopy.c (copy_usage, strip_usage): Fix spelling.
+
+2004-04-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * readelf.c (do_section_groups): New.
+ (options): Add --section-groups/-g.
+ (usage): Mention --section-groups/-g.
+ (parse_args): Support --section-groups/-g.
+ (get_group_flags): New.
+ (process_section_groups): New.
+ (process_object): Call process_section_groups.
+
+2004-04-24 Alan Modra <amodra@bigpond.net.au>
+
+ * objdump.c (disassemble_section): Don't disassemble sections
+ without SEC_HAS_CONTENTS.
+
+2004-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * objdump.c (synthsyms, synthcount): New variables.
+ (disassemble_data): Use dynsyms for stripped binaries or libraries.
+ Add synthetized symbols.
+ (dump_bfd): For disassemble, initialize dynsyms always and
+ also synthsyms. Free synthsyms and clear {sym,dynsym,synth}count
+ before returning.
+
+2004-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * strings.c (print_strings): Cast file_off to unsigned long in
+ printf arg list.
+
+2004-04-07 Benjamin Monate <benjamin.monate@cea.fr>
+
+ PR 86
+ * arsup.c (ar_save): Use smart_rename.
+
+2004-04-01 Dean Luick <luick@cray.com>
+
+ * readelf.c (display_debug_pubnames): Align offset and data
+ columns.
+ (read_and_display_attr_value): Add missing break;
+ (debug_displays): Enable the display of the .debug_pubtypes
+ section.
+
+2004-03-30 Stan Shebs <shebs@apple.com>
+
+ * mpw-config.in, mpw-make.sed, mac-binutils.r: Remove MPW
+ support files, no longer used.
+
+2004-03-23 Paul Brook <paul@codesourcery.com>
+
+ * readelf.c (decode_ARM_machine_flags): Add EABI v3.
+
+2004-03-21 Richard Henderson <rth@redhat.com>
+
+ * readelf.c (display_debug_frames): Don't crash for mismatched
+ DW_CFA_restore_state.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * po/binutils.pot: Regenerate.
+
+2004-03-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * objdump.c (struct SFILE): Replace current pointer with pos
+ offset, rename size to alloc.
+ (objdump_sprintf): Avoid unnecessary copies in the common case
+ (disassemble_bytes): Keep sfile live throughout the
+ function. Adjust usage appropriately.
+
+2004-03-10 Ben Elliston <bje@gnu.org>
+
+ * MAINTAINERS: Update my mail address.
+
+2004-03-08 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * deflex.l: Handle "PRIVATE" string.
+ * defparse.y (%token): Add PRIVATE.
+ (%type): Add opt_PRIVATE.
+ (expline): Pass opt_PRIVATE to def_exports.
+ (opt_PRIVATE): Handle PRIVATE token.
+ * dlltool.h (def_exports): Add 7th param for private flag to
+ declaration.
+ * dlltool.c: Add PRIVATE to comment on EXPORTS syntax.
+ (struct export): Add 'private' field.
+ (def_exports): Set 'private' field of struct exports.
+ (scan_drectve_symbols): Adjust calls to def_exports.
+ (scan_filtered_symbols): Likewise.
+ (dump_def_info): Print 'private' field.
+ (gen_def_file): Likewise.
+ (gen_lib_file): Skip generation of lib object if private.
+ Delete tmp object files in same order as they were generated.
+ Don't delete non-existent private object files.
+
+2004-02-27 Andreas Schwab <schwab@suse.de>
+
+ * ar.c (main): Support POSIX-compatible argument parsing.
+
+2004-02-23 Daniel Lucq <daniel@lucq.org>
+
+ * readelf.c (process_mips_specific): Print conflictsno as an
+ unsigned long.
+
+2004-02-21 Dmitry Timoshkov <dmitry@baikal.ru>
+
+ * dlltool.c (gen_exp_file): Always output names for forwarded symbols.
+
+2004-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * objcopy.c (copy_section): Avoid warnings.
+
2004-02-14 Andrew Cagney <cagney@redhat.com>
* ar.c (remove_output): Use bfd_cache_close.
diff --git a/binutils/MAINTAINERS b/binutils/MAINTAINERS
index 79cabaa..28c9144 100644
--- a/binutils/MAINTAINERS
+++ b/binutils/MAINTAINERS
@@ -59,7 +59,7 @@ responsibility among the other maintainers.
ARM Richard Earnshaw <rearnsha@arm.com>
AVR Denis Chertykov <denisc@overta.ru>
AVR Marek Michalkiewicz <marekm@amelek.gda.pl>
- BUILD SYSTEM Ben Elliston <bje@wasabisystems.com>
+ BUILD SYSTEM Ben Elliston <bje@gnu.org>
BUILD SYSTEM Daniel Jacobowitz <dan@debian.org>
CRIS Hans-Peter Nilsson <hp@axis.com>
DWARF2 Jason Merrill <jason@redhat.com>
@@ -77,7 +77,7 @@ responsibility among the other maintainers.
ix86 H.J.Lu <hjl@gnu.org>
ix86 INTEL MODE Diego Novillo <dnovillo@redhat.com>
M68HC11 M68HC12 Stephane Carrez <stcarrez@nerim.fr>
- M68k Ben Elliston <bje@wasabisystems.com>
+ M68k Ben Elliston <bje@gnu.org>
MIPS Eric Christopher <echristo@redhat.com>
MIPS Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
MMIX Hans-Peter Nilsson <hp@bitrange.com>
@@ -90,7 +90,7 @@ responsibility among the other maintainers.
SH Alexandre Oliva <aoliva@redhat.com>
SH Kaz Kojima <kkojima@rr.iij4u.or.jp>
SPARC Jakub Jelinek <jakub@redhat.com>
- TESTSUITES Ben Elliston <bje@wasabisystems.com>
+ TESTSUITES Ben Elliston <bje@gnu.org>
TIC4X Svein Seldal <svein.seldal@solidas.com>
TIC54X Timothy Wall <twall@alum.mit.edu>
VAX Jason R Thorpe <thorpej@wasabisystems.com>
diff --git a/binutils/Makefile.am b/binutils/Makefile.am
index 324c0ea..d128001 100644
--- a/binutils/Makefile.am
+++ b/binutils/Makefile.am
@@ -440,7 +440,9 @@ not-strip.o: not-strip.c
objcopy.o: objcopy.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/symcat.h $(INCDIR)/progress.h bucomm.h config.h \
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
- budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h
+ budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h $(BFDDIR)/elf-bfd.h \
+ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+ $(INCDIR)/bfdlink.h
objdump.o: objdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/symcat.h ../bfd/bfdver.h $(INCDIR)/progress.h \
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
diff --git a/binutils/Makefile.in b/binutils/Makefile.in
index 46eeac8..c4e36b8 100644
--- a/binutils/Makefile.in
+++ b/binutils/Makefile.in
@@ -1168,7 +1168,9 @@ not-strip.o: not-strip.c
objcopy.o: objcopy.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/symcat.h $(INCDIR)/progress.h bucomm.h config.h \
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
- budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h
+ budbg.h $(INCDIR)/filenames.h $(INCDIR)/fnmatch.h $(BFDDIR)/elf-bfd.h \
+ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+ $(INCDIR)/bfdlink.h
objdump.o: objdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/symcat.h ../bfd/bfdver.h $(INCDIR)/progress.h \
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
diff --git a/binutils/aclocal.m4 b/binutils/aclocal.m4
index d1f4a36..49cfc4c 100644
--- a/binutils/aclocal.m4
+++ b/binutils/aclocal.m4
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+dnl aclocal.m4 generated automatically by aclocal 1.4-p6
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
@@ -31,13 +31,22 @@ AC_SUBST(INTLLIBS)
dnl AM_PROG_LEX
dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
-AC_DEFUN(AM_PROG_LEX,
+AC_DEFUN([AM_PROG_LEX],
[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
AC_CHECK_PROGS(LEX, flex lex, [$missing_dir/missing flex])
AC_PROG_LEX
AC_DECL_YYTEXT])
-#serial 1
+# isc-posix.m4 serial 2 (gettext-0.11.2)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
+
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
@@ -65,7 +74,8 @@ dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AC_PROG_INSTALL])
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
@@ -81,13 +91,42 @@ AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
+# Copyright 2002 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.4-p6])])
+
#
# Check to make sure that the build environment is sane.
#
diff --git a/binutils/ar.c b/binutils/ar.c
index b85d62e..ec0657d 100644
--- a/binutils/ar.c
+++ b/binutils/ar.c
@@ -1,6 +1,6 @@
/* ar.c - Archive modify and extract.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003
+ 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -353,6 +353,7 @@ main (int argc, char **argv)
char *inarch_filename;
int show_version;
int i;
+ int do_posix = 0;
#if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
setlocale (LC_MESSAGES, "");
@@ -459,107 +460,125 @@ main (int argc, char **argv)
if (argc < 2)
usage (0);
- arg_ptr = argv[1];
+ arg_index = 1;
+ arg_ptr = argv[arg_index];
if (*arg_ptr == '-')
- ++arg_ptr; /* compatibility */
+ {
+ /* When the first option starts with '-' we support POSIX-compatible
+ option parsing. */
+ do_posix = 1;
+ ++arg_ptr; /* compatibility */
+ }
- while ((c = *arg_ptr++) != '\0')
+ do
{
- switch (c)
+ while ((c = *arg_ptr++) != '\0')
{
- case 'd':
- case 'm':
- case 'p':
- case 'q':
- case 'r':
- case 't':
- case 'x':
- if (operation != none)
- fatal (_("two different operation options specified"));
switch (c)
{
case 'd':
- operation = delete;
- operation_alters_arch = TRUE;
- break;
case 'm':
- operation = move;
- operation_alters_arch = TRUE;
- break;
case 'p':
- operation = print_files;
- break;
case 'q':
- operation = quick_append;
- operation_alters_arch = TRUE;
- break;
case 'r':
- operation = replace;
- operation_alters_arch = TRUE;
- break;
case 't':
- operation = print_table;
- break;
case 'x':
- operation = extract;
+ if (operation != none)
+ fatal (_("two different operation options specified"));
+ switch (c)
+ {
+ case 'd':
+ operation = delete;
+ operation_alters_arch = TRUE;
+ break;
+ case 'm':
+ operation = move;
+ operation_alters_arch = TRUE;
+ break;
+ case 'p':
+ operation = print_files;
+ break;
+ case 'q':
+ operation = quick_append;
+ operation_alters_arch = TRUE;
+ break;
+ case 'r':
+ operation = replace;
+ operation_alters_arch = TRUE;
+ break;
+ case 't':
+ operation = print_table;
+ break;
+ case 'x':
+ operation = extract;
+ break;
+ }
+ case 'l':
+ break;
+ case 'c':
+ silent_create = 1;
+ break;
+ case 'o':
+ preserve_dates = 1;
+ break;
+ case 'V':
+ show_version = TRUE;
+ break;
+ case 's':
+ write_armap = 1;
+ break;
+ case 'S':
+ write_armap = -1;
+ break;
+ case 'u':
+ newer_only = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case 'a':
+ postype = pos_after;
+ break;
+ case 'b':
+ postype = pos_before;
break;
+ case 'i':
+ postype = pos_before;
+ break;
+ case 'M':
+ mri_mode = 1;
+ break;
+ case 'N':
+ counted_name_mode = TRUE;
+ break;
+ case 'f':
+ ar_truncate = TRUE;
+ break;
+ case 'P':
+ full_pathname = TRUE;
+ break;
+ default:
+ /* xgettext:c-format */
+ non_fatal (_("illegal option -- %c"), c);
+ usage (0);
}
- case 'l':
- break;
- case 'c':
- silent_create = 1;
- break;
- case 'o':
- preserve_dates = 1;
- break;
- case 'V':
- show_version = TRUE;
- break;
- case 's':
- write_armap = 1;
- break;
- case 'S':
- write_armap = -1;
- break;
- case 'u':
- newer_only = 1;
- break;
- case 'v':
- verbose = 1;
- break;
- case 'a':
- postype = pos_after;
- break;
- case 'b':
- postype = pos_before;
- break;
- case 'i':
- postype = pos_before;
- break;
- case 'M':
- mri_mode = 1;
- break;
- case 'N':
- counted_name_mode = TRUE;
- break;
- case 'f':
- ar_truncate = TRUE;
- break;
- case 'P':
- full_pathname = TRUE;
- break;
- default:
- /* xgettext:c-format */
- non_fatal (_("illegal option -- %c"), c);
- usage (0);
}
+
+ /* With POSIX-compatible option parsing continue with the next
+ argument if it starts with '-'. */
+ if (do_posix && arg_index + 1 < argc && argv[arg_index + 1][0] == '-')
+ arg_ptr = argv[++arg_index] + 1;
+ else
+ do_posix = 0;
}
+ while (do_posix);
if (show_version)
print_version ("ar");
- if (argc < 3)
+ ++arg_index;
+ if (arg_index >= argc)
usage (0);
if (mri_mode)
@@ -578,7 +597,7 @@ main (int argc, char **argv)
if ((operation == none || operation == print_table)
&& write_armap == 1)
{
- ranlib_only (argv[2]);
+ ranlib_only (argv[arg_index]);
xexit (0);
}
@@ -588,8 +607,6 @@ main (int argc, char **argv)
if (newer_only && operation != replace)
fatal (_("`u' is only meaningful with the `r' option."));
- arg_index = 2;
-
if (postype != pos_default)
posname = argv[arg_index++];
diff --git a/binutils/arsup.c b/binutils/arsup.c
index a621bf9..5160dc4 100644
--- a/binutils/arsup.c
+++ b/binutils/arsup.c
@@ -1,5 +1,5 @@
/* arsup.c - Archive support for MRI compatibility
- Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002, 2003
+ Copyright 1992, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -333,7 +333,7 @@ ar_save (void)
bfd_close (obfd);
- rename (ofilename, real_name);
+ smart_rename (ofilename, real_name, 0);
obfd = 0;
free (ofilename);
}
diff --git a/binutils/config.in b/binutils/config.in
index f2bd049..53e2287 100644
--- a/binutils/config.in
+++ b/binutils/config.in
@@ -133,6 +133,12 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/binutils/configure b/binutils/configure
index 8210910..d52807e 100755
--- a/binutils/configure
+++ b/binutils/configure
@@ -53,7 +53,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -168,7 +167,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -339,11 +337,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -509,16 +502,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -557,12 +546,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:561: checking for Cygwin environment" >&5
+echo "configure:550: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 566 "configure"
+#line 555 "configure"
#include "confdefs.h"
int main() {
@@ -573,7 +562,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -590,19 +579,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:594: checking for mingw32 environment" >&5
+echo "configure:583: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 599 "configure"
+#line 588 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -667,7 +656,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:671: checking host system type" >&5
+echo "configure:660: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -688,7 +677,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:692: checking target system type" >&5
+echo "configure:681: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -706,7 +695,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:710: checking build system type" >&5
+echo "configure:699: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -730,7 +719,7 @@ test "$host_alias" != "$target_alias" &&
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:734: checking for strerror in -lcposix" >&5
+echo "configure:723: checking for strerror in -lcposix" >&5
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -738,7 +727,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 742 "configure"
+#line 731 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -749,7 +738,7 @@ int main() {
strerror()
; return 0; }
EOF
-if { (eval echo configure:753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -773,6 +762,7 @@ fi
BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
+am__api_version="1.4"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -785,7 +775,7 @@ BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:789: checking for a BSD compatible install" >&5
+echo "configure:779: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -838,7 +828,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:842: checking whether build environment is sane" >&5
+echo "configure:832: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -895,7 +885,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:899: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:889: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -940,21 +930,21 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:945: checking for working aclocal" >&5
+echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6
+echo "configure:935: checking for working aclocal-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
+if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal-${am__api_version}
echo "$ac_t""found" 1>&6
else
- ACLOCAL="$missing_dir/missing aclocal"
+ ACLOCAL="$missing_dir/missing aclocal-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:958: checking for working autoconf" >&5
+echo "configure:948: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -966,21 +956,21 @@ else
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:971: checking for working automake" >&5
+echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6
+echo "configure:961: checking for working automake-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
+if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-${am__api_version}
echo "$ac_t""found" 1>&6
else
- AUTOMAKE="$missing_dir/missing automake"
+ AUTOMAKE="$missing_dir/missing automake-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:984: checking for working autoheader" >&5
+echo "configure:974: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -993,7 +983,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:997: checking for working makeinfo" >&5
+echo "configure:987: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1079,7 +1069,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1083: checking for $ac_word" >&5
+echo "configure:1073: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1109,7 +1099,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1113: checking for $ac_word" >&5
+echo "configure:1103: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1160,7 +1150,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1164: checking for $ac_word" >&5
+echo "configure:1154: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1192,7 +1182,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1196: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1186: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1203,12 +1193,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1207 "configure"
+#line 1197 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1234,12 +1224,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1238: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1228: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1243: checking whether we are using GNU C" >&5
+echo "configure:1233: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1248,7 +1238,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1252: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1267,7 +1257,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1271: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1261: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1310,7 +1300,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1314: checking for ld used by GCC" >&5
+echo "configure:1304: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1340,10 +1330,10 @@ echo "configure:1314: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1344: checking for GNU ld" >&5
+echo "configure:1334: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1347: checking for non-GNU ld" >&5
+echo "configure:1337: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1378,7 +1368,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1382: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1372: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1395,7 +1385,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1399: checking for $LD option to reload object files" >&5
+echo "configure:1389: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1407,7 +1397,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1411: checking for BSD-compatible nm" >&5
+echo "configure:1401: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1445,7 +1435,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1449: checking whether ln -s works" >&5
+echo "configure:1439: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1466,7 +1456,7 @@ else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1470: checking how to recognise dependant libraries" >&5
+echo "configure:1460: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1639,13 +1629,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1643: checking for object suffix" >&5
+echo "configure:1633: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1665,7 +1655,7 @@ ac_objext=$ac_cv_objext
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1669: checking for executable suffix" >&5
+echo "configure:1659: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1675,10 +1665,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1708,7 +1698,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1712: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1702: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1770,7 +1760,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1774: checking for file" >&5
+echo "configure:1764: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1841,7 +1831,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1845: checking for $ac_word" >&5
+echo "configure:1835: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1873,7 +1863,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1877: checking for $ac_word" >&5
+echo "configure:1867: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1908,7 +1898,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1912: checking for $ac_word" >&5
+echo "configure:1902: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1940,7 +1930,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1944: checking for $ac_word" >&5
+echo "configure:1934: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2007,8 +1997,8 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 2011 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2001 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2002: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
@@ -2041,7 +2031,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2059,7 +2049,7 @@ ia64-*-hpux*)
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2063: checking whether the C compiler needs -belf" >&5
+echo "configure:2053: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2072,14 +2062,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 2076 "configure"
+#line 2066 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2252,7 +2242,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2256: checking for $ac_word" >&5
+echo "configure:2246: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2282,7 +2272,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2286: checking for $ac_word" >&5
+echo "configure:2276: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2333,7 +2323,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2337: checking for $ac_word" >&5
+echo "configure:2327: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2365,7 +2355,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2369: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2359: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2376,12 +2366,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 2380 "configure"
+#line 2370 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -2407,12 +2397,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2411: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2401: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2416: checking whether we are using GNU C" >&5
+echo "configure:2406: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2421,7 +2411,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2415: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2440,7 +2430,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2444: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2434: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2477,7 +2467,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2481: checking for $ac_word" >&5
+echo "configure:2471: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2508,7 +2498,7 @@ done
test -n "$YACC" || YACC="yacc"
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2512: checking how to run the C preprocessor" >&5
+echo "configure:2502: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2523,13 +2513,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 2527 "configure"
+#line 2517 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2540,13 +2530,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2544 "configure"
+#line 2534 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2557,13 +2547,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2561 "configure"
+#line 2551 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2593,7 +2583,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2597: checking for $ac_word" >&5
+echo "configure:2587: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2626,7 +2616,7 @@ test -n "$LEX" || LEX="$missing_dir/missing flex"
# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2630: checking for $ac_word" >&5
+echo "configure:2620: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2660,7 +2650,7 @@ then
*) ac_lib=l ;;
esac
echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:2664: checking for yywrap in -l$ac_lib" >&5
+echo "configure:2654: checking for yywrap in -l$ac_lib" >&5
ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2668,7 +2658,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-l$ac_lib $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2672 "configure"
+#line 2662 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2679,7 +2669,7 @@ int main() {
yywrap()
; return 0; }
EOF
-if { (eval echo configure:2683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2702,7 +2692,7 @@ fi
fi
echo $ac_n "checking lex output file root""... $ac_c" 1>&6
-echo "configure:2706: checking lex output file root" >&5
+echo "configure:2696: checking lex output file root" >&5
if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2723,7 +2713,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
-echo "configure:2727: checking whether yytext is a pointer" >&5
+echo "configure:2717: checking whether yytext is a pointer" >&5
if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2735,14 +2725,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
ac_save_LIBS="$LIBS"
LIBS="$LIBS $LEXLIB"
cat > conftest.$ac_ext <<EOF
-#line 2739 "configure"
+#line 2729 "configure"
#include "confdefs.h"
`cat $LEX_OUTPUT_ROOT.c`
int main() {
; return 0; }
EOF
-if { (eval echo configure:2746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_prog_lex_yytext_pointer=yes
else
@@ -2768,7 +2758,7 @@ ALL_LINGUAS="fr tr ja es sv da zh_CN ru"
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2772: checking for $ac_word" >&5
+echo "configure:2762: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2796,12 +2786,12 @@ else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2800: checking for ANSI C header files" >&5
+echo "configure:2790: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2805 "configure"
+#line 2795 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2809,7 +2799,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2826,7 +2816,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2830 "configure"
+#line 2820 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2844,7 +2834,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2848 "configure"
+#line 2838 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2865,7 +2855,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2869 "configure"
+#line 2859 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2876,7 +2866,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2900,12 +2890,12 @@ EOF
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2904: checking for working const" >&5
+echo "configure:2894: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2909 "configure"
+#line 2899 "configure"
#include "confdefs.h"
int main() {
@@ -2954,7 +2944,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:2958: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -2975,21 +2965,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:2979: checking for inline" >&5
+echo "configure:2969: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 2986 "configure"
+#line 2976 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:2993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -3015,12 +3005,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3019: checking for off_t" >&5
+echo "configure:3009: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3024 "configure"
+#line 3014 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3048,12 +3038,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3052: checking for size_t" >&5
+echo "configure:3042: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3057 "configure"
+#line 3047 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3083,19 +3073,19 @@ fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:3087: checking for working alloca.h" >&5
+echo "configure:3077: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3092 "configure"
+#line 3082 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:3099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -3116,12 +3106,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:3120: checking for alloca" >&5
+echo "configure:3110: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3125 "configure"
+#line 3115 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -3149,7 +3139,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:3153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -3181,12 +3171,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:3185: checking whether alloca needs Cray hooks" >&5
+echo "configure:3175: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3190 "configure"
+#line 3180 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -3211,12 +3201,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3215: checking for $ac_func" >&5
+echo "configure:3205: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3220 "configure"
+#line 3210 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3239,7 +3229,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3266,7 +3256,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:3270: checking stack direction for C alloca" >&5
+echo "configure:3260: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3274,7 +3264,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 3278 "configure"
+#line 3268 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -3293,7 +3283,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:3297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -3314,21 +3304,21 @@ EOF
fi
-for ac_hdr in unistd.h
+for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3322: checking for $ac_hdr" >&5
+echo "configure:3312: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3327 "configure"
+#line 3317 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3332: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3322: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3357,12 +3347,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3361: checking for $ac_func" >&5
+echo "configure:3351: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3366 "configure"
+#line 3356 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3385,7 +3375,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3410,7 +3400,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3414: checking for working mmap" >&5
+echo "configure:3404: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3418,7 +3408,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3422 "configure"
+#line 3412 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3446,11 +3436,24 @@ else
#include <fcntl.h>
#include <sys/mman.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -3558,7 +3561,7 @@ main()
}
EOF
-if { (eval echo configure:3562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3586,17 +3589,17 @@ unistd.h values.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3590: checking for $ac_hdr" >&5
+echo "configure:3593: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3595 "configure"
+#line 3598 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3626,12 +3629,12 @@ done
__argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3630: checking for $ac_func" >&5
+echo "configure:3633: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3635 "configure"
+#line 3638 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3654,7 +3657,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3683,12 +3686,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3687: checking for $ac_func" >&5
+echo "configure:3690: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3692 "configure"
+#line 3695 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3711,7 +3714,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3745,19 +3748,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3749: checking for LC_MESSAGES" >&5
+echo "configure:3752: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3754 "configure"
+#line 3757 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -3778,7 +3781,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3782: checking whether NLS is requested" >&5
+echo "configure:3785: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3798,7 +3801,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3802: checking whether included gettext is requested" >&5
+echo "configure:3805: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3817,17 +3820,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3821: checking for libintl.h" >&5
+echo "configure:3824: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3826 "configure"
+#line 3829 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3831: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3844,19 +3847,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3848: checking for gettext in libc" >&5
+echo "configure:3851: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3853 "configure"
+#line 3856 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3872,7 +3875,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3876: checking for bindtextdomain in -lintl" >&5
+echo "configure:3879: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3880,7 +3883,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3884 "configure"
+#line 3887 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3891,7 +3894,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3907,19 +3910,19 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:3911: checking for gettext in libintl" >&5
+echo "configure:3914: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3916 "configure"
+#line 3919 "configure"
#include "confdefs.h"
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libintl=yes
else
@@ -3947,7 +3950,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3951: checking for $ac_word" >&5
+echo "configure:3954: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3981,12 +3984,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3985: checking for $ac_func" >&5
+echo "configure:3988: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3990 "configure"
+#line 3993 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4009,7 +4012,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4036,7 +4039,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4040: checking for $ac_word" >&5
+echo "configure:4043: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4072,7 +4075,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4076: checking for $ac_word" >&5
+echo "configure:4079: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4104,7 +4107,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 4108 "configure"
+#line 4111 "configure"
#include "confdefs.h"
int main() {
@@ -4112,7 +4115,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:4116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4144,7 +4147,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4148: checking for $ac_word" >&5
+echo "configure:4151: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4178,7 +4181,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4182: checking for $ac_word" >&5
+echo "configure:4185: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4214,7 +4217,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4218: checking for $ac_word" >&5
+echo "configure:4221: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4304,7 +4307,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4308: checking for catalogs to be installed" >&5
+echo "configure:4311: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4332,17 +4335,17 @@ echo "configure:4308: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:4336: checking for linux/version.h" >&5
+echo "configure:4339: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4341 "configure"
+#line 4344 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4346: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4405,7 +4408,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:4409: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:4412: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -4430,7 +4433,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:4434: checking for executable suffix" >&5
+echo "configure:4437: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4440,10 +4443,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:4444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:4447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -4483,7 +4486,7 @@ AR=${AR-ar}
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4487: checking for $ac_word" >&5
+echo "configure:4490: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4522,7 +4525,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:4526: checking for a BSD compatible install" >&5
+echo "configure:4529: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4589,7 +4592,7 @@ if test "x$cross_compiling" = "xno"; then
EXEEXT_FOR_BUILD='$(EXEEXT)'
else
echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6
-echo "configure:4593: checking for build system executable suffix" >&5
+echo "configure:4596: checking for build system executable suffix" >&5
if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4624,17 +4627,17 @@ for ac_hdr in string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4628: checking for $ac_hdr" >&5
+echo "configure:4631: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4633 "configure"
+#line 4636 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4638: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4661,12 +4664,12 @@ fi
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:4665: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:4668: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4670 "configure"
+#line 4673 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -4682,7 +4685,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:4686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -4705,19 +4708,19 @@ fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:4709: checking for working alloca.h" >&5
+echo "configure:4712: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4714 "configure"
+#line 4717 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:4721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -4738,12 +4741,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:4742: checking for alloca" >&5
+echo "configure:4745: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4747 "configure"
+#line 4750 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -4771,7 +4774,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:4775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -4803,12 +4806,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:4807: checking whether alloca needs Cray hooks" >&5
+echo "configure:4810: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4812 "configure"
+#line 4815 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -4833,12 +4836,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4837: checking for $ac_func" >&5
+echo "configure:4840: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4842 "configure"
+#line 4845 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4861,7 +4864,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4888,7 +4891,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:4892: checking stack direction for C alloca" >&5
+echo "configure:4895: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4896,7 +4899,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 4900 "configure"
+#line 4903 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -4915,7 +4918,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:4919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -4939,12 +4942,12 @@ fi
for ac_func in sbrk utimes setmode getc_unlocked strcoll
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4943: checking for $ac_func" >&5
+echo "configure:4946: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4948 "configure"
+#line 4951 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4967,7 +4970,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4995,19 +4998,19 @@ done
# Check whether fopen64 is available and whether _LARGEFILE64_SOURCE
# needs to be defined for it
echo $ac_n "checking for fopen64""... $ac_c" 1>&6
-echo "configure:4999: checking for fopen64" >&5
+echo "configure:5002: checking for fopen64" >&5
if eval "test \"`echo '$''{'bu_cv_have_fopen64'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5004 "configure"
+#line 5007 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
FILE *f = fopen64 ("/tmp/foo","r");
; return 0; }
EOF
-if { (eval echo configure:5011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bu_cv_have_fopen64=yes
else
@@ -5017,14 +5020,14 @@ else
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE"
cat > conftest.$ac_ext <<EOF
-#line 5021 "configure"
+#line 5024 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
FILE *f = fopen64 ("/tmp/foo","r");
; return 0; }
EOF
-if { (eval echo configure:5028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE"
else
@@ -5056,14 +5059,14 @@ fi
# Some systems have frexp only in -lm, not in -lc.
echo $ac_n "checking for library containing frexp""... $ac_c" 1>&6
-echo "configure:5060: checking for library containing frexp" >&5
+echo "configure:5063: checking for library containing frexp" >&5
if eval "test \"`echo '$''{'ac_cv_search_frexp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_frexp="no"
cat > conftest.$ac_ext <<EOF
-#line 5067 "configure"
+#line 5070 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -5074,7 +5077,7 @@ int main() {
frexp()
; return 0; }
EOF
-if { (eval echo configure:5078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_frexp="none required"
else
@@ -5085,7 +5088,7 @@ rm -f conftest*
test "$ac_cv_search_frexp" = "no" && for i in m; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5089 "configure"
+#line 5092 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -5096,7 +5099,7 @@ int main() {
frexp()
; return 0; }
EOF
-if { (eval echo configure:5100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_frexp="-l$i"
break
@@ -5118,19 +5121,19 @@ else :
fi
echo $ac_n "checking for time_t in time.h""... $ac_c" 1>&6
-echo "configure:5122: checking for time_t in time.h" >&5
+echo "configure:5125: checking for time_t in time.h" >&5
if eval "test \"`echo '$''{'bu_cv_decl_time_t_time_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5127 "configure"
+#line 5130 "configure"
#include "confdefs.h"
#include <time.h>
int main() {
time_t i;
; return 0; }
EOF
-if { (eval echo configure:5134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bu_cv_decl_time_t_time_h=yes
else
@@ -5151,19 +5154,19 @@ EOF
fi
echo $ac_n "checking for time_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:5155: checking for time_t in sys/types.h" >&5
+echo "configure:5158: checking for time_t in sys/types.h" >&5
if eval "test \"`echo '$''{'bu_cv_decl_time_t_types_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5160 "configure"
+#line 5163 "configure"
#include "confdefs.h"
#include <sys/types.h>
int main() {
time_t i;
; return 0; }
EOF
-if { (eval echo configure:5167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bu_cv_decl_time_t_types_h=yes
else
@@ -5186,12 +5189,12 @@ fi
# Under Next 3.2 <utime.h> apparently does not define struct utimbuf
# by default.
echo $ac_n "checking for utime.h""... $ac_c" 1>&6
-echo "configure:5190: checking for utime.h" >&5
+echo "configure:5193: checking for utime.h" >&5
if eval "test \"`echo '$''{'bu_cv_header_utime_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5195 "configure"
+#line 5198 "configure"
#include "confdefs.h"
#include <sys/types.h>
#ifdef HAVE_TIME_H
@@ -5202,7 +5205,7 @@ int main() {
struct utimbuf s;
; return 0; }
EOF
-if { (eval echo configure:5206: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5209: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bu_cv_header_utime_h=yes
else
@@ -5223,12 +5226,12 @@ EOF
fi
echo $ac_n "checking whether fprintf must be declared""... $ac_c" 1>&6
-echo "configure:5227: checking whether fprintf must be declared" >&5
+echo "configure:5230: checking whether fprintf must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_fprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5232 "configure"
+#line 5235 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5249,7 +5252,7 @@ int main() {
char *(*pfn) = (char *(*)) fprintf
; return 0; }
EOF
-if { (eval echo configure:5253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_fprintf=no
else
@@ -5270,12 +5273,12 @@ EOF
fi
echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6
-echo "configure:5274: checking whether strstr must be declared" >&5
+echo "configure:5277: checking whether strstr must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5279 "configure"
+#line 5282 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5296,7 +5299,7 @@ int main() {
char *(*pfn) = (char *(*)) strstr
; return 0; }
EOF
-if { (eval echo configure:5300: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strstr=no
else
@@ -5317,12 +5320,12 @@ EOF
fi
echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6
-echo "configure:5321: checking whether sbrk must be declared" >&5
+echo "configure:5324: checking whether sbrk must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_sbrk'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5326 "configure"
+#line 5329 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5343,7 +5346,7 @@ int main() {
char *(*pfn) = (char *(*)) sbrk
; return 0; }
EOF
-if { (eval echo configure:5347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5350: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_sbrk=no
else
@@ -5364,12 +5367,12 @@ EOF
fi
echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6
-echo "configure:5368: checking whether getenv must be declared" >&5
+echo "configure:5371: checking whether getenv must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5373 "configure"
+#line 5376 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5390,7 +5393,7 @@ int main() {
char *(*pfn) = (char *(*)) getenv
; return 0; }
EOF
-if { (eval echo configure:5394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_getenv=no
else
@@ -5411,12 +5414,12 @@ EOF
fi
echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6
-echo "configure:5415: checking whether environ must be declared" >&5
+echo "configure:5418: checking whether environ must be declared" >&5
if eval "test \"`echo '$''{'bfd_cv_decl_needed_environ'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5420 "configure"
+#line 5423 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5437,7 +5440,7 @@ int main() {
char *(*pfn) = (char *(*)) environ
; return 0; }
EOF
-if { (eval echo configure:5441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_environ=no
else
diff --git a/binutils/deflex.l b/binutils/deflex.l
index 106cc7b..bdf15d3 100644
--- a/binutils/deflex.l
+++ b/binutils/deflex.l
@@ -1,28 +1,27 @@
%{/* deflex.l - Lexer for .def files */
-/* Copyright 1995, 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright 1995, 1997, 1998, 1999, 2002, 2003, 2004
+ Free Software Foundation, Inc.
-This file is part of GNU Binutils.
+ This file is part of GNU Binutils.
-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 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.
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-/* Contributed by Steve Chamberlain
- sac@cygnus.com
+/* Contributed by Steve Chamberlain: sac@cygnus.com */
-*/
#define DONTDECLARE_MALLOC
#include "libiberty.h"
#include "defparse.h"
@@ -46,6 +45,7 @@ int linenumber;
"BASE" { return BASE;}
"CONSTANT" { return CONSTANT; }
"NONAME" { return NONAME; }
+"PRIVATE" { return PRIVATE; }
"READ" { return READ;}
"WRITE" { return WRITE;}
"EXECUTE" { return EXECUTE;}
diff --git a/binutils/defparse.y b/binutils/defparse.y
index d0bccd9..b58aaee 100644
--- a/binutils/defparse.y
+++ b/binutils/defparse.y
@@ -1,22 +1,23 @@
%{ /* defparse.y - parser for .def files */
-/* Copyright 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright 1995, 1997, 1998, 1999, 2004
+ Free Software Foundation, Inc.
-This file is part of GNU Binutils.
+ This file is part of GNU Binutils.
-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 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.
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "bfd.h"
#include "bucomm.h"
@@ -30,11 +31,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
%token NAME, LIBRARY, DESCRIPTION, STACKSIZE, HEAPSIZE, CODE, DATA
%token SECTIONS, EXPORTS, IMPORTS, VERSIONK, BASE, CONSTANT
-%token READ WRITE EXECUTE SHARED NONSHARED NONAME
+%token READ WRITE EXECUTE SHARED NONSHARED NONAME PRIVATE
%token SINGLE MULTIPLE INITINSTANCE INITGLOBAL TERMINSTANCE TERMGLOBAL
%token <id> ID
%token <number> NUMBER
-%type <number> opt_base opt_ordinal opt_NONAME opt_CONSTANT opt_DATA
+%type <number> opt_base opt_ordinal opt_NONAME opt_CONSTANT opt_DATA opt_PRIVATE
%type <number> attr attr_list opt_number
%type <id> opt_name opt_equal_name
@@ -66,8 +67,8 @@ explist:
;
expline:
- ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT opt_DATA
- { def_exports ($1, $2, $3, $4, $5, $6);}
+ ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT opt_DATA opt_PRIVATE
+ { def_exports ($1, $2, $3, $4, $5, $6, $7);}
;
implist:
implist impline
@@ -132,6 +133,11 @@ opt_DATA:
| { $$ = 0; }
;
+opt_PRIVATE:
+ PRIVATE { $$ = 1; }
+ | { $$ = 0; }
+ ;
+
opt_name: ID { $$ =$1; }
| ID '.' ID
{
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index 9d25861..5f921ae 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -1,5 +1,5 @@
/* dlltool.c -- tool to generate stuff for PE style DLLs
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -49,7 +49,7 @@
EXPORTS ( ( ( <name1> [ = <name2> ] )
| ( <name1> = <module-name> . <external-name>))
- [ @ <integer> ] [ NONAME ] [CONSTANT] [DATA] ) *
+ [ @ <integer> ] [ NONAME ] [CONSTANT] [DATA] [PRIVATE] ) *
Declares name1 as an exported symbol from the
DLL, with optional ordinal number <integer>.
Or declares name1 as an alias (forward) of the function <external-name>
@@ -643,7 +643,8 @@ typedef struct export
const char *internal_name;
int ordinal;
int constant;
- int noname;
+ int noname; /* Don't put name in image file. */
+ int private; /* Don't put reference in import lib. */
int data;
int hint;
int forward; /* Number of forward label, 0 means no forward. */
@@ -889,7 +890,7 @@ yyerror (const char * err ATTRIBUTE_UNUSED)
void
def_exports (const char *name, const char *internal_name, int ordinal,
- int noname, int constant, int data)
+ int noname, int constant, int data, int private)
{
struct export *p = (struct export *) xmalloc (sizeof (*p));
@@ -898,6 +899,7 @@ def_exports (const char *name, const char *internal_name, int ordinal,
p->ordinal = ordinal;
p->constant = constant;
p->noname = noname;
+ p->private = private;
p->data = data;
p->next = d_exports;
d_exports = p;
@@ -1246,7 +1248,7 @@ scan_drectve_symbols (bfd *abfd)
/* FIXME: The 5th arg is for the `constant' field.
What should it be? Not that it matters since it's not
currently useful. */
- def_exports (c, 0, -1, 0, 0, ! (flags & BSF_FUNCTION));
+ def_exports (c, 0, -1, 0, 0, ! (flags & BSF_FUNCTION), 0);
if (add_stdcall_alias && strchr (c, '@'))
{
@@ -1255,7 +1257,7 @@ scan_drectve_symbols (bfd *abfd)
char *atsym = strchr (exported_name, '@');
*atsym = '\0';
/* Note: stdcall alias symbols can never be data. */
- def_exports (exported_name, xstrdup (c), -1, 0, 0, 0);
+ def_exports (exported_name, xstrdup (c), -1, 0, 0, 0, 0);
}
}
else
@@ -1294,7 +1296,7 @@ scan_filtered_symbols (bfd *abfd, void *minisyms, long symcount,
++symbol_name;
def_exports (xstrdup (symbol_name) , 0, -1, 0, 0,
- ! (sym->flags & BSF_FUNCTION));
+ ! (sym->flags & BSF_FUNCTION), 0);
if (add_stdcall_alias && strchr (symbol_name, '@'))
{
@@ -1303,7 +1305,7 @@ scan_filtered_symbols (bfd *abfd, void *minisyms, long symcount,
char *atsym = strchr (exported_name, '@');
*atsym = '\0';
/* Note: stdcall alias symbols can never be data. */
- def_exports (exported_name, xstrdup (symbol_name), -1, 0, 0, 0);
+ def_exports (exported_name, xstrdup (symbol_name), -1, 0, 0, 0, 0);
}
}
}
@@ -1518,13 +1520,14 @@ dump_def_info (FILE *f)
fprintf (f, "\n");
for (i = 0, exp = d_exports; exp; i++, exp = exp->next)
{
- fprintf (f, "%s %d = %s %s @ %d %s%s%s\n",
+ fprintf (f, "%s %d = %s %s @ %d %s%s%s%s\n",
ASM_C,
i,
exp->name,
exp->internal_name,
exp->ordinal,
exp->noname ? "NONAME " : "",
+ exp->private ? "PRIVATE " : "",
exp->constant ? "CONSTANT" : "",
exp->data ? "DATA" : "");
}
@@ -1595,20 +1598,20 @@ gen_def_file (void)
if (strcmp (exp->name, exp->internal_name) == 0)
{
-
- fprintf (output_def, "\t%s%s%s @ %d%s%s\n",
+ fprintf (output_def, "\t%s%s%s @ %d%s%s%s\n",
quote,
exp->name,
quote,
exp->ordinal,
exp->noname ? " NONAME" : "",
+ exp->private ? "PRIVATE " : "",
exp->data ? " DATA" : "");
}
else
{
- char *quote1 = strchr (exp->internal_name, '.') ? "\"" : "";
+ char * quote1 = strchr (exp->internal_name, '.') ? "\"" : "";
/* char *alias = */
- fprintf (output_def, "\t%s%s%s = %s%s%s @ %d%s%s\n",
+ fprintf (output_def, "\t%s%s%s = %s%s%s @ %d%s%s%s\n",
quote,
exp->name,
quote,
@@ -1617,6 +1620,7 @@ gen_def_file (void)
quote1,
exp->ordinal,
exp->noname ? " NONAME" : "",
+ exp->private ? "PRIVATE " : "",
exp->data ? " DATA" : "");
}
}
@@ -1841,14 +1845,14 @@ gen_exp_file (void)
fprintf(f,"%s Export Name Table\n", ASM_C);
for (i = 0; (exp = d_exports_lexically[i]); i++)
- if (!exp->noname || show_allnames)
- {
+ {
+ if (!exp->noname || show_allnames)
fprintf (f, "n%d: %s \"%s\"\n",
exp->ordinal, ASM_TEXT, xlate (exp->name));
- if (exp->forward != 0)
- fprintf (f, "f%d: %s \"%s\"\n",
- exp->forward, ASM_TEXT, exp->internal_name);
- }
+ if (exp->forward != 0)
+ fprintf (f, "f%d: %s \"%s\"\n",
+ exp->forward, ASM_TEXT, exp->internal_name);
+ }
if (a_list)
{
@@ -2794,7 +2798,11 @@ gen_lib_file (void)
for (i = 0; (exp = d_exports_lexically[i]); i++)
{
- bfd *n = make_one_lib_file (exp, i);
+ bfd *n;
+ /* Don't add PRIVATE entries to import lib. */
+ if (exp->private)
+ continue;
+ n = make_one_lib_file (exp, i);
n->next = head;
head = n;
}
@@ -2831,8 +2839,11 @@ gen_lib_file (void)
char *name;
name = (char *) alloca (strlen (TMP_STUB) + 10);
- for (i = 0, exp = d_exports; exp; i++, exp = exp->next)
+ for (i = 0; (exp = d_exports_lexically[i]); i++)
{
+ /* Don't delete non-existent stubs for PRIVATE entries. */
+ if (exp->private)
+ continue;
sprintf (name, "%s%05d.o", TMP_STUB, i);
if (unlink (name) < 0)
/* xgettext:c-format */
@@ -2843,10 +2854,9 @@ gen_lib_file (void)
inform (_("Created lib file"));
}
-/**********************************************************************/
-
/* Run through the information gathered from the .o files and the
.def file and work out the best stuff. */
+
static int
pfunc (const void *a, const void *b)
{
@@ -2890,11 +2900,7 @@ remove_null_names (export_type **ptr)
}
static void
-dtab (export_type **ptr
-#ifndef SACDEBUG
-ATTRIBUTE_UNUSED
-#endif
- )
+dtab (export_type **ptr ATTRIBUTE_UNUSED)
{
#ifdef SACDEBUG
int i;
@@ -2922,7 +2928,6 @@ process_duplicates (export_type **d_export_vec)
while (more)
{
-
more = 0;
/* Remove duplicates. */
qsort (d_export_vec, d_nfuncs, sizeof (export_type *), nfunc);
@@ -2933,7 +2938,6 @@ process_duplicates (export_type **d_export_vec)
if (strcmp (d_export_vec[i]->name,
d_export_vec[i + 1]->name) == 0)
{
-
export_type *a = d_export_vec[i];
export_type *b = d_export_vec[i + 1];
@@ -2963,13 +2967,10 @@ process_duplicates (export_type **d_export_vec)
}
}
-
/* Count the names. */
for (i = 0; i < d_nfuncs; i++)
- {
- if (!d_export_vec[i]->noname)
- d_named_nfuncs++;
- }
+ if (!d_export_vec[i]->noname)
+ d_named_nfuncs++;
}
static void
@@ -3008,7 +3009,7 @@ fill_ordinals (export_type **d_export_vec)
{
if (d_export_vec[i]->ordinal == -1)
{
- register int j;
+ int j;
/* First try within or after any user supplied range. */
for (j = lowest; j < size; j++)
@@ -3063,8 +3064,7 @@ mangle_defs (void)
int i;
int hint = 0;
- export_type **d_export_vec
- = (export_type **) xmalloc (sizeof (export_type *) * d_nfuncs);
+ export_type **d_export_vec = xmalloc (sizeof (export_type *) * d_nfuncs);
inform (_("Processing definitions"));
@@ -3101,8 +3101,6 @@ mangle_defs (void)
inform (_("Processed definitions"));
}
-/**********************************************************************/
-
static void
usage (FILE *file, int status)
{
@@ -3239,7 +3237,7 @@ main (int ac, char **av)
as_flags = optarg;
break;
- /* ignored for compatibility */
+ /* Ignored for compatibility. */
case 'u':
break;
case 'a':
diff --git a/binutils/dlltool.h b/binutils/dlltool.h
index c2eaea6..f488d96 100644
--- a/binutils/dlltool.h
+++ b/binutils/dlltool.h
@@ -1,5 +1,5 @@
/* dlltool.h -- header file for dlltool
- Copyright 1997, 1998, 2003 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -24,7 +24,7 @@
extern void def_code (int);
extern void def_data (int);
extern void def_description (const char *);
-extern void def_exports (const char *, const char *, int, int, int, int);
+extern void def_exports (const char *, const char *, int, int, int, int, int);
extern void def_heapsize (int, int);
extern void def_import
(const char *, const char *, const char *, const char *, int);
@@ -33,9 +33,10 @@ extern void def_name (const char *, int);
extern void def_section (const char *, int);
extern void def_stacksize (int, int);
extern void def_version (int, int);
-extern int yyparse (void);
-extern int yyerror (const char *);
+extern int yyparse (void);
+extern int yyerror (const char *);
+extern int yylex (void);
+
extern int yydebug;
-extern int yylex (void);
extern FILE *yyin;
extern int linenumber;
diff --git a/binutils/mac-binutils.r b/binutils/mac-binutils.r
deleted file mode 100644
index 7b1a303..0000000
--- a/binutils/mac-binutils.r
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Resources for GNU binutils. */
-
-#include "SysTypes.r"
-
-/* Version resources. */
-
-resource 'vers' (1) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- VERSION_STRING " (C) 1986-95 FSF, Inc."
-};
-
-resource 'vers' (2, purgeable) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- "binutils " VERSION_STRING " for MPW"
-};
-
-#ifdef WANT_CFRG
-
-#include "CodeFragmentTypes.r"
-
-resource 'cfrg' (0) {
- {
- kPowerPC,
- kFullLib,
- kNoVersionNum, kNoVersionNum,
- 0,0,
- kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork,
- PROG_NAME
- }
-};
-
-#endif /* WANT_CFRG */
diff --git a/binutils/mpw-config.in b/binutils/mpw-config.in
deleted file mode 100644
index 21a067d..0000000
--- a/binutils/mpw-config.in
+++ /dev/null
@@ -1,27 +0,0 @@
-# Configuration fragment for binutils.
-
-Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
-
-# (should canonicalize arch name) */
-
-Set archname ARCH_{target_arch}
-
-Set underscore 0
-
-If "{target_canonical}" =~ /sh-hitachi-hms/
- Set underscore 1
-End If
-
-Echo '# From mpw-config.in' > "{o}"mk.tmp
-Echo "ARCHDEFS = -d" {archname} >> "{o}"mk.tmp
-Echo "UNDERSCORE = " {underscore} >> "{o}"mk.tmp
-Echo "BUILD_NLMCONV = " >> "{o}"mk.tmp
-Echo "BUILD_SRCONV = " >> "{o}"mk.tmp
-Echo "SYSINFO_PROG = " >> "{o}"mk.tmp
-Echo "BUILD_DLLTOOL = " >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
-Echo '#include "mpw.h"' >> "{o}"config.new
-
-MoveIfChange "{o}"config.new "{o}"config.h
diff --git a/binutils/mpw-make.sed b/binutils/mpw-make.sed
deleted file mode 100644
index 03abffe..0000000
--- a/binutils/mpw-make.sed
+++ /dev/null
@@ -1,115 +0,0 @@
-# Sed commands to finish translating the binutils Unix makefile into MPW syntax.
-
-# Add a rule.
-/^#### .*/a\
-\
-"{o}"underscore.c.o \\Option-f "{o}"underscore.c\
-
-# Comment out any alias settings.
-/^host_alias =/s/^/#/
-/^target_alias =/s/^/#/
-
-# Whack out unused host define bits.
-/HDEFINES/s/@HDEFINES@//
-
-# Don't build specialized tools.
-/BUILD_NLMCONV/s/@BUILD_NLMCONV@//
-/BUILD_SRCONV/s/@BUILD_SRCONV@//
-/BUILD_DLLTOOL/s/@BUILD_DLLTOOL@//
-
-/UNDERSCORE/s/@UNDERSCORE@/{UNDERSCORE}/
-
-# Don't need this.
-/@HLDFLAGS@/s/@HLDFLAGS@//
-
-# Point at the libraries directly.
-/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/
-/@OPCODES@/s/@OPCODES@/::opcodes:libopcodes.o/
-
-# Whack out target makefile fragment.
-/target_makefile_fragment/s/target_makefile_fragment@//
-
-# Fix and add to the include paths.
-/^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
-/BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": /
-/INCDIR/s/-i {INCDIR} /-i "{INCDIR}": /
-
-# Use byacc instead of bison (for now anyway).
-/BISON/s/^BISON =.*$/BISON = byacc/
-#/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = /
-
-# Embed the version in symbolic doublequotes that will expand to
-# the right thing for each compiler.
-/VERSION/s/'"{VERSION}"'/{dq}{VERSION}{dq}/
-
-# '+' is a special char to MPW, don't use it ever.
-/c++filt/s/c++filt/cplusfilt/
-
-# All of the binutils use the same Rez file, change names to refer to it.
-/^{[A-Z]*_PROG}/s/$/ "{s}"mac-binutils.r/
-/{[A-Z]*_PROG}\.r/s/{[A-Z]*_PROG}\.r/mac-binutils.r/
-
-# There are auto-generated references to BFD .h files that are not
-# in the objdir (like bfd.h) but are in the source dir.
-/::bfd:lib/s/::bfd:lib\([a-z]*\)\.h/{BFDDIR}:lib\1.h/g
-
-# Fix the locations of generated files.
-/config/s/"{s}"config\.h/"{o}"config.h/g
-/config/s/^config\.h/"{o}"config\.h/
-/underscore/s/"{s}"underscore\.c/"{o}"underscore.c/g
-/underscore/s/^underscore\.c/"{o}"underscore\.c/
-
-# Fix paths to generated source files.
-/lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g
-/lex.yy.c/s/^lex\.yy\.c/"{o}"lex.yy.c/
-/arlex.c/s/"{s}"arlex\.c/"{o}"arlex.c/g
-/arlex.c/s/^arlex\.c/"{o}"arlex.c/
-/y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g
-/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/
-/arparse.c/s/"{s}"arparse\.c/"{o}"arparse.c/g
-/arparse.c/s/^arparse\.c/"{o}"arparse.c/
-/y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g
-/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/
-/arparse.h/s/"{s}"arparse\.h/"{o}"arparse.h/g
-/arparse.h/s/^arparse\.h/"{o}"arparse.h/
-
-/"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g
-
-# The generated lexer may include an ifdef for older Mac compilers that
-# needs to work with newer compilers also.
-/lex.yy.c/s/Rename -y \([^ ]*\) \([^ ]*\)$/sed -e 's,ifdef macintosh,if defined(macintosh) || defined(__MWERKS__),' \1 > \2/
-
-# Fix an over-eagerness.
-/echo.*WARNING.*This file/s/'.*'/' '/
-
-# Add a "stamps" target.
-$a\
-stamps \\Option-f stamp-under\
-
-/^install \\Option-f /,/^$/c\
-install \\Option-f all install-only\
-\
-install-only \\Option-f\
- NewFolderRecursive "{bindir}"\
- # Need to copy all the tools\
- For prog in {PROGS}\
- Set progname `echo {prog} | sed -e 's/.new//'`\
- Duplicate -y :{prog} "{bindir}"{progname}\
- End For\
-
-
-/true/s/ ; @true$//
-
-# dot files are trouble, remove them and their actions.
-/^\.dep/,/^$/d
-
-# Remove un-useful targets.
-/^Makefile \\Option-f/,/^$/d
-/^"{o}"config.h \\Option-f/,/^$/d
-/^config.status \\Option-f/,/^$/d
-
-# Don't try to make the demangler's man page, it's useless.
-/^{DEMANGLER_PROG}\.1 \\Option-f/,/^$/d
-# Don't depend on it either.
-/{DEMANGLER_PROG}/s/ {DEMANGLER_PROG}\.1//
-
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index d31eb8f..aad68ad 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -410,7 +410,7 @@ copy_usage (FILE *stream, int exit_status)
-G --keep-global-symbol <name> Localize all symbols except <name>\n\
-W --weaken-symbol <name> Force symbol <name> to be marked as a weak\n\
--weaken Force all global symbols to be marked as weak\n\
- -w --wildcard Permit wildcard in symbol comparasion\n\
+ -w --wildcard Permit wildcard in symbol comparison\n\
-x --discard-all Remove all non-global symbols\n\
-X --discard-locals Remove any compiler-generated symbols\n\
-i --interleave <number> Only copy one out of every <number> bytes\n\
@@ -485,7 +485,7 @@ strip_usage (FILE *stream, int exit_status)
--only-keep-debug Strip everything but the debug information\n\
-N --strip-symbol=<name> Do not copy symbol <name>\n\
-K --keep-symbol=<name> Only copy symbol <name>\n\
- -w --wildcard Permit wildcard in symbol comparasion\n\
+ -w --wildcard Permit wildcard in symbol comparison\n\
-x --discard-all Remove all non-global symbols\n\
-X --discard-locals Remove any compiler-generated symbols\n\
-v --verbose List all object files modified\n\
@@ -2055,9 +2055,9 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
if (copy_byte >= 0)
{
/* Keep only every `copy_byte'th byte in MEMHUNK. */
- char *from = memhunk + copy_byte;
+ char *from = (char *) memhunk + copy_byte;
char *to = memhunk;
- char *end = memhunk + size;
+ char *end = (char *) memhunk + size;
for (; from < end; from += interleave)
*to++ = *from;
diff --git a/binutils/objdump.c b/binutils/objdump.c
index f67aacb..c3982e1 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1,6 +1,6 @@
/* objdump.c -- dump information about an object file.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -153,6 +153,10 @@ static long sorted_symcount = 0;
/* The dynamic symbol table. */
static asymbol **dynsyms;
+/* The synthetic symbol table. */
+static asymbol *synthsyms;
+static long synthcount = 0;
+
/* Number of symbols in `dynsyms'. */
static long dynsymcount = 0;
@@ -1142,8 +1146,8 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
typedef struct
{
char *buffer;
- size_t size;
- char *current;
+ size_t pos;
+ size_t alloc;
} SFILE;
/* sprintf to a "stream". */
@@ -1151,39 +1155,25 @@ typedef struct
static int
objdump_sprintf (SFILE *f, const char *format, ...)
{
- char *buf;
size_t n;
va_list args;
- va_start (args, format);
-
- vasprintf (&buf, format, args);
-
- if (buf == NULL)
+ while (1)
{
+ size_t space = f->alloc - f->pos;
+
+ va_start (args, format);
+ n = vsnprintf (f->buffer + f->pos, space, format, args);
va_end (args);
- fatal (_("Out of virtual memory"));
- }
-
- n = strlen (buf);
-
- while ((size_t) ((f->buffer + f->size) - f->current) < n + 1)
- {
- size_t curroff;
- curroff = f->current - f->buffer;
- f->size *= 2;
- f->buffer = xrealloc (f->buffer, f->size);
- f->current = f->buffer + curroff;
+ if (space > n)
+ break;
+
+ f->alloc = (f->alloc + n) * 2;
+ f->buffer = xrealloc (f->buffer, f->alloc);
}
-
- memcpy (f->current, buf, n);
- f->current += n;
- f->current[0] = '\0';
-
- free (buf);
-
- va_end (args);
+ f->pos += n;
+
return n;
}
@@ -1243,10 +1233,15 @@ disassemble_bytes (struct disassemble_info * info,
int skip_addr_chars;
bfd_vma addr_offset;
int opb = info->octets_per_byte;
+ SFILE sfile;
aux = (struct objdump_disasm_info *) info->application_data;
section = aux->sec;
+ sfile.alloc = 120;
+ sfile.buffer = xmalloc (sfile.alloc);
+ sfile.pos = 0;
+
if (insns)
octets_per_line = 4;
else
@@ -1311,7 +1306,6 @@ disassemble_bytes (struct disassemble_info * info,
else
{
char buf[50];
- SFILE sfile;
int bpc = 0;
int pb = 0;
@@ -1344,9 +1338,7 @@ disassemble_bytes (struct disassemble_info * info,
if (insns)
{
- sfile.size = 120;
- sfile.buffer = xmalloc (sfile.size);
- sfile.current = sfile.buffer;
+ sfile.pos = 0;
info->fprintf_func = (fprintf_ftype) objdump_sprintf;
info->stream = (FILE *) &sfile;
info->bytes_per_line = 0;
@@ -1371,9 +1363,8 @@ disassemble_bytes (struct disassemble_info * info,
octets_per_line = info->bytes_per_line;
if (octets < 0)
{
- if (sfile.current != sfile.buffer)
+ if (sfile.pos)
printf ("%s\n", sfile.buffer);
- free (sfile.buffer);
break;
}
}
@@ -1447,11 +1438,8 @@ disassemble_bytes (struct disassemble_info * info,
if (! insns)
printf ("%s", buf);
- else
- {
- printf ("%s", sfile.buffer);
- free (sfile.buffer);
- }
+ else if (sfile.pos)
+ printf ("%s", sfile.buffer);
if (prefix_addresses
? show_raw_insn > 0
@@ -1558,6 +1546,8 @@ disassemble_bytes (struct disassemble_info * info,
addr_offset += octets / opb;
}
+
+ free (sfile.buffer);
}
static void
@@ -1582,7 +1572,8 @@ disassemble_section (bfd *abfd, asection *section, void *info)
code are not normally disassembled. */
if (! disassemble_all
&& only == NULL
- && (section->flags & SEC_CODE) == 0)
+ && ((section->flags & (SEC_CODE | SEC_HAS_CONTENTS))
+ != (SEC_CODE | SEC_HAS_CONTENTS)))
return;
if (! process_section_p (section))
@@ -1789,6 +1780,7 @@ disassemble_data (bfd *abfd)
{
struct disassemble_info disasm_info;
struct objdump_disasm_info aux;
+ long i;
print_files = NULL;
prev_functionname = NULL;
@@ -1796,10 +1788,18 @@ disassemble_data (bfd *abfd)
/* We make a copy of syms to sort. We don't want to sort syms
because that will screw up the relocs. */
- sorted_syms = xmalloc (symcount * sizeof (asymbol *));
- memcpy (sorted_syms, syms, symcount * sizeof (asymbol *));
+ sorted_symcount = symcount ? symcount : dynsymcount;
+ sorted_syms = xmalloc ((sorted_symcount + synthcount) * sizeof (asymbol *));
+ memcpy (sorted_syms, symcount ? syms : dynsyms,
+ sorted_symcount * sizeof (asymbol *));
- sorted_symcount = remove_useless_symbols (sorted_syms, symcount);
+ sorted_symcount = remove_useless_symbols (sorted_syms, sorted_symcount);
+
+ for (i = 0; i < synthcount; ++i)
+ {
+ sorted_syms[sorted_symcount] = synthsyms + i;
+ ++sorted_symcount;
+ }
/* Sort the symbols into section and symbol order. */
qsort (sorted_syms, sorted_symcount, sizeof (asymbol *), compare_symbols);
@@ -2559,8 +2559,14 @@ dump_bfd (bfd *abfd)
if (dump_symtab || dump_reloc_info || disassemble || dump_debugging)
syms = slurp_symtab (abfd);
- if (dump_dynamic_symtab || dump_dynamic_reloc_info)
+ if (dump_dynamic_symtab || dump_dynamic_reloc_info
+ || (disassemble && bfd_get_dynamic_symtab_upper_bound (abfd) > 0))
dynsyms = slurp_dynamic_symtab (abfd);
+ if (disassemble && dynsymcount > 0)
+ {
+ synthcount = bfd_get_synthetic_symtab (abfd, dynsyms, &synthsyms);
+ if (synthcount < 0) synthcount = 0;
+ }
if (dump_symtab)
dump_symbols (abfd, FALSE);
@@ -2605,6 +2611,16 @@ dump_bfd (bfd *abfd)
free (dynsyms);
dynsyms = NULL;
}
+
+ if (synthsyms)
+ {
+ free (synthsyms);
+ synthsyms = NULL;
+ }
+
+ symcount = 0;
+ dynsymcount = 0;
+ synthcount = 0;
}
static void
diff --git a/binutils/po/binutils.pot b/binutils/po/binutils.pot
index 73c60b3..66ccf1a 100644
--- a/binutils/po/binutils.pot
+++ b/binutils/po/binutils.pot
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-11 13:56+0930\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 15:01+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,22 +16,25 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: addr2line.c:74
+#: addr2line.c:73
#, c-format
msgid "Usage: %s [option(s)] [addr(s)]\n"
msgstr ""
-#: addr2line.c:75
+#: addr2line.c:74
+#, c-format
msgid " Convert addresses into line number/file name pairs.\n"
msgstr ""
-#: addr2line.c:76
+#: addr2line.c:75
+#, c-format
msgid ""
" If no addresses are specified on the command line, they will be read from "
"stdin\n"
msgstr ""
-#: addr2line.c:77
+#: addr2line.c:76
+#, c-format
msgid ""
" The options are:\n"
" -b --target=<bfdname> Set the binary file format\n"
@@ -43,344 +47,387 @@ msgid ""
"\n"
msgstr ""
-#: addr2line.c:89 ar.c:297 coffdump.c:479 nlmconv.c:1121 objcopy.c:484
-#: objcopy.c:518 readelf.c:2649 size.c:104 srconv.c:1962 strings.c:673
-#: sysdump.c:774 windres.c:702
+#: addr2line.c:88 ar.c:268 coffdump.c:467 nlmconv.c:1108 objcopy.c:466
+#: objcopy.c:500 readelf.c:2426 size.c:102 srconv.c:1866 strings.c:649
+#: sysdump.c:747 windres.c:668
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
-#: addr2line.c:245
+#: addr2line.c:241
#, c-format
msgid "%s: can not get addresses from archive"
msgstr ""
-#: addr2line.c:317 nm.c:433 objdump.c:2693
+#: addr2line.c:311 nm.c:393 objdump.c:2752
#, c-format
msgid "unknown demangling style `%s'"
msgstr ""
-#: ar.c:238
+#: ar.c:210
#, c-format
msgid "no entry %s in archive\n"
msgstr ""
-#: ar.c:255
+#: ar.c:226
#, c-format
msgid ""
"Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] "
"[count] archive-file file...\n"
msgstr ""
-#: ar.c:258
+#: ar.c:229
#, c-format
msgid " %s -M [<mri-script]\n"
msgstr ""
-#: ar.c:259
+#: ar.c:230
+#, c-format
msgid " commands:\n"
msgstr ""
-#: ar.c:260
+#: ar.c:231
+#, c-format
msgid " d - delete file(s) from the archive\n"
msgstr ""
-#: ar.c:261
+#: ar.c:232
+#, c-format
msgid " m[ab] - move file(s) in the archive\n"
msgstr ""
-#: ar.c:262
+#: ar.c:233
+#, c-format
msgid " p - print file(s) found in the archive\n"
msgstr ""
-#: ar.c:263
+#: ar.c:234
+#, c-format
msgid " q[f] - quick append file(s) to the archive\n"
msgstr ""
-#: ar.c:264
+#: ar.c:235
+#, c-format
msgid ""
" r[ab][f][u] - replace existing or insert new file(s) into the archive\n"
msgstr ""
-#: ar.c:265
+#: ar.c:236
+#, c-format
msgid " t - display contents of archive\n"
msgstr ""
-#: ar.c:266
+#: ar.c:237
+#, c-format
msgid " x[o] - extract file(s) from the archive\n"
msgstr ""
-#: ar.c:267
+#: ar.c:238
+#, c-format
msgid " command specific modifiers:\n"
msgstr ""
-#: ar.c:268
+#: ar.c:239
+#, c-format
msgid " [a] - put file(s) after [member-name]\n"
msgstr ""
-#: ar.c:269
+#: ar.c:240
+#, c-format
msgid " [b] - put file(s) before [member-name] (same as [i])\n"
msgstr ""
-#: ar.c:270
+#: ar.c:241
+#, c-format
msgid " [N] - use instance [count] of name\n"
msgstr ""
-#: ar.c:271
+#: ar.c:242
+#, c-format
msgid " [f] - truncate inserted file names\n"
msgstr ""
-#: ar.c:272
+#: ar.c:243
+#, c-format
msgid " [P] - use full path names when matching\n"
msgstr ""
-#: ar.c:273
+#: ar.c:244
+#, c-format
msgid " [o] - preserve original dates\n"
msgstr ""
-#: ar.c:274
+#: ar.c:245
+#, c-format
msgid ""
" [u] - only replace files that are newer than current archive "
"contents\n"
msgstr ""
-#: ar.c:275
+#: ar.c:246
+#, c-format
msgid " generic modifiers:\n"
msgstr ""
-#: ar.c:276
+#: ar.c:247
+#, c-format
msgid " [c] - do not warn if the library had to be created\n"
msgstr ""
-#: ar.c:277
+#: ar.c:248
+#, c-format
msgid " [s] - create an archive index (cf. ranlib)\n"
msgstr ""
-#: ar.c:278
+#: ar.c:249
+#, c-format
msgid " [S] - do not build a symbol table\n"
msgstr ""
-#: ar.c:279
+#: ar.c:250
+#, c-format
msgid " [v] - be verbose\n"
msgstr ""
-#: ar.c:280
+#: ar.c:251
+#, c-format
msgid " [V] - display the version number\n"
msgstr ""
-#: ar.c:287
+#: ar.c:258
#, c-format
msgid "Usage: %s [options] archive\n"
msgstr ""
-#: ar.c:288
+#: ar.c:259
+#, c-format
msgid " Generate an index to speed access to archives\n"
msgstr ""
-#: ar.c:289
+#: ar.c:260
+#, c-format
msgid ""
" The options are:\n"
" -h --help Print this help message\n"
" -V --version Print version information\n"
msgstr ""
-#: ar.c:512
+#: ar.c:488
msgid "two different operation options specified"
msgstr ""
-#: ar.c:587
+#: ar.c:563
#, c-format
msgid "illegal option -- %c"
msgstr ""
-#: ar.c:619
+#: ar.c:605
msgid "no operation specified"
msgstr ""
-#: ar.c:622
+#: ar.c:608
msgid "`u' is only meaningful with the `r' option."
msgstr ""
-#: ar.c:632
+#: ar.c:616
msgid "`N' is only meaningful with the `x' and `d' options."
msgstr ""
-#: ar.c:635
+#: ar.c:619
msgid "Value for `N' must be positive."
msgstr ""
-#: ar.c:718
+#: ar.c:702
#, c-format
msgid "internal error -- this option not implemented"
msgstr ""
-#: ar.c:837 ar.c:888 ar.c:1333 objcopy.c:1579
+#: ar.c:771 ar.c:1007
+#, c-format
+msgid "creating %s"
+msgstr ""
+
+#: ar.c:820 ar.c:870 ar.c:1302 objcopy.c:1585
#, c-format
msgid "internal stat error on %s"
msgstr ""
-#: ar.c:841
+#: ar.c:824
#, c-format
msgid ""
"\n"
-"<member %s>\n"
+"<%s>\n"
"\n"
msgstr ""
-#: ar.c:857 ar.c:925
+#: ar.c:840 ar.c:907
#, c-format
msgid "%s is not a valid archive"
msgstr ""
-#: ar.c:893
+#: ar.c:875
#, c-format
msgid "stat returns negative size for %s"
msgstr ""
-#: ar.c:1020
+#: ar.c:1000
#, c-format
msgid "%s is not an archive"
msgstr ""
-#: ar.c:1027
-#, c-format
-msgid "creating %s"
-msgstr ""
-
-#: ar.c:1233
+#: ar.c:1207
#, c-format
msgid "No member named `%s'\n"
msgstr ""
-#: ar.c:1285
+#: ar.c:1257
#, c-format
msgid "no entry %s in archive %s!"
msgstr ""
-#: ar.c:1422
+#: ar.c:1395
#, c-format
msgid "%s: no archive map to update"
msgstr ""
-#: arsup.c:86
+#: arsup.c:83
#, c-format
msgid "No entry %s in archive.\n"
msgstr ""
-#: arsup.c:117
+#: arsup.c:109
#, c-format
msgid "Can't open file %s\n"
msgstr ""
-#: arsup.c:172
+#: arsup.c:162
#, c-format
msgid "%s: Can't open output archive %s\n"
msgstr ""
-#: arsup.c:189
+#: arsup.c:179
#, c-format
msgid "%s: Can't open input archive %s\n"
msgstr ""
-#: arsup.c:198
+#: arsup.c:188
#, c-format
msgid "%s: file %s is not an archive\n"
msgstr ""
-#: arsup.c:241
+#: arsup.c:227
#, c-format
msgid "%s: no output archive specified yet\n"
msgstr ""
-#: arsup.c:262 arsup.c:301 arsup.c:343 arsup.c:364 arsup.c:430
+#: arsup.c:247 arsup.c:285 arsup.c:327 arsup.c:347 arsup.c:413
#, c-format
msgid "%s: no open output archive\n"
msgstr ""
-#: arsup.c:273 arsup.c:385 arsup.c:411
+#: arsup.c:258 arsup.c:368 arsup.c:394
#, c-format
msgid "%s: can't open file %s\n"
msgstr ""
-#: arsup.c:328 arsup.c:407 arsup.c:489
+#: arsup.c:312 arsup.c:390 arsup.c:471
#, c-format
msgid "%s: can't find module file %s\n"
msgstr ""
-#: arsup.c:439
+#: arsup.c:422
#, c-format
msgid "Current open archive is %s\n"
msgstr ""
-#: arsup.c:464
+#: arsup.c:446
#, c-format
msgid "%s: no open archive\n"
msgstr ""
-#: binemul.c:39
+#: binemul.c:37
#, c-format
msgid " No emulation specific options\n"
msgstr ""
#. Macros for common output.
-#: binemul.h:52
+#: binemul.h:42
#, c-format
msgid " emulation options: \n"
msgstr ""
-#: bucomm.c:113
+#: bucomm.c:109
#, c-format
msgid "can't set BFD default target to `%s': %s"
msgstr ""
-#: bucomm.c:125
+#: bucomm.c:120
#, c-format
msgid "%s: Matching formats:"
msgstr ""
-#: bucomm.c:142
+#: bucomm.c:135
+#, c-format
msgid "Supported targets:"
msgstr ""
-#: bucomm.c:144
+#: bucomm.c:137
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: bucomm.c:162
+#: bucomm.c:153
+#, c-format
msgid "Supported architectures:"
msgstr ""
-#: bucomm.c:164
+#: bucomm.c:155
#, c-format
msgid "%s: supported architectures:"
msgstr ""
-#: bucomm.c:360
+#: bucomm.c:348
#, c-format
msgid "BFD header file version %s\n"
msgstr ""
-#: bucomm.c:467
+#: bucomm.c:449
#, c-format
msgid "%s: bad number: %s"
msgstr ""
-#: coffdump.c:107
+#: bucomm.c:466
+#, c-format
+msgid "'%s': No such file"
+msgstr ""
+
+#: bucomm.c:468
+#, c-format
+msgid "Warning: could not locate '%s'. reason: %s"
+msgstr ""
+
+#: bucomm.c:472
+#, c-format
+msgid "Warning: '%s' is not an ordinary file"
+msgstr ""
+
+#: coffdump.c:105
#, c-format
msgid "#lines %d "
msgstr ""
-#: coffdump.c:471 sysdump.c:767
+#: coffdump.c:459 sysdump.c:740
#, c-format
msgid "Usage: %s [option(s)] in-file\n"
msgstr ""
-#: coffdump.c:472
+#: coffdump.c:460
+#, c-format
msgid " Print a human readable interpretation of a SYSROFF object file\n"
msgstr ""
-#: coffdump.c:473
+#: coffdump.c:461
+#, c-format
msgid ""
" The options are:\n"
" -h --help Display this information\n"
@@ -388,996 +435,1069 @@ msgid ""
"\n"
msgstr ""
-#: coffdump.c:541 srconv.c:2052 sysdump.c:831
+#: coffdump.c:527 srconv.c:1954 sysdump.c:802
msgid "no input file specified"
msgstr ""
-#: debug.c:654
+#: debug.c:647
msgid "debug_add_to_current_namespace: no current file"
msgstr ""
-#: debug.c:737
+#: debug.c:726
msgid "debug_start_source: no debug_set_filename call"
msgstr ""
-#: debug.c:796
+#: debug.c:782
msgid "debug_record_function: no debug_set_filename call"
msgstr ""
-#: debug.c:852
+#: debug.c:834
msgid "debug_record_parameter: no current function"
msgstr ""
-#: debug.c:886
+#: debug.c:866
msgid "debug_end_function: no current function"
msgstr ""
-#: debug.c:892
+#: debug.c:872
msgid "debug_end_function: some blocks were not closed"
msgstr ""
-#: debug.c:922
+#: debug.c:900
msgid "debug_start_block: no current block"
msgstr ""
-#: debug.c:960
+#: debug.c:936
msgid "debug_end_block: no current block"
msgstr ""
-#: debug.c:967
+#: debug.c:943
msgid "debug_end_block: attempt to close top level block"
msgstr ""
-#: debug.c:993
+#: debug.c:966
msgid "debug_record_line: no current unit"
msgstr ""
#. FIXME
-#: debug.c:1047
+#: debug.c:1019
msgid "debug_start_common_block: not implemented"
msgstr ""
#. FIXME
-#: debug.c:1059
+#: debug.c:1030
msgid "debug_end_common_block: not implemented"
msgstr ""
#. FIXME.
-#: debug.c:1153
+#: debug.c:1114
msgid "debug_record_label: not implemented"
msgstr ""
-#: debug.c:1179
+#: debug.c:1136
msgid "debug_record_variable: no current file"
msgstr ""
-#: debug.c:1762
+#: debug.c:1664
msgid "debug_make_undefined_type: unsupported kind"
msgstr ""
-#: debug.c:1963
+#: debug.c:1841
msgid "debug_name_type: no current file"
msgstr ""
-#: debug.c:2011
+#: debug.c:1886
msgid "debug_tag_type: no current file"
msgstr ""
-#: debug.c:2019
+#: debug.c:1894
msgid "debug_tag_type: extra tag attempted"
msgstr ""
-#: debug.c:2058
+#: debug.c:1931
#, c-format
msgid "Warning: changing type size from %d to %d\n"
msgstr ""
-#: debug.c:2082
+#: debug.c:1953
msgid "debug_find_named_type: no current compilation unit"
msgstr ""
-#: debug.c:2189
+#: debug.c:2056
#, c-format
msgid "debug_get_real_type: circular debug information for %s\n"
msgstr ""
-#: debug.c:2650
+#: debug.c:2483
msgid "debug_write_type: illegal type encountered"
msgstr ""
-#: dlltool.c:812 dlltool.c:837 dlltool.c:863
+#: dlltool.c:767 dlltool.c:791 dlltool.c:816
#, c-format
msgid "Internal error: Unknown machine type: %d"
msgstr ""
-#: dlltool.c:900
+#: dlltool.c:852
#, c-format
msgid "Can't open def file: %s"
msgstr ""
-#: dlltool.c:905
+#: dlltool.c:857
#, c-format
msgid "Processing def file: %s"
msgstr ""
-#: dlltool.c:909
+#: dlltool.c:861
msgid "Processed def file"
msgstr ""
-#: dlltool.c:935
+#: dlltool.c:886
#, c-format
msgid "Syntax error in def file %s:%d"
msgstr ""
-#: dlltool.c:974
+#: dlltool.c:919
#, c-format
msgid "NAME: %s base: %x"
msgstr ""
-#: dlltool.c:977 dlltool.c:996
+#: dlltool.c:922 dlltool.c:939
msgid "Can't have LIBRARY and NAME"
msgstr ""
-#: dlltool.c:993
+#: dlltool.c:936
#, c-format
msgid "LIBRARY: %s base: %x"
msgstr ""
-#: dlltool.c:1251 resrc.c:271
+#: dlltool.c:1173 resrc.c:268
#, c-format
msgid "wait: %s"
msgstr ""
-#: dlltool.c:1256 dllwrap.c:430 resrc.c:276
+#: dlltool.c:1178 dllwrap.c:421 resrc.c:273
#, c-format
msgid "subprocess got fatal signal %d"
msgstr ""
-#: dlltool.c:1262 dllwrap.c:437 resrc.c:283
+#: dlltool.c:1184 dllwrap.c:428 resrc.c:280
#, c-format
msgid "%s exited with status %d"
msgstr ""
-#: dlltool.c:1294
+#: dlltool.c:1215
#, c-format
msgid "Sucking in info from %s section in %s"
msgstr ""
-#: dlltool.c:1423
+#: dlltool.c:1340
#, c-format
msgid "Excluding symbol: %s"
msgstr ""
-#: dlltool.c:1518 dlltool.c:1529 nm.c:1004 nm.c:1015
+#: dlltool.c:1429 dlltool.c:1440 nm.c:946 nm.c:957
#, c-format
msgid "%s: no symbols"
msgstr ""
#. FIXME: we ought to read in and block out the base relocations.
-#: dlltool.c:1556
+#: dlltool.c:1466
#, c-format
msgid "Done reading %s"
msgstr ""
-#: dlltool.c:1567
+#: dlltool.c:1476
#, c-format
msgid "Unable to open object file: %s"
msgstr ""
-#: dlltool.c:1570
+#: dlltool.c:1479
#, c-format
msgid "Scanning object file %s"
msgstr ""
-#: dlltool.c:1585
+#: dlltool.c:1494
#, c-format
msgid "Cannot produce mcore-elf dll from archive file: %s"
msgstr ""
-#: dlltool.c:1677
+#: dlltool.c:1580
msgid "Adding exports to output file"
msgstr ""
-#: dlltool.c:1724
+#: dlltool.c:1628
msgid "Added exports to output file"
msgstr ""
-#: dlltool.c:1848
+#: dlltool.c:1749
#, c-format
msgid "Generating export file: %s"
msgstr ""
-#: dlltool.c:1853
+#: dlltool.c:1754
#, c-format
msgid "Unable to open temporary assembler file: %s"
msgstr ""
-#: dlltool.c:1856
+#: dlltool.c:1757
#, c-format
msgid "Opened temporary file: %s"
msgstr ""
-#: dlltool.c:2086
+#: dlltool.c:1987
msgid "Generated exports file"
msgstr ""
-#: dlltool.c:2378
+#: dlltool.c:2270
#, c-format
msgid "bfd_open failed open stub file: %s"
msgstr ""
-#: dlltool.c:2381
+#: dlltool.c:2273
#, c-format
msgid "Creating stub file: %s"
msgstr ""
-#: dlltool.c:2766
+#: dlltool.c:2658
#, c-format
msgid "failed to open temporary head file: %s"
msgstr ""
-#: dlltool.c:2825
+#: dlltool.c:2717
#, c-format
msgid "failed to open temporary tail file: %s"
msgstr ""
-#: dlltool.c:2892
+#: dlltool.c:2784
#, c-format
msgid "Can't open .lib file: %s"
msgstr ""
-#: dlltool.c:2895
+#: dlltool.c:2787
#, c-format
msgid "Creating library file: %s"
msgstr ""
-#: dlltool.c:2951
+#: dlltool.c:2850
#, c-format
msgid "cannot delete %s: %s"
msgstr ""
-#: dlltool.c:2955
+#: dlltool.c:2854
msgid "Created lib file"
msgstr ""
-#: dlltool.c:3062
+#: dlltool.c:2947
#, c-format
msgid "Warning, ignoring duplicate EXPORT %s %d,%d"
msgstr ""
-#: dlltool.c:3068
+#: dlltool.c:2953
#, c-format
msgid "Error, duplicate EXPORT with oridinals: %s"
msgstr ""
-#: dlltool.c:3191
+#: dlltool.c:3069
msgid "Processing definitions"
msgstr ""
-#: dlltool.c:3223
+#: dlltool.c:3101
msgid "Processed definitions"
msgstr ""
#. xgetext:c-format
-#: dlltool.c:3234 dllwrap.c:495
+#: dlltool.c:3108 dllwrap.c:482
#, c-format
msgid "Usage %s <option(s)> <object-file(s)>\n"
msgstr ""
#. xgetext:c-format
-#: dlltool.c:3236
+#: dlltool.c:3110
#, c-format
msgid ""
" -m --machine <machine> Create as DLL for <machine>. [default: %s]\n"
msgstr ""
-#: dlltool.c:3237
+#: dlltool.c:3111
+#, c-format
msgid ""
" possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, "
"ppc, thumb\n"
msgstr ""
-#: dlltool.c:3238
+#: dlltool.c:3112
+#, c-format
msgid " -e --output-exp <outname> Generate an export file.\n"
msgstr ""
-#: dlltool.c:3239
+#: dlltool.c:3113
+#, c-format
msgid " -l --output-lib <outname> Generate an interface library.\n"
msgstr ""
-#: dlltool.c:3240
+#: dlltool.c:3114
+#, c-format
msgid " -a --add-indirect Add dll indirects to export file.\n"
msgstr ""
-#: dlltool.c:3241
+#: dlltool.c:3115
+#, c-format
msgid ""
" -D --dllname <name> Name of input dll to put into interface lib.\n"
msgstr ""
-#: dlltool.c:3242
+#: dlltool.c:3116
+#, c-format
msgid " -d --input-def <deffile> Name of .def file to be read in.\n"
msgstr ""
-#: dlltool.c:3243
+#: dlltool.c:3117
+#, c-format
msgid " -z --output-def <deffile> Name of .def file to be created.\n"
msgstr ""
-#: dlltool.c:3244
+#: dlltool.c:3118
+#, c-format
msgid " --export-all-symbols Export all symbols to .def\n"
msgstr ""
-#: dlltool.c:3245
+#: dlltool.c:3119
+#, c-format
msgid " --no-export-all-symbols Only export listed symbols\n"
msgstr ""
-#: dlltool.c:3246
+#: dlltool.c:3120
+#, c-format
msgid " --exclude-symbols <list> Don't export <list>\n"
msgstr ""
-#: dlltool.c:3247
+#: dlltool.c:3121
+#, c-format
msgid " --no-default-excludes Clear default exclude symbols\n"
msgstr ""
-#: dlltool.c:3248
+#: dlltool.c:3122
+#, c-format
msgid " -b --base-file <basefile> Read linker generated base file.\n"
msgstr ""
-#: dlltool.c:3249
+#: dlltool.c:3123
+#, c-format
msgid " -x --no-idata4 Don't generate idata$4 section.\n"
msgstr ""
-#: dlltool.c:3250
+#: dlltool.c:3124
+#, c-format
msgid " -c --no-idata5 Don't generate idata$5 section.\n"
msgstr ""
-#: dlltool.c:3251
+#: dlltool.c:3125
+#, c-format
msgid ""
" -U --add-underscore Add underscores to symbols in interface "
"library.\n"
msgstr ""
-#: dlltool.c:3252
+#: dlltool.c:3126
+#, c-format
msgid " -k --kill-at Kill @<n> from exported names.\n"
msgstr ""
-#: dlltool.c:3253
+#: dlltool.c:3127
+#, c-format
msgid " -A --add-stdcall-alias Add aliases without @<n>.\n"
msgstr ""
-#: dlltool.c:3254
+#: dlltool.c:3128
+#, c-format
msgid " -S --as <name> Use <name> for assembler.\n"
msgstr ""
-#: dlltool.c:3255
+#: dlltool.c:3129
+#, c-format
msgid " -f --as-flags <flags> Pass <flags> to the assembler.\n"
msgstr ""
-#: dlltool.c:3256
+#: dlltool.c:3130
+#, c-format
msgid ""
" -C --compat-implib Create backward compatible import library.\n"
msgstr ""
-#: dlltool.c:3257
+#: dlltool.c:3131
+#, c-format
msgid ""
" -n --no-delete Keep temp files (repeat for extra "
"preservation).\n"
msgstr ""
-#: dlltool.c:3258
+#: dlltool.c:3132
+#, c-format
+msgid ""
+" -t --temp-prefix <prefix> Use <prefix> to construct temp file names.\n"
+msgstr ""
+
+#: dlltool.c:3133
+#, c-format
msgid " -v --verbose Be verbose.\n"
msgstr ""
-#: dlltool.c:3259
+#: dlltool.c:3134
+#, c-format
msgid " -V --version Display the program version.\n"
msgstr ""
-#: dlltool.c:3260
+#: dlltool.c:3135
+#, c-format
msgid " -h --help Display this information.\n"
msgstr ""
-#: dlltool.c:3262
+#: dlltool.c:3137
+#, c-format
msgid ""
" -M --mcore-elf <outname> Process mcore-elf object files into <outname>.\n"
msgstr ""
-#: dlltool.c:3263
+#: dlltool.c:3138
+#, c-format
msgid " -L --linker <name> Use <name> as the linker.\n"
msgstr ""
-#: dlltool.c:3264
+#: dlltool.c:3139
+#, c-format
msgid " -F --linker-flags <flags> Pass <flags> to the linker.\n"
msgstr ""
-#: dlltool.c:3418
+#: dlltool.c:3291
#, c-format
msgid "Unable to open base-file: %s"
msgstr ""
-#: dlltool.c:3450
+#: dlltool.c:3323
#, c-format
msgid "Machine '%s' not supported"
msgstr ""
-#: dlltool.c:3553 dllwrap.c:214
+#: dlltool.c:3423 dllwrap.c:209
#, c-format
msgid "Tried file: %s"
msgstr ""
-#: dlltool.c:3560 dllwrap.c:221
+#: dlltool.c:3430 dllwrap.c:216
#, c-format
msgid "Using file: %s"
msgstr ""
-#: dllwrap.c:308
+#: dllwrap.c:302
#, c-format
msgid "Keeping temporary base file %s"
msgstr ""
-#: dllwrap.c:310
+#: dllwrap.c:304
#, c-format
msgid "Deleting temporary base file %s"
msgstr ""
-#: dllwrap.c:324
+#: dllwrap.c:318
#, c-format
msgid "Keeping temporary exp file %s"
msgstr ""
-#: dllwrap.c:326
+#: dllwrap.c:320
#, c-format
msgid "Deleting temporary exp file %s"
msgstr ""
-#: dllwrap.c:339
+#: dllwrap.c:333
#, c-format
msgid "Keeping temporary def file %s"
msgstr ""
-#: dllwrap.c:341
+#: dllwrap.c:335
#, c-format
msgid "Deleting temporary def file %s"
msgstr ""
-#: dllwrap.c:496
+#: dllwrap.c:483
+#, c-format
msgid " Generic options:\n"
msgstr ""
-#: dllwrap.c:497
+#: dllwrap.c:484
+#, c-format
msgid " --quiet, -q Work quietly\n"
msgstr ""
-#: dllwrap.c:498
+#: dllwrap.c:485
+#, c-format
msgid " --verbose, -v Verbose\n"
msgstr ""
-#: dllwrap.c:499
+#: dllwrap.c:486
+#, c-format
msgid " --version Print dllwrap version\n"
msgstr ""
-#: dllwrap.c:500
+#: dllwrap.c:487
+#, c-format
msgid " --implib <outname> Synonym for --output-lib\n"
msgstr ""
-#: dllwrap.c:501
+#: dllwrap.c:488
#, c-format
msgid " Options for %s:\n"
msgstr ""
-#: dllwrap.c:502
+#: dllwrap.c:489
+#, c-format
msgid " --driver-name <driver> Defaults to \"gcc\"\n"
msgstr ""
-#: dllwrap.c:503
+#: dllwrap.c:490
+#, c-format
msgid " --driver-flags <flags> Override default ld flags\n"
msgstr ""
-#: dllwrap.c:504
+#: dllwrap.c:491
+#, c-format
msgid " --dlltool-name <dlltool> Defaults to \"dlltool\"\n"
msgstr ""
-#: dllwrap.c:505
+#: dllwrap.c:492
+#, c-format
msgid " --entry <entry> Specify alternate DLL entry point\n"
msgstr ""
-#: dllwrap.c:506
+#: dllwrap.c:493
+#, c-format
msgid " --image-base <base> Specify image base address\n"
msgstr ""
-#: dllwrap.c:507
+#: dllwrap.c:494
+#, c-format
msgid " --target <machine> i386-cygwin32 or i386-mingw32\n"
msgstr ""
-#: dllwrap.c:508
+#: dllwrap.c:495
+#, c-format
msgid " --dry-run Show what needs to be run\n"
msgstr ""
-#: dllwrap.c:509
+#: dllwrap.c:496
+#, c-format
msgid " --mno-cygwin Create Mingw DLL\n"
msgstr ""
-#: dllwrap.c:510
+#: dllwrap.c:497
+#, c-format
msgid " Options passed to DLLTOOL:\n"
msgstr ""
-#: dllwrap.c:511
+#: dllwrap.c:498
+#, c-format
msgid " --machine <machine>\n"
msgstr ""
-#: dllwrap.c:512
+#: dllwrap.c:499
+#, c-format
msgid " --output-exp <outname> Generate export file.\n"
msgstr ""
-#: dllwrap.c:513
+#: dllwrap.c:500
+#, c-format
msgid " --output-lib <outname> Generate input library.\n"
msgstr ""
-#: dllwrap.c:514
+#: dllwrap.c:501
+#, c-format
msgid " --add-indirect Add dll indirects to export file.\n"
msgstr ""
-#: dllwrap.c:515
+#: dllwrap.c:502
+#, c-format
msgid " --dllname <name> Name of input dll to put into output lib.\n"
msgstr ""
-#: dllwrap.c:516
+#: dllwrap.c:503
+#, c-format
msgid " --def <deffile> Name input .def file\n"
msgstr ""
-#: dllwrap.c:517
+#: dllwrap.c:504
+#, c-format
msgid " --output-def <deffile> Name output .def file\n"
msgstr ""
-#: dllwrap.c:518
+#: dllwrap.c:505
+#, c-format
msgid " --export-all-symbols Export all symbols to .def\n"
msgstr ""
-#: dllwrap.c:519
+#: dllwrap.c:506
+#, c-format
msgid " --no-export-all-symbols Only export .drectve symbols\n"
msgstr ""
-#: dllwrap.c:520
+#: dllwrap.c:507
+#, c-format
msgid " --exclude-symbols <list> Exclude <list> from .def\n"
msgstr ""
-#: dllwrap.c:521
+#: dllwrap.c:508
+#, c-format
msgid " --no-default-excludes Zap default exclude symbols\n"
msgstr ""
-#: dllwrap.c:522
+#: dllwrap.c:509
+#, c-format
msgid " --base-file <basefile> Read linker generated base file\n"
msgstr ""
-#: dllwrap.c:523
+#: dllwrap.c:510
+#, c-format
msgid " --no-idata4 Don't generate idata$4 section\n"
msgstr ""
-#: dllwrap.c:524
+#: dllwrap.c:511
+#, c-format
msgid " --no-idata5 Don't generate idata$5 section\n"
msgstr ""
-#: dllwrap.c:525
+#: dllwrap.c:512
+#, c-format
msgid " -U Add underscores to .lib\n"
msgstr ""
-#: dllwrap.c:526
+#: dllwrap.c:513
+#, c-format
msgid " -k Kill @<n> from exported names\n"
msgstr ""
-#: dllwrap.c:527
+#: dllwrap.c:514
+#, c-format
msgid " --add-stdcall-alias Add aliases without @<n>\n"
msgstr ""
-#: dllwrap.c:528
+#: dllwrap.c:515
+#, c-format
msgid " --as <name> Use <name> for assembler\n"
msgstr ""
-#: dllwrap.c:529
+#: dllwrap.c:516
+#, c-format
msgid " --nodelete Keep temp files.\n"
msgstr ""
-#: dllwrap.c:530
+#: dllwrap.c:517
+#, c-format
msgid " Rest are passed unmodified to the language driver\n"
msgstr ""
-#: dllwrap.c:802
+#: dllwrap.c:787
msgid "Must provide at least one of -o or --dllname options"
msgstr ""
-#: dllwrap.c:830
+#: dllwrap.c:815
msgid ""
"no export definition file provided.\n"
"Creating one, but that may not be what you want"
msgstr ""
-#: dllwrap.c:992
+#: dllwrap.c:977
#, c-format
msgid "DLLTOOL name : %s\n"
msgstr ""
-#: dllwrap.c:993
+#: dllwrap.c:978
#, c-format
msgid "DLLTOOL options : %s\n"
msgstr ""
-#: dllwrap.c:994
+#: dllwrap.c:979
#, c-format
msgid "DRIVER name : %s\n"
msgstr ""
-#: dllwrap.c:995
+#: dllwrap.c:980
#, c-format
msgid "DRIVER options : %s\n"
msgstr ""
-#: emul_aix.c:58
+#: emul_aix.c:51
#, c-format
msgid " [-g] - 32 bit small archive\n"
msgstr ""
-#: emul_aix.c:59
+#: emul_aix.c:52
+#, c-format
msgid " [-X32] - ignores 64 bit objects\n"
msgstr ""
-#: emul_aix.c:60
+#: emul_aix.c:53
+#, c-format
msgid " [-X64] - ignores 32 bit objects\n"
msgstr ""
-#: emul_aix.c:61
+#: emul_aix.c:54
+#, c-format
msgid " [-X32_64] - accepts 32 and 64 bit objects\n"
msgstr ""
-#: ieee.c:326
+#: ieee.c:310
msgid "unexpected end of debugging information"
msgstr ""
-#: ieee.c:421
+#: ieee.c:397
msgid "invalid number"
msgstr ""
-#: ieee.c:480
+#: ieee.c:450
msgid "invalid string length"
msgstr ""
-#: ieee.c:537 ieee.c:578
+#: ieee.c:505 ieee.c:546
msgid "expression stack overflow"
msgstr ""
-#: ieee.c:557
+#: ieee.c:525
msgid "unsupported IEEE expression operator"
msgstr ""
-#: ieee.c:572
+#: ieee.c:540
msgid "unknown section"
msgstr ""
-#: ieee.c:593
+#: ieee.c:561
msgid "expression stack underflow"
msgstr ""
-#: ieee.c:607
+#: ieee.c:575
msgid "expression stack mismatch"
msgstr ""
-#: ieee.c:646
+#: ieee.c:612
msgid "unknown builtin type"
msgstr ""
-#: ieee.c:791
+#: ieee.c:757
msgid "BCD float type not supported"
msgstr ""
-#: ieee.c:937
+#: ieee.c:894
msgid "unexpected number"
msgstr ""
-#: ieee.c:944
+#: ieee.c:901
msgid "unexpected record type"
msgstr ""
-#: ieee.c:977
+#: ieee.c:934
msgid "blocks left on stack at end"
msgstr ""
-#: ieee.c:1242
+#: ieee.c:1197
msgid "unknown BB type"
msgstr ""
-#: ieee.c:1251
+#: ieee.c:1206
msgid "stack overflow"
msgstr ""
-#: ieee.c:1276
+#: ieee.c:1229
msgid "stack underflow"
msgstr ""
-#: ieee.c:1390 ieee.c:1462 ieee.c:2161
+#: ieee.c:1341 ieee.c:1411 ieee.c:2108
msgid "illegal variable index"
msgstr ""
-#: ieee.c:1440
+#: ieee.c:1389
msgid "illegal type index"
msgstr ""
-#: ieee.c:1450 ieee.c:1487
+#: ieee.c:1399 ieee.c:1436
msgid "unknown TY code"
msgstr ""
-#: ieee.c:1469
+#: ieee.c:1418
msgid "undefined variable in TY"
msgstr ""
#. Pascal file name. FIXME.
-#: ieee.c:1880
+#: ieee.c:1829
msgid "Pascal file name not supported"
msgstr ""
-#: ieee.c:1928
+#: ieee.c:1877
msgid "unsupported qualifier"
msgstr ""
-#: ieee.c:2199
+#: ieee.c:2146
msgid "undefined variable in ATN"
msgstr ""
-#: ieee.c:2242
+#: ieee.c:2189
msgid "unknown ATN type"
msgstr ""
#. Reserved for FORTRAN common.
-#: ieee.c:2364
+#: ieee.c:2311
msgid "unsupported ATN11"
msgstr ""
#. We have no way to record this information. FIXME.
-#: ieee.c:2391
+#: ieee.c:2338
msgid "unsupported ATN12"
msgstr ""
-#: ieee.c:2451
+#: ieee.c:2398
msgid "unexpected string in C++ misc"
msgstr ""
-#: ieee.c:2464
+#: ieee.c:2411
msgid "bad misc record"
msgstr ""
-#: ieee.c:2507
+#: ieee.c:2452
msgid "unrecognized C++ misc record"
msgstr ""
-#: ieee.c:2624
+#: ieee.c:2567
msgid "undefined C++ object"
msgstr ""
-#: ieee.c:2658
+#: ieee.c:2601
msgid "unrecognized C++ object spec"
msgstr ""
-#: ieee.c:2694
+#: ieee.c:2637
msgid "unsupported C++ object type"
msgstr ""
-#: ieee.c:2704
+#: ieee.c:2647
msgid "C++ base class not defined"
msgstr ""
-#: ieee.c:2716 ieee.c:2821
+#: ieee.c:2659 ieee.c:2764
msgid "C++ object has no fields"
msgstr ""
-#: ieee.c:2735
+#: ieee.c:2678
msgid "C++ base class not found in container"
msgstr ""
-#: ieee.c:2842
+#: ieee.c:2785
msgid "C++ data member not found in container"
msgstr ""
-#: ieee.c:2883 ieee.c:3033
+#: ieee.c:2826 ieee.c:2976
msgid "unknown C++ visibility"
msgstr ""
-#: ieee.c:2917
+#: ieee.c:2860
msgid "bad C++ field bit pos or size"
msgstr ""
-#: ieee.c:3009
+#: ieee.c:2952
msgid "bad type for C++ method function"
msgstr ""
-#: ieee.c:3019
+#: ieee.c:2962
msgid "no type information for C++ method function"
msgstr ""
-#: ieee.c:3058
+#: ieee.c:3001
msgid "C++ static virtual method"
msgstr ""
-#: ieee.c:3153
+#: ieee.c:3096
msgid "unrecognized C++ object overhead spec"
msgstr ""
-#: ieee.c:3192
+#: ieee.c:3135
msgid "undefined C++ vtable"
msgstr ""
-#: ieee.c:3263
+#: ieee.c:3204
msgid "C++ default values not in a function"
msgstr ""
-#: ieee.c:3303
+#: ieee.c:3244
msgid "unrecognized C++ default type"
msgstr ""
-#: ieee.c:3334
+#: ieee.c:3275
msgid "reference parameter is not a pointer"
msgstr ""
-#: ieee.c:3419
+#: ieee.c:3358
msgid "unrecognized C++ reference type"
msgstr ""
-#: ieee.c:3501
+#: ieee.c:3440
msgid "C++ reference not found"
msgstr ""
-#: ieee.c:3509
+#: ieee.c:3448
msgid "C++ reference is not pointer"
msgstr ""
-#: ieee.c:3538 ieee.c:3546
+#: ieee.c:3474 ieee.c:3482
msgid "missing required ASN"
msgstr ""
-#: ieee.c:3576 ieee.c:3584
+#: ieee.c:3509 ieee.c:3517
msgid "missing required ATN65"
msgstr ""
-#: ieee.c:3598
+#: ieee.c:3531
msgid "bad ATN65 record"
msgstr ""
-#: ieee.c:4286
+#: ieee.c:4159
+#, c-format
msgid "IEEE numeric overflow: 0x"
msgstr ""
-#: ieee.c:4332
+#: ieee.c:4203
#, c-format
msgid "IEEE string length overflow: %u\n"
msgstr ""
-#: ieee.c:5382
+#: ieee.c:5202
#, c-format
msgid "IEEE unsupported integer type size %u\n"
msgstr ""
-#: ieee.c:5418
+#: ieee.c:5236
#, c-format
msgid "IEEE unsupported float type size %u\n"
msgstr ""
-#: ieee.c:5454
+#: ieee.c:5270
#, c-format
msgid "IEEE unsupported complex type size %u\n"
msgstr ""
-#: nlmconv.c:282 srconv.c:2043
+#: nlmconv.c:271 srconv.c:1945
msgid "input and output files must be different"
msgstr ""
-#: nlmconv.c:329
+#: nlmconv.c:318
msgid "input file named both on command line and with INPUT"
msgstr ""
-#: nlmconv.c:338
+#: nlmconv.c:327
msgid "no input file"
msgstr ""
-#: nlmconv.c:368
+#: nlmconv.c:357
msgid "no name for output file"
msgstr ""
-#: nlmconv.c:382
+#: nlmconv.c:371
msgid "warning: input and output formats are not compatible"
msgstr ""
-#: nlmconv.c:411
+#: nlmconv.c:400
msgid "make .bss section"
msgstr ""
-#: nlmconv.c:420
+#: nlmconv.c:409
msgid "make .nlmsections section"
msgstr ""
-#: nlmconv.c:422
+#: nlmconv.c:411
msgid "set .nlmsections flags"
msgstr ""
-#: nlmconv.c:450
+#: nlmconv.c:439
msgid "set .bss vma"
msgstr ""
-#: nlmconv.c:457
+#: nlmconv.c:446
msgid "set .data size"
msgstr ""
-#: nlmconv.c:637
+#: nlmconv.c:626
#, c-format
msgid "warning: symbol %s imported but not in import list"
msgstr ""
-#: nlmconv.c:657
+#: nlmconv.c:646
msgid "set start address"
msgstr ""
-#: nlmconv.c:706
+#: nlmconv.c:695
#, c-format
msgid "warning: START procedure %s not defined"
msgstr ""
-#: nlmconv.c:708
+#: nlmconv.c:697
#, c-format
msgid "warning: EXIT procedure %s not defined"
msgstr ""
-#: nlmconv.c:710
+#: nlmconv.c:699
#, c-format
msgid "warning: CHECK procedure %s not defined"
msgstr ""
-#: nlmconv.c:731 nlmconv.c:920
+#: nlmconv.c:720 nlmconv.c:909
msgid "custom section"
msgstr ""
-#: nlmconv.c:752 nlmconv.c:949
+#: nlmconv.c:741 nlmconv.c:938
msgid "help section"
msgstr ""
-#: nlmconv.c:774 nlmconv.c:967
+#: nlmconv.c:763 nlmconv.c:956
msgid "message section"
msgstr ""
-#: nlmconv.c:790 nlmconv.c:1000
+#: nlmconv.c:779 nlmconv.c:989
msgid "module section"
msgstr ""
-#: nlmconv.c:810 nlmconv.c:1016
+#: nlmconv.c:799 nlmconv.c:1005
msgid "rpc section"
msgstr ""
#. There is no place to record this information.
-#: nlmconv.c:846
+#: nlmconv.c:835
#, c-format
msgid "%s: warning: shared libraries can not have uninitialized data"
msgstr ""
-#: nlmconv.c:867 nlmconv.c:1035
+#: nlmconv.c:856 nlmconv.c:1024
msgid "shared section"
msgstr ""
-#: nlmconv.c:875
+#: nlmconv.c:864
msgid "warning: No version number given"
msgstr ""
-#: nlmconv.c:915 nlmconv.c:944 nlmconv.c:962 nlmconv.c:1011 nlmconv.c:1030
+#: nlmconv.c:904 nlmconv.c:933 nlmconv.c:951 nlmconv.c:1000 nlmconv.c:1019
#, c-format
msgid "%s: read: %s"
msgstr ""
-#: nlmconv.c:937
+#: nlmconv.c:926
msgid "warning: MAP and FULLMAP are not supported; try ld -M"
msgstr ""
-#: nlmconv.c:1109
+#: nlmconv.c:1096
#, c-format
msgid "Usage: %s [option(s)] [in-file [out-file]]\n"
msgstr ""
-#: nlmconv.c:1110
+#: nlmconv.c:1097
+#, c-format
msgid " Convert an object file into a NetWare Loadable Module\n"
msgstr ""
-#: nlmconv.c:1111
+#: nlmconv.c:1098
+#, c-format
msgid ""
" The options are:\n"
" -I --input-target=<bfdname> Set the input binary file format\n"
@@ -1389,73 +1509,75 @@ msgid ""
" -v --version Display the program's version\n"
msgstr ""
-#: nlmconv.c:1153
+#: nlmconv.c:1138
#, c-format
msgid "support not compiled in for %s"
msgstr ""
-#: nlmconv.c:1193
+#: nlmconv.c:1175
msgid "make section"
msgstr ""
-#: nlmconv.c:1207
+#: nlmconv.c:1189
msgid "set section size"
msgstr ""
-#: nlmconv.c:1213
+#: nlmconv.c:1195
msgid "set section alignment"
msgstr ""
-#: nlmconv.c:1217
+#: nlmconv.c:1199
msgid "set section flags"
msgstr ""
-#: nlmconv.c:1228
+#: nlmconv.c:1210
msgid "set .nlmsections size"
msgstr ""
-#: nlmconv.c:1316 nlmconv.c:1324 nlmconv.c:1333 nlmconv.c:1338
+#: nlmconv.c:1295 nlmconv.c:1303 nlmconv.c:1312 nlmconv.c:1317
msgid "set .nlmsection contents"
msgstr ""
-#: nlmconv.c:1839
+#: nlmconv.c:1796
msgid "stub section sizes"
msgstr ""
-#: nlmconv.c:1888
+#: nlmconv.c:1843
msgid "writing stub"
msgstr ""
-#: nlmconv.c:1977
+#: nlmconv.c:1928
#, c-format
msgid "unresolved PC relative reloc against %s"
msgstr ""
-#: nlmconv.c:2041
+#: nlmconv.c:1992
#, c-format
msgid "overflow when adjusting relocation against %s"
msgstr ""
-#: nlmconv.c:2158
+#: nlmconv.c:2107
#, c-format
msgid "%s: execution of %s failed: "
msgstr ""
-#: nlmconv.c:2173
+#: nlmconv.c:2122
#, c-format
msgid "Execution of %s failed"
msgstr ""
-#: nm.c:283 size.c:85 strings.c:657
+#: nm.c:247 size.c:83 strings.c:633
#, c-format
msgid "Usage: %s [option(s)] [file(s)]\n"
msgstr ""
-#: nm.c:284
+#: nm.c:248
+#, c-format
msgid " List symbols in [file(s)] (a.out by default).\n"
msgstr ""
-#: nm.c:285
+#: nm.c:249
+#, c-format
msgid ""
" The options are:\n"
" -a, --debug-syms Display debugger-only symbols\n"
@@ -1495,54 +1617,54 @@ msgid ""
"\n"
msgstr ""
-#: nm.c:319 objdump.c:250
+#: nm.c:283 objdump.c:223
#, c-format
msgid "Report bugs to %s.\n"
msgstr ""
-#: nm.c:352
+#: nm.c:315
#, c-format
msgid "%s: invalid radix"
msgstr ""
-#: nm.c:377
+#: nm.c:339
#, c-format
msgid "%s: invalid output format"
msgstr ""
-#: nm.c:494
+#: nm.c:454
msgid "Only -X 32_64 is supported"
msgstr ""
-#: nm.c:514
+#: nm.c:474
msgid "Using the --size-sort and --undefined-only options together"
msgstr ""
-#: nm.c:515
+#: nm.c:475
msgid "will produce no output, since undefined symbols have no size."
msgstr ""
-#: nm.c:543
+#: nm.c:503
#, c-format
msgid "data size %ld"
msgstr ""
-#: nm.c:568 readelf.c:5809 readelf.c:5845
+#: nm.c:527 readelf.c:5497 readelf.c:5532
#, c-format
msgid "<processor specific>: %d"
msgstr ""
-#: nm.c:570 readelf.c:5811 readelf.c:5857
+#: nm.c:529 readelf.c:5499 readelf.c:5544
#, c-format
msgid "<OS specific>: %d"
msgstr ""
-#: nm.c:572 readelf.c:5813 readelf.c:5860
+#: nm.c:531 readelf.c:5501 readelf.c:5547
#, c-format
msgid "<unknown>: %d"
msgstr ""
-#: nm.c:1376
+#: nm.c:1297
#, c-format
msgid ""
"\n"
@@ -1551,7 +1673,7 @@ msgid ""
"\n"
msgstr ""
-#: nm.c:1378
+#: nm.c:1299
#, c-format
msgid ""
"\n"
@@ -1560,21 +1682,23 @@ msgid ""
"\n"
msgstr ""
-#: nm.c:1380 nm.c:1438
+#: nm.c:1301 nm.c:1352
+#, c-format
msgid ""
"Name Value Class Type Size Line "
"Section\n"
"\n"
msgstr ""
-#: nm.c:1383 nm.c:1441
+#: nm.c:1304 nm.c:1355
+#, c-format
msgid ""
"Name Value Class Type "
"Size Line Section\n"
"\n"
msgstr ""
-#: nm.c:1434
+#: nm.c:1348
#, c-format
msgid ""
"\n"
@@ -1583,7 +1707,7 @@ msgid ""
"\n"
msgstr ""
-#: nm.c:1436
+#: nm.c:1350
#, c-format
msgid ""
"\n"
@@ -1592,26 +1716,30 @@ msgid ""
"\n"
msgstr ""
-#: nm.c:1658
+#: nm.c:1558
+#, c-format
msgid ""
"\n"
"Archive index:\n"
msgstr ""
-#: objcopy.c:414 srconv.c:1952
+#: objcopy.c:390 srconv.c:1856
#, c-format
msgid "Usage: %s [option(s)] in-file [out-file]\n"
msgstr ""
-#: objcopy.c:415
+#: objcopy.c:391
+#, c-format
msgid " Copies a binary file, possibly transforming it in the process\n"
msgstr ""
-#: objcopy.c:416 objcopy.c:495
+#: objcopy.c:392 objcopy.c:475
+#, c-format
msgid " The options are:\n"
msgstr ""
-#: objcopy.c:417
+#: objcopy.c:393
+#, c-format
msgid ""
" -I --input-target <bfdname> Assume input file is in format <bfdname>\n"
" -O --output-target <bfdname> Create an output file in format "
@@ -1634,6 +1762,8 @@ msgid ""
" --strip-unneeded Remove all symbols not needed by "
"relocations\n"
" -N --strip-symbol <name> Do not copy symbol <name>\n"
+" --only-keep-debug Strip everything but the debug "
+"information\n"
" -K --keep-symbol <name> Only copy symbol <name>\n"
" -L --localize-symbol <name> Force symbol <name> to be marked as a "
"local\n"
@@ -1642,6 +1772,7 @@ msgid ""
"weak\n"
" --weaken Force all global symbols to be marked as "
"weak\n"
+" -w --wildcard Permit wildcard in symbol comparasion\n"
" -x --discard-all Remove all non-global symbols\n"
" -X --discard-locals Remove any compiler-generated symbols\n"
" -i --interleave <number> Only copy one out of every <number> "
@@ -1691,6 +1822,10 @@ msgid ""
" --keep-global-symbols <file> -G for all symbols listed in <file>\n"
" --weaken-symbols <file> -W for all symbols listed in <file>\n"
" --alt-machine-code <index> Use alternate machine code for output\n"
+" --writable-text Mark the output text as writable\n"
+" --readonly-text Make the output text write protected\n"
+" --pure Mark the output file as demand paged\n"
+" --impure Mark the output file as impure\n"
" --prefix-symbols <prefix> Add <prefix> to start of every symbol "
"name\n"
" --prefix-sections <prefix> Add <prefix> to start of every section "
@@ -1706,16 +1841,18 @@ msgid ""
"supported\n"
msgstr ""
-#: objcopy.c:493
+#: objcopy.c:473
#, c-format
msgid "Usage: %s <option(s)> in-file(s)\n"
msgstr ""
-#: objcopy.c:494
+#: objcopy.c:474
+#, c-format
msgid " Removes symbols and sections from files\n"
msgstr ""
-#: objcopy.c:496
+#: objcopy.c:476
+#, c-format
msgid ""
" -I --input-target=<bfdname> Assume input file is in format <bfdname>\n"
" -O --output-target=<bfdname> Create an output file in format "
@@ -1730,8 +1867,11 @@ msgid ""
" -g -S -d --strip-debug Remove all debugging symbols & sections\n"
" --strip-unneeded Remove all symbols not needed by "
"relocations\n"
+" --only-keep-debug Strip everything but the debug "
+"information\n"
" -N --strip-symbol=<name> Do not copy symbol <name>\n"
" -K --keep-symbol=<name> Only copy symbol <name>\n"
+" -w --wildcard Permit wildcard in symbol comparasion\n"
" -x --discard-all Remove all non-global symbols\n"
" -X --discard-locals Remove any compiler-generated symbols\n"
" -v --verbose List all object files modified\n"
@@ -1742,234 +1882,241 @@ msgid ""
" -o <file> Place stripped output into <file>\n"
msgstr ""
-#: objcopy.c:567
+#: objcopy.c:548
#, c-format
msgid "unrecognized section flag `%s'"
msgstr ""
-#: objcopy.c:568
+#: objcopy.c:549
#, c-format
msgid "supported flags: %s"
msgstr ""
-#: objcopy.c:645 objcopy.c:2526
+#: objcopy.c:626
#, c-format
-msgid "cannot stat: %s: %s"
+msgid "cannot open '%s': %s"
msgstr ""
-#: objcopy.c:652 objcopy.c:2544
-#, c-format
-msgid "cannot open: %s: %s"
-msgstr ""
-
-#: objcopy.c:655 objcopy.c:2548
+#: objcopy.c:629 objcopy.c:2584
#, c-format
msgid "%s: fread failed"
msgstr ""
-#: objcopy.c:728
+#: objcopy.c:702
#, c-format
msgid "Ignoring rubbish found on line %d of %s"
msgstr ""
-#: objcopy.c:979
+#: objcopy.c:960
#, c-format
msgid "%s: Multiple redefinition of symbol \"%s\""
msgstr ""
-#: objcopy.c:983
+#: objcopy.c:964
#, c-format
msgid "%s: Symbol \"%s\" is target of more than one redefinition"
msgstr ""
-#: objcopy.c:1010
+#: objcopy.c:992
#, c-format
msgid "couldn't open symbol redefinition file %s (error: %s)"
msgstr ""
-#: objcopy.c:1088
+#: objcopy.c:1070
#, c-format
msgid "%s: garbage at end of line %d"
msgstr ""
-#: objcopy.c:1091
+#: objcopy.c:1073
#, c-format
msgid "%s: missing new symbol name at line %d"
msgstr ""
-#: objcopy.c:1101
+#: objcopy.c:1083
#, c-format
msgid "%s: premature end of file at line %d"
msgstr ""
-#: objcopy.c:1147
+#: objcopy.c:1108
msgid "Unable to change endianness of input file(s)"
msgstr ""
-#: objcopy.c:1155
+#: objcopy.c:1117
#, c-format
msgid "copy from %s(%s) to %s(%s)\n"
msgstr ""
-#: objcopy.c:1182
+#: objcopy.c:1154
+#, c-format
+msgid "Unable to recognise the format of the input file %s"
+msgstr ""
+
+#: objcopy.c:1158
#, c-format
msgid "Warning: Output file cannot represent architecture %s"
msgstr ""
-#: objcopy.c:1211
+#: objcopy.c:1193
#, c-format
msgid "can't create section `%s': %s"
msgstr ""
-#: objcopy.c:1304
+#: objcopy.c:1259
+msgid "there are no sections to be copied!"
+msgstr ""
+
+#: objcopy.c:1305
#, c-format
msgid "Can't fill gap after %s: %s"
msgstr ""
-#: objcopy.c:1329
+#: objcopy.c:1330
#, c-format
msgid "Can't add padding to %s: %s"
msgstr ""
-#: objcopy.c:1485
+#: objcopy.c:1496
#, c-format
msgid "%s: error copying private BFD data: %s"
msgstr ""
-#: objcopy.c:1498
+#: objcopy.c:1507
msgid "unknown alternate machine code, ignored"
msgstr ""
-#: objcopy.c:1531 objcopy.c:1561
+#: objcopy.c:1537 objcopy.c:1567
#, c-format
msgid "cannot mkdir %s for archive copying (error: %s)"
msgstr ""
-#: objcopy.c:1749
+#: objcopy.c:1772
#, c-format
msgid "Multiple renames of section %s"
msgstr ""
-#: objcopy.c:1840
+#: objcopy.c:1859
msgid "making"
msgstr ""
-#: objcopy.c:1849
+#: objcopy.c:1868
msgid "size"
msgstr ""
-#: objcopy.c:1863
+#: objcopy.c:1882
msgid "vma"
msgstr ""
-#: objcopy.c:1888
+#: objcopy.c:1907
msgid "alignment"
msgstr ""
-#: objcopy.c:1896
+#: objcopy.c:1922
msgid "flags"
msgstr ""
-#: objcopy.c:1918
+#: objcopy.c:1944
msgid "private data"
msgstr ""
-#: objcopy.c:1926
+#: objcopy.c:1952
#, c-format
msgid "%s: section `%s': error in %s: %s"
msgstr ""
-#: objcopy.c:2199
+#: objcopy.c:2233
#, c-format
msgid "%s: can't create debugging section: %s"
msgstr ""
-#: objcopy.c:2214
+#: objcopy.c:2247
#, c-format
msgid "%s: can't set debugging section contents: %s"
msgstr ""
-#: objcopy.c:2223
+#: objcopy.c:2256
#, c-format
msgid "%s: don't know how to write debugging information for %s"
msgstr ""
-#: objcopy.c:2346
-#, c-format
-msgid "%s: cannot stat: %s"
-msgstr ""
-
-#: objcopy.c:2400
+#: objcopy.c:2431
msgid "byte number must be non-negative"
msgstr ""
-#: objcopy.c:2410
+#: objcopy.c:2441
msgid "interleave must be positive"
msgstr ""
-#: objcopy.c:2430 objcopy.c:2438
+#: objcopy.c:2461 objcopy.c:2469
#, c-format
msgid "%s both copied and removed"
msgstr ""
-#: objcopy.c:2523 objcopy.c:2593 objcopy.c:2693 objcopy.c:2724 objcopy.c:2748
-#: objcopy.c:2752 objcopy.c:2772
+#: objcopy.c:2558 objcopy.c:2629 objcopy.c:2729 objcopy.c:2760 objcopy.c:2784
+#: objcopy.c:2788 objcopy.c:2808
#, c-format
msgid "bad format for %s"
msgstr ""
-#: objcopy.c:2662
+#: objcopy.c:2579
+#, c-format
+msgid "cannot open: %s: %s"
+msgstr ""
+
+#: objcopy.c:2698
#, c-format
msgid "Warning: truncating gap-fill from 0x%s to 0x%x"
msgstr ""
-#: objcopy.c:2818
+#: objcopy.c:2854
msgid "alternate machine code index must be positive"
msgstr ""
-#: objcopy.c:2856
+#: objcopy.c:2912
msgid "byte number must be less than interleave"
msgstr ""
-#: objcopy.c:2883
+#: objcopy.c:2942
#, c-format
msgid "architecture %s unknown"
msgstr ""
-#: objcopy.c:2887
+#: objcopy.c:2946
msgid ""
"Warning: input target 'binary' required for binary architecture parameter."
msgstr ""
-#: objcopy.c:2888
+#: objcopy.c:2947
#, c-format
msgid " Argument %s ignored"
msgstr ""
-#: objcopy.c:2894
+#: objcopy.c:2953
#, c-format
-msgid "Cannot stat: %s: %s"
+msgid "warning: could not locate '%s'. System error message: %s"
msgstr ""
-#: objcopy.c:2934 objcopy.c:2948
+#: objcopy.c:2993 objcopy.c:3007
#, c-format
msgid "%s %s%c0x%s never used"
msgstr ""
-#: objdump.c:197
+#: objdump.c:168
#, c-format
msgid "Usage: %s <option(s)> <file(s)>\n"
msgstr ""
-#: objdump.c:198
+#: objdump.c:169
+#, c-format
msgid " Display information from object <file(s)>.\n"
msgstr ""
-#: objdump.c:199
+#: objdump.c:170
+#, c-format
msgid " At least one of the following switches must be given:\n"
msgstr ""
-#: objdump.c:200
+#: objdump.c:171
+#, c-format
msgid ""
" -a, --archive-headers Display archive header information\n"
" -f, --file-headers Display the contents of the overall file header\n"
@@ -1984,6 +2131,7 @@ msgid ""
" -s, --full-contents Display the full contents of all sections "
"requested\n"
" -g, --debugging Display debug information in object file\n"
+" -e, --debugging-tags Display debug information using ctags style\n"
" -G, --stabs Display (in raw form) any STABS info in the file\n"
" -t, --syms Display the contents of the symbol table(s)\n"
" -T, --dynamic-syms Display the contents of the dynamic symbol table\n"
@@ -1995,13 +2143,15 @@ msgid ""
" -H, --help Display this information\n"
msgstr ""
-#: objdump.c:222
+#: objdump.c:194
+#, c-format
msgid ""
"\n"
" The following switches are optional:\n"
msgstr ""
-#: objdump.c:223
+#: objdump.c:195
+#, c-format
msgid ""
" -b, --target=BFDNAME Specify the target object format as "
"BFDNAME\n"
@@ -2014,6 +2164,7 @@ msgid ""
"disassembling\n"
" --file-start-context Include context from start of file (with -"
"S)\n"
+" -I, --include=DIR Add DIR to search list for source files\n"
" -l, --line-numbers Include line numbers and filenames in "
"output\n"
" -C, --demangle[=STYLE] Decode mangled/processed symbol names\n"
@@ -2035,322 +2186,346 @@ msgid ""
"\n"
msgstr ""
-#: objdump.c:391
+#: objdump.c:364
+#, c-format
msgid "Sections:\n"
msgstr ""
-#: objdump.c:394 objdump.c:398
+#: objdump.c:367 objdump.c:371
+#, c-format
msgid "Idx Name Size VMA LMA File off Algn"
msgstr ""
-#: objdump.c:400
+#: objdump.c:373
+#, c-format
msgid ""
"Idx Name Size VMA LMA File off "
"Algn"
msgstr ""
-#: objdump.c:404
+#: objdump.c:377
+#, c-format
msgid " Flags"
msgstr ""
-#: objdump.c:406
+#: objdump.c:379
+#, c-format
msgid " Pg"
msgstr ""
-#: objdump.c:451
+#: objdump.c:422
#, c-format
msgid "%s: not a dynamic object"
msgstr ""
-#: objdump.c:1144
-msgid "Out of virtual memory"
+#: objdump.c:1659
+#, c-format
+msgid "Disassembly of section %s:\n"
msgstr ""
-#: objdump.c:1574
+#: objdump.c:1809
#, c-format
msgid "Can't use supplied machine %s"
msgstr ""
-#: objdump.c:1592
+#: objdump.c:1828
#, c-format
msgid "Can't disassemble for architecture %s\n"
msgstr ""
-#: objdump.c:1682
-#, c-format
-msgid "Disassembly of section %s:\n"
-msgstr ""
-
-#: objdump.c:1847
+#: objdump.c:1896
#, c-format
msgid ""
"No %s section present\n"
"\n"
msgstr ""
-#: objdump.c:1854
-#, c-format
-msgid "%s has no %s section"
-msgstr ""
-
-#: objdump.c:1868
+#: objdump.c:1905
#, c-format
msgid "Reading %s section of %s failed: %s"
msgstr ""
-#: objdump.c:1880
-#, c-format
-msgid "Reading %s section of %s failed: %s\n"
-msgstr ""
-
-#: objdump.c:1923
+#: objdump.c:1949
#, c-format
msgid ""
"Contents of %s section:\n"
"\n"
msgstr ""
-#: objdump.c:2021
+#: objdump.c:2075
#, c-format
msgid "architecture: %s, "
msgstr ""
-#: objdump.c:2024
+#: objdump.c:2078
#, c-format
msgid "flags 0x%08x:\n"
msgstr ""
-#: objdump.c:2038
+#: objdump.c:2092
+#, c-format
msgid ""
"\n"
"start address 0x"
msgstr ""
-#: objdump.c:2071
+#: objdump.c:2132
#, c-format
-msgid ""
-"\n"
-"%s: file format %s\n"
+msgid "Contents of section %s:\n"
msgstr ""
-#: objdump.c:2111
+#: objdump.c:2257
#, c-format
-msgid "%s: printing debugging information failed"
+msgid "no symbols\n"
msgstr ""
-#: objdump.c:2190
+#: objdump.c:2264
#, c-format
-msgid "In archive %s:\n"
+msgid "no information for the %ld'th symbol"
msgstr ""
-#: objdump.c:2249
+#: objdump.c:2267
#, c-format
-msgid "Contents of section %s:\n"
+msgid "could not determine the type of the %ld'th symbol"
msgstr ""
-#: objdump.c:2369
-msgid "no symbols\n"
+#: objdump.c:2533
+#, c-format
+msgid ""
+"\n"
+"%s: file format %s\n"
+msgstr ""
+
+#: objdump.c:2576
+#, c-format
+msgid "%s: printing debugging information failed"
+msgstr ""
+
+#: objdump.c:2657
+#, c-format
+msgid "In archive %s:\n"
msgstr ""
-#: objdump.c:2718
+#: objdump.c:2777
msgid "unrecognized -E option"
msgstr ""
-#: objdump.c:2729
+#: objdump.c:2788
#, c-format
msgid "unrecognized --endian type `%s'"
msgstr ""
-#: rdcoff.c:206
+#: rdcoff.c:196
#, c-format
msgid "parse_coff_type: Bad type code 0x%x"
msgstr ""
-#: rdcoff.c:424 rdcoff.c:532 rdcoff.c:731
+#: rdcoff.c:404 rdcoff.c:509 rdcoff.c:697
#, c-format
msgid "bfd_coff_get_syment failed: %s"
msgstr ""
-#: rdcoff.c:440 rdcoff.c:751
+#: rdcoff.c:420 rdcoff.c:717
#, c-format
msgid "bfd_coff_get_auxent failed: %s"
msgstr ""
-#: rdcoff.c:818
+#: rdcoff.c:784
#, c-format
msgid "%ld: .bf without preceding function"
msgstr ""
-#: rdcoff.c:868
+#: rdcoff.c:834
#, c-format
msgid "%ld: unexpected .ef\n"
msgstr ""
-#: rddbg.c:91
+#: rddbg.c:85
#, c-format
msgid "%s: no recognized debugging information"
msgstr ""
-#: rddbg.c:415
+#: rddbg.c:394
+#, c-format
msgid "Last stabs entries before error:\n"
msgstr ""
-#: readelf.c:455
+#: readelf.c:245
#, c-format
msgid "%s: Error: "
msgstr ""
-#: readelf.c:466
+#: readelf.c:256
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: readelf.c:488
+#: readelf.c:271
#, c-format
msgid "Unable to seek to 0x%x for %s\n"
msgstr ""
-#: readelf.c:499
+#: readelf.c:283
#, c-format
msgid "Out of memory allocating 0x%x bytes for %s\n"
msgstr ""
-#: readelf.c:507
+#: readelf.c:291
#, c-format
msgid "Unable to read in 0x%x bytes of %s\n"
msgstr ""
-#: readelf.c:560 readelf.c:614 readelf.c:798 readelf.c:833
+#: readelf.c:342 readelf.c:391 readelf.c:569 readelf.c:601
#, c-format
msgid "Unhandled data length: %d\n"
msgstr ""
-#: readelf.c:924
+#: readelf.c:691
msgid "Don't know about relocations on this machine architecture\n"
msgstr ""
-#: readelf.c:946 readelf.c:975 readelf.c:1021 readelf.c:1049
+#: readelf.c:711 readelf.c:738 readelf.c:781 readelf.c:808
msgid "relocs"
msgstr ""
-#: readelf.c:957 readelf.c:986 readelf.c:1031 readelf.c:1059
+#: readelf.c:721 readelf.c:748 readelf.c:791 readelf.c:818
msgid "out of memory parsing relocs"
msgstr ""
-#: readelf.c:1112
+#: readelf.c:871
+#, c-format
msgid ""
" Offset Info Type Sym. Value Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:1114
+#: readelf.c:873
+#, c-format
msgid " Offset Info Type Sym.Value Sym. Name + Addend\n"
msgstr ""
-#: readelf.c:1119
+#: readelf.c:878
+#, c-format
msgid " Offset Info Type Sym. Value Symbol's Name\n"
msgstr ""
-#: readelf.c:1121
+#: readelf.c:880
+#, c-format
msgid " Offset Info Type Sym.Value Sym. Name\n"
msgstr ""
-#: readelf.c:1129
+#: readelf.c:888
+#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:1131
+#: readelf.c:890
+#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name + "
"Addend\n"
msgstr ""
-#: readelf.c:1136
+#: readelf.c:895
+#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name\n"
msgstr ""
-#: readelf.c:1138
+#: readelf.c:897
+#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name\n"
msgstr ""
-#: readelf.c:1414 readelf.c:1416 readelf.c:1492 readelf.c:1494 readelf.c:1503
-#: readelf.c:1505
+#: readelf.c:1173 readelf.c:1175 readelf.c:1255 readelf.c:1257 readelf.c:1266
+#: readelf.c:1268
#, c-format
msgid "unrecognized: %-7lx"
msgstr ""
-#: readelf.c:1466
+#: readelf.c:1229
#, c-format
msgid "<string table index %3ld>"
msgstr ""
-#: readelf.c:1743
+#: readelf.c:1500
#, c-format
msgid "Processor Specific: %lx"
msgstr ""
-#: readelf.c:1762
+#: readelf.c:1519
#, c-format
msgid "Operating System specific: %lx"
msgstr ""
-#: readelf.c:1765 readelf.c:2417
+#: readelf.c:1522 readelf.c:2198
#, c-format
msgid "<unknown>: %lx"
msgstr ""
-#: readelf.c:1779
+#: readelf.c:1535
msgid "NONE (None)"
msgstr ""
-#: readelf.c:1780
+#: readelf.c:1536
msgid "REL (Relocatable file)"
msgstr ""
-#: readelf.c:1781
+#: readelf.c:1537
msgid "EXEC (Executable file)"
msgstr ""
-#: readelf.c:1782
+#: readelf.c:1538
msgid "DYN (Shared object file)"
msgstr ""
-#: readelf.c:1783
+#: readelf.c:1539
msgid "CORE (Core file)"
msgstr ""
-#: readelf.c:1787
+#: readelf.c:1543
#, c-format
msgid "Processor Specific: (%x)"
msgstr ""
-#: readelf.c:1789
+#: readelf.c:1545
#, c-format
msgid "OS Specific: (%x)"
msgstr ""
-#: readelf.c:1791 readelf.c:1898 readelf.c:2574
+#: readelf.c:1547 readelf.c:1653 readelf.c:2351
#, c-format
msgid "<unknown>: %x"
msgstr ""
-#: readelf.c:1804
+#: readelf.c:1559
msgid "None"
msgstr ""
-#: readelf.c:2616
+#: readelf.c:2058
+msgid "Standalone App"
+msgstr ""
+
+#: readelf.c:2061 readelf.c:2742 readelf.c:2758
+#, c-format
+msgid "<unknown: %x>"
+msgstr ""
+
+#: readelf.c:2393
+#, c-format
msgid "Usage: readelf <option(s)> elf-file(s)\n"
msgstr ""
-#: readelf.c:2617
+#: readelf.c:2394
+#, c-format
msgid " Display information about the contents of ELF format files\n"
msgstr ""
-#: readelf.c:2618
+#: readelf.c:2395
+#, c-format
msgid ""
" Options are:\n"
" -a --all Equivalent to: -h -l -S -s -r -d -V -A -I\n"
@@ -2378,13 +2553,15 @@ msgid ""
" Display the contents of DWARF2 debug sections\n"
msgstr ""
-#: readelf.c:2640
+#: readelf.c:2417
+#, c-format
msgid ""
" -i --instruction-dump=<number>\n"
" Disassemble the contents of section <number>\n"
msgstr ""
-#: readelf.c:2644
+#: readelf.c:2421
+#, c-format
msgid ""
" -I --histogram Display histogram of bucket list lengths\n"
" -W --wide Allow output width to exceed 80 characters\n"
@@ -2392,321 +2569,335 @@ msgid ""
" -v --version Display the version number of readelf\n"
msgstr ""
-#: readelf.c:2666 readelf.c:10765
+#: readelf.c:2441 readelf.c:10617
msgid "Out of memory allocating dump request table."
msgstr ""
-#: readelf.c:2830 readelf.c:2906
+#: readelf.c:2603 readelf.c:2679
#, c-format
msgid "Unrecognized debug option '%s'\n"
msgstr ""
-#: readelf.c:2940
+#: readelf.c:2713
#, c-format
msgid "Invalid option '-%c'\n"
msgstr ""
-#: readelf.c:2953
+#: readelf.c:2726
msgid "Nothing to do.\n"
msgstr ""
-#: readelf.c:2966 readelf.c:2983 readelf.c:5366
+#: readelf.c:2738 readelf.c:2754 readelf.c:5061
msgid "none"
msgstr ""
-#: readelf.c:2970 readelf.c:2987 readelf.c:3018
-#, c-format
-msgid "<unknown: %x>"
-msgstr ""
-
-#: readelf.c:2984
+#: readelf.c:2755
msgid "2's complement, little endian"
msgstr ""
-#: readelf.c:2985
+#: readelf.c:2756
msgid "2's complement, big endian"
msgstr ""
-#: readelf.c:3015
-msgid "Standalone App"
-msgstr ""
-
-#: readelf.c:3034
+#: readelf.c:2774
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr ""
-#: readelf.c:3042
+#: readelf.c:2782
+#, c-format
msgid "ELF Header:\n"
msgstr ""
-#: readelf.c:3043
+#: readelf.c:2783
+#, c-format
msgid " Magic: "
msgstr ""
-#: readelf.c:3047
+#: readelf.c:2787
#, c-format
msgid " Class: %s\n"
msgstr ""
-#: readelf.c:3049
+#: readelf.c:2789
#, c-format
msgid " Data: %s\n"
msgstr ""
-#: readelf.c:3051
+#: readelf.c:2791
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: readelf.c:3058
+#: readelf.c:2798
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: readelf.c:3060
+#: readelf.c:2800
#, c-format
msgid " ABI Version: %d\n"
msgstr ""
-#: readelf.c:3062
+#: readelf.c:2802
#, c-format
msgid " Type: %s\n"
msgstr ""
-#: readelf.c:3064
+#: readelf.c:2804
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: readelf.c:3066
+#: readelf.c:2806
#, c-format
msgid " Version: 0x%lx\n"
msgstr ""
-#: readelf.c:3069
+#: readelf.c:2809
+#, c-format
msgid " Entry point address: "
msgstr ""
-#: readelf.c:3071
+#: readelf.c:2811
+#, c-format
msgid ""
"\n"
" Start of program headers: "
msgstr ""
-#: readelf.c:3073
+#: readelf.c:2813
+#, c-format
msgid ""
" (bytes into file)\n"
" Start of section headers: "
msgstr ""
-#: readelf.c:3075
+#: readelf.c:2815
+#, c-format
msgid " (bytes into file)\n"
msgstr ""
-#: readelf.c:3077
+#: readelf.c:2817
#, c-format
msgid " Flags: 0x%lx%s\n"
msgstr ""
-#: readelf.c:3080
+#: readelf.c:2820
#, c-format
msgid " Size of this header: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3082
+#: readelf.c:2822
#, c-format
msgid " Size of program headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3084
+#: readelf.c:2824
#, c-format
msgid " Number of program headers: %ld\n"
msgstr ""
-#: readelf.c:3086
+#: readelf.c:2826
#, c-format
msgid " Size of section headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3088
+#: readelf.c:2828
#, c-format
msgid " Number of section headers: %ld"
msgstr ""
-#: readelf.c:3093
+#: readelf.c:2833
#, c-format
msgid " Section header string table index: %ld"
msgstr ""
-#: readelf.c:3127 readelf.c:3163
+#: readelf.c:2864 readelf.c:2897
msgid "program headers"
msgstr ""
-#: readelf.c:3203 readelf.c:3480 readelf.c:3526 readelf.c:3589 readelf.c:3656
-#: readelf.c:4715 readelf.c:4758 readelf.c:4948 readelf.c:5917 readelf.c:5931
-#: readelf.c:10411
+#: readelf.c:2935 readelf.c:3204 readelf.c:3245 readelf.c:3304 readelf.c:3367
+#: readelf.c:4404 readelf.c:4445 readelf.c:4644 readelf.c:5604 readelf.c:5618
+#: readelf.c:10065 readelf.c:10405 readelf.c:10472
msgid "Out of memory\n"
msgstr ""
-#: readelf.c:3231
+#: readelf.c:2962
+#, c-format
msgid ""
"\n"
"There are no program headers in this file.\n"
msgstr ""
-#: readelf.c:3237
+#: readelf.c:2968
#, c-format
msgid ""
"\n"
"Elf file type is %s\n"
msgstr ""
-#: readelf.c:3238
+#: readelf.c:2969
+#, c-format
msgid "Entry point "
msgstr ""
-#: readelf.c:3240
+#: readelf.c:2971
#, c-format
msgid ""
"\n"
"There are %d program headers, starting at offset "
msgstr ""
-#: readelf.c:3252 readelf.c:3254
+#: readelf.c:2983 readelf.c:2985
+#, c-format
msgid ""
"\n"
"Program Headers:\n"
msgstr ""
-#: readelf.c:3258
+#: readelf.c:2989
+#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3261
+#: readelf.c:2992
+#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3265
+#: readelf.c:2996
+#, c-format
msgid " Type Offset VirtAddr PhysAddr\n"
msgstr ""
-#: readelf.c:3267
+#: readelf.c:2998
+#, c-format
msgid " FileSiz MemSiz Flags Align\n"
msgstr ""
-#: readelf.c:3360
+#: readelf.c:3091
msgid "more than one dynamic segment\n"
msgstr ""
-#: readelf.c:3368
+#: readelf.c:3100
msgid "Unable to find program interpreter name\n"
msgstr ""
-#: readelf.c:3375
+#: readelf.c:3107
#, c-format
msgid ""
"\n"
" [Requesting program interpreter: %s]"
msgstr ""
-#: readelf.c:3387
+#: readelf.c:3119
+#, c-format
msgid ""
"\n"
" Section to Segment mapping:\n"
msgstr ""
-#: readelf.c:3388
+#: readelf.c:3120
+#, c-format
msgid " Segment Sections...\n"
msgstr ""
-#: readelf.c:3437
+#: readelf.c:3166
msgid "Cannot interpret virtual addresses without program headers.\n"
msgstr ""
-#: readelf.c:3453
+#: readelf.c:3182
#, c-format
msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n"
msgstr ""
-#: readelf.c:3471 readelf.c:3517
+#: readelf.c:3196 readelf.c:3237
msgid "section headers"
msgstr ""
-#: readelf.c:3565 readelf.c:3632
+#: readelf.c:3281 readelf.c:3344
msgid "symbols"
msgstr ""
-#: readelf.c:3576 readelf.c:3643
+#: readelf.c:3291 readelf.c:3354
msgid "symtab shndx"
msgstr ""
-#: readelf.c:3745
+#: readelf.c:3454
+#, c-format
msgid ""
"\n"
"There are no sections in this file.\n"
msgstr ""
-#: readelf.c:3751
+#: readelf.c:3460
#, c-format
msgid "There are %d section headers, starting at offset 0x%lx:\n"
msgstr ""
-#: readelf.c:3768 readelf.c:4098 readelf.c:4433 readelf.c:6070
+#: readelf.c:3477 readelf.c:3804 readelf.c:4127 readelf.c:5757
msgid "string table"
msgstr ""
-#: readelf.c:3793
+#: readelf.c:3502
msgid "File contains multiple dynamic symbol tables\n"
msgstr ""
-#: readelf.c:3805
+#: readelf.c:3514
msgid "File contains multiple dynamic string tables\n"
msgstr ""
-#: readelf.c:3811
+#: readelf.c:3519
msgid "dynamic strings"
msgstr ""
-#: readelf.c:3817
+#: readelf.c:3525
msgid "File contains multiple symtab shndx tables\n"
msgstr ""
-#: readelf.c:3855
+#: readelf.c:3563
+#, c-format
msgid ""
"\n"
"Section Headers:\n"
msgstr ""
-#: readelf.c:3857
+#: readelf.c:3565
+#, c-format
msgid ""
"\n"
"Section Header:\n"
msgstr ""
-#: readelf.c:3861
+#: readelf.c:3569
+#, c-format
msgid ""
" [Nr] Name Type Addr Off Size ES Flg Lk "
"Inf Al\n"
msgstr ""
-#: readelf.c:3864
+#: readelf.c:3572
+#, c-format
msgid ""
" [Nr] Name Type Address Off Size ES "
"Flg Lk Inf Al\n"
msgstr ""
-#: readelf.c:3867
+#: readelf.c:3575
+#, c-format
msgid " [Nr] Name Type Address Offset\n"
msgstr ""
-#: readelf.c:3868
+#: readelf.c:3576
+#, c-format
msgid " Size EntSize Flags Link Info Align\n"
msgstr ""
-#: readelf.c:3963
+#: readelf.c:3671
+#, c-format
msgid ""
"Key to Flags:\n"
" W (write), A (alloc), X (execute), M (merge), S (strings)\n"
@@ -2714,500 +2905,543 @@ msgid ""
" O (extra OS processing required) o (OS specific), p (processor specific)\n"
msgstr ""
-#: readelf.c:4031
+#: readelf.c:3738
#, c-format
msgid ""
"\n"
"'%s' relocation section at offset 0x%lx contains %ld bytes:\n"
msgstr ""
-#: readelf.c:4043
+#: readelf.c:3750
+#, c-format
msgid ""
"\n"
"There are no dynamic relocations in this file.\n"
msgstr ""
-#: readelf.c:4070
+#: readelf.c:3777
+#, c-format
msgid ""
"\n"
"Relocation section "
msgstr ""
-#: readelf.c:4075 readelf.c:4496 readelf.c:4510
+#: readelf.c:3782 readelf.c:4190 readelf.c:4204
#, c-format
msgid "'%s'"
msgstr ""
-#: readelf.c:4077 readelf.c:4512
+#: readelf.c:3784 readelf.c:4206
#, c-format
msgid " at offset 0x%lx contains %lu entries:\n"
msgstr ""
-#: readelf.c:4115
+#: readelf.c:3821
+#, c-format
msgid ""
"\n"
"There are no relocations in this file.\n"
msgstr ""
-#: readelf.c:4299
+#: readelf.c:3994
msgid "unwind table"
msgstr ""
-#: readelf.c:4350 readelf.c:4362 readelf.c:8499 readelf.c:8511
+#: readelf.c:4045 readelf.c:4057 readelf.c:8284 readelf.c:8296
#, c-format
msgid "Skipping unexpected symbol type %u\n"
msgstr ""
-#: readelf.c:4370
+#: readelf.c:4065
#, c-format
msgid "Skipping unexpected relocation type %s\n"
msgstr ""
-#: readelf.c:4415 readelf.c:4440
+#: readelf.c:4109 readelf.c:4134
+#, c-format
msgid ""
"\n"
"There are no unwind sections in this file.\n"
msgstr ""
-#: readelf.c:4491
+#: readelf.c:4185
+#, c-format
msgid ""
"\n"
"Could not find unwind info section for "
msgstr ""
-#: readelf.c:4503
+#: readelf.c:4197
msgid "unwind info"
msgstr ""
-#: readelf.c:4505
+#: readelf.c:4199
+#, c-format
msgid ""
"\n"
"Unwind section "
msgstr ""
-#: readelf.c:4699 readelf.c:4742
+#: readelf.c:4389 readelf.c:4430
msgid "dynamic segment"
msgstr ""
-#: readelf.c:4820
+#: readelf.c:4505
+#, c-format
msgid ""
"\n"
"There is no dynamic segment in this file.\n"
msgstr ""
-#: readelf.c:4854
+#: readelf.c:4543
msgid "Unable to seek to end of file!"
msgstr ""
-#: readelf.c:4865
+#: readelf.c:4556
msgid "Unable to determine the number of symbols to load\n"
msgstr ""
-#: readelf.c:4895
+#: readelf.c:4591
msgid "Unable to seek to end of file\n"
msgstr ""
-#: readelf.c:4901
+#: readelf.c:4598
msgid "Unable to determine the length of the dynamic string table\n"
msgstr ""
-#: readelf.c:4906
+#: readelf.c:4603
msgid "dynamic string table"
msgstr ""
-#: readelf.c:4941
+#: readelf.c:4637
msgid "symbol information"
msgstr ""
-#: readelf.c:4965
+#: readelf.c:4661
#, c-format
msgid ""
"\n"
"Dynamic segment at offset 0x%lx contains %ld entries:\n"
msgstr ""
-#: readelf.c:4968
+#: readelf.c:4664
+#, c-format
msgid " Tag Type Name/Value\n"
msgstr ""
-#: readelf.c:5004
+#: readelf.c:4700
+#, c-format
msgid "Auxiliary library"
msgstr ""
-#: readelf.c:5008
+#: readelf.c:4704
+#, c-format
msgid "Filter library"
msgstr ""
-#: readelf.c:5012
+#: readelf.c:4708
+#, c-format
msgid "Configuration file"
msgstr ""
-#: readelf.c:5016
+#: readelf.c:4712
+#, c-format
msgid "Dependency audit library"
msgstr ""
-#: readelf.c:5020
+#: readelf.c:4716
+#, c-format
msgid "Audit library"
msgstr ""
-#: readelf.c:5038 readelf.c:5066 readelf.c:5094
+#: readelf.c:4734 readelf.c:4762 readelf.c:4790
+#, c-format
msgid "Flags:"
msgstr ""
-#: readelf.c:5041 readelf.c:5069 readelf.c:5096
+#: readelf.c:4737 readelf.c:4765 readelf.c:4792
+#, c-format
msgid " None\n"
msgstr ""
-#: readelf.c:5217
+#: readelf.c:4913
#, c-format
msgid "Shared library: [%s]"
msgstr ""
-#: readelf.c:5220
+#: readelf.c:4916
+#, c-format
msgid " program interpreter"
msgstr ""
-#: readelf.c:5224
+#: readelf.c:4920
#, c-format
msgid "Library soname: [%s]"
msgstr ""
-#: readelf.c:5228
+#: readelf.c:4924
#, c-format
msgid "Library rpath: [%s]"
msgstr ""
-#: readelf.c:5232
+#: readelf.c:4928
#, c-format
msgid "Library runpath: [%s]"
msgstr ""
-#: readelf.c:5296
+#: readelf.c:4992
#, c-format
msgid "Not needed object: [%s]\n"
msgstr ""
-#: readelf.c:5412
+#: readelf.c:5106
#, c-format
msgid ""
"\n"
"Version definition section '%s' contains %ld entries:\n"
msgstr ""
-#: readelf.c:5415
+#: readelf.c:5109
+#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:5417 readelf.c:5612
+#: readelf.c:5111 readelf.c:5303
#, c-format
msgid " Offset: %#08lx Link: %lx (%s)\n"
msgstr ""
-#: readelf.c:5424
+#: readelf.c:5116
msgid "version definition section"
msgstr ""
-#: readelf.c:5450
+#: readelf.c:5142
#, c-format
msgid " %#06x: Rev: %d Flags: %s"
msgstr ""
-#: readelf.c:5453
+#: readelf.c:5145
#, c-format
msgid " Index: %d Cnt: %d "
msgstr ""
-#: readelf.c:5464
+#: readelf.c:5156
#, c-format
msgid "Name: %s\n"
msgstr ""
-#: readelf.c:5466
+#: readelf.c:5158
#, c-format
msgid "Name index: %ld\n"
msgstr ""
-#: readelf.c:5481
+#: readelf.c:5173
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: readelf.c:5484
+#: readelf.c:5176
#, c-format
msgid " %#06x: Parent %d, name index: %ld\n"
msgstr ""
-#: readelf.c:5503
+#: readelf.c:5195
#, c-format
msgid ""
"\n"
"Version needs section '%s' contains %ld entries:\n"
msgstr ""
-#: readelf.c:5506
+#: readelf.c:5198
+#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:5508
+#: readelf.c:5200
#, c-format
msgid " Offset: %#08lx Link to section: %ld (%s)\n"
msgstr ""
-#: readelf.c:5514
+#: readelf.c:5205
msgid "version need section"
msgstr ""
-#: readelf.c:5536
+#: readelf.c:5227
#, c-format
msgid " %#06x: Version: %d"
msgstr ""
-#: readelf.c:5539
+#: readelf.c:5230
#, c-format
msgid " File: %s"
msgstr ""
-#: readelf.c:5541
+#: readelf.c:5232
#, c-format
msgid " File: %lx"
msgstr ""
-#: readelf.c:5543
+#: readelf.c:5234
#, c-format
msgid " Cnt: %d\n"
msgstr ""
-#: readelf.c:5561
+#: readelf.c:5252
#, c-format
-msgid " %#06x: Name: %s"
+msgid " %#06x: Name: %s"
msgstr ""
-#: readelf.c:5564
+#: readelf.c:5255
#, c-format
-msgid " %#06x: Name index: %lx"
+msgid " %#06x: Name index: %lx"
msgstr ""
-#: readelf.c:5567
+#: readelf.c:5258
#, c-format
msgid " Flags: %s Version: %d\n"
msgstr ""
-#: readelf.c:5603
+#: readelf.c:5294
msgid "version string table"
msgstr ""
-#: readelf.c:5607
+#: readelf.c:5298
#, c-format
msgid ""
"\n"
"Version symbols section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:5610
+#: readelf.c:5301
+#, c-format
msgid " Addr: "
msgstr ""
-#: readelf.c:5622
+#: readelf.c:5311
msgid "version symbol data"
msgstr ""
-#: readelf.c:5649
+#: readelf.c:5338
msgid " 0 (*local*) "
msgstr ""
-#: readelf.c:5653
+#: readelf.c:5342
msgid " 1 (*global*) "
msgstr ""
-#: readelf.c:5689 readelf.c:6129
+#: readelf.c:5378 readelf.c:5816
msgid "version need"
msgstr ""
-#: readelf.c:5699
+#: readelf.c:5388
msgid "version need aux (2)"
msgstr ""
-#: readelf.c:5741 readelf.c:6192
+#: readelf.c:5430 readelf.c:5879
msgid "version def"
msgstr ""
-#: readelf.c:5760 readelf.c:6207
+#: readelf.c:5449 readelf.c:5894
msgid "version def aux"
msgstr ""
-#: readelf.c:5791
+#: readelf.c:5480
+#, c-format
msgid ""
"\n"
"No version information found in this file.\n"
msgstr ""
-#: readelf.c:5923
+#: readelf.c:5610
msgid "Unable to read in dynamic data\n"
msgstr ""
-#: readelf.c:5967
+#: readelf.c:5655
msgid "Unable to seek to start of dynamic information"
msgstr ""
-#: readelf.c:5973
+#: readelf.c:5661
msgid "Failed to read in number of buckets\n"
msgstr ""
-#: readelf.c:5979
+#: readelf.c:5667
msgid "Failed to read in number of chains\n"
msgstr ""
-#: readelf.c:5999
+#: readelf.c:5687
+#, c-format
msgid ""
"\n"
"Symbol table for image:\n"
msgstr ""
-#: readelf.c:6001
+#: readelf.c:5689
+#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:6003
+#: readelf.c:5691
+#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:6048
+#: readelf.c:5736
#, c-format
msgid ""
"\n"
"Symbol table '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:6052
+#: readelf.c:5740
+#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:6054
+#: readelf.c:5742
+#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:6101
+#: readelf.c:5788
msgid "version data"
msgstr ""
-#: readelf.c:6142
+#: readelf.c:5829
msgid "version need aux (3)"
msgstr ""
-#: readelf.c:6167
+#: readelf.c:5854
msgid "bad dynamic symbol"
msgstr ""
-#: readelf.c:6230
+#: readelf.c:5917
+#, c-format
msgid ""
"\n"
"Dynamic symbol information is not available for displaying symbols.\n"
msgstr ""
-#: readelf.c:6242
+#: readelf.c:5929
#, c-format
msgid ""
"\n"
"Histogram for bucket list length (total of %d buckets):\n"
msgstr ""
-#: readelf.c:6244
+#: readelf.c:5931
#, c-format
msgid " Length Number %% of total Coverage\n"
msgstr ""
-#: readelf.c:6249 readelf.c:6268 readelf.c:9898 readelf.c:10090
+#: readelf.c:5936 readelf.c:5955 readelf.c:9565 readelf.c:9757
msgid "Out of memory"
msgstr ""
-#: readelf.c:6317
+#: readelf.c:6003
#, c-format
msgid ""
"\n"
"Dynamic info segment at offset 0x%lx contains %d entries:\n"
msgstr ""
-#: readelf.c:6320
+#: readelf.c:6006
+#, c-format
msgid " Num: Name BoundTo Flags\n"
msgstr ""
-#: readelf.c:6373
+#: readelf.c:6057
#, c-format
msgid ""
"\n"
"Assembly dump of section %s\n"
msgstr ""
-#: readelf.c:6396
+#: readelf.c:6078
#, c-format
msgid ""
"\n"
"Section '%s' has no data to dump.\n"
msgstr ""
-#: readelf.c:6401
+#: readelf.c:6083
#, c-format
msgid ""
"\n"
"Hex dump of section '%s':\n"
msgstr ""
-#: readelf.c:6406
+#: readelf.c:6087
msgid "section data"
msgstr ""
-#: readelf.c:6555
+#: readelf.c:6229
msgid "badly formed extended line op encountered!\n"
msgstr ""
-#: readelf.c:6562
+#: readelf.c:6236
#, c-format
msgid " Extended opcode %d: "
msgstr ""
-#: readelf.c:6567
+#: readelf.c:6241
+#, c-format
msgid ""
"End of Sequence\n"
"\n"
msgstr ""
-#: readelf.c:6573
+#: readelf.c:6247
#, c-format
msgid "set Address to 0x%lx\n"
msgstr ""
-#: readelf.c:6578
+#: readelf.c:6252
+#, c-format
msgid " define new File Table entry\n"
msgstr ""
-#: readelf.c:6579 readelf.c:6726
+#: readelf.c:6253 readelf.c:6541
+#, c-format
msgid " Entry\tDir\tTime\tSize\tName\n"
msgstr ""
-#: readelf.c:6581
+#: readelf.c:6255
#, c-format
msgid " %d\t"
msgstr ""
-#: readelf.c:6584 readelf.c:6586 readelf.c:6588 readelf.c:6738 readelf.c:6740
-#: readelf.c:6742
+#: readelf.c:6258 readelf.c:6260 readelf.c:6262 readelf.c:6553 readelf.c:6555
+#: readelf.c:6557
#, c-format
msgid "%lu\t"
msgstr ""
-#: readelf.c:6589
+#: readelf.c:6263
#, c-format
msgid ""
"%s\n"
"\n"
msgstr ""
-#: readelf.c:6593
+#: readelf.c:6267
#, c-format
msgid "UNKNOWN: length %d\n"
msgstr ""
-#: readelf.c:6621
+#: readelf.c:6323
+msgid "extracting pointer sizes from .debug_info section"
+msgstr ""
+
+#: readelf.c:6347
+msgid "No comp units in .debug_info section ?"
+msgstr ""
+
+#: readelf.c:6356
+#, c-format
+msgid "Not enough memory for a pointer size array of %u entries"
+msgstr ""
+
+#: readelf.c:6417
#, c-format
msgid ""
"\n"
@@ -3215,1053 +3449,1140 @@ msgid ""
"\n"
msgstr ""
-#: readelf.c:6649
+#: readelf.c:6450
msgid "The line info appears to be corrupt - the section is too small\n"
msgstr ""
-#: readelf.c:6658
+#: readelf.c:6459
msgid "Only DWARF version 2 and 3 line info is currently supported.\n"
msgstr ""
-#: readelf.c:6679
+#: readelf.c:6484
+msgid "Not enough comp units for .debug_lines section\n"
+msgstr ""
+
+#: readelf.c:6493
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: readelf.c:6680
+#: readelf.c:6494
#, c-format
msgid " DWARF Version: %d\n"
msgstr ""
-#: readelf.c:6681
+#: readelf.c:6495
#, c-format
msgid " Prologue Length: %d\n"
msgstr ""
-#: readelf.c:6682
+#: readelf.c:6496
#, c-format
msgid " Minimum Instruction Length: %d\n"
msgstr ""
-#: readelf.c:6683
+#: readelf.c:6497
#, c-format
msgid " Initial value of 'is_stmt': %d\n"
msgstr ""
-#: readelf.c:6684
+#: readelf.c:6498
#, c-format
msgid " Line Base: %d\n"
msgstr ""
-#: readelf.c:6685
+#: readelf.c:6499
#, c-format
msgid " Line Range: %d\n"
msgstr ""
-#: readelf.c:6686
+#: readelf.c:6500
#, c-format
msgid " Opcode Base: %d\n"
msgstr ""
-#: readelf.c:6695
+#: readelf.c:6501
+#, c-format
+msgid " (Pointer size: %u)\n"
+msgstr ""
+
+#: readelf.c:6510
+#, c-format
msgid ""
"\n"
" Opcodes:\n"
msgstr ""
-#: readelf.c:6698
+#: readelf.c:6513
#, c-format
msgid " Opcode %d has %d args\n"
msgstr ""
-#: readelf.c:6704
+#: readelf.c:6519
+#, c-format
msgid ""
"\n"
" The Directory Table is empty.\n"
msgstr ""
-#: readelf.c:6707
+#: readelf.c:6522
+#, c-format
msgid ""
"\n"
" The Directory Table:\n"
msgstr ""
-#: readelf.c:6711
+#: readelf.c:6526
#, c-format
msgid " %s\n"
msgstr ""
-#: readelf.c:6722
+#: readelf.c:6537
+#, c-format
msgid ""
"\n"
" The File Name Table is empty.\n"
msgstr ""
-#: readelf.c:6725
+#: readelf.c:6540
+#, c-format
msgid ""
"\n"
" The File Name Table:\n"
msgstr ""
-#: readelf.c:6733
+#: readelf.c:6548
#, c-format
msgid " %d\t"
msgstr ""
-#: readelf.c:6744
+#: readelf.c:6559
#, c-format
msgid "%s\n"
msgstr ""
#. Now display the statements.
-#: readelf.c:6752
+#: readelf.c:6567
+#, c-format
msgid ""
"\n"
" Line Number Statements:\n"
msgstr ""
-#: readelf.c:6768
+#: readelf.c:6583
#, c-format
msgid " Special opcode %d: advance Address by %d to 0x%lx"
msgstr ""
-#: readelf.c:6772
+#: readelf.c:6587
#, c-format
msgid " and Line by %d to %d\n"
msgstr ""
-#: readelf.c:6783
+#: readelf.c:6598
+#, c-format
msgid " Copy\n"
msgstr ""
-#: readelf.c:6790
+#: readelf.c:6605
#, c-format
msgid " Advance PC by %d to %lx\n"
msgstr ""
-#: readelf.c:6798
+#: readelf.c:6613
#, c-format
msgid " Advance Line by %d to %d\n"
msgstr ""
-#: readelf.c:6805
+#: readelf.c:6620
#, c-format
msgid " Set File Name to entry %d in the File Name Table\n"
msgstr ""
-#: readelf.c:6813
+#: readelf.c:6628
#, c-format
msgid " Set column to %d\n"
msgstr ""
-#: readelf.c:6820
+#: readelf.c:6635
#, c-format
msgid " Set is_stmt to %d\n"
msgstr ""
-#: readelf.c:6825
+#: readelf.c:6640
+#, c-format
msgid " Set basic block\n"
msgstr ""
-#: readelf.c:6833
+#: readelf.c:6648
#, c-format
msgid " Advance PC by constant %d to 0x%lx\n"
msgstr ""
-#: readelf.c:6841
+#: readelf.c:6656
#, c-format
msgid " Advance PC by fixed size amount %d to 0x%lx\n"
msgstr ""
-#: readelf.c:6846
+#: readelf.c:6661
+#, c-format
msgid " Set prologue_end to true\n"
msgstr ""
-#: readelf.c:6850
+#: readelf.c:6665
+#, c-format
msgid " Set epilogue_begin to true\n"
msgstr ""
-#: readelf.c:6856
+#: readelf.c:6671
#, c-format
msgid " Set ISA to %d\n"
msgstr ""
-#: readelf.c:6860
+#: readelf.c:6675
#, c-format
msgid " Unknown opcode %d with operands: "
msgstr ""
-#: readelf.c:6891 readelf.c:7371 readelf.c:7443
+#: readelf.c:6705 readelf.c:7174 readelf.c:7245
#, c-format
msgid ""
"Contents of the %s section:\n"
"\n"
msgstr ""
-#: readelf.c:6931
+#: readelf.c:6745
msgid "Only DWARF 2 and 3 pubnames are currently supported\n"
msgstr ""
-#: readelf.c:6938
+#: readelf.c:6752
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: readelf.c:6940
+#: readelf.c:6754
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: readelf.c:6942
+#: readelf.c:6756
#, c-format
msgid " Offset into .debug_info section: %ld\n"
msgstr ""
-#: readelf.c:6944
+#: readelf.c:6758
#, c-format
msgid " Size of area in .debug_info section: %ld\n"
msgstr ""
-#: readelf.c:6947
+#: readelf.c:6761
+#, c-format
msgid ""
"\n"
" Offset\tName\n"
msgstr ""
-#: readelf.c:7042
+#: readelf.c:6855
#, c-format
msgid "Unknown TAG value: %lx"
msgstr ""
-#: readelf.c:7156
+#: readelf.c:6968
#, c-format
msgid "Unknown AT value: %lx"
msgstr ""
-#: readelf.c:7193
+#: readelf.c:7004
#, c-format
msgid "Unknown FORM value: %lx"
msgstr ""
-#: readelf.c:7392
+#: readelf.c:7195
#, c-format
msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n"
msgstr ""
-#: readelf.c:7397
+#: readelf.c:7200
+#, c-format
msgid " DW_MACINFO_end_file\n"
msgstr ""
-#: readelf.c:7405
+#: readelf.c:7208
#, c-format
msgid " DW_MACINFO_define - lineno : %d macro : %s\n"
msgstr ""
-#: readelf.c:7413
+#: readelf.c:7216
#, c-format
msgid " DW_MACINFO_undef - lineno : %d macro : %s\n"
msgstr ""
-#: readelf.c:7424
+#: readelf.c:7227
#, c-format
msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n"
msgstr ""
-#: readelf.c:7452
+#: readelf.c:7254
+#, c-format
msgid " Number TAG\n"
msgstr ""
-#: readelf.c:7458
+#: readelf.c:7260
#, c-format
msgid " %ld %s [%s]\n"
msgstr ""
-#: readelf.c:7461
+#: readelf.c:7263
msgid "has children"
msgstr ""
-#: readelf.c:7461
+#: readelf.c:7263
msgid "no children"
msgstr ""
-#: readelf.c:7465
+#: readelf.c:7267
#, c-format
msgid " %-18s %s\n"
msgstr ""
-#: readelf.c:7486
+#: readelf.c:7286
#, c-format
msgid " %lu byte block: "
msgstr ""
-#: readelf.c:7814
+#: readelf.c:7613
+#, c-format
msgid "(User defined location op)"
msgstr ""
-#: readelf.c:7816
+#: readelf.c:7615
+#, c-format
msgid "(Unknown location op)"
msgstr ""
-#: readelf.c:7855
+#: readelf.c:7646
msgid "debug_loc section data"
msgstr ""
-#: readelf.c:7887
+#: readelf.c:7677
+#, c-format
msgid ""
"\n"
"The .debug_loc section is empty.\n"
msgstr ""
-#: readelf.c:7891
+#: readelf.c:7684
+#, c-format
msgid ""
"Contents of the .debug_loc section:\n"
"\n"
msgstr ""
-#: readelf.c:7892
+#: readelf.c:7685
+#, c-format
msgid ""
"\n"
" Offset Begin End Expression\n"
msgstr ""
-#: readelf.c:7968
+#: readelf.c:7701
+msgid "Not enough comp units for .debug_loc section\n"
+msgstr ""
+
+#: readelf.c:7761
msgid "debug_str section data"
msgstr ""
-#: readelf.c:7987
+#: readelf.c:7779
msgid "<no .debug_str section>"
msgstr ""
-#: readelf.c:7990
+#: readelf.c:7782
msgid "<offset is too big>"
msgstr ""
-#: readelf.c:8009
+#: readelf.c:7800
+#, c-format
msgid ""
"\n"
"The .debug_str section is empty.\n"
msgstr ""
-#: readelf.c:8013
+#: readelf.c:7804
+#, c-format
msgid ""
"Contents of the .debug_str section:\n"
"\n"
msgstr ""
-#: readelf.c:8088
+#: readelf.c:7877
msgid "Internal error: DWARF version is not 2 or 3.\n"
msgstr ""
-#: readelf.c:8203
+#: readelf.c:7992
#, c-format
msgid " (indirect string, offset: 0x%lx): %s"
msgstr ""
-#: readelf.c:8212
+#: readelf.c:8001
#, c-format
msgid "Unrecognized form: %d\n"
msgstr ""
-#: readelf.c:8226
+#: readelf.c:8015
+#, c-format
msgid "(not inlined)"
msgstr ""
-#: readelf.c:8229
+#: readelf.c:8018
+#, c-format
msgid "(inlined)"
msgstr ""
-#: readelf.c:8232
+#: readelf.c:8021
+#, c-format
msgid "(declared as inline but ignored)"
msgstr ""
-#: readelf.c:8235
+#: readelf.c:8024
+#, c-format
msgid "(declared as inline and inlined)"
msgstr ""
-#: readelf.c:8238
+#: readelf.c:8027
#, c-format
msgid " (Unknown inline attribute value: %lx)"
msgstr ""
-#: readelf.c:8419 readelf.c:8646
+#: readelf.c:8205 readelf.c:8424
#, c-format
msgid ""
"The section %s contains:\n"
"\n"
msgstr ""
-#: readelf.c:8535
+#: readelf.c:8320
#, c-format
msgid " Compilation Unit @ %lx:\n"
msgstr ""
-#: readelf.c:8536
+#: readelf.c:8321
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: readelf.c:8537
+#: readelf.c:8322
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: readelf.c:8538
+#: readelf.c:8323
#, c-format
msgid " Abbrev Offset: %ld\n"
msgstr ""
-#: readelf.c:8539
+#: readelf.c:8324
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: readelf.c:8543
+#: readelf.c:8328
msgid "Only version 2 and 3 DWARF debug information is currently supported.\n"
msgstr ""
-#: readelf.c:8563
+#: readelf.c:8343
msgid "Unable to locate .debug_abbrev section!\n"
msgstr ""
-#: readelf.c:8569
+#: readelf.c:8348
msgid "debug_abbrev section data"
msgstr ""
-#: readelf.c:8606
+#: readelf.c:8385
#, c-format
msgid "Unable to locate entry %lu in the abbreviation table\n"
msgstr ""
-#: readelf.c:8611
+#: readelf.c:8390
#, c-format
msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n"
msgstr ""
-#: readelf.c:8691
+#: readelf.c:8469
msgid "Only DWARF 2 and 3 aranges are currently supported.\n"
msgstr ""
-#: readelf.c:8695
+#: readelf.c:8473
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: readelf.c:8696
+#: readelf.c:8474
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: readelf.c:8697
+#: readelf.c:8475
#, c-format
msgid " Offset into .debug_info: %lx\n"
msgstr ""
-#: readelf.c:8698
+#: readelf.c:8476
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: readelf.c:8699
+#: readelf.c:8477
#, c-format
msgid " Segment Size: %d\n"
msgstr ""
-#: readelf.c:8701
+#: readelf.c:8479
+#, c-format
msgid ""
"\n"
" Address Length\n"
msgstr ""
-#: readelf.c:8903
+#: readelf.c:8665
#, c-format
msgid "The section %s contains:\n"
msgstr ""
-#: readelf.c:9538
+#: readelf.c:9299
#, c-format
msgid "Displaying the debug contents of section %s is not yet supported.\n"
msgstr ""
-#: readelf.c:9634
+#: readelf.c:9343
#, c-format
msgid ""
"\n"
"Section '%s' has no debugging data.\n"
msgstr ""
-#: readelf.c:9639 readelf.c:9701
+#: readelf.c:9348
msgid "debug section data"
msgstr ""
-#: readelf.c:9655
+#: readelf.c:9364
#, c-format
msgid "Unrecognized debug section: %s\n"
msgstr ""
-#: readelf.c:9729
+#: readelf.c:9400
msgid "Some sections were not dumped because they do not exist!\n"
msgstr ""
-#: readelf.c:9806 readelf.c:10170
+#: readelf.c:9474 readelf.c:9831
msgid "liblist"
msgstr ""
-#: readelf.c:9891
+#: readelf.c:9559
msgid "options"
msgstr ""
-#: readelf.c:9922
+#: readelf.c:9589
#, c-format
msgid ""
"\n"
"Section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:10083
+#: readelf.c:9750
msgid "conflict list found without a dynamic symbol table"
msgstr ""
-#: readelf.c:10101 readelf.c:10117
+#: readelf.c:9766 readelf.c:9780
msgid "conflict"
msgstr ""
-#: readelf.c:10127
+#: readelf.c:9790
#, c-format
msgid ""
"\n"
-"Section '.conflict' contains %ld entries:\n"
+"Section '.conflict' contains %lu entries:\n"
msgstr ""
-#: readelf.c:10129
+#: readelf.c:9792
msgid " Num: Index Value Name"
msgstr ""
-#: readelf.c:10178
+#: readelf.c:9838
msgid "liblist string table"
msgstr ""
-#: readelf.c:10187
+#: readelf.c:9847
#, c-format
msgid ""
"\n"
"Library list section '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:10236
+#: readelf.c:9895
+msgid "NT_AUXV (auxiliary vector)"
+msgstr ""
+
+#: readelf.c:9896
msgid "NT_PRSTATUS (prstatus structure)"
msgstr ""
-#: readelf.c:10237
+#: readelf.c:9897
msgid "NT_FPREGSET (floating point registers)"
msgstr ""
-#: readelf.c:10238
+#: readelf.c:9898
msgid "NT_PRPSINFO (prpsinfo structure)"
msgstr ""
-#: readelf.c:10239
+#: readelf.c:9899
msgid "NT_TASKSTRUCT (task structure)"
msgstr ""
-#: readelf.c:10240
+#: readelf.c:9900
msgid "NT_PRXFPREG (user_xfpregs structure)"
msgstr ""
-#: readelf.c:10241
+#: readelf.c:9901
msgid "NT_PSTATUS (pstatus structure)"
msgstr ""
-#: readelf.c:10242
+#: readelf.c:9902
msgid "NT_FPREGS (floating point registers)"
msgstr ""
-#: readelf.c:10243
+#: readelf.c:9903
msgid "NT_PSINFO (psinfo structure)"
msgstr ""
-#: readelf.c:10244
+#: readelf.c:9904
msgid "NT_LWPSTATUS (lwpstatus_t structure)"
msgstr ""
-#: readelf.c:10245
+#: readelf.c:9905
msgid "NT_LWPSINFO (lwpsinfo_t structure)"
msgstr ""
-#: readelf.c:10246
+#: readelf.c:9906
msgid "NT_WIN32PSTATUS (win32_pstatus structure)"
msgstr ""
-#: readelf.c:10248 readelf.c:10272
+#: readelf.c:9908 readelf.c:9931
#, c-format
msgid "Unknown note type: (0x%08x)"
msgstr ""
#. NetBSD core "procinfo" structure.
-#: readelf.c:10262
+#: readelf.c:9921
msgid "NetBSD procinfo structure"
msgstr ""
-#: readelf.c:10289 readelf.c:10303
+#: readelf.c:9948 readelf.c:9962
msgid "PT_GETREGS (reg structure)"
msgstr ""
-#: readelf.c:10291 readelf.c:10305
+#: readelf.c:9950 readelf.c:9964
msgid "PT_GETFPREGS (fpreg structure)"
msgstr ""
-#: readelf.c:10311
+#: readelf.c:9970
#, c-format
msgid "PT_FIRSTMACH+%d"
msgstr ""
-#: readelf.c:10365
+#: readelf.c:10019
msgid "notes"
msgstr ""
-#: readelf.c:10371
+#: readelf.c:10025
#, c-format
msgid ""
"\n"
"Notes at offset 0x%08lx with length 0x%08lx:\n"
msgstr ""
-#: readelf.c:10373
+#: readelf.c:10027
+#, c-format
msgid " Owner\t\tData size\tDescription\n"
msgstr ""
-#: readelf.c:10392
+#: readelf.c:10046
#, c-format
msgid "corrupt note found at offset %x into core notes\n"
msgstr ""
-#: readelf.c:10394
+#: readelf.c:10048
#, c-format
msgid " type: %x, namesize: %08lx, descsize: %08lx\n"
msgstr ""
-#: readelf.c:10476
+#: readelf.c:10128
+#, c-format
msgid "No note segments present in the core file.\n"
msgstr ""
-#: readelf.c:10560
+#: readelf.c:10210
msgid ""
"This instance of readelf has been built without support for a\n"
"64 bit data type and so it cannot read 64 bit ELF files.\n"
msgstr ""
-#: readelf.c:10606
+#: readelf.c:10257 readelf.c:10552
#, c-format
-msgid "Cannot stat input file %s.\n"
+msgid "%s: Failed to read file header\n"
msgstr ""
-#: readelf.c:10613
+#: readelf.c:10270
#, c-format
-msgid "Input file %s not found.\n"
+msgid ""
+"\n"
+"File: %s\n"
msgstr ""
-#: readelf.c:10619
+#: readelf.c:10369 readelf.c:10390 readelf.c:10427 readelf.c:10507
#, c-format
-msgid "%s: Failed to read file header\n"
+msgid "%s: failed to read archive header\n"
msgstr ""
-#: readelf.c:10633
+#: readelf.c:10380
#, c-format
-msgid ""
-"\n"
-"File: %s\n"
+msgid "%s: failed to skip archive symbol table\n"
+msgstr ""
+
+#: readelf.c:10412
+#, c-format
+msgid "%s: failed to read string table\n"
+msgstr ""
+
+#: readelf.c:10448
+#, c-format
+msgid "%s: invalid archive string table offset %lu\n"
+msgstr ""
+
+#: readelf.c:10464
+#, c-format
+msgid "%s: bad archive file name\n"
+msgstr ""
+
+#: readelf.c:10496
+#, c-format
+msgid "%s: failed to seek to next archive header\n"
+msgstr ""
+
+#: readelf.c:10530
+#, c-format
+msgid "'%s': No such file\n"
msgstr ""
-#: rename.c:132
+#: readelf.c:10532
+#, c-format
+msgid "Could not locate '%s'. System error message: %s\n"
+msgstr ""
+
+#: readelf.c:10539
+#, c-format
+msgid "'%s' is not an ordinary file\n"
+msgstr ""
+
+#: readelf.c:10546
+#, c-format
+msgid "Input file '%s' is not readable.\n"
+msgstr ""
+
+#: rename.c:127
#, c-format
msgid "%s: cannot set time: %s"
msgstr ""
#. We have to clean up here.
-#: rename.c:171 rename.c:204
+#: rename.c:162 rename.c:200
#, c-format
-msgid "%s: rename: %s"
+msgid "unable to rename '%s' reason: %s"
msgstr ""
-#: rename.c:212
+#: rename.c:208
#, c-format
-msgid "%s: simple_copy: %s"
+msgid "unable to copy file '%s' reason: %s"
msgstr ""
-#: resbin.c:134
+#: resbin.c:132
#, c-format
msgid "%s: not enough binary data"
msgstr ""
-#: resbin.c:153
+#: resbin.c:148
msgid "null terminated unicode string"
msgstr ""
-#: resbin.c:183 resbin.c:189
+#: resbin.c:175 resbin.c:181
msgid "resource ID"
msgstr ""
-#: resbin.c:233
+#: resbin.c:221
msgid "cursor"
msgstr ""
-#: resbin.c:267 resbin.c:274
+#: resbin.c:253 resbin.c:260
msgid "menu header"
msgstr ""
-#: resbin.c:284
+#: resbin.c:270
msgid "menuex header"
msgstr ""
-#: resbin.c:288
+#: resbin.c:274
msgid "menuex offset"
msgstr ""
-#: resbin.c:295
+#: resbin.c:281
#, c-format
msgid "unsupported menu version %d"
msgstr ""
-#: resbin.c:323 resbin.c:338 resbin.c:404
+#: resbin.c:306 resbin.c:321 resbin.c:384
msgid "menuitem header"
msgstr ""
-#: resbin.c:434
+#: resbin.c:414
msgid "menuitem"
msgstr ""
-#: resbin.c:475 resbin.c:503
+#: resbin.c:453 resbin.c:481
msgid "dialog header"
msgstr ""
-#: resbin.c:493
+#: resbin.c:471
#, c-format
msgid "unexpected DIALOGEX version %d"
msgstr ""
-#: resbin.c:538
+#: resbin.c:516
msgid "dialog font point size"
msgstr ""
-#: resbin.c:546
+#: resbin.c:524
msgid "dialogex font information"
msgstr ""
-#: resbin.c:572 resbin.c:590
+#: resbin.c:550 resbin.c:568
msgid "dialog control"
msgstr ""
-#: resbin.c:582
+#: resbin.c:560
msgid "dialogex control"
msgstr ""
-#: resbin.c:611
+#: resbin.c:589
msgid "dialog control end"
msgstr ""
-#: resbin.c:623
+#: resbin.c:601
msgid "dialog control data"
msgstr ""
-#: resbin.c:666
+#: resbin.c:642
msgid "stringtable string length"
msgstr ""
-#: resbin.c:676
+#: resbin.c:652
msgid "stringtable string"
msgstr ""
-#: resbin.c:709
+#: resbin.c:683
msgid "fontdir header"
msgstr ""
-#: resbin.c:722
+#: resbin.c:696
msgid "fontdir"
msgstr ""
-#: resbin.c:738
+#: resbin.c:712
msgid "fontdir device name"
msgstr ""
-#: resbin.c:744
+#: resbin.c:718
msgid "fontdir face name"
msgstr ""
-#: resbin.c:787
+#: resbin.c:759
msgid "accelerator"
msgstr ""
-#: resbin.c:851
+#: resbin.c:819
msgid "group cursor header"
msgstr ""
-#: resbin.c:855
+#: resbin.c:823
#, c-format
msgid "unexpected group cursor type %d"
msgstr ""
-#: resbin.c:870
+#: resbin.c:838
msgid "group cursor"
msgstr ""
-#: resbin.c:909
+#: resbin.c:875
msgid "group icon header"
msgstr ""
-#: resbin.c:913
+#: resbin.c:879
#, c-format
msgid "unexpected group icon type %d"
msgstr ""
-#: resbin.c:928
+#: resbin.c:894
msgid "group icon"
msgstr ""
-#: resbin.c:999 resbin.c:1218
+#: resbin.c:957 resbin.c:1174
msgid "unexpected version string"
msgstr ""
-#: resbin.c:1033
+#: resbin.c:989
#, c-format
msgid "version length %d does not match resource length %lu"
msgstr ""
-#: resbin.c:1037
+#: resbin.c:993
#, c-format
msgid "unexpected version type %d"
msgstr ""
-#: resbin.c:1049
+#: resbin.c:1005
#, c-format
msgid "unexpected fixed version information length %d"
msgstr ""
-#: resbin.c:1052
+#: resbin.c:1008
msgid "fixed version info"
msgstr ""
-#: resbin.c:1056
+#: resbin.c:1012
#, c-format
msgid "unexpected fixed version signature %lu"
msgstr ""
-#: resbin.c:1060
+#: resbin.c:1016
#, c-format
msgid "unexpected fixed version info version %lu"
msgstr ""
-#: resbin.c:1089
+#: resbin.c:1045
msgid "version var info"
msgstr ""
-#: resbin.c:1106
+#: resbin.c:1062
#, c-format
msgid "unexpected stringfileinfo value length %d"
msgstr ""
-#: resbin.c:1116
+#: resbin.c:1072
#, c-format
msgid "unexpected version stringtable value length %d"
msgstr ""
-#: resbin.c:1150
+#: resbin.c:1106
#, c-format
msgid "unexpected version string length %d != %d + %d"
msgstr ""
-#: resbin.c:1161
+#: resbin.c:1117
#, c-format
msgid "unexpected version string length %d < %d"
msgstr ""
-#: resbin.c:1178
+#: resbin.c:1134
#, c-format
msgid "unexpected varfileinfo value length %d"
msgstr ""
-#: resbin.c:1197
+#: resbin.c:1153
msgid "version varfileinfo"
msgstr ""
-#: resbin.c:1212
+#: resbin.c:1168
#, c-format
msgid "unexpected version value length %d"
msgstr ""
-#: rescoff.c:128
+#: rescoff.c:126
msgid "filename required for COFF input"
msgstr ""
-#: rescoff.c:145
+#: rescoff.c:143
#, c-format
msgid "%s: no resource section"
msgstr ""
-#: rescoff.c:152
+#: rescoff.c:150
msgid "can't read resource section"
msgstr ""
-#: rescoff.c:178
+#: rescoff.c:174
#, c-format
msgid "%s: %s: address out of bounds"
msgstr ""
-#: rescoff.c:197
+#: rescoff.c:190
msgid "directory"
msgstr ""
-#: rescoff.c:225
+#: rescoff.c:218
msgid "named directory entry"
msgstr ""
-#: rescoff.c:234
+#: rescoff.c:227
msgid "directory entry name"
msgstr ""
-#: rescoff.c:254
+#: rescoff.c:247
msgid "named subdirectory"
msgstr ""
-#: rescoff.c:262
+#: rescoff.c:255
msgid "named resource"
msgstr ""
-#: rescoff.c:277
+#: rescoff.c:270
msgid "ID directory entry"
msgstr ""
-#: rescoff.c:294
+#: rescoff.c:287
msgid "ID subdirectory"
msgstr ""
-#: rescoff.c:302
+#: rescoff.c:295
msgid "ID resource"
msgstr ""
-#: rescoff.c:328
+#: rescoff.c:318
msgid "resource type unknown"
msgstr ""
-#: rescoff.c:331
+#: rescoff.c:321
msgid "data entry"
msgstr ""
-#: rescoff.c:339
+#: rescoff.c:329
msgid "resource data"
msgstr ""
-#: rescoff.c:344
+#: rescoff.c:334
msgid "resource data size"
msgstr ""
-#: rescoff.c:439
+#: rescoff.c:427
msgid "filename required for COFF output"
msgstr ""
-#: rescoff.c:738
+#: rescoff.c:719
msgid "can't get BFD_RELOC_RVA relocation type"
msgstr ""
-#: resrc.c:240 resrc.c:312
+#: resrc.c:237 resrc.c:308
#, c-format
msgid "can't open temporary file `%s': %s"
msgstr ""
-#: resrc.c:246
+#: resrc.c:243
#, c-format
msgid "can't redirect stdout: `%s': %s"
msgstr ""
-#: resrc.c:262
+#: resrc.c:259
#, c-format
msgid "%s %s: %s"
msgstr ""
-#: resrc.c:308
+#: resrc.c:304
#, c-format
msgid "can't execute `%s': %s"
msgstr ""
-#: resrc.c:317
+#: resrc.c:313
#, c-format
msgid "Using temporary file `%s' to read preprocessor output\n"
msgstr ""
-#: resrc.c:324
+#: resrc.c:320
#, c-format
msgid "can't popen `%s': %s"
msgstr ""
-#: resrc.c:326
+#: resrc.c:322
+#, c-format
msgid "Using popen to read preprocessor output\n"
msgstr ""
-#: resrc.c:369
+#: resrc.c:361
#, c-format
msgid "Tried `%s'\n"
msgstr ""
-#: resrc.c:380
+#: resrc.c:372
#, c-format
msgid "Using `%s'\n"
msgstr ""
-#: resrc.c:542
+#: resrc.c:528
#, c-format
msgid "%s:%d: %s\n"
msgstr ""
-#: resrc.c:551
+#: resrc.c:536
#, c-format
msgid "%s: unexpected EOF"
msgstr ""
-#: resrc.c:608
+#: resrc.c:585
#, c-format
msgid "%s: read of %lu returned %lu"
msgstr ""
-#: resrc.c:650 resrc.c:905 resrc.c:1178 resrc.c:1332
+#: resrc.c:623 resrc.c:860 resrc.c:1133 resrc.c:1274
#, c-format
msgid "stat failed on bitmap file `%s': %s"
msgstr ""
-#: resrc.c:703
+#: resrc.c:674
#, c-format
msgid "cursor file `%s' does not contain cursor data"
msgstr ""
-#: resrc.c:735 resrc.c:1049
+#: resrc.c:706 resrc.c:1002
#, c-format
msgid "%s: fseek to %lu failed: %s"
msgstr ""
-#: resrc.c:873
+#: resrc.c:830
msgid "help ID requires DIALOGEX"
msgstr ""
-#: resrc.c:875
+#: resrc.c:832
msgid "control data requires DIALOGEX"
msgstr ""
-#: resrc.c:1018
+#: resrc.c:971
#, c-format
msgid "icon file `%s' does not contain icon data"
msgstr ""
-#: resrc.c:1537
+#: resrc.c:1460
#, c-format
msgid "can't open `%s' for output: %s"
msgstr ""
-#: size.c:86
+#: size.c:84
+#, c-format
msgid " Displays the sizes of sections inside binary files\n"
msgstr ""
-#: size.c:87
+#: size.c:85
+#, c-format
msgid " If no input file(s) are specified, a.out is assumed\n"
msgstr ""
-#: size.c:88
+#: size.c:86
#, c-format
msgid ""
" The options are:\n"
@@ -4276,21 +4597,23 @@ msgid ""
"\n"
msgstr ""
-#: size.c:160
+#: size.c:156
#, c-format
msgid "invalid argument to --format: %s"
msgstr ""
-#: size.c:187
+#: size.c:183
#, c-format
msgid "Invalid radix: %s\n"
msgstr ""
-#: srconv.c:1953
+#: srconv.c:1857
+#, c-format
msgid "Convert a COFF object file into a SYSROFF object file\n"
msgstr ""
-#: srconv.c:1954
+#: srconv.c:1858
+#, c-format
msgid ""
" The options are:\n"
" -q --quick (Obsolete - ignoerd)\n"
@@ -4300,121 +4623,161 @@ msgid ""
" -v --version Print the program's version number\n"
msgstr ""
-#: srconv.c:2099
+#: srconv.c:2001
#, c-format
msgid "unable to open output file %s"
msgstr ""
-#: stabs.c:346 stabs.c:1755
+#: stabs.c:328 stabs.c:1706
msgid "numeric overflow"
msgstr ""
-#: stabs.c:357
+#: stabs.c:338
#, c-format
msgid "Bad stab: %s\n"
msgstr ""
-#: stabs.c:367
+#: stabs.c:346
#, c-format
msgid "Warning: %s: %s\n"
msgstr ""
-#: stabs.c:488
+#: stabs.c:456
+#, c-format
msgid "N_LBRAC not within function\n"
msgstr ""
-#: stabs.c:527
+#: stabs.c:495
+#, c-format
msgid "Too many N_RBRACs\n"
msgstr ""
-#: stabs.c:773
+#: stabs.c:736
msgid "unknown C++ encoded name"
msgstr ""
#. Complain and keep going, so compilers can invent new
#. cross-reference types.
-#: stabs.c:1293
+#: stabs.c:1251
msgid "unrecognized cross reference type"
msgstr ""
#. Does this actually ever happen? Is that why we are worrying
#. about dealing with it rather than just calling error_type?
-#: stabs.c:1847
+#: stabs.c:1798
msgid "missing index type"
msgstr ""
-#: stabs.c:2174
+#: stabs.c:2112
msgid "unknown virtual character for baseclass"
msgstr ""
-#: stabs.c:2192
+#: stabs.c:2130
msgid "unknown visibility character for baseclass"
msgstr ""
-#: stabs.c:2384
+#: stabs.c:2316
msgid "unnamed $vb type"
msgstr ""
-#: stabs.c:2390
+#: stabs.c:2322
msgid "unrecognized C++ abbreviation"
msgstr ""
-#: stabs.c:2470
+#: stabs.c:2398
msgid "unknown visibility character for field"
msgstr ""
-#: stabs.c:2726
+#: stabs.c:2650
msgid "const/volatile indicator missing"
msgstr ""
-#: stabs.c:2967
+#: stabs.c:2886
#, c-format
msgid "No mangling for \"%s\"\n"
msgstr ""
-#: stabs.c:3281
+#: stabs.c:3186
msgid "Undefined N_EXCL"
msgstr ""
-#: stabs.c:3369
+#: stabs.c:3266
#, c-format
msgid "Type file number %d out of range\n"
msgstr ""
-#: stabs.c:3374
+#: stabs.c:3271
#, c-format
msgid "Type index number %d out of range\n"
msgstr ""
-#: stabs.c:3461
+#: stabs.c:3350
#, c-format
msgid "Unrecognized XCOFF type %d\n"
msgstr ""
-#: stabs.c:3762
+#: stabs.c:3642
#, c-format
msgid "bad mangled name `%s'\n"
msgstr ""
-#: stabs.c:3859
+#: stabs.c:3737
+#, c-format
msgid "no argument types in mangled string\n"
msgstr ""
-#: strings.c:208
+#: stabs.c:5091
+#, c-format
+msgid "Demangled name is not a function\n"
+msgstr ""
+
+#: stabs.c:5111
+#, c-format
+msgid "Unexpected type in demangle tree\n"
+msgstr ""
+
+#: stabs.c:5181
+#, c-format
+msgid "Unrecognized demangle component\n"
+msgstr ""
+
+#: stabs.c:5232
+#, c-format
+msgid "Failed to print demangled template\n"
+msgstr ""
+
+#: stabs.c:5284
+#, c-format
+msgid "Couldn't get demangled builtin type\n"
+msgstr ""
+
+#: stabs.c:5333
+#, c-format
+msgid "Unexpected demangled varargs\n"
+msgstr ""
+
+#: stabs.c:5340
+#, c-format
+msgid "Unrecognized demangled builtin type\n"
+msgstr ""
+
+#: strings.c:198
#, c-format
msgid "invalid number %s"
msgstr ""
-#: strings.c:647
+#: strings.c:625
#, c-format
msgid "invalid integer argument %s"
msgstr ""
-#: strings.c:658
+#: strings.c:634
+#, c-format
msgid " Display printable strings in [file(s)] (stdin by default)\n"
msgstr ""
-#: strings.c:659
+#: strings.c:635
+#, c-format
msgid ""
" The options are:\n"
" -a - --all Scan the entire file, not just the data section\n"
@@ -4433,76 +4796,84 @@ msgid ""
" -v --version Print the program's version number\n"
msgstr ""
-#: sysdump.c:768
+#: sysdump.c:741
+#, c-format
msgid "Print a human readable interpretation of a SYSROFF object file\n"
msgstr ""
-#: sysdump.c:769
+#: sysdump.c:742
+#, c-format
msgid ""
" The options are:\n"
" -h --help Display this information\n"
" -v --version Print the program's version number\n"
msgstr ""
-#: sysdump.c:836
+#: sysdump.c:807
#, c-format
msgid "cannot open input file %s"
msgstr ""
-#: version.c:36
-msgid "Copyright 2002 Free Software Foundation, Inc.\n"
+#: version.c:35
+#, c-format
+msgid "Copyright 2004 Free Software Foundation, Inc.\n"
msgstr ""
-#: version.c:37
+#: version.c:36
+#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
msgstr ""
-#: windres.c:205
+#: windres.c:200
#, c-format
msgid "can't open %s `%s': %s"
msgstr ""
-#: windres.c:384
+#: windres.c:366
+#, c-format
msgid ": expected to be a directory\n"
msgstr ""
-#: windres.c:396
+#: windres.c:378
+#, c-format
msgid ": expected to be a leaf\n"
msgstr ""
-#: windres.c:405
+#: windres.c:387
#, c-format
msgid "%s: warning: "
msgstr ""
-#: windres.c:407
+#: windres.c:389
+#, c-format
msgid ": duplicate value\n"
msgstr ""
-#: windres.c:569
+#: windres.c:539
#, c-format
msgid "unknown format type `%s'"
msgstr ""
-#: windres.c:570
+#: windres.c:540
#, c-format
msgid "%s: supported formats:"
msgstr ""
#. Otherwise, we give up.
-#: windres.c:655
+#: windres.c:623
#, c-format
msgid "can not determine type of file `%s'; use the -I option"
msgstr ""
-#: windres.c:669
+#: windres.c:635
#, c-format
msgid "Usage: %s [option(s)] [input-file] [output-file]\n"
msgstr ""
-#: windres.c:671
+#: windres.c:637
+#, c-format
msgid ""
" The options are:\n"
" -i --input=<file> Name input file\n"
@@ -4522,53 +4893,57 @@ msgid ""
" --no-use-temp-file Use popen (default)\n"
msgstr ""
-#: windres.c:687
+#: windres.c:653
+#, c-format
msgid " --yydebug Turn on parser debugging\n"
msgstr ""
-#: windres.c:690
+#: windres.c:656
+#, c-format
msgid ""
" -r Ignored for compatibility with rc\n"
" -h --help Print this help message\n"
" -V --version Print version information\n"
msgstr ""
-#: windres.c:694
+#: windres.c:660
+#, c-format
msgid ""
"FORMAT is one of rc, res, or coff, and is deduced from the file name\n"
"extension if not specified. A single file name is an input file.\n"
"No input-file is stdin, default rc. No output-file is stdout, default rc.\n"
msgstr ""
-#: windres.c:833
+#: windres.c:796
msgid "invalid option -f\n"
msgstr ""
-#: windres.c:838
+#: windres.c:801
msgid "No filename following the -fo option.\n"
msgstr ""
-#: windres.c:896
+#: windres.c:859
+#, c-format
msgid ""
"Option -I is deprecated for setting the input format, please use -J "
"instead.\n"
msgstr ""
-#: windres.c:1014
+#: windres.c:977
msgid "no resources"
msgstr ""
-#: wrstabs.c:395 wrstabs.c:2055
+#: wrstabs.c:354 wrstabs.c:1915
#, c-format
msgid "string_hash_lookup failed: %s"
msgstr ""
-#: wrstabs.c:695
+#: wrstabs.c:635
#, c-format
msgid "stab_int_type: bad size %u"
msgstr ""
-#: wrstabs.c:1495
+#: wrstabs.c:1393
#, c-format
msgid "%s: warning: unknown size for field `%s' in struct"
msgstr ""
diff --git a/binutils/ranlib.sh b/binutils/ranlib.sh
index 2b6fbc4..9a2248f 100755
--- a/binutils/ranlib.sh
+++ b/binutils/ranlib.sh
@@ -1,3 +1,3 @@
#!/bin/sh
# A simple ranlib script, to use less disk space than a ranlib program.
-ar s $1
+ar s "$1"
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 258c746..94a9bd0 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -140,6 +140,7 @@ int do_dynamic;
int do_syms;
int do_reloc;
int do_sections;
+int do_section_groups;
int do_segments;
int do_unwind;
int do_using_dynamic;
@@ -1740,6 +1741,33 @@ decode_ARM_machine_flags (unsigned e_flags, char buf[])
}
break;
+ case EF_ARM_EABI_VER3:
+ strcat (buf, ", Version3 EABI");
+ while (e_flags)
+ {
+ unsigned flag;
+
+ /* Process flags one bit at a time. */
+ flag = e_flags & - e_flags;
+ e_flags &= ~ flag;
+
+ switch (flag)
+ {
+ case EF_ARM_BE8:
+ strcat (buf, ", BE8");
+ break;
+
+ case EF_ARM_LE8:
+ strcat (buf, ", LE8");
+ break;
+
+ default:
+ unknown = 1;
+ break;
+ }
+ }
+ break;
+
case EF_ARM_EABI_UNKNOWN:
strcat (buf, ", GNU EABI");
while (e_flags)
@@ -2366,6 +2394,7 @@ struct option options[] =
{"segments", no_argument, 0, 'l'},
{"sections", no_argument, 0, 'S'},
{"section-headers", no_argument, 0, 'S'},
+ {"section-groups", no_argument, 0, 'g'},
{"symbols", no_argument, 0, 's'},
{"syms", no_argument, 0, 's'},
{"relocs", no_argument, 0, 'r'},
@@ -2399,6 +2428,7 @@ usage (void)
--segments An alias for --program-headers\n\
-S --section-headers Display the sections' header\n\
--sections An alias for --section-headers\n\
+ -g --section-groups Display the section groups\n\
-e --headers Equivalent to: -h -l -S\n\
-s --syms Display the symbol table\n\
--symbols An alias for --syms\n\
@@ -2466,7 +2496,7 @@ parse_args (int argc, char **argv)
usage ();
while ((c = getopt_long
- (argc, argv, "ersuahnldSDAIw::x:i:vVWH", options, NULL)) != EOF)
+ (argc, argv, "ersuahnldSDAIgw::x:i:vVWH", options, NULL)) != EOF)
{
char *cp;
int section;
@@ -2487,12 +2517,16 @@ parse_args (int argc, char **argv)
do_dynamic++;
do_header++;
do_sections++;
+ do_section_groups++;
do_segments++;
do_version++;
do_histogram++;
do_arch++;
do_notes++;
break;
+ case 'g':
+ do_section_groups++;
+ break;
case 'e':
do_header++;
do_sections++;
@@ -2719,7 +2753,8 @@ parse_args (int argc, char **argv)
if (!do_dynamic && !do_syms && !do_reloc && !do_unwind && !do_sections
&& !do_segments && !do_header && !do_dump && !do_version
- && !do_histogram && !do_debugging && !do_arch && !do_notes)
+ && !do_histogram && !do_debugging && !do_arch && !do_notes
+ && !do_section_groups)
usage ();
else if (argc < 3)
{
@@ -3596,7 +3631,7 @@ process_section_headers (FILE *file)
printf (" %3s ", get_elf_section_flags (section->sh_flags));
- printf ("%2ld %3lx %2ld\n",
+ printf ("%2ld %3lu %2ld\n",
(unsigned long) section->sh_link,
(unsigned long) section->sh_info,
(unsigned long) section->sh_addralign);
@@ -3631,7 +3666,7 @@ process_section_headers (FILE *file)
printf (" %3s ", get_elf_section_flags (section->sh_flags));
- printf ("%2ld %3lx ",
+ printf ("%2ld %3lu ",
(unsigned long) section->sh_link,
(unsigned long) section->sh_info);
@@ -3661,7 +3696,7 @@ process_section_headers (FILE *file)
printf (" %3s ", get_elf_section_flags (section->sh_flags));
- printf (" %2ld %3lx %ld\n",
+ printf (" %2ld %3lu %ld\n",
(unsigned long) section->sh_link,
(unsigned long) section->sh_info,
(unsigned long) section->sh_addralign);
@@ -3676,6 +3711,124 @@ process_section_headers (FILE *file)
return 1;
}
+static const char *
+get_group_flags (unsigned int flags)
+{
+ static char buff[32];
+ switch (flags)
+ {
+ case GRP_COMDAT:
+ return "COMDAT";
+
+ default:
+ sprintf (buff, _("[<unknown>: 0x%x]"), flags);
+ break;
+ }
+ return buff;
+}
+
+static int
+process_section_groups (FILE *file)
+{
+ Elf_Internal_Shdr *section;
+ unsigned int i;
+
+ if (!do_section_groups)
+ return 1;
+
+ if (elf_header.e_shnum == 0)
+ {
+ if (do_section_groups)
+ printf (_("\nThere are no section groups in this file.\n"));
+
+ return 1;
+ }
+
+ if (section_headers == NULL)
+ {
+ error (_("Section headers are not available!\n"));
+ abort ();
+ }
+
+ /* Scan the sections for the group section. */
+ for (i = 0, section = section_headers;
+ i < elf_header.e_shnum;
+ i++, section++)
+ {
+ if (section->sh_type == SHT_GROUP)
+ {
+ char *name = SECTION_NAME (section);
+ char *group_name, *strtab, *start, *indices;
+ unsigned int entry, j, size;
+ Elf_Internal_Sym *sym;
+ Elf_Internal_Shdr *symtab_sec, *strtab_sec, *sec;
+ Elf_Internal_Sym *symtab;
+
+ /* Get the symbol table. */
+ symtab_sec = SECTION_HEADER (section->sh_link);
+ if (symtab_sec->sh_type != SHT_SYMTAB)
+ {
+ error (_("Bad sh_link in group section `%s'\n"), name);
+ continue;
+ }
+ symtab = GET_ELF_SYMBOLS (file, symtab_sec);
+
+ sym = symtab + section->sh_info;
+
+ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
+ {
+ bfd_vma sec_index = SECTION_HEADER_INDEX (sym->st_shndx);
+ if (sec_index == 0)
+ {
+ error (_("Bad sh_info in group section `%s'\n"), name);
+ continue;
+ }
+
+ group_name = SECTION_NAME (section_headers + sec_index);
+ strtab = NULL;
+ }
+ else
+ {
+ /* Get the string table. */
+ strtab_sec = SECTION_HEADER (symtab_sec->sh_link);
+ strtab = get_data (NULL, file, strtab_sec->sh_offset,
+ strtab_sec->sh_size,
+ _("string table"));
+
+ group_name = strtab + sym->st_name;
+ }
+
+ start = get_data (NULL, file, section->sh_offset,
+ section->sh_size, _("section data"));
+
+ indices = start;
+ size = (section->sh_size / section->sh_entsize) - 1;
+ entry = byte_get (indices, 4);
+ indices += 4;
+ printf ("\n%s group section `%s' [%s] contains %u sections:\n",
+ get_group_flags (entry), name, group_name, size);
+
+ printf (_(" [Index] Name\n"));
+ for (j = 0; j < size; j++)
+ {
+ entry = byte_get (indices, 4);
+ indices += 4;
+
+ sec = SECTION_HEADER (entry);
+ printf (" [%5u] %s\n",
+ entry, SECTION_NAME (sec));
+ }
+
+ if (strtab)
+ free (strtab);
+ if (start)
+ free (start);
+ }
+ }
+
+ return 1;
+}
+
struct
{
const char *name;
@@ -6767,7 +6920,7 @@ display_debug_pubnames (Elf_Internal_Shdr *section,
if (offset != 0)
{
data += offset_size;
- printf (" %ld\t\t%s\n", offset, data);
+ printf (" %-6ld\t\t%s\n", offset, data);
data += strlen ((char *) data) + 1;
}
}
@@ -7941,6 +8094,7 @@ read_and_display_attr_value (unsigned long attribute,
case DW_FORM_addr:
printf (" %#lx", uvalue);
+ break;
case DW_FORM_flag:
case DW_FORM_data1:
@@ -9150,13 +9304,19 @@ display_debug_frames (Elf_Internal_Shdr *section,
if (! do_debug_frames_interp)
printf (" DW_CFA_restore_state\n");
rs = remembered_state;
- remembered_state = rs->next;
- frame_need_space (fc, rs->ncols-1);
- memcpy (fc->col_type, rs->col_type, rs->ncols);
- memcpy (fc->col_offset, rs->col_offset, rs->ncols * sizeof (int));
- free (rs->col_type);
- free (rs->col_offset);
- free (rs);
+ if (rs)
+ {
+ remembered_state = rs->next;
+ frame_need_space (fc, rs->ncols-1);
+ memcpy (fc->col_type, rs->col_type, rs->ncols);
+ memcpy (fc->col_offset, rs->col_offset,
+ rs->ncols * sizeof (int));
+ free (rs->col_type);
+ free (rs->col_offset);
+ free (rs);
+ }
+ else if (do_debug_frames_interp)
+ printf ("Mismatched DW_CFA_restore_state\n");
break;
case DW_CFA_def_cfa:
@@ -9321,7 +9481,7 @@ debug_displays[] =
{ ".debug_macinfo", display_debug_macinfo },
{ ".debug_str", display_debug_str },
{ ".debug_loc", display_debug_loc },
- { ".debug_pubtypes", display_debug_not_supported },
+ { ".debug_pubtypes", display_debug_pubnames },
{ ".debug_ranges", display_debug_not_supported },
{ ".debug_static_func", display_debug_not_supported },
{ ".debug_static_vars", display_debug_not_supported },
@@ -9787,8 +9947,8 @@ process_mips_specific (FILE *file)
free (econf64);
}
- printf (_("\nSection '.conflict' contains %ld entries:\n"),
- (long) conflictsno);
+ printf (_("\nSection '.conflict' contains %lu entries:\n"),
+ (unsigned long) conflictsno);
puts (_(" Num: Index Value Name"));
for (cnt = 0; cnt < conflictsno; ++cnt)
@@ -10297,6 +10457,8 @@ process_object (char *file_name, FILE *file)
process_section_contents (file);
+ process_section_groups (file);
+
process_corefile_contents (file);
process_gnu_liblist (file);
diff --git a/binutils/strings.c b/binutils/strings.c
index 68c244c..0715be0 100644
--- a/binutils/strings.c
+++ b/binutils/strings.c
@@ -1,6 +1,6 @@
/* strings -- print the strings of printable characters in files
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003 Free Software Foundation, Inc.
+ 2002, 2003, 2004 Free Software Foundation, Inc.
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
@@ -512,7 +512,7 @@ print_strings (const char *filename, FILE *stream, file_off address,
}
/* We found a run of `string_min' graphic characters. Print up
- to the next non-graphic character. */
+ to the next non-graphic character. */
if (print_filenames)
printf ("%s: ", filename);
@@ -557,7 +557,8 @@ print_strings (const char *filename, FILE *stream, file_off address,
#else
# if !BFD_HOST_64BIT_LONG
if (start != (unsigned long) start)
- printf ("%lx%8.8lx ", start >> 32, start & 0xffffffff);
+ printf ("%lx%8.8lx ", (unsigned long) (start >> 32),
+ (unsigned long) (start & 0xffffffff));
else
# endif
#endif
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 17166e4..0c02ead 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,15 @@
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * binutils-all/readelf.ss-mips: Allow named section symbols.
+
+2004-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * binutils-all/objcopy.exp: Accept main as a data symbol as well.
+
+2004-02-27 Andreas Schwab <schwab@suse.de>
+
+ * binutils-all/ar.exp (argument_parsing): New test.
+
2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
* binutils-all/objcopy.exp: Reorder arguments for POSIXLY_CORRECT
diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp
index f418e94..7f01c76 100644
--- a/binutils/testsuite/binutils-all/ar.exp
+++ b/binutils/testsuite/binutils-all/ar.exp
@@ -1,4 +1,4 @@
-# Copyright 1995, 1997 Free Software Foundation, Inc.
+# Copyright 1995, 1997, 2004 Free Software Foundation, Inc.
# 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
@@ -214,7 +214,43 @@ proc symbol_table { } {
pass $testname
}
+# Test POSIX-compatible argument parsing.
+
+proc argument_parsing { } {
+ global AR
+ global AS
+ global srcdir
+ global subdir
+
+ set testname "ar argument parsing"
+
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ unresolved $testname
+ return
+ }
+
+ if [is_remote host] {
+ set archive artest.a
+ set objfile [remote_download host tmpdir/bintest.o]
+ remote_file host delete $archive
+ } else {
+ set archive tmpdir/artest.a
+ set objfile tmpdir/bintest.o
+ }
+
+ remote_file build delete tmpdir/artest.a
+
+ set got [binutils_run $AR "-r -c $archive ${objfile}"]
+ if ![string match "" $got] {
+ fail $testname
+ return
+ }
+
+ pass $testname
+}
+
# Run the tests.
long_filenames
symbol_table
+argument_parsing
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index c6a2d53..e84868b 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -613,8 +613,8 @@ proc strip_executable_with_saving_a_symbol { prog flags test } {
regsub "^\[0-9a-fA-F\]+\[ \]+T Main\[\n\r\]+" $exec_output "" exec_output
}
- if {![regexp {^[0-9a-fA-F]+ T main} $exec_output] \
- && ![regexp {^[0-9a-fA-F]+ T _main} $exec_output]} {
+ if {![regexp {^([0-9a-fA-F]+)?[ ]+[TD] main} $exec_output] \
+ && ![regexp {^([0-9a-fA-F]+)?[ ]+[TD] _main} $exec_output]} {
fail $test
return
}
diff --git a/binutils/testsuite/binutils-all/readelf.ss-mips b/binutils/testsuite/binutils-all/readelf.ss-mips
index c71ee04..073ade0 100644
--- a/binutils/testsuite/binutils-all/readelf.ss-mips
+++ b/binutils/testsuite/binutils-all/readelf.ss-mips
@@ -2,11 +2,11 @@
Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
- 1: 00000000 0 SECTION LOCAL DEFAULT .
- 2: 00000000 0 SECTION LOCAL DEFAULT .
- 3: 00000000 0 SECTION LOCAL DEFAULT .
- 4: 00000000 0 SECTION LOCAL DEFAULT .
- 5: 00000000 0 SECTION LOCAL DEFAULT .
+ 1: 00000000 0 SECTION LOCAL DEFAULT . (|\.text)
+ 2: 00000000 0 SECTION LOCAL DEFAULT . (|\.data)
+ 3: 00000000 0 SECTION LOCAL DEFAULT . (|\.bss)
+ 4: 00000000 0 SECTION LOCAL DEFAULT . (|\.reginfo)
+ 5: 00000000 0 SECTION LOCAL DEFAULT . (|\.pdr)
6: 00000000 0 OBJECT GLOBAL DEFAULT . text_symbol
7: 00000000 0 NOTYPE LOCAL DEFAULT . static_text_symbol
8: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol
diff --git a/config.guess b/config.guess
index fa58459..00ccf89 100755
--- a/config.guess
+++ b/config.guess
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-timestamp='2003-06-12'
+timestamp='2004-02-16'
# 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
@@ -197,12 +197,18 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit 0 ;;
+ amd64:OpenBSD:*:*)
+ echo x86_64-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ cats:OpenBSD:*:*)
+ echo arm-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
@@ -221,6 +227,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ pegasos:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
@@ -236,6 +245,15 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:MirBSD:*:*)
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -307,6 +325,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
@@ -399,6 +420,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
@@ -734,7 +758,7 @@ EOF
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
*:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -742,6 +766,11 @@ EOF
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
@@ -751,7 +780,7 @@ EOF
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+ *:FreeBSD:*:*)
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -763,7 +792,10 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+ # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
+ # FreeBSD's kernel, but not the complete OS.
+ case ${LIBC} in gnu) kernel_only='k' ;; esac
+ echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@@ -796,8 +828,13 @@ EOF
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
+ # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit 0 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
@@ -885,6 +922,9 @@ EOF
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit 0 ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
@@ -942,6 +982,9 @@ EOF
LIBC=gnuaout
#endif
#endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
@@ -972,6 +1015,9 @@ EOF
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
@@ -1043,7 +1089,7 @@ EOF
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1158,7 +1204,7 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+ NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
@@ -1199,6 +1245,12 @@ EOF
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/config.sub b/config.sub
index dfeed48..d2e3557 100755
--- a/config.sub
+++ b/config.sub
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-timestamp='2003-06-13'
+timestamp='2004-02-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,8 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -228,13 +229,14 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
- | iq2000 | ip2k \
+ | ip2k | iq2000 \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
@@ -247,6 +249,7 @@ case $basic_machine in
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
@@ -304,7 +307,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
- | iq2000-* | ip2k-* \
+ | ip2k-* | iq2000-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
@@ -319,6 +322,7 @@ case $basic_machine in
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
@@ -359,6 +363,9 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@@ -376,6 +383,9 @@ case $basic_machine in
amd64)
basic_machine=x86_64-pc
;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -435,6 +445,10 @@ case $basic_machine in
basic_machine=j90-cray
os=-unicos
;;
+ cr16c)
+ basic_machine=cr16c-unknown
+ os=-elf
+ ;;
crds | unos)
basic_machine=m68k-crds
;;
@@ -740,6 +754,10 @@ case $basic_machine in
basic_machine=or32-unknown
os=-coff
;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
@@ -847,6 +865,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
sequent)
basic_machine=i386-sequent
;;
@@ -854,6 +876,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
@@ -953,6 +978,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -1121,19 +1150,20 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1157,6 +1187,9 @@ case $os in
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1169,6 +1202,9 @@ case $os in
-opened*)
os=-openedition
;;
+ -os400*)
+ os=-os400
+ ;;
-wince*)
os=-wince
;;
@@ -1190,6 +1226,9 @@ case $os in
-atheos*)
os=-atheos
;;
+ -syllable*)
+ os=-syllable
+ ;;
-386bsd)
os=-bsd
;;
@@ -1212,6 +1251,9 @@ case $os in
-sinix*)
os=-sysv4
;;
+ -tpf*)
+ os=-tpf
+ ;;
-triton*)
os=-sysv3
;;
@@ -1460,9 +1502,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
+ -os400*)
+ vendor=ibm
+ ;;
-ptx*)
vendor=sequent
;;
+ -tpf*)
+ vendor=ibm
+ ;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
diff --git a/config/ChangeLog b/config/ChangeLog
index 85868b4..fe84578 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,21 @@
+2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * acx.m4 (ACX_PROG_GNAT): Check if ${CC} produces object file for
+ Ada compilation.
+ Fix acx_cv_cc_gcc_supports_ada spelling.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * acx.m4 (ACX_PROG_GNAT): New macro, moved here
+ from the gcc subdirectory.
+
+2004-03-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with
+ "-c". Properly quote parameter for AC_MSG_ERROR.
+
2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* acinclude.m4: Quote names of macros to be defined by AC_DEFUN
diff --git a/config/accross.m4 b/config/accross.m4
index a4cebf6..535a6f5 100644
--- a/config/accross.m4
+++ b/config/accross.m4
@@ -64,7 +64,7 @@ void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
int main() { _ascii (); _ebcdic (); return 0; }
EOF
] if test -f conftest.c ; then
- if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
+ if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then
if test `grep -l BIGenDianSyS conftest.o` ; then
echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
ac_cv_c_bigendian=yes
@@ -93,6 +93,6 @@ else
fi
AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
if test $ac_cv_c_bigendian = unknown; then
- AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian)
+ AC_MSG_ERROR([unknown endianess - sorry, please pre-set ac_cv_c_bigendian])
fi
])
diff --git a/config/acx.m4 b/config/acx.m4
index 96b7c8a..9b40d4f 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -155,3 +155,41 @@ AC_DEFUN([AC_PROG_CPP_WERROR],
[AC_REQUIRE([AC_PROG_CPP])dnl
m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
+
+# Test for GNAT.
+# We require the gnatbind program, and a compiler driver that
+# understands Ada. We use the user's CC setting, already found.
+#
+# Sets the shell variable have_gnat to yes or no as appropriate, and
+# substitutes GNATBIND.
+AC_DEFUN([ACX_PROG_GNAT],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
+AC_REQUIRE([AC_PROG_CC])
+AC_CHECK_TOOL(GNATBIND, gnatbind, no)
+AC_CACHE_CHECK([whether compiler driver understands Ada],
+ acx_cv_cc_gcc_supports_ada,
+[cat >conftest.adb <<EOF
+procedure conftest is begin null; end conftest;
+EOF
+acx_cv_cc_gcc_supports_ada=no
+# There is a bug in old released versions of GCC which causes the
+# driver to exit successfully when the appropriate language module
+# has not been installed. This is fixed in 2.95.4, 3.0.2, and 3.1.
+# Therefore we must check for the error message as well as an
+# unsuccessful exit.
+# Other compilers, like HP Tru64 UNIX cc, exit successfully when
+# given a .adb file, but produce no object file. So we must check
+# if an object file was really produced to guard against this.
+errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+if test x"$errors" = x && test -f conftest.$ac_objext; then
+ acx_cv_cc_gcc_supports_ada=yes
+ break
+fi
+rm -f conftest.*])
+
+if test x$GNATBIND != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
+ have_gnat=yes
+else
+ have_gnat=no
+fi
+])
diff --git a/configure b/configure
index 13384a4..cda8359 100755
--- a/configure
+++ b/configure
@@ -21,6 +21,8 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer"
+ac_help="$ac_help
+ --enable-werror enable -Werror in bootstrap stage2 and later"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -579,7 +581,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:583: checking host system type" >&5
+echo "configure:585: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -600,7 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:604: checking target system type" >&5
+echo "configure:606: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -618,7 +620,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:622: checking build system type" >&5
+echo "configure:624: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -673,7 +675,7 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:677: checking for a BSD compatible install" >&5
+echo "configure:679: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -769,6 +771,16 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# AC_PROG_CPP_WERROR
+# Test for GNAT.
+# We require the gnatbind program, and a compiler driver that
+# understands Ada. We use the user's CC setting, already found.
+#
+# Sets the shell variable have_gnat to yes or no as appropriate, and
+# substitutes GNATBIND.
+
+
+
+
### we might need to use some other shell than /bin/sh for running subshells
### If we are on Windows, search for the shell. This will permit people
@@ -1379,7 +1391,7 @@ case "${target}" in
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
- noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
target_configdirs="$target_configdirs target-winsup"
@@ -1401,7 +1413,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
;;
rs6000-*-aix*)
- noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
rs6000-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
@@ -1410,8 +1422,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
;;
mips*-*-irix5*)
- # The GNU linker does not support shared libraries.
- noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
mips*-*-irix6*)
# Linking libjava exceeds command-line length limits on at least
@@ -1429,6 +1440,9 @@ case "${target}" in
mipstx39-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
;;
+ mips64*-*-linux*)
+ noconfigdirs="$noconfigdirs target-newlib ${libgcj}"
+ ;;
mips*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
@@ -1511,273 +1525,6 @@ case "${noconfigdirs}" in
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
esac
-# Figure out what language subdirectories are present.
-# Look if the user specified --enable-languages="..."; if not, use
-# the environment variable $LANGUAGES if defined. $LANGUAGES might
-# go away some day.
-# NB: embedded tabs in this IF block -- do not untabify
-if test x"${enable_languages+set}" != xset; then
- if test x"${LANGUAGES+set}" = xset; then
- enable_languages="${LANGUAGES}"
- echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
- else
- enable_languages=all
- fi
-else
- if test x"${enable_languages}" = x ||
- test x"${enable_languages}" = xyes;
- then
- echo configure.in: --enable-languages needs at least one language argument 1>&2
- exit 1
- fi
-fi
-enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
-
-# First scan to see if an enabled language requires some other language.
-# We assume that a given config-lang.in will list all the language
-# front ends it requires, even if some are required indirectly.
-for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
- case ${lang_frag} in
- ..) ;;
- # The odd quoting in the next line works around
- # an apparent bug in bash 1.12 on linux.
- ${srcdir}/gcc/[*]/config-lang.in) ;;
- *)
- # From the config-lang.in, get $language, $lang_requires
- language=
- lang_requires=
- . ${lang_frag}
- for other in ${lang_requires} ; do
- case ,${enable_languages}, in
- *,$other,*) ;;
- *,all,*) ;;
- *,$language,*)
- echo " \`$other' language required by \`$language'; enabling" 1>&2
- enable_languages="${enable_languages},${other}"
- ;;
- esac
- done
- ;;
- esac
-done
-
-for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
- case ${lang_frag} in
- ..) ;;
- # The odd quoting in the next line works around
- # an apparent bug in bash 1.12 on linux.
- ${srcdir}/gcc/[*]/config-lang.in) ;;
- *)
- # From the config-lang.in, get $language, $target_libs,
- # $lang_dirs, and $build_by_default
- language=
- target_libs=
- lang_dirs=
- build_by_default=
- . ${lang_frag}
- if test "x$language" = x ; then
- echo "${lang_frag} doesn't set \$language." 1>&2
- exit 1
- fi
- case ,${enable_languages}, in
- *,${language},*)
- # Language was explicitly selected; include it.
- add_this_lang=yes
- ;;
- *,all,*)
- # 'all' was selected; include 'default' languages.
- case ${build_by_default} in
- no) add_this_lang=no ;;
- *) add_this_lang=yes ;;
- esac
- ;;
- *) add_this_lang=no ;;
- esac
- case ${add_this_lang} in
- no)
- # Remove language-dependent dirs.
- eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
- ;;
- esac
- ;;
- esac
-done
-
-# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
-# $target_configdirs.
-# If we have the source for $noconfigdirs entries, add them to $notsupp.
-
-notsupp=""
-for dir in . $skipdirs $noconfigdirs ; do
- dirname=`echo $dir | sed -e s/target-//g`
- if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
- if test -r $srcdir/$dirname/configure ; then
- if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- true
- else
- notsupp="$notsupp $dir"
- fi
- fi
- fi
- if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
- if test -r $srcdir/$dirname/configure ; then
- if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- true
- else
- notsupp="$notsupp $dir"
- fi
- fi
- fi
-done
-
-# Sometimes the tools are distributed with libiberty but with no other
-# libraries. In that case, we don't want to build target-libiberty.
-if test -n "${target_configdirs}" ; then
- others=
- for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
- if test "$i" != "libiberty" ; then
- if test -r $srcdir/$i/configure ; then
- others=yes;
- break;
- fi
- fi
- done
- if test -z "${others}" ; then
- target_configdirs=
- fi
-fi
-
-# Quietly strip out all directories which aren't configurable in this tree.
-# This relies on all configurable subdirectories being autoconfiscated, which
-# is now the case.
-configdirs_all="$configdirs"
-configdirs=
-for i in ${configdirs_all} ; do
- if test -f ${srcdir}/$i/configure ; then
- configdirs="${configdirs} $i"
- fi
-done
-target_configdirs_all="$target_configdirs"
-target_configdirs=
-for i in ${target_configdirs_all} ; do
- j=`echo $i | sed -e s/target-//g`
- if test -f ${srcdir}/$j/configure ; then
- target_configdirs="${target_configdirs} $i"
- fi
-done
-
-# Produce a warning message for the subdirs we can't configure.
-# This isn't especially interesting in the Cygnus tree, but in the individual
-# FSF releases, it's important to let people know when their machine isn't
-# supported by the one or two programs in a package.
-
-if test -n "${notsupp}" && test -z "${norecursion}" ; then
- # If $appdirs is non-empty, at least one of those directories must still
- # be configured, or we error out. (E.g., if the gas release supports a
- # specified target in some subdirs but not the gas subdir, we shouldn't
- # pretend that all is well.)
- if test -n "$appdirs" ; then
- for dir in $appdirs ; do
- if test -r $dir/Makefile.in ; then
- if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- appdirs=""
- break
- fi
- if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- appdirs=""
- break
- fi
- fi
- done
- if test -n "$appdirs" ; then
- echo "*** This configuration is not supported by this package." 1>&2
- exit 1
- fi
- fi
- # Okay, some application will build, or we don't care to check. Still
- # notify of subdirs not getting built.
- echo "*** This configuration is not supported in the following subdirectories:" 1>&2
- echo " ${notsupp}" 1>&2
- echo " (Any other directories should still work fine.)" 1>&2
-fi
-
-case "$host" in
- *msdosdjgpp*)
- enable_gdbtk=no ;;
-esac
-
-copy_dirs=
-
-# Handle --with-headers=XXX. If the value is not "yes", the contents of
-# the named directory are copied to $(tooldir)/sys-include.
-if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-headers is only supported when cross compiling
- exit 1
- fi
- if test x"${with_headers}" != xyes ; then
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
- fi
-fi
-
-# Handle --with-libs=XXX. If the value is not "yes", the contents of
-# the name directories are copied to $(tooldir)/lib. Multiple directories
-# are permitted.
-if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-libs is only supported when cross compiling
- exit 1
- fi
- if test x"${with_libs}" != xyes ; then
- # Copy the libraries in reverse order, so that files in the first named
- # library override files in subsequent libraries.
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- for l in ${with_libs}; do
- copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
- done
- fi
-fi
-
-# Handle ${copy_dirs}
-set fnord ${copy_dirs}
-shift
-while test $# != 0 ; do
- if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
- :
- else
- echo Copying $1 to $2
-
- # Use the install script to create the directory and all required
- # parent directories.
- if test -d $2 ; then
- :
- else
- echo >config.temp
- ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
- fi
-
- # Copy the directory, assuming we have tar.
- # FIXME: Should we use B in the second tar? Not all systems support it.
- (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
-
- # It is the responsibility of the user to correctly adjust all
- # symlinks. If somebody can figure out how to handle them correctly
- # here, feel free to add the code.
-
- echo $1 > $2/COPIED
- fi
- shift; shift
-done
-
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
host_makefile_frag=/dev/null
@@ -1929,120 +1676,6 @@ case "${host}" in
esac
fi
-extra_arflags_for_target=
-extra_nmflags_for_target=
-extra_ranlibflags_for_target=
-target_makefile_frag=/dev/null
-case "${target}" in
- i[3456789]86-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- powerpc-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- *-*-linux*)
- target_makefile_frag="config/mt-linux"
- ;;
- *-*-aix4.[3456789]* | *-*-aix[56789].*)
- # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
- # commands to handle both 32-bit and 64-bit objects. These flags are
- # harmless if we're using GNU nm or ar.
- extra_arflags_for_target=" -X32_64"
- extra_nmflags_for_target=" -B -X32_64"
- ;;
- *-*-darwin*)
- # ranlib from Darwin requires the -c flag to look at common symbols.
- extra_ranlibflags_for_target=" -c"
- ;;
- mips*-*-pe | sh*-*-pe | *arm-wince-pe)
- target_makefile_frag="config/mt-wince"
- ;;
-esac
-
-alphaieee_frag=/dev/null
-case $target in
- alpha*-*-*)
- # This just makes sure to use the -mieee option to build target libs.
- # This should probably be set individually by each library.
- alphaieee_frag="config/mt-alphaieee"
- ;;
-esac
-
-# If --enable-target-optspace always use -Os instead of -O2 to build
-# the target libraries, similarly if it is not specified, use -Os
-# on selected platforms.
-ospace_frag=/dev/null
-case "${enable_target_optspace}:${target}" in
- yes:*)
- ospace_frag="config/mt-ospace"
- ;;
- :d30v-*)
- ospace_frag="config/mt-d30v"
- ;;
- :m32r-* | :d10v-* | :fr30-*)
- ospace_frag="config/mt-ospace"
- ;;
- no:* | :*)
- ;;
- *)
- echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
- ;;
-esac
-
-# Set with_gnu_as and with_gnu_ld as appropriate.
-#
-# This is done by determining whether or not the appropriate directory
-# is available, and by checking whether or not specific configurations
-# have requested that this magic not happen.
-#
-# The command line options always override the explicit settings in
-# configure.in, and the settings in configure.in override this magic.
-#
-# If the default for a toolchain is to use GNU as and ld, and you don't
-# want to do that, then you should use the --without-gnu-as and
-# --without-gnu-ld options for the configure script.
-
-if test x${use_gnu_as} = x &&
- echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
- with_gnu_as=yes
- extra_host_args="$extra_host_args --with-gnu-as"
-fi
-
-if test x${use_gnu_ld} = x &&
- echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
- with_gnu_ld=yes
- extra_host_args="$extra_host_args --with-gnu-ld"
-fi
-
-# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
-# can detect this case.
-
-if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
- with_newlib=yes
- extra_host_args="$extra_host_args --with-newlib"
-fi
-
-
-# Default to using --with-stabs for certain targets.
-if test x${with_stabs} = x ; then
- case "${target}" in
- mips*-*-irix[56]*)
- ;;
- mips*-*-* | alpha*-*-osf*)
- with_stabs=yes;
- extra_host_args="${extra_host_args} --with-stabs"
- ;;
- esac
-fi
-
-# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
-# them automatically.
-case "${host}" in
- hppa*64*-*-hpux11*)
- extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
- ;;
-esac
-
# If we aren't going to be using gcc, see if we can extract a definition
# of CC from the fragment.
# Actually, use the 'pre-extracted' version above.
@@ -2062,68 +1695,6 @@ if test -z "${CC}" && test "${build}" = "${host}" ; then
fi
fi
-# Some systems (e.g., one of the i386-aix systems the gas testers are
-# using) don't handle "\$" correctly, so don't use it here.
-tooldir='${exec_prefix}'/${target_alias}
-build_tooldir=${tooldir}
-
-# Generate a default definition for YACC. This is used if the makefile can't
-# locate bison or byacc in objdir.
-
-for prog in 'bison -y' byacc yacc
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_YACC="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_YACC" && break
-done
-
-# Generate a default definition for M4. This is used if the makefile can't
-# locate m4 in objdir.
-
-for prog in gm4 gnum4 m4
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_M4="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_M4" && break
-done
-
-# Generate a default definition for LEX. This is used if the makefile can't
-# locate flex in objdir.
-
-for prog in flex lex
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_LEX="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_LEX" && break
-done
-
if test "${build}" != "${host}" ; then
# If we are doing a Canadian Cross, in which the host and build systems
# are not the same, we set reasonable default values for the tools.
@@ -2275,49 +1846,901 @@ EOF
CXXFLAGS=${CXXFLAGS-"-g -O2"}
fi
-# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
-# Set up the list of links to be made.
-# ${links} is the list of link names, and ${files} is the list of names to link to.
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1860: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
-# Make the links.
-configlinks="${links}"
-if test -r ./config.status ; then
- mv -f ./config.status ./config.back
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1890: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
fi
-while test -n "${files}" ; do
- # set file to car of files, files to cdr of files
- set ${files}; file=$1; shift; files=$*
- set ${links}; link=$1; shift; links=$*
- if test ! -r ${srcdir}/${file} ; then
- if test ! -r ${file} ; then
- echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
- exit 1
- else
- srcfile=${file}
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1941: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1973: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 1984 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cc_cross=no
else
- srcfile=${srcdir}/${file}
+ ac_cv_prog_cc_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:2015: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:2020: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:2048: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2084: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$GNATBIND"; then
+ ac_cv_prog_GNATBIND="$GNATBIND" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_GNATBIND="${ac_tool_prefix}gnatbind"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+GNATBIND="$ac_cv_prog_GNATBIND"
+if test -n "$GNATBIND"; then
+ echo "$ac_t""$GNATBIND" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_GNATBIND"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "gnatbind", so it can be a program name with args.
+set dummy gnatbind; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2116: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$GNATBIND"; then
+ ac_cv_prog_GNATBIND="$GNATBIND" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_GNATBIND="gnatbind"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_GNATBIND" && ac_cv_prog_GNATBIND="no"
+fi
+fi
+GNATBIND="$ac_cv_prog_GNATBIND"
+if test -n "$GNATBIND"; then
+ echo "$ac_t""$GNATBIND" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ GNATBIND="no"
+fi
+fi
+
+echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6
+echo "configure:2149: checking whether compiler driver understands Ada" >&5
+if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat >conftest.adb <<EOF
+procedure conftest is begin null; end conftest;
+EOF
+acx_cv_cc_gcc_supports_ada=no
+# There is a bug in old released versions of GCC which causes the
+# driver to exit successfully when the appropriate language module
+# has not been installed. This is fixed in 2.95.4, 3.0.2, and 3.1.
+# Therefore we must check for the error message as well as an
+# unsuccessful exit.
+# Other compilers, like HP Tru64 UNIX cc, exit successfully when
+# given a .adb file, but produce no object file. So we must check
+# if an object file was really produced to guard against this.
+errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+if test x"$errors" = x && test -f conftest.$ac_objext; then
+ acx_cv_cc_gcc_supports_ada=yes
+ break
+fi
+rm -f conftest.*
+fi
+
+echo "$ac_t""$acx_cv_cc_gcc_supports_ada" 1>&6
+
+if test x$GNATBIND != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
+ have_gnat=yes
+else
+ have_gnat=no
+fi
+
+echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6
+echo "configure:2182: checking how to compare bootstrapped objects" >&5
+if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo abfoo >t1
+ echo cdfoo >t2
+ gcc_cv_prog_cmp_skip='tail +16c $$f1 > tmp-foo1; tail +16c $$f2 > tmp-foo2; cmp tmp-foo1 tmp-foo2'
+ if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then
+ if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then
+ if cmp t1 t2 2 2 > /dev/null 2>&1; then
+ if cmp t1 t2 1 1 > /dev/null 2>&1; then
+ :
+ else
+ gcc_cv_prog_cmp_skip='cmp $$f1 $$f2 16 16'
+ fi
+ fi
+ else
+ gcc_cv_prog_cmp_skip='cmp --ignore-initial=16 $$f1 $$f2'
+ fi
fi
+ rm t1 t2
- ${remove} -f ${link}
- # Make a symlink if possible, otherwise try a hard link
- if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
- true
+fi
+
+echo "$ac_t""$gcc_cv_prog_cmp_skip" 1>&6
+do_compare="$gcc_cv_prog_cmp_skip"
+
+
+
+# By default, C is the only stage 1 language.
+stage1_languages=c
+
+
+# Figure out what language subdirectories are present.
+# Look if the user specified --enable-languages="..."; if not, use
+# the environment variable $LANGUAGES if defined. $LANGUAGES might
+# go away some day.
+# NB: embedded tabs in this IF block -- do not untabify
+if test -d ${srcdir}/gcc; then
+ if test x"${enable_languages+set}" != xset; then
+ if test x"${LANGUAGES+set}" = xset; then
+ enable_languages="${LANGUAGES}"
+ echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
+ else
+ enable_languages=all
+ fi
else
- # We need to re-remove the file because Lynx leaves a
- # very strange directory there when it fails an NFS symlink.
- ${remove} -r -f ${link}
- ${hard_link} ${srcfile} ${link}
+ if test x"${enable_languages}" = x ||
+ test x"${enable_languages}" = xyes;
+ then
+ echo configure.in: --enable-languages needs at least one language argument 1>&2
+ exit 1
+ fi
+ fi
+ enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
+
+ # First scan to see if an enabled language requires some other language.
+ # We assume that a given config-lang.in will list all the language
+ # front ends it requires, even if some are required indirectly.
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[*]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $lang_requires
+ language=
+ lang_requires=
+ . ${lang_frag}
+ for other in ${lang_requires} ; do
+ case ,${enable_languages}, in
+ *,$other,*) ;;
+ *,all,*) ;;
+ *,$language,*)
+ echo " \`$other' language required by \`$language'; enabling" 1>&2
+ enable_languages="${enable_languages},${other}"
+ ;;
+ esac
+ done
+ ;;
+ esac
+ done
+
+ new_enable_languages=c
+ missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[*]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $target_libs,
+ # $lang_dirs, $boot_language, and $build_by_default
+ language=
+ target_libs=
+ lang_dirs=
+ boot_language=
+ build_by_default=
+ . ${lang_frag}
+ # This is quite sensitive to the ordering of the case statement arms.
+ case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
+ *::*:*)
+ echo "${lang_frag} doesn't set \$language." 1>&2
+ exit 1
+ ;;
+ *:ada:no:*)
+ # Ada was requested with no preexisting GNAT. Disable unconditionally.
+ add_this_lang=no
+ ;;
+ *,${language},*:*:*:*)
+ # Language was explicitly selected; include it.
+ add_this_lang=yes
+ ;;
+ *,all,*:*:*:no)
+ # 'all' was selected, but this is not a default language
+ # so do not include it.
+ add_this_lang=no
+ ;;
+ *,all,*:*:*:*)
+ # 'all' was selected and this is a default language; include it.
+ add_this_lang=yes
+ ;;
+ *)
+ add_this_lang=no
+ ;;
+ esac
+ case $add_this_lang in
+ no)
+ # Remove language-dependent dirs.
+ eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
+ ;;
+ *)
+ new_enable_languages="$new_enable_languages,$language"
+ missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
+ case ${boot_language} in
+ yes)
+ # Add to (comma-separated) list of stage 1 languages.
+ stage1_languages="${stage1_languages},${language}"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+
+ missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
+ if test "x$missing_languages" != x; then
+ { echo "configure: error:
+The following requested languages were not found: ${missing_languages}" 1>&2; exit 1; }
+ fi
+
+ if test "x$new_enable_languages" != "x$enable_languages"; then
+ echo The following languages will be built: ${new_enable_languages}
+ fi
+ enable_languages="$new_enable_languages"
+ ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[^ ]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
+fi
+
+# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
+# $target_configdirs.
+# If we have the source for $noconfigdirs entries, add them to $notsupp.
+
+notsupp=""
+for dir in . $skipdirs $noconfigdirs ; do
+ dirname=`echo $dir | sed -e s/target-//g`
+ if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
fi
- if test ! -r ${link} ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
+ if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+done
+
+# Sometimes the tools are distributed with libiberty but with no other
+# libraries. In that case, we don't want to build target-libiberty.
+if test -n "${target_configdirs}" ; then
+ others=
+ for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
+ if test "$i" != "libiberty" ; then
+ if test -r $srcdir/$i/configure ; then
+ others=yes;
+ break;
+ fi
+ fi
+ done
+ if test -z "${others}" ; then
+ target_configdirs=
+ fi
+fi
+
+# Quietly strip out all directories which aren't configurable in this tree.
+# This relies on all configurable subdirectories being autoconfiscated, which
+# is now the case.
+configdirs_all="$configdirs"
+configdirs=
+for i in ${configdirs_all} ; do
+ if test -f ${srcdir}/$i/configure ; then
+ configdirs="${configdirs} $i"
+ fi
+done
+target_configdirs_all="$target_configdirs"
+target_configdirs=
+for i in ${target_configdirs_all} ; do
+ j=`echo $i | sed -e s/target-//g`
+ if test -f ${srcdir}/$j/configure ; then
+ target_configdirs="${target_configdirs} $i"
+ fi
+done
+
+# Produce a warning message for the subdirs we can't configure.
+# This isn't especially interesting in the Cygnus tree, but in the individual
+# FSF releases, it's important to let people know when their machine isn't
+# supported by the one or two programs in a package.
+
+if test -n "${notsupp}" && test -z "${norecursion}" ; then
+ # If $appdirs is non-empty, at least one of those directories must still
+ # be configured, or we error out. (E.g., if the gas release supports a
+ # specified target in some subdirs but not the gas subdir, we shouldn't
+ # pretend that all is well.)
+ if test -n "$appdirs" ; then
+ for dir in $appdirs ; do
+ if test -r $dir/Makefile.in ; then
+ if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ fi
+ done
+ if test -n "$appdirs" ; then
+ echo "*** This configuration is not supported by this package." 1>&2
+ exit 1
+ fi
+ fi
+ # Okay, some application will build, or we don't care to check. Still
+ # notify of subdirs not getting built.
+ echo "*** This configuration is not supported in the following subdirectories:" 1>&2
+ echo " ${notsupp}" 1>&2
+ echo " (Any other directories should still work fine.)" 1>&2
+fi
+
+case "$host" in
+ *msdosdjgpp*)
+ enable_gdbtk=no ;;
+esac
+
+copy_dirs=
+
+# Handle --with-headers=XXX. If the value is not "yes", the contents of
+# the named directory are copied to $(tooldir)/sys-include.
+if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-headers is only supported when cross compiling
exit 1
fi
+ if test x"${with_headers}" != xyes ; then
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+ fi
+fi
- echo "Linked \"${link}\" to \"${srcfile}\"."
+# Handle --with-libs=XXX. If the value is not "yes", the contents of
+# the name directories are copied to $(tooldir)/lib. Multiple directories
+# are permitted.
+if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-libs is only supported when cross compiling
+ exit 1
+ fi
+ if test x"${with_libs}" != xyes ; then
+ # Copy the libraries in reverse order, so that files in the first named
+ # library override files in subsequent libraries.
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ for l in ${with_libs}; do
+ copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+ done
+ fi
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while test $# != 0 ; do
+ if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
+ :
+ else
+ echo Copying $1 to $2
+
+ # Use the install script to create the directory and all required
+ # parent directories.
+ if test -d $2 ; then
+ :
+ else
+ echo >config.temp
+ ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
+ fi
+
+ # Copy the directory, assuming we have tar.
+ # FIXME: Should we use B in the second tar? Not all systems support it.
+ (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+ # It is the responsibility of the user to correctly adjust all
+ # symlinks. If somebody can figure out how to handle them correctly
+ # here, feel free to add the code.
+
+ echo $1 > $2/COPIED
+ fi
+ shift; shift
+done
+
+extra_arflags_for_target=
+extra_nmflags_for_target=
+extra_ranlibflags_for_target=
+target_makefile_frag=/dev/null
+case "${target}" in
+ i[3456789]86-*-netware*)
+ target_makefile_frag="config/mt-netware"
+ ;;
+ powerpc-*-netware*)
+ target_makefile_frag="config/mt-netware"
+ ;;
+ *-*-linux*)
+ target_makefile_frag="config/mt-linux"
+ ;;
+ *-*-aix4.[3456789]* | *-*-aix[56789].*)
+ # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
+ # commands to handle both 32-bit and 64-bit objects. These flags are
+ # harmless if we're using GNU nm or ar.
+ extra_arflags_for_target=" -X32_64"
+ extra_nmflags_for_target=" -B -X32_64"
+ ;;
+ *-*-darwin*)
+ # ranlib from Darwin requires the -c flag to look at common symbols.
+ extra_ranlibflags_for_target=" -c"
+ ;;
+ mips*-*-pe | sh*-*-pe | *arm-wince-pe)
+ target_makefile_frag="config/mt-wince"
+ ;;
+esac
+
+alphaieee_frag=/dev/null
+case $target in
+ alpha*-*-*)
+ # This just makes sure to use the -mieee option to build target libs.
+ # This should probably be set individually by each library.
+ alphaieee_frag="config/mt-alphaieee"
+ ;;
+esac
+
+# If --enable-target-optspace always use -Os instead of -O2 to build
+# the target libraries, similarly if it is not specified, use -Os
+# on selected platforms.
+ospace_frag=/dev/null
+case "${enable_target_optspace}:${target}" in
+ yes:*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ :d30v-*)
+ ospace_frag="config/mt-d30v"
+ ;;
+ :m32r-* | :d10v-* | :fr30-*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ no:* | :*)
+ ;;
+ *)
+ echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
+ ;;
+esac
+
+# Set with_gnu_as and with_gnu_ld as appropriate.
+#
+# This is done by determining whether or not the appropriate directory
+# is available, and by checking whether or not specific configurations
+# have requested that this magic not happen.
+#
+# The command line options always override the explicit settings in
+# configure.in, and the settings in configure.in override this magic.
+#
+# If the default for a toolchain is to use GNU as and ld, and you don't
+# want to do that, then you should use the --without-gnu-as and
+# --without-gnu-ld options for the configure script.
+
+if test x${use_gnu_as} = x &&
+ echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
+ with_gnu_as=yes
+ extra_host_args="$extra_host_args --with-gnu-as"
+fi
+
+if test x${use_gnu_ld} = x &&
+ echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
+ with_gnu_ld=yes
+ extra_host_args="$extra_host_args --with-gnu-ld"
+fi
+
+# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
+# can detect this case.
+
+if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
+ with_newlib=yes
+ extra_host_args="$extra_host_args --with-newlib"
+fi
+
+
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+ case "${target}" in
+ mips*-*-irix[56]*)
+ ;;
+ mips*-*-* | alpha*-*-osf*)
+ with_stabs=yes;
+ extra_host_args="${extra_host_args} --with-stabs"
+ ;;
+ esac
+fi
+
+# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
+# them automatically.
+case "${host}" in
+ hppa*64*-*-hpux11*)
+ extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
+ ;;
+esac
+
+# Some systems (e.g., one of the i386-aix systems the gas testers are
+# using) don't handle "\$" correctly, so don't use it here.
+tooldir='${exec_prefix}'/${target_alias}
+build_tooldir=${tooldir}
+
+# Generate default definitions for YACC, M4, LEX. These are used if the
+# Makefile can't locate these programs in objdir.
+MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
+for ac_prog in 'bison -y' byacc yacc
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2646: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_YACC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$DEFAULT_YACC"; then
+ ac_cv_prog_DEFAULT_YACC="$DEFAULT_YACC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_DEFAULT_YACC="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+DEFAULT_YACC="$ac_cv_prog_DEFAULT_YACC"
+if test -n "$DEFAULT_YACC"; then
+ echo "$ac_t""$DEFAULT_YACC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$DEFAULT_YACC" && break
done
+test -n "$DEFAULT_YACC" || DEFAULT_YACC="$MISSING bison"
+
+for ac_prog in gm4 gnum4 m4
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2681: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_M4'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$DEFAULT_M4"; then
+ ac_cv_prog_DEFAULT_M4="$DEFAULT_M4" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_DEFAULT_M4="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+DEFAULT_M4="$ac_cv_prog_DEFAULT_M4"
+if test -n "$DEFAULT_M4"; then
+ echo "$ac_t""$DEFAULT_M4" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$DEFAULT_M4" && break
+done
+test -n "$DEFAULT_M4" || DEFAULT_M4="$MISSING m4"
+
+for ac_prog in flex lex
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2716: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_LEX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$DEFAULT_LEX"; then
+ ac_cv_prog_DEFAULT_LEX="$DEFAULT_LEX" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_DEFAULT_LEX="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+DEFAULT_LEX="$ac_cv_prog_DEFAULT_LEX"
+if test -n "$DEFAULT_LEX"; then
+ echo "$ac_t""$DEFAULT_LEX" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$DEFAULT_LEX" && break
+done
+test -n "$DEFAULT_LEX" || DEFAULT_LEX="$MISSING flex"
+
# Create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
@@ -2549,21 +2972,21 @@ serialization_dependencies=serdep.tmp
# at the end of the argument list.
# These will be expanded by make, so quote '$'.
cat <<\EOF_SED > conftestsed
-s/ --no[^ ]* / /
-s/ --c[a-z-]*[= ][^ ]* / /
-s/ --sr[a-z-]*[= ][^ ]* / /
-s/ --ho[a-z-]*[= ][^ ]* / /
-s/ --bu[a-z-]*[= ][^ ]* / /
-s/ --t[a-z-]*[= ][^ ]* / /
-s/ --program-[pst][a-z-]*[= ][^ ]* / /
-s/ -cache-file[= ][^ ]* / /
-s/ -srcdir[= ][^ ]* / /
-s/ -host[= ][^ ]* / /
-s/ -build[= ][^ ]* / /
-s/ -target[= ][^ ]* / /
-s/ -program-prefix[= ][^ ]* / /
-s/ -program-suffix[= ][^ ]* / /
-s/ -program-transform-name[= ][^ ]* / /
+s/ --no[^ ]*/ /g
+s/ --c[a-z-]*[= ][^ ]*//g
+s/ --sr[a-z-]*[= ][^ ]*//g
+s/ --ho[a-z-]*[= ][^ ]*//g
+s/ --bu[a-z-]*[= ][^ ]*//g
+s/ --t[a-z-]*[= ][^ ]*//g
+s/ --program-[pst][a-z-]*[= ][^ ]*//g
+s/ -cache-file[= ][^ ]*//g
+s/ -srcdir[= ][^ ]*//g
+s/ -host[= ][^ ]*//g
+s/ -build[= ][^ ]*//g
+s/ -target[= ][^ ]*//g
+s/ -program-prefix[= ][^ ]*//g
+s/ -program-suffix[= ][^ ]*//g
+s/ -program-transform-name[= ][^ ]*//g
s/ [^' -][^ ]* / /
s/^ *//;s/ *$//
s,\$,$$,g
@@ -2820,7 +3243,6 @@ ospace_frag=${srcdir}/${ospace_frag}
-
# Build module lists & subconfigure args.
@@ -2852,7 +3274,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
# Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2856: checking for $ac_word" >&5
+echo "configure:3279: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2885,7 +3307,7 @@ if test -z "$ac_cv_prog_AR" ; then
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2889: checking for $ac_word" >&5
+echo "configure:3312: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2924,7 +3346,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2928: checking for $ac_word" >&5
+echo "configure:3351: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2957,7 +3379,7 @@ if test -z "$ac_cv_prog_AS" ; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2961: checking for $ac_word" >&5
+echo "configure:3384: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2996,7 +3418,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3000: checking for $ac_word" >&5
+echo "configure:3423: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3029,7 +3451,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3033: checking for $ac_word" >&5
+echo "configure:3456: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3068,7 +3490,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3072: checking for $ac_word" >&5
+echo "configure:3495: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3101,7 +3523,7 @@ if test -z "$ac_cv_prog_LD" ; then
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3105: checking for $ac_word" >&5
+echo "configure:3528: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3140,7 +3562,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3144: checking for $ac_word" >&5
+echo "configure:3567: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3173,7 +3595,7 @@ if test -z "$ac_cv_prog_NM" ; then
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3177: checking for $ac_word" >&5
+echo "configure:3600: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3212,7 +3634,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3216: checking for $ac_word" >&5
+echo "configure:3639: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3245,7 +3667,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3249: checking for $ac_word" >&5
+echo "configure:3672: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3284,7 +3706,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3288: checking for $ac_word" >&5
+echo "configure:3711: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3317,7 +3739,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3321: checking for $ac_word" >&5
+echo "configure:3744: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3356,7 +3778,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3360: checking for $ac_word" >&5
+echo "configure:3783: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3389,7 +3811,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then
# Extract the first word of "objcopy", so it can be a program name with args.
set dummy objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3393: checking for $ac_word" >&5
+echo "configure:3816: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3428,7 +3850,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3432: checking for $ac_word" >&5
+echo "configure:3855: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3461,7 +3883,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3465: checking for $ac_word" >&5
+echo "configure:3888: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3510,504 +3932,504 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3514: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:3937: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$AR_FOR_TARGET"; then
- ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_AR_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_AR_FOR_TARGET="$CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
+ ac_cv_prog_CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
-if test -n "$AR_FOR_TARGET"; then
- echo "$ac_t""$AR_FOR_TARGET" 1>&6
+CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
+if test -n "$CONFIGURED_AR_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_AR_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_AR_FOR_TARGET=$AR_FOR_TARGET
+ ncn_cv_CONFIGURED_AR_FOR_TARGET=$CONFIGURED_AR_FOR_TARGET
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3547: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:3970: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_AR_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_AR_FOR_TARGET="$ncn_cv_AR_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="$ncn_cv_CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_AR_FOR_TARGET="ar"
+ ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_AR_FOR_TARGET="ar"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
fi
fi
-ncn_cv_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_AR_FOR_TARGET"
-if test -n "$ncn_cv_AR_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_AR_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_AR_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- AR_FOR_TARGET=$ncn_cv_AR_FOR_TARGET
+ CONFIGURED_AR_FOR_TARGET=$ncn_cv_CONFIGURED_AR_FOR_TARGET
else
- AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
+ CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
fi
else
- AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
+ CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3586: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4009: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$AS_FOR_TARGET"; then
- ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_AS_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_AS_FOR_TARGET="$CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
+ ac_cv_prog_CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
-if test -n "$AS_FOR_TARGET"; then
- echo "$ac_t""$AS_FOR_TARGET" 1>&6
+CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
+if test -n "$CONFIGURED_AS_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_AS_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_AS_FOR_TARGET=$AS_FOR_TARGET
+ ncn_cv_CONFIGURED_AS_FOR_TARGET=$CONFIGURED_AS_FOR_TARGET
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3619: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4042: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_AS_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_AS_FOR_TARGET="$ncn_cv_AS_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="$ncn_cv_CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_AS_FOR_TARGET="as"
+ ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_AS_FOR_TARGET="as"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
fi
fi
-ncn_cv_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_AS_FOR_TARGET"
-if test -n "$ncn_cv_AS_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_AS_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_AS_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- AS_FOR_TARGET=$ncn_cv_AS_FOR_TARGET
+ CONFIGURED_AS_FOR_TARGET=$ncn_cv_CONFIGURED_AS_FOR_TARGET
else
- AS_FOR_TARGET="${ncn_target_tool_prefix}as"
+ CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
fi
else
- AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
+ CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3658: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4081: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$DLLTOOL_FOR_TARGET"; then
- ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="$CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
+ ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
-if test -n "$DLLTOOL_FOR_TARGET"; then
- echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6
+CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
+if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_DLLTOOL_FOR_TARGET=$DLLTOOL_FOR_TARGET
+ ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET=$CONFIGURED_DLLTOOL_FOR_TARGET
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3691: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4114: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_DLLTOOL_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="$ncn_cv_DLLTOOL_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="dlltool"
+ ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET="dlltool"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
fi
fi
-ncn_cv_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET"
-if test -n "$ncn_cv_DLLTOOL_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_DLLTOOL_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- DLLTOOL_FOR_TARGET=$ncn_cv_DLLTOOL_FOR_TARGET
+ CONFIGURED_DLLTOOL_FOR_TARGET=$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET
else
- DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
+ CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
fi
else
- DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
+ CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3730: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4153: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$LD_FOR_TARGET"; then
- ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_LD_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_LD_FOR_TARGET="$CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
+ ac_cv_prog_CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
-if test -n "$LD_FOR_TARGET"; then
- echo "$ac_t""$LD_FOR_TARGET" 1>&6
+CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
+if test -n "$CONFIGURED_LD_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_LD_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_LD_FOR_TARGET=$LD_FOR_TARGET
+ ncn_cv_CONFIGURED_LD_FOR_TARGET=$CONFIGURED_LD_FOR_TARGET
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3763: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4186: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_LD_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_LD_FOR_TARGET="$ncn_cv_LD_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="$ncn_cv_CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_LD_FOR_TARGET="ld"
+ ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_LD_FOR_TARGET="ld"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
fi
fi
-ncn_cv_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_LD_FOR_TARGET"
-if test -n "$ncn_cv_LD_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_LD_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_LD_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- LD_FOR_TARGET=$ncn_cv_LD_FOR_TARGET
+ CONFIGURED_LD_FOR_TARGET=$ncn_cv_CONFIGURED_LD_FOR_TARGET
else
- LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
+ CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
fi
else
- LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
+ CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3802: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4225: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$NM_FOR_TARGET"; then
- ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_NM_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_NM_FOR_TARGET="$CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
+ ac_cv_prog_CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
-if test -n "$NM_FOR_TARGET"; then
- echo "$ac_t""$NM_FOR_TARGET" 1>&6
+CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
+if test -n "$CONFIGURED_NM_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_NM_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_NM_FOR_TARGET=$NM_FOR_TARGET
+ ncn_cv_CONFIGURED_NM_FOR_TARGET=$CONFIGURED_NM_FOR_TARGET
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3835: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4258: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_NM_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_NM_FOR_TARGET="$ncn_cv_NM_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="$ncn_cv_CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_NM_FOR_TARGET="nm"
+ ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_NM_FOR_TARGET="nm"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
fi
fi
-ncn_cv_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_NM_FOR_TARGET"
-if test -n "$ncn_cv_NM_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_NM_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_NM_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- NM_FOR_TARGET=$ncn_cv_NM_FOR_TARGET
+ CONFIGURED_NM_FOR_TARGET=$ncn_cv_CONFIGURED_NM_FOR_TARGET
else
- NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
+ CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
fi
else
- NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
+ CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3874: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4297: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$RANLIB_FOR_TARGET"; then
- ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="$CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib"
+ ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
-if test -n "$RANLIB_FOR_TARGET"; then
- echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6
+CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
+if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_RANLIB_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_RANLIB_FOR_TARGET=$RANLIB_FOR_TARGET
+ ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=$CONFIGURED_RANLIB_FOR_TARGET
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3907: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4330: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_RANLIB_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET="$ncn_cv_RANLIB_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET="ranlib"
+ ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="ranlib"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET=":"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=":"
fi
fi
-ncn_cv_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET"
-if test -n "$ncn_cv_RANLIB_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_RANLIB_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- RANLIB_FOR_TARGET=$ncn_cv_RANLIB_FOR_TARGET
+ CONFIGURED_RANLIB_FOR_TARGET=$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET
else
- RANLIB_FOR_TARGET=":"
+ CONFIGURED_RANLIB_FOR_TARGET=":"
fi
else
- RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
+ CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
fi
if test -n "$ncn_target_tool_prefix"; then
# Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3946: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4369: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$WINDRES_FOR_TARGET"; then
- ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test.
+ if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
+ ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="$CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
+ ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
-WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
-if test -n "$WINDRES_FOR_TARGET"; then
- echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6
+CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
+if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
+ echo "$ac_t""$CONFIGURED_WINDRES_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
fi
-if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
+if test -z "$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" ; then
if test $build = $target ; then
- ncn_cv_WINDRES_FOR_TARGET=$WINDRES_FOR_TARGET
+ ncn_cv_CONFIGURED_WINDRES_FOR_TARGET=$CONFIGURED_WINDRES_FOR_TARGET
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3979: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+echo "configure:4402: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- if test -n "$ncn_cv_WINDRES_FOR_TARGET"; then
- ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="$ncn_cv_WINDRES_FOR_TARGET" # Let the user override the test.
+ if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
+ ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="windres"
+ ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
break
fi
done
IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET="windres"
+ test -z "$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
fi
fi
-ncn_cv_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET"
-if test -n "$ncn_cv_WINDRES_FOR_TARGET"; then
- echo "$ac_t""$ncn_cv_WINDRES_FOR_TARGET" 1>&6
+ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"
+if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
+ echo "$ac_t""$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" 1>&6
else
echo "$ac_t""no" 1>&6
fi
- WINDRES_FOR_TARGET=$ncn_cv_WINDRES_FOR_TARGET
+ CONFIGURED_WINDRES_FOR_TARGET=$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET
else
- WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
+ CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
fi
else
- WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
+ CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
fi
@@ -4035,14 +4457,31 @@ if test "x${build}" = "x${host}" ; then
NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
+else
+ # Just use the ones we found.
+ AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
+ AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
+ DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
+ LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
+ NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
+ RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
+ WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"
fi
+
+
+
+
+
+
+
+
# Certain tools may need extra flags.
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:4046: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:4486: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -4063,6 +4502,44 @@ else
fi
MAINT=$MAINTAINER_MODE_TRUE
+# ---------------------
+# GCC bootstrap support
+# ---------------------
+
+# Stage specific cflags for build.
+stage1_cflags="-g"
+case $build in
+ vax-*-*)
+ case ${GCC} in
+ yes) stage1_cflags="-g -Wa,-J" ;;
+ *) stage1_cflags="-g -J" ;;
+ esac ;;
+ powerpc-*-darwin*)
+ # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
+ # sources; use -no-cpp-precomp to get to GNU cpp.
+ # Apple's GCC has bugs in designated initializer handling, so disable
+ # that too.
+ stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
+ ;;
+esac
+
+
+# Enable -Werror in bootstrap stage2 and later.
+# Change the default to "no" on release branches.
+# Check whether --enable-werror or --disable-werror was given.
+if test "${enable_werror+set}" = set; then
+ enableval="$enable_werror"
+ :
+else
+ enable_werror=yes
+fi
+
+case ${enable_werror} in
+ yes) stage2_werror_flag="--enable-werror-always" ;;
+ *) stage2_werror_flag="" ;;
+esac
+
+
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@@ -4230,6 +4707,13 @@ s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%$TOPLEVEL_CONFIGURE_ARGUMENTS%g
s%@build_subdir@%$build_subdir%g
s%@host_subdir@%$host_subdir%g
s%@target_subdir@%$target_subdir%g
+s%@CC@%$CC%g
+s%@GNATBIND@%$GNATBIND%g
+s%@do_compare@%$do_compare%g
+s%@stage1_languages@%$stage1_languages%g
+s%@DEFAULT_YACC@%$DEFAULT_YACC%g
+s%@DEFAULT_M4@%$DEFAULT_M4%g
+s%@DEFAULT_LEX@%$DEFAULT_LEX%g
/@maybe_dependencies@/r $maybe_dependencies
s%@maybe_dependencies@%%g
/@serialization_dependencies@/r $serialization_dependencies
@@ -4246,7 +4730,6 @@ s%@SET_LIB_PATH@%$SET_LIB_PATH%g
s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g
s%@BUILD_PREFIX@%$BUILD_PREFIX%g
s%@BUILD_PREFIX_1@%$BUILD_PREFIX_1%g
-s%@configlinks@%$configlinks%g
s%@gcc_version_trigger@%$gcc_version_trigger%g
s%@gcc_version@%$gcc_version%g
s%@tooldir@%$tooldir%g
@@ -4285,26 +4768,22 @@ s%@OBJCOPY@%$OBJCOPY%g
s%@ncn_cv_OBJCOPY@%$ncn_cv_OBJCOPY%g
s%@OBJDUMP@%$OBJDUMP%g
s%@ncn_cv_OBJDUMP@%$ncn_cv_OBJDUMP%g
-s%@CC@%$CC%g
s%@CXX@%$CXX%g
s%@CFLAGS_FOR_BUILD@%$CFLAGS_FOR_BUILD%g
-s%@DEFAULT_YACC@%$DEFAULT_YACC%g
-s%@DEFAULT_LEX@%$DEFAULT_LEX%g
-s%@DEFAULT_M4@%$DEFAULT_M4%g
-s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
-s%@ncn_cv_AR_FOR_TARGET@%$ncn_cv_AR_FOR_TARGET%g
-s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
-s%@ncn_cv_AS_FOR_TARGET@%$ncn_cv_AS_FOR_TARGET%g
-s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
-s%@ncn_cv_DLLTOOL_FOR_TARGET@%$ncn_cv_DLLTOOL_FOR_TARGET%g
-s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
-s%@ncn_cv_LD_FOR_TARGET@%$ncn_cv_LD_FOR_TARGET%g
-s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
-s%@ncn_cv_NM_FOR_TARGET@%$ncn_cv_NM_FOR_TARGET%g
-s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
-s%@ncn_cv_RANLIB_FOR_TARGET@%$ncn_cv_RANLIB_FOR_TARGET%g
-s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
-s%@ncn_cv_WINDRES_FOR_TARGET@%$ncn_cv_WINDRES_FOR_TARGET%g
+s%@CONFIGURED_AR_FOR_TARGET@%$CONFIGURED_AR_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_AR_FOR_TARGET@%$ncn_cv_CONFIGURED_AR_FOR_TARGET%g
+s%@CONFIGURED_AS_FOR_TARGET@%$CONFIGURED_AS_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_AS_FOR_TARGET@%$ncn_cv_CONFIGURED_AS_FOR_TARGET%g
+s%@CONFIGURED_DLLTOOL_FOR_TARGET@%$CONFIGURED_DLLTOOL_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET@%$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET%g
+s%@CONFIGURED_LD_FOR_TARGET@%$CONFIGURED_LD_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_LD_FOR_TARGET@%$ncn_cv_CONFIGURED_LD_FOR_TARGET%g
+s%@CONFIGURED_NM_FOR_TARGET@%$CONFIGURED_NM_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_NM_FOR_TARGET@%$ncn_cv_CONFIGURED_NM_FOR_TARGET%g
+s%@CONFIGURED_RANLIB_FOR_TARGET@%$CONFIGURED_RANLIB_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_RANLIB_FOR_TARGET@%$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET%g
+s%@CONFIGURED_WINDRES_FOR_TARGET@%$CONFIGURED_WINDRES_FOR_TARGET%g
+s%@ncn_cv_CONFIGURED_WINDRES_FOR_TARGET@%$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET%g
s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g
s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g
@@ -4313,9 +4792,18 @@ s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g
s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g
s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
+s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
+s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
+s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
+s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
+s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
+s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
+s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
s%@MAINT@%$MAINT%g
+s%@stage1_cflags@%$stage1_cflags%g
+s%@stage2_werror_flag@%$stage2_werror_flag%g
CEOF
EOF
diff --git a/configure.in b/configure.in
index bfbb6a1..86bc127 100644
--- a/configure.in
+++ b/configure.in
@@ -612,7 +612,7 @@ case "${target}" in
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
- noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
target_configdirs="$target_configdirs target-winsup"
@@ -634,7 +634,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
;;
rs6000-*-aix*)
- noconfigdirs="$noconfigdirs gprof target-libada target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
rs6000-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}"
@@ -643,8 +643,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
;;
mips*-*-irix5*)
- # The GNU linker does not support shared libraries.
- noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
;;
mips*-*-irix6*)
# Linking libjava exceeds command-line length limits on at least
@@ -662,6 +661,9 @@ case "${target}" in
mipstx39-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
;;
+ mips64*-*-linux*)
+ noconfigdirs="$noconfigdirs target-newlib ${libgcj}"
+ ;;
mips*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
@@ -744,273 +746,6 @@ case "${noconfigdirs}" in
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
esac
-# Figure out what language subdirectories are present.
-# Look if the user specified --enable-languages="..."; if not, use
-# the environment variable $LANGUAGES if defined. $LANGUAGES might
-# go away some day.
-# NB: embedded tabs in this IF block -- do not untabify
-if test x"${enable_languages+set}" != xset; then
- if test x"${LANGUAGES+set}" = xset; then
- enable_languages="${LANGUAGES}"
- echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
- else
- enable_languages=all
- fi
-else
- if test x"${enable_languages}" = x ||
- test x"${enable_languages}" = xyes;
- then
- echo configure.in: --enable-languages needs at least one language argument 1>&2
- exit 1
- fi
-fi
-enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
-
-# First scan to see if an enabled language requires some other language.
-# We assume that a given config-lang.in will list all the language
-# front ends it requires, even if some are required indirectly.
-for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
- case ${lang_frag} in
- ..) ;;
- # The odd quoting in the next line works around
- # an apparent bug in bash 1.12 on linux.
- ${srcdir}/gcc/[[*]]/config-lang.in) ;;
- *)
- # From the config-lang.in, get $language, $lang_requires
- language=
- lang_requires=
- . ${lang_frag}
- for other in ${lang_requires} ; do
- case ,${enable_languages}, in
- *,$other,*) ;;
- *,all,*) ;;
- *,$language,*)
- echo " \`$other' language required by \`$language'; enabling" 1>&2
- enable_languages="${enable_languages},${other}"
- ;;
- esac
- done
- ;;
- esac
-done
-
-for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
- case ${lang_frag} in
- ..) ;;
- # The odd quoting in the next line works around
- # an apparent bug in bash 1.12 on linux.
- ${srcdir}/gcc/[[*]]/config-lang.in) ;;
- *)
- # From the config-lang.in, get $language, $target_libs,
- # $lang_dirs, and $build_by_default
- language=
- target_libs=
- lang_dirs=
- build_by_default=
- . ${lang_frag}
- if test "x$language" = x ; then
- echo "${lang_frag} doesn't set \$language." 1>&2
- exit 1
- fi
- case ,${enable_languages}, in
- *,${language},*)
- # Language was explicitly selected; include it.
- add_this_lang=yes
- ;;
- *,all,*)
- # 'all' was selected; include 'default' languages.
- case ${build_by_default} in
- no) add_this_lang=no ;;
- *) add_this_lang=yes ;;
- esac
- ;;
- *) add_this_lang=no ;;
- esac
- case ${add_this_lang} in
- no)
- # Remove language-dependent dirs.
- eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
- ;;
- esac
- ;;
- esac
-done
-
-# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
-# $target_configdirs.
-# If we have the source for $noconfigdirs entries, add them to $notsupp.
-
-notsupp=""
-for dir in . $skipdirs $noconfigdirs ; do
- dirname=`echo $dir | sed -e s/target-//g`
- if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
- if test -r $srcdir/$dirname/configure ; then
- if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- true
- else
- notsupp="$notsupp $dir"
- fi
- fi
- fi
- if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
- if test -r $srcdir/$dirname/configure ; then
- if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- true
- else
- notsupp="$notsupp $dir"
- fi
- fi
- fi
-done
-
-# Sometimes the tools are distributed with libiberty but with no other
-# libraries. In that case, we don't want to build target-libiberty.
-if test -n "${target_configdirs}" ; then
- others=
- for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
- if test "$i" != "libiberty" ; then
- if test -r $srcdir/$i/configure ; then
- others=yes;
- break;
- fi
- fi
- done
- if test -z "${others}" ; then
- target_configdirs=
- fi
-fi
-
-# Quietly strip out all directories which aren't configurable in this tree.
-# This relies on all configurable subdirectories being autoconfiscated, which
-# is now the case.
-configdirs_all="$configdirs"
-configdirs=
-for i in ${configdirs_all} ; do
- if test -f ${srcdir}/$i/configure ; then
- configdirs="${configdirs} $i"
- fi
-done
-target_configdirs_all="$target_configdirs"
-target_configdirs=
-for i in ${target_configdirs_all} ; do
- j=`echo $i | sed -e s/target-//g`
- if test -f ${srcdir}/$j/configure ; then
- target_configdirs="${target_configdirs} $i"
- fi
-done
-
-# Produce a warning message for the subdirs we can't configure.
-# This isn't especially interesting in the Cygnus tree, but in the individual
-# FSF releases, it's important to let people know when their machine isn't
-# supported by the one or two programs in a package.
-
-if test -n "${notsupp}" && test -z "${norecursion}" ; then
- # If $appdirs is non-empty, at least one of those directories must still
- # be configured, or we error out. (E.g., if the gas release supports a
- # specified target in some subdirs but not the gas subdir, we shouldn't
- # pretend that all is well.)
- if test -n "$appdirs" ; then
- for dir in $appdirs ; do
- if test -r $dir/Makefile.in ; then
- if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- appdirs=""
- break
- fi
- if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
- appdirs=""
- break
- fi
- fi
- done
- if test -n "$appdirs" ; then
- echo "*** This configuration is not supported by this package." 1>&2
- exit 1
- fi
- fi
- # Okay, some application will build, or we don't care to check. Still
- # notify of subdirs not getting built.
- echo "*** This configuration is not supported in the following subdirectories:" 1>&2
- echo " ${notsupp}" 1>&2
- echo " (Any other directories should still work fine.)" 1>&2
-fi
-
-case "$host" in
- *msdosdjgpp*)
- enable_gdbtk=no ;;
-esac
-
-copy_dirs=
-
-# Handle --with-headers=XXX. If the value is not "yes", the contents of
-# the named directory are copied to $(tooldir)/sys-include.
-if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-headers is only supported when cross compiling
- exit 1
- fi
- if test x"${with_headers}" != xyes ; then
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
- fi
-fi
-
-# Handle --with-libs=XXX. If the value is not "yes", the contents of
-# the name directories are copied to $(tooldir)/lib. Multiple directories
-# are permitted.
-if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-libs is only supported when cross compiling
- exit 1
- fi
- if test x"${with_libs}" != xyes ; then
- # Copy the libraries in reverse order, so that files in the first named
- # library override files in subsequent libraries.
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- for l in ${with_libs}; do
- copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
- done
- fi
-fi
-
-# Handle ${copy_dirs}
-set fnord ${copy_dirs}
-shift
-while test $# != 0 ; do
- if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
- :
- else
- echo Copying $1 to $2
-
- # Use the install script to create the directory and all required
- # parent directories.
- if test -d $2 ; then
- :
- else
- echo >config.temp
- ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
- fi
-
- # Copy the directory, assuming we have tar.
- # FIXME: Should we use B in the second tar? Not all systems support it.
- (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
-
- # It is the responsibility of the user to correctly adjust all
- # symlinks. If somebody can figure out how to handle them correctly
- # here, feel free to add the code.
-
- echo $1 > $2/COPIED
- fi
- shift; shift
-done
-
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
host_makefile_frag=/dev/null
@@ -1162,120 +897,6 @@ case "${host}" in
esac
fi
-extra_arflags_for_target=
-extra_nmflags_for_target=
-extra_ranlibflags_for_target=
-target_makefile_frag=/dev/null
-case "${target}" in
- i[[3456789]]86-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- powerpc-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- *-*-linux*)
- target_makefile_frag="config/mt-linux"
- ;;
- *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
- # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
- # commands to handle both 32-bit and 64-bit objects. These flags are
- # harmless if we're using GNU nm or ar.
- extra_arflags_for_target=" -X32_64"
- extra_nmflags_for_target=" -B -X32_64"
- ;;
- *-*-darwin*)
- # ranlib from Darwin requires the -c flag to look at common symbols.
- extra_ranlibflags_for_target=" -c"
- ;;
- mips*-*-pe | sh*-*-pe | *arm-wince-pe)
- target_makefile_frag="config/mt-wince"
- ;;
-esac
-
-alphaieee_frag=/dev/null
-case $target in
- alpha*-*-*)
- # This just makes sure to use the -mieee option to build target libs.
- # This should probably be set individually by each library.
- alphaieee_frag="config/mt-alphaieee"
- ;;
-esac
-
-# If --enable-target-optspace always use -Os instead of -O2 to build
-# the target libraries, similarly if it is not specified, use -Os
-# on selected platforms.
-ospace_frag=/dev/null
-case "${enable_target_optspace}:${target}" in
- yes:*)
- ospace_frag="config/mt-ospace"
- ;;
- :d30v-*)
- ospace_frag="config/mt-d30v"
- ;;
- :m32r-* | :d10v-* | :fr30-*)
- ospace_frag="config/mt-ospace"
- ;;
- no:* | :*)
- ;;
- *)
- echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
- ;;
-esac
-
-# Set with_gnu_as and with_gnu_ld as appropriate.
-#
-# This is done by determining whether or not the appropriate directory
-# is available, and by checking whether or not specific configurations
-# have requested that this magic not happen.
-#
-# The command line options always override the explicit settings in
-# configure.in, and the settings in configure.in override this magic.
-#
-# If the default for a toolchain is to use GNU as and ld, and you don't
-# want to do that, then you should use the --without-gnu-as and
-# --without-gnu-ld options for the configure script.
-
-if test x${use_gnu_as} = x &&
- echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
- with_gnu_as=yes
- extra_host_args="$extra_host_args --with-gnu-as"
-fi
-
-if test x${use_gnu_ld} = x &&
- echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
- with_gnu_ld=yes
- extra_host_args="$extra_host_args --with-gnu-ld"
-fi
-
-# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
-# can detect this case.
-
-if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
- with_newlib=yes
- extra_host_args="$extra_host_args --with-newlib"
-fi
-
-
-# Default to using --with-stabs for certain targets.
-if test x${with_stabs} = x ; then
- case "${target}" in
- mips*-*-irix[[56]]*)
- ;;
- mips*-*-* | alpha*-*-osf*)
- with_stabs=yes;
- extra_host_args="${extra_host_args} --with-stabs"
- ;;
- esac
-fi
-
-# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
-# them automatically.
-case "${host}" in
- hppa*64*-*-hpux11*)
- extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
- ;;
-esac
-
# If we aren't going to be using gcc, see if we can extract a definition
# of CC from the fragment.
# Actually, use the 'pre-extracted' version above.
@@ -1295,68 +916,6 @@ if test -z "${CC}" && test "${build}" = "${host}" ; then
fi
fi
-# Some systems (e.g., one of the i386-aix systems the gas testers are
-# using) don't handle "\$" correctly, so don't use it here.
-tooldir='${exec_prefix}'/${target_alias}
-build_tooldir=${tooldir}
-
-# Generate a default definition for YACC. This is used if the makefile can't
-# locate bison or byacc in objdir.
-
-for prog in 'bison -y' byacc yacc
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_YACC="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_YACC" && break
-done
-
-# Generate a default definition for M4. This is used if the makefile can't
-# locate m4 in objdir.
-
-for prog in gm4 gnum4 m4
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_M4="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_M4" && break
-done
-
-# Generate a default definition for LEX. This is used if the makefile can't
-# locate flex in objdir.
-
-for prog in flex lex
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_LEX="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_LEX" && break
-done
-
if test "${build}" != "${host}" ; then
# If we are doing a Canadian Cross, in which the host and build systems
# are not the same, we set reasonable default values for the tools.
@@ -1508,50 +1067,443 @@ EOF
CXXFLAGS=${CXXFLAGS-"-g -O2"}
fi
-# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
-# Set up the list of links to be made.
-# ${links} is the list of link names, and ${files} is the list of names to link to.
+ACX_PROG_GNAT
+ACX_PROG_CMP_IGNORE_INITIAL
-# Make the links.
-configlinks="${links}"
-if test -r ./config.status ; then
- mv -f ./config.status ./config.back
-fi
-while test -n "${files}" ; do
- # set file to car of files, files to cdr of files
- set ${files}; file=$1; shift; files=$*
- set ${links}; link=$1; shift; links=$*
-
- if test ! -r ${srcdir}/${file} ; then
- if test ! -r ${file} ; then
- echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
- exit 1
+# By default, C is the only stage 1 language.
+stage1_languages=c
+AC_SUBST(stage1_languages)
+
+# Figure out what language subdirectories are present.
+# Look if the user specified --enable-languages="..."; if not, use
+# the environment variable $LANGUAGES if defined. $LANGUAGES might
+# go away some day.
+# NB: embedded tabs in this IF block -- do not untabify
+if test -d ${srcdir}/gcc; then
+ if test x"${enable_languages+set}" != xset; then
+ if test x"${LANGUAGES+set}" = xset; then
+ enable_languages="${LANGUAGES}"
+ echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
else
- srcfile=${file}
+ enable_languages=all
fi
else
- srcfile=${srcdir}/${file}
+ if test x"${enable_languages}" = x ||
+ test x"${enable_languages}" = xyes;
+ then
+ echo configure.in: --enable-languages needs at least one language argument 1>&2
+ exit 1
+ fi
fi
+ enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
+
+ # First scan to see if an enabled language requires some other language.
+ # We assume that a given config-lang.in will list all the language
+ # front ends it requires, even if some are required indirectly.
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[[*]]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $lang_requires
+ language=
+ lang_requires=
+ . ${lang_frag}
+ for other in ${lang_requires} ; do
+ case ,${enable_languages}, in
+ *,$other,*) ;;
+ *,all,*) ;;
+ *,$language,*)
+ echo " \`$other' language required by \`$language'; enabling" 1>&2
+ enable_languages="${enable_languages},${other}"
+ ;;
+ esac
+ done
+ ;;
+ esac
+ done
- ${remove} -f ${link}
- # Make a symlink if possible, otherwise try a hard link
- if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
- true
- else
- # We need to re-remove the file because Lynx leaves a
- # very strange directory there when it fails an NFS symlink.
- ${remove} -r -f ${link}
- ${hard_link} ${srcfile} ${link}
+ new_enable_languages=c
+ missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[[*]]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $target_libs,
+ # $lang_dirs, $boot_language, and $build_by_default
+ language=
+ target_libs=
+ lang_dirs=
+ boot_language=
+ build_by_default=
+ . ${lang_frag}
+ # This is quite sensitive to the ordering of the case statement arms.
+ case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
+ *::*:*)
+ echo "${lang_frag} doesn't set \$language." 1>&2
+ exit 1
+ ;;
+ *:ada:no:*)
+ # Ada was requested with no preexisting GNAT. Disable unconditionally.
+ add_this_lang=no
+ ;;
+ *,${language},*:*:*:*)
+ # Language was explicitly selected; include it.
+ add_this_lang=yes
+ ;;
+ *,all,*:*:*:no)
+ # 'all' was selected, but this is not a default language
+ # so do not include it.
+ add_this_lang=no
+ ;;
+ *,all,*:*:*:*)
+ # 'all' was selected and this is a default language; include it.
+ add_this_lang=yes
+ ;;
+ *)
+ add_this_lang=no
+ ;;
+ esac
+ case $add_this_lang in
+ no)
+ # Remove language-dependent dirs.
+ eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
+ ;;
+ *)
+ new_enable_languages="$new_enable_languages,$language"
+ missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
+ case ${boot_language} in
+ yes)
+ # Add to (comma-separated) list of stage 1 languages.
+ stage1_languages="${stage1_languages},${language}"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+
+ missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
+ if test "x$missing_languages" != x; then
+ AC_MSG_ERROR([
+The following requested languages were not found: ${missing_languages}])
+ fi
+
+ if test "x$new_enable_languages" != "x$enable_languages"; then
+ echo The following languages will be built: ${new_enable_languages}
+ fi
+ enable_languages="$new_enable_languages"
+ ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
+fi
+
+# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
+# $target_configdirs.
+# If we have the source for $noconfigdirs entries, add them to $notsupp.
+
+notsupp=""
+for dir in . $skipdirs $noconfigdirs ; do
+ dirname=`echo $dir | sed -e s/target-//g`
+ if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+ if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+done
+
+# Sometimes the tools are distributed with libiberty but with no other
+# libraries. In that case, we don't want to build target-libiberty.
+if test -n "${target_configdirs}" ; then
+ others=
+ for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
+ if test "$i" != "libiberty" ; then
+ if test -r $srcdir/$i/configure ; then
+ others=yes;
+ break;
+ fi
+ fi
+ done
+ if test -z "${others}" ; then
+ target_configdirs=
fi
- if test ! -r ${link} ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
+fi
+
+# Quietly strip out all directories which aren't configurable in this tree.
+# This relies on all configurable subdirectories being autoconfiscated, which
+# is now the case.
+configdirs_all="$configdirs"
+configdirs=
+for i in ${configdirs_all} ; do
+ if test -f ${srcdir}/$i/configure ; then
+ configdirs="${configdirs} $i"
+ fi
+done
+target_configdirs_all="$target_configdirs"
+target_configdirs=
+for i in ${target_configdirs_all} ; do
+ j=`echo $i | sed -e s/target-//g`
+ if test -f ${srcdir}/$j/configure ; then
+ target_configdirs="${target_configdirs} $i"
+ fi
+done
+
+# Produce a warning message for the subdirs we can't configure.
+# This isn't especially interesting in the Cygnus tree, but in the individual
+# FSF releases, it's important to let people know when their machine isn't
+# supported by the one or two programs in a package.
+
+if test -n "${notsupp}" && test -z "${norecursion}" ; then
+ # If $appdirs is non-empty, at least one of those directories must still
+ # be configured, or we error out. (E.g., if the gas release supports a
+ # specified target in some subdirs but not the gas subdir, we shouldn't
+ # pretend that all is well.)
+ if test -n "$appdirs" ; then
+ for dir in $appdirs ; do
+ if test -r $dir/Makefile.in ; then
+ if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ fi
+ done
+ if test -n "$appdirs" ; then
+ echo "*** This configuration is not supported by this package." 1>&2
+ exit 1
+ fi
+ fi
+ # Okay, some application will build, or we don't care to check. Still
+ # notify of subdirs not getting built.
+ echo "*** This configuration is not supported in the following subdirectories:" 1>&2
+ echo " ${notsupp}" 1>&2
+ echo " (Any other directories should still work fine.)" 1>&2
+fi
+
+case "$host" in
+ *msdosdjgpp*)
+ enable_gdbtk=no ;;
+esac
+
+copy_dirs=
+
+# Handle --with-headers=XXX. If the value is not "yes", the contents of
+# the named directory are copied to $(tooldir)/sys-include.
+if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-headers is only supported when cross compiling
+ exit 1
+ fi
+ if test x"${with_headers}" != xyes ; then
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+ fi
+fi
+
+# Handle --with-libs=XXX. If the value is not "yes", the contents of
+# the name directories are copied to $(tooldir)/lib. Multiple directories
+# are permitted.
+if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-libs is only supported when cross compiling
exit 1
fi
+ if test x"${with_libs}" != xyes ; then
+ # Copy the libraries in reverse order, so that files in the first named
+ # library override files in subsequent libraries.
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ for l in ${with_libs}; do
+ copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+ done
+ fi
+fi
- echo "Linked \"${link}\" to \"${srcfile}\"."
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while test $# != 0 ; do
+ if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
+ :
+ else
+ echo Copying $1 to $2
+
+ # Use the install script to create the directory and all required
+ # parent directories.
+ if test -d $2 ; then
+ :
+ else
+ echo >config.temp
+ ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
+ fi
+
+ # Copy the directory, assuming we have tar.
+ # FIXME: Should we use B in the second tar? Not all systems support it.
+ (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+ # It is the responsibility of the user to correctly adjust all
+ # symlinks. If somebody can figure out how to handle them correctly
+ # here, feel free to add the code.
+
+ echo $1 > $2/COPIED
+ fi
+ shift; shift
done
+extra_arflags_for_target=
+extra_nmflags_for_target=
+extra_ranlibflags_for_target=
+target_makefile_frag=/dev/null
+case "${target}" in
+ i[[3456789]]86-*-netware*)
+ target_makefile_frag="config/mt-netware"
+ ;;
+ powerpc-*-netware*)
+ target_makefile_frag="config/mt-netware"
+ ;;
+ *-*-linux*)
+ target_makefile_frag="config/mt-linux"
+ ;;
+ *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
+ # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
+ # commands to handle both 32-bit and 64-bit objects. These flags are
+ # harmless if we're using GNU nm or ar.
+ extra_arflags_for_target=" -X32_64"
+ extra_nmflags_for_target=" -B -X32_64"
+ ;;
+ *-*-darwin*)
+ # ranlib from Darwin requires the -c flag to look at common symbols.
+ extra_ranlibflags_for_target=" -c"
+ ;;
+ mips*-*-pe | sh*-*-pe | *arm-wince-pe)
+ target_makefile_frag="config/mt-wince"
+ ;;
+esac
+
+alphaieee_frag=/dev/null
+case $target in
+ alpha*-*-*)
+ # This just makes sure to use the -mieee option to build target libs.
+ # This should probably be set individually by each library.
+ alphaieee_frag="config/mt-alphaieee"
+ ;;
+esac
+
+# If --enable-target-optspace always use -Os instead of -O2 to build
+# the target libraries, similarly if it is not specified, use -Os
+# on selected platforms.
+ospace_frag=/dev/null
+case "${enable_target_optspace}:${target}" in
+ yes:*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ :d30v-*)
+ ospace_frag="config/mt-d30v"
+ ;;
+ :m32r-* | :d10v-* | :fr30-*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ no:* | :*)
+ ;;
+ *)
+ echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
+ ;;
+esac
+
+# Set with_gnu_as and with_gnu_ld as appropriate.
+#
+# This is done by determining whether or not the appropriate directory
+# is available, and by checking whether or not specific configurations
+# have requested that this magic not happen.
+#
+# The command line options always override the explicit settings in
+# configure.in, and the settings in configure.in override this magic.
+#
+# If the default for a toolchain is to use GNU as and ld, and you don't
+# want to do that, then you should use the --without-gnu-as and
+# --without-gnu-ld options for the configure script.
+
+if test x${use_gnu_as} = x &&
+ echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
+ with_gnu_as=yes
+ extra_host_args="$extra_host_args --with-gnu-as"
+fi
+
+if test x${use_gnu_ld} = x &&
+ echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
+ with_gnu_ld=yes
+ extra_host_args="$extra_host_args --with-gnu-ld"
+fi
+
+# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
+# can detect this case.
+
+if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
+ with_newlib=yes
+ extra_host_args="$extra_host_args --with-newlib"
+fi
+
+
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+ case "${target}" in
+ mips*-*-irix[[56]]*)
+ ;;
+ mips*-*-* | alpha*-*-osf*)
+ with_stabs=yes;
+ extra_host_args="${extra_host_args} --with-stabs"
+ ;;
+ esac
+fi
+
+# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
+# them automatically.
+case "${host}" in
+ hppa*64*-*-hpux11*)
+ extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
+ ;;
+esac
+
+# Some systems (e.g., one of the i386-aix systems the gas testers are
+# using) don't handle "\$" correctly, so don't use it here.
+tooldir='${exec_prefix}'/${target_alias}
+build_tooldir=${tooldir}
+
+# Generate default definitions for YACC, M4, LEX. These are used if the
+# Makefile can't locate these programs in objdir.
+MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
+AC_CHECK_PROGS([DEFAULT_YACC], ['bison -y' byacc yacc], [$MISSING bison])
+AC_CHECK_PROGS([DEFAULT_M4], [gm4 gnum4 m4], [$MISSING m4])
+AC_CHECK_PROGS([DEFAULT_LEX], [flex lex], [$MISSING flex])
+
# Create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
@@ -1781,21 +1733,21 @@ AC_SUBST_FILE(serialization_dependencies)
# at the end of the argument list.
# These will be expanded by make, so quote '$'.
cat <<\EOF_SED > conftestsed
-s/ --no[[^ ]]* / /
-s/ --c[[a-z-]]*[[= ]][[^ ]]* / /
-s/ --sr[[a-z-]]*[[= ]][[^ ]]* / /
-s/ --ho[[a-z-]]*[[= ]][[^ ]]* / /
-s/ --bu[[a-z-]]*[[= ]][[^ ]]* / /
-s/ --t[[a-z-]]*[[= ]][[^ ]]* / /
-s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]* / /
-s/ -cache-file[[= ]][[^ ]]* / /
-s/ -srcdir[[= ]][[^ ]]* / /
-s/ -host[[= ]][[^ ]]* / /
-s/ -build[[= ]][[^ ]]* / /
-s/ -target[[= ]][[^ ]]* / /
-s/ -program-prefix[[= ]][[^ ]]* / /
-s/ -program-suffix[[= ]][[^ ]]* / /
-s/ -program-transform-name[[= ]][[^ ]]* / /
+s/ --no[[^ ]]*/ /g
+s/ --c[[a-z-]]*[[= ]][[^ ]]*//g
+s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g
+s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g
+s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g
+s/ --t[[a-z-]]*[[= ]][[^ ]]*//g
+s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g
+s/ -cache-file[[= ]][[^ ]]*//g
+s/ -srcdir[[= ]][[^ ]]*//g
+s/ -host[[= ]][[^ ]]*//g
+s/ -build[[= ]][[^ ]]*//g
+s/ -target[[= ]][[^ ]]*//g
+s/ -program-prefix[[= ]][[^ ]]*//g
+s/ -program-suffix[[= ]][[^ ]]*//g
+s/ -program-transform-name[[= ]][[^ ]]*//g
s/ [[^' -][^ ]*] / /
s/^ *//;s/ *$//
s,\$,$$,g
@@ -2044,7 +1996,6 @@ AC_SUBST(SET_LIB_PATH)
AC_SUBST(RPATH_ENVVAR)
AC_SUBST(BUILD_PREFIX)
AC_SUBST(BUILD_PREFIX_1)
-AC_SUBST(configlinks)
AC_SUBST(gcc_version_trigger)
AC_SUBST(gcc_version)
AC_SUBST(tooldir)
@@ -2094,13 +2045,13 @@ AC_SUBST(DEFAULT_LEX)
AC_SUBST(DEFAULT_M4)
# Target tools.
-NCN_STRICT_CHECK_TARGET_TOOL(AR_FOR_TARGET, ar)
-NCN_STRICT_CHECK_TARGET_TOOL(AS_FOR_TARGET, as)
-NCN_STRICT_CHECK_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
-NCN_STRICT_CHECK_TARGET_TOOL(LD_FOR_TARGET, ld)
-NCN_STRICT_CHECK_TARGET_TOOL(NM_FOR_TARGET, nm)
-NCN_STRICT_CHECK_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :)
-NCN_STRICT_CHECK_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :)
+NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres)
AC_SUBST(GCC_FOR_TARGET)
AC_SUBST(FLAGS_FOR_TARGET)
@@ -2126,7 +2077,24 @@ if test "x${build}" = "x${host}" ; then
NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
+else
+ # Just use the ones we found.
+ AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
+ AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
+ DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
+ LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
+ NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
+ RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
+ WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"
fi
+AC_SUBST(AR_FOR_TARGET)
+AC_SUBST(AS_FOR_TARGET)
+AC_SUBST(DLLTOOL_FOR_TARGET)
+AC_SUBST(LD_FOR_TARGET)
+AC_SUBST(NM_FOR_TARGET)
+AC_SUBST(RANLIB_FOR_TARGET)
+AC_SUBST(WINDRES_FOR_TARGET)
+
# Certain tools may need extra flags.
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
@@ -2151,4 +2119,37 @@ fi
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST(MAINT)dnl
+# ---------------------
+# GCC bootstrap support
+# ---------------------
+
+# Stage specific cflags for build.
+stage1_cflags="-g"
+case $build in
+ vax-*-*)
+ case ${GCC} in
+ yes) stage1_cflags="-g -Wa,-J" ;;
+ *) stage1_cflags="-g -J" ;;
+ esac ;;
+ powerpc-*-darwin*)
+ # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
+ # sources; use -no-cpp-precomp to get to GNU cpp.
+ # Apple's GCC has bugs in designated initializer handling, so disable
+ # that too.
+ stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
+ ;;
+esac
+AC_SUBST(stage1_cflags)
+
+# Enable -Werror in bootstrap stage2 and later.
+# Change the default to "no" on release branches.
+AC_ARG_ENABLE(werror,
+[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
+[enable_werror=yes])
+case ${enable_werror} in
+ yes) stage2_werror_flag="--enable-werror-always" ;;
+ *) stage2_werror_flag="" ;;
+esac
+AC_SUBST(stage2_werror_flag)
+
AC_OUTPUT(Makefile)
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 00a4a1f..d8eaa9e 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,88 @@
+2004-03-30 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r.opc (parse_hi16): Fixed shigh(0xffff8000) bug.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv.cpu (define-arch frv): Add fr450 mach.
+ (define-mach fr450): New.
+ (define-model fr450): New. Add profile units to every fr450 insn.
+ (define-attr UNIT): Add MDCUTSSI.
+ (define-attr FR450-MAJOR): New enum. Add to every fr450 insn.
+ (define-attr AUDIO): New boolean.
+ (f-LRAE, f-LRAD, f-LRAS, f-TLBPRopx, f-TLBPRL)
+ (f-LRA-null, f-TLBPR-null): New fields.
+ (scr0, scr1, scr2, scr3, imavr1, damvr1, cxnr, ttbr)
+ (tplr, tppr, tpxr, timerh, timerl, timerd, btbr): New SPRs.
+ (LRAE, LRAD, LRAS, TLBPRopx, TLBPRL): New operands.
+ (LRA-null, TLBPR-null): New macros.
+ (iacc-multiply-r-r, slass, scutss, int-arith-ss-r-r): Add AUDIO attr.
+ (load-real-address): New macro.
+ (lrai, lrad, tlbpr): New instructions.
+ (media-cut-acc, media-cut-acc-ss): Add fr450-major argument.
+ (mcut, mcuti, mcutss, mcutssi): Adjust accordingly.
+ (mdcutssi): Change UNIT attribute to MDCUTSSI.
+ (media-low-clear-semantics, media-scope-limit-semantics)
+ (media-quad-limit, media-quad-shift): New macros.
+ (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New instructions.
+ * frv.opc (frv_is_branch_major, frv_is_float_major, frv_is_media_major)
+ (frv_is_branch_insn, frv_is_float_insn, frv_is_media_insn)
+ (frv_vliw_reset, frv_vliw_add_insn): Handle bfd_mach_fr450.
+ (fr450_unit_mapping): New array.
+ (fr400_unit_mapping, fr500_unit_mapping, fr550_unit_mapping): Add entry
+ for new MDCUTSSI unit.
+ (fr450_check_insn_major_constraints): New function.
+ (check_insn_major_constraints): Use it.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv.cpu (nsdiv, nudiv, nsdivi, nudivi): Remove fr400 profiling unit.
+ (scutss): Change unit to I0.
+ (calll, callil, ccalll): Add missing FR550-MAJOR and profile unit.
+ (mqsaths): Fix FR400-MAJOR categorization.
+ (media-quad-multiply-cross-acc, media-quad-cross-multiply-cross-acc)
+ (media-quad-cross-multiply-acc): Change unit from MDUALACC to FMALL.
+ * frv.opc (fr400_check_insn_major_constraints): Check for (M-2,M-1)
+ combinations.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv.cpu (r-store, r-store-dual, r-store-quad): Delete.
+ (rstb, rsth, rst, rstd, rstq): Delete.
+ (rstbf, rsthf, rstf, rstdf, rstqf): Delete.
+
+2004-02-23 Nick Clifton <nickc@redhat.com>
+
+ * Apply these patches from Renesas:
+
+ 2004-02-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * cpu/m32r.opc (my_print_insn): Fixed incorrect output when
+ disassembling codes for 0x*2 addresses.
+
+ 2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * cpu/m32r.cpu: Add PIPE_O attribute to "pop" instruction.
+
+ 2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * cpu/m32r.cpu : Add new model m32r2.
+ Add new instructions.
+ Replace occurrances of 'Mitsubishi' with 'Renesas'.
+ Changed PIPE attr of push from O to OS.
+ Care for Little-endian of M32R.
+ * cpu/m32r.opc (CGEN_DIS_HASH, my_print_insn):
+ Care for Little-endian of M32R.
+ (parse_slo16): signed extension for value.
+
+2004-02-20 Andrew Cagney <cagney@redhat.com>
+
+ * m32r.opc, m32r.cpu: New files. Written by , Doug Evans, Nick
+ Clifton, Ben Elliston, Matthew Green, and Andrew Haley.
+
+ * sh.cpu, sh.opc, sh64-compact.cpu, sh64-media.cpu: New files, all
+ written by Ben Elliston.
+
2004-01-14 Richard Sandiford <rsandifo@redhat.com>
* frv.cpu (UNIT): Add IACC.
diff --git a/cpu/frv.cpu b/cpu/frv.cpu
index 28e7833..75b034c 100644
--- a/cpu/frv.cpu
+++ b/cpu/frv.cpu
@@ -28,7 +28,7 @@
(name frv) ; name of cpu architecture
(comment "Fujitsu FRV")
(insn-lsb0? #t)
- (machs frv fr550 fr500 fr400 tomcat simple)
+ (machs frv fr550 fr500 fr450 fr400 tomcat simple)
(isas frv)
)
@@ -1338,6 +1338,390 @@
)
)
+; FR450 machine
+(define-mach
+ (name fr450)
+ (comment "FR450 cpu")
+ (cpu frvbf)
+)
+(define-model
+ (name fr450) (comment "FR450 model") (attrs)
+ (mach fr450)
+ (pipeline all "" () ((fetch) (decode) (execute) (writeback)))
+ ; `state' is a list of variables for recording model state
+ (state
+ ; State items
+ ; These are all masks with each bit representing one register.
+ (prev-fp-load DI) ; Previous use of FR register was floating point load
+ (prev-fr-p4 DI) ; Previous use of FR register was media unit 4
+ (prev-fr-p6 DI) ; Previous use of FR register was media unit 6
+ (prev-acc-p2 DI) ; Previous use of ACC register was media unit 2
+ (prev-acc-p4 DI) ; Previous use of ACC register was media unit 4
+ (cur-fp-load DI) ; Current use of FR register is floating point load
+ (cur-fr-p4 DI) ; Current use of FR register is media unit 4
+ (cur-fr-p6 DI) ; Current use of FR register is media unit 6
+ (cur-acc-p2 DI) ; Current use of ACC register is media unit 2
+ (cur-acc-p4 DI) ; Current use of ACC register is media unit 4
+ )
+ (unit u-exec "Execution Unit" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Basic integer insn unit
+ (unit u-integer "Integer Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((GRk INT -1) (ICCi_1 INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Integer multiplication unit
+ (unit u-imul "Integer Multiplication Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((GRdoublek INT -1) (ICCi_1 INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Integer division unit
+ (unit u-idiv "Integer Division Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((GRk INT -1) (ICCi_1 INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Branch unit
+ (unit u-branch "Branch Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)
+ (ICCi_2 INT -1) (FCCi_2 INT -1)) ; inputs
+ ((pc)) ; outputs
+ () ; profile action (default)
+ )
+ ; Trap unit
+ (unit u-trap "Trap Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)
+ (ICCi_2 INT -1) (FCCi_2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Condition code check unit
+ (unit u-check "Check Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ICCi_3 INT -1) (FCCi_3 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; GR set half unit
+ (unit u-set-hilo "GR Set Half" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ ((GRkhi INT -1) (GRklo INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; GR load unit -- TODO doesn't handle quad
+ (unit u-gr-load "GR Load Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((GRk INT -1) (GRdoublek INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; GR store unit -- TODO doesn't handle quad
+ (unit u-gr-store "GR Store Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1) (GRk INT -1) (GRdoublek INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; FR load unit -- TODO doesn't handle quad
+ (unit u-fr-load "FR Load Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((FRintk INT -1) (FRdoublek INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; FR store unit -- TODO doesn't handle quad
+ (unit u-fr-store "FR Store Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1) (FRintk INT -1) (FRdoublek INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Swap unit
+ (unit u-swap "Swap Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ ((GRk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; FR Move to GR unit
+ (unit u-fr2gr "FR Move to GR Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRintk INT -1)) ; inputs
+ ((GRj INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; SPR Move to GR unit
+ (unit u-spr2gr "SPR Move to GR Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((spr INT -1)) ; inputs
+ ((GRj INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; GR Move to FR unit
+ (unit u-gr2fr "GR Move to FR Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; GR Move to SPR unit
+ (unit u-gr2spr "GR Move to SPR Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRj INT -1)) ; inputs
+ ((spr INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M1 -- see table 14-8 in the fr450 LSI
+ (unit u-media-1 "Media-1 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-1-quad "Media-1-quad unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-hilo "Media-hilo unit -- a variation of the Media-1 unit" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ ((FRkhi INT -1) (FRklo INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M2 -- see table 14-8 in the fr450 LSI
+ (unit u-media-2 "Media-2 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((ACC40Sk INT -1) (ACC40Uk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-2-quad "Media-2-quad unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((ACC40Sk INT -1) (ACC40Uk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-2-acc "Media-2-acc unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1)) ; inputs
+ ((ACC40Sk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-2-acc-dual "Media-2-acc-dual unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1)) ; inputs
+ ((ACC40Sk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-2-add-sub "Media-2-add-sub unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1)) ; inputs
+ ((ACC40Sk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-2-add-sub-dual "Media-2-add-sub-dual unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1)) ; inputs
+ ((ACC40Sk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M3 -- see table 14-8 in the fr450 LSI
+ (unit u-media-3 "Media-3 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-3-dual "Media-3-dual unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-3-quad "Media-3-quad unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M4 -- see table 14-8 in the fr450 LSI
+ (unit u-media-4 "Media-4 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1) (FRintj INT -1)) ; inputs
+ ((ACC40Sk INT -1) (FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-4-accg "Media-4-accg unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACCGi INT -1) (FRinti INT -1)) ; inputs
+ ((ACCGk INT -1) (FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-4-acc-dual "Media-4-acc-dual unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((ACC40Si INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-media-4-mclracca "Media-4 unit for MCLRACC with #A=1" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M6 -- see table 14-8 in the fr450 LSI
+ (unit u-media-6 "Media-6 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media unit M7 -- see table 14-8 in the fr450 LSI
+ (unit u-media-7 "Media-1 unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1) (FRintj INT -1)) ; inputs
+ ((FCCk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media Dual Expand unit
+ (unit u-media-dual-expand "Media Dual Expand unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRinti INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Media Dual half to byte unit
+ (unit u-media-dual-htob "Media Half to byte" ()
+ 1 1 ; issue done
+ () ; state
+ ((FRintj INT -1)) ; inputs
+ ((FRintk INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ ; Barrier unit
+ (unit u-barrier "Barrier unit" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Memory Barrier unit
+ (unit u-membar "Memory Barrier unit" ()
+ 1 1 ; issue done
+ () ; state
+ () ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Insn cache invalidate unit
+ (unit u-ici "Insn cache invalidate unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Data cache invalidate unit
+ (unit u-dci "Data cache invalidate unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Data cache flush unit
+ (unit u-dcf "Data cache flush unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Insn cache preload unit
+ (unit u-icpl "Insn cache preload unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Data cache preload unit
+ (unit u-dcpl "Data cache preload unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Insn cache unlock unit
+ (unit u-icul "Insn cache unlock unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ ; Data cache unlock unit
+ (unit u-dcul "Data cache unlock unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((GRi INT -1) (GRj INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+)
+
; Simple machine - single issue integer machine
(define-mach
(name simple)
@@ -1394,6 +1778,7 @@
SCAN ; scan, scani slotted differently on different machines
DCPL ; dcpl slotted differently on different machines
MDUALACC ; media dual acc slotted differently on different machines
+ MDCUTSSI ; mdcutssi insn slotted differently on different machines
MCLRACC-1; mclracc A==1 slotted differently on different machines
NUM_UNITS
)
@@ -1416,6 +1801,20 @@
(define-attr
(for insn)
(type enum)
+ (name FR450-MAJOR)
+ (comment "fr450 major insn categories")
+ ; The order of declaration is significant. Keep variations on the same major
+ ; together.
+ (values NONE
+ I-1 I-2 I-3 I-4 I-5
+ B-1 B-2 B-3 B-4 B-5 B-6
+ C-1 C-2
+ M-1 M-2 M-3 M-4 M-5 M-6
+ )
+)
+(define-attr
+ (for insn)
+ (type enum)
(name FR500-MAJOR)
(comment "fr500 major insn categories")
; The order of declaration is significant. Keep variations on the same major
@@ -1478,6 +1877,13 @@
(name PRESERVE-OVF)
(comment "Preserve value of MSR.OVF")
)
+; "Audio" instruction provided by the fr405 but not the original fr400 core.
+(define-attr
+ (for insn)
+ (type boolean)
+ (name AUDIO)
+ (comment "Audio instruction added with FR405")
+)
; null attribute -- used as a place holder for where an attribue is required.
(define-attr
(for insn)
@@ -1633,6 +2039,13 @@
pc)))
)
+(dnf f-LRAE "Load Real Address E flag" () 5 1)
+(dnf f-LRAD "Load Real Address D flag" () 4 1)
+(dnf f-LRAS "Load Real Address S flag" () 3 1)
+
+(dnf f-TLBPRopx "TLB Probe operation number" () 28 3)
+(dnf f-TLBPRL "TLB Probe L flag" () 25 1)
+
(dnf f-ICCi_1-null "null field" (RESERVED) 11 2)
(dnf f-ICCi_2-null "null field" (RESERVED) 26 2)
(dnf f-ICCi_3-null "null field" (RESERVED) 1 2)
@@ -1663,6 +2076,9 @@
(dnf f-misc-null-10 "null field" (RESERVED) 16 5)
(dnf f-misc-null-11 "null field" (RESERVED) 5 1)
+(dnf f-LRA-null "null field" (RESERVED) 2 3)
+(dnf f-TLBPR-null "null field" (RESERVED) 30 2)
+
(dnf f-LI-off "null field" (RESERVED) 25 1)
(dnf f-LI-on "null field" (RESERVED) 25 1)
@@ -2121,6 +2537,8 @@
(sr0 768) (sr1 769) (sr2 770) (sr3 771)
+ (scr0 832) (scr1 833) (scr2 834) (scr3 835)
+
(fsr0 1024) (fsr1 1025) (fsr2 1026) (fsr3 1027)
(fsr4 1028) (fsr5 1029) (fsr6 1030) (fsr7 1031)
(fsr8 1032) (fsr9 1033) (fsr10 1034) (fsr11 1035)
@@ -2355,7 +2773,11 @@
(dampr60 1916) (dampr61 1917) (dampr62 1918) (dampr63 1919)
(amcr 1920) (stbar 1921) (mmcr 1922)
- (dcr 2048) (brr 2049) (nmar 2050)
+ (iamvr1 1925) (damvr1 1927)
+ (cxnr 1936) (ttbr 1937) (tplr 1938) (tppr 1939)
+ (tpxr 1940)
+ (timerh 1952) (timerl 1953) (timerd 1954)
+ (dcr 2048) (brr 2049) (nmar 2050) (btbr 2051)
(ibar0 2052) (ibar1 2053) (ibar2 2054) (ibar3 2055)
(dbar0 2056) (dbar1 2057) (dbar2 2058) (dbar3 2059)
@@ -2516,7 +2938,7 @@
(define-hardware
(name h-iacc0)
(comment "64 bit signed accumulator")
- (attrs PROFILE VIRTUAL (MACH fr400))
+ (attrs PROFILE VIRTUAL (MACH fr400,fr450))
(type register DI (1))
(indices extern-keyword iacc0-names)
; The single 64-bit integer accumulator is made up of two 32 bit
@@ -2736,6 +3158,13 @@
(dnop label16 "18 bit pc relative address" () h-iaddr f-label16)
(dnop label24 "26 bit pc relative address" () h-iaddr f-label24)
+(dnop LRAE "Load Real Address E flag" () h-uint f-LRAE)
+(dnop LRAD "Load Real Address D flag" () h-uint f-LRAD)
+(dnop LRAS "Load Real Address S flag" () h-uint f-LRAS)
+
+(dnop TLBPRopx "TLB Probe operation number" () h-uint f-TLBPRopx)
+(dnop TLBPRL "TLB Probe L flag" () h-uint f-TLBPRL)
+
(define-operand
(name A0)
(comment "A==0 operand of mclracc")
@@ -2894,6 +3323,9 @@
(define-pmacro (misc-null-10) (f-misc-null-10 0))
(define-pmacro (misc-null-11) (f-misc-null-11 0))
+(define-pmacro (LRA-null) (f-LRA-null 0))
+(define-pmacro (TLBPR-null) (f-TLBPR-null 0))
+
(define-pmacro (LI-on) (f-LI-on 1))
(define-pmacro (LI-off) (f-LI-off 0))
@@ -2984,11 +3416,12 @@
(define-pmacro (int-logic-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRk")
(+ pack GRk op GRi (ICCi_1-null) ope GRj)
(set GRk (operation GRi GRj))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3001,24 +3434,26 @@
(dni not
("not")
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
("not$pack $GRj,$GRk")
(+ pack GRk OP_01 (rs-null) (ICCi_1-null) OPE2_06 GRj)
(set GRk (inv GRj))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
(dni sdiv
"signed division"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"sdiv$pack $GRi,$GRj,$GRk"
(+ pack GRk OP_00 GRi (ICCi_1-null) OPE2_0E GRj)
(sequence ()
(c-call VOID "@cpu@_signed_integer_divide"
GRi GRj (index-of GRk) 0)
(clobber GRk))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
@@ -3032,20 +3467,20 @@
(c-call VOID "@cpu@_signed_integer_divide"
GRi GRj (index-of GRk) 1)
(clobber GRk))
- ((fr400 (unit u-idiv))
- (fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
+ ((fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
(dni udiv
"unsigned division reg/reg"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"udiv$pack $GRi,$GRj,$GRk"
(+ pack GRk OP_00 GRi (ICCi_1-null) OPE2_0F GRj)
(sequence ()
(c-call VOID "@cpu@_unsigned_integer_divide"
GRi GRj (index-of GRk) 0)
(clobber GRk))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
@@ -3059,8 +3494,7 @@
(c-call VOID "@cpu@_unsigned_integer_divide"
GRi GRj (index-of GRk) 1)
(clobber GRk))
- ((fr400 (unit u-idiv))
- (fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
+ ((fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
; Multiplication
@@ -3068,11 +3502,12 @@
(define-pmacro (multiply-r-r name signop op ope comment)
(dni name
(comment)
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRdoublek")
(+ pack GRdoublek op GRi (ICCi_1-null) ope GRj)
(set GRdoublek (mul DI (signop DI GRi) (signop DI GRj)))
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
)
@@ -3119,11 +3554,12 @@
(define-pmacro (iacc-multiply-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IACC) (FR400-MAJOR I-1) (MACH fr400))
+ ((UNIT IACC) (MACH fr400,fr450)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) AUDIO)
(.str name "$pack $GRi,$GRj")
(+ pack (rd-null) op GRi ope GRj)
((.sym iacc- operation) (mul DI (ext DI GRi) (ext DI GRj)))
- ((fr400 (unit u-integer)))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer)))
)
)
@@ -3134,11 +3570,12 @@
(define-pmacro (int-shift-r-r name op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRk")
(+ pack GRk op GRi (ICCi_1-null) ope GRj)
(set GRk (name GRi (and GRj #x1f)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3149,7 +3586,8 @@
(dni slass
"shift left arith reg/reg with saturation"
- ((UNIT IALL) (FR400-MAJOR I-1) (MACH fr400))
+ ((UNIT IALL) (MACH fr400,fr450)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) AUDIO)
"slass$pack $GRi,$GRj,$GRk"
(+ pack GRk OP_46 GRi OPE1_02 GRj)
(set GRk (c-call SI "@cpu@_shift_left_arith_saturate" GRi GRj))
@@ -3158,7 +3596,8 @@
(dni scutss
"Integer accumulator cut with saturation"
- ((UNIT IALL) (FR400-MAJOR I-1) (MACH fr400))
+ ((UNIT I0) (MACH fr400,fr450)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) AUDIO)
"scutss$pack $GRj,$GRk"
(+ pack GRk OP_46 (rs-null) OPE1_04 GRj)
(set GRk (c-call SI "@cpu@_iacc_cut" (reg h-iacc0 0) GRj))
@@ -3174,11 +3613,12 @@
(dni scan
"scan"
- ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"scan$pack $GRi,$GRj,$GRk"
(+ pack GRk OP_0B GRi (ICCi_1-null) OPE2_00 GRj)
(scan-semantics GRi GRj GRk)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
@@ -3187,12 +3627,13 @@
(define-pmacro (conditional-int-logic name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
(.str name "$pack $GRi,$GRj,$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
(set GRk (operation GRi GRj)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3205,29 +3646,32 @@
(dni cnot
"conditional not"
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"cnot$pack $GRj,$GRk,$CCi,$cond"
(+ pack GRk OP_5A (rs-null) CCi cond OPE4_3 GRj)
(if (eq CCi (or cond 2))
(set GRk (inv GRj)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
(dni csmul
"conditional signed multiply"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"csmul$pack $GRi,$GRj,$GRdoublek,$CCi,$cond"
(+ pack GRdoublek OP_58 GRi CCi cond OPE4_2 GRj)
(if (eq CCi (or cond 2))
(set GRdoublek (mul DI (ext DI GRi) (ext DI GRj))))
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
(dni csdiv
"conditional signed division"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"csdiv$pack $GRi,$GRj,$GRk,$CCi,$cond"
(+ pack GRk OP_58 GRi CCi cond OPE4_3 GRj)
(if (eq CCi (or cond 2))
@@ -3235,13 +3679,14 @@
(c-call VOID "@cpu@_signed_integer_divide"
GRi GRj (index-of GRk) 0)
(clobber GRk)))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
(dni cudiv
"conditional unsigned division"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"cudiv$pack $GRi,$GRj,$GRk,$CCi,$cond"
(+ pack GRk OP_59 GRi CCi cond OPE4_3 GRj)
(if (eq CCi (or cond 2))
@@ -3249,19 +3694,20 @@
(c-call VOID "@cpu@_unsigned_integer_divide"
GRi GRj (index-of GRk) 0)
(clobber GRk)))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
(define-pmacro (conditional-shift name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
(.str name "$pack $GRi,$GRj,$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
(set GRk (operation GRi (and GRj #x1f))))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3272,12 +3718,13 @@
(dni cscan
"conditional scan"
- ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"cscan$pack $GRi,$GRj,$GRk,$CCi,$cond"
(+ pack GRk OP_65 GRi CCi cond OPE4_3 GRj)
(if (eq CCi (or cond 2))
(scan-semantics GRi GRj GRk))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
@@ -3299,11 +3746,12 @@
(define-pmacro (int-arith-cc-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 ope GRj)
(int-arith-cc-semantics operation ICCi_1)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3321,11 +3769,12 @@
(define-pmacro (int-logic-cc-r-r name op ope comment)
(dni (.sym name cc)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str (.sym name cc) "$pack $GRi,$GRj,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 ope GRj)
(int-logic-cc-semantics name ICCi_1)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3348,11 +3797,12 @@
(define-pmacro (int-shift-cc-r-r name l-r op ope comment)
(dni (.sym name cc)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str (.sym name cc) "$pack $GRi,$GRj,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 ope GRj)
(int-shift-cc-semantics name l-r ICCi_1)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3374,11 +3824,12 @@
(define-pmacro (multiply-cc-r-r name signop op ope comment)
(dni name
(comment)
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRdoublek,$ICCi_1")
(+ pack GRdoublek op GRi ICCi_1 ope GRj)
(multiply-cc-semantics signop GRi GRj GRdoublek ICCi_1)
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
)
@@ -3392,13 +3843,14 @@
(define-pmacro (conditional-int-arith-cc name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
(.str name "$pack $GRi,$GRj,$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
(int-arith-cc-semantics operation
(reg h-iccr (and (index-of CCi) 3))))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3408,26 +3860,28 @@
(dni csmulcc
"conditional signed multiply and set condition code"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"csmulcc$pack $GRi,$GRj,$GRdoublek,$CCi,$cond"
(+ pack GRdoublek OP_59 GRi CCi cond OPE4_2 GRj)
(if (eq CCi (or cond 2))
(multiply-cc-semantics ext GRi GRj GRdoublek
(reg h-iccr (and (index-of CCi) 3))))
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
(define-pmacro (conditional-int-logic-cc name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
(.str name "$pack $GRi,$GRj,$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
(int-logic-cc-semantics operation
(reg h-iccr (and (index-of CCi) 3))))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3439,13 +3893,14 @@
(define-pmacro (conditional-int-shift-cc name l-r op ope comment)
(dni (.sym c name cc)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
(.str (.sym c name cc) "$pack $GRi,$GRj,$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
(int-shift-cc-semantics name l-r
(reg h-iccr (and (index-of CCi) 3))))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3459,11 +3914,12 @@
(define-pmacro (int-arith-x-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 ope GRj)
(set GRk ((.sym operation c) GRi GRj (cbit ICCi_1)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3474,7 +3930,8 @@
(define-pmacro (int-arith-x-cc-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$GRj,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 ope GRj)
(sequence ((WI tmp) (QI cc))
@@ -3485,7 +3942,7 @@
(set-z-and-n cc tmp)
(set GRk tmp)
(set ICCi_1 cc))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3497,7 +3954,8 @@
(define-pmacro (int-arith-ss-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT IALL) (FR400-MAJOR I-1) (MACH fr400))
+ ((UNIT IALL) (MACH fr400,fr450)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) AUDIO)
(.str name "$pack $GRi,$GRj,$GRk")
(+ pack GRk op GRi ope GRj)
(sequence ()
@@ -3512,7 +3970,7 @@
((lt GRi 0) (const #x80000000))
(else (const 0)))))
)
- ((fr400 (unit u-integer)))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer)))
)
)
@@ -3524,11 +3982,12 @@
(define-pmacro (int-logic-r-simm name operation op comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s12,$GRk")
(+ pack GRk op GRi s12)
(set GRk (operation GRi s12))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3541,14 +4000,15 @@
(dni sdivi
"signed division reg/immed"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"sdivi$pack $GRi,$s12,$GRk"
(+ pack GRk OP_1E GRi s12)
(sequence ()
(c-call VOID "@cpu@_signed_integer_divide"
GRi s12 (index-of GRk) 0)
(clobber GRk))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
@@ -3562,20 +4022,20 @@
(c-call VOID "@cpu@_signed_integer_divide"
GRi s12 (index-of GRk) 1)
(clobber GRk))
- ((fr400 (unit u-idiv))
- (fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
+ ((fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
(dni udivi
"unsigned division reg/immed"
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"udivi$pack $GRi,$s12,$GRk"
(+ pack GRk OP_1F GRi s12)
(sequence ()
(c-call VOID "@cpu@_unsigned_integer_divide"
GRi s12 (index-of GRk) 0)
(clobber GRk))
- ((fr400 (unit u-idiv))
+ ((fr400 (unit u-idiv)) (fr450 (unit u-idiv))
(fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
@@ -3589,18 +4049,18 @@
(c-call VOID "@cpu@_unsigned_integer_divide"
GRi s12 (index-of GRk) 1)
(clobber GRk))
- ((fr400 (unit u-idiv))
- (fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
+ ((fr500 (unit u-idiv)) (fr550 (unit u-idiv)))
)
(define-pmacro (multiply-r-simm name signop op comment)
(dni name
(comment)
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s12,$GRdoublek")
(+ pack GRdoublek op GRi s12)
(set GRdoublek (mul DI (signop DI GRi) (signop DI s12)))
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
)
@@ -3611,11 +4071,12 @@
(define-pmacro (int-shift-r-simm name op comment)
(dni (.sym name i)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str (.sym name i) "$pack $GRi,$s12,$GRk")
(+ pack GRk op GRi s12)
(set GRk (name GRi (and s12 #x1f)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3626,11 +4087,12 @@
(dni scani
"scan immediate"
- ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT SCAN) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"scani$pack $GRi,$s12,$GRk"
(+ pack GRk OP_47 GRi s12)
(scan-semantics GRi s12 GRk)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
@@ -3639,7 +4101,8 @@
(define-pmacro (int-arith-cc-r-simm name operation op comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s10,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 s10)
(sequence ((BI tmp) (QI cc) (SI result))
@@ -3652,7 +4115,7 @@
(set-z-and-n cc result)
(set GRk result)
(set ICCi_1 cc))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3663,14 +4126,15 @@
(define-pmacro (int-logic-cc-r-simm name op comment)
(dni (.sym name icc)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str (.sym name icc) "$pack $GRi,$s10,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 s10)
(sequence ((SI tmp))
(set tmp (name GRi s10))
(set GRk tmp)
(set-z-and-n ICCi_1 tmp))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3682,11 +4146,12 @@
(define-pmacro (multiply-cc-r-simm name signop op comment)
(dni name
(comment)
- ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2) (FR400-MAJOR I-1))
+ ((UNIT MULT-DIV) (FR500-MAJOR I-1) (FR550-MAJOR I-2)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s10,$GRdoublek,$ICCi_1")
(+ pack GRdoublek op GRi ICCi_1 s10)
(multiply-cc-semantics signop GRi s10 GRdoublek ICCi_1)
- ((fr400 (unit u-imul))
+ ((fr400 (unit u-imul)) (fr450 (unit u-imul))
(fr500 (unit u-imul)) (fr550 (unit u-imul)))
)
)
@@ -3697,7 +4162,8 @@
(define-pmacro (int-shift-cc-r-simm name l-r op comment)
(dni (.sym name icc)
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str (.sym name icc) "$pack $GRi,$s10,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 s10)
(sequence ((WI shift) (SI tmp) (QI cc))
@@ -3708,7 +4174,7 @@
(set GRk tmp)
(set-z-and-n cc tmp)
(set ICCi_1 cc))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3720,11 +4186,12 @@
(define-pmacro (int-arith-x-r-simm name operation op comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s10,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 s10)
(set GRk ((.sym operation c) GRi s10 (cbit ICCi_1)))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3735,7 +4202,8 @@
(define-pmacro (int-arith-x-cc-r-simm name operation op comment)
(dni name
(comment)
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
(.str name "$pack $GRi,$s10,$GRk,$ICCi_1")
(+ pack GRk op GRi ICCi_1 s10)
(sequence ((WI tmp) (QI cc))
@@ -3746,7 +4214,7 @@
(set-z-and-n cc tmp)
(set GRk tmp)
(set ICCi_1 cc))
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
)
@@ -3758,7 +4226,8 @@
(dni cmpb
"Compare bytes"
- ((UNIT IALL) (FR400-MAJOR I-1) (FR550-MAJOR I-1) (MACH fr400,fr550))
+ ((UNIT IALL) (MACH fr400,fr450,fr550) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"cmpb$pack $GRi,$GRj,$ICCi_1"
(+ pack (GRk-null) OP_00 GRi ICCi_1 OPE2_0C GRj)
(sequence ((QI cc))
@@ -3767,12 +4236,14 @@
(set-v cc (eq (and GRi #x0000ff00) (and GRj #x0000ff00)))
(set-c cc (eq (and GRi #x000000ff) (and GRj #x000000ff)))
(set ICCi_1 cc))
- ((fr400 (unit u-integer)) (fr550 (unit u-integer)))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
+ (fr550 (unit u-integer)))
)
(dni cmpba
"OR of Compare bytes"
- ((UNIT IALL) (FR400-MAJOR I-1) (FR550-MAJOR I-1) (MACH fr400,fr550))
+ ((UNIT IALL) (MACH fr400,fr450,fr550) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"cmpba$pack $GRi,$GRj,$ICCi_1"
(+ pack (GRk-null) OP_00 GRi ICCi_1 OPE2_0D GRj)
(sequence ((QI cc))
@@ -3785,49 +4256,54 @@
(eq (and GRi #x000000ff)
(and GRj #x000000ff))))))
(set ICCi_1 cc))
- ((fr400 (unit u-integer)) (fr550 (unit u-integer)))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
+ (fr550 (unit u-integer)))
)
; Format: Load immediate
;
(dni setlo
"set low order bits"
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"setlo$pack $ulo16,$GRklo"
(+ pack GRk OP_3D (misc-null-4) u16)
(set GRklo u16)
- ((fr400 (unit u-set-hilo))
+ ((fr400 (unit u-set-hilo)) (fr450 (unit u-set-hilo))
(fr500 (unit u-set-hilo)) (fr550 (unit u-set-hilo)))
)
(dni sethi
"set high order bits"
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"sethi$pack $uhi16,$GRkhi"
(+ pack GRkhi OP_3E (misc-null-4) u16)
(set GRkhi u16)
- ((fr400 (unit u-set-hilo))
+ ((fr400 (unit u-set-hilo)) (fr450 (unit u-set-hilo))
(fr500 (unit u-set-hilo)) (fr550 (unit u-set-hilo)))
)
(dni setlos
"set low order bits and extend sign"
- ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR550-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"setlos$pack $slo16,$GRk"
(+ pack GRk OP_3F (misc-null-4) s16)
(set GRk s16)
- ((fr400 (unit u-integer))
+ ((fr400 (unit u-integer)) (fr450 (unit u-integer))
(fr500 (unit u-integer)) (fr550 (unit u-integer)))
)
(define-pmacro (load-gr-r name mode op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2))
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2))
(.str name "$pack @($GRi,$GRj),$GRk")
(+ pack GRk op GRi ope GRj)
(set GRk (c-call mode (.str "@cpu@_read_mem_" mode) pc (add GRi GRj)))
- ((fr400 (unit u-gr-load))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
(fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
)
)
@@ -3841,11 +4317,12 @@
(define-pmacro (load-fr-r name mode op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) FR-ACCESS)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) FR-ACCESS)
(.str name "$pack @($GRi,$GRj),$FRintk")
(+ pack FRintk op GRi ope GRj)
(set FRintk (c-call mode (.str "@cpu@_read_mem_" mode) pc (add GRi GRj)))
- ((fr400 (unit u-fr-load))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
(fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
)
)
@@ -3940,7 +4417,8 @@
name not_gr mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) attr)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) attr)
(.str name "$pack @($GRi,$GRj),$" regtype "doublek")
(+ pack (.sym regtype doublek) op GRi ope GRj)
(sequence ((WI address))
@@ -3950,10 +4428,12 @@
)
(load-double-r-r ldd 0 DI OP_02 OPE1_05 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load double word")
(load-double-r-r lddf 1 DF OP_02 OPE1_0B FR FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load double float")
(load-double-r-r lddc 1 DI OP_02 OPE1_0E CPR (MACH frv) ()
"Load coprocessor double")
@@ -4044,11 +4524,12 @@
(define-pmacro (load-gr-u name mode op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2))
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2))
(.str name "$pack @($GRi,$GRj),$GRk")
(+ pack GRk op GRi ope GRj)
(load-gr-u-semantics mode)
- ((fr400 (unit u-gr-load))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
(fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
)
)
@@ -4089,11 +4570,12 @@
(define-pmacro (load-fr-u name mode op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) FR-ACCESS)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) FR-ACCESS)
(.str name "$pack @($GRi,$GRj),$FRintk")
(+ pack FRintk op GRi ope GRj)
(load-non-gr-u-semantics mode FRint)
- ((fr400 (unit u-fr-load))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
(fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
)
)
@@ -4144,11 +4626,12 @@
(define-pmacro (load-double-gr-u name op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2))
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2))
(.str name "$pack @($GRi,$GRj),$GRdoublek")
(+ pack GRdoublek op GRi ope GRj)
(load-double-gr-u-semantics)
- ((fr400 (unit u-gr-load))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
(fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
)
)
@@ -4182,7 +4665,8 @@
name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) attr)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) attr)
(.str name "$pack @($GRi,$GRj),$" regtype "doublek")
(+ pack (.sym regtype doublek) op GRi ope GRj)
(load-double-non-gr-u-semantics mode regtype)
@@ -4191,7 +4675,8 @@
)
(load-double-non-gr-u lddfu DF OP_02 OPE1_1B FR FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load double float, update index")
(load-double-non-gr-u lddcu DI OP_02 OPE1_1E CPR (MACH frv)
() "Load coprocessor double float, update index")
@@ -4289,7 +4774,8 @@
(define-pmacro (load-r-simm name mode op regtype attr profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) attr)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) attr)
(.str name "$pack @($GRi,$d12),$" regtype "k")
(+ pack (.sym regtype k) op GRi d12)
(set (.sym regtype k)
@@ -4299,29 +4785,37 @@
)
(load-r-simm ldsbi QI OP_30 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load signed byte")
(load-r-simm ldshi HI OP_31 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load signed half")
(load-r-simm ldi SI OP_32 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load word")
(load-r-simm ldubi UQI OP_35 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load unsigned byte")
(load-r-simm lduhi UHI OP_36 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load unsigned half")
(load-r-simm ldbfi UQI OP_38 FRint FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load byte float")
(load-r-simm ldhfi UHI OP_39 FRint FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load half float")
(load-r-simm ldfi SI OP_3A FRint FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load word float")
(define-pmacro (ne-load-r-simm
@@ -4362,7 +4856,8 @@
name not_gr mode op regtype attr profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) attr)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) attr)
(.str name "$pack @($GRi,$d12),$" regtype "doublek")
(+ pack (.sym regtype doublek) op GRi d12)
(sequence ((WI address))
@@ -4372,10 +4867,12 @@
)
(load-double-r-simm lddi 0 DI OP_33 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load double word")
(load-double-r-simm lddfi 1 DF OP_3B FR FR-ACCESS
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load double float")
(define-pmacro (ne-load-double-r-simm
@@ -4438,7 +4935,8 @@
(define-pmacro (store-r-r name mode op ope reg attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" reg "k,@($GRi,$GRj)")
(+ pack (.sym reg k) op GRi ope GRj)
(c-call VOID (.str "@cpu@_write_mem_" mode)
@@ -4448,57 +4946,33 @@
)
(store-r-r stb QI OP_03 OPE1_00 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned byte")
(store-r-r sth HI OP_03 OPE1_01 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned half")
(store-r-r st SI OP_03 OPE1_02 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store word")
(store-r-r stbf QI OP_03 OPE1_08 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store byte float")
(store-r-r sthf HI OP_03 OPE1_09 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store half float")
(store-r-r stf SI OP_03 OPE1_0A FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store word float")
(store-r-r stc SI OP_03 OPE1_25 CPR (MACH frv) () "Store coprocessor word")
-(define-pmacro (r-store name mode op ope reg size is_float profile comment)
- (dni name
- (comment)
- ((UNIT STORE) (FR500-MAJOR I-3) (MACH frv))
- (.str name "$pack $" reg "k,@($GRi,$GRj)")
- (+ pack (.sym reg k) op GRi ope GRj)
- (sequence ((WI address))
- (set address (add GRi GRj))
- (c-call VOID (.str "@cpu@_write_mem_" mode)
- pc address (.sym reg k))
- (c-call VOID "@cpu@_check_recovering_store"
- address (index-of (.sym reg k)) size is_float))
- profile
- )
-)
-
-(r-store rstb QI OP_03 OPE1_20 GR 1 0
- ((fr500 (unit u-gr-r-store))) "Store unsigned byte")
-(r-store rsth HI OP_03 OPE1_21 GR 2 0
- ((fr500 (unit u-gr-r-store))) "Store unsigned half")
-(r-store rst SI OP_03 OPE1_22 GR 4 0
- ((fr500 (unit u-gr-r-store))) "Store word")
-
-(r-store rstbf QI OP_03 OPE1_28 FRint 1 1
- ((fr500 (unit u-fr-r-store))) "Store byte float")
-(r-store rsthf HI OP_03 OPE1_29 FRint 2 1
- ((fr500 (unit u-fr-r-store))) "Store half float")
-(r-store rstf SI OP_03 OPE1_2A FRint 4 1
- ((fr500 (unit u-fr-r-store))) "Store word float")
-
; Semantics for a store-double insn
;
(define-pmacro (store-double-semantics mode regtype address arg)
@@ -4511,7 +4985,8 @@
(define-pmacro (store-double-r-r name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" regtype "doublek,@($GRi,$GRj)")
(+ pack (.sym regtype doublek) op GRi ope GRj)
(sequence ((WI address))
@@ -4521,35 +4996,17 @@
)
(store-double-r-r std DI OP_03 OPE1_03 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store double word")
(store-double-r-r stdf DF OP_03 OPE1_0B FR FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store double float")
(store-double-r-r stdc DI OP_03 OPE1_26 CPR (MACH frv)
() "Store coprocessor double word")
-(define-pmacro (r-store-double
- name mode op ope regtype is_float attr profile comment)
- (dni name
- (comment)
- ((UNIT STORE) (FR500-MAJOR I-3) (MACH frv) attr)
- (.str name "$pack $" regtype "doublek,@($GRi,$GRj)")
- (+ pack (.sym regtype doublek) op GRi ope GRj)
- (sequence ((WI address))
- (store-double-semantics mode regtype address GRj)
- (c-call VOID "@cpu@_check_recovering_store"
- address (index-of (.sym regtype doublek)) 8 is_float))
- profile
- )
-)
-
-(r-store-double rstd DI OP_03 OPE1_23 GR 0 NA
- ((fr500 (unit u-gr-r-store))) "Store double word")
-(r-store-double rstdf DF OP_03 OPE1_2B FR 1 FR-ACCESS
- ((fr500 (unit u-fr-r-store))) "Store double float")
-
; Semantics for a store-quad insn
;
(define-pmacro (store-quad-semantics regtype address arg)
@@ -4579,29 +5036,11 @@
(store-quad-r-r stqc OP_03 OPE1_27 CPR NA
() "Store coprocessor quad word")
-(define-pmacro (r-store-quad name op ope regtype is_float attr profile comment)
- (dni name
- (comment)
- ((UNIT STORE) (FR500-MAJOR I-3) (MACH frv) attr)
- (.str name "$pack $" regtype "k,@($GRi,$GRj)")
- (+ pack (.sym regtype k) op GRi ope GRj)
- (sequence ((WI address))
- (store-quad-semantics regtype address GRj)
- (c-call VOID "@cpu@_check_recovering_store"
- address (index-of (.sym regtype k)) 16 is_float))
- profile
- )
-)
-
-(r-store-quad rstq OP_03 OPE1_24 GR 0 NA
- ((fr500 (unit u-gr-r-store))) "Store quad word")
-(r-store-quad rstqf OP_03 OPE1_2C FRint 1 FR-ACCESS
- ((fr500 (unit u-fr-r-store))) "Store quad float")
-
(define-pmacro (store-r-r-u name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" regtype "k,@($GRi,$GRj)")
(+ pack (.sym regtype k) op GRi ope GRj)
(sequence ((UWI address))
@@ -4614,23 +5053,29 @@
)
(store-r-r-u stbu QI OP_03 OPE1_10 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned byte, update index")
(store-r-r-u sthu HI OP_03 OPE1_11 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned half, update index")
(store-r-r-u stu WI OP_03 OPE1_12 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store word, update index")
(store-r-r-u stbfu QI OP_03 OPE1_18 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store byte float, update index")
(store-r-r-u sthfu HI OP_03 OPE1_19 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store half float, update index")
(store-r-r-u stfu SI OP_03 OPE1_1A FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store word float, update index")
(store-r-r-u stcu SI OP_03 OPE1_2D CPR (MACH frv) ()
@@ -4640,7 +5085,8 @@
name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" regtype "doublek,@($GRi,$GRj)")
(+ pack (.sym regtype doublek) op GRi ope GRj)
(sequence ((WI address))
@@ -4651,10 +5097,12 @@
)
(store-double-r-r-u stdu DI OP_03 OPE1_13 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store double word, update index")
(store-double-r-r-u stdfu DF OP_03 OPE1_1B FR FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store double float,update index")
(store-double-r-r-u stdcu DI OP_03 OPE1_2E CPR (MACH frv) ()
"Store coprocessor double word, update index")
@@ -4684,7 +5132,8 @@
(define-pmacro (conditional-load name mode op ope regtype profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL)
(.str name "$pack @($GRi,$GRj),$" regtype "k,$CCi,$cond")
(+ pack (.sym regtype k) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4695,36 +5144,45 @@
)
(conditional-load cldsb QI OP_5E OPE4_0 GR
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load signed byte")
(conditional-load cldub UQI OP_5E OPE4_1 GR
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load unsigned byte")
(conditional-load cldsh HI OP_5E OPE4_2 GR
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load signed half")
(conditional-load clduh UHI OP_5E OPE4_3 GR
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load unsigned half")
(conditional-load cld SI OP_5F OPE4_0 GR
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load word")
(conditional-load cldbf UQI OP_60 OPE4_0 FRint
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load byte float")
(conditional-load cldhf UHI OP_60 OPE4_1 FRint
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load half float")
(conditional-load cldf SI OP_60 OPE4_2 FRint
- ((fr400 (unit u-fr-load)) (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
+ (fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
"Load word float")
(define-pmacro (conditional-load-double
name not_gr mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL attr)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL attr)
(.str name "$pack @($GRi,$GRj),$" regtype "doublek,$CCi,$cond")
(+ pack (.sym regtype doublek) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4735,10 +5193,12 @@
)
(conditional-load-double cldd 0 DI OP_5F OPE4_1 GR NA
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
"Load double word")
(conditional-load-double clddf 1 DF OP_60 OPE4_3 FR FR-ACCESS
- ((fr400 (unit u-gr-load)) (fr500 (unit u-gr-load)) (fr550 (unit u-fr-load)))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
+ (fr500 (unit u-gr-load)) (fr550 (unit u-fr-load)))
"Load double float")
(dni cldq
@@ -4755,7 +5215,8 @@
(define-pmacro (conditional-load-gr-u name mode op ope comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL)
(.str name "$pack @($GRi,$GRj),$GRk,$CCi,$cond")
(+ pack GRk op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4766,7 +5227,7 @@
pc address))
(if (ne (index-of GRi) (index-of GRk))
(set GRi address))))
- ((fr400 (unit u-gr-load))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
(fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
)
)
@@ -4780,7 +5241,8 @@
(define-pmacro (conditional-load-non-gr-u name mode op ope regtype comment)
(dni name
(comment)
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL FR-ACCESS)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL FR-ACCESS)
(.str name "$pack @($GRi,$GRj),$" regtype "k,$CCi,$cond")
(+ pack (.sym regtype k) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4790,7 +5252,7 @@
(c-call mode (.str "@cpu@_read_mem_" mode)
pc address))
(set GRi address)))
- ((fr400 (unit u-fr-load))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
(fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
)
)
@@ -4802,7 +5264,8 @@
(dni clddu
"Load double word, update"
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL)
"clddu$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond"
(+ pack GRdoublek OP_62 GRi CCi cond OPE4_1 GRj)
(if (eq CCi (or cond 2))
@@ -4810,20 +5273,21 @@
(load-double-semantics 0 DI GR address GRj)
(if (ne (index-of GRi) (index-of GRdoublek))
(set GRi address))))
- ((fr400 (unit u-gr-load))
+ ((fr400 (unit u-gr-load)) (fr450 (unit u-gr-load))
(fr500 (unit u-gr-load)) (fr550 (unit u-gr-load)))
)
(dni clddfu
"Load double float, update"
- ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2) (FR400-MAJOR I-2) CONDITIONAL FR-ACCESS)
+ ((UNIT LOAD) (FR550-MAJOR I-3) (FR500-MAJOR I-2)
+ (FR400-MAJOR I-2) (FR450-MAJOR I-2) CONDITIONAL FR-ACCESS)
"clddfu$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond"
(+ pack FRdoublek OP_63 GRi CCi cond OPE4_3 GRj)
(if (eq CCi (or cond 2))
(sequence ((WI address))
(load-double-semantics 1 DF FR address GRj)
(set GRi address)))
- ((fr400 (unit u-fr-load))
+ ((fr400 (unit u-fr-load)) (fr450 (unit u-fr-load))
(fr500 (unit u-fr-load)) (fr550 (unit u-fr-load)))
)
@@ -4843,7 +5307,8 @@
(define-pmacro (conditional-store name mode op ope regtype profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) CONDITIONAL)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) CONDITIONAL)
(.str name "$pack $" regtype "k,@($GRi,$GRj),$CCi,$cond")
(+ pack (.sym regtype k) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4854,30 +5319,37 @@
)
(conditional-store cstb QI OP_64 OPE4_0 GR
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned byte")
(conditional-store csth HI OP_64 OPE4_1 GR
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned half")
(conditional-store cst SI OP_64 OPE4_2 GR
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store word")
(conditional-store cstbf QI OP_66 OPE4_0 FRint
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store byte float")
(conditional-store csthf HI OP_66 OPE4_1 FRint
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store half float")
(conditional-store cstf SI OP_66 OPE4_2 FRint
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store word float")
(define-pmacro (conditional-store-double
name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) CONDITIONAL attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) CONDITIONAL attr)
(.str name "$pack $" regtype "doublek,@($GRi,$GRj),$CCi,$cond")
(+ pack (.sym regtype doublek) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4888,10 +5360,12 @@
)
(conditional-store-double cstd DI OP_64 OPE4_3 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store double word")
(conditional-store-double cstdf DF OP_66 OPE4_3 FR FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store double float")
(dni cstq
@@ -4909,7 +5383,8 @@
name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) CONDITIONAL attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) CONDITIONAL attr)
(.str name "$pack $" regtype "k,@($GRi,$GRj),$CCi,$cond")
(+ pack (.sym regtype k) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4923,30 +5398,37 @@
)
(conditional-store-u cstbu QI OP_67 OPE4_0 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned byte, update index")
(conditional-store-u csthu HI OP_67 OPE4_1 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned half, update index")
(conditional-store-u cstu SI OP_67 OPE4_2 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store word, update index")
(conditional-store-u cstbfu QI OP_68 OPE4_0 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store byte float, update index")
(conditional-store-u csthfu HI OP_68 OPE4_1 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store half float, update index")
(conditional-store-u cstfu SI OP_68 OPE4_2 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store word float, update index")
(define-pmacro (conditional-store-double-u
name mode op ope regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) CONDITIONAL attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) CONDITIONAL attr)
(.str name "$pack $" regtype "doublek,@($GRi,$GRj),$CCi,$cond")
(+ pack (.sym regtype doublek) op GRi CCi cond ope GRj)
(if (eq CCi (or cond 2))
@@ -4958,18 +5440,19 @@
)
(conditional-store-double-u cstdu DI OP_67 OPE4_3 GR NA
- ((fr400 (unit u-gr-store))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
(fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store double word, update index")
(conditional-store-double-u cstdfu DF OP_68 OPE4_3 FR FR-ACCESS
- ((fr400 (unit u-fr-store))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
(fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store double float, update index")
(define-pmacro (store-r-simm name mode op regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" regtype "k,@($GRi,$d12)")
(+ pack (.sym regtype k) op GRi d12)
(c-call VOID (.str "@cpu@_write_mem_" mode)
@@ -4979,29 +5462,36 @@
)
(store-r-simm stbi QI OP_50 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned byte")
(store-r-simm sthi HI OP_51 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store unsigned half")
(store-r-simm sti SI OP_52 GR NA
- ((fr400 (unit u-gr-store)) (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
+ (fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store word")
(store-r-simm stbfi QI OP_4E FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store byte float")
(store-r-simm sthfi HI OP_4F FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store half float")
(store-r-simm stfi SI OP_55 FRint FR-ACCESS
- ((fr400 (unit u-fr-store)) (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
+ (fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store word float")
(define-pmacro (store-double-r-simm name mode op regtype attr profile comment)
(dni name
(comment)
- ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3) (FR400-MAJOR I-3) attr)
+ ((UNIT STORE) (FR550-MAJOR I-4) (FR500-MAJOR I-3)
+ (FR400-MAJOR I-3) (FR450-MAJOR I-3) attr)
(.str name "$pack $" regtype "doublek,@($GRi,$d12)")
(+ pack (.sym regtype doublek) op GRi d12)
(sequence ((WI address))
@@ -5011,11 +5501,11 @@
)
(store-double-r-simm stdi DI OP_53 GR NA
- ((fr400 (unit u-gr-store))
+ ((fr400 (unit u-gr-store)) (fr450 (unit u-gr-store))
(fr500 (unit u-gr-store)) (fr550 (unit u-gr-store)))
"Store double word")
(store-double-r-simm stdfi DF OP_56 FR FR-ACCESS
- ((fr400 (unit u-fr-store))
+ ((fr400 (unit u-fr-store)) (fr450 (unit u-fr-store))
(fr500 (unit u-fr-store)) (fr550 (unit u-fr-store)))
"Store double float")
@@ -5047,32 +5537,35 @@
(dni swap
"Swap contents of memory with GR"
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
"swap$pack @($GRi,$GRj),$GRk"
(+ pack GRk OP_03 GRi OPE1_05 GRj)
(swap-semantics GRi GRj GRk)
- ((fr400 (unit u-swap))
+ ((fr400 (unit u-swap)) (fr450 (unit u-swap))
(fr500 (unit u-swap)) (fr550 (unit u-swap)))
)
(dni "swapi"
"Swap contents of memory with GR"
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
("swapi$pack @($GRi,$d12),$GRk")
(+ pack GRk OP_4D GRi d12)
(swap-semantics GRi d12 GRk)
- ((fr400 (unit u-swap))
+ ((fr400 (unit u-swap)) (fr450 (unit u-swap))
(fr500 (unit u-swap)) (fr550 (unit u-swap)))
)
(dni cswap
"Conditionally swap contents of memory with GR"
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2) CONDITIONAL)
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2) CONDITIONAL)
"cswap$pack @($GRi,$GRj),$GRk,$CCi,$cond"
(+ pack GRk OP_65 GRi CCi cond OPE4_2 GRj)
(if (eq CCi (or cond 2))
(swap-semantics GRi GRj GRk))
- ((fr400 (unit u-swap))
+ ((fr400 (unit u-swap)) (fr450 (unit u-swap))
(fr500 (unit u-swap)) (fr550 (unit u-swap)))
)
@@ -5090,13 +5583,17 @@
(register-transfer movgf OP_03 OPE1_15
GRj FRintk I0
- ((FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) FR-ACCESS)
- ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
+ ((FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) FR-ACCESS)
+ ((fr400 (unit u-gr2fr)) (fr450 (unit u-gr2fr))
+ (fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
"transfer gr to fr")
(register-transfer movfg OP_03 OPE1_0D
FRintk GRj I0
- ((FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) FR-ACCESS)
- ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
+ ((FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) FR-ACCESS)
+ ((fr400 (unit u-fr2gr)) (fr450 (unit u-fr2gr))
+ (fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
"transfer fr to gr")
(define-pmacro (nextreg hw r offset) (reg hw (add (index-of r) offset)))
@@ -5114,12 +5611,13 @@
(dni movgfd
"move GR for FR double"
- ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) FR-ACCESS)
+ ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) FR-ACCESS)
"movgfd$pack $GRj,$FRintk"
(+ pack FRintk OP_03 (rs-null) OPE1_16 GRj)
(register-transfer-double-from-gr-semantics 1)
; TODO -- doesn't handle second register in the pair
- ((fr400 (unit u-gr2fr))
+ ((fr400 (unit u-gr2fr)) (fr450 (unit u-gr2fr))
(fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
)
@@ -5132,12 +5630,13 @@
(dni movfgd
"move FR for GR double"
- ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) FR-ACCESS)
+ ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) FR-ACCESS)
"movfgd$pack $FRintk,$GRj"
(+ pack FRintk OP_03 (rs-null) OPE1_0E GRj)
(register-transfer-double-to-gr-semantics 1)
; TODO -- doesn't handle second register in the pair
- ((fr400 (unit u-fr2gr))
+ ((fr400 (unit u-fr2gr)) (fr450 (unit u-fr2gr))
(fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
)
@@ -5194,34 +5693,40 @@
)
(conditional-register-transfer cmovgf OP_69 OPE4_0 GRj FRintk I0
- ((FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4))
- ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
+ ((FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4))
+ ((fr400 (unit u-gr2fr)) (fr450 (unit u-gr2fr))
+ (fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
"transfer gr to fr")
(conditional-register-transfer cmovfg OP_69 OPE4_2 FRintk GRj I0
- ((FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4))
- ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
+ ((FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4))
+ ((fr400 (unit u-fr2gr)) (fr450 (unit u-fr2gr))
+ (fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
"transfer fr to gr")
(dni cmovgfd
"Conditional move GR to FR double"
- ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) CONDITIONAL FR-ACCESS)
+ ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) CONDITIONAL FR-ACCESS)
"cmovgfd$pack $GRj,$FRintk,$CCi,$cond"
(+ pack FRintk OP_69 (rs-null) CCi cond OPE4_1 GRj)
(register-transfer-double-from-gr-semantics (eq CCi (or cond 2)))
; TODO -- doesn't handle extra registers in double
- ((fr400 (unit u-gr2fr))
+ ((fr400 (unit u-gr2fr)) (fr450 (unit u-gr2fr))
(fr500 (unit u-gr2fr)) (fr550 (unit u-gr2fr)))
)
(dni cmovfgd
"Conditional move FR to GR double"
- ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5) (FR400-MAJOR I-4) CONDITIONAL FR-ACCESS)
+ ((UNIT I0) (FR500-MAJOR I-4) (FR550-MAJOR I-5)
+ (FR400-MAJOR I-4) (FR450-MAJOR I-4) CONDITIONAL FR-ACCESS)
"cmovfgd$pack $FRintk,$GRj,$CCi,$cond"
(+ pack FRintk OP_69 (rs-null) CCi cond OPE4_3 GRj)
(register-transfer-double-to-gr-semantics (eq CCi (or cond 2)))
; TODO -- doesn't handle second register in the pair
- ((fr400 (unit u-fr2gr))
+ ((fr400 (unit u-fr2gr)) (fr450 (unit u-fr2gr))
(fr500 (unit u-fr2gr)) (fr550 (unit u-fr2gr)))
)
@@ -5229,11 +5734,12 @@
name op ope reg_src reg_targ unitname comment)
(dni name
(comment)
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
(.str name "$pack $" reg_src ",$" reg_targ)
(+ pack reg_targ op ope reg_src)
(set reg_targ reg_src)
- ((fr400 (unit unitname))
+ ((fr400 (unit unitname)) (fr450 (unit unitname))
(fr500 (unit unitname)) (fr550 (unit unitname)))
)
)
@@ -5280,37 +5786,40 @@
(define-pmacro (conditional-branch-i prefix cc op cond comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1))
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1))
(.str (.sym prefix cc) "$pack $ICCi_2,$hint,$label16")
(+ pack (.sym ICC_ cc) ICCi_2 op hint label16)
(sequence ()
(c-call VOID "@cpu@_model_branch" label16 hint)
(if (cond ICCi_2)
(set pc label16)))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
)
(dni bra
"integer branch equal"
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1))
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1))
"bra$pack $hint_taken$label16"
(+ pack ICC_ra (ICCi_2-null) OP_06 hint_taken label16)
(sequence ()
(c-call VOID "@cpu@_model_branch" label16 hint_taken)
(set pc label16))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni bno
"integer branch never"
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1))
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1))
"bno$pack$hint_not_taken"
(+ pack ICC_nev (ICCi_2-null) OP_06 hint_not_taken (label16-null))
(c-call VOID "@cpu@_model_branch" label16 hint_not_taken)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5332,36 +5841,39 @@
(define-pmacro (conditional-branch-f prefix cc op cond comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1) FR-ACCESS)
(.str (.sym prefix cc) "$pack $FCCi_2,$hint,$label16")
(+ pack (.sym FCC_ cc) FCCi_2 op hint label16)
(sequence ()
(c-call VOID "@cpu@_model_branch" label16 hint)
(if (cond FCCi_2) (set pc label16)))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
)
(dni fbra
"float branch equal"
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1) FR-ACCESS)
"fbra$pack $hint_taken$label16"
(+ pack FCC_ra (FCCi_2-null) OP_07 hint_taken label16)
(sequence ()
(c-call VOID "@cpu@_model_branch" label16 hint_taken)
(set pc label16))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni fbno
"float branch never"
- ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1) (FR400-MAJOR B-1) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-1) (FR550-MAJOR B-1)
+ (FR400-MAJOR B-1) (FR450-MAJOR B-1) FR-ACCESS)
"fbno$pack$hint_not_taken"
(+ pack FCC_nev (FCCi_2-null) OP_07 hint_not_taken (label16-null))
(c-call VOID "@cpu@_model_branch" label16 hint_not_taken)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5394,50 +5906,54 @@
(dni bctrlr
"LCR conditional branch to lr"
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2))
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2))
("bctrlr$pack $ccond,$hint")
(+ pack (cond-null) (ICCi_2-null) OP_0E hint OPE3_01 ccond (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint)
(ctrlr-branch-semantics (const BI 1) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(define-pmacro (conditional-branch-cclr prefix cc i-f op ope cond attr comment)
(dni (.sym prefix cc lr)
(comment)
- ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3) (FR400-MAJOR B-3) attr)
+ ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3) attr)
(.str (.sym prefix cc lr) "$pack $" i-f "CCi_2,$hint")
(+ pack (.sym i-f CC_ cc) (.sym i-f CCi_2) op hint ope
(ccond-null) (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint)
(if (cond (.sym i-f CCi_2)) (set pc (spr-lr))))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
)
(dni bralr
"integer cclr branch always"
- ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3) (FR400-MAJOR B-3))
+ ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3))
"bralr$pack$hint_taken"
(+ pack ICC_ra (ICCi_2-null) OP_0E hint_taken OPE3_02 (ccond-null) (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_taken)
(set pc (spr-lr)))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni bnolr
"integer cclr branch never"
- ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3) (FR400-MAJOR B-3))
+ ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3))
"bnolr$pack$hint_not_taken"
(+ pack ICC_nev (ICCi_2-null) OP_0E hint_not_taken OPE3_02 (ccond-null) (s12-null))
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_not_taken)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5458,23 +5974,25 @@
(dni fbralr
"float cclr branch always"
- ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3) (FR400-MAJOR B-3) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3) FR-ACCESS)
"fbralr$pack$hint_taken"
(+ pack FCC_ra (FCCi_2-null) OP_0E hint_taken OPE3_06 (ccond-null) (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_taken)
(set pc (spr-lr)))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni fbnolr
"float cclr branch never"
- ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3) (FR400-MAJOR B-3) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-3) (FR550-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3) FR-ACCESS)
"fbnolr$pack$hint_not_taken"
(+ pack FCC_nev (FCCi_2-null) OP_0E hint_not_taken OPE3_06 (ccond-null) (s12-null))
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_not_taken)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5496,38 +6014,41 @@
(define-pmacro (conditional-branch-ctrlr prefix cc i-f op ope cond attr comment)
(dni (.sym prefix cc lr)
(comment)
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2) attr)
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2) attr)
(.str (.sym prefix cc lr) "$pack $" i-f "CCi_2,$ccond,$hint")
(+ pack (.sym i-f CC_ cc) (.sym i-f CCi_2) op hint ope ccond (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint)
(ctrlr-branch-semantics (cond (.sym i-f CCi_2)) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
)
(dni bcralr
"integer ctrlr branch always"
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2))
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2))
"bcralr$pack $ccond$hint_taken"
(+ pack ICC_ra (ICCi_2-null) OP_0E hint_taken OPE3_03 ccond (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_taken)
(ctrlr-branch-semantics (const BI 1) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni bcnolr
"integer ctrlr branch never"
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2))
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2))
"bcnolr$pack$hint_not_taken"
(+ pack ICC_nev (ICCi_2-null) OP_0E hint_not_taken OPE3_03 (ccond-null) (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_not_taken)
(ctrlr-branch-semantics (const BI 0) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5548,25 +6069,27 @@
(dni fcbralr
"float ctrlr branch always"
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2) FR-ACCESS)
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2) FR-ACCESS)
"fcbralr$pack $ccond$hint_taken"
(+ pack FCC_ra (FCCi_2-null) OP_0E hint_taken OPE3_07 ccond (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_taken)
(ctrlr-branch-semantics (const BI 1) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni fcbnolr
"float ctrlr branch never"
- ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2) (FR400-MAJOR B-2) FR-ACCESS)
+ ((UNIT B0) (FR500-MAJOR B-2) (FR550-MAJOR B-2)
+ (FR400-MAJOR B-2) (FR450-MAJOR B-2) FR-ACCESS)
"fcbnolr$pack$hint_not_taken"
(+ pack FCC_nev (FCCi_2-null) OP_0E hint_not_taken OPE3_07 (ccond-null) (s12-null))
(sequence ()
(c-call VOID "@cpu@_model_branch" (spr-lr) hint_not_taken)
(ctrlr-branch-semantics (const BI 0) ccond))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
@@ -5596,60 +6119,66 @@
(dni jmpl
"jump and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6) (FR400-MAJOR I-5))
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5))
"jmpl$pack @($GRi,$GRj)"
(+ pack (misc-null-1) (LI-off) OP_0C GRi (misc-null-2) GRj)
(jump-and-link-semantics GRi GRj LI)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni calll
"call and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR400-MAJOR I-5))
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5))
"calll$pack @($GRi,$GRj)"
(+ pack (misc-null-1) (LI-on) OP_0C GRi (misc-null-2) GRj)
(jump-and-link-semantics GRi GRj LI)
- ((fr400 (unit u-branch))
- (fr500 (unit u-branch)))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
+ (fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni jmpil
"jump immediate and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6) (FR400-MAJOR I-5))
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5))
"jmpil$pack @($GRi,$s12)"
(+ pack (misc-null-1) (LI-off) OP_0D GRi s12)
(jump-and-link-semantics GRi s12 LI)
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni callil
"call immediate and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR400-MAJOR I-5))
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5))
"callil$pack @($GRi,$s12)"
(+ pack (misc-null-1) (LI-on) OP_0D GRi s12)
(jump-and-link-semantics GRi s12 LI)
- ((fr400 (unit u-branch))
- (fr500 (unit u-branch)))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
+ (fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni call
"call and link"
- ((UNIT B0) (FR500-MAJOR B-4) (FR550-MAJOR B-4) (FR400-MAJOR B-4))
+ ((UNIT B0) (FR500-MAJOR B-4) (FR550-MAJOR B-4)
+ (FR400-MAJOR B-4) (FR450-MAJOR B-4))
"call$pack $label24"
(+ pack OP_0F label24)
(sequence ()
(c-call VOID "@cpu@_set_write_next_vliw_addr_to_LR" 1)
(set pc label24)
(c-call VOID "@cpu@_model_branch" pc #x2)) ; hint branch taken
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni rett
"return from trap"
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2) PRIVILEGED)
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2) PRIVILEGED)
"rett$pack $debug"
(+ pack (misc-null-1) debug OP_05 (rs-null) (s12-null))
; frv_rett handles operating vs user mode
@@ -5700,32 +6229,35 @@
(define-pmacro (trap-r prefix cc i-f op ope cond attr comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) attr)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) attr)
(.str (.sym prefix cc) "$pack $" i-f "CCi_2,$GRi,$GRj")
(+ pack (.sym i-f CC_ cc) (.sym i-f CCi_2) op GRi (misc-null-3) ope GRj)
(trap-semantics (cond (.sym i-f CCi_2)) GRi GRj)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
)
(dni tra
"integer trap always"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1))
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1))
"tra$pack $GRi,$GRj"
(+ pack ICC_ra (ICCi_2-null) OP_04 GRi (misc-null-3) OPE4_0 GRj)
(trap-semantics (const BI 1) GRi GRj)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
(dni tno
"integer trap never"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1))
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1))
"tno$pack"
(+ pack ICC_nev (ICCi_2-null) OP_04 (GRi-null) (misc-null-3) OPE4_0 (GRj-null))
(trap-semantics (const BI 0) GRi GRj)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
@@ -5746,21 +6278,23 @@
(dni ftra
"float trap always"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) FR-ACCESS)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) FR-ACCESS)
"ftra$pack $GRi,$GRj"
(+ pack FCC_ra (FCCi_2-null) OP_04 GRi (misc-null-3) OPE4_1 GRj)
(trap-semantics (const BI 1) GRi GRj)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
(dni ftno
"flost trap never"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) FR-ACCESS)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) FR-ACCESS)
"ftno$pack"
(+ pack FCC_nev (FCCi_2-null) OP_04 (GRi-null) (misc-null-3) OPE4_1 (GRj-null))
(trap-semantics (const BI 0) GRi GRj)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
@@ -5782,32 +6316,35 @@
(define-pmacro (trap-immed prefix cc i-f op cond attr comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) attr)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) attr)
(.str (.sym prefix cc) "$pack $" i-f "CCi_2,$GRi,$s12")
(+ pack (.sym i-f CC_ cc) (.sym i-f CCi_2) op GRi s12)
(trap-semantics (cond (.sym i-f CCi_2)) GRi s12)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
)
(dni tira
"integer trap always"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1))
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1))
"tira$pack $GRi,$s12"
(+ pack ICC_ra (ICCi_2-null) OP_1C GRi s12)
(trap-semantics (const BI 1) GRi s12)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
(dni tino
"integer trap never"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1))
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1))
"tino$pack"
(+ pack ICC_nev (ICCi_2-null) OP_1C (GRi-null) (s12-null))
(trap-semantics (const BI 0) GRi s12)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
@@ -5828,7 +6365,8 @@
(dni ftira
"float trap always"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) FR-ACCESS)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) FR-ACCESS)
"ftira$pack $GRi,$s12"
(+ pack FCC_ra (ICCi_2-null) OP_1D GRi s12)
(trap-semantics (const BI 1) GRi s12)
@@ -5838,11 +6376,12 @@
(dni ftino
"float trap never"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) FR-ACCESS)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) FR-ACCESS)
"ftino$pack"
(+ pack FCC_nev (FCCi_2-null) OP_1D (GRi-null) (s12-null))
(trap-semantics (const BI 0) GRi s12)
- ((fr400 (unit u-trap))
+ ((fr400 (unit u-trap)) (fr450 (unit u-trap))
(fr500 (unit u-trap)) (fr550 (unit u-trap)))
)
@@ -5863,7 +6402,8 @@
(dni break
"break trap"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1))
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1))
"break$pack"
(+ pack (rd-null) OP_04 (rs-null) (misc-null-3) OPE4_3 (GRj-null))
(sequence ()
@@ -5891,7 +6431,8 @@
(dni mtrap
"media trap"
- ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1) (FR400-MAJOR C-1) FR-ACCESS)
+ ((UNIT C) (FR500-MAJOR C-1) (FR550-MAJOR C-1)
+ (FR400-MAJOR C-1) (FR450-MAJOR C-1) FR-ACCESS)
"mtrap$pack"
(+ pack (rd-null) OP_04 (rs-null) (misc-null-3) OPE4_2 (GRj-null))
(c-call VOID "frv_mtrap")
@@ -5901,7 +6442,8 @@
(define-pmacro (condition-code-logic name operation ope comment)
(dni name
(comment)
- ((UNIT B01) (FR500-MAJOR B-6) (FR550-MAJOR B-6) (FR400-MAJOR B-6))
+ ((UNIT B01) (FR500-MAJOR B-6) (FR550-MAJOR B-6)
+ (FR400-MAJOR B-6) (FR450-MAJOR B-6))
(.str name "$pack $CRi,$CRj,$CRk")
(+ pack (misc-null-6) CRk OP_0A (misc-null-7) CRi ope (misc-null-8) CRj)
(set CRk (c-call UQI "@cpu@_cr_logic" operation CRi CRj))
@@ -5934,7 +6476,8 @@
(dni notcr
("not cccr register")
- ((UNIT B01) (FR500-MAJOR B-6) (FR550-MAJOR B-6) (FR400-MAJOR B-6))
+ ((UNIT B01) (FR500-MAJOR B-6) (FR550-MAJOR B-6)
+ (FR400-MAJOR B-6) (FR450-MAJOR B-6))
(.str notcr "$pack $CRj,$CRk")
(+ pack (misc-null-6) CRk OP_0A (rs-null) OPE1_0B (misc-null-8) CRj)
(set CRk (xor CRj 1))
@@ -5948,32 +6491,35 @@
(define-pmacro (check-int-condition-code prefix cc op cond comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5))
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5))
(.str (.sym prefix cc) "$pack $ICCi_3,$CRj_int")
(+ pack (.sym ICC_ cc) CRj_int op (misc-null-5) ICCi_3)
(check-semantics (cond ICCi_3) CRj_int)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
)
(dni ckra
"check integer cc always"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5))
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5))
"ckra$pack $CRj_int"
(+ pack ICC_ra CRj_int OP_08 (misc-null-5) (ICCi_3-null))
(check-semantics (const BI 1) CRj_int)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
(dni ckno
"check integer cc never"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5))
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5))
"ckno$pack $CRj_int"
(+ pack ICC_nev CRj_int OP_08 (misc-null-5) (ICCi_3-null))
(check-semantics (const BI 0) CRj_int)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
@@ -5995,32 +6541,35 @@
(define-pmacro (check-float-condition-code prefix cc op cond comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) FR-ACCESS)
(.str (.sym prefix cc) "$pack $FCCi_3,$CRj_float")
(+ pack (.sym FCC_ cc) CRj_float op (misc-null-5) FCCi_3)
(check-semantics (cond FCCi_3) CRj_float)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
)
(dni fckra
"check float cc always"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) FR-ACCESS)
"fckra$pack $CRj_float"
(+ pack FCC_ra CRj_float OP_09 (misc-null-5) FCCi_3)
(check-semantics (const BI 1) CRj_float)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
(dni fckno
"check float cc never"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) FR-ACCESS)
"fckno$pack $CRj_float"
(+ pack FCC_nev CRj_float OP_09 (misc-null-5) FCCi_3)
(check-semantics (const BI 0) CRj_float)
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
@@ -6042,41 +6591,44 @@
(define-pmacro (conditional-check-int-condition-code prefix cc op ope test comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL)
(.str (.sym prefix cc) "$pack $ICCi_3,$CRj_int,$CCi,$cond")
(+ pack (.sym ICC_ cc) CRj_int op (rs-null) CCi cond ope
(misc-null-9) ICCi_3)
(if (eq CCi (or cond 2))
(check-semantics (test ICCi_3) CRj_int)
(set CRj_int (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
)
(dni cckra
"conditional check integer cc always"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL)
"cckra$pack $CRj_int,$CCi,$cond"
(+ pack ICC_ra CRj_int OP_6A (rs-null) CCi cond OPE4_0
(misc-null-9) (ICCi_3-null))
(if (eq CCi (or cond 2))
(check-semantics (const BI 1) CRj_int)
(set CRj_int (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
(dni cckno
"conditional check integer cc never"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL)
"cckno$pack $CRj_int,$CCi,$cond"
(+ pack ICC_nev CRj_int OP_6A (rs-null) CCi cond OPE4_0
(misc-null-9) (ICCi_3-null))
(if (eq CCi (or cond 2))
(check-semantics (const BI 0) CRj_int)
(set CRj_int (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
@@ -6098,41 +6650,44 @@
(define-pmacro (conditional-check-float-condition-code prefix cc op ope test comment)
(dni (.sym prefix cc)
(comment)
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL FR-ACCESS)
(.str (.sym prefix cc) "$pack $FCCi_3,$CRj_float,$CCi,$cond")
(+ pack (.sym FCC_ cc) CRj_float op (rs-null) CCi cond ope
(misc-null-9) FCCi_3)
(if (eq CCi (or cond 2))
(check-semantics (test FCCi_3) CRj_float)
(set CRj_float (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
)
(dni cfckra
"conditional check float cc always"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL FR-ACCESS)
"cfckra$pack $CRj_float,$CCi,$cond"
(+ pack FCC_ra CRj_float OP_6A (rs-null) CCi cond OPE4_1
(misc-null-9) (FCCi_3-null))
(if (eq CCi (or cond 2))
(check-semantics (const BI 1) CRj_float)
(set CRj_float (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
(dni cfckno
"conditional check float cc never"
- ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5) (FR400-MAJOR B-5) CONDITIONAL FR-ACCESS)
+ ((UNIT B01) (FR500-MAJOR B-5) (FR550-MAJOR B-5)
+ (FR400-MAJOR B-5) (FR450-MAJOR B-5) CONDITIONAL FR-ACCESS)
"cfckno$pack $CRj_float,$CCi,$cond"
(+ pack FCC_nev CRj_float OP_6A (rs-null) CCi cond OPE4_1
(misc-null-9) (FCCi_3-null))
(if (eq CCi (or cond 2))
(check-semantics (const BI 0) CRj_float)
(set CRj_float (cr-undefined)))
- ((fr400 (unit u-check))
+ ((fr400 (unit u-check)) (fr450 (unit u-check))
(fr500 (unit u-check)) (fr550 (unit u-check)))
)
@@ -6153,30 +6708,33 @@
(dni cjmpl
"conditional jump and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6) (FR400-MAJOR I-5) CONDITIONAL)
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5) CONDITIONAL)
"cjmpl$pack @($GRi,$GRj),$CCi,$cond"
(+ pack (misc-null-1) (LI-off) OP_6A GRi CCi cond OPE4_2 GRj)
(if (eq CCi (or cond 2))
(jump-and-link-semantics GRi GRj LI))
- ((fr400 (unit u-branch))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
(fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(dni ccalll
"conditional call and link"
- ((UNIT I0) (FR500-MAJOR I-5) (FR400-MAJOR I-5) CONDITIONAL)
+ ((UNIT I0) (FR500-MAJOR I-5) (FR550-MAJOR I-6)
+ (FR400-MAJOR I-5) (FR450-MAJOR I-5) CONDITIONAL)
"ccalll$pack @($GRi,$GRj),$CCi,$cond"
(+ pack (misc-null-1) (LI-on) OP_6A GRi CCi cond OPE4_2 GRj)
(if (eq CCi (or cond 2))
(jump-and-link-semantics GRi GRj LI))
- ((fr400 (unit u-branch))
- (fr500 (unit u-branch)))
+ ((fr400 (unit u-branch)) (fr450 (unit u-branch))
+ (fr500 (unit u-branch)) (fr550 (unit u-branch)))
)
(define-pmacro (cache-invalidate name cache all op ope profile comment)
(dni name
(comment)
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
(.str name "$pack @($GRi,$GRj)")
(+ pack (rd-null) op GRi ope GRj)
(c-call VOID (.str "@cpu@_" cache "_cache_invalidate") (add GRi GRj) all)
@@ -6185,16 +6743,19 @@
)
(cache-invalidate ici insn 0 OP_03 OPE1_38
- ((fr400 (unit u-ici)) (fr500 (unit u-ici)) (fr550 (unit u-ici)))
+ ((fr400 (unit u-ici)) (fr450 (unit u-ici))
+ (fr500 (unit u-ici)) (fr550 (unit u-ici)))
"invalidate insn cache")
(cache-invalidate dci data 0 OP_03 OPE1_3C
- ((fr400 (unit u-dci)) (fr500 (unit u-dci)) (fr550 (unit u-dci)))
+ ((fr400 (unit u-dci)) (fr450 (unit u-dci))
+ (fr500 (unit u-dci)) (fr550 (unit u-dci)))
"invalidate data cache")
(define-pmacro (cache-invalidate-entry name cache op ope profile comment)
(dni name
(comment)
- ((UNIT C) (FR400-MAJOR C-2) (FR550-MAJOR C-2) (MACH fr400,fr550))
+ ((UNIT C) (MACH fr400,fr450,fr550) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
(.str name "$pack @($GRi,$GRj),$ae")
(+ pack (misc-null-1) ae op GRi ope GRj)
(if (eq ae 0)
@@ -6205,31 +6766,35 @@
)
(cache-invalidate-entry icei insn OP_03 OPE1_39
- ((fr400 (unit u-ici)) (fr550 (unit u-ici)))
+ ((fr400 (unit u-ici)) (fr450 (unit u-ici))
+ (fr550 (unit u-ici)))
"invalidate insn cache entry")
(cache-invalidate-entry dcei data OP_03 OPE1_3A
- ((fr400 (unit u-dci)) (fr550 (unit u-dci)))
+ ((fr400 (unit u-dci)) (fr450 (unit u-dci))
+ (fr550 (unit u-dci)))
"invalidate data cache entry")
(dni dcf
"Data cache flush"
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
"dcf$pack @($GRi,$GRj)"
(+ pack (rd-null) OP_03 GRi OPE1_3D GRj)
(c-call VOID "@cpu@_data_cache_flush" (add GRi GRj) 0)
- ((fr400 (unit u-dcf))
+ ((fr400 (unit u-dcf)) (fr450 (unit u-dcf))
(fr500 (unit u-dcf)) (fr550 (unit u-dcf)))
)
(dni dcef
"Data cache entry flush"
- ((UNIT C) (FR400-MAJOR C-2) (FR550-MAJOR C-2) (MACH fr400,fr550))
+ ((UNIT C) (MACH fr400,fr450,fr550) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
"dcef$pack @($GRi,$GRj),$ae"
(+ pack (misc-null-1) ae OP_03 GRi OPE1_3B GRj)
(if (eq ae 0)
(c-call VOID "@cpu@_data_cache_flush" (add GRi GRj) -1)
(c-call VOID "@cpu@_data_cache_flush" (add GRi GRj) ae))
- ((fr400 (unit u-dcf)) (fr550 (unit u-dcf)))
+ ((fr400 (unit u-dcf)) (fr450 (unit u-dcf)) (fr550 (unit u-dcf)))
)
(define-pmacro (write-TLB name insn op ope comment)
@@ -6263,7 +6828,8 @@
(define-pmacro (cache-preload name cache pipe attrs op ope profile comment)
(dni name
(comment)
- (.splice (UNIT pipe) (FR500-MAJOR C-2) (FR400-MAJOR C-2) (.unsplice attrs))
+ (.splice (UNIT pipe) (FR500-MAJOR C-2)
+ (FR400-MAJOR C-2) (.unsplice attrs))
(.str name "$pack $GRi,$GRj,$lock")
(+ pack (misc-null-1) lock op GRi ope GRj)
(c-call VOID (.str "@cpu@_" cache "_cache_preload") GRi GRj lock)
@@ -6271,17 +6837,20 @@
)
)
-(cache-preload icpl insn C ((FR550-MAJOR C-2)) OP_03 OPE1_30
- ((fr400 (unit u-icpl)) (fr500 (unit u-icpl)) (fr550 (unit u-icpl)))
+(cache-preload icpl insn C ((FR550-MAJOR C-2) (FR450-MAJOR C-2)) OP_03 OPE1_30
+ ((fr400 (unit u-icpl)) (fr450 (unit u-icpl))
+ (fr500 (unit u-icpl)) (fr550 (unit u-icpl)))
"preload insn cache")
-(cache-preload dcpl data DCPL ((FR550-MAJOR I-8)) OP_03 OPE1_34
- ((fr400 (unit u-dcpl)) (fr500 (unit u-dcpl)) (fr550 (unit u-dcpl)))
+(cache-preload dcpl data DCPL ((FR550-MAJOR I-8) (FR450-MAJOR I-2)) OP_03 OPE1_34
+ ((fr400 (unit u-dcpl)) (fr450 (unit u-dcpl))
+ (fr500 (unit u-dcpl)) (fr550 (unit u-dcpl)))
"preload data cache")
(define-pmacro (cache-unlock name cache op ope profile comment)
(dni name
(comment)
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
(.str name "$pack $GRi")
(+ pack (rd-null) op GRi ope (GRj-null))
(c-call VOID (.str "@cpu@_" cache "_cache_unlock") GRi)
@@ -6290,16 +6859,19 @@
)
(cache-unlock icul insn OP_03 OPE1_31
- ((fr400 (unit u-icul)) (fr500 (unit u-icul)) (fr550 (unit u-icul)))
+ ((fr400 (unit u-icul)) (fr450 (unit u-icul))
+ (fr500 (unit u-icul)) (fr550 (unit u-icul)))
"unlock insn cache")
(cache-unlock dcul data OP_03 OPE1_35
- ((fr400 (unit u-dcul)) (fr500 (unit u-dcul)) (fr550 (unit u-dcul)))
+ ((fr400 (unit u-dcul)) (fr450 (unit u-dcul))
+ (fr500 (unit u-dcul)) (fr550 (unit u-dcul)))
"unlock data cache")
(define-pmacro (barrier name insn op ope profile comment)
(dni name
(comment)
- ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2) (FR400-MAJOR C-2))
+ ((UNIT C) (FR500-MAJOR C-2) (FR550-MAJOR C-2)
+ (FR400-MAJOR C-2) (FR450-MAJOR C-2))
(.str insn "$pack")
(+ pack (rd-null) op (rs-null) ope (GRj-null))
(nop) ; sufficient implementation
@@ -6308,12 +6880,38 @@
)
(barrier bar bar OP_03 OPE1_3E
- ((fr400 (unit u-barrier)) (fr500 (unit u-barrier)))
+ ((fr400 (unit u-barrier)) (fr450 (unit u-barrier))
+ (fr500 (unit u-barrier)))
"barrier")
(barrier membar membar OP_03 OPE1_3F
- ((fr400 (unit u-membar)) (fr500 (unit u-membar)))
+ ((fr400 (unit u-membar)) (fr450 (unit u-membar))
+ (fr500 (unit u-membar)))
"memory barrier")
+; Load real address instructions
+(define-pmacro (load-real-address name insn what op ope)
+ (dni name
+ (.str "Load real address of " what)
+ ((UNIT C) (FR450-MAJOR C-2) (MACH fr450))
+ (.str insn "$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS")
+ (+ pack GRk op GRi ope LRAE LRAD LRAS (LRA-null))
+ (nop) ; not simulated
+ ()
+ )
+)
+
+(load-real-address lrai "lrai" "instruction" OP_03 OPE1_20)
+(load-real-address lrad "lrad" "data" OP_03 OPE1_21)
+
+(dni tlbpr
+ "TLB Probe"
+ ((UNIT C) (FR450-MAJOR C-2) (MACH fr450))
+ "tlbpr$pack $GRi,$GRj,$TLBPRopx,$TLBPRL"
+ (+ pack (TLBPR-null) TLBPRopx TLBPRL OP_03 GRi OPE1_24 GRj)
+ (nop) ; not simulated
+ ()
+)
+
; Coprocessor operations
(define-pmacro (cop-op num op)
(dni (.sym cop num)
@@ -7115,25 +7713,30 @@
(dni mhsetlos
"Media set lower signed 12 bits"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-5) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-5)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mhsetlos$pack $u12,$FRklo"
(+ pack FRklo OP_78 OPE1_20 u12)
(set FRklo u12)
- ((fr400 (unit u-media-hilo)) (fr550 (unit u-media-set (out FRintk FRklo))))
+ ((fr400 (unit u-media-hilo)) (fr450 (unit u-media-hilo))
+ (fr550 (unit u-media-set (out FRintk FRklo))))
)
(dni mhsethis
"Media set upper signed 12 bits"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-5) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-5)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mhsethis$pack $u12,$FRkhi"
(+ pack FRkhi OP_78 OPE1_22 u12)
(set FRkhi u12)
- ((fr400 (unit u-media-hilo)) (fr550 (unit u-media-set (out FRintk FRkhi))))
+ ((fr400 (unit u-media-hilo)) (fr450 (unit u-media-hilo))
+ (fr550 (unit u-media-set (out FRintk FRkhi))))
)
(dni mhdsets
"Media dual set halfword signed 12 bits"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-5) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-5)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mhdsets$pack $u12,$FRintk"
(+ pack FRintk OP_78 OPE1_24 u12)
(sequence ()
@@ -7141,7 +7744,8 @@
(set FRintk (c-raw-call SI "frv_ref_SI" FRintk))
(set (halfword hi FRintk 0) u12)
(set (halfword lo FRintk 0) u12))
- ((fr400 (unit u-media-1)) (fr550 (unit u-media-set)))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
+ (fr550 (unit u-media-set)))
)
(define-pmacro (set-5-semantics target value)
@@ -7155,11 +7759,13 @@
(define-pmacro (media-set-5 name hilo op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-5) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-5)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $s5,$FRk" hilo)
(+ pack (.sym FRk hilo) op (FRi-null) ope (misc-null-11) s5)
(set-5-semantics (.sym FRk hilo) s5)
- ((fr400 (unit u-media-hilo)) (fr550 (unit u-media-set (out FRintk (.sym FRk hilo)))))
+ ((fr400 (unit u-media-hilo)) (fr450 (unit u-media-hilo))
+ (fr550 (unit u-media-set (out FRintk (.sym FRk hilo)))))
)
)
@@ -7168,7 +7774,8 @@
(dni mhdseth
"Media dual set halfword upper 5 bits"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-5) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-5)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mhdseth$pack $s5,$FRintk"
(+ pack FRintk OP_78 (FRi-null) OPE1_25 (misc-null-11) s5)
(sequence ()
@@ -7176,17 +7783,19 @@
(set FRintk (c-raw-call SI "frv_ref_SI" FRintk))
(set-5-semantics (halfword hi FRintk 0) s5)
(set-5-semantics (halfword lo FRintk 0) s5))
- ((fr400 (unit u-media-1)) (fr550 (unit u-media-set)))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
+ (fr550 (unit u-media-set)))
)
(define-pmacro (media-logic-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $FRinti,$FRintj,$FRintk")
(+ pack FRintk op FRinti ope FRintj)
(set FRintk (operation FRinti FRintj))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7198,12 +7807,13 @@
(define-pmacro (conditional-media-logic name operation op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1) CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$FRintk,$CCi,$cond")
(+ pack FRintk op FRinti CCi cond ope FRintj)
(if (eq CCi (or cond 2))
(set FRintk (operation FRinti FRintj)))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7214,33 +7824,36 @@
(dni mnot
("mnot")
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
("mnot$pack $FRintj,$FRintk")
(+ pack FRintk OP_7B (rs-null) OPE1_03 FRintj)
(set FRintk (inv FRintj))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(dni cmnot
("cmnot")
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1) CONDITIONAL)
("cmnot$pack $FRintj,$FRintk,$CCi,$cond")
(+ pack FRintk OP_70 (rs-null) CCi cond OPE4_3 FRintj)
(if (eq CCi (or cond 2))
(set FRintk (inv FRintj)))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(define-pmacro (media-rotate-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $FRinti,$u6,$FRintk")
(+ pack FRintk op FRinti ope u6)
(set FRintk (operation FRinti (and u6 #x1f)))
- ((fr400 (unit u-media-3))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7251,11 +7864,12 @@
(define-pmacro (media-cut-r-r name arg op ope comment)
(dni name
(comment)
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
(.str name "$pack $FRinti,$" arg ",$FRintk")
(+ pack FRintk op FRinti ope arg)
(set FRintk (c-call SI "@cpu@_cut" FRinti (nextreg h-fr_int FRinti 1) arg))
- ((fr400 (unit u-media-3))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7263,35 +7877,37 @@
(media-cut-r-r mwcut FRintj OP_7B OPE1_06 "media cut")
(media-cut-r-r mwcuti u6 OP_7B OPE1_07 "media cut")
-(define-pmacro (media-cut-acc name arg op ope comment)
+(define-pmacro (media-cut-acc name arg op ope fr450-major comment)
(dni name
(comment)
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR fr450-major))
(.str name "$pack $ACC40Si,$" arg ",$FRintk")
(+ pack FRintk op ACC40Si ope arg)
(set FRintk (c-call SI "@cpu@_media_cut" ACC40Si arg))
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4))
(fr500 (unit u-media)) (fr550 (unit u-media-3-acc)))
)
)
-(media-cut-acc mcut FRintj OP_7B OPE1_2C "media accumulator cut reg")
-(media-cut-acc mcuti s6 OP_7B OPE1_2E "media accumulator cut immed")
+(media-cut-acc mcut FRintj OP_7B OPE1_2C M-1 "media accumulator cut reg")
+(media-cut-acc mcuti s6 OP_7B OPE1_2E M-5 "media accumulator cut immed")
-(define-pmacro (media-cut-acc-ss name arg op ope comment)
+(define-pmacro (media-cut-acc-ss name arg op ope fr450-major comment)
(dni name
(comment)
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR fr450-major))
(.str name "$pack $ACC40Si,$" arg ",$FRintk")
(+ pack FRintk op ACC40Si ope arg)
(set FRintk (c-call SI "@cpu@_media_cut_ss" ACC40Si arg))
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4))
(fr500 (unit u-media)) (fr550 (unit u-media-3-acc)))
)
)
-(media-cut-acc-ss mcutss FRintj OP_7B OPE1_2D "media accumulator cut reg with saturation")
-(media-cut-acc-ss mcutssi s6 OP_7B OPE1_2F "media accumulator cut immed with saturation")
+(media-cut-acc-ss mcutss FRintj OP_7B OPE1_2D M-1 "media accumulator cut reg with saturation")
+(media-cut-acc-ss mcutssi s6 OP_7B OPE1_2F M-5 "media accumulator cut immed with saturation")
; Dual Media Instructions
;
@@ -7301,7 +7917,8 @@
(dni mdcutssi
"Media dual cut with signed saturation"
- ((UNIT FMLOW) (MACH fr400,fr550) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT MDCUTSSI) (MACH fr400,fr450,fr550) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-6))
"mdcutssi$pack $ACC40Si,$s6,$FRintkeven"
(+ pack FRintkeven OP_78 ACC40Si OPE1_0E s6)
(if (register-unaligned ACC40Si 2)
@@ -7314,7 +7931,10 @@
(c-call SI "@cpu@_media_cut_ss"
(nextreg h-acc40S ACC40Si 1) s6)))))
((fr400 (unit u-media-4-acc-dual
- (out FRintk FRintkeven))) (fr550 (unit u-media-3-acc-dual)))
+ (out FRintk FRintkeven)))
+ (fr450 (unit u-media-4-acc-dual
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-3-acc-dual)))
)
; The (add (xxxx) (mul arg 0)) is a hack to get a reference to arg generated
@@ -7329,18 +7949,20 @@
(dni maveh
"Media dual average"
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"maveh$pack $FRinti,$FRintj,$FRintk"
(+ pack FRintk OP_7B FRinti OPE1_08 FRintj)
(set FRintk (c-call SI "@cpu@_media_average" FRinti FRintj))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(define-pmacro (media-dual-shift name operation op ope profile comment)
(dni name
(comment)
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $FRinti,$u6,$FRintk")
(+ pack FRintk op FRinti ope u6)
(sequence ()
@@ -7356,19 +7978,23 @@
)
(media-dual-shift msllhi sll OP_7B OPE1_09
- ((fr400 (unit u-media-3)) (fr500 (unit u-media)) (fr550 (unit u-media)))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
+ (fr500 (unit u-media)) (fr550 (unit u-media)))
"Media dual shift left logical")
(media-dual-shift msrlhi srl OP_7B OPE1_0A
- ((fr400 (unit u-media-3)) (fr500 (unit u-media)) (fr550 (unit u-media)))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
+ (fr500 (unit u-media)) (fr550 (unit u-media)))
"Media dual shift right logical")
(media-dual-shift msrahi sra OP_7B OPE1_0B
- ((fr400 (unit u-media-6)) (fr500 (unit u-media)) (fr550 (unit u-media)))
+ ((fr400 (unit u-media-6)) (fr450 (unit u-media-6))
+ (fr500 (unit u-media)) (fr550 (unit u-media)))
"Media dual shift right arithmetic")
(define-pmacro (media-dual-word-rotate-r-r name operation op ope comment)
(dni name
(comment)
- ((UNIT FMLOW) (MACH fr400,fr550) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FMLOW) (MACH fr400,fr450,fr550) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
(.str name "$pack $FRintieven,$s6,$FRintkeven")
(+ pack FRintkeven op FRintieven ope s6)
(if (orif (register-unaligned FRintieven 2)
@@ -7381,7 +8007,11 @@
(and s6 #x1f)))))
((fr400 (unit u-media-3-quad
(in FRinti FRintieven)
- (out FRintk FRintkeven))) (fr550 (unit u-media-quad)))
+ (out FRintk FRintkeven)))
+ (fr450 (unit u-media-3-quad
+ (in FRinti FRintieven)
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-quad)))
)
)
@@ -7389,7 +8019,8 @@
(dni mcplhi
"Media bit concatenate, halfword"
- ((UNIT FMLOW) (MACH fr400,fr550) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FMLOW) (MACH fr400,fr450,fr550) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mcplhi$pack $FRinti,$u6,$FRintk"
(+ pack FRintk OP_78 FRinti OPE1_0C u6)
(sequence ((HI arg1) (HI arg2) (HI shift))
@@ -7404,12 +8035,14 @@
(sub 15 shift)))
(set arg1 (or HI arg1 arg2))))
(set (halfword hi FRintk 0) arg1))
- ((fr400 (unit u-media-3-dual)) (fr550 (unit u-media-3-dual)))
+ ((fr400 (unit u-media-3-dual)) (fr450 (unit u-media-3-dual))
+ (fr550 (unit u-media-3-dual)))
)
(dni mcpli
"Media bit concatenate, word"
- ((UNIT FMLOW) (MACH fr400,fr550) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FMLOW) (MACH fr400,fr450,fr550) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mcpli$pack $FRinti,$u6,$FRintk"
(+ pack FRintk OP_78 FRinti OPE1_0D u6)
(sequence ((SI tmp) (SI shift))
@@ -7422,7 +8055,8 @@
(sub 31 shift)))
(set tmp (or tmp tmp1))))
(set FRintk tmp))
- ((fr400 (unit u-media-3-dual)) (fr550 (unit u-media-3-dual)))
+ ((fr400 (unit u-media-3-dual)) (fr450 (unit u-media-3-dual))
+ (fr550 (unit u-media-3-dual)))
)
(define-pmacro (saturate arg max min result)
@@ -7435,20 +8069,22 @@
(dni msaths
"Media dual saturation signed"
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"msaths$pack $FRinti,$FRintj,$FRintk"
(+ pack FRintk OP_7B FRinti OPE1_0C FRintj)
(sequence ((HI argihi) (HI argilo) (HI argjhi) (HI argjlo))
(extract-hilo FRinti 0 FRintj 0 argihi argilo argjhi argjlo)
(saturate argihi argjhi (inv argjhi) (halfword hi FRintk 0))
(saturate argilo argjlo (inv argjlo) (halfword lo FRintk 0)))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(dni mqsaths
"Media quad saturation signed"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mqsaths$pack $FRintieven,$FRintjeven,$FRintkeven"
(+ pack FRintkeven OP_78 FRintieven OPE1_0F FRintjeven)
(if (orif (register-unaligned FRintieven 2)
@@ -7467,7 +8103,12 @@
((fr400 (unit u-media-1-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)
- (out FRintk FRintkeven))) (fr550 (unit u-media-quad)))
+ (out FRintk FRintkeven)))
+ (fr450 (unit u-media-1-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-quad)))
)
(define-pmacro (saturate-unsigned arg max result)
@@ -7478,21 +8119,23 @@
(dni msathu
"Media dual saturation unsigned"
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"msathu$pack $FRinti,$FRintj,$FRintk"
(+ pack FRintk OP_7B FRinti OPE1_0D FRintj)
(sequence ((UHI argihi) (UHI argilo) (UHI argjhi) (UHI argjlo))
(extract-hilo FRinti 0 FRintj 0 argihi argilo argjhi argjlo)
(saturate-unsigned argihi argjhi (halfword hi FRintk 0))
(saturate-unsigned argilo argjlo (halfword lo FRintk 0)))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(define-pmacro (media-dual-compare name mode op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $FRinti,$FRintj,$FCCk")
(+ pack (cond-null) FCCk op FRinti ope FRintj)
(if (register-unaligned FCCk 2)
@@ -7503,7 +8146,7 @@
(compare-and-set-fcc argihi argjhi FCCk)
(compare-and-set-fcc argilo argjlo (nextreg h-fccr FCCk 1))))
; TODO - doesn't handle second FCC
- ((fr400 (unit u-media-7))
+ ((fr400 (unit u-media-7)) (fr450 (unit u-media-7))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7536,7 +8179,8 @@
(dni mabshs
"Media dual absolute value, halfword"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mabshs$pack $FRintj,$FRintk"
(+ pack FRintk OP_78 (FRi-null) OPE1_0A FRintj)
(sequence ((HI arghi) (HI arglo))
@@ -7548,7 +8192,8 @@
(halfword hi FRintk 0))
(saturate-v (abs arglo) 32767 -32768 (msr-sie-fri-lo)
(halfword lo FRintk 0)))
- ((fr400 (unit u-media-1)) (fr550 (unit u-media)))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
+ (fr550 (unit u-media)))
)
(define-pmacro (media-arith-sat-semantics
@@ -7572,11 +8217,12 @@
(define-pmacro (media-dual-arith-sat name operation mode max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
(.str name "$pack $FRinti,$FRintj,$FRintk")
(+ pack FRintk op FRinti ope FRintj)
(media-dual-arith-sat-semantics operation mode max min)
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7591,12 +8237,13 @@
name operation mode max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1) CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$FRintk,$CCi,$cond")
(+ pack FRintk op FRinti CCi cond ope FRintj)
(if (eq CCi (or cond 2))
(media-dual-arith-sat-semantics operation mode max min))
- ((fr400 (unit u-media-1))
+ ((fr400 (unit u-media-1)) (fr450 (unit u-media-1))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
)
@@ -7637,7 +8284,8 @@
(define-pmacro (media-quad-arith-sat name operation mode max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
(.str name "$pack $FRintieven,$FRintjeven,$FRintkeven")
(+ pack FRintkeven op FRintieven ope FRintjeven)
(media-quad-arith-sat-semantics 1 operation mode max min)
@@ -7645,6 +8293,10 @@
(in FRinti FRintieven)
(in FRintj FRintjeven)
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-1-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-quad-arith
(in FRinti FRintieven)
(in FRintj FRintjeven)
@@ -7662,7 +8314,8 @@
name operation mode max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2) (FR400-MAJOR M-2) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-2)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2) CONDITIONAL)
(.str name "$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond")
(+ pack FRintkeven op FRintieven CCi cond ope FRintjeven)
(media-quad-arith-sat-semantics (eq CCi (or cond 2))
@@ -7671,6 +8324,10 @@
(in FRinti FRintieven)
(in FRintj FRintjeven)
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-1-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-quad-arith
(in FRinti FRintieven)
(in FRintj FRintjeven)
@@ -7684,10 +8341,98 @@
(conditional-media-quad-arith-sat cmqsubhss sub HI 32767 -32768 OP_73 OPE4_2 "Conditional Media quad sub signed with saturation")
(conditional-media-quad-arith-sat cmqsubhus sub UHI 65535 0 OP_73 OPE4_3 "Conditional Media quad sub unsigned with saturation")
+;; Return A if |A| > |B| and B is positive. Return -A if |A| > |B| and
+;; B is negative, saturating 0x8000 as 0x7fff. Return 0 otherwise.
+(define-pmacro (media-low-clear-semantics a b)
+ (cond HI
+ ((le UHI (abs a) (abs b)) 0)
+ ((le HI 0 b) a)
+ ((eq HI a -32768) 32767)
+ (else (neg a))))
+
+;; Return A if -|B| < A < |B|. Return -B if A <= -|B|, saturating 0x8000
+;; as 0x7fff. Return B if A >= |B|.
+(define-pmacro (media-scope-limit-semantics a b)
+ (cond HI
+ ((andif (gt HI b -32768)
+ (ge HI a (abs b))) b)
+ ((gt HI a (neg (abs b))) a)
+ ((eq HI b -32768) 32767)
+ (else (neg b))))
+
+(define-pmacro (media-quad-limit name operation op ope comment)
+ (dni name
+ comment
+ ((UNIT FM0) (MACH fr450) (FR450-MAJOR M-2))
+ (.str name "$pack $FRintieven,$FRintjeven,$FRintkeven")
+ (+ pack FRintkeven op FRintieven ope FRintjeven)
+ (if (orif (register-unaligned FRintieven 2)
+ (orif (register-unaligned FRintjeven 2)
+ (register-unaligned FRintkeven 2)))
+ (c-call VOID "@cpu@_media_register_not_aligned")
+ (sequence ((HI a1) (HI a2) (HI a3) (HI a4)
+ (HI b1) (HI b2) (HI b3) (HI b4))
+ ; hack to get FRintkeven referenced as a target
+ ; for profiling
+ (set FRintkeven (c-raw-call SI "frv_ref_SI" FRintkeven))
+ (extract-hilo FRintieven 0 FRintjeven 0 a1 a2 b1 b2)
+ (extract-hilo FRintieven 1 FRintjeven 1 a3 a4 b3 b4)
+ (set (halfword hi FRintkeven 0) (operation a1 b1))
+ (set (halfword lo FRintkeven 0) (operation a2 b2))
+ (set (halfword hi FRintkeven 1) (operation a3 b3))
+ (set (halfword lo FRintkeven 1) (operation a4 b4))))
+ ((fr450 (unit u-media-1-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)
+ (out FRintk FRintkeven))))
+ )
+)
+
+(media-quad-limit mqlclrhs media-low-clear-semantics OP_78 OPE1_10
+ "Media quad low clear")
+(media-quad-limit mqlmths media-scope-limit-semantics OP_78 OPE1_14
+ "Media quad scope limitation")
+
+(define-pmacro (media-quad-shift name operation op ope comment)
+ (dni name
+ (comment)
+ ((UNIT FM0) (MACH fr450) (FR450-MAJOR M-2))
+ (.str name "$pack $FRintieven,$u6,$FRintkeven")
+ (+ pack FRintkeven op FRintieven ope u6)
+ (if (orif (register-unaligned FRintieven 2)
+ (register-unaligned FRintkeven 2))
+ (c-call VOID "@cpu@_media_register_not_aligned")
+ (sequence ()
+ ; hack to get these referenced for profiling
+ (set FRintieven (c-raw-call SI "frv_ref_SI" FRintieven))
+ (set FRintkeven (c-raw-call SI "frv_ref_SI" FRintkeven))
+ (set (halfword hi FRintkeven 0)
+ (operation HI (halfword hi FRintieven 0)
+ (and u6 #xf)))
+ (set (halfword lo FRintkeven 0)
+ (operation HI (halfword lo FRintieven 0)
+ (and u6 #xf)))
+ (set (halfword hi FRintkeven 1)
+ (operation HI (halfword hi FRintieven 1)
+ (and u6 #xf)))
+ (set (halfword lo FRintkeven 1)
+ (operation HI (halfword lo FRintieven 1)
+ (and u6 #xf)))))
+ ((fr450 (unit u-media-3-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintieven)
+ (out FRintk FRintkeven))))
+ )
+)
+
+(media-quad-shift mqsllhi sll OP_78 OPE1_11 "Media quad left shift")
+(media-quad-shift mqsrahi sra OP_78 OPE1_13 "Media quad right shift")
+
(define-pmacro (media-acc-arith-sat name operation mode max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
(.str name "$pack $ACC40Si,$ACC40Sk")
(+ pack ACC40Sk op ACC40Si ope (ACCj-null))
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Si))
@@ -7697,7 +8442,8 @@
(media-arith-sat-semantics operation ACC40Si
(nextreg h-acc40S ACC40Si 1)
ACC40Sk mode max min (msr-sie-acci)))))
- ((fr400 (unit u-media-2-acc)) (fr550 (unit u-media-4-acc)))
+ ((fr400 (unit u-media-2-acc)) (fr450 (unit u-media-2-acc))
+ (fr550 (unit u-media-4-acc)))
)
)
@@ -7710,7 +8456,8 @@
comment)
(dni name
(comment)
- ((UNIT MDUALACC) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT MDUALACC) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $ACC40Si,$ACC40Sk")
(+ pack ACC40Sk op ACC40Si ope (ACCj-null))
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Si))
@@ -7730,7 +8477,8 @@
(nextreg h-acc40S ACC40Sk 1)
mode max min
(msr-sie-acci-1)))))))
- ((fr400 (unit u-media-2-acc-dual)) (fr550 (unit u-media-4-acc-dual)))
+ ((fr400 (unit u-media-2-acc-dual)) (fr450 (unit u-media-2-acc-dual))
+ (fr550 (unit u-media-4-acc-dual)))
)
)
@@ -7741,7 +8489,8 @@
(dni masaccs
"Media add and subtract signed accumulator with saturation"
- ((UNIT FMALL) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
"masaccs$pack $ACC40Si,$ACC40Sk"
(+ pack ACC40Sk OP_78 ACC40Si OPE1_08 (ACCj-null))
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Si))
@@ -7764,12 +8513,14 @@
#x7fffffffff
(inv DI #x7fffffffff)
(msr-sie-acci-1)))))))
- ((fr400 (unit u-media-2-add-sub)) (fr550 (unit u-media-4-add-sub)))
+ ((fr400 (unit u-media-2-add-sub)) (fr450 (unit u-media-2-add-sub))
+ (fr550 (unit u-media-4-add-sub)))
)
(dni mdasaccs
"Media add and subtract signed accumulator with saturation"
- ((UNIT MDUALACC) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT MDUALACC) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
"mdasaccs$pack $ACC40Si,$ACC40Sk"
(+ pack ACC40Sk OP_78 ACC40Si OPE1_09 (ACCj-null))
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Si))
@@ -7808,7 +8559,9 @@
#x7fffffffff
(inv DI #x7fffffffff)
(msr-sie-acci-3)))))))
- ((fr400 (unit u-media-2-add-sub-dual)) (fr550 (unit u-media-4-add-sub-dual)))
+ ((fr400 (unit u-media-2-add-sub-dual))
+ (fr450 (unit u-media-2-add-sub-dual))
+ (fr550 (unit u-media-4-add-sub-dual)))
)
(define-pmacro (media-multiply-semantics conv arg1 arg2 res)
@@ -7831,11 +8584,12 @@
(define-pmacro (media-dual-multiply name mode conv rhs1 rhs2 op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1) PRESERVE-OVF)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3) PRESERVE-OVF)
(.str name "$pack $FRinti,$FRintj,$ACC40Sk")
(+ pack ACC40Sk op FRinti ope FRintj)
(media-dual-multiply-semantics 1 mode conv rhs1 rhs2)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -7850,12 +8604,13 @@
name mode conv rhs1 rhs2 op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3)
PRESERVE-OVF CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond")
(+ pack ACC40Sk op FRinti CCi cond ope FRintj)
(media-dual-multiply-semantics (eq CCi (or cond 2)) mode conv rhs1 rhs2)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -7889,13 +8644,17 @@
(define-pmacro (media-quad-multiply name mode conv rhs1 rhs2 op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2) PRESERVE-OVF)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4) PRESERVE-OVF)
(.str name "$pack $FRintieven,$FRintjeven,$ACC40Sk")
(+ pack ACC40Sk op FRintieven ope FRintjeven)
(media-quad-multiply-semantics 1 mode conv rhs1 rhs2)
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-mul
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -7912,7 +8671,8 @@
name mode conv rhs1 rhs2 op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4)
PRESERVE-OVF CONDITIONAL)
(.str name "$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond")
(+ pack ACC40Sk op FRintieven CCi cond ope FRintjeven)
@@ -7920,6 +8680,9 @@
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-mul
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -7957,11 +8720,12 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
(.str name "$pack $FRinti,$FRintj,$" res)
(+ pack res op FRinti ope FRintj)
(media-dual-multiply-acc-semantics 1 mode conv addop rhw res max min)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -7990,12 +8754,13 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3) CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$" res ",$CCi,$cond")
(+ pack res op FRinti CCi cond ope FRintj)
(media-dual-multiply-acc-semantics (eq CCi (or cond 2))
mode conv addop rhw res max min)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -8044,13 +8809,17 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$" res)
(+ pack res op FRintieven ope FRintjeven)
(media-quad-multiply-acc-semantics 1 mode conv addop rhw res max min)
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-mul
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -8071,7 +8840,8 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4) CONDITIONAL)
(.str name "$pack $FRintieven,$FRintjeven,$" res ",$CCi,$cond")
(+ pack res op FRintieven CCi cond ope FRintjeven)
(media-quad-multiply-acc-semantics (eq CCi (or cond 2))
@@ -8079,6 +8849,9 @@
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-mul
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -8129,14 +8902,19 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT MDUALACC) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$" res)
(+ pack res op FRintieven ope FRintjeven)
(media-quad-multiply-cross-acc-semantics 1 mode conv addop rhw res
max min)
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
- (in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
+ (in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
+ (fr550 (unit u-media-4-quad)))
)
)
@@ -8179,14 +8957,19 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT MDUALACC) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$" res)
(+ pack res op FRintieven ope FRintjeven)
(media-quad-cross-multiply-cross-acc-semantics 1 mode conv addop rhw res
max min)
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
- (in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
+ (in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
+ (fr550 (unit u-media-4-quad)))
)
)
@@ -8229,14 +9012,19 @@
name mode conv addop rhw res max min op ope comment)
(dni name
(comment)
- ((UNIT MDUALACC) (MACH fr400,fr550) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (MACH fr400,fr450,fr550) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$" res)
(+ pack res op FRintieven ope FRintjeven)
(media-quad-cross-multiply-acc-semantics 1 mode conv addop rhw res
max min)
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
- (in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
+ (in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
+ (fr550 (unit u-media-4-quad)))
)
)
@@ -8283,11 +9071,12 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
(.str name "$pack $FRinti,$FRintj,$ACC40Sk")
(+ pack ACC40Sk op FRinti ope FRintj)
(media-dual-complex-semantics mode conv rhs1 rhs2 max min)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -8296,11 +9085,12 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
(.str name "$pack $FRinti,$FRintj,$ACC40Sk")
(+ pack ACC40Sk op FRinti ope FRintj)
(media-dual-complex-semantics-i mode conv rhs1 rhs2 max min)
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -8329,12 +9119,13 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3) CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond")
(+ pack ACC40Sk op FRinti CCi cond ope FRintj)
(if (eq CCi (or cond 2))
(media-dual-complex-semantics mode conv rhs1 rhs2 max min))
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -8343,12 +9134,13 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3) CONDITIONAL)
(.str name "$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond")
(+ pack ACC40Sk op FRinti CCi cond ope FRintj)
(if (eq CCi (or cond 2))
(media-dual-complex-semantics-i mode conv rhs1 rhs2 max min))
- ((fr400 (unit u-media-2))
+ ((fr400 (unit u-media-2)) (fr450 (unit u-media-2))
(fr500 (unit u-media-dual-mul)) (fr550 (unit u-media-4)))
)
)
@@ -8377,7 +9169,8 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$ACC40Sk")
(+ pack ACC40Sk op FRintieven ope FRintjeven)
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Sk))
@@ -8401,6 +9194,9 @@
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-complex
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -8411,7 +9207,8 @@
name mode conv rhs1 rhs2 max min op ope comment)
(dni name
(comment)
- ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4) (FR400-MAJOR M-2))
+ ((UNIT FMALL) (FR500-MAJOR M-4) (FR550-MAJOR M-4)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
(.str name "$pack $FRintieven,$FRintjeven,$ACC40Sk")
(+ pack ACC40Sk op FRintieven ope FRintjeven)
(if (c-call SI "@cpu@_check_acc_range" (index-of ACC40Sk))
@@ -8435,6 +9232,9 @@
((fr400 (unit u-media-2-quad
(in FRinti FRintieven)
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-2-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-quad-complex
(in FRinti FRintieven)
(in FRintj FRintjeven))) (fr550 (unit u-media-4-quad)))
@@ -8479,21 +9279,23 @@
(dni mexpdhw
"Media expand halfword to word"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mexpdhw$pack $FRinti,$u6,$FRintk"
(+ pack FRintk OP_7B FRinti OPE1_32 u6)
(media-expand-halfword-to-word-semantics 1)
- ((fr400 (unit u-media-3))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(dni cmexpdhw
"Conditional media expand halfword to word"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1) CONDITIONAL)
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1) CONDITIONAL)
"cmexpdhw$pack $FRinti,$u6,$FRintk,$CCi,$cond"
(+ pack FRintk OP_76 FRinti CCi cond OPE4_2 u6)
(media-expand-halfword-to-word-semantics (eq CCi (or cond 2)))
- ((fr400 (unit u-media-3))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
@@ -8515,41 +9317,51 @@
(dni mexpdhd
"Media expand halfword to double"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mexpdhd$pack $FRinti,$u6,$FRintkeven"
(+ pack FRintkeven OP_7B FRinti OPE1_33 u6)
(media-expand-halfword-to-double-semantics 1)
((fr400 (unit u-media-dual-expand
- (out FRintk FRintkeven)))
+ (out FRintk FRintkeven)))
+ (fr450 (unit u-media-dual-expand
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-dual-expand
- (out FRintk FRintkeven))) (fr550 (unit u-media-dual-expand)))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-dual-expand)))
)
(dni cmexpdhd
"Conditional media expand halfword to double"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2) CONDITIONAL)
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2) CONDITIONAL)
"cmexpdhd$pack $FRinti,$u6,$FRintkeven,$CCi,$cond"
(+ pack FRintkeven OP_76 FRinti CCi cond OPE4_3 u6)
(media-expand-halfword-to-double-semantics (eq CCi (or cond 2)))
((fr400 (unit u-media-dual-expand
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-dual-expand
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-dual-expand
- (out FRintk FRintkeven))) (fr550 (unit u-media-dual-expand)))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-dual-expand)))
)
(dni mpackh
"Media halfword pack"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mpackh$pack $FRinti,$FRintj,$FRintk"
(+ pack FRintk OP_7B FRinti OPE1_34 FRintj)
(media-pack FRinti FRintj FRintk 0)
- ((fr400 (unit u-media-3))
+ ((fr400 (unit u-media-3)) (fr450 (unit u-media-3))
(fr500 (unit u-media)) (fr550 (unit u-media)))
)
(dni mdpackh
"Media dual pack"
- ((UNIT FM01) (FR500-MAJOR M-5) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-5) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mdpackh$pack $FRintieven,$FRintjeven,$FRintkeven"
(+ pack FRintkeven OP_7B FRintieven OPE1_36 FRintjeven)
(if (orif (register-unaligned FRintieven 2)
@@ -8567,10 +9379,15 @@
(in FRinti FRintieven)
(in FRintj FRintjeven)
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-3-quad
+ (in FRinti FRintieven)
+ (in FRintj FRintjeven)
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-quad-arith
(in FRinti FRintieven)
(in FRintj FRintjeven)
- (out FRintk FRintkeven))) (fr550 (unit u-media-quad)))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-quad)))
)
(define-pmacro (media-unpack src soff targ toff)
@@ -8583,7 +9400,8 @@
(dni munpackh
"Media halfword unpack"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"munpackh$pack $FRinti,$FRintkeven"
(+ pack FRintkeven OP_7B FRinti OPE1_35 (FRj-null))
(if (register-unaligned FRintkeven 2)
@@ -8595,8 +9413,11 @@
(media-unpack FRinti 0 FRintkeven 0)))
((fr400 (unit u-media-dual-expand
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-dual-expand
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-dual-expand
- (out FRintk FRintkeven))) (fr550 (unit u-media-dual-expand)))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-dual-expand)))
)
(dni mdunpackh
@@ -8632,7 +9453,8 @@
(dni mbtoh
"Media convert byte to halfword"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mbtoh$pack $FRintj,$FRintkeven"
(+ pack FRintkeven OP_7B (FRi-null) OPE1_38 FRintj)
(sequence ()
@@ -8642,13 +9464,17 @@
(mbtoh-semantics 1))
((fr400 (unit u-media-dual-expand
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-dual-expand
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-dual-btoh
- (out FRintk FRintkeven))) (fr550 (unit u-media-dual-expand)))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-dual-expand)))
)
(dni cmbtoh
"Conditional media convert byte to halfword"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2) CONDITIONAL)
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2) CONDITIONAL)
"cmbtoh$pack $FRintj,$FRintkeven,$CCi,$cond"
(+ pack FRintkeven OP_77 (FRi-null) CCi cond OPE4_0 FRintj)
(sequence ()
@@ -8658,8 +9484,12 @@
(mbtoh-semantics (eq CCi (or cond 2))))
((fr400 (unit u-media-dual-expand
(out FRintk FRintkeven)))
+ (fr450 (unit u-media-dual-expand
+ (out FRintk FRintkeven)))
(fr500 (unit u-media-dual-btoh
- (out FRintk FRintkeven))) (fr550 (unit u-media-dual-expand (in FRinti FRintj))))
+ (out FRintk FRintkeven)))
+ (fr550 (unit u-media-dual-expand
+ (in FRinti FRintj))))
)
(define-pmacro (mhtob-semantics cond)
@@ -8675,7 +9505,8 @@
(dni mhtob
"Media convert halfword to byte"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2))
"mhtob$pack $FRintjeven,$FRintk"
(+ pack FRintk OP_7B (FRi-null) OPE1_39 FRintjeven)
(sequence ()
@@ -8685,13 +9516,18 @@
(mhtob-semantics 1))
((fr400 (unit u-media-dual-htob
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-dual-htob
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-dual-htob
- (in FRintj FRintjeven))) (fr550 (unit u-media-3-dual (in FRinti FRintjeven))))
+ (in FRintj FRintjeven)))
+ (fr550 (unit u-media-3-dual
+ (in FRinti FRintjeven))))
)
(dni cmhtob
"Conditional media convert halfword to byte"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-2) CONDITIONAL)
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-2) CONDITIONAL)
"cmhtob$pack $FRintjeven,$FRintk,$CCi,$cond"
(+ pack FRintk OP_77 (FRi-null) CCi cond OPE4_1 FRintjeven)
(sequence ()
@@ -8701,8 +9537,12 @@
(mhtob-semantics (eq CCi (or cond 2))))
((fr400 (unit u-media-dual-htob
(in FRintj FRintjeven)))
+ (fr450 (unit u-media-dual-htob
+ (in FRintj FRintjeven)))
(fr500 (unit u-media-dual-htob
- (in FRintj FRintjeven))) (fr550 (unit u-media-3-dual (in FRinti FRintjeven))))
+ (in FRintj FRintjeven)))
+ (fr550 (unit u-media-3-dual
+ (in FRinti FRintjeven))))
)
(define-pmacro (mbtohe-semantics cond)
@@ -8749,7 +9589,8 @@
; Media NOP
; A special case of mclracc
(dni mnop "Media nop"
- ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-1) (FR400-MAJOR M-1))
+ ((UNIT FMALL) (FR500-MAJOR M-1) (FR550-MAJOR M-1)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-1))
"mnop$pack"
(+ pack (f-ACC40Sk 63) OP_7B (f-A 1) (misc-null-10) OPE1_3B (FRj-null))
(nop)
@@ -8759,66 +9600,72 @@
; mclracc with #A==0
(dni mclracc-0
"Media clear accumulator(s)"
- ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
"mclracc$pack $ACC40Sk,$A0"
(+ pack ACC40Sk OP_7B (f-A 0) (misc-null-10) OPE1_3B (FRj-null))
(c-call VOID "@cpu@_clear_accumulators" (index-of ACC40Sk) 0)
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4))
(fr500 (unit u-media)) (fr550 (unit u-media-3-mclracc)))
)
; mclracc with #A==1
(dni mclracc-1
"Media clear accumulator(s)"
- ((UNIT MCLRACC-1) (FR500-MAJOR M-6) (FR550-MAJOR M-3) (FR400-MAJOR M-2))
+ ((UNIT MCLRACC-1) (FR500-MAJOR M-6) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-2) (FR450-MAJOR M-4))
"mclracc$pack $ACC40Sk,$A1"
(+ pack ACC40Sk OP_7B (f-A 1) (misc-null-10) OPE1_3B (FRj-null))
(c-call VOID "@cpu@_clear_accumulators" (index-of ACC40Sk) 1)
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4-mclracca))
(fr500 (unit u-media)) (fr550 (unit u-media-3-mclracc)))
)
(dni mrdacc
"Media read accumulator"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-5))
"mrdacc$pack $ACC40Si,$FRintk"
(+ pack FRintk OP_7B ACC40Si OPE1_3C (FRj-null))
(set FRintk ACC40Si)
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4))
(fr500 (unit u-media)) (fr550 (unit u-media-3-acc)))
)
(dni mrdaccg
"Media read accumulator guard"
- ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-2) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-5))
"mrdaccg$pack $ACCGi,$FRintk"
(+ pack FRintk OP_7B ACCGi OPE1_3E (FRj-null))
(set FRintk ACCGi)
- ((fr400 (unit u-media-4-accg))
+ ((fr400 (unit u-media-4-accg)) (fr450 (unit u-media-4-accg))
(fr500 (unit u-media)) (fr550 (unit u-media-3-acc (in ACC40Si ACCGi))))
)
(dni mwtacc
"Media write accumulator"
- ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
"mwtacc$pack $FRinti,$ACC40Sk"
(+ pack ACC40Sk OP_7B FRinti OPE1_3D (FRj-null))
(set ACC40Sk (or (and ACC40Sk (const DI #xffffffff00000000))
FRinti))
- ((fr400 (unit u-media-4))
+ ((fr400 (unit u-media-4)) (fr450 (unit u-media-4))
(fr500 (unit u-media)) (fr550 (unit u-media-3-wtacc)))
)
(dni mwtaccg
"Media write accumulator guard"
- ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3) (FR400-MAJOR M-1))
+ ((UNIT FM01) (FR500-MAJOR M-3) (FR550-MAJOR M-3)
+ (FR400-MAJOR M-1) (FR450-MAJOR M-3))
"mwtaccg$pack $FRinti,$ACCGk"
(+ pack ACCGk OP_7B FRinti OPE1_3F (FRj-null))
(sequence ()
; hack to get these referenced for profiling
(c-raw-call VOID "frv_ref_SI" ACCGk)
(set ACCGk FRinti))
- ((fr400 (unit u-media-4-accg))
+ ((fr400 (unit u-media-4-accg)) (fr450 (unit u-media-4-accg))
(fr500 (unit u-media)) (fr550 (unit u-media-3-wtacc (in ACC40Sk ACCGk))))
)
@@ -8842,7 +9689,7 @@
; On the other hand spending a little time in the decoder is often worth it.
;
(dnmi nop "nop"
- ((UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1))
+ ((UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"nop$pack"
(emit ori pack (GRi 0) (s12 0) (GRk 0))
)
@@ -8859,37 +9706,43 @@
; A return instruction
(dnmi ret "return"
- (NO-DIS (UNIT B01) (FR500-MAJOR B-3) (FR400-MAJOR B-3))
+ (NO-DIS (UNIT B01) (FR500-MAJOR B-3)
+ (FR400-MAJOR B-3) (FR450-MAJOR B-3))
"ret$pack"
(emit bralr pack (hint_taken 2))
)
(dnmi cmp "compare"
- (NO-DIS (UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1))
+ (NO-DIS (UNIT IALL) (FR500-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"cmp$pack $GRi,$GRj,$ICCi_1"
(emit subcc pack GRi GRj (GRk 0) ICCi_1)
)
(dnmi cmpi "compare immediate"
- (NO-DIS (UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1))
+ (NO-DIS (UNIT IALL) (FR500-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"cmpi$pack $GRi,$s10,$ICCi_1"
(emit subicc pack GRi s10 (GRk 0) ICCi_1)
)
(dnmi ccmp "conditional compare"
- (NO-DIS (UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ (NO-DIS (UNIT IALL) (FR500-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"ccmp$pack $GRi,$GRj,$CCi,$cond"
(emit csubcc pack GRi GRj (GRk 0) CCi cond)
)
(dnmi mov "move"
- (NO-DIS (UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1))
+ (NO-DIS (UNIT IALL) (FR500-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1))
"mov$pack $GRi,$GRk"
(emit ori pack GRi (s12 0) GRk)
)
(dnmi cmov "conditional move"
- (NO-DIS (UNIT IALL) (FR500-MAJOR I-1) (FR400-MAJOR I-1) CONDITIONAL)
+ (NO-DIS (UNIT IALL) (FR500-MAJOR I-1)
+ (FR400-MAJOR I-1) (FR450-MAJOR I-1) CONDITIONAL)
"cmov$pack $GRi,$GRk,$CCi,$cond"
(emit cor pack GRi (GRj 0) GRk CCi cond)
)
diff --git a/cpu/frv.opc b/cpu/frv.opc
index 03c0f3e..46985b6 100644
--- a/cpu/frv.opc
+++ b/cpu/frv.opc
@@ -90,6 +90,8 @@ static int find_major_in_vliw
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr400_check_insn_major_constraints
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
+static int fr450_check_insn_major_constraints
+ PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr500_check_insn_major_constraints
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr550_check_insn_major_constraints
@@ -106,6 +108,10 @@ frv_is_branch_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
if (major >= FR400_MAJOR_B_1 && major <= FR400_MAJOR_B_6)
return 1; /* is a branch */
break;
+ case bfd_mach_fr450:
+ if (major >= FR450_MAJOR_B_1 && major <= FR450_MAJOR_B_6)
+ return 1; /* is a branch */
+ break;
default:
if (major >= FR500_MAJOR_B_1 && major <= FR500_MAJOR_B_6)
return 1; /* is a branch */
@@ -121,6 +127,7 @@ frv_is_float_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
switch (mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
return 0; /* No float insns */
default:
if (major >= FR500_MAJOR_F_1 && major <= FR500_MAJOR_F_8)
@@ -140,6 +147,10 @@ frv_is_media_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
if (major >= FR400_MAJOR_M_1 && major <= FR400_MAJOR_M_2)
return 1; /* is a media insn */
break;
+ case bfd_mach_fr450:
+ if (major >= FR450_MAJOR_M_1 && major <= FR450_MAJOR_M_6)
+ return 1; /* is a media insn */
+ break;
default:
if (major >= FR500_MAJOR_M_1 && major <= FR500_MAJOR_M_8)
return 1; /* is a media insn */
@@ -155,6 +166,9 @@ frv_is_branch_insn (const CGEN_INSN *insn)
if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -168,6 +182,9 @@ frv_is_float_insn (const CGEN_INSN *insn)
if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -181,6 +198,9 @@ frv_is_media_insn (const CGEN_INSN *insn)
if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -291,6 +311,42 @@ static CGEN_ATTR_VALUE_TYPE fr400_unit_mapping[] =
/* SCAN */ UNIT_I0, /* scan only in I0 unit. */
/* DCPL */ UNIT_C, /* dcpl only in C unit. */
/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM0, /* mdcutssi only in FM0 unit. */
+/* MCLRACC-1*/ UNIT_FM0 /* mclracc,A==1 insn only in FM0 unit. */
+};
+
+/* Some insns are assigned specialized implementation units which map to
+ different actual implementation units on different machines. These
+ tables perform that mapping. */
+static CGEN_ATTR_VALUE_TYPE fr450_unit_mapping[] =
+{
+/* unit in insn actual unit */
+/* NIL */ UNIT_NIL,
+/* I0 */ UNIT_I0,
+/* I1 */ UNIT_I1,
+/* I01 */ UNIT_I01,
+/* I2 */ UNIT_NIL, /* no I2 or I3 unit */
+/* I3 */ UNIT_NIL,
+/* IALL */ UNIT_I01, /* only I0 and I1 units */
+/* FM0 */ UNIT_FM0,
+/* FM1 */ UNIT_FM1,
+/* FM01 */ UNIT_FM01,
+/* FM2 */ UNIT_NIL, /* no F2 or M2 units */
+/* FM3 */ UNIT_NIL, /* no F3 or M3 units */
+/* FMALL */ UNIT_FM01,/* Only F0,F1,M0,M1 units */
+/* FMLOW */ UNIT_FM0, /* Only F0,M0 units */
+/* B0 */ UNIT_B0, /* branches only in B0 unit. */
+/* B1 */ UNIT_B0,
+/* B01 */ UNIT_B0,
+/* C */ UNIT_C,
+/* MULT-DIV */ UNIT_I0, /* multiply and divide only in I0 unit. */
+/* IACC */ UNIT_I01, /* iacc multiply in I0 or I1 unit. */
+/* LOAD */ UNIT_I0, /* load only in I0 unit. */
+/* STORE */ UNIT_I0, /* store only in I0 unit. */
+/* SCAN */ UNIT_I0, /* scan only in I0 unit. */
+/* DCPL */ UNIT_I0, /* dcpl only in I0 unit. */
+/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM01, /* mdcutssi in FM0 or FM1. */
/* MCLRACC-1*/ UNIT_FM0 /* mclracc,A==1 insn only in FM0 unit. */
};
@@ -322,6 +378,7 @@ static CGEN_ATTR_VALUE_TYPE fr500_unit_mapping[] =
/* SCAN */ UNIT_I01, /* scan in I0 or I1 unit. */
/* DCPL */ UNIT_C, /* dcpl only in C unit. */
/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM0, /* mdcutssi only in FM0 unit. */
/* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
};
@@ -353,6 +410,7 @@ static CGEN_ATTR_VALUE_TYPE fr550_unit_mapping[] =
/* SCAN */ UNIT_IALL, /* scan in any integer unit. */
/* DCPL */ UNIT_I0, /* dcpl only in I0 unit. */
/* MDUALACC */ UNIT_FMALL,/* media dual acc insn in all media units */
+/* MDCUTSSI */ UNIT_FM01, /* mdcutssi in FM0 or FM1 unit. */
/* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
};
@@ -370,6 +428,10 @@ frv_vliw_reset (FRV_VLIW *vliw, unsigned long mach, unsigned long elf_flags)
vliw->current_vliw = fr400_allowed_vliw;
vliw->unit_mapping = fr400_unit_mapping;
break;
+ case bfd_mach_fr450:
+ vliw->current_vliw = fr400_allowed_vliw;
+ vliw->unit_mapping = fr450_unit_mapping;
+ break;
case bfd_mach_fr550:
vliw->current_vliw = fr550_allowed_vliw;
vliw->unit_mapping = fr550_unit_mapping;
@@ -499,6 +561,8 @@ fr400_check_insn_major_constraints (
case FR400_MAJOR_M_2:
return ! find_major_in_vliw (vliw, FR400_MAJOR_M_1)
&& ! find_major_in_vliw (vliw, FR400_MAJOR_M_2);
+ case FR400_MAJOR_M_1:
+ return !find_major_in_vliw (vliw, FR400_MAJOR_M_2);
default:
break;
}
@@ -506,6 +570,43 @@ fr400_check_insn_major_constraints (
}
static int
+fr450_check_insn_major_constraints (
+ FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major
+)
+{
+ CGEN_ATTR_VALUE_TYPE other_major;
+
+ /* Our caller guarantees there's at least one other instruction. */
+ other_major = CGEN_INSN_ATTR_VALUE (vliw->insn[0], CGEN_INSN_FR450_MAJOR);
+
+ /* (M4, M5) and (M4, M6) are allowed. */
+ if (other_major == FR450_MAJOR_M_4)
+ if (major == FR450_MAJOR_M_5 || major == FR450_MAJOR_M_6)
+ return 1;
+
+ /* Otherwise, instructions in even-numbered media categories cannot be
+ executed in parallel with other media instructions. */
+ switch (major)
+ {
+ case FR450_MAJOR_M_2:
+ case FR450_MAJOR_M_4:
+ case FR450_MAJOR_M_6:
+ return !(other_major >= FR450_MAJOR_M_1
+ && other_major <= FR450_MAJOR_M_6);
+
+ case FR450_MAJOR_M_1:
+ case FR450_MAJOR_M_3:
+ case FR450_MAJOR_M_5:
+ return !(other_major == FR450_MAJOR_M_2
+ || other_major == FR450_MAJOR_M_4
+ || other_major == FR450_MAJOR_M_6);
+
+ default:
+ return 1;
+ }
+}
+
+static int
find_unit_in_vliw (
FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE unit
)
@@ -742,6 +843,9 @@ check_insn_major_constraints (
case bfd_mach_fr400:
rc = fr400_check_insn_major_constraints (vliw, major);
break;
+ case bfd_mach_fr450:
+ rc = fr450_check_insn_major_constraints (vliw, major);
+ break;
case bfd_mach_fr550:
rc = fr550_check_insn_major_constraints (vliw, major, insn);
break;
@@ -782,6 +886,9 @@ frv_vliw_add_insn (FRV_VLIW *vliw, const CGEN_INSN *insn)
case bfd_mach_fr400:
major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR);
break;
+ case bfd_mach_fr450:
+ major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR);
+ break;
case bfd_mach_fr550:
major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR550_MAJOR);
break;
diff --git a/cpu/m32r.cpu b/cpu/m32r.cpu
new file mode 100644
index 0000000..c049b28
--- /dev/null
+++ b/cpu/m32r.cpu
@@ -0,0 +1,2426 @@
+; Renesas M32R CPU description. -*- Scheme -*-
+;
+; Copyright 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+;
+; Contributed by Red Hat Inc; developed under contract from Mitsubishi
+; Electric Corporation.
+;
+; This file is part of the GNU Binutils.
+;
+; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+(include "simplify.inc")
+
+; FIXME: Delete sign extension of accumulator results.
+; Sign extension is done when accumulator is read.
+
+; define-arch must appear first
+
+(define-arch
+ (name m32r) ; name of cpu family
+ (comment "Renesas M32R")
+ (default-alignment aligned)
+ (insn-lsb0? #f)
+ (machs m32r m32rx m32r2)
+ (isas m32r)
+)
+
+; Attributes.
+
+; An attribute to describe which pipeline an insn runs in.
+; O_OS is a special attribute for sll, sra, sla, slli, srai, slai.
+; These instructions have O attribute for m32rx and OS attribute for m32r2.
+
+(define-attr
+ (for insn)
+ (type enum)
+ (name PIPE)
+ (comment "parallel execution pipeline selection")
+ (values NONE O S OS O_OS)
+)
+
+; A derived attribute that says which insns can be executed in parallel
+; with others. This is a required attribute for architectures with
+; parallel execution.
+
+(define-attr
+ (for insn)
+ (type enum)
+ (name PARALLEL)
+ (attrs META) ; do not define in any generated file for now
+ (values NO YES)
+ (default (if (eq-attr (current-insn) PIPE NONE) (symbol NO) (symbol YES)))
+)
+
+; Instruction set parameters.
+
+(define-isa
+ (name m32r)
+
+ ; This is 32 because 16 bit insns always appear as pairs.
+ ; ??? See if this can go away. It's only used by the disassembler (right?)
+ ; to decide how long an unknown insn is. One value isn't sufficient (e.g. if
+ ; on a 16 bit (and not 32 bit) boundary, will only want to advance pc by 16.)
+ (default-insn-bitsize 32)
+
+ ; Number of bytes of insn we can initially fetch.
+ ; The M32R is tricky in that insns are either two 16-bit insns
+ ; (executed sequentially or in parallel) or one 32-bit insn.
+ ; So on one hand the base insn size is 16 bits, but on another it's 32.
+ ; 32 is chosen because:
+ ; - if the chip were ever bi-endian it is believed that the byte order would
+ ; be based on 32 bit quantities
+ ; - 32 bit insns are always aligned on 32 bit boundaries
+ ; - the pc will never stop on a 16 bit (and not 32 bit) boundary
+ ; [well actually it can, but there are no branches to such places]
+ (base-insn-bitsize 32)
+
+ ; Used in computing bit numbers.
+ (default-insn-word-bitsize 32)
+
+ ; The m32r fetches 2 insns at a time.
+ (liw-insns 2)
+
+ ; While the m32r can execute insns in parallel, the base mach can't
+ ; (other than nop). The base mach is greatly handicapped by this, but
+ ; we still need to cleanly handle it.
+ (parallel-insns 2)
+
+ ; Initial bitnumbers to decode insns by.
+ (decode-assist (0 1 2 3 8 9 10 11))
+
+ ; Classification of instructions that fit in the various frames.
+ ; wip, not currently used
+ (insn-types (long ; name
+ 31 ; length
+ (eq-attr (current-insn) LENGTH 31) ; matching insns
+ (0 1 2 7 8 9 10) ; decode-assist
+ )
+ (short
+ 15
+ (eq-attr (current-insn) LENGTH 15) ; matching insns
+ (0 1 2 7 8 9 10)
+ )
+ )
+
+ ; Instruction framing.
+ ; Each m32r insn is either one 32 bit insn, two 16 bit insns executed
+ ; serially (left->right), or two 16 bit insns executed parallelly.
+ ; wip, not currently used
+ (frame long32 ; name
+ ((long)) ; list of insns in frame, plus constraint
+ "$0" ; assembler
+ (+ (1 1) (31 $0)) ; value
+ (sequence () (execute $0)) ; action
+ )
+ (frame serial2x16
+ ((short)
+ (short))
+ "$0 -> $1"
+ (+ (1 0) (15 $0) (1 0) (15 $1))
+ (sequence ()
+ (execute $0)
+ (execute $1))
+ )
+ (frame parallel2x16
+ ((short (eq-attr (current-insn) PIPE "O,BOTH"))
+ (short (eq-attr (current-insn) PIPE "S,BOTH")))
+ "$0 || $1"
+ (+ (1 0) (15 $0) (1 1) (15 $1))
+ (parallel ()
+ (execute $0)
+ (execute $1))
+ )
+)
+
+; Cpu family definitions.
+
+; ??? define-cpu-family [and in general "cpu-family"] might be clearer than
+; define-cpu.
+; ??? Have define-arch provide defaults for architecture that define-cpu can
+; then override [reduces duplication in define-cpu].
+; ??? Another way to go is to delete cpu-families entirely and have one mach
+; able to inherit things from another mach (would also need the ability to
+; not only override specific inherited things but also disable some,
+; e.g. if an insn wasn't supported).
+
+(define-cpu
+ ; cpu names must be distinct from the architecture name and machine names.
+ ; The "b" suffix stands for "base" and is the convention.
+ ; The "f" suffix stands for "family" and is the convention.
+ (name m32rbf)
+ (comment "Renesas M32R base family")
+ (endian either)
+ (word-bitsize 32)
+ ; Override isa spec (??? keeps things simpler, though it was more true
+ ; in the early days and not so much now).
+ (parallel-insns 1)
+)
+
+(define-cpu
+ (name m32rxf)
+ (comment "Renesas M32Rx family")
+ (endian either)
+ (word-bitsize 32)
+ ; Generated files have an "x" suffix.
+ (file-transform "x")
+)
+
+(define-cpu
+ (name m32r2f)
+ (comment "Renesas M32R2 family")
+ (endian either)
+ (word-bitsize 32)
+ ; Generated files have an "2" suffix.
+ (file-transform "2")
+)
+
+(define-mach
+ (name m32r)
+ (comment "Generic M32R cpu")
+ (cpu m32rbf)
+)
+
+(define-mach
+ (name m32rx)
+ (comment "M32RX cpu")
+ (cpu m32rxf)
+)
+
+(define-mach
+ (name m32r2)
+ (comment "M32R2 cpu")
+ (cpu m32r2f)
+)
+
+; Model descriptions.
+
+; The meaning of this value is wip but at the moment it's intended to describe
+; the implementation (i.e. what -mtune=foo does in sparc gcc).
+;
+; Notes while wip:
+; - format of pipeline entry:
+; (pipeline name (stage1-name ...) (stage2-name ...) ...)
+; The contents of a stage description is wip.
+; - each mach must have at least one model
+; - the default model must be the first one
+;- maybe have `retire' support update total cycle count to handle current
+; parallel insn cycle counting problems
+
+(define-model
+ (name m32r/d) (comment "m32r/d") (attrs)
+ (mach m32r)
+
+ ;(prefetch)
+ ;(retire)
+
+ (pipeline p-non-mem "" () ((fetch) (decode) (execute) (writeback)))
+ (pipeline p-mem "" () ((fetch) (decode) (execute) (memory) (writeback)))
+
+ ; `state' is a list of variables for recording model state
+ (state
+ ; bit mask of h-gr registers, =1 means value being loaded from memory
+ (h-gr UINT)
+ )
+
+ (unit u-exec "Execution Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1) (dr INT -1)) ; inputs
+ ((dr INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cmp "Compare Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-mac "Multiply/Accumulate Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cti "Branch Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1)) ; inputs
+ ((pc)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-load "Memory Load Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT)
+ ;(ld-mem AI)
+ ) ; inputs
+ ((dr INT)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-store "Memory Store Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT) (src2 INT)) ; inputs
+ () ; ((st-mem AI)) ; outputs
+ () ; profile action (default)
+ )
+)
+
+(define-model
+ (name test) (comment "test") (attrs)
+ (mach m32r)
+ (pipeline all "" () ((fetch) (decode) (execute) (writeback)))
+ (unit u-exec "Execution Unit" ()
+ 1 1 ; issue done
+ () () () ())
+)
+
+; Each mach must have at least one model.
+
+(define-model
+ (name m32rx) (comment "m32rx") (attrs)
+ (mach m32rx)
+
+ ; ??? It's 6 stages but I forget the details right now.
+ (pipeline p-o "" () ((fetch) (decode) (execute) (writeback)))
+ (pipeline p-s "" () ((fetch) (decode) (execute) (writeback)))
+ (pipeline p-o-mem "" () ((fetch) (decode) (execute) (memory) (writeback)))
+
+ (unit u-exec "Execution Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1) (dr INT -1)) ; inputs
+ ((dr INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cmp "Compare Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-mac "Multiply/Accumulate Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cti "Branch Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1)) ; inputs
+ ((pc)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-load "Memory Load Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT)) ; inputs
+ ((dr INT)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-store "Memory Store Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT) (src2 INT)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+)
+
+(define-model
+ (name m32r2) (comment "m32r2") (attrs)
+ (mach m32r2)
+
+ ; ??? It's 6 stages but I forget the details right now.
+ (pipeline p-o "" () ((fetch) (decode) (execute) (writeback)))
+ (pipeline p-s "" () ((fetch) (decode) (execute) (writeback)))
+ (pipeline p-o-mem "" () ((fetch) (decode) (execute) (memory) (writeback)))
+
+ (unit u-exec "Execution Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1) (dr INT -1)) ; inputs
+ ((dr INT -1)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cmp "Compare Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-mac "Multiply/Accumulate Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT -1) (src2 INT -1)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+ (unit u-cti "Branch Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT -1)) ; inputs
+ ((pc)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-load "Memory Load Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((sr INT)) ; inputs
+ ((dr INT)) ; outputs
+ () ; profile action (default)
+ )
+ (unit u-store "Memory Store Unit" ()
+ 1 1 ; issue done
+ () ; state
+ ((src1 INT) (src2 INT)) ; inputs
+ () ; outputs
+ () ; profile action (default)
+ )
+)
+
+; The instruction fetch/execute cycle.
+; This is split into two parts as sometimes more than one instruction is
+; decoded at once.
+; The `const SI' argument to decode/execute is used to distinguish
+; multiple instructions processed at the same time (e.g. m32r).
+;
+; ??? This is wip, and not currently used.
+; ??? Needs to be moved to define-isa.
+
+; This is how to fetch and decode an instruction.
+
+;(define-extract
+; (sequence VOID
+; (if VOID (ne AI (and AI pc (const AI 3)) (const AI 0))
+; (sequence VOID
+; (set-quiet USI (scratch UHI insn1) (ifetch UHI pc))
+; (decode VOID pc (and UHI insn1 (const UHI #x7fff))
+; (const SI 0)))
+; (sequence VOID
+; (set-quiet USI (scratch USI insn) (ifetch USI pc))
+; (if VOID (ne USI (and USI insn (const USI #x80000000))
+; (const USI 0))
+; (decode VOID pc (srl USI insn (const WI 16)) (const SI 0))
+; (sequence VOID
+; ; ??? parallel support
+; (decode VOID pc (srl USI insn (const WI 16))
+; (const SI 0))
+; (decode VOID (add AI pc (const AI 2))
+; (and USI insn (const WI #x7fff))
+; (const SI 1))))))
+; )
+;)
+
+; This is how to execute a decoded instruction.
+
+;(define-execute
+; (sequence VOID () ; () is empty option list
+; ((AI new_pc))
+; (set AI new_pc (execute: AI (const 0)) #:quiet)
+; (set AI pc new_pc #:direct)
+; )
+;)
+
+; FIXME: It might simplify things to separate the execute process from the
+; one that updates the PC.
+
+; Instruction fields.
+;
+; Attributes:
+; PCREL-ADDR: pc relative value (for reloc and disassembly purposes)
+; ABS-ADDR: absolute address (for reloc and disassembly purposes?)
+; RESERVED: bits are not used to decode insn, must be all 0
+; RELOC: there is a relocation associated with this field (experiment)
+
+(define-attr
+ (for ifield operand)
+ (type boolean)
+ (name RELOC)
+ (comment "there is a reloc associated with this field (experiment)")
+)
+
+(dnf f-op1 "op1" () 0 4)
+(dnf f-op2 "op2" () 8 4)
+(dnf f-cond "cond" () 4 4)
+(dnf f-r1 "r1" () 4 4)
+(dnf f-r2 "r2" () 12 4)
+(df f-simm8 "simm8" () 8 8 INT #f #f)
+(df f-simm16 "simm16" () 16 16 INT #f #f)
+(dnf f-shift-op2 "shift op2" () 8 3)
+(dnf f-uimm3 "uimm3" () 5 3)
+(dnf f-uimm4 "uimm4" () 12 4)
+(dnf f-uimm5 "uimm5" () 11 5)
+(dnf f-uimm8 "uimm8" () 8 8)
+(dnf f-uimm16 "uimm16" () 16 16)
+(dnf f-uimm24 "uimm24" (ABS-ADDR RELOC) 8 24)
+(dnf f-hi16 "high 16 bits" (SIGN-OPT) 16 16)
+(df f-disp8 "disp8, slot unknown" (PCREL-ADDR RELOC) 8 8 INT
+ ((value pc) (sra WI (sub WI value (and WI pc (const -4))) (const 2)))
+ ((value pc) (add WI (sll WI value (const 2)) (and WI pc (const -4)))))
+(df f-disp16 "disp16" (PCREL-ADDR RELOC) 16 16 INT
+ ((value pc) (sra WI (sub WI value pc) (const 2)))
+ ((value pc) (add WI (sll WI value (const 2)) pc)))
+(df f-disp24 "disp24" (PCREL-ADDR RELOC) 8 24 INT
+ ((value pc) (sra WI (sub WI value pc) (const 2)))
+ ((value pc) (add WI (sll WI value (const 2)) pc)))
+
+(dnf f-op23 "op2.3" () 9 3)
+(dnf f-op3 "op3" () 14 2)
+(dnf f-acc "acc" () 8 1)
+(dnf f-accs "accs" () 12 2)
+(dnf f-accd "accd" () 4 2)
+(dnf f-bits67 "bits67" () 6 2)
+(dnf f-bit4 "bit4" () 4 1)
+(dnf f-bit14 "bit14" () 14 1)
+
+(define-ifield (name f-imm1) (comment "1 bit immediate, 0->1 1->2")
+ (attrs)
+ (start 15) (length 1)
+ (encode (value pc) (sub WI value (const WI 1)))
+ (decode (value pc) (add WI value (const WI 1)))
+)
+
+; Enums.
+
+; insn-op1: bits 0-3
+; FIXME: should use die macro or some such
+(define-normal-insn-enum insn-op1 "insn format enums" () OP1_ f-op1
+ ("0" "1" "2" "3" "4" "5" "6" "7"
+ "8" "9" "10" "11" "12" "13" "14" "15")
+)
+
+; insn-op2: bits 8-11
+; FIXME: should use die macro or some such
+(define-normal-insn-enum insn-op2 "op2 enums" () OP2_ f-op2
+ ("0" "1" "2" "3" "4" "5" "6" "7"
+ "8" "9" "10" "11" "12" "13" "14" "15")
+)
+
+; Hardware pieces.
+; These entries list the elements of the raw hardware.
+; They're also used to provide tables and other elements of the assembly
+; language.
+
+(dnh h-pc "program counter" (PC PROFILE) (pc) () () ())
+
+(dnh h-hi16 "high 16 bits" ()
+ (immediate (UINT 16))
+ () () ()
+)
+
+; These two aren't technically needed.
+; They're here for illustration sake mostly.
+; Plus they cause the value to be stored in the extraction buffers to only
+; be 16 bits wide (vs 32 or 64). Whoopie ding. But it's fun.
+(dnh h-slo16 "signed low 16 bits" ()
+ (immediate (INT 16))
+ () () ()
+)
+(dnh h-ulo16 "unsigned low 16 bits" ()
+ (immediate (UINT 16))
+ () () ()
+)
+
+(define-keyword
+ (name gr-names)
+ (print-name h-gr)
+ (prefix "")
+ (values (fp 13) (lr 14) (sp 15)
+ (r0 0) (r1 1) (r2 2) (r3 3) (r4 4) (r5 5) (r6 6) (r7 7)
+ (r8 8) (r9 9) (r10 10) (r11 11) (r12 12) (r13 13) (r14 14) (r15 15))
+)
+
+(define-hardware
+ (name h-gr)
+ (comment "general registers")
+ (attrs PROFILE CACHE-ADDR)
+ (type register WI (16))
+ (indices extern-keyword gr-names)
+)
+
+(define-keyword
+ (name cr-names)
+ (print-name h-cr)
+ (prefix "")
+ (values (psw 0) (cbr 1) (spi 2) (spu 3)
+ (bpc 6) (bbpsw 8) (bbpc 14) (evb 5)
+ (cr0 0) (cr1 1) (cr2 2) (cr3 3)
+ (cr4 4) (cr5 5) (cr6 6) (cr7 7)
+ (cr8 8) (cr9 9) (cr10 10) (cr11 11)
+ (cr12 12) (cr13 13) (cr14 14) (cr15 15))
+)
+
+(define-hardware
+ (name h-cr)
+ (comment "control registers")
+ (type register UWI (16))
+ (indices extern-keyword cr-names)
+ (get (index) (c-call UWI "@cpu@_h_cr_get_handler" index))
+ (set (index newval) (c-call VOID "@cpu@_h_cr_set_handler" index newval))
+)
+
+; The actual accumulator is only 56 bits.
+; The top 8 bits are sign extended from bit 8 (when counting msb = bit 0).
+; To simplify the accumulator instructions, no attempt is made to keep the
+; top 8 bits properly sign extended (currently there's no point since they
+; all ignore them). When the value is read it is properly sign extended
+; [in the `get' handler].
+(define-hardware
+ (name h-accum)
+ (comment "accumulator")
+ (type register DI)
+ (get () (c-call DI "@cpu@_h_accum_get_handler"))
+ (set (newval) (c-call VOID "@cpu@_h_accum_set_handler" newval))
+)
+
+; FIXME: Revisit after sanitization can be removed. Remove h-accum.
+(define-hardware
+ (name h-accums)
+ (comment "accumulators")
+ (attrs (MACH m32rx,m32r2))
+ (type register DI (2))
+ (indices keyword "" ((a0 0) (a1 1)))
+ ; get/set so a0 accesses are redirected to h-accum.
+ ; They're also so reads can properly sign extend the value.
+ ; FIXME: Needn't be a function call.
+ (get (index) (c-call DI "@cpu@_h_accums_get_handler" index))
+ (set (index newval) (c-call VOID "@cpu@_h_accums_set_handler" index newval))
+)
+
+; For condbit operand. FIXME: Need to allow spec of get/set of operands.
+; Having this separate from h-psw keeps the parts that use it simpler
+; [since they greatly outnumber those that use h-psw].
+(dsh h-cond "condition bit" () (register BI))
+
+; The actual values of psw,bpsw,bbpsw are recorded here to allow access
+; to them as a unit.
+(define-hardware
+ (name h-psw)
+ (comment "psw part of psw")
+ (type register UQI)
+ ; get/set to handle cond bit.
+ ; FIXME: missing: use's and clobber's
+ ; FIXME: remove c-call?
+ (get () (c-call UQI "@cpu@_h_psw_get_handler"))
+ (set (newval) (c-call VOID "@cpu@_h_psw_set_handler" newval))
+)
+(dsh h-bpsw "backup psw" () (register UQI))
+(dsh h-bbpsw "backup bpsw" () (register UQI))
+
+; FIXME: Later make add get/set specs and support SMP.
+(dsh h-lock "lock" () (register BI))
+
+; Instruction Operands.
+; These entries provide a layer between the assembler and the raw hardware
+; description, and are used to refer to hardware elements in the semantic
+; code. Usually there's a bit of over-specification, but in more complicated
+; instruction sets there isn't.
+
+; M32R specific operand attributes:
+
+(define-attr
+ (for operand)
+ (type boolean)
+ (name HASH-PREFIX)
+ (comment "immediates have an optional '#' prefix")
+)
+
+; ??? Convention says this should be o-sr, but then the insn definitions
+; should refer to o-sr which is clumsy. The "o-" could be implicit, but
+; then it should be implicit for all the symbols here, but then there would
+; be confusion between (f-)simm8 and (h-)simm8.
+; So for now the rule is exactly as it appears here.
+
+(dnop sr "source register" () h-gr f-r2)
+(dnop dr "destination register" () h-gr f-r1)
+;; The assembler relies upon the fact that dr and src1 are the same field.
+;; FIXME: Revisit.
+(dnop src1 "source register 1" () h-gr f-r1)
+(dnop src2 "source register 2" () h-gr f-r2)
+(dnop scr "source control register" () h-cr f-r2)
+(dnop dcr "destination control register" () h-cr f-r1)
+
+(dnop simm8 "8 bit signed immediate" (HASH-PREFIX) h-sint f-simm8)
+(dnop simm16 "16 bit signed immediate" (HASH-PREFIX) h-sint f-simm16)
+(dnop uimm3 "3 bit unsigned number" (HASH-PREFIX) h-uint f-uimm3)
+(dnop uimm4 "4 bit trap number" (HASH-PREFIX) h-uint f-uimm4)
+(dnop uimm5 "5 bit shift count" (HASH-PREFIX) h-uint f-uimm5)
+(dnop uimm8 "8 bit unsigned immediate" (HASH-PREFIX) h-uint f-uimm8)
+(dnop uimm16 "16 bit unsigned immediate" (HASH-PREFIX) h-uint f-uimm16)
+
+(dnop imm1 "1 bit immediate" ((MACH m32rx,m32r2) HASH-PREFIX) h-uint f-imm1)
+(dnop accd "accumulator destination register" ((MACH m32rx,m32r2)) h-accums f-accd)
+(dnop accs "accumulator source register" ((MACH m32rx,m32r2)) h-accums f-accs)
+(dnop acc "accumulator reg (d)" ((MACH m32rx,m32r2)) h-accums f-acc)
+
+; slo16,ulo16 are used in both with-hash-prefix/no-hash-prefix cases.
+; e.g. add3 r3,r3,#1 and ld r3,@(4,r4). We could use HASH-PREFIX.
+; Instead we create a fake operand `hash'. The m32r is an illustration port,
+; so we often try out various ways of doing things.
+
+(define-operand (name hash) (comment "# prefix") (attrs)
+ (type h-sint) ; doesn't really matter
+ (index f-nil)
+ (handlers (parse "hash") (print "hash"))
+)
+
+; For high(foo),shigh(foo).
+(define-operand
+ (name hi16)
+ (comment "high 16 bit immediate, sign optional")
+ (attrs)
+ (type h-hi16)
+ (index f-hi16)
+ (handlers (parse "hi16"))
+)
+
+; For low(foo),sda(foo).
+(define-operand
+ (name slo16)
+ (comment "16 bit signed immediate, for low()")
+ (attrs)
+ (type h-slo16)
+ (index f-simm16)
+ (handlers (parse "slo16"))
+)
+
+; For low(foo).
+(define-operand
+ (name ulo16)
+ (comment "16 bit unsigned immediate, for low()")
+ (attrs)
+ (type h-ulo16)
+ (index f-uimm16)
+ (handlers (parse "ulo16"))
+)
+
+(dnop uimm24 "24 bit address" (HASH-PREFIX) h-addr f-uimm24)
+
+(define-operand
+ (name disp8)
+ (comment "8 bit displacement")
+ (attrs RELAX)
+ (type h-iaddr)
+ (index f-disp8)
+ ; ??? Early experiments had insert/extract fields here.
+ ; Moving these to f-disp8 made things cleaner, but may wish to re-introduce
+ ; fields here to handle more complicated cases.
+)
+
+(dnop disp16 "16 bit displacement" () h-iaddr f-disp16)
+(dnop disp24 "24 bit displacement" (RELAX) h-iaddr f-disp24)
+
+; These hardware elements are refered to frequently.
+
+(dnop condbit "condition bit" (SEM-ONLY) h-cond f-nil)
+(dnop accum "accumulator" (SEM-ONLY) h-accum f-nil)
+
+; Instruction definitions.
+;
+; Notes while wip:
+; - dni is a cover macro to the real "this is an instruction" keyword.
+; The syntax of the real one is yet to be determined.
+; At the lowest level (i.e. the "real" one) it will probably take a variable
+; list of arguments where each argument [perhaps after the standard three of
+; name, comment, attrs] is "(keyword arg-to-keyword)". This syntax is simple
+; and yet completely upward extensible. And given the macro facility, one
+; needn't code at that low a level so even though it'll be more verbose than
+; necessary it won't matter. This same reasoning can be applied to most
+; types of entries in this file.
+
+; M32R specific instruction attributes:
+
+; FILL-SLOT: Need next insn to begin on 32 bit boundary.
+; (A "slot" as used here is a 32 bit quantity that can either be filled with
+; one 32 bit insn or two 16 bit insns which go in the "left bin" and "right
+; bin" where the left bin is the one with a lower address).
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name FILL-SLOT)
+ (comment "fill right bin with `nop' if insn is in left bin")
+)
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name SPECIAL)
+ (comment "non-public m32rx insn")
+)
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name SPECIAL_M32R)
+ (comment "non-public m32r insn")
+)
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name SPECIAL_FLOAT)
+ (comment "floating point insn")
+)
+
+; IDOC attribute for instruction documentation.
+
+(define-attr
+ (for insn)
+ (type enum)
+ (name IDOC)
+ (comment "insn kind for documentation")
+ (attrs META)
+ (values
+ (MEM - () "Memory")
+ (ALU - () "ALU")
+ (BR - () "Branch")
+ (ACCUM - () "Accumulator")
+ (MAC - () "Multiply/Accumulate")
+ (MISC - () "Miscellaneous")
+ )
+)
+
+(define-pmacro (bin-op mnemonic op2-op sem-op imm-prefix imm)
+ (begin
+ (dni mnemonic
+ (.str mnemonic " reg/reg")
+ ((PIPE OS) (IDOC ALU))
+ (.str mnemonic " $dr,$sr")
+ (+ OP1_0 op2-op dr sr)
+ (set dr (sem-op dr sr))
+ ()
+ )
+ (dni (.sym mnemonic "3")
+ (.str mnemonic " reg/" imm)
+ ((IDOC ALU))
+ (.str mnemonic "3 $dr,$sr," imm-prefix "$" imm)
+ (+ OP1_8 op2-op dr sr imm)
+ (set dr (sem-op sr imm))
+ ()
+ )
+ )
+)
+(bin-op add OP2_10 add "$hash" slo16)
+; sub isn't present because sub3 doesn't exist.
+(bin-op and OP2_12 and "" uimm16)
+(bin-op or OP2_14 or "$hash" ulo16)
+(bin-op xor OP2_13 xor "" uimm16)
+
+(dni addi "addi"
+ ((PIPE OS) (IDOC ALU))
+ ;#.(string-append "addi " "$dr,$simm8") ; #. experiment
+ "addi $dr,$simm8"
+ (+ OP1_4 dr simm8)
+ (set dr (add dr simm8))
+ ((m32r/d (unit u-exec))
+ (m32rx (unit u-exec))
+ (m32r2 (unit u-exec)))
+)
+
+(dni addv "addv"
+ ((PIPE OS) (IDOC ALU))
+ "addv $dr,$sr"
+ (+ OP1_0 OP2_8 dr sr)
+ (parallel ()
+ (set dr (add dr sr))
+ (set condbit (add-oflag dr sr (const 0))))
+ ()
+)
+
+(dni addv3 "addv3"
+ ((IDOC ALU))
+ "addv3 $dr,$sr,$simm16"
+ (+ OP1_8 OP2_8 dr sr simm16)
+ (parallel ()
+ (set dr (add sr simm16))
+ (set condbit (add-oflag sr simm16 (const 0))))
+ ()
+)
+
+(dni addx "addx"
+ ((PIPE OS) (IDOC ALU))
+ "addx $dr,$sr"
+ (+ OP1_0 OP2_9 dr sr)
+ (parallel ()
+ (set dr (addc dr sr condbit))
+ (set condbit (add-cflag dr sr condbit)))
+ ()
+)
+
+(dni bc8 "bc with 8 bit displacement"
+ (COND-CTI (PIPE O) (IDOC BR))
+ "bc.s $disp8"
+ (+ OP1_7 (f-r1 12) disp8)
+ (if condbit (set pc disp8))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bc8r "relaxable bc8"
+ (COND-CTI RELAXABLE (PIPE O) (IDOC BR))
+ "bc $disp8"
+ (emit bc8 disp8)
+)
+
+(dni bc24 "bc with 24 bit displacement"
+ (COND-CTI (IDOC BR))
+ "bc.l $disp24"
+ (+ OP1_15 (f-r1 12) disp24)
+ (if condbit (set pc disp24))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bc24r "relaxable bc24"
+ (COND-CTI RELAXED (IDOC BR))
+ "bc $disp24"
+ (emit bc24 disp24)
+)
+
+(dni beq "beq"
+ (COND-CTI (IDOC BR))
+ "beq $src1,$src2,$disp16"
+ (+ OP1_11 OP2_0 src1 src2 disp16)
+ (if (eq src1 src2) (set pc disp16))
+ ((m32r/d (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32rx (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32r2 (unit u-cti) (unit u-cmp (cycles 0))))
+)
+
+(define-pmacro (cbranch sym comment op2-op comp-op)
+ (dni sym comment (COND-CTI (IDOC BR))
+ (.str sym " $src2,$disp16")
+ (+ OP1_11 op2-op (f-r1 0) src2 disp16)
+ (if (comp-op src2 (const WI 0)) (set pc disp16))
+ ((m32r/d (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32rx (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32r2 (unit u-cti) (unit u-cmp (cycles 0))))
+ )
+)
+(cbranch beqz "beqz" OP2_8 eq)
+(cbranch bgez "bgez" OP2_11 ge)
+(cbranch bgtz "bgtz" OP2_13 gt)
+(cbranch blez "blez" OP2_12 le)
+(cbranch bltz "bltz" OP2_10 lt)
+(cbranch bnez "bnez" OP2_9 ne)
+
+(dni bl8 "bl with 8 bit displacement"
+ (UNCOND-CTI FILL-SLOT (PIPE O) (IDOC BR))
+ "bl.s $disp8"
+ (+ OP1_7 (f-r1 14) disp8)
+ (sequence ()
+ (set (reg h-gr 14)
+ (add (and pc (const -4)) (const 4)))
+ (set pc disp8))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bl8r "relaxable bl8"
+ (UNCOND-CTI FILL-SLOT RELAXABLE (PIPE O) (IDOC BR))
+ "bl $disp8"
+ (emit bl8 disp8)
+)
+
+(dni bl24 "bl with 24 bit displacement"
+ (UNCOND-CTI (IDOC BR))
+ "bl.l $disp24"
+ (+ OP1_15 (f-r1 14) disp24)
+ (sequence ()
+ (set (reg h-gr 14) (add pc (const 4)))
+ (set pc disp24))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bl24r "relaxable bl24"
+ (UNCOND-CTI RELAXED (IDOC BR))
+ "bl $disp24"
+ (emit bl24 disp24)
+)
+
+(dni bcl8 "bcl with 8 bit displacement"
+ (COND-CTI FILL-SLOT (MACH m32rx,m32r2) (PIPE O) (IDOC BR))
+ "bcl.s $disp8"
+ (+ OP1_7 (f-r1 8) disp8)
+ (if condbit
+ (sequence ()
+ (set (reg h-gr 14)
+ (add (and pc (const -4))
+ (const 4)))
+ (set pc disp8)))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bcl8r "relaxable bcl8"
+ (COND-CTI FILL-SLOT (MACH m32rx,m32r2) (PIPE O) RELAXABLE (IDOC BR))
+ "bcl $disp8"
+ (emit bcl8 disp8)
+)
+
+(dni bcl24 "bcl with 24 bit displacement"
+ (COND-CTI (MACH m32rx,m32r2) (IDOC BR))
+ "bcl.l $disp24"
+ (+ OP1_15 (f-r1 8) disp24)
+ (if condbit
+ (sequence ()
+ (set (reg h-gr 14) (add pc (const 4)))
+ (set pc disp24)))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bcl24r "relaxable bcl24"
+ (COND-CTI (MACH m32rx,m32r2) RELAXED (IDOC BR))
+ "bcl $disp24"
+ (emit bcl24 disp24)
+)
+
+(dni bnc8 "bnc with 8 bit displacement"
+ (COND-CTI (PIPE O) (IDOC BR))
+ "bnc.s $disp8"
+ (+ OP1_7 (f-r1 13) disp8)
+ (if (not condbit) (set pc disp8))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bnc8r "relaxable bnc8"
+ (COND-CTI RELAXABLE (PIPE O) (IDOC BR))
+ "bnc $disp8"
+ (emit bnc8 disp8)
+)
+
+(dni bnc24 "bnc with 24 bit displacement"
+ (COND-CTI (IDOC BR))
+ "bnc.l $disp24"
+ (+ OP1_15 (f-r1 13) disp24)
+ (if (not condbit) (set pc disp24))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bnc24r "relaxable bnc24"
+ (COND-CTI RELAXED (IDOC BR))
+ "bnc $disp24"
+ (emit bnc24 disp24)
+)
+
+(dni bne "bne"
+ (COND-CTI (IDOC BR))
+ "bne $src1,$src2,$disp16"
+ (+ OP1_11 OP2_1 src1 src2 disp16)
+ (if (ne src1 src2) (set pc disp16))
+ ((m32r/d (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32rx (unit u-cti) (unit u-cmp (cycles 0)))
+ (m32r2 (unit u-cti) (unit u-cmp (cycles 0))))
+)
+
+(dni bra8 "bra with 8 bit displacement"
+ (UNCOND-CTI FILL-SLOT (PIPE O) (IDOC BR))
+ "bra.s $disp8"
+ (+ OP1_7 (f-r1 15) disp8)
+ (set pc disp8)
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bra8r "relaxable bra8"
+ (UNCOND-CTI FILL-SLOT RELAXABLE (PIPE O) (IDOC BR))
+ "bra $disp8"
+ (emit bra8 disp8)
+)
+
+(dni bra24 "bra with 24 displacement"
+ (UNCOND-CTI (IDOC BR))
+ "bra.l $disp24"
+ (+ OP1_15 (f-r1 15) disp24)
+ (set pc disp24)
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bra24r "relaxable bra24"
+ (UNCOND-CTI RELAXED (IDOC BR))
+ "bra $disp24"
+ (emit bra24 disp24)
+)
+
+(dni bncl8 "bncl with 8 bit displacement"
+ (COND-CTI FILL-SLOT (MACH m32rx,m32r2) (PIPE O) (IDOC BR))
+ "bncl.s $disp8"
+ (+ OP1_7 (f-r1 9) disp8)
+ (if (not condbit)
+ (sequence ()
+ (set (reg h-gr 14)
+ (add (and pc (const -4))
+ (const 4)))
+ (set pc disp8)))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bncl8r "relaxable bncl8"
+ (COND-CTI FILL-SLOT (MACH m32rx,m32r2) (PIPE O) RELAXABLE (IDOC BR))
+ "bncl $disp8"
+ (emit bncl8 disp8)
+)
+
+(dni bncl24 "bncl with 24 bit displacement"
+ (COND-CTI (MACH m32rx,m32r2) (IDOC BR))
+ "bncl.l $disp24"
+ (+ OP1_15 (f-r1 9) disp24)
+ (if (not condbit)
+ (sequence ()
+ (set (reg h-gr 14) (add pc (const 4)))
+ (set pc disp24)))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dnmi bncl24r "relaxable bncl24"
+ (COND-CTI (MACH m32rx,m32r2) RELAXED (IDOC BR))
+ "bncl $disp24"
+ (emit bncl24 disp24)
+)
+
+(dni cmp "cmp"
+ ((PIPE OS) (IDOC ALU))
+ "cmp $src1,$src2"
+ (+ OP1_0 OP2_4 src1 src2)
+ (set condbit (lt src1 src2))
+ ((m32r/d (unit u-cmp))
+ (m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni cmpi "cmpi"
+ ((IDOC ALU))
+ "cmpi $src2,$simm16"
+ (+ OP1_8 (f-r1 0) OP2_4 src2 simm16)
+ (set condbit (lt src2 simm16))
+ ((m32r/d (unit u-cmp))
+ (m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni cmpu "cmpu"
+ ((PIPE OS) (IDOC ALU))
+ "cmpu $src1,$src2"
+ (+ OP1_0 OP2_5 src1 src2)
+ (set condbit (ltu src1 src2))
+ ((m32r/d (unit u-cmp))
+ (m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni cmpui "cmpui"
+ ((IDOC ALU))
+ "cmpui $src2,$simm16"
+ (+ OP1_8 (f-r1 0) OP2_5 src2 simm16)
+ (set condbit (ltu src2 simm16))
+ ((m32r/d (unit u-cmp))
+ (m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni cmpeq "cmpeq"
+ ((MACH m32rx,m32r2) (PIPE OS) (IDOC ALU))
+ "cmpeq $src1,$src2"
+ (+ OP1_0 OP2_6 src1 src2)
+ (set condbit (eq src1 src2))
+ ((m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni cmpz "cmpz"
+ ((MACH m32rx,m32r2) (PIPE OS) (IDOC ALU))
+ "cmpz $src2"
+ (+ OP1_0 OP2_7 (f-r1 0) src2)
+ (set condbit (eq src2 (const 0)))
+ ((m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+(dni div "div"
+ ((IDOC ALU))
+ "div $dr,$sr"
+ (+ OP1_9 OP2_0 dr sr (f-simm16 0))
+ (if (ne sr (const 0)) (set dr (div dr sr)))
+ ((m32r/d (unit u-exec (cycles 37)))
+ (m32rx (unit u-exec (cycles 37)))
+ (m32r2 (unit u-exec (cycles 37))))
+)
+
+(dni divu "divu"
+ ((IDOC ALU))
+ "divu $dr,$sr"
+ (+ OP1_9 OP2_1 dr sr (f-simm16 0))
+ (if (ne sr (const 0)) (set dr (udiv dr sr)))
+ ((m32r/d (unit u-exec (cycles 37)))
+ (m32rx (unit u-exec (cycles 37)))
+ (m32r2 (unit u-exec (cycles 37))))
+)
+
+(dni rem "rem"
+ ((IDOC ALU))
+ "rem $dr,$sr"
+ (+ OP1_9 OP2_2 dr sr (f-simm16 0))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (mod dr sr)))
+ ((m32r/d (unit u-exec (cycles 37)))
+ (m32rx (unit u-exec (cycles 37)))
+ (m32r2 (unit u-exec (cycles 37))))
+)
+
+(dni remu "remu"
+ ((IDOC ALU))
+ "remu $dr,$sr"
+ (+ OP1_9 OP2_3 dr sr (f-simm16 0))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (umod dr sr)))
+ ((m32r/d (unit u-exec (cycles 37)))
+ (m32rx (unit u-exec (cycles 37)))
+ (m32r2 (unit u-exec (cycles 37))))
+)
+
+(dni remh "remh"
+ ((MACH m32r2))
+ "remh $dr,$sr"
+ (+ OP1_9 OP2_2 dr sr (f-simm16 #x10))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (mod (ext WI (trunc HI dr)) sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni remuh "remuh"
+ ((MACH m32r2))
+ "remuh $dr,$sr"
+ (+ OP1_9 OP2_3 dr sr (f-simm16 #x10))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (umod dr sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni remb "remb"
+ ((MACH m32r2))
+ "remb $dr,$sr"
+ (+ OP1_9 OP2_2 dr sr (f-simm16 #x18))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (mod (ext WI (trunc BI dr)) sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni remub "remub"
+ ((MACH m32r2))
+ "remub $dr,$sr"
+ (+ OP1_9 OP2_3 dr sr (f-simm16 #x18))
+ ; FIXME: Check rounding direction.
+ (if (ne sr (const 0)) (set dr (umod dr sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni divuh "divuh"
+ ((MACH m32r2))
+ "divuh $dr,$sr"
+ (+ OP1_9 OP2_1 dr sr (f-simm16 #x10))
+ (if (ne sr (const 0)) (set dr (udiv dr sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni divb "divb"
+ ((MACH m32r2))
+ "divb $dr,$sr"
+ (+ OP1_9 OP2_0 dr sr (f-simm16 #x18))
+ (if (ne sr (const 0)) (set dr (div (ext WI (trunc BI dr)) sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni divub "divub"
+ ((MACH m32r2))
+ "divub $dr,$sr"
+ (+ OP1_9 OP2_1 dr sr (f-simm16 #x18))
+ (if (ne sr (const 0)) (set dr (udiv dr sr)))
+ ((m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni divh "divh"
+ ((MACH m32rx,m32r2) (IDOC ALU))
+ "divh $dr,$sr"
+ (+ OP1_9 OP2_0 dr sr (f-simm16 #x10))
+ (if (ne sr (const 0)) (set dr (div (ext WI (trunc HI dr)) sr)))
+ ((m32rx (unit u-exec (cycles 21)))
+ (m32r2 (unit u-exec (cycles 21))))
+)
+
+(dni jc "jc"
+ (COND-CTI (MACH m32rx,m32r2) (PIPE O) SPECIAL (IDOC BR))
+ "jc $sr"
+ (+ OP1_1 (f-r1 12) OP2_12 sr)
+ (if condbit (set pc (and sr (const -4))))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dni jnc "jnc"
+ (COND-CTI (MACH m32rx,m32r2) (PIPE O) SPECIAL (IDOC BR))
+ "jnc $sr"
+ (+ OP1_1 (f-r1 13) OP2_12 sr)
+ (if (not condbit) (set pc (and sr (const -4))))
+ ((m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dni jl "jl"
+ (UNCOND-CTI FILL-SLOT (PIPE O) (IDOC BR))
+ "jl $sr"
+ (+ OP1_1 (f-r1 14) OP2_12 sr)
+ (parallel ()
+ (set (reg h-gr 14)
+ (add (and pc (const -4)) (const 4)))
+ (set pc (and sr (const -4))))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(dni jmp "jmp"
+ (UNCOND-CTI (PIPE O) (IDOC BR))
+ "jmp $sr"
+ (+ OP1_1 (f-r1 15) OP2_12 sr)
+ (set pc (and sr (const -4)))
+ ; The above works now so this kludge has been commented out.
+ ; It's kept around because the f-r1 reference in the semantic part
+ ; should work.
+ ; FIXME: kludge, instruction decoding not finished.
+ ; But this should work, so that's another FIXME.
+ ;(sequence VOID (if VOID (eq SI f-r1 (const SI 14))
+ ; FIXME: abuf->insn should be a macro of some sort.
+ ;(sequence VOID
+ ; (if VOID (eq SI (c-code SI "((abuf->insn >> 8) & 15)")
+ ; (const SI 14))
+ ; (set WI (reg WI h-gr 14)
+ ; (add WI (and WI pc (const WI -4)) (const WI 4))))
+ ; (set WI pc sr))
+ ((m32r/d (unit u-cti))
+ (m32rx (unit u-cti))
+ (m32r2 (unit u-cti)))
+)
+
+(define-pmacro (no-ext-expr mode expr) expr)
+(define-pmacro (ext-expr mode expr) (ext mode expr))
+(define-pmacro (zext-expr mode expr) (zext mode expr))
+
+(define-pmacro (load-op suffix op2-op mode ext-op)
+ (begin
+ (dni (.sym ld suffix) (.str "ld" suffix)
+ ((PIPE O) (IDOC MEM))
+ (.str "ld" suffix " $dr,@$sr")
+ (+ OP1_2 op2-op dr sr)
+ (set dr (ext-op WI (mem mode sr)))
+ ((m32r/d (unit u-load))
+ (m32rx (unit u-load))
+ (m32r2 (unit u-load)))
+ )
+ (dnmi (.sym ld suffix "-2") (.str "ld" suffix "-2")
+ (NO-DIS (PIPE O) (IDOC MEM))
+ (.str "ld" suffix " $dr,@($sr)")
+ (emit (.sym ld suffix) dr sr))
+ (dni (.sym ld suffix -d) (.str "ld" suffix "-d")
+ ((IDOC MEM))
+ (.str "ld" suffix " $dr,@($slo16,$sr)")
+ (+ OP1_10 op2-op dr sr slo16)
+ (set dr (ext-op WI (mem mode (add sr slo16))))
+ ((m32r/d (unit u-load (cycles 2)))
+ (m32rx (unit u-load (cycles 2)))
+ (m32r2 (unit u-load (cycles 2))))
+ )
+ (dnmi (.sym ld suffix -d2) (.str "ld" suffix "-d2")
+ (NO-DIS (IDOC MEM))
+ (.str "ld" suffix " $dr,@($sr,$slo16)")
+ (emit (.sym ld suffix -d) dr sr slo16))
+ )
+)
+(load-op "" OP2_12 WI no-ext-expr)
+(load-op b OP2_8 QI ext-expr)
+(load-op h OP2_10 HI ext-expr)
+(load-op ub OP2_9 QI zext-expr)
+(load-op uh OP2_11 HI zext-expr)
+
+(dni ld-plus "ld+"
+ ((PIPE O) (IDOC MEM))
+ "ld $dr,@$sr+"
+ (+ OP1_2 dr OP2_14 sr)
+ (parallel ()
+ ; wip: memory addresses in profiling support
+ ;(set dr (name ld-mem (mem WI sr)))
+ (set dr (mem WI sr))
+ (set sr (add sr (const 4))))
+ ; Note: `pred' is the constraint. Also useful here is (ref name)
+ ; and returns true if operand <name> was referenced
+ ; (where "referenced" means _read_ if input operand and _written_ if
+ ; output operand).
+ ; args to unit are "unit-name (name1 value1) ..."
+ ; - cycles(done),issue,pred are also specified this way
+ ; - if unspecified, default is used
+ ; - for ins/outs, extra arg is passed that says what was specified
+ ; - this is AND'd with `written' for outs
+ ((m32r/d (unit u-load (pred (const 1)))
+ (unit u-exec (in sr #f) (in dr sr) (out dr sr) (cycles 0) (pred (const 1))))
+ (m32rx (unit u-load)
+ (unit u-exec (in sr #f) (in dr sr) (out dr sr) (cycles 0) (pred (const 1))))
+ (m32r2 (unit u-load)
+ (unit u-exec (in sr #f) (in dr sr) (out dr sr) (cycles 0) (pred (const 1))))
+ )
+)
+
+(dnmi pop "pop"
+ ((PIPE O) (IDOC MEM))
+ "pop $dr"
+ (emit ld-plus dr (sr 15)) ; "ld %0,@sp+"
+)
+
+(dni ld24 "ld24"
+ ((IDOC MEM))
+ "ld24 $dr,$uimm24"
+ (+ OP1_14 dr uimm24)
+ (set dr uimm24)
+ ()
+)
+
+; ldi8 appears before ldi16 so we try the shorter version first
+
+(dni ldi8 "ldi8"
+ ((PIPE OS) (IDOC ALU))
+ "ldi8 $dr,$simm8"
+ (+ OP1_6 dr simm8)
+ (set dr simm8)
+ ()
+)
+
+(dnmi ldi8a "ldi8 alias"
+ ((PIPE OS) (IDOC ALU))
+ "ldi $dr,$simm8"
+ (emit ldi8 dr simm8)
+)
+
+(dni ldi16 "ldi16"
+ ((IDOC ALU))
+ "ldi16 $dr,$hash$slo16"
+ (+ OP1_9 OP2_15 (f-r2 0) dr slo16)
+ (set dr slo16)
+ ()
+)
+
+(dnmi ldi16a "ldi16 alias"
+ ((IDOC ALU))
+ "ldi $dr,$hash$slo16"
+ (emit ldi16 dr slo16)
+)
+
+(dni lock "lock"
+ ((PIPE O) (IDOC MISC))
+ "lock $dr,@$sr"
+ (+ OP1_2 OP2_13 dr sr)
+ (sequence ()
+ (set (reg h-lock) (const BI 1))
+ (set dr (mem WI sr)))
+ ((m32r/d (unit u-load))
+ (m32rx (unit u-load))
+ (m32r2 (unit u-load)))
+)
+
+(dni machi "machi"
+ (
+ ; (MACH m32r) is a temporary hack. This insn collides with machi-a
+ ; in the simulator so disable it for m32rx.
+ (MACH m32r) (PIPE S) (IDOC MAC)
+ )
+ "machi $src1,$src2"
+ (+ OP1_3 OP2_4 src1 src2)
+ ; FIXME: TRACE_RESULT will print the wrong thing since we
+ ; alter one of the arguments.
+ (set accum
+ (sra DI
+ (sll DI
+ (add DI
+ accum
+ (mul DI
+ (ext DI (and WI src1 (const #xffff0000)))
+ (ext DI (trunc HI (sra WI src2 (const 16))))))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni machi-a "machi-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "machi $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 4) src2)
+ (set acc
+ (sra DI
+ (sll DI
+ (add DI
+ acc
+ (mul DI
+ (ext DI (and WI src1 (const #xffff0000)))
+ (ext DI (trunc HI (sra WI src2 (const 16))))))
+ (const 8))
+ (const 8)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni maclo "maclo"
+ ((MACH m32r) (PIPE S) (IDOC MAC))
+ "maclo $src1,$src2"
+ (+ OP1_3 OP2_5 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (add DI
+ accum
+ (mul DI
+ (ext DI (sll WI src1 (const 16)))
+ (ext DI (trunc HI src2))))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni maclo-a "maclo-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "maclo $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 5) src2)
+ (set acc
+ (sra DI
+ (sll DI
+ (add DI
+ acc
+ (mul DI
+ (ext DI (sll WI src1 (const 16)))
+ (ext DI (trunc HI src2))))
+ (const 8))
+ (const 8)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni macwhi "macwhi"
+ ((MACH m32r) (PIPE S) (IDOC MAC))
+ "macwhi $src1,$src2"
+ (+ OP1_3 OP2_6 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (add DI
+ accum
+ (mul DI
+ (ext DI src1)
+ (ext DI (trunc HI (sra WI src2 (const 16))))))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni macwhi-a "macwhi-a"
+ ((MACH m32rx,m32r2) (PIPE S) SPECIAL (IDOC MAC))
+ "macwhi $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 6) src2)
+ ; Note that this doesn't do the sign extension, which is correct.
+ (set acc
+ (add acc
+ (mul (ext DI src1)
+ (ext DI (trunc HI (sra src2 (const 16)))))))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni macwlo "macwlo"
+ ((MACH m32r) (PIPE S) (IDOC MAC))
+ "macwlo $src1,$src2"
+ (+ OP1_3 OP2_7 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (add DI
+ accum
+ (mul DI
+ (ext DI src1)
+ (ext DI (trunc HI src2))))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni macwlo-a "macwlo-a"
+ ((MACH m32rx,m32r2) (PIPE S) SPECIAL (IDOC MAC))
+ "macwlo $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 7) src2)
+ ; Note that this doesn't do the sign extension, which is correct.
+ (set acc
+ (add acc
+ (mul (ext DI src1)
+ (ext DI (trunc HI src2)))))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni mul "mul"
+ ((PIPE S) (IDOC ALU))
+ "mul $dr,$sr"
+ (+ OP1_1 OP2_6 dr sr)
+ (set dr (mul dr sr))
+ ((m32r/d (unit u-exec (cycles 4)))
+ (m32rx (unit u-exec (cycles 4)))
+ (m32r2 (unit u-exec (cycles 4))))
+)
+
+(dni mulhi "mulhi"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mulhi $src1,$src2"
+ (+ OP1_3 OP2_0 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI (and WI src1 (const #xffff0000)))
+ (ext DI (trunc HI (sra WI src2 (const 16)))))
+ (const 16))
+ (const 16)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni mulhi-a "mulhi-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mulhi $src1,$src2,$acc"
+ (+ OP1_3 (f-op23 0) src1 acc src2)
+ (set acc
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI (and WI src1 (const #xffff0000)))
+ (ext DI (trunc HI (sra WI src2 (const 16)))))
+ (const 16))
+ (const 16)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni mullo "mullo"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mullo $src1,$src2"
+ (+ OP1_3 OP2_1 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI (sll WI src1 (const 16)))
+ (ext DI (trunc HI src2)))
+ (const 16))
+ (const 16)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni mullo-a "mullo-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mullo $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 1) src2)
+ (set acc
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI (sll WI src1 (const 16)))
+ (ext DI (trunc HI src2)))
+ (const 16))
+ (const 16)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni mulwhi "mulwhi"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mulwhi $src1,$src2"
+ (+ OP1_3 OP2_2 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI src1)
+ (ext DI (trunc HI (sra WI src2 (const 16)))))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni mulwhi-a "mulwhi-a"
+ ((MACH m32rx,m32r2) (PIPE S) SPECIAL (IDOC ACCUM))
+ "mulwhi $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 2) src2)
+ ; Note that this doesn't do the sign extension, which is correct.
+ (set acc
+ (mul (ext DI src1)
+ (ext DI (trunc HI (sra src2 (const 16))))))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni mulwlo "mulwlo"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mulwlo $src1,$src2"
+ (+ OP1_3 OP2_3 src1 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI src1)
+ (ext DI (trunc HI src2)))
+ (const 8))
+ (const 8)))
+ ((m32r/d (unit u-mac)))
+)
+
+(dni mulwlo-a "mulwlo-a"
+ ((MACH m32rx,m32r2) (PIPE S) SPECIAL (IDOC ACCUM))
+ "mulwlo $src1,$src2,$acc"
+ (+ OP1_3 src1 acc (f-op23 3) src2)
+ ; Note that this doesn't do the sign extension, which is correct.
+ (set acc
+ (mul (ext DI src1)
+ (ext DI (trunc HI src2))))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dni mv "mv"
+ ((PIPE OS) (IDOC ALU))
+ "mv $dr,$sr"
+ (+ OP1_1 OP2_8 dr sr)
+ (set dr sr)
+ ()
+)
+
+(dni mvfachi "mvfachi"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mvfachi $dr"
+ (+ OP1_5 OP2_15 (f-r2 0) dr)
+ (set dr (trunc WI (sra DI accum (const 32))))
+ ((m32r/d (unit u-exec (cycles 2))))
+)
+
+(dni mvfachi-a "mvfachi-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mvfachi $dr,$accs"
+ (+ OP1_5 dr OP2_15 accs (f-op3 0))
+ (set dr (trunc WI (sra DI accs (const 32))))
+ ((m32rx (unit u-exec (cycles 2)))
+ (m32r2 (unit u-exec (cycles 2))))
+)
+
+(dni mvfaclo "mvfaclo"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mvfaclo $dr"
+ (+ OP1_5 OP2_15 (f-r2 1) dr)
+ (set dr (trunc WI accum))
+ ((m32r/d (unit u-exec (cycles 2))))
+)
+
+(dni mvfaclo-a "mvfaclo-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mvfaclo $dr,$accs"
+ (+ OP1_5 dr OP2_15 accs (f-op3 1))
+ (set dr (trunc WI accs))
+ ((m32rx (unit u-exec (cycles 2)))
+ (m32r2 (unit u-exec (cycles 2))))
+)
+
+(dni mvfacmi "mvfacmi"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mvfacmi $dr"
+ (+ OP1_5 OP2_15 (f-r2 2) dr)
+ (set dr (trunc WI (sra DI accum (const 16))))
+ ((m32r/d (unit u-exec (cycles 2))))
+)
+
+(dni mvfacmi-a "mvfacmi-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mvfacmi $dr,$accs"
+ (+ OP1_5 dr OP2_15 accs (f-op3 2))
+ (set dr (trunc WI (sra DI accs (const 16))))
+ ((m32rx (unit u-exec (cycles 2)))
+ (m32r2 (unit u-exec (cycles 2))))
+)
+
+(dni mvfc "mvfc"
+ ((PIPE O) (IDOC MISC))
+ "mvfc $dr,$scr"
+ (+ OP1_1 OP2_9 dr scr)
+ (set dr scr)
+ ()
+)
+
+(dni mvtachi "mvtachi"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mvtachi $src1"
+ (+ OP1_5 OP2_7 (f-r2 0) src1)
+ (set accum
+ (or DI
+ (and DI accum (const DI #xffffffff))
+ (sll DI (ext DI src1) (const 32))))
+ ((m32r/d (unit u-exec (in sr src1))))
+)
+
+(dni mvtachi-a "mvtachi-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mvtachi $src1,$accs"
+ (+ OP1_5 src1 OP2_7 accs (f-op3 0))
+ (set accs
+ (or DI
+ (and DI accs (const DI #xffffffff))
+ (sll DI (ext DI src1) (const 32))))
+ ((m32rx (unit u-exec (in sr src1)))
+ (m32r2 (unit u-exec (in sr src1))))
+)
+
+(dni mvtaclo "mvtaclo"
+ ((MACH m32r) (PIPE S) (IDOC ACCUM))
+ "mvtaclo $src1"
+ (+ OP1_5 OP2_7 (f-r2 1) src1)
+ (set accum
+ (or DI
+ (and DI accum (const DI #xffffffff00000000))
+ (zext DI src1)))
+ ((m32r/d (unit u-exec (in sr src1))))
+)
+
+(dni mvtaclo-a "mvtaclo-a"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "mvtaclo $src1,$accs"
+ (+ OP1_5 src1 OP2_7 accs (f-op3 1))
+ (set accs
+ (or DI
+ (and DI accs (const DI #xffffffff00000000))
+ (zext DI src1)))
+ ((m32rx (unit u-exec (in sr src1)))
+ (m32r2 (unit u-exec (in sr src1))))
+)
+
+(dni mvtc "mvtc"
+ ((PIPE O) (IDOC MISC))
+ "mvtc $sr,$dcr"
+ (+ OP1_1 OP2_10 dcr sr)
+ (set dcr sr)
+ ()
+)
+
+(dni neg "neg"
+ ((PIPE OS) (IDOC ALU))
+ "neg $dr,$sr"
+ (+ OP1_0 OP2_3 dr sr)
+ (set dr (neg sr))
+ ()
+)
+
+(dni nop "nop"
+ ((PIPE OS) (IDOC MISC))
+ "nop"
+ (+ OP1_7 OP2_0 (f-r1 0) (f-r2 0))
+ (c-code VOID "PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);\n")
+ ; FIXME: quick hack: parallel nops don't contribute to cycle count.
+ ; Other kinds of nops do however (which we currently ignore).
+ ((m32r/d (unit u-exec (cycles 0)))
+ (m32rx (unit u-exec (cycles 0)))
+ (m32r2 (unit u-exec (cycles 0))))
+)
+
+(dni not "not"
+ ((PIPE OS) (IDOC ALU))
+ "not $dr,$sr"
+ (+ OP1_0 OP2_11 dr sr)
+ (set dr (inv sr))
+ ()
+)
+
+(dni rac "rac"
+ ((MACH m32r) (PIPE S) (IDOC MAC))
+ "rac"
+ (+ OP1_5 OP2_9 (f-r1 0) (f-r2 0))
+ (sequence ((DI tmp1))
+ (set tmp1 (sll DI accum (const 1)))
+ (set tmp1 (add DI tmp1 (const DI #x8000)))
+ (set accum
+ (cond DI
+ ((gt tmp1 (const DI #x00007fffffff0000))
+ (const DI #x00007fffffff0000))
+ ((lt tmp1 (const DI #xffff800000000000))
+ (const DI #xffff800000000000))
+ (else (and tmp1 (const DI #xffffffffffff0000)))))
+ )
+ ((m32r/d (unit u-mac)))
+)
+
+(dni rac-dsi "rac-dsi"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rac $accd,$accs,$imm1"
+ (+ OP1_5 accd (f-bits67 0) OP2_9 accs (f-bit14 0) imm1)
+ (sequence ((DI tmp1))
+ (set tmp1 (sll accs imm1))
+ (set tmp1 (add tmp1 (const DI #x8000)))
+ (set accd
+ (cond DI
+ ((gt tmp1 (const DI #x00007fffffff0000))
+ (const DI #x00007fffffff0000))
+ ((lt tmp1 (const DI #xffff800000000000))
+ (const DI #xffff800000000000))
+ (else (and tmp1 (const DI #xffffffffffff0000)))))
+ )
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dnmi rac-d "rac-d"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rac $accd"
+ (emit rac-dsi accd (f-accs 0) (f-imm1 0))
+)
+
+(dnmi rac-ds "rac-ds"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rac $accd,$accs"
+ (emit rac-dsi accd accs (f-imm1 0))
+)
+
+
+(dni rach "rach"
+ ((MACH m32r) (PIPE S) (IDOC MAC))
+ "rach"
+ (+ OP1_5 OP2_8 (f-r1 0) (f-r2 0))
+ (sequence ((DI tmp1))
+ ; Lop off top 8 bits.
+ ; The sign bit we want to use is bit 55 so the 64 bit value
+ ; isn't properly signed which we deal with in the if's below.
+ (set tmp1 (and accum (const DI #xffffffffffffff)))
+ (if (andif (ge tmp1 (const DI #x003fff80000000))
+ (le tmp1 (const DI #x7fffffffffffff)))
+ (set tmp1 (const DI #x003fff80000000))
+ ; else part
+ (if (andif (ge tmp1 (const DI #x80000000000000))
+ (le tmp1 (const DI #xffc00000000000)))
+ (set tmp1 (const DI #xffc00000000000))
+ (set tmp1 (and (add accum (const DI #x40000000))
+ (const DI #xffffffff80000000)))))
+ (set tmp1 (sll tmp1 (const 1)))
+ ; Sign extend top 8 bits.
+ (set accum
+ ; FIXME: 7?
+ (sra DI (sll DI tmp1 (const 7)) (const 7)))
+ )
+ ((m32r/d (unit u-mac)))
+)
+
+(dni rach-dsi "rach-dsi"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rach $accd,$accs,$imm1"
+ (+ OP1_5 accd (f-bits67 0) OP2_8 accs (f-bit14 0) imm1)
+ (sequence ((DI tmp1))
+ (set tmp1 (sll accs imm1))
+ (set tmp1 (add tmp1 (const DI #x80000000)))
+ (set accd
+ (cond DI
+ ((gt tmp1 (const DI #x00007fff00000000))
+ (const DI #x00007fff00000000))
+ ((lt tmp1 (const DI #xffff800000000000))
+ (const DI #xffff800000000000))
+ (else (and tmp1 (const DI #xffffffff00000000)))))
+ )
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+(dnmi rach-d "rach-d"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rach $accd"
+ (emit rach-dsi accd (f-accs 0) (f-imm1 0))
+)
+
+(dnmi rach-ds "rach-ds"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "rach $accd,$accs"
+ (emit rach-dsi accd accs (f-imm1 0))
+)
+
+(dni rte "rte"
+ (UNCOND-CTI (PIPE O) (IDOC BR))
+ "rte"
+ (+ OP1_1 OP2_13 (f-r1 0) (f-r2 6))
+ (sequence ()
+ ; pc = bpc & -4
+ (set pc (and (reg h-cr 6) (const -4)))
+ ; bpc = bbpc
+ (set (reg h-cr 6) (reg h-cr 14))
+ ; psw = bpsw
+ (set (reg h-psw) (reg h-bpsw))
+ ; bpsw = bbpsw
+ (set (reg h-bpsw) (reg h-bbpsw))
+ )
+ ()
+)
+
+(dni seth "seth"
+ ((IDOC ALU))
+ "seth $dr,$hash$hi16"
+ (+ OP1_13 OP2_12 dr (f-r2 0) hi16)
+ (set dr (sll WI hi16 (const 16)))
+ ()
+)
+
+(define-pmacro (shift-op sym op2-r-op op2-3-op op2-i-op sem-op)
+ (begin
+ (dni sym sym ((PIPE O_OS) (IDOC ALU))
+ (.str sym " $dr,$sr")
+ (+ OP1_1 op2-r-op dr sr)
+ (set dr (sem-op dr (and sr (const 31))))
+ ()
+ )
+ (dni (.sym sym "3") sym ((IDOC ALU))
+ (.str sym "3 $dr,$sr,$simm16")
+ (+ OP1_9 op2-3-op dr sr simm16)
+ (set dr (sem-op sr (and WI simm16 (const 31))))
+ ()
+ )
+ (dni (.sym sym "i") sym ((PIPE O_OS) (IDOC ALU))
+ (.str sym "i $dr,$uimm5")
+ (+ OP1_5 (f-shift-op2 op2-i-op) dr uimm5)
+ (set dr (sem-op dr uimm5))
+ ()
+ )
+ )
+)
+(shift-op sll OP2_4 OP2_12 2 sll)
+(shift-op sra OP2_2 OP2_10 1 sra)
+(shift-op srl OP2_0 OP2_8 0 srl)
+
+(define-pmacro (store-op suffix op2-op mode)
+ (begin
+ (dni (.sym st suffix) (.str "st" suffix)
+ ((PIPE O) (IDOC MEM))
+ (.str "st" suffix " $src1,@$src2")
+ (+ OP1_2 op2-op src1 src2)
+ (set mode (mem mode src2) src1)
+ ((m32r/d (unit u-store (cycles 1)))
+ (m32rx (unit u-store (cycles 1)))
+ (m32r2 (unit u-store (cycles 1))))
+ )
+ (dnmi (.sym st suffix "-2") (.str "st" suffix "-2")
+ (NO-DIS (PIPE O) (IDOC MEM))
+ (.str "st" suffix " $src1,@($src2)")
+ (emit (.sym st suffix) src1 src2))
+ (dni (.sym st suffix -d) (.str "st" suffix "-d")
+ ((IDOC MEM))
+ (.str "st" suffix " $src1,@($slo16,$src2)")
+ (+ OP1_10 op2-op src1 src2 slo16)
+ (set mode (mem mode (add src2 slo16)) src1)
+ ((m32r/d (unit u-store (cycles 2)))
+ (m32rx (unit u-store (cycles 2)))
+ (m32r2 (unit u-store (cycles 2))))
+ )
+ (dnmi (.sym st suffix -d2) (.str "st" suffix "-d2")
+ (NO-DIS (IDOC MEM))
+ (.str "st" suffix " $src1,@($src2,$slo16)")
+ (emit (.sym st suffix -d) src1 src2 slo16))
+ )
+)
+(store-op "" OP2_4 WI)
+(store-op b OP2_0 QI)
+(store-op h OP2_2 HI)
+
+(dni st-plus "st+"
+ ((PIPE O) (IDOC MEM))
+ "st $src1,@+$src2"
+ (+ OP1_2 OP2_6 src1 src2)
+ ; This has to be coded carefully to avoid an "earlyclobber" of src2.
+ (sequence ((WI new-src2))
+ (set new-src2 (add WI src2 (const WI 4)))
+ (set (mem WI new-src2) src1)
+ (set src2 new-src2))
+ ((m32r/d (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32rx (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32r2 (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ )
+)
+
+(dni sth-plus "sth+"
+ ((MACH m32rx,m32r2) (PIPE O) SPECIAL)
+ "sth $src1,@$src2+"
+ (+ OP1_2 OP2_3 src1 src2)
+ ; This has to be coded carefully to avoid an "earlyclobber" of src2.
+ (sequence ((HI new-src2))
+ (set (mem HI new-src2) src1)
+ (set new-src2 (add src2 (const 2)))
+ (set src2 new-src2))
+ ((m32rx (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32r2 (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ )
+)
+
+(dni stb-plus "stb+"
+ ((MACH m32rx,m32r2) (PIPE O) SPECIAL)
+ "stb $src1,@$src2+"
+ (+ OP1_2 OP2_1 src1 src2)
+ ; This has to be coded carefully to avoid an "earlyclobber" of src2.
+ (sequence ((QI new-src2))
+ (set (mem QI new-src2) src1)
+ (set new-src2 (add src2 (const 1)))
+ (set src2 new-src2))
+ ((m32rx (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32r2 (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ )
+)
+
+(dni st-minus "st-"
+ ((PIPE O) (IDOC MEM))
+ "st $src1,@-$src2"
+ (+ OP1_2 OP2_7 src1 src2)
+ ; This is the original way. It doesn't work for parallel execution
+ ; because of the earlyclobber of src2.
+ ;(sequence ()
+ ; (set src2 (sub src2 (const 4)))
+ ; (set (mem WI src2) src1))
+ (sequence ((WI new-src2))
+ (set new-src2 (sub src2 (const 4)))
+ (set (mem WI new-src2) src1)
+ (set src2 new-src2))
+ ((m32r/d (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32rx (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ (m32r2 (unit u-store)
+ (unit u-exec (in dr src2) (out dr src2) (cycles 0)))
+ )
+)
+
+(dnmi push "push" ((PIPE O) (IDOC MEM))
+ "push $src1"
+ (emit st-minus src1 (src2 15)) ; "st %0,@-sp"
+)
+
+(dni sub "sub"
+ ((PIPE OS) (IDOC ALU))
+ "sub $dr,$sr"
+ (+ OP1_0 OP2_2 dr sr)
+ (set dr (sub dr sr))
+ ()
+)
+
+(dni subv "sub:rv"
+ ((PIPE OS) (IDOC ALU))
+ "subv $dr,$sr"
+ (+ OP1_0 OP2_0 dr sr)
+ (parallel ()
+ (set dr (sub dr sr))
+ (set condbit (sub-oflag dr sr (const 0))))
+ ()
+)
+
+(dni subx "sub:rx"
+ ((PIPE OS) (IDOC ALU))
+ "subx $dr,$sr"
+ (+ OP1_0 OP2_1 dr sr)
+ (parallel ()
+ (set dr (subc dr sr condbit))
+ (set condbit (sub-cflag dr sr condbit)))
+ ()
+)
+
+(dni trap "trap"
+ (UNCOND-CTI FILL-SLOT (PIPE O) (IDOC MISC))
+ "trap $uimm4"
+ (+ OP1_1 OP2_15 (f-r1 0) uimm4)
+ (sequence ()
+ ; bbpc = bpc
+ (set (reg h-cr 14) (reg h-cr 6))
+ ; Set bpc to the return address. Actually it's not quite the
+ ; return address as RTE rounds the address down to a word
+ ; boundary.
+ (set (reg h-cr 6) (add pc (const 4)))
+ ; bbpsw = bpsw
+ (set (reg h-bbpsw) (reg h-bpsw))
+ ; bpsw = psw
+ (set (reg h-bpsw) (reg h-psw))
+ ; sm is unchanged, ie,c are set to zero.
+ (set (reg h-psw) (and (reg h-psw) (const #x80)))
+ ; m32r_trap handles operating vs user mode
+ (set WI pc (c-call WI "m32r_trap" pc uimm4))
+ )
+ ()
+)
+
+(dni unlock "unlock"
+ ((PIPE O) (IDOC MISC))
+ "unlock $src1,@$src2"
+ (+ OP1_2 OP2_5 src1 src2)
+ (sequence ()
+ (if (reg h-lock)
+ (set (mem WI src2) src1))
+ (set (reg h-lock) (const BI 0)))
+ ((m32r/d (unit u-load))
+ (m32rx (unit u-load))
+ (m32r2 (unit u-load)))
+)
+
+; Saturate into byte.
+(dni satb "satb"
+ ((MACH m32rx,m32r2) (IDOC ALU))
+ "satb $dr,$sr"
+ (+ OP1_8 dr OP2_6 sr (f-uimm16 #x0300))
+ (set dr
+ ; FIXME: min/max would simplify this nicely of course.
+ (cond WI
+ ((ge sr (const 127)) (const 127))
+ ((le sr (const -128)) (const -128))
+ (else sr)))
+ ()
+)
+
+; Saturate into half word.
+(dni sath "sath"
+ ((MACH m32rx,m32r2) (IDOC ALU))
+ "sath $dr,$sr"
+ (+ OP1_8 dr OP2_6 sr (f-uimm16 #x0200))
+ (set dr
+ (cond WI
+ ((ge sr (const 32767)) (const 32767))
+ ((le sr (const -32768)) (const -32768))
+ (else sr)))
+ ()
+)
+
+; Saturate word.
+(dni sat "sat"
+ ((MACH m32rx,m32r2) SPECIAL (IDOC ALU))
+ "sat $dr,$sr"
+ (+ OP1_8 dr OP2_6 sr (f-uimm16 0))
+ (set dr
+ (if WI condbit
+ (if WI (lt sr (const 0))
+ (const #x7fffffff)
+ (const #x80000000))
+ sr))
+ ()
+)
+
+; Parallel compare byte zeros.
+; Set C bit in condition register if any byte in source register is zero.
+(dni pcmpbz "pcmpbz"
+ ((MACH m32rx,m32r2) (PIPE OS) SPECIAL (IDOC ALU))
+ "pcmpbz $src2"
+ (+ OP1_0 (f-r1 3) OP2_7 src2)
+ (set condbit
+ (cond BI
+ ((eq (and src2 (const #xff)) (const 0)) (const BI 1))
+ ((eq (and src2 (const #xff00)) (const 0)) (const BI 1))
+ ((eq (and src2 (const #xff0000)) (const 0)) (const BI 1))
+ ((eq (and src2 (const #xff000000)) (const 0)) (const BI 1))
+ (else (const BI 0))))
+ ((m32rx (unit u-cmp))
+ (m32r2 (unit u-cmp)))
+)
+
+; Add accumulators
+(dni sadd "sadd"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC ACCUM))
+ "sadd"
+ (+ OP1_5 (f-r1 0) OP2_14 (f-r2 4))
+ (set (reg h-accums 0)
+ (add (sra (reg h-accums 1) (const 16))
+ (reg h-accums 0)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+; Multiply and add into accumulator 1
+(dni macwu1 "macwu1"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "macwu1 $src1,$src2"
+ (+ OP1_5 src1 OP2_11 src2)
+ (set (reg h-accums 1)
+ (sra DI
+ (sll DI
+ (add DI
+ (reg h-accums 1)
+ (mul DI
+ (ext DI src1)
+ (ext DI (and src2 (const #xffff)))))
+ (const 8))
+ (const 8)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+; Multiply and subtract from accumulator 0
+(dni msblo "msblo"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "msblo $src1,$src2"
+ (+ OP1_5 src1 OP2_13 src2)
+ (set accum
+ (sra DI
+ (sll DI
+ (sub accum
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI (trunc HI src1))
+ (ext DI (trunc HI src2)))
+ (const 32))
+ (const 16)))
+ (const 8))
+ (const 8)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+; Multiply into accumulator 1
+(dni mulwu1 "mulwu1"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "mulwu1 $src1,$src2"
+ (+ OP1_5 src1 OP2_10 src2)
+ (set (reg h-accums 1)
+ (sra DI
+ (sll DI
+ (mul DI
+ (ext DI src1)
+ (ext DI (and src2 (const #xffff))))
+ (const 16))
+ (const 16)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+; Multiply and add into accumulator 1
+(dni maclh1 "maclh1"
+ ((MACH m32rx,m32r2) (PIPE S) (IDOC MAC))
+ "maclh1 $src1,$src2"
+ (+ OP1_5 src1 OP2_12 src2)
+ (set (reg h-accums 1)
+ (sra DI
+ (sll DI
+ (add DI
+ (reg h-accums 1)
+ (sll DI
+ (ext DI
+ (mul SI
+ (ext SI (trunc HI src1))
+ (sra SI src2 (const SI 16))))
+ (const 16)))
+ (const 8))
+ (const 8)))
+ ((m32rx (unit u-mac))
+ (m32r2 (unit u-mac)))
+)
+
+; skip instruction if C
+(dni sc "sc"
+ ((MACH m32rx,m32r2) (PIPE O) SPECIAL (IDOC BR))
+ "sc"
+ (+ OP1_7 (f-r1 4) OP2_0 (f-r2 1))
+ (skip (zext INT condbit))
+ ()
+)
+
+; skip instruction if not C
+(dni snc "snc"
+ ((MACH m32rx,m32r2) (PIPE O) SPECIAL (IDOC BR))
+ "snc"
+ (+ OP1_7 (f-r1 5) OP2_0 (f-r2 1))
+ (skip (zext INT (not condbit)))
+ ()
+)
+
+; PSW &= ~((unsigned char) uimm8 | 0x000ff00)
+(dni clrpsw "clrpsw"
+ ((PIPE O) SPECIAL_M32R)
+ "clrpsw $uimm8"
+ (+ OP1_7 (f-r1 2) uimm8)
+ (set USI (reg h-cr 0)
+ (and USI (reg h-cr 0)
+ (or USI (inv BI uimm8) (const #xff00))))
+ ()
+)
+
+; PSW |= (unsigned char) uimm8
+(dni setpsw "setpsw"
+ ((PIPE O) SPECIAL_M32R)
+ "setpsw $uimm8"
+ (+ OP1_7 (f-r1 1) uimm8)
+ (set USI (reg h-cr 0) uimm8)
+ ()
+)
+
+; bset
+(dni bset "bset"
+ (SPECIAL_M32R)
+ "bset $uimm3,@($slo16,$sr)"
+ (+ OP1_10 (f-bit4 0) uimm3 OP2_6 sr slo16)
+ (set QI (mem QI (add sr slo16))
+ (or QI (mem QI (add sr slo16))
+ (sll USI (const 1) (sub (const 7) uimm3))))
+ ()
+)
+
+; bclr
+(dni bclr "bclr"
+ (SPECIAL_M32R)
+ "bclr $uimm3,@($slo16,$sr)"
+ (+ OP1_10 (f-bit4 0) uimm3 OP2_7 sr slo16)
+ (set QI (mem QI (add sr slo16))
+ (and QI (mem QI (add sr slo16))
+ (inv QI (sll USI (const 1) (sub (const 7) uimm3)))))
+ ()
+)
+
+; btst
+(dni btst "btst"
+ (SPECIAL_M32R (PIPE O))
+ "btst $uimm3,$sr"
+ (+ OP1_0 (f-bit4 0) uimm3 OP2_15 sr)
+ (set condbit (and QI (srl USI sr (sub (const 7) uimm3)) (const 1)))
+ ()
+)
+
diff --git a/cpu/m32r.opc b/cpu/m32r.opc
new file mode 100644
index 0000000..78bd0fa
--- /dev/null
+++ b/cpu/m32r.opc
@@ -0,0 +1,342 @@
+/* M32R opcode support. -*- C -*-
+
+ Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
+
+ Contributed by Red Hat Inc; developed under contract from
+ Mitsubishi Electric Corporation.
+
+ This file is part of the GNU Binutils.
+
+ Contributed by Red Hat Inc; developed under contract from Fujitsu.
+
+ This file is part of the GNU Binutils.
+
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/* This file is an addendum to m32r.cpu. Heavy use of C code isn't
+ appropriate in .cpu files, so it resides here. This especially applies
+ to assembly/disassembly where parsing/printing can be quite involved.
+ Such things aren't really part of the specification of the cpu, per se,
+ so .cpu files provide the general framework and .opc files handle the
+ nitty-gritty details as necessary.
+
+ Each section is delimited with start and end markers.
+
+ <arch>-opc.h additions use: "-- opc.h"
+ <arch>-opc.c additions use: "-- opc.c"
+ <arch>-asm.c additions use: "-- asm.c"
+ <arch>-dis.c additions use: "-- dis.c"
+ <arch>-ibd.h additions use: "-- ibd.h" */
+
+/* -- opc.h */
+
+#undef CGEN_DIS_HASH_SIZE
+#define CGEN_DIS_HASH_SIZE 256
+#undef CGEN_DIS_HASH
+#if 0
+#define X(b) (((unsigned char *) (b))[0] & 0xf0)
+#define CGEN_DIS_HASH(buffer, value) \
+(X (buffer) | \
+ (X (buffer) == 0x40 || X (buffer) == 0xe0 || X (buffer) == 0x60 || X (buffer) == 0x50 ? 0 \
+ : X (buffer) == 0x70 || X (buffer) == 0xf0 ? (((unsigned char *) (buffer))[0] & 0xf) \
+ : X (buffer) == 0x30 ? ((((unsigned char *) (buffer))[1] & 0x70) >> 4) \
+ : ((((unsigned char *) (buffer))[1] & 0xf0) >> 4)))
+#else
+#define CGEN_DIS_HASH(buffer, value) m32r_cgen_dis_hash(buffer, value)
+extern unsigned int m32r_cgen_dis_hash(const char *, CGEN_INSN_INT);
+#endif
+
+/* -- */
+
+/* -- opc.c */
+unsigned int
+m32r_cgen_dis_hash (buf, value)
+ const char * buf ATTRIBUTE_UNUSED;
+ CGEN_INSN_INT value;
+{
+ unsigned int x;
+
+ if (value & 0xffff0000) /* 32bit instructions */
+ value = (value >> 16) & 0xffff;
+
+ x = (value>>8) & 0xf0;
+ if (x == 0x40 || x == 0xe0 || x == 0x60 || x == 0x50)
+ return x;
+
+ if (x == 0x70 || x == 0xf0)
+ return x | ((value>>8) & 0x0f);
+
+ if (x == 0x30)
+ return x | ((value & 0x70) >> 4);
+ else
+ return x | ((value & 0xf0) >> 4);
+}
+
+/* -- */
+
+/* -- asm.c */
+static const char * parse_hash
+ PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
+static const char * parse_hi16
+ PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
+static const char * parse_slo16
+ PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
+static const char * parse_ulo16
+ PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
+
+/* Handle '#' prefixes (i.e. skip over them). */
+
+static const char *
+parse_hash (cd, strp, opindex, valuep)
+ CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
+ const char **strp;
+ int opindex ATTRIBUTE_UNUSED;
+ unsigned long *valuep ATTRIBUTE_UNUSED;
+{
+ if (**strp == '#')
+ ++*strp;
+ return NULL;
+}
+
+/* Handle shigh(), high(). */
+
+static const char *
+parse_hi16 (cd, strp, opindex, valuep)
+ CGEN_CPU_DESC cd;
+ const char **strp;
+ int opindex;
+ unsigned long *valuep;
+{
+ const char *errmsg;
+ enum cgen_parse_operand_result result_type;
+ bfd_vma value;
+
+ if (**strp == '#')
+ ++*strp;
+
+ if (strncasecmp (*strp, "high(", 5) == 0)
+ {
+ *strp += 5;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_HI16_ULO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing `)'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp, "shigh(", 6) == 0)
+ {
+ *strp += 6;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_HI16_SLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing `)'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ {
+ value = value + (value & 0x8000 ? 0x10000 : 0);
+ value >>= 16;
+ }
+ *valuep = value;
+ return errmsg;
+ }
+
+ return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
+}
+
+/* Handle low() in a signed context. Also handle sda().
+ The signedness of the value doesn't matter to low(), but this also
+ handles the case where low() isn't present. */
+
+static const char *
+parse_slo16 (cd, strp, opindex, valuep)
+ CGEN_CPU_DESC cd;
+ const char **strp;
+ int opindex;
+ long *valuep;
+{
+ const char *errmsg;
+ enum cgen_parse_operand_result result_type;
+ bfd_vma value;
+
+ if (**strp == '#')
+ ++*strp;
+
+ if (strncasecmp (*strp, "low(", 4) == 0)
+ {
+ *strp += 4;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_LO16,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing `)'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ {
+ value &= 0xffff;
+ if (value & 0x8000)
+ value |= 0xffff0000;
+ }
+ *valuep = value;
+ return errmsg;
+ }
+
+ if (strncasecmp (*strp, "sda(", 4) == 0)
+ {
+ *strp += 4;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_SDA16,
+ NULL, &value);
+ if (**strp != ')')
+ return "missing `)'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+
+ return cgen_parse_signed_integer (cd, strp, opindex, valuep);
+}
+
+/* Handle low() in an unsigned context.
+ The signedness of the value doesn't matter to low(), but this also
+ handles the case where low() isn't present. */
+
+static const char *
+parse_ulo16 (cd, strp, opindex, valuep)
+ CGEN_CPU_DESC cd;
+ const char **strp;
+ int opindex;
+ unsigned long *valuep;
+{
+ const char *errmsg;
+ enum cgen_parse_operand_result result_type;
+ bfd_vma value;
+
+ if (**strp == '#')
+ ++*strp;
+
+ if (strncasecmp (*strp, "low(", 4) == 0)
+ {
+ *strp += 4;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_M32R_LO16,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing `)'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+
+ return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
+}
+
+/* -- */
+
+/* -- dis.c */
+static void print_hash PARAMS ((CGEN_CPU_DESC, PTR, long, unsigned, bfd_vma, int));
+static int my_print_insn PARAMS ((CGEN_CPU_DESC, bfd_vma, disassemble_info *));
+
+/* Immediate values are prefixed with '#'. */
+
+#define CGEN_PRINT_NORMAL(cd, info, value, attrs, pc, length) \
+ do \
+ { \
+ if (CGEN_BOOL_ATTR ((attrs), CGEN_OPERAND_HASH_PREFIX)) \
+ (*info->fprintf_func) (info->stream, "#"); \
+ } \
+ while (0)
+
+/* Handle '#' prefixes as operands. */
+
+static void
+print_hash (cd, dis_info, value, attrs, pc, length)
+ CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
+ PTR dis_info;
+ long value ATTRIBUTE_UNUSED;
+ unsigned int attrs ATTRIBUTE_UNUSED;
+ bfd_vma pc ATTRIBUTE_UNUSED;
+ int length ATTRIBUTE_UNUSED;
+{
+ disassemble_info *info = (disassemble_info *) dis_info;
+ (*info->fprintf_func) (info->stream, "#");
+}
+
+#undef CGEN_PRINT_INSN
+#define CGEN_PRINT_INSN my_print_insn
+
+static int
+my_print_insn (cd, pc, info)
+ CGEN_CPU_DESC cd;
+ bfd_vma pc;
+ disassemble_info *info;
+{
+ char buffer[CGEN_MAX_INSN_SIZE];
+ char *buf = buffer;
+ int status;
+ int buflen = (pc & 3) == 0 ? 4 : 2;
+ int big_p = CGEN_CPU_INSN_ENDIAN (cd) == CGEN_ENDIAN_BIG;
+ char *x;
+
+ /* Read the base part of the insn. */
+
+ status = (*info->read_memory_func) (pc - ((!big_p && (pc & 3) != 0) ? 2 : 0),
+ buf, buflen, info);
+ if (status != 0)
+ {
+ (*info->memory_error_func) (status, pc, info);
+ return -1;
+ }
+
+ /* 32 bit insn? */
+ x = (big_p ? &buf[0] : &buf[3]);
+ if ((pc & 3) == 0 && (*x & 0x80) != 0)
+ return print_insn (cd, pc, info, buf, buflen);
+
+ /* Print the first insn. */
+ if ((pc & 3) == 0)
+ {
+ buf += (big_p ? 0 : 2);
+ if (print_insn (cd, pc, info, buf, 2) == 0)
+ (*info->fprintf_func) (info->stream, UNKNOWN_INSN_MSG);
+ buf += (big_p ? 2 : -2);
+ }
+
+ x = (big_p ? &buf[0] : &buf[1]);
+ if (*x & 0x80)
+ {
+ /* Parallel. */
+ (*info->fprintf_func) (info->stream, " || ");
+ *x &= 0x7f;
+ }
+ else
+ (*info->fprintf_func) (info->stream, " -> ");
+
+ /* The "& 3" is to pass a consistent address.
+ Parallel insns arguably both begin on the word boundary.
+ Also, branch insns are calculated relative to the word boundary. */
+ if (print_insn (cd, pc & ~ (bfd_vma) 3, info, buf, 2) == 0)
+ (*info->fprintf_func) (info->stream, UNKNOWN_INSN_MSG);
+
+ return (pc & 3) ? 2 : 4;
+}
+
+/* -- */
diff --git a/cpu/sh.cpu b/cpu/sh.cpu
new file mode 100644
index 0000000..c1d6ea6
--- /dev/null
+++ b/cpu/sh.cpu
@@ -0,0 +1,368 @@
+; Hitachi SH architecture description. -*- Scheme -*-
+;
+; Copyright 2000, 2001 Free Software Foundation, Inc.
+;
+; Contributed by Red Hat Inc; developed under contract from Hitachi
+; Semiconductor (America) Inc.
+;
+; This file is part of the GNU Binutils.
+;
+; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+(include "simplify.inc")
+
+(define-arch
+ (name sh)
+ (comment "Hitachi SuperH (SH)")
+ (insn-lsb0? #t)
+ (machs sh2 sh3 sh3e sh4 sh5)
+ (isas compact media)
+)
+
+
+; Instruction sets.
+
+(define-isa
+ (name media)
+ (comment "SHmedia 32-bit instruction set")
+ (base-insn-bitsize 32)
+)
+
+(define-isa
+ (name compact)
+ (comment "SHcompact 16-bit instruction set")
+ (base-insn-bitsize 16)
+)
+
+
+; CPU family.
+
+(define-cpu
+ (name sh64)
+ (comment "SH 64-bit family")
+ (endian either)
+ (word-bitsize 32)
+)
+
+
+(define-mach
+ (name sh2)
+ (comment "SH-2 CPU core")
+ (cpu sh64)
+ (isas compact)
+)
+
+(define-mach
+ (name sh3)
+ (comment "SH-3 CPU core")
+ (cpu sh64)
+ (isas compact)
+)
+
+(define-mach
+ (name sh3e)
+ (comment "SH-3e CPU core")
+ (cpu sh64)
+ (isas compact)
+)
+
+(define-mach
+ (name sh4)
+ (comment "SH-4 CPU core")
+ (cpu sh64)
+ (isas compact)
+)
+
+(define-mach
+ (name sh5)
+ (comment "SH-5 CPU core")
+ (cpu sh64)
+ (isas compact media)
+)
+
+(define-model
+ (name sh5)
+ (comment "SH-5 reference implementation")
+ (mach sh5)
+ (unit u-exec "Execution unit" ()
+ 1 1 ; issue done
+ () () () ())
+)
+
+; Hardware elements.
+
+(define-hardware
+ (name h-pc)
+ (comment "Program counter")
+ (attrs PC (ISA compact,media))
+ (type pc UDI)
+ (get () (raw-reg h-pc))
+ (set (newval) (sequence ()
+ (set (raw-reg h-ism) (and newval 1))
+ (set (raw-reg h-pc) (and newval (inv UDI 1)))))
+)
+
+(define-pmacro (-build-greg-name n) ((.sym r n) n))
+
+(define-hardware
+ (name h-gr)
+ (comment "General purpose integer registers")
+ (attrs (ISA media,compact))
+ (type register DI (64))
+ (indices keyword "" (.map -build-greg-name (.iota 64)))
+ (get (index)
+ (if DI (eq index 63)
+ (const 0)
+ (raw-reg h-gr index)))
+ (set (index newval)
+ (if (ne index 63)
+ (set (raw-reg h-gr index) newval)
+ (nop)))
+)
+
+(define-hardware
+ (name h-grc)
+ (comment "General purpose integer registers (SHcompact view)")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI (16))
+ (indices keyword "" (.map -build-greg-name (.iota 16)))
+ (get (index)
+ (and (raw-reg h-gr index) (zext DI #xFFFFFFFF)))
+ (set (index newval)
+ (set (raw-reg h-gr index) (ext DI newval)))
+)
+
+(define-pmacro (-build-creg-name n) ((.sym cr n) n))
+
+(define-hardware
+ (name h-cr)
+ (comment "Control registers")
+ (attrs (ISA media))
+ (type register DI (64))
+ (indices keyword "" (.map -build-creg-name (.iota 64)))
+ (get (index)
+ (if DI (eq index 0)
+ (zext DI (reg h-sr))
+ (raw-reg h-cr index)))
+ (set (index newval)
+ (if (eq index 0)
+ (set (reg h-sr) newval)
+ (set (raw-reg h-cr index) newval)))
+)
+
+(define-hardware
+ (name h-sr)
+ (comment "Status register")
+ (attrs (ISA compact,media))
+ (type register SI)
+)
+
+(define-hardware
+ (name h-fpscr)
+ (comment "Floating point status and control register")
+ (attrs (ISA compact,media))
+ (type register SI)
+)
+
+(define-hardware
+ (name h-frbit)
+ (comment "Floating point register file bit")
+ (attrs (ISA media,compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 14) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 14))) (sll SI newvalue 14))))
+)
+
+(define-hardware
+ (name h-szbit)
+ (comment "Floating point transfer size bit")
+ (attrs (ISA media,compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 13) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 13))) (sll SI newvalue 13))))
+)
+
+(define-hardware
+ (name h-prbit)
+ (comment "Floating point precision bit")
+ (attrs (ISA media,compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 12) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 12))) (sll SI newvalue 12))))
+)
+
+(define-hardware
+ (name h-sbit)
+ (comment "Multiply-accumulate saturation flag")
+ (attrs (ISA compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 1) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv 2)) (sll SI newvalue 1))))
+)
+
+(define-hardware
+ (name h-mbit)
+ (comment "Divide-step M flag")
+ (attrs (ISA compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 9) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 9))) (sll SI newvalue 9))))
+)
+
+(define-hardware
+ (name h-qbit)
+ (comment "Divide-step Q flag")
+ (attrs (ISA compact) VIRTUAL)
+ (type register BI)
+ (get () (and (srl (reg h-sr) 8) 1))
+ (set (newvalue) (set (reg h-sr) (or (and (reg h-sr) (inv (sll 1 8))) (sll SI newvalue 8))))
+)
+
+(define-pmacro (-build-freg-name n) ((.sym fr n) n))
+
+(define-hardware
+ (name h-fr)
+ (comment "Single precision floating point registers")
+ (attrs (ISA media,compact))
+ (type register SF (64))
+ (indices keyword "" (.map -build-freg-name (.iota 64)))
+)
+
+
+(define-pmacro (-build-fpair-name n) ((.sym fp n) n))
+
+(define-hardware
+ (name h-fp)
+ (comment "Single precision floating point register pairs")
+ (attrs (ISA media,compact))
+ (type register DF (32))
+ (indices keyword "" (.map -build-fpair-name (.iota 32)))
+)
+
+(define-pmacro (-build-fvec-name n) ((.sym fv n) n))
+
+(define-hardware
+ (name h-fv)
+ (comment "Single precision floating point vectors")
+ (attrs VIRTUAL (ISA media,compact))
+ (type register SF (16))
+ (indices keyword "" (.map -build-fvec-name (.iota 16)))
+ ; Mask with $F to ensure 0 <= index < 15.
+ (get (index) (reg h-fr (mul (and UQI index 15) 4)))
+ (set (index newval) (set (reg h-fr (mul (and UQI index 15) 4)) newval))
+)
+
+(define-hardware
+ (name h-fmtx)
+ (comment "Single precision floating point matrices")
+ (attrs VIRTUAL (ISA media))
+ (type register SF (4))
+ (indices keyword "" ((mtrx0 0) (mtrx1 1) (mtrx2 2) (mtrx3 3)))
+ ; Mask with $3 to ensure 0 <= index < 4.
+ (get (index) (reg h-fr (mul (and UQI index 3) 16)))
+ (set (index newval) (set (reg h-fr (mul (and UQI index 3) 16)) newval))
+)
+
+(define-pmacro (-build-dreg-name n) ((.sym dr n) n))
+
+(define-hardware
+ (name h-dr)
+ (comment "Double precision floating point registers")
+ (attrs (ISA media,compact) VIRTUAL)
+ (type register DF (32))
+ (indices keyword "" (.map -build-dreg-name (.iota 64)))
+ (get (index)
+ (subword DF
+ (or
+ (sll DI (zext DI (subword SI (reg h-fr index) 0)) 32)
+ (zext DI (subword SI (reg h-fr (add index 1)) 0))) 0))
+ (set (index newval)
+ (sequence ()
+ (set (reg h-fr index)
+ (subword SF (subword SI newval 0) 0))
+ (set (reg h-fr (add index 1))
+ (subword SF (subword SI newval 1) 0))))
+)
+
+(define-hardware
+ (name h-tr)
+ (comment "Branch target registers")
+ (attrs (ISA media))
+ (type register DI (8))
+ (indices keyword "" ((tr0 0) (tr1 1) (tr2 2) (tr3 3) (tr4 4) (tr5 5) (tr6 6) (tr7 7)))
+)
+
+(define-hardware
+ (name h-endian)
+ (comment "Current endian mode")
+ (attrs (ISA compact,media) VIRTUAL)
+ (type register BI)
+ (get () (c-call BI "sh64_endian"))
+ (set (newval) (error "cannot alter target byte order mid-program"))
+)
+
+(define-hardware
+ (name h-ism)
+ (comment "Current instruction set mode")
+ (attrs (ISA compact,media))
+ (type register BI)
+ (get () (raw-reg h-ism))
+ (set (newval) (error "cannot set ism directly"))
+)
+
+
+; Operands.
+
+(dnop endian "Endian mode" ((ISA compact,media)) h-endian f-nil)
+(dnop ism "Instruction set mode" ((ISA compact,media)) h-ism f-nil)
+
+; Universally useful macros.
+
+; A pmacro for use in semantic bodies of unimplemented insns.
+(define-pmacro (unimp mnemonic) (nop))
+
+; Join 2 ints together in natural bit order.
+(define-pmacro (-join-si s1 s0)
+ (or (sll (zext DI s1) 32)
+ (zext DI s0)))
+
+; Join 4 half-ints together in natural bit order.
+(define-pmacro (-join-hi h3 h2 h1 h0)
+ (or (sll (zext DI h3) 48)
+ (or (sll (zext DI h2) 32)
+ (or (sll (zext DI h1) 16)
+ (zext DI h0)))))
+
+; Join 8 quarter-ints together in natural bit order.
+(define-pmacro (-join-qi b7 b6 b5 b4 b3 b2 b1 b0)
+ (or (sll (zext DI b7) 56)
+ (or (sll (zext DI b6) 48)
+ (or (sll (zext DI b5) 40)
+ (or (sll (zext DI b4) 32)
+ (or (sll (zext DI b3) 24)
+ (or (sll (zext DI b2) 16)
+ (or (sll (zext DI b1) 8)
+ (zext DI b0)))))))))
+
+
+; Include the two instruction set descriptions from their respective
+; source files.
+
+(if (keep-isa? (compact))
+ (include "sh64-compact.cpu"))
+
+(if (keep-isa? (media))
+ (include "sh64-media.cpu"))
diff --git a/cpu/sh.opc b/cpu/sh.opc
new file mode 100644
index 0000000..0fdb97f
--- /dev/null
+++ b/cpu/sh.opc
@@ -0,0 +1,78 @@
+/* SHmedia opcode support. -*- C -*-
+
+ Copyright 2000 Free Software Foundation, Inc.
+
+ Contributed by Red Hat Inc; developed under contract from Hitachi
+ Semiconductor (America) Inc.
+
+ This file is part of the GNU Binutils.
+
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+/* This file is an addendum to sh-media.cpu. Heavy use of C code isn't
+ appropriate in .cpu files, so it resides here. This especially applies
+ to assembly/disassembly where parsing/printing can be quite involved.
+ Such things aren't really part of the specification of the cpu, per se,
+ so .cpu files provide the general framework and .opc files handle the
+ nitty-gritty details as necessary.
+
+ Each section is delimited with start and end markers.
+
+ <arch>-opc.h additions use: "-- opc.h"
+ <arch>-opc.c additions use: "-- opc.c"
+ <arch>-asm.c additions use: "-- asm.c"
+ <arch>-dis.c additions use: "-- dis.c"
+ <arch>-ibd.h additions use: "-- ibd.h"
+*/
+
+/* -- opc.h */
+
+/* Allows reason codes to be output when assembler errors occur. */
+#define CGEN_VERBOSE_ASSEMBLER_ERRORS
+
+/* Override disassembly hashing - there are variable bits in the top
+ byte of these instructions. */
+#define CGEN_DIS_HASH_SIZE 8
+#define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 6) % CGEN_DIS_HASH_SIZE)
+
+/* -- asm.c */
+
+static const char *
+parse_fsd (cd, strp, opindex, valuep)
+ CGEN_CPU_DESC cd;
+ const char **strp;
+ int opindex;
+ long *valuep;
+{
+ abort();
+}
+
+/* -- dis.c */
+
+static void
+print_likely (cd, dis_info, value, attrs, pc, length)
+ CGEN_CPU_DESC cd;
+ PTR dis_info;
+ long value;
+ unsigned int attrs;
+ bfd_vma pc;
+ int length;
+{
+ disassemble_info *info = (disassemble_info *) dis_info;
+ (*info->fprintf_func) (info->stream, (value) ? "/l" : "/u");
+}
+
+/* -- */
diff --git a/cpu/sh64-compact.cpu b/cpu/sh64-compact.cpu
new file mode 100644
index 0000000..d835b1b
--- /dev/null
+++ b/cpu/sh64-compact.cpu
@@ -0,0 +1,1747 @@
+; Hitachi SHcompact instruction set description. -*- Scheme -*-
+;
+; Copyright 2000 Free Software Foundation, Inc.
+;
+; Contributed by Red Hat Inc; developed under contract from Hitachi
+; Semiconductor (America) Inc.
+;
+; This file is part of the GNU Binutils.
+;
+; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+; dshcf -- define-normal-sh-compact-field
+
+(define-pmacro (dshcf xname xcomment ignored xstart xlength)
+ (dnf xname xcomment ((ISA compact)) xstart xlength))
+
+; dshcop -- define-normal-sh-compact-operand
+
+(define-pmacro (dshcop xname xcomment ignored xhardware xfield)
+ (dnop xname xcomment ((ISA compact)) xhardware xfield))
+
+
+; SHcompact-specific attributes.
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name ILLSLOT)
+ (comment "instruction may not appear in a delay slot")
+)
+
+(define-attr
+ (for insn)
+ (type boolean)
+ (name FP-INSN)
+ (comment "floating point instruction")
+)
+
+(define-keyword
+ (name frc-names)
+ (attrs (ISA compact))
+ (print-name h-frc)
+ (values (fr0 0) (fr1 1) (fr2 2) (fr3 3) (fr4 4) (fr5 5)
+ (fr6 6) (fr7 7) (fr8 8) (fr9 9) (fr10 10) (fr11 11)
+ (fr12 12) (fr13 13) (fr14 14) (fr15 15))
+)
+
+(define-keyword
+ (name drc-names)
+ (attrs (ISA compact))
+ (print-name h-drc)
+ (values (dr0 0) (dr2 2) (dr4 4) (dr6 6) (dr8 8) (dr10 10) (dr12 12) (dr14 14))
+)
+
+(define-keyword
+ (name xf-names)
+ (attrs (ISA compact))
+ (print-name h-xf)
+ (values (xf0 0) (xf1 1) (xf2 2) (xf3 3) (xf4 4) (xf5 5)
+ (xf6 6) (xf7 7) (xf8 8) (xf9 9) (xf10 10) (xf11 11)
+ (xf12 12) (xf13 13) (xf14 14) (xf15 15))
+)
+
+; Hardware specific to the SHcompact mode.
+
+(define-pmacro (front) (mul 16 frbit))
+(define-pmacro (back) (mul 16 (not frbit)))
+
+(define-hardware
+ (name h-frc)
+ (comment "Single precision floating point registers")
+ (attrs VIRTUAL (ISA compact))
+ (indices extern-keyword frc-names)
+ (type register SF (16))
+ (get (index) (reg h-fr (add (front) index)))
+ (set (index newval) (set (reg h-fr (add (front) index)) newval))
+)
+
+(define-hardware
+ (name h-drc)
+ (comment "Double precision floating point registers")
+ (attrs VIRTUAL (ISA compact))
+ (indices extern-keyword drc-names)
+ (type register DF (8))
+ (get (index) (reg h-dr (add (front) index)))
+ (set (index newval) (set (reg h-dr (add (front) index)) newval))
+)
+
+(define-hardware
+ (name h-xf)
+ (comment "Extended single precision floating point registers")
+ (attrs VIRTUAL (ISA compact))
+ (indices extern-keyword xf-names)
+ (type register SF (16))
+ (get (index) (reg h-fr (add (back) index)))
+ (set (index newval) (set (reg h-fr (add (back) index)) newval))
+)
+
+(define-hardware
+ (name h-xd)
+ (comment "Extended double precision floating point registers")
+ (attrs VIRTUAL (ISA compact))
+ (indices extern-keyword frc-names)
+ (type register DF (8))
+ (get (index) (reg h-dr (add (back) index)))
+ (set (index newval) (set (reg h-dr (add (back) index)) newval))
+)
+
+(define-hardware
+ (name h-fvc)
+ (comment "Single precision floating point vectors")
+ (attrs VIRTUAL (ISA compact))
+ (indices keyword "" ((fv0 0) (fv4 4) (fv8 8) (fv12 12)))
+ (type register SF (4))
+ (get (index) (reg h-fr (add (front) index)))
+ (set (index newval) (set (reg h-fr (add (front) index)) newval))
+)
+
+(define-hardware
+ (name h-fpccr)
+ (comment "SHcompact floating point status/control register")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI)
+ (get () (or (or (or (raw-reg h-fpscr) (sll SI prbit 19)) (sll SI szbit 20)) (sll SI frbit 21)))
+ (set (newvalue) (sequence ()
+ (set (reg h-fpscr) newvalue)
+ (set prbit (and (srl newvalue 19) 1))
+ (set szbit (and (srl newvalue 20) 1))
+ (set frbit (and (srl newvalue 21) 1))))
+)
+
+(define-hardware
+ (name h-gbr)
+ (comment "Global base register")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI)
+ (get () (subword SI (raw-reg h-gr 16) 1))
+ (set (newval) (set (raw-reg h-gr 16) (ext DI newval)))
+)
+
+(define-hardware
+ (name h-pr)
+ (comment "Procedure link register")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI)
+ (get () (subword SI (raw-reg h-gr 18) 1))
+ (set (newval) (set (raw-reg h-gr 18) (ext DI newval)))
+)
+
+(define-hardware
+ (name h-macl)
+ (comment "Multiple-accumulate low register")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI)
+ (get () (subword SI (raw-reg h-gr 17) 1))
+ (set (newval) (set (raw-reg h-gr 17) (-join-si (subword SI (raw-reg h-gr 17) 0) newval)))
+)
+
+(define-hardware
+ (name h-mach)
+ (comment "Multiply-accumulate high register")
+ (attrs VIRTUAL (ISA compact))
+ (type register SI)
+ (get () (subword SI (raw-reg h-gr 17) 0))
+ (set (newval) (set (raw-reg h-gr 17) (-join-si newval (subword SI (raw-reg h-gr 17) 1))))
+)
+
+(define-hardware
+ (name h-tbit)
+ (comment "Condition code flag")
+ (attrs VIRTUAL (ISA compact))
+ (type register BI)
+ (get () (and BI (raw-reg h-gr 19) 1))
+ (set (newval) (set (raw-reg h-gr 19) (or (and (raw-reg h-gr 19) (inv DI 1)) (zext DI newval))))
+)
+
+
+(dshcf f-op4 "Opcode (4 bits)" () 15 4)
+(dshcf f-op8 "Opcode (8 bits)" () 15 8)
+(dshcf f-op16 "Opcode (16 bits)" () 15 16)
+
+(dshcf f-sub4 "Sub opcode (4 bits)" () 3 4)
+(dshcf f-sub8 "Sub opcode (8 bits)" () 7 8)
+(dshcf f-sub10 "Sub opcode (10 bits)" () 9 10)
+
+(dshcf f-rn "Register selector n" () 11 4)
+(dshcf f-rm "Register selector m" () 7 4)
+
+(dshcf f-8-1 "One bit at bit 8" () 8 1)
+
+(df f-disp8 "Displacement (8 bits)" ((ISA compact) PCREL-ADDR) 7 8 INT
+ ((value pc) (sra SI value 1))
+ ((value pc) (add SI (sll SI value 1) (add pc 4))))
+
+(df f-disp12 "Displacement (12 bits)" ((ISA compact) PCREL-ADDR) 11 12 INT
+ ((value pc) (sra SI value 1))
+ ((value pc) (add SI (sll SI value 1) (add pc 4))))
+
+(dshcf f-imm8 "Immediate (8 bits)" () 7 8)
+(dshcf f-imm4 "Immediate (4 bits)" () 3 4)
+
+(df f-imm4x2 "Immediate (4 bits)" ((ISA compact)) 3 4 UINT
+ ((value pc) (srl SI value 1))
+ ((value pc) (sll SI value 1)))
+
+(df f-imm4x4 "Immediate (4 bits)" ((ISA compact)) 3 4 UINT
+ ((value pc) (srl SI value 2))
+ ((value pc) (sll SI value 2)))
+
+(df f-imm8x2 "Immediate (8 bits)" ((ISA compact)) 7 8 UINT
+ ((value pc) (sra SI value 1))
+ ((value pc) (sll SI value 1)))
+
+(df f-imm8x4 "Immediate (8 bits)" ((ISA compact)) 7 8 UINT
+ ((value pc) (sra SI value 2))
+ ((value pc) (sll SI value 2)))
+
+(df f-dn "Double selector n" ((ISA compact)) 11 3 UINT
+ ((value pc) (srl SI value 1))
+ ((value pc) (sll SI value 1)))
+
+(df f-dm "Double selector m" ((ISA compact)) 7 3 UINT
+ ((value pc) (srl SI value 1))
+ ((value pc) (sll SI value 1)))
+
+(df f-vn "Vector selector n" ((ISA compact)) 11 2 UINT
+ ((value pc) (srl SI value 2))
+ ((value pc) (sll SI value 2)))
+
+(df f-vm "Vector selector m" ((ISA compact)) 9 2 UINT
+ ((value pc) (srl SI value 2))
+ ((value pc) (sll SI value 2)))
+
+(df f-xn "Extended selector n" ((ISA compact)) 11 3 UINT
+ ((value pc) (srl SI value 1))
+ ((value pc) (add SI (sll SI value 1) 1)))
+
+(df f-xm "Extended selector m" ((ISA compact)) 7 3 UINT
+ ((value pc) (srl SI value 1))
+ ((value pc) (add SI (sll SI value 1) 1)))
+
+
+; Operands.
+
+(dshcop rm "Left general purpose register" () h-grc f-rm)
+(dshcop rn "Right general purpose register" () h-grc f-rn)
+(dshcop r0 "Register 0" () h-grc 0)
+
+(dshcop frn "Single precision register" () h-frc f-rn)
+(dshcop frm "Single precision register" () h-frc f-rm)
+
+(dshcop fvn "Left floating point vector" () h-fvc f-vn)
+(dshcop fvm "Right floating point vector" () h-fvc f-vm)
+
+(dshcop drn "Left double precision register" () h-drc f-dn)
+(dshcop drm "Right double precision register" () h-drc f-dm)
+
+(dshcop imm4 "Immediate value (4 bits)" () h-sint f-imm4)
+(dshcop imm8 "Immediate value (8 bits)" () h-sint f-imm8)
+(dshcop uimm8 "Immediate value (8 bits unsigned)" () h-uint f-imm8)
+
+(dshcop imm4x2 "Immediate value (4 bits, 2x scale)" () h-uint f-imm4x2)
+(dshcop imm4x4 "Immediate value (4 bits, 4x scale)" () h-uint f-imm4x4)
+(dshcop imm8x2 "Immediate value (8 bits, 2x scale)" () h-uint f-imm8x2)
+(dshcop imm8x4 "Immediate value (8 bits, 4x scale)" () h-uint f-imm8x4)
+
+(dshcop disp8 "Displacement (8 bits)" () h-iaddr f-disp8)
+(dshcop disp12 "Displacement (12 bits)" () h-iaddr f-disp12)
+
+(dshcop rm64 "Register m (64 bits)" () h-gr f-rm)
+(dshcop rn64 "Register n (64 bits)" () h-gr f-rn)
+
+(dshcop gbr "Global base register" () h-gbr f-nil)
+(dshcop pr "Procedure link register" () h-pr f-nil)
+
+(dshcop fpscr "Floating point status/control register" () h-fpccr f-nil)
+
+(dshcop tbit "Condition code flag" () h-tbit f-nil)
+(dshcop sbit "Multiply-accumulate saturation flag" () h-sbit f-nil)
+(dshcop mbit "Divide-step M flag" () h-mbit f-nil)
+(dshcop qbit "Divide-step Q flag" () h-qbit f-nil)
+(dshcop fpul "Floating point ???" () h-fr 32)
+
+(dshcop frbit "Floating point register bank bit" () h-frbit f-nil)
+(dshcop szbit "Floating point transfer size bit" () h-szbit f-nil)
+(dshcop prbit "Floating point precision bit" () h-prbit f-nil)
+
+(dshcop macl "Multiply-accumulate low register" () h-macl f-nil)
+(dshcop mach "Multiply-accumulate high register" () h-mach f-nil)
+
+
+(define-operand (name fsdm) (comment "bar")
+ (attrs (ISA compact)) (type h-frc) (index f-rm) (handlers (parse "fsd")))
+
+(define-operand (name fsdn) (comment "bar")
+ (attrs (ISA compact)) (type h-frc) (index f-rn))
+
+
+; Cover macro to dni to indicate these are all SHcompact instructions.
+; dshmi: define-normal-sh-compact-insn
+
+(define-pmacro (dshci xname xcomment xattrs xsyntax xformat xsemantics)
+ (define-insn
+ (name (.sym xname -compact))
+ (comment xcomment)
+ (.splice attrs (.unsplice xattrs) (ISA compact))
+ (syntax xsyntax)
+ (format xformat)
+ (semantics xsemantics)))
+
+(define-pmacro (dr operand) (reg h-dr (index-of operand)))
+(define-pmacro (xd x) (reg h-xd (and (index-of x) (inv QI 1))))
+
+(dshci add "Add"
+ ()
+ "add $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 12))
+ (set rn (add rn rm)))
+
+(dshci addi "Add immediate"
+ ()
+ "add #$imm8, $rn"
+ (+ (f-op4 7) rn imm8)
+ (set rn (add rn (ext SI (and QI imm8 255)))))
+
+(dshci addc "Add with carry"
+ ()
+ "addc $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 14))
+ (sequence ((BI flag))
+ (set flag (add-cflag rn rm tbit))
+ (set rn (addc rn rm tbit))
+ (set tbit flag)))
+
+(dshci addv "Add with overflow"
+ ()
+ "addv $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 15))
+ (sequence ((BI t))
+ (set t (add-oflag rn rm 0))
+ (set rn (add rn rm))
+ (set tbit t)))
+
+(dshci and "Bitwise AND"
+ ()
+ "and $rm64, $rn64"
+ (+ (f-op4 2) rn64 rm64 (f-sub4 9))
+ (set rn64 (and rm64 rn64)))
+
+(dshci andi "Bitwise AND immediate"
+ ()
+ "and #$uimm8, r0"
+ (+ (f-op8 #xc9) uimm8)
+ (set r0 (and r0 (zext DI uimm8))))
+
+(dshci andb "Bitwise AND memory byte"
+ ()
+ "and.b #$imm8, @(r0, gbr)"
+ (+ (f-op8 #xcd) imm8)
+ (sequence ((DI addr) (UQI data))
+ (set addr (add r0 gbr))
+ (set data (and (mem UQI addr) imm8))
+ (set (mem UQI addr) data)))
+
+(dshci bf "Conditional branch"
+ ()
+ "bf $disp8"
+ (+ (f-op8 #x8b) disp8)
+ (if (not tbit)
+ (set pc disp8)))
+
+(dshci bfs "Conditional branch with delay slot"
+ ()
+ "bf/s $disp8"
+ (+ (f-op8 #x8f) disp8)
+ (if (not tbit)
+ (delay 1 (set pc disp8))))
+
+(dshci bra "Branch"
+ ()
+ "bra $disp12"
+ (+ (f-op4 10) disp12)
+ (delay 1 (set pc disp12)))
+
+(dshci braf "Branch far"
+ ()
+ "braf $rn"
+ (+ (f-op4 0) rn (f-sub8 35))
+ (delay 1 (set pc (add (ext DI rn) (add pc 4)))))
+
+(dshci brk "Breakpoint"
+ ()
+ "brk"
+ (+ (f-op16 59))
+ (c-call "sh64_break" pc))
+
+(dshci bsr "Branch to subroutine"
+ ()
+ "bsr $disp12"
+ (+ (f-op4 11) disp12)
+ (delay 1 (sequence ()
+ (set pr (add pc 4))
+ (set pc disp12))))
+
+(dshci bsrf "Branch to far subroutine"
+ ()
+ "bsrf $rn"
+ (+ (f-op4 0) rn (f-sub8 3))
+ (delay 1 (sequence ()
+ (set pr (add pc 4))
+ (set pc (add (ext DI rn) (add pc 4))))))
+
+(dshci bt "Conditional branch"
+ ()
+ "bt $disp8"
+ (+ (f-op8 #x89) disp8)
+ (if tbit
+ (set pc disp8)))
+
+(dshci bts "Conditional branch with delay slot"
+ ()
+ "bt/s $disp8"
+ (+ (f-op8 #x8d) disp8)
+ (if tbit
+ (delay 1 (set pc disp8))))
+
+(dshci clrmac "Clear MACL and MACH"
+ ()
+ "clrmac"
+ (+ (f-op16 40))
+ (sequence ()
+ (set macl 0)
+ (set mach 0)))
+
+(dshci clrs "Clear S-bit"
+ ()
+ "clrs"
+ (+ (f-op16 72))
+ (set sbit 0))
+
+(dshci clrt "Clear T-bit"
+ ()
+ "clrt"
+ (+ (f-op16 8))
+ (set tbit 0))
+
+(dshci cmpeq "Compare if equal"
+ ()
+ "cmp/eq $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 0))
+ (set tbit (eq rm rn)))
+
+(dshci cmpeqi "Compare if equal (immediate)"
+ ()
+ "cmp/eq #$imm8, r0"
+ (+ (f-op8 #x88) imm8)
+ (set tbit (eq r0 (ext SI (and QI imm8 255)))))
+
+(dshci cmpge "Compare if greater than or equal"
+ ()
+ "cmp/ge $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 3))
+ (set tbit (ge rn rm)))
+
+(dshci cmpgt "Compare if greater than"
+ ()
+ "cmp/gt $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 7))
+ (set tbit (gt rn rm)))
+
+(dshci cmphi "Compare if greater than (unsigned)"
+ ()
+ "cmp/hi $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 6))
+ (set tbit (gtu rn rm)))
+
+(dshci cmphs "Compare if greater than or equal (unsigned)"
+ ()
+ "cmp/hs $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 2))
+ (set tbit (geu rn rm)))
+
+(dshci cmppl "Compare if greater than zero"
+ ()
+ "cmp/pl $rn"
+ (+ (f-op4 4) rn (f-sub8 21))
+ (set tbit (gt rn 0)))
+
+(dshci cmppz "Compare if greater than or equal zero"
+ ()
+ "cmp/pz $rn"
+ (+ (f-op4 4) rn (f-sub8 17))
+ (set tbit (ge rn 0)))
+
+(dshci cmpstr "Compare bytes"
+ ()
+ "cmp/str $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 12))
+ (sequence ((BI t) (SI temp))
+ (set temp (xor rm rn))
+ (set t (eq (and temp #xff000000) 0))
+ (set t (or (eq (and temp #xff0000) 0) t))
+ (set t (or (eq (and temp #xff00) 0) t))
+ (set t (or (eq (and temp #xff) 0) t))
+ (set tbit (if BI (gtu t 0) 1 0))))
+
+(dshci div0s "Initialise divide-step state for signed division"
+ ()
+ "div0s $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 7))
+ (sequence ()
+ (set qbit (srl rn 31))
+ (set mbit (srl rm 31))
+ (set tbit (if BI (eq (srl rm 31) (srl rn 31)) 0 1))))
+
+(dshci div0u "Initialise divide-step state for unsigned division"
+ ()
+ "div0u"
+ (+ (f-op16 25))
+ (sequence ()
+ (set tbit 0)
+ (set qbit 0)
+ (set mbit 0)))
+
+(dshci div1 "Divide step"
+ ()
+ "div1 $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 4))
+ (sequence ((BI oldq) (SI tmp0) (UQI tmp1))
+ (set oldq qbit)
+ (set qbit (srl rn 31))
+ (set rn (or (sll rn 1) (zext SI tbit)))
+ (if (not oldq)
+ (if (not mbit)
+ (sequence ()
+ (set tmp0 rn)
+ (set rn (sub rn rm))
+ (set tmp1 (gtu rn tmp0))
+ (if (not qbit)
+ (set qbit (if BI tmp1 1 0))
+ (set qbit (if BI (eq tmp1 0) 1 0))))
+ (sequence ()
+ (set tmp0 rn)
+ (set rn (add rn rm))
+ (set tmp1 (ltu rn tmp0))
+ (if (not qbit)
+ (set qbit (if BI (eq tmp1 0) 1 0))
+ (set qbit (if BI tmp1 1 0)))))
+ (if (not mbit)
+ (sequence ()
+ (set tmp0 rn)
+ (set rn (add rm rn))
+ (set tmp1 (ltu rn tmp0))
+ (if (not qbit)
+ (set qbit (if BI tmp1 1 0))
+ (set qbit (if BI (eq tmp1 0) 1 0))))
+ (sequence ()
+ (set tmp0 rn)
+ (set rn (sub rn rm))
+ (set tmp1 (gtu rn tmp0))
+ (if (not qbit)
+ (set qbit (if BI (eq tmp1 0) 1 0))
+ (set qbit (if BI tmp1 1 0))))))
+ (set tbit (if BI (eq qbit mbit) 1 0))))
+
+(dshci dmulsl "Multiply long (signed)"
+ ()
+ "dmuls.l $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 13))
+ (sequence ((DI result))
+ (set result (mul (ext DI rm) (ext DI rn)))
+ (set mach (subword SI result 0))
+ (set macl (subword SI result 1))))
+
+(dshci dmulul "Multiply long (unsigned)"
+ ()
+ "dmulu.l $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 5))
+ (sequence ((DI result))
+ (set result (mul (zext DI rm) (zext DI rn)))
+ (set mach (subword SI result 0))
+ (set macl (subword SI result 1))))
+
+(dshci dt "Decrement and set"
+ ()
+ "dt $rn"
+ (+ (f-op4 4) rn (f-sub8 16))
+ (sequence ()
+ (set rn (sub rn 1))
+ (set tbit (eq rn 0))))
+
+(dshci extsb "Sign extend byte"
+ ()
+ "exts.b $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 14))
+ (set rn (ext SI (subword QI rm 3))))
+
+(dshci extsw "Sign extend word"
+ ()
+ "exts.w $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 15))
+ (set rn (ext SI (subword HI rm 1))))
+
+(dshci extub "Zero extend byte"
+ ()
+ "extu.b $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 12))
+ (set rn (zext SI (subword QI rm 3))))
+
+(dshci extuw "Zero etxend word"
+ ()
+ "extu.w $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 13))
+ (set rn (zext SI (subword HI rm 1))))
+
+(dshci fabs "Floating point absolute"
+ (FP-INSN)
+ "fabs $fsdn"
+ (+ (f-op4 15) fsdn (f-sub8 #x5d))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fabsd" (dr fsdn)))
+ (set fsdn (c-call SF "sh64_fabss" fsdn))))
+
+(dshci fadd "Floating point add"
+ (FP-INSN)
+ "fadd $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 0))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_faddd" (dr fsdm) (dr fsdn)))
+ (set fsdn (c-call SF "sh64_fadds" fsdm fsdn))))
+
+(dshci fcmpeq "Floating point compare equal"
+ (FP-INSN)
+ "fcmp/eq $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 4))
+ (if prbit
+ (set tbit (c-call BI "sh64_fcmpeqd" (dr fsdm) (dr fsdn)))
+ (set tbit (c-call BI "sh64_fcmpeqs" fsdm fsdn))))
+
+(dshci fcmpgt "Floating point compare greater than"
+ (FP-INSN)
+ "fcmp/gt $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 5))
+ (if prbit
+ (set tbit (c-call BI "sh64_fcmpgtd" (dr fsdn) (dr fsdm)))
+ (set tbit (c-call BI "sh64_fcmpgts" fsdn fsdm))))
+
+(dshci fcnvds "Floating point convert (double to single)"
+ (FP-INSN)
+ "fcnvds $drn, fpul"
+ (+ (f-op4 15) drn (f-8-1 10) (f-sub8 #xbd))
+ (set fpul (c-call SF "sh64_fcnvds" drn)))
+
+(dshci fcnvsd "Floating point convert (single to double)"
+ (FP-INSN)
+ "fcnvsd fpul, $drn"
+ (+ (f-op4 15) drn (f-8-1 0) (f-sub8 #xad))
+ (set drn (c-call DF "sh64_fcnvsd" fpul)))
+
+(dshci fdiv "Floating point divide"
+ (FP-INSN)
+ "fdiv $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 3))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fdivd" (dr fsdn) (dr fsdm)))
+ (set fsdn (c-call SF "sh64_fdivs" fsdn fsdm))))
+
+(dshci fipr "Floating point inner product"
+ (FP-INSN)
+ "fipr $fvm, $fvn"
+ (+ (f-op4 15) fvn fvm (f-sub8 #xed))
+ (sequence ((QI m) (QI n) (SF res))
+ (set m (index-of fvm))
+ (set n (index-of fvn))
+ (set res (c-call SF "sh64_fmuls" fvm fvn))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-frc (add m 1)) (reg h-frc (add n 1)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-frc (add m 2)) (reg h-frc (add n 2)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-frc (add m 3)) (reg h-frc (add n 3)))))
+ (set (reg h-frc (add n 3)) res)))
+
+(dshci flds "Floating point load status register"
+ (FP-INSN)
+ "flds $frn"
+ (+ (f-op4 15) frn (f-sub8 #x1d))
+ (set fpul frn))
+
+(dshci fldi0 "Floating point load immediate 0.0"
+ (FP-INSN)
+ "fldi0 $frn"
+ (+ (f-op4 15) frn (f-sub8 #x8d))
+ (set frn (c-call SF "sh64_fldi0")))
+
+(dshci fldi1 "Floating point load immediate 1.0"
+ (FP-INSN)
+ "fldi1 $frn"
+ (+ (f-op4 15) frn (f-sub8 #x9d))
+ (set frn (c-call SF "sh64_fldi1")))
+
+(dshci float "Floating point integer conversion"
+ (FP-INSN)
+ "float fpul, $fsdn"
+ (+ (f-op4 15) fsdn (f-sub8 #x2d))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_floatld" fpul))
+ (set fsdn (c-call SF "sh64_floatls" fpul))))
+
+(dshci fmac "Floating point multiply and accumulate"
+ (FP-INSN)
+ "fmac fr0, $frm, $frn"
+ (+ (f-op4 15) frn frm (f-sub4 14))
+ (set frn (c-call SF "sh64_fmacs" (reg h-frc 0) frm frn)))
+
+(define-pmacro (even x) (eq (and x 1) 0))
+(define-pmacro (odd x) (eq (and x 1) 1))
+(define-pmacro (extd x) (odd (index-of x)))
+
+(dshci fmov1 "Floating point move (register to register)"
+ (FP-INSN)
+ "fmov $frm, $frn"
+ (+ (f-op4 15) frn frm (f-sub4 12))
+ (if (not szbit)
+ ; single precision operation
+ (set frn frm)
+ ; double or extended operation
+ (if (extd frm)
+ (if (extd frn)
+ (set (xd frn) (xd frm))
+ (set (dr frn) (xd frm)))
+ (if (extd frn)
+ (set (xd frn) (dr frm))
+ (set (dr frn) (dr frm))))))
+
+(dshci fmov2 "Floating point load"
+ (FP-INSN)
+ "fmov @$rm, $frn"
+ (+ (f-op4 15) frn rm (f-sub4 8))
+ (if (not szbit)
+ ; single precision operation
+ (set frn (mem SF rm))
+ ; double or extended operation
+ (if (extd frn)
+ (set (xd frn) (mem DF rm))
+ (set (dr frn) (mem DF rm)))))
+
+(dshci fmov3 "Floating point load (post-increment)"
+ (FP-INSN)
+ "fmov @${rm}+, frn"
+ (+ (f-op4 15) frn rm (f-sub4 9))
+ (if (not szbit)
+ ; single precision operation
+ (sequence ()
+ (set frn (mem SF rm))
+ (set rm (add rm 4)))
+ ; double or extended operation
+ (sequence ()
+ (if (extd frn)
+ (set (xd frn) (mem DF rm))
+ (set (dr frn) (mem DF rm)))
+ (set rm (add rm 8)))))
+
+(dshci fmov4 "Floating point load (register/register indirect)"
+ (FP-INSN)
+ "fmov @(r0, $rm), $frn"
+ (+ (f-op4 15) frn rm (f-sub4 6))
+ (if (not szbit)
+ ; single precision operation
+ (set frn (mem SF (add r0 rm)))
+ ; double or extended operation
+ (if (extd frn)
+ (set (xd frn) (mem DF (add r0 rm)))
+ (set (dr frn) (mem DF (add r0 rm))))))
+
+(dshci fmov5 "Floating point store"
+ (FP-INSN)
+ "fmov $frm, @$rn"
+ (+ (f-op4 15) rn frm (f-sub4 10))
+ (if (not szbit)
+ ; single precision operation
+ (set (mem SF rn) frm)
+ ; double or extended operation
+ (if (extd frm)
+ (set (mem DF rn) (xd frm))
+ (set (mem DF rn) (dr frm)))))
+
+(dshci fmov6 "Floating point store (pre-decrement)"
+ (FP-INSN)
+ "fmov $frm, @-$rn"
+ (+ (f-op4 15) rn frm (f-sub4 11))
+ (if (not szbit)
+ ; single precision operation
+ (sequence ()
+ (set rn (sub rn 4))
+ (set (mem SF rn) frm))
+ ; double or extended operation
+ (sequence ()
+ (set rn (sub rn 8))
+ (if (extd frm)
+ (set (mem DF rn) (xd frm))
+ (set (mem DF rn) (dr frm))))))
+
+(dshci fmov7 "Floating point store (register/register indirect)"
+ (FP-INSN)
+ "fmov $frm, @(r0, $rn)"
+ (+ (f-op4 15) rn frm (f-sub4 7))
+ (if (not szbit)
+ ; single precision operation
+ (set (mem SF (add r0 rn)) frm)
+ ; double or extended operation
+ (if (extd frm)
+ (set (mem DF (add r0 rn)) (xd frm))
+ (set (mem DF (add r0 rn)) (dr frm)))))
+
+(dshci fmul "Floating point multiply"
+ (FP-INSN)
+ "fmul $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 2))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fmuld" (dr fsdm) (dr fsdn)))
+ (set fsdn (c-call SF "sh64_fmuls" fsdm fsdn))))
+
+(dshci fneg "Floating point negate"
+ (FP-INSN)
+ "fneg $fsdn"
+ (+ (f-op4 15) fsdn (f-sub8 #x4d))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fnegd" (dr fsdn)))
+ (set fsdn (c-call SF "sh64_fnegs" fsdn))))
+
+(dshci frchg "Toggle floating point register banks"
+ (FP-INSN)
+ "frchg"
+ (+ (f-op16 #xfbfd))
+ (set frbit (not frbit)))
+
+(dshci fschg "Set size of floating point transfers"
+ (FP-INSN)
+ "fschg"
+ (+ (f-op16 #xf3fd))
+ (set szbit (not szbit)))
+
+(dshci fsqrt "Floating point square root"
+ (FP-INSN)
+ "fsqrt $fsdn"
+ (+ (f-op4 15) fsdn (f-sub8 #x6d))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fsqrtd" (dr fsdn)))
+ (set fsdn (c-call SF "sh64_fsqrts" fsdn))))
+
+(dshci fsts "Floating point store status register"
+ (FP-INSN)
+ "fsts fpul, $frn"
+ (+ (f-op4 15) frn (f-sub8 13))
+ (set frn fpul))
+
+(dshci fsub "Floating point subtract"
+ (FP-INSN)
+ "fsub $fsdm, $fsdn"
+ (+ (f-op4 15) fsdn fsdm (f-sub4 1))
+ (if prbit
+ (set (dr fsdn) (c-call DF "sh64_fsubd" (dr fsdn) (dr fsdm)))
+ (set fsdn (c-call SF "sh64_fsubs" fsdn fsdm))))
+
+(dshci ftrc "Floating point truncate"
+ (FP-INSN)
+ "ftrc $fsdn, fpul"
+ (+ (f-op4 15) fsdn (f-sub8 #x3d))
+ (set fpul (if SF prbit
+ (c-call SF "sh64_ftrcdl" (dr fsdn))
+ (c-call SF "sh64_ftrcsl" fsdn))))
+
+(dshci ftrv "Floating point transform vector"
+ (FP-INSN)
+ "ftrv xmtrx, $fvn"
+ (+ (f-op4 15) fvn (f-sub10 #x1fd))
+ (sequence ((QI n) (SF res))
+ (set n (index-of fvn))
+ (set res (c-call SF "sh64_fmuls" (reg h-xf 0) (reg h-frc n)))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 4) (reg h-frc (add n 1)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 8) (reg h-frc (add n 2)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 12) (reg h-frc (add n 3)))))
+ (set (reg h-frc n) res)
+ (set res (c-call SF "sh64_fmuls" (reg h-xf 1) (reg h-frc n)))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 5) (reg h-frc (add n 1)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 9) (reg h-frc (add n 2)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 13) (reg h-frc (add n 3)))))
+ (set (reg h-frc (add n 1)) res)
+ (set res (c-call SF "sh64_fmuls" (reg h-xf 2) (reg h-frc n)))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 6) (reg h-frc (add n 1)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 10) (reg h-frc (add n 2)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 14) (reg h-frc (add n 3)))))
+ (set (reg h-frc (add n 2)) res)
+ (set res (c-call SF "sh64_fmuls" (reg h-xf 3) (reg h-frc n)))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 7) (reg h-frc (add n 1)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 11) (reg h-frc (add n 2)))))
+ (set res (c-call SF "sh64_fadds" res (c-call SF "sh64_fmuls" (reg h-xf 15) (reg h-frc (add n 3)))))
+ (set (reg h-frc (add n 3)) res)))
+
+(dshci jmp "Jump"
+ ()
+ "jmp @$rn"
+ (+ (f-op4 4) rn (f-sub8 43))
+ (delay 1 (set pc rn)))
+
+(dshci jsr "Jump to subroutine"
+ ()
+ "jsr @$rn"
+ (+ (f-op4 4) rn (f-sub8 11))
+ (delay 1 (sequence ()
+ (set pr (add pc 4))
+ (set pc rn))))
+
+(dshci ldc "Load control register (GBR)"
+ ()
+ "ldc $rn, gbr"
+ (+ (f-op4 4) rn (f-sub8 30))
+ (set gbr rn))
+
+(dshci ldcl "Load control register (GBR)"
+ ()
+ "ldc.l @${rn}+, gbr"
+ (+ (f-op4 4) rn (f-sub8 39))
+ (sequence ()
+ (set gbr (mem SI rn))
+ (set rn (add rn 4))))
+
+(dshci lds-fpscr "Load status register (FPSCR)"
+ ()
+ "lds $rn, fpscr"
+ (+ (f-op4 4) rn (f-sub8 106))
+ (set fpscr rn))
+
+(dshci ldsl-fpscr "Load status register (FPSCR)"
+ ()
+ "lds.l @${rn}+, fpscr"
+ (+ (f-op4 4) rn (f-sub8 102))
+ (sequence ()
+ (set fpscr (mem SI rn))
+ (set rn (add rn 4))))
+
+(dshci lds-fpul "Load status register (FPUL)"
+ ()
+ "lds $rn, fpul"
+ (+ (f-op4 4) rn (f-sub8 90))
+ ; Use subword to convert rn's mode.
+ (set fpul (subword SF rn 0)))
+
+(dshci ldsl-fpul "Load status register (FPUL)"
+ ()
+ "lds.l @${rn}+, fpul"
+ (+ (f-op4 4) rn (f-sub8 86))
+ (sequence ()
+ (set fpul (mem SF rn))
+ (set rn (add rn 4))))
+
+(dshci lds-mach "Load status register (MACH)"
+ ()
+ "lds $rn, mach"
+ (+ (f-op4 4) rn (f-sub8 10))
+ (set mach rn))
+
+(dshci ldsl-mach "Load status register (MACH), post-increment"
+ ()
+ "lds.l @${rn}+, mach"
+ (+ (f-op4 4) rn (f-sub8 6))
+ (sequence ()
+ (set mach (mem SI rn))
+ (set rn (add rn 4))))
+
+(dshci lds-macl "Load status register (MACL)"
+ ()
+ "lds $rn, macl"
+ (+ (f-op4 4) rn (f-sub8 26))
+ (set macl rn))
+
+(dshci ldsl-macl "Load status register (MACL), post-increment"
+ ()
+ "lds.l @${rn}+, macl"
+ (+ (f-op4 4) rn (f-sub8 22))
+ (sequence ()
+ (set macl (mem SI rn))
+ (set rn (add rn 4))))
+
+(dshci lds-pr "Load status register (PR)"
+ ()
+ "lds $rn, pr"
+ (+ (f-op4 4) rn (f-sub8 42))
+ (set pr rn))
+
+(dshci ldsl-pr "Load status register (PR), post-increment"
+ ()
+ "lds.l @${rn}+, pr"
+ (+ (f-op4 4) rn (f-sub8 38))
+ (sequence ()
+ (set pr (mem SI rn))
+ (set rn (add rn 4))))
+
+(dshci macl "Multiply and accumulate (long)"
+ ()
+ "mac.l @${rm}+, @${rn}+"
+ (+ (f-op4 0) rn rm (f-sub4 15))
+ (sequence ((DI tmpry) (DI mac) (DI result) (SI x) (SI y))
+ (set x (mem SI rn))
+ (set rn (add rn 4))
+ (if (eq (index-of rn) (index-of rm))
+ (sequence ()
+ (set rn (add rn 4))
+ (set rm (add rm 4))))
+ (set y (mem SI rm))
+ (set rm (add rm 4))
+ (set tmpry (mul (zext DI x) (zext DI y)))
+ (set mac (or DI (sll (zext DI mach) 32) (zext DI macl)))
+ (set result (add mac tmpry))
+ (sequence ()
+ (if sbit
+ (sequence ((SI min) (SI max))
+ (set max (srl (inv DI 0) 16))
+ ; Preserve bit 48 for sign.
+ (set min (srl (inv DI 0) 15))
+ (if (gt result max)
+ (set result max)
+ (if (lt result min)
+ (set result min)))))
+ (set mach (subword SI result 0))
+ (set macl (subword SI result 1)))))
+
+(dshci macw "Multiply and accumulate (word)"
+ ()
+ "mac.w @${rm}+, @${rn}+"
+ (+ (f-op4 4) rn rm (f-sub4 15))
+ (sequence ((SI tmpry) (DI mac) (DI result) (HI x) (HI y))
+ (set x (mem HI rn))
+ (set rn (add rn 2))
+ (if (eq (index-of rn) (index-of rm))
+ (sequence ()
+ (set rn (add rn 2))
+ (set rm (add rm 2))))
+ (set y (mem HI rm))
+ (set rm (add rm 2))
+ (set tmpry (mul (zext SI x) (zext SI y)))
+ (if sbit
+ (sequence ()
+ (if (add-oflag tmpry macl 0)
+ (set mach 1))
+ (set macl (add tmpry macl)))
+ (sequence ()
+ (set mac (or DI (sll (zext DI mach) 32) (zext DI macl)))
+ (set result (add mac (ext DI tmpry)))
+ (set mach (subword SI result 0))
+ (set macl (subword SI result 1))))))
+
+(dshci mov "Move"
+ ()
+ "mov $rm64, $rn64"
+ (+ (f-op4 6) rn64 rm64 (f-sub4 3))
+ (set rn64 rm64))
+
+(dshci movi "Move immediate"
+ ()
+ "mov #$imm8, $rn"
+ (+ (f-op4 14) rn imm8)
+ (set rn (ext DI (and QI imm8 255))))
+
+(dshci movb1 "Store byte to memory (register indirect w/ zero displacement)"
+ ()
+ "mov.b $rm, @$rn"
+ (+ (f-op4 2) rn rm (f-sub4 0))
+ (set (mem UQI rn) (subword UQI rm 3)))
+
+(dshci movb2 "Store byte to memory (register indirect w/ pre-decrement)"
+ ()
+ "mov.b $rm, @-$rn"
+ (+ (f-op4 2) rn rm (f-sub4 4))
+ (sequence ((DI addr))
+ (set addr (sub rn 1))
+ (set (mem UQI addr) (subword UQI rm 3))
+ (set rn addr)))
+
+(dshci movb3 "Store byte to memory (register/register indirect)"
+ ()
+ "mov.b $rm, @(r0,$rn)"
+ (+ (f-op4 0) rn rm (f-sub4 4))
+ (set (mem UQI (add r0 rn)) (subword UQI rm 3)))
+
+(dshci movb4 "Store byte to memory (GBR-relative w/ displacement)"
+ ()
+ "mov.b r0, @($imm8, gbr)"
+ (+ (f-op8 #xc0) imm8)
+ (sequence ((DI addr))
+ (set addr (add gbr imm8))
+ (set (mem UQI addr) (subword UQI r0 3))))
+
+(dshci movb5 "Store byte to memory (register indirect w/ displacement)"
+ ()
+ "mov.b r0, @($imm4, $rm)"
+ (+ (f-op8 #x80) rm imm4)
+ (sequence ((DI addr))
+ (set addr (add rm imm4))
+ (set (mem UQI addr) (subword UQI r0 3))))
+
+(dshci movb6 "Load byte from memory (register indirect w/ zero displacement)"
+ ()
+ "mov.b @$rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 0))
+ (set rn (ext SI (mem QI rm))))
+
+(dshci movb7 "Load byte from memory (register indirect w/ post-increment)"
+ ()
+ "mov.b @${rm}+, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 4))
+ (sequence ((QI data))
+ (set data (mem QI rm))
+ (if (eq (index-of rm) (index-of rn))
+ (set rm (ext SI data))
+ (set rm (add rm 1)))
+ (set rn (ext SI data))))
+
+(dshci movb8 "Load byte from memory (register/register indirect)"
+ ()
+ "mov.b @(r0, $rm), $rn"
+ (+ (f-op4 0) rn rm (f-sub4 12))
+ (set rn (ext SI (mem QI (add r0 rm)))))
+
+(dshci movb9 "Load byte from memory (GBR-relative with displacement)"
+ ()
+ "mov.b @($imm8, gbr), r0"
+ (+ (f-op8 #xc4) imm8)
+ (set r0 (ext SI (mem QI (add gbr imm8)))))
+
+(dshci movb10 "Load byte from memory (register indirect w/ displacement)"
+ ()
+ "mov.b @($imm4, $rm), r0"
+ (+ (f-op8 #x84) rm imm4)
+ (set r0 (ext SI (mem QI (add rm imm4)))))
+
+(dshci movl1 "Store long word to memory (register indirect w/ zero displacement)"
+ ()
+ "mov.l $rm, @$rn"
+ (+ (f-op4 2) rn rm (f-sub4 2))
+ (set (mem SI rn) rm))
+
+(dshci movl2 "Store long word to memory (register indirect w/ pre-decrement)"
+ ()
+ "mov.l $rm, @-$rn"
+ (+ (f-op4 2) rn rm (f-sub4 6))
+ (sequence ((SI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) rm)
+ (set rn addr)))
+
+(dshci movl3 "Store long word to memory (register/register indirect)"
+ ()
+ "mov.l $rm, @(r0, $rn)"
+ (+ (f-op4 0) rn rm (f-sub4 6))
+ (set (mem SI (add r0 rn)) rm))
+
+(dshci movl4 "Store long word to memory (GBR-relative w/ displacement)"
+ ()
+ "mov.l r0, @($imm8x4, gbr)"
+ (+ (f-op8 #xc2) imm8x4)
+ (set (mem SI (add gbr imm8x4)) r0))
+
+(dshci movl5 "Store long word to memory (register indirect w/ displacement)"
+ ()
+ "mov.l $rm, @($imm4x4, $rn)"
+ (+ (f-op4 1) rn rm imm4x4)
+ (set (mem SI (add rn imm4x4)) rm))
+
+(dshci movl6 "Load long word to memory (register indirect w/ zero displacement)"
+ ()
+ "mov.l @$rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 2))
+ (set rn (mem SI rm)))
+
+(dshci movl7 "Load long word from memory (register indirect w/ post-increment)"
+ ()
+ "mov.l @${rm}+, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 6))
+ (sequence ()
+ (set rn (mem SI rm))
+ (if (eq (index-of rm) (index-of rn))
+ (set rm rn)
+ (set rm (add rm 4)))))
+
+(dshci movl8 "Load long word from memory (register/register indirect)"
+ ()
+ "mov.l @(r0, $rm), $rn"
+ (+ (f-op4 0) rn rm (f-sub4 14))
+ (set rn (mem SI (add r0 rm))))
+
+(dshci movl9 "Load long word from memory (GBR-relative w/ displacement)"
+ ()
+ "mov.l @($imm8x4, gbr), r0"
+ (+ (f-op8 #xc6) imm8x4)
+ (set r0 (mem SI (add gbr imm8x4))))
+
+(dshci movl10 "Load long word from memory (PC-relative w/ displacement)"
+ (ILLSLOT)
+ "mov.l @($imm8x4, pc), $rn"
+ (+ (f-op4 13) rn imm8x4)
+ (set rn (mem SI (add imm8x4 (and (add pc 4) (inv 3))))))
+
+(dshci movl11 "Load long word from memory (register indirect w/ displacement)"
+ ()
+ "mov.l @($imm4x4, $rm), $rn"
+ (+ (f-op4 5) rn rm imm4x4)
+ (set rn (mem SI (add rm imm4x4))))
+
+(dshci movw1 "Store word to memory (register indirect w/ zero displacement)"
+ ()
+ "mov.w $rm, @$rn"
+ (+ (f-op4 2) rn rm (f-sub4 1))
+ (set (mem HI rn) (subword HI rm 1)))
+
+(dshci movw2 "Store word to memory (register indirect w/ pre-decrement)"
+ ()
+ "mov.w $rm, @-$rn"
+ (+ (f-op4 2) rn rm (f-sub4 5))
+ (sequence ((DI addr))
+ (set addr (sub rn 2))
+ (set (mem HI addr) (subword HI rm 1))
+ (set rn addr)))
+
+(dshci movw3 "Store word to memory (register/register indirect)"
+ ()
+ "mov.w $rm, @(r0, $rn)"
+ (+ (f-op4 0) rn rm (f-sub4 5))
+ (set (mem HI (add r0 rn)) (subword HI rm 1)))
+
+(dshci movw4 "Store word to memory (GBR-relative w/ displacement)"
+ ()
+ "mov.w r0, @($imm8x2, gbr)"
+ (+ (f-op8 #xc1) imm8x2)
+ (set (mem HI (add gbr imm8x2)) (subword HI r0 1)))
+
+(dshci movw5 "Store word to memory (register indirect w/ displacement)"
+ ()
+ "mov.w r0, @($imm4x2, $rn)"
+ (+ (f-op8 #x81) rn imm4x2)
+ (set (mem HI (add rn imm4x2)) (subword HI r0 1)))
+
+(dshci movw6 "Load word from memory (register indirect w/ zero displacement)"
+ ()
+ "mov.w @$rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 1))
+ (set rn (ext SI (mem HI rm))))
+
+(dshci movw7 "Load word from memory (register indirect w/ post-increment)"
+ ()
+ "mov.w @${rm}+, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 5))
+ (sequence ((HI data))
+ (set data (mem HI rm))
+ (if (eq (index-of rm) (index-of rn))
+ (set rm (ext SI data))
+ (set rm (add rm 2)))
+ (set rn (ext SI data))))
+
+(dshci movw8 "Load word from memory (register/register indirect)"
+ ()
+ "mov.w @(r0, $rm), $rn"
+ (+ (f-op4 0) rn rm (f-sub4 13))
+ (set rn (ext SI (mem HI (add r0 rm)))))
+
+(dshci movw9 "Load word from memory (GBR-relative w/ displacement)"
+ ()
+ "mov.w @($imm8x2, gbr), r0"
+ (+ (f-op8 #xc5) imm8x2)
+ (set r0 (ext SI (mem HI (add gbr imm8x2)))))
+
+(dshci movw10 "Load word from memory (PC-relative w/ displacement)"
+ (ILLSLOT)
+ "mov.w @($imm8x2, pc), $rn"
+ (+ (f-op4 9) rn imm8x2)
+ (set rn (ext SI (mem HI (add (add pc 4) imm8x2)))))
+
+(dshci movw11 "Load word from memory (register indirect w/ displacement)"
+ ()
+ "mov.w @($imm4x2, $rm), r0"
+ (+ (f-op8 #x85) rm imm4x2)
+ (set r0 (ext SI (mem HI (add rm imm4x2)))))
+
+(dshci mova "Move effective address"
+ (ILLSLOT)
+ "mova @($imm8x4, pc), r0"
+ (+ (f-op8 #xc7) imm8x4)
+ (set r0 (add (and (add pc 4) (inv 3)) imm8x4)))
+
+(dshci movcal "Move with cache block allocation"
+ ()
+ "movca.l r0, @$rn"
+ (+ (f-op4 0) rn (f-sub8 #xc3))
+ (set (mem SI rn) r0))
+
+(dshci movt "Move t-bit"
+ ()
+ "movt $rn"
+ (+ (f-op4 0) rn (f-sub8 41))
+ (set rn (zext SI tbit)))
+
+(dshci mull "Multiply"
+ ()
+ "mul.l $rm, $rn"
+ (+ (f-op4 0) rn rm (f-sub4 7))
+ (set macl (mul rm rn)))
+
+(dshci mulsw "Multiply words (signed)"
+ ()
+ "muls.w $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 15))
+ (set macl (mul (ext SI (subword HI rm 1)) (ext SI (subword HI rn 1)))))
+
+(dshci muluw "Multiply words (unsigned)"
+ ()
+ "mulu.w $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 14))
+ (set macl (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1)))))
+
+(dshci neg "Negate"
+ ()
+ "neg $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 11))
+ (set rn (neg rm)))
+
+(dshci negc "Negate with carry"
+ ()
+ "negc $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 10))
+ (sequence ((BI flag))
+ (set flag (sub-cflag 0 rm tbit))
+ (set rn (subc 0 rm tbit))
+ (set tbit flag)))
+
+(dshci nop "No operation"
+ ()
+ "nop"
+ (+ (f-op16 9))
+ (nop))
+
+(dshci not "Bitwise NOT"
+ ()
+ "not $rm64, $rn64"
+ (+ (f-op4 6) rn64 rm64 (f-sub4 7))
+ (set rn64 (inv rm64)))
+
+(dshci ocbi "Invalidate operand cache block"
+ ()
+ "ocbi @$rn"
+ (+ (f-op4 0) rn (f-sub8 147))
+ (unimp "ocbi"))
+
+(dshci ocbp "Purge operand cache block"
+ ()
+ "ocbp @$rn"
+ (+ (f-op4 0) rn (f-sub8 163))
+ (unimp "ocbp"))
+
+(dshci ocbwb "Write back operand cache block"
+ ()
+ "ocbwb @$rn"
+ (+ (f-op4 0) rn (f-sub8 179))
+ (unimp "ocbwb"))
+
+(dshci or "Bitwise OR"
+ ()
+ "or $rm64, $rn64"
+ (+ (f-op4 2) rn64 rm64 (f-sub4 11))
+ (set rn64 (or rm64 rn64)))
+
+(dshci ori "Bitwise OR immediate"
+ ()
+ "or #$uimm8, r0"
+ (+ (f-op8 #xcb) uimm8)
+ (set r0 (or r0 (zext DI uimm8))))
+
+(dshci orb "Bitwise OR immediate"
+ ()
+ "or.b #$imm8, @(r0, gbr)"
+ (+ (f-op8 #xcf) imm8)
+ (sequence ((DI addr) (UQI data))
+ (set addr (add r0 gbr))
+ (set data (or (mem UQI addr) imm8))
+ (set (mem UQI addr) data)))
+
+(dshci pref "Prefetch data"
+ ()
+ "pref @$rn"
+ (+ (f-op4 0) rn (f-sub8 131))
+ (unimp "pref"))
+
+(dshci rotcl "Rotate with carry left"
+ ()
+ "rotcl $rn"
+ (+ (f-op4 4) rn (f-sub8 36))
+ (sequence ((BI temp))
+ (set temp (srl rn 31))
+ (set rn (or (sll rn 1) tbit))
+ (set tbit (if BI temp 1 0))))
+
+(dshci rotcr "Rotate with carry right"
+ ()
+ "rotcr $rn"
+ (+ (f-op4 4) rn (f-sub8 37))
+ (sequence ((BI lsbit) (SI temp))
+ (set lsbit (if BI (eq (and rn 1) 0) 0 1))
+ (set temp tbit)
+ (set rn (or (srl rn 1) (sll temp 31)))
+ (set tbit (if BI lsbit 1 0))))
+
+(dshci rotl "Rotate left"
+ ()
+ "rotl $rn"
+ (+ (f-op4 4) rn (f-sub8 4))
+ (sequence ((BI temp))
+ (set temp (srl rn 31))
+ (set rn (or (sll rn 1) temp))
+ (set tbit (if BI temp 1 0))))
+
+(dshci rotr "Rotate right"
+ ()
+ "rotr $rn"
+ (+ (f-op4 4) rn (f-sub8 5))
+ (sequence ((BI lsbit) (SI temp))
+ (set lsbit (if BI (eq (and rn 1) 0) 0 1))
+ (set temp lsbit)
+ (set rn (or (srl rn 1) (sll temp 31)))
+ (set tbit (if BI lsbit 1 0))))
+
+(dshci rts "Return from subroutine"
+ ()
+ "rts"
+ (+ (f-op16 11))
+ (delay 1 (set pc pr)))
+
+(dshci sets "Set S-bit"
+ ()
+ "sets"
+ (+ (f-op16 88))
+ (set sbit 1))
+
+(dshci sett "Set T-bit"
+ ()
+ "sett"
+ (+ (f-op16 24))
+ (set tbit 1))
+
+(dshci shad "Shift arithmetic dynamic"
+ ()
+ "shad $rm, $rn"
+ (+ (f-op4 4) rn rm (f-sub4 12))
+ (sequence ((QI shamt))
+ (set shamt (and QI rm 31))
+ (if (ge rm 0)
+ (set rn (sll rn shamt))
+ (if (ne shamt 0)
+ (set rn (sra rn (sub 32 shamt)))
+ (if (lt rn 0)
+ (set rn (neg 1))
+ (set rn 0))))))
+
+(dshci shal "Shift left arithmetic one bit"
+ ()
+ "shal $rn"
+ (+ (f-op4 4) rn (f-sub8 32))
+ (sequence ((BI t))
+ (set t (srl rn 31))
+ (set rn (sll rn 1))
+ (set tbit (if BI t 1 0))))
+
+(dshci shar "Shift right arithmetic one bit"
+ ()
+ "shar $rn"
+ (+ (f-op4 4) rn (f-sub8 33))
+ (sequence ((BI t))
+ (set t (and rn 1))
+ (set rn (sra rn 1))
+ (set tbit (if BI t 1 0))))
+
+(dshci shld "Shift logical dynamic"
+ ()
+ "shld $rm, $rn"
+ (+ (f-op4 4) rn rm (f-sub4 13))
+ (sequence ((QI shamt))
+ (set shamt (and QI rm 31))
+ (if (ge rm 0)
+ (set rn (sll rn shamt))
+ (if (ne shamt 0)
+ (set rn (srl rn (sub 32 shamt)))
+ (set rn 0)))))
+
+(dshci shll "Shift left logical one bit"
+ ()
+ "shll $rn"
+ (+ (f-op4 4) rn (f-sub8 0))
+ (sequence ((BI t))
+ (set t (srl rn 31))
+ (set rn (sll rn 1))
+ (set tbit (if BI t 1 0))))
+
+(dshci shll2 "Shift left logical two bits"
+ ()
+ "shll2 $rn"
+ (+ (f-op4 4) rn (f-sub8 8))
+ (set rn (sll rn 2)))
+
+(dshci shll8 "Shift left logical eight bits"
+ ()
+ "shll8 $rn"
+ (+ (f-op4 4) rn (f-sub8 24))
+ (set rn (sll rn 8)))
+
+(dshci shll16 "Shift left logical sixteen bits"
+ ()
+ "shll16 $rn"
+ (+ (f-op4 4) rn (f-sub8 40))
+ (set rn (sll rn 16)))
+
+(dshci shlr "Shift right logical one bit"
+ ()
+ "shlr $rn"
+ (+ (f-op4 4) rn (f-sub8 1))
+ (sequence ((BI t))
+ (set t (and rn 1))
+ (set rn (srl rn 1))
+ (set tbit (if BI t 1 0))))
+
+(dshci shlr2 "Shift right logical two bits"
+ ()
+ "shlr2 $rn"
+ (+ (f-op4 4) rn (f-sub8 9))
+ (set rn (srl rn 2)))
+
+(dshci shlr8 "Shift right logical eight bits"
+ ()
+ "shlr8 $rn"
+ (+ (f-op4 4) rn (f-sub8 25))
+ (set rn (srl rn 8)))
+
+(dshci shlr16 "Shift right logical sixteen bits"
+ ()
+ "shlr16 $rn"
+ (+ (f-op4 4) rn (f-sub8 41))
+ (set rn (srl rn 16)))
+
+(dshci stc-gbr "Store control register (GBR)"
+ ()
+ "stc gbr, $rn"
+ (+ (f-op4 0) rn (f-sub8 18))
+ (set rn gbr))
+
+(dshci stcl-gbr "Store control register (GBR)"
+ ()
+ "stc.l gbr, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 19))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) gbr)
+ (set rn addr)))
+
+(dshci sts-fpscr "Store status register (FPSCR)"
+ ()
+ "sts fpscr, $rn"
+ (+ (f-op4 0) rn (f-sub8 106))
+ (set rn fpscr))
+
+(dshci stsl-fpscr "Store status register (FPSCR)"
+ ()
+ "sts.l fpscr, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 98))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) fpscr)
+ (set rn addr)))
+
+(dshci sts-fpul "Store status register (FPUL)"
+ ()
+ "sts fpul, $rn"
+ (+ (f-op4 0) rn (f-sub8 90))
+ (set rn (subword SI fpul 0)))
+
+(dshci stsl-fpul "Store status register (FPUL)"
+ ()
+ "sts.l fpul, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 82))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SF addr) fpul)
+ (set rn addr)))
+
+(dshci sts-mach "Store status register (MACH)"
+ ()
+ "sts mach, $rn"
+ (+ (f-op4 0) rn (f-sub8 10))
+ (set rn mach))
+
+(dshci stsl-mach "Store status register (MACH)"
+ ()
+ "sts.l mach, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 2))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) mach)
+ (set rn addr)))
+
+(dshci sts-macl "Store status register (MACL)"
+ ()
+ "sts macl, $rn"
+ (+ (f-op4 0) rn (f-sub8 26))
+ (set rn macl))
+
+(dshci stsl-macl "Store status register (MACL)"
+ ()
+ "sts.l macl, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 18))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) macl)
+ (set rn addr)))
+
+(dshci sts-pr "Store status register (PR)"
+ ()
+ "sts pr, $rn"
+ (+ (f-op4 0) rn (f-sub8 42))
+ (set rn pr))
+
+(dshci stsl-pr "Store status register (PR)"
+ ()
+ "sts.l pr, @-$rn"
+ (+ (f-op4 4) rn (f-sub8 34))
+ (sequence ((DI addr))
+ (set addr (sub rn 4))
+ (set (mem SI addr) pr)
+ (set rn addr)))
+
+(dshci sub "Subtract"
+ ()
+ "sub $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 8))
+ (set rn (sub rn rm)))
+
+(dshci subc "Subtract and detect carry"
+ ()
+ "subc $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 10))
+ (sequence ((BI flag))
+ (set flag (sub-cflag rn rm tbit))
+ (set rn (subc rn rm tbit))
+ (set tbit flag)))
+
+(dshci subv "Subtract and detect overflow"
+ ()
+ "subv $rm, $rn"
+ (+ (f-op4 3) rn rm (f-sub4 11))
+ (sequence ((BI t))
+ (set t (sub-oflag rn rm 0))
+ (set rn (sub rn rm))
+ (set tbit (if BI t 1 0))))
+
+(dshci swapb "Swap bytes"
+ ()
+ "swap.b $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 8))
+ (sequence ((UHI top-half) (UQI byte1) (UQI byte0))
+ (set top-half (subword HI rm 0))
+ (set byte1 (subword QI rm 2))
+ (set byte0 (subword QI rm 3))
+ (set rn (or SI (sll SI top-half 16) (or SI (sll SI byte0 8) byte1)))))
+
+(dshci swapw "Swap words"
+ ()
+ "swap.w $rm, $rn"
+ (+ (f-op4 6) rn rm (f-sub4 9))
+ (set rn (or (srl rm 16) (sll rm 16))))
+
+(dshci tasb "Test and set byte"
+ ()
+ "tas.b @$rn"
+ (+ (f-op4 4) rn (f-sub8 27))
+ (sequence ((UQI byte))
+ (set byte (mem UQI rn))
+ (set tbit (if BI (eq byte 0) 1 0))
+ (set byte (or byte 128))
+ (set (mem UQI rn) byte)))
+
+(dshci trapa "Trap"
+ (ILLSLOT)
+ "trapa #$uimm8"
+ (+ (f-op8 #xc3) uimm8)
+ (c-call "sh64_compact_trapa" uimm8 pc))
+
+(dshci tst "Test and set t-bit"
+ ()
+ "tst $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 8))
+ (set tbit (if BI (eq (and rm rn) 0) 1 0)))
+
+(dshci tsti "Test and set t-bit immediate"
+ ()
+ "tst #$uimm8, r0"
+ (+ (f-op8 #xc8) uimm8)
+ (set tbit (if BI (eq (and r0 (zext SI uimm8)) 0) 1 0)))
+
+(dshci tstb "Test and set t-bit immedate with memory byte"
+ ()
+ "tst.b #$imm8, @(r0, gbr)"
+ (+ (f-op8 #xcc) imm8)
+ (sequence ((DI addr))
+ (set addr (add r0 gbr))
+ (set tbit (if BI (eq (and (mem UQI addr) imm8) 0) 1 0))))
+
+(dshci xor "Exclusive OR"
+ ()
+ "xor $rm64, $rn64"
+ (+ (f-op4 2) rn64 rm64 (f-sub4 10))
+ (set rn64 (xor rn64 rm64)))
+
+(dshci xori "Exclusive OR immediate"
+ ()
+ "xor #$uimm8, r0"
+ (+ (f-op8 #xca) uimm8)
+ (set (reg h-gr 0) (xor (reg h-gr 0) (zext DI uimm8))))
+
+(dshci xorb "Exclusive OR immediate with memory byte"
+ ()
+ "xor.b #$imm8, @(r0, gbr)"
+ (+ (f-op8 #xce) imm8)
+ (sequence ((DI addr) (UQI data))
+ (set addr (add r0 gbr))
+ (set data (xor (mem UQI addr) imm8))
+ (set (mem UQI addr) data)))
+
+(dshci xtrct "Extract"
+ ()
+ "xtrct $rm, $rn"
+ (+ (f-op4 2) rn rm (f-sub4 13))
+ (set rn (or (sll rm 16) (srl rn 16))))
diff --git a/cpu/sh64-media.cpu b/cpu/sh64-media.cpu
new file mode 100644
index 0000000..4e55e38
--- /dev/null
+++ b/cpu/sh64-media.cpu
@@ -0,0 +1,1732 @@
+; Hitachi SHmedia instruction set description. -*- Scheme -*-
+;
+; Copyright 2000, 2001 Free Software Foundation, Inc.
+;
+; Contributed by Red Hat Inc; developed under contract from Hitachi
+; Semiconductor (America) Inc.
+;
+; This file is part of the GNU Binutils.
+;
+; 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+; dshmf -- define-normal-sh-media-field
+
+(define-pmacro (dshmf xname xcomment ignored xstart xlength)
+ (dnf xname xcomment ((ISA media)) xstart xlength))
+
+; dshmop -- define-normal-sh-media-operand
+
+(define-pmacro (dshmop xname xcomment ignored xhardware xfield)
+ (dnop xname xcomment ((ISA media)) xhardware xfield))
+
+; dnshmi -- define-normal-sh-media-insn
+
+(define-pmacro (dshmi xname xcomment xattrs xsyntax xformat xsemantics)
+ (define-insn
+ (name xname)
+ (comment xcomment)
+ (.splice attrs (.unsplice xattrs) (ISA media))
+ (syntax xsyntax)
+ (format xformat)
+ (semantics xsemantics)))
+
+; Saturation functions.
+; Force a value `i' into words `n' bits wide.
+; See Hitachi SH-5 CPU core, volume 2, p. 25 for details.
+
+; saturate -- signed saturatation function
+
+(define-pmacro (saturate mode n i)
+ (if mode (lt i (neg mode (sll mode 1 (sub n 1))))
+ (neg (sll mode 1 (sub n 1)))
+ (if mode (lt i (sll mode 1 (sub n 1)))
+ i
+ (sub mode (sll mode 1 (sub n 1)) 1))))
+
+; usaturate -- unsigned saturation function
+
+(define-pmacro (usaturate mode n i)
+ (if mode (lt i (const mode 0))
+ (const mode 0)
+ (if mode (lt i (sll mode 1 n))
+ i
+ (sub mode (sll mode 1 n) 1))))
+
+
+; Ifields.
+
+(dshmf f-op "Opcode" () 31 6)
+(dshmf f-ext "Extension opcode" () 19 4)
+(dshmf f-rsvd "Reserved" (RESERVED) 3 4)
+
+(dshmf f-left "Left register" () 25 6)
+(dshmf f-right "Right register" () 15 6)
+(dshmf f-dest "Destination register" () 9 6)
+
+(define-multi-ifield
+ (name f-left-right)
+ (comment "Left and right matched register pair")
+ (attrs (ISA media))
+ (mode UINT)
+ (subfields f-left f-right)
+ (insert (sequence ()
+ (set (ifield f-left)
+ (and (ifield f-left-right) 63))
+ (set (ifield f-right)
+ (and (ifield f-left-right) 63))))
+ (extract (set (ifield f-left-right) (ifield f-left)))
+)
+
+(dshmf f-tra "Target register" () 6 3)
+(dshmf f-trb "Target register" () 22 3)
+(dshmf f-likely "Likely bit" () 9 1)
+(dshmf f-25 "Three unused bits at bit 25" () 25 3)
+(dshmf f-8-2 "Two unused bits at bit 8" () 8 2)
+
+(df f-imm6 "Immediate value (6 bits)" ((ISA media)) 15 6 INT #f #f)
+(df f-imm10 "Immediate value (10 bits)" ((ISA media)) 19 10 INT #f #f)
+(df f-imm16 "Immediate value (16 bits)" ((ISA media)) 25 16 INT #f #f)
+
+(dshmf f-uimm6 "Immediate value (6 bits)" () 15 6)
+(dshmf f-uimm16 "Immediate value (16 bits)" () 25 16)
+
+; Various displacement fields.
+; The 10 bit field, for example, has different scaling for displacements.
+
+(df f-disp6 "Displacement (6 bits)" ((ISA media)) 15 6 INT #f #f)
+
+(df f-disp6x32 "Displacement (6 bits)" ((ISA media)) 15 6 INT
+ ((value pc) (sra SI value 5))
+ ((value pc) (sll SI value 5)))
+
+(df f-disp10 "Displacement (10 bits)" ((ISA media)) 19 10 INT #f #f)
+
+(df f-disp10x8 "Displacement (10 bits)" ((ISA media)) 19 10 INT
+ ((value pc) (sra SI value 3))
+ ((value pc) (sll SI value 3)))
+
+(df f-disp10x4 "Displacement (10 bits)" ((ISA media)) 19 10 INT
+ ((value pc) (sra SI value 2))
+ ((value pc) (sll SI value 2)))
+
+(df f-disp10x2 "Displacement (10 bits)" ((ISA media)) 19 10 INT
+ ((value pc) (sra SI value 1))
+ ((value pc) (sll SI value 1)))
+
+(df f-disp16 "Displacement (16 bits)" ((ISA media) PCREL-ADDR) 25 16 INT
+ ((value pc) (sra DI value 2))
+ ((value pc) (add DI (sll DI value 2) pc)))
+
+
+; Operands.
+
+(dshmop rm "Left general purpose reg" () h-gr f-left)
+(dshmop rn "Right general purpose reg" () h-gr f-right)
+(dshmop rd "Destination general purpose reg" () h-gr f-dest)
+
+(dshmop frg "Left single precision register" () h-fr f-left)
+(dshmop frh "Right single precision register" () h-fr f-right)
+(dshmop frf "Destination single precision reg" () h-fr f-dest)
+(dshmop frgh "Single precision register pair" () h-fr f-left-right)
+
+(dshmop fpf "Pair of single precision registers" () h-fp f-dest)
+
+(dshmop fvg "Left single precision vector" () h-fv f-left)
+(dshmop fvh "Right single precision vector" () h-fv f-right)
+(dshmop fvf "Destination single precision vector" () h-fv f-dest)
+(dshmop mtrxg "Left single precision matrix" () h-fmtx f-left)
+
+(dshmop drg "Left double precision register" () h-dr f-left)
+(dshmop drh "Right double precision register" () h-dr f-right)
+(dshmop drf "Destination double precision reg" () h-dr f-dest)
+(dshmop drgh "Double precision register pair" () h-dr f-left-right)
+
+(dshmop fpscr "Floating point status register" () h-fpscr f-nil)
+(dshmop crj "Control register j" () h-cr f-dest)
+(dshmop crk "Control register k" () h-cr f-left)
+
+(dshmop tra "Target register a" () h-tr f-tra)
+(dshmop trb "Target register b" () h-tr f-trb)
+
+(dshmop disp6 "Displacement (6 bits)" () h-sint f-disp6)
+(dshmop disp6x32 "Displacement (6 bits, scale 32)" () h-sint f-disp6x32)
+(dshmop disp10 "Displacement (10 bits)" () h-sint f-disp10)
+(dshmop disp10x2 "Displacement (10 bits, scale 2)" () h-sint f-disp10x2)
+(dshmop disp10x4 "Displacement (10 bits, scale 4)" () h-sint f-disp10x4)
+(dshmop disp10x8 "Displacement (10 bits, scale 8)" () h-sint f-disp10x8)
+(dshmop disp16 "Displacement (16 bits)" () h-sint f-disp16)
+
+(dshmop imm6 "Immediate (6 bits)" () h-sint f-imm6)
+(dshmop imm10 "Immediate (10 bits)" () h-sint f-imm10)
+(dshmop imm16 "Immediate (16 bits)" () h-sint f-imm16)
+(dshmop uimm6 "Immediate (6 bits)" () h-uint f-uimm6)
+(dshmop uimm16 "Unsigned immediate (16 bits)" () h-uint f-uimm16)
+
+; FIXME: provide these parse/print functions in `sh-media.opc'.
+
+(define-operand (name likely) (comment "Likely branch?") (attrs (ISA media))
+ (type h-uint) (index f-likely) (handlers (parse "likely") (print "likely")))
+
+
+; Instructions.
+
+(dshmi add "Add"
+ ()
+ "add $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 9) rn rd (f-rsvd 0))
+ (set rd (add rm rn)))
+
+(dshmi addl "Add long"
+ ()
+ "add.l $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 8) rn rd (f-rsvd 0))
+ (set rd (add (subword SI rm 1) (subword SI rn 1))))
+
+(dshmi addi "Add immediate"
+ ()
+ "addi $rm, $disp10, $rd"
+ (+ (f-op 52) rm disp10 rd (f-rsvd 0))
+ (set rd (add rm (ext DI disp10))))
+
+(dshmi addil "Add immediate long"
+ ()
+ "addi.l $rm, $disp10, $rd"
+ (+ (f-op 53) rm disp10 rd (f-rsvd 0))
+ (set rd (ext DI (add (ext SI disp10) (subword SI rm 1)))))
+
+(dshmi addzl "Add zero extended long"
+ ()
+ "addz.l $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 12) rn rd (f-rsvd 0))
+ (set rd (zext DI (add (subword SI rm 1) (subword SI rn 1)))))
+
+(dshmi alloco "Allocate operand cache block"
+ ()
+ "alloco $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 4) disp6x32 (f-dest 63) (f-rsvd 0))
+ (unimp "alloco"))
+
+(dshmi and "AND"
+ ()
+ "and $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 11) rn rd (f-rsvd 0))
+ (set rd (and rm rn)))
+
+(dshmi andc "AND complement"
+ ()
+ "andc $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 15) rn rd (f-rsvd 0))
+ (set rd (and rm (inv rn))))
+
+(dshmi andi "AND immediate"
+ ()
+ "andi $rm, $disp10, $rd"
+ (+ (f-op 54) rm disp10 rd (f-rsvd 0))
+ (set rd (and rm (ext DI disp10))))
+
+(dshmi beq "Branch if equal"
+ ()
+ "beq$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 1) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (eq rm rn)
+ (set pc tra)))
+
+(dshmi beqi "Branch if equal immediate"
+ ()
+ "beqi$likely $rm, $imm6, $tra"
+ (+ (f-op 57) rm (f-ext 1) imm6 likely (f-8-2 0) tra (f-rsvd 0))
+ (if (eq rm (ext DI imm6))
+ (set pc tra)))
+
+(dshmi bge "Branch if greater than or equal"
+ ()
+ "bge$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 3) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (ge rm rn)
+ (set pc tra)))
+
+(dshmi bgeu "Branch if greater than or equal (unsigned comparison)"
+ ()
+ "bgeu$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 11) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (geu rm rn)
+ (set pc tra)))
+
+(dshmi bgt "Branch greater than"
+ ()
+ "bgt$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 7) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (gt rm rn)
+ (set pc tra)))
+
+(dshmi bgtu "Branch greater than (unsigned comparison)"
+ ()
+ "bgtu$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 15) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (gtu rm rn)
+ (set pc tra)))
+
+(dshmi blink "Branch and link"
+ ()
+ "blink $trb, $rd"
+ (+ (f-op 17) (f-25 0) trb (f-ext 1) (f-right 63) rd (f-rsvd 0))
+ (sequence ()
+ (set rd (or (add pc 4) 1))
+ (set pc trb)))
+
+(dshmi bne "Branch if not equal"
+ ()
+ "bne$likely $rm, $rn, $tra"
+ (+ (f-op 25) rm (f-ext 5) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (ne rm rn)
+ (set pc tra)))
+
+(dshmi bnei "Branch if not equal immediate"
+ ()
+ "bnei$likely $rm, $imm6, $tra"
+ (+ (f-op 57) rm (f-ext 5) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (if (ne rm (ext DI imm6))
+ (set pc tra)))
+
+(dshmi brk "Breakpoint instruction"
+ ()
+ "brk"
+ (+ (f-op 27) (f-left 63) (f-ext 5) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (c-call "sh64_break" pc))
+
+(define-pmacro (-byterev-step)
+ (sequence ()
+ (set result (or (sll result 8) (and source 255)))
+ (set source (srl source 8)))
+)
+
+(dshmi byterev "Byte reverse"
+ ()
+ "byterev $rm, $rd"
+ (+ (f-op 0) rm (f-ext 15) (f-right 63) rd (f-rsvd 0))
+ (sequence ((DI source) (DI result))
+ (set source rm)
+ (set result 0)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (-byterev-step)
+ (set rd result)))
+
+(dshmi cmpeq "Compare equal"
+ ()
+ "cmpeq $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 1) rn rd (f-rsvd 0))
+ (set rd (if DI (eq rm rn) 1 0)))
+
+(dshmi cmpgt "Compare greater than"
+ ()
+ "cmpgt $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 3) rn rd (f-rsvd 0))
+ (set rd (if DI (gt rm rn) 1 0)))
+
+(dshmi cmpgtu "Compare greater than (unsigned comparison)"
+ ()
+ "cmpgtu $rm,$rn, $rd"
+ (+ (f-op 0) rm (f-ext 7) rn rd (f-rsvd 0))
+ (set rd (if DI (gtu rm rn) 1 0)))
+
+(dshmi cmveq "Conditional move if equal to zero"
+ ()
+ "cmveq $rm, $rn, $rd"
+ (+ (f-op 8) rm (f-ext 1) rn rd (f-rsvd 0))
+ (if (eq rm 0)
+ (set rd rn)))
+
+(dshmi cmvne "Conditional move if not equal to zero"
+ ()
+ "cmvne $rm, $rn, $rd"
+ (+ (f-op 8) rm (f-ext 5) rn rd (f-rsvd 0))
+ (if (ne rm 0)
+ (set rd rn)))
+
+(dshmi fabsd "Floating point absolute (double)"
+ ()
+ "fabs.d $drgh, $drf"
+ (+ (f-op 6) drgh (f-ext 1) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fabsd" drgh)))
+
+(dshmi fabss "Floating point absolute (single)"
+ ()
+ "fabs.s $frgh, $frf"
+ (+ (f-op 6) frgh (f-ext 0) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fabss" frgh)))
+
+(dshmi faddd "Floating point add (double)"
+ ()
+ "fadd.d $drg, $drh, $drf"
+ (+ (f-op 13) drg (f-ext 1) drh drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_faddd" drg drh)))
+
+(dshmi fadds "Floating point add (single)"
+ ()
+ "fadd.s $frg, $frh, $frf"
+ (+ (f-op 13) frg (f-ext 0) frh frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fadds" frg frh)))
+
+(dshmi fcmpeqd "Floating point compare if equal (double)"
+ ()
+ "fcmpeq.d $drg, $drh, $rd"
+ (+ (f-op 12) drg (f-ext 9) drh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpeqd" drg drh))))
+
+(dshmi fcmpeqs "Floating point compare if equal (single)"
+ ()
+ "fcmpeq.s $frg, $frh, $rd"
+ (+ (f-op 12) frg (f-ext 8) frh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpeqs" frg frh))))
+
+(dshmi fcmpged "Floating compare compare if greater than or equal (double)"
+ ()
+ "fcmpge.d $drg, $drh, $rd"
+ (+ (f-op 12) drg (f-ext 15) drh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpged" drg drh))))
+
+(dshmi fcmpges "Floating point compare if greater than or equal (single)"
+ ()
+ "fcmpge.s $frg, $frh, $rd"
+ (+ (f-op 12) frg (f-ext 14) frh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpges" frg frh))))
+
+(dshmi fcmpgtd "Floating point compare if greater than (double)"
+ ()
+ "fcmpgt.d $drg, $drh, $rd"
+ (+ (f-op 12) drg (f-ext 13) drh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpgtd" drg drh))))
+
+(dshmi fcmpgts "Floating point compare if greater than (single)"
+ ()
+ "fcmpgt.s $frg, $frh, $rd"
+ (+ (f-op 12) frg (f-ext 12) frh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpgts" frg frh))))
+
+(dshmi fcmpund "Floating point unordered comparison (double)"
+ ()
+ "fcmpun.d $drg, $drh, $rd"
+ (+ (f-op 12) drg (f-ext 11) drh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpund" drg drh))))
+
+(dshmi fcmpuns "Floating point unordered comparison (single)"
+ ()
+ "fcmpun.s $frg, $frh, $rd"
+ (+ (f-op 12) frg (f-ext 10) frh rd (f-rsvd 0))
+ (set rd (zext DI (c-call BI "sh64_fcmpuns" frg frh))))
+
+(dshmi fcnvds "Floating point coversion (double to single)"
+ ()
+ "fcnv.ds $drgh, $frf"
+ (+ (f-op 14) drgh (f-ext 7) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fcnvds" drgh)))
+
+(dshmi fcnvsd "Floating point conversion (single to double)"
+ ()
+ "fcnv.sd $frgh, $drf"
+ (+ (f-op 14) frgh (f-ext 6) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fcnvsd" frgh)))
+
+(dshmi fdivd "Floating point divide (double)"
+ ()
+ "fdiv.d $drg, $drh, $drf"
+ (+ (f-op 13) drg (f-ext 5) drh drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fdivd" drg drh)))
+
+(dshmi fdivs "Floating point divide (single)"
+ ()
+ "fdiv.s $frg, $frh, $frf"
+ (+ (f-op 13) frg (f-ext 4) frh frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fdivs" frg frh)))
+
+(dshmi fgetscr "Floating point get from FPSCR"
+ ()
+ "fgetscr $frf"
+ (+ (f-op 7) (f-left 63) (f-ext 2) (f-right 63) frf (f-rsvd 0))
+ (unimp "fputscr"))
+ ; FIXME: this should work!
+ ; (set frf fpscr))
+
+(dshmi fiprs "Floating point inner product (single)"
+ ()
+ "fipr.s $fvg, $fvh, $frf"
+ (+ (f-op 5) fvg (f-ext 6) fvh frf (f-rsvd 0))
+ (sequence ((UQI g) (UQI h) (SF temp))
+ (set g (index-of fvg))
+ (set h (index-of fvh))
+ (set temp (c-call SF "sh64_fmuls" (reg h-fr g) (reg h-fr h)))
+ (set temp (c-call SF "sh64_fadds" temp
+ (c-call SF "sh64_fmuls" (reg h-fr (add g 1)) (reg h-fr (add h 1)))))
+ (set temp (c-call SF "sh64_fadds" temp
+ (c-call SF "sh64_fmuls" (reg h-fr (add g 2)) (reg h-fr (add h 2)))))
+ (set temp (c-call SF "sh64_fadds" temp
+ (c-call SF "sh64_fmuls" (reg h-fr (add g 3)) (reg h-fr (add h 3)))))
+ (set frf temp)))
+
+(dshmi fldd "Floating point load (double)"
+ ()
+ "fld.d $rm, $disp10x8, $drf"
+ (+ (f-op 39) rm disp10x8 drf (f-rsvd 0))
+ (set drf (mem DF (add rm disp10x8))))
+
+(dshmi fldp "Floating point load (pair of singles)"
+ ()
+ "fld.p $rm, $disp10x8, $fpf"
+ (+ (f-op 38) rm disp10x8 fpf (f-rsvd 0))
+ (sequence ((QI f))
+ (set f (index-of fpf))
+ (set (reg h-fr f) (mem SF (add rm disp10x8)))
+ (set (reg h-fr (add f 1)) (mem SF (add rm (add disp10x8 4))))))
+
+(dshmi flds "Floating point load (single)"
+ ()
+ "fld.s $rm, $disp10x4, $frf"
+ (+ (f-op 37) rm disp10x4 frf (f-rsvd 0))
+ (set frf (mem SF (add rm disp10x4))))
+
+(dshmi fldxd "Floating point extended load (double)"
+ ()
+ "fldx.d $rm, $rn, $drf"
+ (+ (f-op 7) rm (f-ext 9) rn frf (f-rsvd 0))
+ (set drf (mem DF (add rm rn))))
+
+(dshmi fldxp "Floating point extended load (pair of singles)"
+ ()
+ "fldx.p $rm, $rn, $fpf"
+ (+ (f-op 7) rm (f-ext 13) rn fpf (f-rsvd 0))
+ (sequence ((QI f))
+ (set f (index-of fpf))
+ (set (reg h-fr f) (mem SF (add rm rn)))
+ (set (reg h-fr (add f 1)) (mem SF (add rm (add rn 4))))))
+
+(dshmi fldxs "Floating point extended load (single)"
+ ()
+ "fldx.s $rm, $rn, $frf"
+ (+ (f-op 7) rm (f-ext 8) rn frf (f-rsvd 0))
+ (set frf (mem SF (add rm rn))))
+
+(dshmi floatld "Floating point conversion (long to double)"
+ ()
+ "float.ld $frgh, $drf"
+ (+ (f-op 14) frgh (f-ext 14) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_floatld" frgh)))
+
+(dshmi floatls "Floating point conversion (long to single)"
+ ()
+ "float.ls $frgh, $frf"
+ (+ (f-op 14) frgh (f-ext 12) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_floatls" frgh)))
+
+(dshmi floatqd "Floating point conversion (quad to double)"
+ ()
+ "float.qd $drgh, $drf"
+ (+ (f-op 14) drgh (f-ext 13) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_floatqd" drgh)))
+
+(dshmi floatqs "Floating point conversion (quad to single)"
+ ()
+ "float.qs $drgh, $frf"
+ (+ (f-op 14) drgh (f-ext 15) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_floatqs" drgh)))
+
+(dshmi fmacs "Floating point multiply and accumulate (single)"
+ ()
+ "fmac.s $frg, $frh, $frf"
+ (+ (f-op 13) frg (f-ext 14) frh frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fadds" frf (c-call SF "sh64_fmuls" frg frh))))
+
+(dshmi fmovd "Floating point move double"
+ ()
+ "fmov.d $drgh, $drf"
+ (+ (f-op 14) drgh (f-ext 1) drf (f-rsvd 0))
+ (set drf drgh))
+
+(dshmi fmovdq "Floating point move (double to quad integer)"
+ ()
+ "fmov.dq $drgh, $rd"
+ (+ (f-op 12) drgh (f-ext 1) rd (f-rsvd 0))
+ (set rd (subword DI drgh 0)))
+
+(dshmi fmovls "Floating point move (lower to single)"
+ ()
+ "fmov.ls $rm, $frf"
+ (+ (f-op 7) rm (f-ext 0) (f-right 63) frf (f-rsvd 0))
+ (set frf (subword SF (subword SI rm 1) 0)))
+
+(dshmi fmovqd "Floating point move (quad to double)"
+ ()
+ "fmov.qd $rm, $drf"
+ (+ (f-op 7) rm (f-ext 1) (f-right 63) frf (f-rsvd 0))
+ (set drf (subword DF rm 0)))
+
+(dshmi fmovs "Floating point move (single)"
+ ()
+ "fmov.s $frgh, $frf"
+ (+ (f-op 14) frgh (f-ext 0) frf (f-rsvd 0))
+ (set frf frgh))
+
+(dshmi fmovsl "Floating point move (single to lower)"
+ ()
+ "fmov.sl $frgh, $rd"
+ (+ (f-op 12) frgh (f-ext 0) rd (f-rsvd 0))
+ (set rd (ext DI (subword SI frgh 1))))
+
+(dshmi fmuld "Floating point multiply (double)"
+ ()
+ "fmul.d $drg, $drh, $drf"
+ (+ (f-op 13) drg (f-ext 7) drh drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fmuld" drg drh)))
+
+(dshmi fmuls "Floating point multiply (single)"
+ ()
+ "fmul.s $frg, $frh, $frf"
+ (+ (f-op 13) frg (f-ext 6) frh frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fmuls" frg frh)))
+
+(dshmi fnegd "Floating point negate (double)"
+ ()
+ "fneg.d $drgh, $drf"
+ (+ (f-op 6) drgh (f-ext 3) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fnegd" drgh)))
+
+(dshmi fnegs "Floating point negate (single)"
+ ()
+ "fneg.s $frgh, $frf"
+ (+ (f-op 6) frgh (f-ext 2) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fnegs" frgh)))
+
+(dshmi fputscr "Floating point put to FPSCR"
+ ()
+ "fputscr $frgh"
+ (+ (f-op 12) frgh (f-ext 2) (f-dest 63) (f-rsvd 0))
+ (unimp "fputscr"))
+ ; FIXME: this should work!
+ ; (set fpscr (subword SI frgh 0)))
+
+(dshmi fsqrtd "Floating point square root (double)"
+ ()
+ "fsqrt.d $drgh, $drf"
+ (+ (f-op 14) drgh (f-ext 5) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fsqrtd" drgh)))
+
+(dshmi fsqrts "Floating point squart root (single)"
+ ()
+ "fsqrt.s $frgh, $frf"
+ (+ (f-op 14) frgh (f-ext 4) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fsqrts" frgh)))
+
+(dshmi fstd "Floating point store (double)"
+ ()
+ "fst.d $rm, $disp10x8, $drf"
+ (+ (f-op 47) rm disp10x8 drf (f-rsvd 0))
+ (set (mem DF (add rm disp10x8)) drf))
+
+(dshmi fstp "Floating point store (pair of singles)"
+ ()
+ "fst.p $rm, $disp10x8, $fpf"
+ (+ (f-op 46) rm disp10x8 fpf (f-rsvd 0))
+ (sequence ((QI f))
+ (set f (index-of fpf))
+ (set (mem SF (add rm disp10x8)) (reg h-fr f))
+ (set (mem SF (add rm (add disp10x8 4))) (reg h-fr (add f 1)))))
+
+(dshmi fsts "Floating point store (single)"
+ ()
+ "fst.s $rm, $disp10x4, $frf"
+ (+ (f-op 45) rm disp10x4 frf (f-rsvd 0))
+ (set (mem SF (add rm disp10x4)) frf))
+
+(dshmi fstxd "Floating point extended store (double)"
+ ()
+ "fstx.d $rm, $rn, $drf"
+ (+ (f-op 15) rm (f-ext 9) rn drf (f-rsvd 0))
+ (set (mem DF (add rm rn)) drf))
+
+(dshmi fstxp "Floating point extended store (pair of singles)"
+ ()
+ "fstx.p $rm, $rn, $fpf"
+ (+ (f-op 15) rm (f-ext 13) rn fpf (f-rsvd 0))
+ (sequence ((QI f))
+ (set f (index-of fpf))
+ (set (mem SF (add rm rn)) (reg h-fr f))
+ (set (mem SF (add rm (add rn 4))) (reg h-fr (add f 1)))))
+
+(dshmi fstxs "Floating point extended store (single)"
+ ()
+ "fstx.s $rm, $rn, $frf"
+ (+ (f-op 15) rm (f-ext 8) rn frf (f-rsvd 0))
+ (set (mem SF (add rm rn)) frf))
+
+(dshmi fsubd "Floating point subtract (double)"
+ ()
+ "fsub.d $drg, $drh, $drf"
+ (+ (f-op 13) frg (f-ext 3) frh frf (f-rsvd 0))
+ (set drf (c-call DF "sh64_fsubd" drg drh)))
+
+(dshmi fsubs "Floating point subtract (single)"
+ ()
+ "fsub.s $frg, $frh, $frf"
+ (+ (f-op 13) frg (f-ext 2) frh frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_fsubs" frg frh)))
+
+(dshmi ftrcdl "Floating point conversion (double to long)"
+ ()
+ "ftrc.dl $drgh, $frf"
+ (+ (f-op 14) drgh (f-ext 11) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_ftrcdl" drgh)))
+
+(dshmi ftrcsl "Floating point conversion (single to long)"
+ ()
+ "ftrc.sl $frgh, $frf"
+ (+ (f-op 14) frgh (f-ext 8) frf (f-rsvd 0))
+ (set frf (c-call SF "sh64_ftrcsl" frgh)))
+
+(dshmi ftrcdq "Floating point conversion (double to quad)"
+ ()
+ "ftrc.dq $drgh, $drf"
+ (+ (f-op 14) drgh (f-ext 9) frf (f-rsvd 0))
+ (set drf (c-call DF "sh64_ftrcdq" drgh)))
+
+(dshmi ftrcsq "Floating point conversion (single to quad)"
+ ()
+ "ftrc.sq $frgh, $drf"
+ (+ (f-op 14) frgh (f-ext 10) drf (f-rsvd 0))
+ (set drf (c-call DF "sh64_ftrcsq" frgh)))
+
+(dshmi ftrvs "Floating point matrix multiply"
+ ()
+ "ftrv.s $mtrxg, $fvh, $fvf"
+ (+ (f-op 5) mtrxg (f-ext 14) fvh fvf (f-rsvd 0))
+ (c-call "sh64_ftrvs" (index-of mtrxg) (index-of fvh) (index-of fvf)))
+
+(dshmi getcfg "Get configuration register"
+ ()
+ "getcfg $rm, $disp6, $rd"
+ (+ (f-op 48) rm (f-ext 15) disp6 rd (f-rsvd 0))
+ (unimp "getcfg"))
+
+(dshmi getcon "Get control register"
+ ()
+ "getcon $crk, $rd"
+ (+ (f-op 9) crk (f-ext 15) (f-right 63) rd (f-rsvd 0))
+ (set rd crk))
+
+(dshmi gettr "Get target register"
+ ()
+ "gettr $trb, $rd"
+ (+ (f-op 17) (f-25 0) trb (f-ext 5) (f-right 63) rd (f-rsvd 0))
+ (set rd trb))
+
+(dshmi icbi "Invalidate instruction cache block"
+ ()
+ "icbi $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 5) disp6x32 (f-dest 63) (f-rsvd 0))
+ (unimp "icbi"))
+
+(dshmi ldb "Load byte"
+ ()
+ "ld.b $rm, $disp10, $rd"
+ (+ (f-op 32) rm disp10 rd (f-rsvd 0))
+ (set rd (ext DI (mem QI (add rm (ext DI disp10))))))
+
+(dshmi ldl "Load long word"
+ ()
+ "ld.l $rm, $disp10x4, $rd"
+ (+ (f-op 34) rm disp10x4 rd (f-rsvd 0))
+ (set rd (ext DI (mem SI (add rm (ext DI disp10x4))))))
+
+(dshmi ldq "Load quad word"
+ ()
+ "ld.q $rm, $disp10x8, $rd"
+ (+ (f-op 35) rm disp10x8 rd (f-rsvd 0))
+ (set rd (mem DI (add rm (ext DI disp10x8)))))
+
+(dshmi ldub "Load unsigned byte"
+ ()
+ "ld.ub $rm, $disp10, $rd"
+ (+ (f-op 36) rm disp10 rd (f-rsvd 0))
+ (set rd (zext DI (mem QI (add rm (ext DI disp10))))))
+
+(dshmi lduw "Load unsigned word"
+ ()
+ "ld.uw $rm, $disp10x2, $rd"
+ (+ (f-op 44) rm disp10 rd (f-rsvd 0))
+ (set rd (zext DI (mem HI (add rm (ext DI disp10x2))))))
+
+(dshmi ldw "Load word"
+ ()
+ "ld.w $rm, $disp10x2, $rd"
+ (+ (f-op 33) rm disp10 rd (f-rsvd 0))
+ (set rd (ext DI (mem HI (add rm (ext DI disp10x2))))))
+
+(dshmi ldhil "Load high part (long word)"
+ ()
+ "ldhi.l $rm, $disp6, $rd"
+ (+ (f-op 48) rm (f-ext 6) disp6 rd (f-rsvd 0))
+ ; FIXME.
+ (unimp "ldhil"))
+
+(dshmi ldhiq "Load high part (quad word)"
+ ()
+ "ldhi.q $rm, $disp6, $rd"
+ (+ (f-op 48) rm (f-ext 7) disp6 rd (f-rsvd 0))
+ ; FIXME.
+ (unimp "ldhiq"))
+
+(dshmi ldlol "Load low part (long word)"
+ ()
+ "ldlo.l $rm, $disp6, $rd"
+ (+ (f-op 48) rm (f-ext 2) disp6 rd (f-rsvd 0))
+ ; FIXME.
+ (unimp "ldlol"))
+
+(dshmi ldloq "Load low part (quad word)"
+ ()
+ "ldlo.q $rm, $disp6, $rd"
+ (+ (f-op 48) rm (f-ext 3) disp6 rd (f-rsvd 0))
+ ; FIXME;
+ (unimp "ldloq"))
+
+(dshmi ldxb "Load byte (extended displacement)"
+ ()
+ "ldx.b $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 0) rn rd (f-rsvd 0))
+ (set rd (ext DI (mem QI (add rm rn)))))
+
+(dshmi ldxl "Load long word (extended displacement)"
+ ()
+ "ldx.l $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 2) rn rd (f-rsvd 0))
+ (set rd (ext DI (mem SI (add rm rn)))))
+
+(dshmi ldxq "Load quad word (extended displacement)"
+ ()
+ "ldx.q $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 3) rn rd (f-rsvd 0))
+ (set rd (mem DI (add rm rn))))
+
+(dshmi ldxub "Load unsigned byte (extended displacement)"
+ ()
+ "ldx.ub $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 4) rn rd (f-rsvd 0))
+ (set rd (zext DI (mem UQI (add rm rn)))))
+
+(dshmi ldxuw "Load unsigned word (extended displacement)"
+ ()
+ "ldx.uw $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 5) rn rd (f-rsvd 0))
+ (set rd (zext DI (mem UHI (add rm rn)))))
+
+(dshmi ldxw "Load word (extended displacement)"
+ ()
+ "ldx.w $rm, $rn, $rd"
+ (+ (f-op 16) rm (f-ext 1) rn rd (f-rsvd 0))
+ (set rd (ext DI (mem HI (add rm rn)))))
+
+
+; Macros to facilitate multimedia instructions.
+
+(define-pmacro (slice-byte expr)
+ (sequence ((QI result7) (QI result6) (QI result5) (QI result4)
+ (QI result3) (QI result2) (QI result1) (QI result0))
+ (set result0 (expr (subword QI rm 7) (subword QI rn 7)))
+ (set result1 (expr (subword QI rm 6) (subword QI rn 6)))
+ (set result2 (expr (subword QI rm 5) (subword QI rn 5)))
+ (set result3 (expr (subword QI rm 4) (subword QI rn 4)))
+ (set result4 (expr (subword QI rm 3) (subword QI rn 3)))
+ (set result5 (expr (subword QI rm 2) (subword QI rn 2)))
+ (set result6 (expr (subword QI rm 1) (subword QI rn 1)))
+ (set result7 (expr (subword QI rm 0) (subword QI rn 0)))
+ (set rd (-join-qi result7 result6 result5 result4 result3 result2
+ result1 result0))))
+
+(define-pmacro (slice-word expr)
+ (sequence ((HI result3) (HI result2) (HI result1) (HI result0))
+ (set result0 (expr (subword HI rm 3) (subword HI rn 3)))
+ (set result1 (expr (subword HI rm 2) (subword HI rn 2)))
+ (set result2 (expr (subword HI rm 1) (subword HI rn 1)))
+ (set result3 (expr (subword HI rm 0) (subword HI rn 0)))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(define-pmacro (slice-word-unop expr)
+ (sequence ((HI result3) (HI result2) (HI result1) (HI result0))
+ (set result0 (expr (subword HI rm 3)))
+ (set result1 (expr (subword HI rm 2)))
+ (set result2 (expr (subword HI rm 1)))
+ (set result3 (expr (subword HI rm 0)))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(define-pmacro (slice-long expr)
+ (sequence ((SI result1) (SI result0))
+ (set result0 (expr (subword SI rm 1) (subword SI rn 1)))
+ (set result1 (expr (subword SI rm 0) (subword SI rn 0)))
+ (set rd (-join-si result1 result0))))
+
+(define-pmacro (slice-long-unop expr)
+ (sequence ((SI result1) (SI result0))
+ (set result0 (expr (subword SI rm 1)))
+ (set result1 (expr (subword SI rm 0)))
+ (set rd (-join-si result1 result0))))
+
+; Multimedia instructions.
+
+(dshmi mabsl "Multimedia absolute value (long word)"
+ ()
+ "mabs.l $rm, $rd"
+ (+ (f-op 10) rm (f-ext 10) (f-right 63) rd (f-rsvd 0))
+ (slice-long-unop abs))
+
+(dshmi mabsw "Multimedia absolute value (word)"
+ ()
+ "mabs.w $rm, $rd"
+ (+ (f-op 10) rm (f-ext 9) (f-right 63) rd (f-rsvd 0))
+ (slice-word-unop abs))
+
+(dshmi maddl "Multimedia add (long word)"
+ ()
+ "madd.l $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 2) rn rd (f-rsvd 0))
+ (slice-long add))
+
+(dshmi maddw "Multimedia add (word)"
+ ()
+ "madd.w $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 1) rn rd (f-rsvd 0))
+ (slice-word add))
+
+(define-pmacro (-maddsl arg1 arg2) (saturate SI 32 (add arg1 arg2)))
+(dshmi maddsl "Multimedia add (saturating, long word)"
+ ()
+ "madds.l $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 6) rn rd (f-rsvd 0))
+ (slice-long -maddsl))
+
+(define-pmacro (-maddsub arg1 arg2) (usaturate QI 8 (add arg1 arg2)))
+(dshmi maddsub "Multimedia add (saturating, unsigned byte)"
+ ()
+ "madds.ub $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 4) rn rd (f-rsvd 0))
+ (slice-byte -maddsub))
+
+(define-pmacro (-maddsw arg1 arg2) (saturate HI 16 (add arg1 arg2)))
+(dshmi maddsw "Multimedia add (saturating, word)"
+ ()
+ "madds.w $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 5) rn rd (f-rsvd 0))
+ (slice-word -maddsw))
+
+(define-pmacro (-mcmpeq mode arg1 arg2)
+ (if mode (eq arg1 arg2) (inv mode 0) (const mode 0)))
+
+(define-pmacro (-mcmpeqb arg1 arg2) (-mcmpeq QI arg1 arg2))
+(dshmi mcmpeqb "Multimedia compare equal (byte)"
+ ()
+ "mcmpeq.b $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 0) rn rd (f-rsvd 0))
+ (slice-byte -mcmpeqb))
+
+(define-pmacro (-mcmpeql arg1 arg2) (-mcmpeq SI arg1 arg2))
+(dshmi mcmpeql "Multimedia compare equal (long word)"
+ ()
+ "mcmpeq.l $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 2) rn rd (f-rsvd 0))
+ (slice-long -mcmpeql))
+
+(define-pmacro (-mcmpeqw arg1 arg2) (-mcmpeq HI arg1 arg2))
+(dshmi mcmpeqw "Multimedia compare equal (word)"
+ ()
+ "mcmpeq.w $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 1) rn rd (f-rsvd 0))
+ (slice-word -mcmpeqw))
+
+(define-pmacro (-mcmpgt mode arg1 arg2)
+ (if mode (gt arg1 arg2) (inv mode 0) (const mode 0)))
+(define-pmacro (-mcmpgtu mode arg1 arg2)
+ (if mode (gtu arg1 arg2) (inv mode 0) (const mode 0)))
+
+(define-pmacro (-mcmpgtl arg1 arg2) (-mcmpgt SI arg1 arg2))
+(dshmi mcmpgtl "Multimedia compare greater than (long word)"
+ ()
+ "mcmpgt.l $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 6) rn rd (f-rsvd 0))
+ (slice-long -mcmpgtl))
+
+(define-pmacro (-mcmpgtub arg1 arg2) (-mcmpgtu QI arg1 arg2))
+(dshmi mcmpgtub "Multimediate compare unsigned greater than (byte)"
+ ()
+ "mcmpgt.ub $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 4) rn rd (f-rsvd 0))
+ (slice-byte -mcmpgtub))
+
+(define-pmacro (-mcmpgtw arg1 arg2) (-mcmpgt HI arg1 arg2))
+(dshmi mcmpgtw "Multimedia compare greater than (word)"
+ ()
+ "mcmpgt.w $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 5) rn rd (f-rsvd 0))
+ (slice-word -mcmpgtw))
+
+(dshmi mcmv "Multimedia conditional move"
+ ()
+ "mcmv $rm, $rn, $rd"
+ (+ (f-op 18) rm (f-ext 3) rn rd (f-rsvd 0))
+ (set rd (or (and rm rn) (and rd (inv rn)))))
+
+(dshmi mcnvslw "Multimedia convert/saturate (long to word)"
+ ()
+ "mcnvs.lw $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 13) rn rd (f-rsvd 0))
+ (sequence ((HI result3) (HI result2) (HI result1) (HI result0))
+ (set result0 (saturate HI 16 (subword SI rm 0)))
+ (set result1 (saturate HI 16 (subword SI rm 1)))
+ (set result2 (saturate HI 16 (subword SI rn 0)))
+ (set result3 (saturate HI 16 (subword SI rn 1)))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(dshmi mcnvswb "Multimedia convert/saturate (word to byte)"
+ ()
+ "mcnvs.wb $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 8) rn rd (f-rsvd 0))
+ (sequence ((QI result7) (QI result6) (QI result5) (QI result4)
+ (QI result3) (QI result2) (QI result1) (QI result0))
+ (set result0 (saturate QI 8 (subword HI rm 0)))
+ (set result1 (saturate QI 8 (subword HI rm 1)))
+ (set result2 (saturate QI 8 (subword HI rm 2)))
+ (set result3 (saturate QI 8 (subword HI rm 3)))
+ (set result4 (saturate QI 8 (subword HI rn 0)))
+ (set result5 (saturate QI 8 (subword HI rn 1)))
+ (set result6 (saturate QI 8 (subword HI rn 2)))
+ (set result7 (saturate QI 8 (subword HI rn 3)))
+ (set rd (-join-qi result7 result6 result5 result4
+ result3 result2 result1 result0))))
+
+(dshmi mcnvswub "Multimedia convert/saturate (word to unsigned byte)"
+ ()
+ "mcnvs.wub $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 12) rn rd (f-rsvd 0))
+ (sequence ((QI result7) (QI result6) (QI result5) (QI result4)
+ (QI result3) (QI result2) (QI result1) (QI result0))
+ (set result0 (usaturate QI 8 (subword HI rm 0)))
+ (set result1 (usaturate QI 8 (subword HI rm 1)))
+ (set result2 (usaturate QI 8 (subword HI rm 2)))
+ (set result3 (usaturate QI 8 (subword HI rm 3)))
+ (set result4 (usaturate QI 8 (subword HI rn 0)))
+ (set result5 (usaturate QI 8 (subword HI rn 1)))
+ (set result6 (usaturate QI 8 (subword HI rn 2)))
+ (set result7 (usaturate QI 8 (subword HI rn 3)))
+ (set rd (-join-qi result7 result6 result5 result4 result3
+ result2 result1 result0))))
+
+; mexter -- generate an mexterN instruction, where:
+; op = primary opcode
+; extop = extended opcode
+
+(define-pmacro (make-mextr n op extop)
+ (dshmi (.sym mextr n)
+ (.str "Multimedia extract 64-bit slice (from byte " n ")")
+ ()
+ (.str "mextr" n " $rm, $rn, $rd")
+ (+ (f-op op) rm (f-ext extop) rn rd (f-rsvd 0))
+ (sequence ((QI count) (DI mask) (DI rhs))
+ (set count (mul QI 8 (sub QI 8 n)))
+ (set mask (sll DI (inv 0) count))
+ (set rhs (srl (and rm mask) count))
+ (set count (mul QI 8 n))
+ (set mask (srl DI (inv 0) count))
+ (set rd (or DI rhs (sll DI (and rn mask) count))))))
+
+(make-mextr 1 10 7)
+(make-mextr 2 10 11)
+(make-mextr 3 10 15)
+(make-mextr 4 11 3)
+(make-mextr 5 11 7)
+(make-mextr 6 11 11)
+(make-mextr 7 11 15)
+
+(dshmi mmacfxwl "Multimedia fractional multiply (word to long)"
+ ()
+ "mmacfx.wl $rm, $rn, $rd"
+ (+ (f-op 18) rm (f-ext 1) rn rd (f-rsvd 0))
+ (sequence ((SI temp) (SI result1) (SI result0))
+ (set result0 (subword SI rd 0))
+ (set result1 (subword SI rd 1))
+ (set temp (mul (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set temp (saturate SI 32 (sll temp 1)))
+ (set result0 (saturate SI 32 (add result0 temp)))
+ (set temp (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1))))
+ (set temp (saturate SI 32 (sll temp 1)))
+ (set result1 (saturate SI 32 (add result1 temp)))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mmacnfx.wl "Multimedia fractional multiple (word to long)"
+ ()
+ "mmacnfx.wl $rm, $rn, $rd"
+ (+ (f-op 18) rn (f-ext 5) rn rd (f-rsvd 0))
+ (sequence ((SI temp) (SI result1) (SI result0))
+ (set result0 (subword SI rd 0))
+ (set result1 (subword SI rd 1))
+ (set temp (mul (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set temp (saturate SI 32 (sll temp 1)))
+ (set result0 (saturate SI 32 (sub result0 temp)))
+ (set temp (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1))))
+ (set temp (saturate SI 32 (sll temp 1)))
+ (set result1 (saturate SI 32 (sub result1 temp)))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mmull "Multimedia multiply (long word)"
+ ()
+ "mmul.l $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 2) rn rd (f-rsvd 0))
+ (slice-long mul))
+
+(dshmi mmulw "Multimedia multiply (word)"
+ ()
+ "mmul.w $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 1) rn rd (f-rsvd 0))
+ (slice-word mul))
+
+(dshmi mmulfxl "Multimedia fractional multiply (long word)"
+ ()
+ "mmulfx.l $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 6) rn rd (f-rsvd 0))
+ (sequence ((DI temp) (SI result0) (SI result1))
+ (set temp (mul (zext DI (subword SI rm 0)) (zext DI (subword SI rn 0))))
+ (set result0 (saturate SI 32 (sra temp 31)))
+ (set temp (mul (zext DI (subword SI rm 1)) (zext DI (subword SI rn 1))))
+ (set result1 (saturate SI 32 (sra temp 31)))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mmulfxw "Multimedia fractional multiply (word)"
+ ()
+ "mmulfx.w $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 5) rn rd (f-rsvd 0))
+ (sequence ((SI temp) (HI result0) (HI result1) (HI result2) (HI result3))
+ (set temp (mul (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set result0 (saturate HI 16 (sra temp 15)))
+ (set temp (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1))))
+ (set result1 (saturate HI 16 (sra temp 15)))
+ (set temp (mul (zext SI (subword HI rm 2)) (zext SI (subword HI rn 2))))
+ (set result2 (saturate HI 16 (sra temp 15)))
+ (set temp (mul (zext SI (subword HI rm 3)) (zext SI (subword HI rn 3))))
+ (set result3 (saturate HI 16 (sra temp 15)))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(dshmi mmulfxrpw "Multimedia fractional multiply round positive (word op)"
+ ()
+ "mmulfxrp.w $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 9) rn rd (f-rsvd 0))
+ (sequence ((SI temp) (HI result0) (HI result1) (HI result2) (HI result3) (HI c))
+ (set c (sll 1 14))
+ (set temp (mul (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set result0 (saturate HI 16 (sra (add temp c) 15)))
+ (set temp (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1))))
+ (set result1 (saturate HI 16 (sra (add temp c) 15)))
+ (set temp (mul (zext SI (subword HI rm 2)) (zext SI (subword HI rn 2))))
+ (set result2 (saturate HI 16 (sra (add temp c) 15)))
+ (set temp (mul (zext SI (subword HI rm 3)) (zext SI (subword HI rn 3))))
+ (set result3 (saturate HI 16 (sra (add temp c) 15)))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(dshmi mmulhiwl "Multimedia multiply higher halves (word to long)"
+ ()
+ "mmulhi.wl $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 14) rn rd (f-rsvd 0))
+ (sequence ((SI result1) (SI result0))
+ (set result0 (mul (zext SI (subword HI rm 2)) (zext SI (subword HI rn 2))))
+ (set result1 (mul (zext SI (subword HI rm 3)) (zext SI (subword HI rn 3))))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mmullowl "Multimedia multiply lower halves (word to long)"
+ ()
+ "mmullo.wl $rm, $rn, $rd"
+ (+ (f-op 19) rm (f-ext 10) rn rd (f-rsvd 0))
+ (sequence ((SI result1) (SI result0))
+ (set result0 (mul (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set result1 (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1))))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mmulsumwq "Multimedia multiply and accumulate (word to quad)"
+ ()
+ "mmulsum.wq $rm, $rn, $rd"
+ (+ (f-op 18) rm (f-ext 9) rn rd (f-rsvd 0))
+ (sequence ((DI acc))
+ (set acc (mul SI (zext SI (subword HI rm 0)) (zext SI (subword HI rn 0))))
+ (set acc (add acc (mul SI (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1)))))
+ (set acc (add acc (mul SI (zext SI (subword HI rm 2)) (zext SI (subword HI rn 2)))))
+ (set acc (add acc (mul SI (zext SI (subword HI rm 3)) (zext SI (subword HI rn 3)))))
+ (set rd (add rd acc))))
+
+(dshmi movi "Move immediate"
+ ()
+ "movi $imm16, $rd"
+ (+ (f-op 51) imm16 rd (f-rsvd 0))
+ (set rd (ext DI imm16)))
+
+(dshmi mpermw "Multimedia permutate word"
+ ()
+ "mperm.w $rm, $rn, $rd"
+ (+ (f-op 10) rm (f-ext 13) rn rd (f-rsvd 0))
+ (sequence ((QI control) (HI result3) (HI result2) (HI result1) (HI result0))
+ (set control (and QI rn #x3f))
+ (set result0 (subword HI rm (sub 3 (and control 3))))
+ (set result1 (subword HI rm (sub 3 (and (srl control 2) 3))))
+ (set result2 (subword HI rm (sub 3 (and (srl control 4) 3))))
+ (set result3 (subword HI rm (sub 3 (and (srl control 6) 3))))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(dshmi msadubq "Multimedia absolute difference (byte)"
+ ()
+ "msad.ubq $rm, $rn, $rd"
+ (+ (f-op 18) rm (f-ext 0) rn rd (f-rsvd 0))
+ (sequence ((DI acc))
+ (set acc (abs DI (sub (subword QI rm 0) (subword QI rn 1))))
+ (set acc (add DI acc (abs (sub (subword QI rm 1) (subword QI rn 1)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 2) (subword QI rn 2)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 3) (subword QI rn 3)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 4) (subword QI rn 4)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 5) (subword QI rn 5)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 6) (subword QI rn 6)))))
+ (set acc (add DI acc (abs (sub (subword QI rm 7) (subword QI rn 7)))))
+ (set rd (add rd acc))))
+
+(define-pmacro (-mshaldsl arg) (saturate SI 32 (sll arg (and rn 31))))
+(dshmi mshaldsl "Multimedia saturating arithmetic left shift (long word)"
+ ()
+ "mshalds.l $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 6) rn rd (f-rsvd 0))
+ (slice-long-unop -mshaldsl))
+
+(define-pmacro (-mshaldsw arg) (saturate HI 16 (sll arg (and rn 15))))
+(dshmi mshaldsw "Multimedia saturating arithmetic left shift (word)"
+ ()
+ "mshalds.w $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 5) rn rd (f-rsvd 0))
+ (slice-word-unop -mshaldsw))
+
+(define-pmacro (-mshardl arg) (sra arg (and rn 31)))
+(dshmi mshardl "Multimedia arithmetic right shift (long)"
+ ()
+ "mshard.l $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 10) rn rd (f-rsvd 0))
+ (slice-long-unop -mshardl))
+
+(define-pmacro (-mshardw arg) (sra arg (and rn 15)))
+(dshmi mshardw "Multimedia arithmetic right shift (word)"
+ ()
+ "mshard.w $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 9) rn rd (f-rsvd 0))
+ (slice-word-unop -mshardw))
+
+(dshmi mshardsq "Multimedia saturating arithmetic right shift (quad word)"
+ ()
+ "mshards.q $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 11) rn rd (f-rsvd 0))
+ (set rd (saturate DI 16 (sra rm (and rn 63)))))
+
+(dshmi mshfhib "Multimedia shuffle higher-half (byte)"
+ ()
+ "mshfhi.b $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 4) rn rd (f-rsvd 0))
+ (sequence ((QI result7) (QI result6) (QI result5) (QI result4)
+ (QI result3) (QI result2) (QI result1) (QI result0))
+ (set result0 (subword QI rm 4))
+ (set result1 (subword QI rn 4))
+ (set result2 (subword QI rm 5))
+ (set result3 (subword QI rn 5))
+ (set result4 (subword QI rm 6))
+ (set result5 (subword QI rn 6))
+ (set result6 (subword QI rm 7))
+ (set result7 (subword QI rn 7))
+ (set rd (-join-qi result7 result6 result5 result4 result3
+ result2 result1 result0))))
+
+(dshmi mshfhil "Multimedia shuffle higher-half (long)"
+ ()
+ "mshfhi.l $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 6) rn rd (f-rsvd 0))
+ (sequence ((SI result1) (SI result0))
+ (set result0 (subword SI rm 1))
+ (set result1 (subword SI rn 1))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mshfhiw "Multimedia shuffle higher-half (word)"
+ ()
+ "mshfhi.w $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 5) rn rd (f-rsvd 0))
+ (sequence ((HI result3) (HI result2) (HI result1) (HI result0))
+ (set result0 (subword HI rm 2))
+ (set result1 (subword HI rn 2))
+ (set result2 (subword HI rm 3))
+ (set result3 (subword HI rn 3))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(dshmi mshflob "Multimedia shuffle lower-half (byte)"
+ ()
+ "mshflo.b $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 0) rn rd (f-rsvd 0))
+ (sequence ((QI result7) (QI result6) (QI result5) (QI result4)
+ (QI result3) (QI result2) (QI result1) (QI result0))
+ (set result0 (subword QI rm 0))
+ (set result1 (subword QI rn 0))
+ (set result2 (subword QI rm 1))
+ (set result3 (subword QI rn 1))
+ (set result4 (subword QI rm 2))
+ (set result5 (subword QI rn 2))
+ (set result6 (subword QI rm 3))
+ (set result7 (subword QI rn 3))
+ (set rd (-join-qi result7 result6 result5 result4 result3
+ result2 result1 result0))))
+
+(dshmi mshflol "Multimedia shuffle lower-half (long)"
+ ()
+ "mshflo.l $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 2) rn rd (f-rsvd 0))
+ (sequence ((SI result1) (SI result0))
+ (set result0 (subword SI rm 0))
+ (set result1 (subword SI rn 0))
+ (set rd (-join-si result1 result0))))
+
+(dshmi mshflow "Multimedia shuffle lower-half (word)"
+ ()
+ "mshflo.w $rm, $rn, $rd"
+ (+ (f-op 11) rm (f-ext 1) rn rd (f-rsvd 0))
+ (sequence ((HI result3) (HI result2) (HI result1) (HI result0))
+ (set result0 (subword HI rm 0))
+ (set result1 (subword HI rn 0))
+ (set result2 (subword HI rm 1))
+ (set result3 (subword HI rn 1))
+ (set rd (-join-hi result3 result2 result1 result0))))
+
+(define-pmacro (-mshlldl arg) (sll arg (and rn 31)))
+(dshmi mshlldl "Multimedia logical left shift (long word)"
+ ()
+ "mshlld.l $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 2) rn rd (f-rsvd 0))
+ (slice-long-unop -mshlldl))
+
+(define-pmacro (-mshlldw arg) (sll arg (and rn 15)))
+(dshmi mshlldw "Multimedia logical left shift (word)"
+ ()
+ "mshlld.w $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 1) rn rd (f-rsvd 0))
+ (slice-word-unop -mshlldw))
+
+(define-pmacro (-mshlrdl arg) (srl arg (and rn 31)))
+(dshmi mshlrdl "Multimedia logical right shift (long word)"
+ ()
+ "mshlrd.l $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 14) rn rd (f-rsvd 0))
+ (slice-long-unop -mshlrdl))
+
+(define-pmacro (-mshlrdw arg) (srl arg (and rn 15)))
+(dshmi mshlrdw "Multimedia logical right shift (word)"
+ ()
+ "mshlrd.w $rm, $rn, $rd"
+ (+ (f-op 3) rm (f-ext 13) rn rd (f-rsvd 0))
+ (slice-word-unop -mshlrdw))
+
+(dshmi msubl "Multimedia subtract (long word)"
+ ()
+ "msub.l $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 10) rn rd (f-rsvd 0))
+ (slice-long sub))
+
+(dshmi msubw "Multimedia add (word)"
+ ()
+ "msub.w $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 9) rn rd (f-rsvd 0))
+ (slice-word sub))
+
+(define-pmacro (-msubsl arg1 arg2) (saturate SI 32 (sub arg1 arg2)))
+(dshmi msubsl "Multimedia subtract (saturating long)"
+ ()
+ "msubs.l $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 14) rn rd (f-rsvd 0))
+ (slice-long -msubsl))
+
+(define-pmacro (-msubsub arg1 arg2) (usaturate QI 8 (sub arg1 arg2)))
+(dshmi msubsub "Multimedia subtract (saturating byte)"
+ ()
+ "msubs.ub $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 12) rn rd (f-rsvd 0))
+ (slice-byte -msubsub))
+
+(define-pmacro (-msubsw arg1 arg2) (saturate HI 16 (sub arg1 arg2)))
+(dshmi msubsw "Multimedia subtract (saturating word)"
+ ()
+ "msubs.w $rm, $rn, $rd"
+ (+ (f-op 2) rm (f-ext 13) rn rd (f-rsvd 0))
+ (slice-byte -msubsw))
+
+(dshmi mulsl "Multiply signed long"
+ ()
+ "muls.l $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 14) rn rd (f-rsvd 0))
+ (set rd (mul (ext DI (subword SI rm 1)) (ext DI (subword SI rn 1)))))
+
+(dshmi mulul "Multiply unsigned long"
+ ()
+ "mulu.l $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 14) rn rd (f-rsvd 0))
+ (set rd (mul (zext DI (subword SI rm 1)) (zext DI (subword SI rn 1)))))
+
+(dshmi nop "No operation"
+ ()
+ "nop"
+ (+ (f-op 27) (f-left 63) (f-ext 0) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (nop))
+
+(dshmi nsb "Number of consecutive sign bits"
+ ()
+ "nsb $rm, $rd"
+ (+ (f-op 0) rm (f-ext 13) (f-right 63) rd (f-rsvd 0))
+ ; Semantics requires a loop construct, so punt to C.
+ (set rd (c-call DI "sh64_nsb" rm)))
+
+(dshmi ocbi "Invalidate operand cache block"
+ ()
+ "ocbi $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 9) disp6x32 (f-dest 63) (f-rsvd 0))
+ (unimp "ocbi"))
+
+(dshmi ocbp "Purge operand cache block"
+ ()
+ "ocbp $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 8) disp6x32 (f-dest 63) (f-rsvd 0))
+ (unimp "ocbp"))
+
+(dshmi ocbwb "Write-back operand cache block"
+ ()
+ "ocbwb $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 12) disp6x32 (f-dest 63) (f-rsvd 0))
+ (unimp "ocbwb"))
+
+(dshmi or "OR"
+ ()
+ "or $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 9) rn rd (f-rsvd 0))
+ (set rd (or rm rn)))
+
+(dshmi ori "OR immediate"
+ ()
+ "ori $rm, $imm10, $rd"
+ (+ (f-op 55) rm imm10 rd (f-rsvd 0))
+ (set rd (or rm (ext DI imm10))))
+
+(dshmi prefi "Prefetch instruction"
+ ()
+ "prefi $rm, $disp6x32"
+ (+ (f-op 56) rm (f-ext 1) disp6x32 (f-right 63) (f-rsvd 0))
+ (unimp "prefi"))
+
+(dshmi pta "Prepare target register for SHmedia target"
+ ()
+ "pta$likely $disp16, $tra"
+ (+ (f-op 58) disp16 likely (f-8-2 0) tra (f-rsvd 0))
+ (set tra (add disp16 1)))
+
+(dshmi ptabs "Prepare target register with absolute value from register"
+ ()
+ "ptabs$likely $rn, $tra"
+ (+ (f-op 26) (f-left 63) (f-ext 1) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (set tra rn))
+
+(dshmi ptb "Prepare target register for SHcompact target"
+ ()
+ "ptb$likely $disp16, $tra"
+ (+ (f-op 59) disp16 likely (f-8-2 0) tra (f-rsvd 0))
+ (set tra disp16))
+
+(dshmi ptrel "Prepare target register with relative value from register"
+ ()
+ "ptrel$likely $rn, $tra"
+ (+ (f-op 26) (f-left 63) (f-ext 5) rn likely (f-8-2 0) tra (f-rsvd 0))
+ (set tra (add pc rn)))
+
+(dshmi putcfg "Put configuration register"
+ ()
+ "putcfg $rm, $disp6, $rd"
+ (+ (f-op 56) rm (f-ext 15) disp6 rd (f-rsvd 0))
+ (unimp "putcfg"))
+
+(dshmi putcon "Put control register"
+ ()
+ "putcon $rm, $crj"
+ (+ (f-op 27) rm (f-ext 15) (f-right 63) crj (f-rsvd 0))
+ (set crj rm))
+
+(dshmi rte "Return from exception"
+ ()
+ "rte"
+ (+ (f-op 27) (f-left 63) (f-ext 3) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (unimp "rte"))
+
+(dshmi shard "Arithmetic right shift"
+ ()
+ "shard $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 7) rn rd (f-rsvd 0))
+ (set rd (sra rm (and rn 63))))
+
+(dshmi shardl "Arithmetic right shift (long word)"
+ ()
+ "shard.l $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 6) rn rd (f-rsvd 0))
+ (set rd (ext DI (sra (subword SI rm 1) (and rn 63)))))
+
+(dshmi shari "Arithmetic right shift (immediate count)"
+ ()
+ "shari $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 7) uimm6 rd (f-rsvd 0))
+ (set rd (sra rm uimm6)))
+
+(dshmi sharil "Arithmetic right shift (long word, immediate count)"
+ ()
+ "shari.l $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 6) uimm6 rd (f-rsvd 0))
+ (set rd (ext DI (sra (subword SI rm 1) (and uimm6 63)))))
+
+(dshmi shlld "Logical left shift"
+ ()
+ "shlld $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 1) rn rd (f-rsvd 0))
+ (set rd (sll rm (and rn 63))))
+
+(dshmi shlldl "Logical left shift (long word)"
+ ()
+ "shlld.l $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 0) rn rd (f-rsvd 0))
+ (set rd (ext DI (sll (subword SI rm 1) (and rn 63)))))
+
+(dshmi shlli "Logical left shift (immediate count)"
+ ()
+ "shlli $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 1) uimm6 rd (f-rsvd 0))
+ (set rd (sll rm uimm6)))
+
+(dshmi shllil "Logical left shift (long word, immediate count)"
+ ()
+ "shlli.l $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 0) uimm6 rd (f-rsvd 0))
+ (set rd (ext DI (sll (subword SI rm 1) (and uimm6 63)))))
+
+(dshmi shlrd "Logical right shift"
+ ()
+ "shlrd $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 3) rn rd (f-rsvd 0))
+ (set rd (srl rm (and rn 63))))
+
+(dshmi shlrdl "Logical right shift (long word)"
+ ()
+ "shlrd.l $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 2) rn rd (f-rsvd 0))
+ (set rd (ext DI (srl (subword SI rm 1) (and rn 63)))))
+
+(dshmi shlri "Logical right shift (immediate count)"
+ ()
+ "shlri $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 3) uimm6 rd (f-rsvd 0))
+ (set rd (srl rm uimm6)))
+
+(dshmi shlril "Logical right shift (long word, immediate count)"
+ ()
+ "shlri.l $rm, $uimm6, $rd"
+ (+ (f-op 49) rm (f-ext 2) uimm6 rd (f-rsvd 0))
+ (set rd (ext DI (srl (subword SI rm 1) (and uimm6 63)))))
+
+(dshmi shori "Shift-or immediate"
+ ()
+ "shori $uimm16, $rd"
+ (+ (f-op 50) uimm16 rd (f-rsvd 0))
+ (set rd (or (sll rd 16) (zext DI uimm16))))
+
+(dshmi sleep "Sleep"
+ ()
+ "sleep"
+ (+ (f-op 27) (f-left 63) (f-ext 7) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (unimp "sleep"))
+
+(dshmi stb "Store byte"
+ ()
+ "st.b $rm, $disp10, $rd"
+ (+ (f-op 40) rm disp10 rd (f-rsvd 0))
+ (set (mem UQI (add rm (ext DI disp10))) (and QI rd #xff)))
+
+(dshmi stl "Store long word"
+ ()
+ "st.l $rm, $disp10x4, $rd"
+ (+ (f-op 42) rm disp10x4 rd (f-rsvd 0))
+ (set (mem SI (add rm (ext DI disp10x4))) (and SI rd #xffffffff)))
+
+(dshmi stq "Store quad word"
+ ()
+ "st.q $rm, $disp10x8, $rd"
+ (+ (f-op 43) rm disp10x8 rd (f-rsvd 0))
+ (set (mem DI (add rm (ext DI disp10x8))) rd))
+
+(dshmi stw "Store word"
+ ()
+ "st.w $rm, $disp10x2, $rd"
+ (+ (f-op 41) rm disp10x2 rd (f-rsvd 0))
+ (set (mem HI (add rm (ext DI disp10x2))) (and HI rd #xffff)))
+
+(define-pmacro (-sthi-byte)
+ (sequence ()
+ (set (mem UQI addr) (and QI val #xff))
+ (set val (srl val 8))
+ (set addr (add addr 1))))
+
+(dshmi sthil "Store high part (long word)"
+ ()
+ "sthi.l $rm, $disp6, $rd"
+ (+ (f-op 56) rm (f-ext 6) disp6 rd (f-rsvd 0))
+ (sequence ((DI addr) (QI bytecount) (DI val))
+ (set addr (add rm disp6))
+ (set bytecount (add (and addr 3) 1))
+ (if endian
+ (set val rd)
+ (set val (srl rd (sub 32 (mul 8 bytecount)))))
+ (set addr (add (sub addr bytecount) 1))
+ (if (gt bytecount 3)
+ (-sthi-byte))
+ (if (gt bytecount 2)
+ (-sthi-byte))
+ (if (gt bytecount 1)
+ (-sthi-byte))
+ (if (gt bytecount 0)
+ (-sthi-byte))))
+
+(dshmi sthiq "Store high part (quad word)"
+ ()
+ "sthi.q $rm, $disp6, $rd"
+ (+ (f-op 56) rm (f-ext 7) disp6 rd (f-rsvd 0))
+ (sequence ((DI addr) (QI bytecount) (DI val))
+ (set addr (add rm disp6))
+ (set bytecount (add (and addr 7) 1))
+ (if endian
+ (set val rd)
+ (set val (srl rd (sub 64 (mul 8 bytecount)))))
+ (set addr (add (sub addr bytecount) 1))
+ (if (gt bytecount 7)
+ (-sthi-byte))
+ (if (gt bytecount 6)
+ (-sthi-byte))
+ (if (gt bytecount 5)
+ (-sthi-byte))
+ (if (gt bytecount 4)
+ (-sthi-byte))
+ (if (gt bytecount 3)
+ (-sthi-byte))
+ (if (gt bytecount 2)
+ (-sthi-byte))
+ (if (gt bytecount 1)
+ (-sthi-byte))
+ (if (gt bytecount 0)
+ (-sthi-byte))))
+
+(dshmi stlol "Store low part (long word)"
+ ()
+ "stlo.l $rm, $disp6, $rd"
+ (+ (f-op 56) rm (f-ext 2) disp6 rd (f-rsvd 0))
+ ; FIXME.
+ (unimp "stlol"))
+
+(dshmi stloq "Store low part (quad word)"
+ ()
+ "stlo.q $rm, $disp6, $rd"
+ (+ (f-op 56) rm (f-ext 3) disp6 rd (f-rsvd 0))
+ ; FIXME.
+ (unimp "stloq"))
+
+(dshmi stxb "Store byte (extended displacement)"
+ ()
+ "stx.b $rm, $rn, $rd"
+ (+ (f-op 24) rm (f-ext 0) rn rd (f-rsvd 0))
+ (set (mem UQI (add rm rn)) (subword QI rd 7)))
+
+(dshmi stxl "Store long (extended displacement)"
+ ()
+ "stx.l $rm, $rn, $rd"
+ (+ (f-op 24) rm (f-ext 2) rn rd (f-rsvd 0))
+ (set (mem SI (add rm rn)) (subword SI rd 1)))
+
+(dshmi stxq "Store quad word (extended displacement)"
+ ()
+ "stx.q $rm, $rn, $rd"
+ (+ (f-op 24) rm (f-ext 3) rn rd (f-rsvd 0))
+ (set (mem DI (add rm rn)) rd))
+
+(dshmi stxw "Store word (extended displacement)"
+ ()
+ "stx.w $rm, $rn, $rd"
+ (+ (f-op 24) rm (f-ext 1) rn rd (f-rsvd 0))
+ (set (mem HI (add rm rn)) (subword HI rd 3)))
+
+(dshmi sub "Subtract"
+ ()
+ "sub $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 11) rn rd (f-rsvd 0))
+ (set rd (sub rm rn)))
+
+(dshmi subl "Subtract long"
+ ()
+ "sub.l $rm, $rn, $rd"
+ (+ (f-op 0) rm (f-ext 10) rn rd (f-rsvd 0))
+ (set rd (ext DI (sub (subword SI rm 1) (subword SI rn 1)))))
+
+(dshmi swapq "Swap quad words"
+ ()
+ "swap.q $rm, $rn, $rd"
+ (+ (f-op 8) rm (f-ext 3) rn rd (f-rsvd 0))
+ (sequence ((DI addr) (DI temp))
+ (set addr (add rm rn))
+ (set temp (mem DI addr))
+ (set (mem DI addr) rd)
+ (set rd temp)))
+
+(dshmi synci "Synchronise instruction fetch"
+ ()
+ "synci"
+ (+ (f-op 27) (f-left 63) (f-ext 2) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (unimp "synci"))
+
+(dshmi synco "Synchronise data operations"
+ ()
+ "synco"
+ (+ (f-op 27) (f-left 63) (f-ext 6) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (unimp "synco"))
+
+(dshmi trapa "Trap"
+ ()
+ "trapa $rm"
+ (+ (f-op 27) rm (f-ext 1) (f-right 63) (f-dest 63) (f-rsvd 0))
+ (c-call "sh64_trapa" rm pc))
+
+(dshmi xor "Exclusive OR"
+ ()
+ "xor $rm, $rn, $rd"
+ (+ (f-op 1) rm (f-ext 13) rn rd (f-rsvd 0))
+ (set rd (xor rm rn)))
+
+(dshmi xori "Exclusive OR immediate"
+ ()
+ "xori $rm, $imm6, $rd"
+ (+ (f-op 49) rm (f-ext 13) rn rd (f-rsvd 0))
+ (set rd (xor rm (ext DI imm6))))
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 496b578..f4a34f2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,281 @@
+2004-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Allow the
+ ".note.GNU-stack" section has SHF_EXECINSTR.
+
+2004-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/obj-elf.c (get_section): Return bfd_boolean.
+ (obj_elf_change_section): Call bfd_get_section_by_name_if
+ instead of bfd_map_over_sections.
+
+2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/obj-elf.c (get_section): New function.
+ (obj_elf_change_section): Support multiple sections with same
+ name.
+
+2004-04-30 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (create_register_alias): Fix typo checking for
+ case sensitive register aliases.
+ (co_proc_number): Use error message string in all_reg_maps[]
+ array.
+ (cp_reg_required_here): Likewise.
+ (fp_reg_required_here): Likewise.
+
+2004-04-29 Brian Ford <ford@vss.fsi.com>
+
+ * dwarf2dbg.c (dwarf2_finish): Add SEC_DEBUGGING to section flags.
+
+2004-04-28 Chris Demetriou <cgd@broadcom.com>
+
+ * config/tc-mips.c (HAVE_32BIT_ADDRESSES, append_insn, macro_build)
+ (load_address, macro, mips_ip, md_parse_option)
+ (mips_force_relocation, mips_validate_fix, md_apply_fix3)
+ (s_change_sec, pic_need_relax, tc_gen_reloc): Remove all
+ embedded-PIC handling, and update comments.
+ (SWITCH_TABLE): Remove.
+ * config/tc-mips.h (DIFF_EXPR_OK): Delete.
+ (enum mips_pic_level): Remove EMBEDDED_PIC.
+ (EXTERN_FORCE_RELOC): Remove embedded-PIC handling.
+ (TC_FORCE_RELOCATION): Update comment.
+ * ecoff.c (ecoff_build_lineno): Add comment about some code that
+ might be safe to remove now that MIPS embedded-PIC is gone.
+
+2004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/obj-som.c (obj_som_init_stab_section): Add new arguments in
+ call to obj_set_subsection_attributes.
+ (obj_som_init_stab_section): Likewise.
+ * config/tc-hppa.c (default_subspace_dict): Add comdat field.
+ (pa_def_subspaces): Provide comdat default.
+ (pa_subspace): Handle new "comdat" parameter. Set SEC_LINK_ONCE and
+ not SEC_IS_COMMON if section is comdat, common or dup_common. Update
+ calls to create_new_subspace and update_subspace to pass comdat flag.
+ (create_new_subspace, update_subspace): Add new comdat argument. Use
+ it in calls to obj_set_subsection_attributes.
+ * doc/c-hppa.texi (.subspa, .nsubspa): Document new comdat parameter
+ and use of comdat, common and dup_comm parameters.
+
+2004-04-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Check if the old
+ group name is NULL before comparison.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * config/tc-mips.h (mips_dwarf2_addr_size): Prototype.
+
+2004-04-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (s_mipsset): Set default CPU type for .set mipsN.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * config/tc-mips.c (md_longopts): Remove -membedded-pic option.
+ (OPTION_MEMBEDDED_PIC): Remove.
+ (OPTION_TRAP, OPTION_BREAK, OPTION_EB, OPTION_EL)
+ (OPTION_FP32, OPTION_GP32, OPTION_CONSTRUCT_FLOATS)
+ (OPTION_NO_CONSTRUCT_FLOATS, OPTIONS_FP64, OPTION_GP64)
+ (OPTION_RELAX_BRANCH, OPTION_NO_RELAX_BRANCH)
+ (OPTION_ELF_BASE): Renumber.
+ (md_parse_option): Remove OPTION_MEMBEDDED_PIC handling.
+ (md_show_usage): Remove mention of -membedded-pic.
+ * doc/as.texinfo: Remove mention of -membedded-pic.
+
+2004-04-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Remove.
+ * config/tc-mips.c (RDATA_SECTION_NAME, mips_target_format): Remove
+ a.out support.
+ (md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
+ s_abicalls, nopic_need_relax, tc_gen_reloc): Remove uses of
+ USE_GLOBAL_POINTER_OPT.
+
+2004-04-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (macro): One more use of load_delay_nop.
+
+2004-04-22 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
+
+ * config/tc-mips.c (load_delay_nop): New function.
+ (load_address, macro): Use load_delay_nop() to build a nop
+ which can be omitted with gpr_interlocks.
+
+2004-04-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (hilo_interlocks, gpr_interlocks,
+ cop_interlocks): Remove superfluous CPU entries.
+
+2004-04-22 Paul Brook <paul@codesourcery.com>
+
+ * config/tc-arm.c (mav_parse_offset): Value must be multiple of 4.
+
+2004-04-22 Peter Barada <peter@the-baradas.com>
+
+ * NEWS: Added support for EMAC instructions and MAC/EMAC
+ Motorola syntax.
+ * config/m68k-parse.h: Add ACC[123], ACCEXT{01,23}, MAC/EMAC
+ scale factor tokens, trailing_ampersand to mark mask addressing
+ for MAC/EMAC instructions.
+ * config/m68k-parse.y: Add options_ampersand clause, '<<',
+ '>>'.
+ (yylex): Handle '>', '<', and '&' following '+'.
+ * config/tc-m68k.c: Set mcfmac/mcfemac on appropriate ColdFire
+ architectures in archs[].
+ (m68k-ip): Add '4', 'e', 'g', 'i', cases to handle mask addressing
+ for MAC/EMAC instructions, ACC[0123], ACCEXT{01,23}, and '<<'/'>>'
+ respectively.
+ (m68k_ip): Handle trailing '&' on MAC/EMAC insns.
+ (install_operand): Fix 'n' case, Add 'F', 'f', 'G', 'H', 'I', ']'
+ cases.
+ Add EMAC operands to init_table[].
+
+2004-04-22 Bruno De Bus <bdebus@elis.ugent.be>
+
+ * config/tc-arm.h (enum mstate): Move here, add MAP_UNDEFINED
+ state.
+ (TC_SEGMENT_INFO_TYPE): Define to enum mstate.
+ * config/tc-arm.c (enum mstate): Delete from here.
+ (mapping_state): Remove the static mapstate variable and instead
+ store the state in the segment. This allows a per-section mapping
+ state. Handle and ignore MAP_UNDEFINED states.
+ (arm_elf_change_section): Get the current mapping state from the
+ new section.
+ (s_ltorg): Set the mapping state to MAP_DATA.
+ (arm_cleanup): Use arm_elf_change_section to get the mapping state
+ for each pool as it is emitted.
+
+2004-04-22 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.h: Formatting tidy ups.
+
+2004-04-20 Chris Demetriou <cgd@broadcom.com>
+
+ * NEWS: Note that MIPS -membedded-pic option is deprecated.
+
+2004-04-20 DJ Delorie <dj@redhat.com>
+
+ * config/tc-i386.h [TE_PE] (TC_CONS_FIX_NEW): Define.
+ * config/tc-i386.c (md_pseudo_table) [TE_PE]: Add "secrel32".
+ [TE_PE] (O_secrel): Define.
+ [TE_PE] (x86_pe_cons_fix_new): New.
+ [TE_PE] (pe_directive_secrel): Likewise.
+ (tc_gen_reloc) [TE_PE]: Support BFD_RELOC_32_SECREL.
+
+2004-04-19 Eric Christopher <echristo@redhat.com>
+
+ * config/tc-mips.c (mips_dwarf2_addr_size): Revert part
+ of previous patch for fix in gcc.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/tc-xtensa.c (xg_assembler_literal): Fix a typo.
+
+2004-04-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * read.c (do_align): Call md_flush_pending_output, if defined.
+
+2004-04-16 Alan Modra <amodra@bigpond.net.au>
+
+ * expr.c (operand): Correct checks for ++ and --.
+
+2004-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-generic.c: Add some comments.
+
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/c-mips.texi (-m{no-,}fix-vr4120): Renamed from
+ -{no-}mfix-vr4122-bugs.
+ * config/tc-mips.c (mips_fix_vr4120): Renamed from mips_fix_4122_bugs.
+ (append_insn, mips_emit_delays): Update accordingly.
+ (OPTION_FIX_VR4120, OPTION_NO_FIX_VR4120): Renamed from *VR4122.
+ (md_longopts): Change -{no-,}mfix-vr4122-bugs to -m{no-,}fix-vr4120.
+ (md_parse_option): Update after above changes.
+ (md_show_usage): Add -mfix-vr4120.
+
+2004-04-13 Bob Wilson <bob.wilson@acm.org>
+
+ * doc/as.texinfo (Sub-Sections): Conditionalize COFF-specific use
+ of .section directive; add a reference to the ELF .subsection
+ directive.
+
+2004-04-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * config/tc-m32r.c (md_assemble): Fixed infinite loop bug
+ in parallel.
+
+2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: Remove mips from aout targets.
+ * Makefile.in: Regenerate.
+ * configure.in: Remove mips-dec-bsd* target.
+ * configure: Regenerate.
+
+2004-04-07 Alan Modra <amodra@bigpond.net.au>
+
+ PR 96
+ * config/tc-ppc.c (ppc_elf_suffix): Add valid32 and valid64 fields
+ to struct map_bfd. Adjust MAP macro, and define MAP32, MAP64.
+ Update "mapping". Restrict some @ modifiers to 32 bit.
+
+2004-04-01 Asgari Jinia <asgarij@kpitcummins.com>
+ Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * config/tc-sh.c (dont_adjust_reloc_32): New variable.
+ (sh_fix_adjustable): Avoid adjusting BFD_RELOC_32 when
+ dont_adjust_reloc_32 is set.
+ (md_longopts): Add option -renesas.
+ (md_parse_option, md_show_usage): Likewise.
+ * doc/c-sh.texi: Likewise.
+
+2004-04-01 Dave Korn <dk@artimi.com>
+
+ * config/tc-dlx.c (md_assemble): set fx_no_overflow flag for
+ hi16 and lo16 fixS structs.
+ (md_assemble): generate bit_fixS for RELOC_DLX_LO16 in
+ exactly the same way as for RELOC_DLX_REL16.
+ (machine_ip): properly respect LO flag in the_insn and
+ output RELOC_DLX_LO16 rather than RELOC_DLX_16.
+ (md_apply_fix3): apply RELOC_DLX_LO16.
+
+2004-03-30 Stan Shebs <shebs@apple.com>
+
+ Remove long-obsolete MPW support.
+ * mpw-config.in, mpw-make.sed, mac-as.r: Remove files.
+ * configure.in: Remove mention of ppc-*-mpw* config.
+ * configure.in: Likewise.
+
+2004-03-30 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (meabi_flags): Make its use conditional upon
+ OBJ_ELF being defined.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * config/obj-aout.c (obj_aout_type): Remove #ifdef BFD_ASSEMBLER code.
+
+2004-03-23 Paul Brook <paul@codesourcery.com>
+
+ * config/tc-arm.c (meabi_flags): New variable.
+ (arm_parse_eabi): New function.
+ (md_begin): Set flags for EABI v3.
+ (arm_eabis): Add.
+ (arm_long_opts): Add meabi.
+ * doc/as.texinf <ARM>: Document -meabi.
+ * doc/c-arm.texi: Ditto.
+
+2004-03-22 Bob Wilson <bob.wilson@acm.org>
+
+ * config/tc-xtensa.c (xtensa_post_relax_hook): Create literal
+ tables even when use_literal_section flag is not set.
+
+2004-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-sh.c: Remove trailing whitespace.
+
2004-03-22 Hans-Peter Nilsson <hp@axis.com>
* doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
@@ -27,6 +305,38 @@
segments, including init and fini literal segments.
(xtensa_post_relax_hook): Swap use of xt_insn_sec and xt_literal_sec.
+2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type.
+ (pa_comm): Set BSF_OBJECT in symbol flags.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * config.in: Regenerate.
+ * po/gas.pot: Regenerate.
+
+2004-03-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * read.c (read_a_source_file): Use demand_empty_rest_of_line.
+ (demand_empty_rest_of_line): Issue an error here.
+ (ignore_rest_of_line): Silently skip to end.
+ (demand_copy_string): Issue an error, not warning.
+ (equals): Likewise.
+ * config/obj-elf.c (obj_elf_section_name): Likewise.
+ (obj_elf_section): Likewise.
+ * config/tc-arc.c (arc_extoper): Remove bogus NULL checks.
+ (arc_extinst): Likewise.
+ * config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line.
+ (dot_spill): Likewise.
+ (dot_unwabi): Likewise.
+ (dot_prologue): Likewise.
+
+ * expr.c (operand): Reject ++ and --.
+ (operator): Likewise.
+
2004-03-17 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* config/tc-sh.c: Include dw2gencfi.h.
@@ -56,11 +366,129 @@
* config/tc-i386.h (CpuPadLock): New define.
(CpuUnknownFlags): Added CpuPadLock.
+2004-03-07 Andreas Schwab <schwab@suse.de>
+
+ * doc/c-hppa.texi (HPPA Directives): Fix typo.
+
+2004-03-07 Richard Henderson <rth@redhat.com>
+
+ * dw2gencfi.c (output_cie): Align length to 4 byte boundary.
+ (cfi_finish): Likewise for fde.
+
+2004-03-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-ia64.c (md_assemble): Properly handle NULL
+ align_frag.
+ (ia64_handle_align): Don't abort if failed to add a stop bit.
+
+2004-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+ * doc/Makefile.in: Likewise.
+
+2004-03-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-ia64.c (dot_align): New.
+ (ia64_do_align): Make it static.
+ (md_pseudo_table): Use "dot_align" for "align".
+ (ia64_md_do_align): Don't set align_frag here.
+ (ia64_handle_align): Add a stop bit to the previous bundle if
+ needed.
+
+ * config/tc-ia64.h (ia64_do_align): Removed.
+
+2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * config/tc-sh.c (md_parse_option): Add -isa=sh4-nofpu and
+ -isa=sh4-nommu-nofpu options. Adjust help messages accordingly.
+ (sh_elf_final_processing): Output BFD type sh4_nofpu if that is
+ the most general type or the user specifically requested it.
+ (md_assemble): Add a new error message for when an instruction
+ is understood, but is not allowed due to an -isa option.
+
+2004-03-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-ia64.c (align_frag): New.
+ (md_assemble): Set the tc_frag_data field in align_frag for
+ IA64_OPCODE_FIRST instructions.
+ (ia64_md_do_align): Set align_frag.
+ (ia64_handle_align): Add a stop bit if needed.
+
+ * config/tc-ia64.h (TC_FRAG_TYPE): New.
+ (TC_FRAG_INIT): New.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/tc-frv.c (fr400_audio): New variable.
+ (md_parse_option, md_show_usage): Add -mcpu=fr405 and -mcpu=fr450.
+ (md_parse_option): Set fr400_audio for -mcpu=fr400 and -mcpu=fr405.
+ (target_implements_insn_p): New function.
+ (md_assemble): Report an error if the processor doesn't implement
+ the instruction.
+
+2004-02-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * config/tc-m32r.c (md_longopts): Added -no-bitinst option.
+ (md_parse_option): Ditto.
+ (OPTION_NO_SPECIAL_M32R): Added.
+ (md_show_usage): Document it.
+ (enable_speial_m32r): Changed a default value from 0 to 1.
+ * doc/c-m32r.texi: Document the -no-bitinst option.
+
+2004-02-27 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-sh.c (get_operand): Revert previous delta.
+ (tc_gen_reloc): Check for an unknown reloc type before processing
+ the addend.
+
+2004-02-27 Hannes Reinecke <hare@suse.de>
+
+ * config/tc-s390.c (s390_insn): Correct range check for opcode in
+ .insn pseudo operation.
+
+2004-02-27 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * config/tc-sh.c (get_operand): In case of #Imm, check has been
+ added for wrong syntax.
+
2004-02-26 Eric Christopher <echristo@redhat.com>
* config/tc-mips.c (mips_dwarf2_addr_size): New.
* config/tc-mips.h (DWARF2_ADDR_SIZE): Use.
+2004-02-26 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * config/tc-sh.c (build_Mytes): Add REG_N_D and REG_N_B01
+ nibble types to assembler.
+
+2004-02-25 Fred Fish <fnf@redhat.com>
+
+ * config/tc-iq2000.c: Add missing \n\ in multiline string literal.
+
+2004-02-20 James E Wilson <wilson@specifixinc.com>
+
+ * config/tc-ia64.c (slot_index): New arg before_relax. Use instead of
+ finalize_syms.
+ (fixup_unw_records): New arg before_relax. Pass to slot_index.
+ (ia64_estimate_size_before_relax): New.
+ (ia64_convert_frag): Pass 0 to fixup_unw_records. Add comment.
+ (generate_unwind_image): Pass 1 to fixup_unw_records.
+ * config/tc-ia64.h (ia64_estimate_size_before_relax): Declare.
+ (md_estimate_size_before_relax): Call ia64_estimate_size_before_relax.
+
+2004-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * stabs.c (generate_asm_file): Avoid warning about use of
+ uninitialized variable.
+
+2004-02-18 David Mosberger <davidm@hpl.hp.com>
+
+ * config/tc-ia64.c (ia64_flush_insns): In addition to prologue,
+ body, and endp, allow unwind records which do not have a "t"
+ (time/instruction) field.
+
2004-02-17 Petko Manolov <petkan@nucleusys.com>
* config/tc-arm.c (do_mav_dspsc_1): Correct offset of CRn.
@@ -68,7 +496,7 @@
Fix accumulator registers move opcodes.
2004-02-13 Hannes Reinecke <hare@suse.de>
- Jakub Jelinek <jakub@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
* dwarf2dbg.c (get_filenum): Do not read beyond allocated memory.
diff --git a/gas/Makefile.am b/gas/Makefile.am
index 49a0f13..94eae87 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -113,7 +113,7 @@ CPU_OBJ_VALID = \
case $$o in \
aout) \
case $$c in \
- a29k | arm | cris | i386 | m68k | mips | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \
+ a29k | arm | cris | i386 | m68k | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \
valid=yes ;; \
esac ;; \
bout) \
@@ -1197,13 +1197,14 @@ DEPTC_m32r_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/m32r-desc.h \
$(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \
- cgen.h
+ cgen.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/reloc-macros.h
DEPTC_m32r_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(srcdir)/../opcodes/m32r-desc.h $(INCDIR)/opcode/cgen.h \
- $(srcdir)/../opcodes/m32r-opc.h cgen.h
+ $(srcdir)/../opcodes/m32r-opc.h cgen.h $(INCDIR)/elf/m32r.h \
+ $(INCDIR)/elf/reloc-macros.h
DEPTC_m68hc11_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-m68hc11.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/m68k.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
@@ -1400,20 +1401,23 @@ DEPTC_sh_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-sh.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
$(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \
- $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h
+ $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h \
+ $(INCDIR)/elf/dwarf2.h
DEPTC_sh_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \
$(INCDIR)/safe-ctype.h struc-symbol.h $(INCDIR)/elf/sh.h \
- $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h
+ $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h \
+ $(INCDIR)/elf/dwarf2.h
DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh64.h \
$(srcdir)/config/tc-sh.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
$(BFDDIR)/elf32-sh64.h $(INCDIR)/safe-ctype.h $(srcdir)/../opcodes/sh64-opc.h \
$(srcdir)/config/tc-sh.c subsegs.h $(INCDIR)/obstack.h \
- $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h dw2gencfi.h
+ $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h \
+ dw2gencfi.h $(INCDIR)/elf/dwarf2.h
DEPTC_sparc_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \
$(srcdir)/config/tc-sparc.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
diff --git a/gas/Makefile.in b/gas/Makefile.in
index 17920c8..b0c4a8f 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.8 from Makefile.am.
+# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,6 +14,9 @@
@SET_MAKE@
+
+SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(itbl_test_SOURCES)
+
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +24,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
-
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -38,6 +40,81 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
+noinst_PROGRAMS = as-new$(EXEEXT)
+EXTRA_PROGRAMS = itbl-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub NEWS \
+ README ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.in $(srcdir)/../mkinstalldirs \
+ $(srcdir)/gdbinit.in $(srcdir)/gdbinit.in \
+ $(top_srcdir)/po/Make-in m68k-parse.c itbl-parse.c itbl-lex.c \
+ $(srcdir)/../ylwrap $(srcdir)/../ltmain.sh \
+ $(srcdir)/../config.guess $(srcdir)/../config.sub
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../gettext.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = gdb.ini .gdbinit po/Makefile.in
+PROGRAMS = $(noinst_PROGRAMS)
+am__objects_1 = app.$(OBJEXT) as.$(OBJEXT) atof-generic.$(OBJEXT) \
+ bignum-copy.$(OBJEXT) cond.$(OBJEXT) depend.$(OBJEXT) \
+ dwarf2dbg.$(OBJEXT) dw2gencfi.$(OBJEXT) ecoff.$(OBJEXT) \
+ ehopt.$(OBJEXT) expr.$(OBJEXT) flonum-copy.$(OBJEXT) \
+ flonum-konst.$(OBJEXT) flonum-mult.$(OBJEXT) frags.$(OBJEXT) \
+ hash.$(OBJEXT) input-file.$(OBJEXT) input-scrub.$(OBJEXT) \
+ listing.$(OBJEXT) literal.$(OBJEXT) macro.$(OBJEXT) \
+ messages.$(OBJEXT) output-file.$(OBJEXT) read.$(OBJEXT) \
+ sb.$(OBJEXT) stabs.$(OBJEXT) subsegs.$(OBJEXT) \
+ symbols.$(OBJEXT) write.$(OBJEXT)
+am_as_new_OBJECTS = $(am__objects_1)
+as_new_OBJECTS = $(am_as_new_OBJECTS)
+am__DEPENDENCIES_1 = tc-@target_cpu_type@.o
+am__DEPENDENCIES_2 = obj-@obj_format@.o
+am__DEPENDENCIES_3 = atof-@atof@.o
+am__DEPENDENCIES_4 =
+am__DEPENDENCIES_5 = ../libiberty/libiberty.a
+am_itbl_test_OBJECTS = itbl-parse.$(OBJEXT) itbl-lex.$(OBJEXT)
+itbl_test_OBJECTS = $(am_itbl_test_OBJECTS)
+itbl_test_DEPENDENCIES = itbl-tops.o itbl-test.o $(am__DEPENDENCIES_5)
+SCRIPTS = $(noinst_SCRIPTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
+depcomp =
+am__depfiles_maybe =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
+LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
+YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
+LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) \
+ $(AM_YFLAGS)
+YLWRAP = $(top_srcdir)/../ylwrap
+SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) \
+ $(itbl_test_SOURCES)
+DIST_SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) \
+ $(itbl_test_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-exec-recursive install-info-recursive \
+ install-recursive installcheck-recursive installdirs-recursive \
+ pdf-recursive ps-recursive uninstall-info-recursive \
+ uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DEJATOOL = $(PACKAGE)
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_OBJ_DEPS = @ALL_OBJ_DEPS@
@@ -49,7 +126,6 @@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BFDLIB = @BFDLIB@
-
BFDVER_H = @BFDVER_H@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
@@ -79,7 +155,6 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
-
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LDFLAGS = @LDFLAGS@
@@ -116,10 +191,8 @@ STRIP = @STRIP@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
-
WARN_CFLAGS = @WARN_CFLAGS@
XGETTEXT = @XGETTEXT@
-
YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo @YACC@ ; fi`
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
@@ -154,6 +227,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
obj_format = @obj_format@
oldincludedir = @oldincludedir@
prefix = @prefix@
@@ -168,16 +242,11 @@ target_cpu_type = @target_cpu_type@
target_os = @target_os@
target_vendor = @target_vendor@
te_file = @te_file@
-
-AUTOMAKE_OPTIONS = cygnus dejagnu
-
+AUTOMAKE_OPTIONS = 1.8 cygnus dejagnu
SUBDIRS = doc po
-
tooldir = $(exec_prefix)/$(target_alias)
AM_CFLAGS = $(WARN_CFLAGS)
-
MKDEP = gcc -MM
-
TARG_CPU = @target_cpu_type@
TARG_CPU_C = $(srcdir)/config/tc-@target_cpu_type@.c
TARG_CPU_O = tc-@target_cpu_type@.o
@@ -195,7 +264,6 @@ IT_SRCS = itbl-parse.c itbl-lex.c $(srcdir)/itbl-ops.c
IT_DEPS = $(srcdir)/itbl-parse.y $(srcdir)/itbl-lex.l $(srcdir)/config/itbl-@target_cpu_type@.h
IT_OBJS = itbl-parse.o itbl-lex.o itbl-ops.o
-
# CPU types. This is only used for dependency information.
CPU_TYPES = \
a29k \
@@ -251,7 +319,6 @@ CPU_TYPES = \
z8k
-
# Object format types. This is only used for dependency information.
# We deliberately omit SOM, since it does not work as a cross assembler.
OBJ_FORMATS = \
@@ -266,7 +333,6 @@ OBJ_FORMATS = \
vms
-
# This is an sh case which sets valid according to whether the CPU
# type in the shell variable c and the OS type in the shell variable o
# are supported. This helps cuts down on the amount of dependency
@@ -276,7 +342,7 @@ CPU_OBJ_VALID = \
case $$o in \
aout) \
case $$c in \
- a29k | arm | cris | i386 | m68k | mips | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \
+ a29k | arm | cris | i386 | m68k | ns32k | pdp11 | sparc | tahoe | tic30 | vax) \
valid=yes ;; \
esac ;; \
bout) \
@@ -308,10 +374,8 @@ CPU_OBJ_VALID = \
esac;
-
# These are like CPU_TYPES and CPU_OBJ_VALID, for the obj=multi case.
MULTI_CPU_TYPES = i386 mips cris
-
MULTI_CPU_OBJ_VALID = \
valid= ; \
case $$o in \
@@ -331,7 +395,6 @@ MULTI_CPU_OBJ_VALID = \
esac;
-
# Regular source files.
GAS_CFILES = \
app.c \
@@ -364,9 +427,7 @@ GAS_CFILES = \
symbols.c \
write.c
-
CFILES = $(GAS_CFILES) itbl-ops.c
-
HFILES = \
as.h \
asintl.h \
@@ -397,7 +458,6 @@ HFILES = \
write.h
-
# CPU files in config.
TARGET_CPU_CFILES = \
config/tc-a29k.c \
@@ -451,7 +511,6 @@ TARGET_CPU_CFILES = \
config/tc-xtensa.c \
config/tc-z8k.c
-
TARGET_CPU_HFILES = \
config/tc-a29k.h \
config/tc-alpha.h \
@@ -505,7 +564,6 @@ TARGET_CPU_HFILES = \
config/tc-z8k.h
-
# OBJ files in config
OBJ_FORMAT_CFILES = \
config/obj-aout.c \
@@ -519,7 +577,6 @@ OBJ_FORMAT_CFILES = \
config/obj-som.c \
config/obj-vms.c
-
OBJ_FORMAT_HFILES = \
config/obj-aout.h \
config/obj-bout.h \
@@ -533,7 +590,6 @@ OBJ_FORMAT_HFILES = \
config/obj-vms.h
-
# Emulation header files in config
TARG_ENV_HFILES = \
config/te-386bsd.h \
@@ -571,7 +627,6 @@ TARG_ENV_HFILES = \
config/te-tmips.h
-
# Multi files in config
MULTI_CFILES = \
config/e-crisaout.c \
@@ -582,14 +637,12 @@ MULTI_CFILES = \
config/e-mipsecoff.c \
config/e-mipself.c
-
CONFIG_OBJS = \
$(TARG_CPU_O) \
$(OBJ_FORMAT_O) \
$(ATOF_TARG_O) \
$(extra_objects)
-
GENERIC_OBJS = \
app.o \
as.o \
@@ -621,26 +674,16 @@ GENERIC_OBJS = \
sb.o \
macro.o
-
OBJS = $(CONFIG_OBJS) $(GENERIC_OBJS)
-
POTFILES = $(MULTI_CFILES) $(TARGET_ENV_HFILES) $(OBJ_FORMAT_HFILES) \
$(OBJ_FORMAT_CFILES) $(TARGET_CPU_HFILES) $(TARGET_CPU_CFILES) \
$(HFILES) $(CFILES) $(GAS_CFILES)
-RECURSIVE_TARGETS = install-info-recursive
-
-# Note: GASP is now deprecated and has been removed. It is still
-# available in the CVS archive or older binutils releases if it is needed.
-noinst_PROGRAMS = as-new
noinst_SCRIPTS = $(GDBINIT)
EXTRA_SCRIPTS = .gdbinit
-
EXTRA_DIST = make-gas.com m68k-parse.c itbl-parse.c itbl-parse.h itbl-lex.c
-
DISTCLEANFILES = targ-cpu.h obj-format.h targ-env.h itbl-cpu.h cgen-desc.h
-
# Now figure out from those variables how to compile and link.
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
@@ -658,19 +701,16 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(srcdir)/config -I$(INCDIR)
# when building dependencies, because the dependency building is done
# in a subdirectory.
DEP_INCLUDES = -D_GNU_SOURCE -I.. -I$${srcdir} -I../../bfd -I$${srcdir}/config -I$${srcdir}/../include -I$${srcdir}/.. -I$${srcdir}/../bfd -I$${srcdir}/../intl -I../../intl -DLOCALEDIR="\"$(prefix)/share/locale\""
-
DEP_FLAGS = -DBFD_ASSEMBLER -DOBJ_MAYBE_ELF \
-I. -I.. -I$${srcdir} -I../../bfd $(DEP_INCLUDES)
-
# How to link with both our special library facilities
# and the system's installed libraries.
GASLIBS = @OPCODES_LIB@ @BFDLIB@ ../libiberty/libiberty.a
# Files to be copied away after each stage in building.
STAGESTUFF = *.o $(noinst_PROGRAMS)
-
as_new_SOURCES = $(GAS_CFILES)
as_new_LDADD = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \
$(extra_objects) $(GASLIBS) $(INTLLIBS) $(LIBM)
@@ -678,47 +718,35 @@ as_new_LDADD = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \
as_new_DEPENDENCIES = $(TARG_CPU_O) $(OBJ_FORMAT_O) $(ATOF_TARG_O) \
$(extra_objects) $(GASLIBS) $(INTLDEPS)
-
EXPECT = `if [ -f $${rootme}/../expect/expect ] ; then \
echo $${rootme}/../expect/expect ; \
else echo expect ; fi`
-
RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
echo $${srcdir}/../dejagnu/runtest ; else echo runtest; \
fi`
RUNTESTFLAGS =
-
# The m68k operand parser.
EXTRA_as_new_SOURCES = config/m68k-parse.y
-
-
-# stand-alone itbl assembler & disassembler
-EXTRA_PROGRAMS = itbl-test
itbl_test_SOURCES = itbl-parse.y itbl-lex.l
itbl_test_LDADD = itbl-tops.o itbl-test.o $(GASLIBS) @LEXLIB@
-
# CGEN interface.
CGEN_CPU_PREFIX = @cgen_cpu_prefix@
-
# Remake the info files.
MOSTLYCLEANFILES = $(STAGESTUFF) core stamp-mk.com \
testsuite/*.o testsuite/*.out testsuite/gas.log testsuite/gas.sum \
testsuite/site.exp site.bak site.exp stage stage1 stage2
-
CLEANFILES = dep.sed DEPTC DEPTCA DEPOBJ DEPOBJA DEP2 DEP2A DEP1 DEPA DEP DEPDIR
-
against = stage2
-
DEP_FILE_DEPS = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \
$(TARGET_CPU_HFILES) $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES)
-
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in
AMKDEP = #DO NOT PUT ANYTHING BETWEEN THIS LINE AND THE MATCHING WARNING BELOW.
DEPTC_a29k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \
$(srcdir)/config/tc-a29k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \
@@ -992,14 +1020,15 @@ DEPTC_m32r_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/m32r-desc.h \
$(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/m32r-opc.h \
- cgen.h
+ cgen.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/reloc-macros.h
DEPTC_m32r_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-m32r.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(srcdir)/../opcodes/m32r-desc.h $(INCDIR)/opcode/cgen.h \
- $(srcdir)/../opcodes/m32r-opc.h cgen.h
+ $(srcdir)/../opcodes/m32r-opc.h cgen.h $(INCDIR)/elf/m32r.h \
+ $(INCDIR)/elf/reloc-macros.h
DEPTC_m68hc11_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-m68hc11.h $(INCDIR)/coff/internal.h \
@@ -1234,14 +1263,16 @@ DEPTC_sh_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-sh.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/sh.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
$(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \
- $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h
+ $(INCDIR)/safe-ctype.h struc-symbol.h dwarf2dbg.h dw2gencfi.h \
+ $(INCDIR)/elf/dwarf2.h
DEPTC_sh_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \
$(INCDIR)/safe-ctype.h struc-symbol.h $(INCDIR)/elf/sh.h \
- $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h
+ $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h dw2gencfi.h \
+ $(INCDIR)/elf/dwarf2.h
DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
@@ -1249,7 +1280,8 @@ DEPTC_sh64_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(srcdir)/config/tc-sh.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \
$(BFDDIR)/elf32-sh64.h $(INCDIR)/safe-ctype.h $(srcdir)/../opcodes/sh64-opc.h \
$(srcdir)/config/tc-sh.c subsegs.h $(INCDIR)/obstack.h \
- $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h dw2gencfi.h
+ $(srcdir)/../opcodes/sh-opc.h struc-symbol.h dwarf2dbg.h \
+ dw2gencfi.h $(INCDIR)/elf/dwarf2.h
DEPTC_sparc_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \
$(srcdir)/config/tc-sparc.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \
@@ -2512,79 +2544,43 @@ DEP_mips_multi = $(DEP_mips_coff) $(DEP_mips_ecoff) \
DEP_cris_multi = $(DEP_cris_aout) $(DEP_cris_elf)
BMKDEP = #DO NOT PUT ANYTHING BETWEEN THIS LINE AND THE MATCHING WARNING ABOVE.
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = gdb.ini .gdbinit po/Makefile.in
-EXTRA_PROGRAMS = itbl-test$(EXEEXT)
-noinst_PROGRAMS = as-new$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am__objects_1 = app.$(OBJEXT) as.$(OBJEXT) atof-generic.$(OBJEXT) \
- bignum-copy.$(OBJEXT) cond.$(OBJEXT) depend.$(OBJEXT) \
- dwarf2dbg.$(OBJEXT) dw2gencfi.$(OBJEXT) ecoff.$(OBJEXT) \
- ehopt.$(OBJEXT) expr.$(OBJEXT) flonum-copy.$(OBJEXT) \
- flonum-konst.$(OBJEXT) flonum-mult.$(OBJEXT) frags.$(OBJEXT) \
- hash.$(OBJEXT) input-file.$(OBJEXT) input-scrub.$(OBJEXT) \
- listing.$(OBJEXT) literal.$(OBJEXT) macro.$(OBJEXT) \
- messages.$(OBJEXT) output-file.$(OBJEXT) read.$(OBJEXT) \
- sb.$(OBJEXT) stabs.$(OBJEXT) subsegs.$(OBJEXT) \
- symbols.$(OBJEXT) write.$(OBJEXT)
-am_as_new_OBJECTS = $(am__objects_1)
-as_new_OBJECTS = $(am_as_new_OBJECTS)
-as_new_LDFLAGS =
-am_itbl_test_OBJECTS = itbl-parse.$(OBJEXT) itbl-lex.$(OBJEXT)
-itbl_test_OBJECTS = $(am_itbl_test_OBJECTS)
-itbl_test_DEPENDENCIES = itbl-tops.o itbl-test.o \
- ../libiberty/libiberty.a
-itbl_test_LDFLAGS =
-SCRIPTS = $(noinst_SCRIPTS)
-
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
-depcomp =
-am__depfiles_maybe =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
-LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
-YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
-LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS)
-YLWRAP = $(top_srcdir)/../ylwrap
-DIST_SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) \
- $(itbl_test_SOURCES)
-
-RECURSIVE_TARGETS = install-info-recursive info-recursive dvi-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(itbl_test_SOURCES)
-
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .c .l .lo .o .obj .y
-
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --cygnus Makefile
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
-$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@@ -2596,16 +2592,16 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
-
-$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
+$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
- touch $(srcdir)/config.in
+ rm -f stamp-h1
+ touch $@
distclean-hdr:
-rm -f config.h stamp-h1
-gdb.ini: $(top_builddir)/config.status gdbinit.in
+gdb.ini: $(top_builddir)/config.status $(srcdir)/gdbinit.in
cd $(top_builddir) && $(SHELL) ./config.status $@
-.gdbinit: $(top_builddir)/config.status gdbinit.in
+.gdbinit: $(top_builddir)/config.status $(srcdir)/gdbinit.in
cd $(top_builddir) && $(SHELL) ./config.status $@
po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in
cd $(top_builddir) && $(SHELL) ./config.status $@
@@ -2624,27 +2620,27 @@ itbl-test$(EXEEXT): $(itbl_test_OBJECTS) $(itbl_test_DEPENDENCIES)
$(LINK) $(itbl_test_LDFLAGS) $(itbl_test_OBJECTS) $(itbl_test_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
- $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+ $(COMPILE) -c $<
.c.obj:
- $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+ $(LTCOMPILE) -c -o $@ $<
.l.c:
- $(LEXCOMPILE) `test -f $< || echo '$(srcdir)/'`$<
+ $(LEXCOMPILE) $<
sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
rm -f $(LEX_OUTPUT_ROOT).c
.y.c:
- $(SHELL) $(YLWRAP) `test -f '$<' || echo '$(srcdir)/'`$< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+ $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
mostlyclean-libtool:
-rm -f *.lo
@@ -2715,14 +2711,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -2731,6 +2719,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
+tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -2756,7 +2745,6 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
-
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@@ -2779,8 +2767,6 @@ GTAGS:
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DEJATOOL = $(PACKAGE)
-RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
site.exp: Makefile
@echo 'Making a new site.exp file...'
@echo '## these variables are automatically generated by make ##' >site.tmp
@@ -2812,6 +2798,7 @@ check: check-recursive
all-am: Makefile $(PROGRAMS) $(SCRIPTS) config.h
installdirs: installdirs-recursive
installdirs-am:
+install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
@@ -2822,7 +2809,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- INSTALL_STRIP_FLAG=-s \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -2857,6 +2844,8 @@ dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
info: info-recursive
info-am:
@@ -2865,7 +2854,7 @@ install-data-am:
install-exec-am: install-exec-local
-install-info:
+install-info: install-info-recursive
install-man:
@@ -2894,33 +2883,25 @@ uninstall-am:
uninstall-info: uninstall-info-recursive
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-DEJAGNU \
- check-am clean clean-generic clean-libtool clean-noinstPROGRAMS \
- clean-recursive ctags ctags-recursive distclean \
- distclean-DEJAGNU distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-recursive \
- distclean-tags dvi dvi-am dvi-recursive info info-am \
- info-recursive install install-am install-data install-data-am \
- install-data-recursive install-exec install-exec-am \
- install-exec-local install-exec-recursive install-info \
- install-info-am install-man install-recursive install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- installdirs-recursive maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+ check-DEJAGNU check-am clean clean-generic clean-libtool \
+ clean-noinstPROGRAMS clean-recursive ctags ctags-recursive \
+ distclean distclean-DEJAGNU distclean-compile \
+ distclean-generic distclean-hdr distclean-libtool \
+ distclean-recursive distclean-tags dvi dvi-am html html-am \
+ info info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-exec-local install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-recursive \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am uninstall-info-am
po/POTFILES.in: @MAINT@ Makefile
for f in $(POTFILES); do echo $$f; done | LC_COLLATE= sort > tmp \
&& mv tmp $(srcdir)/po/POTFILES.in
-# We want install to imply install-info as per GNU standards, despite the
-# cygnus option.
-install: install-recursive install-info
-install-info: install-info-recursive
-
$(srcdir)/make-gas.com: stamp-mk.com
stamp-mk.com: vmsconf.sh Makefile
sh $(srcdir)/vmsconf.sh $(GENERIC_OBJS) > new-make.com
@@ -3169,8 +3150,6 @@ de-stage3:
- (cd stage3 ; rm -f as$(EXEEXT) ; mv -f * ..)
- rmdir stage3
-Makefile: $(BFDDIR)/configure.in
-
# Automatic dependency computation. This is a real pain, because the
# dependencies change based on target_cpu_type and obj_format.
# Just to make things even more complicated, automake separates the
diff --git a/gas/NEWS b/gas/NEWS
index 6257fae..6391874 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,11 @@
-*- text -*-
+* Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC
+ instrucitons.
+
+* The MIPS -membedded-pic option (Embedded-PIC code generation) is
+ deprecated and will be removed in a future release.
+
* Added PIC m32r Linux (ELF) and support to M32R assembler.
* Added support for ARM V6.
diff --git a/gas/aclocal.m4 b/gas/aclocal.m4
index a0aa578..6c3e0cd 100644
--- a/gas/aclocal.m4
+++ b/gas/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.7.8 -*- Autoconf -*-
+# generated automatically by aclocal 1.8.2 -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11,232 +11,9 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-dnl GAS_CHECK_DECL_NEEDED(name, typedefname, typedef, headers)
-AC_DEFUN(GAS_CHECK_DECL_NEEDED,[
-AC_MSG_CHECKING(whether declaration is required for $1)
-AC_CACHE_VAL(gas_cv_decl_needed_$1,
-AC_TRY_LINK([$4],
-[
-typedef $3;
-$2 x;
-x = ($2) $1;
-], gas_cv_decl_needed_$1=no, gas_cv_decl_needed_$1=yes))dnl
-AC_MSG_RESULT($gas_cv_decl_needed_$1)
-if test $gas_cv_decl_needed_$1 = yes; then
- AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1,
- [Define if $1 is not declared in system header files.])
-fi
-])dnl
-dnl
-dnl Some non-ANSI preprocessors botch requoting inside strings. That's bad
-dnl enough, but on some of those systems, the assert macro relies on requoting
-dnl working properly!
-dnl GAS_WORKING_ASSERT
-AC_DEFUN(GAS_WORKING_ASSERT,
-[AC_MSG_CHECKING([for working assert macro])
-AC_CACHE_VAL(gas_cv_assert_ok,
-AC_TRY_LINK([#include <assert.h>
-#include <stdio.h>], [
-/* check for requoting problems */
-static int a, b, c, d;
-static char *s;
-assert (!strcmp(s, "foo bar baz quux"));
-/* check for newline handling */
-assert (a == b
- || c == d);
-], gas_cv_assert_ok=yes, gas_cv_assert_ok=no))dnl
-AC_MSG_RESULT($gas_cv_assert_ok)
-test $gas_cv_assert_ok = yes || AC_DEFINE(BROKEN_ASSERT, 1, [assert broken?])
-])dnl
-dnl
-dnl Since many Bourne shell implementations lack subroutines, use this
-dnl hack to simplify the code in configure.in.
-dnl GAS_UNIQ(listvar)
-AC_DEFUN(GAS_UNIQ,
-[_gas_uniq_list="[$]$1"
-_gas_uniq_newlist=""
-dnl Protect against empty input list.
-for _gas_uniq_i in _gas_uniq_dummy [$]_gas_uniq_list ; do
- case [$]_gas_uniq_i in
- _gas_uniq_dummy) ;;
- *) case " [$]_gas_uniq_newlist " in
- *" [$]_gas_uniq_i "*) ;;
- *) _gas_uniq_newlist="[$]_gas_uniq_newlist [$]_gas_uniq_i" ;;
- esac ;;
- esac
-done
-$1=[$]_gas_uniq_newlist
-])dnl
-
-sinclude(../libtool.m4)
-dnl The lines below arrange for aclocal not to bring libtool.m4
-dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake
-dnl to add a definition of LIBTOOL to Makefile.in.
-ifelse(yes,no,[
-AC_DEFUN([AM_PROG_LIBTOOL],)
-AC_DEFUN([AC_CHECK_LIBM],)
-AC_SUBST(LIBTOOL)
-])
-
-sinclude(../gettext.m4)
-ifelse(yes,no,[
-AC_DEFUN([CY_WITH_NLS],)
-AC_SUBST(INTLLIBS)
-])
-
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it. Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
- [
- dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
- AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
- ]
-)
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# This macro actually does too much some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 10
-
-AC_PREREQ([2.54])
-
-# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
-# the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_MISSING_PROG(AMTAR, tar)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright 2002 Free Software Foundation, Inc.
+# -*- Autoconf -*-
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Generated from amversion.in; do not edit by hand.
# 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
@@ -256,172 +33,18 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.7.8])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright 2001, 2002 Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# -*- Autoconf -*-
-
-
-# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
+ [AM_AUTOMAKE_VERSION([1.8.2])])
# AM_AUX_DIR_EXPAND
-# Copyright 2001 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# 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
@@ -476,81 +99,16 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
-# Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_AUX_DIR_EXPAND], [
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# AM_PROG_INSTALL_STRIP
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# AM_CONDITIONAL -*- Autoconf -*-
-# -*- Autoconf -*-
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# 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
@@ -567,24 +125,34 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-# serial 1
+# serial 6
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
else
- am__leading_dot=_
+ $1_TRUE='#'
+ $1_FALSE=
fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
-# serial 5 -*- Autoconf -*-
+# serial 6 -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
# 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
@@ -732,8 +300,8 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking Speeds up one-time builds
- --enable-dependency-tracking Do not reject slow dependency extractors])
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -744,7 +312,7 @@ AC_SUBST([AMDEPBACKSLASH])
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# 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
@@ -826,6 +394,286 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
+# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 7
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# This macro actually does too much some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 11
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG(AMTAR, tar)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# -*- Autoconf -*-
+# Copyright (C) 2003 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 1
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 4
+
+# AM_PROG_LEX
+# -----------
+# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
+# "missing" invocation, for better error output.
+AC_DEFUN([AM_PROG_LEX],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
+AC_REQUIRE([AC_PROG_LEX])dnl
+if test "$LEX" = :; then
+ LEX=${am_missing_run}flex
+fi])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -889,9 +737,10 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# AM_CONDITIONAL -*- Autoconf -*-
+# -*- Autoconf -*-
+
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
# 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
@@ -908,34 +757,37 @@ rm -f confinc confmf
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-# serial 5
+# serial 3
-AC_PREREQ(2.52)
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
else
- $1_TRUE='#'
- $1_FALSE=
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
-fi])])
+])
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# 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
@@ -952,15 +804,92 @@ fi])])
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-AC_PREREQ([2.52])
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake. There are at least two reasons why we must not
+# use `-m 0755':
+# - it causes special bits like SGID to be ignored,
+# - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p -- . 2>/dev/null; then
+ # Keeping the `.' argument allows $(mkdir_p) to be used without
+ # argument. Indeed, we sometimes output rules like
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined.
+ # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
+ # expensive solution, as it forces Make to start a sub-shell.)
+ mkdir_p='mkdir -p -- .'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
-# serial 6
+# Helper functions for option handling. -*- Autoconf -*-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+#
+# Check to make sure that the build environment is sane.
+#
-# Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
# 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
@@ -979,23 +908,50 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# serial 3
-AC_PREREQ(2.50)
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
-# AM_PROG_LEX
-# -----------
-# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
-# "missing" invocation, for better error output.
-AC_DEFUN([AM_PROG_LEX],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
-AC_REQUIRE([AC_PROG_LEX])dnl
-if test "$LEX" = :; then
- LEX=${am_missing_run}flex
-fi])
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
-# Add --enable-maintainer-mode option to configure.
-# From Jim Meyering
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# AM_PROG_INSTALL_STRIP
-# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
# 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
@@ -1012,22 +968,24 @@ fi])
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-# serial 2
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+m4_include([acinclude.m4])
diff --git a/gas/config.in b/gas/config.in
index fe2bc3f..5776361 100644
--- a/gas/config.in
+++ b/gas/config.in
@@ -1,188 +1,196 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
+/* config.in. Generated from configure.in by autoheader. */
-/* Define if using alloca.c. */
-#undef C_ALLOCA
+/* Define if using AIX 5.2 value for C_WEAKEXT. */
+#undef AIX_WEAK_SUPPORT
-/* Define to empty if the keyword does not work. */
-#undef const
+/* Use BFD interface? */
+#undef BFD_ASSEMBLER
+
+/* assert broken? */
+#undef BROKEN_ASSERT
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
#undef CRAY_STACKSEG_END
-/* Define if you have alloca, as a function or macro. */
+/* Compiling cross-assembler? */
+#undef CROSS_COMPILE
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Default architecture. */
+#undef DEFAULT_ARCH
+
+/* Default emulation. */
+#undef DEFAULT_EMULATION
+
+/* Supported emulations. */
+#undef EMULATIONS
+
+/* Define to 1 if NLS is requested */
+#undef ENABLE_NLS
+
+/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
#undef HAVE_ALLOCA_H
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
+/* Define to 1 if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
+/* Define to 1 if you have the `dcgettext' function. */
+#undef HAVE_DCGETTEXT
-/* Define to `long' if <sys/types.h> doesn't define. */
-#undef off_t
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
+/* Define to 1 if you have the `getpagesize' function. */
+#undef HAVE_GETPAGESIZE
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
+/* Define as 1 if you have gettext and don't want to use GNU gettext. */
+#undef HAVE_GETTEXT
-/* Define if lex declares yytext as a char * by default, not a char[]. */
-#undef YYTEXT_POINTER
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
-/* Define if you have the __argz_count function. */
-#undef HAVE___ARGZ_COUNT
+/* Define if your locale.h file contains LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
-/* Define if you have the __argz_next function. */
-#undef HAVE___ARGZ_NEXT
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
-/* Define if you have the __argz_stringify function. */
-#undef HAVE___ARGZ_STRINGIFY
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
-/* Define if you have the dcgettext function. */
-#undef HAVE_DCGETTEXT
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
-/* Define if you have the getcwd function. */
-#undef HAVE_GETCWD
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
-/* Define if you have the getpagesize function. */
-#undef HAVE_GETPAGESIZE
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
-/* Define if you have the munmap function. */
+/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
-/* Define if you have the putenv function. */
+/* Define to 1 if you have the <nl_types.h> header file. */
+#undef HAVE_NL_TYPES_H
+
+/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
-/* Define if you have the remove function. */
+/* Define to 1 if you have the `remove' function. */
#undef HAVE_REMOVE
-/* Define if you have the sbrk function. */
+/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
-/* Define if you have the setenv function. */
+/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
-/* Define if you have the setlocale function. */
+/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
-/* Define if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if you have the strcasecmp function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the strchr function. */
-#undef HAVE_STRCHR
-
-/* Define if you have the unlink function. */
-#undef HAVE_UNLINK
-
-/* Define if you have the <argz.h> header file. */
-#undef HAVE_ARGZ_H
-
-/* Define if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
+/* Define to 1 if you have the <stdarg.h> header file. */
+#undef HAVE_STDARG_H
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
-/* Define if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
-/* Define if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+/* Define if you have the stpcpy function */
+#undef HAVE_STPCPY
-/* Define if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
+/* Define to 1 if you have the `strcasecmp' function. */
+#undef HAVE_STRCASECMP
-/* Define if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
-/* Define if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
-/* Define if you have the <string.h> header file. */
+/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <sys/param.h> header file. */
+/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
-/* Define if you have the <sys/types.h> header file. */
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
-/* Define if you have the <unistd.h> header file. */
+/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define if you have the <values.h> header file. */
+/* Define to 1 if you have the `unlink' function. */
+#undef HAVE_UNLINK
+
+/* Define to 1 if you have the <values.h> header file. */
#undef HAVE_VALUES_H
-/* Define if you have the <varargs.h> header file. */
+/* Define to 1 if you have the <varargs.h> header file. */
#undef HAVE_VARARGS_H
-/* Name of package */
-#undef PACKAGE
+/* Define to 1 if you have the `__argz_count' function. */
+#undef HAVE___ARGZ_COUNT
-/* Version number of package */
-#undef VERSION
+/* Define to 1 if you have the `__argz_next' function. */
+#undef HAVE___ARGZ_NEXT
-/* Define if defaulting to ELF on SCO 5. */
-#undef SCO_ELF
+/* Define to 1 if you have the `__argz_stringify' function. */
+#undef HAVE___ARGZ_STRINGIFY
-/* Using strict COFF? */
-#undef STRICTCOFF
+/* Using i386 COFF? */
+#undef I386COFF
-/* Define if default target is PowerPC Solaris. */
-#undef TARGET_SOLARIS_COMMENT
+/* Using m68k COFF? */
+#undef M68KCOFF
-/* Define as 1 if big endian. */
-#undef TARGET_BYTES_BIG_ENDIAN
+/* Using m88k COFF? */
+#undef M88KCOFF
-/* Default CPU for MIPS targets. */
-#undef MIPS_CPU_STRING_DEFAULT
+/* old COFF support? */
+#undef MANY_SEGMENTS
-/* Allow use of E_MIPS_ABI_O32 on MIPS targets. */
-#undef USE_E_MIPS_ABI_O32
+/* Default CPU for MIPS targets. */
+#undef MIPS_CPU_STRING_DEFAULT
-/* Generate 64-bit code by default on MIPS targets. */
+/* Generate 64-bit code by default on MIPS targets. */
#undef MIPS_DEFAULT_64BIT
-/* Choose a default ABI for MIPS targets. */
+/* Choose a default ABI for MIPS targets. */
#undef MIPS_DEFAULT_ABI
-/* Default architecture. */
-#undef DEFAULT_ARCH
+/* Define if environ is not declared in system header files. */
+#undef NEED_DECLARATION_ENVIRON
-/* Using cgen code? */
-#undef USING_CGEN
+/* Define if errno is not declared in system header files. */
+#undef NEED_DECLARATION_ERRNO
-/* Using i386 COFF? */
-#undef I386COFF
+/* Define if free is not declared in system header files. */
+#undef NEED_DECLARATION_FREE
-/* Using m68k COFF? */
-#undef M68KCOFF
+/* Define if malloc is not declared in system header files. */
+#undef NEED_DECLARATION_MALLOC
-/* Using m88k COFF? */
-#undef M88KCOFF
+/* Define if sbrk is not declared in system header files. */
+#undef NEED_DECLARATION_SBRK
+
+/* Define if strstr is not declared in system header files. */
+#undef NEED_DECLARATION_STRSTR
/* a.out support? */
#undef OBJ_MAYBE_AOUT
@@ -214,69 +222,89 @@
/* VMS support? */
#undef OBJ_MAYBE_VMS
-/* Use emulation support? */
-#undef USE_EMULATIONS
+/* Name of package */
+#undef PACKAGE
-/* Supported emulations. */
-#undef EMULATIONS
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
-/* Default emulation. */
-#undef DEFAULT_EMULATION
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
-/* old COFF support? */
-#undef MANY_SEGMENTS
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
-/* Use BFD interface? */
-#undef BFD_ASSEMBLER
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define if defaulting to ELF on SCO 5. */
+#undef SCO_ELF
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Using strict COFF? */
+#undef STRICTCOFF
/* Target alias. */
#undef TARGET_ALIAS
+/* Define as 1 if big endian. */
+#undef TARGET_BYTES_BIG_ENDIAN
+
/* Canonical target. */
#undef TARGET_CANONICAL
/* Target CPU. */
#undef TARGET_CPU
-/* Target vendor. */
-#undef TARGET_VENDOR
-
/* Target OS. */
#undef TARGET_OS
-/* Define if you have the stpcpy function */
-#undef HAVE_STPCPY
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define to 1 if NLS is requested */
-#undef ENABLE_NLS
+/* Define if default target is PowerPC Solaris. */
+#undef TARGET_SOLARIS_COMMENT
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-#undef HAVE_GETTEXT
+/* Target vendor. */
+#undef TARGET_VENDOR
-/* Compiling cross-assembler? */
-#undef CROSS_COMPILE
+/* Use emulation support? */
+#undef USE_EMULATIONS
-/* assert broken? */
-#undef BROKEN_ASSERT
+/* Allow use of E_MIPS_ABI_O32 on MIPS targets. */
+#undef USE_E_MIPS_ABI_O32
-/* Define if strstr is not declared in system header files. */
-#undef NEED_DECLARATION_STRSTR
+/* Using cgen code? */
+#undef USING_CGEN
-/* Define if malloc is not declared in system header files. */
-#undef NEED_DECLARATION_MALLOC
+/* Version number of package */
+#undef VERSION
-/* Define if free is not declared in system header files. */
-#undef NEED_DECLARATION_FREE
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#undef YYTEXT_POINTER
-/* Define if sbrk is not declared in system header files. */
-#undef NEED_DECLARATION_SBRK
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
-/* Define if environ is not declared in system header files. */
-#undef NEED_DECLARATION_ENVIRON
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
-/* Define if errno is not declared in system header files. */
-#undef NEED_DECLARATION_ERRNO
+/* Define to `long' if <sys/types.h> does not define. */
+#undef off_t
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/gas/config/m68k-parse.h b/gas/config/m68k-parse.h
index c82e69f..3b98b8a 100644
--- a/gas/config/m68k-parse.h
+++ b/gas/config/m68k-parse.h
@@ -1,6 +1,6 @@
/* m68k-parse.h -- header file for m68k assembler
Copyright 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -84,7 +84,12 @@ enum m68k_register
ZPC, /* Hack for Program space, but 0 addressing */
SR, /* Status Reg */
CCR, /* Condition code Reg */
- ACC, /* Accumulator Reg */
+ ACC, /* Accumulator Reg0 (EMAC or ACC on MAC). */
+ ACC1, /* Accumulator Reg 1 (EMAC). */
+ ACC2, /* Accumulator Reg 2 (EMAC). */
+ ACC3, /* Accumulator Reg 3 (EMAC). */
+ ACCEXT01, /* Accumulator extension 0&1 (EMAC). */
+ ACCEXT23, /* Accumulator extension 2&3 (EMAC). */
MACSR, /* MAC Status Reg */
MASK, /* Modulus Reg */
@@ -295,6 +300,8 @@ enum m68k_operand_type
BASE,
POST,
PRE,
+ LSH, /* MAC/EMAC scalefactor '<<'. */
+ RSH, /* MAC/EMAC scalefactor '>>'. */
REGLST
};
@@ -322,6 +329,9 @@ struct m68k_op
/* The outer displacement. */
struct m68k_exp odisp;
+
+ /* Is a trailing '&' added to an <ea>? (for MAC/EMAC mask addressing). */
+ int trailing_ampersand;
};
#endif /* ! defined (M68K_PARSE_H) */
diff --git a/gas/config/m68k-parse.y b/gas/config/m68k-parse.y
index 813bfaa..c56ad23 100644
--- a/gas/config/m68k-parse.y
+++ b/gas/config/m68k-parse.y
@@ -98,6 +98,7 @@ static struct m68k_op *op;
struct m68k_exp exp;
unsigned long mask;
int onereg;
+ int trailing_ampersand;
}
%token <reg> DR AR FPR FPCR LPC ZAR ZDR LZPC CREG
@@ -109,6 +110,7 @@ static struct m68k_op *op;
%type <exp> optcexpr optexprc
%type <mask> reglist ireglist reglistpair
%type <onereg> reglistreg
+%type <trailing_ampersand> optional_ampersand
%%
@@ -116,14 +118,35 @@ static struct m68k_op *op;
operand:
generic_operand
- | motorola_operand
+ | motorola_operand optional_ampersand
+ {
+ op->trailing_ampersand = $2;
+ }
| mit_operand
;
+/* A trailing ampersand(for MAC/EMAC mask addressing). */
+optional_ampersand:
+ /* empty */
+ { $$ = 0; }
+ | '&'
+ { $$ = 1; }
+ ;
+
/* A generic operand. */
generic_operand:
- DR
+ '<' '<'
+ {
+ op->mode = LSH;
+ }
+
+ | '>' '>'
+ {
+ op->mode = RSH;
+ }
+
+ | DR
{
op->mode = DREG;
op->reg = $1;
@@ -757,12 +780,14 @@ yylex ()
case '/':
case '[':
case ']':
+ case '<':
+ case '>':
return *str++;
case '+':
/* It so happens that a '+' can only appear at the end of an
- operand. If it appears anywhere else, it must be a unary
- plus on an expression. */
- if (str[1] == '\0')
+ operand, or if it is trailed by an '&'(see mac load insn).
+ If it appears anywhere else, it must be a unary. */
+ if (str[1] == '\0' || (str[1] == '&' && str[2] == '\0'))
return *str++;
break;
case '-':
diff --git a/gas/config/obj-aout.c b/gas/config/obj-aout.c
index 6e5fd29..74e52a5 100644
--- a/gas/config/obj-aout.c
+++ b/gas/config/obj-aout.c
@@ -1,6 +1,6 @@
/* a.out object file format
Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000,
- 2001, 2002 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -419,17 +419,9 @@ obj_aout_type (ignore)
{
++input_line_pointer;
if (strncmp (input_line_pointer, "object", 6) == 0)
-#ifdef BFD_ASSEMBLER
- aout_symbol (symbol_get_bfdsym (sym))->other = 1;
-#else
- S_SET_OTHER (sym, 1);
-#endif
+ S_SET_OTHER (sym, 1);
else if (strncmp (input_line_pointer, "function", 8) == 0)
-#ifdef BFD_ASSEMBLER
- aout_symbol (symbol_get_bfdsym (sym))->other = 2;
-#else
- S_SET_OTHER (sym, 2);
-#endif
+ S_SET_OTHER (sym, 2);
}
}
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 01ba096..f970110 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -469,6 +469,18 @@ struct section_stack
static struct section_stack *section_stack;
+static bfd_boolean
+get_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
+{
+ const char *gname = inf;
+ const char *group_name = elf_group_name (sec);
+
+ return (group_name == gname
+ || (group_name != NULL
+ && gname != NULL
+ && strcmp (group_name, gname) == 0));
+}
+
/* Handle the .section pseudo-op. This code supports two different
syntaxes.
@@ -520,8 +532,16 @@ obj_elf_change_section (const char *name,
previous_section = now_seg;
previous_subsection = now_subseg;
- old_sec = bfd_get_section_by_name (stdoutput, name);
- sec = subseg_new (name, 0);
+ old_sec = bfd_get_section_by_name_if (stdoutput, name, get_section,
+ (void *) group_name);
+ if (old_sec)
+ {
+ sec = old_sec;
+ subseg_set (sec, 0);
+ }
+ else
+ sec = subseg_force_new (name, 0);
+
ssect = _bfd_elf_get_sec_type_attr (stdoutput, name);
if (ssect != NULL)
@@ -580,10 +600,15 @@ obj_elf_change_section (const char *name,
|| strcmp (name, ".strtab") == 0
|| strcmp (name, ".symtab") == 0))
override = TRUE;
+ /* .note.GNU-stack can have SHF_EXECINSTR. */
+ else if (attr == SHF_EXECINSTR
+ && strcmp (name, ".note.GNU-stack") == 0)
+ override = TRUE;
else
{
- as_warn (_("setting incorrect section attributes for %s"),
- name);
+ if (group_name == NULL)
+ as_warn (_("setting incorrect section attributes for %s"),
+ name);
override = TRUE;
}
}
@@ -609,6 +634,9 @@ obj_elf_change_section (const char *name,
flags = md_elf_section_flags (flags, attr, type);
#endif
+ if (linkonce)
+ flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
+
if (old_sec == NULL)
{
symbolS *secsym;
@@ -617,8 +645,6 @@ obj_elf_change_section (const char *name,
if (type == SHT_NOBITS)
seg_info (sec)->bss = 1;
- if (linkonce)
- flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
bfd_set_section_flags (stdoutput, sec, flags);
if (flags & SEC_MERGE)
sec->entsize = entsize;
@@ -644,9 +670,6 @@ obj_elf_change_section (const char *name,
as_warn (_("ignoring changed section attributes for %s"), name);
if ((flags & SEC_MERGE) && old_sec->entsize != (unsigned) entsize)
as_warn (_("ignoring changed section entity size for %s"), name);
- if ((attr & SHF_GROUP) != 0
- && strcmp (elf_group_name (old_sec), group_name) != 0)
- as_warn (_("ignoring new section group for %s"), name);
}
#ifdef md_elf_section_change_hook
@@ -787,7 +810,7 @@ obj_elf_section_name (void)
end++;
if (end == input_line_pointer)
{
- as_warn (_("missing name"));
+ as_bad (_("missing name"));
ignore_rest_of_line ();
return NULL;
}
@@ -938,7 +961,7 @@ obj_elf_section (int push)
SKIP_WHITESPACE ();
if (*input_line_pointer != '#')
{
- as_warn (_("character following name is not '#'"));
+ as_bad (_("character following name is not '#'"));
ignore_rest_of_line ();
return;
}
diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c
index 454042a..a736c96 100644
--- a/gas/config/obj-som.c
+++ b/gas/config/obj-som.c
@@ -248,7 +248,7 @@ obj_som_init_stab_section (seg)
(just created above). Also set some attributes which BFD does
not understand. In particular, access bits, sort keys, and load
quadrant. */
- obj_set_subsection_attributes (seg, space, 0x1f, 73, 0);
+ obj_set_subsection_attributes (seg, space, 0x1f, 73, 0, 0, 0, 0);
bfd_set_section_alignment (stdoutput, seg, 2);
/* Make some space for the first special stab entry and zero the memory.
@@ -271,7 +271,7 @@ obj_som_init_stab_section (seg)
not understand. In particular, access bits, sort keys, and load
quadrant. */
seg = bfd_get_section_by_name (stdoutput, "$GDB_STRINGS$");
- obj_set_subsection_attributes (seg, space, 0x1f, 72, 0);
+ obj_set_subsection_attributes (seg, space, 0x1f, 72, 0, 0, 0, 0);
bfd_set_section_alignment (stdoutput, seg, 2);
subseg_set (saved_seg, saved_subseg);
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index b99fc0b..60cfa34 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -905,11 +905,6 @@ arc_extoper (opertype)
name = input_line_pointer;
c = get_symbol_end ();
name = xstrdup (name);
- if (NULL == name)
- {
- ignore_rest_of_line ();
- return;
- }
p = name;
while (*p)
@@ -1153,11 +1148,6 @@ arc_extinst (ignore)
name = input_line_pointer;
c = get_symbol_end ();
name = xstrdup (name);
- if (NULL == name)
- {
- ignore_rest_of_line ();
- return;
- }
strcpy (syntax, name);
name_len = strlen (name);
@@ -1305,18 +1295,7 @@ arc_extinst (ignore)
strcat (syntax, "%S%L");
ext_op = (struct arc_opcode *) xmalloc (sizeof (struct arc_opcode));
- if (NULL == ext_op)
- {
- ignore_rest_of_line ();
- return;
- }
-
ext_op->syntax = xstrdup (syntax);
- if (NULL == ext_op->syntax)
- {
- ignore_rest_of_line ();
- return;
- }
ext_op->mask = I (-1) | ((0x3 == opcode) ? C (-1) : 0);
ext_op->value = I (opcode) | ((0x3 == opcode) ? C (subopcode) : 0);
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 69b2c21..3f21c84 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -1,5 +1,5 @@
/* tc-arm.c -- Assemble for the ARM
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -191,6 +191,9 @@ static int march_cpu_opt = -1;
static int march_fpu_opt = -1;
static int mfpu_opt = -1;
static int mfloat_abi_opt = -1;
+#ifdef OBJ_ELF
+static int meabi_flags = EF_ARM_EABI_UNKNOWN;
+#endif
/* This array holds the chars that always start a comment. If the
pre-processor is disabled, these aren't very useful. */
@@ -2551,6 +2554,9 @@ static int arm_parse_cpu PARAMS ((char *));
static int arm_parse_arch PARAMS ((char *));
static int arm_parse_fpu PARAMS ((char *));
static int arm_parse_float_abi PARAMS ((char *));
+#ifdef OBJ_ELF
+static int arm_parse_eabi PARAMS ((char *));
+#endif
#if 0 /* Suppressed - for now. */
#if defined OBJ_COFF || defined OBJ_ELF
static void arm_add_note PARAMS ((const char *, const char *, unsigned int));
@@ -2823,13 +2829,6 @@ validate_offset_imm (val, hwse)
#ifdef OBJ_ELF
-enum mstate
-{
- MAP_DATA,
- MAP_ARM,
- MAP_THUMB
-};
-
/* This code is to handle mapping symbols as defined in the ARM ELF spec.
(This text is taken from version B-02 of the spec):
@@ -2904,10 +2903,11 @@ enum mstate
the EABI (which is still under development), so they are not
implemented here. */
+static enum mstate mapstate = MAP_UNDEFINED;
+
static void
mapping_state (enum mstate state)
{
- static enum mstate mapstate = MAP_DATA;
symbolS * symbolP;
const char * symname;
int type;
@@ -2933,10 +2933,14 @@ mapping_state (enum mstate state)
symname = "$t";
type = BSF_FUNCTION;
break;
+ case MAP_UNDEFINED:
+ return;
default:
abort ();
}
+ seg_info (now_seg)->tc_segment_info_data = state;
+
symbolP = symbol_new (symname, now_seg, (valueT) frag_now_fix (), frag_now);
symbol_table_insert (symbolP);
symbol_get_bfdsym (symbolP)->flags |= type | BSF_LOCAL;
@@ -2977,16 +2981,7 @@ arm_elf_change_section (void)
if ((flags & SEC_ALLOC) == 0)
return;
- if (flags & SEC_CODE)
- {
- if (thumb_mode)
- mapping_state (MAP_THUMB);
- else
- mapping_state (MAP_ARM);
- }
- else
- /* This section does not contain code. Therefore it must contain data. */
- mapping_state (MAP_DATA);
+ mapstate = seg_info (now_seg)->tc_segment_info_data;
}
#else
#define mapping_state(a)
@@ -3109,6 +3104,8 @@ s_ltorg (ignored)
|| pool->next_free_entry == 0)
return;
+ mapping_state (MAP_DATA);
+
/* Align pool as you have word accesses.
Only make a frag if we have to. */
if (!need_pass_2)
@@ -3598,7 +3595,7 @@ co_proc_number (str)
}
else
{
- inst.error = _("bad or missing co-processor number");
+ inst.error = all_reg_maps[REG_TYPE_CP].expected;
return FAIL;
}
}
@@ -3653,7 +3650,7 @@ cp_reg_required_here (str, where)
/* In the few cases where we might be able to accept something else
this error can be overridden. */
- inst.error = _("co-processor register expected");
+ inst.error = all_reg_maps[REG_TYPE_CN].expected;
/* Restore the start point. */
*str = start;
@@ -3676,7 +3673,7 @@ fp_reg_required_here (str, where)
/* In the few cases where we might be able to accept something else
this error can be overridden. */
- inst.error = _("floating point register expected");
+ inst.error = all_reg_maps[REG_TYPE_FN].expected;
/* Restore the start point. */
*str = start;
@@ -10856,11 +10853,16 @@ mav_parse_offset (str, negative)
for (offset = 0; *p && ISDIGIT (*p); ++p)
offset = offset * 10 + *p - '0';
- if (offset > 0xff)
+ if (offset > 0x3fc)
{
inst.error = _("offset out of range");
return 0;
}
+ if (offset & 0x3)
+ {
+ inst.error = _("offset not a multiple of 4");
+ return 0;
+ }
*str = p;
@@ -11437,7 +11439,7 @@ create_register_alias (newname, p)
char *copy_of_str;
char *r;
-#ifdef IGNORE_OPCODE_CASE
+#ifndef IGNORE_OPCODE_CASE
newname = original_case_string;
#endif
copy_of_str = newname;
@@ -11685,40 +11687,57 @@ md_begin ()
cpu_variant = mcpu_cpu_opt | mfpu_opt;
-#if defined OBJ_COFF || defined OBJ_ELF
{
unsigned int flags = 0;
- /* Set the flags in the private structure. */
- if (uses_apcs_26) flags |= F_APCS26;
- if (support_interwork) flags |= F_INTERWORK;
- if (uses_apcs_float) flags |= F_APCS_FLOAT;
- if (pic_code) flags |= F_PIC;
- if ((cpu_variant & FPU_ANY) == FPU_NONE
- || (cpu_variant & FPU_ANY) == FPU_ARCH_VFP) /* VFP layout only. */
- {
- flags |= F_SOFT_FLOAT;
- }
- switch (mfloat_abi_opt)
+#if defined OBJ_ELF
+ flags = meabi_flags;
+
+ switch (meabi_flags)
{
- case ARM_FLOAT_ABI_SOFT:
- case ARM_FLOAT_ABI_SOFTFP:
- flags |= F_SOFT_FLOAT;
+ case EF_ARM_EABI_UNKNOWN:
+#endif
+#if defined OBJ_COFF || defined OBJ_ELF
+ /* Set the flags in the private structure. */
+ if (uses_apcs_26) flags |= F_APCS26;
+ if (support_interwork) flags |= F_INTERWORK;
+ if (uses_apcs_float) flags |= F_APCS_FLOAT;
+ if (pic_code) flags |= F_PIC;
+ if ((cpu_variant & FPU_ANY) == FPU_NONE
+ || (cpu_variant & FPU_ANY) == FPU_ARCH_VFP) /* VFP layout only. */
+ flags |= F_SOFT_FLOAT;
+
+ switch (mfloat_abi_opt)
+ {
+ case ARM_FLOAT_ABI_SOFT:
+ case ARM_FLOAT_ABI_SOFTFP:
+ flags |= F_SOFT_FLOAT;
+ break;
+
+ case ARM_FLOAT_ABI_HARD:
+ if (flags & F_SOFT_FLOAT)
+ as_bad (_("hard-float conflicts with specified fpu"));
+ break;
+ }
+
+ /* Using VFP conventions (even if soft-float). */
+ if (cpu_variant & FPU_VFP_EXT_NONE)
+ flags |= F_VFP_FLOAT;
+#endif
+#if defined OBJ_ELF
+ if (cpu_variant & FPU_ARCH_MAVERICK)
+ flags |= EF_ARM_MAVERICK_FLOAT;
break;
- case ARM_FLOAT_ABI_HARD:
- if (flags & F_SOFT_FLOAT)
- as_bad (_("hard-float conflicts with specified fpu"));
+ case EF_ARM_EABI_VER3:
+ /* No additional flags to set. */
break;
- }
- /* Using VFP conventions (even if soft-float). */
- if (cpu_variant & FPU_VFP_EXT_NONE) flags |= F_VFP_FLOAT;
-#if defined OBJ_ELF
- if (cpu_variant & FPU_ARCH_MAVERICK)
- flags |= EF_ARM_MAVERICK_FLOAT;
+ default:
+ abort ();
+ }
#endif
-
+#if defined OBJ_COFF || defined OBJ_ELF
bfd_set_private_flags (stdoutput, flags);
/* We have run out flags in the COFF header to encode the
@@ -11738,8 +11757,8 @@ md_begin ()
bfd_set_section_contents (stdoutput, sec, NULL, 0, 0);
}
}
- }
#endif
+ }
/* Record the CPU type as well. */
switch (cpu_variant & ARM_CPU_MASK)
@@ -13450,6 +13469,22 @@ static struct arm_float_abi_option_table arm_float_abis[] =
{NULL, 0}
};
+struct arm_eabi_option_table
+{
+ char *name;
+ unsigned int value;
+};
+
+#ifdef OBJ_ELF
+/* We only know hot to output GNU and ver 3 (AAELF) formats. */
+static struct arm_eabi_option_table arm_eabis[] =
+{
+ {"gnu", EF_ARM_EABI_UNKNOWN},
+ {"3", EF_ARM_EABI_VER3},
+ {NULL, 0}
+};
+#endif
+
struct arm_long_option_table
{
char *option; /* Substring to match. */
@@ -13613,6 +13648,24 @@ arm_parse_float_abi (str)
return 0;
}
+#ifdef OBJ_ELF
+static int
+arm_parse_eabi (str)
+ char * str;
+{
+ struct arm_eabi_option_table *opt;
+
+ for (opt = arm_eabis; opt->name != NULL; opt++)
+ if (strcmp (opt->name, str) == 0)
+ {
+ meabi_flags = opt->value;
+ return 1;
+ }
+ as_bad (_("unknown EABI `%s'\n"), str);
+ return 0;
+}
+#endif
+
struct arm_long_option_table arm_long_opts[] =
{
{"mcpu=", N_("<cpu name>\t assemble for CPU <cpu name>"),
@@ -13623,6 +13676,10 @@ struct arm_long_option_table arm_long_opts[] =
arm_parse_fpu, NULL},
{"mfloat-abi=", N_("<abi>\t assemble for floating point ABI <abi>"),
arm_parse_float_abi, NULL},
+#ifdef OBJ_ELF
+ {"meabi=", N_("<ver>\t assemble for eabi version <ver>"),
+ arm_parse_eabi, NULL},
+#endif
{NULL, NULL, 0, NULL}
};
@@ -13817,6 +13874,9 @@ arm_cleanup ()
{
/* Put it at the end of the relevent section. */
subseg_set (pool->section, pool->sub_section);
+#ifdef OBJ_ELF
+ arm_elf_change_section ();
+#endif
s_ltorg (0);
}
}
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h
index 58396cc..4e791a0 100644
--- a/gas/config/tc-arm.h
+++ b/gas/config/tc-arm.h
@@ -1,5 +1,5 @@
/* This file is tc-arm.h
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -47,67 +47,47 @@
#define LITTLE_ENDIAN 1234
#define BIG_ENDIAN 4321
-#if defined OBJ_AOUT
-#if defined TE_RISCIX
-# define TARGET_FORMAT "a.out-riscix"
-#elif defined TE_LINUX
-# define ARM_BI_ENDIAN
-# define TARGET_FORMAT "a.out-arm-linux"
-#elif defined TE_NetBSD
-# define TARGET_FORMAT "a.out-arm-netbsd"
-#else
-# define ARM_BI_ENDIAN
-# define TARGET_FORMAT \
- (target_big_endian ? "a.out-arm-big" : "a.out-arm-little")
-#endif
-#endif /* OBJ_AOUT */
-
-#ifdef OBJ_AIF
-#define TARGET_FORMAT "aif"
-#endif
-
struct fix;
-#if defined OBJ_COFF || defined OBJ_ELF
+#if defined OBJ_AOUT
+# if defined TE_RISCIX
+# define TARGET_FORMAT "a.out-riscix"
+# elif defined TE_LINUX
+# define ARM_BI_ENDIAN
+# define TARGET_FORMAT "a.out-arm-linux"
+# elif defined TE_NetBSD
+# define TARGET_FORMAT "a.out-arm-netbsd"
+# else
+# define ARM_BI_ENDIAN
+# define TARGET_FORMAT (target_big_endian ? "a.out-arm-big" : "a.out-arm-little")
+# endif
+#elif defined OBJ_AIF
+# define TARGET_FORMAT "aif"
+#elif defined OBJ_COFF
# define ARM_BI_ENDIAN
-
-# define TC_VALIDATE_FIX(FIX, SEGTYPE, LABEL) arm_validate_fix (FIX)
- extern void arm_validate_fix PARAMS ((struct fix *));
-#endif
-
-#ifdef OBJ_COFF
# if defined TE_PE
-# ifdef TE_EPOC
-# define TARGET_FORMAT (target_big_endian ? "epoc-pe-arm-big" : "epoc-pe-arm-little")
-# else
-# define TARGET_FORMAT (target_big_endian ? "pe-arm-big" : "pe-arm-little")
-# endif
+# if defined TE_EPOC
+# define TARGET_FORMAT (target_big_endian ? "epoc-pe-arm-big" : "epoc-pe-arm-little")
+# else
+# define TARGET_FORMAT (target_big_endian ? "pe-arm-big" : "pe-arm-little")
+# endif
# else
# define TARGET_FORMAT (target_big_endian ? "coff-arm-big" : "coff-arm-little")
# endif
-#endif
-
-#ifdef OBJ_ELF
-# define TARGET_FORMAT elf32_arm_target_format()
- extern const char * elf32_arm_target_format PARAMS ((void));
-
-# define md_elf_section_change_hook() arm_elf_change_section
- extern void arm_elf_change_section (void);
+#elif defined OBJ_ELF
+# define ARM_BI_ENDIAN
+# define TARGET_FORMAT elf32_arm_target_format ()
#endif
#define TC_FORCE_RELOCATION(FIX) arm_force_relocation (FIX)
-extern int arm_force_relocation PARAMS ((struct fix *));
-#define md_convert_frag(b, s, f) {as_fatal (_("arm convert_frag\n"));}
+#define md_convert_frag(b, s, f) { as_fatal (_("arm convert_frag\n")); }
#define md_cleanup() arm_cleanup ()
- extern void arm_cleanup PARAMS ((void));
#define md_start_line_hook() arm_start_line_hook ()
- extern void arm_start_line_hook PARAMS ((void));
#define tc_frob_label(S) arm_frob_label (S)
- extern void arm_frob_label PARAMS ((symbolS *));
/* We also need to mark assembler created symbols: */
#define tc_frob_fake_label(S) arm_frob_label (S)
@@ -119,19 +99,9 @@ extern int arm_force_relocation PARAMS ((struct fix *));
#define TC_FIX_TYPE PTR
#define TC_INIT_FIX_DATA(FIX) ((FIX)->tc_fix_data = NULL)
-#if defined OBJ_ELF || defined OBJ_COFF
-#define EXTERN_FORCE_RELOC 1
-
-#define tc_fix_adjustable(FIX) arm_fix_adjustable (FIX)
-bfd_boolean arm_fix_adjustable PARAMS ((struct fix *));
-
-/* Values passed to md_apply_fix3 don't include the symbol value. */
-#define MD_APPLY_SYM_VALUE(FIX) 0
-#endif
-
/* We need to keep some local information on symbols. */
-#define TC_SYMFIELD_TYPE unsigned int
+#define TC_SYMFIELD_TYPE unsigned int
#define ARM_GET_FLAG(s) (*symbol_get_tc (s))
#define ARM_SET_FLAG(s,v) (*symbol_get_tc (s) |= (v))
#define ARM_RESET_FLAG(s,v) (*symbol_get_tc (s) &= ~(v))
@@ -148,23 +118,10 @@ bfd_boolean arm_fix_adjustable PARAMS ((struct fix *));
#define ARM_SET_INTERWORK(s,t) ((t) ? ARM_SET_FLAG (s, ARM_FLAG_INTERWORK) : ARM_RESET_FLAG (s, ARM_FLAG_INTERWORK))
#define THUMB_SET_FUNC(s,t) ((t) ? ARM_SET_FLAG (s, THUMB_FLAG_FUNC) : ARM_RESET_FLAG (s, THUMB_FLAG_FUNC))
-#define TC_START_LABEL(C,STR) \
- (c == ':' || (c == '/' && arm_data_in_code ()))
-int arm_data_in_code PARAMS ((void));
-
-#define tc_canonicalize_symbol_name(str) \
- arm_canonicalize_symbol_name (str);
-char * arm_canonicalize_symbol_name PARAMS ((char *));
-
-#define obj_adjust_symtab() arm_adjust_symtab ()
- extern void arm_adjust_symtab PARAMS ((void));
-
-#ifdef OBJ_ELF
-#define obj_frob_symbol(sym, punt) armelf_frob_symbol ((sym), & (punt))
-void armelf_frob_symbol PARAMS ((symbolS *, int *));
-#endif
-
-#define tc_aout_pre_write_hook(x) {;} /* not used */
+#define TC_START_LABEL(C,STR) (c == ':' || (c == '/' && arm_data_in_code ()))
+#define tc_canonicalize_symbol_name(str) arm_canonicalize_symbol_name (str);
+#define obj_adjust_symtab() arm_adjust_symtab ()
+#define tc_aout_pre_write_hook(x) {;} /* not used */
#define LISTING_HEADER "ARM GAS "
@@ -172,9 +129,6 @@ void armelf_frob_symbol PARAMS ((symbolS *, int *));
#define LOCAL_LABEL(name) (name[0] == '.' && (name[1] == 'L'))
#define LOCAL_LABELS_FB 1
-#ifdef OBJ_ELF
-#define LOCAL_LABEL_PREFIX '.'
-#endif
/* This expression evaluates to true if the relocation is for a local
object for which we still want to do the relocation at runtime.
@@ -192,29 +146,15 @@ void armelf_frob_symbol PARAMS ((symbolS *, int *));
|| TC_FORCE_RELOCATION (FIX))
#define TC_CONS_FIX_NEW cons_fix_new_arm
- extern void cons_fix_new_arm PARAMS ((fragS *, int, int, expressionS *));
-
-#ifdef OBJ_ELF
-#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
-#else
-#define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_"
-#endif
-
-#ifdef OBJ_ELF
-#define DWARF2_LINE_MIN_INSN_LENGTH 2
-#endif
#define MAX_MEM_FOR_RS_ALIGN_CODE 31
/* For frags in code sections we need to record whether they contain
ARM code or THUMB code. This is that if they have to be aligned,
they can contain the correct type of no-op instruction. */
-#define TC_FRAG_TYPE int
+#define TC_FRAG_TYPE int
#define TC_FRAG_INIT(fragp) arm_init_frag (fragp)
-extern void arm_init_frag PARAMS ((struct frag *));
-
-#define HANDLE_ALIGN(fragp) arm_handle_align (fragp)
-extern void arm_handle_align PARAMS ((struct frag *));
+#define HANDLE_ALIGN(fragp) arm_handle_align (fragp)
#define md_do_align(N, FILL, LEN, MAX, LABEL) \
if (FILL == NULL && (N) != 0 && ! need_pass_2 && subseg_text_p (now_seg)) \
@@ -222,4 +162,50 @@ extern void arm_handle_align PARAMS ((struct frag *));
arm_frag_align_code (N, MAX); \
goto LABEL; \
}
-extern void arm_frag_align_code PARAMS ((int, int));
+
+#ifdef OBJ_ELF
+# define DWARF2_LINE_MIN_INSN_LENGTH 2
+# define obj_frob_symbol(sym, punt) armelf_frob_symbol ((sym), & (punt))
+# define md_elf_section_change_hook() arm_elf_change_section ()
+# define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
+# define LOCAL_LABEL_PREFIX '.'
+# define TC_SEGMENT_INFO_TYPE enum mstate
+
+enum mstate
+{
+ MAP_UNDEFINED = 0, /* Must be zero, for seginfo in new sections. */
+ MAP_DATA,
+ MAP_ARM,
+ MAP_THUMB
+};
+
+#else /* Not OBJ_ELF. */
+#define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_"
+#endif
+
+#if defined OBJ_ELF || defined OBJ_COFF
+
+# define EXTERN_FORCE_RELOC 1
+# define tc_fix_adjustable(FIX) arm_fix_adjustable (FIX)
+/* Values passed to md_apply_fix3 don't include the symbol value. */
+# define MD_APPLY_SYM_VALUE(FIX) 0
+# define TC_VALIDATE_FIX(FIX, SEGTYPE, LABEL) arm_validate_fix (FIX)
+
+#endif
+
+extern void arm_frag_align_code (int, int);
+extern void arm_validate_fix (struct fix *);
+extern const char * elf32_arm_target_format (void);
+extern void arm_elf_change_section (void);
+extern int arm_force_relocation (struct fix *);
+extern void arm_cleanup (void);
+extern void arm_start_line_hook (void);
+extern void arm_frob_label (symbolS *);
+extern int arm_data_in_code (void);
+extern char * arm_canonicalize_symbol_name (char *);
+extern void arm_adjust_symtab (void);
+extern void armelf_frob_symbol (symbolS *, int *);
+extern void cons_fix_new_arm (fragS *, int, int, expressionS *);
+extern void arm_init_frag (struct frag *);
+extern void arm_handle_align (struct frag *);
+extern bfd_boolean arm_fix_adjustable (struct fix *);
diff --git a/gas/config/tc-dlx.c b/gas/config/tc-dlx.c
index 4b72b56..82b4aa2 100644
--- a/gas/config/tc-dlx.c
+++ b/gas/config/tc-dlx.c
@@ -1,5 +1,5 @@
/* tc-ldx.c -- Assemble for the DLX
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -397,6 +397,18 @@ md_assemble (str)
the_insn.size, & the_insn.exp, the_insn.pcrel,
the_insn.reloc);
+ /* Turn off complaints that the addend is
+ too large for things like foo+100000@ha. */
+ switch (the_insn.reloc)
+ {
+ case RELOC_DLX_HI16:
+ case RELOC_DLX_LO16:
+ fixP->fx_no_overflow = 1;
+ break;
+ default:
+ break;
+ }
+
switch (fixP->fx_r_type)
{
case RELOC_DLX_REL26:
@@ -410,6 +422,7 @@ md_assemble (str)
bitP->fx_bit_add = 0x03FFFFFF;
fixP->fx_bit_fixP = bitP;
break;
+ case RELOC_DLX_LO16:
case RELOC_DLX_REL16:
bitP = malloc (sizeof (bit_fixS));
bitP->fx_bit_size = 16;
@@ -955,7 +968,8 @@ machine_ip (str)
continue;
}
- the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16 : RELOC_DLX_16;
+ the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16
+ : (the_insn.LO ? RELOC_DLX_LO16 : RELOC_DLX_16);
the_insn.reloc_offset = 2;
the_insn.size = 2;
the_insn.pcrel = 0;
@@ -1164,6 +1178,7 @@ md_apply_fix3 (fixP, valP, seg)
switch (fixP->fx_r_type)
{
+ case RELOC_DLX_LO16:
case RELOC_DLX_REL16:
if (fixP->fx_bit_fixP != (bit_fixS *) NULL)
{
diff --git a/gas/config/tc-frv.c b/gas/config/tc-frv.c
index 96e630b..6c6528b 100644
--- a/gas/config/tc-frv.c
+++ b/gas/config/tc-frv.c
@@ -163,6 +163,7 @@ static FRV_VLIW vliw;
#endif
static unsigned long frv_mach = bfd_mach_frv;
+static bfd_boolean fr400_audio;
/* Flags to set in the elf header */
static flagword frv_flags = DEFAULT_FLAGS;
@@ -354,10 +355,24 @@ md_parse_option (c, arg)
frv_mach = bfd_mach_fr550;
}
+ else if (strcmp (p, "fr450") == 0)
+ {
+ cpu_flags = EF_FRV_CPU_FR450;
+ frv_mach = bfd_mach_fr450;
+ }
+
+ else if (strcmp (p, "fr405") == 0)
+ {
+ cpu_flags = EF_FRV_CPU_FR405;
+ frv_mach = bfd_mach_fr400;
+ fr400_audio = TRUE;
+ }
+
else if (strcmp (p, "fr400") == 0)
{
cpu_flags = EF_FRV_CPU_FR400;
frv_mach = bfd_mach_fr400;
+ fr400_audio = FALSE;
}
else if (strcmp (p, "fr300") == 0)
@@ -446,7 +461,7 @@ md_show_usage (stream)
fprintf (stream, _("-mpic Note small position independent code\n"));
fprintf (stream, _("-mPIC Note large position independent code\n"));
fprintf (stream, _("-mlibrary-pic Compile library for large position indepedent code\n"));
- fprintf (stream, _("-mcpu={fr500|fr550|fr400|fr300|frv|simple|tomcat}\n"));
+ fprintf (stream, _("-mcpu={fr500|fr550|fr400|fr405|fr450|fr300|frv|simple|tomcat}\n"));
fprintf (stream, _(" Record the cpu type\n"));
fprintf (stream, _("-mtomcat-stats Print out stats for tomcat workarounds\n"));
fprintf (stream, _("-mtomcat-debug Debug tomcat workarounds\n"));
@@ -1042,6 +1057,36 @@ fr550_check_acc_range (FRV_VLIW *vliw, frv_insn *insn)
return 0; /* all is ok */
}
+/* Return true if the target implements instruction INSN. */
+
+static bfd_boolean
+target_implements_insn_p (const CGEN_INSN *insn)
+{
+ switch (frv_mach)
+ {
+ default:
+ /* bfd_mach_frv or generic. */
+ return TRUE;
+
+ case bfd_mach_fr300:
+ case bfd_mach_frvsimple:
+ return CGEN_INSN_MACH_HAS_P (insn, MACH_SIMPLE);
+
+ case bfd_mach_fr400:
+ return ((fr400_audio || !CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_AUDIO))
+ && CGEN_INSN_MACH_HAS_P (insn, MACH_FR400));
+
+ case bfd_mach_fr450:
+ return CGEN_INSN_MACH_HAS_P (insn, MACH_FR450);
+
+ case bfd_mach_fr500:
+ return CGEN_INSN_MACH_HAS_P (insn, MACH_FR500);
+
+ case bfd_mach_fr550:
+ return CGEN_INSN_MACH_HAS_P (insn, MACH_FR550);
+ }
+}
+
void
md_assemble (str)
char * str;
@@ -1125,6 +1170,11 @@ md_assemble (str)
instructions, don't do vliw checking. */
else if (frv_mach != bfd_mach_frv)
{
+ if (!target_implements_insn_p (insn.insn))
+ {
+ as_bad (_("Instruction not supported by this architecture"));
+ return;
+ }
packing_constraint = frv_vliw_add_insn (& vliw, insn.insn);
if (frv_mach == bfd_mach_fr550 && ! packing_constraint)
packing_constraint = fr550_check_acc_range (& vliw, & insn);
diff --git a/gas/config/tc-generic.c b/gas/config/tc-generic.c
index e69de29..b9e52f6 100644
--- a/gas/config/tc-generic.c
+++ b/gas/config/tc-generic.c
@@ -0,0 +1,22 @@
+/* This file is tc-generic.c
+
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS 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, or (at your option)
+ any later version.
+
+ GAS 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 GAS; see the file COPYING. If not, write to the Free Software
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/* This file is tc-generic.c and is intended to be a template for
+ target cpu specific files. */
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 7fbcd0a..72abe1d 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -363,6 +363,9 @@ struct default_subspace_dict
/* Nonzero if this subspace contains only code. */
char code_only;
+ /* Nonzero if this is a comdat subspace. */
+ char comdat;
+
/* Nonzero if this is a common subspace. */
char common;
@@ -555,13 +558,13 @@ static sd_chain_struct *create_new_space PARAMS ((char *, int, int,
asection *, int));
static ssd_chain_struct *create_new_subspace PARAMS ((sd_chain_struct *,
char *, int, int,
- int, int, int,
+ int, int, int, int,
int, int, int, int,
int, asection *));
static ssd_chain_struct *update_subspace PARAMS ((sd_chain_struct *,
char *, int, int, int,
int, int, int, int,
- int, int, int,
+ int, int, int, int,
asection *));
static sd_chain_struct *is_defined_space PARAMS ((char *));
static ssd_chain_struct *is_defined_subspace PARAMS ((char *));
@@ -1117,12 +1120,12 @@ static const struct selector_entry selector_table[] =
static struct default_subspace_dict pa_def_subspaces[] =
{
- {"$CODE$", 1, 1, 1, 0, 0, 0, 24, 0x2c, 0, 8, 0, 0, SUBSEG_CODE},
- {"$DATA$", 1, 1, 0, 0, 0, 0, 24, 0x1f, 1, 8, 1, 1, SUBSEG_DATA},
- {"$LIT$", 1, 1, 0, 0, 0, 0, 16, 0x2c, 0, 8, 0, 0, SUBSEG_LIT},
- {"$MILLICODE$", 1, 1, 0, 0, 0, 0, 8, 0x2c, 0, 8, 0, 0, SUBSEG_MILLI},
- {"$BSS$", 1, 1, 0, 0, 0, 1, 80, 0x1f, 1, 8, 1, 1, SUBSEG_BSS},
- {NULL, 0, 1, 0, 0, 0, 0, 255, 0x1f, 0, 4, 0, 0, 0}
+ {"$CODE$", 1, 1, 1, 0, 0, 0, 0, 24, 0x2c, 0, 8, 0, 0, SUBSEG_CODE},
+ {"$DATA$", 1, 1, 0, 0, 0, 0, 0, 24, 0x1f, 1, 8, 1, 1, SUBSEG_DATA},
+ {"$LIT$", 1, 1, 0, 0, 0, 0, 0, 16, 0x2c, 0, 8, 0, 0, SUBSEG_LIT},
+ {"$MILLICODE$", 1, 1, 0, 0, 0, 0, 0, 8, 0x2c, 0, 8, 0, 0, SUBSEG_MILLI},
+ {"$BSS$", 1, 1, 0, 0, 0, 0, 1, 80, 0x1f, 1, 8, 1, 1, SUBSEG_BSS},
+ {NULL, 0, 1, 0, 0, 0, 0, 0, 255, 0x1f, 0, 4, 0, 0, 0}
};
static struct default_space_dict pa_def_spaces[] =
@@ -1399,6 +1402,8 @@ cons_fix_new_hppa (frag, where, size, exp)
/* Get a base relocation type. */
if (is_DP_relative (*exp))
rel_type = R_HPPA_GOTOFF;
+ else if (is_PC_relative (*exp))
+ rel_type = R_HPPA_PCREL_CALL;
else if (is_complex (*exp))
rel_type = R_HPPA_COMPLEX;
else
@@ -6386,6 +6391,7 @@ pa_comm (unused)
if (symbol)
{
+ symbol_get_bfdsym (symbol)->flags |= BSF_OBJECT;
S_SET_VALUE (symbol, size);
S_SET_SEGMENT (symbol, bfd_und_section_ptr);
S_SET_EXTERNAL (symbol);
@@ -7451,7 +7457,7 @@ pa_subspace (create_new)
int create_new;
{
char *name, *ss_name, c;
- char loadable, code_only, common, dup_common, zero, sort;
+ char loadable, code_only, comdat, common, dup_common, zero, sort;
int i, access, space_index, alignment, quadrant, applicable, flags;
sd_chain_struct *space;
ssd_chain_struct *ssd;
@@ -7477,6 +7483,7 @@ pa_subspace (create_new)
sort = 0;
access = 0x7f;
loadable = 1;
+ comdat = 0;
common = 0;
dup_common = 0;
code_only = 0;
@@ -7511,6 +7518,7 @@ pa_subspace (create_new)
if (strcasecmp (pa_def_subspaces[i].name, ss_name) == 0)
{
loadable = pa_def_subspaces[i].loadable;
+ comdat = pa_def_subspaces[i].comdat;
common = pa_def_subspaces[i].common;
dup_common = pa_def_subspaces[i].dup_common;
code_only = pa_def_subspaces[i].code_only;
@@ -7574,6 +7582,11 @@ pa_subspace (create_new)
*input_line_pointer = c;
loadable = 0;
}
+ else if ((strncasecmp (name, "comdat", 6) == 0))
+ {
+ *input_line_pointer = c;
+ comdat = 1;
+ }
else if ((strncasecmp (name, "common", 6) == 0))
{
*input_line_pointer = c;
@@ -7606,8 +7619,17 @@ pa_subspace (create_new)
flags |= (SEC_ALLOC | SEC_LOAD);
if (code_only)
flags |= SEC_CODE;
- if (common || dup_common)
- flags |= SEC_IS_COMMON;
+
+ /* These flags are used to implement various flavors of initialized
+ common. The SOM linker discards duplicate subspaces when they
+ have the same "key" symbol name. This support is more like
+ GNU linkonce than BFD common. Further, pc-relative relocations
+ are converted to section relative relocations in BFD common
+ sections. This complicates the handling of relocations in
+ common sections containing text and isn't currently supported
+ correctly in the SOM BFD backend. */
+ if (comdat || common || dup_common)
+ flags |= SEC_LINK_ONCE;
flags |= SEC_RELOC | SEC_HAS_CONTENTS;
@@ -7649,16 +7671,16 @@ pa_subspace (create_new)
if (ssd)
current_subspace = update_subspace (space, ss_name, loadable,
- code_only, common, dup_common,
- sort, zero, access, space_index,
- alignment, quadrant,
+ code_only, comdat, common,
+ dup_common, sort, zero, access,
+ space_index, alignment, quadrant,
section);
else
current_subspace = create_new_subspace (space, ss_name, loadable,
- code_only, common,
+ code_only, comdat, common,
dup_common, zero, sort,
access, space_index,
- alignment, quadrant, section);
+ alignment, quadrant, section);
demand_empty_rest_of_line ();
current_subspace->ssd_seg = section;
@@ -7779,6 +7801,7 @@ pa_spaces_begin ()
create_new_subspace (space, name,
pa_def_subspaces[i].loadable,
pa_def_subspaces[i].code_only,
+ pa_def_subspaces[i].comdat,
pa_def_subspaces[i].common,
pa_def_subspaces[i].dup_common,
pa_def_subspaces[i].zero,
@@ -7880,12 +7903,12 @@ create_new_space (name, spnum, loadable, defined, private,
order as defined by the SORT entries. */
static ssd_chain_struct *
-create_new_subspace (space, name, loadable, code_only, common,
+create_new_subspace (space, name, loadable, code_only, comdat, common,
dup_common, is_zero, sort, access, space_index,
alignment, quadrant, seg)
sd_chain_struct *space;
char *name;
- int loadable, code_only, common, dup_common, is_zero;
+ int loadable, code_only, comdat, common, dup_common, is_zero;
int sort;
int access;
int space_index;
@@ -7942,8 +7965,8 @@ create_new_subspace (space, name, loadable, code_only, common,
}
#ifdef obj_set_subsection_attributes
- obj_set_subsection_attributes (seg, space->sd_seg, access,
- sort, quadrant);
+ obj_set_subsection_attributes (seg, space->sd_seg, access, sort,
+ quadrant, comdat, common, dup_common);
#endif
return chain_entry;
@@ -7953,12 +7976,13 @@ create_new_subspace (space, name, loadable, code_only, common,
various arguments. Return the modified subspace chain entry. */
static ssd_chain_struct *
-update_subspace (space, name, loadable, code_only, common, dup_common, sort,
- zero, access, space_index, alignment, quadrant, section)
+update_subspace (space, name, loadable, code_only, comdat, common, dup_common,
+ sort, zero, access, space_index, alignment, quadrant, section)
sd_chain_struct *space;
char *name;
int loadable;
int code_only;
+ int comdat;
int common;
int dup_common;
int zero;
@@ -7974,8 +7998,8 @@ update_subspace (space, name, loadable, code_only, common, dup_common, sort,
chain_entry = is_defined_subspace (name);
#ifdef obj_set_subsection_attributes
- obj_set_subsection_attributes (section, space->sd_seg, access,
- sort, quadrant);
+ obj_set_subsection_attributes (section, space->sd_seg, access, sort,
+ quadrant, comdat, common, dup_common);
#endif
return chain_entry;
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 5de6a55..f37c259 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -76,6 +76,9 @@ static void set_code_flag PARAMS ((int));
static void set_16bit_gcc_code_flag PARAMS ((int));
static void set_intel_syntax PARAMS ((int));
static void set_cpu_arch PARAMS ((int));
+#ifdef TE_PE
+static void pe_directive_secrel PARAMS ((int));
+#endif
static char *output_invalid PARAMS ((int c));
static int i386_operand PARAMS ((char *operand_string));
static int i386_intel_operand PARAMS ((char *operand_string, int got_a_float));
@@ -444,6 +447,9 @@ const pseudo_typeS md_pseudo_table[] =
{"att_syntax", set_intel_syntax, 0},
{"file", (void (*) PARAMS ((int))) dwarf2_directive_file, 0},
{"loc", dwarf2_directive_loc, 0},
+#ifdef TE_PE
+ {"secrel32", pe_directive_secrel, 0},
+#endif
{0, 0, 0}
};
@@ -3638,6 +3644,50 @@ x86_cons (exp, size)
}
#endif
+#ifdef TE_PE
+
+#define O_secrel (O_max + 1)
+
+void
+x86_pe_cons_fix_new (frag, off, len, exp)
+ fragS *frag;
+ unsigned int off;
+ unsigned int len;
+ expressionS *exp;
+{
+ enum bfd_reloc_code_real r = reloc (len, 0, 0, NO_RELOC);
+
+ if (exp->X_op == O_secrel)
+ {
+ exp->X_op = O_symbol;
+ r = BFD_RELOC_32_SECREL;
+ }
+
+ fix_new_exp (frag, off, len, exp, 0, r);
+}
+
+static void
+pe_directive_secrel (dummy)
+ int dummy ATTRIBUTE_UNUSED;
+{
+ expressionS exp;
+
+ do
+ {
+ expression (&exp);
+ if (exp.X_op == O_symbol)
+ exp.X_op = O_secrel;
+
+ emit_expr (&exp, 4);
+ }
+ while (*input_line_pointer++ == ',');
+
+ input_line_pointer--;
+ demand_empty_rest_of_line ();
+}
+
+#endif
+
static int i386_immediate PARAMS ((char *));
static int
@@ -5165,6 +5215,9 @@ tc_gen_reloc (section, fixp)
case BFD_RELOC_RVA:
case BFD_RELOC_VTABLE_ENTRY:
case BFD_RELOC_VTABLE_INHERIT:
+#ifdef TE_PE
+ case BFD_RELOC_32_SECREL:
+#endif
code = fixp->fx_r_type;
break;
default:
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 14b522b..5c48f58 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -408,6 +408,12 @@ extern void x86_cons_fix_new
PARAMS ((fragS *, unsigned int, unsigned int, expressionS *));
#endif
+#ifdef TE_PE
+#define TC_CONS_FIX_NEW(FRAG,OFF,LEN,EXP) x86_pe_cons_fix_new(FRAG, OFF, LEN, EXP)
+extern void x86_pe_cons_fix_new
+ PARAMS ((fragS *, unsigned int, unsigned int, expressionS *));
+#endif
+
#define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs */
#define NO_RELOC BFD_RELOC_NONE
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index fe66ffa..f5526c9 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -636,6 +636,9 @@ static struct gr {
valueT value;
} gr_values[128] = {{ 1, 0, 0 }};
+/* Remember the alignment frag. */
+static fragS *align_frag;
+
/* These are the routines required to output the various types of
unwind records. */
@@ -702,6 +705,7 @@ static int ar_is_in_integer_unit PARAMS ((int regnum));
static void set_section PARAMS ((char *name));
static unsigned int set_regstack PARAMS ((unsigned int, unsigned int,
unsigned int, unsigned int));
+static void dot_align (int);
static void dot_radix PARAMS ((int));
static void dot_special_section PARAMS ((int));
static void dot_proc PARAMS ((int));
@@ -898,9 +902,10 @@ static void process_unw_records PARAMS ((unw_rec_list *, vbyte_func));
static int calc_record_size PARAMS ((unw_rec_list *));
static void set_imask PARAMS ((unw_rec_list *, unsigned long, unsigned long, unsigned int));
static unsigned long slot_index PARAMS ((unsigned long, fragS *,
- unsigned long, fragS *));
+ unsigned long, fragS *,
+ int));
static unw_rec_list *optimize_unw_records PARAMS ((unw_rec_list *));
-static void fixup_unw_records PARAMS ((unw_rec_list *));
+static void fixup_unw_records PARAMS ((unw_rec_list *, int));
static int convert_expr_to_ab_reg PARAMS ((expressionS *, unsigned int *, unsigned int *));
static int convert_expr_to_xy_reg PARAMS ((expressionS *, unsigned int *, unsigned int *));
static void generate_unwind_image PARAMS ((const char *));
@@ -1092,14 +1097,36 @@ ia64_flush_insns ()
here. Give an error for others. */
for (ptr = unwind.current_entry; ptr; ptr = ptr->next)
{
- if (ptr->r.type == prologue || ptr->r.type == prologue_gr
- || ptr->r.type == body || ptr->r.type == endp)
+ switch (ptr->r.type)
{
+ case prologue:
+ case prologue_gr:
+ case body:
+ case endp:
ptr->slot_number = (unsigned long) frag_more (0);
ptr->slot_frag = frag_now;
+ break;
+
+ /* Allow any record which doesn't have a "t" field (i.e.,
+ doesn't relate to a particular instruction). */
+ case unwabi:
+ case br_gr:
+ case copy_state:
+ case fr_mem:
+ case frgr_mem:
+ case gr_gr:
+ case gr_mem:
+ case label_state:
+ case rp_br:
+ case spill_base:
+ case spill_mask:
+ /* nothing */
+ break;
+
+ default:
+ as_bad (_("Unwind directive not followed by an instruction."));
+ break;
}
- else
- as_bad (_("Unwind directive not followed by an instruction."));
}
unwind.current_entry = NULL;
@@ -1109,9 +1136,8 @@ ia64_flush_insns ()
as_bad ("qualifying predicate not followed by instruction");
}
-void
-ia64_do_align (nbytes)
- int nbytes;
+static void
+ia64_do_align (int nbytes)
{
char *saved_input_line_pointer = input_line_pointer;
@@ -2590,14 +2616,16 @@ set_imask (region, regmask, t, type)
/* Return the number of instruction slots from FIRST_ADDR to SLOT_ADDR.
SLOT_FRAG is the frag containing SLOT_ADDR, and FIRST_FRAG is the frag
- containing FIRST_ADDR. */
+ containing FIRST_ADDR. If BEFORE_RELAX, then we use worst-case estimates
+ for frag sizes. */
unsigned long
-slot_index (slot_addr, slot_frag, first_addr, first_frag)
+slot_index (slot_addr, slot_frag, first_addr, first_frag, before_relax)
unsigned long slot_addr;
fragS *slot_frag;
unsigned long first_addr;
fragS *first_frag;
+ int before_relax;
{
unsigned long index = 0;
@@ -2612,10 +2640,10 @@ slot_index (slot_addr, slot_frag, first_addr, first_frag)
{
unsigned long start_addr = (unsigned long) &first_frag->fr_literal;
- if (finalize_syms)
+ if (! before_relax)
{
- /* We can get the final addresses only after relaxation is
- done. */
+ /* We can get the final addresses only during and after
+ relaxation. */
if (first_frag->fr_next && first_frag->fr_next->fr_address)
index += 3 * ((first_frag->fr_next->fr_address
- first_frag->fr_address
@@ -2694,8 +2722,9 @@ optimize_unw_records (list)
within each record to generate an image. */
static void
-fixup_unw_records (list)
+fixup_unw_records (list, before_relax)
unw_rec_list *list;
+ int before_relax;
{
unw_rec_list *ptr, *region = 0;
unsigned long first_addr = 0, rlen = 0, t;
@@ -2706,7 +2735,7 @@ fixup_unw_records (list)
if (ptr->slot_number == SLOT_NUM_NOT_SET)
as_bad (" Insn slot not set in unwind record.");
t = slot_index (ptr->slot_number, ptr->slot_frag,
- first_addr, first_frag);
+ first_addr, first_frag, before_relax);
switch (ptr->r.type)
{
case prologue:
@@ -2730,7 +2759,8 @@ fixup_unw_records (list)
last_frag = last->slot_frag;
break;
}
- size = slot_index (last_addr, last_frag, first_addr, first_frag);
+ size = slot_index (last_addr, last_frag, first_addr, first_frag,
+ before_relax);
rlen = ptr->r.record.r.rlen = size;
if (ptr->r.type == body)
/* End of region. */
@@ -2830,6 +2860,35 @@ fixup_unw_records (list)
}
}
+/* Estimate the size of a frag before relaxing. We only have one type of frag
+ to handle here, which is the unwind info frag. */
+
+int
+ia64_estimate_size_before_relax (fragS *frag,
+ asection *segtype ATTRIBUTE_UNUSED)
+{
+ unw_rec_list *list;
+ int len, size, pad;
+
+ /* ??? This code is identical to the first part of ia64_convert_frag. */
+ list = (unw_rec_list *) frag->fr_opcode;
+ fixup_unw_records (list, 0);
+
+ len = calc_record_size (list);
+ /* pad to pointer-size boundary. */
+ pad = len % md.pointer_size;
+ if (pad != 0)
+ len += md.pointer_size - pad;
+ /* Add 8 for the header + a pointer for the personality offset. */
+ size = len + 8 + md.pointer_size;
+
+ /* fr_var carries the max_chars that we created the fragment with.
+ We must, of course, have allocated enough memory earlier. */
+ assert (frag->fr_var >= size);
+
+ return frag->fr_fix + size;
+}
+
/* This function converts a rs_machine_dependent variant frag into a
normal fill frag with the unwind image from the the record list. */
void
@@ -2839,8 +2898,9 @@ ia64_convert_frag (fragS *frag)
int len, size, pad;
valueT flag_value;
+ /* ??? This code is identical to ia64_estimate_size_before_relax. */
list = (unw_rec_list *) frag->fr_opcode;
- fixup_unw_records (list);
+ fixup_unw_records (list, 0);
len = calc_record_size (list);
/* pad to pointer-size boundary. */
@@ -2974,6 +3034,14 @@ convert_expr_to_xy_reg (e, xy, regp)
}
static void
+dot_align (int arg)
+{
+ /* The current frag is an alignment frag. */
+ align_frag = frag_now;
+ s_align_bytes (arg);
+}
+
+static void
dot_radix (dummy)
int dummy ATTRIBUTE_UNUSED;
{
@@ -3264,7 +3332,7 @@ generate_unwind_image (text_name)
/* Generate the unwind record. */
list = optimize_unw_records (unwind.list);
- fixup_unw_records (list);
+ fixup_unw_records (list, 1);
size = calc_record_size (list);
if (size > 0 || unwind.force_unwind_entry)
@@ -3549,7 +3617,7 @@ dot_saveb (dummy)
add_unwind_entry (output_br_mem (brmask));
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
}
static void
@@ -3581,7 +3649,7 @@ dot_spill (dummy)
sep = parse_operand (&e);
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
if (e.X_op != O_constant)
as_bad ("Operand to .spill must be a constant");
@@ -3857,7 +3925,7 @@ dot_unwabi (dummy)
}
sep = parse_operand (&e2);
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
if (e1.X_op != O_constant)
{
@@ -3952,7 +4020,7 @@ dot_prologue (dummy)
as_bad ("No second operand to .prologue");
sep = parse_operand (&e2);
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
if (e1.X_op == O_constant)
{
@@ -4900,7 +4968,7 @@ const pseudo_typeS md_pseudo_table[] =
{ "lb", dot_scope, 0 },
{ "le", dot_scope, 1 },
#endif
- { "align", s_align_bytes, 0 },
+ { "align", dot_align, 0 },
{ "regstk", dot_regstk, 0 },
{ "rotr", dot_rot, DYNREG_GR },
{ "rotf", dot_rot, DYNREG_FR },
@@ -9933,7 +10001,27 @@ md_assemble (str)
flags = idesc->flags;
if ((flags & IA64_OPCODE_FIRST) != 0)
- insn_group_break (1, 0, 0);
+ {
+ /* The alignment frag has to end with a stop bit only if the
+ next instruction after the alignment directive has to be
+ the first instruction in an instruction group. */
+ if (align_frag)
+ {
+ while (align_frag->fr_type != rs_align_code)
+ {
+ align_frag = align_frag->fr_next;
+ if (!align_frag)
+ break;
+ }
+ /* align_frag can be NULL if there are directives in
+ between. */
+ if (align_frag && align_frag->fr_next == frag_now)
+ align_frag->tc_frag_data = 1;
+ }
+
+ insn_group_break (1, 0, 0);
+ }
+ align_frag = NULL;
if ((flags & IA64_OPCODE_NO_PRED) != 0 && qp_regno != 0)
{
@@ -10766,16 +10854,43 @@ ia64_handle_align (fragp)
static const unsigned char le_nop[]
= { 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00};
+ static const unsigned char le_nop_stop[]
+ = { 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00};
int bytes;
char *p;
+ const unsigned char *nop;
if (fragp->fr_type != rs_align_code)
return;
+ /* Check if this frag has to end with a stop bit. */
+ nop = fragp->tc_frag_data ? le_nop_stop : le_nop;
+
bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
p = fragp->fr_literal + fragp->fr_fix;
+ /* If no paddings are needed, we check if we need a stop bit. */
+ if (!bytes && fragp->tc_frag_data)
+ {
+ if (fragp->fr_fix < 16)
+#if 1
+ /* FIXME: It won't work with
+ .align 16
+ alloc r32=ar.pfs,1,2,4,0
+ */
+ ;
+#else
+ as_bad_where (fragp->fr_file, fragp->fr_line,
+ _("Can't add stop bit to mark end of instruction group"));
+#endif
+ else
+ /* Bundles are always in little-endian byte order. Make sure
+ the previous bundle has the stop bit. */
+ *(p - 16) |= 1;
+ }
+
/* Make sure we are on a 16-byte boundary, in case someone has been
putting data into a text section. */
if (bytes & 15)
@@ -10788,7 +10903,7 @@ ia64_handle_align (fragp)
}
/* Instruction bundles are always little-endian. */
- memcpy (p, le_nop, 16);
+ memcpy (p, nop, 16);
fragp->fr_var = 16;
}
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index d1a04ee..dcc2c29 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -86,7 +86,6 @@ struct ia64_fix
enum ia64_opnd opnd;
};
-extern void ia64_do_align PARAMS((int n));
extern void ia64_end_of_source PARAMS((void));
extern void ia64_start_line PARAMS((void));
extern int ia64_unrecognized_line PARAMS((int ch));
@@ -115,6 +114,7 @@ extern void ia64_handle_align PARAMS ((fragS *f));
extern void ia64_after_parse_args PARAMS ((void));
extern void ia64_dwarf2_emit_offset PARAMS ((symbolS *, unsigned int));
extern void ia64_check_label PARAMS ((symbolS *));
+extern int ia64_estimate_size_before_relax (fragS *, asection *);
extern void ia64_convert_frag (fragS *);
#define md_end() ia64_end_of_source ()
@@ -138,7 +138,7 @@ extern void ia64_convert_frag (fragS *);
#define md_create_short_jump(p,f,t,fr,s) \
as_fatal ("ia64_create_short_jump")
#define md_estimate_size_before_relax(f,s) \
- (f)->fr_var
+ ia64_estimate_size_before_relax(f,s)
#define md_elf_section_letter ia64_elf_section_letter
#define md_elf_section_flags ia64_elf_section_flags
#define TC_FIX_TYPE struct ia64_fix
@@ -154,6 +154,10 @@ extern void ia64_convert_frag (fragS *);
#define TC_DWARF2_EMIT_OFFSET ia64_dwarf2_emit_offset
#define tc_check_label(l) ia64_check_label (l)
+/* Record if an alignment frag should end with a stop bit. */
+#define TC_FRAG_TYPE int
+#define TC_FRAG_INIT(FRAGP) do {(FRAGP)->tc_frag_data = 0;}while (0)
+
#define MAX_MEM_FOR_RS_ALIGN_CODE (15 + 16)
#define WORKING_DOT_WORD /* don't do broken word processing for now */
diff --git a/gas/config/tc-iq2000.c b/gas/config/tc-iq2000.c
index 0ab650a..9f591d3 100644
--- a/gas/config/tc-iq2000.c
+++ b/gas/config/tc-iq2000.c
@@ -1,5 +1,5 @@
/* tc-iq2000.c -- Assembler for the Sitera IQ2000.
- Copyright (C) 2003 Free Software Foundation.
+ Copyright (C) 2003, 2004 Free Software Foundation.
This file is part of GAS, the GNU Assembler.
@@ -357,7 +357,7 @@ static const char * li_expn = "\n\
ori \\rt,%0,\\imm\n\
.elseif (\\imm & 0xffff0000 == 0xffff0000)\n\
addi \\rt,%0,\\imm\n\
- .elseif (\\imm & 0x0000ffff == 0)
+ .elseif (\\imm & 0x0000ffff == 0)\n\
lui \\rt,%uhi(\\imm)\n\
.else\n\
lui \\rt,%uhi(\\imm)\n\
diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c
index fb1c613..e990d9d 100644
--- a/gas/config/tc-m32r.c
+++ b/gas/config/tc-m32r.c
@@ -1,5 +1,5 @@
/* tc-m32r.c -- Assembler for the Renesas M32R.
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -109,7 +109,7 @@ static int enable_special = 0;
/* Non-zero if -bitinst has been specified, in which case support
for extended M32R bit-field instruction set should be enabled. */
-static int enable_special_m32r = 0;
+static int enable_special_m32r = 1;
/* Non-zero if -float has been specified, in which case support for
extended M32R floating point instruction set should be enabled. */
@@ -216,7 +216,8 @@ struct option md_longopts[] =
#define OPTION_NO_IGNORE_PARALLEL (OPTION_IGNORE_PARALLEL + 1)
#define OPTION_SPECIAL (OPTION_NO_IGNORE_PARALLEL + 1)
#define OPTION_SPECIAL_M32R (OPTION_SPECIAL + 1)
-#define OPTION_SPECIAL_FLOAT (OPTION_SPECIAL_M32R + 1)
+#define OPTION_NO_SPECIAL_M32R (OPTION_SPECIAL_M32R + 1)
+#define OPTION_SPECIAL_FLOAT (OPTION_NO_SPECIAL_M32R + 1)
#define OPTION_WARN_UNMATCHED (OPTION_SPECIAL_FLOAT + 1)
#define OPTION_NO_WARN_UNMATCHED (OPTION_WARN_UNMATCHED + 1)
{"m32r", no_argument, NULL, OPTION_M32R},
@@ -238,6 +239,7 @@ struct option md_longopts[] =
{"nIp", no_argument, NULL, OPTION_NO_IGNORE_PARALLEL},
{"hidden", no_argument, NULL, OPTION_SPECIAL},
{"bitinst", no_argument, NULL, OPTION_SPECIAL_M32R},
+ {"no-bitinst", no_argument, NULL, OPTION_NO_SPECIAL_M32R},
{"float", no_argument, NULL, OPTION_SPECIAL_FLOAT},
/* Sigh. I guess all warnings must now have both variants. */
{"warn-unmatched-high", no_argument, NULL, OPTION_WARN_UNMATCHED},
@@ -353,6 +355,10 @@ md_parse_option (c, arg)
enable_special_m32r = 1;
break;
+ case OPTION_NO_SPECIAL_M32R:
+ enable_special_m32r = 0;
+ break;
+
case OPTION_SPECIAL_FLOAT:
enable_special_float = 1;
break;
@@ -410,6 +416,8 @@ md_show_usage (stream)
fprintf (stream, _("\
-no-parallel disable -parallel\n"));
fprintf (stream, _("\
+ -no-bitinst disallow the M32R2's extended bit-field instructions\n"));
+ fprintf (stream, _("\
-O try to optimize code. Implies -parallel\n"));
fprintf (stream, _("\
@@ -1374,6 +1382,14 @@ md_assemble (str)
prev_insn.insn is NULL when we're on a 32 bit boundary. */
on_32bit_boundary_p = prev_insn.insn == NULL;
+ /* Change a frag to, if each insn to swap is in a different frag.
+ It must keep only one instruction in a frag. */
+ if (parallel() && on_32bit_boundary_p)
+ {
+ frag_wane (frag_now);
+ frag_new (0);
+ }
+
/* Look to see if this instruction can be combined with the
previous instruction to make one, parallel, 32 bit instruction.
If the previous instruction (potentially) changed the flow of
@@ -1434,13 +1450,25 @@ md_assemble (str)
else if (insn.frag->fr_opcode == insn.addr)
insn.frag->fr_opcode = prev_insn.addr;
- /* Update the addresses in any fixups.
- Note that we don't have to handle the case where each insn is in
- a different frag as we ensure they're in the same frag above. */
- for (i = 0; i < prev_insn.num_fixups; ++i)
- prev_insn.fixups[i]->fx_where += 2;
- for (i = 0; i < insn.num_fixups; ++i)
- insn.fixups[i]->fx_where -= 2;
+ /* Change a frag to, if each insn is in a different frag.
+ It must keep only one instruction in a frag. */
+ if (prev_insn.frag != insn.frag)
+ {
+ for (i = 0; i < prev_insn.num_fixups; ++i)
+ prev_insn.fixups[i]->fx_frag = insn.frag;
+ for (i = 0; i < insn.num_fixups; ++i)
+ insn.fixups[i]->fx_frag = prev_insn.frag;
+ }
+ else
+ {
+ /* Update the addresses in any fixups.
+ Note that we don't have to handle the case where each insn is in
+ a different frag as we ensure they're in the same frag above. */
+ for (i = 0; i < prev_insn.num_fixups; ++i)
+ prev_insn.fixups[i]->fx_where += 2;
+ for (i = 0; i < insn.num_fixups; ++i)
+ insn.fixups[i]->fx_where -= 2;
+ }
}
/* Keep track of whether we've seen a pair of 16 bit insns.
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 5bef34b..86fa9dc 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -371,52 +371,52 @@ struct m68k_cpu
static const struct m68k_cpu archs[] =
{
- { m68000, "68000", 0 },
- { m68010, "68010", 0 },
- { m68020, "68020", 0 },
- { m68030, "68030", 0 },
- { m68040, "68040", 0 },
- { m68060, "68060", 0 },
- { cpu32, "cpu32", 0 },
- { m68881, "68881", 0 },
- { m68851, "68851", 0 },
- { mcf5200, "5200", 0 },
- { mcf5206e,"5206e", 0 },
- { mcf528x, "528x", 0 },
- { mcf5307, "5307", 0 },
- { mcf5407, "5407", 0 },
- { mcfv4e, "cfv4e", 0 },
+ { m68000, "68000", 0 },
+ { m68010, "68010", 0 },
+ { m68020, "68020", 0 },
+ { m68030, "68030", 0 },
+ { m68040, "68040", 0 },
+ { m68060, "68060", 0 },
+ { cpu32, "cpu32", 0 },
+ { m68881, "68881", 0 },
+ { m68851, "68851", 0 },
+ { mcf5200, "5200", 0 },
+ { mcf5206e, "5206e", 0 },
+ { mcf528x|mcfmac, "528x", 0 },
+ { mcf5307|mcfmac, "5307", 0 },
+ { mcf5407|mcfmac, "5407", 0 },
+ { mcfv4e|mcfemac, "cfv4e", 0 },
/* Aliases (effectively, so far as gas is concerned) for the above
cpus. */
- { m68020, "68k", 1 },
- { m68000, "68008", 1 },
- { m68000, "68302", 1 },
- { m68000, "68306", 1 },
- { m68000, "68307", 1 },
- { m68000, "68322", 1 },
- { m68000, "68356", 1 },
- { m68000, "68ec000", 1 },
- { m68000, "68hc000", 1 },
- { m68000, "68hc001", 1 },
- { m68020, "68ec020", 1 },
- { m68030, "68ec030", 1 },
- { m68040, "68ec040", 1 },
- { m68060, "68ec060", 1 },
- { cpu32, "68330", 1 },
- { cpu32, "68331", 1 },
- { cpu32, "68332", 1 },
- { cpu32, "68333", 1 },
- { cpu32, "68334", 1 },
- { cpu32, "68336", 1 },
- { cpu32, "68340", 1 },
- { cpu32, "68341", 1 },
- { cpu32, "68349", 1 },
- { cpu32, "68360", 1 },
- { m68881, "68882", 1 },
- { mcf5200, "5202", 1 },
- { mcf5200, "5204", 1 },
- { mcf5200, "5206", 1 },
- { mcf5407, "cfv4", 1 },
+ { m68020, "68k", 1 },
+ { m68000, "68008", 1 },
+ { m68000, "68302", 1 },
+ { m68000, "68306", 1 },
+ { m68000, "68307", 1 },
+ { m68000, "68322", 1 },
+ { m68000, "68356", 1 },
+ { m68000, "68ec000", 1 },
+ { m68000, "68hc000", 1 },
+ { m68000, "68hc001", 1 },
+ { m68020, "68ec020", 1 },
+ { m68030, "68ec030", 1 },
+ { m68040, "68ec040", 1 },
+ { m68060, "68ec060", 1 },
+ { cpu32, "68330", 1 },
+ { cpu32, "68331", 1 },
+ { cpu32, "68332", 1 },
+ { cpu32, "68333", 1 },
+ { cpu32, "68334", 1 },
+ { cpu32, "68336", 1 },
+ { cpu32, "68340", 1 },
+ { cpu32, "68341", 1 },
+ { cpu32, "68349", 1 },
+ { cpu32, "68360", 1 },
+ { m68881, "68882", 1 },
+ { mcf5200, "5202", 1 },
+ { mcf5200, "5204", 1 },
+ { mcf5200, "5206", 1 },
+ { mcf5407|mcfmac, "cfv4", 1 },
};
static const int n_archs = sizeof (archs) / sizeof (archs[0]);
@@ -1505,6 +1505,14 @@ m68k_ip (instring)
++losing;
break;
+ case '4':
+ if (opP->mode != AINDR && opP->mode != AINC && opP->mode != ADEC
+ && (opP->mode != DISP
+ || opP->reg < ADDR0
+ || opP->reg > ADDR7))
+ ++losing;
+ break;
+
case 'B': /* FOO */
if (opP->mode != ABSL
|| (flag_long_jumps
@@ -1552,6 +1560,12 @@ m68k_ip (instring)
losing++;
break;
+ case 'e':
+ if (opP->reg != ACC && opP->reg != ACC1
+ && opP->reg != ACC2 && opP->reg != ACC3)
+ losing++;
+ break;
+
case 'F':
if (opP->mode != FPREG)
losing++;
@@ -1562,6 +1576,11 @@ m68k_ip (instring)
losing++;
break;
+ case 'g':
+ if (opP->reg != ACCEXT01 && opP->reg != ACCEXT23)
+ losing++;
+ break;
+
case 'H':
if (opP->reg != MASK)
losing++;
@@ -1574,6 +1593,11 @@ m68k_ip (instring)
losing++;
break;
+ case 'i':
+ if (opP->mode != LSH && opP->mode != RSH)
+ losing++;
+ break;
+
case 'J':
if (opP->mode != CONTROL
|| opP->reg < USP
@@ -1994,6 +2018,7 @@ m68k_ip (instring)
case 'w':
case 'y':
case 'z':
+ case '4':
#ifndef NO_68851
case '|':
#endif
@@ -2519,6 +2544,16 @@ m68k_ip (instring)
as_bad (_("unknown/incorrect operand"));
/* abort (); */
}
+
+ /* If s[0] is '4', then this is for the mac instructions
+ that can have a trailing_ampersand set. If so, set 0x100
+ bit on tmpreg so install_gen_operand can check for it and
+ set the appropriate bit (word2, bit 5). */
+ if (s[0] == '4')
+ {
+ if (opP->trailing_ampersand)
+ tmpreg |= 0x100;
+ }
install_gen_operand (s[1], tmpreg);
break;
@@ -2737,6 +2772,10 @@ m68k_ip (instring)
install_operand (s[1], opP->reg - DATA);
break;
+ case 'e': /* EMAC ACCx, reg/reg. */
+ install_operand (s[1], opP->reg - ACC);
+ break;
+
case 'E': /* Ignore it. */
break;
@@ -2744,6 +2783,10 @@ m68k_ip (instring)
install_operand (s[1], opP->reg - FP0);
break;
+ case 'g': /* EMAC ACCEXTx. */
+ install_operand (s[1], opP->reg - ACCEXT01);
+ break;
+
case 'G': /* Ignore it. */
case 'H':
break;
@@ -2753,6 +2796,10 @@ m68k_ip (instring)
install_operand (s[1], tmpreg);
break;
+ case 'i': /* MAC/EMAC scale factor. */
+ install_operand (s[1], opP->mode == LSH ? 0x1 : 0x3);
+ break;
+
case 'J': /* JF foo. */
switch (opP->reg)
{
@@ -3286,25 +3333,46 @@ install_operand (mode, val)
the_ins.opcode[0] |= ((val & 0x7) << 9);
the_ins.opcode[1] |= ((val & 0x10) << (7 - 4));
break;
- case 'n':
+ case 'n': /* MAC/EMAC Rx on !load. */
the_ins.opcode[0] |= ((val & 0x8) << (6 - 3));
the_ins.opcode[0] |= ((val & 0x7) << 9);
+ the_ins.opcode[1] |= ((val & 0x10) << (7 - 4));
break;
- case 'o':
+ case 'o': /* MAC/EMAC Rx on load. */
the_ins.opcode[1] |= val << 12;
the_ins.opcode[1] |= ((val & 0x10) << (7 - 4));
break;
- case 'M':
+ case 'M': /* MAC/EMAC Ry on !load. */
the_ins.opcode[0] |= (val & 0xF);
the_ins.opcode[1] |= ((val & 0x10) << (6 - 4));
break;
- case 'N':
+ case 'N': /* MAC/EMAC Ry on load. */
the_ins.opcode[1] |= (val & 0xF);
the_ins.opcode[1] |= ((val & 0x10) << (6 - 4));
break;
case 'h':
the_ins.opcode[1] |= ((val != 1) << 10);
break;
+ case 'F':
+ the_ins.opcode[0] |= ((val & 0x3) << 9);
+ break;
+ case 'f':
+ the_ins.opcode[0] |= ((val & 0x3) << 0);
+ break;
+ case 'G':
+ the_ins.opcode[0] |= ((~val & 0x1) << 7);
+ the_ins.opcode[1] |= ((val & 0x2) << (4 - 1));
+ break;
+ case 'H':
+ the_ins.opcode[0] |= ((val & 0x1) << 7);
+ the_ins.opcode[1] |= ((val & 0x2) << (4 - 1));
+ break;
+ case 'I':
+ the_ins.opcode[1] |= ((val & 0x3) << 9);
+ break;
+ case ']':
+ the_ins.opcode[0] |= (val & 0x1) <<10;
+ break;
case 'c':
default:
as_fatal (_("failed sanity check."));
@@ -3318,6 +3386,11 @@ install_gen_operand (mode, val)
{
switch (mode)
{
+ case '/': /* Special for mask loads for mac/msac insns with
+ possible mask; trailing_ampersend set in bit 8. */
+ the_ins.opcode[0] |= (val & 0x3f);
+ the_ins.opcode[1] |= (((val & 0x100) >> 8) << 5);
+ break;
case 's':
the_ins.opcode[0] |= val;
break;
@@ -3507,6 +3580,12 @@ static const struct init_entry init_table[] =
{ "cc", CCR },
{ "acc", ACC },
+ { "acc0", ACC },
+ { "acc1", ACC1 },
+ { "acc2", ACC2 },
+ { "acc3", ACC3 },
+ { "accext01", ACCEXT01 },
+ { "accext23", ACCEXT23 },
{ "macsr", MACSR },
{ "mask", MASK },
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index beaa11a..6f0db09 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -111,9 +111,7 @@ static char *mips_regmask_frag;
extern int target_big_endian;
/* The name of the readonly data section. */
-#define RDATA_SECTION_NAME (OUTPUT_FLAVOR == bfd_target_aout_flavour \
- ? ".data" \
- : OUTPUT_FLAVOR == bfd_target_ecoff_flavour \
+#define RDATA_SECTION_NAME (OUTPUT_FLAVOR == bfd_target_ecoff_flavour \
? ".rdata" \
: OUTPUT_FLAVOR == bfd_target_coff_flavour \
? ".rdata" \
@@ -281,13 +279,11 @@ static int mips_32bitmode = 0;
#define HAVE_64BIT_OBJECTS (mips_abi == N64_ABI)
-/* We can only have 64bit addresses if the object file format
- supports it. */
+/* We can only have 64bit addresses if the object file format supports it. */
#define HAVE_32BIT_ADDRESSES \
(HAVE_32BIT_GPRS \
- || ((bfd_arch_bits_per_address (stdoutput) == 32 \
- || ! HAVE_64BIT_OBJECTS) \
- && mips_pic != EMBEDDED_PIC))
+ || (bfd_arch_bits_per_address (stdoutput) == 32 \
+ || ! HAVE_64BIT_OBJECTS)) \
#define HAVE_64BIT_ADDRESSES (! HAVE_32BIT_ADDRESSES)
@@ -346,7 +342,6 @@ static int mips_32bitmode = 0;
|| mips_opts.arch == CPU_R10000 \
|| mips_opts.arch == CPU_R12000 \
|| mips_opts.arch == CPU_RM7000 \
- || mips_opts.arch == CPU_SB1 \
|| mips_opts.arch == CPU_VR5500 \
)
@@ -357,8 +352,6 @@ static int mips_32bitmode = 0;
level I. */
#define gpr_interlocks \
(mips_opts.isa != ISA_MIPS1 \
- || mips_opts.arch == CPU_VR5400 \
- || mips_opts.arch == CPU_VR5500 \
|| mips_opts.arch == CPU_R3900)
/* Whether the processor uses hardware interlocks to avoid delays
@@ -374,9 +367,6 @@ static int mips_32bitmode = 0;
&& mips_opts.isa != ISA_MIPS2 \
&& mips_opts.isa != ISA_MIPS3) \
|| mips_opts.arch == CPU_R4300 \
- || mips_opts.arch == CPU_VR5400 \
- || mips_opts.arch == CPU_VR5500 \
- || mips_opts.arch == CPU_SB1 \
)
/* Whether the processor uses hardware interlocks to protect reads
@@ -622,7 +612,7 @@ static const unsigned int mips16_to_32_reg_map[] =
16, 17, 2, 3, 4, 5, 6, 7
};
-static int mips_fix_4122_bugs;
+static int mips_fix_vr4120;
/* We don't relax branches by default, since this causes us to expand
`la .l2 - .l1' if there's a branch between .l1 and .l2, because we
@@ -1089,8 +1079,6 @@ mips_target_format (void)
{
switch (OUTPUT_FLAVOR)
{
- case bfd_target_aout_flavour:
- return target_big_endian ? "a.out-mips-big" : "a.out-mips-little";
case bfd_target_ecoff_flavour:
return target_big_endian ? "ecoff-bigmips" : ECOFF_LITTLE_FORMAT;
case bfd_target_coff_flavour:
@@ -1247,8 +1235,7 @@ md_begin (void)
/* set the default alignment for the text section (2**2) */
record_alignment (text_section, 2);
- if (USE_GLOBAL_POINTER_OPT)
- bfd_set_gp_size (stdoutput, g_switch_value);
+ bfd_set_gp_size (stdoutput, g_switch_value);
if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
{
@@ -1863,11 +1850,11 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
if (prev_prev_nop && nops == 0)
++nops;
- if (mips_fix_4122_bugs && prev_insn.insn_mo->name)
+ if (mips_fix_vr4120 && prev_insn.insn_mo->name)
{
/* We're out of bits in pinfo, so we must resort to string
ops here. Shortcuts are selected based on opcodes being
- limited to the VR4122 instruction set. */
+ limited to the VR4120 instruction set. */
int min_nops = 0;
const char *pn = prev_insn.insn_mo->name;
const char *tn = ip->insn_mo->name;
@@ -2494,11 +2481,6 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
|| (mips_opts.mips16
&& (pinfo & MIPS16_INSN_WRITE_31)
&& insn_uses_reg (&prev_insn, RA, MIPS_GR_REG))
- /* If we are generating embedded PIC code, the branch
- might be expanded into a sequence which uses $at, so
- we can't swap with an instruction which reads it. */
- || (mips_pic == EMBEDDED_PIC
- && insn_uses_reg (&prev_insn, AT, MIPS_GR_REG))
/* If the previous previous instruction has a load
delay, and sets a register that the branch reads, we
can not swap. */
@@ -2841,7 +2823,7 @@ mips_emit_delays (bfd_boolean insns)
++nops;
}
- if (mips_fix_4122_bugs && prev_insn.insn_mo->name)
+ if (mips_fix_vr4120 && prev_insn.insn_mo->name)
{
int min_nops = 0;
const char *pn = prev_insn.insn_mo->name;
@@ -3143,9 +3125,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...)
|| *r == BFD_RELOC_MIPS_GOT_PAGE
|| *r == BFD_RELOC_MIPS_GOT_OFST
|| *r == BFD_RELOC_MIPS_GOT_LO16
- || *r == BFD_RELOC_MIPS_CALL_LO16
- || (ep->X_op == O_subtract
- && *r == BFD_RELOC_PCREL_LO16));
+ || *r == BFD_RELOC_MIPS_CALL_LO16);
continue;
case 'u':
@@ -3158,9 +3138,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...)
|| *r == BFD_RELOC_HI16
|| *r == BFD_RELOC_GPREL16
|| *r == BFD_RELOC_MIPS_GOT_HI16
- || *r == BFD_RELOC_MIPS_CALL_HI16))
- || (ep->X_op == O_subtract
- && *r == BFD_RELOC_PCREL_HI16_S)));
+ || *r == BFD_RELOC_MIPS_CALL_HI16))));
continue;
case 'p':
@@ -3789,6 +3767,13 @@ load_register (int reg, expressionS *ep, int dbl)
macro_build (&lo32, "ori", "t,r,i", reg, freg, BFD_RELOC_LO16);
}
+static inline void
+load_delay_nop (void)
+{
+ if (!gpr_interlocks)
+ macro_build (NULL, "nop", "");
+}
+
/* Load an address into a register. */
static void
@@ -3922,7 +3907,7 @@ load_address (int reg, expressionS *ep, int *used_at)
ep->X_add_number = 0;
macro_build (ep, ADDRESS_LOAD_INSN, "t,o(b)", reg,
BFD_RELOC_MIPS_GOT16, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
relax_start (ep->X_add_symbol);
relax_switch ();
macro_build (ep, ADDRESS_ADDI_INSN, "t,r,j", reg, reg,
@@ -4007,7 +3992,7 @@ load_address (int reg, expressionS *ep, int *used_at)
}
macro_build (ep, ADDRESS_LOAD_INSN, "t,o(b)", reg,
BFD_RELOC_MIPS_GOT16, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (ep, ADDRESS_ADDI_INSN, "t,r,j", reg, reg,
BFD_RELOC_LO16);
relax_end ();
@@ -4022,14 +4007,6 @@ load_address (int reg, expressionS *ep, int *used_at)
}
}
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- /* We always do
- addiu $reg,$gp,<sym> (BFD_RELOC_GPREL16)
- */
- macro_build (ep, ADDRESS_ADDI_INSN, "t,r,j",
- reg, mips_gp_register, BFD_RELOC_GPREL16);
- }
else
abort ();
}
@@ -4888,50 +4865,6 @@ macro (struct mips_cl_insn *ip)
used_at = 0;
}
- /* When generating embedded PIC code, we permit expressions of
- the form
- la $treg,foo-bar
- la $treg,foo-bar($breg)
- where bar is an address in the current section. These are used
- when getting the addresses of functions. We don't permit
- X_add_number to be non-zero, because if the symbol is
- external the relaxing code needs to know that any addend is
- purely the offset to X_op_symbol. */
- if (mips_pic == EMBEDDED_PIC
- && offset_expr.X_op == O_subtract
- && (symbol_constant_p (offset_expr.X_op_symbol)
- ? S_GET_SEGMENT (offset_expr.X_op_symbol) == now_seg
- : (symbol_equated_p (offset_expr.X_op_symbol)
- && (S_GET_SEGMENT
- (symbol_get_value_expression (offset_expr.X_op_symbol)
- ->X_add_symbol)
- == now_seg)))
- && (offset_expr.X_add_number == 0
- || OUTPUT_FLAVOR == bfd_target_elf_flavour))
- {
- if (breg == 0)
- {
- tempreg = treg;
- used_at = 0;
- macro_build (&offset_expr, "lui", "t,u",
- tempreg, BFD_RELOC_PCREL_HI16_S);
- }
- else
- {
- macro_build (&offset_expr, "lui", "t,u",
- tempreg, BFD_RELOC_PCREL_HI16_S);
- macro_build (NULL,
- (dbl || HAVE_64BIT_ADDRESSES) ? "daddu" : "addu",
- "d,v,t", tempreg, tempreg, breg);
- }
- macro_build (&offset_expr,
- (dbl || HAVE_64BIT_ADDRESSES) ? "daddiu" : "addiu",
- "t,r,j", treg, tempreg, BFD_RELOC_PCREL_LO16);
- if (! used_at)
- return;
- break;
- }
-
if (offset_expr.X_op != O_symbol
&& offset_expr.X_op != O_constant)
{
@@ -4941,7 +4874,7 @@ macro (struct mips_cl_insn *ip)
if (offset_expr.X_op == O_constant)
load_register (tempreg, &offset_expr,
- ((mips_pic == EMBEDDED_PIC || mips_pic == NO_PIC)
+ (mips_pic == NO_PIC
? (dbl || HAVE_64BIT_ADDRESSES)
: HAVE_64BIT_ADDRESSES));
else if (mips_pic == NO_PIC)
@@ -5069,12 +5002,12 @@ macro (struct mips_cl_insn *ip)
/* We're going to put in an addu instruction using
tempreg, so we may as well insert the nop right
now. */
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
}
relax_switch ();
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)",
tempreg, BFD_RELOC_MIPS_GOT16, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j",
tempreg, tempreg, BFD_RELOC_LO16);
relax_end ();
@@ -5086,7 +5019,7 @@ macro (struct mips_cl_insn *ip)
&& offset_expr.X_add_number < 0x8000)
{
load_got_offset (tempreg, &offset_expr);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
add_got_offset (tempreg, &offset_expr);
}
else
@@ -5105,7 +5038,7 @@ macro (struct mips_cl_insn *ip)
not using a base register. */
if (breg == treg)
{
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
treg, AT, breg);
breg = 0;
@@ -5288,13 +5221,13 @@ macro (struct mips_cl_insn *ip)
/* We're going to put in an addu instruction using
tempreg, so we may as well insert the nop right
now. */
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
}
}
else if (expr1.X_add_number >= -0x8000
&& expr1.X_add_number < 0x8000)
{
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (&expr1, ADDRESS_ADDI_INSN, "t,r,j",
tempreg, tempreg, BFD_RELOC_LO16);
}
@@ -5314,7 +5247,7 @@ macro (struct mips_cl_insn *ip)
else
{
assert (tempreg == AT);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
treg, AT, breg);
dreg = treg;
@@ -5341,7 +5274,7 @@ macro (struct mips_cl_insn *ip)
if (expr1.X_add_number >= -0x8000
&& expr1.X_add_number < 0x8000)
{
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j",
tempreg, tempreg, BFD_RELOC_LO16);
/* FIXME: If add_number is 0, and there was no base
@@ -5357,7 +5290,7 @@ macro (struct mips_cl_insn *ip)
/* We must add in the base register now, as in the
external symbol case. */
assert (tempreg == AT);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
treg, AT, breg);
tempreg = treg;
@@ -5481,14 +5414,6 @@ macro (struct mips_cl_insn *ip)
}
relax_end ();
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- /* We use
- addiu $tempreg,$gp,<sym> (BFD_RELOC_GPREL16)
- */
- macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j", tempreg,
- mips_gp_register, BFD_RELOC_GPREL16);
- }
else
abort ();
@@ -5496,7 +5421,7 @@ macro (struct mips_cl_insn *ip)
{
char *s;
- if (mips_pic == EMBEDDED_PIC || mips_pic == NO_PIC)
+ if (mips_pic == NO_PIC)
s = (dbl || HAVE_64BIT_ADDRESSES) ? "daddu" : "addu";
else
s = ADDRESS_ADD_INSN;
@@ -5526,8 +5451,7 @@ macro (struct mips_cl_insn *ip)
dreg = RA;
/* Fall through. */
case M_JAL_2:
- if (mips_pic == NO_PIC
- || mips_pic == EMBEDDED_PIC)
+ if (mips_pic == NO_PIC)
macro_build (NULL, "jalr", "d,s", dreg, sreg);
else if (mips_pic == SVR4_PIC)
{
@@ -5643,7 +5567,7 @@ macro (struct mips_cl_insn *ip)
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)",
PIC_CALL_REG, BFD_RELOC_MIPS_CALL16,
mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
relax_switch ();
}
else
@@ -5658,7 +5582,7 @@ macro (struct mips_cl_insn *ip)
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)",
PIC_CALL_REG, BFD_RELOC_MIPS_CALL_LO16,
PIC_CALL_REG);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
relax_switch ();
if (gpdelay)
macro_build (NULL, "nop", "");
@@ -5666,7 +5590,7 @@ macro (struct mips_cl_insn *ip)
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)",
PIC_CALL_REG, BFD_RELOC_MIPS_GOT16,
mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j",
PIC_CALL_REG, PIC_CALL_REG, BFD_RELOC_LO16);
relax_end ();
@@ -5698,13 +5622,6 @@ macro (struct mips_cl_insn *ip)
}
}
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- macro_build (&offset_expr, "bal", "p");
- /* The linker may expand the call to a longer sequence which
- uses $at, so we must break rather than return. */
- break;
- }
else
abort ();
@@ -5900,46 +5817,6 @@ macro (struct mips_cl_insn *ip)
^ 0x80000000) - 0x80000000);
}
- /* For embedded PIC, we allow loads where the offset is calculated
- by subtracting a symbol in the current segment from an unknown
- symbol, relative to a base register, e.g.:
- <op> $treg, <sym>-<localsym>($breg)
- This is used by the compiler for switch statements. */
- if (mips_pic == EMBEDDED_PIC
- && offset_expr.X_op == O_subtract
- && (symbol_constant_p (offset_expr.X_op_symbol)
- ? S_GET_SEGMENT (offset_expr.X_op_symbol) == now_seg
- : (symbol_equated_p (offset_expr.X_op_symbol)
- && (S_GET_SEGMENT
- (symbol_get_value_expression (offset_expr.X_op_symbol)
- ->X_add_symbol)
- == now_seg)))
- && breg != 0
- && (offset_expr.X_add_number == 0
- || OUTPUT_FLAVOR == bfd_target_elf_flavour))
- {
- /* For this case, we output the instructions:
- lui $tempreg,<sym> (BFD_RELOC_PCREL_HI16_S)
- addiu $tempreg,$tempreg,$breg
- <op> $treg,<sym>($tempreg) (BFD_RELOC_PCREL_LO16)
- If the relocation would fit entirely in 16 bits, it would be
- nice to emit:
- <op> $treg,<sym>($breg) (BFD_RELOC_PCREL_LO16)
- instead, but that seems quite difficult. */
- macro_build (&offset_expr, "lui", "t,u", tempreg,
- BFD_RELOC_PCREL_HI16_S);
- macro_build (NULL,
- ((bfd_arch_bits_per_address (stdoutput) == 32
- || ! ISA_HAS_64BIT_REGS (mips_opts.isa))
- ? "addu" : "daddu"),
- "d,v,t", tempreg, tempreg, breg);
- macro_build (&offset_expr, s, fmt, treg,
- BFD_RELOC_PCREL_LO16, tempreg);
- if (! used_at)
- return;
- break;
- }
-
if (offset_expr.X_op != O_constant
&& offset_expr.X_op != O_symbol)
{
@@ -6166,7 +6043,7 @@ macro (struct mips_cl_insn *ip)
as_bad (_("PIC code offset overflow (max 16 signed bits)"));
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", tempreg,
lw_reloc_type, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
relax_start (offset_expr.X_add_symbol);
relax_switch ();
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j", tempreg,
@@ -6216,7 +6093,7 @@ macro (struct mips_cl_insn *ip)
macro_build (NULL, "nop", "");
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", tempreg,
BFD_RELOC_MIPS_GOT16, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j", tempreg,
tempreg, BFD_RELOC_LO16);
relax_end ();
@@ -6265,29 +6142,6 @@ macro (struct mips_cl_insn *ip)
BFD_RELOC_MIPS_GOT_OFST, tempreg);
relax_end ();
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- /* If there is no base register, we want
- <op> $treg,<sym>($gp) (BFD_RELOC_GPREL16)
- If there is a base register, we want
- addu $tempreg,$breg,$gp
- <op> $treg,<sym>($tempreg) (BFD_RELOC_GPREL16)
- */
- assert (offset_expr.X_op == O_symbol);
- if (breg == 0)
- {
- macro_build (&offset_expr, s, fmt, treg, BFD_RELOC_GPREL16,
- mips_gp_register);
- used_at = 0;
- }
- else
- {
- macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
- tempreg, breg, mips_gp_register);
- macro_build (&offset_expr, s, fmt, treg,
- BFD_RELOC_GPREL16, tempreg);
- }
- }
else
abort ();
@@ -6375,15 +6229,6 @@ macro (struct mips_cl_insn *ip)
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", AT,
BFD_RELOC_MIPS_GOT16, mips_gp_register);
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- /* For embedded PIC we pick up the entire address off $gp in
- a single instruction. */
- macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j", AT,
- mips_gp_register, BFD_RELOC_GPREL16);
- offset_expr.X_op = O_constant;
- offset_expr.X_add_number = 0;
- }
else
abort ();
@@ -6564,11 +6409,6 @@ macro (struct mips_cl_insn *ip)
fmt = "t,o(b)";
ldd_std:
- /* We do _not_ bother to allow embedded PIC (symbol-local_symbol)
- loads for the case of doing a pair of loads to simulate an 'ld'.
- This is not currently done by the compiler, and assembly coders
- writing embedded-pic code can cope. */
-
if (offset_expr.X_op != O_symbol
&& offset_expr.X_op != O_constant)
{
@@ -6691,7 +6531,7 @@ macro (struct mips_cl_insn *ip)
|| expr1.X_add_number >= 0x8000 - 4)
as_bad (_("PIC code offset overflow (max 16 signed bits)"));
load_got_offset (AT, &offset_expr);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
if (breg != 0)
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", AT, breg, AT);
@@ -6750,7 +6590,7 @@ macro (struct mips_cl_insn *ip)
AT, AT, mips_gp_register);
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)",
AT, BFD_RELOC_MIPS_GOT_LO16, AT);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
if (breg != 0)
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", AT, breg, AT);
/* Itbl support may require additional care here. */
@@ -6774,7 +6614,7 @@ macro (struct mips_cl_insn *ip)
macro_build (NULL, "nop", "");
macro_build (&offset_expr, ADDRESS_LOAD_INSN, "t,o(b)", AT,
BFD_RELOC_MIPS_GOT16, mips_gp_register);
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
if (breg != 0)
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", AT, breg, AT);
/* Itbl support may require additional care here. */
@@ -6792,37 +6632,6 @@ macro (struct mips_cl_insn *ip)
mips_optimize = hold_mips_optimize;
relax_end ();
}
- else if (mips_pic == EMBEDDED_PIC)
- {
- /* If there is no base register, we use
- <op> $treg,<sym>($gp) (BFD_RELOC_GPREL16)
- <op> $treg+1,<sym>+4($gp) (BFD_RELOC_GPREL16)
- If we have a base register, we use
- addu $at,$breg,$gp
- <op> $treg,<sym>($at) (BFD_RELOC_GPREL16)
- <op> $treg+1,<sym>+4($at) (BFD_RELOC_GPREL16)
- */
- if (breg == 0)
- {
- tempreg = mips_gp_register;
- used_at = 0;
- }
- else
- {
- macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
- AT, breg, mips_gp_register);
- tempreg = AT;
- used_at = 1;
- }
-
- /* Itbl support may require additional care here. */
- macro_build (&offset_expr, s, fmt, coproc ? treg + 1 : treg,
- BFD_RELOC_GPREL16, tempreg);
- offset_expr.X_add_number += 4;
- /* Itbl support may require additional care here. */
- macro_build (&offset_expr, s, fmt, coproc ? treg : treg + 1,
- BFD_RELOC_GPREL16, tempreg);
- }
else
abort ();
@@ -7553,8 +7362,7 @@ macro2 (struct mips_cl_insn *ip)
if (treg == tempreg)
return;
/* Protect second load's delay slot. */
- if (!gpr_interlocks)
- macro_build (NULL, "nop", "");
+ load_delay_nop ();
move_register (treg, tempreg);
break;
@@ -8862,13 +8670,6 @@ do_msbd:
The .lit4 and .lit8 sections are only used if
permitted by the -G argument.
- When generating embedded PIC code, we use the
- .lit8 section but not the .lit4 section (we can do
- .lit4 inline easily; we need to put .lit8
- somewhere in the data segment, and using .lit8
- permits the linker to eventually combine identical
- .lit8 entries).
-
The code below needs to know whether the target register
is 32 or 64 bits wide. It relies on the fact 'f' and
'F' are used with GPR-based instructions and 'l' and
@@ -8894,9 +8695,7 @@ do_msbd:
if (*args == 'f'
|| (*args == 'l'
- && (! USE_GLOBAL_POINTER_OPT
- || mips_pic == EMBEDDED_PIC
- || g_switch_value < 4
+ && (g_switch_value < 4
|| (temp[0] == 0 && temp[1] == 0)
|| (temp[2] == 0 && temp[3] == 0))))
{
@@ -8983,19 +8782,14 @@ do_msbd:
default: /* unused default case avoids warnings. */
case 'L':
newname = RDATA_SECTION_NAME;
- if ((USE_GLOBAL_POINTER_OPT && g_switch_value >= 8)
- || mips_pic == EMBEDDED_PIC)
+ if (g_switch_value >= 8)
newname = ".lit8";
break;
case 'F':
- if (mips_pic == EMBEDDED_PIC)
- newname = ".lit8";
- else
- newname = RDATA_SECTION_NAME;
+ newname = RDATA_SECTION_NAME;
break;
case 'l':
- assert (!USE_GLOBAL_POINTER_OPT
- || g_switch_value >= 4);
+ assert (g_switch_value >= 4);
newname = ".lit4";
break;
}
@@ -10254,45 +10048,43 @@ struct option md_longopts[] =
#define OPTION_MNO_7000_HILO_FIX (OPTION_FIX_BASE + 1)
{"no-fix-7000", no_argument, NULL, OPTION_MNO_7000_HILO_FIX},
{"mno-fix7000", no_argument, NULL, OPTION_MNO_7000_HILO_FIX},
-#define OPTION_FIX_VR4122 (OPTION_FIX_BASE + 2)
-#define OPTION_NO_FIX_VR4122 (OPTION_FIX_BASE + 3)
- {"mfix-vr4122-bugs", no_argument, NULL, OPTION_FIX_VR4122},
- {"no-mfix-vr4122-bugs", no_argument, NULL, OPTION_NO_FIX_VR4122},
+#define OPTION_FIX_VR4120 (OPTION_FIX_BASE + 2)
+#define OPTION_NO_FIX_VR4120 (OPTION_FIX_BASE + 3)
+ {"mfix-vr4120", no_argument, NULL, OPTION_FIX_VR4120},
+ {"mno-fix-vr4120", no_argument, NULL, OPTION_NO_FIX_VR4120},
/* Miscellaneous options. */
#define OPTION_MISC_BASE (OPTION_FIX_BASE + 4)
-#define OPTION_MEMBEDDED_PIC (OPTION_MISC_BASE + 0)
- {"membedded-pic", no_argument, NULL, OPTION_MEMBEDDED_PIC},
-#define OPTION_TRAP (OPTION_MISC_BASE + 1)
+#define OPTION_TRAP (OPTION_MISC_BASE + 0)
{"trap", no_argument, NULL, OPTION_TRAP},
{"no-break", no_argument, NULL, OPTION_TRAP},
-#define OPTION_BREAK (OPTION_MISC_BASE + 2)
+#define OPTION_BREAK (OPTION_MISC_BASE + 1)
{"break", no_argument, NULL, OPTION_BREAK},
{"no-trap", no_argument, NULL, OPTION_BREAK},
-#define OPTION_EB (OPTION_MISC_BASE + 3)
+#define OPTION_EB (OPTION_MISC_BASE + 2)
{"EB", no_argument, NULL, OPTION_EB},
-#define OPTION_EL (OPTION_MISC_BASE + 4)
+#define OPTION_EL (OPTION_MISC_BASE + 3)
{"EL", no_argument, NULL, OPTION_EL},
-#define OPTION_FP32 (OPTION_MISC_BASE + 5)
+#define OPTION_FP32 (OPTION_MISC_BASE + 4)
{"mfp32", no_argument, NULL, OPTION_FP32},
-#define OPTION_GP32 (OPTION_MISC_BASE + 6)
+#define OPTION_GP32 (OPTION_MISC_BASE + 5)
{"mgp32", no_argument, NULL, OPTION_GP32},
-#define OPTION_CONSTRUCT_FLOATS (OPTION_MISC_BASE + 7)
+#define OPTION_CONSTRUCT_FLOATS (OPTION_MISC_BASE + 6)
{"construct-floats", no_argument, NULL, OPTION_CONSTRUCT_FLOATS},
-#define OPTION_NO_CONSTRUCT_FLOATS (OPTION_MISC_BASE + 8)
+#define OPTION_NO_CONSTRUCT_FLOATS (OPTION_MISC_BASE + 7)
{"no-construct-floats", no_argument, NULL, OPTION_NO_CONSTRUCT_FLOATS},
-#define OPTION_FP64 (OPTION_MISC_BASE + 9)
+#define OPTION_FP64 (OPTION_MISC_BASE + 8)
{"mfp64", no_argument, NULL, OPTION_FP64},
-#define OPTION_GP64 (OPTION_MISC_BASE + 10)
+#define OPTION_GP64 (OPTION_MISC_BASE + 9)
{"mgp64", no_argument, NULL, OPTION_GP64},
-#define OPTION_RELAX_BRANCH (OPTION_MISC_BASE + 11)
-#define OPTION_NO_RELAX_BRANCH (OPTION_MISC_BASE + 12)
+#define OPTION_RELAX_BRANCH (OPTION_MISC_BASE + 10)
+#define OPTION_NO_RELAX_BRANCH (OPTION_MISC_BASE + 11)
{"relax-branch", no_argument, NULL, OPTION_RELAX_BRANCH},
{"no-relax-branch", no_argument, NULL, OPTION_NO_RELAX_BRANCH},
/* ELF-specific options. */
#ifdef OBJ_ELF
-#define OPTION_ELF_BASE (OPTION_MISC_BASE + 13)
+#define OPTION_ELF_BASE (OPTION_MISC_BASE + 12)
#define OPTION_CALL_SHARED (OPTION_ELF_BASE + 0)
{"KPIC", no_argument, NULL, OPTION_CALL_SHARED},
{"call_shared", no_argument, NULL, OPTION_CALL_SHARED},
@@ -10489,22 +10281,12 @@ md_parse_option (int c, char *arg)
mips_opts.ase_mips3d = 0;
break;
- case OPTION_MEMBEDDED_PIC:
- mips_pic = EMBEDDED_PIC;
- if (USE_GLOBAL_POINTER_OPT && g_switch_seen)
- {
- as_bad (_("-G may not be used with embedded PIC code"));
- return 0;
- }
- g_switch_value = 0x7fffffff;
+ case OPTION_FIX_VR4120:
+ mips_fix_vr4120 = 1;
break;
- case OPTION_FIX_VR4122:
- mips_fix_4122_bugs = 1;
- break;
-
- case OPTION_NO_FIX_VR4122:
- mips_fix_4122_bugs = 0;
+ case OPTION_NO_FIX_VR4120:
+ mips_fix_vr4120 = 0;
break;
case OPTION_RELAX_BRANCH:
@@ -10554,14 +10336,9 @@ md_parse_option (int c, char *arg)
#endif /* OBJ_ELF */
case 'G':
- if (! USE_GLOBAL_POINTER_OPT)
- {
- as_bad (_("-G is not supported for this configuration"));
- return 0;
- }
- else if (mips_pic == SVR4_PIC || mips_pic == EMBEDDED_PIC)
+ if (mips_pic == SVR4_PIC)
{
- as_bad (_("-G may not be used with SVR4 or embedded PIC code"));
+ as_bad (_("-G may not be used with SVR4 PIC code"));
return 0;
}
else
@@ -10962,24 +10739,7 @@ mips_frob_file (void)
}
}
-/* When generating embedded PIC code we need to use a special
- relocation to represent the difference of two symbols in the .text
- section (switch tables use a difference of this sort). See
- include/coff/mips.h for details. This macro checks whether this
- fixup requires the special reloc. */
-#define SWITCH_TABLE(fixp) \
- ((fixp)->fx_r_type == BFD_RELOC_32 \
- && OUTPUT_FLAVOR != bfd_target_elf_flavour \
- && (fixp)->fx_addsy != NULL \
- && (fixp)->fx_subsy != NULL \
- && S_GET_SEGMENT ((fixp)->fx_addsy) == text_section \
- && S_GET_SEGMENT ((fixp)->fx_subsy) == text_section)
-
-/* When generating embedded PIC code we must keep all PC relative
- relocations, in case the linker has to relax a call. We also need
- to keep relocations for switch table entries.
-
- We may have combined relocations without symbols in the N32/N64 ABI.
+/* We may have combined relocations without symbols in the N32/N64 ABI.
We have to prevent gas from dropping them. */
int
@@ -10995,11 +10755,7 @@ mips_force_relocation (fixS *fixp)
|| fixp->fx_r_type == BFD_RELOC_LO16))
return 1;
- return (mips_pic == EMBEDDED_PIC
- && (fixp->fx_pcrel
- || SWITCH_TABLE (fixp)
- || fixp->fx_r_type == BFD_RELOC_PCREL_HI16_S
- || fixp->fx_r_type == BFD_RELOC_PCREL_LO16));
+ return 0;
}
/* This hook is called before a fix is simplified. We don't really
@@ -11039,9 +10795,8 @@ mips_validate_fix (struct fix *fixP, asection *seg)
whole function). */
if (fixP->fx_r_type == BFD_RELOC_16_PCREL_S2
- && (((OUTPUT_FLAVOR == bfd_target_ecoff_flavour
- || OUTPUT_FLAVOR == bfd_target_elf_flavour)
- && mips_pic != EMBEDDED_PIC)
+ && ((OUTPUT_FLAVOR == bfd_target_ecoff_flavour
+ || OUTPUT_FLAVOR == bfd_target_elf_flavour)
|| bfd_reloc_type_lookup (stdoutput, BFD_RELOC_16_PCREL_S2) == NULL)
&& fixP->fx_addsy)
{
@@ -11106,7 +10861,8 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
buf = (bfd_byte *) (fixP->fx_frag->fr_literal + fixP->fx_where);
/* We are not done if this is a composite relocation to set up gp. */
- if (fixP->fx_addsy == NULL && ! fixP->fx_pcrel
+ assert (! fixP->fx_pcrel);
+ if (fixP->fx_addsy == NULL
&& !(fixP->fx_r_type == BFD_RELOC_MIPS_SUB
|| (fixP->fx_r_type == BFD_RELOC_64
&& (previous_fx_r_type == BFD_RELOC_GPREL32
@@ -11147,9 +10903,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
case BFD_RELOC_MIPS_CALL_HI16:
case BFD_RELOC_MIPS_CALL_LO16:
case BFD_RELOC_MIPS16_GPREL:
- if (fixP->fx_pcrel)
- as_bad_where (fixP->fx_file, fixP->fx_line,
- _("Invalid PC relative reloc"));
+ assert (! fixP->fx_pcrel);
/* Nothing needed to do. The value comes from the reloc entry */
break;
@@ -11160,44 +10914,10 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
*valP = 0;
break;
- case BFD_RELOC_PCREL_HI16_S:
- /* The addend for this is tricky if it is internal, so we just
- do everything here rather than in bfd_install_relocation. */
- if (OUTPUT_FLAVOR == bfd_target_elf_flavour && !fixP->fx_done)
- break;
- if (fixP->fx_addsy
- && (symbol_get_bfdsym (fixP->fx_addsy)->flags & BSF_SECTION_SYM) == 0)
- {
- /* For an external symbol adjust by the address to make it
- pcrel_offset. We use the address of the RELLO reloc
- which follows this one. */
- *valP += (fixP->fx_next->fx_frag->fr_address
- + fixP->fx_next->fx_where);
- }
- *valP = ((*valP + 0x8000) >> 16) & 0xffff;
- if (target_big_endian)
- buf += 2;
- md_number_to_chars (buf, *valP, 2);
- break;
-
- case BFD_RELOC_PCREL_LO16:
- /* The addend for this is tricky if it is internal, so we just
- do everything here rather than in bfd_install_relocation. */
- if (OUTPUT_FLAVOR == bfd_target_elf_flavour && !fixP->fx_done)
- break;
- if (fixP->fx_addsy
- && (symbol_get_bfdsym (fixP->fx_addsy)->flags & BSF_SECTION_SYM) == 0)
- *valP += fixP->fx_frag->fr_address + fixP->fx_where;
- if (target_big_endian)
- buf += 2;
- md_number_to_chars (buf, *valP, 2);
- break;
-
case BFD_RELOC_64:
/* This is handled like BFD_RELOC_32, but we output a sign
extended value if we are only 32 bits. */
- if (fixP->fx_done
- || (mips_pic == EMBEDDED_PIC && SWITCH_TABLE (fixP)))
+ if (fixP->fx_done)
{
if (8 <= sizeof (valueT))
md_number_to_chars (buf, *valP, 8);
@@ -11221,11 +10941,8 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
case BFD_RELOC_32:
/* If we are deleting this reloc entry, we must fill in the
value now. This can happen if we have a .word which is not
- resolved when it appears but is later defined. We also need
- to fill in the value if this is an embedded PIC switch table
- entry. */
- if (fixP->fx_done
- || (mips_pic == EMBEDDED_PIC && SWITCH_TABLE (fixP)))
+ resolved when it appears but is later defined. */
+ if (fixP->fx_done)
md_number_to_chars (buf, *valP, 4);
break;
@@ -11238,6 +10955,8 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
break;
case BFD_RELOC_LO16:
+ /* FIXME: Now that embedded-PIC is gone, some of this code/comment
+ may be safe to remove, but if so it's not obvious. */
/* When handling an embedded PIC switch statement, we can wind
up deleting a LO16 reloc. See the 'o' case in mips_ip. */
if (fixP->fx_done)
@@ -11508,13 +11227,6 @@ s_change_sec (int sec)
{
segT seg;
- /* When generating embedded PIC code, we only use the .text, .lit8,
- .sdata and .sbss sections. We change the .data and .rdata
- pseudo-ops to use .sdata. */
- if (mips_pic == EMBEDDED_PIC
- && (sec == 'd' || sec == 'r'))
- sec = 's';
-
#ifdef OBJ_ELF
/* The ELF backend needs to know that we are changing sections, so
that .previous works correctly. We could do something like check
@@ -11540,52 +11252,30 @@ s_change_sec (int sec)
break;
case 'r':
- if (USE_GLOBAL_POINTER_OPT)
- {
- seg = subseg_new (RDATA_SECTION_NAME,
- (subsegT) get_absolute_expression ());
- if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
- {
- bfd_set_section_flags (stdoutput, seg,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_READONLY
- | SEC_RELOC
- | SEC_DATA));
- if (strcmp (TARGET_OS, "elf") != 0)
- record_alignment (seg, 4);
- }
- demand_empty_rest_of_line ();
- }
- else
+ seg = subseg_new (RDATA_SECTION_NAME,
+ (subsegT) get_absolute_expression ());
+ if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
{
- as_bad (_("No read only data section in this object file format"));
- demand_empty_rest_of_line ();
- return;
+ bfd_set_section_flags (stdoutput, seg, (SEC_ALLOC | SEC_LOAD
+ | SEC_READONLY | SEC_RELOC
+ | SEC_DATA));
+ if (strcmp (TARGET_OS, "elf") != 0)
+ record_alignment (seg, 4);
}
+ demand_empty_rest_of_line ();
break;
case 's':
- if (USE_GLOBAL_POINTER_OPT)
- {
- seg = subseg_new (".sdata", (subsegT) get_absolute_expression ());
- if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
- {
- bfd_set_section_flags (stdoutput, seg,
- SEC_ALLOC | SEC_LOAD | SEC_RELOC
- | SEC_DATA);
- if (strcmp (TARGET_OS, "elf") != 0)
- record_alignment (seg, 4);
- }
- demand_empty_rest_of_line ();
- break;
- }
- else
+ seg = subseg_new (".sdata", (subsegT) get_absolute_expression ());
+ if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
{
- as_bad (_("Global pointers not supported; recompile -G 0"));
- demand_empty_rest_of_line ();
- return;
+ bfd_set_section_flags (stdoutput, seg,
+ SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_DATA);
+ if (strcmp (TARGET_OS, "elf") != 0)
+ record_alignment (seg, 4);
}
+ demand_empty_rest_of_line ();
+ break;
}
auto_align = 1;
@@ -11781,7 +11471,7 @@ s_option (int x ATTRIBUTE_UNUSED)
else
as_bad (_(".option pic%d not supported"), i);
- if (USE_GLOBAL_POINTER_OPT && mips_pic == SVR4_PIC)
+ if (mips_pic == SVR4_PIC)
{
if (g_switch_seen && g_switch_value != 0)
as_warn (_("-G may not be used with SVR4 PIC code"));
@@ -11891,34 +11581,11 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
/* Permit the user to change the ISA and architecture on the fly.
Needless to say, misuse can cause serious problems. */
- if (strcmp (name, "mips0") == 0)
+ if (strcmp (name, "mips0") == 0 || strcmp (name, "arch=default") == 0)
{
reset = 1;
mips_opts.isa = file_mips_isa;
- }
- else if (strcmp (name, "mips1") == 0)
- mips_opts.isa = ISA_MIPS1;
- else if (strcmp (name, "mips2") == 0)
- mips_opts.isa = ISA_MIPS2;
- else if (strcmp (name, "mips3") == 0)
- mips_opts.isa = ISA_MIPS3;
- else if (strcmp (name, "mips4") == 0)
- mips_opts.isa = ISA_MIPS4;
- else if (strcmp (name, "mips5") == 0)
- mips_opts.isa = ISA_MIPS5;
- else if (strcmp (name, "mips32") == 0)
- mips_opts.isa = ISA_MIPS32;
- else if (strcmp (name, "mips32r2") == 0)
- mips_opts.isa = ISA_MIPS32R2;
- else if (strcmp (name, "mips64") == 0)
- mips_opts.isa = ISA_MIPS64;
- else if (strcmp (name, "mips64r2") == 0)
- mips_opts.isa = ISA_MIPS64R2;
- else if (strcmp (name, "arch=default") == 0)
- {
- reset = 1;
mips_opts.arch = file_mips_arch;
- mips_opts.isa = file_mips_isa;
}
else if (strncmp (name, "arch=", 5) == 0)
{
@@ -11933,8 +11600,21 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
mips_opts.isa = p->isa;
}
}
+ else if (strncmp (name, "mips", 4) == 0)
+ {
+ const struct mips_cpu_info *p;
+
+ p = mips_parse_cpu("internal use", name);
+ if (!p)
+ as_bad (_("unknown ISA level %s"), name + 4);
+ else
+ {
+ mips_opts.arch = p->cpu;
+ mips_opts.isa = p->isa;
+ }
+ }
else
- as_bad (_("unknown ISA level %s"), name + 4);
+ as_bad (_("unknown ISA or architecture %s"), name);
switch (mips_opts.isa)
{
@@ -12022,12 +11702,11 @@ s_abicalls (int ignore ATTRIBUTE_UNUSED)
{
mips_pic = SVR4_PIC;
mips_abicalls = TRUE;
- if (USE_GLOBAL_POINTER_OPT)
- {
- if (g_switch_seen && g_switch_value != 0)
- as_warn (_("-G may not be used with SVR4 PIC code"));
- g_switch_value = 0;
- }
+
+ if (g_switch_seen && g_switch_value != 0)
+ as_warn (_("-G may not be used with SVR4 PIC code"));
+ g_switch_value = 0;
+
bfd_set_gp_size (stdoutput, 0);
demand_empty_rest_of_line ();
}
@@ -12584,7 +12263,7 @@ nopic_need_relax (symbolS *sym, int before_relaxing)
if (sym == 0)
return 0;
- if (USE_GLOBAL_POINTER_OPT && g_switch_value > 0)
+ if (g_switch_value > 0)
{
const char *symname;
int change;
@@ -12691,9 +12370,7 @@ pic_need_relax (symbolS *sym, asection *segtype)
#ifdef OBJ_ELF
/* A global or weak symbol is treated as external. */
&& (OUTPUT_FLAVOR != bfd_target_elf_flavour
- || (! S_IS_WEAK (sym)
- && (! S_IS_EXTERNAL (sym)
- || mips_pic == EMBEDDED_PIC)))
+ || (! S_IS_WEAK (sym) && ! S_IS_EXTERNAL (sym)))
#endif
);
}
@@ -13046,60 +12723,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
- if (mips_pic == EMBEDDED_PIC
- && SWITCH_TABLE (fixp))
- {
- /* For a switch table entry we use a special reloc. The addend
- is actually the difference between the reloc address and the
- subtrahend. */
- reloc->addend = reloc->address - S_GET_VALUE (fixp->fx_subsy);
- if (OUTPUT_FLAVOR != bfd_target_ecoff_flavour)
- as_fatal (_("Double check fx_r_type in tc-mips.c:tc_gen_reloc"));
- fixp->fx_r_type = BFD_RELOC_GPREL32;
- }
- else if (fixp->fx_pcrel)
- {
- bfd_vma pcrel_address;
-
- /* Set PCREL_ADDRESS to this relocation's "PC". The PC for high
- high-part relocs is the address of the low-part reloc. */
- if (fixp->fx_r_type == BFD_RELOC_PCREL_HI16_S)
- {
- assert (fixp->fx_next != NULL
- && fixp->fx_next->fx_r_type == BFD_RELOC_PCREL_LO16);
- pcrel_address = (fixp->fx_next->fx_where
- + fixp->fx_next->fx_frag->fr_address);
- }
- else
- pcrel_address = reloc->address;
-
- if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
- {
- /* At this point, fx_addnumber is "symbol offset - pcrel_address".
- Relocations want only the symbol offset. */
- reloc->addend = fixp->fx_addnumber + pcrel_address;
- }
- else if (fixp->fx_r_type == BFD_RELOC_PCREL_LO16
- || fixp->fx_r_type == BFD_RELOC_PCREL_HI16_S)
- {
- /* We use a special addend for an internal RELLO or RELHI reloc. */
- if (symbol_section_p (fixp->fx_addsy))
- reloc->addend = pcrel_address - S_GET_VALUE (fixp->fx_subsy);
- else
- reloc->addend = fixp->fx_addnumber + pcrel_address;
- }
- else
- {
- if (OUTPUT_FLAVOR != bfd_target_aout_flavour)
- /* A gruesome hack which is a result of the gruesome gas reloc
- handling. */
- reloc->addend = pcrel_address;
- else
- reloc->addend = -pcrel_address;
- }
- }
- else
- reloc->addend = fixp->fx_addnumber;
+ assert (! fixp->fx_pcrel);
+ reloc->addend = fixp->fx_addnumber;
/* Since the old MIPS ELF ABI uses Rel instead of Rela, encode the vtable
entry to be used in the relocation's section offset. */
@@ -13109,49 +12734,16 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
reloc->addend = 0;
}
- /* Since DIFF_EXPR_OK is defined in tc-mips.h, it is possible that
- fixup_segment converted a non-PC relative reloc into a PC
- relative reloc. In such a case, we need to convert the reloc
- code. */
code = fixp->fx_r_type;
- if (fixp->fx_pcrel)
- {
- switch (code)
- {
- case BFD_RELOC_8:
- code = BFD_RELOC_8_PCREL;
- break;
- case BFD_RELOC_16:
- code = BFD_RELOC_16_PCREL;
- break;
- case BFD_RELOC_32:
- code = BFD_RELOC_32_PCREL;
- break;
- case BFD_RELOC_64:
- code = BFD_RELOC_64_PCREL;
- break;
- case BFD_RELOC_8_PCREL:
- case BFD_RELOC_16_PCREL:
- case BFD_RELOC_32_PCREL:
- case BFD_RELOC_64_PCREL:
- case BFD_RELOC_16_PCREL_S2:
- case BFD_RELOC_PCREL_HI16_S:
- case BFD_RELOC_PCREL_LO16:
- break;
- default:
- as_bad_where (fixp->fx_file, fixp->fx_line,
- _("Cannot make %s relocation PC relative"),
- bfd_get_reloc_code_name (code));
- }
- }
- /* To support a PC relative reloc when generating embedded PIC code
- for ECOFF, we use a Cygnus extension. We check for that here to
- make sure that we don't let such a reloc escape normally. */
+ /* To support a PC relative reloc, we used a Cygnus extension.
+ We check for that here to make sure that we don't let such a
+ reloc escape normally. (FIXME: This was formerly used by
+ embedded-PIC support, but is now used by branch handling in
+ general. That probably should be fixed.) */
if ((OUTPUT_FLAVOR == bfd_target_ecoff_flavour
|| OUTPUT_FLAVOR == bfd_target_elf_flavour)
- && code == BFD_RELOC_16_PCREL_S2
- && mips_pic != EMBEDDED_PIC)
+ && code == BFD_RELOC_16_PCREL_S2)
reloc->howto = NULL;
else
reloc->howto = bfd_reloc_type_lookup (stdoutput, code);
@@ -14331,7 +13923,6 @@ md_show_usage (FILE *stream)
fprintf (stream, _("\
MIPS options:\n\
--membedded-pic generate embedded position independent code\n\
-EB generate big endian output\n\
-EL generate little endian output\n\
-g, -g2 do not remove unneeded NOPs or swap branches\n\
@@ -14373,6 +13964,7 @@ MIPS options:\n\
-mips16 generate mips16 instructions\n\
-no-mips16 do not generate mips16 instructions\n"));
fprintf (stream, _("\
+-mfix-vr4120 work around certain VR4120 errata\n\
-mgp32 use 32-bit GPRs, regardless of the chosen ISA\n\
-mfp32 use 32-bit FPRs, regardless of the chosen ISA\n\
-O0 remove unneeded NOPs, do not swap branches\n\
@@ -14425,10 +14017,6 @@ mips_dwarf2_addr_size (void)
{
if (mips_abi == N64_ABI)
return 8;
- /* GCC for 64-bit targets turns on mlong64 giving
- us 64-bit addresses. */
- else if (mips_abi == EABI_ABI && !file_mips_gp32)
- return 8;
else
return 4;
}
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h
index 46a7653..8d0106a 100644
--- a/gas/config/tc-mips.h
+++ b/gas/config/tc-mips.h
@@ -58,10 +58,6 @@ extern void mips_handle_align (struct frag *);
#define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2)
-/* We permit PC relative difference expressions when generating
- embedded PIC code. */
-#define DIFF_EXPR_OK
-
/* Tell assembler that we have an itbl_mips.h header file to include. */
#define HAVE_ITBL_CPU
@@ -79,12 +75,6 @@ enum mips_pic_level
/* Generate PIC code as in the SVR4 MIPS ABI. */
SVR4_PIC,
-
- /* Generate PIC code without using a global offset table: the data
- segment has a maximum size of 64K, all data references are off
- the $gp register, and all text references are PC relative. This
- is used on some embedded systems. */
- EMBEDDED_PIC
};
extern enum mips_pic_level mips_pic;
@@ -129,14 +119,12 @@ extern int mips_fix_adjustable (struct fix *);
/* Values passed to md_apply_fix3 don't include symbol values. */
#define MD_APPLY_SYM_VALUE(FIX) 0
-/* Global syms must not be resolved, to support ELF shared libraries.
- When generating embedded code, we don't have shared libs. */
+/* Global syms must not be resolved, to support ELF shared libraries. */
#define EXTERN_FORCE_RELOC \
- (OUTPUT_FLAVOR == bfd_target_elf_flavour \
- && mips_pic != EMBEDDED_PIC)
+ (OUTPUT_FLAVOR == bfd_target_elf_flavour)
-/* When generating embedded PIC code we must keep PC relative
- relocations. */
+/* When generating NEWABI code, we may need to have to keep combined
+ relocations which don't have symbols. */
#define TC_FORCE_RELOCATION(FIX) mips_force_relocation (FIX)
extern int mips_force_relocation (struct fix *);
@@ -167,10 +155,6 @@ extern void mips_elf_final_processing (void);
extern void md_mips_end (void);
#define md_end() md_mips_end()
-#define USE_GLOBAL_POINTER_OPT (OUTPUT_FLAVOR == bfd_target_ecoff_flavour \
- || OUTPUT_FLAVOR == bfd_target_coff_flavour \
- || OUTPUT_FLAVOR == bfd_target_elf_flavour)
-
extern void mips_pop_insert (void);
#define md_pop_insert() mips_pop_insert()
@@ -183,6 +167,7 @@ extern void mips_enable_auto_align (void);
extern enum dwarf2_format mips_dwarf2_format (void);
#define DWARF2_FORMAT() mips_dwarf2_format ()
+extern int mips_dwarf2_addr_size (void);
#define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
#endif /* TC_MIPS */
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 86daea0..66366a5 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1,6 +1,6 @@
/* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -183,7 +183,7 @@ const char EXP_CHARS[] = "eE";
as in 0d1.0. */
const char FLT_CHARS[] = "dD";
-/* '+' and '-' can be used as postfix predicate predictors for conditional
+/* '+' and '-' can be used as postfix predicate predictors for conditional
branches. So they need to be accepted as symbol characters. */
const char ppc_symbol_chars[] = "+-";
@@ -1493,8 +1493,10 @@ ppc_elf_suffix (str_p, exp_p)
{
struct map_bfd {
char *string;
- int length;
- int reloc;
+ unsigned int length : 8;
+ unsigned int valid32 : 1;
+ unsigned int valid64 : 1;
+ unsigned int reloc;
};
char ident[20];
@@ -1504,97 +1506,97 @@ ppc_elf_suffix (str_p, exp_p)
int len;
const struct map_bfd *ptr;
-#define MAP(str,reloc) { str, sizeof (str)-1, reloc }
+#define MAP(str, reloc) { str, sizeof (str) - 1, 1, 1, reloc }
+#define MAP32(str, reloc) { str, sizeof (str) - 1, 1, 0, reloc }
+#define MAP64(str, reloc) { str, sizeof (str) - 1, 0, 1, reloc }
static const struct map_bfd mapping[] = {
- MAP ("l", (int) BFD_RELOC_LO16),
- MAP ("h", (int) BFD_RELOC_HI16),
- MAP ("ha", (int) BFD_RELOC_HI16_S),
- MAP ("brtaken", (int) BFD_RELOC_PPC_B16_BRTAKEN),
- MAP ("brntaken", (int) BFD_RELOC_PPC_B16_BRNTAKEN),
- MAP ("got", (int) BFD_RELOC_16_GOTOFF),
- MAP ("got@l", (int) BFD_RELOC_LO16_GOTOFF),
- MAP ("got@h", (int) BFD_RELOC_HI16_GOTOFF),
- MAP ("got@ha", (int) BFD_RELOC_HI16_S_GOTOFF),
- MAP ("fixup", (int) BFD_RELOC_CTOR),
- MAP ("plt", (int) BFD_RELOC_24_PLT_PCREL),
- MAP ("pltrel24", (int) BFD_RELOC_24_PLT_PCREL),
- MAP ("copy", (int) BFD_RELOC_PPC_COPY),
- MAP ("globdat", (int) BFD_RELOC_PPC_GLOB_DAT),
- MAP ("local24pc", (int) BFD_RELOC_PPC_LOCAL24PC),
- MAP ("local", (int) BFD_RELOC_PPC_LOCAL24PC),
- MAP ("pltrel", (int) BFD_RELOC_32_PLT_PCREL),
- MAP ("plt@l", (int) BFD_RELOC_LO16_PLTOFF),
- MAP ("plt@h", (int) BFD_RELOC_HI16_PLTOFF),
- MAP ("plt@ha", (int) BFD_RELOC_HI16_S_PLTOFF),
- MAP ("sdarel", (int) BFD_RELOC_GPREL16),
- MAP ("sectoff", (int) BFD_RELOC_16_BASEREL),
- MAP ("sectoff@l", (int) BFD_RELOC_LO16_BASEREL),
- MAP ("sectoff@h", (int) BFD_RELOC_HI16_BASEREL),
- MAP ("sectoff@ha", (int) BFD_RELOC_HI16_S_BASEREL),
- MAP ("naddr", (int) BFD_RELOC_PPC_EMB_NADDR32),
- MAP ("naddr16", (int) BFD_RELOC_PPC_EMB_NADDR16),
- MAP ("naddr@l", (int) BFD_RELOC_PPC_EMB_NADDR16_LO),
- MAP ("naddr@h", (int) BFD_RELOC_PPC_EMB_NADDR16_HI),
- MAP ("naddr@ha", (int) BFD_RELOC_PPC_EMB_NADDR16_HA),
- MAP ("sdai16", (int) BFD_RELOC_PPC_EMB_SDAI16),
- MAP ("sda2rel", (int) BFD_RELOC_PPC_EMB_SDA2REL),
- MAP ("sda2i16", (int) BFD_RELOC_PPC_EMB_SDA2I16),
- MAP ("sda21", (int) BFD_RELOC_PPC_EMB_SDA21),
- MAP ("mrkref", (int) BFD_RELOC_PPC_EMB_MRKREF),
- MAP ("relsect", (int) BFD_RELOC_PPC_EMB_RELSEC16),
- MAP ("relsect@l", (int) BFD_RELOC_PPC_EMB_RELST_LO),
- MAP ("relsect@h", (int) BFD_RELOC_PPC_EMB_RELST_HI),
- MAP ("relsect@ha", (int) BFD_RELOC_PPC_EMB_RELST_HA),
- MAP ("bitfld", (int) BFD_RELOC_PPC_EMB_BIT_FLD),
- MAP ("relsda", (int) BFD_RELOC_PPC_EMB_RELSDA),
- MAP ("xgot", (int) BFD_RELOC_PPC_TOC16),
- MAP ("tls", (int) BFD_RELOC_PPC_TLS),
- MAP ("dtpmod", (int) BFD_RELOC_PPC_DTPMOD),
- MAP ("dtprel", (int) BFD_RELOC_PPC_DTPREL),
- MAP ("dtprel@l", (int) BFD_RELOC_PPC_DTPREL16_LO),
- MAP ("dtprel@h", (int) BFD_RELOC_PPC_DTPREL16_HI),
- MAP ("dtprel@ha", (int) BFD_RELOC_PPC_DTPREL16_HA),
- MAP ("tprel", (int) BFD_RELOC_PPC_TPREL),
- MAP ("tprel@l", (int) BFD_RELOC_PPC_TPREL16_LO),
- MAP ("tprel@h", (int) BFD_RELOC_PPC_TPREL16_HI),
- MAP ("tprel@ha", (int) BFD_RELOC_PPC_TPREL16_HA),
- MAP ("got@tlsgd", (int) BFD_RELOC_PPC_GOT_TLSGD16),
- MAP ("got@tlsgd@l", (int) BFD_RELOC_PPC_GOT_TLSGD16_LO),
- MAP ("got@tlsgd@h", (int) BFD_RELOC_PPC_GOT_TLSGD16_HI),
- MAP ("got@tlsgd@ha", (int) BFD_RELOC_PPC_GOT_TLSGD16_HA),
- MAP ("got@tlsld", (int) BFD_RELOC_PPC_GOT_TLSLD16),
- MAP ("got@tlsld@l", (int) BFD_RELOC_PPC_GOT_TLSLD16_LO),
- MAP ("got@tlsld@h", (int) BFD_RELOC_PPC_GOT_TLSLD16_HI),
- MAP ("got@tlsld@ha", (int) BFD_RELOC_PPC_GOT_TLSLD16_HA),
- MAP ("got@dtprel", (int) BFD_RELOC_PPC_GOT_DTPREL16),
- MAP ("got@dtprel@l", (int) BFD_RELOC_PPC_GOT_DTPREL16_LO),
- MAP ("got@dtprel@h", (int) BFD_RELOC_PPC_GOT_DTPREL16_HI),
- MAP ("got@dtprel@ha", (int) BFD_RELOC_PPC_GOT_DTPREL16_HA),
- MAP ("got@tprel", (int) BFD_RELOC_PPC_GOT_TPREL16),
- MAP ("got@tprel@l", (int) BFD_RELOC_PPC_GOT_TPREL16_LO),
- MAP ("got@tprel@h", (int) BFD_RELOC_PPC_GOT_TPREL16_HI),
- MAP ("got@tprel@ha", (int) BFD_RELOC_PPC_GOT_TPREL16_HA),
- /* The following are only valid for ppc64. Negative values are
- used instead of a flag. */
- MAP ("higher", - (int) BFD_RELOC_PPC64_HIGHER),
- MAP ("highera", - (int) BFD_RELOC_PPC64_HIGHER_S),
- MAP ("highest", - (int) BFD_RELOC_PPC64_HIGHEST),
- MAP ("highesta", - (int) BFD_RELOC_PPC64_HIGHEST_S),
- MAP ("tocbase", - (int) BFD_RELOC_PPC64_TOC),
- MAP ("toc", - (int) BFD_RELOC_PPC_TOC16),
- MAP ("toc@l", - (int) BFD_RELOC_PPC64_TOC16_LO),
- MAP ("toc@h", - (int) BFD_RELOC_PPC64_TOC16_HI),
- MAP ("toc@ha", - (int) BFD_RELOC_PPC64_TOC16_HA),
- MAP ("dtprel@higher", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHER),
- MAP ("dtprel@highera", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHERA),
- MAP ("dtprel@highest", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHEST),
- MAP ("dtprel@highesta", - (int) BFD_RELOC_PPC64_DTPREL16_HIGHESTA),
- MAP ("tprel@higher", - (int) BFD_RELOC_PPC64_TPREL16_HIGHER),
- MAP ("tprel@highera", - (int) BFD_RELOC_PPC64_TPREL16_HIGHERA),
- MAP ("tprel@highest", - (int) BFD_RELOC_PPC64_TPREL16_HIGHEST),
- MAP ("tprel@highesta", - (int) BFD_RELOC_PPC64_TPREL16_HIGHESTA),
- { (char *) 0, 0, (int) BFD_RELOC_UNUSED }
+ MAP ("l", BFD_RELOC_LO16),
+ MAP ("h", BFD_RELOC_HI16),
+ MAP ("ha", BFD_RELOC_HI16_S),
+ MAP ("brtaken", BFD_RELOC_PPC_B16_BRTAKEN),
+ MAP ("brntaken", BFD_RELOC_PPC_B16_BRNTAKEN),
+ MAP ("got", BFD_RELOC_16_GOTOFF),
+ MAP ("got@l", BFD_RELOC_LO16_GOTOFF),
+ MAP ("got@h", BFD_RELOC_HI16_GOTOFF),
+ MAP ("got@ha", BFD_RELOC_HI16_S_GOTOFF),
+ MAP ("plt@l", BFD_RELOC_LO16_PLTOFF),
+ MAP ("plt@h", BFD_RELOC_HI16_PLTOFF),
+ MAP ("plt@ha", BFD_RELOC_HI16_S_PLTOFF),
+ MAP ("copy", BFD_RELOC_PPC_COPY),
+ MAP ("globdat", BFD_RELOC_PPC_GLOB_DAT),
+ MAP ("sectoff", BFD_RELOC_16_BASEREL),
+ MAP ("sectoff@l", BFD_RELOC_LO16_BASEREL),
+ MAP ("sectoff@h", BFD_RELOC_HI16_BASEREL),
+ MAP ("sectoff@ha", BFD_RELOC_HI16_S_BASEREL),
+ MAP ("tls", BFD_RELOC_PPC_TLS),
+ MAP ("dtpmod", BFD_RELOC_PPC_DTPMOD),
+ MAP ("dtprel", BFD_RELOC_PPC_DTPREL),
+ MAP ("dtprel@l", BFD_RELOC_PPC_DTPREL16_LO),
+ MAP ("dtprel@h", BFD_RELOC_PPC_DTPREL16_HI),
+ MAP ("dtprel@ha", BFD_RELOC_PPC_DTPREL16_HA),
+ MAP ("tprel", BFD_RELOC_PPC_TPREL),
+ MAP ("tprel@l", BFD_RELOC_PPC_TPREL16_LO),
+ MAP ("tprel@h", BFD_RELOC_PPC_TPREL16_HI),
+ MAP ("tprel@ha", BFD_RELOC_PPC_TPREL16_HA),
+ MAP ("got@tlsgd", BFD_RELOC_PPC_GOT_TLSGD16),
+ MAP ("got@tlsgd@l", BFD_RELOC_PPC_GOT_TLSGD16_LO),
+ MAP ("got@tlsgd@h", BFD_RELOC_PPC_GOT_TLSGD16_HI),
+ MAP ("got@tlsgd@ha", BFD_RELOC_PPC_GOT_TLSGD16_HA),
+ MAP ("got@tlsld", BFD_RELOC_PPC_GOT_TLSLD16),
+ MAP ("got@tlsld@l", BFD_RELOC_PPC_GOT_TLSLD16_LO),
+ MAP ("got@tlsld@h", BFD_RELOC_PPC_GOT_TLSLD16_HI),
+ MAP ("got@tlsld@ha", BFD_RELOC_PPC_GOT_TLSLD16_HA),
+ MAP ("got@dtprel", BFD_RELOC_PPC_GOT_DTPREL16),
+ MAP ("got@dtprel@l", BFD_RELOC_PPC_GOT_DTPREL16_LO),
+ MAP ("got@dtprel@h", BFD_RELOC_PPC_GOT_DTPREL16_HI),
+ MAP ("got@dtprel@ha", BFD_RELOC_PPC_GOT_DTPREL16_HA),
+ MAP ("got@tprel", BFD_RELOC_PPC_GOT_TPREL16),
+ MAP ("got@tprel@l", BFD_RELOC_PPC_GOT_TPREL16_LO),
+ MAP ("got@tprel@h", BFD_RELOC_PPC_GOT_TPREL16_HI),
+ MAP ("got@tprel@ha", BFD_RELOC_PPC_GOT_TPREL16_HA),
+ MAP32 ("fixup", BFD_RELOC_CTOR),
+ MAP32 ("plt", BFD_RELOC_24_PLT_PCREL),
+ MAP32 ("pltrel24", BFD_RELOC_24_PLT_PCREL),
+ MAP32 ("local24pc", BFD_RELOC_PPC_LOCAL24PC),
+ MAP32 ("local", BFD_RELOC_PPC_LOCAL24PC),
+ MAP32 ("pltrel", BFD_RELOC_32_PLT_PCREL),
+ MAP32 ("sdarel", BFD_RELOC_GPREL16),
+ MAP32 ("naddr", BFD_RELOC_PPC_EMB_NADDR32),
+ MAP32 ("naddr16", BFD_RELOC_PPC_EMB_NADDR16),
+ MAP32 ("naddr@l", BFD_RELOC_PPC_EMB_NADDR16_LO),
+ MAP32 ("naddr@h", BFD_RELOC_PPC_EMB_NADDR16_HI),
+ MAP32 ("naddr@ha", BFD_RELOC_PPC_EMB_NADDR16_HA),
+ MAP32 ("sdai16", BFD_RELOC_PPC_EMB_SDAI16),
+ MAP32 ("sda2rel", BFD_RELOC_PPC_EMB_SDA2REL),
+ MAP32 ("sda2i16", BFD_RELOC_PPC_EMB_SDA2I16),
+ MAP32 ("sda21", BFD_RELOC_PPC_EMB_SDA21),
+ MAP32 ("mrkref", BFD_RELOC_PPC_EMB_MRKREF),
+ MAP32 ("relsect", BFD_RELOC_PPC_EMB_RELSEC16),
+ MAP32 ("relsect@l", BFD_RELOC_PPC_EMB_RELST_LO),
+ MAP32 ("relsect@h", BFD_RELOC_PPC_EMB_RELST_HI),
+ MAP32 ("relsect@ha", BFD_RELOC_PPC_EMB_RELST_HA),
+ MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD),
+ MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA),
+ MAP32 ("xgot", BFD_RELOC_PPC_TOC16),
+ MAP64 ("higher", BFD_RELOC_PPC64_HIGHER),
+ MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S),
+ MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST),
+ MAP64 ("highesta", BFD_RELOC_PPC64_HIGHEST_S),
+ MAP64 ("tocbase", BFD_RELOC_PPC64_TOC),
+ MAP64 ("toc", BFD_RELOC_PPC_TOC16),
+ MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO),
+ MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI),
+ MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA),
+ MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER),
+ MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA),
+ MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST),
+ MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA),
+ MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER),
+ MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA),
+ MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST),
+ MAP64 ("tprel@highesta", BFD_RELOC_PPC64_TPREL16_HIGHESTA),
+ { (char *) 0, 0, 0, 0, BFD_RELOC_UNUSED }
};
if (*str++ != '@')
@@ -1615,17 +1617,11 @@ ppc_elf_suffix (str_p, exp_p)
for (ptr = &mapping[0]; ptr->length > 0; ptr++)
if (ch == ptr->string[0]
&& len == ptr->length
- && memcmp (ident, ptr->string, ptr->length) == 0)
+ && memcmp (ident, ptr->string, ptr->length) == 0
+ && (ppc_obj64 ? ptr->valid64 : ptr->valid32))
{
int reloc = ptr->reloc;
- if (reloc < 0)
- {
- if (!ppc_obj64)
- return BFD_RELOC_UNUSED;
- reloc = -reloc;
- }
-
if (!ppc_obj64)
if (exp_p->X_add_number != 0
&& (reloc == (int) BFD_RELOC_16_GOTOFF
@@ -5901,7 +5897,7 @@ md_apply_fix3 (fixP, valP, seg)
if (fixP->fx_pcrel)
{
/* This can occur if there is a bug in the input assembler, eg:
- ".byte <undefined_symbol> - ." */
+ ".byte <undefined_symbol> - ." */
if (fixP->fx_addsy)
as_bad (_("Unable to handle reference to symbol %s"),
S_GET_NAME (fixP->fx_addsy));
@@ -6052,15 +6048,15 @@ tc_ppc_regname_to_dw2regnum (const char *regname)
if (p == q || *q || regnum >= 32)
return -1;
if (regname[0] == 'f')
- regnum += 32;
+ regnum += 32;
else if (regname[0] == 'v')
- regnum += 77;
+ regnum += 77;
}
else if (regname[0] == 'c' && regname[1] == 'r')
{
p = regname + 2 + (regname[2] == '.');
if (p[0] < '0' || p[0] > '7' || p[1])
- return -1;
+ return -1;
regnum = p[0] - '0' + 68;
}
return regnum;
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index ef51bca..c450eae 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -1614,9 +1614,15 @@ s390_insn (ignore)
expression (&exp);
if (exp.X_op == O_constant)
{
- if ( (opformat->oplen == 6 && exp.X_op > 0 && exp.X_op < (1ULL << 48))
- || (opformat->oplen == 4 && exp.X_op > 0 && exp.X_op < (1ULL << 32))
- || (opformat->oplen == 2 && exp.X_op > 0 && exp.X_op < (1ULL << 16)))
+ if ( ( opformat->oplen == 6
+ && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number < (1ULL << 48))
+ || ( opformat->oplen == 4
+ && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number < (1ULL << 32))
+ || ( opformat->oplen == 2
+ && exp.X_add_number >= 0
+ && (addressT) exp.X_add_number < (1ULL << 16)))
md_number_to_chars (insn, exp.X_add_number, opformat->oplen);
else
as_bad (_("Invalid .insn format\n"));
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index 45698d5..04f06ff 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -1,6 +1,6 @@
/* tc-sh.c -- Assemble code for the Renesas / SuperH SH
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -132,6 +132,10 @@ int sh_relax; /* set if -relax seen */
int sh_small;
+/* Flag to generate relocations against symbol values for local symbols. */
+
+static int dont_adjust_reloc_32;
+
/* preset architecture set, if given; zero otherwise. */
static int preset_target_arch;
@@ -1632,7 +1636,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AS_INC_N:
if (user->type != A_INC_N)
goto fail;
@@ -1640,7 +1644,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AS_IND_N:
if (user->type != A_IND_N)
goto fail;
@@ -1648,7 +1652,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AS_PMOD_N:
if (user->type != AX_PMOD_N)
goto fail;
@@ -1656,7 +1660,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AX_INC_N:
if (user->type != A_INC_N)
goto fail;
@@ -1664,7 +1668,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AX_IND_N:
if (user->type != A_IND_N)
goto fail;
@@ -1672,7 +1676,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AX_PMOD_N:
if (user->type != AX_PMOD_N)
goto fail;
@@ -1680,7 +1684,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AXY_INC_N:
if (user->type != A_INC_N)
goto fail;
@@ -1689,7 +1693,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AXY_IND_N:
if (user->type != A_IND_N)
goto fail;
@@ -1698,7 +1702,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AXY_PMOD_N:
if (user->type != AX_PMOD_N)
goto fail;
@@ -1707,7 +1711,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AY_INC_N:
if (user->type != A_INC_N)
goto fail;
@@ -1715,7 +1719,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AY_IND_N:
if (user->type != A_IND_N)
goto fail;
@@ -1723,7 +1727,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AY_PMOD_N:
if (user->type != AY_PMOD_N)
goto fail;
@@ -1740,7 +1744,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AYX_IND_N:
if (user->type != A_IND_N)
goto fail;
@@ -1749,7 +1753,7 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
goto fail;
reg_n = user->reg;
break;
-
+
case AYX_PMOD_N:
if (user->type != AY_PMOD_N)
goto fail;
@@ -2143,6 +2147,7 @@ build_Mytes (sh_opcode_info *opcode, sh_operand_info *operand)
switch (i)
{
case REG_N:
+ case REG_N_D:
nbuf[index] = reg_n;
break;
case REG_M:
@@ -2159,6 +2164,9 @@ build_Mytes (sh_opcode_info *opcode, sh_operand_info *operand)
case REG_B:
nbuf[index] = reg_b | 0x08;
break;
+ case REG_N_B01:
+ nbuf[index] = reg_n | 0x01;
+ break;
case IMM0_4BY4:
insert (output + low_byte, BFD_RELOC_SH_IMM4BY4, 0, operand);
break;
@@ -2584,6 +2592,7 @@ md_assemble (char *str)
sh_operand_info operand[3];
sh_opcode_info *opcode;
unsigned int size = 0;
+ char *initial_str = str;
#ifdef HAVE_SH64
if (sh64_isa_mode == sh64_isa_shmedia)
@@ -2610,7 +2619,45 @@ md_assemble (char *str)
if (opcode == NULL)
{
- as_bad (_("unknown opcode"));
+ /* The opcode is not in the hash table.
+ This means we definately have an assembly failure,
+ but the instruction may be valid in another CPU variant.
+ In this case emit something better than 'unknown opcode'.
+ Search the full table in sh-opc.h to check. */
+
+ char *name = initial_str;
+ int name_length = 0;
+ const sh_opcode_info *op;
+ int found = 0;
+
+ /* identify opcode in string */
+ while (isspace (*name))
+ {
+ name++;
+ }
+ while (!isspace (name[name_length]))
+ {
+ name_length++;
+ }
+
+ /* search for opcode in full list */
+ for (op = sh_table; op->name; op++)
+ {
+ if (strncasecmp (op->name, name, name_length) == 0)
+ {
+ found = 1;
+ break;
+ }
+ }
+
+ if ( found )
+ {
+ as_bad (_("opcode not valid for this cpu variant"));
+ }
+ else
+ {
+ as_bad (_("unknown opcode"));
+ }
return;
}
@@ -2840,6 +2887,7 @@ struct option md_longopts[] =
#define OPTION_SMALL (OPTION_LITTLE + 1)
#define OPTION_DSP (OPTION_SMALL + 1)
#define OPTION_ISA (OPTION_DSP + 1)
+#define OPTION_RENESAS (OPTION_ISA + 1)
{"relax", no_argument, NULL, OPTION_RELAX},
{"big", no_argument, NULL, OPTION_BIG},
@@ -2847,8 +2895,10 @@ struct option md_longopts[] =
{"small", no_argument, NULL, OPTION_SMALL},
{"dsp", no_argument, NULL, OPTION_DSP},
{"isa", required_argument, NULL, OPTION_ISA},
+ {"renesas", no_argument, NULL, OPTION_RENESAS},
+
#ifdef HAVE_SH64
-#define OPTION_ABI (OPTION_ISA + 1)
+#define OPTION_ABI (OPTION_RENESAS + 1)
#define OPTION_NO_MIX (OPTION_ABI + 1)
#define OPTION_SHCOMPACT_CONST_CRANGE (OPTION_NO_MIX + 1)
#define OPTION_NO_EXPAND (OPTION_SHCOMPACT_CONST_CRANGE + 1)
@@ -2889,9 +2939,17 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
preset_target_arch = arch_sh1_up & ~arch_sh2e_up;
break;
+ case OPTION_RENESAS:
+ dont_adjust_reloc_32 = 1;
+ break;
+
case OPTION_ISA:
if (strcasecmp (arg, "sh4") == 0)
preset_target_arch = arch_sh4;
+ else if (strcasecmp (arg, "sh4-nofpu") == 0)
+ preset_target_arch = arch_sh4_nofpu;
+ else if (strcasecmp (arg, "sh4-nommu-nofpu") == 0)
+ preset_target_arch = arch_sh4_nommu_nofpu;
else if (strcasecmp (arg, "sh4a") == 0)
preset_target_arch = arch_sh4a;
else if (strcasecmp (arg, "dsp") == 0)
@@ -2972,18 +3030,23 @@ SH options:\n\
-little generate little endian code\n\
-big generate big endian code\n\
-relax alter jump instructions for long displacements\n\
+-renesas disable optimization with section symbol for\n\
+ compatibility with Renesas assembler.\n\
-small align sections to 4 byte boundaries, not 16\n\
--dsp enable sh-dsp insns, and disable floating-point ISAs.\n"));
-#ifdef HAVE_SH64
- fprintf (stream, _("\
+-dsp enable sh-dsp insns, and disable floating-point ISAs.\n\
-isa=[sh4\n\
+ | sh4-nofpu sh4 with fpu disabled\n\
+ | sh4-nommu-nofpu sh4 with no MMU or FPU\n\
| sh4a\n\
- | dsp same as '-dsp'\n\
+ | dsp same as '-dsp'\n\
| fp\n\
- | shmedia set as the default instruction set for SH64\n\
+ | any] use most appropriate isa\n"));
+#ifdef HAVE_SH64
+ fprintf (stream, _("\
+-isa=[shmedia set as the default instruction set for SH64\n\
| SHmedia\n\
| shcompact\n\
- | SHcompact\n"));
+ | SHcompact]\n"));
fprintf (stream, _("\
-abi=[32|64] set size of expanded SHmedia operands and object\n\
file type\n\
@@ -2994,13 +3057,6 @@ SH options:\n\
-no-expand do not expand MOVI, PT, PTA or PTB instructions\n\
-expand-pt32 with -abi=64, expand PT, PTA and PTB instructions\n\
to 32 bits only\n"));
-#else
- fprintf (stream, _("\
--isa=[sh4\n\
- | sh4a\n\
- | dsp same as '-dsp'\n\
- | fp\n\
- | any]\n"));
#endif /* HAVE_SH64 */
}
@@ -3521,6 +3577,7 @@ sh_fix_adjustable (fixS *fixP)
if (fixP->fx_r_type == BFD_RELOC_32_PLT_PCREL
|| fixP->fx_r_type == BFD_RELOC_32_GOT_PCREL
|| fixP->fx_r_type == BFD_RELOC_SH_GOTPC
+ || ((fixP->fx_r_type == BFD_RELOC_32) && dont_adjust_reloc_32)
|| fixP->fx_r_type == BFD_RELOC_RVA)
return 0;
@@ -3560,6 +3617,8 @@ sh_elf_final_processing (void)
val = EF_SH3_DSP;
else if (valid_arch & arch_sh3e)
val = EF_SH3E;
+ else if (valid_arch & arch_sh4_nommu_nofpu)
+ val = EF_SH4_NOMMU_NOFPU;
else if (valid_arch & arch_sh4_nofpu)
val = EF_SH4_NOFPU;
else if (valid_arch & arch_sh4)
@@ -4188,10 +4247,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
rel->addend = 0;
rel->howto = bfd_reloc_type_lookup (stdoutput, r_type);
-#ifdef OBJ_ELF
- if (rel->howto->type == R_SH_IND12W)
- rel->addend += fixp->fx_offset - 4;
-#endif
+
if (rel->howto == NULL)
{
as_bad_where (fixp->fx_file, fixp->fx_line,
@@ -4201,6 +4257,10 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
rel->howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_32);
assert (rel->howto != NULL);
}
+#ifdef OBJ_ELF
+ else if (rel->howto->type == R_SH_IND12W)
+ rel->addend += fixp->fx_offset - 4;
+#endif
return rel;
}
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 8f101db..5d5ccea 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -3721,7 +3721,7 @@ xg_assemble_literal (insn)
set_expr_symbol_offset (&saved_loc, frag_now->fr_symbol, frag_now_fix ());
assert (insn->insn_type == ITYPE_LITERAL);
- assert (insn->ntok = 1); /* must be only one token here */
+ assert (insn->ntok == 1); /* must be only one token here */
xtensa_switch_to_literal_fragment (&state);
@@ -7888,10 +7888,9 @@ xtensa_post_relax_hook ()
xtensa_create_property_segments (get_frag_is_insn,
XTENSA_INSN_SEC_NAME,
xt_insn_sec);
- if (use_literal_section)
- xtensa_create_property_segments (get_frag_is_literal,
- XTENSA_LIT_SEC_NAME,
- xt_literal_sec);
+ xtensa_create_property_segments (get_frag_is_literal,
+ XTENSA_LIT_SEC_NAME,
+ xt_literal_sec);
}
diff --git a/gas/configure b/gas/configure
index d663f72..1cb9226 100755
--- a/gas/configure
+++ b/gas/configure
@@ -4415,7 +4415,6 @@ echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a wo
# don't change em like *-*-bsd does
mips-dec-openbsd*) fmt=elf endian=little ;;
- mips-dec-bsd*) fmt=aout endian=little ;;
mips-sony-bsd*) fmt=ecoff ;;
mips-*-bsd*)
{ { echo "$as_me:$LINENO: error: Unknown vendor for mips-bsd configuration." >&5
@@ -4482,7 +4481,7 @@ echo "$as_me: error: Solaris must be configured little endian" >&2;}
{ (exit 1); exit 1; }; }
fi ;;
ppc-*-rtems*) fmt=elf ;;
- ppc-*-macos* | ppc-*-mpw*) fmt=coff em=macos ;;
+ ppc-*-macos*) fmt=coff em=macos ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
ppc-**-nto*) fmt=elf ;;
ppc-*-kaos*) fmt=elf ;;
diff --git a/gas/configure.in b/gas/configure.in
index bdcddde..83a5768 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -376,7 +376,6 @@ changequote([,])dnl
# don't change em like *-*-bsd does
mips-dec-openbsd*) fmt=elf endian=little ;;
- mips-dec-bsd*) fmt=aout endian=little ;;
mips-sony-bsd*) fmt=ecoff ;;
mips-*-bsd*)
AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
@@ -433,7 +432,7 @@ changequote([,])dnl
AC_MSG_ERROR(Solaris must be configured little endian)
fi ;;
ppc-*-rtems*) fmt=elf ;;
- ppc-*-macos* | ppc-*-mpw*) fmt=coff em=macos ;;
+ ppc-*-macos*) fmt=coff em=macos ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
ppc-**-nto*) fmt=elf ;;
ppc-*-kaos*) fmt=elf ;;
diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in
index b53c17a..c5ac6c0 100644
--- a/gas/doc/Makefile.in
+++ b/gas/doc/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.8 from Makefile.am.
+# Makefile.in generated by automake 1.8.2 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
-
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@@ -38,6 +36,42 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../gettext.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+depcomp =
+am__depfiles_maybe =
+SOURCES =
+DIST_SOURCES =
+INFO_DEPS = $(srcdir)/as.info
+TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
+am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo
+DVIS = as.dvi
+PDFS = as.pdf
+PSS = as.ps
+HTMLS = as.html
+TEXINFOS = as.texinfo
+TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \
+ echo $(top_srcdir)/../texinfo/util/texi2dvi; \
+ else \
+ echo texi2dvi; \
+ fi`
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+DVIPS = dvips
+man1dir = $(mandir)/man1
+am__installdirs = $(DESTDIR)$(man1dir)
+NROFF = nroff
+MANS = $(man_MANS)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_OBJ_DEPS = @ALL_OBJ_DEPS@
@@ -150,6 +184,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
obj_format = @obj_format@
oldincludedir = @oldincludedir@
prefix = @prefix@
@@ -164,25 +199,19 @@ target_cpu_type = @target_cpu_type@
target_os = @target_os@
target_vendor = @target_vendor@
te_file = @te_file@
-
-AUTOMAKE_OPTIONS = cygnus
+AUTOMAKE_OPTIONS = 1.8 cygnus
# What version of the manual you want; "all" includes everything
CONFIG = all
# Options to extract the man page from as.texinfo
MANCONF = -Dman
-
TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl
-
POD2MAN = pod2man --center="GNU Development Tools" \
--release="binutils-$(VERSION)" --section=1
-
man_MANS = as.1
-
info_TEXINFOS = as.texinfo
-
CPU_DOCS = \
c-a29k.texi \
c-alpha.texi \
@@ -219,40 +248,46 @@ CPU_DOCS = \
c-z8k.texi
-
# This one isn't ready for prime time yet. Not even a little bit.
noinst_TEXINFOS = internals.texi
-
DISTCLEANFILES = asconfig.texi
-
MAINTAINERCLEANFILES = gasver.texi
-subdir = doc
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-depcomp =
-am__depfiles_maybe =
-DIST_SOURCES =
-TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
-am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo
-INFO_DEPS = as.info
-DVIS = as.dvi
-PDFS = as.pdf
-PSS = as.ps
-TEXINFOS = as.texinfo
-
-NROFF = nroff
-MANS = $(man_MANS)
+BASEDIR = $(srcdir)/../..
+BFDDIR = $(BASEDIR)/bfd
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in
all: all-am
.SUFFIXES:
-.SUFFIXES: .dvi .info .pdf .ps .texinfo
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+.SUFFIXES: .dvi .html .info .pdf .ps .texinfo
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --cygnus doc/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
@@ -264,29 +299,48 @@ distclean-libtool:
-rm -f libtool
.texinfo.info:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+ restore=: && \
+ backupdir="$(am__leading_dot)am$$$$" && \
+ am__cwd=`pwd` && cd $(srcdir) && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+ if test -f $$f; then \
+ mv $$f $$backupdir; \
+ restore=mv; \
+ fi; \
+ done; \
+ cd "$$am__cwd"; \
+ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ -o $@ $<; \
+ then \
+ rc=0; \
+ cd $(srcdir); \
+ else \
+ rc=$$?; \
+ cd $(srcdir) && \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; \
+ exit $$rc
.texinfo.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
+ $(TEXI2DVI) $<
.texinfo.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
+ $(TEXI2PDF) $<
+
+.texinfo.html:
+ $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ -o $@ $<
+ if test ! -d $@ && test -d $(@:.html=); then \
+ mv $(@:.html=) $@; else :; fi
+$(srcdir)/as.info: as.texinfo
as.pdf: as.texinfo
-
-TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \
- echo $(top_srcdir)/../texinfo/util/texi2dvi; \
- else \
- echo texi2dvi; \
- fi`
-
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-DVIPS = dvips
+as.html: as.texinfo
.dvi.ps:
$(DVIPS) -o $@ $<
@@ -313,8 +367,12 @@ uninstall-info-am:
done
dist-info: $(INFO_DEPS)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; \
for base in $$list; do \
+ case $$base in \
+ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+ esac; \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
@@ -324,8 +382,8 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -f as.aux as.cp as.cps as.fn as.fns as.ky as.log as.pg as.pgs as.tmp \
- as.toc as.tp as.tps as.vr as.vrs as.dvi as.pdf as.ps
+ -rm -rf as.aux as.cp as.cps as.fn as.fns as.ky as.log as.pg as.pgs as.tmp \
+ as.toc as.tp as.tps as.vr as.vrs as.dvi as.pdf as.ps as.html
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
@@ -335,11 +393,9 @@ maintainer-clean-aminfo:
done
clean-info: mostlyclean-aminfo
-
-man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ $(mkdir_p) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
@@ -391,9 +447,9 @@ CTAGS:
check-am:
check: check-am
all-am: Makefile $(MANS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ $(mkdir_p) $(DESTDIR)$(man1dir)
+install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -404,7 +460,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- INSTALL_STRIP_FLAG=-s \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -431,21 +487,27 @@ dvi: dvi-am
dvi-am: $(DVIS)
-info: info-am
+html: html-am
+
+html-am: $(HTMLS)
info-am: $(INFO_DEPS)
-install-data-am: install-man
+install-data-am: install-data-local install-man
install-exec-am:
-install-info:
+install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(infodir)
- @list='$(INFO_DEPS)'; \
+ $(mkdir_p) $(DESTDIR)$(infodir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ list='$(INFO_DEPS)'; \
for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ esac; \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
@@ -495,15 +557,15 @@ uninstall-man: uninstall-man1
.PHONY: all all-am check check-am clean clean-generic clean-info \
clean-libtool dist-info distclean distclean-generic \
- distclean-libtool dvi dvi-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-man1 \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-aminfo \
- maintainer-clean-generic mostlyclean mostlyclean-aminfo \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am uninstall-man \
- uninstall-man1
+ distclean-libtool dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-man1 install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+ mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
+ pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
+ uninstall-man uninstall-man1
asconfig.texi: $(CONFIG).texi
@@ -521,8 +583,7 @@ as.dvi: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS)
# We want install to imply install-info as per GNU standards, despite the
# cygnus option.
-install: install-info
-install-info: install-info-am
+install-data-local: install-info
# Maintenance
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index d9d23df..cee3fbf 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -263,6 +263,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
[@b{-march}=@var{architecture}[+@var{extension}@dots{}]]
[@b{-mfpu}=@var{floating-point-format}]
[@b{-mfloat-abi}=@var{abi}]
+ [@b{-meabi}=@var{ver}]
[@b{-mthumb}]
[@b{-EB}|@b{-EL}]
[@b{-mapcs-32}|@b{-mapcs-26}|@b{-mapcs-float}|
@@ -352,7 +353,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@emph{Target MIPS options:}
[@b{-nocpp}] [@b{-EL}] [@b{-EB}] [@b{-O}[@var{optimization level}]]
[@b{-g}[@var{debug level}]] [@b{-G} @var{num}] [@b{-KPIC}] [@b{-call_shared}]
- [@b{-non_shared}] [@b{-xgot}] [@b{--membedded-pic}]
+ [@b{-non_shared}] [@b{-xgot}]
[@b{-mabi}=@var{ABI}] [@b{-32}] [@b{-n32}] [@b{-64}] [@b{-mfp32}] [@b{-mgp32}]
[@b{-march}=@var{CPU}] [@b{-mtune}=@var{CPU}] [@b{-mips1}] [@b{-mips2}]
[@b{-mips3}] [@b{-mips4}] [@b{-mips5}] [@b{-mips32}] [@b{-mips32r2}]
@@ -2982,9 +2983,9 @@ data subsections as a data section.
To specify which subsection you want subsequent statements assembled
into, use a numeric argument to specify it, in a @samp{.text
@var{expression}} or a @samp{.data @var{expression}} statement.
-@ifset COFF-ELF
+@ifset COFF
@ifset GENERIC
-When generating COFF or ELF output, you
+When generating COFF output, you
@end ifset
@ifclear GENERIC
You
@@ -2993,6 +2994,16 @@ can also use an extra subsection
argument with arbitrary named sections: @samp{.section @var{name},
@var{expression}}.
@end ifset
+@ifset ELF
+@ifset GENERIC
+When generating ELF output, you
+@end ifset
+@ifclear GENERIC
+You
+@end ifclear
+can also use the @code{.subsection} directive (@pxref{SubSection})
+to specify a subsection: @samp{.subsection @var{expression}}.
+@end ifset
@var{Expression} should be an absolute expression.
(@xref{Expressions}.) If you just say @samp{.text} then @samp{.text 0}
is assumed. Likewise @samp{.data} means @samp{.data 0}. Assembly
@@ -4333,7 +4344,7 @@ partial programs. You may need the HPPA-only @code{.EXPORT} directive as well.
@cindex @code{hidden} directive
@cindex visibility
-This one of the ELF visibility directives. The other two are
+This is one of the ELF visibility directives. The other two are
@code{.internal} (@pxref{Internal,,@code{.internal}}) and
@code{.protected} (@pxref{Protected,,@code{.protected}}).
@@ -4509,7 +4520,7 @@ integers. On the H8/300H and the Renesas SH, however, @code{.int} emits
@cindex @code{internal} directive
@cindex visibility
-This one of the ELF visibility directives. The other two are
+This is one of the ELF visibility directives. The other two are
@code{.hidden} (@pxref{Hidden,,@code{.hidden}}) and
@code{.protected} (@pxref{Protected,,@code{.protected}}).
@@ -4996,7 +5007,7 @@ assembly. You must put @var{string} in double quotes.
@cindex @code{protected} directive
@cindex visibility
-This one of the ELF visibility directives. The other two are
+This is one of the ELF visibility directives. The other two are
@code{.hidden} (@pxref{Hidden}) and @code{.internal} (@pxref{Internal}).
This directive overrides the named symbols default visibility (which is set by
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 23cd7bb..e871d28 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -228,6 +228,15 @@ The following values are recognized:
and
@code{hard}.
+@cindex @code{-eabi=} command line option, ARM
+@item -meabi=@var{ver}
+This option specifies which EABI version the produced object files should
+conform to.
+The following values are recognised:
+@code{gnu}
+and
+@code{3}.
+
@cindex @code{-EB} command line option, ARM
@item -EB
This option specifies that the output generated by the assembler should
diff --git a/gas/doc/c-hppa.texi b/gas/doc/c-hppa.texi
index 0ddda04..9970188 100644
--- a/gas/doc/c-hppa.texi
+++ b/gas/doc/c-hppa.texi
@@ -1,4 +1,4 @@
-@c Copyright 1991, 1992, 1993, 1994, 1995, 1998
+@c Copyright 1991, 1992, 1993, 1994, 1995, 1998, 2004
@c Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@@ -181,7 +181,7 @@ Define @var{name} as a label for the current assembly location.
Not yet supported; the assembler rejects programs containing this directive.
@item .origin @var{lc}
-Advance location counter to @var{lc}. Synonym for the @code{@value{as}}
+Advance location counter to @var{lc}. Synonym for the @code{@value{AS}}
portable directive @code{.org}.
@item .param @var{name} [ ,@var{typ} ] [ ,@var{param}=@var{r} ]
@@ -245,14 +245,51 @@ identified by keywords. The keywords recognized are @samp{quad=@var{expr}}
beginning of this subsection; a power of two), @samp{access=@var{expr}} (value
for ``access rights'' field), @samp{sort=@var{expr}} (sorting order for this
subspace in link), @samp{code_only} (subsection contains only code),
-@samp{unloadable} (subsection cannot be loaded into memory), @samp{common}
-(subsection is common block), @samp{dup_comm} (initialized data may have
-duplicate names), or @samp{zero} (subsection is all zeros, do not write in
-object file).
+@samp{unloadable} (subsection cannot be loaded into memory), @samp{comdat}
+(subsection is comdat), @samp{common} (subsection is common block),
+@samp{dup_comm} (subsection may have duplicate names), or @samp{zero}
+(subsection is all zeros, do not write in object file).
@code{.nsubspa} always creates a new subspace with the given name, even
if one with the same name already exists.
+@samp{comdat}, @samp{common} and @samp{dup_comm} can be used to implement
+various flavors of one-only support when using the SOM linker. The SOM
+linker only supports specific combinations of these flags. The details
+are not documented. A brief description is provided here.
+
+@samp{comdat} provides a form of linkonce support. It is useful for
+both code and data subspaces. A @samp{comdat} subspace has a key symbol
+marked by the @samp{is_comdat} flag or @samp{ST_COMDAT}. Only the first
+subspace for any given key is selected. The key symbol becomes universal
+in shared links. This is similar to the behavior of @samp{secondary_def}
+symbols.
+
+@samp{common} provides Fortran named common support. It is only useful
+for data subspaces. Symbols with the flag @samp{is_common} retain this
+flag in shared links. Referencing a @samp{is_common} symbol in a shared
+library from outside the library doesn't work. Thus, @samp{is_common}
+symbols must be output whenever they are needed.
+
+@samp{common} and @samp{dup_comm} together provide Cobol common support.
+The subspaces in this case must all be the same length. Otherwise, this
+support is similar to the Fortran common support.
+
+@samp{dup_comm} by itself provides a type of one-only support for code.
+Only the first @samp{dup_comm} subspace is selected. There is a rather
+complex algorithm to compare subspaces. Code symbols marked with the
+@samp{dup_common} flag are hidden. This support was intended for "C++
+duplicate inlines".
+
+A simplified technique is used to mark the flags of symbols based on
+the flags of their subspace. A symbol with the scope SS_UNIVERSAL and
+type ST_ENTRY, ST_CODE or ST_DATA is marked with the corresponding
+settings of @samp{comdat}, @samp{common} and @samp{dup_comm} from the
+subspace, respectively. This avoids having to introduce additional
+directives to mark these symbols. The HP assembler sets @samp{is_common}
+from @samp{common}. However, it doesn't set the @samp{dup_common} from
+@samp{dup_comm}. It doesn't have @samp{comdat} support.
+
@item .version "@var{str}"
Write @var{str} as version identifier in object code.
@end table
diff --git a/gas/doc/c-m32r.texi b/gas/doc/c-m32r.texi
index 4360ee6..52a73c3 100644
--- a/gas/doc/c-m32r.texi
+++ b/gas/doc/c-m32r.texi
@@ -1,4 +1,5 @@
-@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003
+@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
+@c 2003, 2004
@c Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@@ -91,6 +92,12 @@ do so.
@cindex @code{-no-parallel} option, M32RX
This option disables a previously enabled @emph{-parallel} option.
+@item -no-bitinst
+@cindex @samp{-no-bitinst}, M32R2
+This option disables the support for the extended bit-field
+instructions provided by the M32R2. If this support needs to be
+re-enabled the @emph{-bitinst} switch can be used to restore it.
+
@item -O
@cindex @code{-O} option, M32RX
This option tells the assembler to attempt to optimize the
diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi
index dbea723..1375230 100644
--- a/gas/doc/c-mips.texi
+++ b/gas/doc/c-mips.texi
@@ -122,11 +122,11 @@ This tells the assembler to accept MDMX instructions.
Cause nops to be inserted if the read of the destination register
of an mfhi or mflo instruction occurs in the following two instructions.
-@item -mfix-vr4122-bugs
-@itemx -no-mfix-vr4122-bugs
-Insert @samp{nop} instructions to avoid errors in certain versions of
-the vr4122 core. This option is intended to be used on GCC-generated
-code: it is not designed to catch errors in hand-written assembler code.
+@item -mfix-vr4120
+@itemx -no-mfix-vr4120
+Insert nops to work around certain VR4120 errata. This option is
+intended to be used on GCC-generated code: it is not designed to catch
+all problems in hand-written assembler code.
@item -m4010
@itemx -no-m4010
diff --git a/gas/doc/c-sh.texi b/gas/doc/c-sh.texi
index 509106f..b08f325 100644
--- a/gas/doc/c-sh.texi
+++ b/gas/doc/c-sh.texi
@@ -29,6 +29,7 @@
@kindex -relax
@kindex -small
@kindex -dsp
+@kindex -renesas
@item -little
Generate little endian code.
@@ -45,6 +46,10 @@ Align sections to 4 byte boundaries, not 16.
@item -dsp
Enable sh-dsp insns, and disable sh3e / sh4 insns.
+@item -renesas
+Disable optimization with section symbol for compatibility with
+Renesas assembler.
+
@item -isa=sh4 | sh4a
Specify the sh4 or sh4a instruction set.
@item -isa=dsp
diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c
index 3be7e20..ff0aa35 100644
--- a/gas/dw2gencfi.c
+++ b/gas/dw2gencfi.c
@@ -857,6 +857,7 @@ output_cie (struct cie_entry *cie)
for (i = cie->first; i != cie->last; i = i->next)
output_cfi_insn (i);
+ frag_align (2, 0, 0);
symbol_set_value_now (end_address);
}
@@ -906,8 +907,7 @@ output_fde (struct fde_entry *fde, struct cie_entry *cie,
for (; first; first = first->next)
output_cfi_insn (first);
- if (align)
- frag_align (align, 0, 0);
+ frag_align (align, 0, 0);
symbol_set_value_now (end_address);
}
@@ -1035,7 +1035,7 @@ cfi_finish (void)
struct cie_entry *cie;
cie = select_cie_for_fde (fde, &first);
- output_fde (fde, cie, first, fde->next == NULL ? EH_FRAME_ALIGNMENT : 0);
+ output_fde (fde, cie, first, fde->next == NULL ? EH_FRAME_ALIGNMENT : 2);
}
flag_traditional_format = save_flag_traditional_format;
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 3336453..59da56a 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -1371,7 +1371,7 @@ dwarf2_finish (void)
/* Create and switch to the line number section. */
line_seg = subseg_new (".debug_line", 0);
- bfd_set_section_flags (stdoutput, line_seg, SEC_READONLY);
+ bfd_set_section_flags (stdoutput, line_seg, SEC_READONLY | SEC_DEBUGGING);
/* For each subsection, chain the debug entries together. */
for (s = all_segs; s; s = s->next)
@@ -1400,9 +1400,12 @@ dwarf2_finish (void)
abbrev_seg = subseg_new (".debug_abbrev", 0);
aranges_seg = subseg_new (".debug_aranges", 0);
- bfd_set_section_flags (stdoutput, info_seg, SEC_READONLY);
- bfd_set_section_flags (stdoutput, abbrev_seg, SEC_READONLY);
- bfd_set_section_flags (stdoutput, aranges_seg, SEC_READONLY);
+ bfd_set_section_flags (stdoutput, info_seg,
+ SEC_READONLY | SEC_DEBUGGING);
+ bfd_set_section_flags (stdoutput, abbrev_seg,
+ SEC_READONLY | SEC_DEBUGGING);
+ bfd_set_section_flags (stdoutput, aranges_seg,
+ SEC_READONLY | SEC_DEBUGGING);
record_alignment (aranges_seg, ffs (2 * sizeof_address) - 1);
diff --git a/gas/ecoff.c b/gas/ecoff.c
index 1de823e..d8ad019 100644
--- a/gas/ecoff.c
+++ b/gas/ecoff.c
@@ -3685,6 +3685,8 @@ ecoff_build_lineno (const struct ecoff_debug_swap *backend,
iline = 0;
totcount = 0;
+ /* FIXME? Now that MIPS embedded-PIC is gone, it may be safe to
+ remove this code. */
/* For some reason the address of the first procedure is ignored
when reading line numbers. This doesn't matter if the address of
the first procedure is 0, but when gcc is generating MIPS
diff --git a/gas/expr.c b/gas/expr.c
index a18d6d8..19e3f1c 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -1021,6 +1021,9 @@ operand (expressionS *expressionP)
break;
case '+':
+ /* Do not accept ++e as +(+e) */
+ if (*input_line_pointer == '+')
+ goto target_op;
(void) operand (expressionP);
break;
@@ -1038,6 +1041,10 @@ operand (expressionS *expressionP)
case '!':
case '-':
{
+ /* Do not accept --e as -(-e) */
+ if (c == '-' && *input_line_pointer == '-')
+ goto target_op;
+
operand (expressionP);
if (expressionP->X_op == O_constant)
{
@@ -1289,6 +1296,7 @@ operand (expressionS *expressionP)
}
else
{
+ target_op:
/* Let the target try to parse it. Success is indicated by changing
the X_op field to something other than O_absent and pointing
input_line_pointer past the expression. If it can't parse the
@@ -1541,6 +1549,13 @@ operator (int *num_chars)
default:
return op_encoding[c];
+ case '+':
+ case '-':
+ /* Do not allow a++b and a--b to be a + (+b) and a - (-b) */
+ if (input_line_pointer[1] != c)
+ return op_encoding[c];
+ return O_illegal;
+
case '<':
switch (input_line_pointer[1])
{
diff --git a/gas/mac-as.r b/gas/mac-as.r
deleted file mode 100644
index f36c033..0000000
--- a/gas/mac-as.r
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Resources for GNU AS. */
-
-#include "SysTypes.r"
-
-/* Version resources. */
-
-resource 'vers' (1) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- VERSION_STRING " (C) 1986-95 FSF, Inc."
-};
-
-resource 'vers' (2, purgeable) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- "GAS " VERSION_STRING " for MPW"
-};
-
-#ifdef WANT_CFRG
-
-#include "CodeFragmentTypes.r"
-
-resource 'cfrg' (0) {
- {
- kPowerPC,
- kFullLib,
- kNoVersionNum, kNoVersionNum,
- 0,0,
- kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork,
- PROG_NAME
- }
-};
-
-#endif /* WANT_CFRG */
diff --git a/gas/mpw-config.in b/gas/mpw-config.in
deleted file mode 100644
index 9e29b1d..0000000
--- a/gas/mpw-config.in
+++ /dev/null
@@ -1,115 +0,0 @@
-# Configuration fragment for GAS.
-
-Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
-
-If "{target_arch}" =~ /powerpc/
- Set short_arch_name "ppc"
- Set target_cpu "powerpc"
-Else
- Set short_arch_name "{target_arch}"
-End If
-
-# The following works for many configurations, though not all.
-
-Set obj_format `echo {target_canonical} | sed -e 's/.*-.*-//'`
-Set target_os `echo {target_canonical} | sed -e 's/.*-.*-//'`
-
-Set bfd_gas no
-
-Set TDEFINES ""
-
-Set EXTRA_OBJECTS ""
-
-# Default emulation.
-
-Set em generic
-
-If "{target_canonical}" =~ /m68k-apple-macos/
- Set obj_format "coff"
- Set TDEFINES '-d M68KCOFF'
- Set EXTRA_OBJECTS '"{o}"m68k-parse.c.o'
-
-Else If "{target_canonical}" =~ /powerpc-apple-macos/
- Set obj_format "coff"
- Set bfd_gas yes
- Set em macos
-
-Else If "{target_canonical}" =~ /i386-\Option-x-go32/
- Set obj_format "coff"
- Set TDEFINES '-d I386COFF'
-
-Else If "{target_canonical}" =~ /m68k-\Option-x-coff/
- Set TDEFINES '-d M68KCOFF'
-
-Else If "{target_canonical}" =~ /mips-idt-ecoff/
- Set bfd_gas yes
- Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN=1'
-
-Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/
- # Assume other OSes etc use ELF
- Set obj_format "elf"
- Set bfd_gas yes
- Set TDEFINES '-d TARGET_BYTES_BIG_ENDIAN=1'
- forward-include "{srcroot}"bfd:elf-bfd.h 'bfd/elf-bfd.h'
-
-Else If "{target_canonical}" =~ /sh-\Option-x-hms/
- Set obj_format "coff"
- forward-include "{srcroot}"opcodes:sh-opc.h 'opcodes/sh-opc.h'
-End If
-
-forward-include "{srcdir}"config:tc-{short_arch_name}.c targ-cpu.c
-forward-include "{srcdir}"config:tc-{short_arch_name}.h targ-cpu.h
-
-forward-include "{srcdir}"config:obj-{obj_format}.c obj-format.c
-forward-include "{srcdir}"config:obj-{obj_format}.h obj-format.h
-
-forward-include "{srcdir}"config:te-{em}.h targ-env.h
-
-# Special cases for float handling.
-
-If "{target_arch}" =~ /ns32k/
- forward-include "{srcdir}"config:atof-ns32k.c atof-targ.c
-Else If "{target_arch}" =~ /tahoe/
- forward-include "{srcdir}"config:atof-tahoe.c atof-targ.c
-Else If "{target_arch}" =~ /vax/
- forward-include "{srcdir}"config:atof-vax.c atof-targ.c
-Else
- # Use IEEE by default.
- forward-include "{srcdir}"config:atof-ieee.c atof-targ.c
-End If
-
-Echo '# From mpw-config.in' > "{o}"mk.tmp
-Echo "TDEFINES = " {TDEFINES} >> "{o}"mk.tmp
-Echo "EXTRA_OBJECTS = " {EXTRA_OBJECTS} >> "{o}"mk.tmp
-# (We use the -n option here so as not to get extra spaces inserted)
-Echo -n 'TARG_CPU_DEP = {TARG_CPU_DEP_' >> "{o}"mk.tmp
-Echo -n {short_arch_name} >> "{o}"mk.tmp
-Echo -n '}' >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* conf. Generated by mpw-configure. */' > "{o}"conf.new
-Echo -n '#define TARGET_CPU "' >> "{o}"conf.new
-Echo -n "{target_cpu}" >> "{o}"conf.new
-Echo '"' >> "{o}"conf.new
-Echo -n '#define TARGET_OS "' >> "{o}"conf.new
-Echo -n "{target_os}" >> "{o}"conf.new
-Echo '"' >> "{o}"conf.new
-Echo -n '#define TARGET_ALIAS "' >> "{o}"conf.new
-Echo -n "{target_alias}" >> "{o}"conf.new
-Echo '"' >> "{o}"conf.new
-Echo -n '#define TARGET_CANONICAL "' >> "{o}"conf.new
-Echo -n "{target_canonical}" >> "{o}"conf.new
-Echo '"' >> "{o}"conf.new
-Echo '#include "mpw.h"' >> "{o}"conf.new
-If "{bfd_gas}" =~ /yes/
- Echo "#define BFD_ASSEMBLER" >> "{o}"conf.new
-Else
- Echo "#define MANY_SEGMENTS" >> "{o}"conf.new
-End If
-Echo '#define CR_EOL' >> "{o}"conf.new
-Echo '#define OBJ_COFF_OMIT_TIMESTAMP' >> "{o}"conf.new
-Echo '#define LOSING_COMPILER' >> "{o}"conf.new
-
-MoveIfChange "{o}"conf.new "{o}"conf
-
-sed -e "s/@srcdir@/{srcdir}/" "{srcdir}"gdbinit.in > "{o}"_gdbinit
diff --git a/gas/mpw-make.sed b/gas/mpw-make.sed
deleted file mode 100644
index 3bcb0ce..0000000
--- a/gas/mpw-make.sed
+++ /dev/null
@@ -1,96 +0,0 @@
-# Sed commands that finish translating the GAS Unix Makefile to MPW syntax.
-
-/^# @target_frag@/a\
-\
-HDEFINES = \
-LOCAL_LOADLIBES = \
-
-/^srcroot = /s/^/#/
-/^target_alias = /s/^/#/
-
-/INCLUDES/s/-i "{srcdir}":\([a-z]*\)/-i "{topsrcdir}"\1/
-/INCLUDES/s/-i "{srcdir}"\.\./-i "{topsrcdir}"/
-
-/^INCLUDES = .*$/s/$/ -i "{topsrcdir}"include:mpw: -i ::extra-include:/
-
-/$(TARG_CPU_DEP_@target_cpu_type@)/s/$(TARG_CPU_DEP_@target_cpu_type@)/{TARG_CPU_DEP}/
-
-/@OPCODES_LIB@/s/@OPCODES_LIB@/::opcodes:libopcodes.o/
-/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/
-
-# Point at the libraries directly.
-/@OPCODES_DEP@/s/@OPCODES_DEP@/::opcodes:libopcodes.o/
-/@BFDDEP@/s/@BFDDEP@/::bfd:libbfd.o/
-
-# Don't need this.
-/@HLDFLAGS@/s/@HLDFLAGS@//
-
-/extra_objects@/s/extra_objects@/{EXTRA_OBJECTS}/
-
-/LOADLIBES/s/{LOADLIBES}/{EXTRALIBS}/
-
-/@ALL_OBJ_DEPS@/s/@ALL_OBJ_DEPS@/::bfd:bfd.h/
-
-# This causes problems - not sure why.
-/^tags TAGS/,/etags /d
-
-/^make-gas.com/s/^/#/
-
-/true/s/ ; @true$//
-
-# Remove references to conf.in, we don't need them.
-/conf\.in/s/conf\.in//g
-
-# Use _gdbinit everywhere instead of .gdbinit.
-/gdbinit/s/\.gdbinit/_gdbinit/g
-
-/atof-targ/s/"{s}"atof-targ\.c/"{o}"atof-targ.c/g
-/config/s/"{s}"config\.h/"{o}"config.h/g
-/config/s/^config\.h/"{o}"config.h/
-/obj-format/s/"{s}"obj-format\.c/"{o}"obj-format.c/g
-/obj-format/s/"{s}"obj-format\.h/"{o}"obj-format.h/g
-/targ-cpu/s/"{s}"targ-cpu\.c/"{o}"targ-cpu.c/g
-/targ-cpu/s/"{s}"targ-cpu\.h/"{o}"targ-cpu.h/g
-/targ-env/s/"{s}"targ-env\.h/"{o}"targ-env.h/g
-
-/m68k-parse.c/s/"{s}"m68k-parse\.c/"{o}"m68k-parse.c/g
-/m68k-parse.c/s/^m68k-parse\.c/"{o}"m68k-parse.c/
-
-# Whack out the config.h dependency, it only causes excess rebuilds.
-/{OBJS}/s/{OBJS} \\Option-f "{o}"config.h/{OBJS} \\Option-f/
-
-# ALL_CFLAGS includes TDEFINES, which is not desirable at link time.
-/CC_LD/s/ALL_CFLAGS/CFLAGS/g
-
-# The resource file is called mac-as.r.
-/as.new.r/s/as\.new\.r/mac-as.r/
-
-# ...and the PROG_NAME doesn't have a .new in it.
-/PROG_NAME/s/PROG_NAME='"'as.new'"'/PROG_NAME='"'as'"'/
-
-# Whack out recursive makes, they won't work.
-/^[ ][ ]*srcroot=/,/^[ ][ ]*(cd /d
-
-# Work around quoting problems by using multiple echo commands.
-/'#define GAS_VERSION "{VERSION}"'/c\
- Echo -n '#define GAS_VERSION "' >> "{o}"config.new\
- Echo -n "{VERSION}" >> "{o}"config.new\
- Echo -n '"' >> "{o}"config.new
-
-# Add a "stamps" target.
-$a\
-stamps \\Option-f config-stamp\
-
-/^install \\Option-f/,/^$/c\
-install \\Option-f all install-only\
-\
-install-only \\Option-f\
- NewFolderRecursive "{bindir}"\
- Duplicate -y :as.new "{bindir}"as\
-
-
-# Whack out config-rebuilding targets, they won't work.
-/^Makefile \\Option-f/,/^$/d
-/^config.status \\Option-f/,/^$/d
-
-/^"{o}"config.h \\Option-f/s/^/#/
diff --git a/gas/po/gas.pot b/gas/po/gas.pot
index ae3cbab..cd983b3 100644
--- a/gas/po/gas.pot
+++ b/gas/po/gas.pot
@@ -1,12 +1,14 @@
# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-17 14:56+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 15:01+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,72 +16,73 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: app.c:474 app.c:488
+#: app.c:468 app.c:482
msgid "end of file in comment"
msgstr ""
-#: app.c:567
+#: app.c:561
msgid "end of file in string; inserted '\"'"
msgstr ""
-#: app.c:612
+#: app.c:606
msgid "end of file in string; '\"' inserted"
msgstr ""
-#: app.c:638
+#: app.c:632
#, c-format
msgid "unknown escape '\\%c' in string; ignored"
msgstr ""
-#: app.c:790
+#: app.c:788
msgid "end of file not at end of a line; newline inserted"
msgstr ""
-#: app.c:949
+#: app.c:947
msgid "end of file in multiline comment"
msgstr ""
-#: app.c:1013
+#: app.c:1011
msgid "end of file after a one-character quote; \\0 inserted"
msgstr ""
-#: app.c:1021
+#: app.c:1019
msgid "end of file in escape character"
msgstr ""
-#: app.c:1033
+#: app.c:1031
msgid "missing close quote; (assumed)"
msgstr ""
-#: app.c:1101 app.c:1155 app.c:1166 app.c:1231
+#: app.c:1099 app.c:1153 app.c:1164 app.c:1229
msgid "end of file in comment; newline inserted"
msgstr ""
-#: as.c:160
+#: as.c:158
msgid "missing emulation mode name"
msgstr ""
-#: as.c:175
+#: as.c:173
#, c-format
msgid "unrecognized emulation name `%s'"
msgstr ""
-#: as.c:222
+#: as.c:221
#, c-format
msgid "GNU assembler version %s (%s) using BFD version %s"
msgstr ""
-#: as.c:225
+#: as.c:224
#, c-format
msgid "GNU assembler version %s (%s)"
msgstr ""
-#: as.c:234
+#: as.c:232
#, c-format
msgid "Usage: %s [option...] [asmfile...]\n"
msgstr ""
-#: as.c:236
+#: as.c:234
+#, c-format
msgid ""
"Options:\n"
" -a[sub-option...]\t turn on listings\n"
@@ -94,122 +97,154 @@ msgid ""
" \t =FILE list to FILE (must be last sub-option)\n"
msgstr ""
-#: as.c:249
+#: as.c:247
+#, c-format
msgid " -D produce assembler debugging messages\n"
msgstr ""
-#: as.c:251
+#: as.c:249
+#, c-format
msgid " --defsym SYM=VAL define symbol SYM to given value\n"
msgstr ""
-#: as.c:267
+#: as.c:265
#, c-format
msgid " emulate output (default %s)\n"
msgstr ""
-#: as.c:272
+#: as.c:270
+#, c-format
msgid " --execstack require executable stack for this object\n"
msgstr ""
-#: as.c:274
+#: as.c:272
+#, c-format
msgid ""
" --noexecstack don't require executable stack for this object\n"
msgstr ""
-#: as.c:277
+#: as.c:275
+#, c-format
msgid " -f skip whitespace and comment preprocessing\n"
msgstr ""
-#: as.c:279
+#: as.c:277
+#, c-format
msgid " --gstabs generate stabs debugging information\n"
msgstr ""
+#: as.c:279
+#, c-format
+msgid ""
+" --gstabs+ generate stabs debug info with GNU extensions\n"
+msgstr ""
+
#: as.c:281
+#, c-format
msgid " --gdwarf2 generate DWARF2 debugging information\n"
msgstr ""
#: as.c:283
+#, c-format
msgid " --help show this message and exit\n"
msgstr ""
#: as.c:285
+#, c-format
msgid " --target-help show target specific options\n"
msgstr ""
#: as.c:287
+#, c-format
msgid ""
" -I DIR add DIR to search list for .include directives\n"
msgstr ""
#: as.c:289
+#, c-format
msgid " -J don't warn about signed overflow\n"
msgstr ""
#: as.c:291
+#, c-format
msgid ""
" -K warn when differences altered for long "
"displacements\n"
msgstr ""
#: as.c:293
+#, c-format
msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n"
msgstr ""
#: as.c:295
+#, c-format
msgid " -M,--mri assemble in MRI compatibility mode\n"
msgstr ""
#: as.c:297
+#, c-format
msgid ""
" --MD FILE write dependency information in FILE (default "
"none)\n"
msgstr ""
#: as.c:299
+#, c-format
msgid " -nocpp ignored\n"
msgstr ""
#: as.c:301
+#, c-format
msgid ""
" -o OBJFILE name the object-file output OBJFILE (default a."
"out)\n"
msgstr ""
#: as.c:303
+#, c-format
msgid " -R fold data section into text section\n"
msgstr ""
#: as.c:305
+#, c-format
msgid ""
" --statistics print various measured statistics from execution\n"
msgstr ""
#: as.c:307
+#, c-format
msgid " --strip-local-absolute strip local absolute symbols\n"
msgstr ""
#: as.c:309
+#, c-format
msgid ""
" --traditional-format Use same format as native assembler when possible\n"
msgstr ""
#: as.c:311
+#, c-format
msgid " --version print assembler version number and exit\n"
msgstr ""
#: as.c:313
+#, c-format
msgid " -W --no-warn suppress warnings\n"
msgstr ""
#: as.c:315
+#, c-format
msgid " --warn don't suppress warnings\n"
msgstr ""
#: as.c:317
+#, c-format
msgid " --fatal-warnings treat warnings as errors\n"
msgstr ""
#: as.c:319
+#, c-format
msgid ""
" --itbl INSTTBL extend instruction set to include instructions\n"
" matching the specifications defined in file "
@@ -217,18 +252,22 @@ msgid ""
msgstr ""
#: as.c:322
+#, c-format
msgid " -w ignored\n"
msgstr ""
#: as.c:324
+#, c-format
msgid " -X ignored\n"
msgstr ""
#: as.c:326
+#, c-format
msgid " -Z generate object file even after errors\n"
msgstr ""
#: as.c:328
+#, c-format
msgid ""
" --listing-lhs-width set the width in words of the output data column "
"of\n"
@@ -236,6 +275,7 @@ msgid ""
msgstr ""
#: as.c:331
+#, c-format
msgid ""
" --listing-lhs-width2 set the width in words of the continuation lines\n"
" of the output data column; ignored if smaller "
@@ -244,12 +284,14 @@ msgid ""
msgstr ""
#: as.c:335
+#, c-format
msgid ""
" --listing-rhs-width set the max width in characters of the lines from\n"
" the source file\n"
msgstr ""
#: as.c:338
+#, c-format
msgid ""
" --listing-cont-lines set the maximum number of continuation lines used\n"
" for the output data column of the listing\n"
@@ -260,90 +302,92 @@ msgstr ""
msgid "Report bugs to %s\n"
msgstr ""
-#: as.c:557 as.c:559
+#: as.c:561 as.c:563
#, c-format
msgid "GNU assembler %s\n"
msgstr ""
-#: as.c:561
+#: as.c:565
+#, c-format
msgid "Copyright 2002 Free Software Foundation, Inc.\n"
msgstr ""
-#: as.c:562
+#: as.c:566
+#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
msgstr ""
-#: as.c:565
+#: as.c:569
#, c-format
msgid "This assembler was configured for a target of `%s'.\n"
msgstr ""
-#: as.c:572
+#: as.c:576
msgid "multiple emulation names specified"
msgstr ""
-#: as.c:574
+#: as.c:578
msgid "emulations not handled in this configuration"
msgstr ""
-#: as.c:579
+#: as.c:583
#, c-format
msgid "alias = %s\n"
msgstr ""
-#: as.c:580
+#: as.c:584
#, c-format
msgid "canonical = %s\n"
msgstr ""
-#: as.c:581
+#: as.c:585
#, c-format
msgid "cpu-type = %s\n"
msgstr ""
-#: as.c:583
+#: as.c:587
#, c-format
msgid "format = %s\n"
msgstr ""
-#: as.c:586
+#: as.c:590
#, c-format
msgid "bfd-target = %s\n"
msgstr ""
-#: as.c:599
+#: as.c:603
msgid "bad defsym; format is --defsym name=value"
msgstr ""
-#: as.c:623
+#: as.c:627
msgid "no file name following -t option"
msgstr ""
-#: as.c:638
+#: as.c:642
#, c-format
msgid "failed to read instruction table %s\n"
msgstr ""
-#: as.c:765
+#: as.c:770
#, c-format
msgid "invalid listing option `%c'"
msgstr ""
-#: as.c:984
+#: as.c:829
#, c-format
-msgid "%d warnings, treating warnings as errors"
+msgid "%s: total time in assembly: %ld.%06ld\n"
msgstr ""
-#: as.c:1015
+#: as.c:832
#, c-format
-msgid "%s: total time in assembly: %ld.%06ld\n"
+msgid "%s: data size %ld\n"
msgstr ""
-#: as.c:1018
+#: as.c:1143
#, c-format
-msgid "%s: data size %ld\n"
+msgid "%d warnings, treating warnings as errors"
msgstr ""
#: as.h:216
@@ -355,71 +399,71 @@ msgstr ""
#. * We have a GROSS internal error.
#. * This should never happen.
#.
-#: atof-generic.c:437 config/tc-m68k.c:2869
+#: atof-generic.c:433 config/tc-m68k.c:3002
msgid "failed sanity check"
msgstr ""
-#: cond.c:83
+#: cond.c:82
msgid "invalid identifier for \".ifdef\""
msgstr ""
-#: cond.c:151
+#: cond.c:149
msgid "non-constant expression in \".if\" statement"
msgstr ""
-#: cond.c:247
+#: cond.c:242
msgid "bad format for ifc or ifnc"
msgstr ""
-#: cond.c:278
+#: cond.c:272
msgid "\".elseif\" without matching \".if\""
msgstr ""
-#: cond.c:282
+#: cond.c:276
msgid "\".elseif\" after \".else\""
msgstr ""
-#: cond.c:285 cond.c:393
+#: cond.c:279 cond.c:385
msgid "here is the previous \"else\""
msgstr ""
-#: cond.c:288 cond.c:396
+#: cond.c:282 cond.c:388
msgid "here is the previous \"if\""
msgstr ""
-#: cond.c:317
+#: cond.c:311
msgid "non-constant expression in \".elseif\" statement"
msgstr ""
-#: cond.c:356
+#: cond.c:349
msgid "\".endif\" without \".if\""
msgstr ""
-#: cond.c:386
+#: cond.c:378
msgid "\".else\" without matching \".if\""
msgstr ""
-#: cond.c:390
+#: cond.c:382
msgid "duplicate \"else\""
msgstr ""
-#: cond.c:442
+#: cond.c:433
msgid ".ifeqs syntax error"
msgstr ""
-#: cond.c:525
+#: cond.c:514
msgid "end of macro inside conditional"
msgstr ""
-#: cond.c:527
+#: cond.c:516
msgid "end of file inside conditional"
msgstr ""
-#: cond.c:530
+#: cond.c:519
msgid "here is the start of the unterminated conditional"
msgstr ""
-#: cond.c:534
+#: cond.c:523
msgid "here is the \"else\" of the unterminated conditional"
msgstr ""
@@ -452,17 +496,17 @@ msgstr ""
msgid "%s: bad type for weak symbol"
msgstr ""
-#: config/obj-aout.c:458 config/obj-coff.c:2945 write.c:1931
+#: config/obj-aout.c:458 config/obj-coff.c:2945 write.c:1896
#, c-format
msgid "%s: global symbols not supported in common sections"
msgstr ""
-#: config/obj-aout.c:524
+#: config/obj-aout.c:528
#, c-format
msgid "Local symbol %s never defined."
msgstr ""
-#: config/obj-bout.c:319 config/obj-vms.c:629
+#: config/obj-bout.c:319 config/obj-vms.c:459
#, c-format
msgid "Local symbol %s never defined"
msgstr ""
@@ -482,7 +526,7 @@ msgstr ""
msgid ".ln pseudo-op inside .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:546 ecoff.c:3278
+#: config/obj-coff.c:546 ecoff.c:3243
msgid ".loc outside of .text"
msgstr ""
@@ -557,13 +601,13 @@ msgstr ""
msgid "unsupported section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1487 config/obj-coff.c:3759 config/tc-ppc.c:4508
+#: config/obj-coff.c:1487 config/obj-coff.c:3759 config/tc-ppc.c:4594
#, c-format
msgid "unknown section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1517 config/tc-ppc.c:4526 config/tc-tic54x.c:4339
-#: read.c:2562
+#: config/obj-coff.c:1517 config/tc-ppc.c:4612 config/tc-tic54x.c:4339
+#: read.c:2444
#, c-format
msgid "error setting flags for \"%s\": %s"
msgstr ""
@@ -579,6 +623,7 @@ msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n"
msgstr ""
#: config/obj-coff.c:1849 config/obj-ieee.c:69
+#, c-format
msgid "Out of step\n"
msgstr ""
@@ -587,10 +632,11 @@ msgid "bfd_coff_swap_scnhdr_out failed"
msgstr ""
#: config/obj-coff.c:2507
+#, c-format
msgid "`.bf' symbol without preceding function\n"
msgstr ""
-#: config/obj-coff.c:3457 config/obj-ieee.c:521
+#: config/obj-coff.c:3457 config/obj-ieee.c:517
#, c-format
msgid "FATAL: Can't create %s"
msgstr ""
@@ -605,7 +651,7 @@ msgstr ""
msgid "Too many new sections; can't add \"%s\""
msgstr ""
-#: config/obj-coff.c:4057 config/tc-sparc.c:3635
+#: config/obj-coff.c:4057 config/tc-sparc.c:3646
msgid "Expected comma after name"
msgstr ""
@@ -664,181 +710,158 @@ msgstr ""
msgid "Can't set register masks"
msgstr ""
-#: config/obj-elf.c:316
-msgid "expected comma after symbol-name"
-msgstr ""
-
-#: config/obj-elf.c:326
-#, c-format
-msgid ".COMMon length (%ld) out of range, ignored."
-msgstr ""
-
-#: config/obj-elf.c:335 ecoff.c:3397 read.c:1406 read.c:1507 read.c:2145
-#: read.c:2234 read.c:2863 read.c:4968 symbols.c:367 symbols.c:466
-#, c-format
-msgid "symbol `%s' is already defined"
-msgstr ""
-
-#: config/obj-elf.c:343
-#, c-format
-msgid "length of .comm \"%s\" is already %ld; not changed to %ld"
-msgstr ""
-
-#: config/obj-elf.c:367
-msgid "common alignment negative; 0 assumed"
-msgstr ""
-
-#: config/obj-elf.c:386
-msgid "common alignment not a power of 2"
-msgstr ""
-
-#: config/obj-elf.c:449 config/tc-sparc.c:3931 config/tc-v850.c:461
+#: config/obj-elf.c:301 config/tc-sparc.c:3942 config/tc-v850.c:461
#, c-format
msgid "bad .common segment %s"
msgstr ""
-#: config/obj-elf.c:717
+#: config/obj-elf.c:548
#, c-format
msgid "setting incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:721
+#: config/obj-elf.c:553
#, c-format
msgid "ignoring incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:734
+#: config/obj-elf.c:585
#, c-format
msgid "setting incorrect section attributes for %s"
msgstr ""
-#: config/obj-elf.c:786
+#: config/obj-elf.c:644
#, c-format
msgid "ignoring changed section attributes for %s"
msgstr ""
-#: config/obj-elf.c:788
+#: config/obj-elf.c:646
#, c-format
msgid "ignoring changed section entity size for %s"
msgstr ""
-#: config/obj-elf.c:791
+#: config/obj-elf.c:649
#, c-format
msgid "ignoring new section group for %s"
msgstr ""
-#: config/obj-elf.c:845
+#: config/obj-elf.c:701
msgid "unrecognized .section attribute: want a,w,x,M,S,G,T"
msgstr ""
-#: config/obj-elf.c:884
+#: config/obj-elf.c:738
msgid "unrecognized section attribute"
msgstr ""
-#: config/obj-elf.c:906 read.c:2545
+#: config/obj-elf.c:760 read.c:2427
msgid "unrecognized section type"
msgstr ""
-#: config/obj-elf.c:936
+#: config/obj-elf.c:790
msgid "missing name"
msgstr ""
-#: config/obj-elf.c:1048
+#: config/obj-elf.c:901
msgid "invalid merge entity size"
msgstr ""
-#: config/obj-elf.c:1055
+#: config/obj-elf.c:908
msgid "entity size for SHF_MERGE not specified"
msgstr ""
-#: config/obj-elf.c:1075
+#: config/obj-elf.c:928
msgid "group name for SHF_GROUP not specified"
msgstr ""
-#: config/obj-elf.c:1088
+#: config/obj-elf.c:941
msgid "character following name is not '#'"
msgstr ""
-#: config/obj-elf.c:1189
+#: config/obj-elf.c:1038
msgid ".previous without corresponding .section; ignored"
msgstr ""
-#: config/obj-elf.c:1216
+#: config/obj-elf.c:1064
msgid ".popsection without corresponding .pushsection; ignored"
msgstr ""
-#: config/obj-elf.c:1270
+#: config/obj-elf.c:1116
msgid "expected comma after name in .symver"
msgstr ""
-#: config/obj-elf.c:1294
+#: config/obj-elf.c:1140
#, c-format
msgid "missing version name in `%s' for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1305
+#: config/obj-elf.c:1151
#, c-format
msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1541
+#: config/obj-elf.c:1381
msgid "expected quoted string"
msgstr ""
-#: config/obj-elf.c:1562
+#: config/obj-elf.c:1401
#, c-format
msgid "expected comma after name `%s' in .size directive"
msgstr ""
-#: config/obj-elf.c:1571
+#: config/obj-elf.c:1410
msgid "missing expression in .size directive"
msgstr ""
-#: config/obj-elf.c:1660
+#: config/obj-elf.c:1497
#, c-format
msgid "unrecognized symbol type \"%s\""
msgstr ""
-#: config/obj-elf.c:1841
+#: config/obj-elf.c:1665
msgid ".size expression too complicated to fix up"
msgstr ""
-#: config/obj-elf.c:1873
+#: config/obj-elf.c:1697
#, c-format
msgid ""
"invalid attempt to declare external version name as default in symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1934 ecoff.c:3642
+#: config/obj-elf.c:1758 ecoff.c:3601
#, c-format
msgid "symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-elf.c:2054
+#: config/obj-elf.c:1875
#, c-format
msgid "assuming all members of group `%s' are COMDAT"
msgstr ""
-#: config/obj-elf.c:2076
+#: config/obj-elf.c:1897
#, c-format
msgid "can't create group: %s"
msgstr ""
-#: config/obj-elf.c:2183
+#: config/obj-elf.c:2005
#, c-format
msgid "failed to set up debugging information: %s"
msgstr ""
-#: config/obj-elf.c:2203
+#: config/obj-elf.c:2024
#, c-format
msgid "can't start writing .mdebug section: %s"
msgstr ""
-#: config/obj-elf.c:2211
+#: config/obj-elf.c:2032
#, c-format
msgid "could not write .mdebug section: %s"
msgstr ""
+#: config/obj-elf.h:140
+#, c-format
+msgid "can't allocate ELF private section data: %s"
+msgstr ""
+
#: config/obj-ieee.c:455
msgid "too many sections"
msgstr ""
@@ -865,45 +888,45 @@ msgstr ""
msgid "FATAL: Attaching copyright header %s"
msgstr ""
-#: config/obj-vms.c:530
+#: config/obj-vms.c:367
#, c-format
msgid "compiler emitted zero-size common symbol `%s' already defined"
msgstr ""
-#: config/obj-vms.c:540
+#: config/obj-vms.c:375
#, c-format
msgid "compiler redefined zero-size common symbol `%s'"
msgstr ""
-#: config/obj-vms.c:663
+#: config/obj-vms.c:492
#, c-format
msgid "Couldn't create VMS object file \"%s\""
msgstr ""
-#: config/obj-vms.c:688
+#: config/obj-vms.c:517
msgid "I/O error writing VMS object file (length prefix)"
msgstr ""
-#: config/obj-vms.c:702
+#: config/obj-vms.c:531
msgid "I/O error writing VMS object file"
msgstr ""
-#: config/obj-vms.c:1292
+#: config/obj-vms.c:1076
#, c-format
msgid "Couldn't find source file \"%s\", status=%%X%x"
msgstr ""
-#: config/obj-vms.c:1790 config/obj-vms.c:2967
+#: config/obj-vms.c:1559 config/obj-vms.c:2731
#, c-format
msgid "debugger forward reference error, dbx type %d"
msgstr ""
-#: config/obj-vms.c:1865
+#: config/obj-vms.c:1633
#, c-format
msgid "Variable descriptor %d too complicated. Defined as `void *'."
msgstr ""
-#: config/obj-vms.c:2179
+#: config/obj-vms.c:1948
msgid ""
"***Warning - the assembly code generated by the compiler has placed \n"
" global constant(s) in the text psect. These will not be available to \n"
@@ -914,92 +937,92 @@ msgid ""
" I didn't warn you! \n"
msgstr ""
-#: config/obj-vms.c:2494
+#: config/obj-vms.c:2253
#, c-format
msgid "debugginer output: %d is an unknown untyped variable."
msgstr ""
-#: config/obj-vms.c:2712
+#: config/obj-vms.c:2473
#, c-format
msgid "debugger output: structure element `%s' has undefined type"
msgstr ""
-#: config/obj-vms.c:2823
+#: config/obj-vms.c:2584
#, c-format
msgid "debugger output: %d is an unknown type of variable."
msgstr ""
-#: config/obj-vms.c:2956
+#: config/obj-vms.c:2720
#, c-format
msgid "debugger output: Unable to resolve %d circular references."
msgstr ""
-#: config/obj-vms.c:3158
+#: config/obj-vms.c:2908
#, c-format
msgid "Module name truncated: %s\n"
msgstr ""
-#: config/obj-vms.c:3436
+#: config/obj-vms.c:3159
#, c-format
msgid "Symbol %s replaced by %s\n"
msgstr ""
#. impossible
-#: config/obj-vms.c:3719
+#: config/obj-vms.c:3385
#, c-format
msgid "Unknown VMS psect type (%ld)"
msgstr ""
-#: config/obj-vms.c:3760
+#: config/obj-vms.c:3423
#, c-format
msgid "Globalsymbol attribute for symbol %s was unexpected."
msgstr ""
-#: config/obj-vms.c:3909
+#: config/obj-vms.c:3547
msgid "Invalid data type for globalvalue"
msgstr ""
-#: config/obj-vms.c:3921
+#: config/obj-vms.c:3559
#, c-format
msgid "Invalid globalvalue of %s"
msgstr ""
-#: config/obj-vms.c:4271
+#: config/obj-vms.c:3799
msgid "Couldn't find fixup fragment when checking for indirect reference"
msgstr ""
-#: config/obj-vms.c:4614 config/obj-vms.c:4757
+#: config/obj-vms.c:4077 config/obj-vms.c:4212
msgid "Fixup data addsy and subsy don't have the same type"
msgstr ""
-#: config/obj-vms.c:4618 config/obj-vms.c:4761
+#: config/obj-vms.c:4081 config/obj-vms.c:4216
msgid "Fixup data addsy and subsy don't have an appropriate type"
msgstr ""
-#: config/obj-vms.c:4621 config/obj-vms.c:4764
+#: config/obj-vms.c:4084 config/obj-vms.c:4219
msgid "Fixup data is erroneously \"pcrel\""
msgstr ""
-#: config/obj-vms.c:4637 config/obj-vms.c:4783
+#: config/obj-vms.c:4100 config/obj-vms.c:4236
msgid "Fixup datum is not a longword"
msgstr ""
-#: config/obj-vms.c:4641 config/obj-vms.c:4787
+#: config/obj-vms.c:4104 config/obj-vms.c:4240
msgid "Fixup datum is not \"fixP->fx_addsy\""
msgstr ""
-#: config/obj-vms.c:4858
+#: config/obj-vms.c:4306
#, c-format
msgid ""
"g++ wrote an extern reference to `%s' as a routine.\n"
"I will fix it, but I hope that it was note really a routine."
msgstr ""
-#: config/obj-vms.c:4990
+#: config/obj-vms.c:4436
msgid "Can't handle global xtors symbols yet."
msgstr ""
-#: config/obj-vms.c:4993
+#: config/obj-vms.c:4439
#, c-format
msgid "Unknown %s"
msgstr ""
@@ -1007,46 +1030,46 @@ msgstr ""
#.
#. * Error otherwise.
#.
-#: config/obj-vms.c:5078
+#: config/obj-vms.c:4524
#, c-format
msgid "unhandled stab type %d"
msgstr ""
-#: config/tc-a29k.c:163 config/tc-sparc.c:3983
+#: config/tc-a29k.c:163 config/tc-sparc.c:3994
msgid "Unknown segment type"
msgstr ""
#. Probably a memory allocation problem? Give up now.
-#: config/tc-a29k.c:333 config/tc-dlx.c:369 config/tc-hppa.c:1463
-#: config/tc-mips.c:1108 config/tc-mips.c:1150 config/tc-or32.c:228
-#: config/tc-sparc.c:853
+#: config/tc-a29k.c:333 config/tc-dlx.c:369 config/tc-hppa.c:1476
+#: config/tc-mips.c:1152 config/tc-mips.c:1194 config/tc-or32.c:228
+#: config/tc-sparc.c:858
msgid "Broken assembler. No assembly attempted."
msgstr ""
#: config/tc-a29k.c:378 config/tc-avr.c:1121 config/tc-d10v.c:545
-#: config/tc-d30v.c:551 config/tc-h8300.c:492 config/tc-h8500.c:283
-#: config/tc-mcore.c:607 config/tc-mmix.c:470 config/tc-mn10200.c:940
-#: config/tc-mn10300.c:1815 config/tc-msp430.c:1544 config/tc-or32.c:334
-#: config/tc-or32.c:390 config/tc-ppc.c:2334 config/tc-s390.c:1236
-#: config/tc-sh.c:1264 config/tc-sh64.c:2254 config/tc-tic80.c:279
-#: config/tc-v850.c:2024 config/tc-w65.c:218 config/tc-z8k.c:376
+#: config/tc-d30v.c:551 config/tc-h8300.c:470 config/tc-h8500.c:283
+#: config/tc-mcore.c:607 config/tc-mmix.c:515 config/tc-mn10200.c:940
+#: config/tc-mn10300.c:1815 config/tc-msp430.c:1549 config/tc-or32.c:334
+#: config/tc-or32.c:390 config/tc-ppc.c:2371 config/tc-s390.c:1236
+#: config/tc-sh64.c:2208 config/tc-sh.c:1230 config/tc-tic80.c:279
+#: config/tc-v850.c:2041 config/tc-w65.c:218 config/tc-z8k.c:331
msgid "missing operand"
msgstr ""
#: config/tc-a29k.c:417 config/tc-cris.c:1075 config/tc-cris.c:1083
-#: config/tc-dlx.c:834 config/tc-hppa.c:1599 config/tc-i860.c:453
-#: config/tc-i860.c:470 config/tc-i860.c:930 config/tc-sparc.c:1415
-#: config/tc-sparc.c:1421
+#: config/tc-dlx.c:833 config/tc-hppa.c:1612 config/tc-i860.c:492
+#: config/tc-i860.c:509 config/tc-i860.c:989 config/tc-sparc.c:1420
+#: config/tc-sparc.c:1426
#, c-format
msgid "Unknown opcode: `%s'"
msgstr ""
-#: config/tc-a29k.c:422 config/tc-dlx.c:852
+#: config/tc-a29k.c:422 config/tc-dlx.c:851
#, c-format
msgid "Unknown opcode `%s'."
msgstr ""
-#: config/tc-a29k.c:454 config/tc-dlx.c:913
+#: config/tc-a29k.c:454 config/tc-dlx.c:912
#, c-format
msgid "Too many operands: %s"
msgstr ""
@@ -1056,8 +1079,8 @@ msgstr ""
msgid "Immediate value of %ld is too large"
msgstr ""
-#: config/tc-a29k.c:546 config/tc-i860.c:355 config/tc-i860.c:902
-#: config/tc-m68k.c:3171 config/tc-m68k.c:3200 config/tc-sparc.c:2647
+#: config/tc-a29k.c:546 config/tc-i860.c:395 config/tc-i860.c:940
+#: config/tc-m68k.c:3310 config/tc-m68k.c:3339 config/tc-sparc.c:2658
msgid "failed sanity check."
msgstr ""
@@ -1079,12 +1102,12 @@ msgstr ""
msgid "a29k_estimate_size_before_relax\n"
msgstr ""
-#: config/tc-a29k.c:1095 config/tc-dlx.c:1283 config/tc-or32.c:1373
+#: config/tc-a29k.c:1095 config/tc-dlx.c:1280 config/tc-or32.c:1373
#, c-format
msgid "label \"$%d\" redefined"
msgstr ""
-#: config/tc-a29k.c:1168 config/tc-dlx.c:511 config/tc-or32.c:1466
+#: config/tc-a29k.c:1168 config/tc-dlx.c:510 config/tc-or32.c:1466
#, c-format
msgid "Invalid expression after %%%%\n"
msgstr ""
@@ -1103,15 +1126,15 @@ msgstr ""
msgid "internal error: can't hash macro `%s': %s"
msgstr ""
-#: config/tc-alpha.c:943 config/tc-i960.c:2707 config/tc-xtensa.c:4954
-#: config/tc-xtensa.c:5015
+#: config/tc-alpha.c:943 config/tc-i960.c:2707 config/tc-xtensa.c:4842
+#: config/tc-xtensa.c:4903
msgid "syntax error"
msgstr ""
-#: config/tc-alpha.c:1017 config/tc-h8300.c:2099 config/tc-h8500.c:1204
-#: config/tc-hppa.c:4018 config/tc-i860.c:1004 config/tc-m68hc11.c:568
-#: config/tc-m68k.c:4196 config/tc-m88k.c:991 config/tc-ns32k.c:1689
-#: config/tc-or32.c:910 config/tc-sparc.c:2934 config/tc-z8k.c:1371
+#: config/tc-alpha.c:1017 config/tc-h8300.c:2100 config/tc-h8500.c:1204
+#: config/tc-hppa.c:4029 config/tc-i860.c:1059 config/tc-m68hc11.c:557
+#: config/tc-m68k.c:4366 config/tc-m88k.c:991 config/tc-ns32k.c:1689
+#: config/tc-or32.c:910 config/tc-sparc.c:2945 config/tc-z8k.c:1331
msgid "Bad call to MD_ATOF()"
msgstr ""
@@ -1153,7 +1176,7 @@ msgstr ""
msgid "type %d reloc done?\n"
msgstr ""
-#: config/tc-alpha.c:1373 config/tc-alpha.c:1380 config/tc-mips.c:8603
+#: config/tc-alpha.c:1373 config/tc-alpha.c:1380 config/tc-mips.c:8578
msgid "Used $at without \".set noat\""
msgstr ""
@@ -1162,12 +1185,12 @@ msgstr ""
msgid "!samegp reloc against symbol without .prologue: %s"
msgstr ""
-#: config/tc-alpha.c:1581 config/tc-xtensa.c:5451
+#: config/tc-alpha.c:1581 config/tc-xtensa.c:5336
#, c-format
msgid "cannot represent `%s' relocation in object file"
msgstr ""
-#: config/tc-alpha.c:1588 config/tc-xtensa.c:5458
+#: config/tc-alpha.c:1588 config/tc-xtensa.c:5343
#, c-format
msgid "internal error? cannot generate `%s' relocation"
msgstr ""
@@ -1243,9 +1266,9 @@ msgstr ""
#: config/tc-alpha.c:2490 config/tc-alpha.c:2514 config/tc-d10v.c:634
#: config/tc-d30v.c:639 config/tc-mn10200.c:995 config/tc-mn10300.c:1888
-#: config/tc-ppc.c:2300 config/tc-ppc.c:2517 config/tc-ppc.c:2529
+#: config/tc-ppc.c:2337 config/tc-ppc.c:2554 config/tc-ppc.c:2566
#: config/tc-s390.c:1246 config/tc-s390.c:1346 config/tc-s390.c:1442
-#: config/tc-v850.c:1804 config/tc-v850.c:1827 config/tc-v850.c:2047
+#: config/tc-v850.c:1821 config/tc-v850.c:1844 config/tc-v850.c:2064
msgid "too many fixups"
msgstr ""
@@ -1313,7 +1336,7 @@ msgid "opcode `%s' not supported for target %s"
msgstr ""
#: config/tc-alpha.c:2796 config/tc-alpha.c:2869 config/tc-avr.c:1087
-#: config/tc-msp430.c:446
+#: config/tc-msp430.c:461
#, c-format
msgid "unknown opcode `%s'"
msgstr ""
@@ -1352,21 +1375,22 @@ msgstr ""
msgid "overflow in literal (.lit8) table"
msgstr ""
-#: config/tc-alpha.c:4262 config/tc-ppc.c:1740 config/tc-ppc.c:4271
+#: config/tc-alpha.c:4262 config/tc-ppc.c:1776 config/tc-ppc.c:4357
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-alpha.c:4291 config/tc-sparc.c:3799 config/tc-v850.c:256
+#: config/tc-alpha.c:4291 config/tc-sparc.c:3810 config/tc-v850.c:256
msgid "Ignoring attempt to re-define symbol"
msgstr ""
-#: config/tc-alpha.c:4300 config/tc-alpha.c:4309 config/tc-ppc.c:4308
+#: config/tc-alpha.c:4300 config/tc-alpha.c:4309 config/tc-ppc.c:4394
+#: config/tc-sparc.c:3818
#, c-format
msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-alpha.c:4430 ecoff.c:3082
+#: config/tc-alpha.c:4430 ecoff.c:3053
msgid ".ent directive has no name"
msgstr ""
@@ -1374,7 +1398,7 @@ msgstr ""
msgid "nested .ent directives"
msgstr ""
-#: config/tc-alpha.c:4483 ecoff.c:3032
+#: config/tc-alpha.c:4483 ecoff.c:3004
msgid ".end directive has no name"
msgstr ""
@@ -1386,27 +1410,27 @@ msgstr ""
msgid ".end directive names different symbol than .ent"
msgstr ""
-#: config/tc-alpha.c:4538 ecoff.c:3171
+#: config/tc-alpha.c:4538 ecoff.c:3139
msgid ".fmask outside of .ent"
msgstr ""
-#: config/tc-alpha.c:4540 ecoff.c:3241
+#: config/tc-alpha.c:4540 ecoff.c:3207
msgid ".mask outside of .ent"
msgstr ""
-#: config/tc-alpha.c:4548 ecoff.c:3178
+#: config/tc-alpha.c:4548 ecoff.c:3146
msgid "bad .fmask directive"
msgstr ""
-#: config/tc-alpha.c:4550 ecoff.c:3248
+#: config/tc-alpha.c:4550 ecoff.c:3214
msgid "bad .mask directive"
msgstr ""
-#: config/tc-alpha.c:4584 config/tc-mips.c:14143 ecoff.c:3200
+#: config/tc-alpha.c:4584 config/tc-mips.c:14002 ecoff.c:3167
msgid ".frame outside of .ent"
msgstr ""
-#: config/tc-alpha.c:4595 ecoff.c:3211
+#: config/tc-alpha.c:4595 ecoff.c:3178
msgid "bad .frame directive"
msgstr ""
@@ -1447,1213 +1471,1333 @@ msgstr ""
msgid ".ent directive has no symbol"
msgstr ""
-#: config/tc-alpha.c:4963
+#: config/tc-alpha.c:4962
msgid "Bad .frame directive 1./2. param"
msgstr ""
-#: config/tc-alpha.c:4975
+#: config/tc-alpha.c:4974
msgid "Bad .frame directive 3./4. param"
msgstr ""
-#: config/tc-alpha.c:5000
+#: config/tc-alpha.c:4997
msgid ".pdesc directive not in link (.link) section"
msgstr ""
-#: config/tc-alpha.c:5008
+#: config/tc-alpha.c:5005
msgid ".pdesc has no matching .ent"
msgstr ""
-#: config/tc-alpha.c:5019
+#: config/tc-alpha.c:5016
msgid ".pdesc directive has no entry symbol"
msgstr ""
-#: config/tc-alpha.c:5032
+#: config/tc-alpha.c:5029
msgid "No comma after .pdesc <entryname>"
msgstr ""
-#: config/tc-alpha.c:5055
+#: config/tc-alpha.c:5052
msgid "unknown procedure kind"
msgstr ""
-#: config/tc-alpha.c:5148
+#: config/tc-alpha.c:5143
msgid ".name directive not in link (.link) section"
msgstr ""
-#: config/tc-alpha.c:5156
+#: config/tc-alpha.c:5151
msgid ".name directive has no symbol"
msgstr ""
-#: config/tc-alpha.c:5190
+#: config/tc-alpha.c:5183
msgid "No symbol after .linkage"
msgstr ""
-#: config/tc-alpha.c:5218
+#: config/tc-alpha.c:5209
msgid "No symbol after .code_address"
msgstr ""
-#: config/tc-alpha.c:5251
+#: config/tc-alpha.c:5239
msgid "Bad .mask directive"
msgstr ""
-#: config/tc-alpha.c:5272
+#: config/tc-alpha.c:5258
msgid "Bad .fmask directive"
msgstr ""
-#: config/tc-alpha.c:5440
+#: config/tc-alpha.c:5420
#, c-format
msgid "Expected comma after name \"%s\""
msgstr ""
#. *symbol_get_obj (symbolP) = (signed char) temp;
-#: config/tc-alpha.c:5451
+#: config/tc-alpha.c:5431
#, c-format
msgid "unhandled: .proc %s,%d"
msgstr ""
-#: config/tc-alpha.c:5486
+#: config/tc-alpha.c:5466
#, c-format
msgid "Tried to .set unrecognized mode `%s'"
msgstr ""
#. not fatal, but it might not work in the end
-#: config/tc-alpha.c:5503
+#: config/tc-alpha.c:5483
msgid "File overrides no-base-register option."
msgstr ""
-#: config/tc-alpha.c:5520
+#: config/tc-alpha.c:5500
#, c-format
msgid "Bad base register, using $%d."
msgstr ""
-#: config/tc-alpha.c:5542
+#: config/tc-alpha.c:5522
#, c-format
msgid "Alignment too large: %d. assumed"
msgstr ""
-#: config/tc-alpha.c:5546 config/tc-d30v.c:2200
+#: config/tc-alpha.c:5526 config/tc-d30v.c:2198
msgid "Alignment negative: 0 assumed"
msgstr ""
-#: config/tc-alpha.c:5860
+#: config/tc-alpha.c:5839
#, c-format
msgid "Chose GP value of %lx\n"
msgstr ""
-#: config/tc-alpha.c:5876
+#: config/tc-alpha.c:5855
msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-arc.c:1615 config/tc-arm.c:11416 config/tc-ip2k.c:219
+#: config/tc-arc.c:1592 config/tc-arm.c:12902 config/tc-ip2k.c:219
msgid "md_estimate_size_before_relax\n"
msgstr ""
-#: config/tc-arc.c:1627
+#: config/tc-arc.c:1604
msgid "md_convert_frag\n"
msgstr ""
#. We can't actually support subtracting a symbol.
-#: config/tc-arc.c:1898 config/tc-arm.c:6617 config/tc-arm.c:9705
-#: config/tc-arm.c:9805 config/tc-avr.c:854 config/tc-cris.c:3123
-#: config/tc-d10v.c:1710 config/tc-d30v.c:1851 config/tc-mips.c:3630
-#: config/tc-mips.c:4695 config/tc-mips.c:5828 config/tc-mips.c:6517
-#: config/tc-msp430.c:1403 config/tc-ppc.c:5460 config/tc-v850.c:2356
+#: config/tc-arc.c:1875 config/tc-arm.c:8079 config/tc-arm.c:11156
+#: config/tc-arm.c:11256 config/tc-avr.c:854 config/tc-cris.c:3123
+#: config/tc-d10v.c:1710 config/tc-d30v.c:1851 config/tc-mips.c:3800
+#: config/tc-mips.c:4938 config/tc-mips.c:5946 config/tc-mips.c:6575
+#: config/tc-msp430.c:1409 config/tc-ppc.c:5546 config/tc-v850.c:2373
#: config/tc-xstormy16.c:483
msgid "expression too complex"
msgstr ""
-#: config/tc-arm.c:763
+#: config/tc-arm.c:788
msgid "ARM register expected"
msgstr ""
-#: config/tc-arm.c:764 config/tc-arm.c:3174
+#: config/tc-arm.c:789 config/tc-arm.c:3601
msgid "bad or missing co-processor number"
msgstr ""
#. In the few cases where we might be able to accept something else
#. this error can be overridden.
-#: config/tc-arm.c:765 config/tc-arm.c:3229
+#: config/tc-arm.c:790 config/tc-arm.c:3656
msgid "co-processor register expected"
msgstr ""
-#: config/tc-arm.c:766
+#: config/tc-arm.c:791
msgid "FPA register expected"
msgstr ""
-#: config/tc-arm.c:767
+#: config/tc-arm.c:792
msgid "VFP single precision register expected"
msgstr ""
-#: config/tc-arm.c:768
+#: config/tc-arm.c:793
msgid "VFP double precision register expected"
msgstr ""
-#: config/tc-arm.c:769
+#: config/tc-arm.c:794
msgid "Maverick MVF register expected"
msgstr ""
-#: config/tc-arm.c:770
+#: config/tc-arm.c:795
msgid "Maverick MVD register expected"
msgstr ""
-#: config/tc-arm.c:771 config/tc-arm.c:772
+#: config/tc-arm.c:796
msgid "Maverick MVFX register expected"
msgstr ""
-#: config/tc-arm.c:773
+#: config/tc-arm.c:797
+msgid "Maverick MVDX register expected"
+msgstr ""
+
+#: config/tc-arm.c:798
msgid "Maverick MVAX register expected"
msgstr ""
-#: config/tc-arm.c:774
+#: config/tc-arm.c:799
msgid "Maverick DSPSC register expected"
msgstr ""
-#: config/tc-arm.c:775
+#: config/tc-arm.c:800
msgid "Intel Wireless MMX technology register expected"
msgstr ""
-#: config/tc-arm.c:2309
+#: config/tc-arm.c:2485
msgid "bad arguments to instruction"
msgstr ""
-#: config/tc-arm.c:2310
+#: config/tc-arm.c:2486
msgid "r15 not allowed here"
msgstr ""
-#: config/tc-arm.c:2311
+#: config/tc-arm.c:2487
msgid "instruction is not conditional"
msgstr ""
-#: config/tc-arm.c:2312
+#: config/tc-arm.c:2488
msgid "acc0 expected"
msgstr ""
-#: config/tc-arm.c:2505
+#: config/tc-arm.c:2686
msgid "literal pool overflow"
msgstr ""
-#: config/tc-arm.c:2647
+#: config/tc-arm.c:3000
msgid "invalid syntax for .req directive"
msgstr ""
-#: config/tc-arm.c:2727
+#: config/tc-arm.c:3043
+#, c-format
+msgid "unreq: missing hash entry for \"%s\""
+msgstr ""
+
+#: config/tc-arm.c:3062 config/tc-arm.c:3065
+#, c-format
+msgid ".unreq: unrecognized symbol \"%s\""
+msgstr ""
+
+#: config/tc-arm.c:3068
+msgid "invalid syntax for .unreq directive"
+msgstr ""
+
+#: config/tc-arm.c:3152
#, c-format
msgid "alignment too large: %d assumed"
msgstr ""
-#: config/tc-arm.c:2730
+#: config/tc-arm.c:3155
msgid "alignment negative. 0 assumed."
msgstr ""
-#: config/tc-arm.c:2814
+#: config/tc-arm.c:3239
#, c-format
msgid "expected comma after name \"%s\""
msgstr ""
-#: config/tc-arm.c:2864 config/tc-m32r.c:420
+#: config/tc-arm.c:3289 config/tc-m32r.c:586
#, c-format
msgid "symbol `%s' already defined"
msgstr ""
-#: config/tc-arm.c:2889
+#: config/tc-arm.c:3314
msgid "selected processor does not support THUMB opcodes"
msgstr ""
-#: config/tc-arm.c:2902
+#: config/tc-arm.c:3328
msgid "selected processor does not support ARM opcodes"
msgstr ""
-#: config/tc-arm.c:2914
+#: config/tc-arm.c:3341
#, c-format
msgid "invalid instruction size selected (%d)"
msgstr ""
-#: config/tc-arm.c:2949
+#: config/tc-arm.c:3376
#, c-format
msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
msgstr ""
-#: config/tc-arm.c:2960
+#: config/tc-arm.c:3387
msgid "garbage following instruction"
msgstr ""
#. In the few cases where we might be able to accept something else
#. this error can be overridden.
-#: config/tc-arm.c:3010
+#: config/tc-arm.c:3437
#, c-format
msgid "register expected, not '%.100s'"
msgstr ""
#. In the few cases where we might be able to accept
#. something else this error can be overridden.
-#: config/tc-arm.c:3061
+#: config/tc-arm.c:3488
#, c-format
msgid "Intel Wireless MMX technology register expected, not '%.100s'"
msgstr ""
#. In the few cases where we might be able to accept
#. something else this error can be overridden.
-#: config/tc-arm.c:3133
+#: config/tc-arm.c:3560
msgid "flag for {c}psr instruction expected"
msgstr ""
-#: config/tc-arm.c:3167
+#: config/tc-arm.c:3594
msgid "illegal co-processor number"
msgstr ""
-#: config/tc-arm.c:3199 config/tc-arm.c:4778
+#: config/tc-arm.c:3626 config/tc-arm.c:6248
msgid "bad or missing expression"
msgstr ""
-#: config/tc-arm.c:3205
+#: config/tc-arm.c:3632
msgid "immediate co-processor expression too large"
msgstr ""
#. In the few cases where we might be able to accept something else
#. this error can be overridden.
-#: config/tc-arm.c:3252
+#: config/tc-arm.c:3679
msgid "floating point register expected"
msgstr ""
-#: config/tc-arm.c:3269 config/tc-arm.c:3414
+#: config/tc-arm.c:3696 config/tc-arm.c:3915 config/tc-arm.c:5015
+#: config/tc-arm.c:5103 config/tc-arm.c:5359 config/tc-arm.c:5463
+#: config/tc-arm.c:5748
msgid "immediate expression expected"
msgstr ""
-#: config/tc-arm.c:3284
+#: config/tc-arm.c:3711
msgid "co-processor address must be word aligned"
msgstr ""
-#: config/tc-arm.c:3290 config/tc-arm.c:3429
+#: config/tc-arm.c:3717 config/tc-arm.c:3930
msgid "offset too large"
msgstr ""
-#: config/tc-arm.c:3339 config/tc-arm.c:3477
+#: config/tc-arm.c:3777
+msgid "comma expected after closing square bracket"
+msgstr ""
+
+#: config/tc-arm.c:3792 config/tc-arm.c:3978
msgid "pc may not be used in post-increment"
msgstr ""
-#: config/tc-arm.c:3355 config/tc-arm.c:3493 config/tc-arm.c:3938
-#: config/tc-arm.c:5197 config/tc-arm.c:6064 config/tc-arm.c:6398
+#: config/tc-arm.c:3820
+msgid "'option' field too large"
+msgstr ""
+
+#: config/tc-arm.c:3828
+msgid "'}' expected at end of 'option' field"
+msgstr ""
+
+#: config/tc-arm.c:3840
+msgid "non-constant expressions for 'option' field not supported"
+msgstr ""
+
+#: config/tc-arm.c:3846
+msgid "# or { expected after comma"
+msgstr ""
+
+#: config/tc-arm.c:3856 config/tc-arm.c:3994 config/tc-arm.c:4435
+#: config/tc-arm.c:6644 config/tc-arm.c:7529 config/tc-arm.c:7861
msgid "pre-indexed expression expected"
msgstr ""
-#: config/tc-arm.c:3368 config/tc-arm.c:3506 config/tc-arm.c:3951
-#: config/tc-arm.c:5208 config/tc-arm.c:6076 config/tc-arm.c:6410
-#: config/tc-arm.c:6784 config/tc-arm.c:9448 config/tc-arm.c:9463
+#: config/tc-arm.c:3869 config/tc-arm.c:4007 config/tc-arm.c:4448
+#: config/tc-arm.c:6655 config/tc-arm.c:7541 config/tc-arm.c:7873
+#: config/tc-arm.c:8243 config/tc-arm.c:10901 config/tc-arm.c:10916
msgid "missing ]"
msgstr ""
-#: config/tc-arm.c:3378 config/tc-arm.c:3516
+#: config/tc-arm.c:3879 config/tc-arm.c:4017
msgid "pc may not be used with write-back"
msgstr ""
-#: config/tc-arm.c:3568
+#: config/tc-arm.c:4068
msgid "comma expected after register name"
msgstr ""
-#: config/tc-arm.c:3587
+#: config/tc-arm.c:4087
msgid "CPSR or SPSR expected"
msgstr ""
-#: config/tc-arm.c:3613
+#: config/tc-arm.c:4113
msgid "comma missing after psr flags"
msgstr ""
-#: config/tc-arm.c:3629 config/tc-arm.c:3639
+#: config/tc-arm.c:4129 config/tc-arm.c:4139
msgid "only a register or immediate value can follow a psr flag"
msgstr ""
-#: config/tc-arm.c:3650
+#: config/tc-arm.c:4150
msgid "immediate value cannot be used to set this field"
msgstr ""
-#: config/tc-arm.c:3668 config/tc-arm.c:5424 config/tc-arm.c:5704
-#: config/tc-arm.c:5724 config/tc-i960.c:1935
+#: config/tc-arm.c:4168 config/tc-arm.c:5769 config/tc-arm.c:6871
+#: config/tc-arm.c:7170 config/tc-arm.c:7190 config/tc-i960.c:1935
msgid "invalid constant"
msgstr ""
-#: config/tc-arm.c:3716
+#: config/tc-arm.c:4216
msgid "rdhi, rdlo and rm must all be different"
msgstr ""
-#: config/tc-arm.c:3770
+#: config/tc-arm.c:4269
msgid "rd and rm should be different in mul"
msgstr ""
-#: config/tc-arm.c:3824
+#: config/tc-arm.c:4322
msgid "rd and rm should be different in mla"
msgstr ""
-#: config/tc-arm.c:3872
+#: config/tc-arm.c:4369
#, c-format
msgid "acc0 expected, not '%.100s'"
msgstr ""
-#: config/tc-arm.c:4050
+#: config/tc-arm.c:4547
msgid "rdhi and rdlo must be different"
msgstr ""
-#: config/tc-arm.c:4158
+#: config/tc-arm.c:4655
msgid "Warning: instruction unpredictable when using r15"
msgstr ""
-#: config/tc-arm.c:4373
+#: config/tc-arm.c:4870
msgid "use of r15 in bxj is not really useful"
msgstr ""
-#: config/tc-arm.c:4400 config/tc-arm.c:4585 config/tc-arm.c:5445 expr.c:1318
-#: read.c:2206
+#: config/tc-arm.c:4931 config/tc-arm.c:4954
+msgid "Rd equal to Rm or Rn yields unpredictable results"
+msgstr ""
+
+#: config/tc-arm.c:5020 config/tc-arm.c:5108 config/tc-arm.c:5365
+#: config/tc-arm.c:5469 config/tc-arm.c:5755 config/tc-arm.c:5841
+#: config/tc-arm.c:6026 config/tc-arm.c:6892 expr.c:1310 read.c:2097
msgid "bad expression"
msgstr ""
-#: config/tc-arm.c:4409 config/tc-arm.c:4594 config/tc-arm.c:4786
-#: config/tc-arm.c:8389 config/tc-arm.c:8424 config/tc-arm.c:8434
-#: config/tc-z8k.c:1161 config/tc-z8k.c:1173
+#: config/tc-arm.c:5025 config/tc-arm.c:5113 config/tc-arm.c:5371
+#: config/tc-arm.c:5475 config/tc-arm.c:5761 config/tc-arm.c:7161
+#: config/tc-arm.c:7577 config/tc-arm.c:7910 config/tc-arm.c:8534
+#: config/tc-v850.c:1924 config/tc-v850.c:1945
+msgid "constant expression expected"
+msgstr ""
+
+#: config/tc-arm.c:5031 config/tc-arm.c:5119 config/tc-arm.c:5850
+#: config/tc-arm.c:6035 config/tc-arm.c:6256 config/tc-arm.c:9842
+#: config/tc-arm.c:9877 config/tc-arm.c:9887 config/tc-z8k.c:1129
+#: config/tc-z8k.c:1141
msgid "immediate value out of range"
msgstr ""
-#: config/tc-arm.c:4833
+#: config/tc-arm.c:5285
+msgid "missing endian specifier"
+msgstr ""
+
+#: config/tc-arm.c:5294
+msgid "valid endian specifiers are be or le"
+msgstr ""
+
+#: config/tc-arm.c:5349 config/tc-arm.c:5453
+msgid "missing rotation field after comma"
+msgstr ""
+
+#: config/tc-arm.c:5393 config/tc-arm.c:5498
+msgid "rotation can be 8, 16, 24 or 0 when field is ommited"
+msgstr ""
+
+#: config/tc-arm.c:5810
+msgid "unrecognized flag"
+msgstr ""
+
+#: config/tc-arm.c:5816
+msgid "no 'a', 'i', or 'f' flags for 'cps'"
+msgstr ""
+
+#: config/tc-arm.c:6289 config/tc-arm.c:6448
+msgid "non-word size not supported with control register"
+msgstr ""
+
+#: config/tc-arm.c:6304
msgid "only r15 allowed here"
msgstr ""
-#: config/tc-arm.c:5160
+#: config/tc-arm.c:6446
+msgid "conditional execution not supported with control register"
+msgstr ""
+
+#: config/tc-arm.c:6607
msgid "'[' expected after PLD mnemonic"
msgstr ""
-#: config/tc-arm.c:5182
+#: config/tc-arm.c:6629
msgid "post-indexed expression used in preload instruction"
msgstr ""
-#: config/tc-arm.c:5187 config/tc-arm.c:5217
+#: config/tc-arm.c:6634 config/tc-arm.c:6664
msgid "writeback used in preload instruction"
msgstr ""
-#: config/tc-arm.c:5259
+#: config/tc-arm.c:6706
msgid "destination register must be even"
msgstr ""
-#: config/tc-arm.c:5265
+#: config/tc-arm.c:6712
msgid "r14 not allowed here"
msgstr ""
-#: config/tc-arm.c:5272
+#: config/tc-arm.c:6719
msgid "pre/post-indexing used when modified address register is destination"
msgstr ""
-#: config/tc-arm.c:5282
+#: config/tc-arm.c:6729
msgid "ldrd destination registers must not overlap index register"
msgstr ""
-#: config/tc-arm.c:5408
+#: config/tc-arm.c:6855
msgid "bad_segment"
msgstr ""
-#: config/tc-arm.c:5468 config/tc-arm.c:5479
+#: config/tc-arm.c:6914 config/tc-arm.c:6925
msgid "shift expression expected"
msgstr ""
-#: config/tc-arm.c:5503
+#: config/tc-arm.c:6935
+msgid "'LSL' or 'ASR' required"
+msgstr ""
+
+#: config/tc-arm.c:6941
+msgid "'LSL' required"
+msgstr ""
+
+#: config/tc-arm.c:6947
+msgid "'ASR' required"
+msgstr ""
+
+#: config/tc-arm.c:6969
msgid "shift requires register or #expression"
msgstr ""
-#: config/tc-arm.c:5504
+#: config/tc-arm.c:6970
msgid "shift requires #expression"
msgstr ""
-#: config/tc-arm.c:5534
+#: config/tc-arm.c:7000
msgid "shift of 0 ignored."
msgstr ""
-#: config/tc-arm.c:5540
+#: config/tc-arm.c:7006
msgid "invalid immediate shift"
msgstr ""
-#: config/tc-arm.c:5695 config/tc-arm.c:6112 config/tc-arm.c:6447
-#: config/tc-arm.c:7081 config/tc-v850.c:1907 config/tc-v850.c:1928
-msgid "constant expression expected"
-msgstr ""
-
-#: config/tc-arm.c:5737
+#: config/tc-arm.c:7203
msgid "register or shift expression expected"
msgstr ""
-#: config/tc-arm.c:5790
+#: config/tc-arm.c:7256
msgid "invalid floating point immediate expression"
msgstr ""
-#: config/tc-arm.c:5794
+#: config/tc-arm.c:7260
msgid "floating point register or immediate expression expected"
msgstr ""
-#: config/tc-arm.c:5948 config/tc-arm.c:6278
+#: config/tc-arm.c:7413 config/tc-arm.c:7741
msgid "address offset too large"
msgstr ""
-#: config/tc-arm.c:6006 config/tc-arm.c:6196 config/tc-arm.c:6338
+#: config/tc-arm.c:7471 config/tc-arm.c:7660 config/tc-arm.c:7801
msgid "address expected"
msgstr ""
-#: config/tc-arm.c:6036 config/tc-arm.c:6048 config/tc-arm.c:6085
-#: config/tc-arm.c:6214 config/tc-arm.c:6368 config/tc-arm.c:6382
-#: config/tc-arm.c:6419
+#: config/tc-arm.c:7501 config/tc-arm.c:7513 config/tc-arm.c:7550
+#: config/tc-arm.c:7678 config/tc-arm.c:7831 config/tc-arm.c:7845
+#: config/tc-arm.c:7882
#, c-format
msgid "%s register same as write-back base"
msgstr ""
-#: config/tc-arm.c:6038 config/tc-arm.c:6050 config/tc-arm.c:6087
-#: config/tc-arm.c:6216 config/tc-arm.c:6370 config/tc-arm.c:6384
-#: config/tc-arm.c:6421
+#: config/tc-arm.c:7503 config/tc-arm.c:7515 config/tc-arm.c:7552
+#: config/tc-arm.c:7680 config/tc-arm.c:7833 config/tc-arm.c:7847
+#: config/tc-arm.c:7884
msgid "destination"
msgstr ""
-#: config/tc-arm.c:6038 config/tc-arm.c:6050 config/tc-arm.c:6087
-#: config/tc-arm.c:6216 config/tc-arm.c:6370 config/tc-arm.c:6384
-#: config/tc-arm.c:6421
+#: config/tc-arm.c:7503 config/tc-arm.c:7515 config/tc-arm.c:7552
+#: config/tc-arm.c:7680 config/tc-arm.c:7833 config/tc-arm.c:7847
+#: config/tc-arm.c:7884
msgid "source"
msgstr ""
-#: config/tc-arm.c:6097 config/tc-arm.c:6431 config/tc-arm.c:8695
+#: config/tc-arm.c:7562 config/tc-arm.c:7894 config/tc-arm.c:10148
msgid "invalid pseudo operation"
msgstr ""
-#: config/tc-arm.c:6149 config/tc-arm.c:6482
+#: config/tc-arm.c:7614 config/tc-arm.c:7945
msgid "literal pool insertion failed"
msgstr ""
-#: config/tc-arm.c:6244 config/tc-arm.c:6250
+#: config/tc-arm.c:7708 config/tc-arm.c:7714
msgid "post-indexed expression expected"
msgstr ""
-#: config/tc-arm.c:6548
+#: config/tc-arm.c:8010
msgid "bad range in register list"
msgstr ""
-#: config/tc-arm.c:6556 config/tc-arm.c:6565 config/tc-arm.c:6607
+#: config/tc-arm.c:8018 config/tc-arm.c:8027 config/tc-arm.c:8069
#, c-format
msgid "Warning: duplicated register (r%d) in register list"
msgstr ""
-#: config/tc-arm.c:6568
+#: config/tc-arm.c:8030
msgid "Warning: register range not in ascending order"
msgstr ""
-#: config/tc-arm.c:6580
+#: config/tc-arm.c:8042
msgid "missing `}'"
msgstr ""
-#: config/tc-arm.c:6596
+#: config/tc-arm.c:8058
msgid "invalid register mask"
msgstr ""
-#: config/tc-arm.c:6655
+#: config/tc-arm.c:8117
msgid "r15 not allowed as base register"
msgstr ""
-#: config/tc-arm.c:6689 config/tc-arm.c:6698
+#: config/tc-arm.c:8151 config/tc-arm.c:8160
msgid "writeback of base register is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:6692
+#: config/tc-arm.c:8154
msgid "writeback of base register when in register list is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:6702
+#: config/tc-arm.c:8164
msgid "if writeback register is in list, it must be the lowest reg in the list"
msgstr ""
-#: config/tc-arm.c:6744 config/tc-arm.c:6758
+#: config/tc-arm.c:8203 config/tc-arm.c:8217
msgid "r15 not allowed in swap"
msgstr ""
-#: config/tc-arm.c:6853
+#: config/tc-arm.c:8310
msgid "use of r15 in bx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:7087
+#: config/tc-arm.c:8540
msgid "constant value required for number of registers"
msgstr ""
-#: config/tc-arm.c:7095
+#: config/tc-arm.c:8548
msgid "number of registers must be in the range [1:4]"
msgstr ""
-#: config/tc-arm.c:7156
+#: config/tc-arm.c:8609
msgid "r15 not allowed as base register with write-back"
msgstr ""
-#: config/tc-arm.c:7538
+#: config/tc-arm.c:8979 config/tc-arm.c:9015
msgid "only two consecutive VFP SP registers allowed here"
msgstr ""
-#: config/tc-arm.c:7706
+#: config/tc-arm.c:9167
msgid "VFP system register expected"
msgstr ""
-#: config/tc-arm.c:7844 config/tc-arm.c:7883 config/tc-arm.c:7896
-#: config/tc-arm.c:7957 config/tc-arm.c:7996 config/tc-arm.c:8009
-#: config/tc-h8300.c:1035 config/tc-mips.c:9723 config/tc-mips.c:9753
+#: config/tc-arm.c:9301 config/tc-arm.c:9340 config/tc-arm.c:9353
+#: config/tc-arm.c:9414 config/tc-arm.c:9453 config/tc-arm.c:9466
+#: config/tc-h8300.c:1009 config/tc-mips.c:9711 config/tc-mips.c:9741
msgid "invalid register list"
msgstr ""
-#: config/tc-arm.c:7850 config/tc-arm.c:7963
+#: config/tc-arm.c:9307 config/tc-arm.c:9420
msgid "register list not in ascending order"
msgstr ""
-#: config/tc-arm.c:7875 config/tc-arm.c:7988
+#: config/tc-arm.c:9332 config/tc-arm.c:9445
msgid "register range not in ascending order"
msgstr ""
-#: config/tc-arm.c:7913 config/tc-arm.c:8026
+#: config/tc-arm.c:9370 config/tc-arm.c:9483
msgid "non-contiguous register range"
msgstr ""
-#: config/tc-arm.c:8056 config/tc-arm.c:8093
+#: config/tc-arm.c:9513 config/tc-arm.c:9550
msgid "this addressing mode requires base-register writeback"
msgstr ""
-#: config/tc-arm.c:8253
+#: config/tc-arm.c:9706
msgid "lo register required"
msgstr ""
-#: config/tc-arm.c:8261
+#: config/tc-arm.c:9714
msgid "hi register required"
msgstr ""
-#: config/tc-arm.c:8331 config/tc-arm.c:9537
+#: config/tc-arm.c:9784 config/tc-arm.c:10988
msgid "dest and source1 must be the same register"
msgstr ""
-#: config/tc-arm.c:8338
+#: config/tc-arm.c:9791
msgid "subtract valid only on lo regs"
msgstr ""
-#: config/tc-arm.c:8362
+#: config/tc-arm.c:9815
msgid "invalid Hi register with immediate"
msgstr ""
-#: config/tc-arm.c:8402
+#: config/tc-arm.c:9855
msgid "invalid immediate value for stack adjust"
msgstr ""
-#: config/tc-arm.c:8413
+#: config/tc-arm.c:9866
msgid "invalid immediate for address calculation"
msgstr ""
-#: config/tc-arm.c:8500
+#: config/tc-arm.c:9953
msgid "source1 and dest must be same register"
msgstr ""
-#: config/tc-arm.c:8534
+#: config/tc-arm.c:9987
msgid "invalid immediate for shift"
msgstr ""
-#: config/tc-arm.c:8613
+#: config/tc-arm.c:10066
msgid "only lo regs allowed with immediate"
msgstr ""
-#: config/tc-arm.c:8632
+#: config/tc-arm.c:10085
msgid "invalid immediate"
msgstr ""
-#: config/tc-arm.c:8686
+#: config/tc-arm.c:10139
msgid "expected ']'"
msgstr ""
-#: config/tc-arm.c:8759
+#: config/tc-arm.c:10212
msgid "byte or halfword not valid for base register"
msgstr ""
-#: config/tc-arm.c:8764
+#: config/tc-arm.c:10217
msgid "r15 based store not allowed"
msgstr ""
-#: config/tc-arm.c:8769
+#: config/tc-arm.c:10222
msgid "invalid base register for register offset"
msgstr ""
-#: config/tc-arm.c:8787 config/tc-arm.c:8822
+#: config/tc-arm.c:10240 config/tc-arm.c:10275
msgid "invalid offset"
msgstr ""
-#: config/tc-arm.c:8798
+#: config/tc-arm.c:10251
msgid "invalid base register in load/store"
msgstr ""
-#: config/tc-arm.c:9341
+#: config/tc-arm.c:10794
msgid "expecting immediate, 7bit operand"
msgstr ""
-#: config/tc-arm.c:9356
+#: config/tc-arm.c:10809
msgid "immediate out of range"
msgstr ""
-#: config/tc-arm.c:9399
+#: config/tc-arm.c:10852
msgid "offset expected"
msgstr ""
-#: config/tc-arm.c:9408 config/tc-pj.c:537 config/tc-sh.c:3593
+#: config/tc-arm.c:10861 config/tc-pj.c:537 config/tc-sh.c:3892
msgid "offset out of range"
msgstr ""
-#: config/tc-arm.c:9545
+#: config/tc-arm.c:10996
msgid "Rs and Rd must be different in MUL"
msgstr ""
-#: config/tc-arm.c:9689
+#: config/tc-arm.c:11140
msgid ""
"inserted missing '!': load/store multiple always writes back base register"
msgstr ""
-#: config/tc-arm.c:9711
+#: config/tc-arm.c:11162
msgid "only lo-regs valid in load/store multiple"
msgstr ""
-#: config/tc-arm.c:9757
+#: config/tc-arm.c:11208
msgid "syntax: ldrs[b] Rd, [Rb, Ro]"
msgstr ""
-#: config/tc-arm.c:9821
+#: config/tc-arm.c:11272
msgid "invalid register list to push/pop instruction"
msgstr ""
-#: config/tc-arm.c:9933 config/tc-arm.c:10159
+#: config/tc-arm.c:11383 config/tc-arm.c:11621
msgid "virtual memory exhausted"
msgstr ""
-#: config/tc-arm.c:10014
+#: config/tc-arm.c:11408
+#, c-format
+msgid "failed to create an alias for %s, reason: %s"
+msgstr ""
+
+#: config/tc-arm.c:11473
#, c-format
msgid "register '%s' does not exist\n"
msgstr ""
-#: config/tc-arm.c:10018
+#: config/tc-arm.c:11477
#, c-format
msgid ""
"ignoring redefinition of register alias '%s' to non-existant register '%s'"
msgstr ""
-#: config/tc-arm.c:10027
+#: config/tc-arm.c:11486
#, c-format
msgid "ignoring redefinition of register alias '%s'"
msgstr ""
-#: config/tc-arm.c:10033
+#: config/tc-arm.c:11492
msgid "ignoring incomplete .req pseuso op"
msgstr ""
-#: config/tc-arm.c:10183
+#: config/tc-arm.c:11645
msgid "use of old and new-style options to set CPU type"
msgstr ""
-#: config/tc-arm.c:10193
+#: config/tc-arm.c:11655
msgid "use of old and new-style options to set FPU type"
msgstr ""
-#: config/tc-arm.c:10473
+#: config/tc-arm.c:11711
+msgid "hard-float conflicts with specified fpu"
+msgstr ""
+
+#: config/tc-arm.c:11949
msgid "bad call to MD_ATOF()"
msgstr ""
-#: config/tc-arm.c:10703
+#: config/tc-arm.c:12179
#, c-format
msgid "invalid constant (%lx) after fixup"
msgstr ""
-#: config/tc-arm.c:10741
+#: config/tc-arm.c:12217
#, c-format
msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
msgstr ""
-#: config/tc-arm.c:10771
+#: config/tc-arm.c:12247
#, c-format
msgid "bad immediate value for offset (%ld)"
msgstr ""
-#: config/tc-arm.c:10793 config/tc-arm.c:10815
+#: config/tc-arm.c:12269 config/tc-arm.c:12291
msgid "invalid literal constant: pool needs to be closer"
msgstr ""
-#: config/tc-arm.c:10795
+#: config/tc-arm.c:12271
#, c-format
msgid "bad immediate value for half-word offset (%ld)"
msgstr ""
-#: config/tc-arm.c:10832
+#: config/tc-arm.c:12308
msgid "shift expression is too large"
msgstr ""
-#: config/tc-arm.c:10851 config/tc-arm.c:10860
+#: config/tc-arm.c:12327 config/tc-arm.c:12336
msgid "invalid swi expression"
msgstr ""
-#: config/tc-arm.c:10870
+#: config/tc-arm.c:12346
msgid "invalid expression in load/store multiple"
msgstr ""
-#: config/tc-arm.c:10923
+#: config/tc-arm.c:12399
msgid "GAS can't handle same-section branch dest >= 0x04000000"
msgstr ""
-#: config/tc-arm.c:10932
+#: config/tc-arm.c:12408
msgid "out of range branch"
msgstr ""
-#: config/tc-arm.c:10965 config/tc-arm.c:10981
+#: config/tc-arm.c:12441 config/tc-arm.c:12457
msgid "branch out of range"
msgstr ""
-#: config/tc-arm.c:11005
+#: config/tc-arm.c:12481
msgid "branch with link out of range"
msgstr ""
-#: config/tc-arm.c:11074
+#: config/tc-arm.c:12550
msgid "illegal value for co-processor offset"
msgstr ""
-#: config/tc-arm.c:11086
+#: config/tc-arm.c:12562
msgid "Illegal value for co-processor offset"
msgstr ""
-#: config/tc-arm.c:11110
+#: config/tc-arm.c:12586
#, c-format
msgid "invalid offset, target not word aligned (0x%08X)"
msgstr ""
-#: config/tc-arm.c:11116 config/tc-arm.c:11126 config/tc-arm.c:11134
-#: config/tc-arm.c:11142 config/tc-arm.c:11150
+#: config/tc-arm.c:12592 config/tc-arm.c:12602 config/tc-arm.c:12610
+#: config/tc-arm.c:12618 config/tc-arm.c:12626
#, c-format
msgid "invalid offset, value too big (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:11190
+#: config/tc-arm.c:12666
msgid "invalid immediate for stack address calculation"
msgstr ""
-#: config/tc-arm.c:11199
+#: config/tc-arm.c:12675
#, c-format
msgid "invalid immediate for address calculation (value = 0x%08lX)"
msgstr ""
-#: config/tc-arm.c:11209
+#: config/tc-arm.c:12685
msgid "invalid 8bit immediate"
msgstr ""
-#: config/tc-arm.c:11217
+#: config/tc-arm.c:12693
msgid "invalid 3bit immediate"
msgstr ""
-#: config/tc-arm.c:11233
+#: config/tc-arm.c:12709
#, c-format
msgid "invalid immediate: %ld is too large"
msgstr ""
-#: config/tc-arm.c:11248
+#: config/tc-arm.c:12724
#, c-format
msgid "illegal Thumb shift value: %ld"
msgstr ""
-#: config/tc-arm.c:11262
+#: config/tc-arm.c:12738
#, c-format
msgid "bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-arm.c:11333
+#: config/tc-arm.c:12809
msgid "literal referenced across section boundary"
msgstr ""
-#: config/tc-arm.c:11346
+#: config/tc-arm.c:12822
msgid "internal relocation (type: IMMEDIATE) not fixed up"
msgstr ""
-#: config/tc-arm.c:11351
+#: config/tc-arm.c:12827
msgid "ADRL used for a symbol not defined in the same file"
msgstr ""
-#: config/tc-arm.c:11356
+#: config/tc-arm.c:12836
+#, c-format
+msgid "undefined local label `%s'"
+msgstr ""
+
+#: config/tc-arm.c:12842
msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
msgstr ""
-#: config/tc-arm.c:11374 config/tc-cris.c:3063 config/tc-mcore.c:2052
-#: config/tc-mmix.c:2867 config/tc-ns32k.c:2396
+#: config/tc-arm.c:12860 config/tc-cris.c:3063 config/tc-mcore.c:2052
+#: config/tc-mmix.c:2943 config/tc-ns32k.c:2396
msgid "<unknown>"
msgstr ""
-#: config/tc-arm.c:11377 config/tc-arm.c:11398
+#: config/tc-arm.c:12863 config/tc-arm.c:12884
#, c-format
msgid "cannot represent %s relocation in this object file format"
msgstr ""
-#: config/tc-arm.c:11494
+#: config/tc-arm.c:12980
#, c-format
msgid "no operator -- statement `%s'\n"
msgstr ""
-#: config/tc-arm.c:11512 config/tc-arm.c:11537
+#: config/tc-arm.c:12998 config/tc-arm.c:13024
#, c-format
msgid "selected processor does not support `%s'"
msgstr ""
-#: config/tc-arm.c:11554
+#: config/tc-arm.c:13042
#, c-format
msgid "bad instruction `%s'"
msgstr ""
-#: config/tc-arm.c:11655
+#: config/tc-arm.c:13143
msgid "generate PIC code"
msgstr ""
-#: config/tc-arm.c:11656
+#: config/tc-arm.c:13144
msgid "assemble Thumb code"
msgstr ""
-#: config/tc-arm.c:11657
+#: config/tc-arm.c:13145
msgid "support ARM/Thumb interworking"
msgstr ""
-#: config/tc-arm.c:11659
+#: config/tc-arm.c:13147
msgid "use old ABI (ELF only)"
msgstr ""
-#: config/tc-arm.c:11660
+#: config/tc-arm.c:13148
msgid "code uses 32-bit program counter"
msgstr ""
-#: config/tc-arm.c:11661
+#: config/tc-arm.c:13149
msgid "code uses 26-bit program counter"
msgstr ""
-#: config/tc-arm.c:11662
+#: config/tc-arm.c:13150
msgid "floating point args are in fp regs"
msgstr ""
-#: config/tc-arm.c:11664
+#: config/tc-arm.c:13152
msgid "re-entrant code"
msgstr ""
-#: config/tc-arm.c:11665
+#: config/tc-arm.c:13153
msgid "code is ATPCS conformant"
msgstr ""
-#: config/tc-arm.c:11666
+#: config/tc-arm.c:13154
msgid "assemble for big-endian"
msgstr ""
-#: config/tc-arm.c:11667
+#: config/tc-arm.c:13155
msgid "assemble for little-endian"
msgstr ""
#. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:11671
+#: config/tc-arm.c:13159
msgid "use frame pointer"
msgstr ""
-#: config/tc-arm.c:11672
+#: config/tc-arm.c:13160
msgid "use stack size checking"
msgstr ""
#. DON'T add any new processors to this list -- we want the whole list
#. to go away... Add them to the processors table instead.
-#: config/tc-arm.c:11676 config/tc-arm.c:11677
+#: config/tc-arm.c:13164 config/tc-arm.c:13165
msgid "use -mcpu=arm1"
msgstr ""
-#: config/tc-arm.c:11678 config/tc-arm.c:11679
+#: config/tc-arm.c:13166 config/tc-arm.c:13167
msgid "use -mcpu=arm2"
msgstr ""
-#: config/tc-arm.c:11680 config/tc-arm.c:11681
+#: config/tc-arm.c:13168 config/tc-arm.c:13169
msgid "use -mcpu=arm250"
msgstr ""
-#: config/tc-arm.c:11682 config/tc-arm.c:11683
+#: config/tc-arm.c:13170 config/tc-arm.c:13171
msgid "use -mcpu=arm3"
msgstr ""
-#: config/tc-arm.c:11684 config/tc-arm.c:11685
+#: config/tc-arm.c:13172 config/tc-arm.c:13173
msgid "use -mcpu=arm6"
msgstr ""
-#: config/tc-arm.c:11686 config/tc-arm.c:11687
+#: config/tc-arm.c:13174 config/tc-arm.c:13175
msgid "use -mcpu=arm600"
msgstr ""
-#: config/tc-arm.c:11688 config/tc-arm.c:11689
+#: config/tc-arm.c:13176 config/tc-arm.c:13177
msgid "use -mcpu=arm610"
msgstr ""
-#: config/tc-arm.c:11690 config/tc-arm.c:11691
+#: config/tc-arm.c:13178 config/tc-arm.c:13179
msgid "use -mcpu=arm620"
msgstr ""
-#: config/tc-arm.c:11692 config/tc-arm.c:11693
+#: config/tc-arm.c:13180 config/tc-arm.c:13181
msgid "use -mcpu=arm7"
msgstr ""
-#: config/tc-arm.c:11694 config/tc-arm.c:11695
+#: config/tc-arm.c:13182 config/tc-arm.c:13183
msgid "use -mcpu=arm70"
msgstr ""
-#: config/tc-arm.c:11696 config/tc-arm.c:11697
+#: config/tc-arm.c:13184 config/tc-arm.c:13185
msgid "use -mcpu=arm700"
msgstr ""
-#: config/tc-arm.c:11698 config/tc-arm.c:11699
+#: config/tc-arm.c:13186 config/tc-arm.c:13187
msgid "use -mcpu=arm700i"
msgstr ""
-#: config/tc-arm.c:11700 config/tc-arm.c:11701
+#: config/tc-arm.c:13188 config/tc-arm.c:13189
msgid "use -mcpu=arm710"
msgstr ""
-#: config/tc-arm.c:11702 config/tc-arm.c:11703
+#: config/tc-arm.c:13190 config/tc-arm.c:13191
msgid "use -mcpu=arm710c"
msgstr ""
-#: config/tc-arm.c:11704 config/tc-arm.c:11705
+#: config/tc-arm.c:13192 config/tc-arm.c:13193
msgid "use -mcpu=arm720"
msgstr ""
-#: config/tc-arm.c:11706 config/tc-arm.c:11707
+#: config/tc-arm.c:13194 config/tc-arm.c:13195
msgid "use -mcpu=arm7d"
msgstr ""
-#: config/tc-arm.c:11708 config/tc-arm.c:11709
+#: config/tc-arm.c:13196 config/tc-arm.c:13197
msgid "use -mcpu=arm7di"
msgstr ""
-#: config/tc-arm.c:11710 config/tc-arm.c:11711
+#: config/tc-arm.c:13198 config/tc-arm.c:13199
msgid "use -mcpu=arm7m"
msgstr ""
-#: config/tc-arm.c:11712 config/tc-arm.c:11713
+#: config/tc-arm.c:13200 config/tc-arm.c:13201
msgid "use -mcpu=arm7dm"
msgstr ""
-#: config/tc-arm.c:11714 config/tc-arm.c:11715
+#: config/tc-arm.c:13202 config/tc-arm.c:13203
msgid "use -mcpu=arm7dmi"
msgstr ""
-#: config/tc-arm.c:11716 config/tc-arm.c:11717
+#: config/tc-arm.c:13204 config/tc-arm.c:13205
msgid "use -mcpu=arm7100"
msgstr ""
-#: config/tc-arm.c:11718 config/tc-arm.c:11719
+#: config/tc-arm.c:13206 config/tc-arm.c:13207
msgid "use -mcpu=arm7500"
msgstr ""
-#: config/tc-arm.c:11720 config/tc-arm.c:11721
+#: config/tc-arm.c:13208 config/tc-arm.c:13209
msgid "use -mcpu=arm7500fe"
msgstr ""
-#: config/tc-arm.c:11722 config/tc-arm.c:11723 config/tc-arm.c:11724
-#: config/tc-arm.c:11725
+#: config/tc-arm.c:13210 config/tc-arm.c:13211 config/tc-arm.c:13212
+#: config/tc-arm.c:13213
msgid "use -mcpu=arm7tdmi"
msgstr ""
-#: config/tc-arm.c:11726 config/tc-arm.c:11727
+#: config/tc-arm.c:13214 config/tc-arm.c:13215
msgid "use -mcpu=arm710t"
msgstr ""
-#: config/tc-arm.c:11728 config/tc-arm.c:11729
+#: config/tc-arm.c:13216 config/tc-arm.c:13217
msgid "use -mcpu=arm720t"
msgstr ""
-#: config/tc-arm.c:11730 config/tc-arm.c:11731
+#: config/tc-arm.c:13218 config/tc-arm.c:13219
msgid "use -mcpu=arm740t"
msgstr ""
-#: config/tc-arm.c:11732 config/tc-arm.c:11733
+#: config/tc-arm.c:13220 config/tc-arm.c:13221
msgid "use -mcpu=arm8"
msgstr ""
-#: config/tc-arm.c:11734 config/tc-arm.c:11735
+#: config/tc-arm.c:13222 config/tc-arm.c:13223
msgid "use -mcpu=arm810"
msgstr ""
-#: config/tc-arm.c:11736 config/tc-arm.c:11737
+#: config/tc-arm.c:13224 config/tc-arm.c:13225
msgid "use -mcpu=arm9"
msgstr ""
-#: config/tc-arm.c:11738 config/tc-arm.c:11739
+#: config/tc-arm.c:13226 config/tc-arm.c:13227
msgid "use -mcpu=arm9tdmi"
msgstr ""
-#: config/tc-arm.c:11740 config/tc-arm.c:11741
+#: config/tc-arm.c:13228 config/tc-arm.c:13229
msgid "use -mcpu=arm920"
msgstr ""
-#: config/tc-arm.c:11742 config/tc-arm.c:11743
+#: config/tc-arm.c:13230 config/tc-arm.c:13231
msgid "use -mcpu=arm940"
msgstr ""
-#: config/tc-arm.c:11744
+#: config/tc-arm.c:13232
msgid "use -mcpu=strongarm"
msgstr ""
-#: config/tc-arm.c:11746
+#: config/tc-arm.c:13234
msgid "use -mcpu=strongarm110"
msgstr ""
-#: config/tc-arm.c:11748
+#: config/tc-arm.c:13236
msgid "use -mcpu=strongarm1100"
msgstr ""
-#: config/tc-arm.c:11750
+#: config/tc-arm.c:13238
msgid "use -mcpu=strongarm1110"
msgstr ""
-#: config/tc-arm.c:11751
+#: config/tc-arm.c:13239
msgid "use -mcpu=xscale"
msgstr ""
-#: config/tc-arm.c:11752
+#: config/tc-arm.c:13240
msgid "use -mcpu=iwmmxt"
msgstr ""
-#: config/tc-arm.c:11753
+#: config/tc-arm.c:13241
msgid "use -mcpu=all"
msgstr ""
#. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:11756 config/tc-arm.c:11757
+#: config/tc-arm.c:13244 config/tc-arm.c:13245
msgid "use -march=armv2"
msgstr ""
-#: config/tc-arm.c:11758 config/tc-arm.c:11759
+#: config/tc-arm.c:13246 config/tc-arm.c:13247
msgid "use -march=armv2a"
msgstr ""
-#: config/tc-arm.c:11760 config/tc-arm.c:11761
+#: config/tc-arm.c:13248 config/tc-arm.c:13249
msgid "use -march=armv3"
msgstr ""
-#: config/tc-arm.c:11762 config/tc-arm.c:11763
+#: config/tc-arm.c:13250 config/tc-arm.c:13251
msgid "use -march=armv3m"
msgstr ""
-#: config/tc-arm.c:11764 config/tc-arm.c:11765
+#: config/tc-arm.c:13252 config/tc-arm.c:13253
msgid "use -march=armv4"
msgstr ""
-#: config/tc-arm.c:11766 config/tc-arm.c:11767
+#: config/tc-arm.c:13254 config/tc-arm.c:13255
msgid "use -march=armv4t"
msgstr ""
-#: config/tc-arm.c:11768 config/tc-arm.c:11769
+#: config/tc-arm.c:13256 config/tc-arm.c:13257
msgid "use -march=armv5"
msgstr ""
-#: config/tc-arm.c:11770 config/tc-arm.c:11771
+#: config/tc-arm.c:13258 config/tc-arm.c:13259
msgid "use -march=armv5t"
msgstr ""
-#: config/tc-arm.c:11772 config/tc-arm.c:11773
+#: config/tc-arm.c:13260 config/tc-arm.c:13261
msgid "use -march=armv5te"
msgstr ""
#. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:11776
+#: config/tc-arm.c:13264
msgid "use -mfpu=fpe"
msgstr ""
-#: config/tc-arm.c:11777
+#: config/tc-arm.c:13265
msgid "use -mfpu=fpa10"
msgstr ""
-#: config/tc-arm.c:11778
+#: config/tc-arm.c:13266
msgid "use -mfpu=fpa11"
msgstr ""
-#: config/tc-arm.c:11780
+#: config/tc-arm.c:13268
msgid "use either -mfpu=softfpa or -mfpu=softvfp"
msgstr ""
-#: config/tc-arm.c:11963
+#: config/tc-arm.c:13474
msgid "invalid architectural extension"
msgstr ""
-#: config/tc-arm.c:11977
+#: config/tc-arm.c:13488
msgid "missing architectural extension"
msgstr ""
-#: config/tc-arm.c:11990
+#: config/tc-arm.c:13501
#, c-format
msgid "unknown architectural extnsion `%s'"
msgstr ""
-#: config/tc-arm.c:12015
+#: config/tc-arm.c:13526
#, c-format
msgid "missing cpu name `%s'"
msgstr ""
-#: config/tc-arm.c:12031
+#: config/tc-arm.c:13542
#, c-format
msgid "unknown cpu `%s'"
msgstr ""
-#: config/tc-arm.c:12050
+#: config/tc-arm.c:13561
#, c-format
msgid "missing architecture name `%s'"
msgstr ""
-#: config/tc-arm.c:12067
+#: config/tc-arm.c:13578
#, c-format
msgid "unknown architecture `%s'\n"
msgstr ""
-#: config/tc-arm.c:12084
+#: config/tc-arm.c:13595
#, c-format
msgid "unknown floating point format `%s'\n"
msgstr ""
-#: config/tc-arm.c:12090
+#: config/tc-arm.c:13612
+#, c-format
+msgid "unknown floating point abi `%s'\n"
+msgstr ""
+
+#: config/tc-arm.c:13618
msgid "<cpu name>\t assemble for CPU <cpu name>"
msgstr ""
-#: config/tc-arm.c:12092
+#: config/tc-arm.c:13620
msgid "<arch name>\t assemble for architecture <arch name>"
msgstr ""
-#: config/tc-arm.c:12094
+#: config/tc-arm.c:13622
msgid "<fpu name>\t assemble for FPU architecture <fpu name>"
msgstr ""
-#: config/tc-arm.c:12136 config/tc-arm.c:12158
+#: config/tc-arm.c:13624
+msgid "<abi>\t assemble for floating point ABI <abi>"
+msgstr ""
+
+#: config/tc-arm.c:13666 config/tc-arm.c:13688
#, c-format
msgid "option `-%c%s' is deprecated: %s"
msgstr ""
-#: config/tc-arm.c:12167
+#: config/tc-arm.c:13697
#, c-format
msgid "unrecognized option `-%c%s'"
msgstr ""
-#: config/tc-arm.c:12181
+#: config/tc-arm.c:13711
+#, c-format
msgid " ARM-specific assembler options:\n"
msgstr ""
-#: config/tc-arm.c:12192
+#: config/tc-arm.c:13722
+#, c-format
msgid " -EB assemble code for a big-endian cpu\n"
msgstr ""
-#: config/tc-arm.c:12197
+#: config/tc-arm.c:13727
+#, c-format
msgid " -EL assemble code for a little-endian cpu\n"
msgstr ""
-#: config/tc-arm.c:12381
+#: config/tc-arm.c:13909
#, c-format
msgid "%s: unexpected function type: %d"
msgstr ""
-#: config/tc-arm.c:12756
+#: config/tc-arm.c:14285
msgid "alignments greater than 32 bytes not supported in .text sections."
msgstr ""
-#: config/tc-arm.h:98
+#: config/tc-arm.h:101
msgid "arm convert_frag\n"
msgstr ""
#: config/tc-avr.c:203
+#, c-format
msgid "Known MCU names:"
msgstr ""
#: config/tc-avr.c:272
+#, c-format
msgid ""
"AVR options:\n"
" -mmcu=[avr-name] select microcontroller variant\n"
@@ -2667,6 +2811,7 @@ msgid ""
msgstr ""
#: config/tc-avr.c:282
+#, c-format
msgid ""
" -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n"
" -mno-skip-bug disable warnings for skipping two-word instructions\n"
@@ -2675,7 +2820,7 @@ msgid ""
" (default for avr3, avr5)\n"
msgstr ""
-#: config/tc-avr.c:330 config/tc-msp430.c:257
+#: config/tc-avr.c:330 config/tc-msp430.c:272
#, c-format
msgid "unknown MCU: %s\n"
msgstr ""
@@ -2686,9 +2831,9 @@ msgid "redefinition of mcu type `%s' to `%s'"
msgstr ""
#: config/tc-avr.c:390 config/tc-d10v.c:319 config/tc-d30v.c:365
-#: config/tc-mips.c:10137 config/tc-mmix.c:2246 config/tc-mn10200.c:361
-#: config/tc-msp430.c:378 config/tc-pj.c:374 config/tc-ppc.c:5105
-#: config/tc-sh.c:2528 config/tc-v850.c:1244
+#: config/tc-mips.c:10125 config/tc-mmix.c:2310 config/tc-mn10200.c:361
+#: config/tc-msp430.c:393 config/tc-pj.c:374 config/tc-ppc.c:5191
+#: config/tc-sh.c:2821 config/tc-v850.c:1253
msgid "bad call to md_atof"
msgstr ""
@@ -2763,20 +2908,20 @@ msgid "unknown constraint `%c'"
msgstr ""
#: config/tc-avr.c:881 config/tc-avr.c:897 config/tc-avr.c:998
-#: config/tc-msp430.c:1431 config/tc-msp430.c:1448
+#: config/tc-msp430.c:1437 config/tc-msp430.c:1454
#, c-format
msgid "odd address operand: %ld"
msgstr ""
#: config/tc-avr.c:889 config/tc-avr.c:908 config/tc-d10v.c:586
-#: config/tc-d30v.c:655 config/tc-msp430.c:1439 config/tc-msp430.c:1453
-#: config/tc-msp430.c:1463
+#: config/tc-d30v.c:655 config/tc-msp430.c:1445 config/tc-msp430.c:1459
+#: config/tc-msp430.c:1469
#, c-format
msgid "operand out of range: %ld"
msgstr ""
#: config/tc-avr.c:1007 config/tc-d10v.c:1793 config/tc-d30v.c:1973
-#: config/tc-msp430.c:1481
+#: config/tc-msp430.c:1487
#, c-format
msgid "line %d: unknown relocation type: 0x%x"
msgstr ""
@@ -2786,16 +2931,16 @@ msgid "only constant expression allowed"
msgstr ""
#: config/tc-avr.c:1057 config/tc-d10v.c:1659 config/tc-d30v.c:1806
-#: config/tc-mn10200.c:1255 config/tc-mn10300.c:2303 config/tc-msp430.c:1520
-#: config/tc-or32.c:1618 config/tc-ppc.c:5919 config/tc-v850.c:2263
+#: config/tc-mn10200.c:1255 config/tc-mn10300.c:2303 config/tc-msp430.c:1525
+#: config/tc-or32.c:1618 config/tc-ppc.c:6014 config/tc-v850.c:2280
#, c-format
msgid "reloc %d not supported by object file format"
msgstr ""
#: config/tc-avr.c:1081 config/tc-d10v.c:1248 config/tc-d10v.c:1262
-#: config/tc-h8300.c:1915 config/tc-h8500.c:1106 config/tc-mcore.c:938
-#: config/tc-msp430.c:438 config/tc-pj.c:283 config/tc-sh.c:2096
-#: config/tc-z8k.c:1238
+#: config/tc-h8300.c:1895 config/tc-h8500.c:1106 config/tc-mcore.c:938
+#: config/tc-msp430.c:453 config/tc-pj.c:283 config/tc-sh.c:2275
+#: config/tc-z8k.c:1204
msgid "can't find opcode "
msgstr ""
@@ -2808,7 +2953,7 @@ msgstr ""
msgid "garbage at end of line"
msgstr ""
-#: config/tc-avr.c:1170 read.c:3226
+#: config/tc-avr.c:1170 read.c:3100
msgid "illegal expression"
msgstr ""
@@ -2830,17 +2975,17 @@ msgstr ""
msgid "illegal %srelocation size: %d"
msgstr ""
-#: config/tc-cris.c:386 config/tc-m68hc11.c:2831
+#: config/tc-cris.c:386 config/tc-m68hc11.c:2793
#, c-format
msgid "internal inconsistency problem in %s: fr_symbol %lx"
msgstr ""
-#: config/tc-cris.c:390 config/tc-m68hc11.c:2835
+#: config/tc-cris.c:390 config/tc-m68hc11.c:2797
#, c-format
msgid "internal inconsistency problem in %s: resolved symbol"
msgstr ""
-#: config/tc-cris.c:396 config/tc-m68hc11.c:2841
+#: config/tc-cris.c:396 config/tc-m68hc11.c:2803
#, c-format
msgid "internal inconsistency problem in %s: fr_subtype %d"
msgstr ""
@@ -2968,6 +3113,7 @@ msgid "Value not in 6 bit unsigned range: %ld"
msgstr ""
#: config/tc-cris.c:2924
+#, c-format
msgid "Please use --help to see usage and options for this assembler.\n"
msgstr ""
@@ -2988,6 +3134,7 @@ msgstr ""
#. The messages are formatted to line up with the generic options.
#: config/tc-cris.c:3078
+#, c-format
msgid "CRIS-specific options:\n"
msgstr ""
@@ -3058,6 +3205,7 @@ msgid "Pseudodirective .loc is only valid when generating ELF"
msgstr ""
#: config/tc-d10v.c:252
+#, c-format
msgid ""
"D10V options:\n"
"-O Optimize. Will do some operations in parallel.\n"
@@ -3068,8 +3216,8 @@ msgid ""
msgstr ""
#: config/tc-d10v.c:543 config/tc-d30v.c:549 config/tc-mn10200.c:937
-#: config/tc-mn10300.c:1812 config/tc-ppc.c:2332 config/tc-s390.c:1234
-#: config/tc-tic80.c:275 config/tc-v850.c:2021
+#: config/tc-mn10300.c:1812 config/tc-ppc.c:2369 config/tc-s390.c:1234
+#: config/tc-tic80.c:275 config/tc-v850.c:2038
msgid "illegal operand"
msgstr ""
@@ -3169,7 +3317,7 @@ msgstr ""
msgid "bad opcode or operands"
msgstr ""
-#: config/tc-d10v.c:1503 config/tc-m68k.c:4305
+#: config/tc-d10v.c:1503 config/tc-m68k.c:4475
msgid "value out of range"
msgstr ""
@@ -3201,6 +3349,7 @@ msgid "Register name %s conflicts with symbol of the same name"
msgstr ""
#: config/tc-d30v.c:287
+#, c-format
msgid ""
"\n"
"D30V options:\n"
@@ -3332,7 +3481,7 @@ msgstr ""
msgid "value too large to fit in %d bits"
msgstr ""
-#: config/tc-d30v.c:2196
+#: config/tc-d30v.c:2194
#, c-format
msgid "Alignment too large: %d assumed"
msgstr ""
@@ -3345,48 +3494,49 @@ msgstr ""
msgid ".endfunc missing for previous .proc"
msgstr ""
-#: config/tc-dlx.c:498
+#: config/tc-dlx.c:497
#, c-format
msgid "Expression Error for operand modifier %%hi/%%lo\n"
msgstr ""
-#: config/tc-dlx.c:552
+#: config/tc-dlx.c:551
#, c-format
msgid "Bad operand for a load instruction: <%s>"
msgstr ""
-#: config/tc-dlx.c:667
+#: config/tc-dlx.c:666
#, c-format
msgid "Bad operand for a store instruction: <%s>"
msgstr ""
-#: config/tc-dlx.c:865
+#: config/tc-dlx.c:864
msgid "Can not set dlx_skip_hi16_flag"
msgstr ""
-#: config/tc-dlx.c:879
+#: config/tc-dlx.c:878
#, c-format
msgid "Missing arguments for opcode <%s>."
msgstr ""
-#: config/tc-dlx.c:950
+#: config/tc-dlx.c:949
#, c-format
msgid "Both the_insn.HI and the_insn.LO are set : %s"
msgstr ""
-#: config/tc-dlx.c:1022
+#: config/tc-dlx.c:1021
msgid "failed regnum sanity check."
msgstr ""
-#: config/tc-dlx.c:1035
+#: config/tc-dlx.c:1034
msgid "failed general register sanity check."
msgstr ""
-#: config/tc-dlx.c:1324
+#: config/tc-dlx.c:1321
msgid "Invalid expression after # number\n"
msgstr ""
#: config/tc-fr30.c:85
+#, c-format
msgid " FR30 specific command line options:\n"
msgstr ""
@@ -3395,282 +3545,317 @@ msgstr ""
msgid "Instruction %s not allowed in a delay slot."
msgstr ""
-#: config/tc-fr30.c:383 config/tc-m32r.c:1576
+#: config/tc-fr30.c:383 config/tc-m32r.c:1850
msgid "Addend to unresolved symbol not on word boundary."
msgstr ""
-#: config/tc-fr30.c:524 config/tc-frv.c:1289 config/tc-i960.c:798
-#: config/tc-ip2k.c:351 config/tc-m32r.c:1884 config/tc-openrisc.c:452
+#: config/tc-fr30.c:524 config/tc-frv.c:1478 config/tc-i960.c:798
+#: config/tc-ip2k.c:350 config/tc-m32r.c:2166 config/tc-openrisc.c:452
#: config/tc-xstormy16.c:636
msgid "Bad call to md_atof()"
msgstr ""
-#: config/tc-frv.c:413
+#: config/tc-frv.c:447
+#, c-format
msgid "FRV specific command line options:\n"
msgstr ""
-#: config/tc-frv.c:414
+#: config/tc-frv.c:448
+#, c-format
msgid "-G n Data >= n bytes is in small data area\n"
msgstr ""
-#: config/tc-frv.c:415
+#: config/tc-frv.c:449
+#, c-format
msgid "-mgpr-32 Note 32 gprs are used\n"
msgstr ""
-#: config/tc-frv.c:416
+#: config/tc-frv.c:450
+#, c-format
msgid "-mgpr-64 Note 64 gprs are used\n"
msgstr ""
-#: config/tc-frv.c:417
+#: config/tc-frv.c:451
+#, c-format
msgid "-mfpr-32 Note 32 fprs are used\n"
msgstr ""
-#: config/tc-frv.c:418
+#: config/tc-frv.c:452
+#, c-format
msgid "-mfpr-64 Note 64 fprs are used\n"
msgstr ""
-#: config/tc-frv.c:419
+#: config/tc-frv.c:453
+#, c-format
msgid "-msoft-float Note software fp is used\n"
msgstr ""
-#: config/tc-frv.c:420
+#: config/tc-frv.c:454
+#, c-format
msgid "-mdword Note stack is aligned to a 8 byte boundary\n"
msgstr ""
-#: config/tc-frv.c:421
+#: config/tc-frv.c:455
+#, c-format
msgid "-mno-dword Note stack is aligned to a 4 byte boundary\n"
msgstr ""
-#: config/tc-frv.c:422
+#: config/tc-frv.c:456
+#, c-format
msgid "-mdouble Note fp double insns are used\n"
msgstr ""
-#: config/tc-frv.c:423
+#: config/tc-frv.c:457
+#, c-format
msgid "-mmedia Note media insns are used\n"
msgstr ""
-#: config/tc-frv.c:424
+#: config/tc-frv.c:458
+#, c-format
msgid "-mmuladd Note multiply add/subtract insns are used\n"
msgstr ""
-#: config/tc-frv.c:425
+#: config/tc-frv.c:459
+#, c-format
msgid "-mpack Note instructions are packed\n"
msgstr ""
-#: config/tc-frv.c:426
+#: config/tc-frv.c:460
+#, c-format
msgid "-mno-pack Do not allow instructions to be packed\n"
msgstr ""
-#: config/tc-frv.c:427
+#: config/tc-frv.c:461
+#, c-format
msgid "-mpic Note small position independent code\n"
msgstr ""
-#: config/tc-frv.c:428
+#: config/tc-frv.c:462
+#, c-format
msgid "-mPIC Note large position independent code\n"
msgstr ""
-#: config/tc-frv.c:429
+#: config/tc-frv.c:463
+#, c-format
msgid "-mlibrary-pic Compile library for large position indepedent code\n"
msgstr ""
-#: config/tc-frv.c:430
-msgid "-mcpu={fr500|fr400|fr300|frv|simple|tomcat}\n"
+#: config/tc-frv.c:464
+#, c-format
+msgid "-mcpu={fr500|fr550|fr400|fr405|fr450|fr300|frv|simple|tomcat}\n"
msgstr ""
-#: config/tc-frv.c:431
+#: config/tc-frv.c:465
+#, c-format
msgid " Record the cpu type\n"
msgstr ""
-#: config/tc-frv.c:432
+#: config/tc-frv.c:466
+#, c-format
msgid "-mtomcat-stats Print out stats for tomcat workarounds\n"
msgstr ""
-#: config/tc-frv.c:433
+#: config/tc-frv.c:467
+#, c-format
msgid "-mtomcat-debug Debug tomcat workarounds\n"
msgstr ""
-#: config/tc-frv.c:1012
+#: config/tc-frv.c:1165
msgid "VLIW packing used for -mno-pack"
msgstr ""
-#: config/tc-frv.c:1025
+#: config/tc-frv.c:1175
+msgid "Instruction not supported by this architecture"
+msgstr ""
+
+#: config/tc-frv.c:1185
msgid "VLIW packing constraint violation"
msgstr ""
-#: config/tc-frv.c:1540
+#: config/tc-frv.c:1742
#, c-format
msgid "Relocation %s is not safe for %s"
msgstr ""
-#: config/tc-h8300.c:84 config/tc-h8300.c:96 config/tc-h8300.c:109
-#: config/tc-h8300.c:122 config/tc-h8300.c:135 config/tc-h8300.c:149
-#: config/tc-h8300.c:222 config/tc-hppa.c:1423 config/tc-hppa.c:6909
-#: config/tc-hppa.c:6915 config/tc-hppa.c:6921 config/tc-hppa.c:6927
+#: config/tc-h8300.c:82 config/tc-h8300.c:93 config/tc-h8300.c:105
+#: config/tc-h8300.c:117 config/tc-h8300.c:129 config/tc-h8300.c:142
+#: config/tc-h8300.c:213 config/tc-hppa.c:1436 config/tc-hppa.c:6920
+#: config/tc-hppa.c:6926 config/tc-hppa.c:6932 config/tc-hppa.c:6938
#: config/tc-mn10300.c:1218 config/tc-mn10300.c:1223 config/tc-mn10300.c:2722
msgid "could not set architecture and machine"
msgstr ""
-#: config/tc-h8300.c:436 config/tc-h8300.c:444
+#: config/tc-h8300.c:416 config/tc-h8300.c:424
msgid "Reg not valid for H8/300"
msgstr ""
-#: config/tc-h8300.c:529
+#: config/tc-h8300.c:505
msgid "invalid operand size requested"
msgstr ""
-#: config/tc-h8300.c:626 config/tc-h8300.c:629
+#: config/tc-h8300.c:604
msgid "Invalid register list for ldm/stm\n"
msgstr ""
-#: config/tc-h8300.c:632
-msgid "Invalid register list for ldm/stm)\n"
-msgstr ""
-
-#: config/tc-h8300.c:658 config/tc-h8300.c:663 config/tc-h8300.c:670
+#: config/tc-h8300.c:630 config/tc-h8300.c:635 config/tc-h8300.c:642
msgid "mismatch between register and suffix"
msgstr ""
-#: config/tc-h8300.c:697
+#: config/tc-h8300.c:669
msgid "address too high for vector table jmp/jsr"
msgstr ""
-#: config/tc-h8300.c:722 config/tc-h8300.c:832 config/tc-h8300.c:840
+#: config/tc-h8300.c:696 config/tc-h8300.c:808 config/tc-h8300.c:818
msgid "Wrong size pointer register for architecture."
msgstr ""
-#: config/tc-h8300.c:781 config/tc-h8300.c:789 config/tc-h8300.c:818
+#: config/tc-h8300.c:755 config/tc-h8300.c:763 config/tc-h8300.c:792
msgid "expected @(exp, reg16)"
msgstr ""
-#: config/tc-h8300.c:807
+#: config/tc-h8300.c:781
msgid "expected .L, .W or .B for register in indexed addressing mode"
msgstr ""
-#: config/tc-h8300.c:1000
+#: config/tc-h8300.c:975
msgid "expected valid addressing mode for mova: \"@(disp, ea.sz),ERn\""
msgstr ""
-#: config/tc-h8300.c:1018 config/tc-h8300.c:1027
+#: config/tc-h8300.c:992 config/tc-h8300.c:1001
msgid "expected register"
msgstr ""
-#: config/tc-h8300.c:1043
+#: config/tc-h8300.c:1017
msgid "expected closing paren"
msgstr ""
-#: config/tc-h8300.c:1104
+#: config/tc-h8300.c:1076
#, c-format
msgid "can't use high part of register in operand %d"
msgstr ""
-#: config/tc-h8300.c:1268
+#: config/tc-h8300.c:1242
#, c-format
msgid "Opcode `%s' with these operand types not available in %s mode"
msgstr ""
-#: config/tc-h8300.c:1277
+#: config/tc-h8300.c:1251
msgid "mismatch between opcode size and operand size"
msgstr ""
-#: config/tc-h8300.c:1316
+#: config/tc-h8300.c:1287
#, c-format
msgid "operand %s0x%lx out of range."
msgstr ""
-#: config/tc-h8300.c:1415
+#: config/tc-h8300.c:1383
msgid "Can't work out size of operand.\n"
msgstr ""
-#: config/tc-h8300.c:1466
+#: config/tc-h8300.c:1432
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300 mode"
msgstr ""
-#: config/tc-h8300.c:1471
+#: config/tc-h8300.c:1437
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300H mode"
msgstr ""
-#: config/tc-h8300.c:1477
+#: config/tc-h8300.c:1443
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300S mode"
msgstr ""
-#: config/tc-h8300.c:1538 config/tc-h8300.c:1558
+#: config/tc-h8300.c:1504 config/tc-h8300.c:1524
msgid "Need #1 or #2 here"
msgstr ""
-#: config/tc-h8300.c:1553
+#: config/tc-h8300.c:1519
msgid "#4 not valid on H8/300."
msgstr ""
-#: config/tc-h8300.c:1645 config/tc-h8300.c:1727
+#: config/tc-h8300.c:1625 config/tc-h8300.c:1707
#, c-format
msgid "branch operand has odd offset (%lx)\n"
msgstr ""
-#: config/tc-h8300.c:1766
+#: config/tc-h8300.c:1745
msgid "destination operand must be 16 bit register"
msgstr ""
-#: config/tc-h8300.c:1775
+#: config/tc-h8300.c:1754
msgid "source operand must be 8 bit register"
msgstr ""
-#: config/tc-h8300.c:1783
+#: config/tc-h8300.c:1762
msgid "destination operand must be 16bit absolute address"
msgstr ""
-#: config/tc-h8300.c:1790
+#: config/tc-h8300.c:1769
msgid "destination operand must be 8 bit register"
msgstr ""
-#: config/tc-h8300.c:1798
+#: config/tc-h8300.c:1777
msgid "source operand must be 16bit absolute address"
msgstr ""
#. This seems more sane than saying "too many operands". We'll
#. get here only if the trailing trash starts with a comma.
-#: config/tc-h8300.c:1806 config/tc-mmix.c:454 config/tc-mmix.c:466
-#: config/tc-mmix.c:2502 config/tc-mmix.c:2526 config/tc-mmix.c:2802
+#. Types or values of args don't match.
+#: config/tc-h8300.c:1785 config/tc-mmix.c:499 config/tc-mmix.c:511
+#: config/tc-mmix.c:2577 config/tc-mmix.c:2601 config/tc-mmix.c:2878
#: config/tc-or32.c:640 config/tc-or32.c:854
msgid "invalid operands"
msgstr ""
-#: config/tc-h8300.c:1839
+#: config/tc-h8300.c:1816
msgid "operand/size mis-match"
msgstr ""
-#: config/tc-h8300.c:1926 config/tc-h8500.c:1112 config/tc-mips.c:9302
-#: config/tc-sh.c:2363 config/tc-sh64.c:2837 config/tc-w65.c:691
-#: config/tc-z8k.c:1248
+#: config/tc-h8300.c:1912 config/tc-h8500.c:1112 config/tc-mips.c:9289
+#: config/tc-sh64.c:2784 config/tc-sh.c:2655 config/tc-w65.c:691
+#: config/tc-z8k.c:1214
msgid "unknown opcode"
msgstr ""
-#: config/tc-h8300.c:2031 config/tc-h8500.c:1139 config/tc-sh.c:2483
-#: config/tc-z8k.c:1304
+#: config/tc-h8300.c:1945
+msgid "invalid operand in ldm"
+msgstr ""
+
+#: config/tc-h8300.c:1954
+msgid "invalid operand in stm"
+msgstr ""
+
+#: config/tc-h8300.c:2037 config/tc-h8500.c:1139 config/tc-sh.c:2780
+#: config/tc-z8k.c:1269
+#, c-format
msgid "call to tc_crawl_symbol_chain \n"
msgstr ""
-#: config/tc-h8300.c:2047 config/tc-h8500.c:1153 config/tc-sh.c:2490
-#: config/tc-z8k.c:1320
+#: config/tc-h8300.c:2051 config/tc-h8500.c:1153 config/tc-sh.c:2786
+#: config/tc-z8k.c:1283
+#, c-format
msgid "call to tc_headers_hook \n"
msgstr ""
-#: config/tc-h8300.c:2140
+#: config/tc-h8300.c:2138
+#, c-format
msgid "call to tc_aout_fix_to_chars \n"
msgstr ""
-#: config/tc-h8300.c:2154
+#: config/tc-h8300.c:2152
+#, c-format
msgid "call to md_convert_frag \n"
msgstr ""
-#: config/tc-h8300.c:2216
+#: config/tc-h8300.c:2206
+#, c-format
msgid "call tomd_estimate_size_before_relax \n"
msgstr ""
-#: config/tc-h8300.c:2337 config/tc-mcore.c:2355 config/tc-pj.c:581
-#: config/tc-sh.c:3956
+#: config/tc-h8300.c:2317 config/tc-mcore.c:2355 config/tc-pj.c:581
+#: config/tc-sh.c:4240
#, c-format
msgid "Cannot represent relocation type %s"
msgstr ""
@@ -3703,7 +3888,7 @@ msgstr ""
msgid "@Rn needs word register"
msgstr ""
-#: config/tc-h8500.c:838 config/tc-sh.c:1827
+#: config/tc-h8500.c:838 config/tc-sh.c:2013
#, c-format
msgid "unhandled %d\n"
msgstr ""
@@ -3713,597 +3898,601 @@ msgstr ""
msgid "operand must be absolute in range %d..%d"
msgstr ""
-#: config/tc-h8500.c:963 config/tc-sh.c:2036
+#: config/tc-h8500.c:963 config/tc-sh.c:2216
#, c-format
msgid "failed for %d\n"
msgstr ""
-#: config/tc-h8500.c:1128 config/tc-sh.c:2138 config/tc-sh.c:2412
+#: config/tc-h8500.c:1128 config/tc-sh.c:2316 config/tc-sh.c:2711
#: config/tc-w65.c:710
msgid "invalid operands for opcode"
msgstr ""
-#. Simple range checking for FIELD againt HIGH and LOW bounds.
+#. Simple range checking for FIELD against HIGH and LOW bounds.
#. IGNORE is used to suppress the error message.
-#: config/tc-hppa.c:1156 config/tc-hppa.c:1170
+#. Variant of CHECK_FIELD for use in md_apply_fix3 and other places where
+#. the current file and line number are not valid.
+#: config/tc-hppa.c:1169 config/tc-hppa.c:1183
#, c-format
msgid "Field out of range [%d..%d] (%d)."
msgstr ""
-#. Simple alignment checking for FIELD againt ALIGN (a power of two).
+#. Simple alignment checking for FIELD against ALIGN (a power of two).
#. IGNORE is used to suppress the error message.
-#: config/tc-hppa.c:1184
+#: config/tc-hppa.c:1197
#, c-format
msgid "Field not properly aligned [%d] (%d)."
msgstr ""
-#: config/tc-hppa.c:1213
+#: config/tc-hppa.c:1226
msgid "Missing .exit\n"
msgstr ""
-#: config/tc-hppa.c:1216
+#: config/tc-hppa.c:1229
msgid "Missing .procend\n"
msgstr ""
-#: config/tc-hppa.c:1396
+#: config/tc-hppa.c:1409
#, c-format
msgid "Invalid field selector. Assuming F%%."
msgstr ""
-#: config/tc-hppa.c:1429
+#: config/tc-hppa.c:1442
msgid "-R option not supported on this target."
msgstr ""
-#: config/tc-hppa.c:1445 config/tc-sparc.c:809 config/tc-sparc.c:845
+#: config/tc-hppa.c:1458 config/tc-sparc.c:814 config/tc-sparc.c:850
#, c-format
msgid "Internal error: can't hash `%s': %s\n"
msgstr ""
-#: config/tc-hppa.c:1453 config/tc-i860.c:201
+#: config/tc-hppa.c:1466 config/tc-i860.c:238
#, c-format
msgid "internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-hppa.c:1524 config/tc-hppa.c:7048 config/tc-hppa.c:7105
+#: config/tc-hppa.c:1537 config/tc-hppa.c:7059 config/tc-hppa.c:7116
msgid "Missing function name for .PROC (corrupted label chain)"
msgstr ""
-#: config/tc-hppa.c:1527 config/tc-hppa.c:7108
+#: config/tc-hppa.c:1540 config/tc-hppa.c:7119
msgid "Missing function name for .PROC"
msgstr ""
-#: config/tc-hppa.c:1634 config/tc-hppa.c:4905
+#: config/tc-hppa.c:1647 config/tc-hppa.c:4916
msgid "could not update architecture and machine"
msgstr ""
-#: config/tc-hppa.c:1842
+#: config/tc-hppa.c:1855
msgid "Invalid Indexed Load Completer."
msgstr ""
-#: config/tc-hppa.c:1847
+#: config/tc-hppa.c:1860
msgid "Invalid Indexed Load Completer Syntax."
msgstr ""
-#: config/tc-hppa.c:1884
+#: config/tc-hppa.c:1897
msgid "Invalid Short Load/Store Completer."
msgstr ""
-#: config/tc-hppa.c:1944 config/tc-hppa.c:1949
+#: config/tc-hppa.c:1957 config/tc-hppa.c:1962
msgid "Invalid Store Bytes Short Completer"
msgstr ""
-#: config/tc-hppa.c:2260 config/tc-hppa.c:2266
+#: config/tc-hppa.c:2273 config/tc-hppa.c:2279
msgid "Invalid left/right combination completer"
msgstr ""
-#: config/tc-hppa.c:2315 config/tc-hppa.c:2322
+#: config/tc-hppa.c:2328 config/tc-hppa.c:2335
msgid "Invalid permutation completer"
msgstr ""
-#: config/tc-hppa.c:2423
+#: config/tc-hppa.c:2435
#, c-format
msgid "Invalid Add Condition: %s"
msgstr ""
-#: config/tc-hppa.c:2434 config/tc-hppa.c:2444
+#: config/tc-hppa.c:2446 config/tc-hppa.c:2456
msgid "Invalid Add and Branch Condition"
msgstr ""
-#: config/tc-hppa.c:2465 config/tc-hppa.c:2603
+#: config/tc-hppa.c:2477 config/tc-hppa.c:2614
msgid "Invalid Compare/Subtract Condition"
msgstr ""
-#: config/tc-hppa.c:2505
+#: config/tc-hppa.c:2517
#, c-format
msgid "Invalid Bit Branch Condition: %c"
msgstr ""
-#: config/tc-hppa.c:2591
+#: config/tc-hppa.c:2602
#, c-format
msgid "Invalid Compare/Subtract Condition: %s"
msgstr ""
-#: config/tc-hppa.c:2618
+#: config/tc-hppa.c:2629
msgid "Invalid Compare and Branch Condition"
msgstr ""
-#: config/tc-hppa.c:2714
+#: config/tc-hppa.c:2725
msgid "Invalid Logical Instruction Condition."
msgstr ""
-#: config/tc-hppa.c:2769
+#: config/tc-hppa.c:2780
msgid "Invalid Shift/Extract/Deposit Condition."
msgstr ""
-#: config/tc-hppa.c:2881
+#: config/tc-hppa.c:2892
msgid "Invalid Unit Instruction Condition."
msgstr ""
-#: config/tc-hppa.c:3258 config/tc-hppa.c:3290 config/tc-hppa.c:3321
-#: config/tc-hppa.c:3351
+#: config/tc-hppa.c:3269 config/tc-hppa.c:3301 config/tc-hppa.c:3332
+#: config/tc-hppa.c:3362
msgid "Branch to unaligned address"
msgstr ""
-#: config/tc-hppa.c:3529
+#: config/tc-hppa.c:3540
msgid "Invalid SFU identifier"
msgstr ""
-#: config/tc-hppa.c:3579
+#: config/tc-hppa.c:3590
msgid "Invalid COPR identifier"
msgstr ""
-#: config/tc-hppa.c:3708
+#: config/tc-hppa.c:3719
msgid "Invalid Floating Point Operand Format."
msgstr ""
-#: config/tc-hppa.c:3825 config/tc-hppa.c:3845 config/tc-hppa.c:3865
-#: config/tc-hppa.c:3885 config/tc-hppa.c:3905
+#: config/tc-hppa.c:3836 config/tc-hppa.c:3856 config/tc-hppa.c:3876
+#: config/tc-hppa.c:3896 config/tc-hppa.c:3916
msgid "Invalid register for single precision fmpyadd or fmpysub"
msgstr ""
-#: config/tc-hppa.c:3962
+#: config/tc-hppa.c:3973
#, c-format
msgid "Invalid operands %s"
msgstr ""
-#: config/tc-hppa.c:4080
+#: config/tc-hppa.c:4091
msgid "Cannot handle fixup"
msgstr ""
-#: config/tc-hppa.c:4381
+#: config/tc-hppa.c:4392
+#, c-format
msgid " -Q ignored\n"
msgstr ""
-#: config/tc-hppa.c:4385
+#: config/tc-hppa.c:4396
+#, c-format
msgid " -c print a warning if a comment is found\n"
msgstr ""
-#: config/tc-hppa.c:4456
+#: config/tc-hppa.c:4467
#, c-format
msgid "no hppa_fixup entry for fixup type 0x%x"
msgstr ""
-#: config/tc-hppa.c:4627
+#: config/tc-hppa.c:4638
msgid "Unknown relocation encountered in md_apply_fix."
msgstr ""
-#: config/tc-hppa.c:4769 config/tc-hppa.c:4794
+#: config/tc-hppa.c:4780 config/tc-hppa.c:4805
#, c-format
msgid "Undefined register: '%s'."
msgstr ""
-#: config/tc-hppa.c:4828
+#: config/tc-hppa.c:4839
#, c-format
msgid "Non-absolute symbol: '%s'."
msgstr ""
-#: config/tc-hppa.c:4843
+#: config/tc-hppa.c:4854
#, c-format
msgid "Undefined absolute constant: '%s'."
msgstr ""
-#: config/tc-hppa.c:4944
+#: config/tc-hppa.c:4955
#, c-format
msgid "Invalid FP Compare Condition: %s"
msgstr ""
-#: config/tc-hppa.c:5000
+#: config/tc-hppa.c:5011
#, c-format
msgid "Invalid FTEST completer: %s"
msgstr ""
-#: config/tc-hppa.c:5067 config/tc-hppa.c:5105
+#: config/tc-hppa.c:5078 config/tc-hppa.c:5116
#, c-format
msgid "Invalid FP Operand Format: %3s"
msgstr ""
-#: config/tc-hppa.c:5184
+#: config/tc-hppa.c:5195
msgid "Bad segment in expression."
msgstr ""
-#: config/tc-hppa.c:5243
+#: config/tc-hppa.c:5254
msgid "Bad segment (should be absolute)."
msgstr ""
-#: config/tc-hppa.c:5286
+#: config/tc-hppa.c:5297
#, c-format
msgid "Invalid argument location: %s\n"
msgstr ""
-#: config/tc-hppa.c:5317
+#: config/tc-hppa.c:5328
#, c-format
msgid "Invalid argument description: %d"
msgstr ""
-#: config/tc-hppa.c:5340
+#: config/tc-hppa.c:5351
#, c-format
msgid "Invalid Nullification: (%c)"
msgstr ""
-#: config/tc-hppa.c:6060
+#: config/tc-hppa.c:6071
#, c-format
msgid "Invalid .CALL argument: %s"
msgstr ""
-#: config/tc-hppa.c:6182
+#: config/tc-hppa.c:6193
msgid ".callinfo is not within a procedure definition"
msgstr ""
-#: config/tc-hppa.c:6202
+#: config/tc-hppa.c:6213
#, c-format
msgid "FRAME parameter must be a multiple of 8: %d\n"
msgstr ""
-#: config/tc-hppa.c:6221
+#: config/tc-hppa.c:6232
msgid "Value for ENTRY_GR must be in the range 3..18\n"
msgstr ""
-#: config/tc-hppa.c:6233
+#: config/tc-hppa.c:6244
msgid "Value for ENTRY_FR must be in the range 12..21\n"
msgstr ""
-#: config/tc-hppa.c:6243
+#: config/tc-hppa.c:6254
msgid "Value for ENTRY_SR must be 3\n"
msgstr ""
-#: config/tc-hppa.c:6299
+#: config/tc-hppa.c:6310
#, c-format
msgid "Invalid .CALLINFO argument: %s"
msgstr ""
-#: config/tc-hppa.c:6410
+#: config/tc-hppa.c:6421
msgid "The .ENTER pseudo-op is not supported"
msgstr ""
-#: config/tc-hppa.c:6426
+#: config/tc-hppa.c:6437
msgid "Misplaced .entry. Ignored."
msgstr ""
-#: config/tc-hppa.c:6430
+#: config/tc-hppa.c:6441
msgid "Missing .callinfo."
msgstr ""
-#: config/tc-hppa.c:6496
+#: config/tc-hppa.c:6507
msgid ".REG expression must be a register"
msgstr ""
-#: config/tc-hppa.c:6512
+#: config/tc-hppa.c:6523
msgid "bad or irreducible absolute expression; zero assumed"
msgstr ""
-#: config/tc-hppa.c:6523
+#: config/tc-hppa.c:6534
msgid ".REG must use a label"
msgstr ""
-#: config/tc-hppa.c:6525
+#: config/tc-hppa.c:6536
msgid ".EQU must use a label"
msgstr ""
-#: config/tc-hppa.c:6578
+#: config/tc-hppa.c:6589
msgid ".EXIT must appear within a procedure"
msgstr ""
-#: config/tc-hppa.c:6582
+#: config/tc-hppa.c:6593
msgid "Missing .callinfo"
msgstr ""
-#: config/tc-hppa.c:6586
+#: config/tc-hppa.c:6597
msgid "No .ENTRY for this .EXIT"
msgstr ""
-#: config/tc-hppa.c:6613
+#: config/tc-hppa.c:6624
#, c-format
msgid "Cannot define export symbol: %s\n"
msgstr ""
-#: config/tc-hppa.c:6671
+#: config/tc-hppa.c:6682
#, c-format
msgid "Using ENTRY rather than CODE in export directive for %s"
msgstr ""
-#: config/tc-hppa.c:6788
+#: config/tc-hppa.c:6799
#, c-format
msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s"
msgstr ""
-#: config/tc-hppa.c:6870
+#: config/tc-hppa.c:6881
msgid "Missing label name on .LABEL"
msgstr ""
-#: config/tc-hppa.c:6875
+#: config/tc-hppa.c:6886
msgid "extra .LABEL arguments ignored."
msgstr ""
-#: config/tc-hppa.c:6892
+#: config/tc-hppa.c:6903
msgid "The .LEAVE pseudo-op is not supported"
msgstr ""
-#: config/tc-hppa.c:6931
+#: config/tc-hppa.c:6942
msgid "Unrecognized .LEVEL argument\n"
msgstr ""
-#: config/tc-hppa.c:6967
+#: config/tc-hppa.c:6978
#, c-format
msgid "Cannot define static symbol: %s\n"
msgstr ""
-#: config/tc-hppa.c:7002
+#: config/tc-hppa.c:7013
msgid "Nested procedures"
msgstr ""
-#: config/tc-hppa.c:7012
+#: config/tc-hppa.c:7023
msgid "Cannot allocate unwind descriptor\n"
msgstr ""
-#: config/tc-hppa.c:7112
+#: config/tc-hppa.c:7123
msgid "misplaced .procend"
msgstr ""
-#: config/tc-hppa.c:7115
+#: config/tc-hppa.c:7126
msgid "Missing .callinfo for this procedure"
msgstr ""
-#: config/tc-hppa.c:7118
+#: config/tc-hppa.c:7129
msgid "Missing .EXIT for a .ENTRY"
msgstr ""
-#: config/tc-hppa.c:7156
+#: config/tc-hppa.c:7167
msgid "Not in a space.\n"
msgstr ""
-#: config/tc-hppa.c:7159
+#: config/tc-hppa.c:7170
msgid "Not in a subspace.\n"
msgstr ""
-#: config/tc-hppa.c:7250
+#: config/tc-hppa.c:7261
msgid "Invalid .SPACE argument"
msgstr ""
-#: config/tc-hppa.c:7297
+#: config/tc-hppa.c:7308
msgid "Can't change spaces within a procedure definition. Ignored"
msgstr ""
-#: config/tc-hppa.c:7426
+#: config/tc-hppa.c:7437
#, c-format
msgid "Undefined space: '%s' Assuming space number = 0."
msgstr ""
-#: config/tc-hppa.c:7450
+#: config/tc-hppa.c:7461
msgid "Must be in a space before changing or declaring subspaces.\n"
msgstr ""
-#: config/tc-hppa.c:7454
+#: config/tc-hppa.c:7465
msgid "Can't change subspaces within a procedure definition. Ignored"
msgstr ""
-#: config/tc-hppa.c:7489
+#: config/tc-hppa.c:7500
msgid "Parameters of an existing subspace can't be modified"
msgstr ""
-#: config/tc-hppa.c:7540
+#: config/tc-hppa.c:7551
msgid "Alignment must be a power of 2"
msgstr ""
-#: config/tc-hppa.c:7582
+#: config/tc-hppa.c:7593
msgid "FIRST not supported as a .SUBSPACE argument"
msgstr ""
-#: config/tc-hppa.c:7584
+#: config/tc-hppa.c:7595
msgid "Invalid .SUBSPACE argument"
msgstr ""
-#: config/tc-hppa.c:7764
+#: config/tc-hppa.c:7775
#, c-format
msgid "Internal error: Unable to find containing space for %s."
msgstr ""
-#: config/tc-hppa.c:7803
+#: config/tc-hppa.c:7814
#, c-format
msgid "Out of memory: could not allocate new space chain entry: %s\n"
msgstr ""
-#: config/tc-hppa.c:7889
+#: config/tc-hppa.c:7900
#, c-format
msgid "Out of memory: could not allocate new subspace chain entry: %s\n"
msgstr ""
-#: config/tc-hppa.c:8622
+#: config/tc-hppa.c:8633
#, c-format
msgid "Symbol '%s' could not be created."
msgstr ""
-#: config/tc-hppa.c:8626
+#: config/tc-hppa.c:8637
msgid "No memory for symbol name."
msgstr ""
-#: config/tc-i386.c:689
+#: config/tc-i386.c:684
#, c-format
msgid "%s shortened to %s"
msgstr ""
-#: config/tc-i386.c:745
+#: config/tc-i386.c:740
msgid "same type of prefix used twice"
msgstr ""
-#: config/tc-i386.c:763
+#: config/tc-i386.c:758
msgid "64bit mode not supported on this CPU."
msgstr ""
-#: config/tc-i386.c:767
+#: config/tc-i386.c:762
msgid "32bit mode not supported on this CPU."
msgstr ""
-#: config/tc-i386.c:800
+#: config/tc-i386.c:795
msgid "bad argument to syntax directive."
msgstr ""
-#: config/tc-i386.c:844
+#: config/tc-i386.c:832
#, c-format
msgid "no such architecture: `%s'"
msgstr ""
-#: config/tc-i386.c:849
+#: config/tc-i386.c:837
msgid "missing cpu architecture"
msgstr ""
-#: config/tc-i386.c:863
+#: config/tc-i386.c:851
#, c-format
msgid "no such architecture modifier: `%s'"
msgstr ""
-#: config/tc-i386.c:880 config/tc-i386.c:5022
+#: config/tc-i386.c:867 config/tc-i386.c:4961
msgid "Unknown architecture"
msgstr ""
-#: config/tc-i386.c:915 config/tc-i386.c:938 config/tc-m68k.c:3816
+#: config/tc-i386.c:901 config/tc-i386.c:924 config/tc-m68k.c:3980
#, c-format
msgid "Internal Error: Can't hash %s: %s"
msgstr ""
-#: config/tc-i386.c:1192
+#: config/tc-i386.c:1177
msgid "There are no unsigned pc-relative relocations"
msgstr ""
-#: config/tc-i386.c:1199 config/tc-i386.c:5234
+#: config/tc-i386.c:1184 config/tc-i386.c:5168
#, c-format
msgid "can not do %d byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:1216
+#: config/tc-i386.c:1201
#, c-format
msgid "can not do %s %d byte relocation"
msgstr ""
-#: config/tc-i386.c:1428
+#: config/tc-i386.c:1391
#, c-format
msgid "can't use register '%%%s' as operand %d in '%s'."
msgstr ""
#. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
-#: config/tc-i386.c:1457
+#: config/tc-i386.c:1420
#, c-format
msgid "translating to `%sp'"
msgstr ""
-#: config/tc-i386.c:1502
+#: config/tc-i386.c:1465
#, c-format
msgid "can't encode register '%%%s' in an instruction requiring REX prefix.\n"
msgstr ""
-#: config/tc-i386.c:1541 config/tc-i386.c:1636
+#: config/tc-i386.c:1504 config/tc-i386.c:1599
#, c-format
msgid "no such instruction: `%s'"
msgstr ""
-#: config/tc-i386.c:1551 config/tc-i386.c:1668
+#: config/tc-i386.c:1514 config/tc-i386.c:1631
#, c-format
msgid "invalid character %s in mnemonic"
msgstr ""
-#: config/tc-i386.c:1558
+#: config/tc-i386.c:1521
msgid "expecting prefix; got nothing"
msgstr ""
-#: config/tc-i386.c:1560
+#: config/tc-i386.c:1523
msgid "expecting mnemonic; got nothing"
msgstr ""
-#: config/tc-i386.c:1579
+#: config/tc-i386.c:1542
#, c-format
msgid "redundant %s prefix"
msgstr ""
-#: config/tc-i386.c:1677
+#: config/tc-i386.c:1640
#, c-format
msgid "`%s' is not supported on `%s'"
msgstr ""
-#: config/tc-i386.c:1682
+#: config/tc-i386.c:1645
msgid "use .code16 to ensure correct addressing mode"
msgstr ""
-#: config/tc-i386.c:1689
+#: config/tc-i386.c:1652
#, c-format
msgid "expecting string instruction after `%s'"
msgstr ""
-#: config/tc-i386.c:1717
+#: config/tc-i386.c:1680
#, c-format
msgid "invalid character %s before operand %d"
msgstr ""
-#: config/tc-i386.c:1731
+#: config/tc-i386.c:1694
#, c-format
msgid "unbalanced parenthesis in operand %d."
msgstr ""
-#: config/tc-i386.c:1734
+#: config/tc-i386.c:1697
#, c-format
msgid "unbalanced brackets in operand %d."
msgstr ""
-#: config/tc-i386.c:1743
+#: config/tc-i386.c:1706
#, c-format
msgid "invalid character %s in operand %d"
msgstr ""
-#: config/tc-i386.c:1770
+#: config/tc-i386.c:1733
#, c-format
msgid "spurious operands; (%d operands/instruction max)"
msgstr ""
-#: config/tc-i386.c:1793
+#: config/tc-i386.c:1756
msgid "expecting operand after ','; got nothing"
msgstr ""
-#: config/tc-i386.c:1798
+#: config/tc-i386.c:1761
msgid "expecting operand before ','; got nothing"
msgstr ""
#. We found no match.
-#: config/tc-i386.c:2140
+#: config/tc-i386.c:2103
#, c-format
msgid "suffix or operands invalid for `%s'"
msgstr ""
-#: config/tc-i386.c:2151
+#: config/tc-i386.c:2114
#, c-format
msgid "indirect %s without `*'"
msgstr ""
#. Warn them that a data or address size prefix doesn't
#. affect assembly of the next line of code.
-#: config/tc-i386.c:2159
+#: config/tc-i386.c:2122
#, c-format
msgid "stand-alone `%s' prefix"
msgstr ""
-#: config/tc-i386.c:2188 config/tc-i386.c:2203
+#: config/tc-i386.c:2151 config/tc-i386.c:2166
#, c-format
msgid "`%s' operand %d must use `%%es' segment"
msgstr ""
-#: config/tc-i386.c:2283
+#: config/tc-i386.c:2246
msgid ""
"no instruction mnemonic suffix given and no register operands; can't size "
"instruction"
@@ -4311,192 +4500,188 @@ msgstr ""
#. Prohibit these changes in the 64bit mode, since the
#. lowering is more complicated.
-#: config/tc-i386.c:2367 config/tc-i386.c:2426 config/tc-i386.c:2443
-#: config/tc-i386.c:2475 config/tc-i386.c:2508
+#: config/tc-i386.c:2330 config/tc-i386.c:2389 config/tc-i386.c:2406
+#: config/tc-i386.c:2438 config/tc-i386.c:2471
#, c-format
msgid "Incorrect register `%%%s' used with `%c' suffix"
msgstr ""
-#: config/tc-i386.c:2375 config/tc-i386.c:2433 config/tc-i386.c:2515
+#: config/tc-i386.c:2338 config/tc-i386.c:2396 config/tc-i386.c:2478
#, c-format
msgid "using `%%%s' instead of `%%%s' due to `%c' suffix"
msgstr ""
-#: config/tc-i386.c:2390 config/tc-i386.c:2411 config/tc-i386.c:2462
-#: config/tc-i386.c:2493
+#: config/tc-i386.c:2353 config/tc-i386.c:2374 config/tc-i386.c:2425
+#: config/tc-i386.c:2456
#, c-format
msgid "`%%%s' not allowed with `%s%c'"
msgstr ""
-#: config/tc-i386.c:2556
+#: config/tc-i386.c:2519
msgid "no instruction mnemonic suffix given; can't determine immediate size"
msgstr ""
-#: config/tc-i386.c:2589
+#: config/tc-i386.c:2552
#, c-format
msgid ""
"no instruction mnemonic suffix given; can't determine immediate size %x %c"
msgstr ""
#. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:2638
+#: config/tc-i386.c:2601
#, c-format
msgid "translating to `%s %%%s,%%%s'"
msgstr ""
#. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:2645
+#: config/tc-i386.c:2608
#, c-format
msgid "translating to `%s %%%s'"
msgstr ""
-#: config/tc-i386.c:2663
+#: config/tc-i386.c:2626
#, c-format
msgid "you can't `pop %%cs'"
msgstr ""
#. lea
-#: config/tc-i386.c:2682
+#: config/tc-i386.c:2645
msgid "segment override on `lea' is ineffectual"
msgstr ""
-#: config/tc-i386.c:2991 config/tc-i386.c:3085 config/tc-i386.c:3130
+#: config/tc-i386.c:2954 config/tc-i386.c:3048 config/tc-i386.c:3093
msgid "skipping prefixes on this instruction"
msgstr ""
-#: config/tc-i386.c:3150
+#: config/tc-i386.c:3113
msgid "16-bit jump out of range"
msgstr ""
-#: config/tc-i386.c:3159
+#: config/tc-i386.c:3122
#, c-format
msgid "can't handle non absolute segment in `%s'"
msgstr ""
-#: config/tc-i386.c:3601
+#: config/tc-i386.c:3580
#, c-format
msgid "@%s reloc is not supported in %s bit mode"
msgstr ""
-#: config/tc-i386.c:3677
+#: config/tc-i386.c:3656
msgid "only 1 or 2 immediate operands are allowed"
msgstr ""
-#: config/tc-i386.c:3700 config/tc-i386.c:3892
+#: config/tc-i386.c:3679 config/tc-i386.c:3861
#, c-format
msgid "junk `%s' after expression"
msgstr ""
#. Missing or bad expr becomes absolute 0.
-#: config/tc-i386.c:3711
+#: config/tc-i386.c:3690
#, c-format
msgid "missing or invalid immediate expression `%s' taken as 0"
msgstr ""
-#: config/tc-i386.c:3743 config/tc-i386.c:3958
+#: config/tc-i386.c:3715 config/tc-i386.c:3919
#, c-format
msgid "unimplemented segment %s in operand"
msgstr ""
-#: config/tc-i386.c:3745 config/tc-i386.c:3960
-#, c-format
-msgid "unimplemented segment type %d in operand"
-msgstr ""
-
-#: config/tc-i386.c:3789 config/tc-i386.c:6011
+#: config/tc-i386.c:3758 config/tc-i386.c:5879
#, c-format
msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
msgstr ""
-#: config/tc-i386.c:3796
+#: config/tc-i386.c:3765
#, c-format
msgid "scale factor of %d without an index register"
msgstr ""
-#: config/tc-i386.c:3912
+#: config/tc-i386.c:3880
#, c-format
msgid "bad expression used with @%s"
msgstr ""
#. Missing or bad expr becomes absolute 0.
-#: config/tc-i386.c:3934
+#: config/tc-i386.c:3901
#, c-format
msgid "missing or invalid displacement expression `%s' taken as 0"
msgstr ""
-#: config/tc-i386.c:4058
+#: config/tc-i386.c:4016
#, c-format
msgid "`%s' is not a valid base/index expression"
msgstr ""
-#: config/tc-i386.c:4062
+#: config/tc-i386.c:4020
#, c-format
msgid "`%s' is not a valid %s bit base/index expression"
msgstr ""
-#: config/tc-i386.c:4137
+#: config/tc-i386.c:4095
#, c-format
msgid "bad memory operand `%s'"
msgstr ""
-#: config/tc-i386.c:4152
+#: config/tc-i386.c:4110
#, c-format
msgid "junk `%s' after register"
msgstr ""
-#: config/tc-i386.c:4161 config/tc-i386.c:4276 config/tc-i386.c:4314
+#: config/tc-i386.c:4119 config/tc-i386.c:4234 config/tc-i386.c:4272
#, c-format
msgid "bad register name `%s'"
msgstr ""
-#: config/tc-i386.c:4169
+#: config/tc-i386.c:4127
msgid "immediate operand illegal with absolute jump"
msgstr ""
-#: config/tc-i386.c:4191
+#: config/tc-i386.c:4149
#, c-format
msgid "too many memory references for `%s'"
msgstr ""
-#: config/tc-i386.c:4269
+#: config/tc-i386.c:4227
#, c-format
msgid "expecting `,' or `)' after index register in `%s'"
msgstr ""
-#: config/tc-i386.c:4293
+#: config/tc-i386.c:4251
#, c-format
msgid "expecting `)' after scale factor in `%s'"
msgstr ""
-#: config/tc-i386.c:4300
+#: config/tc-i386.c:4258
#, c-format
msgid "expecting index register or scale factor after `,'; got '%c'"
msgstr ""
-#: config/tc-i386.c:4307
+#: config/tc-i386.c:4265
#, c-format
msgid "expecting `,' or `)' after base register in `%s'"
msgstr ""
#. It's not a memory operand; argh!
-#: config/tc-i386.c:4348
+#: config/tc-i386.c:4306
#, c-format
msgid "invalid char %s beginning operand %d `%s'"
msgstr ""
-#: config/tc-i386.c:4531
+#: config/tc-i386.c:4481
msgid "long jump required"
msgstr ""
-#: config/tc-i386.c:4805
+#: config/tc-i386.c:4745
msgid "Bad call to md_atof ()"
msgstr ""
-#: config/tc-i386.c:4973
+#: config/tc-i386.c:4913
msgid "No compiled in support for x86_64"
msgstr ""
-#: config/tc-i386.c:4994
+#: config/tc-i386.c:4934
+#, c-format
msgid ""
" -Q ignored\n"
" -V print assembler version number\n"
@@ -4506,162 +4691,188 @@ msgid ""
" -s ignored\n"
msgstr ""
-#: config/tc-i386.c:5002
+#: config/tc-i386.c:4942
+#, c-format
msgid ""
" -n Do not optimize code alignment\n"
" -q quieten some warnings\n"
msgstr ""
-#: config/tc-i386.c:5104 config/tc-s390.c:1841
+#: config/tc-i386.c:5042 config/tc-s390.c:1847
msgid "GOT already in symbol table"
msgstr ""
-#: config/tc-i386.c:5249
+#: config/tc-i386.c:5183
#, c-format
msgid "can not do %d byte relocation"
msgstr ""
-#: config/tc-i386.c:5317 config/tc-s390.c:2285
+#: config/tc-i386.c:5251 config/tc-s390.c:2291
#, c-format
msgid "cannot represent relocation type %s"
msgstr ""
-#: config/tc-i386.c:5613
+#: config/tc-i386.c:5480
#, c-format
msgid "too many memory references for '%s'"
msgstr ""
-#: config/tc-i386.c:5776
+#: config/tc-i386.c:5644
#, c-format
msgid "Unknown operand modifier `%s'\n"
msgstr ""
-#: config/tc-i386.c:5983
+#: config/tc-i386.c:5851
#, c-format
msgid "`%s' is not a valid segment register"
msgstr ""
-#: config/tc-i386.c:5993 config/tc-i386.c:6114
+#: config/tc-i386.c:5861 config/tc-i386.c:5982
msgid "Register scaling only allowed in memory operands."
msgstr ""
-#: config/tc-i386.c:6024
+#: config/tc-i386.c:5892
msgid "Too many register references in memory operand.\n"
msgstr ""
-#: config/tc-i386.c:6093
+#: config/tc-i386.c:5961
#, c-format
msgid "Syntax error. Expecting a constant. Got `%s'.\n"
msgstr ""
-#: config/tc-i386.c:6163
+#: config/tc-i386.c:6031
#, c-format
msgid "Unrecognized token '%s'"
msgstr ""
-#: config/tc-i386.c:6180
+#: config/tc-i386.c:6048
#, c-format
msgid "Unexpected token `%s'\n"
msgstr ""
-#: config/tc-i386.c:6324
+#: config/tc-i386.c:6192
#, c-format
msgid "Unrecognized token `%s'\n"
msgstr ""
-#: config/tc-i860.c:165 config/tc-i860.c:169
+#: config/tc-i860.c:124
+msgid "Directive .dual available only with -mintel-syntax option"
+msgstr ""
+
+#: config/tc-i860.c:134
+msgid "Directive .enddual available only with -mintel-syntax option"
+msgstr ""
+
+#: config/tc-i860.c:147
+msgid "Directive .atmp available only with -mintel-syntax option"
+msgstr ""
+
+#: config/tc-i860.c:169 config/tc-i860.c:173
msgid "Unknown temporary pseudo register"
msgstr ""
-#: config/tc-i860.c:192 config/tc-mips.c:1105
+#: config/tc-i860.c:229 config/tc-mips.c:1149
#, c-format
msgid "internal error: can't hash `%s': %s\n"
msgstr ""
-#: config/tc-i860.c:212
+#: config/tc-i860.c:249
msgid "Defective assembler. No assembly attempted."
msgstr ""
-#: config/tc-i860.c:362
+#: config/tc-i860.c:402
#, c-format
msgid "Expanded opcode after delayed branch: `%s'"
msgstr ""
-#: config/tc-i860.c:366
+#: config/tc-i860.c:406
#, c-format
msgid "Expanded opcode in dual mode: `%s'"
msgstr ""
-#: config/tc-i860.c:370
+#: config/tc-i860.c:410
#, c-format
msgid "An instruction was expanded (%s)"
msgstr ""
-#: config/tc-i860.c:643
+#: config/tc-i860.c:676
msgid "Pipelined instruction: fsrc1 = fdest"
msgstr ""
-#: config/tc-i860.c:844 config/tc-i860.c:851 config/tc-i860.c:858
+#: config/tc-i860.c:879 config/tc-i860.c:886 config/tc-i860.c:893
msgid "Assembler does not yet support PIC"
msgstr ""
-#: config/tc-i860.c:919
+#: config/tc-i860.c:957
#, c-format
msgid "Illegal operands for %s"
msgstr ""
-#: config/tc-i860.c:947 config/tc-sparc.c:2834
+#: config/tc-i860.c:974
+#, c-format
+msgid "'d.%s' must be 8-byte aligned"
+msgstr ""
+
+#: config/tc-i860.c:982
+#, c-format
+msgid "Prefix 'd.' invalid for instruction `%s'"
+msgstr ""
+
+#: config/tc-i860.c:1005 config/tc-sparc.c:2845
msgid "bad segment"
msgstr ""
-#: config/tc-i860.c:1037
+#: config/tc-i860.c:1088
msgid "i860_estimate_size_before_relax\n"
msgstr ""
-#: config/tc-i860.c:1134
+#: config/tc-i860.c:1187
+#, c-format
msgid ""
" -EL\t\t\t generate code for little endian mode (default)\n"
" -EB\t\t\t generate code for big endian mode\n"
" -mwarn-expand\t\t warn if pseudo operations are expanded\n"
" -mxp\t\t\t enable i860XP support (disabled by default)\n"
+" -mintel-syntax\t enable Intel syntax (default to AT&T/SVR4)\n"
msgstr ""
#. SVR4 compatibility flags.
-#: config/tc-i860.c:1141
+#: config/tc-i860.c:1195
+#, c-format
msgid ""
" -V\t\t\t print assembler version number\n"
" -Qy, -Qn\t\t ignored\n"
msgstr ""
-#: config/tc-i860.c:1210
+#: config/tc-i860.c:1258
msgid "This immediate requires 0 MOD 2 alignment"
msgstr ""
-#: config/tc-i860.c:1213
+#: config/tc-i860.c:1261
msgid "This immediate requires 0 MOD 4 alignment"
msgstr ""
-#: config/tc-i860.c:1216
+#: config/tc-i860.c:1264
msgid "This immediate requires 0 MOD 8 alignment"
msgstr ""
-#: config/tc-i860.c:1219
+#: config/tc-i860.c:1267
msgid "This immediate requires 0 MOD 16 alignment"
msgstr ""
-#: config/tc-i860.c:1317
+#: config/tc-i860.c:1362
msgid "5-bit immediate too large"
msgstr ""
-#: config/tc-i860.c:1320
+#: config/tc-i860.c:1365
msgid "5-bit field must be absolute"
msgstr ""
-#: config/tc-i860.c:1365 config/tc-i860.c:1388
+#: config/tc-i860.c:1410 config/tc-i860.c:1433
msgid "A branch offset requires 0 MOD 4 alignment"
msgstr ""
-#: config/tc-i860.c:1409
+#: config/tc-i860.c:1454
#, c-format
msgid "Unrecognized fix-up (0x%08lx)"
msgstr ""
@@ -4701,10 +4912,12 @@ msgid "invalid architecture %s"
msgstr ""
#: config/tc-i960.c:1014
+#, c-format
msgid "I960 options:\n"
msgstr ""
#: config/tc-i960.c:1017
+#, c-format
msgid ""
"\n"
"\t\t\tspecify variant of 960 architecture\n"
@@ -4715,7 +4928,7 @@ msgid ""
"\t\t\tlong displacements\n"
msgstr ""
-#: config/tc-i960.c:1419 config/tc-xtensa.c:8604
+#: config/tc-i960.c:1419 config/tc-xtensa.c:8466
msgid "too many operands"
msgstr ""
@@ -4824,99 +5037,99 @@ msgstr ""
msgid "option --link-relax is only supported in b.out format"
msgstr ""
-#: config/tc-ia64.c:982
+#: config/tc-ia64.c:984
msgid "Bad .section directive: want a,o,s,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-ia64.c:1105
+#: config/tc-ia64.c:1127
msgid "Unwind directive not followed by an instruction."
msgstr ""
-#: config/tc-ia64.c:4563
+#: config/tc-ia64.c:4606
msgid "Register name expected"
msgstr ""
-#: config/tc-ia64.c:4568 config/tc-ia64.c:4854
+#: config/tc-ia64.c:4611 config/tc-ia64.c:4897
msgid "Comma expected"
msgstr ""
-#: config/tc-ia64.c:4576
+#: config/tc-ia64.c:4619
msgid "Register value annotation ignored"
msgstr ""
-#: config/tc-ia64.c:4600
+#: config/tc-ia64.c:4643
msgid "Directive invalid within a bundle"
msgstr ""
-#: config/tc-ia64.c:4667
+#: config/tc-ia64.c:4710
msgid "Missing predicate relation type"
msgstr ""
-#: config/tc-ia64.c:4683
+#: config/tc-ia64.c:4726
msgid "Unrecognized predicate relation type"
msgstr ""
-#: config/tc-ia64.c:4703 config/tc-ia64.c:4728
+#: config/tc-ia64.c:4746 config/tc-ia64.c:4771
msgid "Predicate register expected"
msgstr ""
-#: config/tc-ia64.c:4715
+#: config/tc-ia64.c:4758
msgid "Duplicate predicate register ignored"
msgstr ""
-#: config/tc-ia64.c:4737
+#: config/tc-ia64.c:4780
msgid "Bad register range"
msgstr ""
-#: config/tc-ia64.c:4765
+#: config/tc-ia64.c:4808
msgid "Predicate source and target required"
msgstr ""
-#: config/tc-ia64.c:4767 config/tc-ia64.c:4779
+#: config/tc-ia64.c:4810 config/tc-ia64.c:4822
msgid "Use of p0 is not valid in this context"
msgstr ""
-#: config/tc-ia64.c:4774
+#: config/tc-ia64.c:4817
msgid "At least two PR arguments expected"
msgstr ""
-#: config/tc-ia64.c:4788
+#: config/tc-ia64.c:4831
msgid "At least one PR argument expected"
msgstr ""
-#: config/tc-ia64.c:4824
+#: config/tc-ia64.c:4867
#, c-format
msgid "Inserting \"%s\" into entry hint table failed: %s"
msgstr ""
#. FIXME -- need 62-bit relocation type
-#: config/tc-ia64.c:5302
+#: config/tc-ia64.c:5345
msgid "62-bit relocation not yet implemented"
msgstr ""
#. XXX technically, this is wrong: we should not be issuing warning
#. messages until we're sure this instruction pattern is going to
#. be used!
-#: config/tc-ia64.c:5375
+#: config/tc-ia64.c:5418
msgid "lower 16 bits of mask ignored"
msgstr ""
-#: config/tc-ia64.c:5939
+#: config/tc-ia64.c:5982
msgid "Value truncated to 62 bits"
msgstr ""
-#: config/tc-ia64.c:6291
+#: config/tc-ia64.c:6355
msgid ""
"Additional NOP may be necessary to workaround Itanium processor A/B step "
"errata"
msgstr ""
-#: config/tc-ia64.c:6474
+#: config/tc-ia64.c:6546
#, c-format
msgid "Unrecognized option '-x%s'"
msgstr ""
-#: config/tc-ia64.c:6502
+#: config/tc-ia64.c:6574
msgid ""
"IA-64 options:\n"
" --mconstant-gp\t mark output file as using the constant-GP model\n"
@@ -4931,88 +5144,95 @@ msgid ""
" -xdebug\t\t debug dependency violation checker\n"
msgstr ""
-#: config/tc-ia64.c:6521
+#: config/tc-ia64.c:6593
msgid "--gstabs is not supported for ia64"
msgstr ""
-#: config/tc-ia64.c:6824 config/tc-mips.c:1094
+#: config/tc-ia64.c:6896 config/tc-mips.c:1138
msgid "Could not set architecture and machine"
msgstr ""
-#: config/tc-ia64.c:6931
+#: config/tc-ia64.c:7003
msgid "Explicit stops are ignored in auto mode"
msgstr ""
-#: config/tc-ia64.c:6981
+#: config/tc-ia64.c:7053
msgid "Found '{' after explicit switch to automatic mode"
msgstr ""
-#: config/tc-ia64.c:7428
+#: config/tc-ia64.c:7517
#, c-format
msgid "Unhandled dependency %s for %s (%s), note %d"
msgstr ""
-#: config/tc-ia64.c:8704
+#: config/tc-ia64.c:8793
#, c-format
msgid "Unrecognized dependency specifier %d\n"
msgstr ""
-#: config/tc-ia64.c:9506
+#: config/tc-ia64.c:9668
msgid "Only the first path encountering the conflict is reported"
msgstr ""
-#: config/tc-ia64.c:9509
+#: config/tc-ia64.c:9671
msgid "This is the location of the conflicting usage"
msgstr ""
-#: config/tc-ia64.c:10778 read.c:1370 read.c:1976 read.c:2184 read.c:2795
+#: config/tc-ia64.c:10886
+msgid "Can't add stop bit to mark end of instruction group"
+msgstr ""
+
+#: config/tc-ia64.c:10983 read.c:1344 read.c:2075 read.c:2669
msgid "expected symbol name"
msgstr ""
-#: config/tc-ia64.c:10788 read.c:1380 read.c:2194 read.c:2805 stabs.c:478
+#: config/tc-ia64.c:10993 read.c:2085 read.c:2679 stabs.c:471
#, c-format
msgid "expected comma after \"%s\""
msgstr ""
-#: config/tc-ia64.c:10829
+#: config/tc-ia64.c:11034
#, c-format
msgid "`%s' is already the alias of %s `%s'"
msgstr ""
-#: config/tc-ia64.c:10839
+#: config/tc-ia64.c:11044
#, c-format
msgid "%s `%s' already has an alias `%s'"
msgstr ""
-#: config/tc-ia64.c:10850
+#: config/tc-ia64.c:11055
#, c-format
msgid "inserting \"%s\" into %s alias hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:10858
+#: config/tc-ia64.c:11063
#, c-format
msgid "inserting \"%s\" into %s name hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:10877
+#: config/tc-ia64.c:11082
#, c-format
msgid "symbol `%s' aliased to `%s' is not used"
msgstr ""
-#: config/tc-ia64.c:10899
+#: config/tc-ia64.c:11104
#, c-format
msgid "section `%s' aliased to `%s' is not used"
msgstr ""
#: config/tc-ip2k.c:123
+#, c-format
msgid "IP2K specific command line options:\n"
msgstr ""
#: config/tc-ip2k.c:124
+#, c-format
msgid " -mip2022 restrict to IP2022 insns \n"
msgstr ""
#: config/tc-ip2k.c:125
+#, c-format
msgid " -mip2022ext permit extended IP2022 insn\n"
msgstr ""
@@ -5021,169 +5241,269 @@ msgid "md_pcrel_from\n"
msgstr ""
#. Pretend that we do not recognise this option.
-#: config/tc-m32r.c:233
+#: config/tc-m32r.c:349
msgid "Unrecognised option: -hidden"
msgstr ""
-#: config/tc-m32r.c:267
+#: config/tc-m32r.c:376 config/tc-sparc.c:596
+msgid "Unrecognized option following -K"
+msgstr ""
+
+#: config/tc-m32r.c:402
+#, c-format
msgid " M32R specific command line options:\n"
msgstr ""
-#: config/tc-m32r.c:269
+#: config/tc-m32r.c:404
+#, c-format
msgid ""
" -m32r disable support for the m32rx instruction set\n"
msgstr ""
-#: config/tc-m32r.c:271
+#: config/tc-m32r.c:406
+#, c-format
msgid " -m32rx support the extended m32rx instruction set\n"
msgstr ""
-#: config/tc-m32r.c:273
-msgid " -O try to combine instructions in parallel\n"
+#: config/tc-m32r.c:408
+#, c-format
+msgid " -m32r2 support the extended m32r2 instruction set\n"
+msgstr ""
+
+#: config/tc-m32r.c:410
+#, c-format
+msgid " -EL,-little produce little endian code and data\n"
+msgstr ""
+
+#: config/tc-m32r.c:412
+#, c-format
+msgid " -EB,-big produce big endian code and data\n"
+msgstr ""
+
+#: config/tc-m32r.c:414
+#, c-format
+msgid " -parallel try to combine instructions in parallel\n"
+msgstr ""
+
+#: config/tc-m32r.c:416
+#, c-format
+msgid " -no-parallel disable -parallel\n"
+msgstr ""
+
+#: config/tc-m32r.c:418
+#, c-format
+msgid ""
+" -no-bitinst disallow the M32R2's extended bit-field "
+"instructions\n"
msgstr ""
-#: config/tc-m32r.c:276
+#: config/tc-m32r.c:420
+#, c-format
+msgid " -O try to optimize code. Implies -parallel\n"
+msgstr ""
+
+#: config/tc-m32r.c:423
+#, c-format
msgid ""
" -warn-explicit-parallel-conflicts warn when parallel instructions\n"
msgstr ""
-#: config/tc-m32r.c:278
-msgid " violate contraints\n"
+#: config/tc-m32r.c:425
+#, c-format
+msgid " might violate contraints\n"
msgstr ""
-#: config/tc-m32r.c:280
+#: config/tc-m32r.c:427
+#, c-format
msgid " -no-warn-explicit-parallel-conflicts do not warn when parallel\n"
msgstr ""
-#: config/tc-m32r.c:282
+#: config/tc-m32r.c:429
+#, c-format
msgid ""
-" instructions violate contraints\n"
+" instructions might violate "
+"contraints\n"
msgstr ""
-#: config/tc-m32r.c:284
+#: config/tc-m32r.c:431
+#, c-format
msgid ""
" -Wp synonym for -warn-explicit-parallel-conflicts\n"
msgstr ""
-#: config/tc-m32r.c:286
+#: config/tc-m32r.c:433
+#, c-format
msgid ""
" -Wnp synonym for -no-warn-explicit-parallel-conflicts\n"
msgstr ""
-#: config/tc-m32r.c:289
+#: config/tc-m32r.c:435
+#, c-format
+msgid ""
+" -ignore-parallel-conflicts do not check parallel instructions\n"
+msgstr ""
+
+#: config/tc-m32r.c:437
+#, c-format
+msgid " fo contraint violations\n"
+msgstr ""
+
+#: config/tc-m32r.c:439
+#, c-format
+msgid ""
+" -no-ignore-parallel-conflicts check parallel instructions for\n"
+msgstr ""
+
+#: config/tc-m32r.c:441
+#, c-format
+msgid " contraint violations\n"
+msgstr ""
+
+#: config/tc-m32r.c:443
+#, c-format
+msgid " -Ip synonym for -ignore-parallel-conflicts\n"
+msgstr ""
+
+#: config/tc-m32r.c:445
+#, c-format
+msgid " -nIp synonym for -no-ignore-parallel-conflicts\n"
+msgstr ""
+
+#: config/tc-m32r.c:448
+#, c-format
msgid ""
" -warn-unmatched-high warn when an (s)high reloc has no matching low "
"reloc\n"
msgstr ""
-#: config/tc-m32r.c:291
+#: config/tc-m32r.c:450
+#, c-format
msgid " -no-warn-unmatched-high do not warn about missing low relocs\n"
msgstr ""
-#: config/tc-m32r.c:293
+#: config/tc-m32r.c:452
+#, c-format
msgid " -Wuh synonym for -warn-unmatched-high\n"
msgstr ""
-#: config/tc-m32r.c:295
+#: config/tc-m32r.c:454
+#, c-format
msgid " -Wnuh synonym for -no-warn-unmatched-high\n"
msgstr ""
-#: config/tc-m32r.c:299
+#: config/tc-m32r.c:457
+#, c-format
+msgid " -KPIC generate PIC\n"
+msgstr ""
+
+#: config/tc-m32r.c:461
+#, c-format
msgid " -relax create linker relaxable code\n"
msgstr ""
-#: config/tc-m32r.c:301
+#: config/tc-m32r.c:463
+#, c-format
msgid " -cpu-desc provide runtime cpu description file\n"
msgstr ""
-#: config/tc-m32r.c:700
-msgid "Instructions write to the same destination register."
+#: config/tc-m32r.c:898
+msgid "instructions write to the same destination register."
msgstr ""
-#: config/tc-m32r.c:708
+#: config/tc-m32r.c:906
msgid "Instructions do not use parallel execution pipelines."
msgstr ""
-#: config/tc-m32r.c:715
+#: config/tc-m32r.c:914
msgid "Instructions share the same execution pipeline"
msgstr ""
-#: config/tc-m32r.c:791 config/tc-m32r.c:887
+#: config/tc-m32r.c:990 config/tc-m32r.c:1104
#, c-format
msgid "not a 16 bit instruction '%s'"
msgstr ""
-#: config/tc-m32r.c:798 config/tc-m32r.c:894 config/tc-m32r.c:1050
+#: config/tc-m32r.c:1002 config/tc-m32r.c:1116 config/tc-m32r.c:1301
+#, c-format
+msgid "instruction '%s' is for the M32R2 only"
+msgstr ""
+
+#: config/tc-m32r.c:1015 config/tc-m32r.c:1129 config/tc-m32r.c:1314
#, c-format
msgid "unknown instruction '%s'"
msgstr ""
-#: config/tc-m32r.c:807 config/tc-m32r.c:901 config/tc-m32r.c:1057
+#: config/tc-m32r.c:1024 config/tc-m32r.c:1136 config/tc-m32r.c:1321
#, c-format
msgid "instruction '%s' is for the M32RX only"
msgstr ""
-#: config/tc-m32r.c:816 config/tc-m32r.c:910
+#: config/tc-m32r.c:1033 config/tc-m32r.c:1145
#, c-format
msgid "instruction '%s' cannot be executed in parallel."
msgstr ""
-#: config/tc-m32r.c:871 config/tc-m32r.c:935 config/tc-m32r.c:1107
+#: config/tc-m32r.c:1088 config/tc-m32r.c:1170 config/tc-m32r.c:1378
msgid "internal error: lookup/get operands failed"
msgstr ""
-#: config/tc-m32r.c:920
+#: config/tc-m32r.c:1155
#, c-format
msgid "'%s': only the NOP instruction can be issued in parallel on the m32r"
msgstr ""
-#: config/tc-m32r.c:949
+#: config/tc-m32r.c:1184
#, c-format
msgid ""
"%s: output of 1st instruction is the same as an input to 2nd instruction - "
"is this intentional ?"
msgstr ""
-#: config/tc-m32r.c:953
+#: config/tc-m32r.c:1188
#, c-format
msgid ""
"%s: output of 2nd instruction is the same as an input to 1st instruction - "
"is this intentional ?"
msgstr ""
-#: config/tc-m32r.c:1267 config/tc-ppc.c:1732 config/tc-ppc.c:4263
+#: config/tc-m32r.c:1537 config/tc-ppc.c:1768 config/tc-ppc.c:4349
msgid "Expected comma after symbol-name: rest of line ignored."
msgstr ""
-#: config/tc-m32r.c:1277
+#: config/tc-m32r.c:1547
#, c-format
msgid ".SCOMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-m32r.c:1291 config/tc-ppc.c:1754 config/tc-ppc.c:2899
-#: config/tc-ppc.c:4287
+#: config/tc-m32r.c:1561 config/tc-ppc.c:1790 config/tc-ppc.c:2936
+#: config/tc-ppc.c:4373
msgid "ignoring bad alignment"
msgstr ""
-#: config/tc-m32r.c:1303 config/tc-ppc.c:1791 config/tc-v850.c:335
+#: config/tc-m32r.c:1573 config/tc-ppc.c:1827 config/tc-v850.c:335
msgid "Common alignment not a power of 2"
msgstr ""
-#: config/tc-m32r.c:1318 config/tc-ppc.c:1765 config/tc-ppc.c:4299
+#: config/tc-m32r.c:1588 config/tc-ppc.c:1801 config/tc-ppc.c:4385
#, c-format
msgid "Ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-m32r.c:1327
+#: config/tc-m32r.c:1597
#, c-format
msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-m32r.c:1808
+#: config/tc-m32r.c:2090
msgid "Unmatched high/shigh reloc"
msgstr ""
-#: config/tc-m68hc11.c:372
+#: config/tc-m32r.c:2332 config/tc-sparc.c:3491
+#, c-format
+msgid "internal error: can't export reloc type %d (`%s')"
+msgstr ""
+
+#: config/tc-m68hc11.c:368
#, c-format
msgid ""
"Motorola 68HC11/68HC12/68HCS12 options:\n"
@@ -5204,55 +5524,56 @@ msgid ""
" (used for testing)\n"
msgstr ""
-#: config/tc-m68hc11.c:418
+#: config/tc-m68hc11.c:414
#, c-format
msgid "Default target `%s' is not supported."
msgstr ""
#. Dump the opcode statistics table.
-#: config/tc-m68hc11.c:437
+#: config/tc-m68hc11.c:432
+#, c-format
msgid "Name # Modes Min ops Max ops Modes mask # Used\n"
msgstr ""
-#: config/tc-m68hc11.c:505
+#: config/tc-m68hc11.c:498
#, c-format
msgid "Option `%s' is not recognized."
msgstr ""
-#: config/tc-m68hc11.c:737
+#: config/tc-m68hc11.c:720
msgid "#<imm8>"
msgstr ""
-#: config/tc-m68hc11.c:746
+#: config/tc-m68hc11.c:729
msgid "#<imm16>"
msgstr ""
-#: config/tc-m68hc11.c:755 config/tc-m68hc11.c:764
+#: config/tc-m68hc11.c:738 config/tc-m68hc11.c:747
msgid "<imm8>,X"
msgstr ""
-#: config/tc-m68hc11.c:791
+#: config/tc-m68hc11.c:774
msgid "*<abs8>"
msgstr ""
-#: config/tc-m68hc11.c:803
+#: config/tc-m68hc11.c:786
msgid "#<mask>"
msgstr ""
-#: config/tc-m68hc11.c:813
+#: config/tc-m68hc11.c:796
#, c-format
msgid "symbol%d"
msgstr ""
-#: config/tc-m68hc11.c:815
+#: config/tc-m68hc11.c:798
msgid "<abs>"
msgstr ""
-#: config/tc-m68hc11.c:834
+#: config/tc-m68hc11.c:817
msgid "<label>"
msgstr ""
-#: config/tc-m68hc11.c:850
+#: config/tc-m68hc11.c:833
#, c-format
msgid ""
"# Example of `%s' instructions\n"
@@ -5260,618 +5581,645 @@ msgid ""
"_start:\n"
msgstr ""
-#: config/tc-m68hc11.c:898
+#: config/tc-m68hc11.c:880
#, c-format
msgid "Instruction `%s' is not recognized."
msgstr ""
-#: config/tc-m68hc11.c:903
+#: config/tc-m68hc11.c:885
#, c-format
msgid "Instruction formats for `%s':"
msgstr ""
-#: config/tc-m68hc11.c:1038
+#: config/tc-m68hc11.c:1015
#, c-format
msgid "Immediate operand is not allowed for operand %d."
msgstr ""
-#: config/tc-m68hc11.c:1082
+#: config/tc-m68hc11.c:1059
msgid "Indirect indexed addressing is not valid for 68HC11."
msgstr ""
-#: config/tc-m68hc11.c:1102
+#: config/tc-m68hc11.c:1079
msgid "Spurious `,' or bad indirect register addressing mode."
msgstr ""
-#: config/tc-m68hc11.c:1124
+#: config/tc-m68hc11.c:1101
msgid "Missing second register or offset for indexed-indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:1134
+#: config/tc-m68hc11.c:1111
msgid "Missing second register for indexed-indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:1150
+#: config/tc-m68hc11.c:1127
msgid "Missing `]' to close indexed-indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:1195
+#: config/tc-m68hc11.c:1172
msgid "Illegal operand."
msgstr ""
-#: config/tc-m68hc11.c:1200
+#: config/tc-m68hc11.c:1177
msgid "Missing operand."
msgstr ""
-#: config/tc-m68hc11.c:1253
+#: config/tc-m68hc11.c:1230
msgid "Pre-increment mode is not valid for 68HC11"
msgstr ""
-#: config/tc-m68hc11.c:1266
+#: config/tc-m68hc11.c:1243
msgid "Wrong register in register indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:1274
+#: config/tc-m68hc11.c:1251
msgid "Missing `]' to close register indirect operand."
msgstr ""
-#: config/tc-m68hc11.c:1294
+#: config/tc-m68hc11.c:1271
msgid "Post-decrement mode is not valid for 68HC11."
msgstr ""
-#: config/tc-m68hc11.c:1302
+#: config/tc-m68hc11.c:1279
msgid "Post-increment mode is not valid for 68HC11."
msgstr ""
-#: config/tc-m68hc11.c:1320
+#: config/tc-m68hc11.c:1297
msgid "Invalid indexed indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:1417
+#: config/tc-m68hc11.c:1389
#, c-format
msgid "Trap id `%ld' is out of range."
msgstr ""
-#: config/tc-m68hc11.c:1421
+#: config/tc-m68hc11.c:1393
msgid "Trap id must be within [0x30..0x39] or [0x40..0xff]."
msgstr ""
-#: config/tc-m68hc11.c:1428
+#: config/tc-m68hc11.c:1400
#, c-format
msgid "Operand out of 8-bit range: `%ld'."
msgstr ""
-#: config/tc-m68hc11.c:1435
+#: config/tc-m68hc11.c:1407
msgid "The trap id must be a constant."
msgstr ""
-#: config/tc-m68hc11.c:1470
+#: config/tc-m68hc11.c:1442
#, c-format
msgid "Operand `%x' not recognized in fixup8."
msgstr ""
-#: config/tc-m68hc11.c:1490 config/tc-m68hc11.c:1542
+#: config/tc-m68hc11.c:1459 config/tc-m68hc11.c:1508
#, c-format
msgid "Operand out of 16-bit range: `%ld'."
msgstr ""
-#: config/tc-m68hc11.c:1522 config/tc-m68hc11.c:1558
+#: config/tc-m68hc11.c:1491 config/tc-m68hc11.c:1524
#, c-format
msgid "Operand `%x' not recognized in fixup16."
msgstr ""
-#: config/tc-m68hc11.c:1576
+#: config/tc-m68hc11.c:1541
#, c-format
msgid "Unexpected branch conversion with `%x'"
msgstr ""
-#: config/tc-m68hc11.c:1671 config/tc-m68hc11.c:1812
+#: config/tc-m68hc11.c:1632 config/tc-m68hc11.c:1770
#, c-format
msgid "Operand out of range for a relative branch: `%ld'"
msgstr ""
-#: config/tc-m68hc11.c:1780
+#: config/tc-m68hc11.c:1738
msgid "Invalid register for dbcc/tbcc instruction."
msgstr ""
-#: config/tc-m68hc11.c:1871
+#: config/tc-m68hc11.c:1826
#, c-format
msgid "Increment/decrement value is out of range: `%ld'."
msgstr ""
-#: config/tc-m68hc11.c:1882
+#: config/tc-m68hc11.c:1837
msgid "Expecting a register."
msgstr ""
-#: config/tc-m68hc11.c:1897
+#: config/tc-m68hc11.c:1852
msgid "Invalid register for post/pre increment."
msgstr ""
-#: config/tc-m68hc11.c:1927
+#: config/tc-m68hc11.c:1882
msgid "Invalid register."
msgstr ""
-#: config/tc-m68hc11.c:1934
+#: config/tc-m68hc11.c:1889
#, c-format
msgid "Offset out of 16-bit range: %ld."
msgstr ""
-#: config/tc-m68hc11.c:1939
+#: config/tc-m68hc11.c:1894
#, c-format
msgid "Offset out of 5-bit range for movw/movb insn: %ld."
msgstr ""
-#: config/tc-m68hc11.c:2020
+#: config/tc-m68hc11.c:2000
msgid "Expecting register D for indexed indirect mode."
msgstr ""
-#: config/tc-m68hc11.c:2022
+#: config/tc-m68hc11.c:2002
msgid "Indexed indirect mode is not allowed for movb/movw."
msgstr ""
-#: config/tc-m68hc11.c:2039
+#: config/tc-m68hc11.c:2019
msgid "Invalid accumulator register."
msgstr ""
-#: config/tc-m68hc11.c:2064
+#: config/tc-m68hc11.c:2044
msgid "Invalid indexed register."
msgstr ""
-#: config/tc-m68hc11.c:2072
+#: config/tc-m68hc11.c:2052
msgid "Addressing mode not implemented yet."
msgstr ""
-#: config/tc-m68hc11.c:2087
+#: config/tc-m68hc11.c:2065
msgid "Invalid source register for this instruction, use 'tfr'."
msgstr ""
-#: config/tc-m68hc11.c:2089
+#: config/tc-m68hc11.c:2067
msgid "Invalid source register."
msgstr ""
-#: config/tc-m68hc11.c:2094
+#: config/tc-m68hc11.c:2072
msgid "Invalid destination register for this instruction, use 'tfr'."
msgstr ""
-#: config/tc-m68hc11.c:2096
+#: config/tc-m68hc11.c:2074
msgid "Invalid destination register."
msgstr ""
-#: config/tc-m68hc11.c:2194
+#: config/tc-m68hc11.c:2170
msgid "Invalid indexed register, expecting register X."
msgstr ""
-#: config/tc-m68hc11.c:2196
+#: config/tc-m68hc11.c:2172
msgid "Invalid indexed register, expecting register Y."
msgstr ""
-#: config/tc-m68hc11.c:2508
+#: config/tc-m68hc11.c:2478
msgid "No instruction or missing opcode."
msgstr ""
-#: config/tc-m68hc11.c:2573
+#: config/tc-m68hc11.c:2543
#, c-format
msgid "Opcode `%s' is not recognized."
msgstr ""
-#: config/tc-m68hc11.c:2595
+#: config/tc-m68hc11.c:2565
#, c-format
msgid "Garbage at end of instruction: `%s'."
msgstr ""
-#: config/tc-m68hc11.c:2618
+#: config/tc-m68hc11.c:2588
#, c-format
msgid "Invalid operand for `%s'"
msgstr ""
-#: config/tc-m68hc11.c:2670
+#: config/tc-m68hc11.c:2639
#, c-format
msgid "Invalid mode: %s\n"
msgstr ""
-#: config/tc-m68hc11.c:2732
+#: config/tc-m68hc11.c:2699
msgid "bad .relax format"
msgstr ""
-#: config/tc-m68hc11.c:2779
+#: config/tc-m68hc11.c:2743
#, c-format
msgid "Relocation %d is not supported by object file format."
msgstr ""
-#: config/tc-m68hc11.c:3065
+#: config/tc-m68hc11.c:3022
msgid "bra or bsr with undefined symbol."
msgstr ""
-#: config/tc-m68hc11.c:3168 config/tc-m68hc11.c:3225
+#: config/tc-m68hc11.c:3125 config/tc-m68hc11.c:3182
#, c-format
msgid "Subtype %d is not recognized."
msgstr ""
-#: config/tc-m68hc11.c:3289
+#: config/tc-m68hc11.c:3241
msgid "Expression too complex."
msgstr ""
-#: config/tc-m68hc11.c:3322
+#: config/tc-m68hc11.c:3274
msgid "Value out of 16-bit range."
msgstr ""
-#: config/tc-m68hc11.c:3346
+#: config/tc-m68hc11.c:3298
#, c-format
msgid "Value %ld too large for 8-bit PC-relative branch."
msgstr ""
-#: config/tc-m68hc11.c:3353
+#: config/tc-m68hc11.c:3305
#, c-format
msgid "Auto increment/decrement offset '%ld' is out of range."
msgstr ""
-#: config/tc-m68hc11.c:3371
+#: config/tc-m68hc11.c:3318
+#, c-format
+msgid "Offset out of 5-bit range for movw/movb insn: %ld"
+msgstr ""
+
+#: config/tc-m68hc11.c:3334
#, c-format
msgid "Line %d: unknown relocation type: 0x%x."
msgstr ""
-#: config/tc-m68k.c:678
+#: config/tc-m68k.c:680 config/tc-m68k.c:4562 config/tc-m68k.c:4964
+msgid "Tried to convert PC relative branch to absolute jump"
+msgstr ""
+
+#: config/tc-m68k.c:687 config/tc-m68k.c:4552
+msgid "Tried to convert PC relative BSR to absolute JSR"
+msgstr ""
+
+#: config/tc-m68k.c:692
msgid "Unknown PC relative instruction"
msgstr ""
-#: config/tc-m68k.c:817
+#: config/tc-m68k.c:831
#, c-format
msgid "Can not do %d byte pc-relative relocation"
msgstr ""
-#: config/tc-m68k.c:819
+#: config/tc-m68k.c:833
#, c-format
msgid "Can not do %d byte pc-relative pic relocation"
msgstr ""
-#: config/tc-m68k.c:824
+#: config/tc-m68k.c:838
#, c-format
msgid "Can not do %d byte relocation"
msgstr ""
-#: config/tc-m68k.c:826
+#: config/tc-m68k.c:840
#, c-format
msgid "Can not do %d byte pic relocation"
msgstr ""
-#: config/tc-m68k.c:894
+#: config/tc-m68k.c:908
#, c-format
msgid "Unable to produce reloc against symbol '%s'"
msgstr ""
-#: config/tc-m68k.c:938 config/tc-mips.c:13322 config/tc-vax.c:3441
+#: config/tc-m68k.c:952 config/tc-mips.c:13143 config/tc-vax.c:3450
#, c-format
msgid "Cannot make %s relocation PC relative"
msgstr ""
-#: config/tc-m68k.c:1031 config/tc-tahoe.c:1495 config/tc-vax.c:1889
+#: config/tc-m68k.c:1045 config/tc-tahoe.c:1495 config/tc-vax.c:1889
msgid "No operator"
msgstr ""
-#: config/tc-m68k.c:1061 config/tc-tahoe.c:1512 config/tc-vax.c:1906
+#: config/tc-m68k.c:1075 config/tc-tahoe.c:1512 config/tc-vax.c:1906
msgid "Unknown operator"
msgstr ""
-#: config/tc-m68k.c:1836
+#: config/tc-m68k.c:1905
msgid "invalid instruction for this architecture; needs "
msgstr ""
-#: config/tc-m68k.c:1841
+#: config/tc-m68k.c:1910
+msgid "ColdFire fpu (cfv4e)"
+msgstr ""
+
+#: config/tc-m68k.c:1913
msgid "fpu (68040, 68060 or 68881/68882)"
msgstr ""
-#: config/tc-m68k.c:1844
+#: config/tc-m68k.c:1916
msgid "mmu (68030 or 68851)"
msgstr ""
-#: config/tc-m68k.c:1847
+#: config/tc-m68k.c:1919
msgid "68020 or higher"
msgstr ""
-#: config/tc-m68k.c:1850
+#: config/tc-m68k.c:1922
msgid "68000 or higher"
msgstr ""
-#: config/tc-m68k.c:1853
+#: config/tc-m68k.c:1925
msgid "68010 or higher"
msgstr ""
-#: config/tc-m68k.c:1882
+#: config/tc-m68k.c:1954
msgid "operands mismatch"
msgstr ""
-#: config/tc-m68k.c:1939 config/tc-m68k.c:1945 config/tc-m68k.c:1951
-#: config/tc-mmix.c:2464 config/tc-mmix.c:2488
+#: config/tc-m68k.c:2014 config/tc-m68k.c:2020 config/tc-m68k.c:2026
+#: config/tc-mmix.c:2539 config/tc-mmix.c:2563
msgid "operand out of range"
msgstr ""
-#: config/tc-m68k.c:2008
+#: config/tc-m68k.c:2083
#, c-format
msgid "Bignum too big for %c format; truncated"
msgstr ""
-#: config/tc-m68k.c:2076
+#: config/tc-m68k.c:2151
msgid "displacement too large for this architecture; needs 68020 or higher"
msgstr ""
-#: config/tc-m68k.c:2186
+#: config/tc-m68k.c:2262
msgid ""
"scale factor invalid on this architecture; needs cpu32 or 68020 or higher"
msgstr ""
-#: config/tc-m68k.c:2191
+#: config/tc-m68k.c:2267
msgid "invalid index size for coldfire"
msgstr ""
-#: config/tc-m68k.c:2244
+#: config/tc-m68k.c:2320
msgid "Forcing byte displacement"
msgstr ""
-#: config/tc-m68k.c:2246
+#: config/tc-m68k.c:2322
msgid "byte displacement out of range"
msgstr ""
-#: config/tc-m68k.c:2293 config/tc-m68k.c:2331
+#: config/tc-m68k.c:2369 config/tc-m68k.c:2407
msgid "invalid operand mode for this architecture; needs 68020 or higher"
msgstr ""
-#: config/tc-m68k.c:2317 config/tc-m68k.c:2351
+#: config/tc-m68k.c:2393 config/tc-m68k.c:2427
msgid ":b not permitted; defaulting to :w"
msgstr ""
-#: config/tc-m68k.c:2428
+#: config/tc-m68k.c:2504
msgid "unsupported byte value; use a different suffix"
msgstr ""
-#: config/tc-m68k.c:2442
+#: config/tc-m68k.c:2519
msgid "unknown/incorrect operand"
msgstr ""
-#: config/tc-m68k.c:2475 config/tc-m68k.c:2483 config/tc-m68k.c:2490
-#: config/tc-m68k.c:2497
+#: config/tc-m68k.c:2552 config/tc-m68k.c:2560 config/tc-m68k.c:2567
+#: config/tc-m68k.c:2574
msgid "out of range"
msgstr ""
-#: config/tc-m68k.c:2543
+#: config/tc-m68k.c:2620
msgid "Can't use long branches on 68000/68010/5200"
msgstr ""
-#: config/tc-m68k.c:2653
+#: config/tc-m68k.c:2730
msgid "Expression out of range, using 0"
msgstr ""
-#: config/tc-m68k.c:2765 config/tc-m68k.c:2781
+#: config/tc-m68k.c:2898 config/tc-m68k.c:2914
msgid "Floating point register in register list"
msgstr ""
-#: config/tc-m68k.c:2771
+#: config/tc-m68k.c:2904
msgid "Wrong register in floating-point reglist"
msgstr ""
-#: config/tc-m68k.c:2787
+#: config/tc-m68k.c:2920
msgid "incorrect register in reglist"
msgstr ""
-#: config/tc-m68k.c:2793
+#: config/tc-m68k.c:2926
msgid "wrong register in floating-point reglist"
msgstr ""
-#. ERROR
-#: config/tc-m68k.c:3234
+#. ERROR.
+#: config/tc-m68k.c:3373
msgid "Extra )"
msgstr ""
-#. ERROR
-#: config/tc-m68k.c:3245
+#. ERROR.
+#: config/tc-m68k.c:3384
msgid "Missing )"
msgstr ""
-#: config/tc-m68k.c:3262
+#: config/tc-m68k.c:3401
msgid "Missing operand"
msgstr ""
-#: config/tc-m68k.c:3594
+#: config/tc-m68k.c:3758
#, c-format
msgid "%s -- statement `%s' ignored"
msgstr ""
-#: config/tc-m68k.c:3643
+#: config/tc-m68k.c:3807
#, c-format
msgid "Don't know how to figure width of %c in md_assemble()"
msgstr ""
-#: config/tc-m68k.c:3825 config/tc-m68k.c:3863
+#: config/tc-m68k.c:3989 config/tc-m68k.c:4027
#, c-format
msgid "Internal Error: Can't find %s in hash table"
msgstr ""
-#: config/tc-m68k.c:3828 config/tc-m68k.c:3866
+#: config/tc-m68k.c:3992 config/tc-m68k.c:4030
#, c-format
msgid "Internal Error: Can't hash %s: %s"
msgstr ""
-#: config/tc-m68k.c:3948
+#: config/tc-m68k.c:4112
msgid "architecture not yet selected: defaulting to 68020"
msgstr ""
-#: config/tc-m68k.c:3997
+#: config/tc-m68k.c:4167
#, c-format
msgid "unrecognized default cpu `%s' ???"
msgstr ""
-#: config/tc-m68k.c:4009
+#: config/tc-m68k.c:4179
msgid "68040 and 68851 specified; mmu instructions may assemble incorrectly"
msgstr ""
-#: config/tc-m68k.c:4029
+#: config/tc-m68k.c:4199
msgid "options for 68881 and no-68881 both given"
msgstr ""
-#: config/tc-m68k.c:4031
+#: config/tc-m68k.c:4201
msgid "options for 68851 and no-68851 both given"
msgstr ""
-#: config/tc-m68k.c:4102
+#: config/tc-m68k.c:4272
#, c-format
msgid "text label `%s' aligned to odd boundary"
msgstr ""
-#: config/tc-m68k.c:4321
+#: config/tc-m68k.c:4491
msgid "invalid byte branch offset"
msgstr ""
-#: config/tc-m68k.c:4358
+#: config/tc-m68k.c:4528
msgid "short branch with zero offset: use :w"
msgstr ""
-#: config/tc-m68k.c:4827 config/tc-m68k.c:4838
+#: config/tc-m68k.c:4578 config/tc-m68k.c:4637 config/tc-m68k.c:4701
+msgid "Tried to convert PC relative conditional branch to absolute jump"
+msgstr ""
+
+#: config/tc-m68k.c:4618
+msgid "Tried to convert DBcc to absolute jump"
+msgstr ""
+
+#: config/tc-m68k.c:5010 config/tc-m68k.c:5021 config/tc-m68k.c:5062
msgid "expression out of range: defaulting to 1"
msgstr ""
-#: config/tc-m68k.c:4870
+#: config/tc-m68k.c:5053
msgid "expression out of range: defaulting to 0"
msgstr ""
-#: config/tc-m68k.c:4903 config/tc-m68k.c:4915
+#: config/tc-m68k.c:5095 config/tc-m68k.c:5107
#, c-format
msgid "Can't deal with expression; defaulting to %ld"
msgstr ""
-#: config/tc-m68k.c:4929
+#: config/tc-m68k.c:5121
msgid "expression doesn't fit in BYTE"
msgstr ""
-#: config/tc-m68k.c:4933
+#: config/tc-m68k.c:5125
msgid "expression doesn't fit in WORD"
msgstr ""
-#: config/tc-m68k.c:5026
+#: config/tc-m68k.c:5218
#, c-format
msgid "%s: unrecognized processor name"
msgstr ""
-#: config/tc-m68k.c:5091
+#: config/tc-m68k.c:5283
msgid "bad coprocessor id"
msgstr ""
-#: config/tc-m68k.c:5097
+#: config/tc-m68k.c:5289
msgid "unrecognized fopt option"
msgstr ""
-#: config/tc-m68k.c:5231
+#: config/tc-m68k.c:5423
#, c-format
msgid "option `%s' may not be negated"
msgstr ""
-#: config/tc-m68k.c:5242
+#: config/tc-m68k.c:5434
#, c-format
msgid "option `%s' not recognized"
msgstr ""
-#: config/tc-m68k.c:5275
+#: config/tc-m68k.c:5467
msgid "bad format of OPT NEST=depth"
msgstr ""
-#: config/tc-m68k.c:5338
+#: config/tc-m68k.c:5530
msgid "missing label"
msgstr ""
-#: config/tc-m68k.c:5362 config/tc-m68k.c:5391
+#: config/tc-m68k.c:5554 config/tc-m68k.c:5583
msgid "bad register list"
msgstr ""
-#: config/tc-m68k.c:5364
+#: config/tc-m68k.c:5556
#, c-format
msgid "bad register list: %s"
msgstr ""
-#: config/tc-m68k.c:5462
+#: config/tc-m68k.c:5654
msgid "restore without save"
msgstr ""
-#: config/tc-m68k.c:5636 config/tc-m68k.c:6023
+#: config/tc-m68k.c:5828 config/tc-m68k.c:6215
msgid "syntax error in structured control directive"
msgstr ""
-#: config/tc-m68k.c:5685
+#: config/tc-m68k.c:5877
msgid "missing condition code in structured control directive"
msgstr ""
-#: config/tc-m68k.c:5757
+#: config/tc-m68k.c:5949
#, c-format
msgid ""
"Condition <%c%c> in structured control directive can not be encoded correctly"
msgstr ""
-#: config/tc-m68k.c:6066
+#: config/tc-m68k.c:6258
msgid "missing then"
msgstr ""
-#: config/tc-m68k.c:6148
+#: config/tc-m68k.c:6340
msgid "else without matching if"
msgstr ""
-#: config/tc-m68k.c:6182
+#: config/tc-m68k.c:6374
msgid "endi without matching if"
msgstr ""
-#: config/tc-m68k.c:6223
+#: config/tc-m68k.c:6415
msgid "break outside of structured loop"
msgstr ""
-#: config/tc-m68k.c:6262
+#: config/tc-m68k.c:6454
msgid "next outside of structured loop"
msgstr ""
-#: config/tc-m68k.c:6314
+#: config/tc-m68k.c:6506
msgid "missing ="
msgstr ""
-#: config/tc-m68k.c:6352
+#: config/tc-m68k.c:6544
msgid "missing to or downto"
msgstr ""
-#: config/tc-m68k.c:6388 config/tc-m68k.c:6422 config/tc-m68k.c:6641
+#: config/tc-m68k.c:6580 config/tc-m68k.c:6614 config/tc-m68k.c:6832
msgid "missing do"
msgstr ""
-#: config/tc-m68k.c:6525
+#: config/tc-m68k.c:6716
msgid "endf without for"
msgstr ""
-#: config/tc-m68k.c:6581
+#: config/tc-m68k.c:6772
msgid "until without repeat"
msgstr ""
-#: config/tc-m68k.c:6677
+#: config/tc-m68k.c:6868
msgid "endw without while"
msgstr ""
-#: config/tc-m68k.c:6801
+#: config/tc-m68k.c:6992
#, c-format
msgid "unrecognized option `%s'"
msgstr ""
-#: config/tc-m68k.c:6846
+#: config/tc-m68k.c:7037
#, c-format
msgid "unrecognized architecture specification `%s'"
msgstr ""
-#: config/tc-m68k.c:6940
+#: config/tc-m68k.c:7131
#, c-format
msgid ""
"680X0 options:\n"
"-l\t\t\tuse 1 word for refs to undefined symbols [default 2]\n"
"-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n"
"-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n"
-"-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m5307 | -m5407\n"
+"-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m528x | -m5307 |\n"
+"-m5407 | -mcfv4 | -mcfv4e\n"
"\t\t\tspecify variant of 680X0 architecture [default %s]\n"
"-m68881 | -m68882 | -mno-68881 | -mno-68882\n"
"\t\t\ttarget has/lacks floating-point coprocessor\n"
"\t\t\t[default yes for 68020, 68030, and cpu32]\n"
msgstr ""
-#: config/tc-m68k.c:6951
+#: config/tc-m68k.c:7143
+#, c-format
msgid ""
"-m68851 | -mno-68851\n"
"\t\t\ttarget has/lacks memory-management unit coprocessor\n"
@@ -5884,7 +6232,8 @@ msgid ""
"--bitwise-or\t\tdo not treat `|' as a comment character\n"
msgstr ""
-#: config/tc-m68k.c:6961
+#: config/tc-m68k.c:7153
+#, c-format
msgid ""
"--base-size-default-16\tbase reg without size is 16 bits\n"
"--base-size-default-32\tbase reg without size is 32 bits (default)\n"
@@ -5892,12 +6241,12 @@ msgid ""
"--disp-size-default-32\tdisplacement with unknown size is 32 bits (default)\n"
msgstr ""
-#: config/tc-m68k.c:6996
+#: config/tc-m68k.c:7188
#, c-format
msgid "Error %s in %s\n"
msgstr ""
-#: config/tc-m68k.c:7000
+#: config/tc-m68k.c:7192
#, c-format
msgid "Opcode(%d.%s): "
msgstr ""
@@ -6108,6 +6457,7 @@ msgid "unrecognised cpu type '%s'"
msgstr ""
#: config/tc-mcore.c:1807
+#, c-format
msgid ""
"MCORE specific options:\n"
" -{no-}jsri2bsr\t {dis}able jsri to bsr transformation (def: dis)\n"
@@ -6164,630 +6514,632 @@ msgid "pc-relative"
msgstr ""
#. Prototypes for static functions.
-#: config/tc-mips.c:818
+#: config/tc-mips.c:860
#, c-format
msgid "internal Error, line %d, %s"
msgstr ""
-#: config/tc-mips.c:1131
+#: config/tc-mips.c:1175
#, c-format
msgid "internal: can't hash `%s': %s"
msgstr ""
-#: config/tc-mips.c:1139
+#: config/tc-mips.c:1183
#, c-format
msgid "internal error: bad mips16 opcode: %s %s\n"
msgstr ""
-#: config/tc-mips.c:1332
+#: config/tc-mips.c:1377
#, c-format
msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
msgstr ""
-#: config/tc-mips.c:1976 config/tc-mips.c:13666
+#: config/tc-mips.c:2063 config/tc-mips.c:13484
msgid "extended instruction in delay slot"
msgstr ""
-#: config/tc-mips.c:2022 config/tc-mips.c:2032
+#: config/tc-mips.c:2124 config/tc-mips.c:2134
#, c-format
msgid "jump to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:2025 config/tc-mips.c:2035
+#: config/tc-mips.c:2127 config/tc-mips.c:2137
#, c-format
msgid "jump address range overflow (0x%lx)"
msgstr ""
-#: config/tc-mips.c:2805 config/tc-mips.c:3194
+#: config/tc-mips.c:2927
+msgid ""
+"Macro instruction expanded into multiple instructions in a branch delay slot"
+msgstr ""
+
+#: config/tc-mips.c:2930
msgid "Macro instruction expanded into multiple instructions"
msgstr ""
-#: config/tc-mips.c:2817
-msgid ""
-"Macro instruction expanded into multiple instructions in a branch delay slot"
+#: config/tc-mips.c:3408 config/tc-mips.c:3574 config/tc-mips.c:5897
+msgid "constant too large"
msgstr ""
-#: config/tc-mips.c:3225 config/tc-mips.c:7549 config/tc-mips.c:7575
-#: config/tc-mips.c:7653 config/tc-mips.c:7678
+#: config/tc-mips.c:3416 config/tc-mips.c:7514 config/tc-mips.c:7538
+#: config/tc-mips.c:7608 config/tc-mips.c:7631
msgid "operand overflow"
msgstr ""
-#: config/tc-mips.c:3251 config/tc-mips.c:6902 config/tc-mips.c:7754
+#: config/tc-mips.c:3435 config/tc-mips.c:6907 config/tc-mips.c:7698
msgid "Macro used $at after \".set noat\""
msgstr ""
-#: config/tc-mips.c:3281
+#: config/tc-mips.c:3472
msgid "unsupported large constant"
msgstr ""
-#: config/tc-mips.c:3283
+#: config/tc-mips.c:3474
#, c-format
msgid "Instruction %s requires absolute expression"
msgstr ""
-#: config/tc-mips.c:3422
+#: config/tc-mips.c:3609
#, c-format
msgid "Number (0x%lx) larger than 32 bits"
msgstr ""
-#: config/tc-mips.c:3444
+#: config/tc-mips.c:3630
msgid "Number larger than 64 bits"
msgstr ""
-#: config/tc-mips.c:3747 config/tc-mips.c:3787 config/tc-mips.c:3829
-#: config/tc-mips.c:3886 config/tc-mips.c:6069 config/tc-mips.c:6111
-#: config/tc-mips.c:6163 config/tc-mips.c:6661 config/tc-mips.c:6716
+#: config/tc-mips.c:3907 config/tc-mips.c:3935 config/tc-mips.c:3973
+#: config/tc-mips.c:4018 config/tc-mips.c:6166 config/tc-mips.c:6205
+#: config/tc-mips.c:6244 config/tc-mips.c:6692 config/tc-mips.c:6744
msgid "PIC code offset overflow (max 16 signed bits)"
msgstr ""
-#: config/tc-mips.c:4146
+#: config/tc-mips.c:4327 config/tc-mips.c:4391 config/tc-mips.c:4475
+#: config/tc-mips.c:4520 config/tc-mips.c:4578 config/tc-mips.c:4626
+#: config/tc-mips.c:7796 config/tc-mips.c:7803 config/tc-mips.c:7810
+#: config/tc-mips.c:7917
+msgid "Unsupported large constant"
+msgstr ""
+
+#. result is always true
+#: config/tc-mips.c:4359
#, c-format
-msgid "Branch %s is always false (nop)"
+msgid "Branch %s is always true"
msgstr ""
-#: config/tc-mips.c:4153
+#: config/tc-mips.c:4589 config/tc-mips.c:4637 config/tc-mips.c:8242
#, c-format
-msgid "Branch likely %s is always false"
+msgid "Improper position (%lu)"
msgstr ""
-#: config/tc-mips.c:4160 config/tc-mips.c:4228 config/tc-mips.c:4320
-#: config/tc-mips.c:4369 config/tc-mips.c:7857 config/tc-mips.c:7865
-#: config/tc-mips.c:7872 config/tc-mips.c:7979
-msgid "Unsupported large constant"
+#: config/tc-mips.c:4595 config/tc-mips.c:8310
+#, c-format
+msgid "Improper extract size (%lu, position %lu)"
msgstr ""
-#. result is always true
-#: config/tc-mips.c:4194
+#: config/tc-mips.c:4643 config/tc-mips.c:8274
#, c-format
-msgid "Branch %s is always true"
+msgid "Improper insert size (%lu, position %lu)"
msgstr ""
-#: config/tc-mips.c:4437 config/tc-mips.c:4540
+#: config/tc-mips.c:4680 config/tc-mips.c:4778
msgid "Divide by zero."
msgstr ""
-#: config/tc-mips.c:4622
+#: config/tc-mips.c:4865
msgid "dla used to load 32-bit register"
msgstr ""
-#: config/tc-mips.c:4625
+#: config/tc-mips.c:4868
msgid "la used to load 64-bit address"
msgstr ""
-#: config/tc-mips.c:5000 config/tc-mips.c:5353
+#: config/tc-mips.c:5189 config/tc-mips.c:5467
msgid "PIC code offset overflow (max 32 signed bits)"
msgstr ""
-#: config/tc-mips.c:5419
+#: config/tc-mips.c:5535
msgid "MIPS PIC call to register other than $25"
msgstr ""
-#: config/tc-mips.c:5425 config/tc-mips.c:5436 config/tc-mips.c:5574
-#: config/tc-mips.c:5585
+#: config/tc-mips.c:5541 config/tc-mips.c:5552 config/tc-mips.c:5676
+#: config/tc-mips.c:5687
msgid "No .cprestore pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:5430 config/tc-mips.c:5579
+#: config/tc-mips.c:5546 config/tc-mips.c:5681
msgid "No .frame pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:5657 config/tc-mips.c:5746 config/tc-mips.c:6414
-#: config/tc-mips.c:6453 config/tc-mips.c:6471 config/tc-mips.c:7221
+#: config/tc-mips.c:5759 config/tc-mips.c:5848 config/tc-mips.c:6477
+#: config/tc-mips.c:6511 config/tc-mips.c:6529 config/tc-mips.c:7209
msgid "opcode not supported on this processor"
msgstr ""
-#: config/tc-mips.c:5970
+#: config/tc-mips.c:6082
msgid "load/store address overflow (max 32 bits)"
msgstr ""
-#: config/tc-mips.c:7084 config/tc-mips.c:7117 config/tc-mips.c:7167
-#: config/tc-mips.c:7199
+#: config/tc-mips.c:7081 config/tc-mips.c:7111 config/tc-mips.c:7159
+#: config/tc-mips.c:7188
msgid "Improper rotate count"
msgstr ""
-#: config/tc-mips.c:7260
+#: config/tc-mips.c:7242
#, c-format
msgid "Instruction %s: result is always false"
msgstr ""
-#: config/tc-mips.c:7418
+#: config/tc-mips.c:7391
#, c-format
msgid "Instruction %s: result is always true"
msgstr ""
#. FIXME: Check if this is one of the itbl macros, since they
#. are added dynamically.
-#: config/tc-mips.c:7750
+#: config/tc-mips.c:7694
#, c-format
msgid "Macro %s not implemented yet"
msgstr ""
-#: config/tc-mips.c:8010
+#: config/tc-mips.c:7948
#, c-format
msgid "internal: bad mips opcode (mask error): %s %s"
msgstr ""
-#: config/tc-mips.c:8030 config/tc-mips.c:8361
+#: config/tc-mips.c:7973 config/tc-mips.c:8336
#, c-format
msgid "internal: bad mips opcode (unknown extension operand type `+%c'): %s %s"
msgstr ""
-#: config/tc-mips.c:8091
+#: config/tc-mips.c:8034
#, c-format
msgid "internal: bad mips opcode (unknown operand type `%c'): %s %s"
msgstr ""
-#: config/tc-mips.c:8098
+#: config/tc-mips.c:8041
#, c-format
msgid "internal: bad mips opcode (bits 0x%lx undefined): %s %s"
msgstr ""
-#: config/tc-mips.c:8212
+#: config/tc-mips.c:8155
#, c-format
msgid "opcode not supported on this processor: %s (%s)"
msgstr ""
-#: config/tc-mips.c:8293
-#, c-format
-msgid "Improper position (%lu)"
-msgstr ""
-
-#: config/tc-mips.c:8319
-#, c-format
-msgid "Improper insert size (%lu, position %lu)"
-msgstr ""
-
-#: config/tc-mips.c:8345
-#, c-format
-msgid "Improper extract size (%lu, position %lu)"
+#: config/tc-mips.c:8330 config/tc-mips.c:8819
+msgid "absolute expression required"
msgstr ""
-#: config/tc-mips.c:8379
+#: config/tc-mips.c:8354
#, c-format
msgid "Improper shift amount (%lu)"
msgstr ""
-#: config/tc-mips.c:8405 config/tc-mips.c:9655 config/tc-mips.c:9770
+#: config/tc-mips.c:8380 config/tc-mips.c:9643 config/tc-mips.c:9758
#, c-format
msgid "Invalid value for `%s' (%lu)"
msgstr ""
-#: config/tc-mips.c:8423
+#: config/tc-mips.c:8398
#, c-format
msgid "Illegal break code (%lu)"
msgstr ""
-#: config/tc-mips.c:8437
+#: config/tc-mips.c:8412
#, c-format
msgid "Illegal lower break code (%lu)"
msgstr ""
-#: config/tc-mips.c:8450
+#: config/tc-mips.c:8425
#, c-format
msgid "Illegal 20-bit code (%lu)"
msgstr ""
-#: config/tc-mips.c:8462
+#: config/tc-mips.c:8437
#, c-format
msgid "Coproccesor code > 25 bits (%lu)"
msgstr ""
-#: config/tc-mips.c:8475
+#: config/tc-mips.c:8450
#, c-format
msgid "Illegal 19-bit code (%lu)"
msgstr ""
-#: config/tc-mips.c:8487
+#: config/tc-mips.c:8462
#, c-format
msgid "Invalid performance register (%lu)"
msgstr ""
-#: config/tc-mips.c:8525
+#: config/tc-mips.c:8500
#, c-format
msgid "Invalid register number (%d)"
msgstr ""
-#: config/tc-mips.c:8703
+#: config/tc-mips.c:8678
#, c-format
msgid "Invalid MDMX Immediate (%ld)"
msgstr ""
-#: config/tc-mips.c:8746
+#: config/tc-mips.c:8721
#, c-format
msgid "Invalid float register number (%d)"
msgstr ""
-#: config/tc-mips.c:8756
+#: config/tc-mips.c:8731
#, c-format
msgid "Float register should be even, was %d"
msgstr ""
-#: config/tc-mips.c:8795
+#: config/tc-mips.c:8770
#, c-format
msgid "Bad element selector %ld"
msgstr ""
-#: config/tc-mips.c:8802
+#: config/tc-mips.c:8777
#, c-format
msgid "Expecting ']' found '%s'"
msgstr ""
-#: config/tc-mips.c:8844
-msgid "absolute expression required"
-msgstr ""
-
-#: config/tc-mips.c:8912
+#: config/tc-mips.c:8888
#, c-format
msgid "Bad floating point constant: %s"
msgstr ""
-#: config/tc-mips.c:9040
+#: config/tc-mips.c:9016
msgid "Can't use floating point insn in this section"
msgstr ""
-#: config/tc-mips.c:9101
+#: config/tc-mips.c:9077
msgid "expression out of range"
msgstr ""
-#: config/tc-mips.c:9141
+#: config/tc-mips.c:9117
msgid "lui expression not in range 0..65535"
msgstr ""
-#: config/tc-mips.c:9165
+#: config/tc-mips.c:9141
+#, c-format
+msgid "Invalid condition code register $fcc%d"
+msgstr ""
+
+#: config/tc-mips.c:9146
+#, c-format
+msgid "Condition code register should be even for %s, was %d"
+msgstr ""
+
+#: config/tc-mips.c:9151
#, c-format
-msgid "invalid condition code register $fcc%d"
+msgid "Condition code register should be 0 or 4 for %s, was %d"
msgstr ""
-#: config/tc-mips.c:9190
+#: config/tc-mips.c:9177
msgid "invalid coprocessor sub-selection value (0-7)"
msgstr ""
-#: config/tc-mips.c:9202 config/tc-mips.c:9219
+#: config/tc-mips.c:9189 config/tc-mips.c:9206
#, c-format
msgid "bad byte vector index (%ld)"
msgstr ""
-#: config/tc-mips.c:9230
+#: config/tc-mips.c:9217
#, c-format
msgid "bad char = '%c'\n"
msgstr ""
-#: config/tc-mips.c:9241 config/tc-mips.c:9246 config/tc-mips.c:9795
+#: config/tc-mips.c:9228 config/tc-mips.c:9233 config/tc-mips.c:9783
msgid "illegal operands"
msgstr ""
-#: config/tc-mips.c:9311
+#: config/tc-mips.c:9298
msgid "unrecognized opcode"
msgstr ""
-#: config/tc-mips.c:9423
+#: config/tc-mips.c:9411
#, c-format
msgid "invalid register number (%d)"
msgstr ""
-#: config/tc-mips.c:9514
+#: config/tc-mips.c:9502
msgid "used $at without \".set noat\""
msgstr ""
-#: config/tc-mips.c:9689
+#: config/tc-mips.c:9677
msgid "can't parse register list"
msgstr ""
-#: config/tc-mips.c:9913
+#: config/tc-mips.c:9901
msgid "extended operand requested but not required"
msgstr ""
-#: config/tc-mips.c:9915
+#: config/tc-mips.c:9903
msgid "invalid unextended operand value"
msgstr ""
-#: config/tc-mips.c:9943
+#: config/tc-mips.c:9931
msgid "operand value out of range for instruction"
msgstr ""
-#: config/tc-mips.c:10341
+#: config/tc-mips.c:10335
#, c-format
msgid "A different %s was already specified, is now %s"
msgstr ""
-#: config/tc-mips.c:10502
+#: config/tc-mips.c:10496
msgid "-G may not be used with embedded PIC code"
msgstr ""
-#: config/tc-mips.c:10531
+#: config/tc-mips.c:10525
msgid "-call_shared is supported only for ELF format"
msgstr ""
-#: config/tc-mips.c:10538 config/tc-mips.c:11849 config/tc-mips.c:12087
+#: config/tc-mips.c:10532 config/tc-mips.c:11787 config/tc-mips.c:12028
msgid "-G may not be used with SVR4 PIC code"
msgstr ""
-#: config/tc-mips.c:10547
+#: config/tc-mips.c:10541
msgid "-non_shared is supported only for ELF format"
msgstr ""
-#: config/tc-mips.c:10565
+#: config/tc-mips.c:10559
msgid "-G is not supported for this configuration"
msgstr ""
-#: config/tc-mips.c:10570
+#: config/tc-mips.c:10564
msgid "-G may not be used with SVR4 or embedded PIC code"
msgstr ""
-#: config/tc-mips.c:10584
+#: config/tc-mips.c:10578
msgid "-32 is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:10593
+#: config/tc-mips.c:10587
msgid "-n32 is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:10602
+#: config/tc-mips.c:10596
msgid "-64 is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:10607 config/tc-mips.c:10644
+#: config/tc-mips.c:10601 config/tc-mips.c:10638
msgid "No compiled in support for 64 bit object file format"
msgstr ""
-#: config/tc-mips.c:10631
+#: config/tc-mips.c:10625
msgid "-mabi is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:10651
+#: config/tc-mips.c:10645
#, c-format
msgid "invalid abi -mabi=%s"
msgstr ""
-#: config/tc-mips.c:10718
+#: config/tc-mips.c:10720
msgid "-G not supported in this configuration."
msgstr ""
-#: config/tc-mips.c:10744
+#: config/tc-mips.c:10746
#, c-format
msgid "-%s conflicts with the other architecture options, which imply -%s"
msgstr ""
-#: config/tc-mips.c:10775
+#: config/tc-mips.c:10777
msgid "-mgp64 used with a 32-bit processor"
msgstr ""
-#: config/tc-mips.c:10777
+#: config/tc-mips.c:10779
msgid "-mgp32 used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:10779
+#: config/tc-mips.c:10781
msgid "-mgp64 used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:10809
+#: config/tc-mips.c:10811
msgid "trap exception not supported at ISA 1"
msgstr ""
-#: config/tc-mips.c:10957
+#: config/tc-mips.c:10959
#, c-format
msgid "Unmatched %%hi reloc"
msgstr ""
-#: config/tc-mips.c:11049
+#: config/tc-mips.c:11051
msgid "Cannot branch to undefined symbol."
msgstr ""
-#: config/tc-mips.c:11056
+#: config/tc-mips.c:11058
msgid "Cannot branch to symbol in another section."
msgstr ""
-#: config/tc-mips.c:11065
+#: config/tc-mips.c:11067
msgid "Pretending global symbol used as branch target is local."
msgstr ""
-#: config/tc-mips.c:11230
+#: config/tc-mips.c:11152
msgid "Invalid PC relative reloc"
msgstr ""
-#: config/tc-mips.c:11325 config/tc-sparc.c:3185 config/tc-sparc.c:3192
-#: config/tc-sparc.c:3199 config/tc-sparc.c:3206 config/tc-sparc.c:3213
-#: config/tc-sparc.c:3222 config/tc-sparc.c:3233 config/tc-sparc.c:3255
-#: config/tc-sparc.c:3279 write.c:998 write.c:1070
+#: config/tc-mips.c:11247 config/tc-sparc.c:3196 config/tc-sparc.c:3203
+#: config/tc-sparc.c:3210 config/tc-sparc.c:3217 config/tc-sparc.c:3224
+#: config/tc-sparc.c:3233 config/tc-sparc.c:3244 config/tc-sparc.c:3266
+#: config/tc-sparc.c:3290 write.c:964 write.c:1036
msgid "relocation overflow"
msgstr ""
-#: config/tc-mips.c:11335
+#: config/tc-mips.c:11257
#, c-format
msgid "Branch to odd address (%lx)"
msgstr ""
-#: config/tc-mips.c:11384
+#: config/tc-mips.c:11306
msgid "Branch out of range"
msgstr ""
-#: config/tc-mips.c:11491
+#: config/tc-mips.c:11413
#, c-format
msgid "%08lx UNDEFINED\n"
msgstr ""
-#: config/tc-mips.c:11550
+#: config/tc-mips.c:11472
#, c-format
msgid "Alignment too large: %d. assumed."
msgstr ""
-#: config/tc-mips.c:11553
+#: config/tc-mips.c:11475
msgid "Alignment negative: 0 assumed."
msgstr ""
-#: config/tc-mips.c:11640
+#: config/tc-mips.c:11562
msgid "No read only data section in this object file format"
msgstr ""
-#: config/tc-mips.c:11663
+#: config/tc-mips.c:11585
msgid "Global pointers not supported; recompile -G 0"
msgstr ""
-#: config/tc-mips.c:11805
+#: config/tc-mips.c:11743
#, c-format
msgid "%s: no such section"
msgstr ""
-#: config/tc-mips.c:11844
+#: config/tc-mips.c:11782
#, c-format
msgid ".option pic%d not supported"
msgstr ""
-#: config/tc-mips.c:11855
+#: config/tc-mips.c:11793
#, c-format
msgid "Unrecognized option \"%s\""
msgstr ""
-#: config/tc-mips.c:11917
+#: config/tc-mips.c:11855
msgid "`noreorder' must be set before `nomacro'"
msgstr ""
-#: config/tc-mips.c:11989
+#: config/tc-mips.c:11929
#, c-format
msgid "unknown architecture %s"
msgstr ""
-#: config/tc-mips.c:11997 config/tc-mips.c:12018
+#: config/tc-mips.c:11937 config/tc-mips.c:11959
#, c-format
msgid "unknown ISA level %s"
msgstr ""
-#: config/tc-mips.c:12046
+#: config/tc-mips.c:11987
msgid ".set pop with no .set push"
msgstr ""
-#: config/tc-mips.c:12070
+#: config/tc-mips.c:12011
#, c-format
msgid "Tried to set unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:12120
+#: config/tc-mips.c:12060
msgid ".cpload not in noreorder section"
msgstr ""
-#: config/tc-mips.c:12176 config/tc-mips.c:12195
+#: config/tc-mips.c:12116 config/tc-mips.c:12135
msgid "missing argument separator ',' for .cpsetup"
msgstr ""
-#: config/tc-mips.c:12373
+#: config/tc-mips.c:12315
msgid "Unsupported use of .gpword"
msgstr ""
-#: config/tc-mips.c:12409
+#: config/tc-mips.c:12351
msgid "Unsupported use of .gpdword"
msgstr ""
-#: config/tc-mips.c:12544
+#: config/tc-mips.c:12486
msgid "expected `$'"
msgstr ""
-#: config/tc-mips.c:12552
+#: config/tc-mips.c:12494
msgid "Bad register number"
msgstr ""
-#: config/tc-mips.c:12600
+#: config/tc-mips.c:12542
msgid "Unrecognized register name"
msgstr ""
-#: config/tc-mips.c:12835
+#: config/tc-mips.c:12777
msgid "unsupported PC relative reference to different section"
msgstr ""
-#: config/tc-mips.c:12948
+#: config/tc-mips.c:12890
msgid "unsupported relocation"
msgstr ""
-#: config/tc-mips.c:13063
-msgid "AT used after \".set noat\" or macro used after \".set nomacro\""
-msgstr ""
-
-#: config/tc-mips.c:13126
+#: config/tc-mips.c:13057
msgid "Double check fx_r_type in tc-mips.c:tc_gen_reloc"
msgstr ""
-#: config/tc-mips.c:13341 config/tc-sh.c:3800
+#: config/tc-mips.c:13162 config/tc-sh.c:4087
#, c-format
msgid "Can not represent %s relocation in this object file format"
msgstr ""
-#: config/tc-mips.c:13430
+#: config/tc-mips.c:13248
msgid "relaxed out-of-range branch into a jump"
msgstr ""
-#: config/tc-mips.c:13903
+#: config/tc-mips.c:13761
msgid "missing .end at end of assembly"
msgstr ""
-#: config/tc-mips.c:13918
+#: config/tc-mips.c:13776
msgid "expected simple number"
msgstr ""
-#: config/tc-mips.c:13944
+#: config/tc-mips.c:13802
#, c-format
msgid " *input_line_pointer == '%c' 0x%02x\n"
msgstr ""
-#: config/tc-mips.c:13946
+#: config/tc-mips.c:13804
msgid "invalid number"
msgstr ""
-#: config/tc-mips.c:14019
+#: config/tc-mips.c:13877
msgid ".end not in text section"
msgstr ""
-#: config/tc-mips.c:14023
+#: config/tc-mips.c:13881
msgid ".end directive without a preceding .ent directive."
msgstr ""
-#: config/tc-mips.c:14032
+#: config/tc-mips.c:13890
msgid ".end symbol does not match .ent symbol."
msgstr ""
-#: config/tc-mips.c:14039
+#: config/tc-mips.c:13897
msgid ".end directive missing or unknown symbol"
msgstr ""
-#: config/tc-mips.c:14099
+#: config/tc-mips.c:13958
msgid ".ent or .aent not in text section."
msgstr ""
-#: config/tc-mips.c:14102
+#: config/tc-mips.c:13961
msgid "missing .end"
msgstr ""
-#: config/tc-mips.c:14154
+#: config/tc-mips.c:14013
msgid "Bad .frame directive"
msgstr ""
-#: config/tc-mips.c:14186
+#: config/tc-mips.c:14045
msgid ".mask/.fmask outside of .ent"
msgstr ""
-#: config/tc-mips.c:14193
+#: config/tc-mips.c:14052
msgid "Bad .mask/.fmask directive"
msgstr ""
-#: config/tc-mips.c:14472
+#: config/tc-mips.c:14332
+#, c-format
msgid ""
"MIPS options:\n"
"-membedded-pic\t\tgenerate embedded position independent code\n"
@@ -6798,7 +7150,8 @@ msgid ""
"\t\t\timplicitly with the gp register [default 8]\n"
msgstr ""
-#: config/tc-mips.c:14480
+#: config/tc-mips.c:14340
+#, c-format
msgid ""
"-mips1\t\t\tgenerate MIPS ISA I instructions\n"
"-mips2\t\t\tgenerate MIPS ISA II instructions\n"
@@ -6808,96 +7161,112 @@ msgid ""
"-mips32 generate MIPS32 ISA instructions\n"
"-mips32r2 generate MIPS32 release 2 ISA instructions\n"
"-mips64 generate MIPS64 ISA instructions\n"
+"-mips64r2 generate MIPS64 release 2 ISA instructions\n"
"-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
msgstr ""
-#: config/tc-mips.c:14498
+#: config/tc-mips.c:14359
+#, c-format
msgid ""
"-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
"-no-mCPU\t\tdon't generate code specific to CPU.\n"
"\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
msgstr ""
-#: config/tc-mips.c:14511
+#: config/tc-mips.c:14372
+#, c-format
msgid ""
"-mips16\t\t\tgenerate mips16 instructions\n"
"-no-mips16\t\tdo not generate mips16 instructions\n"
msgstr ""
-#: config/tc-mips.c:14514
+#: config/tc-mips.c:14375
+#, c-format
msgid ""
"-mgp32\t\t\tuse 32-bit GPRs, regardless of the chosen ISA\n"
"-mfp32\t\t\tuse 32-bit FPRs, regardless of the chosen ISA\n"
"-O0\t\t\tremove unneeded NOPs, do not swap branches\n"
"-O\t\t\tremove unneeded NOPs and swap branches\n"
-"-n\t\t\twarn about NOPs generated from macros\n"
"--[no-]construct-floats [dis]allow floating point values to be constructed\n"
"--trap, --no-break\ttrap exception on div by 0 and mult overflow\n"
"--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
msgstr ""
-#: config/tc-mips.c:14524
+#: config/tc-mips.c:14384
+#, c-format
msgid ""
"-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
"-non_shared\t\tdo not generate position independent code\n"
"-xgot\t\t\tassume a 32 bit GOT\n"
+"-mpdr, -mno-pdr\t\tenable/disable creation of .pdr sections\n"
"-mabi=ABI\t\tcreate ABI conformant object file for:\n"
msgstr ""
-#: config/tc-mips.c:14540
+#: config/tc-mips.c:14401
+#, c-format
msgid ""
"-32\t\t\tcreate o32 ABI object file (default)\n"
"-n32\t\t\tcreate n32 ABI object file\n"
"-64\t\t\tcreate 64 ABI object file\n"
msgstr ""
-#: config/tc-mmix.c:677
+#: config/tc-mmix.c:726
+#, c-format
msgid " MMIX-specific command line options:\n"
msgstr ""
-#: config/tc-mmix.c:678
+#: config/tc-mmix.c:727
+#, c-format
msgid ""
" -fixed-special-register-names\n"
" Allow only the original special register names.\n"
msgstr ""
-#: config/tc-mmix.c:681
+#: config/tc-mmix.c:730
+#, c-format
msgid " -globalize-symbols Make all symbols global.\n"
msgstr ""
-#: config/tc-mmix.c:683
+#: config/tc-mmix.c:732
+#, c-format
msgid " -gnu-syntax Turn off mmixal syntax compatibility.\n"
msgstr ""
-#: config/tc-mmix.c:685
+#: config/tc-mmix.c:734
+#, c-format
msgid " -relax Create linker relaxable code.\n"
msgstr ""
-#: config/tc-mmix.c:687
+#: config/tc-mmix.c:736
+#, c-format
msgid ""
" -no-predefined-syms Do not provide mmixal built-in constants.\n"
" Implies -fixed-special-register-names.\n"
msgstr ""
-#: config/tc-mmix.c:690
+#: config/tc-mmix.c:739
+#, c-format
msgid ""
" -no-expand Do not expand GETA, branches, PUSHJ or JUMP\n"
" into multiple instructions.\n"
msgstr ""
-#: config/tc-mmix.c:693
+#: config/tc-mmix.c:742
+#, c-format
msgid ""
" -no-merge-gregs Do not merge GREG definitions with nearby values.\n"
msgstr ""
-#: config/tc-mmix.c:695
+#: config/tc-mmix.c:744
+#, c-format
msgid ""
" -linker-allocated-gregs If there's no suitable GREG definition for "
"the operands of an instruction, let the linker "
"resolve.\n"
msgstr ""
-#: config/tc-mmix.c:698
+#: config/tc-mmix.c:747
+#, c-format
msgid ""
" -x Do not warn when an operand to GETA, a branch,\n"
" PUSHJ or JUMP is not known to be within range.\n"
@@ -6905,185 +7274,185 @@ msgid ""
" -linker-allocated-gregs."
msgstr ""
-#: config/tc-mmix.c:825
+#: config/tc-mmix.c:874
#, c-format
msgid "unknown opcode: `%s'"
msgstr ""
-#: config/tc-mmix.c:947 config/tc-mmix.c:962
+#: config/tc-mmix.c:996 config/tc-mmix.c:1011
msgid "specified location wasn't TETRA-aligned"
msgstr ""
-#: config/tc-mmix.c:949 config/tc-mmix.c:964 config/tc-mmix.c:4015
-#: config/tc-mmix.c:4031
+#: config/tc-mmix.c:998 config/tc-mmix.c:1013 config/tc-mmix.c:4199
+#: config/tc-mmix.c:4215
msgid "unaligned data at an absolute location is not supported"
msgstr ""
-#: config/tc-mmix.c:1074
+#: config/tc-mmix.c:1123
#, c-format
msgid "invalid operand to opcode %s: `%s'"
msgstr ""
-#: config/tc-mmix.c:1096 config/tc-mmix.c:1123 config/tc-mmix.c:1156
-#: config/tc-mmix.c:1164 config/tc-mmix.c:1181 config/tc-mmix.c:1209
-#: config/tc-mmix.c:1230 config/tc-mmix.c:1255 config/tc-mmix.c:1303
-#: config/tc-mmix.c:1401 config/tc-mmix.c:1426 config/tc-mmix.c:1458
-#: config/tc-mmix.c:1490 config/tc-mmix.c:1520 config/tc-mmix.c:1573
-#: config/tc-mmix.c:1590 config/tc-mmix.c:1617 config/tc-mmix.c:1645
-#: config/tc-mmix.c:1672 config/tc-mmix.c:1698 config/tc-mmix.c:1714
-#: config/tc-mmix.c:1740 config/tc-mmix.c:1756 config/tc-mmix.c:1772
-#: config/tc-mmix.c:1835 config/tc-mmix.c:1851
+#: config/tc-mmix.c:1145 config/tc-mmix.c:1172 config/tc-mmix.c:1205
+#: config/tc-mmix.c:1213 config/tc-mmix.c:1230 config/tc-mmix.c:1258
+#: config/tc-mmix.c:1279 config/tc-mmix.c:1304 config/tc-mmix.c:1352
+#: config/tc-mmix.c:1450 config/tc-mmix.c:1475 config/tc-mmix.c:1507
+#: config/tc-mmix.c:1539 config/tc-mmix.c:1569 config/tc-mmix.c:1622
+#: config/tc-mmix.c:1639 config/tc-mmix.c:1666 config/tc-mmix.c:1694
+#: config/tc-mmix.c:1721 config/tc-mmix.c:1747 config/tc-mmix.c:1763
+#: config/tc-mmix.c:1789 config/tc-mmix.c:1805 config/tc-mmix.c:1821
+#: config/tc-mmix.c:1884 config/tc-mmix.c:1900
#, c-format
msgid "invalid operands to opcode %s: `%s'"
msgstr ""
-#: config/tc-mmix.c:1828
+#: config/tc-mmix.c:1877
#, c-format
msgid "unsupported operands to %s: `%s'"
msgstr ""
-#: config/tc-mmix.c:1956
+#: config/tc-mmix.c:2005
msgid "internal: mmix_prefix_name but empty prefix"
msgstr ""
-#: config/tc-mmix.c:2001
+#: config/tc-mmix.c:2050
#, c-format
msgid "too many GREG registers allocated (max %d)"
msgstr ""
-#: config/tc-mmix.c:2061
+#: config/tc-mmix.c:2110
msgid "BSPEC already active. Nesting is not supported."
msgstr ""
-#: config/tc-mmix.c:2070
+#: config/tc-mmix.c:2119
msgid "invalid BSPEC expression"
msgstr ""
-#: config/tc-mmix.c:2086
+#: config/tc-mmix.c:2135
#, c-format
msgid "can't create section %s"
msgstr ""
-#: config/tc-mmix.c:2091
+#: config/tc-mmix.c:2140
#, c-format
msgid "can't set section flags for section %s"
msgstr ""
-#: config/tc-mmix.c:2113
+#: config/tc-mmix.c:2162
msgid "ESPEC without preceding BSPEC"
msgstr ""
-#: config/tc-mmix.c:2143
+#: config/tc-mmix.c:2192
msgid "missing local expression"
msgstr ""
-#: config/tc-mmix.c:2363
+#: config/tc-mmix.c:2437
msgid "operand out of range, instruction expanded"
msgstr ""
#. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be
#. user-friendly, though a little bit non-substantial.
-#: config/tc-mmix.c:2620
+#: config/tc-mmix.c:2695
msgid "directive LOCAL must be placed in code or data"
msgstr ""
-#: config/tc-mmix.c:2621
+#: config/tc-mmix.c:2696
msgid "internal confusion: relocation in a section without contents"
msgstr ""
-#: config/tc-mmix.c:2734
+#: config/tc-mmix.c:2810
msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section"
msgstr ""
-#: config/tc-mmix.c:2782
+#: config/tc-mmix.c:2858
msgid "no suitable GREG definition for operands"
msgstr ""
-#: config/tc-mmix.c:2841
+#: config/tc-mmix.c:2917
msgid "operands were not reducible at assembly-time"
msgstr ""
-#: config/tc-mmix.c:2868
+#: config/tc-mmix.c:2944
#, c-format
msgid "cannot generate relocation type for symbol %s, code %s"
msgstr ""
-#: config/tc-mmix.c:2888
+#: config/tc-mmix.c:2964
#, c-format
msgid "internal: unhandled label %s"
msgstr ""
-#: config/tc-mmix.c:2942
+#: config/tc-mmix.c:3018
msgid "[0-9]H labels may not appear alone on a line"
msgstr ""
-#: config/tc-mmix.c:2951
+#: config/tc-mmix.c:3027
msgid "[0-9]H labels do not mix with dot-pseudos"
msgstr ""
-#: config/tc-mmix.c:3015
+#: config/tc-mmix.c:3091
msgid "invalid characters in input"
msgstr ""
-#: config/tc-mmix.c:3119
+#: config/tc-mmix.c:3195
msgid "empty label field for IS"
msgstr ""
-#: config/tc-mmix.c:3344
+#: config/tc-mmix.c:3528
#, c-format
msgid "internal: unexpected relax type %d:%d"
msgstr ""
-#: config/tc-mmix.c:3366
+#: config/tc-mmix.c:3550
msgid "BSPEC without ESPEC."
msgstr ""
-#: config/tc-mmix.c:3568
+#: config/tc-mmix.c:3752
msgid "GREG expression too complicated"
msgstr ""
-#: config/tc-mmix.c:3583
+#: config/tc-mmix.c:3767
msgid "internal: GREG expression not resolved to section"
msgstr ""
-#: config/tc-mmix.c:3634
+#: config/tc-mmix.c:3818
msgid "register section has contents\n"
msgstr ""
-#: config/tc-mmix.c:3768
+#: config/tc-mmix.c:3952
msgid "section change from within a BSPEC/ESPEC pair is not supported"
msgstr ""
-#: config/tc-mmix.c:3790
+#: config/tc-mmix.c:3974
msgid "directive LOC from within a BSPEC/ESPEC pair is not supported"
msgstr ""
-#: config/tc-mmix.c:3801
+#: config/tc-mmix.c:3985
msgid "invalid LOC expression"
msgstr ""
-#: config/tc-mmix.c:3826 config/tc-mmix.c:3852
+#: config/tc-mmix.c:4010 config/tc-mmix.c:4036
msgid "LOC expression stepping backwards is not supported"
msgstr ""
#. We will only get here in rare cases involving #NO_APP,
#. where the unterminated string is not recognized by the
#. preformatting pass.
-#: config/tc-mmix.c:3936 config/tc-mmix.c:4097
+#: config/tc-mmix.c:4120 config/tc-mmix.c:4281
msgid "unterminated string"
msgstr ""
-#: config/tc-mmix.c:3953
+#: config/tc-mmix.c:4137
msgid "BYTE expression not a pure number"
msgstr ""
#. Note that mmixal does not allow negative numbers in
#. BYTE sequences, so neither should we.
-#: config/tc-mmix.c:3962
+#: config/tc-mmix.c:4146
msgid "BYTE expression not in the range 0..255"
msgstr ""
-#: config/tc-mmix.c:4013 config/tc-mmix.c:4029
+#: config/tc-mmix.c:4197 config/tc-mmix.c:4213
msgid "data item with alignment larger than location"
msgstr ""
@@ -7094,42 +7463,44 @@ msgid "`&' serial number operator is not supported"
msgstr ""
#: config/tc-mn10200.c:319
+#, c-format
msgid ""
"MN10200 options:\n"
"none yet\n"
msgstr ""
-#: config/tc-mn10200.c:793 config/tc-mn10300.c:1387 config/tc-ppc.c:2088
-#: config/tc-s390.c:1540 config/tc-v850.c:1677
+#: config/tc-mn10200.c:793 config/tc-mn10300.c:1387 config/tc-ppc.c:2124
+#: config/tc-s390.c:1540 config/tc-v850.c:1694
#, c-format
msgid "Unrecognized opcode: `%s'"
msgstr ""
-#: config/tc-mn10200.c:1036 config/tc-mn10300.c:1960 config/tc-ppc.c:2566
-#: config/tc-s390.c:1455 config/tc-v850.c:2100
+#: config/tc-mn10200.c:1036 config/tc-mn10300.c:1960 config/tc-ppc.c:2603
+#: config/tc-s390.c:1455 config/tc-v850.c:2117
#, c-format
msgid "junk at end of line: `%s'"
msgstr ""
-#: config/tc-mn10200.c:1242 write.c:2691
+#: config/tc-mn10200.c:1242 write.c:2642
#, c-format
msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
msgstr ""
-#: config/tc-mn10200.c:1347 config/tc-mn10300.c:2589 config/tc-ppc.c:1426
-#: config/tc-v850.c:1606
+#: config/tc-mn10200.c:1347 config/tc-mn10300.c:2589 config/tc-ppc.c:1462
+#: config/tc-v850.c:1623
#, c-format
msgid "operand out of range (%s not between %ld and %ld)"
msgstr ""
#: config/tc-mn10300.c:690
+#, c-format
msgid ""
"MN10300 options:\n"
"none yet\n"
msgstr ""
-#: config/tc-mn10300.c:1356 config/tc-sh.c:805 config/tc-xtensa.c:5177
-#: read.c:3764
+#: config/tc-mn10300.c:1356 config/tc-sh.c:772 config/tc-xtensa.c:5062
+#: read.c:3634
#, c-format
msgid "unsupported BFD relocation size %u"
msgstr ""
@@ -7147,16 +7518,18 @@ msgstr ""
msgid "Bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-msp430.c:170
+#: config/tc-msp430.c:183
+#, c-format
msgid "Known MCU names:\n"
msgstr ""
-#: config/tc-msp430.c:173
+#: config/tc-msp430.c:186
#, c-format
msgid "\t %s\n"
msgstr ""
-#: config/tc-msp430.c:183
+#: config/tc-msp430.c:196
+#, c-format
msgid ""
"MSP430 options:\n"
" -mmcu=[msp430-name] select microcontroller type\n"
@@ -7175,120 +7548,122 @@ msgid ""
" msp430x323 msp430x325\n"
" msp430x336 msp430x337\n"
" msp430x412 msp430x413\n"
+" msp430xE423 msp430xE425 msp430E427\n"
+" msp430xW423 msp430xW425 msp430W427\n"
" msp430x435 msp430x436 msp430x437\n"
" msp430x447 msp430x448 msp430x449\n"
msgstr ""
-#: config/tc-msp430.c:263
+#: config/tc-msp430.c:278
#, c-format
msgid "redefinition of mcu type %s' to %s'"
msgstr ""
-#: config/tc-msp430.c:496
+#: config/tc-msp430.c:511
#, c-format
msgid "instruction %s requires %d operand(s)"
msgstr ""
-#: config/tc-msp430.c:743
+#: config/tc-msp430.c:757
#, c-format
msgid "Even number required. Rounded to %d"
msgstr ""
-#: config/tc-msp430.c:754
+#: config/tc-msp430.c:768
#, c-format
msgid "Wrong displacement %d"
msgstr ""
-#: config/tc-msp430.c:771
+#: config/tc-msp430.c:785
msgid "instruction requires label sans '$'"
msgstr ""
-#: config/tc-msp430.c:777
+#: config/tc-msp430.c:791
msgid "instruction requires label or value in range -511:512"
msgstr ""
-#: config/tc-msp430.c:783
+#: config/tc-msp430.c:797
msgid "instruction requires label"
msgstr ""
-#: config/tc-msp430.c:789
+#: config/tc-msp430.c:803
msgid "Ilegal instruction or not implmented opcode."
msgstr ""
-#: config/tc-msp430.c:817
+#: config/tc-msp430.c:831
#, c-format
msgid "Internal bug. Try to use 0(r%d) instead of @r%d"
msgstr ""
-#: config/tc-msp430.c:827
+#: config/tc-msp430.c:841
msgid "this addressing mode is not applicable for destination operand"
msgstr ""
-#: config/tc-msp430.c:944
+#: config/tc-msp430.c:958
#, c-format
msgid "value %ld out of range. Use #lo() or #hi()"
msgstr ""
-#: config/tc-msp430.c:1040
+#: config/tc-msp430.c:1046
#, c-format
msgid "unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() "
msgstr ""
-#: config/tc-msp430.c:1090 config/tc-msp430.c:1304
+#: config/tc-msp430.c:1096 config/tc-msp430.c:1310
#, c-format
msgid "unknown operand %s"
msgstr ""
-#: config/tc-msp430.c:1111 config/tc-msp430.c:1242
+#: config/tc-msp430.c:1117 config/tc-msp430.c:1248
#, c-format
msgid "value out of range: %d"
msgstr ""
-#: config/tc-msp430.c:1120 config/tc-msp430.c:1259
+#: config/tc-msp430.c:1126 config/tc-msp430.c:1265
#, c-format
msgid "unknown expression in operand %s"
msgstr ""
-#: config/tc-msp430.c:1134 config/tc-msp430.c:1141
+#: config/tc-msp430.c:1140 config/tc-msp430.c:1147
#, c-format
msgid "unknown addressing mode %s"
msgstr ""
-#: config/tc-msp430.c:1149
+#: config/tc-msp430.c:1155
#, c-format
msgid "Bad register name r%s"
msgstr ""
-#: config/tc-msp430.c:1161
+#: config/tc-msp430.c:1167
#, c-format
msgid "MSP430 does not have %d registers"
msgstr ""
-#: config/tc-msp430.c:1181
+#: config/tc-msp430.c:1187
msgid "')' required"
msgstr ""
-#: config/tc-msp430.c:1194
+#: config/tc-msp430.c:1200
#, c-format
msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"
msgstr ""
-#: config/tc-msp430.c:1203
+#: config/tc-msp430.c:1209
#, c-format
msgid "unknown operator (r%s substituded as a register name"
msgstr ""
-#: config/tc-msp430.c:1215 config/tc-msp430.c:1226
+#: config/tc-msp430.c:1221 config/tc-msp430.c:1232
#, c-format
msgid "unknown operator %s"
msgstr ""
-#: config/tc-msp430.c:1220
+#: config/tc-msp430.c:1226
msgid "r2 should not be used in indexed addressing mode"
msgstr ""
#. Unreachable.
-#: config/tc-msp430.c:1321
+#: config/tc-msp430.c:1327
#, c-format
msgid "unknown addressing mode for operand %s"
msgstr ""
@@ -7459,6 +7834,7 @@ msgid "invalid default displacement size \"%s\". Defaulting to %d."
msgstr ""
#: config/tc-ns32k.c:2213
+#, c-format
msgid ""
"NS32K options:\n"
"-m32032 | -m32532\tselect variant of NS32K architecture\n"
@@ -7527,20 +7903,21 @@ msgstr ""
msgid "can't have relocation for ipush"
msgstr ""
-#: config/tc-pj.c:290 config/tc-xtensa.c:4976
+#: config/tc-pj.c:290 config/tc-xtensa.c:4864
#, c-format
msgid "unknown opcode %s"
msgstr ""
#: config/tc-pj.c:439
+#, c-format
msgid ""
"PJ options:\n"
"-little\t\t\tgenerate little endian code\n"
"-big\t\t\tgenerate big endian code\n"
msgstr ""
-#: config/tc-pj.c:469 config/tc-sh.c:3464 config/tc-sh.c:3471
-#: config/tc-sh.c:3478 config/tc-sh.c:3485
+#: config/tc-pj.c:469 config/tc-sh.c:3763 config/tc-sh.c:3770
+#: config/tc-sh.c:3777 config/tc-sh.c:3784
msgid "pcrel too far"
msgstr ""
@@ -7552,17 +7929,18 @@ msgstr ""
msgid "estimate size\n"
msgstr ""
-#: config/tc-ppc.c:879
+#: config/tc-ppc.c:980
#, c-format
msgid "%s unsupported"
msgstr ""
-#: config/tc-ppc.c:1029 config/tc-s390.c:414 config/tc-s390.c:421
+#: config/tc-ppc.c:1046 config/tc-s390.c:414 config/tc-s390.c:421
#, c-format
msgid "invalid switch -m%s"
msgstr ""
-#: config/tc-ppc.c:1066
+#: config/tc-ppc.c:1083
+#, c-format
msgid ""
"PowerPC options:\n"
"-a32\t\t\tgenerate ELF32/XCOFF32\n"
@@ -7574,11 +7952,13 @@ msgid ""
"-mppc, -mppc32, -m603, -m604\n"
"\t\t\tgenerate code for PowerPC 603/604\n"
"-m403, -m405\t\tgenerate code for PowerPC 403/405\n"
+"-m440\t\t\tgenerate code for PowerPC 440\n"
"-m7400, -m7410, -m7450, -m7455\n"
"\t\t\tgenerate code For PowerPC 7400/7410/7450/7455\n"
msgstr ""
-#: config/tc-ppc.c:1079
+#: config/tc-ppc.c:1097
+#, c-format
msgid ""
"-mppc64, -m620\t\tgenerate code for PowerPC 620/625/630\n"
"-mppc64bridge\t\tgenerate code for PowerPC 64, including bridge insns\n"
@@ -7589,7 +7969,8 @@ msgid ""
"-many\t\t\tgenerate code for any architecture (PWR/PWRX/PPC)\n"
msgstr ""
-#: config/tc-ppc.c:1087
+#: config/tc-ppc.c:1105
+#, c-format
msgid ""
"-maltivec\t\tgenerate code for AltiVec\n"
"-me500, -me500x2\tgenerate code for Motorola e500 core complex\n"
@@ -7598,7 +7979,8 @@ msgid ""
"-mno-regnames\t\tDo not allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1094
+#: config/tc-ppc.c:1112
+#, c-format
msgid ""
"-mrelocatable\t\tsupport for GCC's -mrelocatble option\n"
"-mrelocatable-lib\tsupport for GCC's -mrelocatble-lib option\n"
@@ -7613,221 +7995,244 @@ msgid ""
"-Qy, -Qn\t\tignored\n"
msgstr ""
-#: config/tc-ppc.c:1136
+#: config/tc-ppc.c:1154
#, c-format
msgid "Unknown default cpu = %s, os = %s"
msgstr ""
-#: config/tc-ppc.c:1161
+#: config/tc-ppc.c:1179
msgid "Neither Power nor PowerPC opcodes were selected."
msgstr ""
-#: config/tc-ppc.c:1257 config/tc-s390.c:516
+#: config/tc-ppc.c:1269 config/tc-s390.c:516
#, c-format
msgid "Internal assembler error for instruction %s"
msgstr ""
-#: config/tc-ppc.c:1277
+#: config/tc-ppc.c:1293
#, c-format
msgid "Internal assembler error for macro %s"
msgstr ""
-#: config/tc-ppc.c:1599
+#: config/tc-ppc.c:1635
msgid "identifier+constant@got means identifier@got+constant"
msgstr ""
-#: config/tc-ppc.c:1666
+#: config/tc-ppc.c:1702
#, c-format
msgid "%s relocations do not fit in %d bytes\n"
msgstr ""
-#: config/tc-ppc.c:1773
+#: config/tc-ppc.c:1809
#, c-format
msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-ppc.c:1855
+#: config/tc-ppc.c:1891
msgid "Relocation cannot be done when using -mrelocatable"
msgstr ""
-#: config/tc-ppc.c:1981
+#: config/tc-ppc.c:2017
#, c-format
msgid "syntax error: invalid toc specifier `%s'"
msgstr ""
-#: config/tc-ppc.c:1995
+#: config/tc-ppc.c:2031
#, c-format
msgid "syntax error: expected `]', found `%c'"
msgstr ""
-#: config/tc-ppc.c:2272
+#: config/tc-ppc.c:2309
msgid "[tocv] symbol is not a toc symbol"
msgstr ""
-#: config/tc-ppc.c:2283
+#: config/tc-ppc.c:2320
msgid "Unimplemented toc32 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2288
+#: config/tc-ppc.c:2325
msgid "Unimplemented toc64 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2292
+#: config/tc-ppc.c:2329
#, c-format
msgid "Unexpected return value [%d] from parse_toc_entry!\n"
msgstr ""
-#: config/tc-ppc.c:2510
+#: config/tc-ppc.c:2547
msgid "unsupported relocation for DS offset field"
msgstr ""
-#: config/tc-ppc.c:2554
+#: config/tc-ppc.c:2591
#, c-format
msgid "syntax error; found `%c' but expected `%c'"
msgstr ""
-#: config/tc-ppc.c:2703
+#: config/tc-ppc.c:2740
msgid "wrong number of operands"
msgstr ""
-#: config/tc-ppc.c:2759
+#: config/tc-ppc.c:2796
msgid "Bad .section directive: want a,e,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-ppc.c:2874
+#: config/tc-ppc.c:2911
msgid "missing size"
msgstr ""
-#: config/tc-ppc.c:2883
+#: config/tc-ppc.c:2920
msgid "negative size"
msgstr ""
-#: config/tc-ppc.c:2920
+#: config/tc-ppc.c:2957
msgid "missing real symbol name"
msgstr ""
-#: config/tc-ppc.c:2941
+#: config/tc-ppc.c:2978
msgid "attempt to redefine symbol"
msgstr ""
-#: config/tc-ppc.c:3188
+#: config/tc-ppc.c:3225
msgid "The XCOFF file format does not support arbitrary sections"
msgstr ""
-#: config/tc-ppc.c:3265
+#: config/tc-ppc.c:3302
msgid "missing rename string"
msgstr ""
-#: config/tc-ppc.c:3296 config/tc-ppc.c:3851 read.c:3060
+#: config/tc-ppc.c:3333 config/tc-ppc.c:3888 read.c:2932
msgid "missing value"
msgstr ""
-#: config/tc-ppc.c:3314
+#: config/tc-ppc.c:3351
msgid "illegal .stabx expression; zero assumed"
msgstr ""
-#: config/tc-ppc.c:3346
+#: config/tc-ppc.c:3383
msgid "missing class"
msgstr ""
-#: config/tc-ppc.c:3355
+#: config/tc-ppc.c:3392
msgid "missing type"
msgstr ""
-#: config/tc-ppc.c:3436
+#: config/tc-ppc.c:3473
msgid "missing symbol name"
msgstr ""
-#: config/tc-ppc.c:3630
+#: config/tc-ppc.c:3667
msgid "nested .bs blocks"
msgstr ""
-#: config/tc-ppc.c:3663
+#: config/tc-ppc.c:3700
msgid ".es without preceding .bs"
msgstr ""
-#: config/tc-ppc.c:3843
+#: config/tc-ppc.c:3880
msgid "non-constant byte count"
msgstr ""
-#: config/tc-ppc.c:3891
+#: config/tc-ppc.c:3928
msgid ".tc not in .toc section"
msgstr ""
-#: config/tc-ppc.c:3910
+#: config/tc-ppc.c:3947
msgid ".tc with no label"
msgstr ""
-#: config/tc-ppc.c:4021
+#: config/tc-ppc.c:4039
+msgid ".machine stack overflow"
+msgstr ""
+
+#: config/tc-ppc.c:4046
+msgid ".machine stack underflow"
+msgstr ""
+
+#: config/tc-ppc.c:4053
+#, c-format
+msgid "invalid machine `%s'"
+msgstr ""
+
+#: config/tc-ppc.c:4107
msgid "No previous section to return to. Directive ignored."
msgstr ""
#. Section Contents
#. unknown
-#: config/tc-ppc.c:4438
+#: config/tc-ppc.c:4524
msgid "Unsupported section attribute -- 'a'"
msgstr ""
-#: config/tc-ppc.c:4627
+#: config/tc-ppc.c:4713
msgid "bad symbol suffix"
msgstr ""
-#: config/tc-ppc.c:4720
+#: config/tc-ppc.c:4806
msgid "Unrecognized symbol suffix"
msgstr ""
-#: config/tc-ppc.c:4806
+#: config/tc-ppc.c:4892
msgid "two .function pseudo-ops with no intervening .ef"
msgstr ""
-#: config/tc-ppc.c:4819
+#: config/tc-ppc.c:4905
msgid ".ef with no preceding .function"
msgstr ""
-#: config/tc-ppc.c:4947
+#: config/tc-ppc.c:5033
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
-#: config/tc-ppc.c:5251
+#: config/tc-ppc.c:5337
msgid "symbol in .toc does not match any .tc"
msgstr ""
-#: config/tc-ppc.c:5584 config/tc-s390.c:2072 config/tc-v850.c:2401
+#: config/tc-ppc.c:5670 config/tc-s390.c:2078 config/tc-v850.c:2418
#: config/tc-xstormy16.c:537
msgid "unresolved expression that must be resolved"
msgstr ""
-#: config/tc-ppc.c:5587
+#: config/tc-ppc.c:5673
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
-#: config/tc-ppc.c:5662
+#: config/tc-ppc.c:5748
#, c-format
msgid "cannot emit PC relative %s relocation against %s"
msgstr ""
-#: config/tc-ppc.c:5667
+#: config/tc-ppc.c:5753
#, c-format
msgid "cannot emit PC relative %s relocation"
msgstr ""
-#: config/tc-ppc.c:5841
+#: config/tc-ppc.c:5906
+#, c-format
+msgid "Unable to handle reference to symbol %s"
+msgstr ""
+
+#: config/tc-ppc.c:5909
+msgid "Unable to resolve expression"
+msgstr ""
+
+#: config/tc-ppc.c:5936
msgid "must branch to an address a multiple of 4"
msgstr ""
-#: config/tc-ppc.c:5845
+#: config/tc-ppc.c:5940
#, c-format
msgid "@local or @plt branch destination is too far away, %ld bytes"
msgstr ""
-#: config/tc-ppc.c:5876
+#: config/tc-ppc.c:5971
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr ""
#: config/tc-s390.c:457
+#, c-format
msgid ""
" S390 options:\n"
" -mregnames Allow symbolic names for registers\n"
@@ -7838,6 +8243,7 @@ msgid ""
msgstr ""
#: config/tc-s390.c:464
+#, c-format
msgid ""
" -V print assembler version number\n"
" -Qy, -Qn ignored\n"
@@ -7865,7 +8271,7 @@ msgstr ""
msgid "Big number is too big"
msgstr ""
-#: config/tc-s390.c:1144 config/tc-s390.c:1722
+#: config/tc-s390.c:1144 config/tc-s390.c:1728
#, c-format
msgid "%s relocations do not fit in %d bytes"
msgstr ""
@@ -7894,7 +8300,7 @@ msgstr ""
msgid "syntax error; ')' not allowed here"
msgstr ""
-#: config/tc-s390.c:1602 config/tc-s390.c:1622 config/tc-s390.c:1635
+#: config/tc-s390.c:1602 config/tc-s390.c:1628 config/tc-s390.c:1641
msgid "Invalid .insn format\n"
msgstr ""
@@ -7903,366 +8309,407 @@ msgstr ""
msgid "Unrecognized opcode format: `%s'"
msgstr ""
-#: config/tc-s390.c:1638
+#: config/tc-s390.c:1644
msgid "second operand of .insn not a constant\n"
msgstr ""
-#: config/tc-s390.c:1641
+#: config/tc-s390.c:1647
msgid "missing comma after insn constant\n"
msgstr ""
-#: config/tc-s390.c:2075
+#: config/tc-s390.c:2081
msgid "unsupported relocation type"
msgstr ""
-#: config/tc-sh64.c:596
+#: config/tc-sh64.c:568
msgid "This operand must be constant at assembly time"
msgstr ""
-#: config/tc-sh64.c:711
+#: config/tc-sh64.c:681
msgid "Invalid operand expression"
msgstr ""
-#: config/tc-sh64.c:798 config/tc-sh64.c:904
+#: config/tc-sh64.c:768 config/tc-sh64.c:872
msgid "PTB operand is a SHmedia symbol"
msgstr ""
-#: config/tc-sh64.c:801 config/tc-sh64.c:901
+#: config/tc-sh64.c:771 config/tc-sh64.c:869
msgid "PTA operand is a SHcompact symbol"
msgstr ""
-#: config/tc-sh64.c:817
+#: config/tc-sh64.c:787
msgid "invalid expression in operand"
msgstr ""
-#: config/tc-sh64.c:1514
+#: config/tc-sh64.c:1478
#, c-format
msgid "invalid operand, not a 5-bit unsigned value: %d"
msgstr ""
-#: config/tc-sh64.c:1519
+#: config/tc-sh64.c:1483
#, c-format
msgid "invalid operand, not a 6-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1524
+#: config/tc-sh64.c:1488
#, c-format
msgid "invalid operand, not a 6-bit unsigned value: %d"
msgstr ""
-#: config/tc-sh64.c:1529 config/tc-sh64.c:1541
+#: config/tc-sh64.c:1493 config/tc-sh64.c:1505
#, c-format
msgid "invalid operand, not a 11-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1531
+#: config/tc-sh64.c:1495
#, c-format
msgid "invalid operand, not a multiple of 32: %d"
msgstr ""
-#: config/tc-sh64.c:1536
+#: config/tc-sh64.c:1500
#, c-format
msgid "invalid operand, not a 10-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1543
+#: config/tc-sh64.c:1507
#, c-format
msgid "invalid operand, not an even value: %d"
msgstr ""
-#: config/tc-sh64.c:1548
+#: config/tc-sh64.c:1512
#, c-format
msgid "invalid operand, not a 12-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1550
+#: config/tc-sh64.c:1514
#, c-format
msgid "invalid operand, not a multiple of 4: %d"
msgstr ""
-#: config/tc-sh64.c:1555
+#: config/tc-sh64.c:1519
#, c-format
msgid "invalid operand, not a 13-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1557
+#: config/tc-sh64.c:1521
#, c-format
msgid "invalid operand, not a multiple of 8: %d"
msgstr ""
-#: config/tc-sh64.c:1562
+#: config/tc-sh64.c:1526
#, c-format
msgid "invalid operand, not a 16-bit signed value: %d"
msgstr ""
-#: config/tc-sh64.c:1567
+#: config/tc-sh64.c:1531
#, c-format
msgid "invalid operand, not an 16-bit unsigned value: %d"
msgstr ""
-#: config/tc-sh64.c:1573
+#: config/tc-sh64.c:1537
msgid "operand out of range for PT, PTA and PTB"
msgstr ""
-#: config/tc-sh64.c:1575
+#: config/tc-sh64.c:1539
#, c-format
msgid "operand not a multiple of 4 for PT, PTA or PTB: %d"
msgstr ""
-#: config/tc-sh64.c:2103
+#: config/tc-sh64.c:2059
#, c-format
msgid "MOVI operand is not a 32-bit signed value: 0x%8x%08x"
msgstr ""
-#: config/tc-sh64.c:2466 config/tc-sh64.c:2631 config/tc-sh64.c:2646
+#: config/tc-sh64.c:2416 config/tc-sh64.c:2579 config/tc-sh64.c:2594
msgid "invalid PIC reference"
msgstr ""
-#: config/tc-sh64.c:2524
+#: config/tc-sh64.c:2473
msgid "can't find opcode"
msgstr ""
-#: config/tc-sh64.c:2854
+#: config/tc-sh64.c:2801
#, c-format
msgid "invalid operands to %s"
msgstr ""
-#: config/tc-sh64.c:2860
+#: config/tc-sh64.c:2807
#, c-format
msgid "excess operands to %s"
msgstr ""
-#: config/tc-sh64.c:2906
+#: config/tc-sh64.c:2852
#, c-format
msgid "The `.mode %s' directive is not valid with this architecture"
msgstr ""
-#: config/tc-sh64.c:2914
+#: config/tc-sh64.c:2860
#, c-format
msgid "Invalid argument to .mode: %s"
msgstr ""
-#: config/tc-sh64.c:2945
+#: config/tc-sh64.c:2890
#, c-format
msgid "The `.abi %s' directive is not valid with this architecture"
msgstr ""
-#: config/tc-sh64.c:2951
+#: config/tc-sh64.c:2896
msgid "`.abi 64' but command-line options do not specify 64-bit ABI"
msgstr ""
-#: config/tc-sh64.c:2956
+#: config/tc-sh64.c:2901
msgid "`.abi 32' but command-line options do not specify 32-bit ABI"
msgstr ""
-#: config/tc-sh64.c:2959
+#: config/tc-sh64.c:2904
#, c-format
msgid "Invalid argument to .abi: %s"
msgstr ""
-#: config/tc-sh64.c:3014
+#: config/tc-sh64.c:2959
msgid "-no-mix is invalid without specifying SHcompact or SHmedia"
msgstr ""
-#: config/tc-sh64.c:3019
+#: config/tc-sh64.c:2964
msgid "-shcompact-const-crange is invalid without SHcompact"
msgstr ""
-#: config/tc-sh64.c:3022
+#: config/tc-sh64.c:2967
msgid "-expand-pt32 only valid with -abi=64"
msgstr ""
-#: config/tc-sh64.c:3025
+#: config/tc-sh64.c:2970
msgid "-no-expand only valid with SHcompact or SHmedia"
msgstr ""
-#: config/tc-sh64.c:3028
+#: config/tc-sh64.c:2973
msgid "-expand-pt32 invalid together with -no-expand"
msgstr ""
-#: config/tc-sh64.c:3250
+#: config/tc-sh64.c:3190
msgid ""
"SHmedia code not allowed in same section as constants and SHcompact code"
msgstr ""
-#: config/tc-sh64.c:3268
+#: config/tc-sh64.c:3208
msgid "No segment info for current section"
msgstr ""
-#: config/tc-sh64.c:3310
+#: config/tc-sh64.c:3246
msgid "duplicate datalabel operator ignored"
msgstr ""
-#: config/tc-sh64.c:3380
+#: config/tc-sh64.c:3316
msgid "Invalid DataLabel expression"
msgstr ""
-#: config/tc-sh.c:91
+#: config/tc-sh.c:65
msgid "directive .big encountered when option -big required"
msgstr ""
-#: config/tc-sh.c:102
+#: config/tc-sh.c:75
msgid "directive .little encountered when option -little required"
msgstr ""
-#: config/tc-sh.c:776
+#: config/tc-sh.c:743
msgid "Invalid PIC expression."
msgstr ""
-#: config/tc-sh.c:1269
+#: config/tc-sh.c:1235
msgid "misplaced PIC operand"
msgstr ""
-#: config/tc-sh.c:1310
+#: config/tc-sh.c:1274
msgid "illegal register after @-"
msgstr ""
-#: config/tc-sh.c:1326
+#: config/tc-sh.c:1290
msgid "must be @(r0,...)"
msgstr ""
-#: config/tc-sh.c:1350
+#: config/tc-sh.c:1314
msgid "syntax error in @(r0,...)"
msgstr ""
-#: config/tc-sh.c:1355
+#: config/tc-sh.c:1319
msgid "syntax error in @(r0...)"
msgstr ""
-#: config/tc-sh.c:1396
+#: config/tc-sh.c:1360
msgid "Deprecated syntax."
msgstr ""
-#: config/tc-sh.c:1408 config/tc-sh.c:1413
+#: config/tc-sh.c:1372 config/tc-sh.c:1377
msgid "syntax error in @(disp,[Rn, gbr, pc])"
msgstr ""
-#: config/tc-sh.c:1418
+#: config/tc-sh.c:1382
msgid "expecting )"
msgstr ""
-#: config/tc-sh.c:1426
+#: config/tc-sh.c:1390
msgid "illegal register after @"
msgstr ""
-#: config/tc-sh.c:1977
+#: config/tc-sh.c:2154
#, c-format
msgid "Invalid register: 'r%d'"
msgstr ""
-#: config/tc-sh.c:2143
+#: config/tc-sh.c:2321
msgid "insn can't be combined with parallel processing insn"
msgstr ""
-#: config/tc-sh.c:2150 config/tc-sh.c:2161
+#: config/tc-sh.c:2328 config/tc-sh.c:2339 config/tc-sh.c:2371
msgid "multiple movx specifications"
msgstr ""
-#: config/tc-sh.c:2155 config/tc-sh.c:2182
+#: config/tc-sh.c:2333 config/tc-sh.c:2355 config/tc-sh.c:2394
msgid "multiple movy specifications"
msgstr ""
-#: config/tc-sh.c:2163
+#: config/tc-sh.c:2342 config/tc-sh.c:2375
msgid "invalid movx address register"
msgstr ""
-#: config/tc-sh.c:2169 config/tc-sh.c:2174
+#: config/tc-sh.c:2344
+msgid "insn cannot be combined with non-nopy"
+msgstr ""
+
+#: config/tc-sh.c:2358 config/tc-sh.c:2414
+msgid "invalid movy address register"
+msgstr ""
+
+#: config/tc-sh.c:2360
+msgid "insn cannot be combined with non-nopx"
+msgstr ""
+
+#: config/tc-sh.c:2373
+msgid "previous movy requires nopx"
+msgstr ""
+
+#: config/tc-sh.c:2381 config/tc-sh.c:2386
msgid "invalid movx dsp register"
msgstr ""
-#: config/tc-sh.c:2191 config/tc-sh.c:2196
-msgid "invalid movy dsp register"
+#: config/tc-sh.c:2396
+msgid "previous movx requires nopy"
msgstr ""
-#: config/tc-sh.c:2200
-msgid "invalid movy address register"
+#: config/tc-sh.c:2405 config/tc-sh.c:2410
+msgid "invalid movy dsp register"
msgstr ""
-#: config/tc-sh.c:2206
+#: config/tc-sh.c:2420
msgid "dsp immediate shift value not constant"
msgstr ""
-#: config/tc-sh.c:2213 config/tc-sh.c:2226
+#: config/tc-sh.c:2434 config/tc-sh.c:2460
msgid "multiple parallel processing specifications"
msgstr ""
-#: config/tc-sh.c:2219
+#: config/tc-sh.c:2453
msgid "multiple condition specifications"
msgstr ""
-#: config/tc-sh.c:2235
+#: config/tc-sh.c:2491
msgid "insn cannot be combined with pmuls"
msgstr ""
-#: config/tc-sh.c:2252
-msgid "bad padd / psub pmuls output operand"
+#: config/tc-sh.c:2507
+msgid "bad combined pmuls output operand"
msgstr ""
-#: config/tc-sh.c:2262
+#: config/tc-sh.c:2517
msgid "destination register is same for parallel insns"
msgstr ""
-#: config/tc-sh.c:2271
+#: config/tc-sh.c:2526
msgid "condition not followed by conditionalizable insn"
msgstr ""
-#: config/tc-sh.c:2281
+#: config/tc-sh.c:2536
msgid "unrecognized characters at end of parallel processing insn"
msgstr ""
-#: config/tc-sh.c:2417
+#: config/tc-sh.c:2651
+msgid "opcode not valid for this cpu variant"
+msgstr ""
+
+#: config/tc-sh.c:2684
+msgid "Delayed branches not available on SH1"
+msgstr ""
+
+#: config/tc-sh.c:2716
#, c-format
msgid "excess operands: '%s'"
msgstr ""
-#: config/tc-sh.c:2569
+#: config/tc-sh.c:2861
msgid ".uses pseudo-op seen when not relaxing"
msgstr ""
-#: config/tc-sh.c:2575
+#: config/tc-sh.c:2867
msgid "bad .uses format"
msgstr ""
-#: config/tc-sh.c:2654
+#: config/tc-sh.c:2954
msgid "Invalid combination: --isa=SHcompact with --isa=SHmedia"
msgstr ""
-#: config/tc-sh.c:2660
+#: config/tc-sh.c:2960
msgid "Invalid combination: --isa=SHmedia with --isa=SHcompact"
msgstr ""
-#: config/tc-sh.c:2662
+#: config/tc-sh.c:2962
msgid "Invalid combination: --abi=64 with --isa=SHcompact"
msgstr ""
-#: config/tc-sh.c:2675
+#: config/tc-sh.c:2975
msgid "Invalid combination: --abi=32 with --abi=64"
msgstr ""
-#: config/tc-sh.c:2681
+#: config/tc-sh.c:2981
msgid "Invalid combination: --abi=64 with --abi=32"
msgstr ""
-#: config/tc-sh.c:2683
+#: config/tc-sh.c:2983
msgid "Invalid combination: --isa=SHcompact with --abi=64"
msgstr ""
-#: config/tc-sh.c:2718
+#: config/tc-sh.c:3017
+#, c-format
msgid ""
"SH options:\n"
"-little\t\t\tgenerate little endian code\n"
"-big\t\t\tgenerate big endian code\n"
"-relax\t\t\talter jump instructions for long displacements\n"
"-small\t\t\talign sections to 4 byte boundaries, not 16\n"
-"-dsp\t\t\tenable sh-dsp insns, and disable sh2e/sh3e/sh4 insns.\n"
+"-dsp\t\t\tenable sh-dsp insns, and disable floating-point ISAs.\n"
+"-isa=[sh4\n"
+" | sh4-nofpu\t\tsh4 with fpu disabled\n"
+" | sh4-nommu-nofpu sh4 with no MMU or FPU\n"
+" | sh4a\n"
+"\\ "
+msgstr ""
+
+#: config/tc-sh.c:3030
+#, c-format
+msgid "));"
+msgstr ""
+
+#: config/tc-sh.c:3032
+#, c-format
+msgid ""
+"-isa=[shmedia\t\tset as the default instruction set for SH64\n"
+" | SHmedia\n"
+" | shcompact\n"
+" | SHcompact]\n"
msgstr ""
-#: config/tc-sh.c:2726
+#: config/tc-sh.c:3037
+#, c-format
msgid ""
-"-isa=[shmedia\t\tset default instruction set for SH64\n"
-" | SHmedia\n"
-" | shcompact\n"
-" | SHcompact]\n"
"-abi=[32|64]\t\tset size of expanded SHmedia operands and object\n"
"\t\t\tfile type\n"
"-shcompact-const-crange\temit code-range descriptors for constants in\n"
@@ -8271,95 +8718,93 @@ msgid ""
"\t\t\tconstants and SHcompact code\n"
"-no-expand\t\tdo not expand MOVI, PT, PTA or PTB instructions\n"
"-expand-pt32\t\twith -abi=64, expand PT, PTA and PTB instructions\n"
-"\t\t\tto 32 bits only"
+"\t\t\tto 32 bits only\n"
msgstr ""
-#: config/tc-sh.c:2823
+#: config/tc-sh.c:3125
msgid ".uses does not refer to a local symbol in the same section"
msgstr ""
-#: config/tc-sh.c:2842
+#: config/tc-sh.c:3144
msgid "can't find fixup pointed to by .uses"
msgstr ""
-#: config/tc-sh.c:2865
+#: config/tc-sh.c:3167
msgid ".uses target does not refer to a local symbol in the same section"
msgstr ""
-#: config/tc-sh.c:2967
+#: config/tc-sh.c:3267
msgid "displacement overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:2970
+#: config/tc-sh.c:3270
#, c-format
msgid "displacement to defined symbol %s overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:2974
+#: config/tc-sh.c:3274
#, c-format
msgid "displacement to undefined symbol %s overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:3052
+#: config/tc-sh.c:3352
msgid "displacement overflows 8-bit field"
msgstr ""
-#: config/tc-sh.c:3055
+#: config/tc-sh.c:3355
#, c-format
msgid "displacement to defined symbol %s overflows 8-bit field"
msgstr ""
-#: config/tc-sh.c:3059
+#: config/tc-sh.c:3359
#, c-format
msgid "displacement to undefined symbol %s overflows 8-bit field "
msgstr ""
-#: config/tc-sh.c:3076
+#: config/tc-sh.c:3376
#, c-format
msgid "overflow in branch to %s; converted into longer instruction sequence"
msgstr ""
-#: config/tc-sh.c:3151 config/tc-sh.c:3199 config/tc-sparc.c:4192
-#: config/tc-sparc.c:4217
+#: config/tc-sh.c:3447 config/tc-sh.c:3494 config/tc-sparc.c:4203
+#: config/tc-sparc.c:4228
msgid "misaligned data"
msgstr ""
-#: config/tc-sh.c:3585
+#: config/tc-sh.c:3884
msgid "misaligned offset"
msgstr ""
-#: config/tc-sparc.c:287
+#: config/tc-sparc.c:291
msgid "Invalid default architecture, broken assembler."
msgstr ""
-#: config/tc-sparc.c:291 config/tc-sparc.c:494
+#: config/tc-sparc.c:295 config/tc-sparc.c:498
msgid "Bad opcode table, broken assembler."
msgstr ""
-#: config/tc-sparc.c:486
+#: config/tc-sparc.c:490
#, c-format
msgid "invalid architecture -xarch=%s"
msgstr ""
-#: config/tc-sparc.c:488
+#: config/tc-sparc.c:492
#, c-format
msgid "invalid architecture -A%s"
msgstr ""
-#: config/tc-sparc.c:555
+#: config/tc-sparc.c:559
#, c-format
msgid "No compiled in support for %d bit object file format"
msgstr ""
-#: config/tc-sparc.c:592
-msgid "Unrecognized option following -K"
-msgstr ""
-
-#: config/tc-sparc.c:633
+#: config/tc-sparc.c:637
+#, c-format
msgid "SPARC options:\n"
msgstr ""
-#: config/tc-sparc.c:662
+#: config/tc-sparc.c:666
+#, c-format
msgid ""
"\n"
"\t\t\tspecify variant of SPARC architecture\n"
@@ -8370,34 +8815,38 @@ msgid ""
"-no-relax\t\tavoid changing any jumps and branches\n"
msgstr ""
-#: config/tc-sparc.c:670
+#: config/tc-sparc.c:674
+#, c-format
msgid "-k\t\t\tgenerate PIC\n"
msgstr ""
-#: config/tc-sparc.c:674
+#: config/tc-sparc.c:678
+#, c-format
msgid ""
"-32\t\t\tcreate 32 bit object file\n"
"-64\t\t\tcreate 64 bit object file\n"
msgstr ""
-#: config/tc-sparc.c:677
+#: config/tc-sparc.c:681
#, c-format
msgid "\t\t\t[default is %d]\n"
msgstr ""
-#: config/tc-sparc.c:679
+#: config/tc-sparc.c:683
+#, c-format
msgid ""
"-TSO\t\t\tuse Total Store Ordering\n"
"-PSO\t\t\tuse Partial Store Ordering\n"
"-RMO\t\t\tuse Relaxed Memory Ordering\n"
msgstr ""
-#: config/tc-sparc.c:683
+#: config/tc-sparc.c:687
#, c-format
msgid "\t\t\t[default is %s]\n"
msgstr ""
-#: config/tc-sparc.c:685
+#: config/tc-sparc.c:689
+#, c-format
msgid ""
"-KPIC\t\t\tgenerate PIC\n"
"-V\t\t\tprint assembler version number\n"
@@ -8410,7 +8859,8 @@ msgid ""
"-s\t\t\tignored\n"
msgstr ""
-#: config/tc-sparc.c:697
+#: config/tc-sparc.c:701
+#, c-format
msgid ""
"-EL\t\t\tgenerate code for a little endian machine\n"
"-EB\t\t\tgenerate code for a big endian machine\n"
@@ -8418,302 +8868,297 @@ msgid ""
" instructions and little endian data.\n"
msgstr ""
-#: config/tc-sparc.c:817
+#: config/tc-sparc.c:822
#, c-format
msgid "Internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-sparc.c:836
+#: config/tc-sparc.c:841
#, c-format
msgid "Internal error: can't find opcode `%s' for `%s'\n"
msgstr ""
-#: config/tc-sparc.c:982
+#: config/tc-sparc.c:987
msgid "Support for 64-bit arithmetic not compiled in."
msgstr ""
-#: config/tc-sparc.c:1029
+#: config/tc-sparc.c:1034
msgid "set: number not in 0..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1036
+#: config/tc-sparc.c:1041
msgid "set: number not in -2147483648..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1096
+#: config/tc-sparc.c:1101
msgid "setsw: number not in -2147483648..4294967295 range"
msgstr ""
-#: config/tc-sparc.c:1145
+#: config/tc-sparc.c:1150
msgid "setx: temporary register same as destination register"
msgstr ""
-#: config/tc-sparc.c:1216
+#: config/tc-sparc.c:1221
msgid "setx: illegal temporary register g0"
msgstr ""
-#: config/tc-sparc.c:1313
+#: config/tc-sparc.c:1318
msgid "FP branch in delay slot"
msgstr ""
-#: config/tc-sparc.c:1329
+#: config/tc-sparc.c:1334
msgid "FP branch preceded by FP instruction; NOP inserted"
msgstr ""
-#: config/tc-sparc.c:1369
+#: config/tc-sparc.c:1374
msgid "failed special case insn sanity check"
msgstr ""
-#: config/tc-sparc.c:1457
+#: config/tc-sparc.c:1462
msgid ": invalid membar mask name"
msgstr ""
-#: config/tc-sparc.c:1473
+#: config/tc-sparc.c:1478
msgid ": invalid membar mask expression"
msgstr ""
-#: config/tc-sparc.c:1478
+#: config/tc-sparc.c:1483
msgid ": invalid membar mask number"
msgstr ""
-#: config/tc-sparc.c:1493
+#: config/tc-sparc.c:1498
msgid ": invalid siam mode expression"
msgstr ""
-#: config/tc-sparc.c:1498
+#: config/tc-sparc.c:1503
msgid ": invalid siam mode number"
msgstr ""
-#: config/tc-sparc.c:1514
+#: config/tc-sparc.c:1519
msgid ": invalid prefetch function name"
msgstr ""
-#: config/tc-sparc.c:1522
+#: config/tc-sparc.c:1527
msgid ": invalid prefetch function expression"
msgstr ""
-#: config/tc-sparc.c:1527
+#: config/tc-sparc.c:1532
msgid ": invalid prefetch function number"
msgstr ""
-#: config/tc-sparc.c:1555 config/tc-sparc.c:1567
+#: config/tc-sparc.c:1560 config/tc-sparc.c:1572
msgid ": unrecognizable privileged register"
msgstr ""
-#: config/tc-sparc.c:1591 config/tc-sparc.c:1616
+#: config/tc-sparc.c:1596 config/tc-sparc.c:1621
msgid ": unrecognizable v9a or v9b ancillary state register"
msgstr ""
-#: config/tc-sparc.c:1596
+#: config/tc-sparc.c:1601
msgid ": rd on write only ancillary state register"
msgstr ""
#. %sys_tick and %sys_tick_cmpr are v9bnotv9a
-#: config/tc-sparc.c:1604
+#: config/tc-sparc.c:1609
msgid ": unrecognizable v9a ancillary state register"
msgstr ""
-#: config/tc-sparc.c:1640
+#: config/tc-sparc.c:1645
msgid ": asr number must be between 16 and 31"
msgstr ""
-#: config/tc-sparc.c:1648
+#: config/tc-sparc.c:1653
msgid ": asr number must be between 0 and 31"
msgstr ""
-#: config/tc-sparc.c:1658
+#: config/tc-sparc.c:1663
+#, c-format
msgid ": expecting %asrN"
msgstr ""
-#: config/tc-sparc.c:1840 config/tc-sparc.c:1878 config/tc-sparc.c:2279
-#: config/tc-sparc.c:2315
+#: config/tc-sparc.c:1845 config/tc-sparc.c:1883 config/tc-sparc.c:2290
+#: config/tc-sparc.c:2326
#, c-format
msgid "Illegal operands: %%%s requires arguments in ()"
msgstr ""
-#: config/tc-sparc.c:1846
+#: config/tc-sparc.c:1851
#, c-format
msgid ""
"Illegal operands: %%%s cannot be used together with other relocs in the insn "
"()"
msgstr ""
-#: config/tc-sparc.c:1857
+#: config/tc-sparc.c:1862
#, c-format
msgid "Illegal operands: %%%s can be only used with call __tls_get_addr"
msgstr ""
-#: config/tc-sparc.c:2064
+#: config/tc-sparc.c:2069
msgid "detected global register use not covered by .register pseudo-op"
msgstr ""
-#: config/tc-sparc.c:2135
+#: config/tc-sparc.c:2140
msgid ": There are only 64 f registers; [0-63]"
msgstr ""
-#: config/tc-sparc.c:2137 config/tc-sparc.c:2149
+#: config/tc-sparc.c:2142 config/tc-sparc.c:2160
msgid ": There are only 32 f registers; [0-31]"
msgstr ""
-#: config/tc-sparc.c:2327
+#: config/tc-sparc.c:2152
+msgid ": There are only 32 single precision f registers; [0-31]"
+msgstr ""
+
+#: config/tc-sparc.c:2338
#, c-format
msgid ""
"Illegal operands: Can't do arithmetics other than + and - involving %%%s()"
msgstr ""
-#: config/tc-sparc.c:2437
+#: config/tc-sparc.c:2448
#, c-format
msgid "Illegal operands: Can't add non-constant expression to %%%s()"
msgstr ""
-#: config/tc-sparc.c:2447
+#: config/tc-sparc.c:2458
#, c-format
msgid ""
"Illegal operands: Can't do arithmetics involving %%%s() of a relocatable "
"symbol"
msgstr ""
-#: config/tc-sparc.c:2465
+#: config/tc-sparc.c:2476
msgid ": PC-relative operand can't be a constant"
msgstr ""
-#: config/tc-sparc.c:2472
+#: config/tc-sparc.c:2483
msgid ": TLS operand can't be a constant"
msgstr ""
-#: config/tc-sparc.c:2505
+#: config/tc-sparc.c:2516
msgid ": invalid ASI name"
msgstr ""
-#: config/tc-sparc.c:2513
+#: config/tc-sparc.c:2524
msgid ": invalid ASI expression"
msgstr ""
-#: config/tc-sparc.c:2518
+#: config/tc-sparc.c:2529
msgid ": invalid ASI number"
msgstr ""
-#: config/tc-sparc.c:2615
+#: config/tc-sparc.c:2626
msgid "OPF immediate operand out of range (0-0x1ff)"
msgstr ""
-#: config/tc-sparc.c:2620
+#: config/tc-sparc.c:2631
msgid "non-immediate OPF operand, ignored"
msgstr ""
-#: config/tc-sparc.c:2639
+#: config/tc-sparc.c:2650
msgid ": invalid cpreg name"
msgstr ""
-#: config/tc-sparc.c:2668
+#: config/tc-sparc.c:2679
#, c-format
msgid "Illegal operands%s"
msgstr ""
-#: config/tc-sparc.c:2702
+#: config/tc-sparc.c:2713
#, c-format
msgid "architecture bumped from \"%s\" to \"%s\" on \"%s\""
msgstr ""
-#: config/tc-sparc.c:2738
+#: config/tc-sparc.c:2749
#, c-format
msgid "Architecture mismatch on \"%s\"."
msgstr ""
-#: config/tc-sparc.c:2739
+#: config/tc-sparc.c:2750
#, c-format
msgid " (Requires %s; requested architecture is %s.)"
msgstr ""
-#: config/tc-sparc.c:3325
+#: config/tc-sparc.c:3336
#, c-format
msgid "bad or unhandled relocation type: 0x%02x"
msgstr ""
-#: config/tc-sparc.c:3480
-#, c-format
-msgid "internal error: can't export reloc type %d (`%s')"
-msgstr ""
-
-#: config/tc-sparc.c:3644
+#: config/tc-sparc.c:3655
#, c-format
msgid "BSS length (%d.) <0! Ignored."
msgstr ""
-#: config/tc-sparc.c:3656
+#: config/tc-sparc.c:3667
msgid "bad .reserve segment -- expected BSS segment"
msgstr ""
-#: config/tc-sparc.c:3673 read.c:2048
+#: config/tc-sparc.c:3684
msgid "missing alignment"
msgstr ""
-#: config/tc-sparc.c:3684 config/tc-sparc.c:3835
+#: config/tc-sparc.c:3695 config/tc-sparc.c:3846
#, c-format
msgid "alignment too large; assuming %d"
msgstr ""
-#: config/tc-sparc.c:3690 config/tc-sparc.c:3841
+#: config/tc-sparc.c:3701 config/tc-sparc.c:3852
msgid "negative alignment"
msgstr ""
-#: config/tc-sparc.c:3700 config/tc-sparc.c:3864 read.c:1251 read.c:2064
+#: config/tc-sparc.c:3711 config/tc-sparc.c:3875 read.c:1226 read.c:2012
msgid "alignment not a power of 2"
msgstr ""
-#: config/tc-sparc.c:3778 config/tc-v850.c:233
+#: config/tc-sparc.c:3789 config/tc-v850.c:233
msgid "Expected comma after symbol-name"
msgstr ""
-#: config/tc-sparc.c:3788 read.c:1392
+#: config/tc-sparc.c:3799
#, c-format
msgid ".COMMon length (%lu) out of range ignored"
msgstr ""
-#: config/tc-sparc.c:3807 config/tc-v850.c:266
-#, c-format
-msgid "Length of .comm \"%s\" is already %ld. Not changed to %d."
-msgstr ""
-
-#: config/tc-sparc.c:3821
+#: config/tc-sparc.c:3832
msgid "Expected comma after common length"
msgstr ""
-#: config/tc-sparc.c:4062 config/tc-sparc.c:4072
+#: config/tc-sparc.c:4073 config/tc-sparc.c:4083
#, c-format
msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}"
msgstr ""
-#: config/tc-sparc.c:4090
+#: config/tc-sparc.c:4101
msgid "redefinition of global register"
msgstr ""
-#: config/tc-sparc.c:4101
+#: config/tc-sparc.c:4112
#, c-format
msgid "Register symbol %s already defined."
msgstr ""
-#: config/tc-sparc.c:4310
+#: config/tc-sparc.c:4321
#, c-format
msgid "Illegal operands: %%r_plt in %d-byte data field"
msgstr ""
-#: config/tc-sparc.c:4320
+#: config/tc-sparc.c:4331
#, c-format
msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field"
msgstr ""
-#: config/tc-sparc.c:4357
+#: config/tc-sparc.c:4368
#, c-format
msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"
msgstr ""
-#: config/tc-sparc.c:4365 config/tc-sparc.c:4396 config/tc-sparc.c:4405
+#: config/tc-sparc.c:4376 config/tc-sparc.c:4407 config/tc-sparc.c:4416
#, c-format
msgid "Illegal operands: %%r_%s%d requires arguments in ()"
msgstr ""
-#: config/tc-sparc.c:4414
+#: config/tc-sparc.c:4425
#, c-format
msgid "Illegal operands: garbage after %%r_%s%d()"
msgstr ""
@@ -8730,29 +9175,30 @@ msgstr ""
msgid "The -a option doesn't exist. (Despite what the man page says!"
msgstr ""
-#: config/tc-tahoe.c:407 config/tc-vax.c:3285
+#: config/tc-tahoe.c:407 config/tc-vax.c:3289
#, c-format
msgid "Displacement length %s ignored!"
msgstr ""
-#: config/tc-tahoe.c:411 config/tc-vax.c:3277
+#: config/tc-tahoe.c:411 config/tc-vax.c:3281
msgid "SYMBOL TABLE not implemented"
msgstr ""
-#: config/tc-tahoe.c:415 config/tc-vax.c:3281
+#: config/tc-tahoe.c:415 config/tc-vax.c:3285
msgid "TOKEN TRACE not implemented"
msgstr ""
-#: config/tc-tahoe.c:419 config/tc-vax.c:3289
+#: config/tc-tahoe.c:419 config/tc-vax.c:3293
#, c-format
msgid "I don't need or use temp. file \"%s\"."
msgstr ""
-#: config/tc-tahoe.c:423 config/tc-vax.c:3293
+#: config/tc-tahoe.c:423 config/tc-vax.c:3297
msgid "I don't use an interpass file! -V ignored"
msgstr ""
#: config/tc-tahoe.c:437
+#, c-format
msgid ""
"Tahoe options:\n"
"-a\t\t\tignored\n"
@@ -8955,26 +9401,32 @@ msgid "pseudo-op illegal within .struct/.union"
msgstr ""
#: config/tc-tic54x.c:349
+#, c-format
msgid "C54x-specific command line options:\n"
msgstr ""
#: config/tc-tic54x.c:350
+#, c-format
msgid "-mfar-mode | -mf Use extended addressing\n"
msgstr ""
#: config/tc-tic54x.c:351
+#, c-format
msgid "-mcpu=<CPU version> Specify the CPU version\n"
msgstr ""
#: config/tc-tic54x.c:353
+#, c-format
msgid "-mcoff-version={0|1|2} Select COFF version\n"
msgstr ""
#: config/tc-tic54x.c:355
+#, c-format
msgid "-merrors-to-file <filename>\n"
msgstr ""
#: config/tc-tic54x.c:356
+#, c-format
msgid "-me <filename> Redirect errors to a file\n"
msgstr ""
@@ -9487,157 +9939,174 @@ msgstr ""
msgid ".COMMon length (%d.) < 0! Ignored."
msgstr ""
+#: config/tc-v850.c:266
+#, c-format
+msgid "Length of .comm \"%s\" is already %ld. Not changed to %d."
+msgstr ""
+
#: config/tc-v850.c:293
msgid "Common alignment negative; 0 assumed"
msgstr ""
-#: config/tc-v850.c:974
+#: config/tc-v850.c:976
#, c-format
msgid "unknown operand shift: %x\n"
msgstr ""
-#: config/tc-v850.c:975
+#: config/tc-v850.c:977
msgid "internal failure in parse_register_list"
msgstr ""
-#: config/tc-v850.c:991
+#: config/tc-v850.c:993
msgid "constant expression or register list expected"
msgstr ""
-#: config/tc-v850.c:996 config/tc-v850.c:1009 config/tc-v850.c:1028
+#: config/tc-v850.c:998 config/tc-v850.c:1011 config/tc-v850.c:1030
msgid "high bits set in register list expression"
msgstr ""
-#: config/tc-v850.c:1067 config/tc-v850.c:1130
+#: config/tc-v850.c:1069 config/tc-v850.c:1132
msgid "illegal register included in list"
msgstr ""
-#: config/tc-v850.c:1073
+#: config/tc-v850.c:1075
msgid "system registers cannot be included in list"
msgstr ""
-#: config/tc-v850.c:1078
+#: config/tc-v850.c:1080
msgid "PSW cannot be included in list"
msgstr ""
-#: config/tc-v850.c:1085
+#: config/tc-v850.c:1087
msgid "High value system registers cannot be included in list"
msgstr ""
-#: config/tc-v850.c:1109
+#: config/tc-v850.c:1111
msgid "second register should follow dash in register list"
msgstr ""
-#: config/tc-v850.c:1154
+#: config/tc-v850.c:1156
+#, c-format
msgid " V850 options:\n"
msgstr ""
-#: config/tc-v850.c:1155
+#: config/tc-v850.c:1157
+#, c-format
msgid " -mwarn-signed-overflow Warn if signed immediate values overflow\n"
msgstr ""
-#: config/tc-v850.c:1156
+#: config/tc-v850.c:1158
+#, c-format
msgid ""
" -mwarn-unsigned-overflow Warn if unsigned immediate values overflow\n"
msgstr ""
-#: config/tc-v850.c:1157
+#: config/tc-v850.c:1159
+#, c-format
msgid " -mv850 The code is targeted at the v850\n"
msgstr ""
-#: config/tc-v850.c:1158
+#: config/tc-v850.c:1160
+#, c-format
msgid " -mv850e The code is targeted at the v850e\n"
msgstr ""
-#: config/tc-v850.c:1159
+#: config/tc-v850.c:1161
+#, c-format
+msgid " -mv850e1 The code is targeted at the v850e1\n"
+msgstr ""
+
+#: config/tc-v850.c:1162
+#, c-format
msgid ""
" -mv850any The code is generic, despite any processor "
"specific instructions\n"
msgstr ""
-#: config/tc-v850.c:1160
+#: config/tc-v850.c:1163
+#, c-format
msgid " -mrelax Enable relaxation\n"
msgstr ""
-#: config/tc-v850.c:1172 config/tc-v850.c:1207
+#: config/tc-v850.c:1175 config/tc-v850.c:1216
#, c-format
msgid "unknown command line option: -%c%s\n"
msgstr ""
-#: config/tc-v850.c:1348
+#: config/tc-v850.c:1365
#, c-format
msgid "Unable to determine default target processor from string: %s"
msgstr ""
-#: config/tc-v850.c:1385
+#: config/tc-v850.c:1402
msgid "ctoff() relocation used on an instruction which does not support it"
msgstr ""
-#: config/tc-v850.c:1411
+#: config/tc-v850.c:1428
msgid "sdaoff() relocation used on an instruction which does not support it"
msgstr ""
-#: config/tc-v850.c:1437
+#: config/tc-v850.c:1454
msgid "zdaoff() relocation used on an instruction which does not support it"
msgstr ""
-#: config/tc-v850.c:1474
+#: config/tc-v850.c:1491
msgid "tdaoff() relocation used on an instruction which does not support it"
msgstr ""
-#: config/tc-v850.c:1698
+#: config/tc-v850.c:1715
msgid "Target processor does not support this instruction."
msgstr ""
-#: config/tc-v850.c:1788 config/tc-v850.c:1817 config/tc-v850.c:2005
+#: config/tc-v850.c:1805 config/tc-v850.c:1834 config/tc-v850.c:2022
msgid "immediate operand is too large"
msgstr ""
-#: config/tc-v850.c:1799
+#: config/tc-v850.c:1816
msgid "AAARG -> unhandled constant reloc"
msgstr ""
-#: config/tc-v850.c:1843
+#: config/tc-v850.c:1860
msgid "invalid register name"
msgstr ""
-#: config/tc-v850.c:1848
+#: config/tc-v850.c:1865
msgid "register r0 cannot be used here"
msgstr ""
-#: config/tc-v850.c:1860
+#: config/tc-v850.c:1877
msgid "invalid system register name"
msgstr ""
-#: config/tc-v850.c:1873
+#: config/tc-v850.c:1890
msgid "expected EP register"
msgstr ""
-#: config/tc-v850.c:1890
+#: config/tc-v850.c:1907
msgid "invalid condition code name"
msgstr ""
-#: config/tc-v850.c:1911 config/tc-v850.c:1915
+#: config/tc-v850.c:1928 config/tc-v850.c:1932
msgid "constant too big to fit into instruction"
msgstr ""
-#: config/tc-v850.c:1968
+#: config/tc-v850.c:1985
msgid "syntax error: value is missing before the register name"
msgstr ""
-#: config/tc-v850.c:1970
+#: config/tc-v850.c:1987
msgid "syntax error: register not expected"
msgstr ""
-#: config/tc-v850.c:1984
+#: config/tc-v850.c:2001
msgid "syntax error: system register not expected"
msgstr ""
-#: config/tc-v850.c:1989
+#: config/tc-v850.c:2006
msgid "syntax error: condition code not expected"
msgstr ""
-#: config/tc-v850.c:2030
+#: config/tc-v850.c:2047
msgid "invalid operand"
msgstr ""
@@ -9818,7 +10287,8 @@ msgstr ""
msgid "PC part of operand unpredictable"
msgstr ""
-#: config/tc-vax.c:3345
+#: config/tc-vax.c:3354
+#, c-format
msgid ""
"VAX options:\n"
"-d LENGTH\t\tignored\n"
@@ -9829,7 +10299,8 @@ msgid ""
"-V\t\t\tignored\n"
msgstr ""
-#: config/tc-vax.c:3354
+#: config/tc-vax.c:3363
+#, c-format
msgid ""
"VMS options:\n"
"-+\t\t\thash encode names longer than 31 characters\n"
@@ -9849,6 +10320,7 @@ msgid "syntax error after <exp"
msgstr ""
#: config/tc-xstormy16.c:80
+#, c-format
msgid " XSTORMY16 specific command line options:\n"
msgstr ""
@@ -9857,520 +10329,539 @@ msgstr ""
msgid "internal error: can't install fix for reloc type %d (`%s')"
msgstr ""
-#: config/tc-xtensa.c:929
+#: config/tc-xtensa.c:928
msgid "'--density' option not supported in this Xtensa configuration"
msgstr ""
-#: config/tc-xtensa.c:1030
+#: config/tc-xtensa.c:1029
msgid ""
"'--literal-section-name' is deprecated; use '--rename-section ."
"literal=NEWNAME'"
msgstr ""
-#: config/tc-xtensa.c:1036
+#: config/tc-xtensa.c:1035
msgid ""
"'--text-section-name' is deprecated; use '--rename-section .text=NEWNAME'"
msgstr ""
-#: config/tc-xtensa.c:1042
+#: config/tc-xtensa.c:1041
msgid ""
"'--data-section-name' is deprecated; use '--rename-section .data=NEWNAME'"
msgstr ""
-#: config/tc-xtensa.c:1048
+#: config/tc-xtensa.c:1047
msgid "'--bss-section-name' is deprecated; use '--rename-section .bss=NEWNAME'"
msgstr ""
-#: config/tc-xtensa.c:1186
+#: config/tc-xtensa.c:1185
msgid "unmatched end directive"
msgstr ""
-#: config/tc-xtensa.c:1215
+#: config/tc-xtensa.c:1214
msgid ".begin directive with no matching .end directive"
msgstr ""
-#: config/tc-xtensa.c:1259
+#: config/tc-xtensa.c:1258
#, c-format
msgid "directive %s can't be negated"
msgstr ""
-#: config/tc-xtensa.c:1265
+#: config/tc-xtensa.c:1264
msgid "unknown directive"
msgstr ""
-#: config/tc-xtensa.c:1300
+#: config/tc-xtensa.c:1308
msgid "cannot set literal_prefix inside literal fragment"
msgstr ""
-#: config/tc-xtensa.c:1337 config/tc-xtensa.c:1371
+#: config/tc-xtensa.c:1345 config/tc-xtensa.c:1381
msgid "Xtensa density option not supported; ignored"
msgstr ""
-#: config/tc-xtensa.c:1383
+#: config/tc-xtensa.c:1393
#, c-format
msgid "does not match begin %s%s at %s:%d"
msgstr ""
-#: config/tc-xtensa.c:1429
+#: config/tc-xtensa.c:1445
msgid ".literal_position inside literal directive; ignoring"
msgstr ""
-#: config/tc-xtensa.c:1480
+#: config/tc-xtensa.c:1468
+msgid ".literal not allowed inside .begin literal region"
+msgstr ""
+
+#: config/tc-xtensa.c:1502
msgid "expected comma or colon after symbol name; rest of line ignored"
msgstr ""
-#: config/tc-xtensa.c:1655 config/tc-xtensa.c:1672
+#: config/tc-xtensa.c:1638 config/tc-xtensa.c:1655
#, c-format
msgid "bad register name: %s"
msgstr ""
-#: config/tc-xtensa.c:1661
+#: config/tc-xtensa.c:1644
#, c-format
msgid "bad register number: %s"
msgstr ""
-#: config/tc-xtensa.c:1724
+#: config/tc-xtensa.c:1704
msgid "register number out of range"
msgstr ""
-#: config/tc-xtensa.c:1836
+#: config/tc-xtensa.c:1816
msgid "too many arguments"
msgstr ""
-#: config/tc-xtensa.c:1922
+#: config/tc-xtensa.c:1902
#, c-format
msgid "not enough operands (%d) for '%s'; expected %d"
msgstr ""
-#: config/tc-xtensa.c:1929
+#: config/tc-xtensa.c:1909
#, c-format
msgid "too many operands (%d) for '%s'; expected %d"
msgstr ""
-#: config/tc-xtensa.c:1973
+#: config/tc-xtensa.c:1953
#, c-format
msgid "register number for `%s' is not a constant"
msgstr ""
-#: config/tc-xtensa.c:1978
+#: config/tc-xtensa.c:1958
#, c-format
msgid "register number (%ld) for `%s' is out of range"
msgstr ""
-#: config/tc-xtensa.c:2464
+#: config/tc-xtensa.c:2444
#, c-format
msgid "operand %d not properly aligned for '%s'"
msgstr ""
-#: config/tc-xtensa.c:2469
+#: config/tc-xtensa.c:2449
#, c-format
msgid "operand %d not in immediate table for '%s'"
msgstr ""
-#: config/tc-xtensa.c:2474
+#: config/tc-xtensa.c:2454
#, c-format
msgid "operand %d too large for '%s'"
msgstr ""
-#: config/tc-xtensa.c:2479
+#: config/tc-xtensa.c:2459
#, c-format
msgid "operand %d too small for '%s'"
msgstr ""
-#: config/tc-xtensa.c:2484
+#: config/tc-xtensa.c:2464
#, c-format
msgid "operand %d is invalid for '%s'"
msgstr ""
-#: config/tc-xtensa.c:3716
+#: config/tc-xtensa.c:3540
msgid "INSTR_LABEL_DEF not supported yet"
msgstr ""
-#: config/tc-xtensa.c:3745
+#: config/tc-xtensa.c:3569
msgid "can't handle generation of literal/labels yet"
msgstr ""
-#: config/tc-xtensa.c:3749
+#: config/tc-xtensa.c:3573
msgid "can't handle undefined OP TYPE"
msgstr ""
-#: config/tc-xtensa.c:3810
+#: config/tc-xtensa.c:3634
#, c-format
msgid "found %d operands for '%s': Expected %d"
msgstr ""
-#: config/tc-xtensa.c:3817
+#: config/tc-xtensa.c:3641
#, c-format
msgid "found too many (%d) operands for '%s': Expected %d"
msgstr ""
-#: config/tc-xtensa.c:4072
+#: config/tc-xtensa.c:3927
msgid "instruction fragment may contain data"
msgstr ""
-#: config/tc-xtensa.c:4105
+#: config/tc-xtensa.c:3962
#, c-format
msgid "invalid operand %d on '%s'"
msgstr ""
-#: config/tc-xtensa.c:4116
+#: config/tc-xtensa.c:3973
#, c-format
msgid "invalid expression for operand %d on '%s'"
msgstr ""
-#: config/tc-xtensa.c:4177
+#: config/tc-xtensa.c:4034
#, c-format
msgid "invalid relocation operand %i on '%s'"
msgstr ""
-#: config/tc-xtensa.c:4186
+#: config/tc-xtensa.c:4043
#, c-format
msgid "undefined symbol for opcode \"%s\"."
msgstr ""
-#: config/tc-xtensa.c:4280
+#: config/tc-xtensa.c:4137
msgid "instruction with constant operands does not fit"
msgstr ""
-#: config/tc-xtensa.c:4289
+#: config/tc-xtensa.c:4146
msgid "instruction with constant operands does not fit without widening"
msgstr ""
-#: config/tc-xtensa.c:4379
+#: config/tc-xtensa.c:4236
msgid "instruction's constant operands do not fit"
msgstr ""
-#: config/tc-xtensa.c:4718
+#: config/tc-xtensa.c:4594
msgid "opcode 'NOP.N' unavailable in this configuration"
msgstr ""
-#: config/tc-xtensa.c:4727
+#: config/tc-xtensa.c:4603
msgid "opcode 'OR' unavailable in this configuration"
msgstr ""
-#: config/tc-xtensa.c:4737
+#: config/tc-xtensa.c:4613
#, c-format
msgid "invalid %d-byte NOP requested"
msgstr ""
-#: config/tc-xtensa.c:4757
+#: config/tc-xtensa.c:4633
msgid "get_expanded_loop_offset: undefined opcode"
msgstr ""
-#: config/tc-xtensa.c:4764
+#: config/tc-xtensa.c:4640
msgid "get_expanded_loop_offset: invalid opcode"
msgstr ""
-#: config/tc-xtensa.c:4880
+#: config/tc-xtensa.c:4760
msgid "invalid last instruction for a zero-overhead loop"
msgstr ""
-#: config/tc-xtensa.c:4935
+#: config/tc-xtensa.c:4823
#, c-format
msgid "cannot assemble '%s' into a literal fragment"
msgstr ""
-#: config/tc-xtensa.c:4937
+#: config/tc-xtensa.c:4825
msgid "..."
msgstr ""
-#: config/tc-xtensa.c:5071
+#: config/tc-xtensa.c:4951
msgid "entry instruction with stack decrement < 16"
msgstr ""
-#: config/tc-xtensa.c:5075
+#: config/tc-xtensa.c:4955
msgid "entry instruction with non-constant decrement"
msgstr ""
-#: config/tc-xtensa.c:5152
+#: config/tc-xtensa.c:5037
#, c-format
msgid "undefined @ suffix '%s', expected '%s'"
msgstr ""
-#: config/tc-xtensa.c:5242
+#: config/tc-xtensa.c:5127
#, c-format
msgid "invalid operand relocation for '%s' instruction"
msgstr ""
-#: config/tc-xtensa.c:5245
+#: config/tc-xtensa.c:5130
#, c-format
msgid "invalid relocation for operand %d in '%s' instruction"
msgstr ""
-#: config/tc-xtensa.c:5252
+#: config/tc-xtensa.c:5137
#, c-format
msgid "invalid relocation type %d for %s instruction"
msgstr ""
-#: config/tc-xtensa.c:5261
+#: config/tc-xtensa.c:5146
#, c-format
msgid "invalid relocation for operand %d of '%s'"
msgstr ""
-#: config/tc-xtensa.c:5269
+#: config/tc-xtensa.c:5154
#, c-format
msgid "non-PCREL relocation operand %d for '%s': %s"
msgstr ""
-#: config/tc-xtensa.c:5328 config/tc-xtensa.c:5366
+#: config/tc-xtensa.c:5213 config/tc-xtensa.c:5251
#, c-format
msgid "unhandled local relocation fix %s"
msgstr ""
-#: config/tc-xtensa.c:5350
+#: config/tc-xtensa.c:5235
msgid "undecodable FIX"
msgstr ""
-#: config/tc-xtensa.c:5478
+#: config/tc-xtensa.c:5363
msgid "emitting simplification relocation"
msgstr ""
-#: config/tc-xtensa.c:5482
+#: config/tc-xtensa.c:5367
msgid "emitting unknown relocation"
msgstr ""
-#: config/tc-xtensa.c:5814
+#: config/tc-xtensa.c:5698
#, c-format
msgid "fr_var %lu < length %d; ignoring"
msgstr ""
-#: config/tc-xtensa.c:6000 config/tc-xtensa.c:6044
+#: config/tc-xtensa.c:5884 config/tc-xtensa.c:5928
msgid "undecodable instruction in instruction frag"
msgstr ""
-#: config/tc-xtensa.c:6092
+#: config/tc-xtensa.c:5976
msgid "invalid empty loop"
msgstr ""
-#: config/tc-xtensa.c:6097
+#: config/tc-xtensa.c:5981
msgid "loop target does not follow loop instruction in section"
msgstr ""
-#: config/tc-xtensa.c:6215
+#: config/tc-xtensa.c:6099
msgid "get_text_align_power: argument too large"
msgstr ""
-#: config/tc-xtensa.c:6420 config/tc-xtensa.c:6566
+#: config/tc-xtensa.c:6304 config/tc-xtensa.c:6450
msgid "invalid opcode for RELAX_ALIGN_NEXT_OPCODE"
msgstr ""
-#: config/tc-xtensa.c:6421 config/tc-xtensa.c:6567
+#: config/tc-xtensa.c:6305 config/tc-xtensa.c:6451
msgid "cannot continue"
msgstr ""
-#: config/tc-xtensa.c:6458
+#: config/tc-xtensa.c:6342
msgid "expected loop opcode in relax align next target"
msgstr ""
-#: config/tc-xtensa.c:6475
+#: config/tc-xtensa.c:6359
msgid "expected align_code or RELAX_ALIGN_NEXT_OPCODE"
msgstr ""
-#: config/tc-xtensa.c:6549 config/tc-xtensa.c:6587 config/tc-xtensa.c:6591
-#: config/tc-xtensa.c:6595
+#: config/tc-xtensa.c:6433 config/tc-xtensa.c:6471 config/tc-xtensa.c:6475
+#: config/tc-xtensa.c:6479
msgid "internal error aligning"
msgstr ""
-#: config/tc-xtensa.c:6676
+#: config/tc-xtensa.c:6560
msgid "bad relaxation state"
msgstr ""
-#: config/tc-xtensa.c:6752
+#: config/tc-xtensa.c:6636
#, c-format
msgid "fr_var (%ld) < length (%d); ignoring"
msgstr ""
-#: config/tc-xtensa.c:6928
+#: config/tc-xtensa.c:6812
msgid "internal error: relaxation failed"
msgstr ""
-#: config/tc-xtensa.c:6934
+#: config/tc-xtensa.c:6818
msgid "internal error: relaxation requires too many steps"
msgstr ""
-#: config/tc-xtensa.c:7055
+#: config/tc-xtensa.c:6939
msgid "invalid relaxation fragment result"
msgstr ""
-#: config/tc-xtensa.c:7128
+#: config/tc-xtensa.c:7012
msgid "unable to widen instruction"
msgstr ""
-#: config/tc-xtensa.c:7215
+#: config/tc-xtensa.c:7099
msgid "multiple literals in expansion"
msgstr ""
-#: config/tc-xtensa.c:7219
+#: config/tc-xtensa.c:7103
msgid "no registered fragment for literal"
msgstr ""
-#: config/tc-xtensa.c:7221
+#: config/tc-xtensa.c:7105
msgid "number of literal tokens != 1"
msgstr ""
-#: config/tc-xtensa.c:7298 config/tc-xtensa.c:7304
+#: config/tc-xtensa.c:7182 config/tc-xtensa.c:7188
#, c-format
msgid "unresolved loop target symbol: %s"
msgstr ""
-#: config/tc-xtensa.c:7401
+#: config/tc-xtensa.c:7285
msgid "loop relaxation specification does not correspond"
msgstr ""
-#: config/tc-xtensa.c:7428
+#: config/tc-xtensa.c:7312
msgid "loop too long for LOOP instruction"
msgstr ""
-#: config/tc-xtensa.c:7465
+#: config/tc-xtensa.c:7349
#, c-format
msgid "invalid expression evaluation type %d"
msgstr ""
-#: config/tc-xtensa.c:7702
+#: config/tc-xtensa.c:7587
#, c-format
msgid "fixes not all moved from %s"
msgstr ""
-#: config/tc-xtensa.c:7835
+#: config/tc-xtensa.c:7698
msgid "inlining literal pool; specify location with .literal_position."
msgstr ""
-#: config/tc-xtensa.c:8230
+#: config/tc-xtensa.c:8092
#, c-format
msgid "could not create section %s"
msgstr ""
-#: config/tc-xtensa.c:8232
+#: config/tc-xtensa.c:8094
#, c-format
msgid "invalid flag combination on section %s"
msgstr ""
-#: config/tc-xtensa.c:8481
+#: config/tc-xtensa.c:8343
#, c-format
msgid "invalid symbolic operand %d on '%s'"
msgstr ""
-#: config/tc-xtensa.c:8545
+#: config/tc-xtensa.c:8407
msgid "operand number mismatch"
msgstr ""
-#: config/tc-xtensa.c:8592
+#: config/tc-xtensa.c:8454
msgid "invalid opcode"
msgstr ""
-#: config/tc-xtensa.c:8598
+#: config/tc-xtensa.c:8460
msgid "too few operands"
msgstr ""
-#: config/tc-xtensa.c:8817
+#: config/tc-xtensa.c:8679
msgid "ignoring extra '-rename-section' delimiter ':'"
msgstr ""
-#: config/tc-xtensa.c:8822
+#: config/tc-xtensa.c:8684
#, c-format
msgid "ignoring invalid '-rename-section' specification: '%s'"
msgstr ""
-#: config/tc-xtensa.c:8845
+#: config/tc-xtensa.c:8707
#, c-format
msgid "section %s renamed multiple times"
msgstr ""
-#: config/tc-xtensa.c:8847
+#: config/tc-xtensa.c:8709
#, c-format
msgid "multiple sections remapped to output section %s"
msgstr ""
-#: config/tc-z8k.c:314
+#: config/tc-z8k.c:271
#, c-format
msgid "register rr%d out of range"
msgstr ""
-#: config/tc-z8k.c:316
+#: config/tc-z8k.c:273
#, c-format
msgid "register rr%d does not exist"
msgstr ""
-#: config/tc-z8k.c:326
+#: config/tc-z8k.c:283
#, c-format
msgid "register rh%d out of range"
msgstr ""
-#: config/tc-z8k.c:336
+#: config/tc-z8k.c:293
#, c-format
msgid "register rl%d out of range"
msgstr ""
-#: config/tc-z8k.c:347
+#: config/tc-z8k.c:304
#, c-format
msgid "register rq%d out of range"
msgstr ""
-#: config/tc-z8k.c:349
+#: config/tc-z8k.c:306
#, c-format
msgid "register rq%d does not exist"
msgstr ""
-#: config/tc-z8k.c:359
+#: config/tc-z8k.c:316
#, c-format
msgid "register r%d out of range"
msgstr ""
-#: config/tc-z8k.c:404
+#: config/tc-z8k.c:357
#, c-format
msgid "expected %c"
msgstr ""
-#: config/tc-z8k.c:421
+#: config/tc-z8k.c:372
#, c-format
msgid "register is wrong size for a word %s"
msgstr ""
-#: config/tc-z8k.c:437
+#: config/tc-z8k.c:386
#, c-format
msgid "register is wrong size for address %s"
msgstr ""
+#: config/tc-z8k.c:520
+#, c-format
+msgid "unknown interrupt %s"
+msgstr ""
+
#. No interrupt type specified, opcode won't do anything.
-#: config/tc-z8k.c:585
+#: config/tc-z8k.c:543
msgid "opcode has no effect"
msgstr ""
-#: config/tc-z8k.c:697
+#: config/tc-z8k.c:653
msgid "Missing ) in ra(rb)"
msgstr ""
-#: config/tc-z8k.c:919 config/tc-z8k.c:925
-msgid "invalid indirect register size"
+#: config/tc-z8k.c:736 config/tc-z8k.c:775
+#, c-format
+msgid "invalid condition code '%s'"
msgstr ""
-#: config/tc-z8k.c:971
+#: config/tc-z8k.c:748
#, c-format
-msgid "operand %s0x%x out of range"
+msgid "invalid flag '%s'"
+msgstr ""
+
+#: config/tc-z8k.c:902 config/tc-z8k.c:908
+msgid "invalid indirect register size"
+msgstr ""
+
+#: config/tc-z8k.c:925 config/tc-z8k.c:1074 config/tc-z8k.c:1079
+msgid "invalid control register name"
msgstr ""
-#: config/tc-z8k.c:1099
+#: config/tc-z8k.c:1063
msgid "immediate must be 1 or 2"
msgstr ""
-#: config/tc-z8k.c:1102
+#: config/tc-z8k.c:1066
msgid "immediate 1 or 2 expected"
msgstr ""
-#: config/tc-z8k.c:1129
+#: config/tc-z8k.c:1097
msgid "can't use R0 here"
msgstr ""
-#: config/tc-z8k.c:1292
+#: config/tc-z8k.c:1258
msgid "Can't find opcode to match operands"
msgstr ""
-#: config/tc-z8k.c:1411
+#: config/tc-z8k.c:1369
#, c-format
msgid "invalid architecture -z%s"
msgstr ""
-#: config/tc-z8k.c:1432
+#: config/tc-z8k.c:1389
+#, c-format
msgid ""
" Z8K options:\n"
" -z8001 generate segmented code\n"
@@ -10378,46 +10869,48 @@ msgid ""
" -linkrelax create linker relaxable code\n"
msgstr ""
-#: config/tc-z8k.c:1445
+#: config/tc-z8k.c:1401
+#, c-format
msgid "call to md_convert_frag\n"
msgstr ""
-#: config/tc-z8k.c:1476 config/tc-z8k.c:1487
+#: config/tc-z8k.c:1436 config/tc-z8k.c:1455 config/tc-z8k.c:1474
msgid "cannot branch to odd address"
msgstr ""
-#: config/tc-z8k.c:1479 config/tc-z8k.c:1490
+#: config/tc-z8k.c:1439 config/tc-z8k.c:1458
msgid "relative jump out of range"
msgstr ""
-#: config/tc-z8k.c:1497
+#: config/tc-z8k.c:1476
msgid "relative call out of range"
msgstr ""
-#: config/tc-z8k.c:1523
+#: config/tc-z8k.c:1505
msgid "relative address out of range"
msgstr ""
-#: config/tc-z8k.c:1543
+#: config/tc-z8k.c:1525
#, c-format
msgid "md_apply_fix3: unknown r_type 0x%x\n"
msgstr ""
-#: config/tc-z8k.c:1556
+#: config/tc-z8k.c:1537
+#, c-format
msgid "call to md_estimate_size_before_relax\n"
msgstr ""
-#: config/tc-z8k.c:1600
+#: config/tc-z8k.c:1574
#, c-format
msgid "Can't subtract symbols in different sections %s %s"
msgstr ""
-#: depend.c:200
+#: depend.c:193
#, c-format
msgid "can't open `%s' for writing"
msgstr ""
-#: depend.c:212
+#: depend.c:205
#, c-format
msgid "can't close `%s'"
msgstr ""
@@ -10427,328 +10920,334 @@ msgstr ""
msgid "register save offset not a multiple of %u"
msgstr ""
-#: dw2gencfi.c:388
+#: dw2gencfi.c:389
msgid "missing separator"
msgstr ""
-#: dw2gencfi.c:410 dw2gencfi.c:428
+#: dw2gencfi.c:411 dw2gencfi.c:429
msgid "bad register expression"
msgstr ""
-#: dw2gencfi.c:450 dw2gencfi.c:547
+#: dw2gencfi.c:451 dw2gencfi.c:552
msgid "CFI instruction used without previous .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:579
+#: dw2gencfi.c:584
msgid "previous CFI entry not closed (missing .cfi_endproc)"
msgstr ""
-#: dw2gencfi.c:612
+#: dw2gencfi.c:617
msgid ".cfi_endproc without corresponding .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:987
+#: dw2gencfi.c:1012
msgid "open CFI at the end of file; missing .cfi_endproc directive"
msgstr ""
-#: dwarf2dbg.c:468 dwarf2dbg.c:498
+#: dwarf2dbg.c:457 dwarf2dbg.c:486
msgid "file number less than one"
msgstr ""
-#: dwarf2dbg.c:474
+#: dwarf2dbg.c:463
#, c-format
msgid "file number %ld already allocated"
msgstr ""
-#: dwarf2dbg.c:503 dwarf2dbg.c:1064
+#: dwarf2dbg.c:491 dwarf2dbg.c:1024
#, c-format
msgid "unassigned file number %ld"
msgstr ""
-#: dwarf2dbg.c:1130 dwarf2dbg.c:1327
+#: dwarf2dbg.c:1089 dwarf2dbg.c:1280
msgid "internal error: unknown dwarf2 format"
msgstr ""
-#: dwarf2dbg.c:1472 dwarf2dbg.c:1480 dwarf2dbg.c:1488 dwarf2dbg.c:1509
+#: dwarf2dbg.c:1425 dwarf2dbg.c:1433 dwarf2dbg.c:1441 dwarf2dbg.c:1462
msgid "dwarf2 is not supported for this object file format"
msgstr ""
-#: ecoff.c:1556
+#: ecoff.c:1551
#, c-format
msgid "string too big (%lu bytes)"
msgstr ""
-#: ecoff.c:1582
+#: ecoff.c:1577
#, c-format
msgid "inserting \"%s\" into string hash table: %s"
msgstr ""
-#: ecoff.c:1614 ecoff.c:1808 ecoff.c:1833 ecoff.c:1865 ecoff.c:2019
-#: ecoff.c:2132
+#: ecoff.c:1608 ecoff.c:1801 ecoff.c:1824 ecoff.c:1855 ecoff.c:2008
+#: ecoff.c:2119
msgid "no current file pointer"
msgstr ""
-#: ecoff.c:1701
+#: ecoff.c:1695
msgid "too many st_End's"
msgstr ""
-#: ecoff.c:2044
+#: ecoff.c:2033
#, c-format
msgid "inserting \"%s\" into tag hash table: %s"
msgstr ""
-#: ecoff.c:2210
+#: ecoff.c:2194
msgid "fake .file after real one"
msgstr ""
-#: ecoff.c:2300
+#: ecoff.c:2284
msgid "filename goes over one page boundary"
msgstr ""
-#: ecoff.c:2435
+#: ecoff.c:2417
msgid ".begin directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:2442
+#: ecoff.c:2424
msgid ".begin directive without a preceding .ent directive"
msgstr ""
-#: ecoff.c:2474
+#: ecoff.c:2455
msgid ".bend directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:2481
+#: ecoff.c:2462
msgid ".bend directive without a preceding .ent directive"
msgstr ""
-#: ecoff.c:2494
+#: ecoff.c:2475
msgid ".bend directive names unknown symbol"
msgstr ""
-#: ecoff.c:2538
+#: ecoff.c:2518
msgid ".def pseudo-op used inside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2540
+#: ecoff.c:2520
msgid "empty symbol name in .def; ignored"
msgstr ""
-#: ecoff.c:2578
+#: ecoff.c:2557
msgid ".dim pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2593
+#: ecoff.c:2572
msgid "badly formed .dim directive"
msgstr ""
-#: ecoff.c:2606
+#: ecoff.c:2585
msgid "too many .dim entries"
msgstr ""
-#: ecoff.c:2627
+#: ecoff.c:2605
msgid ".scl pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2653
+#: ecoff.c:2630
msgid ".size pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2668
+#: ecoff.c:2645
msgid "badly formed .size directive"
msgstr ""
-#: ecoff.c:2681
+#: ecoff.c:2658
msgid "too many .size entries"
msgstr ""
-#: ecoff.c:2704
+#: ecoff.c:2680
msgid ".type pseudo-op used outside of .def/.endef; ignored"
msgstr ""
#. FIXME: We could handle this by setting the continued bit.
#. There would still be a limit: the .type argument can not
#. be infinite.
-#: ecoff.c:2722
+#: ecoff.c:2698
#, c-format
msgid "the type of %s is too complex; it will be simplified"
msgstr ""
-#: ecoff.c:2733
+#: ecoff.c:2709
msgid "Unrecognized .type argument"
msgstr ""
-#: ecoff.c:2772
+#: ecoff.c:2747
msgid ".tag pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2798
+#: ecoff.c:2772
msgid ".val pseudo-op used outside of .def/.endef; ignored"
msgstr ""
-#: ecoff.c:2806
+#: ecoff.c:2780
msgid ".val expression is too copmlex"
msgstr ""
-#: ecoff.c:2837
+#: ecoff.c:2810
msgid ".endef pseudo-op used before .def; ignored"
msgstr ""
-#: ecoff.c:2863 ecoff.c:2944
+#: ecoff.c:2836 ecoff.c:2917
msgid "bad COFF debugging information"
msgstr ""
-#: ecoff.c:2912
+#: ecoff.c:2885
#, c-format
msgid "no tag specified for %s"
msgstr ""
-#: ecoff.c:3015
+#: ecoff.c:2987
msgid ".end directive without a preceding .file directive"
msgstr ""
-#: ecoff.c:3022
+#: ecoff.c:2994
msgid ".end directive without a preceding .ent directive"
msgstr ""
-#: ecoff.c:3044
+#: ecoff.c:3016
msgid ".end directive names unknown symbol"
msgstr ""
-#: ecoff.c:3072
+#: ecoff.c:3043
msgid "second .ent directive found before .end directive"
msgstr ""
-#: ecoff.c:3146
+#: ecoff.c:3115
msgid "no way to handle .file within .ent/.end section"
msgstr ""
-#: ecoff.c:3271
+#: ecoff.c:3236
msgid ".loc before .file"
msgstr ""
-#: ecoff.c:3410
+#: ecoff.c:3358 read.c:1381 read.c:1488 read.c:2125 read.c:2737 read.c:4808
+#: symbols.c:356 symbols.c:455
+#, c-format
+msgid "symbol `%s' is already defined"
+msgstr ""
+
+#: ecoff.c:3371
msgid "bad .weakext directive"
msgstr ""
-#: ecoff.c:3479
+#: ecoff.c:3439
#, c-format
msgid ".stab%c is not supported"
msgstr ""
-#: ecoff.c:3489
+#: ecoff.c:3449
#, c-format
msgid ".stab%c: ignoring non-zero other field"
msgstr ""
-#: ecoff.c:3523
+#: ecoff.c:3483
#, c-format
msgid ""
"line number (%d) for .stab%c directive cannot fit in index field (20 bits)"
msgstr ""
-#: ecoff.c:3559
+#: ecoff.c:3519
#, c-format
msgid "illegal .stab%c directive, bad character"
msgstr ""
-#: ecoff.c:4021 ecoff.c:4210 ecoff.c:4235
+#: ecoff.c:3976 ecoff.c:4165 ecoff.c:4190
msgid ".begin/.bend in different segments"
msgstr ""
-#: ecoff.c:4737
+#: ecoff.c:4686
msgid "missing .end or .bend at end of file"
msgstr ""
-#: ecoff.c:5227
+#: ecoff.c:5171
msgid "GP prologue size exceeds field size, using 0 instead"
msgstr ""
-#: expr.c:83 read.c:3232
+#: expr.c:82 read.c:3106
msgid "bignum invalid"
msgstr ""
-#: expr.c:85 read.c:3234 read.c:3574 read.c:4474
+#: expr.c:84 read.c:3108 read.c:3444 read.c:4319
msgid "floating point number invalid"
msgstr ""
-#: expr.c:243
+#: expr.c:232
msgid "bad floating-point constant: exponent overflow"
msgstr ""
-#: expr.c:247
+#: expr.c:236
#, c-format
msgid "bad floating-point constant: unknown error code=%d"
msgstr ""
-#: expr.c:425
+#: expr.c:412
msgid ""
"a bignum with underscores may not have more than 8 hex digits in any word"
msgstr ""
-#: expr.c:448
+#: expr.c:435
msgid "a bignum with underscores must have exactly 4 words"
msgstr ""
#. Either not seen or not defined.
#. @@ Should print out the original string instead of
#. the parsed number.
-#: expr.c:571
+#: expr.c:558
#, c-format
msgid "backward ref to unknown label \"%d:\""
msgstr ""
-#: expr.c:694
+#: expr.c:680
msgid "character constant too large"
msgstr ""
-#: expr.c:942
+#: expr.c:926
#, c-format
msgid "expr.c(operand): bad atof_generic return val %d"
msgstr ""
-#: expr.c:1004
+#: expr.c:988
#, c-format
msgid "missing '%c'"
msgstr ""
-#: expr.c:1016 read.c:3945
+#: expr.c:1000 read.c:3815
msgid "EBCDIC constants are not supported"
msgstr ""
-#: expr.c:1099
+#: expr.c:1090
#, c-format
msgid "Unary operator %c ignored because bad operand follows"
msgstr ""
-#: expr.c:1145 expr.c:1170
+#: expr.c:1136 expr.c:1161
msgid "syntax error in .startof. or .sizeof."
msgstr ""
-#: expr.c:1666
+#: expr.c:1662
msgid "missing operand; zero assumed"
msgstr ""
-#: expr.c:1701
+#: expr.c:1697
msgid "left operand is a bignum; integer 0 assumed"
msgstr ""
-#: expr.c:1703
+#: expr.c:1699
msgid "left operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1712
+#: expr.c:1708
msgid "right operand is a bignum; integer 0 assumed"
msgstr ""
-#: expr.c:1714
+#: expr.c:1710
msgid "right operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1770 symbols.c:1191
+#: expr.c:1766 symbols.c:1154
msgid "division by zero"
msgstr ""
-#: expr.c:1868
+#: expr.c:1864
msgid "operation combines symbols in different segments"
msgstr ""
@@ -10760,11 +11259,12 @@ msgstr ""
msgid "attempt to allocate data in common section"
msgstr ""
-#: frags.c:107
+#: frags.c:105
#, c-format
msgid "can't extend frag %u chars"
msgstr ""
+#. For error messages.
#. Detect if we are reading from stdin by examining the file
#. name returned by as_where().
#.
@@ -10776,165 +11276,172 @@ msgstr ""
#. line here (assuming of course that we actually have a line of
#. input to read), so that it can be displayed in the listing
#. that is produced at the end of the assembly.
-#: input-file.c:145 input-scrub.c:242 listing.c:343
+#: input-file.c:146 input-scrub.c:239 listing.c:332
msgid "{standard input}"
msgstr ""
-#: input-file.c:149
+#: input-file.c:157
#, c-format
-msgid "can't open %s for reading"
+msgid "Can't open %s for reading"
msgstr ""
-#: input-file.c:212 input-file.c:239
+#: input-file.c:225 input-file.c:254
#, c-format
msgid "Can't read from %s"
msgstr ""
-#: input-file.c:247
+#: input-file.c:266
#, c-format
msgid "Can't close %s"
msgstr ""
-#: input-scrub.c:272
+#: input-scrub.c:264
msgid "macros nested too deeply"
msgstr ""
-#: input-scrub.c:375 input-scrub.c:397
+#: input-scrub.c:366 input-scrub.c:388
msgid "partial line at end of file ignored"
msgstr ""
-#: itbl-ops.c:351
+#: itbl-ops.c:349
+#, c-format
msgid "Unable to allocate memory for new instructions\n"
msgstr ""
-#: listing.c:243
+#: listing.c:238
msgid "Warning:"
msgstr ""
-#: listing.c:250
+#: listing.c:244
msgid "Error:"
msgstr ""
-#: listing.c:1130
+#: listing.c:1096
#, c-format
msgid "can't open list file: %s"
msgstr ""
-#: listing.c:1154
+#: listing.c:1118
#, c-format
msgid "error closing list file: %s"
msgstr ""
-#: listing.c:1233
+#: listing.c:1191
msgid "strange paper height, set to no form"
msgstr ""
-#: listing.c:1299
+#: listing.c:1255
msgid "new line in title"
msgstr ""
#. Turns the next expression into a string.
-#: macro.c:382
+#: macro.c:363
#, no-c-format
msgid "% operator needs absolute expression"
msgstr ""
-#: macro.c:545
+#: macro.c:519
msgid "unexpected end of file in macro definition"
msgstr ""
-#: macro.c:554
+#: macro.c:528
msgid "missing ) after formals"
msgstr ""
-#: macro.c:703
+#: macro.c:663
msgid "missplaced )"
msgstr ""
-#: macro.c:960
+#: macro.c:916
msgid "confusion in formal parameters"
msgstr ""
-#: macro.c:965
+#: macro.c:921
msgid "macro formal argument does not exist"
msgstr ""
-#: macro.c:980
+#: macro.c:936
msgid "can't mix positional and keyword arguments"
msgstr ""
-#: macro.c:988
+#: macro.c:944
msgid "too many positional arguments"
msgstr ""
-#: macro.c:1163
+#: macro.c:1110
msgid "unexpected end of file in irp or irpc"
msgstr ""
-#: macro.c:1171
+#: macro.c:1118
msgid "missing model parameter"
msgstr ""
-#: messages.c:104
+#: messages.c:103
+#, c-format
msgid "Assembler messages:\n"
msgstr ""
-#: messages.c:214
+#: messages.c:211
+#, c-format
msgid "Warning: "
msgstr ""
-#: messages.c:318
+#: messages.c:312
+#, c-format
msgid "Error: "
msgstr ""
-#: messages.c:413 messages.c:433
+#: messages.c:407 messages.c:427
+#, c-format
msgid "Fatal error: "
msgstr ""
-#: messages.c:450
+#: messages.c:442
+#, c-format
msgid "Internal error!\n"
msgstr ""
-#: messages.c:452
+#: messages.c:444
#, c-format
msgid "Assertion failure in %s at %s line %d.\n"
msgstr ""
-#: messages.c:455
+#: messages.c:447
#, c-format
msgid "Assertion failure at %s line %d.\n"
msgstr ""
-#: messages.c:456 messages.c:475
+#: messages.c:448 messages.c:465
+#, c-format
msgid "Please report this bug.\n"
msgstr ""
-#: messages.c:470
+#: messages.c:460
#, c-format
msgid "Internal error, aborting at %s line %d in %s\n"
msgstr ""
-#: messages.c:473
+#: messages.c:463
#, c-format
msgid "Internal error, aborting at %s line %d\n"
msgstr ""
-#: output-file.c:48
+#: output-file.c:47
#, c-format
msgid "can't open a bfd on stdout %s"
msgstr ""
-#: output-file.c:52 output-file.c:115
+#: output-file.c:51 output-file.c:114
#, c-format
msgid "FATAL: can't create %s"
msgstr ""
-#: output-file.c:73 output-file.c:80
+#: output-file.c:71 output-file.c:78
#, c-format
msgid "FATAL: can't close %s\n"
msgstr ""
-#: output-file.c:126
+#: output-file.c:127
#, c-format
msgid "FATAL: can't close %s"
msgstr ""
@@ -10947,337 +11454,332 @@ msgstr ""
msgid "can't continue"
msgstr ""
-#: read.c:442
+#: read.c:428
#, c-format
msgid "error constructing %s pseudo-op table: %s"
msgstr ""
-#: read.c:809
+#: read.c:794
#, c-format
msgid "unknown pseudo-op: `%s'"
msgstr ""
-#: read.c:940
+#: read.c:925
#, c-format
msgid "label \"%d$\" redefined"
msgstr ""
-#: read.c:1152
+#: read.c:1133
msgid ".abort detected. Abandoning ship."
msgstr ""
-#: read.c:1174 read.c:2413
+#: read.c:1151 read.c:2297
msgid "ignoring fill value in absolute section"
msgstr ""
-#: read.c:1260
+#: read.c:1235
#, c-format
msgid "alignment too large: %u assumed"
msgstr ""
-#: read.c:1292
+#: read.c:1267
msgid "expected fill pattern missing"
msgstr ""
-#: read.c:1417
+#: read.c:1364
+msgid "missing size expression"
+msgstr ""
+
+#: read.c:1371
#, c-format
-msgid "length of .comm \"%s\" is already %ld; not changing to %ld"
+msgid "size (%ld) out of range, ignored"
+msgstr ""
+
+#: read.c:1391
+#, c-format
+msgid "size of \"%s\" is already %ld; not changing to %ld"
msgstr ""
#. Some of the back ends can't deal with non-positive line numbers.
#. Besides, it's silly.
-#: read.c:1636
+#: read.c:1613
#, c-format
msgid "line numbers must be positive; line number %d rejected"
msgstr ""
-#: read.c:1664
+#: read.c:1640
msgid "start address not supported"
msgstr ""
-#: read.c:1674
+#: read.c:1649
msgid ".err encountered"
msgstr ""
-#: read.c:1693 read.c:1695
+#: read.c:1667 read.c:1669
#, c-format
msgid ".fail %ld encountered"
msgstr ""
-#: read.c:1732
+#: read.c:1705
#, c-format
msgid ".fill size clamped to %d"
msgstr ""
-#: read.c:1737
+#: read.c:1710
msgid "size negative; .fill ignored"
msgstr ""
-#: read.c:1743
+#: read.c:1716
msgid "repeat < 0; .fill ignored"
msgstr ""
-#: read.c:1903
+#: read.c:1873
#, c-format
msgid "unrecognized .linkonce type `%s'"
msgstr ""
-#: read.c:1916 read.c:1942
+#: read.c:1886 read.c:1912
msgid ".linkonce is not supported for this object file format"
msgstr ""
-#: read.c:1938
+#: read.c:1908
#, c-format
msgid "bfd_set_section_flags: %s"
msgstr ""
-#: read.c:1993
-msgid "missing size expression"
-msgstr ""
-
-#: read.c:1999
-#, c-format
-msgid "BSS length (%d) < 0 ignored"
-msgstr ""
-
-#: read.c:2015
+#: read.c:1938
#, c-format
msgid "error setting flags for \".sbss\": %s"
msgstr ""
-#: read.c:2038
-msgid "expected comma after size"
-msgstr ""
-
-#: read.c:2072
-#, c-format
-msgid "alignment too large; %d assumed"
+#: read.c:1986
+msgid "expected alignment after size"
msgstr ""
-#: read.c:2077
+#: read.c:2000
msgid "alignment negative; 0 assumed"
msgstr ""
-#: read.c:2342
+#: read.c:2231
#, c-format
msgid "attempt to redefine pseudo-op `%s' ignored"
msgstr ""
-#: read.c:2408
+#: read.c:2292
#, c-format
msgid "invalid segment \"%s\""
msgstr ""
-#: read.c:2416
+#: read.c:2300
msgid "only constant offsets supported in absolute section"
msgstr ""
-#: read.c:2456
+#: read.c:2339
msgid "MRI style ORG pseudo-op not supported"
msgstr ""
-#: read.c:2613
+#: read.c:2495
#, c-format
msgid "unrecognized section type `%s'"
msgstr ""
-#: read.c:2627
+#: read.c:2509
msgid "absolute sections are not supported"
msgstr ""
-#: read.c:2642
+#: read.c:2524
#, c-format
msgid "unrecognized section command `%s'"
msgstr ""
-#: read.c:2708
+#: read.c:2588
msgid ".endr encountered without preceeding .rept, .irc, or .irp"
msgstr ""
-#: read.c:2740
+#: read.c:2616
#, c-format
msgid "%s without %s"
msgstr ""
-#: read.c:2949
+#: read.c:2822
msgid "unsupported variable size or fill value"
msgstr ""
-#: read.c:2974
+#: read.c:2847
msgid ".space repeat count is zero, ignored"
msgstr ""
-#: read.c:2976
+#: read.c:2849
msgid ".space repeat count is negative, ignored"
msgstr ""
-#: read.c:3005
+#: read.c:2878
msgid "space allocation too complex in absolute section"
msgstr ""
-#: read.c:3011
+#: read.c:2884
msgid "space allocation too complex in common section"
msgstr ""
-#: read.c:3099 read.c:4190
+#: read.c:2971 read.c:4057
#, c-format
msgid "bad floating literal: %s"
msgstr ""
-#: read.c:3172
+#: read.c:3036
#, c-format
-msgid "rest of line ignored; first ignored character is `%c'"
+msgid "junk at end of line, first unrecognized character is `%c'"
msgstr ""
-#: read.c:3175
+#: read.c:3039
#, c-format
-msgid "rest of line ignored; first ignored character valued 0x%x"
+msgid "junk at end of line, first unrecognized character valued 0x%x"
msgstr ""
-#: read.c:3228
+#: read.c:3102
msgid "missing expression"
msgstr ""
-#: read.c:3404
+#: read.c:3278
msgid "rva without symbol"
msgstr ""
-#: read.c:3530
+#: read.c:3400
msgid "attempt to store value in absolute section"
msgstr ""
-#: read.c:3568 read.c:4468
+#: read.c:3438 read.c:4313
msgid "zero assumed for missing expression"
msgstr ""
-#: read.c:3580 read.c:4480 write.c:322
+#: read.c:3450 read.c:4325 write.c:318
msgid "register value used as expression"
msgstr ""
#. Leading bits contain both 0s & 1s.
-#: read.c:3671
+#: read.c:3541
#, c-format
msgid "value 0x%lx truncated to 0x%lx"
msgstr ""
-#: read.c:3687
+#: read.c:3557
#, c-format
msgid "bignum truncated to %d bytes"
msgstr ""
-#: read.c:3854
+#: read.c:3724
msgid "using a bit field width of zero"
msgstr ""
-#: read.c:3862
+#: read.c:3732
#, c-format
msgid "field width \"%s\" too complex for a bitfield"
msgstr ""
-#: read.c:3870
+#: read.c:3740
#, c-format
msgid "field width %lu too big to fit in %d bytes: truncated to %d bits"
msgstr ""
-#: read.c:3892
+#: read.c:3762
#, c-format
msgid "field value \"%s\" too complex for a bitfield"
msgstr ""
-#: read.c:4018 read.c:4212
+#: read.c:3888 read.c:4079
msgid "unresolvable or nonpositive repeat count; using 1"
msgstr ""
-#: read.c:4069
+#: read.c:3937
#, c-format
msgid "unknown floating type type '%c'"
msgstr ""
-#: read.c:4091
+#: read.c:3959
msgid "floating point constant too large"
msgstr ""
-#: read.c:4581
+#: read.c:4429
msgid "strings must be placed into a section"
msgstr ""
-#: read.c:4631
+#: read.c:4479
msgid "expected <nn>"
msgstr ""
#. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:4664 read.c:4750
+#: read.c:4512 read.c:4598
msgid "unterminated string; newline inserted"
msgstr ""
-#: read.c:4758
+#: read.c:4606
msgid "bad escaped character in string"
msgstr ""
-#: read.c:4784
+#: read.c:4631
msgid "expected address expression"
msgstr ""
-#: read.c:4804
+#: read.c:4650
#, c-format
msgid "symbol \"%s\" undefined; zero assumed"
msgstr ""
-#: read.c:4807
+#: read.c:4653
msgid "some symbol undefined; zero assumed"
msgstr ""
-#: read.c:4824
+#: read.c:4669
msgid "bad or irreducible absolute expression"
msgstr ""
-#: read.c:4867
+#: read.c:4710
msgid "this string may not contain '\\0'"
msgstr ""
-#: read.c:4904
+#: read.c:4746
msgid "missing string"
msgstr ""
-#: read.c:5027
+#: read.c:4866
#, c-format
msgid ".incbin count zero, ignoring `%s'"
msgstr ""
-#: read.c:5053
+#: read.c:4892
#, c-format
msgid "file not found: %s"
msgstr ""
-#: read.c:5067
+#: read.c:4906
#, c-format
msgid "seek to end of .incbin file failed `%s'"
msgstr ""
-#: read.c:5078
+#: read.c:4917
#, c-format
msgid "skip (%ld) + count (%ld) larger than file size (%ld)"
msgstr ""
-#: read.c:5085
+#: read.c:4924
#, c-format
msgid "could not skip to %ld in file `%s'"
msgstr ""
-#: read.c:5094
+#: read.c:4933
#, c-format
msgid "truncated file `%s', %ld of %ld bytes read"
msgstr ""
-#: read.c:5257
+#: read.c:5091
msgid "missing .func"
msgstr ""
-#: read.c:5274
+#: read.c:5108
msgid ".endfunc missing for previous .func"
msgstr ""
-#: stabs.c:220 stabs.c:228 stabs.c:236 stabs.c:255
+#: stabs.c:215 stabs.c:223 stabs.c:231 stabs.c:250
#, c-format
msgid ".stab%c: missing comma"
msgstr ""
@@ -11285,183 +11787,183 @@ msgstr ""
#. This could happen for example with a source file with a huge
#. number of lines. The only cure is to use a different debug
#. format, probably DWARF.
-#: stabs.c:248
+#: stabs.c:243
#, c-format
msgid ".stab%c: description field '%x' too big, try a different debug format"
msgstr ""
-#: stabs.c:433
+#: stabs.c:426
msgid "comma missing in .xstabs"
msgstr ""
-#: subsegs.c:377
+#: subsegs.c:373
#, c-format
msgid "attempt to switch to nonexistent segment \"%s\""
msgstr ""
-#: symbols.c:318
+#: symbols.c:307
#, c-format
msgid "cannot define symbol `%s' in absolute section"
msgstr ""
-#: symbols.c:452
+#: symbols.c:441
#, c-format
msgid "symbol `%s' is already defined as \"%s\"/%s%ld"
msgstr ""
-#: symbols.c:529 symbols.c:536
+#: symbols.c:517 symbols.c:524
#, c-format
msgid "inserting \"%s\" into symbol table failed: %s"
msgstr ""
-#: symbols.c:874 symbols.c:878
+#: symbols.c:838 symbols.c:842
#, c-format
msgid "undefined symbol `%s' in operation"
msgstr ""
-#: symbols.c:885
+#: symbols.c:849
#, c-format
msgid "invalid sections for operation on `%s' and `%s'"
msgstr ""
-#: symbols.c:889
+#: symbols.c:853
#, c-format
msgid "invalid section for operation on `%s'"
msgstr ""
-#: symbols.c:897 symbols.c:900
+#: symbols.c:861 symbols.c:864
#, c-format
msgid "undefined symbol `%s' in operation setting `%s'"
msgstr ""
-#: symbols.c:907
+#: symbols.c:871
#, c-format
msgid "invalid sections for operation on `%s' and `%s' setting `%s'"
msgstr ""
-#: symbols.c:911
+#: symbols.c:875
#, c-format
msgid "invalid section for operation on `%s' setting `%s'"
msgstr ""
-#: symbols.c:964
+#: symbols.c:927
#, c-format
msgid "symbol definition loop encountered at `%s'"
msgstr ""
-#: symbols.c:1193
+#: symbols.c:1156
#, c-format
msgid "division by zero when setting `%s'"
msgstr ""
-#: symbols.c:1280 write.c:2008
+#: symbols.c:1243 write.c:1973
#, c-format
msgid "can't resolve value for symbol `%s'"
msgstr ""
-#: symbols.c:1674
+#: symbols.c:1627
#, c-format
msgid "\"%d\" (instance number %d of a %s label)"
msgstr ""
-#: symbols.c:1711
+#: symbols.c:1663
#, c-format
msgid "attempt to get value of unresolved symbol `%s'"
msgstr ""
-#: symbols.c:1971
+#: symbols.c:1904
msgid "section symbols are already global"
msgstr ""
-#: symbols.c:2014
+#: symbols.c:1944
#, c-format
msgid "Accessing function `%s' as thread-local object"
msgstr ""
-#: symbols.c:2018
+#: symbols.c:1948
#, c-format
msgid "Accessing `%s' as thread-local object"
msgstr ""
-#: write.c:215
+#: write.c:213
#, c-format
msgid "field fx_size too small to hold %d"
msgstr ""
-#: write.c:349
+#: write.c:345
msgid "rva not supported"
msgstr ""
-#: write.c:570
+#: write.c:545
#, c-format
msgid "attempt to .org/.space backwards? (%ld)"
msgstr ""
-#: write.c:1002 write.c:1074
+#: write.c:968 write.c:1040
msgid "relocation out of range"
msgstr ""
-#: write.c:1005 write.c:1077
+#: write.c:971 write.c:1043
#, c-format
msgid "%s:%u: bad return from bfd_install_relocation: %x"
msgstr ""
-#: write.c:1057
+#: write.c:1023
msgid "internal error: fixup not contained within frag"
msgstr ""
-#: write.c:1164 write.c:1188
+#: write.c:1129 write.c:1153
#, c-format
msgid "FATAL: Can't write %s"
msgstr ""
-#: write.c:1220
+#: write.c:1185
msgid "cannot write to output file"
msgstr ""
-#: write.c:1477
+#: write.c:1442
#, c-format
msgid "%d error%s, %d warning%s, generating bad object file"
msgstr ""
-#: write.c:1484
+#: write.c:1449
#, c-format
msgid "%d error%s, %d warning%s, no object file generated"
msgstr ""
-#: write.c:1945
+#: write.c:1910
#, c-format
msgid "local label `%s' is not defined"
msgstr ""
-#: write.c:2244
+#: write.c:2203
#, c-format
msgid "alignment padding (%lu bytes) not a multiple of %ld"
msgstr ""
-#: write.c:2361
+#: write.c:2320
#, c-format
msgid ".word %s-%s+%s didn't fit"
msgstr ""
-#: write.c:2446
+#: write.c:2405
msgid "attempt to move .org backwards"
msgstr ""
-#: write.c:2474
+#: write.c:2433
msgid ".space specifies non-absolute value"
msgstr ""
-#: write.c:2481
+#: write.c:2440
msgid ".space or .fill with negative value, ignored"
msgstr ""
-#: write.c:2773
+#: write.c:2724
#, c-format
msgid "value of %s too large for field of %d bytes at %s"
msgstr ""
-#: write.c:2785
+#: write.c:2736
#, c-format
msgid "signed .word overflow; switch may be too large; %ld at 0x%lx"
msgstr ""
diff --git a/gas/read.c b/gas/read.c
index f50409c..93e3ec4 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -1053,7 +1053,7 @@ read_a_source_file (char *name)
#endif
input_line_pointer--;
/* Report unknown char as ignored. */
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
}
#ifdef md_after_pass_hook
@@ -1155,6 +1155,9 @@ do_align (int n, char *fill, int len, int max)
len = 0;
}
+#ifdef md_flush_pending_output
+ md_flush_pending_output ();
+#endif
#ifdef md_do_align
md_do_align (n, fill, len, max, just_record_alignment);
#endif
@@ -3020,6 +3023,10 @@ s_text (int ignore ATTRIBUTE_UNUSED)
#endif
}
+
+/* Verify that we are at the end of a line. If not, issue an error and
+ skip to EOL. */
+
void
demand_empty_rest_of_line (void)
{
@@ -3027,28 +3034,29 @@ demand_empty_rest_of_line (void)
if (is_end_of_line[(unsigned char) *input_line_pointer])
input_line_pointer++;
else
- ignore_rest_of_line ();
-
- /* Return having already swallowed end-of-line. */
-}
-
-void
-ignore_rest_of_line (void)
-{
- /* For suspect lines: gives warning. */
- if (!is_end_of_line[(unsigned char) *input_line_pointer])
{
if (ISPRINT (*input_line_pointer))
- as_warn (_("rest of line ignored; first ignored character is `%c'"),
+ as_bad (_("junk at end of line, first unrecognized character is `%c'"),
*input_line_pointer);
else
- as_warn (_("rest of line ignored; first ignored character valued 0x%x"),
+ as_bad (_("junk at end of line, first unrecognized character valued 0x%x"),
*input_line_pointer);
-
- while (input_line_pointer < buffer_limit
- && !is_end_of_line[(unsigned char) *input_line_pointer])
- input_line_pointer++;
+ ignore_rest_of_line ();
}
+
+ /* Return pointing just after end-of-line. */
+ know (is_end_of_line[(unsigned char) input_line_pointer[-1]]);
+}
+
+/* Silently advance to the end of line. Use this after already having
+ issued an error about something bad. */
+
+void
+ignore_rest_of_line (void)
+{
+ while (input_line_pointer < buffer_limit
+ && !is_end_of_line[(unsigned char) *input_line_pointer])
+ input_line_pointer++;
input_line_pointer++;
@@ -4738,7 +4746,7 @@ demand_copy_string (int *lenP)
}
else
{
- as_warn (_("missing string"));
+ as_bad (_("missing string"));
retval = NULL;
ignore_rest_of_line ();
}
@@ -4814,7 +4822,7 @@ equals (char *sym_name, int reassign)
if (flag_mri)
{
/* Check garbage after the expression. */
- ignore_rest_of_line ();
+ demand_empty_rest_of_line ();
mri_comment_end (stop, stopc);
}
}
diff --git a/gas/stabs.c b/gas/stabs.c
index 3d32729..f8acdc8 100644
--- a/gas/stabs.c
+++ b/gas/stabs.c
@@ -520,7 +520,7 @@ generate_asm_file (int type, char *file)
char *buf;
char *tmp = file;
char *endp = file + strlen (file);
- char *bufp = buf;
+ char *bufp;
if (last_file != NULL
&& strcmp (last_file, file) == 0)
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 9783ad2..c728672 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,176 @@
+2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/elf/elf.exp: Remove group1, add group1a and group1b for
+ section group.
+
+ * gas/elf/group1a.d: New file.
+ * gas/elf/group1b.d: Likewise.
+
+ * gas/elf/group1.e: Removed.
+
+2004-04-30 Nick Clifton <nickc@redhat.com>
+
+ * gas/arm/reg-alias.s: New file: Test case sensitive register
+ aliases.
+ * gas/arm/reg-alias.d: New file: Expected test output.
+ * gas/arm/arm.exp: Run reg-alias test.
+ Arrange tests in a more orderly fashion.
+
+2004-04-30 Ben Elliston <bje@au.ibm.com>
+
+ * gas/ppc/power4.s: Add dcbz and dcbzl test cases.
+ * gas/ppc/power4.d: Update accordingly.
+
+2004-04-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/elf/elf.exp: Add group0a, group0b and group1 for section
+ group.
+
+ * gas/elf/group0.s: New file.
+ * gas/elf/group0a.d: Likewise.
+ * gas/elf/group0b.d: Likewise.
+ * gas/elf/group1.e: Likewise.
+ * gas/elf/group1.s: Likewise.
+
+2004-04-23 Nick Clifton <nickc@redhat.com>
+
+ * gas/symver/symver1.d: Cope with extra symbols inserted by
+ arm-elf toolchains.
+ * gas/symver/symver0.d: Likewise
+ * gas/elf/symver.d: Likewise.
+
+2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * gas/sh/pcrel2.d: Update.
+ * gas/sh/tlsd.d: Update.
+ * gas/sh/tlsnopic.d: Update.
+ * gas/sh/tlspic.d: Update.
+
+2004-04-22 Mark Kettenis <kettenis@gnu.org>
+
+ * lib/gas-defs.exp (is_elf_format): Add OpenBSD support.
+
+2004-04-22 Atsushi Nemoto <anemo@mba.ocn.ne.jp>
+
+ * gas/mips/lb-xgot-ilocks.d: Remove nops in load delay slot.
+ * gas/mips/mips-abi32-pic.d: Likewise.
+ * gas/mips/mips-abi32-pic2.d: Likewise.
+ * gas/mips/mips-gp32-fp32-pic.d: Likewise.
+ * gas/mips/mips-gp32-fp64-pic.d: Likewise.
+ * gas/mips/mips-gp64-fp32-pic.d: Likewise.
+ * gas/mips/mips-gp64-fp64-pic.d: Likewise.
+ * gas/mips/relax-swap1-mips2.d: Likewise.
+ * gas/mips/lb-svr4pic-ilocks.d: New test.
+ * gas/mips/mips.exp: Run it.
+
+2004-04-22 Paul Brook <paul@codesourcery.com>
+
+ * maverick.c (off8s): Test full shifted operand range.
+ (MCC2): Define.
+ (MVDSPACC, MVACCDSP): Use it.
+ * maverick.d, maverick.s: Regenerate.
+
+2004-04-22 Peter Barada <peter@the-baradas.com>
+
+ * gas/m68k/mcf-mac.s: New test: Check ColdFire MAC instructions.
+ * gas/m68k/mcf-emac.s: New test: Similar checks.
+ * gas/m68k/mcf-mac.d: New test: Expected output.
+ * gas/m68k/mcf-emac.d: New test: Likewise.
+ * gas/m68k/all.exp: Run new tests.
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * gas/mips/elempic.d: File removed as part of -membedded-pic removal.
+ * gas/mips/empic.d: Likewise.
+ * gas/mips/empic.l: Likewise.
+ * gas/mips/empic.s: Likewise.
+ * gas/mips/empic2.d: Likewise.
+ * gas/mips/empic2.s: Likewise.
+ * gas/mips/empic3_e.d: Likewise.
+ * gas/mips/empic3_e.s: Likewise.
+ * gas/mips/empic3_g1.d: Likewise.
+ * gas/mips/empic3_g1.s: Likewise.
+ * gas/mips/empic3_g2.d: Likewise.
+ * gas/mips/empic3_g2.s: Likewise.
+ * gas/mips/jal-empic-elf-2.d: Likewise.
+ * gas/mips/jal-empic-elf-2.s: Likewise.
+ * gas/mips/jal-empic-elf-3.d: Likewise.
+ * gas/mips/jal-empic-elf-3.s: Likewise.
+ * gas/mips/jal-empic-elf.d: Likewise.
+ * gas/mips/jal-empic.d: Likewise.
+ * gas/mips/la-empic.d: Likewise.
+ * gas/mips/la-empic.s: Likewise.
+ * gas/mips/lb-empic.d: Likewise.
+ * gas/mips/ld-empic.d: Likewise.
+ * gas/mips/lif-empic.d: Likewise.
+ * gas/mips/telempic.d: Likewise.
+ * gas/mips/tempic.d: Likewise.
+ * gas/mips/ulh-empic.d: Likewise.
+ * gas/mips/ld-pic.s: Remove code conditional on EMPIC.
+ * gas/mips/lifloat.s: Likewise.
+ * gas/mips/mips.exp: Remove -membedded-pic tests and related comments.
+
+2004-04-20 Brian Ford <ford@vss.fsi.com>
+ DJ Delorie <dj@redhat.com>
+
+ * gas/i386/secrel.s: New test for .secrel32.
+ * gas/i386/secrel.d: Likewise.
+ * gas/i386/i386.exp: Call it for PE targets.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gas/cfi/cfi-sparc64-1.d: Update.
+
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * gas/mips/vr4122.[sd]: Change option to -mfix-vr4120.
+
+2004-04-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * gas/elf/section2.e-mips: Allow named section symbols.
+ * gas/mips/{,el}empic.d, gas/mips/mips{,el}16-[ef].d: Likewise.
+
+2004-04-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * gas/m32r/parallel-2.s: New file: Test case for parallel code.
+ * gas/m32r/parallel-2.d: New file: Expected results.
+ * gas/m32r/m32r2.exp: Run the test.
+
+ * gas/m32r/seth.s: New file: Test for seth.
+ * gas/m32r/seth.d: New file: Expected results.
+ * gas/m32r/m32r.exp: Run the new test.
+
+2004-04-01 Asgari Jinia <asgarij@kpitcummins.com>
+
+ * gas/sh/renesas-1.s, gas/sh/renesas-1.d: New test for -renesas
+ option.
+ * gas/sh/basic.exp: Run the new test.
+
+2004-04-01 Dave Korn <dk@artimi.com>
+
+ * gas/dlx/alltests.exp: Execute new lohi test.
+ * gas/dlx/lohi.s: New test for spurious lo16/hi16
+ reloc overflow checking.
+ * gas/dlx/lohi.d: New file: expected output.
+ * gas/dlx/lhi.d: Updated to properly expect lo16
+ relocations where asked for.
+ * gas/dlx/itype.d: Likewise.
+ * gas/dlx/lhi.d: Corrected cut+paste error in test name.
+
+2004-03-30 Stan Shebs <shebs@apple.com>
+
+ * gas/macros/macros.exp: Remove mention of MPW config.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * gas/i860/dir-intel03-err.l: Update for junk at end line becoming
+ an error.
+ * gas/m68hc11/m68hc11.exp: Likewise.
+
+2004-03-23 Andreas Schwab <schwab@suse.de>
+
+ * gas/cfi/cfi-m68k.d: Adjust offsets.
+
2004-03-22 Hans-Peter Nilsson <hp@axis.com>
* gas/cris/regreg.d: Assemble with --no-mul-bug-abort.
@@ -38,6 +211,51 @@
VIA PadLock instructions.
* gas/i386/i386.exp: Run padlock tests.
+2004-03-12 Alan Modra <amodra@bigpond.net.au>
+
+ * gas/i386/katmai.d: Revert last change.
+
+ * gas/i386/katmai.d: Adjust for clflush change.
+
+2004-03-08 Andreas Jaeger <aj@suse.de>
+
+ * gas/cfi/cfi-s390x-1.d: Adjust offsets.
+
+2004-03-07 Richard Henderson <rth@redhat.com>
+
+ * gas/cfi/cfi-common-2.d, gas/cfi/cfi-i386.d: Adjust offsets.
+
+2004-03-07 Andreas Jaeger <aj@suse.de>
+
+ * gas/cfi/cfi-x86_64.d: Adjust offsets.
+
+2004-03-07 Richard Henderson <rth@redhat.com>
+
+ * gas/alpha/elf-reloc-8.d, gas/cfi/cfi-alpha-1.d,
+ gas/cfi/cfi-alpha-2.d, gas/cfi/cfi-alpha-3.d, gas/cfi/cfi-common-1.d,
+ gas/cfi/cfi-common-2.d, gas/cfi/cfi-common-3.d: Adjust offsets.
+
+2004-03-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * gas/sh/sh64/err-dsp.s: Fix expected error message.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * gas/frv/fr405-insn.[sdl]: New test.
+ * gas/frv/fr450-spr.[sd]: New test.
+ * gas/frv/fr450-insn.[sdl]: New test.
+ * gas/frv/fr450-media-issue.[sl]: New test.
+ * gas/frv/allinsn.exp: Run new tests. Ensure fr405 instructions
+ aren't accepted for -mcpu=fr400 or -mcpu=fr500. Ensure fr450
+ instructions aren't accepted for -mcpu=fr400, -mcpu=fr405 or
+ -mcpu=fr500.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * gas/frv/allinsn.s (rstb, rsth, rst, rstd, rstq): Replace with nops.
+ (rstbf, rsthf, rstf, rstdf, rstqf): Likewise.
+ * gas/frv/allinsn.d: Update accordingly.
+
2004-02-17 Petko Manolov <petkan@nucleusys.com>
* gas/arm/maverick.c: DSPSC to/from opcode fixes.
diff --git a/gas/testsuite/gas/alpha/elf-reloc-8.d b/gas/testsuite/gas/alpha/elf-reloc-8.d
index 32ebf97..8ba78c3 100644
--- a/gas/testsuite/gas/alpha/elf-reloc-8.d
+++ b/gas/testsuite/gas/alpha/elf-reloc-8.d
@@ -311,20 +311,20 @@ OFFSET *TYPE *VALUE
RELOCATION RECORDS FOR \[\.eh_frame\]:
OFFSET *TYPE *VALUE
-0*000001b SREL32 \.init\.text
-0*0000031 SREL32 \.init\.text\+0x0*0000050
-0*0000042 SREL32 \.init\.text\+0x0*0000080
-0*0000053 SREL32 \.init\.text\+0x0*00000b0
-0*0000074 SREL32 \.init\.text\+0x0*00002c0
-0*0000092 SREL32 \.init\.text\+0x0*00005a0
-0*00000aa SREL32 \.init\.text\+0x0*00005f0
-0*00000bb SREL32 \.init\.text\+0x0*0000610
-0*00000cc SREL32 \.init\.text\+0x0*0000630
-0*00000e6 SREL32 \.init\.text\+0x0*0000750
-0*000010a SREL32 \.init\.text\+0x0*0000990
-0*0000124 SREL32 \.init\.text\+0x0*0000a10
-0*0000135 SREL32 \.init\.text\+0x0*0000a20
-0*0000146 SREL32 \.init\.text\+0x0*0000a40
-0*000015e SREL32 \.init\.text\+0x0*0000a90
-0*000016f SREL32 \.init\.text\+0x0*0000aa0
-0*0000180 SREL32 \.text
+0*000001c SREL32 \.init\.text
+0*0000034 SREL32 \.init\.text\+0x0*0000050
+0*0000048 SREL32 \.init\.text\+0x0*0000080
+0*000005c SREL32 \.init\.text\+0x0*00000b0
+0*0000080 SREL32 \.init\.text\+0x0*00002c0
+0*00000a0 SREL32 \.init\.text\+0x0*00005a0
+0*00000b8 SREL32 \.init\.text\+0x0*00005f0
+0*00000cc SREL32 \.init\.text\+0x0*0000610
+0*00000e0 SREL32 \.init\.text\+0x0*0000630
+0*00000fc SREL32 \.init\.text\+0x0*0000750
+0*0000120 SREL32 \.init\.text\+0x0*0000990
+0*000013c SREL32 \.init\.text\+0x0*0000a10
+0*0000150 SREL32 \.init\.text\+0x0*0000a20
+0*0000164 SREL32 \.init\.text\+0x0*0000a40
+0*000017c SREL32 \.init\.text\+0x0*0000a90
+0*0000190 SREL32 \.init\.text\+0x0*0000aa0
+0*00001a4 SREL32 \.text
diff --git a/gas/testsuite/gas/arm/arm.exp b/gas/testsuite/gas/arm/arm.exp
index e5ec8be..36045e6 100644
--- a/gas/testsuite/gas/arm/arm.exp
+++ b/gas/testsuite/gas/arm/arm.exp
@@ -28,66 +28,44 @@ if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
run_dump_test "copro"
}
- run_dump_test "armv1"
-
- run_errors_test "armv1-bad" "-mcpu=arm7m" "ARM v1 errors"
-
gas_test "arm3.s" "-mcpu=arm3" $stdoptlist "Arm 3 instructions"
-
gas_test "arm6.s" "-mcpu=arm6" $stdoptlist "Arm 6 instructions"
-
gas_test "arm7dm.s" "-mcpu=arm7dm" $stdoptlist "Arm 7DM instructions"
-
- if {! [istarget arm*-*-aout] && ![istarget arm-*-pe]} then {
- # The arm-aout port does not support Thumb mode.
- gas_test "thumb.s" "-mcpu=arm7t" $stdoptlist "Thumb instructions"
- }
-
gas_test "arch4t.s" "-march=armv4t" $stdoptlist "Arm architecture 4t instructions"
-
- run_dump_test "arch5tej"
-
gas_test "immed.s" "" $stdoptlist "immediate expressions"
-
gas_test "float.s" "-mcpu=arm7tdmi -mfpu=fpa" $stdoptlist "Core floating point instructions"
+ gas_test "offset.s" "" $stdoptlist "OFFSET_IMM regression"
+ run_dump_test "armv1"
+ run_dump_test "arch5tej"
run_dump_test "fpa-monadic"
-
run_dump_test "fpa-dyadic"
-
run_dump_test "fpa-mem"
-
run_dump_test "vfp1xD"
-
run_dump_test "vfp1"
-
run_dump_test "vfp2"
-
- run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
-
run_dump_test "xscale"
-
run_dump_test "adrl"
-
- run_errors_test "req" "-mcpu=arm7m" ".req errors"
-
- run_dump_test "maverick"
-
+ run_dump_test "reg-alias"
+ run_dump_test "maverick"
run_dump_test "archv6"
-
run_dump_test "thumbv6"
-
+
+ run_errors_test "vfp-bad" "-mfpu=vfp" "VFP errors"
+ run_errors_test "req" "-mcpu=arm7m" ".req errors"
+ run_errors_test "armv1-bad" "-mcpu=arm7m" "ARM v1 errors"
run_errors_test "r15-bad" "" "Invalid use of r15 errors"
+ run_errors_test "undefined" "" "Undefined local label error"
if {[istarget *-*-elf*] || [istarget *-*-linux*]} then {
run_dump_test "pic"
-
run_dump_test "mapping"
}
- gas_test "offset.s" "" $stdoptlist "OFFSET_IMM regression"
-
- run_errors_test "undefined" "" "Undefined local label error"
+ if {! [istarget arm*-*-aout] && ![istarget arm-*-pe]} then {
+ # The arm-aout port does not support Thumb mode.
+ gas_test "thumb.s" "-mcpu=arm7t" $stdoptlist "Thumb instructions"
+ }
}
# Not all arm targets are bi-endian, so only run this test on ones
diff --git a/gas/testsuite/gas/arm/maverick.c b/gas/testsuite/gas/arm/maverick.c
index 5f55e86..a696edd 100644
--- a/gas/testsuite/gas/arm/maverick.c
+++ b/gas/testsuite/gas/arm/maverick.c
@@ -75,16 +75,16 @@ arm_cond (func_arg * arg, insn_data * data)
/* The sign of an offset is actually used to determined whether the
absolute value of the offset should be added or subtracted, so we
- must adjust negative values so that they do not overflow: -256 is
+ must adjust negative values so that they do not overflow: -1024 is
not valid, but -0 is distinct from +0. */
int
off8s (func_arg * arg, insn_data * data)
#define off8s { off8s }
{
int val;
- char value[6];
+ char value[9];
- /* Values less that -255 or between -3 and 0 are problematical.
+ /* Zero values are problematical.
The assembler performs translations on the addressing modes
for these values, meaning that we cannot just recreate the
disassembler string in the LDST macro without knowing what
@@ -93,26 +93,23 @@ off8s (func_arg * arg, insn_data * data)
{
val = get_bits (9s);
}
- while (val < -255 || (val > -4 && val < 1));
+ while (val == -1 || val == 0);
+ val <<= 2;
if (val < 0)
{
- val = - val;
- val &= ~3;
+ val = -4 - val;
sprintf (value, ", #-%i", val);
data->dis_out = strdup (value);
sprintf (value, ", #-%i", val);
data->as_in = strdup (value);
- val >>= 2;
- data->bits = val;
+ data->bits = val >> 2;
}
else
{
- val &= ~3;
sprintf (value, ", #%i", val);
data->as_in = data->dis_out = strdup (value);
- val >>= 2;
- data->bits = val | (1 << 23);
+ data->bits = (val >> 2) | (1 << 23);
}
return 0;
@@ -273,13 +270,20 @@ imm7 (func_arg *arg, insn_data *data)
MCRC2 (mv ## insname, cpnum, 0, 1, opcode2, \
armreg (12), mvreg (regDSPname, 16))
+/* Move between coprocessor registers. A two operand CDP insn. */
+#define MCC2(insname, opcode1, opcode2, reg1spec, reg2spec) \
+ mv_insn (insname, , \
+ ((14 << 24) | ((opcode1) << 20) | \
+ (4 << 8) | ((opcode2) << 5)), \
+ reg1spec, comma, reg2spec)
+
/* Define a move from a DSP register to a DSP accumulator. */
#define MVDSPACC(insname, opcode2, regDSPname) \
- MCRC2 (mv ## insname, 6, 0, 1, opcode2, acreg (0), mvreg (regDSPname, 16))
+ MCC2 (mv ## insname, 2, opcode2, acreg (12), mvreg (regDSPname, 16))
/* Define a move from a DSP accumulator to a DSP register. */
#define MVACCDSP(insname, opcode2, regDSPname) \
- MCRC2 (mv ## insname, 6, 0, 0, opcode2, mvreg (regDSPname, 0), acreg (16))
+ MCC2 (mv ## insname, 1, opcode2, mvreg (regDSPname, 12), acreg (16))
/* Define move insns between a float DSP register and an ARM
register. */
@@ -355,13 +359,13 @@ MVd (dlr, rdl, 0);
MVd (dhr, rdh, 1);
MVdx (64lr, r64l, 0);
MVdx (64hr, r64h, 1);
-MVfxa (al32, 32al, 0);
-MVfxa (am32, 32am, 1);
-MVfxa (ah32, 32ah, 2);
-MVfxa (a32, 32a, 3);
-MVdxa (a64, 64a, 4);
-MCRC2 (mvsc32, 4, 1, 0, 7, dspsc, mvreg ("dx", 12));
-MCRC2 (mv32sc, 4, 0, 1, 7, mvreg ("dx", 12), dspsc);
+MVfxa (al32, 32al, 2);
+MVfxa (am32, 32am, 3);
+MVfxa (ah32, 32ah, 4);
+MVfxa (a32, 32a, 5);
+MVdxa (a64, 64a, 6);
+MCC2 (mvsc32, 2, 7, dspsc, mvreg ("dx", 12));
+MCC2 (mv32sc, 1, 7, mvreg ("dx", 12), dspsc);
CDP2 (cpys, , 4, 0, 0, "f", "f");
CDP2 (cpyd, , 4, 0, 1, "d", "d");
diff --git a/gas/testsuite/gas/arm/maverick.d b/gas/testsuite/gas/arm/maverick.d
index 26e82df..dcf5c7d 100644
--- a/gas/testsuite/gas/arm/maverick.d
+++ b/gas/testsuite/gas/arm/maverick.d
@@ -8,470 +8,470 @@
Disassembly of section .text:
# load_store:
-0*0 <load_store> 0d ?9d ?54 ?3f ? * cfldrseq mvf5, ?\[sp, #252\]
-0*4 <load_store\+0x4> 4d ?9b ?e4 ?12 ? * cfldrsmi mvf14, ?\[fp, #72\]
-0*8 <load_store\+0x8> 7d ?1c ?24 ?3c ? * cfldrsvc mvf2, ?\[ip, #-240\]
-0*c <load_store\+0xc> bd ?9a ?04 ?3f ? * cfldrslt mvf0, ?\[sl, #252\]
-0*10 <load_store\+0x10> cd ?9b ?a4 ?12 ? * cfldrsgt mvf10, ?\[fp, #72\]
-0*14 <load_store\+0x14> dd ?3c ?64 ?3c ? * cfldrsle mvf6, ?\[ip, #-240\]!
-0*18 <load_store\+0x18> 9d ?ba ?04 ?3f ? * cfldrsls mvf0, ?\[sl, #252\]!
-0*1c <load_store\+0x1c> 4d ?bb ?e4 ?12 ? * cfldrsmi mvf14, ?\[fp, #72\]!
-0*20 <load_store\+0x20> 7d ?3c ?24 ?3c ? * cfldrsvc mvf2, ?\[ip, #-240\]!
-0*24 <load_store\+0x24> bd ?ba ?04 ?3f ? * cfldrslt mvf0, ?\[sl, #252\]!
-0*28 <load_store\+0x28> cc ?bb ?a4 ?12 ? * cfldrsgt mvf10, ?\[fp\], #72
-0*2c <load_store\+0x2c> dc ?3c ?64 ?3c ? * cfldrsle mvf6, ?\[ip\], #-240
-0*30 <load_store\+0x30> 9c ?ba ?04 ?3f ? * cfldrsls mvf0, ?\[sl\], #252
-0*34 <load_store\+0x34> 4c ?bb ?e4 ?12 ? * cfldrsmi mvf14, ?\[fp\], #72
-0*38 <load_store\+0x38> 7c ?3c ?24 ?3c ? * cfldrsvc mvf2, ?\[ip\], #-240
-0*3c <load_store\+0x3c> bd ?da ?04 ?3f ? * cfldrdlt mvd0, ?\[sl, #252\]
-0*40 <load_store\+0x40> cd ?db ?a4 ?12 ? * cfldrdgt mvd10, ?\[fp, #72\]
-0*44 <load_store\+0x44> dd ?5c ?64 ?3c ? * cfldrdle mvd6, ?\[ip, #-240\]
-0*48 <load_store\+0x48> 9d ?da ?04 ?3f ? * cfldrdls mvd0, ?\[sl, #252\]
-0*4c <load_store\+0x4c> 4d ?db ?e4 ?12 ? * cfldrdmi mvd14, ?\[fp, #72\]
-0*50 <load_store\+0x50> 7d ?7c ?24 ?3c ? * cfldrdvc mvd2, ?\[ip, #-240\]!
-0*54 <load_store\+0x54> bd ?fa ?04 ?3f ? * cfldrdlt mvd0, ?\[sl, #252\]!
-0*58 <load_store\+0x58> cd ?fb ?a4 ?12 ? * cfldrdgt mvd10, ?\[fp, #72\]!
-0*5c <load_store\+0x5c> dd ?7c ?64 ?3c ? * cfldrdle mvd6, ?\[ip, #-240\]!
-0*60 <load_store\+0x60> 9d ?fa ?04 ?3f ? * cfldrdls mvd0, ?\[sl, #252\]!
-0*64 <load_store\+0x64> 4c ?fb ?e4 ?12 ? * cfldrdmi mvd14, ?\[fp\], #72
-0*68 <load_store\+0x68> 7c ?7c ?24 ?3c ? * cfldrdvc mvd2, ?\[ip\], #-240
-0*6c <load_store\+0x6c> bc ?fa ?04 ?3f ? * cfldrdlt mvd0, ?\[sl\], #252
-0*70 <load_store\+0x70> cc ?fb ?a4 ?12 ? * cfldrdgt mvd10, ?\[fp\], #72
-0*74 <load_store\+0x74> dc ?7c ?64 ?3c ? * cfldrdle mvd6, ?\[ip\], #-240
-0*78 <load_store\+0x78> 9d ?9a ?05 ?3f ? * cfldr32ls mvfx0, ?\[sl, #252\]
-0*7c <load_store\+0x7c> 4d ?9b ?e5 ?12 ? * cfldr32mi mvfx14, ?\[fp, #72\]
-0*80 <load_store\+0x80> 7d ?1c ?25 ?3c ? * cfldr32vc mvfx2, ?\[ip, #-240\]
-0*84 <load_store\+0x84> bd ?9a ?05 ?3f ? * cfldr32lt mvfx0, ?\[sl, #252\]
-0*88 <load_store\+0x88> cd ?9b ?a5 ?12 ? * cfldr32gt mvfx10, ?\[fp, #72\]
-0*8c <load_store\+0x8c> dd ?3c ?65 ?3c ? * cfldr32le mvfx6, ?\[ip, #-240\]!
-0*90 <load_store\+0x90> 9d ?ba ?05 ?3f ? * cfldr32ls mvfx0, ?\[sl, #252\]!
-0*94 <load_store\+0x94> 4d ?bb ?e5 ?12 ? * cfldr32mi mvfx14, ?\[fp, #72\]!
-0*98 <load_store\+0x98> 7d ?3c ?25 ?3c ? * cfldr32vc mvfx2, ?\[ip, #-240\]!
-0*9c <load_store\+0x9c> bd ?ba ?05 ?3f ? * cfldr32lt mvfx0, ?\[sl, #252\]!
-0*a0 <load_store\+0xa0> cc ?bb ?a5 ?12 ? * cfldr32gt mvfx10, ?\[fp\], #72
-0*a4 <load_store\+0xa4> dc ?3c ?65 ?3c ? * cfldr32le mvfx6, ?\[ip\], #-240
-0*a8 <load_store\+0xa8> 9c ?ba ?05 ?3f ? * cfldr32ls mvfx0, ?\[sl\], #252
-0*ac <load_store\+0xac> 4c ?bb ?e5 ?12 ? * cfldr32mi mvfx14, ?\[fp\], #72
-0*b0 <load_store\+0xb0> 7c ?3c ?25 ?3c ? * cfldr32vc mvfx2, ?\[ip\], #-240
-0*b4 <load_store\+0xb4> bd ?da ?05 ?3f ? * cfldr64lt mvdx0, ?\[sl, #252\]
-0*b8 <load_store\+0xb8> cd ?db ?a5 ?12 ? * cfldr64gt mvdx10, ?\[fp, #72\]
-0*bc <load_store\+0xbc> dd ?5c ?65 ?3c ? * cfldr64le mvdx6, ?\[ip, #-240\]
-0*c0 <load_store\+0xc0> 9d ?da ?05 ?3f ? * cfldr64ls mvdx0, ?\[sl, #252\]
-0*c4 <load_store\+0xc4> 4d ?db ?e5 ?12 ? * cfldr64mi mvdx14, ?\[fp, #72\]
-0*c8 <load_store\+0xc8> 7d ?7c ?25 ?3c ? * cfldr64vc mvdx2, ?\[ip, #-240\]!
-0*cc <load_store\+0xcc> bd ?fa ?05 ?3f ? * cfldr64lt mvdx0, ?\[sl, #252\]!
-0*d0 <load_store\+0xd0> cd ?fb ?a5 ?12 ? * cfldr64gt mvdx10, ?\[fp, #72\]!
-0*d4 <load_store\+0xd4> dd ?7c ?65 ?3c ? * cfldr64le mvdx6, ?\[ip, #-240\]!
-0*d8 <load_store\+0xd8> 9d ?fa ?05 ?3f ? * cfldr64ls mvdx0, ?\[sl, #252\]!
-0*dc <load_store\+0xdc> 4c ?fb ?e5 ?12 ? * cfldr64mi mvdx14, ?\[fp\], #72
-0*e0 <load_store\+0xe0> 7c ?7c ?25 ?3c ? * cfldr64vc mvdx2, ?\[ip\], #-240
-0*e4 <load_store\+0xe4> bc ?fa ?05 ?3f ? * cfldr64lt mvdx0, ?\[sl\], #252
-0*e8 <load_store\+0xe8> cc ?fb ?a5 ?12 ? * cfldr64gt mvdx10, ?\[fp\], #72
-0*ec <load_store\+0xec> dc ?7c ?65 ?3c ? * cfldr64le mvdx6, ?\[ip\], #-240
-0*f0 <load_store\+0xf0> 9d ?8a ?04 ?3f ? * cfstrsls mvf0, ?\[sl, #252\]
-0*f4 <load_store\+0xf4> 4d ?8b ?e4 ?12 ? * cfstrsmi mvf14, ?\[fp, #72\]
-0*f8 <load_store\+0xf8> 7d ?0c ?24 ?3c ? * cfstrsvc mvf2, ?\[ip, #-240\]
-0*fc <load_store\+0xfc> bd ?8a ?04 ?3f ? * cfstrslt mvf0, ?\[sl, #252\]
-0*100 <load_store\+0x100> cd ?8b ?a4 ?12 ? * cfstrsgt mvf10, ?\[fp, #72\]
-0*104 <load_store\+0x104> dd ?2c ?64 ?3c ? * cfstrsle mvf6, ?\[ip, #-240\]!
-0*108 <load_store\+0x108> 9d ?aa ?04 ?3f ? * cfstrsls mvf0, ?\[sl, #252\]!
-0*10c <load_store\+0x10c> 4d ?ab ?e4 ?12 ? * cfstrsmi mvf14, ?\[fp, #72\]!
-0*110 <load_store\+0x110> 7d ?2c ?24 ?3c ? * cfstrsvc mvf2, ?\[ip, #-240\]!
-0*114 <load_store\+0x114> bd ?aa ?04 ?3f ? * cfstrslt mvf0, ?\[sl, #252\]!
-0*118 <load_store\+0x118> cc ?ab ?a4 ?12 ? * cfstrsgt mvf10, ?\[fp\], #72
-0*11c <load_store\+0x11c> dc ?2c ?64 ?3c ? * cfstrsle mvf6, ?\[ip\], #-240
-0*120 <load_store\+0x120> 9c ?aa ?04 ?3f ? * cfstrsls mvf0, ?\[sl\], #252
-0*124 <load_store\+0x124> 4c ?ab ?e4 ?12 ? * cfstrsmi mvf14, ?\[fp\], #72
-0*128 <load_store\+0x128> 7c ?2c ?24 ?3c ? * cfstrsvc mvf2, ?\[ip\], #-240
-0*12c <load_store\+0x12c> bd ?ca ?04 ?3f ? * cfstrdlt mvd0, ?\[sl, #252\]
-0*130 <load_store\+0x130> cd ?cb ?a4 ?12 ? * cfstrdgt mvd10, ?\[fp, #72\]
-0*134 <load_store\+0x134> dd ?4c ?64 ?3c ? * cfstrdle mvd6, ?\[ip, #-240\]
-0*138 <load_store\+0x138> 9d ?ca ?04 ?3f ? * cfstrdls mvd0, ?\[sl, #252\]
-0*13c <load_store\+0x13c> 4d ?cb ?e4 ?12 ? * cfstrdmi mvd14, ?\[fp, #72\]
-0*140 <load_store\+0x140> 7d ?6c ?24 ?3c ? * cfstrdvc mvd2, ?\[ip, #-240\]!
-0*144 <load_store\+0x144> bd ?ea ?04 ?3f ? * cfstrdlt mvd0, ?\[sl, #252\]!
-0*148 <load_store\+0x148> cd ?eb ?a4 ?12 ? * cfstrdgt mvd10, ?\[fp, #72\]!
-0*14c <load_store\+0x14c> dd ?6c ?64 ?3c ? * cfstrdle mvd6, ?\[ip, #-240\]!
-0*150 <load_store\+0x150> 9d ?ea ?04 ?3f ? * cfstrdls mvd0, ?\[sl, #252\]!
-0*154 <load_store\+0x154> 4c ?eb ?e4 ?12 ? * cfstrdmi mvd14, ?\[fp\], #72
-0*158 <load_store\+0x158> 7c ?6c ?24 ?3c ? * cfstrdvc mvd2, ?\[ip\], #-240
-0*15c <load_store\+0x15c> bc ?ea ?04 ?3f ? * cfstrdlt mvd0, ?\[sl\], #252
-0*160 <load_store\+0x160> cc ?eb ?a4 ?12 ? * cfstrdgt mvd10, ?\[fp\], #72
-0*164 <load_store\+0x164> dc ?6c ?64 ?3c ? * cfstrdle mvd6, ?\[ip\], #-240
-0*168 <load_store\+0x168> 9d ?8a ?05 ?3f ? * cfstr32ls mvfx0, ?\[sl, #252\]
-0*16c <load_store\+0x16c> 4d ?8b ?e5 ?12 ? * cfstr32mi mvfx14, ?\[fp, #72\]
-0*170 <load_store\+0x170> 7d ?0c ?25 ?3c ? * cfstr32vc mvfx2, ?\[ip, #-240\]
-0*174 <load_store\+0x174> bd ?8a ?05 ?3f ? * cfstr32lt mvfx0, ?\[sl, #252\]
-0*178 <load_store\+0x178> cd ?8b ?a5 ?12 ? * cfstr32gt mvfx10, ?\[fp, #72\]
-0*17c <load_store\+0x17c> dd ?2c ?65 ?3c ? * cfstr32le mvfx6, ?\[ip, #-240\]!
-0*180 <load_store\+0x180> 9d ?aa ?05 ?3f ? * cfstr32ls mvfx0, ?\[sl, #252\]!
-0*184 <load_store\+0x184> 4d ?ab ?e5 ?12 ? * cfstr32mi mvfx14, ?\[fp, #72\]!
-0*188 <load_store\+0x188> 7d ?2c ?25 ?3c ? * cfstr32vc mvfx2, ?\[ip, #-240\]!
-0*18c <load_store\+0x18c> bd ?aa ?05 ?3f ? * cfstr32lt mvfx0, ?\[sl, #252\]!
-0*190 <load_store\+0x190> cc ?ab ?a5 ?12 ? * cfstr32gt mvfx10, ?\[fp\], #72
-0*194 <load_store\+0x194> dc ?2c ?65 ?3c ? * cfstr32le mvfx6, ?\[ip\], #-240
-0*198 <load_store\+0x198> 9c ?aa ?05 ?3f ? * cfstr32ls mvfx0, ?\[sl\], #252
-0*19c <load_store\+0x19c> 4c ?ab ?e5 ?12 ? * cfstr32mi mvfx14, ?\[fp\], #72
-0*1a0 <load_store\+0x1a0> 7c ?2c ?25 ?3c ? * cfstr32vc mvfx2, ?\[ip\], #-240
-0*1a4 <load_store\+0x1a4> bd ?ca ?05 ?3f ? * cfstr64lt mvdx0, ?\[sl, #252\]
-0*1a8 <load_store\+0x1a8> cd ?cb ?a5 ?12 ? * cfstr64gt mvdx10, ?\[fp, #72\]
-0*1ac <load_store\+0x1ac> dd ?4c ?65 ?3c ? * cfstr64le mvdx6, ?\[ip, #-240\]
-0*1b0 <load_store\+0x1b0> 9d ?ca ?05 ?3f ? * cfstr64ls mvdx0, ?\[sl, #252\]
-0*1b4 <load_store\+0x1b4> 4d ?cb ?e5 ?12 ? * cfstr64mi mvdx14, ?\[fp, #72\]
-0*1b8 <load_store\+0x1b8> 7d ?6c ?25 ?3c ? * cfstr64vc mvdx2, ?\[ip, #-240\]!
-0*1bc <load_store\+0x1bc> bd ?ea ?05 ?3f ? * cfstr64lt mvdx0, ?\[sl, #252\]!
-0*1c0 <load_store\+0x1c0> cd ?eb ?a5 ?12 ? * cfstr64gt mvdx10, ?\[fp, #72\]!
-0*1c4 <load_store\+0x1c4> dd ?6c ?65 ?3c ? * cfstr64le mvdx6, ?\[ip, #-240\]!
-0*1c8 <load_store\+0x1c8> 9d ?ea ?05 ?3f ? * cfstr64ls mvdx0, ?\[sl, #252\]!
-0*1cc <load_store\+0x1cc> 4c ?eb ?e5 ?12 ? * cfstr64mi mvdx14, ?\[fp\], #72
-0*1d0 <load_store\+0x1d0> 7c ?6c ?25 ?3c ? * cfstr64vc mvdx2, ?\[ip\], #-240
-0*1d4 <load_store\+0x1d4> bc ?ea ?05 ?3f ? * cfstr64lt mvdx0, ?\[sl\], #252
-0*1d8 <load_store\+0x1d8> cc ?eb ?a5 ?12 ? * cfstr64gt mvdx10, ?\[fp\], #72
-0*1dc <load_store\+0x1dc> dc ?6c ?65 ?3c ? * cfstr64le mvdx6, ?\[ip\], #-240
+0*0 <load_store> 0d ?9d ?54 ?ff ? * cfldrseq mvf5, ?\[sp, #1020\]
+0*4 <load_store\+0x4> 4d ?9b ?e4 ?49 ? * cfldrsmi mvf14, ?\[fp, #292\]
+0*8 <load_store\+0x8> 7d ?1c ?24 ?ef ? * cfldrsvc mvf2, ?\[ip, #-956\]
+0*c <load_store\+0xc> bd ?1a ?04 ?ff ? * cfldrslt mvf0, ?\[sl, #-1020\]
+0*10 <load_store\+0x10> 3d ?11 ?c4 ?27 ? * cfldrscc mvf12, ?\[r1, #-156\]
+0*14 <load_store\+0x14> ed ?bf ?d4 ?68 ? * cfldrs mvf13, ?\[pc, #416\]!
+0*18 <load_store\+0x18> 2d ?30 ?94 ?ff ? * cfldrscs mvf9, ?\[r0, #-1020\]!
+0*1c <load_store\+0x1c> 9d ?31 ?44 ?27 ? * cfldrsls mvf4, ?\[r1, #-156\]!
+0*20 <load_store\+0x20> dd ?bf ?74 ?68 ? * cfldrsle mvf7, ?\[pc, #416\]!
+0*24 <load_store\+0x24> 6d ?30 ?b4 ?ff ? * cfldrsvs mvf11, ?\[r0, #-1020\]!
+0*28 <load_store\+0x28> 3c ?31 ?c4 ?27 ? * cfldrscc mvf12, ?\[r1\], #-156
+0*2c <load_store\+0x2c> ec ?bf ?d4 ?68 ? * cfldrs mvf13, ?\[pc\], #416
+0*30 <load_store\+0x30> 2c ?30 ?94 ?ff ? * cfldrscs mvf9, ?\[r0\], #-1020
+0*34 <load_store\+0x34> 9c ?31 ?44 ?27 ? * cfldrsls mvf4, ?\[r1\], #-156
+0*38 <load_store\+0x38> dc ?bf ?74 ?68 ? * cfldrsle mvf7, ?\[pc\], #416
+0*3c <load_store\+0x3c> 6d ?50 ?b4 ?ff ? * cfldrdvs mvd11, ?\[r0, #-1020\]
+0*40 <load_store\+0x40> 3d ?51 ?c4 ?27 ? * cfldrdcc mvd12, ?\[r1, #-156\]
+0*44 <load_store\+0x44> ed ?df ?d4 ?68 ? * cfldrd mvd13, ?\[pc, #416\]
+0*48 <load_store\+0x48> 2d ?50 ?94 ?ff ? * cfldrdcs mvd9, ?\[r0, #-1020\]
+0*4c <load_store\+0x4c> 9d ?51 ?44 ?27 ? * cfldrdls mvd4, ?\[r1, #-156\]
+0*50 <load_store\+0x50> dd ?ff ?74 ?68 ? * cfldrdle mvd7, ?\[pc, #416\]!
+0*54 <load_store\+0x54> 6d ?70 ?b4 ?ff ? * cfldrdvs mvd11, ?\[r0, #-1020\]!
+0*58 <load_store\+0x58> 3d ?71 ?c4 ?27 ? * cfldrdcc mvd12, ?\[r1, #-156\]!
+0*5c <load_store\+0x5c> ed ?ff ?d4 ?68 ? * cfldrd mvd13, ?\[pc, #416\]!
+0*60 <load_store\+0x60> 2d ?70 ?94 ?ff ? * cfldrdcs mvd9, ?\[r0, #-1020\]!
+0*64 <load_store\+0x64> 9c ?71 ?44 ?27 ? * cfldrdls mvd4, ?\[r1\], #-156
+0*68 <load_store\+0x68> dc ?ff ?74 ?68 ? * cfldrdle mvd7, ?\[pc\], #416
+0*6c <load_store\+0x6c> 6c ?70 ?b4 ?ff ? * cfldrdvs mvd11, ?\[r0\], #-1020
+0*70 <load_store\+0x70> 3c ?71 ?c4 ?27 ? * cfldrdcc mvd12, ?\[r1\], #-156
+0*74 <load_store\+0x74> ec ?ff ?d4 ?68 ? * cfldrd mvd13, ?\[pc\], #416
+0*78 <load_store\+0x78> 2d ?10 ?95 ?ff ? * cfldr32cs mvfx9, ?\[r0, #-1020\]
+0*7c <load_store\+0x7c> 9d ?11 ?45 ?27 ? * cfldr32ls mvfx4, ?\[r1, #-156\]
+0*80 <load_store\+0x80> dd ?9f ?75 ?68 ? * cfldr32le mvfx7, ?\[pc, #416\]
+0*84 <load_store\+0x84> 6d ?10 ?b5 ?ff ? * cfldr32vs mvfx11, ?\[r0, #-1020\]
+0*88 <load_store\+0x88> 3d ?11 ?c5 ?27 ? * cfldr32cc mvfx12, ?\[r1, #-156\]
+0*8c <load_store\+0x8c> ed ?bf ?d5 ?68 ? * cfldr32 mvfx13, ?\[pc, #416\]!
+0*90 <load_store\+0x90> 2d ?30 ?95 ?ff ? * cfldr32cs mvfx9, ?\[r0, #-1020\]!
+0*94 <load_store\+0x94> 9d ?31 ?45 ?27 ? * cfldr32ls mvfx4, ?\[r1, #-156\]!
+0*98 <load_store\+0x98> dd ?bf ?75 ?68 ? * cfldr32le mvfx7, ?\[pc, #416\]!
+0*9c <load_store\+0x9c> 6d ?30 ?b5 ?ff ? * cfldr32vs mvfx11, ?\[r0, #-1020\]!
+0*a0 <load_store\+0xa0> 3c ?31 ?c5 ?27 ? * cfldr32cc mvfx12, ?\[r1\], #-156
+0*a4 <load_store\+0xa4> ec ?bf ?d5 ?68 ? * cfldr32 mvfx13, ?\[pc\], #416
+0*a8 <load_store\+0xa8> 2c ?30 ?95 ?ff ? * cfldr32cs mvfx9, ?\[r0\], #-1020
+0*ac <load_store\+0xac> 9c ?31 ?45 ?27 ? * cfldr32ls mvfx4, ?\[r1\], #-156
+0*b0 <load_store\+0xb0> dc ?bf ?75 ?68 ? * cfldr32le mvfx7, ?\[pc\], #416
+0*b4 <load_store\+0xb4> 6d ?50 ?b5 ?ff ? * cfldr64vs mvdx11, ?\[r0, #-1020\]
+0*b8 <load_store\+0xb8> 3d ?51 ?c5 ?27 ? * cfldr64cc mvdx12, ?\[r1, #-156\]
+0*bc <load_store\+0xbc> ed ?df ?d5 ?68 ? * cfldr64 mvdx13, ?\[pc, #416\]
+0*c0 <load_store\+0xc0> 2d ?50 ?95 ?ff ? * cfldr64cs mvdx9, ?\[r0, #-1020\]
+0*c4 <load_store\+0xc4> 9d ?51 ?45 ?27 ? * cfldr64ls mvdx4, ?\[r1, #-156\]
+0*c8 <load_store\+0xc8> dd ?ff ?75 ?68 ? * cfldr64le mvdx7, ?\[pc, #416\]!
+0*cc <load_store\+0xcc> 6d ?70 ?b5 ?ff ? * cfldr64vs mvdx11, ?\[r0, #-1020\]!
+0*d0 <load_store\+0xd0> 3d ?71 ?c5 ?27 ? * cfldr64cc mvdx12, ?\[r1, #-156\]!
+0*d4 <load_store\+0xd4> ed ?ff ?d5 ?68 ? * cfldr64 mvdx13, ?\[pc, #416\]!
+0*d8 <load_store\+0xd8> 2d ?70 ?95 ?ff ? * cfldr64cs mvdx9, ?\[r0, #-1020\]!
+0*dc <load_store\+0xdc> 9c ?71 ?45 ?27 ? * cfldr64ls mvdx4, ?\[r1\], #-156
+0*e0 <load_store\+0xe0> dc ?ff ?75 ?68 ? * cfldr64le mvdx7, ?\[pc\], #416
+0*e4 <load_store\+0xe4> 6c ?70 ?b5 ?ff ? * cfldr64vs mvdx11, ?\[r0\], #-1020
+0*e8 <load_store\+0xe8> 3c ?71 ?c5 ?27 ? * cfldr64cc mvdx12, ?\[r1\], #-156
+0*ec <load_store\+0xec> ec ?ff ?d5 ?68 ? * cfldr64 mvdx13, ?\[pc\], #416
+0*f0 <load_store\+0xf0> 2d ?00 ?94 ?ff ? * cfstrscs mvf9, ?\[r0, #-1020\]
+0*f4 <load_store\+0xf4> 9d ?01 ?44 ?27 ? * cfstrsls mvf4, ?\[r1, #-156\]
+0*f8 <load_store\+0xf8> dd ?8f ?74 ?68 ? * cfstrsle mvf7, ?\[pc, #416\]
+0*fc <load_store\+0xfc> 6d ?00 ?b4 ?ff ? * cfstrsvs mvf11, ?\[r0, #-1020\]
+0*100 <load_store\+0x100> 3d ?01 ?c4 ?27 ? * cfstrscc mvf12, ?\[r1, #-156\]
+0*104 <load_store\+0x104> ed ?af ?d4 ?68 ? * cfstrs mvf13, ?\[pc, #416\]!
+0*108 <load_store\+0x108> 2d ?20 ?94 ?ff ? * cfstrscs mvf9, ?\[r0, #-1020\]!
+0*10c <load_store\+0x10c> 9d ?21 ?44 ?27 ? * cfstrsls mvf4, ?\[r1, #-156\]!
+0*110 <load_store\+0x110> dd ?af ?74 ?68 ? * cfstrsle mvf7, ?\[pc, #416\]!
+0*114 <load_store\+0x114> 6d ?20 ?b4 ?ff ? * cfstrsvs mvf11, ?\[r0, #-1020\]!
+0*118 <load_store\+0x118> 3c ?21 ?c4 ?27 ? * cfstrscc mvf12, ?\[r1\], #-156
+0*11c <load_store\+0x11c> ec ?af ?d4 ?68 ? * cfstrs mvf13, ?\[pc\], #416
+0*120 <load_store\+0x120> 2c ?20 ?94 ?ff ? * cfstrscs mvf9, ?\[r0\], #-1020
+0*124 <load_store\+0x124> 9c ?21 ?44 ?27 ? * cfstrsls mvf4, ?\[r1\], #-156
+0*128 <load_store\+0x128> dc ?af ?74 ?68 ? * cfstrsle mvf7, ?\[pc\], #416
+0*12c <load_store\+0x12c> 6d ?40 ?b4 ?ff ? * cfstrdvs mvd11, ?\[r0, #-1020\]
+0*130 <load_store\+0x130> 3d ?41 ?c4 ?27 ? * cfstrdcc mvd12, ?\[r1, #-156\]
+0*134 <load_store\+0x134> ed ?cf ?d4 ?68 ? * cfstrd mvd13, ?\[pc, #416\]
+0*138 <load_store\+0x138> 2d ?40 ?94 ?ff ? * cfstrdcs mvd9, ?\[r0, #-1020\]
+0*13c <load_store\+0x13c> 9d ?41 ?44 ?27 ? * cfstrdls mvd4, ?\[r1, #-156\]
+0*140 <load_store\+0x140> dd ?ef ?74 ?68 ? * cfstrdle mvd7, ?\[pc, #416\]!
+0*144 <load_store\+0x144> 6d ?60 ?b4 ?ff ? * cfstrdvs mvd11, ?\[r0, #-1020\]!
+0*148 <load_store\+0x148> 3d ?61 ?c4 ?27 ? * cfstrdcc mvd12, ?\[r1, #-156\]!
+0*14c <load_store\+0x14c> ed ?ef ?d4 ?68 ? * cfstrd mvd13, ?\[pc, #416\]!
+0*150 <load_store\+0x150> 2d ?60 ?94 ?ff ? * cfstrdcs mvd9, ?\[r0, #-1020\]!
+0*154 <load_store\+0x154> 9c ?61 ?44 ?27 ? * cfstrdls mvd4, ?\[r1\], #-156
+0*158 <load_store\+0x158> dc ?ef ?74 ?68 ? * cfstrdle mvd7, ?\[pc\], #416
+0*15c <load_store\+0x15c> 6c ?60 ?b4 ?ff ? * cfstrdvs mvd11, ?\[r0\], #-1020
+0*160 <load_store\+0x160> 3c ?61 ?c4 ?27 ? * cfstrdcc mvd12, ?\[r1\], #-156
+0*164 <load_store\+0x164> ec ?ef ?d4 ?68 ? * cfstrd mvd13, ?\[pc\], #416
+0*168 <load_store\+0x168> 2d ?00 ?95 ?ff ? * cfstr32cs mvfx9, ?\[r0, #-1020\]
+0*16c <load_store\+0x16c> 9d ?01 ?45 ?27 ? * cfstr32ls mvfx4, ?\[r1, #-156\]
+0*170 <load_store\+0x170> dd ?8f ?75 ?68 ? * cfstr32le mvfx7, ?\[pc, #416\]
+0*174 <load_store\+0x174> 6d ?00 ?b5 ?ff ? * cfstr32vs mvfx11, ?\[r0, #-1020\]
+0*178 <load_store\+0x178> 3d ?01 ?c5 ?27 ? * cfstr32cc mvfx12, ?\[r1, #-156\]
+0*17c <load_store\+0x17c> ed ?af ?d5 ?68 ? * cfstr32 mvfx13, ?\[pc, #416\]!
+0*180 <load_store\+0x180> 2d ?20 ?95 ?ff ? * cfstr32cs mvfx9, ?\[r0, #-1020\]!
+0*184 <load_store\+0x184> 9d ?21 ?45 ?27 ? * cfstr32ls mvfx4, ?\[r1, #-156\]!
+0*188 <load_store\+0x188> dd ?af ?75 ?68 ? * cfstr32le mvfx7, ?\[pc, #416\]!
+0*18c <load_store\+0x18c> 6d ?20 ?b5 ?ff ? * cfstr32vs mvfx11, ?\[r0, #-1020\]!
+0*190 <load_store\+0x190> 3c ?21 ?c5 ?27 ? * cfstr32cc mvfx12, ?\[r1\], #-156
+0*194 <load_store\+0x194> ec ?af ?d5 ?68 ? * cfstr32 mvfx13, ?\[pc\], #416
+0*198 <load_store\+0x198> 2c ?20 ?95 ?ff ? * cfstr32cs mvfx9, ?\[r0\], #-1020
+0*19c <load_store\+0x19c> 9c ?21 ?45 ?27 ? * cfstr32ls mvfx4, ?\[r1\], #-156
+0*1a0 <load_store\+0x1a0> dc ?af ?75 ?68 ? * cfstr32le mvfx7, ?\[pc\], #416
+0*1a4 <load_store\+0x1a4> 6d ?40 ?b5 ?ff ? * cfstr64vs mvdx11, ?\[r0, #-1020\]
+0*1a8 <load_store\+0x1a8> 3d ?41 ?c5 ?27 ? * cfstr64cc mvdx12, ?\[r1, #-156\]
+0*1ac <load_store\+0x1ac> ed ?cf ?d5 ?68 ? * cfstr64 mvdx13, ?\[pc, #416\]
+0*1b0 <load_store\+0x1b0> 2d ?40 ?95 ?ff ? * cfstr64cs mvdx9, ?\[r0, #-1020\]
+0*1b4 <load_store\+0x1b4> 9d ?41 ?45 ?27 ? * cfstr64ls mvdx4, ?\[r1, #-156\]
+0*1b8 <load_store\+0x1b8> dd ?ef ?75 ?68 ? * cfstr64le mvdx7, ?\[pc, #416\]!
+0*1bc <load_store\+0x1bc> 6d ?60 ?b5 ?ff ? * cfstr64vs mvdx11, ?\[r0, #-1020\]!
+0*1c0 <load_store\+0x1c0> 3d ?61 ?c5 ?27 ? * cfstr64cc mvdx12, ?\[r1, #-156\]!
+0*1c4 <load_store\+0x1c4> ed ?ef ?d5 ?68 ? * cfstr64 mvdx13, ?\[pc, #416\]!
+0*1c8 <load_store\+0x1c8> 2d ?60 ?95 ?ff ? * cfstr64cs mvdx9, ?\[r0, #-1020\]!
+0*1cc <load_store\+0x1cc> 9c ?61 ?45 ?27 ? * cfstr64ls mvdx4, ?\[r1\], #-156
+0*1d0 <load_store\+0x1d0> dc ?ef ?75 ?68 ? * cfstr64le mvdx7, ?\[pc\], #416
+0*1d4 <load_store\+0x1d4> 6c ?60 ?b5 ?ff ? * cfstr64vs mvdx11, ?\[r0\], #-1020
+0*1d8 <load_store\+0x1d8> 3c ?61 ?c5 ?27 ? * cfstr64cc mvdx12, ?\[r1\], #-156
+0*1dc <load_store\+0x1dc> ec ?ef ?d5 ?68 ? * cfstr64 mvdx13, ?\[pc\], #416
# move:
-0*1e0 <move> 9e ?00 ?a4 ?50 ? * cfmvsrls mvf0, ?sl
-0*1e4 <move\+0x4> ee ?0a ?44 ?50 ? * cfmvsr mvf10, ?r4
-0*1e8 <move\+0x8> 4e ?0e ?b4 ?50 ? * cfmvsrmi mvf14, ?fp
-0*1ec <move\+0xc> 8e ?0d ?54 ?50 ? * cfmvsrhi mvf13, ?r5
-0*1f0 <move\+0x10> 2e ?01 ?64 ?50 ? * cfmvsrcs mvf1, ?r6
-0*1f4 <move\+0x14> 6e ?10 ?34 ?50 ? * cfmvrsvs r3, ?mvf0
-0*1f8 <move\+0x18> 7e ?1e ?d4 ?50 ? * cfmvrsvc sp, ?mvf14
-0*1fc <move\+0x1c> 3e ?1a ?e4 ?50 ? * cfmvrscc lr, ?mvf10
-0*200 <move\+0x20> 1e ?1f ?84 ?50 ? * cfmvrsne r8, ?mvf15
-0*204 <move\+0x24> de ?1b ?f4 ?50 ? * cfmvrsle pc, ?mvf11
-0*208 <move\+0x28> 4e ?02 ?34 ?10 ? * cfmvdlrmi mvd2, ?r3
-0*20c <move\+0x2c> 0e ?05 ?d4 ?10 ? * cfmvdlreq mvd5, ?sp
-0*210 <move\+0x30> ae ?09 ?e4 ?10 ? * cfmvdlrge mvd9, ?lr
-0*214 <move\+0x34> ee ?03 ?84 ?10 ? * cfmvdlr mvd3, ?r8
-0*218 <move\+0x38> de ?07 ?f4 ?10 ? * cfmvdlrle mvd7, ?pc
-0*21c <move\+0x3c> 1e ?16 ?64 ?10 ? * cfmvrdlne r6, ?mvd6
-0*220 <move\+0x40> be ?17 ?04 ?10 ? * cfmvrdllt r0, ?mvd7
-0*224 <move\+0x44> 5e ?13 ?74 ?10 ? * cfmvrdlpl r7, ?mvd3
-0*228 <move\+0x48> ce ?11 ?14 ?10 ? * cfmvrdlgt r1, ?mvd1
-0*22c <move\+0x4c> 8e ?1d ?24 ?10 ? * cfmvrdlhi r2, ?mvd13
-0*230 <move\+0x50> 6e ?0b ?64 ?30 ? * cfmvdhrvs mvd11, ?r6
-0*234 <move\+0x54> 2e ?09 ?04 ?30 ? * cfmvdhrcs mvd9, ?r0
-0*238 <move\+0x58> 5e ?0f ?74 ?30 ? * cfmvdhrpl mvd15, ?r7
-0*23c <move\+0x5c> 9e ?04 ?14 ?30 ? * cfmvdhrls mvd4, ?r1
-0*240 <move\+0x60> 3e ?08 ?24 ?30 ? * cfmvdhrcc mvd8, ?r2
-0*244 <move\+0x64> 7e ?11 ?f4 ?30 ? * cfmvrdhvc pc, ?mvd1
-0*248 <move\+0x68> ce ?1b ?94 ?30 ? * cfmvrdhgt r9, ?mvd11
-0*24c <move\+0x6c> 0e ?15 ?a4 ?30 ? * cfmvrdheq sl, ?mvd5
-0*250 <move\+0x70> ee ?1c ?44 ?30 ? * cfmvrdh r4, ?mvd12
-0*254 <move\+0x74> ae ?18 ?b4 ?30 ? * cfmvrdhge fp, ?mvd8
-0*258 <move\+0x78> ee ?0d ?f5 ?10 ? * cfmv64lr mvdx13, ?pc
-0*25c <move\+0x7c> be ?04 ?95 ?10 ? * cfmv64lrlt mvdx4, ?r9
-0*260 <move\+0x80> 9e ?00 ?a5 ?10 ? * cfmv64lrls mvdx0, ?sl
-0*264 <move\+0x84> ee ?0a ?45 ?10 ? * cfmv64lr mvdx10, ?r4
-0*268 <move\+0x88> 4e ?0e ?b5 ?10 ? * cfmv64lrmi mvdx14, ?fp
-0*26c <move\+0x8c> 8e ?17 ?25 ?10 ? * cfmvr64lhi r2, ?mvdx7
-0*270 <move\+0x90> 2e ?1c ?c5 ?10 ? * cfmvr64lcs ip, ?mvdx12
-0*274 <move\+0x94> 6e ?10 ?35 ?10 ? * cfmvr64lvs r3, ?mvdx0
-0*278 <move\+0x98> 7e ?1e ?d5 ?10 ? * cfmvr64lvc sp, ?mvdx14
-0*27c <move\+0x9c> 3e ?1a ?e5 ?10 ? * cfmvr64lcc lr, ?mvdx10
-0*280 <move\+0xa0> 1e ?08 ?25 ?30 ? * cfmv64hrne mvdx8, ?r2
-0*284 <move\+0xa4> de ?06 ?c5 ?30 ? * cfmv64hrle mvdx6, ?ip
-0*288 <move\+0xa8> 4e ?02 ?35 ?30 ? * cfmv64hrmi mvdx2, ?r3
-0*28c <move\+0xac> 0e ?05 ?d5 ?30 ? * cfmv64hreq mvdx5, ?sp
-0*290 <move\+0xb0> ae ?09 ?e5 ?30 ? * cfmv64hrge mvdx9, ?lr
-0*294 <move\+0xb4> ee ?18 ?b5 ?30 ? * cfmvr64h fp, ?mvdx8
-0*298 <move\+0xb8> de ?12 ?55 ?30 ? * cfmvr64hle r5, ?mvdx2
-0*29c <move\+0xbc> 1e ?16 ?65 ?30 ? * cfmvr64hne r6, ?mvdx6
-0*2a0 <move\+0xc0> be ?17 ?05 ?30 ? * cfmvr64hlt r0, ?mvdx7
-0*2a4 <move\+0xc4> 5e ?13 ?75 ?30 ? * cfmvr64hpl r7, ?mvdx3
-0*2a8 <move\+0xc8> ce ?21 ?14 ?40 ? * cfmval32gt mvax1, ?mvfx1
-0*2ac <move\+0xcc> 8e ?2d ?34 ?40 ? * cfmval32hi mvax3, ?mvfx13
-0*2b0 <move\+0xd0> 6e ?24 ?34 ?40 ? * cfmval32vs mvax3, ?mvfx4
-0*2b4 <move\+0xd4> 2e ?20 ?14 ?40 ? * cfmval32cs mvax1, ?mvfx0
-0*2b8 <move\+0xd8> 5e ?2a ?34 ?40 ? * cfmval32pl mvax3, ?mvfx10
-0*2bc <move\+0xdc> 9e ?11 ?44 ?40 ? * cfmv32alls mvfx4, ?mvax1
-0*2c0 <move\+0xe0> 3e ?13 ?84 ?40 ? * cfmv32alcc mvfx8, ?mvax3
-0*2c4 <move\+0xe4> 7e ?13 ?24 ?40 ? * cfmv32alvc mvfx2, ?mvax3
-0*2c8 <move\+0xe8> ce ?11 ?64 ?40 ? * cfmv32algt mvfx6, ?mvax1
-0*2cc <move\+0xec> 0e ?13 ?74 ?40 ? * cfmv32aleq mvfx7, ?mvax3
-0*2d0 <move\+0xf0> ee ?2c ?24 ?60 ? * cfmvam32 mvax2, ?mvfx12
-0*2d4 <move\+0xf4> ae ?28 ?34 ?60 ? * cfmvam32ge mvax3, ?mvfx8
-0*2d8 <move\+0xf8> ee ?26 ?24 ?60 ? * cfmvam32 mvax2, ?mvfx6
-0*2dc <move\+0xfc> be ?22 ?24 ?60 ? * cfmvam32lt mvax2, ?mvfx2
-0*2e0 <move\+0x100> 9e ?25 ?04 ?60 ? * cfmvam32ls mvax0, ?mvfx5
-0*2e4 <move\+0x104> ee ?12 ?a4 ?60 ? * cfmv32am mvfx10, ?mvax2
-0*2e8 <move\+0x108> 4e ?13 ?e4 ?60 ? * cfmv32ammi mvfx14, ?mvax3
-0*2ec <move\+0x10c> 8e ?12 ?d4 ?60 ? * cfmv32amhi mvfx13, ?mvax2
-0*2f0 <move\+0x110> 2e ?12 ?14 ?60 ? * cfmv32amcs mvfx1, ?mvax2
-0*2f4 <move\+0x114> 6e ?10 ?b4 ?60 ? * cfmv32amvs mvfx11, ?mvax0
-0*2f8 <move\+0x118> 7e ?2e ?34 ?80 ? * cfmvah32vc mvax3, ?mvfx14
-0*2fc <move\+0x11c> 3e ?2a ?04 ?80 ? * cfmvah32cc mvax0, ?mvfx10
-0*300 <move\+0x120> 1e ?2f ?14 ?80 ? * cfmvah32ne mvax1, ?mvfx15
-0*304 <move\+0x124> de ?2b ?04 ?80 ? * cfmvah32le mvax0, ?mvfx11
-0*308 <move\+0x128> 4e ?29 ?04 ?80 ? * cfmvah32mi mvax0, ?mvfx9
-0*30c <move\+0x12c> 0e ?13 ?54 ?80 ? * cfmv32aheq mvfx5, ?mvax3
-0*310 <move\+0x130> ae ?10 ?94 ?80 ? * cfmv32ahge mvfx9, ?mvax0
-0*314 <move\+0x134> ee ?11 ?34 ?80 ? * cfmv32ah mvfx3, ?mvax1
-0*318 <move\+0x138> de ?10 ?74 ?80 ? * cfmv32ahle mvfx7, ?mvax0
-0*31c <move\+0x13c> 1e ?10 ?c4 ?80 ? * cfmv32ahne mvfx12, ?mvax0
-0*320 <move\+0x140> be ?27 ?04 ?a0 ? * cfmva32lt mvax0, ?mvfx7
-0*324 <move\+0x144> 5e ?23 ?24 ?a0 ? * cfmva32pl mvax2, ?mvfx3
-0*328 <move\+0x148> ce ?21 ?14 ?a0 ? * cfmva32gt mvax1, ?mvfx1
-0*32c <move\+0x14c> 8e ?2d ?34 ?a0 ? * cfmva32hi mvax3, ?mvfx13
-0*330 <move\+0x150> 6e ?24 ?34 ?a0 ? * cfmva32vs mvax3, ?mvfx4
-0*334 <move\+0x154> 2e ?10 ?94 ?a0 ? * cfmv32acs mvfx9, ?mvax0
-0*338 <move\+0x158> 5e ?12 ?f4 ?a0 ? * cfmv32apl mvfx15, ?mvax2
-0*33c <move\+0x15c> 9e ?11 ?44 ?a0 ? * cfmv32als mvfx4, ?mvax1
-0*340 <move\+0x160> 3e ?13 ?84 ?a0 ? * cfmv32acc mvfx8, ?mvax3
-0*344 <move\+0x164> 7e ?13 ?24 ?a0 ? * cfmv32avc mvfx2, ?mvax3
-0*348 <move\+0x168> ce ?2b ?04 ?c0 ? * cfmva64gt mvax0, ?mvdx11
-0*34c <move\+0x16c> 0e ?25 ?14 ?c0 ? * cfmva64eq mvax1, ?mvdx5
-0*350 <move\+0x170> ee ?2c ?24 ?c0 ? * cfmva64 mvax2, ?mvdx12
-0*354 <move\+0x174> ae ?28 ?34 ?c0 ? * cfmva64ge mvax3, ?mvdx8
-0*358 <move\+0x178> ee ?26 ?24 ?c0 ? * cfmva64 mvax2, ?mvdx6
-0*35c <move\+0x17c> be ?10 ?44 ?c0 ? * cfmv64alt mvdx4, ?mvax0
-0*360 <move\+0x180> 9e ?11 ?04 ?c0 ? * cfmv64als mvdx0, ?mvax1
-0*364 <move\+0x184> ee ?12 ?a4 ?c0 ? * cfmv64a mvdx10, ?mvax2
-0*368 <move\+0x188> 4e ?13 ?e4 ?c0 ? * cfmv64ami mvdx14, ?mvax3
-0*36c <move\+0x18c> 8e ?12 ?d4 ?c0 ? * cfmv64ahi mvdx13, ?mvax2
-0*370 <move\+0x190> 2e ?20 ?c4 ?e0 ? * cfmvsc32cs dspsc, ?mvdx12
-0*374 <move\+0x194> 6e ?20 ?04 ?e0 ? * cfmvsc32vs dspsc, ?mvdx0
-0*378 <move\+0x198> 7e ?20 ?e4 ?e0 ? * cfmvsc32vc dspsc, ?mvdx14
-0*37c <move\+0x19c> 3e ?20 ?a4 ?e0 ? * cfmvsc32cc dspsc, ?mvdx10
-0*380 <move\+0x1a0> 1e ?20 ?f4 ?e0 ? * cfmvsc32ne dspsc, ?mvdx15
-0*384 <move\+0x1a4> de ?10 ?64 ?e0 ? * cfmv32scle mvdx6, ?dspsc
-0*388 <move\+0x1a8> 4e ?10 ?24 ?e0 ? * cfmv32scmi mvdx2, ?dspsc
-0*38c <move\+0x1ac> 0e ?10 ?54 ?e0 ? * cfmv32sceq mvdx5, ?dspsc
-0*390 <move\+0x1b0> ae ?10 ?94 ?e0 ? * cfmv32scge mvdx9, ?dspsc
-0*394 <move\+0x1b4> ee ?10 ?34 ?e0 ? * cfmv32sc mvdx3, ?dspsc
-0*398 <move\+0x1b8> de ?02 ?74 ?00 ? * cfcpysle mvf7, ?mvf2
-0*39c <move\+0x1bc> 1e ?06 ?c4 ?00 ? * cfcpysne mvf12, ?mvf6
-0*3a0 <move\+0x1c0> be ?07 ?04 ?00 ? * cfcpyslt mvf0, ?mvf7
-0*3a4 <move\+0x1c4> 5e ?03 ?e4 ?00 ? * cfcpyspl mvf14, ?mvf3
-0*3a8 <move\+0x1c8> ce ?01 ?a4 ?00 ? * cfcpysgt mvf10, ?mvf1
-0*3ac <move\+0x1cc> 8e ?0d ?f4 ?20 ? * cfcpydhi mvd15, ?mvd13
-0*3b0 <move\+0x1d0> 6e ?04 ?b4 ?20 ? * cfcpydvs mvd11, ?mvd4
-0*3b4 <move\+0x1d4> 2e ?00 ?94 ?20 ? * cfcpydcs mvd9, ?mvd0
-0*3b8 <move\+0x1d8> 5e ?0a ?f4 ?20 ? * cfcpydpl mvd15, ?mvd10
-0*3bc <move\+0x1dc> 9e ?0e ?44 ?20 ? * cfcpydls mvd4, ?mvd14
+0*1e0 <move> 2e ?09 ?04 ?50 ? * cfmvsrcs mvf9, ?r0
+0*1e4 <move\+0x4> 5e ?0f ?74 ?50 ? * cfmvsrpl mvf15, ?r7
+0*1e8 <move\+0x8> 9e ?04 ?14 ?50 ? * cfmvsrls mvf4, ?r1
+0*1ec <move\+0xc> 3e ?08 ?24 ?50 ? * cfmvsrcc mvf8, ?r2
+0*1f0 <move\+0x10> 7e ?02 ?c4 ?50 ? * cfmvsrvc mvf2, ?ip
+0*1f4 <move\+0x14> ce ?1b ?94 ?50 ? * cfmvrsgt r9, ?mvf11
+0*1f8 <move\+0x18> 0e ?15 ?a4 ?50 ? * cfmvrseq sl, ?mvf5
+0*1fc <move\+0x1c> ee ?1c ?44 ?50 ? * cfmvrs r4, ?mvf12
+0*200 <move\+0x20> ae ?18 ?b4 ?50 ? * cfmvrsge fp, ?mvf8
+0*204 <move\+0x24> ee ?16 ?54 ?50 ? * cfmvrs r5, ?mvf6
+0*208 <move\+0x28> be ?04 ?94 ?10 ? * cfmvdlrlt mvd4, ?r9
+0*20c <move\+0x2c> 9e ?00 ?a4 ?10 ? * cfmvdlrls mvd0, ?sl
+0*210 <move\+0x30> ee ?0a ?44 ?10 ? * cfmvdlr mvd10, ?r4
+0*214 <move\+0x34> 4e ?0e ?b4 ?10 ? * cfmvdlrmi mvd14, ?fp
+0*218 <move\+0x38> 8e ?0d ?54 ?10 ? * cfmvdlrhi mvd13, ?r5
+0*21c <move\+0x3c> 2e ?1c ?c4 ?10 ? * cfmvrdlcs ip, ?mvd12
+0*220 <move\+0x40> 6e ?10 ?34 ?10 ? * cfmvrdlvs r3, ?mvd0
+0*224 <move\+0x44> 7e ?1e ?d4 ?10 ? * cfmvrdlvc sp, ?mvd14
+0*228 <move\+0x48> 3e ?1a ?e4 ?10 ? * cfmvrdlcc lr, ?mvd10
+0*22c <move\+0x4c> 1e ?1f ?84 ?10 ? * cfmvrdlne r8, ?mvd15
+0*230 <move\+0x50> de ?06 ?c4 ?30 ? * cfmvdhrle mvd6, ?ip
+0*234 <move\+0x54> 4e ?02 ?34 ?30 ? * cfmvdhrmi mvd2, ?r3
+0*238 <move\+0x58> 0e ?05 ?d4 ?30 ? * cfmvdhreq mvd5, ?sp
+0*23c <move\+0x5c> ae ?09 ?e4 ?30 ? * cfmvdhrge mvd9, ?lr
+0*240 <move\+0x60> ee ?03 ?84 ?30 ? * cfmvdhr mvd3, ?r8
+0*244 <move\+0x64> de ?12 ?54 ?30 ? * cfmvrdhle r5, ?mvd2
+0*248 <move\+0x68> 1e ?16 ?64 ?30 ? * cfmvrdhne r6, ?mvd6
+0*24c <move\+0x6c> be ?17 ?04 ?30 ? * cfmvrdhlt r0, ?mvd7
+0*250 <move\+0x70> 5e ?13 ?74 ?30 ? * cfmvrdhpl r7, ?mvd3
+0*254 <move\+0x74> ce ?11 ?14 ?30 ? * cfmvrdhgt r1, ?mvd1
+0*258 <move\+0x78> 8e ?0f ?55 ?10 ? * cfmv64lrhi mvdx15, ?r5
+0*25c <move\+0x7c> 6e ?0b ?65 ?10 ? * cfmv64lrvs mvdx11, ?r6
+0*260 <move\+0x80> 2e ?09 ?05 ?10 ? * cfmv64lrcs mvdx9, ?r0
+0*264 <move\+0x84> 5e ?0f ?75 ?10 ? * cfmv64lrpl mvdx15, ?r7
+0*268 <move\+0x88> 9e ?04 ?15 ?10 ? * cfmv64lrls mvdx4, ?r1
+0*26c <move\+0x8c> 3e ?1d ?85 ?10 ? * cfmvr64lcc r8, ?mvdx13
+0*270 <move\+0x90> 7e ?11 ?f5 ?10 ? * cfmvr64lvc pc, ?mvdx1
+0*274 <move\+0x94> ce ?1b ?95 ?10 ? * cfmvr64lgt r9, ?mvdx11
+0*278 <move\+0x98> 0e ?15 ?a5 ?10 ? * cfmvr64leq sl, ?mvdx5
+0*27c <move\+0x9c> ee ?1c ?45 ?10 ? * cfmvr64l r4, ?mvdx12
+0*280 <move\+0xa0> ae ?01 ?85 ?30 ? * cfmv64hrge mvdx1, ?r8
+0*284 <move\+0xa4> ee ?0d ?f5 ?30 ? * cfmv64hr mvdx13, ?pc
+0*288 <move\+0xa8> be ?04 ?95 ?30 ? * cfmv64hrlt mvdx4, ?r9
+0*28c <move\+0xac> 9e ?00 ?a5 ?30 ? * cfmv64hrls mvdx0, ?sl
+0*290 <move\+0xb0> ee ?0a ?45 ?30 ? * cfmv64hr mvdx10, ?r4
+0*294 <move\+0xb4> 4e ?13 ?15 ?30 ? * cfmvr64hmi r1, ?mvdx3
+0*298 <move\+0xb8> 8e ?17 ?25 ?30 ? * cfmvr64hhi r2, ?mvdx7
+0*29c <move\+0xbc> 2e ?1c ?c5 ?30 ? * cfmvr64hcs ip, ?mvdx12
+0*2a0 <move\+0xc0> 6e ?10 ?35 ?30 ? * cfmvr64hvs r3, ?mvdx0
+0*2a4 <move\+0xc4> 7e ?1e ?d5 ?30 ? * cfmvr64hvc sp, ?mvdx14
+0*2a8 <move\+0xc8> 3e ?2a ?04 ?40 ? * cfmval32cc mvax0, ?mvfx10
+0*2ac <move\+0xcc> 1e ?2f ?14 ?40 ? * cfmval32ne mvax1, ?mvfx15
+0*2b0 <move\+0xd0> de ?2b ?04 ?40 ? * cfmval32le mvax0, ?mvfx11
+0*2b4 <move\+0xd4> 4e ?29 ?04 ?40 ? * cfmval32mi mvax0, ?mvfx9
+0*2b8 <move\+0xd8> 0e ?2f ?14 ?40 ? * cfmval32eq mvax1, ?mvfx15
+0*2bc <move\+0xdc> ae ?10 ?94 ?40 ? * cfmv32alge mvfx9, ?mvax0
+0*2c0 <move\+0xe0> ee ?11 ?34 ?40 ? * cfmv32al mvfx3, ?mvax1
+0*2c4 <move\+0xe4> de ?10 ?74 ?40 ? * cfmv32alle mvfx7, ?mvax0
+0*2c8 <move\+0xe8> 1e ?10 ?c4 ?40 ? * cfmv32alne mvfx12, ?mvax0
+0*2cc <move\+0xec> be ?11 ?04 ?40 ? * cfmv32allt mvfx0, ?mvax1
+0*2d0 <move\+0xf0> 5e ?23 ?24 ?60 ? * cfmvam32pl mvax2, ?mvfx3
+0*2d4 <move\+0xf4> ce ?21 ?14 ?60 ? * cfmvam32gt mvax1, ?mvfx1
+0*2d8 <move\+0xf8> 8e ?2d ?34 ?60 ? * cfmvam32hi mvax3, ?mvfx13
+0*2dc <move\+0xfc> 6e ?24 ?34 ?60 ? * cfmvam32vs mvax3, ?mvfx4
+0*2e0 <move\+0x100> 2e ?20 ?14 ?60 ? * cfmvam32cs mvax1, ?mvfx0
+0*2e4 <move\+0x104> 5e ?12 ?f4 ?60 ? * cfmv32ampl mvfx15, ?mvax2
+0*2e8 <move\+0x108> 9e ?11 ?44 ?60 ? * cfmv32amls mvfx4, ?mvax1
+0*2ec <move\+0x10c> 3e ?13 ?84 ?60 ? * cfmv32amcc mvfx8, ?mvax3
+0*2f0 <move\+0x110> 7e ?13 ?24 ?60 ? * cfmv32amvc mvfx2, ?mvax3
+0*2f4 <move\+0x114> ce ?11 ?64 ?60 ? * cfmv32amgt mvfx6, ?mvax1
+0*2f8 <move\+0x118> 0e ?25 ?14 ?80 ? * cfmvah32eq mvax1, ?mvfx5
+0*2fc <move\+0x11c> ee ?2c ?24 ?80 ? * cfmvah32 mvax2, ?mvfx12
+0*300 <move\+0x120> ae ?28 ?34 ?80 ? * cfmvah32ge mvax3, ?mvfx8
+0*304 <move\+0x124> ee ?26 ?24 ?80 ? * cfmvah32 mvax2, ?mvfx6
+0*308 <move\+0x128> be ?22 ?24 ?80 ? * cfmvah32lt mvax2, ?mvfx2
+0*30c <move\+0x12c> 9e ?11 ?04 ?80 ? * cfmv32ahls mvfx0, ?mvax1
+0*310 <move\+0x130> ee ?12 ?a4 ?80 ? * cfmv32ah mvfx10, ?mvax2
+0*314 <move\+0x134> 4e ?13 ?e4 ?80 ? * cfmv32ahmi mvfx14, ?mvax3
+0*318 <move\+0x138> 8e ?12 ?d4 ?80 ? * cfmv32ahhi mvfx13, ?mvax2
+0*31c <move\+0x13c> 2e ?12 ?14 ?80 ? * cfmv32ahcs mvfx1, ?mvax2
+0*320 <move\+0x140> 6e ?20 ?14 ?a0 ? * cfmva32vs mvax1, ?mvfx0
+0*324 <move\+0x144> 7e ?2e ?34 ?a0 ? * cfmva32vc mvax3, ?mvfx14
+0*328 <move\+0x148> 3e ?2a ?04 ?a0 ? * cfmva32cc mvax0, ?mvfx10
+0*32c <move\+0x14c> 1e ?2f ?14 ?a0 ? * cfmva32ne mvax1, ?mvfx15
+0*330 <move\+0x150> de ?2b ?04 ?a0 ? * cfmva32le mvax0, ?mvfx11
+0*334 <move\+0x154> 4e ?11 ?24 ?a0 ? * cfmv32ami mvfx2, ?mvax1
+0*338 <move\+0x158> 0e ?13 ?54 ?a0 ? * cfmv32aeq mvfx5, ?mvax3
+0*33c <move\+0x15c> ae ?10 ?94 ?a0 ? * cfmv32age mvfx9, ?mvax0
+0*340 <move\+0x160> ee ?11 ?34 ?a0 ? * cfmv32a mvfx3, ?mvax1
+0*344 <move\+0x164> de ?10 ?74 ?a0 ? * cfmv32ale mvfx7, ?mvax0
+0*348 <move\+0x168> 1e ?26 ?24 ?c0 ? * cfmva64ne mvax2, ?mvdx6
+0*34c <move\+0x16c> be ?27 ?04 ?c0 ? * cfmva64lt mvax0, ?mvdx7
+0*350 <move\+0x170> 5e ?23 ?24 ?c0 ? * cfmva64pl mvax2, ?mvdx3
+0*354 <move\+0x174> ce ?21 ?14 ?c0 ? * cfmva64gt mvax1, ?mvdx1
+0*358 <move\+0x178> 8e ?2d ?34 ?c0 ? * cfmva64hi mvax3, ?mvdx13
+0*35c <move\+0x17c> 6e ?12 ?b4 ?c0 ? * cfmv64avs mvdx11, ?mvax2
+0*360 <move\+0x180> 2e ?10 ?94 ?c0 ? * cfmv64acs mvdx9, ?mvax0
+0*364 <move\+0x184> 5e ?12 ?f4 ?c0 ? * cfmv64apl mvdx15, ?mvax2
+0*368 <move\+0x188> 9e ?11 ?44 ?c0 ? * cfmv64als mvdx4, ?mvax1
+0*36c <move\+0x18c> 3e ?13 ?84 ?c0 ? * cfmv64acc mvdx8, ?mvax3
+0*370 <move\+0x190> 7e ?20 ?14 ?e0 ? * cfmvsc32vc dspsc, ?mvdx1
+0*374 <move\+0x194> ce ?20 ?b4 ?e0 ? * cfmvsc32gt dspsc, ?mvdx11
+0*378 <move\+0x198> 0e ?20 ?54 ?e0 ? * cfmvsc32eq dspsc, ?mvdx5
+0*37c <move\+0x19c> ee ?20 ?c4 ?e0 ? * cfmvsc32 dspsc, ?mvdx12
+0*380 <move\+0x1a0> ae ?20 ?84 ?e0 ? * cfmvsc32ge dspsc, ?mvdx8
+0*384 <move\+0x1a4> ee ?10 ?d4 ?e0 ? * cfmv32sc mvdx13, ?dspsc
+0*388 <move\+0x1a8> be ?10 ?44 ?e0 ? * cfmv32sclt mvdx4, ?dspsc
+0*38c <move\+0x1ac> 9e ?10 ?04 ?e0 ? * cfmv32scls mvdx0, ?dspsc
+0*390 <move\+0x1b0> ee ?10 ?a4 ?e0 ? * cfmv32sc mvdx10, ?dspsc
+0*394 <move\+0x1b4> 4e ?10 ?e4 ?e0 ? * cfmv32scmi mvdx14, ?dspsc
+0*398 <move\+0x1b8> 8e ?07 ?d4 ?00 ? * cfcpyshi mvf13, ?mvf7
+0*39c <move\+0x1bc> 2e ?0c ?14 ?00 ? * cfcpyscs mvf1, ?mvf12
+0*3a0 <move\+0x1c0> 6e ?00 ?b4 ?00 ? * cfcpysvs mvf11, ?mvf0
+0*3a4 <move\+0x1c4> 7e ?0e ?54 ?00 ? * cfcpysvc mvf5, ?mvf14
+0*3a8 <move\+0x1c8> 3e ?0a ?c4 ?00 ? * cfcpyscc mvf12, ?mvf10
+0*3ac <move\+0x1cc> 1e ?0f ?84 ?20 ? * cfcpydne mvd8, ?mvd15
+0*3b0 <move\+0x1d0> de ?0b ?64 ?20 ? * cfcpydle mvd6, ?mvd11
+0*3b4 <move\+0x1d4> 4e ?09 ?24 ?20 ? * cfcpydmi mvd2, ?mvd9
+0*3b8 <move\+0x1d8> 0e ?0f ?54 ?20 ? * cfcpydeq mvd5, ?mvd15
+0*3bc <move\+0x1dc> ae ?04 ?94 ?20 ? * cfcpydge mvd9, ?mvd4
# conv:
-0*3c0 <conv> 3e ?0d ?84 ?60 ? * cfcvtsdcc mvd8, ?mvf13
-0*3c4 <conv\+0x4> 7e ?01 ?24 ?60 ? * cfcvtsdvc mvd2, ?mvf1
-0*3c8 <conv\+0x8> ce ?0b ?64 ?60 ? * cfcvtsdgt mvd6, ?mvf11
-0*3cc <conv\+0xc> 0e ?05 ?74 ?60 ? * cfcvtsdeq mvd7, ?mvf5
-0*3d0 <conv\+0x10> ee ?0c ?34 ?60 ? * cfcvtsd mvd3, ?mvf12
-0*3d4 <conv\+0x14> ae ?08 ?14 ?40 ? * cfcvtdsge mvf1, ?mvd8
-0*3d8 <conv\+0x18> ee ?06 ?d4 ?40 ? * cfcvtds mvf13, ?mvd6
-0*3dc <conv\+0x1c> be ?02 ?44 ?40 ? * cfcvtdslt mvf4, ?mvd2
-0*3e0 <conv\+0x20> 9e ?05 ?04 ?40 ? * cfcvtdsls mvf0, ?mvd5
-0*3e4 <conv\+0x24> ee ?09 ?a4 ?40 ? * cfcvtds mvf10, ?mvd9
-0*3e8 <conv\+0x28> 4e ?03 ?e4 ?80 ? * cfcvt32smi mvf14, ?mvfx3
-0*3ec <conv\+0x2c> 8e ?07 ?d4 ?80 ? * cfcvt32shi mvf13, ?mvfx7
-0*3f0 <conv\+0x30> 2e ?0c ?14 ?80 ? * cfcvt32scs mvf1, ?mvfx12
-0*3f4 <conv\+0x34> 6e ?00 ?b4 ?80 ? * cfcvt32svs mvf11, ?mvfx0
-0*3f8 <conv\+0x38> 7e ?0e ?54 ?80 ? * cfcvt32svc mvf5, ?mvfx14
-0*3fc <conv\+0x3c> 3e ?0a ?c4 ?a0 ? * cfcvt32dcc mvd12, ?mvfx10
-0*400 <conv\+0x40> 1e ?0f ?84 ?a0 ? * cfcvt32dne mvd8, ?mvfx15
-0*404 <conv\+0x44> de ?0b ?64 ?a0 ? * cfcvt32dle mvd6, ?mvfx11
-0*408 <conv\+0x48> 4e ?09 ?24 ?a0 ? * cfcvt32dmi mvd2, ?mvfx9
-0*40c <conv\+0x4c> 0e ?0f ?54 ?a0 ? * cfcvt32deq mvd5, ?mvfx15
-0*410 <conv\+0x50> ae ?04 ?94 ?c0 ? * cfcvt64sge mvf9, ?mvdx4
-0*414 <conv\+0x54> ee ?08 ?34 ?c0 ? * cfcvt64s mvf3, ?mvdx8
-0*418 <conv\+0x58> de ?02 ?74 ?c0 ? * cfcvt64sle mvf7, ?mvdx2
-0*41c <conv\+0x5c> 1e ?06 ?c4 ?c0 ? * cfcvt64sne mvf12, ?mvdx6
-0*420 <conv\+0x60> be ?07 ?04 ?c0 ? * cfcvt64slt mvf0, ?mvdx7
-0*424 <conv\+0x64> 5e ?03 ?e4 ?e0 ? * cfcvt64dpl mvd14, ?mvdx3
-0*428 <conv\+0x68> ce ?01 ?a4 ?e0 ? * cfcvt64dgt mvd10, ?mvdx1
-0*42c <conv\+0x6c> 8e ?0d ?f4 ?e0 ? * cfcvt64dhi mvd15, ?mvdx13
-0*430 <conv\+0x70> 6e ?04 ?b4 ?e0 ? * cfcvt64dvs mvd11, ?mvdx4
-0*434 <conv\+0x74> 2e ?00 ?94 ?e0 ? * cfcvt64dcs mvd9, ?mvdx0
-0*438 <conv\+0x78> 5e ?1a ?f5 ?80 ? * cfcvts32pl mvfx15, ?mvf10
-0*43c <conv\+0x7c> 9e ?1e ?45 ?80 ? * cfcvts32ls mvfx4, ?mvf14
-0*440 <conv\+0x80> 3e ?1d ?85 ?80 ? * cfcvts32cc mvfx8, ?mvf13
-0*444 <conv\+0x84> 7e ?11 ?25 ?80 ? * cfcvts32vc mvfx2, ?mvf1
-0*448 <conv\+0x88> ce ?1b ?65 ?80 ? * cfcvts32gt mvfx6, ?mvf11
-0*44c <conv\+0x8c> 0e ?15 ?75 ?a0 ? * cfcvtd32eq mvfx7, ?mvd5
-0*450 <conv\+0x90> ee ?1c ?35 ?a0 ? * cfcvtd32 mvfx3, ?mvd12
-0*454 <conv\+0x94> ae ?18 ?15 ?a0 ? * cfcvtd32ge mvfx1, ?mvd8
-0*458 <conv\+0x98> ee ?16 ?d5 ?a0 ? * cfcvtd32 mvfx13, ?mvd6
-0*45c <conv\+0x9c> be ?12 ?45 ?a0 ? * cfcvtd32lt mvfx4, ?mvd2
-0*460 <conv\+0xa0> 9e ?15 ?05 ?c0 ? * cftruncs32ls mvfx0, ?mvf5
-0*464 <conv\+0xa4> ee ?19 ?a5 ?c0 ? * cftruncs32 mvfx10, ?mvf9
-0*468 <conv\+0xa8> 4e ?13 ?e5 ?c0 ? * cftruncs32mi mvfx14, ?mvf3
-0*46c <conv\+0xac> 8e ?17 ?d5 ?c0 ? * cftruncs32hi mvfx13, ?mvf7
-0*470 <conv\+0xb0> 2e ?1c ?15 ?c0 ? * cftruncs32cs mvfx1, ?mvf12
-0*474 <conv\+0xb4> 6e ?10 ?b5 ?e0 ? * cftruncd32vs mvfx11, ?mvd0
-0*478 <conv\+0xb8> 7e ?1e ?55 ?e0 ? * cftruncd32vc mvfx5, ?mvd14
-0*47c <conv\+0xbc> 3e ?1a ?c5 ?e0 ? * cftruncd32cc mvfx12, ?mvd10
-0*480 <conv\+0xc0> 1e ?1f ?85 ?e0 ? * cftruncd32ne mvfx8, ?mvd15
-0*484 <conv\+0xc4> de ?1b ?65 ?e0 ? * cftruncd32le mvfx6, ?mvd11
+0*3c0 <conv> ee ?08 ?34 ?60 ? * cfcvtsd mvd3, ?mvf8
+0*3c4 <conv\+0x4> de ?02 ?74 ?60 ? * cfcvtsdle mvd7, ?mvf2
+0*3c8 <conv\+0x8> 1e ?06 ?c4 ?60 ? * cfcvtsdne mvd12, ?mvf6
+0*3cc <conv\+0xc> be ?07 ?04 ?60 ? * cfcvtsdlt mvd0, ?mvf7
+0*3d0 <conv\+0x10> 5e ?03 ?e4 ?60 ? * cfcvtsdpl mvd14, ?mvf3
+0*3d4 <conv\+0x14> ce ?01 ?a4 ?40 ? * cfcvtdsgt mvf10, ?mvd1
+0*3d8 <conv\+0x18> 8e ?0d ?f4 ?40 ? * cfcvtdshi mvf15, ?mvd13
+0*3dc <conv\+0x1c> 6e ?04 ?b4 ?40 ? * cfcvtdsvs mvf11, ?mvd4
+0*3e0 <conv\+0x20> 2e ?00 ?94 ?40 ? * cfcvtdscs mvf9, ?mvd0
+0*3e4 <conv\+0x24> 5e ?0a ?f4 ?40 ? * cfcvtdspl mvf15, ?mvd10
+0*3e8 <conv\+0x28> 9e ?0e ?44 ?80 ? * cfcvt32sls mvf4, ?mvfx14
+0*3ec <conv\+0x2c> 3e ?0d ?84 ?80 ? * cfcvt32scc mvf8, ?mvfx13
+0*3f0 <conv\+0x30> 7e ?01 ?24 ?80 ? * cfcvt32svc mvf2, ?mvfx1
+0*3f4 <conv\+0x34> ce ?0b ?64 ?80 ? * cfcvt32sgt mvf6, ?mvfx11
+0*3f8 <conv\+0x38> 0e ?05 ?74 ?80 ? * cfcvt32seq mvf7, ?mvfx5
+0*3fc <conv\+0x3c> ee ?0c ?34 ?a0 ? * cfcvt32d mvd3, ?mvfx12
+0*400 <conv\+0x40> ae ?08 ?14 ?a0 ? * cfcvt32dge mvd1, ?mvfx8
+0*404 <conv\+0x44> ee ?06 ?d4 ?a0 ? * cfcvt32d mvd13, ?mvfx6
+0*408 <conv\+0x48> be ?02 ?44 ?a0 ? * cfcvt32dlt mvd4, ?mvfx2
+0*40c <conv\+0x4c> 9e ?05 ?04 ?a0 ? * cfcvt32dls mvd0, ?mvfx5
+0*410 <conv\+0x50> ee ?09 ?a4 ?c0 ? * cfcvt64s mvf10, ?mvdx9
+0*414 <conv\+0x54> 4e ?03 ?e4 ?c0 ? * cfcvt64smi mvf14, ?mvdx3
+0*418 <conv\+0x58> 8e ?07 ?d4 ?c0 ? * cfcvt64shi mvf13, ?mvdx7
+0*41c <conv\+0x5c> 2e ?0c ?14 ?c0 ? * cfcvt64scs mvf1, ?mvdx12
+0*420 <conv\+0x60> 6e ?00 ?b4 ?c0 ? * cfcvt64svs mvf11, ?mvdx0
+0*424 <conv\+0x64> 7e ?0e ?54 ?e0 ? * cfcvt64dvc mvd5, ?mvdx14
+0*428 <conv\+0x68> 3e ?0a ?c4 ?e0 ? * cfcvt64dcc mvd12, ?mvdx10
+0*42c <conv\+0x6c> 1e ?0f ?84 ?e0 ? * cfcvt64dne mvd8, ?mvdx15
+0*430 <conv\+0x70> de ?0b ?64 ?e0 ? * cfcvt64dle mvd6, ?mvdx11
+0*434 <conv\+0x74> 4e ?09 ?24 ?e0 ? * cfcvt64dmi mvd2, ?mvdx9
+0*438 <conv\+0x78> 0e ?1f ?55 ?80 ? * cfcvts32eq mvfx5, ?mvf15
+0*43c <conv\+0x7c> ae ?14 ?95 ?80 ? * cfcvts32ge mvfx9, ?mvf4
+0*440 <conv\+0x80> ee ?18 ?35 ?80 ? * cfcvts32 mvfx3, ?mvf8
+0*444 <conv\+0x84> de ?12 ?75 ?80 ? * cfcvts32le mvfx7, ?mvf2
+0*448 <conv\+0x88> 1e ?16 ?c5 ?80 ? * cfcvts32ne mvfx12, ?mvf6
+0*44c <conv\+0x8c> be ?17 ?05 ?a0 ? * cfcvtd32lt mvfx0, ?mvd7
+0*450 <conv\+0x90> 5e ?13 ?e5 ?a0 ? * cfcvtd32pl mvfx14, ?mvd3
+0*454 <conv\+0x94> ce ?11 ?a5 ?a0 ? * cfcvtd32gt mvfx10, ?mvd1
+0*458 <conv\+0x98> 8e ?1d ?f5 ?a0 ? * cfcvtd32hi mvfx15, ?mvd13
+0*45c <conv\+0x9c> 6e ?14 ?b5 ?a0 ? * cfcvtd32vs mvfx11, ?mvd4
+0*460 <conv\+0xa0> 2e ?10 ?95 ?c0 ? * cftruncs32cs mvfx9, ?mvf0
+0*464 <conv\+0xa4> 5e ?1a ?f5 ?c0 ? * cftruncs32pl mvfx15, ?mvf10
+0*468 <conv\+0xa8> 9e ?1e ?45 ?c0 ? * cftruncs32ls mvfx4, ?mvf14
+0*46c <conv\+0xac> 3e ?1d ?85 ?c0 ? * cftruncs32cc mvfx8, ?mvf13
+0*470 <conv\+0xb0> 7e ?11 ?25 ?c0 ? * cftruncs32vc mvfx2, ?mvf1
+0*474 <conv\+0xb4> ce ?1b ?65 ?e0 ? * cftruncd32gt mvfx6, ?mvd11
+0*478 <conv\+0xb8> 0e ?15 ?75 ?e0 ? * cftruncd32eq mvfx7, ?mvd5
+0*47c <conv\+0xbc> ee ?1c ?35 ?e0 ? * cftruncd32 mvfx3, ?mvd12
+0*480 <conv\+0xc0> ae ?18 ?15 ?e0 ? * cftruncd32ge mvfx1, ?mvd8
+0*484 <conv\+0xc4> ee ?16 ?d5 ?e0 ? * cftruncd32 mvfx13, ?mvd6
# shift:
-0*488 <shift> 4e ?02 ?05 ?59 ? * cfrshl32mi mvfx2, ?mvfx9, ?r0
-0*48c <shift\+0x4> ee ?0a ?e5 ?59 ? * cfrshl32 mvfx10, ?mvfx9, ?lr
-0*490 <shift\+0x8> 3e ?08 ?55 ?5d ? * cfrshl32cc mvfx8, ?mvfx13, ?r5
-0*494 <shift\+0xc> 1e ?0c ?35 ?56 ? * cfrshl32ne mvfx12, ?mvfx6, ?r3
-0*498 <shift\+0x10> 7e ?05 ?45 ?5e ? * cfrshl32vc mvfx5, ?mvfx14, ?r4
-0*49c <shift\+0x14> ae ?01 ?25 ?78 ? * cfrshl64ge mvdx1, ?mvdx8, ?r2
-0*4a0 <shift\+0x18> 6e ?0b ?95 ?74 ? * cfrshl64vs mvdx11, ?mvdx4, ?r9
-0*4a4 <shift\+0x1c> 0e ?05 ?75 ?7f ? * cfrshl64eq mvdx5, ?mvdx15, ?r7
-0*4a8 <shift\+0x20> 4e ?0e ?85 ?73 ? * cfrshl64mi mvdx14, ?mvdx3, ?r8
-0*4ac <shift\+0x24> 7e ?02 ?65 ?71 ? * cfrshl64vc mvdx2, ?mvdx1, ?r6
-0*4b0 <shift\+0x28> be ?07 ?05 ?80 ? * cfsh32lt mvfx0, ?mvfx7, ?#-64
-0*4b4 <shift\+0x2c> 3e ?0a ?c5 ?cc ? * cfsh32cc mvfx12, ?mvfx10, ?#-20
-0*4b8 <shift\+0x30> ee ?06 ?d5 ?48 ? * cfsh32 mvfx13, ?mvfx6, ?#40
-0*4bc <shift\+0x34> 2e ?00 ?95 ?ef ? * cfsh32cs mvfx9, ?mvfx0, ?#-1
-0*4c0 <shift\+0x38> ae ?04 ?95 ?28 ? * cfsh32ge mvfx9, ?mvfx4, ?#24
-0*4c4 <shift\+0x3c> 8e ?27 ?d5 ?41 ? * cfsh64hi mvdx13, ?mvdx7, ?#33
-0*4c8 <shift\+0x40> ce ?2b ?65 ?00 ? * cfsh64gt mvdx6, ?mvdx11, ?#0
-0*4cc <shift\+0x44> 5e ?23 ?e5 ?40 ? * cfsh64pl mvdx14, ?mvdx3, ?#32
-0*4d0 <shift\+0x48> 1e ?2f ?85 ?c1 ? * cfsh64ne mvdx8, ?mvdx15, ?#-31
-0*4d4 <shift\+0x4c> be ?22 ?45 ?01 ? * cfsh64lt mvdx4, ?mvdx2, ?#1
+0*488 <shift> be ?04 ?35 ?52 ? * cfrshl32lt mvfx4, ?mvfx2, ?r3
+0*48c <shift\+0x4> 5e ?0f ?45 ?5a ? * cfrshl32pl mvfx15, ?mvfx10, ?r4
+0*490 <shift\+0x8> ee ?03 ?25 ?58 ? * cfrshl32 mvfx3, ?mvfx8, ?r2
+0*494 <shift\+0xc> 2e ?01 ?95 ?5c ? * cfrshl32cs mvfx1, ?mvfx12, ?r9
+0*498 <shift\+0x10> 0e ?07 ?75 ?55 ? * cfrshl32eq mvfx7, ?mvfx5, ?r7
+0*49c <shift\+0x14> ce ?0a ?85 ?71 ? * cfrshl64gt mvdx10, ?mvdx1, ?r8
+0*4a0 <shift\+0x18> de ?06 ?65 ?7b ? * cfrshl64le mvdx6, ?mvdx11, ?r6
+0*4a4 <shift\+0x1c> 9e ?00 ?d5 ?75 ? * cfrshl64ls mvdx0, ?mvdx5, ?sp
+0*4a8 <shift\+0x20> 9e ?04 ?b5 ?7e ? * cfrshl64ls mvdx4, ?mvdx14, ?fp
+0*4ac <shift\+0x24> de ?07 ?c5 ?72 ? * cfrshl64le mvdx7, ?mvdx2, ?ip
+0*4b0 <shift\+0x28> 6e ?00 ?b5 ?ef ? * cfsh32vs mvfx11, ?mvfx0, ?#-1
+0*4b4 <shift\+0x2c> ee ?0c ?35 ?28 ? * cfsh32 mvfx3, ?mvfx12, ?#24
+0*4b8 <shift\+0x30> 8e ?0d ?f5 ?41 ? * cfsh32hi mvfx15, ?mvfx13, ?#33
+0*4bc <shift\+0x34> 4e ?09 ?25 ?00 ? * cfsh32mi mvfx2, ?mvfx9, ?#0
+0*4c0 <shift\+0x38> ee ?09 ?a5 ?40 ? * cfsh32 mvfx10, ?mvfx9, ?#32
+0*4c4 <shift\+0x3c> 3e ?2d ?85 ?c1 ? * cfsh64cc mvdx8, ?mvdx13, ?#-31
+0*4c8 <shift\+0x40> 1e ?26 ?c5 ?01 ? * cfsh64ne mvdx12, ?mvdx6, ?#1
+0*4cc <shift\+0x44> 7e ?2e ?55 ?c0 ? * cfsh64vc mvdx5, ?mvdx14, ?#-32
+0*4d0 <shift\+0x48> ae ?28 ?15 ?c5 ? * cfsh64ge mvdx1, ?mvdx8, ?#-27
+0*4d4 <shift\+0x4c> 6e ?24 ?b5 ?eb ? * cfsh64vs mvdx11, ?mvdx4, ?#-5
# comp:
-0*4d8 <comp> 5e ?1a ?d4 ?99 ? * cfcmpspl sp, ?mvf10, ?mvf9
-0*4dc <comp\+0x4> ee ?18 ?b4 ?9d ? * cfcmps fp, ?mvf8, ?mvf13
-0*4e0 <comp\+0x8> 2e ?1c ?c4 ?96 ? * cfcmpscs ip, ?mvf12, ?mvf6
-0*4e4 <comp\+0xc> 0e ?15 ?a4 ?9e ? * cfcmpseq sl, ?mvf5, ?mvf14
-0*4e8 <comp\+0x10> ce ?11 ?14 ?98 ? * cfcmpsgt r1, ?mvf1, ?mvf8
-0*4ec <comp\+0x14> de ?1b ?f4 ?b4 ? * cfcmpdle pc, ?mvd11, ?mvd4
-0*4f0 <comp\+0x18> 9e ?15 ?04 ?bf ? * cfcmpdls r0, ?mvd5, ?mvd15
-0*4f4 <comp\+0x1c> 9e ?1e ?e4 ?b3 ? * cfcmpdls lr, ?mvd14, ?mvd3
-0*4f8 <comp\+0x20> de ?12 ?54 ?b1 ? * cfcmpdle r5, ?mvd2, ?mvd1
-0*4fc <comp\+0x24> 6e ?10 ?34 ?b7 ? * cfcmpdvs r3, ?mvd0, ?mvd7
-0*500 <comp\+0x28> ee ?1c ?45 ?9a ? * cfcmp32 r4, ?mvfx12, ?mvfx10
-0*504 <comp\+0x2c> 8e ?1d ?25 ?96 ? * cfcmp32hi r2, ?mvfx13, ?mvfx6
-0*508 <comp\+0x30> 4e ?19 ?95 ?90 ? * cfcmp32mi r9, ?mvfx9, ?mvfx0
-0*50c <comp\+0x34> ee ?19 ?75 ?94 ? * cfcmp32 r7, ?mvfx9, ?mvfx4
-0*510 <comp\+0x38> 3e ?1d ?85 ?97 ? * cfcmp32cc r8, ?mvfx13, ?mvfx7
-0*514 <comp\+0x3c> 1e ?16 ?65 ?bb ? * cfcmp64ne r6, ?mvdx6, ?mvdx11
-0*518 <comp\+0x40> 7e ?1e ?d5 ?b3 ? * cfcmp64vc sp, ?mvdx14, ?mvdx3
-0*51c <comp\+0x44> ae ?18 ?b5 ?bf ? * cfcmp64ge fp, ?mvdx8, ?mvdx15
-0*520 <comp\+0x48> 6e ?14 ?c5 ?b2 ? * cfcmp64vs ip, ?mvdx4, ?mvdx2
-0*524 <comp\+0x4c> 0e ?1f ?a5 ?ba ? * cfcmp64eq sl, ?mvdx15, ?mvdx10
+0*4d8 <comp> 0e ?1f ?a4 ?9a ? * cfcmpseq sl, ?mvf15, ?mvf10
+0*4dc <comp\+0x4> 4e ?13 ?14 ?98 ? * cfcmpsmi r1, ?mvf3, ?mvf8
+0*4e0 <comp\+0x8> 7e ?11 ?f4 ?9c ? * cfcmpsvc pc, ?mvf1, ?mvf12
+0*4e4 <comp\+0xc> be ?17 ?04 ?95 ? * cfcmpslt r0, ?mvf7, ?mvf5
+0*4e8 <comp\+0x10> 3e ?1a ?e4 ?91 ? * cfcmpscc lr, ?mvf10, ?mvf1
+0*4ec <comp\+0x14> ee ?16 ?54 ?bb ? * cfcmpd r5, ?mvd6, ?mvd11
+0*4f0 <comp\+0x18> 2e ?10 ?34 ?b5 ? * cfcmpdcs r3, ?mvd0, ?mvd5
+0*4f4 <comp\+0x1c> ae ?14 ?44 ?be ? * cfcmpdge r4, ?mvd4, ?mvd14
+0*4f8 <comp\+0x20> 8e ?17 ?24 ?b2 ? * cfcmpdhi r2, ?mvd7, ?mvd2
+0*4fc <comp\+0x24> ce ?1b ?94 ?b0 ? * cfcmpdgt r9, ?mvd11, ?mvd0
+0*500 <comp\+0x28> 5e ?13 ?75 ?9c ? * cfcmp32pl r7, ?mvfx3, ?mvfx12
+0*504 <comp\+0x2c> 1e ?1f ?85 ?9d ? * cfcmp32ne r8, ?mvfx15, ?mvfx13
+0*508 <comp\+0x30> be ?12 ?65 ?99 ? * cfcmp32lt r6, ?mvfx2, ?mvfx9
+0*50c <comp\+0x34> 5e ?1a ?d5 ?99 ? * cfcmp32pl sp, ?mvfx10, ?mvfx9
+0*510 <comp\+0x38> ee ?18 ?b5 ?9d ? * cfcmp32 fp, ?mvfx8, ?mvfx13
+0*514 <comp\+0x3c> 2e ?1c ?c5 ?b6 ? * cfcmp64cs ip, ?mvdx12, ?mvdx6
+0*518 <comp\+0x40> 0e ?15 ?a5 ?be ? * cfcmp64eq sl, ?mvdx5, ?mvdx14
+0*51c <comp\+0x44> ce ?11 ?15 ?b8 ? * cfcmp64gt r1, ?mvdx1, ?mvdx8
+0*520 <comp\+0x48> de ?1b ?f5 ?b4 ? * cfcmp64le pc, ?mvdx11, ?mvdx4
+0*524 <comp\+0x4c> 9e ?15 ?05 ?bf ? * cfcmp64ls r0, ?mvdx5, ?mvdx15
# fp_arith:
-0*528 <fp_arith> 4e ?33 ?e4 ?00 ? * cfabssmi mvf14, ?mvf3
-0*52c <fp_arith\+0x4> 8e ?37 ?d4 ?00 ? * cfabsshi mvf13, ?mvf7
-0*530 <fp_arith\+0x8> 2e ?3c ?14 ?00 ? * cfabsscs mvf1, ?mvf12
-0*534 <fp_arith\+0xc> 6e ?30 ?b4 ?00 ? * cfabssvs mvf11, ?mvf0
-0*538 <fp_arith\+0x10> 7e ?3e ?54 ?00 ? * cfabssvc mvf5, ?mvf14
-0*53c <fp_arith\+0x14> 3e ?3a ?c4 ?20 ? * cfabsdcc mvd12, ?mvd10
-0*540 <fp_arith\+0x18> 1e ?3f ?84 ?20 ? * cfabsdne mvd8, ?mvd15
-0*544 <fp_arith\+0x1c> de ?3b ?64 ?20 ? * cfabsdle mvd6, ?mvd11
-0*548 <fp_arith\+0x20> 4e ?39 ?24 ?20 ? * cfabsdmi mvd2, ?mvd9
-0*54c <fp_arith\+0x24> 0e ?3f ?54 ?20 ? * cfabsdeq mvd5, ?mvd15
-0*550 <fp_arith\+0x28> ae ?34 ?94 ?40 ? * cfnegsge mvf9, ?mvf4
-0*554 <fp_arith\+0x2c> ee ?38 ?34 ?40 ? * cfnegs mvf3, ?mvf8
-0*558 <fp_arith\+0x30> de ?32 ?74 ?40 ? * cfnegsle mvf7, ?mvf2
-0*55c <fp_arith\+0x34> 1e ?36 ?c4 ?40 ? * cfnegsne mvf12, ?mvf6
-0*560 <fp_arith\+0x38> be ?37 ?04 ?40 ? * cfnegslt mvf0, ?mvf7
-0*564 <fp_arith\+0x3c> 5e ?33 ?e4 ?60 ? * cfnegdpl mvd14, ?mvd3
-0*568 <fp_arith\+0x40> ce ?31 ?a4 ?60 ? * cfnegdgt mvd10, ?mvd1
-0*56c <fp_arith\+0x44> 8e ?3d ?f4 ?60 ? * cfnegdhi mvd15, ?mvd13
-0*570 <fp_arith\+0x48> 6e ?34 ?b4 ?60 ? * cfnegdvs mvd11, ?mvd4
-0*574 <fp_arith\+0x4c> 2e ?30 ?94 ?60 ? * cfnegdcs mvd9, ?mvd0
-0*578 <fp_arith\+0x50> 5e ?3a ?f4 ?89 ? * cfaddspl mvf15, ?mvf10, ?mvf9
-0*57c <fp_arith\+0x54> ee ?38 ?34 ?8d ? * cfadds mvf3, ?mvf8, ?mvf13
-0*580 <fp_arith\+0x58> 2e ?3c ?14 ?86 ? * cfaddscs mvf1, ?mvf12, ?mvf6
-0*584 <fp_arith\+0x5c> 0e ?35 ?74 ?8e ? * cfaddseq mvf7, ?mvf5, ?mvf14
-0*588 <fp_arith\+0x60> ce ?31 ?a4 ?88 ? * cfaddsgt mvf10, ?mvf1, ?mvf8
-0*58c <fp_arith\+0x64> de ?3b ?64 ?a4 ? * cfadddle mvd6, ?mvd11, ?mvd4
-0*590 <fp_arith\+0x68> 9e ?35 ?04 ?af ? * cfadddls mvd0, ?mvd5, ?mvd15
-0*594 <fp_arith\+0x6c> 9e ?3e ?44 ?a3 ? * cfadddls mvd4, ?mvd14, ?mvd3
-0*598 <fp_arith\+0x70> de ?32 ?74 ?a1 ? * cfadddle mvd7, ?mvd2, ?mvd1
-0*59c <fp_arith\+0x74> 6e ?30 ?b4 ?a7 ? * cfadddvs mvd11, ?mvd0, ?mvd7
-0*5a0 <fp_arith\+0x78> ee ?3c ?34 ?ca ? * cfsubs mvf3, ?mvf12, ?mvf10
-0*5a4 <fp_arith\+0x7c> 8e ?3d ?f4 ?c6 ? * cfsubshi mvf15, ?mvf13, ?mvf6
-0*5a8 <fp_arith\+0x80> 4e ?39 ?24 ?c0 ? * cfsubsmi mvf2, ?mvf9, ?mvf0
-0*5ac <fp_arith\+0x84> ee ?39 ?a4 ?c4 ? * cfsubs mvf10, ?mvf9, ?mvf4
-0*5b0 <fp_arith\+0x88> 3e ?3d ?84 ?c7 ? * cfsubscc mvf8, ?mvf13, ?mvf7
-0*5b4 <fp_arith\+0x8c> 1e ?36 ?c4 ?eb ? * cfsubdne mvd12, ?mvd6, ?mvd11
-0*5b8 <fp_arith\+0x90> 7e ?3e ?54 ?e3 ? * cfsubdvc mvd5, ?mvd14, ?mvd3
-0*5bc <fp_arith\+0x94> ae ?38 ?14 ?ef ? * cfsubdge mvd1, ?mvd8, ?mvd15
-0*5c0 <fp_arith\+0x98> 6e ?34 ?b4 ?e2 ? * cfsubdvs mvd11, ?mvd4, ?mvd2
-0*5c4 <fp_arith\+0x9c> 0e ?3f ?54 ?ea ? * cfsubdeq mvd5, ?mvd15, ?mvd10
-0*5c8 <fp_arith\+0xa0> 4e ?13 ?e4 ?08 ? * cfmulsmi mvf14, ?mvf3, ?mvf8
-0*5cc <fp_arith\+0xa4> 7e ?11 ?24 ?0c ? * cfmulsvc mvf2, ?mvf1, ?mvf12
-0*5d0 <fp_arith\+0xa8> be ?17 ?04 ?05 ? * cfmulslt mvf0, ?mvf7, ?mvf5
-0*5d4 <fp_arith\+0xac> 3e ?1a ?c4 ?01 ? * cfmulscc mvf12, ?mvf10, ?mvf1
-0*5d8 <fp_arith\+0xb0> ee ?16 ?d4 ?0b ? * cfmuls mvf13, ?mvf6, ?mvf11
-0*5dc <fp_arith\+0xb4> 2e ?10 ?94 ?25 ? * cfmuldcs mvd9, ?mvd0, ?mvd5
-0*5e0 <fp_arith\+0xb8> ae ?14 ?94 ?2e ? * cfmuldge mvd9, ?mvd4, ?mvd14
-0*5e4 <fp_arith\+0xbc> 8e ?17 ?d4 ?22 ? * cfmuldhi mvd13, ?mvd7, ?mvd2
-0*5e8 <fp_arith\+0xc0> ce ?1b ?64 ?20 ? * cfmuldgt mvd6, ?mvd11, ?mvd0
-0*5ec <fp_arith\+0xc4> 5e ?13 ?e4 ?2c ? * cfmuldpl mvd14, ?mvd3, ?mvd12
+0*528 <fp_arith> 9e ?3e ?44 ?00 ? * cfabssls mvf4, ?mvf14
+0*52c <fp_arith\+0x4> 3e ?3d ?84 ?00 ? * cfabsscc mvf8, ?mvf13
+0*530 <fp_arith\+0x8> 7e ?31 ?24 ?00 ? * cfabssvc mvf2, ?mvf1
+0*534 <fp_arith\+0xc> ce ?3b ?64 ?00 ? * cfabssgt mvf6, ?mvf11
+0*538 <fp_arith\+0x10> 0e ?35 ?74 ?00 ? * cfabsseq mvf7, ?mvf5
+0*53c <fp_arith\+0x14> ee ?3c ?34 ?20 ? * cfabsd mvd3, ?mvd12
+0*540 <fp_arith\+0x18> ae ?38 ?14 ?20 ? * cfabsdge mvd1, ?mvd8
+0*544 <fp_arith\+0x1c> ee ?36 ?d4 ?20 ? * cfabsd mvd13, ?mvd6
+0*548 <fp_arith\+0x20> be ?32 ?44 ?20 ? * cfabsdlt mvd4, ?mvd2
+0*54c <fp_arith\+0x24> 9e ?35 ?04 ?20 ? * cfabsdls mvd0, ?mvd5
+0*550 <fp_arith\+0x28> ee ?39 ?a4 ?40 ? * cfnegs mvf10, ?mvf9
+0*554 <fp_arith\+0x2c> 4e ?33 ?e4 ?40 ? * cfnegsmi mvf14, ?mvf3
+0*558 <fp_arith\+0x30> 8e ?37 ?d4 ?40 ? * cfnegshi mvf13, ?mvf7
+0*55c <fp_arith\+0x34> 2e ?3c ?14 ?40 ? * cfnegscs mvf1, ?mvf12
+0*560 <fp_arith\+0x38> 6e ?30 ?b4 ?40 ? * cfnegsvs mvf11, ?mvf0
+0*564 <fp_arith\+0x3c> 7e ?3e ?54 ?60 ? * cfnegdvc mvd5, ?mvd14
+0*568 <fp_arith\+0x40> 3e ?3a ?c4 ?60 ? * cfnegdcc mvd12, ?mvd10
+0*56c <fp_arith\+0x44> 1e ?3f ?84 ?60 ? * cfnegdne mvd8, ?mvd15
+0*570 <fp_arith\+0x48> de ?3b ?64 ?60 ? * cfnegdle mvd6, ?mvd11
+0*574 <fp_arith\+0x4c> 4e ?39 ?24 ?60 ? * cfnegdmi mvd2, ?mvd9
+0*578 <fp_arith\+0x50> 0e ?3f ?54 ?8a ? * cfaddseq mvf5, ?mvf15, ?mvf10
+0*57c <fp_arith\+0x54> 4e ?33 ?e4 ?88 ? * cfaddsmi mvf14, ?mvf3, ?mvf8
+0*580 <fp_arith\+0x58> 7e ?31 ?24 ?8c ? * cfaddsvc mvf2, ?mvf1, ?mvf12
+0*584 <fp_arith\+0x5c> be ?37 ?04 ?85 ? * cfaddslt mvf0, ?mvf7, ?mvf5
+0*588 <fp_arith\+0x60> 3e ?3a ?c4 ?81 ? * cfaddscc mvf12, ?mvf10, ?mvf1
+0*58c <fp_arith\+0x64> ee ?36 ?d4 ?ab ? * cfaddd mvd13, ?mvd6, ?mvd11
+0*590 <fp_arith\+0x68> 2e ?30 ?94 ?a5 ? * cfadddcs mvd9, ?mvd0, ?mvd5
+0*594 <fp_arith\+0x6c> ae ?34 ?94 ?ae ? * cfadddge mvd9, ?mvd4, ?mvd14
+0*598 <fp_arith\+0x70> 8e ?37 ?d4 ?a2 ? * cfadddhi mvd13, ?mvd7, ?mvd2
+0*59c <fp_arith\+0x74> ce ?3b ?64 ?a0 ? * cfadddgt mvd6, ?mvd11, ?mvd0
+0*5a0 <fp_arith\+0x78> 5e ?33 ?e4 ?cc ? * cfsubspl mvf14, ?mvf3, ?mvf12
+0*5a4 <fp_arith\+0x7c> 1e ?3f ?84 ?cd ? * cfsubsne mvf8, ?mvf15, ?mvf13
+0*5a8 <fp_arith\+0x80> be ?32 ?44 ?c9 ? * cfsubslt mvf4, ?mvf2, ?mvf9
+0*5ac <fp_arith\+0x84> 5e ?3a ?f4 ?c9 ? * cfsubspl mvf15, ?mvf10, ?mvf9
+0*5b0 <fp_arith\+0x88> ee ?38 ?34 ?cd ? * cfsubs mvf3, ?mvf8, ?mvf13
+0*5b4 <fp_arith\+0x8c> 2e ?3c ?14 ?e6 ? * cfsubdcs mvd1, ?mvd12, ?mvd6
+0*5b8 <fp_arith\+0x90> 0e ?35 ?74 ?ee ? * cfsubdeq mvd7, ?mvd5, ?mvd14
+0*5bc <fp_arith\+0x94> ce ?31 ?a4 ?e8 ? * cfsubdgt mvd10, ?mvd1, ?mvd8
+0*5c0 <fp_arith\+0x98> de ?3b ?64 ?e4 ? * cfsubdle mvd6, ?mvd11, ?mvd4
+0*5c4 <fp_arith\+0x9c> 9e ?35 ?04 ?ef ? * cfsubdls mvd0, ?mvd5, ?mvd15
+0*5c8 <fp_arith\+0xa0> 9e ?1e ?44 ?03 ? * cfmulsls mvf4, ?mvf14, ?mvf3
+0*5cc <fp_arith\+0xa4> de ?12 ?74 ?01 ? * cfmulsle mvf7, ?mvf2, ?mvf1
+0*5d0 <fp_arith\+0xa8> 6e ?10 ?b4 ?07 ? * cfmulsvs mvf11, ?mvf0, ?mvf7
+0*5d4 <fp_arith\+0xac> ee ?1c ?34 ?0a ? * cfmuls mvf3, ?mvf12, ?mvf10
+0*5d8 <fp_arith\+0xb0> 8e ?1d ?f4 ?06 ? * cfmulshi mvf15, ?mvf13, ?mvf6
+0*5dc <fp_arith\+0xb4> 4e ?19 ?24 ?20 ? * cfmuldmi mvd2, ?mvd9, ?mvd0
+0*5e0 <fp_arith\+0xb8> ee ?19 ?a4 ?24 ? * cfmuld mvd10, ?mvd9, ?mvd4
+0*5e4 <fp_arith\+0xbc> 3e ?1d ?84 ?27 ? * cfmuldcc mvd8, ?mvd13, ?mvd7
+0*5e8 <fp_arith\+0xc0> 1e ?16 ?c4 ?2b ? * cfmuldne mvd12, ?mvd6, ?mvd11
+0*5ec <fp_arith\+0xc4> 7e ?1e ?54 ?23 ? * cfmuldvc mvd5, ?mvd14, ?mvd3
# int_arith:
-0*5f0 <int_arith> 1e ?3f ?85 ?00 ? * cfabs32ne mvfx8, ?mvfx15
-0*5f4 <int_arith\+0x4> de ?3b ?65 ?00 ? * cfabs32le mvfx6, ?mvfx11
-0*5f8 <int_arith\+0x8> 4e ?39 ?25 ?00 ? * cfabs32mi mvfx2, ?mvfx9
-0*5fc <int_arith\+0xc> 0e ?3f ?55 ?00 ? * cfabs32eq mvfx5, ?mvfx15
-0*600 <int_arith\+0x10> ae ?34 ?95 ?00 ? * cfabs32ge mvfx9, ?mvfx4
-0*604 <int_arith\+0x14> ee ?38 ?35 ?20 ? * cfabs64 mvdx3, ?mvdx8
-0*608 <int_arith\+0x18> de ?32 ?75 ?20 ? * cfabs64le mvdx7, ?mvdx2
-0*60c <int_arith\+0x1c> 1e ?36 ?c5 ?20 ? * cfabs64ne mvdx12, ?mvdx6
-0*610 <int_arith\+0x20> be ?37 ?05 ?20 ? * cfabs64lt mvdx0, ?mvdx7
-0*614 <int_arith\+0x24> 5e ?33 ?e5 ?20 ? * cfabs64pl mvdx14, ?mvdx3
-0*618 <int_arith\+0x28> ce ?31 ?a5 ?40 ? * cfneg32gt mvfx10, ?mvfx1
-0*61c <int_arith\+0x2c> 8e ?3d ?f5 ?40 ? * cfneg32hi mvfx15, ?mvfx13
-0*620 <int_arith\+0x30> 6e ?34 ?b5 ?40 ? * cfneg32vs mvfx11, ?mvfx4
-0*624 <int_arith\+0x34> 2e ?30 ?95 ?40 ? * cfneg32cs mvfx9, ?mvfx0
-0*628 <int_arith\+0x38> 5e ?3a ?f5 ?40 ? * cfneg32pl mvfx15, ?mvfx10
-0*62c <int_arith\+0x3c> 9e ?3e ?45 ?60 ? * cfneg64ls mvdx4, ?mvdx14
-0*630 <int_arith\+0x40> 3e ?3d ?85 ?60 ? * cfneg64cc mvdx8, ?mvdx13
-0*634 <int_arith\+0x44> 7e ?31 ?25 ?60 ? * cfneg64vc mvdx2, ?mvdx1
-0*638 <int_arith\+0x48> ce ?3b ?65 ?60 ? * cfneg64gt mvdx6, ?mvdx11
-0*63c <int_arith\+0x4c> 0e ?35 ?75 ?60 ? * cfneg64eq mvdx7, ?mvdx5
-0*640 <int_arith\+0x50> ee ?3c ?35 ?8a ? * cfadd32 mvfx3, ?mvfx12, ?mvfx10
-0*644 <int_arith\+0x54> 8e ?3d ?f5 ?86 ? * cfadd32hi mvfx15, ?mvfx13, ?mvfx6
-0*648 <int_arith\+0x58> 4e ?39 ?25 ?80 ? * cfadd32mi mvfx2, ?mvfx9, ?mvfx0
-0*64c <int_arith\+0x5c> ee ?39 ?a5 ?84 ? * cfadd32 mvfx10, ?mvfx9, ?mvfx4
-0*650 <int_arith\+0x60> 3e ?3d ?85 ?87 ? * cfadd32cc mvfx8, ?mvfx13, ?mvfx7
-0*654 <int_arith\+0x64> 1e ?36 ?c5 ?ab ? * cfadd64ne mvdx12, ?mvdx6, ?mvdx11
-0*658 <int_arith\+0x68> 7e ?3e ?55 ?a3 ? * cfadd64vc mvdx5, ?mvdx14, ?mvdx3
-0*65c <int_arith\+0x6c> ae ?38 ?15 ?af ? * cfadd64ge mvdx1, ?mvdx8, ?mvdx15
-0*660 <int_arith\+0x70> 6e ?34 ?b5 ?a2 ? * cfadd64vs mvdx11, ?mvdx4, ?mvdx2
-0*664 <int_arith\+0x74> 0e ?3f ?55 ?aa ? * cfadd64eq mvdx5, ?mvdx15, ?mvdx10
-0*668 <int_arith\+0x78> 4e ?33 ?e5 ?c8 ? * cfsub32mi mvfx14, ?mvfx3, ?mvfx8
-0*66c <int_arith\+0x7c> 7e ?31 ?25 ?cc ? * cfsub32vc mvfx2, ?mvfx1, ?mvfx12
-0*670 <int_arith\+0x80> be ?37 ?05 ?c5 ? * cfsub32lt mvfx0, ?mvfx7, ?mvfx5
-0*674 <int_arith\+0x84> 3e ?3a ?c5 ?c1 ? * cfsub32cc mvfx12, ?mvfx10, ?mvfx1
-0*678 <int_arith\+0x88> ee ?36 ?d5 ?cb ? * cfsub32 mvfx13, ?mvfx6, ?mvfx11
-0*67c <int_arith\+0x8c> 2e ?30 ?95 ?e5 ? * cfsub64cs mvdx9, ?mvdx0, ?mvdx5
-0*680 <int_arith\+0x90> ae ?34 ?95 ?ee ? * cfsub64ge mvdx9, ?mvdx4, ?mvdx14
-0*684 <int_arith\+0x94> 8e ?37 ?d5 ?e2 ? * cfsub64hi mvdx13, ?mvdx7, ?mvdx2
-0*688 <int_arith\+0x98> ce ?3b ?65 ?e0 ? * cfsub64gt mvdx6, ?mvdx11, ?mvdx0
-0*68c <int_arith\+0x9c> 5e ?33 ?e5 ?ec ? * cfsub64pl mvdx14, ?mvdx3, ?mvdx12
-0*690 <int_arith\+0xa0> 1e ?1f ?85 ?0d ? * cfmul32ne mvfx8, ?mvfx15, ?mvfx13
-0*694 <int_arith\+0xa4> be ?12 ?45 ?09 ? * cfmul32lt mvfx4, ?mvfx2, ?mvfx9
-0*698 <int_arith\+0xa8> 5e ?1a ?f5 ?09 ? * cfmul32pl mvfx15, ?mvfx10, ?mvfx9
-0*69c <int_arith\+0xac> ee ?18 ?35 ?0d ? * cfmul32 mvfx3, ?mvfx8, ?mvfx13
-0*6a0 <int_arith\+0xb0> 2e ?1c ?15 ?06 ? * cfmul32cs mvfx1, ?mvfx12, ?mvfx6
-0*6a4 <int_arith\+0xb4> 0e ?15 ?75 ?2e ? * cfmul64eq mvdx7, ?mvdx5, ?mvdx14
-0*6a8 <int_arith\+0xb8> ce ?11 ?a5 ?28 ? * cfmul64gt mvdx10, ?mvdx1, ?mvdx8
-0*6ac <int_arith\+0xbc> de ?1b ?65 ?24 ? * cfmul64le mvdx6, ?mvdx11, ?mvdx4
-0*6b0 <int_arith\+0xc0> 9e ?15 ?05 ?2f ? * cfmul64ls mvdx0, ?mvdx5, ?mvdx15
-0*6b4 <int_arith\+0xc4> 9e ?1e ?45 ?23 ? * cfmul64ls mvdx4, ?mvdx14, ?mvdx3
-0*6b8 <int_arith\+0xc8> de ?12 ?75 ?41 ? * cfmac32le mvfx7, ?mvfx2, ?mvfx1
-0*6bc <int_arith\+0xcc> 6e ?10 ?b5 ?47 ? * cfmac32vs mvfx11, ?mvfx0, ?mvfx7
-0*6c0 <int_arith\+0xd0> ee ?1c ?35 ?4a ? * cfmac32 mvfx3, ?mvfx12, ?mvfx10
-0*6c4 <int_arith\+0xd4> 8e ?1d ?f5 ?46 ? * cfmac32hi mvfx15, ?mvfx13, ?mvfx6
-0*6c8 <int_arith\+0xd8> 4e ?19 ?25 ?40 ? * cfmac32mi mvfx2, ?mvfx9, ?mvfx0
-0*6cc <int_arith\+0xdc> ee ?19 ?a5 ?64 ? * cfmsc32 mvfx10, ?mvfx9, ?mvfx4
-0*6d0 <int_arith\+0xe0> 3e ?1d ?85 ?67 ? * cfmsc32cc mvfx8, ?mvfx13, ?mvfx7
-0*6d4 <int_arith\+0xe4> 1e ?16 ?c5 ?6b ? * cfmsc32ne mvfx12, ?mvfx6, ?mvfx11
-0*6d8 <int_arith\+0xe8> 7e ?1e ?55 ?63 ? * cfmsc32vc mvfx5, ?mvfx14, ?mvfx3
-0*6dc <int_arith\+0xec> ae ?18 ?15 ?6f ? * cfmsc32ge mvfx1, ?mvfx8, ?mvfx15
+0*5f0 <int_arith> ae ?38 ?15 ?00 ? * cfabs32ge mvfx1, ?mvfx8
+0*5f4 <int_arith\+0x4> ee ?36 ?d5 ?00 ? * cfabs32 mvfx13, ?mvfx6
+0*5f8 <int_arith\+0x8> be ?32 ?45 ?00 ? * cfabs32lt mvfx4, ?mvfx2
+0*5fc <int_arith\+0xc> 9e ?35 ?05 ?00 ? * cfabs32ls mvfx0, ?mvfx5
+0*600 <int_arith\+0x10> ee ?39 ?a5 ?00 ? * cfabs32 mvfx10, ?mvfx9
+0*604 <int_arith\+0x14> 4e ?33 ?e5 ?20 ? * cfabs64mi mvdx14, ?mvdx3
+0*608 <int_arith\+0x18> 8e ?37 ?d5 ?20 ? * cfabs64hi mvdx13, ?mvdx7
+0*60c <int_arith\+0x1c> 2e ?3c ?15 ?20 ? * cfabs64cs mvdx1, ?mvdx12
+0*610 <int_arith\+0x20> 6e ?30 ?b5 ?20 ? * cfabs64vs mvdx11, ?mvdx0
+0*614 <int_arith\+0x24> 7e ?3e ?55 ?20 ? * cfabs64vc mvdx5, ?mvdx14
+0*618 <int_arith\+0x28> 3e ?3a ?c5 ?40 ? * cfneg32cc mvfx12, ?mvfx10
+0*61c <int_arith\+0x2c> 1e ?3f ?85 ?40 ? * cfneg32ne mvfx8, ?mvfx15
+0*620 <int_arith\+0x30> de ?3b ?65 ?40 ? * cfneg32le mvfx6, ?mvfx11
+0*624 <int_arith\+0x34> 4e ?39 ?25 ?40 ? * cfneg32mi mvfx2, ?mvfx9
+0*628 <int_arith\+0x38> 0e ?3f ?55 ?40 ? * cfneg32eq mvfx5, ?mvfx15
+0*62c <int_arith\+0x3c> ae ?34 ?95 ?60 ? * cfneg64ge mvdx9, ?mvdx4
+0*630 <int_arith\+0x40> ee ?38 ?35 ?60 ? * cfneg64 mvdx3, ?mvdx8
+0*634 <int_arith\+0x44> de ?32 ?75 ?60 ? * cfneg64le mvdx7, ?mvdx2
+0*638 <int_arith\+0x48> 1e ?36 ?c5 ?60 ? * cfneg64ne mvdx12, ?mvdx6
+0*63c <int_arith\+0x4c> be ?37 ?05 ?60 ? * cfneg64lt mvdx0, ?mvdx7
+0*640 <int_arith\+0x50> 5e ?33 ?e5 ?8c ? * cfadd32pl mvfx14, ?mvfx3, ?mvfx12
+0*644 <int_arith\+0x54> 1e ?3f ?85 ?8d ? * cfadd32ne mvfx8, ?mvfx15, ?mvfx13
+0*648 <int_arith\+0x58> be ?32 ?45 ?89 ? * cfadd32lt mvfx4, ?mvfx2, ?mvfx9
+0*64c <int_arith\+0x5c> 5e ?3a ?f5 ?89 ? * cfadd32pl mvfx15, ?mvfx10, ?mvfx9
+0*650 <int_arith\+0x60> ee ?38 ?35 ?8d ? * cfadd32 mvfx3, ?mvfx8, ?mvfx13
+0*654 <int_arith\+0x64> 2e ?3c ?15 ?a6 ? * cfadd64cs mvdx1, ?mvdx12, ?mvdx6
+0*658 <int_arith\+0x68> 0e ?35 ?75 ?ae ? * cfadd64eq mvdx7, ?mvdx5, ?mvdx14
+0*65c <int_arith\+0x6c> ce ?31 ?a5 ?a8 ? * cfadd64gt mvdx10, ?mvdx1, ?mvdx8
+0*660 <int_arith\+0x70> de ?3b ?65 ?a4 ? * cfadd64le mvdx6, ?mvdx11, ?mvdx4
+0*664 <int_arith\+0x74> 9e ?35 ?05 ?af ? * cfadd64ls mvdx0, ?mvdx5, ?mvdx15
+0*668 <int_arith\+0x78> 9e ?3e ?45 ?c3 ? * cfsub32ls mvfx4, ?mvfx14, ?mvfx3
+0*66c <int_arith\+0x7c> de ?32 ?75 ?c1 ? * cfsub32le mvfx7, ?mvfx2, ?mvfx1
+0*670 <int_arith\+0x80> 6e ?30 ?b5 ?c7 ? * cfsub32vs mvfx11, ?mvfx0, ?mvfx7
+0*674 <int_arith\+0x84> ee ?3c ?35 ?ca ? * cfsub32 mvfx3, ?mvfx12, ?mvfx10
+0*678 <int_arith\+0x88> 8e ?3d ?f5 ?c6 ? * cfsub32hi mvfx15, ?mvfx13, ?mvfx6
+0*67c <int_arith\+0x8c> 4e ?39 ?25 ?e0 ? * cfsub64mi mvdx2, ?mvdx9, ?mvdx0
+0*680 <int_arith\+0x90> ee ?39 ?a5 ?e4 ? * cfsub64 mvdx10, ?mvdx9, ?mvdx4
+0*684 <int_arith\+0x94> 3e ?3d ?85 ?e7 ? * cfsub64cc mvdx8, ?mvdx13, ?mvdx7
+0*688 <int_arith\+0x98> 1e ?36 ?c5 ?eb ? * cfsub64ne mvdx12, ?mvdx6, ?mvdx11
+0*68c <int_arith\+0x9c> 7e ?3e ?55 ?e3 ? * cfsub64vc mvdx5, ?mvdx14, ?mvdx3
+0*690 <int_arith\+0xa0> ae ?18 ?15 ?0f ? * cfmul32ge mvfx1, ?mvfx8, ?mvfx15
+0*694 <int_arith\+0xa4> 6e ?14 ?b5 ?02 ? * cfmul32vs mvfx11, ?mvfx4, ?mvfx2
+0*698 <int_arith\+0xa8> 0e ?1f ?55 ?0a ? * cfmul32eq mvfx5, ?mvfx15, ?mvfx10
+0*69c <int_arith\+0xac> 4e ?13 ?e5 ?08 ? * cfmul32mi mvfx14, ?mvfx3, ?mvfx8
+0*6a0 <int_arith\+0xb0> 7e ?11 ?25 ?0c ? * cfmul32vc mvfx2, ?mvfx1, ?mvfx12
+0*6a4 <int_arith\+0xb4> be ?17 ?05 ?25 ? * cfmul64lt mvdx0, ?mvdx7, ?mvdx5
+0*6a8 <int_arith\+0xb8> 3e ?1a ?c5 ?21 ? * cfmul64cc mvdx12, ?mvdx10, ?mvdx1
+0*6ac <int_arith\+0xbc> ee ?16 ?d5 ?2b ? * cfmul64 mvdx13, ?mvdx6, ?mvdx11
+0*6b0 <int_arith\+0xc0> 2e ?10 ?95 ?25 ? * cfmul64cs mvdx9, ?mvdx0, ?mvdx5
+0*6b4 <int_arith\+0xc4> ae ?14 ?95 ?2e ? * cfmul64ge mvdx9, ?mvdx4, ?mvdx14
+0*6b8 <int_arith\+0xc8> 8e ?17 ?d5 ?42 ? * cfmac32hi mvfx13, ?mvfx7, ?mvfx2
+0*6bc <int_arith\+0xcc> ce ?1b ?65 ?40 ? * cfmac32gt mvfx6, ?mvfx11, ?mvfx0
+0*6c0 <int_arith\+0xd0> 5e ?13 ?e5 ?4c ? * cfmac32pl mvfx14, ?mvfx3, ?mvfx12
+0*6c4 <int_arith\+0xd4> 1e ?1f ?85 ?4d ? * cfmac32ne mvfx8, ?mvfx15, ?mvfx13
+0*6c8 <int_arith\+0xd8> be ?12 ?45 ?49 ? * cfmac32lt mvfx4, ?mvfx2, ?mvfx9
+0*6cc <int_arith\+0xdc> 5e ?1a ?f5 ?69 ? * cfmsc32pl mvfx15, ?mvfx10, ?mvfx9
+0*6d0 <int_arith\+0xe0> ee ?18 ?35 ?6d ? * cfmsc32 mvfx3, ?mvfx8, ?mvfx13
+0*6d4 <int_arith\+0xe4> 2e ?1c ?15 ?66 ? * cfmsc32cs mvfx1, ?mvfx12, ?mvfx6
+0*6d8 <int_arith\+0xe8> 0e ?15 ?75 ?6e ? * cfmsc32eq mvfx7, ?mvfx5, ?mvfx14
+0*6dc <int_arith\+0xec> ce ?11 ?a5 ?68 ? * cfmsc32gt mvfx10, ?mvfx1, ?mvfx8
# acc_arith:
-0*6e0 <acc_arith> 6e ?02 ?46 ?69 ? * cfmadd32vs mvax3, ?mvfx4, ?mvfx2, ?mvfx9
-0*6e4 <acc_arith\+0x4> 0e ?0a ?f6 ?29 ? * cfmadd32eq mvax1, ?mvfx15, ?mvfx10, ?mvfx9
-0*6e8 <acc_arith\+0x8> 4e ?08 ?36 ?2d ? * cfmadd32mi mvax1, ?mvfx3, ?mvfx8, ?mvfx13
-0*6ec <acc_arith\+0xc> 7e ?0c ?16 ?06 ? * cfmadd32vc mvax0, ?mvfx1, ?mvfx12, ?mvfx6
-0*6f0 <acc_arith\+0x10> be ?05 ?76 ?0e ? * cfmadd32lt mvax0, ?mvfx7, ?mvfx5, ?mvfx14
-0*6f4 <acc_arith\+0x14> 3e ?11 ?a6 ?08 ? * cfmsub32cc mvax0, ?mvfx10, ?mvfx1, ?mvfx8
-0*6f8 <acc_arith\+0x18> ee ?1b ?66 ?44 ? * cfmsub32 mvax2, ?mvfx6, ?mvfx11, ?mvfx4
-0*6fc <acc_arith\+0x1c> 2e ?15 ?06 ?2f ? * cfmsub32cs mvax1, ?mvfx0, ?mvfx5, ?mvfx15
-0*700 <acc_arith\+0x20> ae ?1e ?46 ?43 ? * cfmsub32ge mvax2, ?mvfx4, ?mvfx14, ?mvfx3
-0*704 <acc_arith\+0x24> 8e ?12 ?76 ?61 ? * cfmsub32hi mvax3, ?mvfx7, ?mvfx2, ?mvfx1
-0*708 <acc_arith\+0x28> ce ?20 ?16 ?07 ? * cfmadda32gt mvax0, ?mvax1, ?mvfx0, ?mvfx7
-0*70c <acc_arith\+0x2c> 5e ?2c ?26 ?4a ? * cfmadda32pl mvax2, ?mvax2, ?mvfx12, ?mvfx10
-0*710 <acc_arith\+0x30> 1e ?2d ?36 ?26 ? * cfmadda32ne mvax1, ?mvax3, ?mvfx13, ?mvfx6
-0*714 <acc_arith\+0x34> be ?29 ?06 ?40 ? * cfmadda32lt mvax2, ?mvax0, ?mvfx9, ?mvfx0
-0*718 <acc_arith\+0x38> 5e ?29 ?26 ?64 ? * cfmadda32pl mvax3, ?mvax2, ?mvfx9, ?mvfx4
-0*71c <acc_arith\+0x3c> ee ?3d ?16 ?67 ? * cfmsuba32 mvax3, ?mvax1, ?mvfx13, ?mvfx7
-0*720 <acc_arith\+0x40> 2e ?36 ?26 ?6b ? * cfmsuba32cs mvax3, ?mvax2, ?mvfx6, ?mvfx11
-0*724 <acc_arith\+0x44> 0e ?3e ?36 ?23 ? * cfmsuba32eq mvax1, ?mvax3, ?mvfx14, ?mvfx3
-0*728 <acc_arith\+0x48> ce ?38 ?36 ?2f ? * cfmsuba32gt mvax1, ?mvax3, ?mvfx8, ?mvfx15
-0*72c <acc_arith\+0x4c> de ?34 ?36 ?02 ? * cfmsuba32le mvax0, ?mvax3, ?mvfx4, ?mvfx2
+0*6e0 <acc_arith> de ?04 ?b6 ?02 ? * cfmadd32le mvax0, ?mvfx11, ?mvfx4, ?mvfx2
+0*6e4 <acc_arith\+0x4> 9e ?0f ?56 ?0a ? * cfmadd32ls mvax0, ?mvfx5, ?mvfx15, ?mvfx10
+0*6e8 <acc_arith\+0x8> 9e ?03 ?e6 ?08 ? * cfmadd32ls mvax0, ?mvfx14, ?mvfx3, ?mvfx8
+0*6ec <acc_arith\+0xc> de ?01 ?26 ?4c ? * cfmadd32le mvax2, ?mvfx2, ?mvfx1, ?mvfx12
+0*6f0 <acc_arith\+0x10> 6e ?07 ?06 ?25 ? * cfmadd32vs mvax1, ?mvfx0, ?mvfx7, ?mvfx5
+0*6f4 <acc_arith\+0x14> ee ?1a ?c6 ?41 ? * cfmsub32 mvax2, ?mvfx12, ?mvfx10, ?mvfx1
+0*6f8 <acc_arith\+0x18> 8e ?16 ?d6 ?6b ? * cfmsub32hi mvax3, ?mvfx13, ?mvfx6, ?mvfx11
+0*6fc <acc_arith\+0x1c> 4e ?10 ?96 ?05 ? * cfmsub32mi mvax0, ?mvfx9, ?mvfx0, ?mvfx5
+0*700 <acc_arith\+0x20> ee ?14 ?96 ?4e ? * cfmsub32 mvax2, ?mvfx9, ?mvfx4, ?mvfx14
+0*704 <acc_arith\+0x24> 3e ?17 ?d6 ?22 ? * cfmsub32cc mvax1, ?mvfx13, ?mvfx7, ?mvfx2
+0*708 <acc_arith\+0x28> 1e ?2b ?06 ?40 ? * cfmadda32ne mvax2, ?mvax0, ?mvfx11, ?mvfx0
+0*70c <acc_arith\+0x2c> 7e ?23 ?26 ?6c ? * cfmadda32vc mvax3, ?mvax2, ?mvfx3, ?mvfx12
+0*710 <acc_arith\+0x30> ae ?2f ?16 ?6d ? * cfmadda32ge mvax3, ?mvax1, ?mvfx15, ?mvfx13
+0*714 <acc_arith\+0x34> 6e ?22 ?26 ?69 ? * cfmadda32vs mvax3, ?mvax2, ?mvfx2, ?mvfx9
+0*718 <acc_arith\+0x38> 0e ?2a ?36 ?29 ? * cfmadda32eq mvax1, ?mvax3, ?mvfx10, ?mvfx9
+0*71c <acc_arith\+0x3c> 4e ?38 ?36 ?2d ? * cfmsuba32mi mvax1, ?mvax3, ?mvfx8, ?mvfx13
+0*720 <acc_arith\+0x40> 7e ?3c ?36 ?06 ? * cfmsuba32vc mvax0, ?mvax3, ?mvfx12, ?mvfx6
+0*724 <acc_arith\+0x44> be ?35 ?16 ?0e ? * cfmsuba32lt mvax0, ?mvax1, ?mvfx5, ?mvfx14
+0*728 <acc_arith\+0x48> 3e ?31 ?16 ?08 ? * cfmsuba32cc mvax0, ?mvax1, ?mvfx1, ?mvfx8
+0*72c <acc_arith\+0x4c> ee ?3b ?06 ?44 ? * cfmsuba32 mvax2, ?mvax0, ?mvfx11, ?mvfx4
diff --git a/gas/testsuite/gas/arm/maverick.s b/gas/testsuite/gas/arm/maverick.s
index c044348..ca39f63 100644
--- a/gas/testsuite/gas/arm/maverick.s
+++ b/gas/testsuite/gas/arm/maverick.s
@@ -1,470 +1,470 @@
.text
.align
load_store:
- cfldrseq mvf5, [sp, #252]
- cfldrsmi mvf14, [r11, #72]
- cfldrsvc mvf2, [r12, #-240]
- cfldrslt mvf0, [sl, #252]
- cfldrsgt mvf10, [fp, #72]
- cfldrsle mvf6, [ip, #-240]!
- cfldrsls mvf0, [r10, #252]!
- cfldrsmi mvf14, [r11, #72]!
- cfldrsvc mvf2, [r12, #-240]!
- cfldrslt mvf0, [sl, #252]!
- cfldrsgt mvf10, [fp], #72
- cfldrsle mvf6, [ip], #-240
- cfldrsls mvf0, [r10], #252
- cfldrsmi mvf14, [r11], #72
- cfldrsvc mvf2, [r12], #-240
- cfldrdlt mvd0, [sl, #252]
- cfldrdgt mvd10, [fp, #72]
- cfldrdle mvd6, [ip, #-240]
- cfldrdls mvd0, [r10, #252]
- cfldrdmi mvd14, [r11, #72]
- cfldrdvc mvd2, [r12, #-240]!
- cfldrdlt mvd0, [sl, #252]!
- cfldrdgt mvd10, [fp, #72]!
- cfldrdle mvd6, [ip, #-240]!
- cfldrdls mvd0, [r10, #252]!
- cfldrdmi mvd14, [r11], #72
- cfldrdvc mvd2, [r12], #-240
- cfldrdlt mvd0, [sl], #252
- cfldrdgt mvd10, [fp], #72
- cfldrdle mvd6, [ip], #-240
- cfldr32ls mvfx0, [r10, #252]
- cfldr32mi mvfx14, [r11, #72]
- cfldr32vc mvfx2, [r12, #-240]
- cfldr32lt mvfx0, [sl, #252]
- cfldr32gt mvfx10, [fp, #72]
- cfldr32le mvfx6, [ip, #-240]!
- cfldr32ls mvfx0, [r10, #252]!
- cfldr32mi mvfx14, [r11, #72]!
- cfldr32vc mvfx2, [r12, #-240]!
- cfldr32lt mvfx0, [sl, #252]!
- cfldr32gt mvfx10, [fp], #72
- cfldr32le mvfx6, [ip], #-240
- cfldr32ls mvfx0, [r10], #252
- cfldr32mi mvfx14, [r11], #72
- cfldr32vc mvfx2, [r12], #-240
- cfldr64lt mvdx0, [sl, #252]
- cfldr64gt mvdx10, [fp, #72]
- cfldr64le mvdx6, [ip, #-240]
- cfldr64ls mvdx0, [r10, #252]
- cfldr64mi mvdx14, [r11, #72]
- cfldr64vc mvdx2, [r12, #-240]!
- cfldr64lt mvdx0, [sl, #252]!
- cfldr64gt mvdx10, [fp, #72]!
- cfldr64le mvdx6, [ip, #-240]!
- cfldr64ls mvdx0, [r10, #252]!
- cfldr64mi mvdx14, [r11], #72
- cfldr64vc mvdx2, [r12], #-240
- cfldr64lt mvdx0, [sl], #252
- cfldr64gt mvdx10, [fp], #72
- cfldr64le mvdx6, [ip], #-240
- cfstrsls mvf0, [r10, #252]
- cfstrsmi mvf14, [r11, #72]
- cfstrsvc mvf2, [r12, #-240]
- cfstrslt mvf0, [sl, #252]
- cfstrsgt mvf10, [fp, #72]
- cfstrsle mvf6, [ip, #-240]!
- cfstrsls mvf0, [r10, #252]!
- cfstrsmi mvf14, [r11, #72]!
- cfstrsvc mvf2, [r12, #-240]!
- cfstrslt mvf0, [sl, #252]!
- cfstrsgt mvf10, [fp], #72
- cfstrsle mvf6, [ip], #-240
- cfstrsls mvf0, [r10], #252
- cfstrsmi mvf14, [r11], #72
- cfstrsvc mvf2, [r12], #-240
- cfstrdlt mvd0, [sl, #252]
- cfstrdgt mvd10, [fp, #72]
- cfstrdle mvd6, [ip, #-240]
- cfstrdls mvd0, [r10, #252]
- cfstrdmi mvd14, [r11, #72]
- cfstrdvc mvd2, [r12, #-240]!
- cfstrdlt mvd0, [sl, #252]!
- cfstrdgt mvd10, [fp, #72]!
- cfstrdle mvd6, [ip, #-240]!
- cfstrdls mvd0, [r10, #252]!
- cfstrdmi mvd14, [r11], #72
- cfstrdvc mvd2, [r12], #-240
- cfstrdlt mvd0, [sl], #252
- cfstrdgt mvd10, [fp], #72
- cfstrdle mvd6, [ip], #-240
- cfstr32ls mvfx0, [r10, #252]
- cfstr32mi mvfx14, [r11, #72]
- cfstr32vc mvfx2, [r12, #-240]
- cfstr32lt mvfx0, [sl, #252]
- cfstr32gt mvfx10, [fp, #72]
- cfstr32le mvfx6, [ip, #-240]!
- cfstr32ls mvfx0, [r10, #252]!
- cfstr32mi mvfx14, [r11, #72]!
- cfstr32vc mvfx2, [r12, #-240]!
- cfstr32lt mvfx0, [sl, #252]!
- cfstr32gt mvfx10, [fp], #72
- cfstr32le mvfx6, [ip], #-240
- cfstr32ls mvfx0, [r10], #252
- cfstr32mi mvfx14, [r11], #72
- cfstr32vc mvfx2, [r12], #-240
- cfstr64lt mvdx0, [sl, #252]
- cfstr64gt mvdx10, [fp, #72]
- cfstr64le mvdx6, [ip, #-240]
- cfstr64ls mvdx0, [r10, #252]
- cfstr64mi mvdx14, [r11, #72]
- cfstr64vc mvdx2, [r12, #-240]!
- cfstr64lt mvdx0, [sl, #252]!
- cfstr64gt mvdx10, [fp, #72]!
- cfstr64le mvdx6, [ip, #-240]!
- cfstr64ls mvdx0, [r10, #252]!
- cfstr64mi mvdx14, [r11], #72
- cfstr64vc mvdx2, [r12], #-240
- cfstr64lt mvdx0, [sl], #252
- cfstr64gt mvdx10, [fp], #72
- cfstr64le mvdx6, [ip], #-240
+ cfldrseq mvf5, [sp, #1020]
+ cfldrsmi mvf14, [r11, #292]
+ cfldrsvc mvf2, [r12, #-956]
+ cfldrslt mvf0, [sl, #-1020]
+ cfldrscc mvf12, [r1, #-156]
+ cfldrs mvf13, [r15, #416]!
+ cfldrscs mvf9, [r0, #-1020]!
+ cfldrsls mvf4, [r1, #-156]!
+ cfldrsle mvf7, [pc, #416]!
+ cfldrsvs mvf11, [r0, #-1020]!
+ cfldrscc mvf12, [r1], #-156
+ cfldrs mvf13, [r15], #416
+ cfldrscs mvf9, [r0], #-1020
+ cfldrsls mvf4, [r1], #-156
+ cfldrsle mvf7, [pc], #416
+ cfldrdvs mvd11, [r0, #-1020]
+ cfldrdcc mvd12, [r1, #-156]
+ cfldrd mvd13, [r15, #416]
+ cfldrdcs mvd9, [r0, #-1020]
+ cfldrdls mvd4, [r1, #-156]
+ cfldrdle mvd7, [pc, #416]!
+ cfldrdvs mvd11, [r0, #-1020]!
+ cfldrdcc mvd12, [r1, #-156]!
+ cfldrd mvd13, [r15, #416]!
+ cfldrdcs mvd9, [r0, #-1020]!
+ cfldrdls mvd4, [r1], #-156
+ cfldrdle mvd7, [pc], #416
+ cfldrdvs mvd11, [r0], #-1020
+ cfldrdcc mvd12, [r1], #-156
+ cfldrd mvd13, [r15], #416
+ cfldr32cs mvfx9, [r0, #-1020]
+ cfldr32ls mvfx4, [r1, #-156]
+ cfldr32le mvfx7, [pc, #416]
+ cfldr32vs mvfx11, [r0, #-1020]
+ cfldr32cc mvfx12, [r1, #-156]
+ cfldr32 mvfx13, [r15, #416]!
+ cfldr32cs mvfx9, [r0, #-1020]!
+ cfldr32ls mvfx4, [r1, #-156]!
+ cfldr32le mvfx7, [pc, #416]!
+ cfldr32vs mvfx11, [r0, #-1020]!
+ cfldr32cc mvfx12, [r1], #-156
+ cfldr32 mvfx13, [r15], #416
+ cfldr32cs mvfx9, [r0], #-1020
+ cfldr32ls mvfx4, [r1], #-156
+ cfldr32le mvfx7, [pc], #416
+ cfldr64vs mvdx11, [r0, #-1020]
+ cfldr64cc mvdx12, [r1, #-156]
+ cfldr64 mvdx13, [r15, #416]
+ cfldr64cs mvdx9, [r0, #-1020]
+ cfldr64ls mvdx4, [r1, #-156]
+ cfldr64le mvdx7, [pc, #416]!
+ cfldr64vs mvdx11, [r0, #-1020]!
+ cfldr64cc mvdx12, [r1, #-156]!
+ cfldr64 mvdx13, [r15, #416]!
+ cfldr64cs mvdx9, [r0, #-1020]!
+ cfldr64ls mvdx4, [r1], #-156
+ cfldr64le mvdx7, [pc], #416
+ cfldr64vs mvdx11, [r0], #-1020
+ cfldr64cc mvdx12, [r1], #-156
+ cfldr64 mvdx13, [r15], #416
+ cfstrscs mvf9, [r0, #-1020]
+ cfstrsls mvf4, [r1, #-156]
+ cfstrsle mvf7, [pc, #416]
+ cfstrsvs mvf11, [r0, #-1020]
+ cfstrscc mvf12, [r1, #-156]
+ cfstrs mvf13, [r15, #416]!
+ cfstrscs mvf9, [r0, #-1020]!
+ cfstrsls mvf4, [r1, #-156]!
+ cfstrsle mvf7, [pc, #416]!
+ cfstrsvs mvf11, [r0, #-1020]!
+ cfstrscc mvf12, [r1], #-156
+ cfstrs mvf13, [r15], #416
+ cfstrscs mvf9, [r0], #-1020
+ cfstrsls mvf4, [r1], #-156
+ cfstrsle mvf7, [pc], #416
+ cfstrdvs mvd11, [r0, #-1020]
+ cfstrdcc mvd12, [r1, #-156]
+ cfstrd mvd13, [r15, #416]
+ cfstrdcs mvd9, [r0, #-1020]
+ cfstrdls mvd4, [r1, #-156]
+ cfstrdle mvd7, [pc, #416]!
+ cfstrdvs mvd11, [r0, #-1020]!
+ cfstrdcc mvd12, [r1, #-156]!
+ cfstrd mvd13, [r15, #416]!
+ cfstrdcs mvd9, [r0, #-1020]!
+ cfstrdls mvd4, [r1], #-156
+ cfstrdle mvd7, [pc], #416
+ cfstrdvs mvd11, [r0], #-1020
+ cfstrdcc mvd12, [r1], #-156
+ cfstrd mvd13, [r15], #416
+ cfstr32cs mvfx9, [r0, #-1020]
+ cfstr32ls mvfx4, [r1, #-156]
+ cfstr32le mvfx7, [pc, #416]
+ cfstr32vs mvfx11, [r0, #-1020]
+ cfstr32cc mvfx12, [r1, #-156]
+ cfstr32 mvfx13, [r15, #416]!
+ cfstr32cs mvfx9, [r0, #-1020]!
+ cfstr32ls mvfx4, [r1, #-156]!
+ cfstr32le mvfx7, [pc, #416]!
+ cfstr32vs mvfx11, [r0, #-1020]!
+ cfstr32cc mvfx12, [r1], #-156
+ cfstr32 mvfx13, [r15], #416
+ cfstr32cs mvfx9, [r0], #-1020
+ cfstr32ls mvfx4, [r1], #-156
+ cfstr32le mvfx7, [pc], #416
+ cfstr64vs mvdx11, [r0, #-1020]
+ cfstr64cc mvdx12, [r1, #-156]
+ cfstr64 mvdx13, [r15, #416]
+ cfstr64cs mvdx9, [r0, #-1020]
+ cfstr64ls mvdx4, [r1, #-156]
+ cfstr64le mvdx7, [pc, #416]!
+ cfstr64vs mvdx11, [r0, #-1020]!
+ cfstr64cc mvdx12, [r1, #-156]!
+ cfstr64 mvdx13, [r15, #416]!
+ cfstr64cs mvdx9, [r0, #-1020]!
+ cfstr64ls mvdx4, [r1], #-156
+ cfstr64le mvdx7, [pc], #416
+ cfstr64vs mvdx11, [r0], #-1020
+ cfstr64cc mvdx12, [r1], #-156
+ cfstr64 mvdx13, [r15], #416
move:
- cfmvsrls mvf0, r10
- cfmvsr mvf10, r4
- cfmvsrmi mvf14, r11
- cfmvsrhi mvf13, r5
- cfmvsrcs mvf1, r6
- cfmvrsvs r3, mvf0
- cfmvrsvc r13, mvf14
- cfmvrscc r14, mvf10
- cfmvrsne r8, mvf15
- cfmvrsle r15, mvf11
- cfmvdlrmi mvd2, r3
- cfmvdlreq mvd5, sp
- cfmvdlrge mvd9, lr
- cfmvdlral mvd3, r8
- cfmvdlrle mvd7, pc
- cfmvrdlne r6, mvd6
- cfmvrdllt r0, mvd7
- cfmvrdlpl r7, mvd3
- cfmvrdlgt r1, mvd1
- cfmvrdlhi r2, mvd13
- cfmvdhrvs mvd11, r6
- cfmvdhrcs mvd9, r0
- cfmvdhrpl mvd15, r7
- cfmvdhrls mvd4, r1
- cfmvdhrcc mvd8, r2
- cfmvrdhvc pc, mvd1
- cfmvrdhgt r9, mvd11
- cfmvrdheq sl, mvd5
- cfmvrdhal r4, mvd12
- cfmvrdhge fp, mvd8
- cfmv64lr mvdx13, r15
- cfmv64lrlt mvdx4, r9
- cfmv64lrls mvdx0, r10
- cfmv64lr mvdx10, r4
- cfmv64lrmi mvdx14, r11
- cfmvr64lhi r2, mvdx7
- cfmvr64lcs r12, mvdx12
- cfmvr64lvs r3, mvdx0
- cfmvr64lvc r13, mvdx14
- cfmvr64lcc r14, mvdx10
- cfmv64hrne mvdx8, r2
- cfmv64hrle mvdx6, ip
- cfmv64hrmi mvdx2, r3
- cfmv64hreq mvdx5, sp
- cfmv64hrge mvdx9, lr
- cfmvr64hal r11, mvdx8
- cfmvr64hle r5, mvdx2
- cfmvr64hne r6, mvdx6
- cfmvr64hlt r0, mvdx7
- cfmvr64hpl r7, mvdx3
- cfmval32gt mvax1, mvfx1
- cfmval32hi mvax3, mvfx13
- cfmval32vs mvax3, mvfx4
- cfmval32cs mvax1, mvfx0
- cfmval32pl mvax3, mvfx10
- cfmv32alls mvfx4, mvax1
- cfmv32alcc mvfx8, mvax3
- cfmv32alvc mvfx2, mvax3
- cfmv32algt mvfx6, mvax1
- cfmv32aleq mvfx7, mvax3
- cfmvam32al mvax2, mvfx12
- cfmvam32ge mvax3, mvfx8
- cfmvam32 mvax2, mvfx6
- cfmvam32lt mvax2, mvfx2
- cfmvam32ls mvax0, mvfx5
- cfmv32am mvfx10, mvax2
- cfmv32ammi mvfx14, mvax3
- cfmv32amhi mvfx13, mvax2
- cfmv32amcs mvfx1, mvax2
- cfmv32amvs mvfx11, mvax0
- cfmvah32vc mvax3, mvfx14
- cfmvah32cc mvax0, mvfx10
- cfmvah32ne mvax1, mvfx15
- cfmvah32le mvax0, mvfx11
- cfmvah32mi mvax0, mvfx9
- cfmv32aheq mvfx5, mvax3
- cfmv32ahge mvfx9, mvax0
- cfmv32ahal mvfx3, mvax1
- cfmv32ahle mvfx7, mvax0
- cfmv32ahne mvfx12, mvax0
- cfmva32lt mvax0, mvfx7
- cfmva32pl mvax2, mvfx3
- cfmva32gt mvax1, mvfx1
- cfmva32hi mvax3, mvfx13
- cfmva32vs mvax3, mvfx4
- cfmv32acs mvfx9, mvax0
- cfmv32apl mvfx15, mvax2
- cfmv32als mvfx4, mvax1
- cfmv32acc mvfx8, mvax3
- cfmv32avc mvfx2, mvax3
- cfmva64gt mvax0, mvdx11
- cfmva64eq mvax1, mvdx5
- cfmva64al mvax2, mvdx12
- cfmva64ge mvax3, mvdx8
- cfmva64 mvax2, mvdx6
- cfmv64alt mvdx4, mvax0
- cfmv64als mvdx0, mvax1
- cfmv64a mvdx10, mvax2
- cfmv64ami mvdx14, mvax3
- cfmv64ahi mvdx13, mvax2
- cfmvsc32cs dspsc, mvdx12
- cfmvsc32vs dspsc, mvdx0
- cfmvsc32vc dspsc, mvdx14
- cfmvsc32cc dspsc, mvdx10
- cfmvsc32ne dspsc, mvdx15
- cfmv32scle mvdx6, dspsc
- cfmv32scmi mvdx2, dspsc
- cfmv32sceq mvdx5, dspsc
- cfmv32scge mvdx9, dspsc
- cfmv32scal mvdx3, dspsc
- cfcpysle mvf7, mvf2
- cfcpysne mvf12, mvf6
- cfcpyslt mvf0, mvf7
- cfcpyspl mvf14, mvf3
- cfcpysgt mvf10, mvf1
- cfcpydhi mvd15, mvd13
- cfcpydvs mvd11, mvd4
- cfcpydcs mvd9, mvd0
- cfcpydpl mvd15, mvd10
- cfcpydls mvd4, mvd14
+ cfmvsrcs mvf9, r0
+ cfmvsrpl mvf15, r7
+ cfmvsrls mvf4, r1
+ cfmvsrcc mvf8, r2
+ cfmvsrvc mvf2, r12
+ cfmvrsgt r9, mvf11
+ cfmvrseq sl, mvf5
+ cfmvrsal r4, mvf12
+ cfmvrsge fp, mvf8
+ cfmvrs r5, mvf6
+ cfmvdlrlt mvd4, r9
+ cfmvdlrls mvd0, r10
+ cfmvdlr mvd10, r4
+ cfmvdlrmi mvd14, r11
+ cfmvdlrhi mvd13, r5
+ cfmvrdlcs r12, mvd12
+ cfmvrdlvs r3, mvd0
+ cfmvrdlvc r13, mvd14
+ cfmvrdlcc r14, mvd10
+ cfmvrdlne r8, mvd15
+ cfmvdhrle mvd6, ip
+ cfmvdhrmi mvd2, r3
+ cfmvdhreq mvd5, sp
+ cfmvdhrge mvd9, lr
+ cfmvdhral mvd3, r8
+ cfmvrdhle r5, mvd2
+ cfmvrdhne r6, mvd6
+ cfmvrdhlt r0, mvd7
+ cfmvrdhpl r7, mvd3
+ cfmvrdhgt r1, mvd1
+ cfmv64lrhi mvdx15, r5
+ cfmv64lrvs mvdx11, r6
+ cfmv64lrcs mvdx9, r0
+ cfmv64lrpl mvdx15, r7
+ cfmv64lrls mvdx4, r1
+ cfmvr64lcc r8, mvdx13
+ cfmvr64lvc pc, mvdx1
+ cfmvr64lgt r9, mvdx11
+ cfmvr64leq sl, mvdx5
+ cfmvr64lal r4, mvdx12
+ cfmv64hrge mvdx1, r8
+ cfmv64hr mvdx13, r15
+ cfmv64hrlt mvdx4, r9
+ cfmv64hrls mvdx0, r10
+ cfmv64hr mvdx10, r4
+ cfmvr64hmi r1, mvdx3
+ cfmvr64hhi r2, mvdx7
+ cfmvr64hcs r12, mvdx12
+ cfmvr64hvs r3, mvdx0
+ cfmvr64hvc r13, mvdx14
+ cfmval32cc mvax0, mvfx10
+ cfmval32ne mvax1, mvfx15
+ cfmval32le mvax0, mvfx11
+ cfmval32mi mvax0, mvfx9
+ cfmval32eq mvax1, mvfx15
+ cfmv32alge mvfx9, mvax0
+ cfmv32alal mvfx3, mvax1
+ cfmv32alle mvfx7, mvax0
+ cfmv32alne mvfx12, mvax0
+ cfmv32allt mvfx0, mvax1
+ cfmvam32pl mvax2, mvfx3
+ cfmvam32gt mvax1, mvfx1
+ cfmvam32hi mvax3, mvfx13
+ cfmvam32vs mvax3, mvfx4
+ cfmvam32cs mvax1, mvfx0
+ cfmv32ampl mvfx15, mvax2
+ cfmv32amls mvfx4, mvax1
+ cfmv32amcc mvfx8, mvax3
+ cfmv32amvc mvfx2, mvax3
+ cfmv32amgt mvfx6, mvax1
+ cfmvah32eq mvax1, mvfx5
+ cfmvah32al mvax2, mvfx12
+ cfmvah32ge mvax3, mvfx8
+ cfmvah32 mvax2, mvfx6
+ cfmvah32lt mvax2, mvfx2
+ cfmv32ahls mvfx0, mvax1
+ cfmv32ah mvfx10, mvax2
+ cfmv32ahmi mvfx14, mvax3
+ cfmv32ahhi mvfx13, mvax2
+ cfmv32ahcs mvfx1, mvax2
+ cfmva32vs mvax1, mvfx0
+ cfmva32vc mvax3, mvfx14
+ cfmva32cc mvax0, mvfx10
+ cfmva32ne mvax1, mvfx15
+ cfmva32le mvax0, mvfx11
+ cfmv32ami mvfx2, mvax1
+ cfmv32aeq mvfx5, mvax3
+ cfmv32age mvfx9, mvax0
+ cfmv32aal mvfx3, mvax1
+ cfmv32ale mvfx7, mvax0
+ cfmva64ne mvax2, mvdx6
+ cfmva64lt mvax0, mvdx7
+ cfmva64pl mvax2, mvdx3
+ cfmva64gt mvax1, mvdx1
+ cfmva64hi mvax3, mvdx13
+ cfmv64avs mvdx11, mvax2
+ cfmv64acs mvdx9, mvax0
+ cfmv64apl mvdx15, mvax2
+ cfmv64als mvdx4, mvax1
+ cfmv64acc mvdx8, mvax3
+ cfmvsc32vc dspsc, mvdx1
+ cfmvsc32gt dspsc, mvdx11
+ cfmvsc32eq dspsc, mvdx5
+ cfmvsc32al dspsc, mvdx12
+ cfmvsc32ge dspsc, mvdx8
+ cfmv32sc mvdx13, dspsc
+ cfmv32sclt mvdx4, dspsc
+ cfmv32scls mvdx0, dspsc
+ cfmv32sc mvdx10, dspsc
+ cfmv32scmi mvdx14, dspsc
+ cfcpyshi mvf13, mvf7
+ cfcpyscs mvf1, mvf12
+ cfcpysvs mvf11, mvf0
+ cfcpysvc mvf5, mvf14
+ cfcpyscc mvf12, mvf10
+ cfcpydne mvd8, mvd15
+ cfcpydle mvd6, mvd11
+ cfcpydmi mvd2, mvd9
+ cfcpydeq mvd5, mvd15
+ cfcpydge mvd9, mvd4
conv:
- cfcvtsdcc mvd8, mvf13
- cfcvtsdvc mvd2, mvf1
- cfcvtsdgt mvd6, mvf11
- cfcvtsdeq mvd7, mvf5
- cfcvtsdal mvd3, mvf12
- cfcvtdsge mvf1, mvd8
- cfcvtds mvf13, mvd6
- cfcvtdslt mvf4, mvd2
- cfcvtdsls mvf0, mvd5
- cfcvtds mvf10, mvd9
- cfcvt32smi mvf14, mvfx3
- cfcvt32shi mvf13, mvfx7
- cfcvt32scs mvf1, mvfx12
- cfcvt32svs mvf11, mvfx0
- cfcvt32svc mvf5, mvfx14
- cfcvt32dcc mvd12, mvfx10
- cfcvt32dne mvd8, mvfx15
- cfcvt32dle mvd6, mvfx11
- cfcvt32dmi mvd2, mvfx9
- cfcvt32deq mvd5, mvfx15
- cfcvt64sge mvf9, mvdx4
- cfcvt64sal mvf3, mvdx8
- cfcvt64sle mvf7, mvdx2
- cfcvt64sne mvf12, mvdx6
- cfcvt64slt mvf0, mvdx7
- cfcvt64dpl mvd14, mvdx3
- cfcvt64dgt mvd10, mvdx1
- cfcvt64dhi mvd15, mvdx13
- cfcvt64dvs mvd11, mvdx4
- cfcvt64dcs mvd9, mvdx0
- cfcvts32pl mvfx15, mvf10
- cfcvts32ls mvfx4, mvf14
- cfcvts32cc mvfx8, mvf13
- cfcvts32vc mvfx2, mvf1
- cfcvts32gt mvfx6, mvf11
- cfcvtd32eq mvfx7, mvd5
- cfcvtd32al mvfx3, mvd12
- cfcvtd32ge mvfx1, mvd8
- cfcvtd32 mvfx13, mvd6
- cfcvtd32lt mvfx4, mvd2
- cftruncs32ls mvfx0, mvf5
- cftruncs32 mvfx10, mvf9
- cftruncs32mi mvfx14, mvf3
- cftruncs32hi mvfx13, mvf7
- cftruncs32cs mvfx1, mvf12
- cftruncd32vs mvfx11, mvd0
- cftruncd32vc mvfx5, mvd14
- cftruncd32cc mvfx12, mvd10
- cftruncd32ne mvfx8, mvd15
- cftruncd32le mvfx6, mvd11
+ cfcvtsdal mvd3, mvf8
+ cfcvtsdle mvd7, mvf2
+ cfcvtsdne mvd12, mvf6
+ cfcvtsdlt mvd0, mvf7
+ cfcvtsdpl mvd14, mvf3
+ cfcvtdsgt mvf10, mvd1
+ cfcvtdshi mvf15, mvd13
+ cfcvtdsvs mvf11, mvd4
+ cfcvtdscs mvf9, mvd0
+ cfcvtdspl mvf15, mvd10
+ cfcvt32sls mvf4, mvfx14
+ cfcvt32scc mvf8, mvfx13
+ cfcvt32svc mvf2, mvfx1
+ cfcvt32sgt mvf6, mvfx11
+ cfcvt32seq mvf7, mvfx5
+ cfcvt32dal mvd3, mvfx12
+ cfcvt32dge mvd1, mvfx8
+ cfcvt32d mvd13, mvfx6
+ cfcvt32dlt mvd4, mvfx2
+ cfcvt32dls mvd0, mvfx5
+ cfcvt64s mvf10, mvdx9
+ cfcvt64smi mvf14, mvdx3
+ cfcvt64shi mvf13, mvdx7
+ cfcvt64scs mvf1, mvdx12
+ cfcvt64svs mvf11, mvdx0
+ cfcvt64dvc mvd5, mvdx14
+ cfcvt64dcc mvd12, mvdx10
+ cfcvt64dne mvd8, mvdx15
+ cfcvt64dle mvd6, mvdx11
+ cfcvt64dmi mvd2, mvdx9
+ cfcvts32eq mvfx5, mvf15
+ cfcvts32ge mvfx9, mvf4
+ cfcvts32al mvfx3, mvf8
+ cfcvts32le mvfx7, mvf2
+ cfcvts32ne mvfx12, mvf6
+ cfcvtd32lt mvfx0, mvd7
+ cfcvtd32pl mvfx14, mvd3
+ cfcvtd32gt mvfx10, mvd1
+ cfcvtd32hi mvfx15, mvd13
+ cfcvtd32vs mvfx11, mvd4
+ cftruncs32cs mvfx9, mvf0
+ cftruncs32pl mvfx15, mvf10
+ cftruncs32ls mvfx4, mvf14
+ cftruncs32cc mvfx8, mvf13
+ cftruncs32vc mvfx2, mvf1
+ cftruncd32gt mvfx6, mvd11
+ cftruncd32eq mvfx7, mvd5
+ cftruncd32al mvfx3, mvd12
+ cftruncd32ge mvfx1, mvd8
+ cftruncd32 mvfx13, mvd6
shift:
- cfrshl32mi mvfx2, mvfx9, r0
- cfrshl32 mvfx10, mvfx9, lr
- cfrshl32cc mvfx8, mvfx13, r5
- cfrshl32ne mvfx12, mvfx6, r3
- cfrshl32vc mvfx5, mvfx14, r4
- cfrshl64ge mvdx1, mvdx8, r2
- cfrshl64vs mvdx11, mvdx4, r9
- cfrshl64eq mvdx5, mvdx15, r7
- cfrshl64mi mvdx14, mvdx3, r8
- cfrshl64vc mvdx2, mvdx1, r6
- cfsh32lt mvfx0, mvfx7, #-64
- cfsh32cc mvfx12, mvfx10, #-20
- cfsh32 mvfx13, mvfx6, #40
- cfsh32cs mvfx9, mvfx0, #-1
- cfsh32ge mvfx9, mvfx4, #24
- cfsh64hi mvdx13, mvdx7, #33
- cfsh64gt mvdx6, mvdx11, #0
- cfsh64pl mvdx14, mvdx3, #32
- cfsh64ne mvdx8, mvdx15, #-31
- cfsh64lt mvdx4, mvdx2, #1
+ cfrshl32lt mvfx4, mvfx2, r3
+ cfrshl32pl mvfx15, mvfx10, r4
+ cfrshl32al mvfx3, mvfx8, r2
+ cfrshl32cs mvfx1, mvfx12, r9
+ cfrshl32eq mvfx7, mvfx5, r7
+ cfrshl64gt mvdx10, mvdx1, r8
+ cfrshl64le mvdx6, mvdx11, r6
+ cfrshl64ls mvdx0, mvdx5, sp
+ cfrshl64ls mvdx4, mvdx14, r11
+ cfrshl64le mvdx7, mvdx2, r12
+ cfsh32vs mvfx11, mvfx0, #-1
+ cfsh32al mvfx3, mvfx12, #24
+ cfsh32hi mvfx15, mvfx13, #33
+ cfsh32mi mvfx2, mvfx9, #0
+ cfsh32 mvfx10, mvfx9, #32
+ cfsh64cc mvdx8, mvdx13, #-31
+ cfsh64ne mvdx12, mvdx6, #1
+ cfsh64vc mvdx5, mvdx14, #-32
+ cfsh64ge mvdx1, mvdx8, #-27
+ cfsh64vs mvdx11, mvdx4, #-5
comp:
- cfcmpspl sp, mvf10, mvf9
- cfcmpsal r11, mvf8, mvf13
- cfcmpscs r12, mvf12, mvf6
- cfcmpseq sl, mvf5, mvf14
- cfcmpsgt r1, mvf1, mvf8
- cfcmpdle r15, mvd11, mvd4
- cfcmpdls r0, mvd5, mvd15
- cfcmpdls lr, mvd14, mvd3
- cfcmpdle r5, mvd2, mvd1
- cfcmpdvs r3, mvd0, mvd7
- cfcmp32al r4, mvfx12, mvfx10
- cfcmp32hi r2, mvfx13, mvfx6
- cfcmp32mi r9, mvfx9, mvfx0
- cfcmp32 r7, mvfx9, mvfx4
- cfcmp32cc r8, mvfx13, mvfx7
- cfcmp64ne r6, mvdx6, mvdx11
- cfcmp64vc r13, mvdx14, mvdx3
- cfcmp64ge fp, mvdx8, mvdx15
- cfcmp64vs ip, mvdx4, mvdx2
- cfcmp64eq r10, mvdx15, mvdx10
+ cfcmpseq r10, mvf15, mvf10
+ cfcmpsmi r1, mvf3, mvf8
+ cfcmpsvc pc, mvf1, mvf12
+ cfcmpslt r0, mvf7, mvf5
+ cfcmpscc r14, mvf10, mvf1
+ cfcmpd r5, mvd6, mvd11
+ cfcmpdcs r3, mvd0, mvd5
+ cfcmpdge r4, mvd4, mvd14
+ cfcmpdhi r2, mvd7, mvd2
+ cfcmpdgt r9, mvd11, mvd0
+ cfcmp32pl r7, mvfx3, mvfx12
+ cfcmp32ne r8, mvfx15, mvfx13
+ cfcmp32lt r6, mvfx2, mvfx9
+ cfcmp32pl sp, mvfx10, mvfx9
+ cfcmp32al r11, mvfx8, mvfx13
+ cfcmp64cs r12, mvdx12, mvdx6
+ cfcmp64eq sl, mvdx5, mvdx14
+ cfcmp64gt r1, mvdx1, mvdx8
+ cfcmp64le r15, mvdx11, mvdx4
+ cfcmp64ls r0, mvdx5, mvdx15
fp_arith:
- cfabssmi mvf14, mvf3
- cfabsshi mvf13, mvf7
- cfabsscs mvf1, mvf12
- cfabssvs mvf11, mvf0
- cfabssvc mvf5, mvf14
- cfabsdcc mvd12, mvd10
- cfabsdne mvd8, mvd15
- cfabsdle mvd6, mvd11
- cfabsdmi mvd2, mvd9
- cfabsdeq mvd5, mvd15
- cfnegsge mvf9, mvf4
- cfnegsal mvf3, mvf8
- cfnegsle mvf7, mvf2
- cfnegsne mvf12, mvf6
- cfnegslt mvf0, mvf7
- cfnegdpl mvd14, mvd3
- cfnegdgt mvd10, mvd1
- cfnegdhi mvd15, mvd13
- cfnegdvs mvd11, mvd4
- cfnegdcs mvd9, mvd0
- cfaddspl mvf15, mvf10, mvf9
- cfaddsal mvf3, mvf8, mvf13
- cfaddscs mvf1, mvf12, mvf6
- cfaddseq mvf7, mvf5, mvf14
- cfaddsgt mvf10, mvf1, mvf8
- cfadddle mvd6, mvd11, mvd4
- cfadddls mvd0, mvd5, mvd15
- cfadddls mvd4, mvd14, mvd3
- cfadddle mvd7, mvd2, mvd1
- cfadddvs mvd11, mvd0, mvd7
- cfsubsal mvf3, mvf12, mvf10
- cfsubshi mvf15, mvf13, mvf6
- cfsubsmi mvf2, mvf9, mvf0
- cfsubs mvf10, mvf9, mvf4
- cfsubscc mvf8, mvf13, mvf7
- cfsubdne mvd12, mvd6, mvd11
- cfsubdvc mvd5, mvd14, mvd3
- cfsubdge mvd1, mvd8, mvd15
- cfsubdvs mvd11, mvd4, mvd2
- cfsubdeq mvd5, mvd15, mvd10
- cfmulsmi mvf14, mvf3, mvf8
- cfmulsvc mvf2, mvf1, mvf12
- cfmulslt mvf0, mvf7, mvf5
- cfmulscc mvf12, mvf10, mvf1
- cfmuls mvf13, mvf6, mvf11
- cfmuldcs mvd9, mvd0, mvd5
- cfmuldge mvd9, mvd4, mvd14
- cfmuldhi mvd13, mvd7, mvd2
- cfmuldgt mvd6, mvd11, mvd0
- cfmuldpl mvd14, mvd3, mvd12
+ cfabssls mvf4, mvf14
+ cfabsscc mvf8, mvf13
+ cfabssvc mvf2, mvf1
+ cfabssgt mvf6, mvf11
+ cfabsseq mvf7, mvf5
+ cfabsdal mvd3, mvd12
+ cfabsdge mvd1, mvd8
+ cfabsd mvd13, mvd6
+ cfabsdlt mvd4, mvd2
+ cfabsdls mvd0, mvd5
+ cfnegs mvf10, mvf9
+ cfnegsmi mvf14, mvf3
+ cfnegshi mvf13, mvf7
+ cfnegscs mvf1, mvf12
+ cfnegsvs mvf11, mvf0
+ cfnegdvc mvd5, mvd14
+ cfnegdcc mvd12, mvd10
+ cfnegdne mvd8, mvd15
+ cfnegdle mvd6, mvd11
+ cfnegdmi mvd2, mvd9
+ cfaddseq mvf5, mvf15, mvf10
+ cfaddsmi mvf14, mvf3, mvf8
+ cfaddsvc mvf2, mvf1, mvf12
+ cfaddslt mvf0, mvf7, mvf5
+ cfaddscc mvf12, mvf10, mvf1
+ cfaddd mvd13, mvd6, mvd11
+ cfadddcs mvd9, mvd0, mvd5
+ cfadddge mvd9, mvd4, mvd14
+ cfadddhi mvd13, mvd7, mvd2
+ cfadddgt mvd6, mvd11, mvd0
+ cfsubspl mvf14, mvf3, mvf12
+ cfsubsne mvf8, mvf15, mvf13
+ cfsubslt mvf4, mvf2, mvf9
+ cfsubspl mvf15, mvf10, mvf9
+ cfsubsal mvf3, mvf8, mvf13
+ cfsubdcs mvd1, mvd12, mvd6
+ cfsubdeq mvd7, mvd5, mvd14
+ cfsubdgt mvd10, mvd1, mvd8
+ cfsubdle mvd6, mvd11, mvd4
+ cfsubdls mvd0, mvd5, mvd15
+ cfmulsls mvf4, mvf14, mvf3
+ cfmulsle mvf7, mvf2, mvf1
+ cfmulsvs mvf11, mvf0, mvf7
+ cfmulsal mvf3, mvf12, mvf10
+ cfmulshi mvf15, mvf13, mvf6
+ cfmuldmi mvd2, mvd9, mvd0
+ cfmuld mvd10, mvd9, mvd4
+ cfmuldcc mvd8, mvd13, mvd7
+ cfmuldne mvd12, mvd6, mvd11
+ cfmuldvc mvd5, mvd14, mvd3
int_arith:
- cfabs32ne mvfx8, mvfx15
- cfabs32le mvfx6, mvfx11
- cfabs32mi mvfx2, mvfx9
- cfabs32eq mvfx5, mvfx15
- cfabs32ge mvfx9, mvfx4
- cfabs64al mvdx3, mvdx8
- cfabs64le mvdx7, mvdx2
- cfabs64ne mvdx12, mvdx6
- cfabs64lt mvdx0, mvdx7
- cfabs64pl mvdx14, mvdx3
- cfneg32gt mvfx10, mvfx1
- cfneg32hi mvfx15, mvfx13
- cfneg32vs mvfx11, mvfx4
- cfneg32cs mvfx9, mvfx0
- cfneg32pl mvfx15, mvfx10
- cfneg64ls mvdx4, mvdx14
- cfneg64cc mvdx8, mvdx13
- cfneg64vc mvdx2, mvdx1
- cfneg64gt mvdx6, mvdx11
- cfneg64eq mvdx7, mvdx5
- cfadd32al mvfx3, mvfx12, mvfx10
- cfadd32hi mvfx15, mvfx13, mvfx6
- cfadd32mi mvfx2, mvfx9, mvfx0
- cfadd32 mvfx10, mvfx9, mvfx4
- cfadd32cc mvfx8, mvfx13, mvfx7
- cfadd64ne mvdx12, mvdx6, mvdx11
- cfadd64vc mvdx5, mvdx14, mvdx3
- cfadd64ge mvdx1, mvdx8, mvdx15
- cfadd64vs mvdx11, mvdx4, mvdx2
- cfadd64eq mvdx5, mvdx15, mvdx10
- cfsub32mi mvfx14, mvfx3, mvfx8
- cfsub32vc mvfx2, mvfx1, mvfx12
- cfsub32lt mvfx0, mvfx7, mvfx5
- cfsub32cc mvfx12, mvfx10, mvfx1
- cfsub32 mvfx13, mvfx6, mvfx11
- cfsub64cs mvdx9, mvdx0, mvdx5
- cfsub64ge mvdx9, mvdx4, mvdx14
- cfsub64hi mvdx13, mvdx7, mvdx2
- cfsub64gt mvdx6, mvdx11, mvdx0
- cfsub64pl mvdx14, mvdx3, mvdx12
- cfmul32ne mvfx8, mvfx15, mvfx13
- cfmul32lt mvfx4, mvfx2, mvfx9
- cfmul32pl mvfx15, mvfx10, mvfx9
- cfmul32al mvfx3, mvfx8, mvfx13
- cfmul32cs mvfx1, mvfx12, mvfx6
- cfmul64eq mvdx7, mvdx5, mvdx14
- cfmul64gt mvdx10, mvdx1, mvdx8
- cfmul64le mvdx6, mvdx11, mvdx4
- cfmul64ls mvdx0, mvdx5, mvdx15
- cfmul64ls mvdx4, mvdx14, mvdx3
- cfmac32le mvfx7, mvfx2, mvfx1
- cfmac32vs mvfx11, mvfx0, mvfx7
- cfmac32al mvfx3, mvfx12, mvfx10
- cfmac32hi mvfx15, mvfx13, mvfx6
- cfmac32mi mvfx2, mvfx9, mvfx0
- cfmsc32 mvfx10, mvfx9, mvfx4
- cfmsc32cc mvfx8, mvfx13, mvfx7
- cfmsc32ne mvfx12, mvfx6, mvfx11
- cfmsc32vc mvfx5, mvfx14, mvfx3
- cfmsc32ge mvfx1, mvfx8, mvfx15
+ cfabs32ge mvfx1, mvfx8
+ cfabs32 mvfx13, mvfx6
+ cfabs32lt mvfx4, mvfx2
+ cfabs32ls mvfx0, mvfx5
+ cfabs32 mvfx10, mvfx9
+ cfabs64mi mvdx14, mvdx3
+ cfabs64hi mvdx13, mvdx7
+ cfabs64cs mvdx1, mvdx12
+ cfabs64vs mvdx11, mvdx0
+ cfabs64vc mvdx5, mvdx14
+ cfneg32cc mvfx12, mvfx10
+ cfneg32ne mvfx8, mvfx15
+ cfneg32le mvfx6, mvfx11
+ cfneg32mi mvfx2, mvfx9
+ cfneg32eq mvfx5, mvfx15
+ cfneg64ge mvdx9, mvdx4
+ cfneg64al mvdx3, mvdx8
+ cfneg64le mvdx7, mvdx2
+ cfneg64ne mvdx12, mvdx6
+ cfneg64lt mvdx0, mvdx7
+ cfadd32pl mvfx14, mvfx3, mvfx12
+ cfadd32ne mvfx8, mvfx15, mvfx13
+ cfadd32lt mvfx4, mvfx2, mvfx9
+ cfadd32pl mvfx15, mvfx10, mvfx9
+ cfadd32al mvfx3, mvfx8, mvfx13
+ cfadd64cs mvdx1, mvdx12, mvdx6
+ cfadd64eq mvdx7, mvdx5, mvdx14
+ cfadd64gt mvdx10, mvdx1, mvdx8
+ cfadd64le mvdx6, mvdx11, mvdx4
+ cfadd64ls mvdx0, mvdx5, mvdx15
+ cfsub32ls mvfx4, mvfx14, mvfx3
+ cfsub32le mvfx7, mvfx2, mvfx1
+ cfsub32vs mvfx11, mvfx0, mvfx7
+ cfsub32al mvfx3, mvfx12, mvfx10
+ cfsub32hi mvfx15, mvfx13, mvfx6
+ cfsub64mi mvdx2, mvdx9, mvdx0
+ cfsub64 mvdx10, mvdx9, mvdx4
+ cfsub64cc mvdx8, mvdx13, mvdx7
+ cfsub64ne mvdx12, mvdx6, mvdx11
+ cfsub64vc mvdx5, mvdx14, mvdx3
+ cfmul32ge mvfx1, mvfx8, mvfx15
+ cfmul32vs mvfx11, mvfx4, mvfx2
+ cfmul32eq mvfx5, mvfx15, mvfx10
+ cfmul32mi mvfx14, mvfx3, mvfx8
+ cfmul32vc mvfx2, mvfx1, mvfx12
+ cfmul64lt mvdx0, mvdx7, mvdx5
+ cfmul64cc mvdx12, mvdx10, mvdx1
+ cfmul64 mvdx13, mvdx6, mvdx11
+ cfmul64cs mvdx9, mvdx0, mvdx5
+ cfmul64ge mvdx9, mvdx4, mvdx14
+ cfmac32hi mvfx13, mvfx7, mvfx2
+ cfmac32gt mvfx6, mvfx11, mvfx0
+ cfmac32pl mvfx14, mvfx3, mvfx12
+ cfmac32ne mvfx8, mvfx15, mvfx13
+ cfmac32lt mvfx4, mvfx2, mvfx9
+ cfmsc32pl mvfx15, mvfx10, mvfx9
+ cfmsc32al mvfx3, mvfx8, mvfx13
+ cfmsc32cs mvfx1, mvfx12, mvfx6
+ cfmsc32eq mvfx7, mvfx5, mvfx14
+ cfmsc32gt mvfx10, mvfx1, mvfx8
acc_arith:
- cfmadd32vs mvax3, mvfx4, mvfx2, mvfx9
- cfmadd32eq mvax1, mvfx15, mvfx10, mvfx9
- cfmadd32mi mvax1, mvfx3, mvfx8, mvfx13
- cfmadd32vc mvax0, mvfx1, mvfx12, mvfx6
- cfmadd32lt mvax0, mvfx7, mvfx5, mvfx14
- cfmsub32cc mvax0, mvfx10, mvfx1, mvfx8
- cfmsub32 mvax2, mvfx6, mvfx11, mvfx4
- cfmsub32cs mvax1, mvfx0, mvfx5, mvfx15
- cfmsub32ge mvax2, mvfx4, mvfx14, mvfx3
- cfmsub32hi mvax3, mvfx7, mvfx2, mvfx1
- cfmadda32gt mvax0, mvax1, mvfx0, mvfx7
- cfmadda32pl mvax2, mvax2, mvfx12, mvfx10
- cfmadda32ne mvax1, mvax3, mvfx13, mvfx6
- cfmadda32lt mvax2, mvax0, mvfx9, mvfx0
- cfmadda32pl mvax3, mvax2, mvfx9, mvfx4
- cfmsuba32al mvax3, mvax1, mvfx13, mvfx7
- cfmsuba32cs mvax3, mvax2, mvfx6, mvfx11
- cfmsuba32eq mvax1, mvax3, mvfx14, mvfx3
- cfmsuba32gt mvax1, mvax3, mvfx8, mvfx15
- cfmsuba32le mvax0, mvax3, mvfx4, mvfx2
+ cfmadd32le mvax0, mvfx11, mvfx4, mvfx2
+ cfmadd32ls mvax0, mvfx5, mvfx15, mvfx10
+ cfmadd32ls mvax0, mvfx14, mvfx3, mvfx8
+ cfmadd32le mvax2, mvfx2, mvfx1, mvfx12
+ cfmadd32vs mvax1, mvfx0, mvfx7, mvfx5
+ cfmsub32al mvax2, mvfx12, mvfx10, mvfx1
+ cfmsub32hi mvax3, mvfx13, mvfx6, mvfx11
+ cfmsub32mi mvax0, mvfx9, mvfx0, mvfx5
+ cfmsub32 mvax2, mvfx9, mvfx4, mvfx14
+ cfmsub32cc mvax1, mvfx13, mvfx7, mvfx2
+ cfmadda32ne mvax2, mvax0, mvfx11, mvfx0
+ cfmadda32vc mvax3, mvax2, mvfx3, mvfx12
+ cfmadda32ge mvax3, mvax1, mvfx15, mvfx13
+ cfmadda32vs mvax3, mvax2, mvfx2, mvfx9
+ cfmadda32eq mvax1, mvax3, mvfx10, mvfx9
+ cfmsuba32mi mvax1, mvax3, mvfx8, mvfx13
+ cfmsuba32vc mvax0, mvax3, mvfx12, mvfx6
+ cfmsuba32lt mvax0, mvax1, mvfx5, mvfx14
+ cfmsuba32cc mvax0, mvax1, mvfx1, mvfx8
+ cfmsuba32 mvax2, mvax0, mvfx11, mvfx4
diff --git a/gas/testsuite/gas/arm/reg-alias.d b/gas/testsuite/gas/arm/reg-alias.d
new file mode 100644
index 0000000..d9b4be2
--- /dev/null
+++ b/gas/testsuite/gas/arm/reg-alias.d
@@ -0,0 +1,10 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: Case Sensitive Register Aliases
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+0 <.*> ee060f10 mcr 15, 0, r0, cr6, cr0, \{0\}
+0+4 <.*> e1a00000 nop \(mov r0,r0\)
+0+8 <.*> e1a00000 nop \(mov r0,r0\)
+0+c <.*> e1a00000 nop \(mov r0,r0\)
diff --git a/gas/testsuite/gas/arm/reg-alias.s b/gas/testsuite/gas/arm/reg-alias.s
new file mode 100644
index 0000000..5086b8b
--- /dev/null
+++ b/gas/testsuite/gas/arm/reg-alias.s
@@ -0,0 +1,14 @@
+ @ Test case-sensitive register aliases
+ .text
+ .global fred
+fred:
+
+MMUPurgeTLBReg .req c6
+MMUCP .req p15
+
+MCR MMUCP, 0, a1, MMUPurgeTLBReg, c0, 0
+ @ The NOPs are here for ports like arm-aout which will pad
+ @ the .text section to a 16 byte boundary.
+ nop
+ nop
+ nop
diff --git a/gas/testsuite/gas/cfi/cfi-alpha-1.d b/gas/testsuite/gas/cfi/cfi-alpha-1.d
index 73783e9..9568d3b 100644
--- a/gas/testsuite/gas/cfi/cfi-alpha-1.d
+++ b/gas/testsuite/gas/cfi/cfi-alpha-1.d
@@ -2,7 +2,7 @@
#name: CFI on alpha
The section .eh_frame contains:
-00000000 0000000f 00000000 CIE
+00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 4
@@ -11,12 +11,19 @@ The section .eh_frame contains:
Augmentation data: 1b
DW_CFA_def_cfa_reg: r30
+ DW_CFA_nop
-00000013 00000019 00000017 FDE cie=00000000 pc=0000001b..0000004f
- DW_CFA_advance_loc: 24 to 00000033
+00000014 00000020 00000018 FDE cie=00000000 pc=0000001c..00000050
+ DW_CFA_advance_loc: 24 to 00000034
DW_CFA_def_cfa: r15 ofs 32
DW_CFA_offset: r26 at cfa-32
DW_CFA_offset: r9 at cfa-24
DW_CFA_offset: r15 at cfa-16
DW_CFA_offset: r34 at cfa-8
-
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-alpha-2.d b/gas/testsuite/gas/cfi/cfi-alpha-2.d
index 49f8cce..4a87da2 100644
--- a/gas/testsuite/gas/cfi/cfi-alpha-2.d
+++ b/gas/testsuite/gas/cfi/cfi-alpha-2.d
@@ -5,5 +5,5 @@
RELOCATION RECORDS FOR \[\.eh_frame\]:
OFFSET TYPE VALUE
-0*000001b SREL32 \.text
-0*000002c SREL32 \.text\+0x0*0000004
+0*000001c SREL32 \.text
+0*0000030 SREL32 \.text\+0x0*0000004
diff --git a/gas/testsuite/gas/cfi/cfi-alpha-3.d b/gas/testsuite/gas/cfi/cfi-alpha-3.d
index 4d8bd88..f3ad084 100644
--- a/gas/testsuite/gas/cfi/cfi-alpha-3.d
+++ b/gas/testsuite/gas/cfi/cfi-alpha-3.d
@@ -2,7 +2,7 @@
#name: CFI on alpha, 3
The section .eh_frame contains:
-00000000 0000000f 00000000 CIE
+00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 4
@@ -11,26 +11,26 @@ The section .eh_frame contains:
Augmentation data: 1b
DW_CFA_def_cfa_reg: r30
+ DW_CFA_nop
-00000013 00000029 00000017 FDE cie=00000000 pc=0000001b..0000005b
- DW_CFA_advance_loc: 4 to 0000001f
+00000014 00000028 00000018 FDE cie=00000000 pc=0000001c..0000005c
+ DW_CFA_advance_loc: 4 to 00000020
DW_CFA_def_cfa_offset: 32
- DW_CFA_advance_loc: 4 to 00000023
+ DW_CFA_advance_loc: 4 to 00000024
DW_CFA_offset: r26 at cfa-32
- DW_CFA_advance_loc: 4 to 00000027
+ DW_CFA_advance_loc: 4 to 00000028
DW_CFA_offset: r9 at cfa-24
- DW_CFA_advance_loc: 4 to 0000002b
+ DW_CFA_advance_loc: 4 to 0000002c
DW_CFA_offset: r15 at cfa-16
- DW_CFA_advance_loc: 4 to 0000002f
+ DW_CFA_advance_loc: 4 to 00000030
DW_CFA_offset: r34 at cfa-8
- DW_CFA_advance_loc: 4 to 00000033
+ DW_CFA_advance_loc: 4 to 00000034
DW_CFA_def_cfa_reg: r15
- DW_CFA_advance_loc: 36 to 00000057
+ DW_CFA_advance_loc: 36 to 00000058
DW_CFA_def_cfa: r30 ofs 0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
- DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-common-1.d b/gas/testsuite/gas/cfi/cfi-common-1.d
index 0634b70..332c477 100644
--- a/gas/testsuite/gas/cfi/cfi-common-1.d
+++ b/gas/testsuite/gas/cfi/cfi-common-1.d
@@ -2,7 +2,7 @@
#name: CFI common 1
The section .eh_frame contains:
-00000000 0000000d 00000000 CIE
+00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: .*
@@ -10,14 +10,14 @@ The section .eh_frame contains:
Return address column: .*
Augmentation data: 1b
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
-00000011 0000001b 00000015 FDE cie=00000000 pc=.*
+00000014 00000018 00000018 FDE cie=00000000 pc=.*
DW_CFA_advance_loc: 4 to .*
DW_CFA_def_cfa: r0 ofs 16
DW_CFA_offset: r1 at cfa-8
DW_CFA_advance_loc: 4 to .*
DW_CFA_def_cfa_offset: 32
DW_CFA_offset: r2 at cfa-24
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-common-2.d b/gas/testsuite/gas/cfi/cfi-common-2.d
index 4c50cdb..a1f1d06 100644
--- a/gas/testsuite/gas/cfi/cfi-common-2.d
+++ b/gas/testsuite/gas/cfi/cfi-common-2.d
@@ -2,16 +2,15 @@
#name: CFI common 2
The section .eh_frame contains:
-00000000 0000000d 00000000 CIE
+00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: .*
Data alignment factor: .*
Return address column: .*
Augmentation data: 1b
-
-
-00000011 0000001[bf] 00000015 FDE cie=00000000 pc=.*
+#...
+00000014 000000[12][c0] 00000018 FDE cie=00000000 pc=.*
DW_CFA_advance_loc: 4 to .*
DW_CFA_def_cfa: r0 ofs 16
DW_CFA_advance_loc: 4 to .*
@@ -22,5 +21,4 @@ The section .eh_frame contains:
DW_CFA_restore_state
DW_CFA_advance_loc: 4 to .*
DW_CFA_def_cfa_offset: 0
-# 64-bit arches will have here 4 times DW_CFA_nop
-#...
+#pass
diff --git a/gas/testsuite/gas/cfi/cfi-common-3.d b/gas/testsuite/gas/cfi/cfi-common-3.d
index 9ddbc45..82a4193 100644
--- a/gas/testsuite/gas/cfi/cfi-common-3.d
+++ b/gas/testsuite/gas/cfi/cfi-common-3.d
@@ -2,19 +2,16 @@
#name: CFI common 3
The section .eh_frame contains:
-00000000 0000000d 00000000 CIE
+00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: .*
Data alignment factor: .*
Return address column: .*
Augmentation data: 1b
-
-
-00000011 00000013 00000015 FDE cie=00000000 pc=.*
+#...
+00000014 00000010 00000018 FDE cie=00000000 pc=.*
DW_CFA_advance_loc: 4 to .*
DW_CFA_remember_state
DW_CFA_restore_state
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
+#pass
diff --git a/gas/testsuite/gas/cfi/cfi-i386.d b/gas/testsuite/gas/cfi/cfi-i386.d
index 2723727..471f5e1 100644
--- a/gas/testsuite/gas/cfi/cfi-i386.d
+++ b/gas/testsuite/gas/cfi/cfi-i386.d
@@ -2,7 +2,7 @@
#name: CFI on i386
The section .eh_frame contains:
-00000000 00000012 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 1
@@ -12,29 +12,37 @@ The section .eh_frame contains:
DW_CFA_def_cfa: r4 ofs 4
DW_CFA_offset: r8 at cfa-4
+ DW_CFA_nop
+ DW_CFA_nop
-00000016 00000014 0000001a FDE cie=00000000 pc=0000001e..00000030
- DW_CFA_advance_loc: 6 to 00000024
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..00000032
+ DW_CFA_advance_loc: 6 to 00000026
DW_CFA_def_cfa_offset: 4664
- DW_CFA_advance_loc: 11 to 0000002f
+ DW_CFA_advance_loc: 11 to 00000031
DW_CFA_def_cfa_offset: 4
-0000002e 00000018 00000032 FDE cie=00000000 pc=00000048..00000055
- DW_CFA_advance_loc: 1 to 00000049
+00000030 00000018 00000034 FDE cie=00000000 pc=0000004a..00000057
+ DW_CFA_advance_loc: 1 to 0000004b
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r5 at cfa-8
- DW_CFA_advance_loc: 2 to 0000004b
+ DW_CFA_advance_loc: 2 to 0000004d
DW_CFA_def_cfa_reg: r5
- DW_CFA_advance_loc: 9 to 00000054
+ DW_CFA_advance_loc: 9 to 00000056
DW_CFA_def_cfa_reg: r4
-0000004a 00000014 0000004e FDE cie=00000000 pc=00000071..00000081
- DW_CFA_advance_loc: 2 to 00000073
+0000004c 00000014 00000050 FDE cie=00000000 pc=00000073..00000083
+ DW_CFA_advance_loc: 2 to 00000075
DW_CFA_def_cfa_reg: r3
- DW_CFA_advance_loc: 13 to 00000080
+ DW_CFA_advance_loc: 13 to 00000082
DW_CFA_def_cfa: r4 ofs 4
-00000062 0000000d 00000066 FDE cie=00000000 pc=00000099..0000009f
+00000064 00000010 00000068 FDE cie=00000000 pc=0000009b..000000a1
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
-00000073 0000000d 00000077 FDE cie=00000000 pc=000000b0..000000bf
+00000078 00000010 0000007c FDE cie=00000000 pc=000000b5..000000c4
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-m68k.d b/gas/testsuite/gas/cfi/cfi-m68k.d
index a728759..ff239f3 100644
--- a/gas/testsuite/gas/cfi/cfi-m68k.d
+++ b/gas/testsuite/gas/cfi/cfi-m68k.d
@@ -2,7 +2,7 @@
#name: CFI on m68k
The section .eh_frame contains:
-00000000 00000012 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 2
@@ -12,22 +12,27 @@ The section .eh_frame contains:
DW_CFA_def_cfa: r15 ofs 4
DW_CFA_offset: r24 at cfa-4
+ DW_CFA_nop
+ DW_CFA_nop
-00000016 00000014 0000001a FDE cie=00000000 pc=0000001e..0000002a
- DW_CFA_advance_loc: 4 to 00000022
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..0000002c
+ DW_CFA_advance_loc: 4 to 00000024
DW_CFA_def_cfa_offset: 4664
- DW_CFA_advance_loc: 6 to 00000028
+ DW_CFA_advance_loc: 6 to 0000002a
DW_CFA_def_cfa_offset: 4
-0000002e 00000017 00000032 FDE cie=00000000 pc=00000036..00000042
- DW_CFA_advance_loc: 4 to 0000003a
+00000030 00000018 00000034 FDE cie=00000000 pc=00000038..00000044
+ DW_CFA_advance_loc: 4 to 0000003c
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r14 at cfa-8
DW_CFA_def_cfa_reg: r14
- DW_CFA_advance_loc: 6 to 00000040
+ DW_CFA_advance_loc: 6 to 00000042
DW_CFA_def_cfa_reg: r15
+ DW_CFA_nop
-00000049 0000000f 0000004d FDE cie=00000000 pc=00000051..00000055
+0000004c 00000010 00000050 FDE cie=00000000 pc=00000054..00000058
DW_CFA_nop
DW_CFA_nop
+ DW_CFA_nop
+
diff --git a/gas/testsuite/gas/cfi/cfi-s390x-1.d b/gas/testsuite/gas/cfi/cfi-s390x-1.d
index 88438f2..ad67add 100644
--- a/gas/testsuite/gas/cfi/cfi-s390x-1.d
+++ b/gas/testsuite/gas/cfi/cfi-s390x-1.d
@@ -4,7 +4,7 @@
The section .eh_frame contains:
-00000000 00000011 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 1
@@ -13,9 +13,12 @@ The section .eh_frame contains:
Augmentation data: 1b
DW_CFA_def_cfa: r15 ofs 160
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
-00000015 00000027 00000019 FDE cie=00000000 pc=0000001d..0000008d
- DW_CFA_advance_loc: 6 to 00000023
+00000018 00000024 0000001c FDE cie=00000000 pc=00000020..00000090
+ DW_CFA_advance_loc: 6 to 00000026
DW_CFA_offset: r15 at cfa-40
DW_CFA_offset: r14 at cfa-48
DW_CFA_offset: r13 at cfa-56
@@ -24,11 +27,8 @@ The section .eh_frame contains:
DW_CFA_offset: r10 at cfa-80
DW_CFA_offset: r9 at cfa-88
DW_CFA_offset: r8 at cfa-96
- DW_CFA_advance_loc: 8 to 0000002b
+ DW_CFA_advance_loc: 8 to 0000002e
DW_CFA_def_cfa_offset: 320
DW_CFA_nop
DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-sparc64-1.d b/gas/testsuite/gas/cfi/cfi-sparc64-1.d
index ffe6239..10d3ea9 100644
--- a/gas/testsuite/gas/cfi/cfi-sparc64-1.d
+++ b/gas/testsuite/gas/cfi/cfi-sparc64-1.d
@@ -4,7 +4,7 @@
The section .eh_frame contains:
-00000000 00000011 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 4
@@ -13,13 +13,13 @@ The section .eh_frame contains:
Augmentation data: 1b
DW_CFA_def_cfa: r14 ofs 2047
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
-00000015 00000017 00000019 FDE cie=00000000 pc=0000001d..0000004d
- DW_CFA_advance_loc: 4 to 00000021
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..00000050
+ DW_CFA_advance_loc: 4 to 00000024
DW_CFA_def_cfa_reg: r30
DW_CFA_GNU_window_save
DW_CFA_register: r15 in r31
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
diff --git a/gas/testsuite/gas/cfi/cfi-x86_64.d b/gas/testsuite/gas/cfi/cfi-x86_64.d
index 17456ae..2b19641 100644
--- a/gas/testsuite/gas/cfi/cfi-x86_64.d
+++ b/gas/testsuite/gas/cfi/cfi-x86_64.d
@@ -2,7 +2,7 @@
#name: CFI on x86-64
The section .eh_frame contains:
-00000000 00000012 00000000 CIE
+00000000 00000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 1
@@ -12,33 +12,41 @@ The section .eh_frame contains:
DW_CFA_def_cfa: r7 ofs 8
DW_CFA_offset: r16 at cfa-8
+ DW_CFA_nop
+ DW_CFA_nop
-00000016 00000014 0000001a FDE cie=00000000 pc=0000001e..00000032
- DW_CFA_advance_loc: 7 to 00000025
+00000018 00000014 0000001c FDE cie=00000000 pc=00000020..00000034
+ DW_CFA_advance_loc: 7 to 00000027
DW_CFA_def_cfa_offset: 4668
- DW_CFA_advance_loc: 12 to 00000031
+ DW_CFA_advance_loc: 12 to 00000033
DW_CFA_def_cfa_offset: 8
-0000002e 00000019 00000032 FDE cie=00000000 pc=00000036..00000045
- DW_CFA_advance_loc: 1 to 00000037
+00000030 0000001c 00000034 FDE cie=00000000 pc=00000038..00000047
+ DW_CFA_advance_loc: 1 to 00000039
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 at cfa-16
- DW_CFA_advance_loc: 3 to 0000003a
+ DW_CFA_advance_loc: 3 to 0000003c
DW_CFA_def_cfa_reg: r6
- DW_CFA_advance_loc: 10 to 00000044
+ DW_CFA_advance_loc: 10 to 00000046
DW_CFA_def_cfa: r7 ofs 8
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
-0000004b 00000013 0000004f FDE cie=00000000 pc=00000053..00000066
- DW_CFA_advance_loc: 3 to 00000056
+00000050 00000014 00000054 FDE cie=00000000 pc=00000058..0000006b
+ DW_CFA_advance_loc: 3 to 0000005b
DW_CFA_def_cfa_reg: r12
- DW_CFA_advance_loc: 15 to 00000065
+ DW_CFA_advance_loc: 15 to 0000006a
DW_CFA_def_cfa_reg: r7
+ DW_CFA_nop
-00000062 0000000d 00000066 FDE cie=00000000 pc=0000006a..00000070
-
-00000073 00000011 00000077 FDE cie=00000000 pc=0000007b..0000008d
+00000068 00000010 0000006c FDE cie=00000000 pc=00000070..00000076
+ DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
+
+0000007c 00000010 00000080 FDE cie=00000000 pc=00000084..00000096
+ DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/gas/testsuite/gas/dlx/alltests.exp b/gas/testsuite/gas/dlx/alltests.exp
index 003448b..cee7f35 100644
--- a/gas/testsuite/gas/dlx/alltests.exp
+++ b/gas/testsuite/gas/dlx/alltests.exp
@@ -5,6 +5,7 @@ if [istarget dlx*-*-*] {
run_dump_test "itype"
run_dump_test "lhi"
run_dump_test "load"
+ run_dump_test "lohi"
run_dump_test "rtype"
run_dump_test "store"
}
diff --git a/gas/testsuite/gas/dlx/itype.d b/gas/testsuite/gas/dlx/itype.d
index 845ae41..1b8e92b 100644
--- a/gas/testsuite/gas/dlx/itype.d
+++ b/gas/testsuite/gas/dlx/itype.d
@@ -16,7 +16,7 @@ Disassembly of section .text:
12: R_DLX_RELOC_16 .text
14: 35 4c 00 78 ori r12,r10,0x0078
18: 39 af 00 00 xori r15,r13,0x0000
- 1a: R_DLX_RELOC_16 .text
+ 1a: R_DLX_RELOC_16_LO .text
1c: da 30 00 1c slli r16,r17,0x001c
1e: R_DLX_RELOC_16 .text
20: e2 93 00 0f srai r19,r20,0x000f
diff --git a/gas/testsuite/gas/dlx/lhi.d b/gas/testsuite/gas/dlx/lhi.d
index db3b35d..e855129 100644
--- a/gas/testsuite/gas/dlx/lhi.d
+++ b/gas/testsuite/gas/dlx/lhi.d
@@ -1,6 +1,6 @@
#as:
#objdump: -dr
-#name: itype
+#name: lhi
.*: +file format .*
@@ -11,7 +11,7 @@ Disassembly of section .text:
4: 3c 03 00 00 lhi r3,0x0000
6: R_DLX_RELOC_16_HI .text
8: 3c 04 00 00 lhi r4,0x0000
- a: R_DLX_RELOC_16 .text
+ a: R_DLX_RELOC_16_LO .text
c: 3c 04 ff fb lhi r4,0xfffb
e: R_DLX_RELOC_16 .text
10: 3c 04 00 0c lhi r4,0x000c
@@ -19,5 +19,5 @@ Disassembly of section .text:
18: 20 04 00 00 addi r4,r0,0x0000
1a: R_DLX_RELOC_16_HI .text
1c: 34 84 00 18 ori r4,r4,0x0018
- 1e: R_DLX_RELOC_16 .text
+ 1e: R_DLX_RELOC_16_LO .text
20: 20 64 00 00 addi r4,r3,0x0000
diff --git a/gas/testsuite/gas/dlx/lohi.d b/gas/testsuite/gas/dlx/lohi.d
new file mode 100644
index 0000000..f97ef35
--- /dev/null
+++ b/gas/testsuite/gas/dlx/lohi.d
@@ -0,0 +1,18 @@
+#as:
+#objdump: -dr
+#name: lohi
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: 00 00 00 00 nop
+ 4: 3c 01 00 03 lhi r1,0x0003
+ 6: R_DLX_RELOC_16_HI .text
+ 8: 34 01 0d 44 ori r1,r0,0x0d44
+ a: R_DLX_RELOC_16_LO .text
+ c: 3c 01 0b eb lhi r1,0x0beb
+ e: R_DLX_RELOC_16_HI .text
+ 10: 34 01 c2 04 ori r1,r0,0xc204
+ 12: R_DLX_RELOC_16_LO .text
diff --git a/gas/testsuite/gas/dlx/lohi.s b/gas/testsuite/gas/dlx/lohi.s
new file mode 100644
index 0000000..f88ad44
--- /dev/null
+++ b/gas/testsuite/gas/dlx/lohi.s
@@ -0,0 +1,9 @@
+ .text
+ .align 2
+ nop
+.L1:
+ lhi r1,%hi(.L1 + 200000)
+ ori r1,r0,%lo(.L1 + 200000)
+ lhi r1,%hi(.L1 + 200000000)
+ ori r1,r0,%lo(.L1 + 200000000)
+ .end
diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index f427482..4680dce 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -48,6 +48,10 @@ if { ([istarget "*-*-elf*"]
set target_machine -m32r
}
run_dump_test "ehopt0"
+ run_dump_test "group0a"
+ run_dump_test "group0b"
+ run_dump_test "group1a"
+ run_dump_test "group1b"
run_dump_test "section0"
run_dump_test "section1"
run_list_test "section2" "$target_machine" "-al" ""
diff --git a/gas/testsuite/gas/elf/group0.s b/gas/testsuite/gas/elf/group0.s
new file mode 100644
index 0000000..26bdda2
--- /dev/null
+++ b/gas/testsuite/gas/elf/group0.s
@@ -0,0 +1,4 @@
+ .section .foo,"axG",@progbits,.foo_group,comdat
+ .byte 1
+ .section .bar,"aG",@progbits,.foo_group,comdat
+ .byte 1
diff --git a/gas/testsuite/gas/elf/group0a.d b/gas/testsuite/gas/elf/group0a.d
new file mode 100644
index 0000000..9b2b967
--- /dev/null
+++ b/gas/testsuite/gas/elf/group0a.d
@@ -0,0 +1,9 @@
+#readelf: -SW
+#name: group section
+#source: group0.s
+
+#...
+[ ]*\[.*\][ ]+\.foo[ ]+PROGBITS.*[ ]+AXG[ ]+.*
+[ ]*\[.*\][ ]+\.bar[ ]+PROGBITS.*[ ]+AG[ ]+.*
+[ ]*\[.*\][ ]+\.foo_group[ ]+GROUP.*
+#pass
diff --git a/gas/testsuite/gas/elf/group0b.d b/gas/testsuite/gas/elf/group0b.d
new file mode 100644
index 0000000..847a86b
--- /dev/null
+++ b/gas/testsuite/gas/elf/group0b.d
@@ -0,0 +1,10 @@
+#readelf: -g
+#name: group section
+#source: group0.s
+
+#...
+COMDAT group section `.foo_group' \[.foo_group\] contains 2 sections:
+[ ]+\[Index\][ ]+Name
+[ ]+\[.*\][ ]+.foo
+[ ]+\[.*\][ ]+.bar
+#pass
diff --git a/gas/testsuite/gas/elf/group1.s b/gas/testsuite/gas/elf/group1.s
new file mode 100644
index 0000000..1645f0b
--- /dev/null
+++ b/gas/testsuite/gas/elf/group1.s
@@ -0,0 +1,2 @@
+ .section .text,"axG",@progbits,.foo_group,comdat
+ .byte 1
diff --git a/gas/testsuite/gas/elf/group1a.d b/gas/testsuite/gas/elf/group1a.d
new file mode 100644
index 0000000..2db4033
--- /dev/null
+++ b/gas/testsuite/gas/elf/group1a.d
@@ -0,0 +1,10 @@
+#readelf: -SW
+#name: group section with multiple sections of same name
+#source: group1.s
+
+#...
+[ ]*\[.*\][ ]+\.text[ ]+PROGBITS.*[ ]+AX[ ]+.*
+#...
+[ ]*\[.*\][ ]+\.text[ ]+PROGBITS.*[ ]+AXG[ ]+.*
+[ ]*\[.*\][ ]+\.foo_group[ ]+GROUP.*
+#pass
diff --git a/gas/testsuite/gas/elf/group1b.d b/gas/testsuite/gas/elf/group1b.d
new file mode 100644
index 0000000..c7e84e8
--- /dev/null
+++ b/gas/testsuite/gas/elf/group1b.d
@@ -0,0 +1,9 @@
+#readelf: -g
+#name: group section with multiple sections of same name
+#source: group1.s
+
+#...
+COMDAT group section `.foo_group' \[.foo_group\] contains 1 sections:
+[ ]+\[Index\][ ]+Name
+[ ]+\[.*\][ ]+.text
+#pass
diff --git a/gas/testsuite/gas/elf/section2.e-mips b/gas/testsuite/gas/elf/section2.e-mips
index d09ab19..8dd50a1 100644
--- a/gas/testsuite/gas/elf/section2.e-mips
+++ b/gas/testsuite/gas/elf/section2.e-mips
@@ -2,9 +2,9 @@
Symbol table '.symtab' contains 7 entries:
Num: Value[ ]* Size Type Bind Vis Ndx Name
0: 0+0 0 NOTYPE LOCAL DEFAULT UND
- 1: 0+0 0 SECTION LOCAL DEFAULT 1
- 2: 0+0 0 SECTION LOCAL DEFAULT 2
- 3: 0+0 0 SECTION LOCAL DEFAULT 3
- 4: 0+0 0 SECTION LOCAL DEFAULT 6
- 5: 0+0 0 SECTION LOCAL DEFAULT 4
- 6: 0+0 0 SECTION LOCAL DEFAULT 5
+ 1: 0+0 0 SECTION LOCAL DEFAULT 1 (|\.text)
+ 2: 0+0 0 SECTION LOCAL DEFAULT 2 (|\.data)
+ 3: 0+0 0 SECTION LOCAL DEFAULT 3 (|\.bss)
+ 4: 0+0 0 SECTION LOCAL DEFAULT 6 (|A)
+ 5: 0+0 0 SECTION LOCAL DEFAULT 4 (|\.reginfo)
+ 6: 0+0 0 SECTION LOCAL DEFAULT 5 (|\.pdr)
diff --git a/gas/testsuite/gas/elf/symver.d b/gas/testsuite/gas/elf/symver.d
index 67b8a4c..78bb618 100644
--- a/gas/testsuite/gas/elf/symver.d
+++ b/gas/testsuite/gas/elf/symver.d
@@ -3,6 +3,7 @@
#
# The #... and #pass are there to match extra symbols inserted by
# some toolchains, eg the mips-elf port will add .reginfo and .ptrd
+# and the arm-elf toolchain will add $d.
dump.o: file format .*
@@ -13,5 +14,6 @@ SYMBOL TABLE:
0+000 l.*d.*\.bss.*0+000.*
#...
0+000 l.*O.*\.data.*0+004 x
+#...
0+000 l.*O.*\.data.*0+004 x@VERS\.0
#pass
diff --git a/gas/testsuite/gas/frv/allinsn.d b/gas/testsuite/gas/frv/allinsn.d
index 5ff96af..7b96806 100644
--- a/gas/testsuite/gas/frv/allinsn.d
+++ b/gas/testsuite/gas/frv/allinsn.d
@@ -514,22 +514,22 @@ Disassembly of section .text:
2a0: 80 0c 19 41 stc cpr0,@\(sp,sp\)
000002a4 <rstb>:
- 2a4: 82 0c 18 01 rstb sp,@\(sp,sp\)
+ 2a4: 80 88 00 00 nop
000002a8 <rsth>:
- 2a8: 82 0c 18 41 rsth sp,@\(sp,sp\)
+ 2a8: 80 88 00 00 nop
000002ac <rst>:
- 2ac: 82 0c 18 81 rst sp,@\(sp,sp\)
+ 2ac: 80 88 00 00 nop
000002b0 <rstbf>:
- 2b0: 80 0c 1a 01 rstbf fr0,@\(sp,sp\)
+ 2b0: 80 88 00 00 nop
000002b4 <rsthf>:
- 2b4: 80 0c 1a 41 rsthf fr0,@\(sp,sp\)
+ 2b4: 80 88 00 00 nop
000002b8 <rstf>:
- 2b8: 80 0c 1a 81 rstf fr0,@\(sp,sp\)
+ 2b8: 80 88 00 00 nop
000002bc <std>:
2bc: 84 0c 10 c1 std fp,@\(sp,sp\)
@@ -541,10 +541,10 @@ Disassembly of section .text:
2c4: 80 0c 19 81 stdc cpr0,@\(sp,sp\)
000002c8 <rstd>:
- 2c8: 84 0c 18 c1 rstd fp,@\(sp,sp\)
+ 2c8: 80 88 00 00 nop
000002cc <rstdf>:
- 2cc: 80 0c 1a c1 rstdf fr0,@\(sp,sp\)
+ 2cc: 80 88 00 00 nop
000002d0 <stq>:
2d0: 82 0c 11 01 stq sp,@\(sp,sp\)
@@ -556,10 +556,10 @@ Disassembly of section .text:
2d8: 80 0c 19 c1 stqc cpr0,@\(sp,sp\)
000002dc <rstq>:
- 2dc: 82 0c 19 01 rstq sp,@\(sp,sp\)
+ 2dc: 80 88 00 00 nop
000002e0 <rstqf>:
- 2e0: 80 0c 1b 01 rstqf fr0,@\(sp,sp\)
+ 2e0: 80 88 00 00 nop
000002e4 <stbu>:
2e4: 82 0c 14 01 stbu sp,@\(sp,sp\)
diff --git a/gas/testsuite/gas/frv/allinsn.exp b/gas/testsuite/gas/frv/allinsn.exp
index a9fc965..8684e4c 100644
--- a/gas/testsuite/gas/frv/allinsn.exp
+++ b/gas/testsuite/gas/frv/allinsn.exp
@@ -1,8 +1,30 @@
# FRV assembler testsuite.
+proc run_list_test { name opts } {
+ global srcdir subdir
+ set testname "$name error test ($opts)"
+ gas_run $name.s $opts >&dump.out
+ if {[regexp_diff dump.out $srcdir/$subdir/$name.l]} {
+ fail $testname
+ verbose "output is [file_contents dump.out]" 2
+ return
+ }
+ pass $testname
+}
+
if [istarget frv*-*-*] {
run_dump_test "allinsn"
run_dump_test "fdpic"
run_dump_test "reloc1"
+ run_dump_test "fr405-insn"
+ run_list_test "fr405-insn" "-mcpu=fr400"
+ run_list_test "fr405-insn" "-mcpu=fr500"
+
+ run_dump_test "fr450-spr"
+ run_dump_test "fr450-insn"
+ run_list_test "fr450-insn" "-mcpu=fr405"
+ run_list_test "fr450-insn" "-mcpu=fr400"
+ run_list_test "fr450-insn" "-mcpu=fr500"
+ run_list_test "fr450-media-issue" "-mcpu=fr450"
}
diff --git a/gas/testsuite/gas/frv/allinsn.s b/gas/testsuite/gas/frv/allinsn.s
index 66aed2b..2657f03 100644
--- a/gas/testsuite/gas/frv/allinsn.s
+++ b/gas/testsuite/gas/frv/allinsn.s
@@ -681,27 +681,27 @@ stc:
.text
.global rstb
rstb:
- rstb sp,@(sp,sp)
+ nop
.text
.global rsth
rsth:
- rsth sp,@(sp,sp)
+ nop
.text
.global rst
rst:
- rst sp,@(sp,sp)
+ nop
.text
.global rstbf
rstbf:
- rstbf fr0,@(sp,sp)
+ nop
.text
.global rsthf
rsthf:
- rsthf fr0,@(sp,sp)
+ nop
.text
.global rstf
rstf:
- rstf fr0,@(sp,sp)
+ nop
.text
.global std
std:
@@ -717,11 +717,11 @@ stdc:
.text
.global rstd
rstd:
- rstd fp,@(sp,sp)
+ nop
.text
.global rstdf
rstdf:
- rstdf fr0,@(sp,sp)
+ nop
.text
.global stq
stq:
@@ -737,11 +737,11 @@ stqc:
.text
.global rstq
rstq:
- rstq sp,@(sp,sp)
+ nop
.text
.global rstqf
rstqf:
- rstqf fr0,@(sp,sp)
+ nop
.text
.global stbu
stbu:
diff --git a/gas/testsuite/gas/frv/fr405-insn.d b/gas/testsuite/gas/frv/fr405-insn.d
new file mode 100644
index 0000000..6cc848b
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr405-insn.d
@@ -0,0 +1,15 @@
+#as: -mcpu=fr405
+#objdump: -dr
+
+.*: file format elf32-frv
+
+Disassembly of section \.text:
+
+00000000 <.*>:
+.*: 81 18 41 45 smu gr4,gr5
+.*: 81 18 41 85 smass gr4,gr5
+.*: 81 18 41 c5 smsss gr4,gr5
+.*: 8d 18 40 85 slass gr4,gr5,gr6
+.*: 8b 18 01 04 scutss gr4,gr5
+.*: 8d 18 40 05 addss gr4,gr5,gr6
+.*: 8d 18 40 45 subss gr4,gr5,gr6
diff --git a/gas/testsuite/gas/frv/fr405-insn.l b/gas/testsuite/gas/frv/fr405-insn.l
new file mode 100644
index 0000000..8c84f80
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr405-insn.l
@@ -0,0 +1,8 @@
+.*: Assembler messages:
+.*:1: Error: Instruction not supported by this architecture
+.*:2: Error: Instruction not supported by this architecture
+.*:3: Error: Instruction not supported by this architecture
+.*:4: Error: Instruction not supported by this architecture
+.*:5: Error: Instruction not supported by this architecture
+.*:6: Error: Instruction not supported by this architecture
+.*:7: Error: Instruction not supported by this architecture
diff --git a/gas/testsuite/gas/frv/fr405-insn.s b/gas/testsuite/gas/frv/fr405-insn.s
new file mode 100644
index 0000000..acd5ea2
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr405-insn.s
@@ -0,0 +1,7 @@
+ smu gr4,gr5
+ smass gr4,gr5
+ smsss gr4,gr5
+ slass gr4,gr5,gr6
+ scutss gr4,gr5
+ addss gr4,gr5,gr6
+ subss gr4,gr5,gr6
diff --git a/gas/testsuite/gas/frv/fr450-insn.d b/gas/testsuite/gas/frv/fr450-insn.d
new file mode 100644
index 0000000..5739c89
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-insn.d
@@ -0,0 +1,41 @@
+#as: -mcpu=fr450
+#objdump: -dr
+
+.*: file format elf32-frv
+
+Disassembly of section \.text:
+
+00000000 <.*>:
+#
+.*: 80 0d f8 00 lrai gr31,gr0,0x0,0x0,0x0
+.*: be 0c 08 00 lrai gr0,gr31,0x0,0x0,0x0
+.*: 80 0c 08 20 lrai gr0,gr0,0x1,0x0,0x0
+.*: 80 0c 08 10 lrai gr0,gr0,0x0,0x1,0x0
+.*: 80 0c 08 08 lrai gr0,gr0,0x0,0x0,0x1
+#
+.*: 80 0d f8 40 lrad gr31,gr0,0x0,0x0,0x0
+.*: be 0c 08 40 lrad gr0,gr31,0x0,0x0,0x0
+.*: 80 0c 08 60 lrad gr0,gr0,0x1,0x0,0x0
+.*: 80 0c 08 50 lrad gr0,gr0,0x0,0x1,0x0
+.*: 80 0c 08 48 lrad gr0,gr0,0x0,0x0,0x1
+#
+.*: 80 0d f9 00 tlbpr gr31,gr0,0x0,0x0
+.*: 80 0c 09 1f tlbpr gr0,gr31,0x0,0x0
+.*: 9c 0c 09 00 tlbpr gr0,gr0,0x7,0x0
+.*: 82 0c 09 00 tlbpr gr0,gr0,0x0,0x1
+#
+.*: 81 e1 e4 00 mqlclrhs fr30,fr0,fr0
+.*: 81 e0 04 1e mqlclrhs fr0,fr30,fr0
+.*: bd e0 04 00 mqlclrhs fr0,fr0,fr30
+#
+.*: 81 e1 e5 00 mqlmths fr30,fr0,fr0
+.*: 81 e0 05 1e mqlmths fr0,fr30,fr0
+.*: bd e0 05 00 mqlmths fr0,fr0,fr30
+#
+.*: 81 e1 e4 40 mqsllhi fr30,0x0,fr0
+.*: 81 e0 04 7f mqsllhi fr0,0x3f,fr0
+.*: bd e0 04 40 mqsllhi fr0,0x0,fr30
+#
+.*: 81 e1 e4 c0 mqsrahi fr30,0x0,fr0
+.*: 81 e0 04 ff mqsrahi fr0,0x3f,fr0
+.*: bd e0 04 c0 mqsrahi fr0,0x0,fr30
diff --git a/gas/testsuite/gas/frv/fr450-insn.l b/gas/testsuite/gas/frv/fr450-insn.l
new file mode 100644
index 0000000..106a8f7
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-insn.l
@@ -0,0 +1,33 @@
+.*: Assembler messages:
+.*:1: Error: Instruction not supported by this architecture
+.*:2: Error: Instruction not supported by this architecture
+.*:3: Error: Instruction not supported by this architecture
+.*:4: Error: Instruction not supported by this architecture
+.*:5: Error: Instruction not supported by this architecture
+#
+.*:7: Error: Instruction not supported by this architecture
+.*:8: Error: Instruction not supported by this architecture
+.*:9: Error: Instruction not supported by this architecture
+.*:10: Error: Instruction not supported by this architecture
+.*:11: Error: Instruction not supported by this architecture
+#
+.*:13: Error: Instruction not supported by this architecture
+.*:14: Error: Instruction not supported by this architecture
+.*:15: Error: Instruction not supported by this architecture
+.*:16: Error: Instruction not supported by this architecture
+#
+.*:18: Error: Instruction not supported by this architecture
+.*:19: Error: Instruction not supported by this architecture
+.*:20: Error: Instruction not supported by this architecture
+#
+.*:22: Error: Instruction not supported by this architecture
+.*:23: Error: Instruction not supported by this architecture
+.*:24: Error: Instruction not supported by this architecture
+#
+.*:26: Error: Instruction not supported by this architecture
+.*:27: Error: Instruction not supported by this architecture
+.*:28: Error: Instruction not supported by this architecture
+#
+.*:30: Error: Instruction not supported by this architecture
+.*:31: Error: Instruction not supported by this architecture
+.*:32: Error: Instruction not supported by this architecture
diff --git a/gas/testsuite/gas/frv/fr450-insn.s b/gas/testsuite/gas/frv/fr450-insn.s
new file mode 100644
index 0000000..7224c30
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-insn.s
@@ -0,0 +1,32 @@
+ lrai gr31,gr0,#0,#0,#0
+ lrai gr0,gr31,#0,#0,#0
+ lrai gr0,gr0,#1,#0,#0
+ lrai gr0,gr0,#0,#1,#0
+ lrai gr0,gr0,#0,#0,#1
+
+ lrad gr31,gr0,#0,#0,#0
+ lrad gr0,gr31,#0,#0,#0
+ lrad gr0,gr0,#1,#0,#0
+ lrad gr0,gr0,#0,#1,#0
+ lrad gr0,gr0,#0,#0,#1
+
+ tlbpr gr31,gr0,#0,#0
+ tlbpr gr0,gr31,#0,#0
+ tlbpr gr0,gr0,#7,#0
+ tlbpr gr0,gr0,#0,#1
+
+ mqlclrhs fr30,fr0,fr0
+ mqlclrhs fr0,fr30,fr0
+ mqlclrhs fr0,fr0,fr30
+
+ mqlmths fr30,fr0,fr0
+ mqlmths fr0,fr30,fr0
+ mqlmths fr0,fr0,fr30
+
+ mqsllhi fr30,#0,fr0
+ mqsllhi fr0,#63,fr0
+ mqsllhi fr0,#0,fr30
+
+ mqsrahi fr30,#0,fr0
+ mqsrahi fr0,#63,fr0
+ mqsrahi fr0,#0,fr30
diff --git a/gas/testsuite/gas/frv/fr450-media-issue.l b/gas/testsuite/gas/frv/fr450-media-issue.l
new file mode 100644
index 0000000..6797021
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-media-issue.l
@@ -0,0 +1,31 @@
+.*: Assembler messages:
+.*:5: Error: VLIW packing constraint violation
+.*:9: Error: VLIW packing constraint violation
+.*:13: Error: VLIW packing constraint violation
+#
+.*:17: Error: VLIW packing constraint violation
+.*:19: Error: VLIW packing constraint violation
+.*:21: Error: VLIW packing constraint violation
+.*:23: Error: VLIW packing constraint violation
+.*:25: Error: VLIW packing constraint violation
+.*:27: Error: VLIW packing constraint violation
+#
+.*:33: Error: VLIW packing constraint violation
+.*:37: Error: VLIW packing constraint violation
+.*:41: Error: VLIW packing constraint violation
+#
+.*:45: Error: VLIW packing constraint violation
+.*:47: Error: VLIW packing constraint violation
+.*:49: Error: VLIW packing constraint violation
+.*:51: Error: VLIW packing constraint violation
+#
+.*:61: Error: VLIW packing constraint violation
+.*:65: Error: VLIW packing constraint violation
+.*:69: Error: VLIW packing constraint violation
+#
+.*:73: Error: VLIW packing constraint violation
+.*:75: Error: VLIW packing constraint violation
+.*:77: Error: VLIW packing constraint violation
+.*:79: Error: VLIW packing constraint violation
+.*:81: Error: VLIW packing constraint violation
+.*:83: Error: VLIW packing constraint violation
diff --git a/gas/testsuite/gas/frv/fr450-media-issue.s b/gas/testsuite/gas/frv/fr450-media-issue.s
new file mode 100644
index 0000000..e73fc98
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-media-issue.s
@@ -0,0 +1,83 @@
+ ; M-1 first
+ mand.p fr0,fr1,fr2 ; M1
+ mpackh fr4,fr5,fr6 ; M1 -- ok
+ mand.p fr0,fr1,fr2 ; M1
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mand.p fr0,fr1,fr2 ; M1
+ mmulhu fr4,fr6,acc8 ; M3 -- ok
+ mand.p fr0,fr1,fr2 ; M1
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mand.p fr0,fr1,fr2 ; M1
+ mcuti acc8,#2,fr8 ; M5 -- ok
+ mand.p fr0,fr1,fr2 ; M1
+ mdcutssi acc8,#2,fr8 ; M6 -- error
+
+ ; M-2 first
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mpackh fr4,fr5,fr6 ; M1 -- error
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mmulhu fr4,fr6,acc8 ; M3 -- error
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mcuti acc8,#2,fr8 ; M5 -- error
+ mqaddhss.p fr0,fr2,fr2 ; M2
+ mdcutssi acc8,#2,fr8 ; M6 -- error
+
+ ; M-3 first
+ mwtacc.p fr0,acc0 ; M3
+ mpackh fr4,fr5,fr6 ; M1 -- ok
+ mwtacc.p fr0,acc0 ; M3
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mwtacc.p fr0,acc0 ; M3
+ mmulhu fr4,fr6,acc8 ; M3 -- ok
+ mwtacc.p fr0,acc0 ; M3
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mwtacc.p fr0,acc0 ; M3
+ mcuti acc8,#2,fr8 ; M5 -- ok
+ mwtacc.p fr0,acc0 ; M3
+ mdcutssi acc8,#2,fr8 ; M6 -- error
+
+ ; M-4 first
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mpackh fr4,fr5,fr6 ; M1 -- error
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mmulhu fr4,fr6,acc8 ; M3 -- error
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mcuti acc8,#2,fr8 ; M5 -- ok
+ mqcpxrs.p fr0,fr2,acc0 ; M4
+ mdcutssi acc8,#2,fr8 ; M6 -- ok
+
+ ; M-5 first
+ mrdacc.p acc0,fr0 ; M5
+ mpackh fr4,fr5,fr6 ; M1 -- ok
+ mrdacc.p acc0,fr0 ; M5
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mrdacc.p acc0,fr0 ; M5
+ mmulhu fr4,fr6,acc8 ; M3 -- ok
+ mrdacc.p acc0,fr0 ; M5
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mrdacc.p acc0,fr0 ; M5
+ mcuti acc8,#2,fr8 ; M5 -- ok
+ mrdacc.p acc0,fr0 ; M5
+ mdcutssi acc8,#2,fr8 ; M6 -- error
+
+ ; M-6 first
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mpackh fr4,fr5,fr6 ; M1 -- error
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mcpli fr4,#1,fr6 ; M2 -- error
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mmulhu fr4,fr6,acc8 ; M3 -- error
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mqmulhu fr4,fr6,acc8 ; M4 -- error
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mcuti acc8,#2,fr8 ; M5 -- error
+ mdcutssi.p acc0,#3,fr0 ; M6
+ mdcutssi acc8,#2,fr8 ; M6 -- error
diff --git a/gas/testsuite/gas/frv/fr450-spr.d b/gas/testsuite/gas/frv/fr450-spr.d
new file mode 100644
index 0000000..85b1f09
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-spr.d
@@ -0,0 +1,107 @@
+#as: -mcpu=fr450
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+.* <\.text>:
+.*: 80 0c 01 84 movgs gr4,psr
+.*: 80 0c 11 84 movgs gr4,pcsr
+.*: 80 0c 21 84 movgs gr4,bpcsr
+.*: 80 0c 31 84 movgs gr4,tbr
+.*: 80 0c 41 84 movgs gr4,bpsr
+.*: 80 0d 01 84 movgs gr4,hsr0
+.*: 88 0c 01 84 movgs gr4,ccr
+.*: 88 0c 71 84 movgs gr4,cccr
+.*: 88 0d 01 84 movgs gr4,lr
+.*: 88 0d 11 84 movgs gr4,lcr
+.*: 88 0d 81 84 movgs gr4,iacc0h
+.*: 88 0d 91 84 movgs gr4,iacc0l
+.*: 88 0e 01 84 movgs gr4,isr
+.*: 90 0c 01 84 movgs gr4,epcr0
+.*: 92 0c 01 84 movgs gr4,esr0
+.*: 92 0c e1 84 movgs gr4,esr14
+.*: 92 0c f1 84 movgs gr4,esr15
+.*: 94 0e 11 84 movgs gr4,esfr1
+.*: 9a 0c 01 84 movgs gr4,scr0
+.*: 9a 0c 11 84 movgs gr4,scr1
+.*: 9a 0c 21 84 movgs gr4,scr2
+.*: 9a 0c 31 84 movgs gr4,scr3
+.*: a8 0c 01 84 movgs gr4,msr0
+.*: a8 0c 11 84 movgs gr4,msr1
+.*: b0 0c 01 84 movgs gr4,ear0
+.*: b0 0c f1 84 movgs gr4,ear15
+.*: b4 0c 01 84 movgs gr4,iamlr0
+.*: b4 0c 11 84 movgs gr4,iamlr1
+.*: b4 0c 21 84 movgs gr4,iamlr2
+.*: b4 0c 31 84 movgs gr4,iamlr3
+.*: b4 0c 41 84 movgs gr4,iamlr4
+.*: b4 0c 51 84 movgs gr4,iamlr5
+.*: b4 0c 61 84 movgs gr4,iamlr6
+.*: b4 0c 71 84 movgs gr4,iamlr7
+.*: b6 0c 01 84 movgs gr4,iampr0
+.*: b6 0c 11 84 movgs gr4,iampr1
+.*: b6 0c 21 84 movgs gr4,iampr2
+.*: b6 0c 31 84 movgs gr4,iampr3
+.*: b6 0c 41 84 movgs gr4,iampr4
+.*: b6 0c 51 84 movgs gr4,iampr5
+.*: b6 0c 61 84 movgs gr4,iampr6
+.*: b6 0c 71 84 movgs gr4,iampr7
+.*: b8 0c 01 84 movgs gr4,damlr0
+.*: b8 0c 11 84 movgs gr4,damlr1
+.*: b8 0c 21 84 movgs gr4,damlr2
+.*: b8 0c 31 84 movgs gr4,damlr3
+.*: b8 0c 41 84 movgs gr4,damlr4
+.*: b8 0c 51 84 movgs gr4,damlr5
+.*: b8 0c 61 84 movgs gr4,damlr6
+.*: b8 0c 71 84 movgs gr4,damlr7
+.*: b8 0c 81 84 movgs gr4,damlr8
+.*: b8 0c 91 84 movgs gr4,damlr9
+.*: b8 0c a1 84 movgs gr4,damlr10
+.*: b8 0c b1 84 movgs gr4,damlr11
+.*: ba 0c 01 84 movgs gr4,dampr0
+.*: ba 0c 11 84 movgs gr4,dampr1
+.*: ba 0c 21 84 movgs gr4,dampr2
+.*: ba 0c 31 84 movgs gr4,dampr3
+.*: ba 0c 41 84 movgs gr4,dampr4
+.*: ba 0c 51 84 movgs gr4,dampr5
+.*: ba 0c 61 84 movgs gr4,dampr6
+.*: ba 0c 71 84 movgs gr4,dampr7
+.*: ba 0c 81 84 movgs gr4,dampr8
+.*: ba 0c 91 84 movgs gr4,dampr9
+.*: ba 0c a1 84 movgs gr4,dampr10
+.*: ba 0c b1 84 movgs gr4,dampr11
+.*: bc 0c 01 84 movgs gr4,amcr
+.*: bc 0c 51 84 movgs gr4,iamvr1
+.*: bc 0c 71 84 movgs gr4,damvr1
+.*: bc 0d 01 84 movgs gr4,cxnr
+.*: bc 0d 11 84 movgs gr4,ttbr
+.*: bc 0d 21 84 movgs gr4,tplr
+.*: bc 0d 31 84 movgs gr4,tppr
+.*: bc 0d 41 84 movgs gr4,tpxr
+.*: bc 0e 01 84 movgs gr4,timerh
+.*: bc 0e 11 84 movgs gr4,timerl
+.*: bc 0e 21 84 movgs gr4,timerd
+.*: c0 0c 01 84 movgs gr4,dcr
+.*: c0 0c 11 84 movgs gr4,brr
+.*: c0 0c 21 84 movgs gr4,nmar
+.*: c0 0c 31 84 movgs gr4,btbr
+.*: c0 0c 41 84 movgs gr4,ibar0
+.*: c0 0c 51 84 movgs gr4,ibar1
+.*: c0 0c 61 84 movgs gr4,ibar2
+.*: c0 0c 71 84 movgs gr4,ibar3
+.*: c0 0c 81 84 movgs gr4,dbar0
+.*: c0 0c 91 84 movgs gr4,dbar1
+.*: c0 0c a1 84 movgs gr4,dbar2
+.*: c0 0c b1 84 movgs gr4,dbar3
+.*: c0 0c c1 84 movgs gr4,dbdr00
+.*: c0 0c d1 84 movgs gr4,dbdr01
+.*: c0 0c e1 84 movgs gr4,dbdr02
+.*: c0 0c f1 84 movgs gr4,dbdr03
+.*: c0 0d 01 84 movgs gr4,dbdr10
+.*: c0 0d 11 84 movgs gr4,dbdr11
+.*: c0 0d c1 84 movgs gr4,dbmr00
+.*: c0 0d d1 84 movgs gr4,dbmr01
+.*: c0 0e 01 84 movgs gr4,dbmr10
+.*: c0 0e 11 84 movgs gr4,dbmr11
diff --git a/gas/testsuite/gas/frv/fr450-spr.s b/gas/testsuite/gas/frv/fr450-spr.s
new file mode 100644
index 0000000..2be3ba6
--- /dev/null
+++ b/gas/testsuite/gas/frv/fr450-spr.s
@@ -0,0 +1,99 @@
+ movgs gr4, psr ; 0x000 00000
+ movgs gr4, pcsr ; 0x001 00001
+ movgs gr4, bpcsr ; 0x002 00002
+ movgs gr4, tbr ; 0x003 00003
+ movgs gr4, bpsr ; 0x004 00004
+ movgs gr4, hsr0 ; 0x010 00020
+ movgs gr4, ccr ; 0x100 00400
+ movgs gr4, cccr ; 0x107 00407
+ movgs gr4, lr ; 0x110 00420
+ movgs gr4, lcr ; 0x111 00421
+ movgs gr4, iacc0h ; 0x118 00430
+ movgs gr4, iacc0l ; 0x119 00431
+ movgs gr4, isr ; 0x120 00440
+ movgs gr4, epcr0 ; 0x200 01000
+ movgs gr4, esr0 ; 0x240 01100
+ movgs gr4, esr14 ; 0x24e 01116
+ movgs gr4, esr15 ; 0x24f 01117
+ movgs gr4, esfr1 ; 0x2a1 01241
+ movgs gr4, scr0 ; 0x340 01500
+ movgs gr4, scr1 ; 0x341 01501
+ movgs gr4, scr2 ; 0x342 01502
+ movgs gr4, scr3 ; 0x343 01503
+ movgs gr4, msr0 ; 0x500 02400
+ movgs gr4, msr1 ; 0x501 02401
+ movgs gr4, ear0 ; 0x600 03000
+ movgs gr4, ear15 ; 0x60f 03017
+ movgs gr4, iamlr0 ; 0x680 03200
+ movgs gr4, iamlr1 ; 0x681 03201
+ movgs gr4, iamlr2 ; 0x682 03202
+ movgs gr4, iamlr3 ; 0x683 03203
+ movgs gr4, iamlr4 ; 0x684 03204
+ movgs gr4, iamlr5 ; 0x685 03205
+ movgs gr4, iamlr6 ; 0x686 03206
+ movgs gr4, iamlr7 ; 0x687 03207
+ movgs gr4, iampr0 ; 0x6c0 03300
+ movgs gr4, iampr1 ; 0x6c1 03301
+ movgs gr4, iampr2 ; 0x6c2 03302
+ movgs gr4, iampr3 ; 0x6c3 03303
+ movgs gr4, iampr4 ; 0x6c4 03304
+ movgs gr4, iampr5 ; 0x6c5 03305
+ movgs gr4, iampr6 ; 0x6c6 03306
+ movgs gr4, iampr7 ; 0x6c7 03307
+ movgs gr4, damlr0 ; 0x700 03400
+ movgs gr4, damlr1 ; 0x701 03401
+ movgs gr4, damlr2 ; 0x702 03402
+ movgs gr4, damlr3 ; 0x703 03403
+ movgs gr4, damlr4 ; 0x704 03404
+ movgs gr4, damlr5 ; 0x705 03405
+ movgs gr4, damlr6 ; 0x706 03406
+ movgs gr4, damlr7 ; 0x707 03407
+ movgs gr4, damlr8 ; 0x708 03410
+ movgs gr4, damlr9 ; 0x709 03411
+ movgs gr4, damlr10 ; 0x70a 03412
+ movgs gr4, damlr11 ; 0x70b 03413
+ movgs gr4, dampr0 ; 0x740 03500
+ movgs gr4, dampr1 ; 0x741 03501
+ movgs gr4, dampr2 ; 0x742 03502
+ movgs gr4, dampr3 ; 0x743 03503
+ movgs gr4, dampr4 ; 0x744 03504
+ movgs gr4, dampr5 ; 0x745 03505
+ movgs gr4, dampr6 ; 0x746 03506
+ movgs gr4, dampr7 ; 0x747 03507
+ movgs gr4, dampr8 ; 0x748 03510
+ movgs gr4, dampr9 ; 0x749 03511
+ movgs gr4, dampr10 ; 0x74a 03512
+ movgs gr4, dampr11 ; 0x74b 03513
+ movgs gr4, amcr ; 0x780 03600
+ movgs gr4, iamvr1 ; 0x785 03605
+ movgs gr4, damvr1 ; 0x787 03607
+ movgs gr4, cxnr ; 0x790 03620
+ movgs gr4, ttbr ; 0x791 03621
+ movgs gr4, tplr ; 0x792 03622
+ movgs gr4, tppr ; 0x793 03623
+ movgs gr4, tpxr ; 0x794 03624
+ movgs gr4, timerh ; 0x7a0 03640
+ movgs gr4, timerl ; 0x7a1 03641
+ movgs gr4, timerd ; 0x7a2 03642
+ movgs gr4, dcr ; 0x800 04000
+ movgs gr4, brr ; 0x801 04001
+ movgs gr4, nmar ; 0x802 04002
+ movgs gr4, btbr ; 0x803 04003
+ movgs gr4, ibar0 ; 0x804 04004
+ movgs gr4, ibar1 ; 0x805 04005
+ movgs gr4, ibar2 ; 0x806 04006
+ movgs gr4, ibar3 ; 0x807 04007
+ movgs gr4, dbar0 ; 0x808 04010
+ movgs gr4, dbar1 ; 0x809 04011
+ movgs gr4, dbar2 ; 0x80A 04012
+ movgs gr4, dbar3 ; 0x80B 04013
+ movgs gr4, dbdr00 ; 0x80C 04014
+ movgs gr4, dbdr01 ; 0x80D 04015
+ movgs gr4, dbdr02 ; 0x80E 04016
+ movgs gr4, dbdr03 ; 0x80F 04017
+ movgs gr4, dbdr10 ; 0x810 04020
+ movgs gr4, dbdr11 ; 0x811 04021
+ movgs gr4, dbmr00 ; 0x81C 04034
+ movgs gr4, dbmr01 ; 0x81D 04035
+ movgs gr4, dbmr10 ; 0x820 04040
+ movgs gr4, dbmr11 ; 0x821 04041
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 3ccb7e2..946cf9e 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -88,6 +88,13 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_dump_test "tlsnopic"
}
+ # This is a PE specific test.
+ if { [istarget "*-*-cygwin*"] || [istarget "*-*-pe"]
+ || [istarget "*-*-mingw*"]
+ } then {
+ run_dump_test "secrel"
+ }
+
set ASFLAGS "$old_ASFLAGS"
}
diff --git a/gas/testsuite/gas/i386/secrel.d b/gas/testsuite/gas/i386/secrel.d
new file mode 100644
index 0000000..7df55f7
--- /dev/null
+++ b/gas/testsuite/gas/i386/secrel.d
@@ -0,0 +1,43 @@
+#objdump: -rs
+#name: i386 secrel reloc
+
+.*: +file format pe-i386
+
+RELOCATION RECORDS FOR \[\.data\]:
+OFFSET TYPE VALUE
+00000024 secrel32 \.text
+00000029 secrel32 \.text
+0000002e secrel32 \.text
+00000033 secrel32 \.text
+00000044 secrel32 \.data
+00000049 secrel32 \.data
+0000004e secrel32 \.data
+00000053 secrel32 \.data
+00000064 secrel32 \.rdata
+00000069 secrel32 \.rdata
+0000006e secrel32 \.rdata
+00000073 secrel32 \.rdata
+00000084 secrel32 ext24
+00000089 secrel32 ext2d
+0000008e secrel32 ext36
+00000093 secrel32 ext3f
+
+
+Contents of section \.text:
+ 0000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
+ 0010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
+Contents of section \.data:
+ 0000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
+ 0010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
+ 0020 3e3e3e3e 04000000 110d0000 00111600 >>>>............
+ 0030 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
+ 0040 3e3e3e3e 04000000 110d0000 00111600 >>>>............
+ 0050 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
+ 0060 3e3e3e3e 04000000 110d0000 00111600 >>>>............
+ 0070 0000111f 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
+ 0080 3e3e3e3e 00000000 11000000 00110000 >>>>............
+ 0090 00001100 00000011 3c3c3c3c 3c3c3c3c ........<<<<<<<<
+Contents of section \.rdata:
+ 0000 3e3e3e3e 3c3c3c3c 3e3e3e3e 3e3c3c3c >>>><<<<>>>>><<<
+ 0010 3e3e3e3e 3e3e3c3c 3e3e3e3e 3e3e3e3c >>>>>><<>>>>>>><
+ 0020 3e3e3e3e >>>>
diff --git a/gas/testsuite/gas/i386/secrel.s b/gas/testsuite/gas/i386/secrel.s
new file mode 100644
index 0000000..eaf59cd
--- /dev/null
+++ b/gas/testsuite/gas/i386/secrel.s
@@ -0,0 +1,77 @@
+.text
+
+ .ascii ">>>>"
+pre04: .ascii "<<<<"
+ .ascii ">>>>>"
+pre0d: .ascii "<<<"
+ .ascii ">>>>>>"
+pre16: .ascii "<<"
+ .ascii ">>>>>>>"
+pre1f: .ascii "<"
+
+.data
+
+ .ascii ">>>>"
+sam04: .ascii "<<<<"
+ .ascii ">>>>>"
+sam0d: .ascii "<<<"
+ .ascii ">>>>>>"
+sam16: .ascii "<<"
+ .ascii ">>>>>>>"
+sam1f: .ascii "<"
+
+ .ascii ">>>>"
+ .secrel32 pre04
+ .byte 0x11
+ .secrel32 pre0d
+ .byte 0x11
+ .secrel32 pre16
+ .byte 0x11
+ .secrel32 pre1f
+ .byte 0x11
+ .ascii "<<<<<<<<"
+
+ .ascii ">>>>"
+ .secrel32 sam04
+ .byte 0x11
+ .secrel32 sam0d
+ .byte 0x11
+ .secrel32 sam16
+ .byte 0x11
+ .secrel32 sam1f
+ .byte 0x11
+ .ascii "<<<<<<<<"
+
+ .ascii ">>>>"
+ .secrel32 nex04
+ .byte 0x11
+ .secrel32 nex0d
+ .byte 0x11
+ .secrel32 nex16
+ .byte 0x11
+ .secrel32 nex1f
+ .byte 0x11
+ .ascii "<<<<<<<<"
+
+ .ascii ">>>>"
+ .secrel32 ext24
+ .byte 0x11
+ .secrel32 ext2d
+ .byte 0x11
+ .secrel32 ext36
+ .byte 0x11
+ .secrel32 ext3f
+ .byte 0x11
+ .ascii "<<<<<<<<"
+
+.section .rdata
+
+ .ascii ">>>>"
+nex04: .ascii "<<<<"
+ .ascii ">>>>>"
+nex0d: .ascii "<<<"
+ .ascii ">>>>>>"
+nex16: .ascii "<<"
+ .ascii ">>>>>>>"
+nex1f: .ascii "<"
+ .ascii ">>>>"
diff --git a/gas/testsuite/gas/i860/dir-intel03-err.l b/gas/testsuite/gas/i860/dir-intel03-err.l
index 480e1ae..b826128 100644
--- a/gas/testsuite/gas/i860/dir-intel03-err.l
+++ b/gas/testsuite/gas/i860/dir-intel03-err.l
@@ -1,5 +1,5 @@
.*: Assembler messages:
.*:8: Error: Directive .atmp available only with -mintel-syntax option
-.*:8: Warning: rest of line ignored; first ignored character is `r'
+.*:8: Error: junk at end of line, first unrecognized character is `r'
.*:10: Error: Directive .dual available only with -mintel-syntax option
.*:13: Error: Directive .enddual available only with -mintel-syntax option
diff --git a/gas/testsuite/gas/m32r/m32r.exp b/gas/testsuite/gas/m32r/m32r.exp
index 0ac272b..353f738 100644
--- a/gas/testsuite/gas/m32r/m32r.exp
+++ b/gas/testsuite/gas/m32r/m32r.exp
@@ -6,4 +6,5 @@ if [istarget m32r*-*-*] {
run_dump_test "uppercase"
run_dump_test "fslot"
run_dump_test "signed-relocs"
+ run_dump_test "seth"
}
diff --git a/gas/testsuite/gas/m32r/m32r2.exp b/gas/testsuite/gas/m32r/m32r2.exp
index 03a160a..f5f7415 100644
--- a/gas/testsuite/gas/m32r/m32r2.exp
+++ b/gas/testsuite/gas/m32r/m32r2.exp
@@ -2,4 +2,5 @@
if [istarget m32r*-*-*] {
run_dump_test "m32r2"
+ run_dump_test "parallel-2"
}
diff --git a/gas/testsuite/gas/m32r/parallel-2.d b/gas/testsuite/gas/m32r/parallel-2.d
new file mode 100644
index 0000000..5638c33
--- /dev/null
+++ b/gas/testsuite/gas/m32r/parallel-2.d
@@ -0,0 +1,10 @@
+#as: -m32r2 -O
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+0000 <test>:
+ 0: 04 a5 24 46 add r4,r5 -> st r4,@r6
+ 4: 7c ff c6 04 bc 0 <test> \|\| addi r6,[#]4
diff --git a/gas/testsuite/gas/m32r/parallel-2.s b/gas/testsuite/gas/m32r/parallel-2.s
new file mode 100644
index 0000000..7ea40c2
--- /dev/null
+++ b/gas/testsuite/gas/m32r/parallel-2.s
@@ -0,0 +1,7 @@
+ .text
+test:
+ add r4,r5
+ st r4,@(r6)
+ addi r6,#4
+ .debugsym .LM568
+ bc.s test
diff --git a/gas/testsuite/gas/m32r/seth.d b/gas/testsuite/gas/m32r/seth.d
new file mode 100644
index 0000000..fd792e5
--- /dev/null
+++ b/gas/testsuite/gas/m32r/seth.d
@@ -0,0 +1,8 @@
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+000 <.text>:
+ 0: d0 c0 00 00 seth r0,[#]0x0
diff --git a/gas/testsuite/gas/m32r/seth.s b/gas/testsuite/gas/m32r/seth.s
new file mode 100644
index 0000000..32160a3
--- /dev/null
+++ b/gas/testsuite/gas/m32r/seth.s
@@ -0,0 +1,3 @@
+ .text
+ seth r0, #shigh(0xffff8000)
+ .end
diff --git a/gas/testsuite/gas/m68hc11/m68hc11.exp b/gas/testsuite/gas/m68hc11/m68hc11.exp
index 2bfa880..868241a 100644
--- a/gas/testsuite/gas/m68hc11/m68hc11.exp
+++ b/gas/testsuite/gas/m68hc11/m68hc11.exp
@@ -161,7 +161,7 @@ setup_xfail m6812-*-*
gas_m68hc11_warning "" ".mode \"bar\"\n" "Invalid mode: .bar."
gas_m68hc11_error "" ".relax 23\n" "bad .relax format"
gas_m68hc11_error "" ".relax bar-23\n" "bad .relax format"
-gas_m68hc11_warning "" ".far bar bar\n" "rest of line ignored"
+gas_m68hc11_error "" ".far bar bar\n" "junk at end of line"
run_dump_test insns
diff --git a/gas/testsuite/gas/m68k/all.exp b/gas/testsuite/gas/m68k/all.exp
index d28f9f6..c98179c 100644
--- a/gas/testsuite/gas/m68k/all.exp
+++ b/gas/testsuite/gas/m68k/all.exp
@@ -35,6 +35,8 @@ if [istarget m68*-*-*] then {
run_dump_test link
run_dump_test fmoveml
run_dump_test mcf-mov3q
+ run_dump_test mcf-mac
+ run_dump_test mcf-emac
set testname "68000 operands"
gas_run "operands.s" "-m68000" "2>err.out"
diff --git a/gas/testsuite/gas/m68k/mcf-emac.d b/gas/testsuite/gas/m68k/mcf-emac.d
new file mode 100644
index 0000000..aa7e562
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-emac.d
@@ -0,0 +1,6538 @@
+#name: mcf-emac
+#objdump: -d --architecture=m68k:cfv4e
+#as: -mcfv4e
+
+.*: file format .*
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: a241 0280 macw %d1l,%a1u,<<,%acc0
+ 4: aad1 0280 macw %d1u,%a5u,<<,%a1@,%a5,%acc1
+ 8: a6d5 02a0 macw %d5u,%a3u,>>,%a5@&,%a3,%acc1
+ c: a13c 00bc 614e movel #12345678,%acc0
+ 12: a301 movel %d1,%acc1
+ 14: a33c 00bc 614e movel #12345678,%acc1
+ 1a: a53c 00bc 614e movel #12345678,%acc2
+ 20: a309 movel %a1,%acc1
+ 22: a73c 00bc 614e movel #12345678,%acc3
+ 28: a8c3 0640 macw %d3u,%a4l,,%acc0
+ 2c: acc5 0040 macw %d5u,%fpl,%acc0
+ 30: a602 0800 macl %d2,%d3,%acc0
+ 34: a682 0800 macl %d2,%d3,%acc0
+ 38: a602 0810 macl %d2,%d3,%acc2
+ 3c: a682 0810 macl %d2,%d3,%acc2
+ 40: a1c1 movclrl %acc0,%d1
+ 42: a3ca movclrl %acc1,%a2
+ 44: a5c3 movclrl %acc2,%d3
+ 46: a7cd movclrl %acc3,%a5
+ 48: a381 movel %acc1,%d1
+ 4a: a78b movel %acc3,%a3
+ 4c: a185 movel %acc0,%d5
+ 4e: a38f movel %acc1,%sp
+ 50: a110 movel %acc1,%acc0
+ 52: a310 movel %acc3,%acc1
+ 54: a510 movel %acc1,%acc2
+ 56: a710 movel %acc3,%acc3
+ 58: a111 movel %acc1,%acc0
+ 5a: a311 movel %acc3,%acc1
+ 5c: a511 movel %acc1,%acc2
+ 5e: a711 movel %acc3,%acc3
+ 60: a112 movel %acc1,%acc0
+ 62: a312 movel %acc3,%acc1
+ 64: a512 movel %acc1,%acc2
+ 66: a712 movel %acc3,%acc3
+ 68: a113 movel %acc1,%acc0
+ 6a: a313 movel %acc3,%acc1
+ 6c: a513 movel %acc1,%acc2
+ 6e: a713 movel %acc3,%acc3
+ 70: ab88 movel %accext23,%a0
+ 72: af8f movel %accext23,%sp
+ 74: a180 movel %acc0,%d0
+ 76: a389 movel %acc1,%a1
+ 78: a582 movel %acc2,%d2
+ 7a: a78b movel %acc3,%a3
+ 7c: a4c9 0080 macw %a1l,%a2u,%acc0
+ 80: a449 0090 macw %a1l,%a2u,%acc2
+ 84: a4c9 0280 macw %a1l,%a2u,,%acc0
+ 88: a449 0290 macw %a1l,%a2u,,%acc2
+ 8c: a4c9 0680 macw %a1l,%a2u,,%acc0
+ 90: a449 0690 macw %a1l,%a2u,,%acc2
+ 94: a4c9 0280 macw %a1l,%a2u,,%acc0
+ 98: a449 0290 macw %a1l,%a2u,,%acc2
+ 9c: a4c9 0680 macw %a1l,%a2u,,%acc0
+ a0: a449 0690 macw %a1l,%a2u,,%acc2
+ a4: a689 0000 macw %a1l,%d3l,%acc0
+ a8: a609 0010 macw %a1l,%d3l,%acc2
+ ac: a689 0200 macw %a1l,%d3l,>>,%acc0
+ b0: a609 0210 macw %a1l,%d3l,>>,%acc2
+ b4: a689 0600 macw %a1l,%d3l,>>,%acc0
+ b8: a609 0610 macw %a1l,%d3l,>>,%acc2
+ bc: a689 0200 macw %a1l,%d3l,>>,%acc0
+ c0: a609 0210 macw %a1l,%d3l,>>,%acc2
+ c4: a689 0600 macw %a1l,%d3l,>>,%acc0
+ c8: a609 0610 macw %a1l,%d3l,>>,%acc2
+ cc: aec9 0080 macw %a1l,%spu,%acc0
+ d0: ae49 0090 macw %a1l,%spu,%acc2
+ d4: aec9 0280 macw %a1l,%spu,>>,%acc0
+ d8: ae49 0290 macw %a1l,%spu,>>,%acc2
+ dc: aec9 0680 macw %a1l,%spu,>>,%acc0
+ e0: ae49 0690 macw %a1l,%spu,>>,%acc2
+ e4: aec9 0280 macw %a1l,%spu,>>,%acc0
+ e8: ae49 0290 macw %a1l,%spu,>>,%acc2
+ ec: aec9 0680 macw %a1l,%spu,>>,%acc0
+ f0: ae49 0690 macw %a1l,%spu,>>,%acc2
+ f4: a289 0000 macw %a1l,%d1l,%acc0
+ f8: a209 0010 macw %a1l,%d1l,%acc2
+ fc: a289 0200 macw %a1l,%d1l,<<,%acc0
+ 100: a209 0210 macw %a1l,%d1l,<<,%acc2
+ 104: a289 0600 macw %a1l,%d1l,<<,%acc0
+ 108: a209 0610 macw %a1l,%d1l,<<,%acc2
+ 10c: a289 0200 macw %a1l,%d1l,<<,%acc0
+ 110: a209 0210 macw %a1l,%d1l,<<,%acc2
+ 114: a289 0600 macw %a1l,%d1l,<<,%acc0
+ 118: a209 0610 macw %a1l,%d1l,<<,%acc2
+ 11c: a4c2 00c0 macw %d2u,%a2u,%acc0
+ 120: a442 00d0 macw %d2u,%a2u,%acc2
+ 124: a4c2 02c0 macw %d2u,%a2u,,%acc0
+ 128: a442 02d0 macw %d2u,%a2u,,%acc2
+ 12c: a4c2 06c0 macw %d2u,%a2u,,%acc0
+ 130: a442 06d0 macw %d2u,%a2u,,%acc2
+ 134: a4c2 02c0 macw %d2u,%a2u,,%acc0
+ 138: a442 02d0 macw %d2u,%a2u,,%acc2
+ 13c: a4c2 06c0 macw %d2u,%a2u,,%acc0
+ 140: a442 06d0 macw %d2u,%a2u,,%acc2
+ 144: a682 0040 macw %d2u,%d3l,%acc0
+ 148: a602 0050 macw %d2u,%d3l,%acc2
+ 14c: a682 0240 macw %d2u,%d3l,>>,%acc0
+ 150: a602 0250 macw %d2u,%d3l,>>,%acc2
+ 154: a682 0640 macw %d2u,%d3l,>>,%acc0
+ 158: a602 0650 macw %d2u,%d3l,>>,%acc2
+ 15c: a682 0240 macw %d2u,%d3l,>>,%acc0
+ 160: a602 0250 macw %d2u,%d3l,>>,%acc2
+ 164: a682 0640 macw %d2u,%d3l,>>,%acc0
+ 168: a602 0650 macw %d2u,%d3l,>>,%acc2
+ 16c: aec2 00c0 macw %d2u,%spu,%acc0
+ 170: ae42 00d0 macw %d2u,%spu,%acc2
+ 174: aec2 02c0 macw %d2u,%spu,>>,%acc0
+ 178: ae42 02d0 macw %d2u,%spu,>>,%acc2
+ 17c: aec2 06c0 macw %d2u,%spu,>>,%acc0
+ 180: ae42 06d0 macw %d2u,%spu,>>,%acc2
+ 184: aec2 02c0 macw %d2u,%spu,>>,%acc0
+ 188: ae42 02d0 macw %d2u,%spu,>>,%acc2
+ 18c: aec2 06c0 macw %d2u,%spu,>>,%acc0
+ 190: ae42 06d0 macw %d2u,%spu,>>,%acc2
+ 194: a282 0040 macw %d2u,%d1l,%acc0
+ 198: a202 0050 macw %d2u,%d1l,%acc2
+ 19c: a282 0240 macw %d2u,%d1l,<<,%acc0
+ 1a0: a202 0250 macw %d2u,%d1l,<<,%acc2
+ 1a4: a282 0640 macw %d2u,%d1l,<<,%acc0
+ 1a8: a202 0650 macw %d2u,%d1l,<<,%acc2
+ 1ac: a282 0240 macw %d2u,%d1l,<<,%acc0
+ 1b0: a202 0250 macw %d2u,%d1l,<<,%acc2
+ 1b4: a282 0640 macw %d2u,%d1l,<<,%acc0
+ 1b8: a202 0650 macw %d2u,%d1l,<<,%acc2
+ 1bc: a4cd 0080 macw %a5l,%a2u,%acc0
+ 1c0: a44d 0090 macw %a5l,%a2u,%acc2
+ 1c4: a4cd 0280 macw %a5l,%a2u,,%acc0
+ 1c8: a44d 0290 macw %a5l,%a2u,,%acc2
+ 1cc: a4cd 0680 macw %a5l,%a2u,,%acc0
+ 1d0: a44d 0690 macw %a5l,%a2u,,%acc2
+ 1d4: a4cd 0280 macw %a5l,%a2u,,%acc0
+ 1d8: a44d 0290 macw %a5l,%a2u,,%acc2
+ 1dc: a4cd 0680 macw %a5l,%a2u,,%acc0
+ 1e0: a44d 0690 macw %a5l,%a2u,,%acc2
+ 1e4: a68d 0000 macw %a5l,%d3l,%acc0
+ 1e8: a60d 0010 macw %a5l,%d3l,%acc2
+ 1ec: a68d 0200 macw %a5l,%d3l,>>,%acc0
+ 1f0: a60d 0210 macw %a5l,%d3l,>>,%acc2
+ 1f4: a68d 0600 macw %a5l,%d3l,>>,%acc0
+ 1f8: a60d 0610 macw %a5l,%d3l,>>,%acc2
+ 1fc: a68d 0200 macw %a5l,%d3l,>>,%acc0
+ 200: a60d 0210 macw %a5l,%d3l,>>,%acc2
+ 204: a68d 0600 macw %a5l,%d3l,>>,%acc0
+ 208: a60d 0610 macw %a5l,%d3l,>>,%acc2
+ 20c: aecd 0080 macw %a5l,%spu,%acc0
+ 210: ae4d 0090 macw %a5l,%spu,%acc2
+ 214: aecd 0280 macw %a5l,%spu,>>,%acc0
+ 218: ae4d 0290 macw %a5l,%spu,>>,%acc2
+ 21c: aecd 0680 macw %a5l,%spu,>>,%acc0
+ 220: ae4d 0690 macw %a5l,%spu,>>,%acc2
+ 224: aecd 0280 macw %a5l,%spu,>>,%acc0
+ 228: ae4d 0290 macw %a5l,%spu,>>,%acc2
+ 22c: aecd 0680 macw %a5l,%spu,>>,%acc0
+ 230: ae4d 0690 macw %a5l,%spu,>>,%acc2
+ 234: a28d 0000 macw %a5l,%d1l,%acc0
+ 238: a20d 0010 macw %a5l,%d1l,%acc2
+ 23c: a28d 0200 macw %a5l,%d1l,<<,%acc0
+ 240: a20d 0210 macw %a5l,%d1l,<<,%acc2
+ 244: a28d 0600 macw %a5l,%d1l,<<,%acc0
+ 248: a20d 0610 macw %a5l,%d1l,<<,%acc2
+ 24c: a28d 0200 macw %a5l,%d1l,<<,%acc0
+ 250: a20d 0210 macw %a5l,%d1l,<<,%acc2
+ 254: a28d 0600 macw %a5l,%d1l,<<,%acc0
+ 258: a20d 0610 macw %a5l,%d1l,<<,%acc2
+ 25c: a4c6 00c0 macw %d6u,%a2u,%acc0
+ 260: a446 00d0 macw %d6u,%a2u,%acc2
+ 264: a4c6 02c0 macw %d6u,%a2u,,%acc0
+ 268: a446 02d0 macw %d6u,%a2u,,%acc2
+ 26c: a4c6 06c0 macw %d6u,%a2u,,%acc0
+ 270: a446 06d0 macw %d6u,%a2u,,%acc2
+ 274: a4c6 02c0 macw %d6u,%a2u,,%acc0
+ 278: a446 02d0 macw %d6u,%a2u,,%acc2
+ 27c: a4c6 06c0 macw %d6u,%a2u,,%acc0
+ 280: a446 06d0 macw %d6u,%a2u,,%acc2
+ 284: a686 0040 macw %d6u,%d3l,%acc0
+ 288: a606 0050 macw %d6u,%d3l,%acc2
+ 28c: a686 0240 macw %d6u,%d3l,>>,%acc0
+ 290: a606 0250 macw %d6u,%d3l,>>,%acc2
+ 294: a686 0640 macw %d6u,%d3l,>>,%acc0
+ 298: a606 0650 macw %d6u,%d3l,>>,%acc2
+ 29c: a686 0240 macw %d6u,%d3l,>>,%acc0
+ 2a0: a606 0250 macw %d6u,%d3l,>>,%acc2
+ 2a4: a686 0640 macw %d6u,%d3l,>>,%acc0
+ 2a8: a606 0650 macw %d6u,%d3l,>>,%acc2
+ 2ac: aec6 00c0 macw %d6u,%spu,%acc0
+ 2b0: ae46 00d0 macw %d6u,%spu,%acc2
+ 2b4: aec6 02c0 macw %d6u,%spu,>>,%acc0
+ 2b8: ae46 02d0 macw %d6u,%spu,>>,%acc2
+ 2bc: aec6 06c0 macw %d6u,%spu,>>,%acc0
+ 2c0: ae46 06d0 macw %d6u,%spu,>>,%acc2
+ 2c4: aec6 02c0 macw %d6u,%spu,>>,%acc0
+ 2c8: ae46 02d0 macw %d6u,%spu,>>,%acc2
+ 2cc: aec6 06c0 macw %d6u,%spu,>>,%acc0
+ 2d0: ae46 06d0 macw %d6u,%spu,>>,%acc2
+ 2d4: a286 0040 macw %d6u,%d1l,%acc0
+ 2d8: a206 0050 macw %d6u,%d1l,%acc2
+ 2dc: a286 0240 macw %d6u,%d1l,<<,%acc0
+ 2e0: a206 0250 macw %d6u,%d1l,<<,%acc2
+ 2e4: a286 0640 macw %d6u,%d1l,<<,%acc0
+ 2e8: a206 0650 macw %d6u,%d1l,<<,%acc2
+ 2ec: a286 0240 macw %d6u,%d1l,<<,%acc0
+ 2f0: a206 0250 macw %d6u,%d1l,<<,%acc2
+ 2f4: a286 0640 macw %d6u,%d1l,<<,%acc0
+ 2f8: a206 0650 macw %d6u,%d1l,<<,%acc2
+ 2fc: a65b 0080 macw %a3u,%a3u,%a3@\+,%a3,%acc1
+ 300: a6db 0090 macw %a3u,%a3u,%a3@\+,%a3,%acc3
+ 304: a65b 0080 macw %a3u,%a3u,%a3@\+,%a3,%acc1
+ 308: a6db 0090 macw %a3u,%a3u,%a3@\+,%a3,%acc3
+ 30c: a45b 0080 macw %a3u,%a2u,%a3@\+,%a2,%acc1
+ 310: a4db 0090 macw %a3u,%a2u,%a3@\+,%a2,%acc3
+ 314: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ 318: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ 31c: a65b 00a0 macw %a3u,%a3u,%a3@\+&,%a3,%acc1
+ 320: a6db 00b0 macw %a3u,%a3u,%a3@\+&,%a3,%acc3
+ 324: a65b 00a0 macw %a3u,%a3u,%a3@\+&,%a3,%acc1
+ 328: a6db 00b0 macw %a3u,%a3u,%a3@\+&,%a3,%acc3
+ 32c: a45b 00a0 macw %a3u,%a2u,%a3@\+&,%a2,%acc1
+ 330: a4db 00b0 macw %a3u,%a2u,%a3@\+&,%a2,%acc3
+ 334: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ 338: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ 33c: a65b 0080 macw %a3u,%a3u,%a3@\+,%a3,%acc1
+ 340: a6db 0090 macw %a3u,%a3u,%a3@\+,%a3,%acc3
+ 344: a65b 0080 macw %a3u,%a3u,%a3@\+,%a3,%acc1
+ 348: a6db 0090 macw %a3u,%a3u,%a3@\+,%a3,%acc3
+ 34c: a45b 0080 macw %a3u,%a2u,%a3@\+,%a2,%acc1
+ 350: a4db 0090 macw %a3u,%a2u,%a3@\+,%a2,%acc3
+ 354: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ 358: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ 35c: a65b 00a0 macw %a3u,%a3u,%a3@\+&,%a3,%acc1
+ 360: a6db 00b0 macw %a3u,%a3u,%a3@\+&,%a3,%acc3
+ 364: a65b 00a0 macw %a3u,%a3u,%a3@\+&,%a3,%acc1
+ 368: a6db 00b0 macw %a3u,%a3u,%a3@\+&,%a3,%acc3
+ 36c: a45b 00a0 macw %a3u,%a2u,%a3@\+&,%a2,%acc1
+ 370: a4db 00b0 macw %a3u,%a2u,%a3@\+&,%a2,%acc3
+ 374: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ 378: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ 37c: a66f 0080 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc1
+ 382: a6ef 0090 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc3
+ 388: a66f 0080 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc1
+ 38e: a6ef 0090 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc3
+ 394: a46f 0080 000a macw %spl,%a2u,%sp@\(10\),%a2,%acc1
+ 39a: a4ef 0090 000a macw %spl,%a2u,%sp@\(10\),%a2,%acc3
+ 3a0: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 3a6: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 3ac: a66f 00a0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc1
+ 3b2: a6ef 00b0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc3
+ 3b8: a66f 00a0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc1
+ 3be: a6ef 00b0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc3
+ 3c4: a46f 00a0 000a macw %spl,%a2u,%sp@\(10\)&,%a2,%acc1
+ 3ca: a4ef 00b0 000a macw %spl,%a2u,%sp@\(10\)&,%a2,%acc3
+ 3d0: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 3d6: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 3dc: a669 0080 a6e9 macw %a1l,%a3u,%a1@\(-22807\),%a3,%acc1
+ 3e2: 0090 a669 0080 oril #-1503068032,%d0
+ 3e8: a6e9 0090 a469 macw %a1l,%a3u,%a1@\(-23447\),%a3,%acc3
+ 3ee: 0080 a4e9 0090 oril #-1528233840,%d0
+ 3f4: ae69 0080 aee9 macw %a1l,%spu,%a1@\(-20759\),%sp,%acc1
+ 3fa: 0090 a669 00a0 oril #-1503068000,%d0
+ 400: a6e9 00b0 a669 macw %a1l,%a3u,%a1@\(-22935\)&,%a3,%acc3
+ 406: 00a0 a6e9 00b0 oril #-1494679376,%d0
+ 40c: a469 00a0 a4e9 macw %a1l,%a2u,%a1@\(-23319\)&,%a2,%acc1
+ 412: 00b0 ae69 00a0 oril #-1368850272,%d0
+ 418: aee9 00b0 a65b macw %a1l,%spu,%a1@\(-22949\)&,%sp,%acc3
+ 41e: 0280 a6db 0290 andil #-1495596400,%d0
+ 424: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 428: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 42c: a45b 0280 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 430: a4db 0290 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 434: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 438: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 43c: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 440: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 444: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 448: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 44c: a45b 02a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 450: a4db 02b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 454: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 458: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 45c: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 460: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 464: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 468: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 46c: a45b 0280 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 470: a4db 0290 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 474: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 478: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 47c: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 480: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 484: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 488: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 48c: a45b 02a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 490: a4db 02b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 494: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 498: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 49c: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 4a2: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 4a8: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 4ae: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 4b4: a46f 0280 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 4ba: a4ef 0290 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 4c0: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 4c6: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 4cc: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 4d2: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 4d8: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 4de: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 4e4: a46f 02a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 4ea: a4ef 02b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 4f0: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 4f6: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 4fc: a669 0280 a6e9 macw %a1l,%a3u,>>,%a1@\(-22807\),%a3,%acc1
+ 502: 0290 a669 0280 andil #-1503067520,%d0
+ 508: a6e9 0290 a469 macw %a1l,%a3u,>>,%a1@\(-23447\),%a3,%acc3
+ 50e: 0280 a4e9 0290 andil #-1528233328,%d0
+ 514: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 51a: 0290 a669 02a0 andil #-1503067488,%d0
+ 520: a6e9 02b0 a669 macw %a1l,%a3u,>>,%a1@\(-22935\)&,%a3,%acc3
+ 526: 02a0 a6e9 02b0 andil #-1494678864,%d0
+ 52c: a469 02a0 a4e9 macw %a1l,%a2u,,%a1@\(-23319\)&,%a2,%acc1
+ 532: 02b0 ae69 02a0 andil #-1368849760,%d0
+ 538: aee9 02b0 a65b macw %a1l,%spu,>>,%a1@\(-22949\)&,%sp,%acc3
+ 53e: 0680 a6db 0690 addil #-1495595376,%d0
+ 544: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 548: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 54c: a45b 0680 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 550: a4db 0690 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 554: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 558: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 55c: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 560: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 564: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 568: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 56c: a45b 06a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 570: a4db 06b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 574: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 578: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 57c: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 580: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 584: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 588: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 58c: a45b 0680 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 590: a4db 0690 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 594: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 598: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 59c: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 5a0: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 5a4: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 5a8: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 5ac: a45b 06a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 5b0: a4db 06b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 5b4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 5b8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 5bc: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 5c2: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 5c8: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 5ce: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 5d4: a46f 0680 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 5da: a4ef 0690 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 5e0: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 5e6: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 5ec: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 5f2: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 5f8: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 5fe: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 604: a46f 06a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 60a: a4ef 06b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 610: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 616: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 61c: a669 0680 a6e9 macw %a1l,%a3u,>>,%a1@\(-22807\),%a3,%acc1
+ 622: 0690 a669 0680 addil #-1503066496,%d0
+ 628: a6e9 0690 a469 macw %a1l,%a3u,>>,%a1@\(-23447\),%a3,%acc3
+ 62e: 0680 a4e9 0690 addil #-1528232304,%d0
+ 634: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 63a: 0690 a669 06a0 addil #-1503066464,%d0
+ 640: a6e9 06b0 a669 macw %a1l,%a3u,>>,%a1@\(-22935\)&,%a3,%acc3
+ 646: 06a0 a6e9 06b0 addil #-1494677840,%d0
+ 64c: a469 06a0 a4e9 macw %a1l,%a2u,,%a1@\(-23319\)&,%a2,%acc1
+ 652: 06b0 ae69 06a0 addil #-1368848736,%d0
+ 658: aee9 06b0 a65b macw %a1l,%spu,>>,%a1@\(-22949\)&,%sp,%acc3
+ 65e: 0280 a6db 0290 andil #-1495596400,%d0
+ 664: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 668: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 66c: a45b 0280 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 670: a4db 0290 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 674: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 678: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 67c: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 680: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 684: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 688: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 68c: a45b 02a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 690: a4db 02b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 694: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 698: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 69c: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 6a0: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 6a4: a65b 0280 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 6a8: a6db 0290 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 6ac: a45b 0280 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 6b0: a4db 0290 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 6b4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 6b8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 6bc: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 6c0: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 6c4: a65b 02a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 6c8: a6db 02b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 6cc: a45b 02a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 6d0: a4db 02b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 6d4: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 6d8: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 6dc: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 6e2: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 6e8: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 6ee: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 6f4: a46f 0280 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 6fa: a4ef 0290 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 700: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 706: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 70c: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 712: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 718: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 71e: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 724: a46f 02a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 72a: a4ef 02b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 730: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 736: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 73c: a669 0280 a6e9 macw %a1l,%a3u,>>,%a1@\(-22807\),%a3,%acc1
+ 742: 0290 a669 0280 andil #-1503067520,%d0
+ 748: a6e9 0290 a469 macw %a1l,%a3u,>>,%a1@\(-23447\),%a3,%acc3
+ 74e: 0280 a4e9 0290 andil #-1528233328,%d0
+ 754: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 75a: 0290 a669 02a0 andil #-1503067488,%d0
+ 760: a6e9 02b0 a669 macw %a1l,%a3u,>>,%a1@\(-22935\)&,%a3,%acc3
+ 766: 02a0 a6e9 02b0 andil #-1494678864,%d0
+ 76c: a469 02a0 a4e9 macw %a1l,%a2u,,%a1@\(-23319\)&,%a2,%acc1
+ 772: 02b0 ae69 02a0 andil #-1368849760,%d0
+ 778: aee9 02b0 a65b macw %a1l,%spu,>>,%a1@\(-22949\)&,%sp,%acc3
+ 77e: 0680 a6db 0690 addil #-1495595376,%d0
+ 784: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 788: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 78c: a45b 0680 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 790: a4db 0690 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 794: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 798: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 79c: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 7a0: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 7a4: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 7a8: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 7ac: a45b 06a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 7b0: a4db 06b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 7b4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 7b8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 7bc: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 7c0: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 7c4: a65b 0680 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc1
+ 7c8: a6db 0690 macw %a3u,%a3u,>>,%a3@\+,%a3,%acc3
+ 7cc: a45b 0680 macw %a3u,%a2u,,%a3@\+,%a2,%acc1
+ 7d0: a4db 0690 macw %a3u,%a2u,,%a3@\+,%a2,%acc3
+ 7d4: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 7d8: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 7dc: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 7e0: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 7e4: a65b 06a0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc1
+ 7e8: a6db 06b0 macw %a3u,%a3u,>>,%a3@\+&,%a3,%acc3
+ 7ec: a45b 06a0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc1
+ 7f0: a4db 06b0 macw %a3u,%a2u,,%a3@\+&,%a2,%acc3
+ 7f4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 7f8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 7fc: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 802: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 808: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 80e: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 814: a46f 0680 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 81a: a4ef 0690 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 820: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 826: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 82c: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 832: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 838: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 83e: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 844: a46f 06a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 84a: a4ef 06b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 850: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 856: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 85c: a669 0680 a6e9 macw %a1l,%a3u,>>,%a1@\(-22807\),%a3,%acc1
+ 862: 0690 a669 0680 addil #-1503066496,%d0
+ 868: a6e9 0690 a469 macw %a1l,%a3u,>>,%a1@\(-23447\),%a3,%acc3
+ 86e: 0680 a4e9 0690 addil #-1528232304,%d0
+ 874: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 87a: 0690 a669 06a0 addil #-1503066464,%d0
+ 880: a6e9 06b0 a669 macw %a1l,%a3u,>>,%a1@\(-22935\)&,%a3,%acc3
+ 886: 06a0 a6e9 06b0 addil #-1494677840,%d0
+ 88c: a469 06a0 a4e9 macw %a1l,%a2u,,%a1@\(-23319\)&,%a2,%acc1
+ 892: 06b0 ae69 06a0 addil #-1368848736,%d0
+ 898: aee9 06b0 a61b macw %a1l,%spu,>>,%a1@\(-23013\)&,%sp,%acc3
+ 89e: 0000 00
+ 8a0: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 8a4: a65b 0000 macw %a3u,%a3l,%a3@\+,%a3,%acc1
+ 8a8: a6db 0010 macw %a3u,%a3l,%a3@\+,%a3,%acc3
+ 8ac: a61b 0000 macw %a3u,%d3l,%a3@\+,%d3,%acc1
+ 8b0: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 8b4: ae5b 0000 macw %a3u,%spl,%a3@\+,%sp,%acc1
+ 8b8: aedb 0010 macw %a3u,%spl,%a3@\+,%sp,%acc3
+ 8bc: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 8c0: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 8c4: a65b 0020 macw %a3u,%a3l,%a3@\+&,%a3,%acc1
+ 8c8: a6db 0030 macw %a3u,%a3l,%a3@\+&,%a3,%acc3
+ 8cc: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 8d0: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 8d4: ae5b 0020 macw %a3u,%spl,%a3@\+&,%sp,%acc1
+ 8d8: aedb 0030 macw %a3u,%spl,%a3@\+&,%sp,%acc3
+ 8dc: a61b 0000 macw %a3u,%d3l,%a3@\+,%d3,%acc1
+ 8e0: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 8e4: a65b 0000 macw %a3u,%a3l,%a3@\+,%a3,%acc1
+ 8e8: a6db 0010 macw %a3u,%a3l,%a3@\+,%a3,%acc3
+ 8ec: a61b 0000 macw %a3u,%d3l,%a3@\+,%d3,%acc1
+ 8f0: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 8f4: ae5b 0000 macw %a3u,%spl,%a3@\+,%sp,%acc1
+ 8f8: aedb 0010 macw %a3u,%spl,%a3@\+,%sp,%acc3
+ 8fc: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 900: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 904: a65b 0020 macw %a3u,%a3l,%a3@\+&,%a3,%acc1
+ 908: a6db 0030 macw %a3u,%a3l,%a3@\+&,%a3,%acc3
+ 90c: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 910: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 914: ae5b 0020 macw %a3u,%spl,%a3@\+&,%sp,%acc1
+ 918: aedb 0030 macw %a3u,%spl,%a3@\+&,%sp,%acc3
+ 91c: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 922: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 928: a66f 0000 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc1
+ 92e: a6ef 0010 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc3
+ 934: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 93a: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 940: ae6f 0000 000a macw %spl,%spl,%sp@\(10\),%sp,%acc1
+ 946: aeef 0010 000a macw %spl,%spl,%sp@\(10\),%sp,%acc3
+ 94c: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 952: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 958: a66f 0020 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc1
+ 95e: a6ef 0030 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc3
+ 964: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 96a: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 970: ae6f 0020 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc1
+ 976: aeef 0030 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc3
+ 97c: a629 0000 a6a9 macw %a1l,%d3l,%a1@\(-22871\),%d3,%acc1
+ 982: 0010 020
+ 984: a669 0000 a6e9 macw %a1l,%a3l,%a1@\(-22807\),%a3,%acc1
+ 98a: 0010 020
+ 98c: a629 0000 a6a9 macw %a1l,%d3l,%a1@\(-22871\),%d3,%acc1
+ 992: 0010 020
+ 994: ae69 0000 aee9 macw %a1l,%spl,%a1@\(-20759\),%sp,%acc1
+ 99a: 0010 020
+ 99c: a629 0020 a6a9 macw %a1l,%d3l,%a1@\(-22871\)&,%d3,%acc1
+ 9a2: 0030 060
+ 9a4: a669 0020 a6e9 macw %a1l,%a3l,%a1@\(-22807\)&,%a3,%acc1
+ 9aa: 0030 060
+ 9ac: a629 0020 a6a9 macw %a1l,%d3l,%a1@\(-22871\)&,%d3,%acc1
+ 9b2: 0030 060
+ 9b4: ae69 0020 aee9 macw %a1l,%spl,%a1@\(-20759\)&,%sp,%acc1
+ 9ba: 0030 060
+ 9bc: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 9c0: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 9c4: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 9c8: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 9cc: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 9d0: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 9d4: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 9d8: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 9dc: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 9e0: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 9e4: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 9e8: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 9ec: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 9f0: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 9f4: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 9f8: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 9fc: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ a00: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ a04: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ a08: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ a0c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ a10: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ a14: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ a18: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ a1c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ a20: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ a24: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ a28: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ a2c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ a30: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ a34: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ a38: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ a3c: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ a42: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ a48: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ a4e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ a54: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ a5a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ a60: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ a66: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ a6c: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ a72: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ a78: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ a7e: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ a84: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ a8a: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ a90: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ a96: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ a9c: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ aa2: 0210 01020
+ aa4: a669 0200 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ aaa: 0210 01020
+ aac: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ ab2: 0210 01020
+ ab4: ae69 0200 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ aba: 0210 01020
+ abc: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ ac2: 0230 01060
+ ac4: a669 0220 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ aca: 0230 01060
+ acc: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ ad2: 0230 01060
+ ad4: ae69 0220 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ ada: 0230 01060
+ adc: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ ae0: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ ae4: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ ae8: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ aec: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ af0: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ af4: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ af8: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ afc: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ b00: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ b04: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ b08: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ b0c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ b10: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ b14: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ b18: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ b1c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ b20: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ b24: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ b28: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ b2c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ b30: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ b34: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ b38: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ b3c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ b40: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ b44: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ b48: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ b4c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ b50: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ b54: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ b58: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ b5c: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ b62: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ b68: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ b6e: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ b74: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ b7a: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ b80: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ b86: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ b8c: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ b92: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ b98: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ b9e: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ ba4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ baa: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ bb0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ bb6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ bbc: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ bc2: 0610 03020
+ bc4: a669 0600 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ bca: 0610 03020
+ bcc: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ bd2: 0610 03020
+ bd4: ae69 0600 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ bda: 0610 03020
+ bdc: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ be2: 0630 03060
+ be4: a669 0620 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ bea: 0630 03060
+ bec: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ bf2: 0630 03060
+ bf4: ae69 0620 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ bfa: 0630 03060
+ bfc: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ c00: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ c04: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ c08: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ c0c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ c10: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ c14: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ c18: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ c1c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ c20: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ c24: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ c28: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ c2c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ c30: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ c34: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ c38: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ c3c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ c40: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ c44: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ c48: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ c4c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ c50: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ c54: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ c58: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ c5c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ c60: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ c64: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ c68: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ c6c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ c70: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ c74: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ c78: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ c7c: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ c82: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ c88: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ c8e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ c94: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ c9a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ ca0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ ca6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ cac: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ cb2: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ cb8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ cbe: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ cc4: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ cca: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ cd0: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ cd6: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ cdc: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ ce2: 0210 01020
+ ce4: a669 0200 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ cea: 0210 01020
+ cec: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ cf2: 0210 01020
+ cf4: ae69 0200 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ cfa: 0210 01020
+ cfc: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ d02: 0230 01060
+ d04: a669 0220 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ d0a: 0230 01060
+ d0c: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ d12: 0230 01060
+ d14: ae69 0220 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ d1a: 0230 01060
+ d1c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ d20: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ d24: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ d28: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ d2c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ d30: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ d34: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ d38: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ d3c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ d40: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ d44: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ d48: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ d4c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ d50: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ d54: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ d58: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ d5c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ d60: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ d64: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ d68: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ d6c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ d70: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ d74: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ d78: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ d7c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ d80: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ d84: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ d88: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ d8c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ d90: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ d94: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ d98: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ d9c: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ da2: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ da8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ dae: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ db4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ dba: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ dc0: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ dc6: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ dcc: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ dd2: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ dd8: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ dde: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ de4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ dea: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ df0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ df6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ dfc: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ e02: 0610 03020
+ e04: a669 0600 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ e0a: 0610 03020
+ e0c: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ e12: 0610 03020
+ e14: ae69 0600 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ e1a: 0610 03020
+ e1c: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ e22: 0630 03060
+ e24: a669 0620 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ e2a: 0630 03060
+ e2c: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ e32: 0630 03060
+ e34: ae69 0620 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ e3a: 0630 03060
+ e3c: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e40: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e44: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e48: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e4c: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e50: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e54: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e58: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e5c: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ e60: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ e64: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ e68: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ e6c: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ e70: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ e74: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ e78: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ e7c: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e80: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e84: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e88: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e8c: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e90: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e94: ae5b 0080 macw %a3u,%spu,%a3@\+,%sp,%acc1
+ e98: aedb 0090 macw %a3u,%spu,%a3@\+,%sp,%acc3
+ e9c: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ ea0: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ ea4: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ ea8: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ eac: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ eb0: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ eb4: ae5b 00a0 macw %a3u,%spu,%a3@\+&,%sp,%acc1
+ eb8: aedb 00b0 macw %a3u,%spu,%a3@\+&,%sp,%acc3
+ ebc: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ ec2: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ ec8: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ ece: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ ed4: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ eda: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ ee0: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ ee6: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ eec: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ ef2: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ ef8: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ efe: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ f04: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ f0a: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ f10: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ f16: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ f1c: ae69 0080 aee9 macw %a1l,%spu,%a1@\(-20759\),%sp,%acc1
+ f22: 0090 ae69 0080 oril #-1368850304,%d0
+ f28: aee9 0090 ae69 macw %a1l,%spu,%a1@\(-20887\),%sp,%acc3
+ f2e: 0080 aee9 0090 oril #-1360461680,%d0
+ f34: ae69 0080 aee9 macw %a1l,%spu,%a1@\(-20759\),%sp,%acc1
+ f3a: 0090 ae69 00a0 oril #-1368850272,%d0
+ f40: aee9 00b0 ae69 macw %a1l,%spu,%a1@\(-20887\)&,%sp,%acc3
+ f46: 00a0 aee9 00b0 oril #-1360461648,%d0
+ f4c: ae69 00a0 aee9 macw %a1l,%spu,%a1@\(-20759\)&,%sp,%acc1
+ f52: 00b0 ae69 00a0 oril #-1368850272,%d0
+ f58: aee9 00b0 ae5b macw %a1l,%spu,%a1@\(-20901\)&,%sp,%acc3
+ f5e: 0280 aedb 0290 andil #-1361378672,%d0
+ f64: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ f68: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ f6c: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ f70: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ f74: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ f78: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ f7c: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ f80: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ f84: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ f88: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ f8c: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ f90: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ f94: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ f98: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ f9c: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ fa0: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ fa4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ fa8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ fac: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ fb0: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ fb4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ fb8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ fbc: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ fc0: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ fc4: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ fc8: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ fcc: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ fd0: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ fd4: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ fd8: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ fdc: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ fe2: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ fe8: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ fee: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ ff4: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ ffa: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1000: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1006: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 100c: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1012: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1018: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 101e: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1024: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 102a: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1030: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1036: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 103c: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 1042: 0290 ae69 0280 andil #-1368849792,%d0
+ 1048: aee9 0290 ae69 macw %a1l,%spu,>>,%a1@\(-20887\),%sp,%acc3
+ 104e: 0280 aee9 0290 andil #-1360461168,%d0
+ 1054: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 105a: 0290 ae69 02a0 andil #-1368849760,%d0
+ 1060: aee9 02b0 ae69 macw %a1l,%spu,>>,%a1@\(-20887\)&,%sp,%acc3
+ 1066: 02a0 aee9 02b0 andil #-1360461136,%d0
+ 106c: ae69 02a0 aee9 macw %a1l,%spu,>>,%a1@\(-20759\)&,%sp,%acc1
+ 1072: 02b0 ae69 02a0 andil #-1368849760,%d0
+ 1078: aee9 02b0 ae5b macw %a1l,%spu,>>,%a1@\(-20901\)&,%sp,%acc3
+ 107e: 0680 aedb 0690 addil #-1361377648,%d0
+ 1084: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1088: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 108c: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1090: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 1094: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1098: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 109c: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10a0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10a4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10a8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10ac: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10b0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10b4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10b8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10bc: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 10c0: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 10c4: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 10c8: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 10cc: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 10d0: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 10d4: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 10d8: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 10dc: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10e0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10e4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10e8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10ec: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10f0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10f4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 10f8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 10fc: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1102: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1108: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 110e: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1114: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 111a: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1120: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1126: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 112c: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1132: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1138: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 113e: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1144: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 114a: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1150: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1156: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 115c: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 1162: 0690 ae69 0680 addil #-1368848768,%d0
+ 1168: aee9 0690 ae69 macw %a1l,%spu,>>,%a1@\(-20887\),%sp,%acc3
+ 116e: 0680 aee9 0690 addil #-1360460144,%d0
+ 1174: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 117a: 0690 ae69 06a0 addil #-1368848736,%d0
+ 1180: aee9 06b0 ae69 macw %a1l,%spu,>>,%a1@\(-20887\)&,%sp,%acc3
+ 1186: 06a0 aee9 06b0 addil #-1360460112,%d0
+ 118c: ae69 06a0 aee9 macw %a1l,%spu,>>,%a1@\(-20759\)&,%sp,%acc1
+ 1192: 06b0 ae69 06a0 addil #-1368848736,%d0
+ 1198: aee9 06b0 ae5b macw %a1l,%spu,>>,%a1@\(-20901\)&,%sp,%acc3
+ 119e: 0280 aedb 0290 andil #-1361378672,%d0
+ 11a4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11a8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11ac: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11b0: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11b4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11b8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11bc: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 11c0: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 11c4: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 11c8: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 11cc: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 11d0: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 11d4: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 11d8: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 11dc: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11e0: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11e4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11e8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11ec: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11f0: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11f4: ae5b 0280 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 11f8: aedb 0290 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 11fc: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1200: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 1204: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1208: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 120c: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1210: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 1214: ae5b 02a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1218: aedb 02b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 121c: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1222: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1228: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 122e: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1234: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 123a: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1240: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1246: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 124c: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1252: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1258: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 125e: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1264: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 126a: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1270: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1276: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 127c: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 1282: 0290 ae69 0280 andil #-1368849792,%d0
+ 1288: aee9 0290 ae69 macw %a1l,%spu,>>,%a1@\(-20887\),%sp,%acc3
+ 128e: 0280 aee9 0290 andil #-1360461168,%d0
+ 1294: ae69 0280 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 129a: 0290 ae69 02a0 andil #-1368849760,%d0
+ 12a0: aee9 02b0 ae69 macw %a1l,%spu,>>,%a1@\(-20887\)&,%sp,%acc3
+ 12a6: 02a0 aee9 02b0 andil #-1360461136,%d0
+ 12ac: ae69 02a0 aee9 macw %a1l,%spu,>>,%a1@\(-20759\)&,%sp,%acc1
+ 12b2: 02b0 ae69 02a0 andil #-1368849760,%d0
+ 12b8: aee9 02b0 ae5b macw %a1l,%spu,>>,%a1@\(-20901\)&,%sp,%acc3
+ 12be: 0680 aedb 0690 addil #-1361377648,%d0
+ 12c4: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 12c8: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 12cc: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 12d0: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 12d4: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 12d8: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 12dc: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 12e0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 12e4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 12e8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 12ec: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 12f0: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 12f4: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 12f8: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 12fc: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1300: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 1304: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1308: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 130c: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1310: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 1314: ae5b 0680 macw %a3u,%spu,>>,%a3@\+,%sp,%acc1
+ 1318: aedb 0690 macw %a3u,%spu,>>,%a3@\+,%sp,%acc3
+ 131c: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1320: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 1324: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1328: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 132c: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1330: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 1334: ae5b 06a0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc1
+ 1338: aedb 06b0 macw %a3u,%spu,>>,%a3@\+&,%sp,%acc3
+ 133c: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1342: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1348: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 134e: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1354: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 135a: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 1360: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 1366: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 136c: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1372: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1378: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 137e: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1384: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 138a: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 1390: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 1396: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 139c: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 13a2: 0690 ae69 0680 addil #-1368848768,%d0
+ 13a8: aee9 0690 ae69 macw %a1l,%spu,>>,%a1@\(-20887\),%sp,%acc3
+ 13ae: 0680 aee9 0690 addil #-1360460144,%d0
+ 13b4: ae69 0680 aee9 macw %a1l,%spu,>>,%a1@\(-20759\),%sp,%acc1
+ 13ba: 0690 ae69 06a0 addil #-1368848736,%d0
+ 13c0: aee9 06b0 ae69 macw %a1l,%spu,>>,%a1@\(-20887\)&,%sp,%acc3
+ 13c6: 06a0 aee9 06b0 addil #-1360460112,%d0
+ 13cc: ae69 06a0 aee9 macw %a1l,%spu,>>,%a1@\(-20759\)&,%sp,%acc1
+ 13d2: 06b0 ae69 06a0 addil #-1368848736,%d0
+ 13d8: aee9 06b0 a21b macw %a1l,%spu,>>,%a1@\(-24037\)&,%sp,%acc3
+ 13de: 0000 00
+ 13e0: a29b 0010 macw %a3u,%d1l,%a3@\+,%d1,%acc3
+ 13e4: a65b 0000 macw %a3u,%a3l,%a3@\+,%a3,%acc1
+ 13e8: a6db 0010 macw %a3u,%a3l,%a3@\+,%a3,%acc3
+ 13ec: a61b 0000 macw %a3u,%d3l,%a3@\+,%d3,%acc1
+ 13f0: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 13f4: ae5b 0000 macw %a3u,%spl,%a3@\+,%sp,%acc1
+ 13f8: aedb 0010 macw %a3u,%spl,%a3@\+,%sp,%acc3
+ 13fc: a21b 0020 macw %a3u,%d1l,%a3@\+&,%d1,%acc1
+ 1400: a29b 0030 macw %a3u,%d1l,%a3@\+&,%d1,%acc3
+ 1404: a65b 0020 macw %a3u,%a3l,%a3@\+&,%a3,%acc1
+ 1408: a6db 0030 macw %a3u,%a3l,%a3@\+&,%a3,%acc3
+ 140c: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 1410: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 1414: ae5b 0020 macw %a3u,%spl,%a3@\+&,%sp,%acc1
+ 1418: aedb 0030 macw %a3u,%spl,%a3@\+&,%sp,%acc3
+ 141c: a21b 0000 macw %a3u,%d1l,%a3@\+,%d1,%acc1
+ 1420: a29b 0010 macw %a3u,%d1l,%a3@\+,%d1,%acc3
+ 1424: a65b 0000 macw %a3u,%a3l,%a3@\+,%a3,%acc1
+ 1428: a6db 0010 macw %a3u,%a3l,%a3@\+,%a3,%acc3
+ 142c: a61b 0000 macw %a3u,%d3l,%a3@\+,%d3,%acc1
+ 1430: a69b 0010 macw %a3u,%d3l,%a3@\+,%d3,%acc3
+ 1434: ae5b 0000 macw %a3u,%spl,%a3@\+,%sp,%acc1
+ 1438: aedb 0010 macw %a3u,%spl,%a3@\+,%sp,%acc3
+ 143c: a21b 0020 macw %a3u,%d1l,%a3@\+&,%d1,%acc1
+ 1440: a29b 0030 macw %a3u,%d1l,%a3@\+&,%d1,%acc3
+ 1444: a65b 0020 macw %a3u,%a3l,%a3@\+&,%a3,%acc1
+ 1448: a6db 0030 macw %a3u,%a3l,%a3@\+&,%a3,%acc3
+ 144c: a61b 0020 macw %a3u,%d3l,%a3@\+&,%d3,%acc1
+ 1450: a69b 0030 macw %a3u,%d3l,%a3@\+&,%d3,%acc3
+ 1454: ae5b 0020 macw %a3u,%spl,%a3@\+&,%sp,%acc1
+ 1458: aedb 0030 macw %a3u,%spl,%a3@\+&,%sp,%acc3
+ 145c: a22f 0000 000a macw %spl,%d1l,%sp@\(10\),%d1,%acc1
+ 1462: a2af 0010 000a macw %spl,%d1l,%sp@\(10\),%d1,%acc3
+ 1468: a66f 0000 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc1
+ 146e: a6ef 0010 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc3
+ 1474: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 147a: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 1480: ae6f 0000 000a macw %spl,%spl,%sp@\(10\),%sp,%acc1
+ 1486: aeef 0010 000a macw %spl,%spl,%sp@\(10\),%sp,%acc3
+ 148c: a22f 0020 000a macw %spl,%d1l,%sp@\(10\)&,%d1,%acc1
+ 1492: a2af 0030 000a macw %spl,%d1l,%sp@\(10\)&,%d1,%acc3
+ 1498: a66f 0020 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc1
+ 149e: a6ef 0030 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc3
+ 14a4: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 14aa: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 14b0: ae6f 0020 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc1
+ 14b6: aeef 0030 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc3
+ 14bc: a229 0000 a2a9 macw %a1l,%d1l,%a1@\(-23895\),%d1,%acc1
+ 14c2: 0010 020
+ 14c4: a669 0000 a6e9 macw %a1l,%a3l,%a1@\(-22807\),%a3,%acc1
+ 14ca: 0010 020
+ 14cc: a629 0000 a6a9 macw %a1l,%d3l,%a1@\(-22871\),%d3,%acc1
+ 14d2: 0010 020
+ 14d4: ae69 0000 aee9 macw %a1l,%spl,%a1@\(-20759\),%sp,%acc1
+ 14da: 0010 020
+ 14dc: a229 0020 a2a9 macw %a1l,%d1l,%a1@\(-23895\)&,%d1,%acc1
+ 14e2: 0030 060
+ 14e4: a669 0020 a6e9 macw %a1l,%a3l,%a1@\(-22807\)&,%a3,%acc1
+ 14ea: 0030 060
+ 14ec: a629 0020 a6a9 macw %a1l,%d3l,%a1@\(-22871\)&,%d3,%acc1
+ 14f2: 0030 060
+ 14f4: ae69 0020 aee9 macw %a1l,%spl,%a1@\(-20759\)&,%sp,%acc1
+ 14fa: 0030 060
+ 14fc: a21b 0200 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1500: a29b 0210 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1504: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1508: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 150c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1510: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1514: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1518: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 151c: a21b 0220 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1520: a29b 0230 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1524: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1528: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 152c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1530: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1534: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1538: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 153c: a21b 0200 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1540: a29b 0210 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1544: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1548: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 154c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1550: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1554: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1558: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 155c: a21b 0220 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1560: a29b 0230 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1564: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1568: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 156c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1570: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1574: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1578: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 157c: a22f 0200 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 1582: a2af 0210 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 1588: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 158e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 1594: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 159a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 15a0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 15a6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 15ac: a22f 0220 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 15b2: a2af 0230 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 15b8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 15be: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 15c4: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 15ca: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 15d0: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 15d6: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 15dc: a229 0200 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\),%d1,%acc1
+ 15e2: 0210 01020
+ 15e4: a669 0200 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ 15ea: 0210 01020
+ 15ec: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ 15f2: 0210 01020
+ 15f4: ae69 0200 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ 15fa: 0210 01020
+ 15fc: a229 0220 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\)&,%d1,%acc1
+ 1602: 0230 01060
+ 1604: a669 0220 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ 160a: 0230 01060
+ 160c: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ 1612: 0230 01060
+ 1614: ae69 0220 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ 161a: 0230 01060
+ 161c: a21b 0600 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1620: a29b 0610 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1624: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1628: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 162c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1630: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1634: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1638: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 163c: a21b 0620 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1640: a29b 0630 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1644: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1648: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 164c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1650: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1654: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1658: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 165c: a21b 0600 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1660: a29b 0610 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1664: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1668: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 166c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1670: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1674: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1678: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 167c: a21b 0620 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1680: a29b 0630 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1684: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1688: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 168c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1690: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1694: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1698: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 169c: a22f 0600 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 16a2: a2af 0610 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 16a8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 16ae: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 16b4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 16ba: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 16c0: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 16c6: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 16cc: a22f 0620 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 16d2: a2af 0630 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 16d8: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 16de: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 16e4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 16ea: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 16f0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 16f6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 16fc: a229 0600 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\),%d1,%acc1
+ 1702: 0610 03020
+ 1704: a669 0600 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ 170a: 0610 03020
+ 170c: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ 1712: 0610 03020
+ 1714: ae69 0600 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ 171a: 0610 03020
+ 171c: a229 0620 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\)&,%d1,%acc1
+ 1722: 0630 03060
+ 1724: a669 0620 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ 172a: 0630 03060
+ 172c: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ 1732: 0630 03060
+ 1734: ae69 0620 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ 173a: 0630 03060
+ 173c: a21b 0200 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1740: a29b 0210 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1744: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1748: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 174c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1750: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1754: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1758: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 175c: a21b 0220 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1760: a29b 0230 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1764: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1768: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 176c: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1770: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1774: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1778: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 177c: a21b 0200 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1780: a29b 0210 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1784: a65b 0200 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1788: a6db 0210 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 178c: a61b 0200 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1790: a69b 0210 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1794: ae5b 0200 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1798: aedb 0210 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 179c: a21b 0220 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 17a0: a29b 0230 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 17a4: a65b 0220 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 17a8: a6db 0230 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 17ac: a61b 0220 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 17b0: a69b 0230 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 17b4: ae5b 0220 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 17b8: aedb 0230 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 17bc: a22f 0200 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 17c2: a2af 0210 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 17c8: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 17ce: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 17d4: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 17da: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 17e0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 17e6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 17ec: a22f 0220 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 17f2: a2af 0230 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 17f8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 17fe: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 1804: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 180a: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 1810: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 1816: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 181c: a229 0200 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\),%d1,%acc1
+ 1822: 0210 01020
+ 1824: a669 0200 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ 182a: 0210 01020
+ 182c: a629 0200 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ 1832: 0210 01020
+ 1834: ae69 0200 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ 183a: 0210 01020
+ 183c: a229 0220 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\)&,%d1,%acc1
+ 1842: 0230 01060
+ 1844: a669 0220 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ 184a: 0230 01060
+ 184c: a629 0220 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ 1852: 0230 01060
+ 1854: ae69 0220 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ 185a: 0230 01060
+ 185c: a21b 0600 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 1860: a29b 0610 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 1864: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 1868: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 186c: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 1870: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 1874: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 1878: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 187c: a21b 0620 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 1880: a29b 0630 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 1884: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 1888: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 188c: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 1890: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 1894: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 1898: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 189c: a21b 0600 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc1
+ 18a0: a29b 0610 macw %a3u,%d1l,<<,%a3@\+,%d1,%acc3
+ 18a4: a65b 0600 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc1
+ 18a8: a6db 0610 macw %a3u,%a3l,>>,%a3@\+,%a3,%acc3
+ 18ac: a61b 0600 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc1
+ 18b0: a69b 0610 macw %a3u,%d3l,>>,%a3@\+,%d3,%acc3
+ 18b4: ae5b 0600 macw %a3u,%spl,>>,%a3@\+,%sp,%acc1
+ 18b8: aedb 0610 macw %a3u,%spl,>>,%a3@\+,%sp,%acc3
+ 18bc: a21b 0620 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc1
+ 18c0: a29b 0630 macw %a3u,%d1l,<<,%a3@\+&,%d1,%acc3
+ 18c4: a65b 0620 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc1
+ 18c8: a6db 0630 macw %a3u,%a3l,>>,%a3@\+&,%a3,%acc3
+ 18cc: a61b 0620 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc1
+ 18d0: a69b 0630 macw %a3u,%d3l,>>,%a3@\+&,%d3,%acc3
+ 18d4: ae5b 0620 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc1
+ 18d8: aedb 0630 macw %a3u,%spl,>>,%a3@\+&,%sp,%acc3
+ 18dc: a22f 0600 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 18e2: a2af 0610 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 18e8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 18ee: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 18f4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 18fa: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 1900: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 1906: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 190c: a22f 0620 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 1912: a2af 0630 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 1918: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 191e: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 1924: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 192a: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 1930: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 1936: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 193c: a229 0600 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\),%d1,%acc1
+ 1942: 0610 03020
+ 1944: a669 0600 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\),%a3,%acc1
+ 194a: 0610 03020
+ 194c: a629 0600 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\),%d3,%acc1
+ 1952: 0610 03020
+ 1954: ae69 0600 aee9 macw %a1l,%spl,>>,%a1@\(-20759\),%sp,%acc1
+ 195a: 0610 03020
+ 195c: a229 0620 a2a9 macw %a1l,%d1l,<<,%a1@\(-23895\)&,%d1,%acc1
+ 1962: 0630 03060
+ 1964: a669 0620 a6e9 macw %a1l,%a3l,>>,%a1@\(-22807\)&,%a3,%acc1
+ 196a: 0630 03060
+ 196c: a629 0620 a6a9 macw %a1l,%d3l,>>,%a1@\(-22871\)&,%d3,%acc1
+ 1972: 0630 03060
+ 1974: ae69 0620 aee9 macw %a1l,%spl,>>,%a1@\(-20759\)&,%sp,%acc1
+ 197a: 0630 03060
+ 197c: a653 00c0 macw %d3u,%a3u,%a3@,%a3,%acc1
+ 1980: a6d3 00d0 macw %d3u,%a3u,%a3@,%a3,%acc3
+ 1984: a653 00c0 macw %d3u,%a3u,%a3@,%a3,%acc1
+ 1988: a6d3 00d0 macw %d3u,%a3u,%a3@,%a3,%acc3
+ 198c: a453 00c0 macw %d3u,%a2u,%a3@,%a2,%acc1
+ 1990: a4d3 00d0 macw %d3u,%a2u,%a3@,%a2,%acc3
+ 1994: ae53 00c0 macw %d3u,%spu,%a3@,%sp,%acc1
+ 1998: aed3 00d0 macw %d3u,%spu,%a3@,%sp,%acc3
+ 199c: a653 00e0 macw %d3u,%a3u,%a3@&,%a3,%acc1
+ 19a0: a6d3 00f0 macw %d3u,%a3u,%a3@&,%a3,%acc3
+ 19a4: a653 00e0 macw %d3u,%a3u,%a3@&,%a3,%acc1
+ 19a8: a6d3 00f0 macw %d3u,%a3u,%a3@&,%a3,%acc3
+ 19ac: a453 00e0 macw %d3u,%a2u,%a3@&,%a2,%acc1
+ 19b0: a4d3 00f0 macw %d3u,%a2u,%a3@&,%a2,%acc3
+ 19b4: ae53 00e0 macw %d3u,%spu,%a3@&,%sp,%acc1
+ 19b8: aed3 00f0 macw %d3u,%spu,%a3@&,%sp,%acc3
+ 19bc: a65a 00c0 macw %a2u,%a3u,%a2@\+,%a3,%acc1
+ 19c0: a6da 00d0 macw %a2u,%a3u,%a2@\+,%a3,%acc3
+ 19c4: a65a 00c0 macw %a2u,%a3u,%a2@\+,%a3,%acc1
+ 19c8: a6da 00d0 macw %a2u,%a3u,%a2@\+,%a3,%acc3
+ 19cc: a45a 00c0 macw %a2u,%a2u,%a2@\+,%a2,%acc1
+ 19d0: a4da 00d0 macw %a2u,%a2u,%a2@\+,%a2,%acc3
+ 19d4: ae5a 00c0 macw %a2u,%spu,%a2@\+,%sp,%acc1
+ 19d8: aeda 00d0 macw %a2u,%spu,%a2@\+,%sp,%acc3
+ 19dc: a65a 00e0 macw %a2u,%a3u,%a2@\+&,%a3,%acc1
+ 19e0: a6da 00f0 macw %a2u,%a3u,%a2@\+&,%a3,%acc3
+ 19e4: a65a 00e0 macw %a2u,%a3u,%a2@\+&,%a3,%acc1
+ 19e8: a6da 00f0 macw %a2u,%a3u,%a2@\+&,%a3,%acc3
+ 19ec: a45a 00e0 macw %a2u,%a2u,%a2@\+&,%a2,%acc1
+ 19f0: a4da 00f0 macw %a2u,%a2u,%a2@\+&,%a2,%acc3
+ 19f4: ae5a 00e0 macw %a2u,%spu,%a2@\+&,%sp,%acc1
+ 19f8: aeda 00f0 macw %a2u,%spu,%a2@\+&,%sp,%acc3
+ 19fc: a66e 00c0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc1
+ 1a02: a6ee 00d0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc3
+ 1a08: a66e 00c0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc1
+ 1a0e: a6ee 00d0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc3
+ 1a14: a46e 00c0 000a macw %fpu,%a2u,%fp@\(10\),%a2,%acc1
+ 1a1a: a4ee 00d0 000a macw %fpu,%a2u,%fp@\(10\),%a2,%acc3
+ 1a20: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 1a26: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 1a2c: a66e 00e0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc1
+ 1a32: a6ee 00f0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc3
+ 1a38: a66e 00e0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc1
+ 1a3e: a6ee 00f0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc3
+ 1a44: a46e 00e0 000a macw %fpu,%a2u,%fp@\(10\)&,%a2,%acc1
+ 1a4a: a4ee 00f0 000a macw %fpu,%a2u,%fp@\(10\)&,%a2,%acc3
+ 1a50: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 1a56: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 1a5c: a663 00c0 macw %d3u,%a3u,%a3@-,%a3,%acc1
+ 1a60: a6e3 00d0 macw %d3u,%a3u,%a3@-,%a3,%acc3
+ 1a64: a663 00c0 macw %d3u,%a3u,%a3@-,%a3,%acc1
+ 1a68: a6e3 00d0 macw %d3u,%a3u,%a3@-,%a3,%acc3
+ 1a6c: a463 00c0 macw %d3u,%a2u,%a3@-,%a2,%acc1
+ 1a70: a4e3 00d0 macw %d3u,%a2u,%a3@-,%a2,%acc3
+ 1a74: ae63 00c0 macw %d3u,%spu,%a3@-,%sp,%acc1
+ 1a78: aee3 00d0 macw %d3u,%spu,%a3@-,%sp,%acc3
+ 1a7c: a663 00e0 macw %d3u,%a3u,%a3@-&,%a3,%acc1
+ 1a80: a6e3 00f0 macw %d3u,%a3u,%a3@-&,%a3,%acc3
+ 1a84: a663 00e0 macw %d3u,%a3u,%a3@-&,%a3,%acc1
+ 1a88: a6e3 00f0 macw %d3u,%a3u,%a3@-&,%a3,%acc3
+ 1a8c: a463 00e0 macw %d3u,%a2u,%a3@-&,%a2,%acc1
+ 1a90: a4e3 00f0 macw %d3u,%a2u,%a3@-&,%a2,%acc3
+ 1a94: ae63 00e0 macw %d3u,%spu,%a3@-&,%sp,%acc1
+ 1a98: aee3 00f0 macw %d3u,%spu,%a3@-&,%sp,%acc3
+ 1a9c: a653 02c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1aa0: a6d3 02d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1aa4: a653 02c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1aa8: a6d3 02d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1aac: a453 02c0 macw %d3u,%a2u,,%a3@,%a2,%acc1
+ 1ab0: a4d3 02d0 macw %d3u,%a2u,,%a3@,%a2,%acc3
+ 1ab4: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 1ab8: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 1abc: a653 02e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1ac0: a6d3 02f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1ac4: a653 02e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1ac8: a6d3 02f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1acc: a453 02e0 macw %d3u,%a2u,,%a3@&,%a2,%acc1
+ 1ad0: a4d3 02f0 macw %d3u,%a2u,,%a3@&,%a2,%acc3
+ 1ad4: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 1ad8: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 1adc: a65a 02c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1ae0: a6da 02d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1ae4: a65a 02c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1ae8: a6da 02d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1aec: a45a 02c0 macw %a2u,%a2u,,%a2@\+,%a2,%acc1
+ 1af0: a4da 02d0 macw %a2u,%a2u,,%a2@\+,%a2,%acc3
+ 1af4: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 1af8: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 1afc: a65a 02e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1b00: a6da 02f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1b04: a65a 02e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1b08: a6da 02f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1b0c: a45a 02e0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc1
+ 1b10: a4da 02f0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc3
+ 1b14: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 1b18: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 1b1c: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1b22: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1b28: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1b2e: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1b34: a46e 02c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 1b3a: a4ee 02d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 1b40: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 1b46: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 1b4c: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1b52: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1b58: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1b5e: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1b64: a46e 02e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 1b6a: a4ee 02f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 1b70: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 1b76: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 1b7c: a663 02c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1b80: a6e3 02d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1b84: a663 02c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1b88: a6e3 02d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1b8c: a463 02c0 macw %d3u,%a2u,,%a3@-,%a2,%acc1
+ 1b90: a4e3 02d0 macw %d3u,%a2u,,%a3@-,%a2,%acc3
+ 1b94: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 1b98: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 1b9c: a663 02e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1ba0: a6e3 02f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1ba4: a663 02e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1ba8: a6e3 02f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1bac: a463 02e0 macw %d3u,%a2u,,%a3@-&,%a2,%acc1
+ 1bb0: a4e3 02f0 macw %d3u,%a2u,,%a3@-&,%a2,%acc3
+ 1bb4: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 1bb8: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 1bbc: a653 06c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1bc0: a6d3 06d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1bc4: a653 06c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1bc8: a6d3 06d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1bcc: a453 06c0 macw %d3u,%a2u,,%a3@,%a2,%acc1
+ 1bd0: a4d3 06d0 macw %d3u,%a2u,,%a3@,%a2,%acc3
+ 1bd4: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 1bd8: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 1bdc: a653 06e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1be0: a6d3 06f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1be4: a653 06e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1be8: a6d3 06f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1bec: a453 06e0 macw %d3u,%a2u,,%a3@&,%a2,%acc1
+ 1bf0: a4d3 06f0 macw %d3u,%a2u,,%a3@&,%a2,%acc3
+ 1bf4: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 1bf8: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 1bfc: a65a 06c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1c00: a6da 06d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1c04: a65a 06c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1c08: a6da 06d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1c0c: a45a 06c0 macw %a2u,%a2u,,%a2@\+,%a2,%acc1
+ 1c10: a4da 06d0 macw %a2u,%a2u,,%a2@\+,%a2,%acc3
+ 1c14: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 1c18: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 1c1c: a65a 06e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1c20: a6da 06f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1c24: a65a 06e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1c28: a6da 06f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1c2c: a45a 06e0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc1
+ 1c30: a4da 06f0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc3
+ 1c34: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 1c38: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 1c3c: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1c42: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1c48: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1c4e: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1c54: a46e 06c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 1c5a: a4ee 06d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 1c60: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 1c66: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 1c6c: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1c72: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1c78: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1c7e: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1c84: a46e 06e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 1c8a: a4ee 06f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 1c90: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 1c96: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 1c9c: a663 06c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1ca0: a6e3 06d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1ca4: a663 06c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1ca8: a6e3 06d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1cac: a463 06c0 macw %d3u,%a2u,,%a3@-,%a2,%acc1
+ 1cb0: a4e3 06d0 macw %d3u,%a2u,,%a3@-,%a2,%acc3
+ 1cb4: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 1cb8: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 1cbc: a663 06e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1cc0: a6e3 06f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1cc4: a663 06e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1cc8: a6e3 06f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1ccc: a463 06e0 macw %d3u,%a2u,,%a3@-&,%a2,%acc1
+ 1cd0: a4e3 06f0 macw %d3u,%a2u,,%a3@-&,%a2,%acc3
+ 1cd4: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 1cd8: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 1cdc: a653 02c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1ce0: a6d3 02d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1ce4: a653 02c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1ce8: a6d3 02d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1cec: a453 02c0 macw %d3u,%a2u,,%a3@,%a2,%acc1
+ 1cf0: a4d3 02d0 macw %d3u,%a2u,,%a3@,%a2,%acc3
+ 1cf4: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 1cf8: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 1cfc: a653 02e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1d00: a6d3 02f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1d04: a653 02e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1d08: a6d3 02f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1d0c: a453 02e0 macw %d3u,%a2u,,%a3@&,%a2,%acc1
+ 1d10: a4d3 02f0 macw %d3u,%a2u,,%a3@&,%a2,%acc3
+ 1d14: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 1d18: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 1d1c: a65a 02c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1d20: a6da 02d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1d24: a65a 02c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1d28: a6da 02d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1d2c: a45a 02c0 macw %a2u,%a2u,,%a2@\+,%a2,%acc1
+ 1d30: a4da 02d0 macw %a2u,%a2u,,%a2@\+,%a2,%acc3
+ 1d34: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 1d38: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 1d3c: a65a 02e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1d40: a6da 02f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1d44: a65a 02e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1d48: a6da 02f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1d4c: a45a 02e0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc1
+ 1d50: a4da 02f0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc3
+ 1d54: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 1d58: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 1d5c: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1d62: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1d68: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1d6e: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1d74: a46e 02c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 1d7a: a4ee 02d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 1d80: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 1d86: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 1d8c: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1d92: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1d98: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1d9e: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1da4: a46e 02e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 1daa: a4ee 02f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 1db0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 1db6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 1dbc: a663 02c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1dc0: a6e3 02d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1dc4: a663 02c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1dc8: a6e3 02d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1dcc: a463 02c0 macw %d3u,%a2u,,%a3@-,%a2,%acc1
+ 1dd0: a4e3 02d0 macw %d3u,%a2u,,%a3@-,%a2,%acc3
+ 1dd4: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 1dd8: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 1ddc: a663 02e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1de0: a6e3 02f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1de4: a663 02e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1de8: a6e3 02f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1dec: a463 02e0 macw %d3u,%a2u,,%a3@-&,%a2,%acc1
+ 1df0: a4e3 02f0 macw %d3u,%a2u,,%a3@-&,%a2,%acc3
+ 1df4: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 1df8: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 1dfc: a653 06c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1e00: a6d3 06d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1e04: a653 06c0 macw %d3u,%a3u,>>,%a3@,%a3,%acc1
+ 1e08: a6d3 06d0 macw %d3u,%a3u,>>,%a3@,%a3,%acc3
+ 1e0c: a453 06c0 macw %d3u,%a2u,,%a3@,%a2,%acc1
+ 1e10: a4d3 06d0 macw %d3u,%a2u,,%a3@,%a2,%acc3
+ 1e14: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 1e18: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 1e1c: a653 06e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1e20: a6d3 06f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1e24: a653 06e0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc1
+ 1e28: a6d3 06f0 macw %d3u,%a3u,>>,%a3@&,%a3,%acc3
+ 1e2c: a453 06e0 macw %d3u,%a2u,,%a3@&,%a2,%acc1
+ 1e30: a4d3 06f0 macw %d3u,%a2u,,%a3@&,%a2,%acc3
+ 1e34: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 1e38: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 1e3c: a65a 06c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1e40: a6da 06d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1e44: a65a 06c0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc1
+ 1e48: a6da 06d0 macw %a2u,%a3u,>>,%a2@\+,%a3,%acc3
+ 1e4c: a45a 06c0 macw %a2u,%a2u,,%a2@\+,%a2,%acc1
+ 1e50: a4da 06d0 macw %a2u,%a2u,,%a2@\+,%a2,%acc3
+ 1e54: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 1e58: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 1e5c: a65a 06e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1e60: a6da 06f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1e64: a65a 06e0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc1
+ 1e68: a6da 06f0 macw %a2u,%a3u,>>,%a2@\+&,%a3,%acc3
+ 1e6c: a45a 06e0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc1
+ 1e70: a4da 06f0 macw %a2u,%a2u,,%a2@\+&,%a2,%acc3
+ 1e74: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 1e78: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 1e7c: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1e82: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1e88: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 1e8e: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 1e94: a46e 06c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 1e9a: a4ee 06d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 1ea0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 1ea6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 1eac: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1eb2: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1eb8: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 1ebe: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 1ec4: a46e 06e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 1eca: a4ee 06f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 1ed0: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 1ed6: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 1edc: a663 06c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1ee0: a6e3 06d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1ee4: a663 06c0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc1
+ 1ee8: a6e3 06d0 macw %d3u,%a3u,>>,%a3@-,%a3,%acc3
+ 1eec: a463 06c0 macw %d3u,%a2u,,%a3@-,%a2,%acc1
+ 1ef0: a4e3 06d0 macw %d3u,%a2u,,%a3@-,%a2,%acc3
+ 1ef4: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 1ef8: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 1efc: a663 06e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1f00: a6e3 06f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1f04: a663 06e0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc1
+ 1f08: a6e3 06f0 macw %d3u,%a3u,>>,%a3@-&,%a3,%acc3
+ 1f0c: a463 06e0 macw %d3u,%a2u,,%a3@-&,%a2,%acc1
+ 1f10: a4e3 06f0 macw %d3u,%a2u,,%a3@-&,%a2,%acc3
+ 1f14: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 1f18: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 1f1c: a613 0040 macw %d3u,%d3l,%a3@,%d3,%acc1
+ 1f20: a693 0050 macw %d3u,%d3l,%a3@,%d3,%acc3
+ 1f24: a653 0040 macw %d3u,%a3l,%a3@,%a3,%acc1
+ 1f28: a6d3 0050 macw %d3u,%a3l,%a3@,%a3,%acc3
+ 1f2c: a613 0040 macw %d3u,%d3l,%a3@,%d3,%acc1
+ 1f30: a693 0050 macw %d3u,%d3l,%a3@,%d3,%acc3
+ 1f34: ae53 0040 macw %d3u,%spl,%a3@,%sp,%acc1
+ 1f38: aed3 0050 macw %d3u,%spl,%a3@,%sp,%acc3
+ 1f3c: a613 0060 macw %d3u,%d3l,%a3@&,%d3,%acc1
+ 1f40: a693 0070 macw %d3u,%d3l,%a3@&,%d3,%acc3
+ 1f44: a653 0060 macw %d3u,%a3l,%a3@&,%a3,%acc1
+ 1f48: a6d3 0070 macw %d3u,%a3l,%a3@&,%a3,%acc3
+ 1f4c: a613 0060 macw %d3u,%d3l,%a3@&,%d3,%acc1
+ 1f50: a693 0070 macw %d3u,%d3l,%a3@&,%d3,%acc3
+ 1f54: ae53 0060 macw %d3u,%spl,%a3@&,%sp,%acc1
+ 1f58: aed3 0070 macw %d3u,%spl,%a3@&,%sp,%acc3
+ 1f5c: a61a 0040 macw %a2u,%d3l,%a2@\+,%d3,%acc1
+ 1f60: a69a 0050 macw %a2u,%d3l,%a2@\+,%d3,%acc3
+ 1f64: a65a 0040 macw %a2u,%a3l,%a2@\+,%a3,%acc1
+ 1f68: a6da 0050 macw %a2u,%a3l,%a2@\+,%a3,%acc3
+ 1f6c: a61a 0040 macw %a2u,%d3l,%a2@\+,%d3,%acc1
+ 1f70: a69a 0050 macw %a2u,%d3l,%a2@\+,%d3,%acc3
+ 1f74: ae5a 0040 macw %a2u,%spl,%a2@\+,%sp,%acc1
+ 1f78: aeda 0050 macw %a2u,%spl,%a2@\+,%sp,%acc3
+ 1f7c: a61a 0060 macw %a2u,%d3l,%a2@\+&,%d3,%acc1
+ 1f80: a69a 0070 macw %a2u,%d3l,%a2@\+&,%d3,%acc3
+ 1f84: a65a 0060 macw %a2u,%a3l,%a2@\+&,%a3,%acc1
+ 1f88: a6da 0070 macw %a2u,%a3l,%a2@\+&,%a3,%acc3
+ 1f8c: a61a 0060 macw %a2u,%d3l,%a2@\+&,%d3,%acc1
+ 1f90: a69a 0070 macw %a2u,%d3l,%a2@\+&,%d3,%acc3
+ 1f94: ae5a 0060 macw %a2u,%spl,%a2@\+&,%sp,%acc1
+ 1f98: aeda 0070 macw %a2u,%spl,%a2@\+&,%sp,%acc3
+ 1f9c: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 1fa2: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 1fa8: a66e 0040 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc1
+ 1fae: a6ee 0050 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc3
+ 1fb4: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 1fba: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 1fc0: ae6e 0040 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc1
+ 1fc6: aeee 0050 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc3
+ 1fcc: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 1fd2: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 1fd8: a66e 0060 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc1
+ 1fde: a6ee 0070 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc3
+ 1fe4: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 1fea: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 1ff0: ae6e 0060 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc1
+ 1ff6: aeee 0070 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc3
+ 1ffc: a623 0040 macw %d3u,%d3l,%a3@-,%d3,%acc1
+ 2000: a6a3 0050 macw %d3u,%d3l,%a3@-,%d3,%acc3
+ 2004: a663 0040 macw %d3u,%a3l,%a3@-,%a3,%acc1
+ 2008: a6e3 0050 macw %d3u,%a3l,%a3@-,%a3,%acc3
+ 200c: a623 0040 macw %d3u,%d3l,%a3@-,%d3,%acc1
+ 2010: a6a3 0050 macw %d3u,%d3l,%a3@-,%d3,%acc3
+ 2014: ae63 0040 macw %d3u,%spl,%a3@-,%sp,%acc1
+ 2018: aee3 0050 macw %d3u,%spl,%a3@-,%sp,%acc3
+ 201c: a623 0060 macw %d3u,%d3l,%a3@-&,%d3,%acc1
+ 2020: a6a3 0070 macw %d3u,%d3l,%a3@-&,%d3,%acc3
+ 2024: a663 0060 macw %d3u,%a3l,%a3@-&,%a3,%acc1
+ 2028: a6e3 0070 macw %d3u,%a3l,%a3@-&,%a3,%acc3
+ 202c: a623 0060 macw %d3u,%d3l,%a3@-&,%d3,%acc1
+ 2030: a6a3 0070 macw %d3u,%d3l,%a3@-&,%d3,%acc3
+ 2034: ae63 0060 macw %d3u,%spl,%a3@-&,%sp,%acc1
+ 2038: aee3 0070 macw %d3u,%spl,%a3@-&,%sp,%acc3
+ 203c: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2040: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2044: a653 0240 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2048: a6d3 0250 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 204c: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2050: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2054: ae53 0240 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2058: aed3 0250 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 205c: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2060: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2064: a653 0260 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2068: a6d3 0270 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 206c: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2070: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2074: ae53 0260 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2078: aed3 0270 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 207c: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2080: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2084: a65a 0240 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 2088: a6da 0250 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 208c: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2090: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2094: ae5a 0240 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 2098: aeda 0250 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 209c: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 20a0: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 20a4: a65a 0260 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 20a8: a6da 0270 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 20ac: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 20b0: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 20b4: ae5a 0260 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 20b8: aeda 0270 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 20bc: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 20c2: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 20c8: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 20ce: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 20d4: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 20da: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 20e0: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 20e6: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 20ec: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 20f2: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 20f8: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 20fe: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2104: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 210a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2110: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2116: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 211c: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2120: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2124: a663 0240 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2128: a6e3 0250 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 212c: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2130: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2134: ae63 0240 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2138: aee3 0250 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 213c: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2140: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2144: a663 0260 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2148: a6e3 0270 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 214c: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2150: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2154: ae63 0260 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2158: aee3 0270 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 215c: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2160: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2164: a653 0640 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2168: a6d3 0650 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 216c: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2170: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2174: ae53 0640 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2178: aed3 0650 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 217c: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2180: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2184: a653 0660 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2188: a6d3 0670 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 218c: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2190: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2194: ae53 0660 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2198: aed3 0670 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 219c: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 21a0: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 21a4: a65a 0640 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 21a8: a6da 0650 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 21ac: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 21b0: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 21b4: ae5a 0640 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 21b8: aeda 0650 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 21bc: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 21c0: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 21c4: a65a 0660 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 21c8: a6da 0670 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 21cc: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 21d0: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 21d4: ae5a 0660 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 21d8: aeda 0670 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 21dc: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 21e2: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 21e8: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 21ee: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 21f4: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 21fa: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2200: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2206: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 220c: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2212: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2218: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 221e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2224: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 222a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2230: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2236: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 223c: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2240: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2244: a663 0640 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2248: a6e3 0650 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 224c: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2250: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2254: ae63 0640 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2258: aee3 0650 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 225c: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2260: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2264: a663 0660 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2268: a6e3 0670 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 226c: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2270: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2274: ae63 0660 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2278: aee3 0670 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 227c: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2280: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2284: a653 0240 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2288: a6d3 0250 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 228c: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2290: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2294: ae53 0240 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2298: aed3 0250 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 229c: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 22a0: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 22a4: a653 0260 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 22a8: a6d3 0270 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 22ac: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 22b0: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 22b4: ae53 0260 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 22b8: aed3 0270 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 22bc: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 22c0: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 22c4: a65a 0240 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 22c8: a6da 0250 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 22cc: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 22d0: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 22d4: ae5a 0240 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 22d8: aeda 0250 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 22dc: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 22e0: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 22e4: a65a 0260 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 22e8: a6da 0270 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 22ec: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 22f0: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 22f4: ae5a 0260 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 22f8: aeda 0270 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 22fc: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2302: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2308: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 230e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2314: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 231a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2320: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2326: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 232c: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2332: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2338: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 233e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2344: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 234a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2350: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2356: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 235c: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2360: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2364: a663 0240 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2368: a6e3 0250 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 236c: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2370: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2374: ae63 0240 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2378: aee3 0250 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 237c: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2380: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2384: a663 0260 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2388: a6e3 0270 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 238c: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2390: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2394: ae63 0260 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2398: aee3 0270 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 239c: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 23a0: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 23a4: a653 0640 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 23a8: a6d3 0650 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 23ac: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 23b0: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 23b4: ae53 0640 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 23b8: aed3 0650 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 23bc: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 23c0: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 23c4: a653 0660 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 23c8: a6d3 0670 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 23cc: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 23d0: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 23d4: ae53 0660 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 23d8: aed3 0670 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 23dc: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 23e0: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 23e4: a65a 0640 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 23e8: a6da 0650 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 23ec: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 23f0: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 23f4: ae5a 0640 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 23f8: aeda 0650 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 23fc: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2400: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2404: a65a 0660 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 2408: a6da 0670 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 240c: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2410: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2414: ae5a 0660 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 2418: aeda 0670 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 241c: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2422: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2428: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 242e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2434: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 243a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2440: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2446: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 244c: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2452: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2458: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 245e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2464: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 246a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2470: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2476: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 247c: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2480: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2484: a663 0640 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2488: a6e3 0650 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 248c: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2490: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2494: ae63 0640 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2498: aee3 0650 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 249c: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 24a0: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 24a4: a663 0660 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 24a8: a6e3 0670 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 24ac: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 24b0: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 24b4: ae63 0660 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 24b8: aee3 0670 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 24bc: ae53 00c0 macw %d3u,%spu,%a3@,%sp,%acc1
+ 24c0: aed3 00d0 macw %d3u,%spu,%a3@,%sp,%acc3
+ 24c4: ae53 00c0 macw %d3u,%spu,%a3@,%sp,%acc1
+ 24c8: aed3 00d0 macw %d3u,%spu,%a3@,%sp,%acc3
+ 24cc: ae53 00c0 macw %d3u,%spu,%a3@,%sp,%acc1
+ 24d0: aed3 00d0 macw %d3u,%spu,%a3@,%sp,%acc3
+ 24d4: ae53 00c0 macw %d3u,%spu,%a3@,%sp,%acc1
+ 24d8: aed3 00d0 macw %d3u,%spu,%a3@,%sp,%acc3
+ 24dc: ae53 00e0 macw %d3u,%spu,%a3@&,%sp,%acc1
+ 24e0: aed3 00f0 macw %d3u,%spu,%a3@&,%sp,%acc3
+ 24e4: ae53 00e0 macw %d3u,%spu,%a3@&,%sp,%acc1
+ 24e8: aed3 00f0 macw %d3u,%spu,%a3@&,%sp,%acc3
+ 24ec: ae53 00e0 macw %d3u,%spu,%a3@&,%sp,%acc1
+ 24f0: aed3 00f0 macw %d3u,%spu,%a3@&,%sp,%acc3
+ 24f4: ae53 00e0 macw %d3u,%spu,%a3@&,%sp,%acc1
+ 24f8: aed3 00f0 macw %d3u,%spu,%a3@&,%sp,%acc3
+ 24fc: ae5a 00c0 macw %a2u,%spu,%a2@\+,%sp,%acc1
+ 2500: aeda 00d0 macw %a2u,%spu,%a2@\+,%sp,%acc3
+ 2504: ae5a 00c0 macw %a2u,%spu,%a2@\+,%sp,%acc1
+ 2508: aeda 00d0 macw %a2u,%spu,%a2@\+,%sp,%acc3
+ 250c: ae5a 00c0 macw %a2u,%spu,%a2@\+,%sp,%acc1
+ 2510: aeda 00d0 macw %a2u,%spu,%a2@\+,%sp,%acc3
+ 2514: ae5a 00c0 macw %a2u,%spu,%a2@\+,%sp,%acc1
+ 2518: aeda 00d0 macw %a2u,%spu,%a2@\+,%sp,%acc3
+ 251c: ae5a 00e0 macw %a2u,%spu,%a2@\+&,%sp,%acc1
+ 2520: aeda 00f0 macw %a2u,%spu,%a2@\+&,%sp,%acc3
+ 2524: ae5a 00e0 macw %a2u,%spu,%a2@\+&,%sp,%acc1
+ 2528: aeda 00f0 macw %a2u,%spu,%a2@\+&,%sp,%acc3
+ 252c: ae5a 00e0 macw %a2u,%spu,%a2@\+&,%sp,%acc1
+ 2530: aeda 00f0 macw %a2u,%spu,%a2@\+&,%sp,%acc3
+ 2534: ae5a 00e0 macw %a2u,%spu,%a2@\+&,%sp,%acc1
+ 2538: aeda 00f0 macw %a2u,%spu,%a2@\+&,%sp,%acc3
+ 253c: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 2542: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 2548: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 254e: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 2554: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 255a: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 2560: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 2566: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 256c: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 2572: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 2578: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 257e: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 2584: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 258a: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 2590: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 2596: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 259c: ae63 00c0 macw %d3u,%spu,%a3@-,%sp,%acc1
+ 25a0: aee3 00d0 macw %d3u,%spu,%a3@-,%sp,%acc3
+ 25a4: ae63 00c0 macw %d3u,%spu,%a3@-,%sp,%acc1
+ 25a8: aee3 00d0 macw %d3u,%spu,%a3@-,%sp,%acc3
+ 25ac: ae63 00c0 macw %d3u,%spu,%a3@-,%sp,%acc1
+ 25b0: aee3 00d0 macw %d3u,%spu,%a3@-,%sp,%acc3
+ 25b4: ae63 00c0 macw %d3u,%spu,%a3@-,%sp,%acc1
+ 25b8: aee3 00d0 macw %d3u,%spu,%a3@-,%sp,%acc3
+ 25bc: ae63 00e0 macw %d3u,%spu,%a3@-&,%sp,%acc1
+ 25c0: aee3 00f0 macw %d3u,%spu,%a3@-&,%sp,%acc3
+ 25c4: ae63 00e0 macw %d3u,%spu,%a3@-&,%sp,%acc1
+ 25c8: aee3 00f0 macw %d3u,%spu,%a3@-&,%sp,%acc3
+ 25cc: ae63 00e0 macw %d3u,%spu,%a3@-&,%sp,%acc1
+ 25d0: aee3 00f0 macw %d3u,%spu,%a3@-&,%sp,%acc3
+ 25d4: ae63 00e0 macw %d3u,%spu,%a3@-&,%sp,%acc1
+ 25d8: aee3 00f0 macw %d3u,%spu,%a3@-&,%sp,%acc3
+ 25dc: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 25e0: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 25e4: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 25e8: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 25ec: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 25f0: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 25f4: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 25f8: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 25fc: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2600: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2604: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2608: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 260c: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2610: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2614: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2618: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 261c: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2620: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2624: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2628: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 262c: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2630: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2634: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2638: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 263c: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2640: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2644: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2648: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 264c: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2650: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2654: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2658: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 265c: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 2662: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 2668: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 266e: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 2674: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 267a: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 2680: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 2686: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 268c: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 2692: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 2698: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 269e: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 26a4: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 26aa: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 26b0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 26b6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 26bc: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 26c0: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 26c4: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 26c8: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 26cc: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 26d0: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 26d4: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 26d8: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 26dc: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 26e0: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 26e4: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 26e8: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 26ec: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 26f0: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 26f4: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 26f8: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 26fc: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2700: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2704: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2708: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 270c: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2710: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2714: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2718: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 271c: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2720: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2724: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2728: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 272c: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2730: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2734: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2738: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 273c: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2740: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2744: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2748: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 274c: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2750: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2754: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2758: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 275c: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2760: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2764: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2768: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 276c: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2770: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2774: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2778: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 277c: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 2782: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 2788: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 278e: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 2794: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 279a: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 27a0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 27a6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 27ac: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 27b2: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 27b8: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 27be: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 27c4: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 27ca: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 27d0: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 27d6: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 27dc: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 27e0: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 27e4: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 27e8: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 27ec: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 27f0: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 27f4: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 27f8: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 27fc: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2800: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2804: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2808: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 280c: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2810: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2814: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2818: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 281c: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2820: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2824: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2828: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 282c: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2830: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2834: ae53 02c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2838: aed3 02d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 283c: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2840: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2844: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2848: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 284c: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2850: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2854: ae53 02e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2858: aed3 02f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 285c: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2860: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2864: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2868: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 286c: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2870: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2874: ae5a 02c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2878: aeda 02d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 287c: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2880: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2884: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2888: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 288c: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2890: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 2894: ae5a 02e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 2898: aeda 02f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 289c: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 28a2: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 28a8: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 28ae: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 28b4: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 28ba: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 28c0: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 28c6: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 28cc: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 28d2: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 28d8: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 28de: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 28e4: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 28ea: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 28f0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 28f6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 28fc: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2900: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2904: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2908: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 290c: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2910: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2914: ae63 02c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2918: aee3 02d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 291c: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2920: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2924: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2928: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 292c: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2930: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2934: ae63 02e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2938: aee3 02f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 293c: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2940: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2944: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2948: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 294c: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2950: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 2954: ae53 06c0 macw %d3u,%spu,>>,%a3@,%sp,%acc1
+ 2958: aed3 06d0 macw %d3u,%spu,>>,%a3@,%sp,%acc3
+ 295c: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2960: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2964: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2968: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 296c: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2970: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 2974: ae53 06e0 macw %d3u,%spu,>>,%a3@&,%sp,%acc1
+ 2978: aed3 06f0 macw %d3u,%spu,>>,%a3@&,%sp,%acc3
+ 297c: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2980: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2984: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2988: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 298c: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2990: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 2994: ae5a 06c0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc1
+ 2998: aeda 06d0 macw %a2u,%spu,>>,%a2@\+,%sp,%acc3
+ 299c: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 29a0: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 29a4: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 29a8: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 29ac: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 29b0: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 29b4: ae5a 06e0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc1
+ 29b8: aeda 06f0 macw %a2u,%spu,>>,%a2@\+&,%sp,%acc3
+ 29bc: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 29c2: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 29c8: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 29ce: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 29d4: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 29da: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 29e0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 29e6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 29ec: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 29f2: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 29f8: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 29fe: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 2a04: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 2a0a: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 2a10: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 2a16: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 2a1c: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2a20: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2a24: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2a28: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2a2c: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2a30: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2a34: ae63 06c0 macw %d3u,%spu,>>,%a3@-,%sp,%acc1
+ 2a38: aee3 06d0 macw %d3u,%spu,>>,%a3@-,%sp,%acc3
+ 2a3c: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2a40: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2a44: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2a48: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2a4c: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2a50: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2a54: ae63 06e0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc1
+ 2a58: aee3 06f0 macw %d3u,%spu,>>,%a3@-&,%sp,%acc3
+ 2a5c: a213 0040 macw %d3u,%d1l,%a3@,%d1,%acc1
+ 2a60: a293 0050 macw %d3u,%d1l,%a3@,%d1,%acc3
+ 2a64: a653 0040 macw %d3u,%a3l,%a3@,%a3,%acc1
+ 2a68: a6d3 0050 macw %d3u,%a3l,%a3@,%a3,%acc3
+ 2a6c: a613 0040 macw %d3u,%d3l,%a3@,%d3,%acc1
+ 2a70: a693 0050 macw %d3u,%d3l,%a3@,%d3,%acc3
+ 2a74: ae53 0040 macw %d3u,%spl,%a3@,%sp,%acc1
+ 2a78: aed3 0050 macw %d3u,%spl,%a3@,%sp,%acc3
+ 2a7c: a213 0060 macw %d3u,%d1l,%a3@&,%d1,%acc1
+ 2a80: a293 0070 macw %d3u,%d1l,%a3@&,%d1,%acc3
+ 2a84: a653 0060 macw %d3u,%a3l,%a3@&,%a3,%acc1
+ 2a88: a6d3 0070 macw %d3u,%a3l,%a3@&,%a3,%acc3
+ 2a8c: a613 0060 macw %d3u,%d3l,%a3@&,%d3,%acc1
+ 2a90: a693 0070 macw %d3u,%d3l,%a3@&,%d3,%acc3
+ 2a94: ae53 0060 macw %d3u,%spl,%a3@&,%sp,%acc1
+ 2a98: aed3 0070 macw %d3u,%spl,%a3@&,%sp,%acc3
+ 2a9c: a21a 0040 macw %a2u,%d1l,%a2@\+,%d1,%acc1
+ 2aa0: a29a 0050 macw %a2u,%d1l,%a2@\+,%d1,%acc3
+ 2aa4: a65a 0040 macw %a2u,%a3l,%a2@\+,%a3,%acc1
+ 2aa8: a6da 0050 macw %a2u,%a3l,%a2@\+,%a3,%acc3
+ 2aac: a61a 0040 macw %a2u,%d3l,%a2@\+,%d3,%acc1
+ 2ab0: a69a 0050 macw %a2u,%d3l,%a2@\+,%d3,%acc3
+ 2ab4: ae5a 0040 macw %a2u,%spl,%a2@\+,%sp,%acc1
+ 2ab8: aeda 0050 macw %a2u,%spl,%a2@\+,%sp,%acc3
+ 2abc: a21a 0060 macw %a2u,%d1l,%a2@\+&,%d1,%acc1
+ 2ac0: a29a 0070 macw %a2u,%d1l,%a2@\+&,%d1,%acc3
+ 2ac4: a65a 0060 macw %a2u,%a3l,%a2@\+&,%a3,%acc1
+ 2ac8: a6da 0070 macw %a2u,%a3l,%a2@\+&,%a3,%acc3
+ 2acc: a61a 0060 macw %a2u,%d3l,%a2@\+&,%d3,%acc1
+ 2ad0: a69a 0070 macw %a2u,%d3l,%a2@\+&,%d3,%acc3
+ 2ad4: ae5a 0060 macw %a2u,%spl,%a2@\+&,%sp,%acc1
+ 2ad8: aeda 0070 macw %a2u,%spl,%a2@\+&,%sp,%acc3
+ 2adc: a22e 0040 000a macw %fpu,%d1l,%fp@\(10\),%d1,%acc1
+ 2ae2: a2ae 0050 000a macw %fpu,%d1l,%fp@\(10\),%d1,%acc3
+ 2ae8: a66e 0040 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc1
+ 2aee: a6ee 0050 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc3
+ 2af4: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 2afa: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 2b00: ae6e 0040 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc1
+ 2b06: aeee 0050 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc3
+ 2b0c: a22e 0060 000a macw %fpu,%d1l,%fp@\(10\)&,%d1,%acc1
+ 2b12: a2ae 0070 000a macw %fpu,%d1l,%fp@\(10\)&,%d1,%acc3
+ 2b18: a66e 0060 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc1
+ 2b1e: a6ee 0070 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc3
+ 2b24: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 2b2a: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 2b30: ae6e 0060 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc1
+ 2b36: aeee 0070 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc3
+ 2b3c: a223 0040 macw %d3u,%d1l,%a3@-,%d1,%acc1
+ 2b40: a2a3 0050 macw %d3u,%d1l,%a3@-,%d1,%acc3
+ 2b44: a663 0040 macw %d3u,%a3l,%a3@-,%a3,%acc1
+ 2b48: a6e3 0050 macw %d3u,%a3l,%a3@-,%a3,%acc3
+ 2b4c: a623 0040 macw %d3u,%d3l,%a3@-,%d3,%acc1
+ 2b50: a6a3 0050 macw %d3u,%d3l,%a3@-,%d3,%acc3
+ 2b54: ae63 0040 macw %d3u,%spl,%a3@-,%sp,%acc1
+ 2b58: aee3 0050 macw %d3u,%spl,%a3@-,%sp,%acc3
+ 2b5c: a223 0060 macw %d3u,%d1l,%a3@-&,%d1,%acc1
+ 2b60: a2a3 0070 macw %d3u,%d1l,%a3@-&,%d1,%acc3
+ 2b64: a663 0060 macw %d3u,%a3l,%a3@-&,%a3,%acc1
+ 2b68: a6e3 0070 macw %d3u,%a3l,%a3@-&,%a3,%acc3
+ 2b6c: a623 0060 macw %d3u,%d3l,%a3@-&,%d3,%acc1
+ 2b70: a6a3 0070 macw %d3u,%d3l,%a3@-&,%d3,%acc3
+ 2b74: ae63 0060 macw %d3u,%spl,%a3@-&,%sp,%acc1
+ 2b78: aee3 0070 macw %d3u,%spl,%a3@-&,%sp,%acc3
+ 2b7c: a213 0240 macw %d3u,%d1l,<<,%a3@,%d1,%acc1
+ 2b80: a293 0250 macw %d3u,%d1l,<<,%a3@,%d1,%acc3
+ 2b84: a653 0240 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2b88: a6d3 0250 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 2b8c: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2b90: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2b94: ae53 0240 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2b98: aed3 0250 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 2b9c: a213 0260 macw %d3u,%d1l,<<,%a3@&,%d1,%acc1
+ 2ba0: a293 0270 macw %d3u,%d1l,<<,%a3@&,%d1,%acc3
+ 2ba4: a653 0260 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2ba8: a6d3 0270 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 2bac: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2bb0: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2bb4: ae53 0260 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2bb8: aed3 0270 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 2bbc: a21a 0240 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc1
+ 2bc0: a29a 0250 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc3
+ 2bc4: a65a 0240 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 2bc8: a6da 0250 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 2bcc: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2bd0: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2bd4: ae5a 0240 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 2bd8: aeda 0250 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 2bdc: a21a 0260 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc1
+ 2be0: a29a 0270 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc3
+ 2be4: a65a 0260 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 2be8: a6da 0270 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 2bec: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2bf0: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2bf4: ae5a 0260 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 2bf8: aeda 0270 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 2bfc: a22e 0240 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 2c02: a2ae 0250 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 2c08: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 2c0e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2c14: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2c1a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2c20: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2c26: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 2c2c: a22e 0260 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 2c32: a2ae 0270 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 2c38: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 2c3e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2c44: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2c4a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2c50: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2c56: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 2c5c: a223 0240 macw %d3u,%d1l,<<,%a3@-,%d1,%acc1
+ 2c60: a2a3 0250 macw %d3u,%d1l,<<,%a3@-,%d1,%acc3
+ 2c64: a663 0240 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2c68: a6e3 0250 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 2c6c: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2c70: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2c74: ae63 0240 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2c78: aee3 0250 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 2c7c: a223 0260 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc1
+ 2c80: a2a3 0270 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc3
+ 2c84: a663 0260 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2c88: a6e3 0270 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 2c8c: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2c90: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2c94: ae63 0260 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2c98: aee3 0270 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 2c9c: a213 0640 macw %d3u,%d1l,<<,%a3@,%d1,%acc1
+ 2ca0: a293 0650 macw %d3u,%d1l,<<,%a3@,%d1,%acc3
+ 2ca4: a653 0640 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2ca8: a6d3 0650 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 2cac: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2cb0: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2cb4: ae53 0640 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2cb8: aed3 0650 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 2cbc: a213 0660 macw %d3u,%d1l,<<,%a3@&,%d1,%acc1
+ 2cc0: a293 0670 macw %d3u,%d1l,<<,%a3@&,%d1,%acc3
+ 2cc4: a653 0660 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2cc8: a6d3 0670 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 2ccc: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2cd0: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2cd4: ae53 0660 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2cd8: aed3 0670 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 2cdc: a21a 0640 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc1
+ 2ce0: a29a 0650 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc3
+ 2ce4: a65a 0640 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 2ce8: a6da 0650 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 2cec: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2cf0: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2cf4: ae5a 0640 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 2cf8: aeda 0650 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 2cfc: a21a 0660 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc1
+ 2d00: a29a 0670 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc3
+ 2d04: a65a 0660 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 2d08: a6da 0670 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 2d0c: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2d10: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2d14: ae5a 0660 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 2d18: aeda 0670 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 2d1c: a22e 0640 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 2d22: a2ae 0650 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 2d28: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 2d2e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2d34: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2d3a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2d40: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2d46: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 2d4c: a22e 0660 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 2d52: a2ae 0670 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 2d58: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 2d5e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2d64: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2d6a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2d70: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2d76: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 2d7c: a223 0640 macw %d3u,%d1l,<<,%a3@-,%d1,%acc1
+ 2d80: a2a3 0650 macw %d3u,%d1l,<<,%a3@-,%d1,%acc3
+ 2d84: a663 0640 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2d88: a6e3 0650 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 2d8c: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2d90: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2d94: ae63 0640 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2d98: aee3 0650 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 2d9c: a223 0660 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc1
+ 2da0: a2a3 0670 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc3
+ 2da4: a663 0660 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2da8: a6e3 0670 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 2dac: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2db0: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2db4: ae63 0660 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2db8: aee3 0670 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 2dbc: a213 0240 macw %d3u,%d1l,<<,%a3@,%d1,%acc1
+ 2dc0: a293 0250 macw %d3u,%d1l,<<,%a3@,%d1,%acc3
+ 2dc4: a653 0240 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2dc8: a6d3 0250 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 2dcc: a613 0240 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2dd0: a693 0250 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2dd4: ae53 0240 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2dd8: aed3 0250 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 2ddc: a213 0260 macw %d3u,%d1l,<<,%a3@&,%d1,%acc1
+ 2de0: a293 0270 macw %d3u,%d1l,<<,%a3@&,%d1,%acc3
+ 2de4: a653 0260 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2de8: a6d3 0270 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 2dec: a613 0260 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2df0: a693 0270 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2df4: ae53 0260 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2df8: aed3 0270 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 2dfc: a21a 0240 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc1
+ 2e00: a29a 0250 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc3
+ 2e04: a65a 0240 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 2e08: a6da 0250 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 2e0c: a61a 0240 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2e10: a69a 0250 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2e14: ae5a 0240 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 2e18: aeda 0250 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 2e1c: a21a 0260 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc1
+ 2e20: a29a 0270 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc3
+ 2e24: a65a 0260 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 2e28: a6da 0270 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 2e2c: a61a 0260 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2e30: a69a 0270 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2e34: ae5a 0260 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 2e38: aeda 0270 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 2e3c: a22e 0240 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 2e42: a2ae 0250 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 2e48: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 2e4e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2e54: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2e5a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2e60: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2e66: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 2e6c: a22e 0260 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 2e72: a2ae 0270 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 2e78: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 2e7e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2e84: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2e8a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2e90: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2e96: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 2e9c: a223 0240 macw %d3u,%d1l,<<,%a3@-,%d1,%acc1
+ 2ea0: a2a3 0250 macw %d3u,%d1l,<<,%a3@-,%d1,%acc3
+ 2ea4: a663 0240 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2ea8: a6e3 0250 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 2eac: a623 0240 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2eb0: a6a3 0250 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2eb4: ae63 0240 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2eb8: aee3 0250 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 2ebc: a223 0260 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc1
+ 2ec0: a2a3 0270 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc3
+ 2ec4: a663 0260 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2ec8: a6e3 0270 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 2ecc: a623 0260 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2ed0: a6a3 0270 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2ed4: ae63 0260 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2ed8: aee3 0270 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 2edc: a213 0640 macw %d3u,%d1l,<<,%a3@,%d1,%acc1
+ 2ee0: a293 0650 macw %d3u,%d1l,<<,%a3@,%d1,%acc3
+ 2ee4: a653 0640 macw %d3u,%a3l,>>,%a3@,%a3,%acc1
+ 2ee8: a6d3 0650 macw %d3u,%a3l,>>,%a3@,%a3,%acc3
+ 2eec: a613 0640 macw %d3u,%d3l,>>,%a3@,%d3,%acc1
+ 2ef0: a693 0650 macw %d3u,%d3l,>>,%a3@,%d3,%acc3
+ 2ef4: ae53 0640 macw %d3u,%spl,>>,%a3@,%sp,%acc1
+ 2ef8: aed3 0650 macw %d3u,%spl,>>,%a3@,%sp,%acc3
+ 2efc: a213 0660 macw %d3u,%d1l,<<,%a3@&,%d1,%acc1
+ 2f00: a293 0670 macw %d3u,%d1l,<<,%a3@&,%d1,%acc3
+ 2f04: a653 0660 macw %d3u,%a3l,>>,%a3@&,%a3,%acc1
+ 2f08: a6d3 0670 macw %d3u,%a3l,>>,%a3@&,%a3,%acc3
+ 2f0c: a613 0660 macw %d3u,%d3l,>>,%a3@&,%d3,%acc1
+ 2f10: a693 0670 macw %d3u,%d3l,>>,%a3@&,%d3,%acc3
+ 2f14: ae53 0660 macw %d3u,%spl,>>,%a3@&,%sp,%acc1
+ 2f18: aed3 0670 macw %d3u,%spl,>>,%a3@&,%sp,%acc3
+ 2f1c: a21a 0640 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc1
+ 2f20: a29a 0650 macw %a2u,%d1l,<<,%a2@\+,%d1,%acc3
+ 2f24: a65a 0640 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc1
+ 2f28: a6da 0650 macw %a2u,%a3l,>>,%a2@\+,%a3,%acc3
+ 2f2c: a61a 0640 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc1
+ 2f30: a69a 0650 macw %a2u,%d3l,>>,%a2@\+,%d3,%acc3
+ 2f34: ae5a 0640 macw %a2u,%spl,>>,%a2@\+,%sp,%acc1
+ 2f38: aeda 0650 macw %a2u,%spl,>>,%a2@\+,%sp,%acc3
+ 2f3c: a21a 0660 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc1
+ 2f40: a29a 0670 macw %a2u,%d1l,<<,%a2@\+&,%d1,%acc3
+ 2f44: a65a 0660 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc1
+ 2f48: a6da 0670 macw %a2u,%a3l,>>,%a2@\+&,%a3,%acc3
+ 2f4c: a61a 0660 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc1
+ 2f50: a69a 0670 macw %a2u,%d3l,>>,%a2@\+&,%d3,%acc3
+ 2f54: ae5a 0660 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc1
+ 2f58: aeda 0670 macw %a2u,%spl,>>,%a2@\+&,%sp,%acc3
+ 2f5c: a22e 0640 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 2f62: a2ae 0650 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 2f68: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 2f6e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 2f74: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 2f7a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 2f80: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 2f86: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 2f8c: a22e 0660 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 2f92: a2ae 0670 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 2f98: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 2f9e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 2fa4: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 2faa: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 2fb0: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 2fb6: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 2fbc: a223 0640 macw %d3u,%d1l,<<,%a3@-,%d1,%acc1
+ 2fc0: a2a3 0650 macw %d3u,%d1l,<<,%a3@-,%d1,%acc3
+ 2fc4: a663 0640 macw %d3u,%a3l,>>,%a3@-,%a3,%acc1
+ 2fc8: a6e3 0650 macw %d3u,%a3l,>>,%a3@-,%a3,%acc3
+ 2fcc: a623 0640 macw %d3u,%d3l,>>,%a3@-,%d3,%acc1
+ 2fd0: a6a3 0650 macw %d3u,%d3l,>>,%a3@-,%d3,%acc3
+ 2fd4: ae63 0640 macw %d3u,%spl,>>,%a3@-,%sp,%acc1
+ 2fd8: aee3 0650 macw %d3u,%spl,>>,%a3@-,%sp,%acc3
+ 2fdc: a223 0660 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc1
+ 2fe0: a2a3 0670 macw %d3u,%d1l,<<,%a3@-&,%d1,%acc3
+ 2fe4: a663 0660 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc1
+ 2fe8: a6e3 0670 macw %d3u,%a3l,>>,%a3@-&,%a3,%acc3
+ 2fec: a623 0660 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc1
+ 2ff0: a6a3 0670 macw %d3u,%d3l,>>,%a3@-&,%d3,%acc3
+ 2ff4: ae63 0660 macw %d3u,%spl,>>,%a3@-&,%sp,%acc1
+ 2ff8: aee3 0670 macw %d3u,%spl,>>,%a3@-&,%sp,%acc3
+ 2ffc: a65f 0080 macw %spu,%a3u,%sp@\+,%a3,%acc1
+ 3000: a6df 0090 macw %spu,%a3u,%sp@\+,%a3,%acc3
+ 3004: a65f 0080 macw %spu,%a3u,%sp@\+,%a3,%acc1
+ 3008: a6df 0090 macw %spu,%a3u,%sp@\+,%a3,%acc3
+ 300c: a45f 0080 macw %spu,%a2u,%sp@\+,%a2,%acc1
+ 3010: a4df 0090 macw %spu,%a2u,%sp@\+,%a2,%acc3
+ 3014: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3018: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 301c: a65f 00a0 macw %spu,%a3u,%sp@\+&,%a3,%acc1
+ 3020: a6df 00b0 macw %spu,%a3u,%sp@\+&,%a3,%acc3
+ 3024: a65f 00a0 macw %spu,%a3u,%sp@\+&,%a3,%acc1
+ 3028: a6df 00b0 macw %spu,%a3u,%sp@\+&,%a3,%acc3
+ 302c: a45f 00a0 macw %spu,%a2u,%sp@\+&,%a2,%acc1
+ 3030: a4df 00b0 macw %spu,%a2u,%sp@\+&,%a2,%acc3
+ 3034: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3038: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 303c: a65f 0080 macw %spu,%a3u,%sp@\+,%a3,%acc1
+ 3040: a6df 0090 macw %spu,%a3u,%sp@\+,%a3,%acc3
+ 3044: a65f 0080 macw %spu,%a3u,%sp@\+,%a3,%acc1
+ 3048: a6df 0090 macw %spu,%a3u,%sp@\+,%a3,%acc3
+ 304c: a45f 0080 macw %spu,%a2u,%sp@\+,%a2,%acc1
+ 3050: a4df 0090 macw %spu,%a2u,%sp@\+,%a2,%acc3
+ 3054: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3058: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 305c: a65f 00a0 macw %spu,%a3u,%sp@\+&,%a3,%acc1
+ 3060: a6df 00b0 macw %spu,%a3u,%sp@\+&,%a3,%acc3
+ 3064: a65f 00a0 macw %spu,%a3u,%sp@\+&,%a3,%acc1
+ 3068: a6df 00b0 macw %spu,%a3u,%sp@\+&,%a3,%acc3
+ 306c: a45f 00a0 macw %spu,%a2u,%sp@\+&,%a2,%acc1
+ 3070: a4df 00b0 macw %spu,%a2u,%sp@\+&,%a2,%acc3
+ 3074: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3078: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 307c: a66f 0080 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc1
+ 3082: a6ef 0090 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc3
+ 3088: a66f 0080 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc1
+ 308e: a6ef 0090 000a macw %spl,%a3u,%sp@\(10\),%a3,%acc3
+ 3094: a46f 0080 000a macw %spl,%a2u,%sp@\(10\),%a2,%acc1
+ 309a: a4ef 0090 000a macw %spl,%a2u,%sp@\(10\),%a2,%acc3
+ 30a0: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 30a6: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 30ac: a66f 00a0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc1
+ 30b2: a6ef 00b0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc3
+ 30b8: a66f 00a0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc1
+ 30be: a6ef 00b0 000a macw %spl,%a3u,%sp@\(10\)&,%a3,%acc3
+ 30c4: a46f 00a0 000a macw %spl,%a2u,%sp@\(10\)&,%a2,%acc1
+ 30ca: a4ef 00b0 000a macw %spl,%a2u,%sp@\(10\)&,%a2,%acc3
+ 30d0: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 30d6: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 30dc: a66d 0080 a6ed macw %a5l,%a3u,%a5@\(-22803\),%a3,%acc1
+ 30e2: 0090 a66d 0080 oril #-1502805888,%d0
+ 30e8: a6ed 0090 a46d macw %a5l,%a3u,%a5@\(-23443\),%a3,%acc3
+ 30ee: 0080 a4ed 0090 oril #-1527971696,%d0
+ 30f4: ae6d 0080 aeed macw %a5l,%spu,%a5@\(-20755\),%sp,%acc1
+ 30fa: 0090 a66d 00a0 oril #-1502805856,%d0
+ 3100: a6ed 00b0 a66d macw %a5l,%a3u,%a5@\(-22931\)&,%a3,%acc3
+ 3106: 00a0 a6ed 00b0 oril #-1494417232,%d0
+ 310c: a46d 00a0 a4ed macw %a5l,%a2u,%a5@\(-23315\)&,%a2,%acc1
+ 3112: 00b0 ae6d 00a0 oril #-1368588128,%d0
+ 3118: aeed 00b0 a65f macw %a5l,%spu,%a5@\(-22945\)&,%sp,%acc3
+ 311e: 0280 a6df 0290 andil #-1495334256,%d0
+ 3124: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3128: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 312c: a45f 0280 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3130: a4df 0290 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3134: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3138: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 313c: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3140: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 3144: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3148: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 314c: a45f 02a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 3150: a4df 02b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 3154: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3158: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 315c: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3160: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 3164: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3168: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 316c: a45f 0280 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3170: a4df 0290 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3174: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3178: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 317c: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3180: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 3184: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3188: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 318c: a45f 02a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 3190: a4df 02b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 3194: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3198: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 319c: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 31a2: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 31a8: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 31ae: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 31b4: a46f 0280 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 31ba: a4ef 0290 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 31c0: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 31c6: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 31cc: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 31d2: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 31d8: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 31de: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 31e4: a46f 02a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 31ea: a4ef 02b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 31f0: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 31f6: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 31fc: a66d 0280 a6ed macw %a5l,%a3u,>>,%a5@\(-22803\),%a3,%acc1
+ 3202: 0290 a66d 0280 andil #-1502805376,%d0
+ 3208: a6ed 0290 a46d macw %a5l,%a3u,>>,%a5@\(-23443\),%a3,%acc3
+ 320e: 0280 a4ed 0290 andil #-1527971184,%d0
+ 3214: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 321a: 0290 a66d 02a0 andil #-1502805344,%d0
+ 3220: a6ed 02b0 a66d macw %a5l,%a3u,>>,%a5@\(-22931\)&,%a3,%acc3
+ 3226: 02a0 a6ed 02b0 andil #-1494416720,%d0
+ 322c: a46d 02a0 a4ed macw %a5l,%a2u,,%a5@\(-23315\)&,%a2,%acc1
+ 3232: 02b0 ae6d 02a0 andil #-1368587616,%d0
+ 3238: aeed 02b0 a65f macw %a5l,%spu,>>,%a5@\(-22945\)&,%sp,%acc3
+ 323e: 0680 a6df 0690 addil #-1495333232,%d0
+ 3244: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3248: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 324c: a45f 0680 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3250: a4df 0690 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3254: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3258: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 325c: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3260: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 3264: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3268: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 326c: a45f 06a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 3270: a4df 06b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 3274: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3278: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 327c: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3280: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 3284: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3288: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 328c: a45f 0680 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3290: a4df 0690 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3294: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3298: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 329c: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 32a0: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 32a4: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 32a8: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 32ac: a45f 06a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 32b0: a4df 06b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 32b4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 32b8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 32bc: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 32c2: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 32c8: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 32ce: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 32d4: a46f 0680 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 32da: a4ef 0690 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 32e0: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 32e6: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 32ec: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 32f2: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 32f8: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 32fe: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 3304: a46f 06a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 330a: a4ef 06b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 3310: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3316: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 331c: a66d 0680 a6ed macw %a5l,%a3u,>>,%a5@\(-22803\),%a3,%acc1
+ 3322: 0690 a66d 0680 addil #-1502804352,%d0
+ 3328: a6ed 0690 a46d macw %a5l,%a3u,>>,%a5@\(-23443\),%a3,%acc3
+ 332e: 0680 a4ed 0690 addil #-1527970160,%d0
+ 3334: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 333a: 0690 a66d 06a0 addil #-1502804320,%d0
+ 3340: a6ed 06b0 a66d macw %a5l,%a3u,>>,%a5@\(-22931\)&,%a3,%acc3
+ 3346: 06a0 a6ed 06b0 addil #-1494415696,%d0
+ 334c: a46d 06a0 a4ed macw %a5l,%a2u,,%a5@\(-23315\)&,%a2,%acc1
+ 3352: 06b0 ae6d 06a0 addil #-1368586592,%d0
+ 3358: aeed 06b0 a65f macw %a5l,%spu,>>,%a5@\(-22945\)&,%sp,%acc3
+ 335e: 0280 a6df 0290 andil #-1495334256,%d0
+ 3364: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3368: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 336c: a45f 0280 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3370: a4df 0290 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3374: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3378: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 337c: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3380: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 3384: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 3388: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 338c: a45f 02a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 3390: a4df 02b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 3394: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3398: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 339c: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 33a0: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 33a4: a65f 0280 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 33a8: a6df 0290 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 33ac: a45f 0280 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 33b0: a4df 0290 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 33b4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 33b8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 33bc: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 33c0: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 33c4: a65f 02a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 33c8: a6df 02b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 33cc: a45f 02a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 33d0: a4df 02b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 33d4: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 33d8: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 33dc: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 33e2: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 33e8: a66f 0280 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 33ee: a6ef 0290 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 33f4: a46f 0280 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 33fa: a4ef 0290 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 3400: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3406: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 340c: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 3412: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 3418: a66f 02a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 341e: a6ef 02b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 3424: a46f 02a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 342a: a4ef 02b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 3430: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3436: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 343c: a66d 0280 a6ed macw %a5l,%a3u,>>,%a5@\(-22803\),%a3,%acc1
+ 3442: 0290 a66d 0280 andil #-1502805376,%d0
+ 3448: a6ed 0290 a46d macw %a5l,%a3u,>>,%a5@\(-23443\),%a3,%acc3
+ 344e: 0280 a4ed 0290 andil #-1527971184,%d0
+ 3454: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 345a: 0290 a66d 02a0 andil #-1502805344,%d0
+ 3460: a6ed 02b0 a66d macw %a5l,%a3u,>>,%a5@\(-22931\)&,%a3,%acc3
+ 3466: 02a0 a6ed 02b0 andil #-1494416720,%d0
+ 346c: a46d 02a0 a4ed macw %a5l,%a2u,,%a5@\(-23315\)&,%a2,%acc1
+ 3472: 02b0 ae6d 02a0 andil #-1368587616,%d0
+ 3478: aeed 02b0 a65f macw %a5l,%spu,>>,%a5@\(-22945\)&,%sp,%acc3
+ 347e: 0680 a6df 0690 addil #-1495333232,%d0
+ 3484: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 3488: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 348c: a45f 0680 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 3490: a4df 0690 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 3494: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3498: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 349c: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 34a0: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 34a4: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 34a8: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 34ac: a45f 06a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 34b0: a4df 06b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 34b4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 34b8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 34bc: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 34c0: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 34c4: a65f 0680 macw %spu,%a3u,>>,%sp@\+,%a3,%acc1
+ 34c8: a6df 0690 macw %spu,%a3u,>>,%sp@\+,%a3,%acc3
+ 34cc: a45f 0680 macw %spu,%a2u,,%sp@\+,%a2,%acc1
+ 34d0: a4df 0690 macw %spu,%a2u,,%sp@\+,%a2,%acc3
+ 34d4: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 34d8: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 34dc: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 34e0: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 34e4: a65f 06a0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc1
+ 34e8: a6df 06b0 macw %spu,%a3u,>>,%sp@\+&,%a3,%acc3
+ 34ec: a45f 06a0 macw %spu,%a2u,,%sp@\+&,%a2,%acc1
+ 34f0: a4df 06b0 macw %spu,%a2u,,%sp@\+&,%a2,%acc3
+ 34f4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 34f8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 34fc: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 3502: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 3508: a66f 0680 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc1
+ 350e: a6ef 0690 000a macw %spl,%a3u,>>,%sp@\(10\),%a3,%acc3
+ 3514: a46f 0680 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc1
+ 351a: a4ef 0690 000a macw %spl,%a2u,,%sp@\(10\),%a2,%acc3
+ 3520: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3526: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 352c: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 3532: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 3538: a66f 06a0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc1
+ 353e: a6ef 06b0 000a macw %spl,%a3u,>>,%sp@\(10\)&,%a3,%acc3
+ 3544: a46f 06a0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc1
+ 354a: a4ef 06b0 000a macw %spl,%a2u,,%sp@\(10\)&,%a2,%acc3
+ 3550: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3556: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 355c: a66d 0680 a6ed macw %a5l,%a3u,>>,%a5@\(-22803\),%a3,%acc1
+ 3562: 0690 a66d 0680 addil #-1502804352,%d0
+ 3568: a6ed 0690 a46d macw %a5l,%a3u,>>,%a5@\(-23443\),%a3,%acc3
+ 356e: 0680 a4ed 0690 addil #-1527970160,%d0
+ 3574: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 357a: 0690 a66d 06a0 addil #-1502804320,%d0
+ 3580: a6ed 06b0 a66d macw %a5l,%a3u,>>,%a5@\(-22931\)&,%a3,%acc3
+ 3586: 06a0 a6ed 06b0 addil #-1494415696,%d0
+ 358c: a46d 06a0 a4ed macw %a5l,%a2u,,%a5@\(-23315\)&,%a2,%acc1
+ 3592: 06b0 ae6d 06a0 addil #-1368586592,%d0
+ 3598: aeed 06b0 a61f macw %a5l,%spu,>>,%a5@\(-23009\)&,%sp,%acc3
+ 359e: 0000 00
+ 35a0: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 35a4: a65f 0000 macw %spu,%a3l,%sp@\+,%a3,%acc1
+ 35a8: a6df 0010 macw %spu,%a3l,%sp@\+,%a3,%acc3
+ 35ac: a61f 0000 macw %spu,%d3l,%sp@\+,%d3,%acc1
+ 35b0: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 35b4: ae5f 0000 macw %spu,%spl,%sp@\+,%sp,%acc1
+ 35b8: aedf 0010 macw %spu,%spl,%sp@\+,%sp,%acc3
+ 35bc: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 35c0: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 35c4: a65f 0020 macw %spu,%a3l,%sp@\+&,%a3,%acc1
+ 35c8: a6df 0030 macw %spu,%a3l,%sp@\+&,%a3,%acc3
+ 35cc: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 35d0: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 35d4: ae5f 0020 macw %spu,%spl,%sp@\+&,%sp,%acc1
+ 35d8: aedf 0030 macw %spu,%spl,%sp@\+&,%sp,%acc3
+ 35dc: a61f 0000 macw %spu,%d3l,%sp@\+,%d3,%acc1
+ 35e0: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 35e4: a65f 0000 macw %spu,%a3l,%sp@\+,%a3,%acc1
+ 35e8: a6df 0010 macw %spu,%a3l,%sp@\+,%a3,%acc3
+ 35ec: a61f 0000 macw %spu,%d3l,%sp@\+,%d3,%acc1
+ 35f0: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 35f4: ae5f 0000 macw %spu,%spl,%sp@\+,%sp,%acc1
+ 35f8: aedf 0010 macw %spu,%spl,%sp@\+,%sp,%acc3
+ 35fc: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 3600: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 3604: a65f 0020 macw %spu,%a3l,%sp@\+&,%a3,%acc1
+ 3608: a6df 0030 macw %spu,%a3l,%sp@\+&,%a3,%acc3
+ 360c: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 3610: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 3614: ae5f 0020 macw %spu,%spl,%sp@\+&,%sp,%acc1
+ 3618: aedf 0030 macw %spu,%spl,%sp@\+&,%sp,%acc3
+ 361c: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 3622: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 3628: a66f 0000 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc1
+ 362e: a6ef 0010 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc3
+ 3634: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 363a: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 3640: ae6f 0000 000a macw %spl,%spl,%sp@\(10\),%sp,%acc1
+ 3646: aeef 0010 000a macw %spl,%spl,%sp@\(10\),%sp,%acc3
+ 364c: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 3652: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 3658: a66f 0020 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc1
+ 365e: a6ef 0030 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc3
+ 3664: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 366a: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 3670: ae6f 0020 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc1
+ 3676: aeef 0030 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc3
+ 367c: a62d 0000 a6ad macw %a5l,%d3l,%a5@\(-22867\),%d3,%acc1
+ 3682: 0010 020
+ 3684: a66d 0000 a6ed macw %a5l,%a3l,%a5@\(-22803\),%a3,%acc1
+ 368a: 0010 020
+ 368c: a62d 0000 a6ad macw %a5l,%d3l,%a5@\(-22867\),%d3,%acc1
+ 3692: 0010 020
+ 3694: ae6d 0000 aeed macw %a5l,%spl,%a5@\(-20755\),%sp,%acc1
+ 369a: 0010 020
+ 369c: a62d 0020 a6ad macw %a5l,%d3l,%a5@\(-22867\)&,%d3,%acc1
+ 36a2: 0030 060
+ 36a4: a66d 0020 a6ed macw %a5l,%a3l,%a5@\(-22803\)&,%a3,%acc1
+ 36aa: 0030 060
+ 36ac: a62d 0020 a6ad macw %a5l,%d3l,%a5@\(-22867\)&,%d3,%acc1
+ 36b2: 0030 060
+ 36b4: ae6d 0020 aeed macw %a5l,%spl,%a5@\(-20755\)&,%sp,%acc1
+ 36ba: 0030 060
+ 36bc: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 36c0: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 36c4: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 36c8: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 36cc: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 36d0: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 36d4: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 36d8: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 36dc: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 36e0: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 36e4: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 36e8: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 36ec: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 36f0: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 36f4: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 36f8: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 36fc: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3700: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3704: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3708: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 370c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3710: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3714: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3718: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 371c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3720: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3724: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3728: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 372c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3730: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3734: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3738: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 373c: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 3742: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3748: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 374e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 3754: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 375a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3760: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 3766: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 376c: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 3772: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 3778: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 377e: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 3784: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 378a: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 3790: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 3796: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 379c: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 37a2: 0210 01020
+ 37a4: a66d 0200 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 37aa: 0210 01020
+ 37ac: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 37b2: 0210 01020
+ 37b4: ae6d 0200 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 37ba: 0210 01020
+ 37bc: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 37c2: 0230 01060
+ 37c4: a66d 0220 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 37ca: 0230 01060
+ 37cc: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 37d2: 0230 01060
+ 37d4: ae6d 0220 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 37da: 0230 01060
+ 37dc: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 37e0: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 37e4: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 37e8: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 37ec: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 37f0: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 37f4: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 37f8: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 37fc: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3800: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3804: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3808: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 380c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3810: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3814: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3818: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 381c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3820: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3824: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3828: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 382c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3830: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3834: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3838: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 383c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3840: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3844: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3848: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 384c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3850: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3854: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3858: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 385c: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 3862: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3868: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 386e: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 3874: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 387a: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3880: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 3886: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 388c: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 3892: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 3898: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 389e: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 38a4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 38aa: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 38b0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 38b6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 38bc: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 38c2: 0610 03020
+ 38c4: a66d 0600 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 38ca: 0610 03020
+ 38cc: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 38d2: 0610 03020
+ 38d4: ae6d 0600 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 38da: 0610 03020
+ 38dc: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 38e2: 0630 03060
+ 38e4: a66d 0620 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 38ea: 0630 03060
+ 38ec: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 38f2: 0630 03060
+ 38f4: ae6d 0620 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 38fa: 0630 03060
+ 38fc: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3900: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3904: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3908: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 390c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3910: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3914: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3918: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 391c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3920: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3924: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3928: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 392c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3930: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3934: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3938: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 393c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3940: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3944: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3948: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 394c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3950: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3954: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3958: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 395c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3960: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3964: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3968: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 396c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3970: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3974: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3978: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 397c: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 3982: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3988: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 398e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 3994: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 399a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 39a0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 39a6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 39ac: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 39b2: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 39b8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 39be: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 39c4: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 39ca: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 39d0: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 39d6: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 39dc: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 39e2: 0210 01020
+ 39e4: a66d 0200 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 39ea: 0210 01020
+ 39ec: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 39f2: 0210 01020
+ 39f4: ae6d 0200 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 39fa: 0210 01020
+ 39fc: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 3a02: 0230 01060
+ 3a04: a66d 0220 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 3a0a: 0230 01060
+ 3a0c: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 3a12: 0230 01060
+ 3a14: ae6d 0220 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 3a1a: 0230 01060
+ 3a1c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3a20: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3a24: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3a28: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 3a2c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3a30: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3a34: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3a38: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 3a3c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3a40: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3a44: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3a48: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 3a4c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3a50: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3a54: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3a58: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 3a5c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3a60: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3a64: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 3a68: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 3a6c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 3a70: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 3a74: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 3a78: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 3a7c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3a80: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3a84: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 3a88: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 3a8c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 3a90: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 3a94: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 3a98: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 3a9c: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 3aa2: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3aa8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 3aae: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 3ab4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 3aba: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 3ac0: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 3ac6: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 3acc: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 3ad2: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 3ad8: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 3ade: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 3ae4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 3aea: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 3af0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 3af6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 3afc: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 3b02: 0610 03020
+ 3b04: a66d 0600 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 3b0a: 0610 03020
+ 3b0c: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 3b12: 0610 03020
+ 3b14: ae6d 0600 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 3b1a: 0610 03020
+ 3b1c: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 3b22: 0630 03060
+ 3b24: a66d 0620 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 3b2a: 0630 03060
+ 3b2c: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 3b32: 0630 03060
+ 3b34: ae6d 0620 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 3b3a: 0630 03060
+ 3b3c: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b40: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b44: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b48: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b4c: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b50: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b54: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b58: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b5c: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3b60: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3b64: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3b68: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3b6c: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3b70: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3b74: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3b78: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3b7c: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b80: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b84: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b88: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b8c: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b90: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b94: ae5f 0080 macw %spu,%spu,%sp@\+,%sp,%acc1
+ 3b98: aedf 0090 macw %spu,%spu,%sp@\+,%sp,%acc3
+ 3b9c: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3ba0: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3ba4: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3ba8: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3bac: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3bb0: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3bb4: ae5f 00a0 macw %spu,%spu,%sp@\+&,%sp,%acc1
+ 3bb8: aedf 00b0 macw %spu,%spu,%sp@\+&,%sp,%acc3
+ 3bbc: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 3bc2: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 3bc8: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 3bce: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 3bd4: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 3bda: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 3be0: ae6f 0080 000a macw %spl,%spu,%sp@\(10\),%sp,%acc1
+ 3be6: aeef 0090 000a macw %spl,%spu,%sp@\(10\),%sp,%acc3
+ 3bec: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 3bf2: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 3bf8: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 3bfe: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 3c04: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 3c0a: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 3c10: ae6f 00a0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc1
+ 3c16: aeef 00b0 000a macw %spl,%spu,%sp@\(10\)&,%sp,%acc3
+ 3c1c: ae6d 0080 aeed macw %a5l,%spu,%a5@\(-20755\),%sp,%acc1
+ 3c22: 0090 ae6d 0080 oril #-1368588160,%d0
+ 3c28: aeed 0090 ae6d macw %a5l,%spu,%a5@\(-20883\),%sp,%acc3
+ 3c2e: 0080 aeed 0090 oril #-1360199536,%d0
+ 3c34: ae6d 0080 aeed macw %a5l,%spu,%a5@\(-20755\),%sp,%acc1
+ 3c3a: 0090 ae6d 00a0 oril #-1368588128,%d0
+ 3c40: aeed 00b0 ae6d macw %a5l,%spu,%a5@\(-20883\)&,%sp,%acc3
+ 3c46: 00a0 aeed 00b0 oril #-1360199504,%d0
+ 3c4c: ae6d 00a0 aeed macw %a5l,%spu,%a5@\(-20755\)&,%sp,%acc1
+ 3c52: 00b0 ae6d 00a0 oril #-1368588128,%d0
+ 3c58: aeed 00b0 ae5f macw %a5l,%spu,%a5@\(-20897\)&,%sp,%acc3
+ 3c5e: 0280 aedf 0290 andil #-1361116528,%d0
+ 3c64: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3c68: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3c6c: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3c70: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3c74: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3c78: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3c7c: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3c80: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3c84: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3c88: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3c8c: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3c90: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3c94: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3c98: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3c9c: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ca0: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3ca4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ca8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3cac: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3cb0: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3cb4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3cb8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3cbc: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3cc0: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3cc4: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3cc8: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ccc: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3cd0: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3cd4: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3cd8: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3cdc: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3ce2: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3ce8: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3cee: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3cf4: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3cfa: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3d00: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3d06: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3d0c: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3d12: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3d18: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3d1e: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3d24: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3d2a: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3d30: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3d36: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3d3c: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3d42: 0290 ae6d 0280 andil #-1368587648,%d0
+ 3d48: aeed 0290 ae6d macw %a5l,%spu,>>,%a5@\(-20883\),%sp,%acc3
+ 3d4e: 0280 aeed 0290 andil #-1360199024,%d0
+ 3d54: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3d5a: 0290 ae6d 02a0 andil #-1368587616,%d0
+ 3d60: aeed 02b0 ae6d macw %a5l,%spu,>>,%a5@\(-20883\)&,%sp,%acc3
+ 3d66: 02a0 aeed 02b0 andil #-1360198992,%d0
+ 3d6c: ae6d 02a0 aeed macw %a5l,%spu,>>,%a5@\(-20755\)&,%sp,%acc1
+ 3d72: 02b0 ae6d 02a0 andil #-1368587616,%d0
+ 3d78: aeed 02b0 ae5f macw %a5l,%spu,>>,%a5@\(-20897\)&,%sp,%acc3
+ 3d7e: 0680 aedf 0690 addil #-1361115504,%d0
+ 3d84: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3d88: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3d8c: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3d90: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3d94: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3d98: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3d9c: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3da0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3da4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3da8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3dac: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3db0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3db4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3db8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3dbc: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3dc0: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3dc4: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3dc8: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3dcc: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3dd0: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3dd4: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3dd8: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3ddc: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3de0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3de4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3de8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3dec: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3df0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3df4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3df8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3dfc: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3e02: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3e08: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3e0e: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3e14: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3e1a: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3e20: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3e26: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3e2c: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3e32: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3e38: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3e3e: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3e44: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3e4a: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3e50: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3e56: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3e5c: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3e62: 0690 ae6d 0680 addil #-1368586624,%d0
+ 3e68: aeed 0690 ae6d macw %a5l,%spu,>>,%a5@\(-20883\),%sp,%acc3
+ 3e6e: 0680 aeed 0690 addil #-1360198000,%d0
+ 3e74: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3e7a: 0690 ae6d 06a0 addil #-1368586592,%d0
+ 3e80: aeed 06b0 ae6d macw %a5l,%spu,>>,%a5@\(-20883\)&,%sp,%acc3
+ 3e86: 06a0 aeed 06b0 addil #-1360197968,%d0
+ 3e8c: ae6d 06a0 aeed macw %a5l,%spu,>>,%a5@\(-20755\)&,%sp,%acc1
+ 3e92: 06b0 ae6d 06a0 addil #-1368586592,%d0
+ 3e98: aeed 06b0 ae5f macw %a5l,%spu,>>,%a5@\(-20897\)&,%sp,%acc3
+ 3e9e: 0280 aedf 0290 andil #-1361116528,%d0
+ 3ea4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ea8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3eac: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3eb0: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3eb4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3eb8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3ebc: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ec0: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ec4: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ec8: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ecc: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ed0: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ed4: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ed8: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3edc: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ee0: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3ee4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ee8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3eec: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ef0: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3ef4: ae5f 0280 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3ef8: aedf 0290 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3efc: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3f00: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3f04: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3f08: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3f0c: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3f10: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3f14: ae5f 02a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3f18: aedf 02b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3f1c: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3f22: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3f28: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3f2e: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3f34: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3f3a: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3f40: ae6f 0280 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 3f46: aeef 0290 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 3f4c: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3f52: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3f58: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3f5e: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3f64: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3f6a: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3f70: ae6f 02a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 3f76: aeef 02b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 3f7c: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3f82: 0290 ae6d 0280 andil #-1368587648,%d0
+ 3f88: aeed 0290 ae6d macw %a5l,%spu,>>,%a5@\(-20883\),%sp,%acc3
+ 3f8e: 0280 aeed 0290 andil #-1360199024,%d0
+ 3f94: ae6d 0280 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 3f9a: 0290 ae6d 02a0 andil #-1368587616,%d0
+ 3fa0: aeed 02b0 ae6d macw %a5l,%spu,>>,%a5@\(-20883\)&,%sp,%acc3
+ 3fa6: 02a0 aeed 02b0 andil #-1360198992,%d0
+ 3fac: ae6d 02a0 aeed macw %a5l,%spu,>>,%a5@\(-20755\)&,%sp,%acc1
+ 3fb2: 02b0 ae6d 02a0 andil #-1368587616,%d0
+ 3fb8: aeed 02b0 ae5f macw %a5l,%spu,>>,%a5@\(-20897\)&,%sp,%acc3
+ 3fbe: 0680 aedf 0690 addil #-1361115504,%d0
+ 3fc4: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3fc8: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3fcc: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3fd0: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3fd4: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 3fd8: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 3fdc: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3fe0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3fe4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3fe8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3fec: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ff0: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ff4: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 3ff8: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 3ffc: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 4000: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 4004: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 4008: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 400c: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 4010: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 4014: ae5f 0680 macw %spu,%spu,>>,%sp@\+,%sp,%acc1
+ 4018: aedf 0690 macw %spu,%spu,>>,%sp@\+,%sp,%acc3
+ 401c: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 4020: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 4024: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 4028: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 402c: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 4030: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 4034: ae5f 06a0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc1
+ 4038: aedf 06b0 macw %spu,%spu,>>,%sp@\+&,%sp,%acc3
+ 403c: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 4042: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 4048: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 404e: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 4054: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 405a: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 4060: ae6f 0680 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc1
+ 4066: aeef 0690 000a macw %spl,%spu,>>,%sp@\(10\),%sp,%acc3
+ 406c: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 4072: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 4078: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 407e: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 4084: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 408a: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 4090: ae6f 06a0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc1
+ 4096: aeef 06b0 000a macw %spl,%spu,>>,%sp@\(10\)&,%sp,%acc3
+ 409c: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 40a2: 0690 ae6d 0680 addil #-1368586624,%d0
+ 40a8: aeed 0690 ae6d macw %a5l,%spu,>>,%a5@\(-20883\),%sp,%acc3
+ 40ae: 0680 aeed 0690 addil #-1360198000,%d0
+ 40b4: ae6d 0680 aeed macw %a5l,%spu,>>,%a5@\(-20755\),%sp,%acc1
+ 40ba: 0690 ae6d 06a0 addil #-1368586592,%d0
+ 40c0: aeed 06b0 ae6d macw %a5l,%spu,>>,%a5@\(-20883\)&,%sp,%acc3
+ 40c6: 06a0 aeed 06b0 addil #-1360197968,%d0
+ 40cc: ae6d 06a0 aeed macw %a5l,%spu,>>,%a5@\(-20755\)&,%sp,%acc1
+ 40d2: 06b0 ae6d 06a0 addil #-1368586592,%d0
+ 40d8: aeed 06b0 a21f macw %a5l,%spu,>>,%a5@\(-24033\)&,%sp,%acc3
+ 40de: 0000 00
+ 40e0: a29f 0010 macw %spu,%d1l,%sp@\+,%d1,%acc3
+ 40e4: a65f 0000 macw %spu,%a3l,%sp@\+,%a3,%acc1
+ 40e8: a6df 0010 macw %spu,%a3l,%sp@\+,%a3,%acc3
+ 40ec: a61f 0000 macw %spu,%d3l,%sp@\+,%d3,%acc1
+ 40f0: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 40f4: ae5f 0000 macw %spu,%spl,%sp@\+,%sp,%acc1
+ 40f8: aedf 0010 macw %spu,%spl,%sp@\+,%sp,%acc3
+ 40fc: a21f 0020 macw %spu,%d1l,%sp@\+&,%d1,%acc1
+ 4100: a29f 0030 macw %spu,%d1l,%sp@\+&,%d1,%acc3
+ 4104: a65f 0020 macw %spu,%a3l,%sp@\+&,%a3,%acc1
+ 4108: a6df 0030 macw %spu,%a3l,%sp@\+&,%a3,%acc3
+ 410c: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 4110: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 4114: ae5f 0020 macw %spu,%spl,%sp@\+&,%sp,%acc1
+ 4118: aedf 0030 macw %spu,%spl,%sp@\+&,%sp,%acc3
+ 411c: a21f 0000 macw %spu,%d1l,%sp@\+,%d1,%acc1
+ 4120: a29f 0010 macw %spu,%d1l,%sp@\+,%d1,%acc3
+ 4124: a65f 0000 macw %spu,%a3l,%sp@\+,%a3,%acc1
+ 4128: a6df 0010 macw %spu,%a3l,%sp@\+,%a3,%acc3
+ 412c: a61f 0000 macw %spu,%d3l,%sp@\+,%d3,%acc1
+ 4130: a69f 0010 macw %spu,%d3l,%sp@\+,%d3,%acc3
+ 4134: ae5f 0000 macw %spu,%spl,%sp@\+,%sp,%acc1
+ 4138: aedf 0010 macw %spu,%spl,%sp@\+,%sp,%acc3
+ 413c: a21f 0020 macw %spu,%d1l,%sp@\+&,%d1,%acc1
+ 4140: a29f 0030 macw %spu,%d1l,%sp@\+&,%d1,%acc3
+ 4144: a65f 0020 macw %spu,%a3l,%sp@\+&,%a3,%acc1
+ 4148: a6df 0030 macw %spu,%a3l,%sp@\+&,%a3,%acc3
+ 414c: a61f 0020 macw %spu,%d3l,%sp@\+&,%d3,%acc1
+ 4150: a69f 0030 macw %spu,%d3l,%sp@\+&,%d3,%acc3
+ 4154: ae5f 0020 macw %spu,%spl,%sp@\+&,%sp,%acc1
+ 4158: aedf 0030 macw %spu,%spl,%sp@\+&,%sp,%acc3
+ 415c: a22f 0000 000a macw %spl,%d1l,%sp@\(10\),%d1,%acc1
+ 4162: a2af 0010 000a macw %spl,%d1l,%sp@\(10\),%d1,%acc3
+ 4168: a66f 0000 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc1
+ 416e: a6ef 0010 000a macw %spl,%a3l,%sp@\(10\),%a3,%acc3
+ 4174: a62f 0000 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc1
+ 417a: a6af 0010 000a macw %spl,%d3l,%sp@\(10\),%d3,%acc3
+ 4180: ae6f 0000 000a macw %spl,%spl,%sp@\(10\),%sp,%acc1
+ 4186: aeef 0010 000a macw %spl,%spl,%sp@\(10\),%sp,%acc3
+ 418c: a22f 0020 000a macw %spl,%d1l,%sp@\(10\)&,%d1,%acc1
+ 4192: a2af 0030 000a macw %spl,%d1l,%sp@\(10\)&,%d1,%acc3
+ 4198: a66f 0020 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc1
+ 419e: a6ef 0030 000a macw %spl,%a3l,%sp@\(10\)&,%a3,%acc3
+ 41a4: a62f 0020 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc1
+ 41aa: a6af 0030 000a macw %spl,%d3l,%sp@\(10\)&,%d3,%acc3
+ 41b0: ae6f 0020 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc1
+ 41b6: aeef 0030 000a macw %spl,%spl,%sp@\(10\)&,%sp,%acc3
+ 41bc: a22d 0000 a2ad macw %a5l,%d1l,%a5@\(-23891\),%d1,%acc1
+ 41c2: 0010 020
+ 41c4: a66d 0000 a6ed macw %a5l,%a3l,%a5@\(-22803\),%a3,%acc1
+ 41ca: 0010 020
+ 41cc: a62d 0000 a6ad macw %a5l,%d3l,%a5@\(-22867\),%d3,%acc1
+ 41d2: 0010 020
+ 41d4: ae6d 0000 aeed macw %a5l,%spl,%a5@\(-20755\),%sp,%acc1
+ 41da: 0010 020
+ 41dc: a22d 0020 a2ad macw %a5l,%d1l,%a5@\(-23891\)&,%d1,%acc1
+ 41e2: 0030 060
+ 41e4: a66d 0020 a6ed macw %a5l,%a3l,%a5@\(-22803\)&,%a3,%acc1
+ 41ea: 0030 060
+ 41ec: a62d 0020 a6ad macw %a5l,%d3l,%a5@\(-22867\)&,%d3,%acc1
+ 41f2: 0030 060
+ 41f4: ae6d 0020 aeed macw %a5l,%spl,%a5@\(-20755\)&,%sp,%acc1
+ 41fa: 0030 060
+ 41fc: a21f 0200 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4200: a29f 0210 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4204: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4208: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 420c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4210: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4214: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4218: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 421c: a21f 0220 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4220: a29f 0230 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4224: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4228: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 422c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4230: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4234: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4238: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 423c: a21f 0200 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4240: a29f 0210 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4244: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4248: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 424c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4250: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4254: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4258: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 425c: a21f 0220 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4260: a29f 0230 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4264: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4268: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 426c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4270: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4274: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4278: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 427c: a22f 0200 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 4282: a2af 0210 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 4288: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 428e: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 4294: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 429a: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 42a0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 42a6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 42ac: a22f 0220 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 42b2: a2af 0230 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 42b8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 42be: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 42c4: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 42ca: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 42d0: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 42d6: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 42dc: a22d 0200 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\),%d1,%acc1
+ 42e2: 0210 01020
+ 42e4: a66d 0200 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 42ea: 0210 01020
+ 42ec: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 42f2: 0210 01020
+ 42f4: ae6d 0200 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 42fa: 0210 01020
+ 42fc: a22d 0220 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\)&,%d1,%acc1
+ 4302: 0230 01060
+ 4304: a66d 0220 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 430a: 0230 01060
+ 430c: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 4312: 0230 01060
+ 4314: ae6d 0220 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 431a: 0230 01060
+ 431c: a21f 0600 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4320: a29f 0610 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4324: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4328: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 432c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4330: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4334: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4338: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 433c: a21f 0620 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4340: a29f 0630 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4344: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4348: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 434c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4350: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4354: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4358: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 435c: a21f 0600 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4360: a29f 0610 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4364: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4368: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 436c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4370: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4374: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4378: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 437c: a21f 0620 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4380: a29f 0630 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4384: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4388: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 438c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4390: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4394: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4398: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 439c: a22f 0600 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 43a2: a2af 0610 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 43a8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 43ae: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 43b4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 43ba: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 43c0: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 43c6: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 43cc: a22f 0620 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 43d2: a2af 0630 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 43d8: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 43de: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 43e4: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 43ea: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 43f0: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 43f6: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 43fc: a22d 0600 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\),%d1,%acc1
+ 4402: 0610 03020
+ 4404: a66d 0600 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 440a: 0610 03020
+ 440c: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 4412: 0610 03020
+ 4414: ae6d 0600 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 441a: 0610 03020
+ 441c: a22d 0620 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\)&,%d1,%acc1
+ 4422: 0630 03060
+ 4424: a66d 0620 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 442a: 0630 03060
+ 442c: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 4432: 0630 03060
+ 4434: ae6d 0620 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 443a: 0630 03060
+ 443c: a21f 0200 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4440: a29f 0210 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4444: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4448: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 444c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4450: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4454: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4458: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 445c: a21f 0220 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4460: a29f 0230 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4464: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4468: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 446c: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4470: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4474: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4478: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 447c: a21f 0200 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4480: a29f 0210 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4484: a65f 0200 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4488: a6df 0210 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 448c: a61f 0200 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4490: a69f 0210 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4494: ae5f 0200 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4498: aedf 0210 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 449c: a21f 0220 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 44a0: a29f 0230 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 44a4: a65f 0220 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 44a8: a6df 0230 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 44ac: a61f 0220 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 44b0: a69f 0230 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 44b4: ae5f 0220 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 44b8: aedf 0230 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 44bc: a22f 0200 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 44c2: a2af 0210 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 44c8: a66f 0200 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 44ce: a6ef 0210 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 44d4: a62f 0200 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 44da: a6af 0210 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 44e0: ae6f 0200 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 44e6: aeef 0210 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 44ec: a22f 0220 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 44f2: a2af 0230 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 44f8: a66f 0220 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 44fe: a6ef 0230 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 4504: a62f 0220 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 450a: a6af 0230 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 4510: ae6f 0220 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 4516: aeef 0230 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 451c: a22d 0200 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\),%d1,%acc1
+ 4522: 0210 01020
+ 4524: a66d 0200 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 452a: 0210 01020
+ 452c: a62d 0200 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 4532: 0210 01020
+ 4534: ae6d 0200 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 453a: 0210 01020
+ 453c: a22d 0220 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\)&,%d1,%acc1
+ 4542: 0230 01060
+ 4544: a66d 0220 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 454a: 0230 01060
+ 454c: a62d 0220 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 4552: 0230 01060
+ 4554: ae6d 0220 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 455a: 0230 01060
+ 455c: a21f 0600 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 4560: a29f 0610 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 4564: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 4568: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 456c: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 4570: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 4574: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 4578: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 457c: a21f 0620 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 4580: a29f 0630 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 4584: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 4588: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 458c: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 4590: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 4594: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 4598: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 459c: a21f 0600 macw %spu,%d1l,<<,%sp@\+,%d1,%acc1
+ 45a0: a29f 0610 macw %spu,%d1l,<<,%sp@\+,%d1,%acc3
+ 45a4: a65f 0600 macw %spu,%a3l,>>,%sp@\+,%a3,%acc1
+ 45a8: a6df 0610 macw %spu,%a3l,>>,%sp@\+,%a3,%acc3
+ 45ac: a61f 0600 macw %spu,%d3l,>>,%sp@\+,%d3,%acc1
+ 45b0: a69f 0610 macw %spu,%d3l,>>,%sp@\+,%d3,%acc3
+ 45b4: ae5f 0600 macw %spu,%spl,>>,%sp@\+,%sp,%acc1
+ 45b8: aedf 0610 macw %spu,%spl,>>,%sp@\+,%sp,%acc3
+ 45bc: a21f 0620 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc1
+ 45c0: a29f 0630 macw %spu,%d1l,<<,%sp@\+&,%d1,%acc3
+ 45c4: a65f 0620 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc1
+ 45c8: a6df 0630 macw %spu,%a3l,>>,%sp@\+&,%a3,%acc3
+ 45cc: a61f 0620 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc1
+ 45d0: a69f 0630 macw %spu,%d3l,>>,%sp@\+&,%d3,%acc3
+ 45d4: ae5f 0620 macw %spu,%spl,>>,%sp@\+&,%sp,%acc1
+ 45d8: aedf 0630 macw %spu,%spl,>>,%sp@\+&,%sp,%acc3
+ 45dc: a22f 0600 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc1
+ 45e2: a2af 0610 000a macw %spl,%d1l,<<,%sp@\(10\),%d1,%acc3
+ 45e8: a66f 0600 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc1
+ 45ee: a6ef 0610 000a macw %spl,%a3l,>>,%sp@\(10\),%a3,%acc3
+ 45f4: a62f 0600 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc1
+ 45fa: a6af 0610 000a macw %spl,%d3l,>>,%sp@\(10\),%d3,%acc3
+ 4600: ae6f 0600 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc1
+ 4606: aeef 0610 000a macw %spl,%spl,>>,%sp@\(10\),%sp,%acc3
+ 460c: a22f 0620 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc1
+ 4612: a2af 0630 000a macw %spl,%d1l,<<,%sp@\(10\)&,%d1,%acc3
+ 4618: a66f 0620 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc1
+ 461e: a6ef 0630 000a macw %spl,%a3l,>>,%sp@\(10\)&,%a3,%acc3
+ 4624: a62f 0620 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc1
+ 462a: a6af 0630 000a macw %spl,%d3l,>>,%sp@\(10\)&,%d3,%acc3
+ 4630: ae6f 0620 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc1
+ 4636: aeef 0630 000a macw %spl,%spl,>>,%sp@\(10\)&,%sp,%acc3
+ 463c: a22d 0600 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\),%d1,%acc1
+ 4642: 0610 03020
+ 4644: a66d 0600 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\),%a3,%acc1
+ 464a: 0610 03020
+ 464c: a62d 0600 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\),%d3,%acc1
+ 4652: 0610 03020
+ 4654: ae6d 0600 aeed macw %a5l,%spl,>>,%a5@\(-20755\),%sp,%acc1
+ 465a: 0610 03020
+ 465c: a22d 0620 a2ad macw %a5l,%d1l,<<,%a5@\(-23891\)&,%d1,%acc1
+ 4662: 0630 03060
+ 4664: a66d 0620 a6ed macw %a5l,%a3l,>>,%a5@\(-22803\)&,%a3,%acc1
+ 466a: 0630 03060
+ 466c: a62d 0620 a6ad macw %a5l,%d3l,>>,%a5@\(-22867\)&,%d3,%acc1
+ 4672: 0630 03060
+ 4674: ae6d 0620 aeed macw %a5l,%spl,>>,%a5@\(-20755\)&,%sp,%acc1
+ 467a: 0630 03060
+ 467c: a657 00c0 macw %d7u,%a3u,%sp@,%a3,%acc1
+ 4680: a6d7 00d0 macw %d7u,%a3u,%sp@,%a3,%acc3
+ 4684: a657 00c0 macw %d7u,%a3u,%sp@,%a3,%acc1
+ 4688: a6d7 00d0 macw %d7u,%a3u,%sp@,%a3,%acc3
+ 468c: a457 00c0 macw %d7u,%a2u,%sp@,%a2,%acc1
+ 4690: a4d7 00d0 macw %d7u,%a2u,%sp@,%a2,%acc3
+ 4694: ae57 00c0 macw %d7u,%spu,%sp@,%sp,%acc1
+ 4698: aed7 00d0 macw %d7u,%spu,%sp@,%sp,%acc3
+ 469c: a657 00e0 macw %d7u,%a3u,%sp@&,%a3,%acc1
+ 46a0: a6d7 00f0 macw %d7u,%a3u,%sp@&,%a3,%acc3
+ 46a4: a657 00e0 macw %d7u,%a3u,%sp@&,%a3,%acc1
+ 46a8: a6d7 00f0 macw %d7u,%a3u,%sp@&,%a3,%acc3
+ 46ac: a457 00e0 macw %d7u,%a2u,%sp@&,%a2,%acc1
+ 46b0: a4d7 00f0 macw %d7u,%a2u,%sp@&,%a2,%acc3
+ 46b4: ae57 00e0 macw %d7u,%spu,%sp@&,%sp,%acc1
+ 46b8: aed7 00f0 macw %d7u,%spu,%sp@&,%sp,%acc3
+ 46bc: a65e 00c0 macw %fpu,%a3u,%fp@\+,%a3,%acc1
+ 46c0: a6de 00d0 macw %fpu,%a3u,%fp@\+,%a3,%acc3
+ 46c4: a65e 00c0 macw %fpu,%a3u,%fp@\+,%a3,%acc1
+ 46c8: a6de 00d0 macw %fpu,%a3u,%fp@\+,%a3,%acc3
+ 46cc: a45e 00c0 macw %fpu,%a2u,%fp@\+,%a2,%acc1
+ 46d0: a4de 00d0 macw %fpu,%a2u,%fp@\+,%a2,%acc3
+ 46d4: ae5e 00c0 macw %fpu,%spu,%fp@\+,%sp,%acc1
+ 46d8: aede 00d0 macw %fpu,%spu,%fp@\+,%sp,%acc3
+ 46dc: a65e 00e0 macw %fpu,%a3u,%fp@\+&,%a3,%acc1
+ 46e0: a6de 00f0 macw %fpu,%a3u,%fp@\+&,%a3,%acc3
+ 46e4: a65e 00e0 macw %fpu,%a3u,%fp@\+&,%a3,%acc1
+ 46e8: a6de 00f0 macw %fpu,%a3u,%fp@\+&,%a3,%acc3
+ 46ec: a45e 00e0 macw %fpu,%a2u,%fp@\+&,%a2,%acc1
+ 46f0: a4de 00f0 macw %fpu,%a2u,%fp@\+&,%a2,%acc3
+ 46f4: ae5e 00e0 macw %fpu,%spu,%fp@\+&,%sp,%acc1
+ 46f8: aede 00f0 macw %fpu,%spu,%fp@\+&,%sp,%acc3
+ 46fc: a66e 00c0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc1
+ 4702: a6ee 00d0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc3
+ 4708: a66e 00c0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc1
+ 470e: a6ee 00d0 000a macw %fpu,%a3u,%fp@\(10\),%a3,%acc3
+ 4714: a46e 00c0 000a macw %fpu,%a2u,%fp@\(10\),%a2,%acc1
+ 471a: a4ee 00d0 000a macw %fpu,%a2u,%fp@\(10\),%a2,%acc3
+ 4720: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 4726: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 472c: a66e 00e0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc1
+ 4732: a6ee 00f0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc3
+ 4738: a66e 00e0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc1
+ 473e: a6ee 00f0 000a macw %fpu,%a3u,%fp@\(10\)&,%a3,%acc3
+ 4744: a46e 00e0 000a macw %fpu,%a2u,%fp@\(10\)&,%a2,%acc1
+ 474a: a4ee 00f0 000a macw %fpu,%a2u,%fp@\(10\)&,%a2,%acc3
+ 4750: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 4756: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 475c: a667 00c0 macw %d7u,%a3u,%sp@-,%a3,%acc1
+ 4760: a6e7 00d0 macw %d7u,%a3u,%sp@-,%a3,%acc3
+ 4764: a667 00c0 macw %d7u,%a3u,%sp@-,%a3,%acc1
+ 4768: a6e7 00d0 macw %d7u,%a3u,%sp@-,%a3,%acc3
+ 476c: a467 00c0 macw %d7u,%a2u,%sp@-,%a2,%acc1
+ 4770: a4e7 00d0 macw %d7u,%a2u,%sp@-,%a2,%acc3
+ 4774: ae67 00c0 macw %d7u,%spu,%sp@-,%sp,%acc1
+ 4778: aee7 00d0 macw %d7u,%spu,%sp@-,%sp,%acc3
+ 477c: a667 00e0 macw %d7u,%a3u,%sp@-&,%a3,%acc1
+ 4780: a6e7 00f0 macw %d7u,%a3u,%sp@-&,%a3,%acc3
+ 4784: a667 00e0 macw %d7u,%a3u,%sp@-&,%a3,%acc1
+ 4788: a6e7 00f0 macw %d7u,%a3u,%sp@-&,%a3,%acc3
+ 478c: a467 00e0 macw %d7u,%a2u,%sp@-&,%a2,%acc1
+ 4790: a4e7 00f0 macw %d7u,%a2u,%sp@-&,%a2,%acc3
+ 4794: ae67 00e0 macw %d7u,%spu,%sp@-&,%sp,%acc1
+ 4798: aee7 00f0 macw %d7u,%spu,%sp@-&,%sp,%acc3
+ 479c: a657 02c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 47a0: a6d7 02d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 47a4: a657 02c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 47a8: a6d7 02d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 47ac: a457 02c0 macw %d7u,%a2u,,%sp@,%a2,%acc1
+ 47b0: a4d7 02d0 macw %d7u,%a2u,,%sp@,%a2,%acc3
+ 47b4: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 47b8: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 47bc: a657 02e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 47c0: a6d7 02f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 47c4: a657 02e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 47c8: a6d7 02f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 47cc: a457 02e0 macw %d7u,%a2u,,%sp@&,%a2,%acc1
+ 47d0: a4d7 02f0 macw %d7u,%a2u,,%sp@&,%a2,%acc3
+ 47d4: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 47d8: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 47dc: a65e 02c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 47e0: a6de 02d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 47e4: a65e 02c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 47e8: a6de 02d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 47ec: a45e 02c0 macw %fpu,%a2u,,%fp@\+,%a2,%acc1
+ 47f0: a4de 02d0 macw %fpu,%a2u,,%fp@\+,%a2,%acc3
+ 47f4: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 47f8: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 47fc: a65e 02e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4800: a6de 02f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4804: a65e 02e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4808: a6de 02f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 480c: a45e 02e0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc1
+ 4810: a4de 02f0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc3
+ 4814: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 4818: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 481c: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4822: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4828: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 482e: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4834: a46e 02c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 483a: a4ee 02d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 4840: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 4846: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 484c: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4852: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4858: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 485e: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4864: a46e 02e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 486a: a4ee 02f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 4870: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 4876: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 487c: a667 02c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4880: a6e7 02d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 4884: a667 02c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4888: a6e7 02d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 488c: a467 02c0 macw %d7u,%a2u,,%sp@-,%a2,%acc1
+ 4890: a4e7 02d0 macw %d7u,%a2u,,%sp@-,%a2,%acc3
+ 4894: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 4898: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 489c: a667 02e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 48a0: a6e7 02f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 48a4: a667 02e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 48a8: a6e7 02f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 48ac: a467 02e0 macw %d7u,%a2u,,%sp@-&,%a2,%acc1
+ 48b0: a4e7 02f0 macw %d7u,%a2u,,%sp@-&,%a2,%acc3
+ 48b4: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 48b8: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 48bc: a657 06c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 48c0: a6d7 06d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 48c4: a657 06c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 48c8: a6d7 06d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 48cc: a457 06c0 macw %d7u,%a2u,,%sp@,%a2,%acc1
+ 48d0: a4d7 06d0 macw %d7u,%a2u,,%sp@,%a2,%acc3
+ 48d4: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 48d8: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 48dc: a657 06e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 48e0: a6d7 06f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 48e4: a657 06e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 48e8: a6d7 06f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 48ec: a457 06e0 macw %d7u,%a2u,,%sp@&,%a2,%acc1
+ 48f0: a4d7 06f0 macw %d7u,%a2u,,%sp@&,%a2,%acc3
+ 48f4: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 48f8: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 48fc: a65e 06c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4900: a6de 06d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 4904: a65e 06c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4908: a6de 06d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 490c: a45e 06c0 macw %fpu,%a2u,,%fp@\+,%a2,%acc1
+ 4910: a4de 06d0 macw %fpu,%a2u,,%fp@\+,%a2,%acc3
+ 4914: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 4918: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 491c: a65e 06e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4920: a6de 06f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4924: a65e 06e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4928: a6de 06f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 492c: a45e 06e0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc1
+ 4930: a4de 06f0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc3
+ 4934: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 4938: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 493c: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4942: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4948: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 494e: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4954: a46e 06c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 495a: a4ee 06d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 4960: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 4966: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 496c: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4972: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4978: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 497e: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4984: a46e 06e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 498a: a4ee 06f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 4990: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 4996: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 499c: a667 06c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 49a0: a6e7 06d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 49a4: a667 06c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 49a8: a6e7 06d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 49ac: a467 06c0 macw %d7u,%a2u,,%sp@-,%a2,%acc1
+ 49b0: a4e7 06d0 macw %d7u,%a2u,,%sp@-,%a2,%acc3
+ 49b4: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 49b8: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 49bc: a667 06e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 49c0: a6e7 06f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 49c4: a667 06e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 49c8: a6e7 06f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 49cc: a467 06e0 macw %d7u,%a2u,,%sp@-&,%a2,%acc1
+ 49d0: a4e7 06f0 macw %d7u,%a2u,,%sp@-&,%a2,%acc3
+ 49d4: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 49d8: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 49dc: a657 02c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 49e0: a6d7 02d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 49e4: a657 02c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 49e8: a6d7 02d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 49ec: a457 02c0 macw %d7u,%a2u,,%sp@,%a2,%acc1
+ 49f0: a4d7 02d0 macw %d7u,%a2u,,%sp@,%a2,%acc3
+ 49f4: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 49f8: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 49fc: a657 02e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 4a00: a6d7 02f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 4a04: a657 02e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 4a08: a6d7 02f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 4a0c: a457 02e0 macw %d7u,%a2u,,%sp@&,%a2,%acc1
+ 4a10: a4d7 02f0 macw %d7u,%a2u,,%sp@&,%a2,%acc3
+ 4a14: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 4a18: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 4a1c: a65e 02c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4a20: a6de 02d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 4a24: a65e 02c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4a28: a6de 02d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 4a2c: a45e 02c0 macw %fpu,%a2u,,%fp@\+,%a2,%acc1
+ 4a30: a4de 02d0 macw %fpu,%a2u,,%fp@\+,%a2,%acc3
+ 4a34: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 4a38: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 4a3c: a65e 02e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4a40: a6de 02f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4a44: a65e 02e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4a48: a6de 02f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4a4c: a45e 02e0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc1
+ 4a50: a4de 02f0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc3
+ 4a54: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 4a58: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 4a5c: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4a62: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4a68: a66e 02c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4a6e: a6ee 02d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4a74: a46e 02c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 4a7a: a4ee 02d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 4a80: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 4a86: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 4a8c: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4a92: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4a98: a66e 02e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4a9e: a6ee 02f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4aa4: a46e 02e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 4aaa: a4ee 02f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 4ab0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 4ab6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 4abc: a667 02c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4ac0: a6e7 02d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 4ac4: a667 02c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4ac8: a6e7 02d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 4acc: a467 02c0 macw %d7u,%a2u,,%sp@-,%a2,%acc1
+ 4ad0: a4e7 02d0 macw %d7u,%a2u,,%sp@-,%a2,%acc3
+ 4ad4: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 4ad8: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 4adc: a667 02e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 4ae0: a6e7 02f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 4ae4: a667 02e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 4ae8: a6e7 02f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 4aec: a467 02e0 macw %d7u,%a2u,,%sp@-&,%a2,%acc1
+ 4af0: a4e7 02f0 macw %d7u,%a2u,,%sp@-&,%a2,%acc3
+ 4af4: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 4af8: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 4afc: a657 06c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 4b00: a6d7 06d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 4b04: a657 06c0 macw %d7u,%a3u,>>,%sp@,%a3,%acc1
+ 4b08: a6d7 06d0 macw %d7u,%a3u,>>,%sp@,%a3,%acc3
+ 4b0c: a457 06c0 macw %d7u,%a2u,,%sp@,%a2,%acc1
+ 4b10: a4d7 06d0 macw %d7u,%a2u,,%sp@,%a2,%acc3
+ 4b14: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 4b18: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 4b1c: a657 06e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 4b20: a6d7 06f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 4b24: a657 06e0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc1
+ 4b28: a6d7 06f0 macw %d7u,%a3u,>>,%sp@&,%a3,%acc3
+ 4b2c: a457 06e0 macw %d7u,%a2u,,%sp@&,%a2,%acc1
+ 4b30: a4d7 06f0 macw %d7u,%a2u,,%sp@&,%a2,%acc3
+ 4b34: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 4b38: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 4b3c: a65e 06c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4b40: a6de 06d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 4b44: a65e 06c0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc1
+ 4b48: a6de 06d0 macw %fpu,%a3u,>>,%fp@\+,%a3,%acc3
+ 4b4c: a45e 06c0 macw %fpu,%a2u,,%fp@\+,%a2,%acc1
+ 4b50: a4de 06d0 macw %fpu,%a2u,,%fp@\+,%a2,%acc3
+ 4b54: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 4b58: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 4b5c: a65e 06e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4b60: a6de 06f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4b64: a65e 06e0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc1
+ 4b68: a6de 06f0 macw %fpu,%a3u,>>,%fp@\+&,%a3,%acc3
+ 4b6c: a45e 06e0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc1
+ 4b70: a4de 06f0 macw %fpu,%a2u,,%fp@\+&,%a2,%acc3
+ 4b74: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 4b78: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 4b7c: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4b82: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4b88: a66e 06c0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc1
+ 4b8e: a6ee 06d0 000a macw %fpu,%a3u,>>,%fp@\(10\),%a3,%acc3
+ 4b94: a46e 06c0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc1
+ 4b9a: a4ee 06d0 000a macw %fpu,%a2u,,%fp@\(10\),%a2,%acc3
+ 4ba0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 4ba6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 4bac: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4bb2: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4bb8: a66e 06e0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc1
+ 4bbe: a6ee 06f0 000a macw %fpu,%a3u,>>,%fp@\(10\)&,%a3,%acc3
+ 4bc4: a46e 06e0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc1
+ 4bca: a4ee 06f0 000a macw %fpu,%a2u,,%fp@\(10\)&,%a2,%acc3
+ 4bd0: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 4bd6: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 4bdc: a667 06c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4be0: a6e7 06d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 4be4: a667 06c0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc1
+ 4be8: a6e7 06d0 macw %d7u,%a3u,>>,%sp@-,%a3,%acc3
+ 4bec: a467 06c0 macw %d7u,%a2u,,%sp@-,%a2,%acc1
+ 4bf0: a4e7 06d0 macw %d7u,%a2u,,%sp@-,%a2,%acc3
+ 4bf4: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 4bf8: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 4bfc: a667 06e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 4c00: a6e7 06f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 4c04: a667 06e0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc1
+ 4c08: a6e7 06f0 macw %d7u,%a3u,>>,%sp@-&,%a3,%acc3
+ 4c0c: a467 06e0 macw %d7u,%a2u,,%sp@-&,%a2,%acc1
+ 4c10: a4e7 06f0 macw %d7u,%a2u,,%sp@-&,%a2,%acc3
+ 4c14: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 4c18: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 4c1c: a617 0040 macw %d7u,%d3l,%sp@,%d3,%acc1
+ 4c20: a697 0050 macw %d7u,%d3l,%sp@,%d3,%acc3
+ 4c24: a657 0040 macw %d7u,%a3l,%sp@,%a3,%acc1
+ 4c28: a6d7 0050 macw %d7u,%a3l,%sp@,%a3,%acc3
+ 4c2c: a617 0040 macw %d7u,%d3l,%sp@,%d3,%acc1
+ 4c30: a697 0050 macw %d7u,%d3l,%sp@,%d3,%acc3
+ 4c34: ae57 0040 macw %d7u,%spl,%sp@,%sp,%acc1
+ 4c38: aed7 0050 macw %d7u,%spl,%sp@,%sp,%acc3
+ 4c3c: a617 0060 macw %d7u,%d3l,%sp@&,%d3,%acc1
+ 4c40: a697 0070 macw %d7u,%d3l,%sp@&,%d3,%acc3
+ 4c44: a657 0060 macw %d7u,%a3l,%sp@&,%a3,%acc1
+ 4c48: a6d7 0070 macw %d7u,%a3l,%sp@&,%a3,%acc3
+ 4c4c: a617 0060 macw %d7u,%d3l,%sp@&,%d3,%acc1
+ 4c50: a697 0070 macw %d7u,%d3l,%sp@&,%d3,%acc3
+ 4c54: ae57 0060 macw %d7u,%spl,%sp@&,%sp,%acc1
+ 4c58: aed7 0070 macw %d7u,%spl,%sp@&,%sp,%acc3
+ 4c5c: a61e 0040 macw %fpu,%d3l,%fp@\+,%d3,%acc1
+ 4c60: a69e 0050 macw %fpu,%d3l,%fp@\+,%d3,%acc3
+ 4c64: a65e 0040 macw %fpu,%a3l,%fp@\+,%a3,%acc1
+ 4c68: a6de 0050 macw %fpu,%a3l,%fp@\+,%a3,%acc3
+ 4c6c: a61e 0040 macw %fpu,%d3l,%fp@\+,%d3,%acc1
+ 4c70: a69e 0050 macw %fpu,%d3l,%fp@\+,%d3,%acc3
+ 4c74: ae5e 0040 macw %fpu,%spl,%fp@\+,%sp,%acc1
+ 4c78: aede 0050 macw %fpu,%spl,%fp@\+,%sp,%acc3
+ 4c7c: a61e 0060 macw %fpu,%d3l,%fp@\+&,%d3,%acc1
+ 4c80: a69e 0070 macw %fpu,%d3l,%fp@\+&,%d3,%acc3
+ 4c84: a65e 0060 macw %fpu,%a3l,%fp@\+&,%a3,%acc1
+ 4c88: a6de 0070 macw %fpu,%a3l,%fp@\+&,%a3,%acc3
+ 4c8c: a61e 0060 macw %fpu,%d3l,%fp@\+&,%d3,%acc1
+ 4c90: a69e 0070 macw %fpu,%d3l,%fp@\+&,%d3,%acc3
+ 4c94: ae5e 0060 macw %fpu,%spl,%fp@\+&,%sp,%acc1
+ 4c98: aede 0070 macw %fpu,%spl,%fp@\+&,%sp,%acc3
+ 4c9c: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 4ca2: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 4ca8: a66e 0040 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc1
+ 4cae: a6ee 0050 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc3
+ 4cb4: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 4cba: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 4cc0: ae6e 0040 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc1
+ 4cc6: aeee 0050 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc3
+ 4ccc: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 4cd2: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 4cd8: a66e 0060 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc1
+ 4cde: a6ee 0070 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc3
+ 4ce4: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 4cea: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 4cf0: ae6e 0060 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc1
+ 4cf6: aeee 0070 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc3
+ 4cfc: a627 0040 macw %d7u,%d3l,%sp@-,%d3,%acc1
+ 4d00: a6a7 0050 macw %d7u,%d3l,%sp@-,%d3,%acc3
+ 4d04: a667 0040 macw %d7u,%a3l,%sp@-,%a3,%acc1
+ 4d08: a6e7 0050 macw %d7u,%a3l,%sp@-,%a3,%acc3
+ 4d0c: a627 0040 macw %d7u,%d3l,%sp@-,%d3,%acc1
+ 4d10: a6a7 0050 macw %d7u,%d3l,%sp@-,%d3,%acc3
+ 4d14: ae67 0040 macw %d7u,%spl,%sp@-,%sp,%acc1
+ 4d18: aee7 0050 macw %d7u,%spl,%sp@-,%sp,%acc3
+ 4d1c: a627 0060 macw %d7u,%d3l,%sp@-&,%d3,%acc1
+ 4d20: a6a7 0070 macw %d7u,%d3l,%sp@-&,%d3,%acc3
+ 4d24: a667 0060 macw %d7u,%a3l,%sp@-&,%a3,%acc1
+ 4d28: a6e7 0070 macw %d7u,%a3l,%sp@-&,%a3,%acc3
+ 4d2c: a627 0060 macw %d7u,%d3l,%sp@-&,%d3,%acc1
+ 4d30: a6a7 0070 macw %d7u,%d3l,%sp@-&,%d3,%acc3
+ 4d34: ae67 0060 macw %d7u,%spl,%sp@-&,%sp,%acc1
+ 4d38: aee7 0070 macw %d7u,%spl,%sp@-&,%sp,%acc3
+ 4d3c: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4d40: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4d44: a657 0240 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 4d48: a6d7 0250 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 4d4c: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4d50: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4d54: ae57 0240 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 4d58: aed7 0250 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 4d5c: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4d60: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4d64: a657 0260 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 4d68: a6d7 0270 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 4d6c: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4d70: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4d74: ae57 0260 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 4d78: aed7 0270 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 4d7c: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4d80: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4d84: a65e 0240 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 4d88: a6de 0250 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 4d8c: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4d90: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4d94: ae5e 0240 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 4d98: aede 0250 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 4d9c: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4da0: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4da4: a65e 0260 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 4da8: a6de 0270 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 4dac: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4db0: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4db4: ae5e 0260 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 4db8: aede 0270 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 4dbc: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 4dc2: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 4dc8: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 4dce: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 4dd4: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 4dda: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 4de0: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 4de6: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 4dec: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 4df2: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 4df8: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 4dfe: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 4e04: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 4e0a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 4e10: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 4e16: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 4e1c: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 4e20: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 4e24: a667 0240 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 4e28: a6e7 0250 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 4e2c: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 4e30: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 4e34: ae67 0240 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 4e38: aee7 0250 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 4e3c: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 4e40: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 4e44: a667 0260 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 4e48: a6e7 0270 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 4e4c: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 4e50: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 4e54: ae67 0260 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 4e58: aee7 0270 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 4e5c: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4e60: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4e64: a657 0640 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 4e68: a6d7 0650 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 4e6c: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4e70: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4e74: ae57 0640 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 4e78: aed7 0650 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 4e7c: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4e80: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4e84: a657 0660 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 4e88: a6d7 0670 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 4e8c: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4e90: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4e94: ae57 0660 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 4e98: aed7 0670 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 4e9c: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4ea0: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4ea4: a65e 0640 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 4ea8: a6de 0650 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 4eac: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4eb0: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4eb4: ae5e 0640 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 4eb8: aede 0650 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 4ebc: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4ec0: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4ec4: a65e 0660 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 4ec8: a6de 0670 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 4ecc: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4ed0: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4ed4: ae5e 0660 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 4ed8: aede 0670 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 4edc: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 4ee2: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 4ee8: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 4eee: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 4ef4: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 4efa: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 4f00: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 4f06: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 4f0c: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 4f12: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 4f18: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 4f1e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 4f24: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 4f2a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 4f30: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 4f36: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 4f3c: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 4f40: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 4f44: a667 0640 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 4f48: a6e7 0650 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 4f4c: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 4f50: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 4f54: ae67 0640 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 4f58: aee7 0650 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 4f5c: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 4f60: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 4f64: a667 0660 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 4f68: a6e7 0670 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 4f6c: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 4f70: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 4f74: ae67 0660 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 4f78: aee7 0670 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 4f7c: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4f80: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4f84: a657 0240 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 4f88: a6d7 0250 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 4f8c: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 4f90: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 4f94: ae57 0240 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 4f98: aed7 0250 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 4f9c: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4fa0: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4fa4: a657 0260 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 4fa8: a6d7 0270 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 4fac: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 4fb0: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 4fb4: ae57 0260 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 4fb8: aed7 0270 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 4fbc: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4fc0: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4fc4: a65e 0240 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 4fc8: a6de 0250 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 4fcc: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 4fd0: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 4fd4: ae5e 0240 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 4fd8: aede 0250 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 4fdc: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4fe0: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4fe4: a65e 0260 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 4fe8: a6de 0270 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 4fec: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 4ff0: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 4ff4: ae5e 0260 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 4ff8: aede 0270 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 4ffc: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 5002: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5008: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 500e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5014: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 501a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5020: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5026: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 502c: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 5032: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5038: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 503e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5044: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 504a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5050: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5056: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 505c: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5060: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5064: a667 0240 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5068: a6e7 0250 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 506c: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5070: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5074: ae67 0240 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5078: aee7 0250 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 507c: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5080: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5084: a667 0260 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 5088: a6e7 0270 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 508c: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5090: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5094: ae67 0260 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 5098: aee7 0270 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 509c: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 50a0: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 50a4: a657 0640 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 50a8: a6d7 0650 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 50ac: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 50b0: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 50b4: ae57 0640 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 50b8: aed7 0650 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 50bc: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 50c0: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 50c4: a657 0660 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 50c8: a6d7 0670 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 50cc: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 50d0: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 50d4: ae57 0660 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 50d8: aed7 0670 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 50dc: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 50e0: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 50e4: a65e 0640 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 50e8: a6de 0650 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 50ec: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 50f0: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 50f4: ae5e 0640 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 50f8: aede 0650 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 50fc: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 5100: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 5104: a65e 0660 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 5108: a6de 0670 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 510c: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 5110: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 5114: ae5e 0660 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 5118: aede 0670 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 511c: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 5122: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5128: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 512e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5134: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 513a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5140: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5146: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 514c: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 5152: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5158: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 515e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5164: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 516a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5170: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5176: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 517c: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5180: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5184: a667 0640 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5188: a6e7 0650 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 518c: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5190: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5194: ae67 0640 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5198: aee7 0650 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 519c: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 51a0: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 51a4: a667 0660 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 51a8: a6e7 0670 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 51ac: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 51b0: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 51b4: ae67 0660 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 51b8: aee7 0670 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 51bc: ae57 00c0 macw %d7u,%spu,%sp@,%sp,%acc1
+ 51c0: aed7 00d0 macw %d7u,%spu,%sp@,%sp,%acc3
+ 51c4: ae57 00c0 macw %d7u,%spu,%sp@,%sp,%acc1
+ 51c8: aed7 00d0 macw %d7u,%spu,%sp@,%sp,%acc3
+ 51cc: ae57 00c0 macw %d7u,%spu,%sp@,%sp,%acc1
+ 51d0: aed7 00d0 macw %d7u,%spu,%sp@,%sp,%acc3
+ 51d4: ae57 00c0 macw %d7u,%spu,%sp@,%sp,%acc1
+ 51d8: aed7 00d0 macw %d7u,%spu,%sp@,%sp,%acc3
+ 51dc: ae57 00e0 macw %d7u,%spu,%sp@&,%sp,%acc1
+ 51e0: aed7 00f0 macw %d7u,%spu,%sp@&,%sp,%acc3
+ 51e4: ae57 00e0 macw %d7u,%spu,%sp@&,%sp,%acc1
+ 51e8: aed7 00f0 macw %d7u,%spu,%sp@&,%sp,%acc3
+ 51ec: ae57 00e0 macw %d7u,%spu,%sp@&,%sp,%acc1
+ 51f0: aed7 00f0 macw %d7u,%spu,%sp@&,%sp,%acc3
+ 51f4: ae57 00e0 macw %d7u,%spu,%sp@&,%sp,%acc1
+ 51f8: aed7 00f0 macw %d7u,%spu,%sp@&,%sp,%acc3
+ 51fc: ae5e 00c0 macw %fpu,%spu,%fp@\+,%sp,%acc1
+ 5200: aede 00d0 macw %fpu,%spu,%fp@\+,%sp,%acc3
+ 5204: ae5e 00c0 macw %fpu,%spu,%fp@\+,%sp,%acc1
+ 5208: aede 00d0 macw %fpu,%spu,%fp@\+,%sp,%acc3
+ 520c: ae5e 00c0 macw %fpu,%spu,%fp@\+,%sp,%acc1
+ 5210: aede 00d0 macw %fpu,%spu,%fp@\+,%sp,%acc3
+ 5214: ae5e 00c0 macw %fpu,%spu,%fp@\+,%sp,%acc1
+ 5218: aede 00d0 macw %fpu,%spu,%fp@\+,%sp,%acc3
+ 521c: ae5e 00e0 macw %fpu,%spu,%fp@\+&,%sp,%acc1
+ 5220: aede 00f0 macw %fpu,%spu,%fp@\+&,%sp,%acc3
+ 5224: ae5e 00e0 macw %fpu,%spu,%fp@\+&,%sp,%acc1
+ 5228: aede 00f0 macw %fpu,%spu,%fp@\+&,%sp,%acc3
+ 522c: ae5e 00e0 macw %fpu,%spu,%fp@\+&,%sp,%acc1
+ 5230: aede 00f0 macw %fpu,%spu,%fp@\+&,%sp,%acc3
+ 5234: ae5e 00e0 macw %fpu,%spu,%fp@\+&,%sp,%acc1
+ 5238: aede 00f0 macw %fpu,%spu,%fp@\+&,%sp,%acc3
+ 523c: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 5242: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 5248: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 524e: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 5254: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 525a: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 5260: ae6e 00c0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc1
+ 5266: aeee 00d0 000a macw %fpu,%spu,%fp@\(10\),%sp,%acc3
+ 526c: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 5272: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 5278: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 527e: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 5284: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 528a: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 5290: ae6e 00e0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc1
+ 5296: aeee 00f0 000a macw %fpu,%spu,%fp@\(10\)&,%sp,%acc3
+ 529c: ae67 00c0 macw %d7u,%spu,%sp@-,%sp,%acc1
+ 52a0: aee7 00d0 macw %d7u,%spu,%sp@-,%sp,%acc3
+ 52a4: ae67 00c0 macw %d7u,%spu,%sp@-,%sp,%acc1
+ 52a8: aee7 00d0 macw %d7u,%spu,%sp@-,%sp,%acc3
+ 52ac: ae67 00c0 macw %d7u,%spu,%sp@-,%sp,%acc1
+ 52b0: aee7 00d0 macw %d7u,%spu,%sp@-,%sp,%acc3
+ 52b4: ae67 00c0 macw %d7u,%spu,%sp@-,%sp,%acc1
+ 52b8: aee7 00d0 macw %d7u,%spu,%sp@-,%sp,%acc3
+ 52bc: ae67 00e0 macw %d7u,%spu,%sp@-&,%sp,%acc1
+ 52c0: aee7 00f0 macw %d7u,%spu,%sp@-&,%sp,%acc3
+ 52c4: ae67 00e0 macw %d7u,%spu,%sp@-&,%sp,%acc1
+ 52c8: aee7 00f0 macw %d7u,%spu,%sp@-&,%sp,%acc3
+ 52cc: ae67 00e0 macw %d7u,%spu,%sp@-&,%sp,%acc1
+ 52d0: aee7 00f0 macw %d7u,%spu,%sp@-&,%sp,%acc3
+ 52d4: ae67 00e0 macw %d7u,%spu,%sp@-&,%sp,%acc1
+ 52d8: aee7 00f0 macw %d7u,%spu,%sp@-&,%sp,%acc3
+ 52dc: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 52e0: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 52e4: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 52e8: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 52ec: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 52f0: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 52f4: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 52f8: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 52fc: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5300: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5304: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5308: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 530c: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5310: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5314: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5318: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 531c: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5320: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5324: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5328: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 532c: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5330: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5334: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5338: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 533c: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5340: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5344: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5348: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 534c: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5350: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5354: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5358: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 535c: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 5362: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 5368: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 536e: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 5374: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 537a: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 5380: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 5386: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 538c: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 5392: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 5398: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 539e: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 53a4: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 53aa: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 53b0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 53b6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 53bc: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 53c0: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 53c4: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 53c8: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 53cc: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 53d0: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 53d4: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 53d8: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 53dc: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 53e0: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 53e4: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 53e8: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 53ec: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 53f0: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 53f4: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 53f8: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 53fc: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5400: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5404: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5408: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 540c: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5410: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5414: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5418: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 541c: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5420: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5424: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5428: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 542c: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5430: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5434: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5438: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 543c: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5440: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5444: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5448: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 544c: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5450: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5454: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5458: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 545c: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5460: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5464: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5468: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 546c: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5470: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5474: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5478: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 547c: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 5482: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 5488: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 548e: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 5494: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 549a: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 54a0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 54a6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 54ac: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 54b2: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 54b8: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 54be: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 54c4: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 54ca: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 54d0: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 54d6: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 54dc: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 54e0: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 54e4: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 54e8: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 54ec: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 54f0: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 54f4: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 54f8: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 54fc: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5500: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5504: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5508: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 550c: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5510: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5514: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5518: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 551c: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5520: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5524: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5528: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 552c: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5530: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5534: ae57 02c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5538: aed7 02d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 553c: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5540: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5544: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5548: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 554c: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5550: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5554: ae57 02e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5558: aed7 02f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 555c: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5560: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5564: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5568: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 556c: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5570: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5574: ae5e 02c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5578: aede 02d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 557c: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5580: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5584: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5588: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 558c: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5590: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 5594: ae5e 02e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 5598: aede 02f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 559c: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 55a2: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 55a8: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 55ae: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 55b4: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 55ba: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 55c0: ae6e 02c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 55c6: aeee 02d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 55cc: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 55d2: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 55d8: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 55de: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 55e4: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 55ea: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 55f0: ae6e 02e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 55f6: aeee 02f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 55fc: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5600: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 5604: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5608: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 560c: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5610: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 5614: ae67 02c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5618: aee7 02d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 561c: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5620: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5624: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5628: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 562c: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5630: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5634: ae67 02e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5638: aee7 02f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 563c: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5640: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5644: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5648: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 564c: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5650: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 5654: ae57 06c0 macw %d7u,%spu,>>,%sp@,%sp,%acc1
+ 5658: aed7 06d0 macw %d7u,%spu,>>,%sp@,%sp,%acc3
+ 565c: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5660: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5664: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5668: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 566c: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5670: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 5674: ae57 06e0 macw %d7u,%spu,>>,%sp@&,%sp,%acc1
+ 5678: aed7 06f0 macw %d7u,%spu,>>,%sp@&,%sp,%acc3
+ 567c: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5680: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5684: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5688: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 568c: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5690: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 5694: ae5e 06c0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc1
+ 5698: aede 06d0 macw %fpu,%spu,>>,%fp@\+,%sp,%acc3
+ 569c: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 56a0: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 56a4: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 56a8: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 56ac: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 56b0: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 56b4: ae5e 06e0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc1
+ 56b8: aede 06f0 macw %fpu,%spu,>>,%fp@\+&,%sp,%acc3
+ 56bc: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 56c2: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 56c8: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 56ce: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 56d4: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 56da: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 56e0: ae6e 06c0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc1
+ 56e6: aeee 06d0 000a macw %fpu,%spu,>>,%fp@\(10\),%sp,%acc3
+ 56ec: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 56f2: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 56f8: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 56fe: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 5704: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 570a: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 5710: ae6e 06e0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc1
+ 5716: aeee 06f0 000a macw %fpu,%spu,>>,%fp@\(10\)&,%sp,%acc3
+ 571c: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5720: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 5724: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5728: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 572c: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5730: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 5734: ae67 06c0 macw %d7u,%spu,>>,%sp@-,%sp,%acc1
+ 5738: aee7 06d0 macw %d7u,%spu,>>,%sp@-,%sp,%acc3
+ 573c: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5740: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5744: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5748: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 574c: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5750: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 5754: ae67 06e0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc1
+ 5758: aee7 06f0 macw %d7u,%spu,>>,%sp@-&,%sp,%acc3
+ 575c: a217 0040 macw %d7u,%d1l,%sp@,%d1,%acc1
+ 5760: a297 0050 macw %d7u,%d1l,%sp@,%d1,%acc3
+ 5764: a657 0040 macw %d7u,%a3l,%sp@,%a3,%acc1
+ 5768: a6d7 0050 macw %d7u,%a3l,%sp@,%a3,%acc3
+ 576c: a617 0040 macw %d7u,%d3l,%sp@,%d3,%acc1
+ 5770: a697 0050 macw %d7u,%d3l,%sp@,%d3,%acc3
+ 5774: ae57 0040 macw %d7u,%spl,%sp@,%sp,%acc1
+ 5778: aed7 0050 macw %d7u,%spl,%sp@,%sp,%acc3
+ 577c: a217 0060 macw %d7u,%d1l,%sp@&,%d1,%acc1
+ 5780: a297 0070 macw %d7u,%d1l,%sp@&,%d1,%acc3
+ 5784: a657 0060 macw %d7u,%a3l,%sp@&,%a3,%acc1
+ 5788: a6d7 0070 macw %d7u,%a3l,%sp@&,%a3,%acc3
+ 578c: a617 0060 macw %d7u,%d3l,%sp@&,%d3,%acc1
+ 5790: a697 0070 macw %d7u,%d3l,%sp@&,%d3,%acc3
+ 5794: ae57 0060 macw %d7u,%spl,%sp@&,%sp,%acc1
+ 5798: aed7 0070 macw %d7u,%spl,%sp@&,%sp,%acc3
+ 579c: a21e 0040 macw %fpu,%d1l,%fp@\+,%d1,%acc1
+ 57a0: a29e 0050 macw %fpu,%d1l,%fp@\+,%d1,%acc3
+ 57a4: a65e 0040 macw %fpu,%a3l,%fp@\+,%a3,%acc1
+ 57a8: a6de 0050 macw %fpu,%a3l,%fp@\+,%a3,%acc3
+ 57ac: a61e 0040 macw %fpu,%d3l,%fp@\+,%d3,%acc1
+ 57b0: a69e 0050 macw %fpu,%d3l,%fp@\+,%d3,%acc3
+ 57b4: ae5e 0040 macw %fpu,%spl,%fp@\+,%sp,%acc1
+ 57b8: aede 0050 macw %fpu,%spl,%fp@\+,%sp,%acc3
+ 57bc: a21e 0060 macw %fpu,%d1l,%fp@\+&,%d1,%acc1
+ 57c0: a29e 0070 macw %fpu,%d1l,%fp@\+&,%d1,%acc3
+ 57c4: a65e 0060 macw %fpu,%a3l,%fp@\+&,%a3,%acc1
+ 57c8: a6de 0070 macw %fpu,%a3l,%fp@\+&,%a3,%acc3
+ 57cc: a61e 0060 macw %fpu,%d3l,%fp@\+&,%d3,%acc1
+ 57d0: a69e 0070 macw %fpu,%d3l,%fp@\+&,%d3,%acc3
+ 57d4: ae5e 0060 macw %fpu,%spl,%fp@\+&,%sp,%acc1
+ 57d8: aede 0070 macw %fpu,%spl,%fp@\+&,%sp,%acc3
+ 57dc: a22e 0040 000a macw %fpu,%d1l,%fp@\(10\),%d1,%acc1
+ 57e2: a2ae 0050 000a macw %fpu,%d1l,%fp@\(10\),%d1,%acc3
+ 57e8: a66e 0040 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc1
+ 57ee: a6ee 0050 000a macw %fpu,%a3l,%fp@\(10\),%a3,%acc3
+ 57f4: a62e 0040 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc1
+ 57fa: a6ae 0050 000a macw %fpu,%d3l,%fp@\(10\),%d3,%acc3
+ 5800: ae6e 0040 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc1
+ 5806: aeee 0050 000a macw %fpu,%spl,%fp@\(10\),%sp,%acc3
+ 580c: a22e 0060 000a macw %fpu,%d1l,%fp@\(10\)&,%d1,%acc1
+ 5812: a2ae 0070 000a macw %fpu,%d1l,%fp@\(10\)&,%d1,%acc3
+ 5818: a66e 0060 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc1
+ 581e: a6ee 0070 000a macw %fpu,%a3l,%fp@\(10\)&,%a3,%acc3
+ 5824: a62e 0060 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc1
+ 582a: a6ae 0070 000a macw %fpu,%d3l,%fp@\(10\)&,%d3,%acc3
+ 5830: ae6e 0060 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc1
+ 5836: aeee 0070 000a macw %fpu,%spl,%fp@\(10\)&,%sp,%acc3
+ 583c: a227 0040 macw %d7u,%d1l,%sp@-,%d1,%acc1
+ 5840: a2a7 0050 macw %d7u,%d1l,%sp@-,%d1,%acc3
+ 5844: a667 0040 macw %d7u,%a3l,%sp@-,%a3,%acc1
+ 5848: a6e7 0050 macw %d7u,%a3l,%sp@-,%a3,%acc3
+ 584c: a627 0040 macw %d7u,%d3l,%sp@-,%d3,%acc1
+ 5850: a6a7 0050 macw %d7u,%d3l,%sp@-,%d3,%acc3
+ 5854: ae67 0040 macw %d7u,%spl,%sp@-,%sp,%acc1
+ 5858: aee7 0050 macw %d7u,%spl,%sp@-,%sp,%acc3
+ 585c: a227 0060 macw %d7u,%d1l,%sp@-&,%d1,%acc1
+ 5860: a2a7 0070 macw %d7u,%d1l,%sp@-&,%d1,%acc3
+ 5864: a667 0060 macw %d7u,%a3l,%sp@-&,%a3,%acc1
+ 5868: a6e7 0070 macw %d7u,%a3l,%sp@-&,%a3,%acc3
+ 586c: a627 0060 macw %d7u,%d3l,%sp@-&,%d3,%acc1
+ 5870: a6a7 0070 macw %d7u,%d3l,%sp@-&,%d3,%acc3
+ 5874: ae67 0060 macw %d7u,%spl,%sp@-&,%sp,%acc1
+ 5878: aee7 0070 macw %d7u,%spl,%sp@-&,%sp,%acc3
+ 587c: a217 0240 macw %d7u,%d1l,<<,%sp@,%d1,%acc1
+ 5880: a297 0250 macw %d7u,%d1l,<<,%sp@,%d1,%acc3
+ 5884: a657 0240 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 5888: a6d7 0250 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 588c: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 5890: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 5894: ae57 0240 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 5898: aed7 0250 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 589c: a217 0260 macw %d7u,%d1l,<<,%sp@&,%d1,%acc1
+ 58a0: a297 0270 macw %d7u,%d1l,<<,%sp@&,%d1,%acc3
+ 58a4: a657 0260 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 58a8: a6d7 0270 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 58ac: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 58b0: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 58b4: ae57 0260 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 58b8: aed7 0270 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 58bc: a21e 0240 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc1
+ 58c0: a29e 0250 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc3
+ 58c4: a65e 0240 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 58c8: a6de 0250 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 58cc: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 58d0: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 58d4: ae5e 0240 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 58d8: aede 0250 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 58dc: a21e 0260 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc1
+ 58e0: a29e 0270 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc3
+ 58e4: a65e 0260 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 58e8: a6de 0270 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 58ec: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 58f0: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 58f4: ae5e 0260 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 58f8: aede 0270 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 58fc: a22e 0240 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 5902: a2ae 0250 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 5908: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 590e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5914: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 591a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5920: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5926: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 592c: a22e 0260 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 5932: a2ae 0270 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 5938: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 593e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5944: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 594a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5950: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5956: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 595c: a227 0240 macw %d7u,%d1l,<<,%sp@-,%d1,%acc1
+ 5960: a2a7 0250 macw %d7u,%d1l,<<,%sp@-,%d1,%acc3
+ 5964: a667 0240 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5968: a6e7 0250 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 596c: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5970: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5974: ae67 0240 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5978: aee7 0250 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 597c: a227 0260 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc1
+ 5980: a2a7 0270 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc3
+ 5984: a667 0260 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 5988: a6e7 0270 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 598c: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5990: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5994: ae67 0260 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 5998: aee7 0270 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 599c: a217 0640 macw %d7u,%d1l,<<,%sp@,%d1,%acc1
+ 59a0: a297 0650 macw %d7u,%d1l,<<,%sp@,%d1,%acc3
+ 59a4: a657 0640 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 59a8: a6d7 0650 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 59ac: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 59b0: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 59b4: ae57 0640 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 59b8: aed7 0650 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 59bc: a217 0660 macw %d7u,%d1l,<<,%sp@&,%d1,%acc1
+ 59c0: a297 0670 macw %d7u,%d1l,<<,%sp@&,%d1,%acc3
+ 59c4: a657 0660 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 59c8: a6d7 0670 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 59cc: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 59d0: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 59d4: ae57 0660 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 59d8: aed7 0670 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 59dc: a21e 0640 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc1
+ 59e0: a29e 0650 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc3
+ 59e4: a65e 0640 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 59e8: a6de 0650 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 59ec: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 59f0: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 59f4: ae5e 0640 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 59f8: aede 0650 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 59fc: a21e 0660 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc1
+ 5a00: a29e 0670 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc3
+ 5a04: a65e 0660 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 5a08: a6de 0670 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 5a0c: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 5a10: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 5a14: ae5e 0660 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 5a18: aede 0670 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 5a1c: a22e 0640 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 5a22: a2ae 0650 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 5a28: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 5a2e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5a34: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 5a3a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5a40: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5a46: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 5a4c: a22e 0660 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 5a52: a2ae 0670 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 5a58: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 5a5e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5a64: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 5a6a: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5a70: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5a76: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 5a7c: a227 0640 macw %d7u,%d1l,<<,%sp@-,%d1,%acc1
+ 5a80: a2a7 0650 macw %d7u,%d1l,<<,%sp@-,%d1,%acc3
+ 5a84: a667 0640 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5a88: a6e7 0650 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 5a8c: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5a90: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5a94: ae67 0640 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5a98: aee7 0650 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 5a9c: a227 0660 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc1
+ 5aa0: a2a7 0670 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc3
+ 5aa4: a667 0660 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 5aa8: a6e7 0670 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 5aac: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5ab0: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5ab4: ae67 0660 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 5ab8: aee7 0670 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 5abc: a217 0240 macw %d7u,%d1l,<<,%sp@,%d1,%acc1
+ 5ac0: a297 0250 macw %d7u,%d1l,<<,%sp@,%d1,%acc3
+ 5ac4: a657 0240 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 5ac8: a6d7 0250 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 5acc: a617 0240 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 5ad0: a697 0250 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 5ad4: ae57 0240 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 5ad8: aed7 0250 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 5adc: a217 0260 macw %d7u,%d1l,<<,%sp@&,%d1,%acc1
+ 5ae0: a297 0270 macw %d7u,%d1l,<<,%sp@&,%d1,%acc3
+ 5ae4: a657 0260 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 5ae8: a6d7 0270 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 5aec: a617 0260 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 5af0: a697 0270 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 5af4: ae57 0260 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 5af8: aed7 0270 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 5afc: a21e 0240 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc1
+ 5b00: a29e 0250 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc3
+ 5b04: a65e 0240 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 5b08: a6de 0250 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 5b0c: a61e 0240 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 5b10: a69e 0250 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 5b14: ae5e 0240 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 5b18: aede 0250 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 5b1c: a21e 0260 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc1
+ 5b20: a29e 0270 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc3
+ 5b24: a65e 0260 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 5b28: a6de 0270 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 5b2c: a61e 0260 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 5b30: a69e 0270 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 5b34: ae5e 0260 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 5b38: aede 0270 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 5b3c: a22e 0240 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 5b42: a2ae 0250 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 5b48: a66e 0240 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 5b4e: a6ee 0250 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5b54: a62e 0240 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 5b5a: a6ae 0250 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5b60: ae6e 0240 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5b66: aeee 0250 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 5b6c: a22e 0260 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 5b72: a2ae 0270 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 5b78: a66e 0260 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 5b7e: a6ee 0270 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5b84: a62e 0260 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 5b8a: a6ae 0270 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5b90: ae6e 0260 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5b96: aeee 0270 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 5b9c: a227 0240 macw %d7u,%d1l,<<,%sp@-,%d1,%acc1
+ 5ba0: a2a7 0250 macw %d7u,%d1l,<<,%sp@-,%d1,%acc3
+ 5ba4: a667 0240 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5ba8: a6e7 0250 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 5bac: a627 0240 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5bb0: a6a7 0250 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5bb4: ae67 0240 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5bb8: aee7 0250 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 5bbc: a227 0260 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc1
+ 5bc0: a2a7 0270 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc3
+ 5bc4: a667 0260 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 5bc8: a6e7 0270 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 5bcc: a627 0260 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5bd0: a6a7 0270 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5bd4: ae67 0260 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 5bd8: aee7 0270 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 5bdc: a217 0640 macw %d7u,%d1l,<<,%sp@,%d1,%acc1
+ 5be0: a297 0650 macw %d7u,%d1l,<<,%sp@,%d1,%acc3
+ 5be4: a657 0640 macw %d7u,%a3l,>>,%sp@,%a3,%acc1
+ 5be8: a6d7 0650 macw %d7u,%a3l,>>,%sp@,%a3,%acc3
+ 5bec: a617 0640 macw %d7u,%d3l,>>,%sp@,%d3,%acc1
+ 5bf0: a697 0650 macw %d7u,%d3l,>>,%sp@,%d3,%acc3
+ 5bf4: ae57 0640 macw %d7u,%spl,>>,%sp@,%sp,%acc1
+ 5bf8: aed7 0650 macw %d7u,%spl,>>,%sp@,%sp,%acc3
+ 5bfc: a217 0660 macw %d7u,%d1l,<<,%sp@&,%d1,%acc1
+ 5c00: a297 0670 macw %d7u,%d1l,<<,%sp@&,%d1,%acc3
+ 5c04: a657 0660 macw %d7u,%a3l,>>,%sp@&,%a3,%acc1
+ 5c08: a6d7 0670 macw %d7u,%a3l,>>,%sp@&,%a3,%acc3
+ 5c0c: a617 0660 macw %d7u,%d3l,>>,%sp@&,%d3,%acc1
+ 5c10: a697 0670 macw %d7u,%d3l,>>,%sp@&,%d3,%acc3
+ 5c14: ae57 0660 macw %d7u,%spl,>>,%sp@&,%sp,%acc1
+ 5c18: aed7 0670 macw %d7u,%spl,>>,%sp@&,%sp,%acc3
+ 5c1c: a21e 0640 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc1
+ 5c20: a29e 0650 macw %fpu,%d1l,<<,%fp@\+,%d1,%acc3
+ 5c24: a65e 0640 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc1
+ 5c28: a6de 0650 macw %fpu,%a3l,>>,%fp@\+,%a3,%acc3
+ 5c2c: a61e 0640 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc1
+ 5c30: a69e 0650 macw %fpu,%d3l,>>,%fp@\+,%d3,%acc3
+ 5c34: ae5e 0640 macw %fpu,%spl,>>,%fp@\+,%sp,%acc1
+ 5c38: aede 0650 macw %fpu,%spl,>>,%fp@\+,%sp,%acc3
+ 5c3c: a21e 0660 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc1
+ 5c40: a29e 0670 macw %fpu,%d1l,<<,%fp@\+&,%d1,%acc3
+ 5c44: a65e 0660 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc1
+ 5c48: a6de 0670 macw %fpu,%a3l,>>,%fp@\+&,%a3,%acc3
+ 5c4c: a61e 0660 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc1
+ 5c50: a69e 0670 macw %fpu,%d3l,>>,%fp@\+&,%d3,%acc3
+ 5c54: ae5e 0660 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc1
+ 5c58: aede 0670 macw %fpu,%spl,>>,%fp@\+&,%sp,%acc3
+ 5c5c: a22e 0640 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc1
+ 5c62: a2ae 0650 000a macw %fpu,%d1l,<<,%fp@\(10\),%d1,%acc3
+ 5c68: a66e 0640 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc1
+ 5c6e: a6ee 0650 000a macw %fpu,%a3l,>>,%fp@\(10\),%a3,%acc3
+ 5c74: a62e 0640 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc1
+ 5c7a: a6ae 0650 000a macw %fpu,%d3l,>>,%fp@\(10\),%d3,%acc3
+ 5c80: ae6e 0640 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc1
+ 5c86: aeee 0650 000a macw %fpu,%spl,>>,%fp@\(10\),%sp,%acc3
+ 5c8c: a22e 0660 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc1
+ 5c92: a2ae 0670 000a macw %fpu,%d1l,<<,%fp@\(10\)&,%d1,%acc3
+ 5c98: a66e 0660 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc1
+ 5c9e: a6ee 0670 000a macw %fpu,%a3l,>>,%fp@\(10\)&,%a3,%acc3
+ 5ca4: a62e 0660 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc1
+ 5caa: a6ae 0670 000a macw %fpu,%d3l,>>,%fp@\(10\)&,%d3,%acc3
+ 5cb0: ae6e 0660 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc1
+ 5cb6: aeee 0670 000a macw %fpu,%spl,>>,%fp@\(10\)&,%sp,%acc3
+ 5cbc: a227 0640 macw %d7u,%d1l,<<,%sp@-,%d1,%acc1
+ 5cc0: a2a7 0650 macw %d7u,%d1l,<<,%sp@-,%d1,%acc3
+ 5cc4: a667 0640 macw %d7u,%a3l,>>,%sp@-,%a3,%acc1
+ 5cc8: a6e7 0650 macw %d7u,%a3l,>>,%sp@-,%a3,%acc3
+ 5ccc: a627 0640 macw %d7u,%d3l,>>,%sp@-,%d3,%acc1
+ 5cd0: a6a7 0650 macw %d7u,%d3l,>>,%sp@-,%d3,%acc3
+ 5cd4: ae67 0640 macw %d7u,%spl,>>,%sp@-,%sp,%acc1
+ 5cd8: aee7 0650 macw %d7u,%spl,>>,%sp@-,%sp,%acc3
+ 5cdc: a227 0660 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc1
+ 5ce0: a2a7 0670 macw %d7u,%d1l,<<,%sp@-&,%d1,%acc3
+ 5ce4: a667 0660 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc1
+ 5ce8: a6e7 0670 macw %d7u,%a3l,>>,%sp@-&,%a3,%acc3
+ 5cec: a627 0660 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc1
+ 5cf0: a6a7 0670 macw %d7u,%d3l,>>,%sp@-&,%d3,%acc3
+ 5cf4: ae67 0660 macw %d7u,%spl,>>,%sp@-&,%sp,%acc1
+ 5cf8: aee7 0670 macw %d7u,%spl,>>,%sp@-&,%sp,%acc3
+ 5cfc: a6c9 0800 macl %a1,%a3,%acc0
+ 5d00: a649 0810 macl %a1,%a3,%acc2
+ 5d04: a6c9 0a00 macl %a1,%a3,>>,%acc0
+ 5d08: a649 0a10 macl %a1,%a3,>>,%acc2
+ 5d0c: a6c9 0e00 macl %a1,%a3,>>,%acc0
+ 5d10: a649 0e10 macl %a1,%a3,>>,%acc2
+ 5d14: a6c9 0a00 macl %a1,%a3,>>,%acc0
+ 5d18: a649 0a10 macl %a1,%a3,>>,%acc2
+ 5d1c: a6c9 0e00 macl %a1,%a3,>>,%acc0
+ 5d20: a649 0e10 macl %a1,%a3,>>,%acc2
+ 5d24: a889 0800 macl %a1,%d4,%acc0
+ 5d28: a809 0810 macl %a1,%d4,%acc2
+ 5d2c: a889 0a00 macl %a1,%d4,,%acc0
+ 5d30: a809 0a10 macl %a1,%d4,,%acc2
+ 5d34: a889 0e00 macl %a1,%d4,,%acc0
+ 5d38: a809 0e10 macl %a1,%d4,,%acc2
+ 5d3c: a889 0a00 macl %a1,%d4,,%acc0
+ 5d40: a809 0a10 macl %a1,%d4,,%acc2
+ 5d44: a889 0e00 macl %a1,%d4,,%acc0
+ 5d48: a809 0e10 macl %a1,%d4,,%acc2
+ 5d4c: a6c6 0800 macl %d6,%a3,%acc0
+ 5d50: a646 0810 macl %d6,%a3,%acc2
+ 5d54: a6c6 0a00 macl %d6,%a3,>>,%acc0
+ 5d58: a646 0a10 macl %d6,%a3,>>,%acc2
+ 5d5c: a6c6 0e00 macl %d6,%a3,>>,%acc0
+ 5d60: a646 0e10 macl %d6,%a3,>>,%acc2
+ 5d64: a6c6 0a00 macl %d6,%a3,>>,%acc0
+ 5d68: a646 0a10 macl %d6,%a3,>>,%acc2
+ 5d6c: a6c6 0e00 macl %d6,%a3,>>,%acc0
+ 5d70: a646 0e10 macl %d6,%a3,>>,%acc2
+ 5d74: a886 0800 macl %d6,%d4,%acc0
+ 5d78: a806 0810 macl %d6,%d4,%acc2
+ 5d7c: a886 0a00 macl %d6,%d4,,%acc0
+ 5d80: a806 0a10 macl %d6,%d4,,%acc2
+ 5d84: a886 0e00 macl %d6,%d4,,%acc0
+ 5d88: a806 0e10 macl %d6,%d4,,%acc2
+ 5d8c: a886 0a00 macl %d6,%d4,,%acc0
+ 5d90: a806 0a10 macl %d6,%d4,,%acc2
+ 5d94: a886 0e00 macl %d6,%d4,,%acc0
+ 5d98: a806 0e10 macl %d6,%d4,,%acc2
+ 5d9c: a213 b809 macl %a1,%a3,%a3@,%d1,%acc0
+ 5da0: a293 b819 macl %a1,%a3,%a3@,%d1,%acc2
+ 5da4: a653 b809 macl %a1,%a3,%a3@,%a3,%acc0
+ 5da8: a6d3 b819 macl %a1,%a3,%a3@,%a3,%acc2
+ 5dac: a413 b809 macl %a1,%a3,%a3@,%d2,%acc0
+ 5db0: a493 b819 macl %a1,%a3,%a3@,%d2,%acc2
+ 5db4: ae53 b809 macl %a1,%a3,%a3@,%sp,%acc0
+ 5db8: aed3 b819 macl %a1,%a3,%a3@,%sp,%acc2
+ 5dbc: a213 b829 macl %a1,%a3,%a3@&,%d1,%acc0
+ 5dc0: a293 b839 macl %a1,%a3,%a3@&,%d1,%acc2
+ 5dc4: a653 b829 macl %a1,%a3,%a3@&,%a3,%acc0
+ 5dc8: a6d3 b839 macl %a1,%a3,%a3@&,%a3,%acc2
+ 5dcc: a413 b829 macl %a1,%a3,%a3@&,%d2,%acc0
+ 5dd0: a493 b839 macl %a1,%a3,%a3@&,%d2,%acc2
+ 5dd4: ae53 b829 macl %a1,%a3,%a3@&,%sp,%acc0
+ 5dd8: aed3 b839 macl %a1,%a3,%a3@&,%sp,%acc2
+ 5ddc: a21a b809 macl %a1,%a3,%a2@\+,%d1,%acc0
+ 5de0: a29a b819 macl %a1,%a3,%a2@\+,%d1,%acc2
+ 5de4: a65a b809 macl %a1,%a3,%a2@\+,%a3,%acc0
+ 5de8: a6da b819 macl %a1,%a3,%a2@\+,%a3,%acc2
+ 5dec: a41a b809 macl %a1,%a3,%a2@\+,%d2,%acc0
+ 5df0: a49a b819 macl %a1,%a3,%a2@\+,%d2,%acc2
+ 5df4: ae5a b809 macl %a1,%a3,%a2@\+,%sp,%acc0
+ 5df8: aeda b819 macl %a1,%a3,%a2@\+,%sp,%acc2
+ 5dfc: a21a b829 macl %a1,%a3,%a2@\+&,%d1,%acc0
+ 5e00: a29a b839 macl %a1,%a3,%a2@\+&,%d1,%acc2
+ 5e04: a65a b829 macl %a1,%a3,%a2@\+&,%a3,%acc0
+ 5e08: a6da b839 macl %a1,%a3,%a2@\+&,%a3,%acc2
+ 5e0c: a41a b829 macl %a1,%a3,%a2@\+&,%d2,%acc0
+ 5e10: a49a b839 macl %a1,%a3,%a2@\+&,%d2,%acc2
+ 5e14: ae5a b829 macl %a1,%a3,%a2@\+&,%sp,%acc0
+ 5e18: aeda b839 macl %a1,%a3,%a2@\+&,%sp,%acc2
+ 5e1c: a22e b809 000a macl %a1,%a3,%fp@\(10\),%d1,%acc0
+ 5e22: a2ae b819 000a macl %a1,%a3,%fp@\(10\),%d1,%acc2
+ 5e28: a66e b809 000a macl %a1,%a3,%fp@\(10\),%a3,%acc0
+ 5e2e: a6ee b819 000a macl %a1,%a3,%fp@\(10\),%a3,%acc2
+ 5e34: a42e b809 000a macl %a1,%a3,%fp@\(10\),%d2,%acc0
+ 5e3a: a4ae b819 000a macl %a1,%a3,%fp@\(10\),%d2,%acc2
+ 5e40: ae6e b809 000a macl %a1,%a3,%fp@\(10\),%sp,%acc0
+ 5e46: aeee b819 000a macl %a1,%a3,%fp@\(10\),%sp,%acc2
+ 5e4c: a22e b829 000a macl %a1,%a3,%fp@\(10\)&,%d1,%acc0
+ 5e52: a2ae b839 000a macl %a1,%a3,%fp@\(10\)&,%d1,%acc2
+ 5e58: a66e b829 000a macl %a1,%a3,%fp@\(10\)&,%a3,%acc0
+ 5e5e: a6ee b839 000a macl %a1,%a3,%fp@\(10\)&,%a3,%acc2
+ 5e64: a42e b829 000a macl %a1,%a3,%fp@\(10\)&,%d2,%acc0
+ 5e6a: a4ae b839 000a macl %a1,%a3,%fp@\(10\)&,%d2,%acc2
+ 5e70: ae6e b829 000a macl %a1,%a3,%fp@\(10\)&,%sp,%acc0
+ 5e76: aeee b839 000a macl %a1,%a3,%fp@\(10\)&,%sp,%acc2
+ 5e7c: a221 b809 macl %a1,%a3,%a1@-,%d1,%acc0
+ 5e80: a2a1 b819 macl %a1,%a3,%a1@-,%d1,%acc2
+ 5e84: a661 b809 macl %a1,%a3,%a1@-,%a3,%acc0
+ 5e88: a6e1 b819 macl %a1,%a3,%a1@-,%a3,%acc2
+ 5e8c: a421 b809 macl %a1,%a3,%a1@-,%d2,%acc0
+ 5e90: a4a1 b819 macl %a1,%a3,%a1@-,%d2,%acc2
+ 5e94: ae61 b809 macl %a1,%a3,%a1@-,%sp,%acc0
+ 5e98: aee1 b819 macl %a1,%a3,%a1@-,%sp,%acc2
+ 5e9c: a221 b829 macl %a1,%a3,%a1@-&,%d1,%acc0
+ 5ea0: a2a1 b839 macl %a1,%a3,%a1@-&,%d1,%acc2
+ 5ea4: a661 b829 macl %a1,%a3,%a1@-&,%a3,%acc0
+ 5ea8: a6e1 b839 macl %a1,%a3,%a1@-&,%a3,%acc2
+ 5eac: a421 b829 macl %a1,%a3,%a1@-&,%d2,%acc0
+ 5eb0: a4a1 b839 macl %a1,%a3,%a1@-&,%d2,%acc2
+ 5eb4: ae61 b829 macl %a1,%a3,%a1@-&,%sp,%acc0
+ 5eb8: aee1 b839 macl %a1,%a3,%a1@-&,%sp,%acc2
+ 5ebc: a213 ba09 macl %a1,%a3,<<,%a3@,%d1,%acc0
+ 5ec0: a293 ba19 macl %a1,%a3,<<,%a3@,%d1,%acc2
+ 5ec4: a653 ba09 macl %a1,%a3,>>,%a3@,%a3,%acc0
+ 5ec8: a6d3 ba19 macl %a1,%a3,>>,%a3@,%a3,%acc2
+ 5ecc: a413 ba09 macl %a1,%a3,,%a3@,%d2,%acc0
+ 5ed0: a493 ba19 macl %a1,%a3,,%a3@,%d2,%acc2
+ 5ed4: ae53 ba09 macl %a1,%a3,>>,%a3@,%sp,%acc0
+ 5ed8: aed3 ba19 macl %a1,%a3,>>,%a3@,%sp,%acc2
+ 5edc: a213 ba29 macl %a1,%a3,<<,%a3@&,%d1,%acc0
+ 5ee0: a293 ba39 macl %a1,%a3,<<,%a3@&,%d1,%acc2
+ 5ee4: a653 ba29 macl %a1,%a3,>>,%a3@&,%a3,%acc0
+ 5ee8: a6d3 ba39 macl %a1,%a3,>>,%a3@&,%a3,%acc2
+ 5eec: a413 ba29 macl %a1,%a3,,%a3@&,%d2,%acc0
+ 5ef0: a493 ba39 macl %a1,%a3,,%a3@&,%d2,%acc2
+ 5ef4: ae53 ba29 macl %a1,%a3,>>,%a3@&,%sp,%acc0
+ 5ef8: aed3 ba39 macl %a1,%a3,>>,%a3@&,%sp,%acc2
+ 5efc: a21a ba09 macl %a1,%a3,<<,%a2@\+,%d1,%acc0
+ 5f00: a29a ba19 macl %a1,%a3,<<,%a2@\+,%d1,%acc2
+ 5f04: a65a ba09 macl %a1,%a3,>>,%a2@\+,%a3,%acc0
+ 5f08: a6da ba19 macl %a1,%a3,>>,%a2@\+,%a3,%acc2
+ 5f0c: a41a ba09 macl %a1,%a3,,%a2@\+,%d2,%acc0
+ 5f10: a49a ba19 macl %a1,%a3,,%a2@\+,%d2,%acc2
+ 5f14: ae5a ba09 macl %a1,%a3,>>,%a2@\+,%sp,%acc0
+ 5f18: aeda ba19 macl %a1,%a3,>>,%a2@\+,%sp,%acc2
+ 5f1c: a21a ba29 macl %a1,%a3,<<,%a2@\+&,%d1,%acc0
+ 5f20: a29a ba39 macl %a1,%a3,<<,%a2@\+&,%d1,%acc2
+ 5f24: a65a ba29 macl %a1,%a3,>>,%a2@\+&,%a3,%acc0
+ 5f28: a6da ba39 macl %a1,%a3,>>,%a2@\+&,%a3,%acc2
+ 5f2c: a41a ba29 macl %a1,%a3,,%a2@\+&,%d2,%acc0
+ 5f30: a49a ba39 macl %a1,%a3,,%a2@\+&,%d2,%acc2
+ 5f34: ae5a ba29 macl %a1,%a3,>>,%a2@\+&,%sp,%acc0
+ 5f38: aeda ba39 macl %a1,%a3,>>,%a2@\+&,%sp,%acc2
+ 5f3c: a22e ba09 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc0
+ 5f42: a2ae ba19 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc2
+ 5f48: a66e ba09 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc0
+ 5f4e: a6ee ba19 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc2
+ 5f54: a42e ba09 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc0
+ 5f5a: a4ae ba19 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc2
+ 5f60: ae6e ba09 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc0
+ 5f66: aeee ba19 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc2
+ 5f6c: a22e ba29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 5f72: a2ae ba39 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 5f78: a66e ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 5f7e: a6ee ba39 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 5f84: a42e ba29 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc0
+ 5f8a: a4ae ba39 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc2
+ 5f90: ae6e ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 5f96: aeee ba39 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 5f9c: a221 ba09 macl %a1,%a3,<<,%a1@-,%d1,%acc0
+ 5fa0: a2a1 ba19 macl %a1,%a3,<<,%a1@-,%d1,%acc2
+ 5fa4: a661 ba09 macl %a1,%a3,>>,%a1@-,%a3,%acc0
+ 5fa8: a6e1 ba19 macl %a1,%a3,>>,%a1@-,%a3,%acc2
+ 5fac: a421 ba09 macl %a1,%a3,,%a1@-,%d2,%acc0
+ 5fb0: a4a1 ba19 macl %a1,%a3,,%a1@-,%d2,%acc2
+ 5fb4: ae61 ba09 macl %a1,%a3,>>,%a1@-,%sp,%acc0
+ 5fb8: aee1 ba19 macl %a1,%a3,>>,%a1@-,%sp,%acc2
+ 5fbc: a221 ba29 macl %a1,%a3,<<,%a1@-&,%d1,%acc0
+ 5fc0: a2a1 ba39 macl %a1,%a3,<<,%a1@-&,%d1,%acc2
+ 5fc4: a661 ba29 macl %a1,%a3,>>,%a1@-&,%a3,%acc0
+ 5fc8: a6e1 ba39 macl %a1,%a3,>>,%a1@-&,%a3,%acc2
+ 5fcc: a421 ba29 macl %a1,%a3,,%a1@-&,%d2,%acc0
+ 5fd0: a4a1 ba39 macl %a1,%a3,,%a1@-&,%d2,%acc2
+ 5fd4: ae61 ba29 macl %a1,%a3,>>,%a1@-&,%sp,%acc0
+ 5fd8: aee1 ba39 macl %a1,%a3,>>,%a1@-&,%sp,%acc2
+ 5fdc: a213 be09 macl %a1,%a3,<<,%a3@,%d1,%acc0
+ 5fe0: a293 be19 macl %a1,%a3,<<,%a3@,%d1,%acc2
+ 5fe4: a653 be09 macl %a1,%a3,>>,%a3@,%a3,%acc0
+ 5fe8: a6d3 be19 macl %a1,%a3,>>,%a3@,%a3,%acc2
+ 5fec: a413 be09 macl %a1,%a3,,%a3@,%d2,%acc0
+ 5ff0: a493 be19 macl %a1,%a3,,%a3@,%d2,%acc2
+ 5ff4: ae53 be09 macl %a1,%a3,>>,%a3@,%sp,%acc0
+ 5ff8: aed3 be19 macl %a1,%a3,>>,%a3@,%sp,%acc2
+ 5ffc: a213 be29 macl %a1,%a3,<<,%a3@&,%d1,%acc0
+ 6000: a293 be39 macl %a1,%a3,<<,%a3@&,%d1,%acc2
+ 6004: a653 be29 macl %a1,%a3,>>,%a3@&,%a3,%acc0
+ 6008: a6d3 be39 macl %a1,%a3,>>,%a3@&,%a3,%acc2
+ 600c: a413 be29 macl %a1,%a3,,%a3@&,%d2,%acc0
+ 6010: a493 be39 macl %a1,%a3,,%a3@&,%d2,%acc2
+ 6014: ae53 be29 macl %a1,%a3,>>,%a3@&,%sp,%acc0
+ 6018: aed3 be39 macl %a1,%a3,>>,%a3@&,%sp,%acc2
+ 601c: a21a be09 macl %a1,%a3,<<,%a2@\+,%d1,%acc0
+ 6020: a29a be19 macl %a1,%a3,<<,%a2@\+,%d1,%acc2
+ 6024: a65a be09 macl %a1,%a3,>>,%a2@\+,%a3,%acc0
+ 6028: a6da be19 macl %a1,%a3,>>,%a2@\+,%a3,%acc2
+ 602c: a41a be09 macl %a1,%a3,,%a2@\+,%d2,%acc0
+ 6030: a49a be19 macl %a1,%a3,,%a2@\+,%d2,%acc2
+ 6034: ae5a be09 macl %a1,%a3,>>,%a2@\+,%sp,%acc0
+ 6038: aeda be19 macl %a1,%a3,>>,%a2@\+,%sp,%acc2
+ 603c: a21a be29 macl %a1,%a3,<<,%a2@\+&,%d1,%acc0
+ 6040: a29a be39 macl %a1,%a3,<<,%a2@\+&,%d1,%acc2
+ 6044: a65a be29 macl %a1,%a3,>>,%a2@\+&,%a3,%acc0
+ 6048: a6da be39 macl %a1,%a3,>>,%a2@\+&,%a3,%acc2
+ 604c: a41a be29 macl %a1,%a3,,%a2@\+&,%d2,%acc0
+ 6050: a49a be39 macl %a1,%a3,,%a2@\+&,%d2,%acc2
+ 6054: ae5a be29 macl %a1,%a3,>>,%a2@\+&,%sp,%acc0
+ 6058: aeda be39 macl %a1,%a3,>>,%a2@\+&,%sp,%acc2
+ 605c: a22e be09 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6062: a2ae be19 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6068: a66e be09 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc0
+ 606e: a6ee be19 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6074: a42e be09 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc0
+ 607a: a4ae be19 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc2
+ 6080: ae6e be09 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc0
+ 6086: aeee be19 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc2
+ 608c: a22e be29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 6092: a2ae be39 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 6098: a66e be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 609e: a6ee be39 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 60a4: a42e be29 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc0
+ 60aa: a4ae be39 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc2
+ 60b0: ae6e be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 60b6: aeee be39 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 60bc: a221 be09 macl %a1,%a3,<<,%a1@-,%d1,%acc0
+ 60c0: a2a1 be19 macl %a1,%a3,<<,%a1@-,%d1,%acc2
+ 60c4: a661 be09 macl %a1,%a3,>>,%a1@-,%a3,%acc0
+ 60c8: a6e1 be19 macl %a1,%a3,>>,%a1@-,%a3,%acc2
+ 60cc: a421 be09 macl %a1,%a3,,%a1@-,%d2,%acc0
+ 60d0: a4a1 be19 macl %a1,%a3,,%a1@-,%d2,%acc2
+ 60d4: ae61 be09 macl %a1,%a3,>>,%a1@-,%sp,%acc0
+ 60d8: aee1 be19 macl %a1,%a3,>>,%a1@-,%sp,%acc2
+ 60dc: a221 be29 macl %a1,%a3,<<,%a1@-&,%d1,%acc0
+ 60e0: a2a1 be39 macl %a1,%a3,<<,%a1@-&,%d1,%acc2
+ 60e4: a661 be29 macl %a1,%a3,>>,%a1@-&,%a3,%acc0
+ 60e8: a6e1 be39 macl %a1,%a3,>>,%a1@-&,%a3,%acc2
+ 60ec: a421 be29 macl %a1,%a3,,%a1@-&,%d2,%acc0
+ 60f0: a4a1 be39 macl %a1,%a3,,%a1@-&,%d2,%acc2
+ 60f4: ae61 be29 macl %a1,%a3,>>,%a1@-&,%sp,%acc0
+ 60f8: aee1 be39 macl %a1,%a3,>>,%a1@-&,%sp,%acc2
+ 60fc: a213 ba09 macl %a1,%a3,<<,%a3@,%d1,%acc0
+ 6100: a293 ba19 macl %a1,%a3,<<,%a3@,%d1,%acc2
+ 6104: a653 ba09 macl %a1,%a3,>>,%a3@,%a3,%acc0
+ 6108: a6d3 ba19 macl %a1,%a3,>>,%a3@,%a3,%acc2
+ 610c: a413 ba09 macl %a1,%a3,,%a3@,%d2,%acc0
+ 6110: a493 ba19 macl %a1,%a3,,%a3@,%d2,%acc2
+ 6114: ae53 ba09 macl %a1,%a3,>>,%a3@,%sp,%acc0
+ 6118: aed3 ba19 macl %a1,%a3,>>,%a3@,%sp,%acc2
+ 611c: a213 ba29 macl %a1,%a3,<<,%a3@&,%d1,%acc0
+ 6120: a293 ba39 macl %a1,%a3,<<,%a3@&,%d1,%acc2
+ 6124: a653 ba29 macl %a1,%a3,>>,%a3@&,%a3,%acc0
+ 6128: a6d3 ba39 macl %a1,%a3,>>,%a3@&,%a3,%acc2
+ 612c: a413 ba29 macl %a1,%a3,,%a3@&,%d2,%acc0
+ 6130: a493 ba39 macl %a1,%a3,,%a3@&,%d2,%acc2
+ 6134: ae53 ba29 macl %a1,%a3,>>,%a3@&,%sp,%acc0
+ 6138: aed3 ba39 macl %a1,%a3,>>,%a3@&,%sp,%acc2
+ 613c: a21a ba09 macl %a1,%a3,<<,%a2@\+,%d1,%acc0
+ 6140: a29a ba19 macl %a1,%a3,<<,%a2@\+,%d1,%acc2
+ 6144: a65a ba09 macl %a1,%a3,>>,%a2@\+,%a3,%acc0
+ 6148: a6da ba19 macl %a1,%a3,>>,%a2@\+,%a3,%acc2
+ 614c: a41a ba09 macl %a1,%a3,,%a2@\+,%d2,%acc0
+ 6150: a49a ba19 macl %a1,%a3,,%a2@\+,%d2,%acc2
+ 6154: ae5a ba09 macl %a1,%a3,>>,%a2@\+,%sp,%acc0
+ 6158: aeda ba19 macl %a1,%a3,>>,%a2@\+,%sp,%acc2
+ 615c: a21a ba29 macl %a1,%a3,<<,%a2@\+&,%d1,%acc0
+ 6160: a29a ba39 macl %a1,%a3,<<,%a2@\+&,%d1,%acc2
+ 6164: a65a ba29 macl %a1,%a3,>>,%a2@\+&,%a3,%acc0
+ 6168: a6da ba39 macl %a1,%a3,>>,%a2@\+&,%a3,%acc2
+ 616c: a41a ba29 macl %a1,%a3,,%a2@\+&,%d2,%acc0
+ 6170: a49a ba39 macl %a1,%a3,,%a2@\+&,%d2,%acc2
+ 6174: ae5a ba29 macl %a1,%a3,>>,%a2@\+&,%sp,%acc0
+ 6178: aeda ba39 macl %a1,%a3,>>,%a2@\+&,%sp,%acc2
+ 617c: a22e ba09 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6182: a2ae ba19 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6188: a66e ba09 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc0
+ 618e: a6ee ba19 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6194: a42e ba09 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc0
+ 619a: a4ae ba19 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc2
+ 61a0: ae6e ba09 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc0
+ 61a6: aeee ba19 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc2
+ 61ac: a22e ba29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 61b2: a2ae ba39 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 61b8: a66e ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 61be: a6ee ba39 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 61c4: a42e ba29 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc0
+ 61ca: a4ae ba39 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc2
+ 61d0: ae6e ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 61d6: aeee ba39 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 61dc: a221 ba09 macl %a1,%a3,<<,%a1@-,%d1,%acc0
+ 61e0: a2a1 ba19 macl %a1,%a3,<<,%a1@-,%d1,%acc2
+ 61e4: a661 ba09 macl %a1,%a3,>>,%a1@-,%a3,%acc0
+ 61e8: a6e1 ba19 macl %a1,%a3,>>,%a1@-,%a3,%acc2
+ 61ec: a421 ba09 macl %a1,%a3,,%a1@-,%d2,%acc0
+ 61f0: a4a1 ba19 macl %a1,%a3,,%a1@-,%d2,%acc2
+ 61f4: ae61 ba09 macl %a1,%a3,>>,%a1@-,%sp,%acc0
+ 61f8: aee1 ba19 macl %a1,%a3,>>,%a1@-,%sp,%acc2
+ 61fc: a221 ba29 macl %a1,%a3,<<,%a1@-&,%d1,%acc0
+ 6200: a2a1 ba39 macl %a1,%a3,<<,%a1@-&,%d1,%acc2
+ 6204: a661 ba29 macl %a1,%a3,>>,%a1@-&,%a3,%acc0
+ 6208: a6e1 ba39 macl %a1,%a3,>>,%a1@-&,%a3,%acc2
+ 620c: a421 ba29 macl %a1,%a3,,%a1@-&,%d2,%acc0
+ 6210: a4a1 ba39 macl %a1,%a3,,%a1@-&,%d2,%acc2
+ 6214: ae61 ba29 macl %a1,%a3,>>,%a1@-&,%sp,%acc0
+ 6218: aee1 ba39 macl %a1,%a3,>>,%a1@-&,%sp,%acc2
+ 621c: a213 be09 macl %a1,%a3,<<,%a3@,%d1,%acc0
+ 6220: a293 be19 macl %a1,%a3,<<,%a3@,%d1,%acc2
+ 6224: a653 be09 macl %a1,%a3,>>,%a3@,%a3,%acc0
+ 6228: a6d3 be19 macl %a1,%a3,>>,%a3@,%a3,%acc2
+ 622c: a413 be09 macl %a1,%a3,,%a3@,%d2,%acc0
+ 6230: a493 be19 macl %a1,%a3,,%a3@,%d2,%acc2
+ 6234: ae53 be09 macl %a1,%a3,>>,%a3@,%sp,%acc0
+ 6238: aed3 be19 macl %a1,%a3,>>,%a3@,%sp,%acc2
+ 623c: a213 be29 macl %a1,%a3,<<,%a3@&,%d1,%acc0
+ 6240: a293 be39 macl %a1,%a3,<<,%a3@&,%d1,%acc2
+ 6244: a653 be29 macl %a1,%a3,>>,%a3@&,%a3,%acc0
+ 6248: a6d3 be39 macl %a1,%a3,>>,%a3@&,%a3,%acc2
+ 624c: a413 be29 macl %a1,%a3,,%a3@&,%d2,%acc0
+ 6250: a493 be39 macl %a1,%a3,,%a3@&,%d2,%acc2
+ 6254: ae53 be29 macl %a1,%a3,>>,%a3@&,%sp,%acc0
+ 6258: aed3 be39 macl %a1,%a3,>>,%a3@&,%sp,%acc2
+ 625c: a21a be09 macl %a1,%a3,<<,%a2@\+,%d1,%acc0
+ 6260: a29a be19 macl %a1,%a3,<<,%a2@\+,%d1,%acc2
+ 6264: a65a be09 macl %a1,%a3,>>,%a2@\+,%a3,%acc0
+ 6268: a6da be19 macl %a1,%a3,>>,%a2@\+,%a3,%acc2
+ 626c: a41a be09 macl %a1,%a3,,%a2@\+,%d2,%acc0
+ 6270: a49a be19 macl %a1,%a3,,%a2@\+,%d2,%acc2
+ 6274: ae5a be09 macl %a1,%a3,>>,%a2@\+,%sp,%acc0
+ 6278: aeda be19 macl %a1,%a3,>>,%a2@\+,%sp,%acc2
+ 627c: a21a be29 macl %a1,%a3,<<,%a2@\+&,%d1,%acc0
+ 6280: a29a be39 macl %a1,%a3,<<,%a2@\+&,%d1,%acc2
+ 6284: a65a be29 macl %a1,%a3,>>,%a2@\+&,%a3,%acc0
+ 6288: a6da be39 macl %a1,%a3,>>,%a2@\+&,%a3,%acc2
+ 628c: a41a be29 macl %a1,%a3,,%a2@\+&,%d2,%acc0
+ 6290: a49a be39 macl %a1,%a3,,%a2@\+&,%d2,%acc2
+ 6294: ae5a be29 macl %a1,%a3,>>,%a2@\+&,%sp,%acc0
+ 6298: aeda be39 macl %a1,%a3,>>,%a2@\+&,%sp,%acc2
+ 629c: a22e be09 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc0
+ 62a2: a2ae be19 000a macl %a1,%a3,<<,%fp@\(10\),%d1,%acc2
+ 62a8: a66e be09 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc0
+ 62ae: a6ee be19 000a macl %a1,%a3,>>,%fp@\(10\),%a3,%acc2
+ 62b4: a42e be09 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc0
+ 62ba: a4ae be19 000a macl %a1,%a3,,%fp@\(10\),%d2,%acc2
+ 62c0: ae6e be09 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc0
+ 62c6: aeee be19 000a macl %a1,%a3,>>,%fp@\(10\),%sp,%acc2
+ 62cc: a22e be29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 62d2: a2ae be39 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 62d8: a66e be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 62de: a6ee be39 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 62e4: a42e be29 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc0
+ 62ea: a4ae be39 000a macl %a1,%a3,,%fp@\(10\)&,%d2,%acc2
+ 62f0: ae6e be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 62f6: aeee be39 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 62fc: a221 be09 macl %a1,%a3,<<,%a1@-,%d1,%acc0
+ 6300: a2a1 be19 macl %a1,%a3,<<,%a1@-,%d1,%acc2
+ 6304: a661 be09 macl %a1,%a3,>>,%a1@-,%a3,%acc0
+ 6308: a6e1 be19 macl %a1,%a3,>>,%a1@-,%a3,%acc2
+ 630c: a421 be09 macl %a1,%a3,,%a1@-,%d2,%acc0
+ 6310: a4a1 be19 macl %a1,%a3,,%a1@-,%d2,%acc2
+ 6314: ae61 be09 macl %a1,%a3,>>,%a1@-,%sp,%acc0
+ 6318: aee1 be19 macl %a1,%a3,>>,%a1@-,%sp,%acc2
+ 631c: a221 be29 macl %a1,%a3,<<,%a1@-&,%d1,%acc0
+ 6320: a2a1 be39 macl %a1,%a3,<<,%a1@-&,%d1,%acc2
+ 6324: a661 be29 macl %a1,%a3,>>,%a1@-&,%a3,%acc0
+ 6328: a6e1 be39 macl %a1,%a3,>>,%a1@-&,%a3,%acc2
+ 632c: a421 be29 macl %a1,%a3,,%a1@-&,%d2,%acc0
+ 6330: a4a1 be39 macl %a1,%a3,,%a1@-&,%d2,%acc2
+ 6334: ae61 be29 macl %a1,%a3,>>,%a1@-&,%sp,%acc0
+ 6338: aee1 be39 macl %a1,%a3,>>,%a1@-&,%sp,%acc2
+ 633c: a213 4809 macl %a1,%d4,%a3@,%d1,%acc1
+ 6340: a293 4819 macl %a1,%d4,%a3@,%d1,%acc3
+ 6344: a653 4809 macl %a1,%d4,%a3@,%a3,%acc1
+ 6348: a6d3 4819 macl %a1,%d4,%a3@,%a3,%acc3
+ 634c: a413 4809 macl %a1,%d4,%a3@,%d2,%acc1
+ 6350: a493 4819 macl %a1,%d4,%a3@,%d2,%acc3
+ 6354: ae53 4809 macl %a1,%d4,%a3@,%sp,%acc1
+ 6358: aed3 4819 macl %a1,%d4,%a3@,%sp,%acc3
+ 635c: a213 4829 macl %a1,%d4,%a3@&,%d1,%acc1
+ 6360: a293 4839 macl %a1,%d4,%a3@&,%d1,%acc3
+ 6364: a653 4829 macl %a1,%d4,%a3@&,%a3,%acc1
+ 6368: a6d3 4839 macl %a1,%d4,%a3@&,%a3,%acc3
+ 636c: a413 4829 macl %a1,%d4,%a3@&,%d2,%acc1
+ 6370: a493 4839 macl %a1,%d4,%a3@&,%d2,%acc3
+ 6374: ae53 4829 macl %a1,%d4,%a3@&,%sp,%acc1
+ 6378: aed3 4839 macl %a1,%d4,%a3@&,%sp,%acc3
+ 637c: a21a 4809 macl %a1,%d4,%a2@\+,%d1,%acc1
+ 6380: a29a 4819 macl %a1,%d4,%a2@\+,%d1,%acc3
+ 6384: a65a 4809 macl %a1,%d4,%a2@\+,%a3,%acc1
+ 6388: a6da 4819 macl %a1,%d4,%a2@\+,%a3,%acc3
+ 638c: a41a 4809 macl %a1,%d4,%a2@\+,%d2,%acc1
+ 6390: a49a 4819 macl %a1,%d4,%a2@\+,%d2,%acc3
+ 6394: ae5a 4809 macl %a1,%d4,%a2@\+,%sp,%acc1
+ 6398: aeda 4819 macl %a1,%d4,%a2@\+,%sp,%acc3
+ 639c: a21a 4829 macl %a1,%d4,%a2@\+&,%d1,%acc1
+ 63a0: a29a 4839 macl %a1,%d4,%a2@\+&,%d1,%acc3
+ 63a4: a65a 4829 macl %a1,%d4,%a2@\+&,%a3,%acc1
+ 63a8: a6da 4839 macl %a1,%d4,%a2@\+&,%a3,%acc3
+ 63ac: a41a 4829 macl %a1,%d4,%a2@\+&,%d2,%acc1
+ 63b0: a49a 4839 macl %a1,%d4,%a2@\+&,%d2,%acc3
+ 63b4: ae5a 4829 macl %a1,%d4,%a2@\+&,%sp,%acc1
+ 63b8: aeda 4839 macl %a1,%d4,%a2@\+&,%sp,%acc3
+ 63bc: a22e 4809 000a macl %a1,%d4,%fp@\(10\),%d1,%acc1
+ 63c2: a2ae 4819 000a macl %a1,%d4,%fp@\(10\),%d1,%acc3
+ 63c8: a66e 4809 000a macl %a1,%d4,%fp@\(10\),%a3,%acc1
+ 63ce: a6ee 4819 000a macl %a1,%d4,%fp@\(10\),%a3,%acc3
+ 63d4: a42e 4809 000a macl %a1,%d4,%fp@\(10\),%d2,%acc1
+ 63da: a4ae 4819 000a macl %a1,%d4,%fp@\(10\),%d2,%acc3
+ 63e0: ae6e 4809 000a macl %a1,%d4,%fp@\(10\),%sp,%acc1
+ 63e6: aeee 4819 000a macl %a1,%d4,%fp@\(10\),%sp,%acc3
+ 63ec: a22e 4829 000a macl %a1,%d4,%fp@\(10\)&,%d1,%acc1
+ 63f2: a2ae 4839 000a macl %a1,%d4,%fp@\(10\)&,%d1,%acc3
+ 63f8: a66e 4829 000a macl %a1,%d4,%fp@\(10\)&,%a3,%acc1
+ 63fe: a6ee 4839 000a macl %a1,%d4,%fp@\(10\)&,%a3,%acc3
+ 6404: a42e 4829 000a macl %a1,%d4,%fp@\(10\)&,%d2,%acc1
+ 640a: a4ae 4839 000a macl %a1,%d4,%fp@\(10\)&,%d2,%acc3
+ 6410: ae6e 4829 000a macl %a1,%d4,%fp@\(10\)&,%sp,%acc1
+ 6416: aeee 4839 000a macl %a1,%d4,%fp@\(10\)&,%sp,%acc3
+ 641c: a221 4809 macl %a1,%d4,%a1@-,%d1,%acc1
+ 6420: a2a1 4819 macl %a1,%d4,%a1@-,%d1,%acc3
+ 6424: a661 4809 macl %a1,%d4,%a1@-,%a3,%acc1
+ 6428: a6e1 4819 macl %a1,%d4,%a1@-,%a3,%acc3
+ 642c: a421 4809 macl %a1,%d4,%a1@-,%d2,%acc1
+ 6430: a4a1 4819 macl %a1,%d4,%a1@-,%d2,%acc3
+ 6434: ae61 4809 macl %a1,%d4,%a1@-,%sp,%acc1
+ 6438: aee1 4819 macl %a1,%d4,%a1@-,%sp,%acc3
+ 643c: a221 4829 macl %a1,%d4,%a1@-&,%d1,%acc1
+ 6440: a2a1 4839 macl %a1,%d4,%a1@-&,%d1,%acc3
+ 6444: a661 4829 macl %a1,%d4,%a1@-&,%a3,%acc1
+ 6448: a6e1 4839 macl %a1,%d4,%a1@-&,%a3,%acc3
+ 644c: a421 4829 macl %a1,%d4,%a1@-&,%d2,%acc1
+ 6450: a4a1 4839 macl %a1,%d4,%a1@-&,%d2,%acc3
+ 6454: ae61 4829 macl %a1,%d4,%a1@-&,%sp,%acc1
+ 6458: aee1 4839 macl %a1,%d4,%a1@-&,%sp,%acc3
+ 645c: a213 4a09 macl %a1,%d4,<<,%a3@,%d1,%acc1
+ 6460: a293 4a19 macl %a1,%d4,<<,%a3@,%d1,%acc3
+ 6464: a653 4a09 macl %a1,%d4,>>,%a3@,%a3,%acc1
+ 6468: a6d3 4a19 macl %a1,%d4,>>,%a3@,%a3,%acc3
+ 646c: a413 4a09 macl %a1,%d4,,%a3@,%d2,%acc1
+ 6470: a493 4a19 macl %a1,%d4,,%a3@,%d2,%acc3
+ 6474: ae53 4a09 macl %a1,%d4,>>,%a3@,%sp,%acc1
+ 6478: aed3 4a19 macl %a1,%d4,>>,%a3@,%sp,%acc3
+ 647c: a213 4a29 macl %a1,%d4,<<,%a3@&,%d1,%acc1
+ 6480: a293 4a39 macl %a1,%d4,<<,%a3@&,%d1,%acc3
+ 6484: a653 4a29 macl %a1,%d4,>>,%a3@&,%a3,%acc1
+ 6488: a6d3 4a39 macl %a1,%d4,>>,%a3@&,%a3,%acc3
+ 648c: a413 4a29 macl %a1,%d4,,%a3@&,%d2,%acc1
+ 6490: a493 4a39 macl %a1,%d4,,%a3@&,%d2,%acc3
+ 6494: ae53 4a29 macl %a1,%d4,>>,%a3@&,%sp,%acc1
+ 6498: aed3 4a39 macl %a1,%d4,>>,%a3@&,%sp,%acc3
+ 649c: a21a 4a09 macl %a1,%d4,<<,%a2@\+,%d1,%acc1
+ 64a0: a29a 4a19 macl %a1,%d4,<<,%a2@\+,%d1,%acc3
+ 64a4: a65a 4a09 macl %a1,%d4,>>,%a2@\+,%a3,%acc1
+ 64a8: a6da 4a19 macl %a1,%d4,>>,%a2@\+,%a3,%acc3
+ 64ac: a41a 4a09 macl %a1,%d4,,%a2@\+,%d2,%acc1
+ 64b0: a49a 4a19 macl %a1,%d4,,%a2@\+,%d2,%acc3
+ 64b4: ae5a 4a09 macl %a1,%d4,>>,%a2@\+,%sp,%acc1
+ 64b8: aeda 4a19 macl %a1,%d4,>>,%a2@\+,%sp,%acc3
+ 64bc: a21a 4a29 macl %a1,%d4,<<,%a2@\+&,%d1,%acc1
+ 64c0: a29a 4a39 macl %a1,%d4,<<,%a2@\+&,%d1,%acc3
+ 64c4: a65a 4a29 macl %a1,%d4,>>,%a2@\+&,%a3,%acc1
+ 64c8: a6da 4a39 macl %a1,%d4,>>,%a2@\+&,%a3,%acc3
+ 64cc: a41a 4a29 macl %a1,%d4,,%a2@\+&,%d2,%acc1
+ 64d0: a49a 4a39 macl %a1,%d4,,%a2@\+&,%d2,%acc3
+ 64d4: ae5a 4a29 macl %a1,%d4,>>,%a2@\+&,%sp,%acc1
+ 64d8: aeda 4a39 macl %a1,%d4,>>,%a2@\+&,%sp,%acc3
+ 64dc: a22e 4a09 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc1
+ 64e2: a2ae 4a19 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc3
+ 64e8: a66e 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc1
+ 64ee: a6ee 4a19 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc3
+ 64f4: a42e 4a09 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc1
+ 64fa: a4ae 4a19 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc3
+ 6500: ae6e 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc1
+ 6506: aeee 4a19 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc3
+ 650c: a22e 4a29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 6512: a2ae 4a39 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 6518: a66e 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 651e: a6ee 4a39 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 6524: a42e 4a29 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc1
+ 652a: a4ae 4a39 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc3
+ 6530: ae6e 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 6536: aeee 4a39 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 653c: a221 4a09 macl %a1,%d4,<<,%a1@-,%d1,%acc1
+ 6540: a2a1 4a19 macl %a1,%d4,<<,%a1@-,%d1,%acc3
+ 6544: a661 4a09 macl %a1,%d4,>>,%a1@-,%a3,%acc1
+ 6548: a6e1 4a19 macl %a1,%d4,>>,%a1@-,%a3,%acc3
+ 654c: a421 4a09 macl %a1,%d4,,%a1@-,%d2,%acc1
+ 6550: a4a1 4a19 macl %a1,%d4,,%a1@-,%d2,%acc3
+ 6554: ae61 4a09 macl %a1,%d4,>>,%a1@-,%sp,%acc1
+ 6558: aee1 4a19 macl %a1,%d4,>>,%a1@-,%sp,%acc3
+ 655c: a221 4a29 macl %a1,%d4,<<,%a1@-&,%d1,%acc1
+ 6560: a2a1 4a39 macl %a1,%d4,<<,%a1@-&,%d1,%acc3
+ 6564: a661 4a29 macl %a1,%d4,>>,%a1@-&,%a3,%acc1
+ 6568: a6e1 4a39 macl %a1,%d4,>>,%a1@-&,%a3,%acc3
+ 656c: a421 4a29 macl %a1,%d4,,%a1@-&,%d2,%acc1
+ 6570: a4a1 4a39 macl %a1,%d4,,%a1@-&,%d2,%acc3
+ 6574: ae61 4a29 macl %a1,%d4,>>,%a1@-&,%sp,%acc1
+ 6578: aee1 4a39 macl %a1,%d4,>>,%a1@-&,%sp,%acc3
+ 657c: a213 4e09 macl %a1,%d4,<<,%a3@,%d1,%acc1
+ 6580: a293 4e19 macl %a1,%d4,<<,%a3@,%d1,%acc3
+ 6584: a653 4e09 macl %a1,%d4,>>,%a3@,%a3,%acc1
+ 6588: a6d3 4e19 macl %a1,%d4,>>,%a3@,%a3,%acc3
+ 658c: a413 4e09 macl %a1,%d4,,%a3@,%d2,%acc1
+ 6590: a493 4e19 macl %a1,%d4,,%a3@,%d2,%acc3
+ 6594: ae53 4e09 macl %a1,%d4,>>,%a3@,%sp,%acc1
+ 6598: aed3 4e19 macl %a1,%d4,>>,%a3@,%sp,%acc3
+ 659c: a213 4e29 macl %a1,%d4,<<,%a3@&,%d1,%acc1
+ 65a0: a293 4e39 macl %a1,%d4,<<,%a3@&,%d1,%acc3
+ 65a4: a653 4e29 macl %a1,%d4,>>,%a3@&,%a3,%acc1
+ 65a8: a6d3 4e39 macl %a1,%d4,>>,%a3@&,%a3,%acc3
+ 65ac: a413 4e29 macl %a1,%d4,,%a3@&,%d2,%acc1
+ 65b0: a493 4e39 macl %a1,%d4,,%a3@&,%d2,%acc3
+ 65b4: ae53 4e29 macl %a1,%d4,>>,%a3@&,%sp,%acc1
+ 65b8: aed3 4e39 macl %a1,%d4,>>,%a3@&,%sp,%acc3
+ 65bc: a21a 4e09 macl %a1,%d4,<<,%a2@\+,%d1,%acc1
+ 65c0: a29a 4e19 macl %a1,%d4,<<,%a2@\+,%d1,%acc3
+ 65c4: a65a 4e09 macl %a1,%d4,>>,%a2@\+,%a3,%acc1
+ 65c8: a6da 4e19 macl %a1,%d4,>>,%a2@\+,%a3,%acc3
+ 65cc: a41a 4e09 macl %a1,%d4,,%a2@\+,%d2,%acc1
+ 65d0: a49a 4e19 macl %a1,%d4,,%a2@\+,%d2,%acc3
+ 65d4: ae5a 4e09 macl %a1,%d4,>>,%a2@\+,%sp,%acc1
+ 65d8: aeda 4e19 macl %a1,%d4,>>,%a2@\+,%sp,%acc3
+ 65dc: a21a 4e29 macl %a1,%d4,<<,%a2@\+&,%d1,%acc1
+ 65e0: a29a 4e39 macl %a1,%d4,<<,%a2@\+&,%d1,%acc3
+ 65e4: a65a 4e29 macl %a1,%d4,>>,%a2@\+&,%a3,%acc1
+ 65e8: a6da 4e39 macl %a1,%d4,>>,%a2@\+&,%a3,%acc3
+ 65ec: a41a 4e29 macl %a1,%d4,,%a2@\+&,%d2,%acc1
+ 65f0: a49a 4e39 macl %a1,%d4,,%a2@\+&,%d2,%acc3
+ 65f4: ae5a 4e29 macl %a1,%d4,>>,%a2@\+&,%sp,%acc1
+ 65f8: aeda 4e39 macl %a1,%d4,>>,%a2@\+&,%sp,%acc3
+ 65fc: a22e 4e09 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc1
+ 6602: a2ae 4e19 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc3
+ 6608: a66e 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc1
+ 660e: a6ee 4e19 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc3
+ 6614: a42e 4e09 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc1
+ 661a: a4ae 4e19 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc3
+ 6620: ae6e 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc1
+ 6626: aeee 4e19 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc3
+ 662c: a22e 4e29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 6632: a2ae 4e39 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 6638: a66e 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 663e: a6ee 4e39 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 6644: a42e 4e29 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc1
+ 664a: a4ae 4e39 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc3
+ 6650: ae6e 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 6656: aeee 4e39 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 665c: a221 4e09 macl %a1,%d4,<<,%a1@-,%d1,%acc1
+ 6660: a2a1 4e19 macl %a1,%d4,<<,%a1@-,%d1,%acc3
+ 6664: a661 4e09 macl %a1,%d4,>>,%a1@-,%a3,%acc1
+ 6668: a6e1 4e19 macl %a1,%d4,>>,%a1@-,%a3,%acc3
+ 666c: a421 4e09 macl %a1,%d4,,%a1@-,%d2,%acc1
+ 6670: a4a1 4e19 macl %a1,%d4,,%a1@-,%d2,%acc3
+ 6674: ae61 4e09 macl %a1,%d4,>>,%a1@-,%sp,%acc1
+ 6678: aee1 4e19 macl %a1,%d4,>>,%a1@-,%sp,%acc3
+ 667c: a221 4e29 macl %a1,%d4,<<,%a1@-&,%d1,%acc1
+ 6680: a2a1 4e39 macl %a1,%d4,<<,%a1@-&,%d1,%acc3
+ 6684: a661 4e29 macl %a1,%d4,>>,%a1@-&,%a3,%acc1
+ 6688: a6e1 4e39 macl %a1,%d4,>>,%a1@-&,%a3,%acc3
+ 668c: a421 4e29 macl %a1,%d4,,%a1@-&,%d2,%acc1
+ 6690: a4a1 4e39 macl %a1,%d4,,%a1@-&,%d2,%acc3
+ 6694: ae61 4e29 macl %a1,%d4,>>,%a1@-&,%sp,%acc1
+ 6698: aee1 4e39 macl %a1,%d4,>>,%a1@-&,%sp,%acc3
+ 669c: a213 4a09 macl %a1,%d4,<<,%a3@,%d1,%acc1
+ 66a0: a293 4a19 macl %a1,%d4,<<,%a3@,%d1,%acc3
+ 66a4: a653 4a09 macl %a1,%d4,>>,%a3@,%a3,%acc1
+ 66a8: a6d3 4a19 macl %a1,%d4,>>,%a3@,%a3,%acc3
+ 66ac: a413 4a09 macl %a1,%d4,,%a3@,%d2,%acc1
+ 66b0: a493 4a19 macl %a1,%d4,,%a3@,%d2,%acc3
+ 66b4: ae53 4a09 macl %a1,%d4,>>,%a3@,%sp,%acc1
+ 66b8: aed3 4a19 macl %a1,%d4,>>,%a3@,%sp,%acc3
+ 66bc: a213 4a29 macl %a1,%d4,<<,%a3@&,%d1,%acc1
+ 66c0: a293 4a39 macl %a1,%d4,<<,%a3@&,%d1,%acc3
+ 66c4: a653 4a29 macl %a1,%d4,>>,%a3@&,%a3,%acc1
+ 66c8: a6d3 4a39 macl %a1,%d4,>>,%a3@&,%a3,%acc3
+ 66cc: a413 4a29 macl %a1,%d4,,%a3@&,%d2,%acc1
+ 66d0: a493 4a39 macl %a1,%d4,,%a3@&,%d2,%acc3
+ 66d4: ae53 4a29 macl %a1,%d4,>>,%a3@&,%sp,%acc1
+ 66d8: aed3 4a39 macl %a1,%d4,>>,%a3@&,%sp,%acc3
+ 66dc: a21a 4a09 macl %a1,%d4,<<,%a2@\+,%d1,%acc1
+ 66e0: a29a 4a19 macl %a1,%d4,<<,%a2@\+,%d1,%acc3
+ 66e4: a65a 4a09 macl %a1,%d4,>>,%a2@\+,%a3,%acc1
+ 66e8: a6da 4a19 macl %a1,%d4,>>,%a2@\+,%a3,%acc3
+ 66ec: a41a 4a09 macl %a1,%d4,,%a2@\+,%d2,%acc1
+ 66f0: a49a 4a19 macl %a1,%d4,,%a2@\+,%d2,%acc3
+ 66f4: ae5a 4a09 macl %a1,%d4,>>,%a2@\+,%sp,%acc1
+ 66f8: aeda 4a19 macl %a1,%d4,>>,%a2@\+,%sp,%acc3
+ 66fc: a21a 4a29 macl %a1,%d4,<<,%a2@\+&,%d1,%acc1
+ 6700: a29a 4a39 macl %a1,%d4,<<,%a2@\+&,%d1,%acc3
+ 6704: a65a 4a29 macl %a1,%d4,>>,%a2@\+&,%a3,%acc1
+ 6708: a6da 4a39 macl %a1,%d4,>>,%a2@\+&,%a3,%acc3
+ 670c: a41a 4a29 macl %a1,%d4,,%a2@\+&,%d2,%acc1
+ 6710: a49a 4a39 macl %a1,%d4,,%a2@\+&,%d2,%acc3
+ 6714: ae5a 4a29 macl %a1,%d4,>>,%a2@\+&,%sp,%acc1
+ 6718: aeda 4a39 macl %a1,%d4,>>,%a2@\+&,%sp,%acc3
+ 671c: a22e 4a09 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc1
+ 6722: a2ae 4a19 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc3
+ 6728: a66e 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc1
+ 672e: a6ee 4a19 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc3
+ 6734: a42e 4a09 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc1
+ 673a: a4ae 4a19 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc3
+ 6740: ae6e 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc1
+ 6746: aeee 4a19 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc3
+ 674c: a22e 4a29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 6752: a2ae 4a39 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 6758: a66e 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 675e: a6ee 4a39 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 6764: a42e 4a29 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc1
+ 676a: a4ae 4a39 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc3
+ 6770: ae6e 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 6776: aeee 4a39 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 677c: a221 4a09 macl %a1,%d4,<<,%a1@-,%d1,%acc1
+ 6780: a2a1 4a19 macl %a1,%d4,<<,%a1@-,%d1,%acc3
+ 6784: a661 4a09 macl %a1,%d4,>>,%a1@-,%a3,%acc1
+ 6788: a6e1 4a19 macl %a1,%d4,>>,%a1@-,%a3,%acc3
+ 678c: a421 4a09 macl %a1,%d4,,%a1@-,%d2,%acc1
+ 6790: a4a1 4a19 macl %a1,%d4,,%a1@-,%d2,%acc3
+ 6794: ae61 4a09 macl %a1,%d4,>>,%a1@-,%sp,%acc1
+ 6798: aee1 4a19 macl %a1,%d4,>>,%a1@-,%sp,%acc3
+ 679c: a221 4a29 macl %a1,%d4,<<,%a1@-&,%d1,%acc1
+ 67a0: a2a1 4a39 macl %a1,%d4,<<,%a1@-&,%d1,%acc3
+ 67a4: a661 4a29 macl %a1,%d4,>>,%a1@-&,%a3,%acc1
+ 67a8: a6e1 4a39 macl %a1,%d4,>>,%a1@-&,%a3,%acc3
+ 67ac: a421 4a29 macl %a1,%d4,,%a1@-&,%d2,%acc1
+ 67b0: a4a1 4a39 macl %a1,%d4,,%a1@-&,%d2,%acc3
+ 67b4: ae61 4a29 macl %a1,%d4,>>,%a1@-&,%sp,%acc1
+ 67b8: aee1 4a39 macl %a1,%d4,>>,%a1@-&,%sp,%acc3
+ 67bc: a213 4e09 macl %a1,%d4,<<,%a3@,%d1,%acc1
+ 67c0: a293 4e19 macl %a1,%d4,<<,%a3@,%d1,%acc3
+ 67c4: a653 4e09 macl %a1,%d4,>>,%a3@,%a3,%acc1
+ 67c8: a6d3 4e19 macl %a1,%d4,>>,%a3@,%a3,%acc3
+ 67cc: a413 4e09 macl %a1,%d4,,%a3@,%d2,%acc1
+ 67d0: a493 4e19 macl %a1,%d4,,%a3@,%d2,%acc3
+ 67d4: ae53 4e09 macl %a1,%d4,>>,%a3@,%sp,%acc1
+ 67d8: aed3 4e19 macl %a1,%d4,>>,%a3@,%sp,%acc3
+ 67dc: a213 4e29 macl %a1,%d4,<<,%a3@&,%d1,%acc1
+ 67e0: a293 4e39 macl %a1,%d4,<<,%a3@&,%d1,%acc3
+ 67e4: a653 4e29 macl %a1,%d4,>>,%a3@&,%a3,%acc1
+ 67e8: a6d3 4e39 macl %a1,%d4,>>,%a3@&,%a3,%acc3
+ 67ec: a413 4e29 macl %a1,%d4,,%a3@&,%d2,%acc1
+ 67f0: a493 4e39 macl %a1,%d4,,%a3@&,%d2,%acc3
+ 67f4: ae53 4e29 macl %a1,%d4,>>,%a3@&,%sp,%acc1
+ 67f8: aed3 4e39 macl %a1,%d4,>>,%a3@&,%sp,%acc3
+ 67fc: a21a 4e09 macl %a1,%d4,<<,%a2@\+,%d1,%acc1
+ 6800: a29a 4e19 macl %a1,%d4,<<,%a2@\+,%d1,%acc3
+ 6804: a65a 4e09 macl %a1,%d4,>>,%a2@\+,%a3,%acc1
+ 6808: a6da 4e19 macl %a1,%d4,>>,%a2@\+,%a3,%acc3
+ 680c: a41a 4e09 macl %a1,%d4,,%a2@\+,%d2,%acc1
+ 6810: a49a 4e19 macl %a1,%d4,,%a2@\+,%d2,%acc3
+ 6814: ae5a 4e09 macl %a1,%d4,>>,%a2@\+,%sp,%acc1
+ 6818: aeda 4e19 macl %a1,%d4,>>,%a2@\+,%sp,%acc3
+ 681c: a21a 4e29 macl %a1,%d4,<<,%a2@\+&,%d1,%acc1
+ 6820: a29a 4e39 macl %a1,%d4,<<,%a2@\+&,%d1,%acc3
+ 6824: a65a 4e29 macl %a1,%d4,>>,%a2@\+&,%a3,%acc1
+ 6828: a6da 4e39 macl %a1,%d4,>>,%a2@\+&,%a3,%acc3
+ 682c: a41a 4e29 macl %a1,%d4,,%a2@\+&,%d2,%acc1
+ 6830: a49a 4e39 macl %a1,%d4,,%a2@\+&,%d2,%acc3
+ 6834: ae5a 4e29 macl %a1,%d4,>>,%a2@\+&,%sp,%acc1
+ 6838: aeda 4e39 macl %a1,%d4,>>,%a2@\+&,%sp,%acc3
+ 683c: a22e 4e09 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc1
+ 6842: a2ae 4e19 000a macl %a1,%d4,<<,%fp@\(10\),%d1,%acc3
+ 6848: a66e 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc1
+ 684e: a6ee 4e19 000a macl %a1,%d4,>>,%fp@\(10\),%a3,%acc3
+ 6854: a42e 4e09 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc1
+ 685a: a4ae 4e19 000a macl %a1,%d4,,%fp@\(10\),%d2,%acc3
+ 6860: ae6e 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc1
+ 6866: aeee 4e19 000a macl %a1,%d4,>>,%fp@\(10\),%sp,%acc3
+ 686c: a22e 4e29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 6872: a2ae 4e39 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 6878: a66e 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 687e: a6ee 4e39 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 6884: a42e 4e29 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc1
+ 688a: a4ae 4e39 000a macl %a1,%d4,,%fp@\(10\)&,%d2,%acc3
+ 6890: ae6e 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 6896: aeee 4e39 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 689c: a221 4e09 macl %a1,%d4,<<,%a1@-,%d1,%acc1
+ 68a0: a2a1 4e19 macl %a1,%d4,<<,%a1@-,%d1,%acc3
+ 68a4: a661 4e09 macl %a1,%d4,>>,%a1@-,%a3,%acc1
+ 68a8: a6e1 4e19 macl %a1,%d4,>>,%a1@-,%a3,%acc3
+ 68ac: a421 4e09 macl %a1,%d4,,%a1@-,%d2,%acc1
+ 68b0: a4a1 4e19 macl %a1,%d4,,%a1@-,%d2,%acc3
+ 68b4: ae61 4e09 macl %a1,%d4,>>,%a1@-,%sp,%acc1
+ 68b8: aee1 4e19 macl %a1,%d4,>>,%a1@-,%sp,%acc3
+ 68bc: a221 4e29 macl %a1,%d4,<<,%a1@-&,%d1,%acc1
+ 68c0: a2a1 4e39 macl %a1,%d4,<<,%a1@-&,%d1,%acc3
+ 68c4: a661 4e29 macl %a1,%d4,>>,%a1@-&,%a3,%acc1
+ 68c8: a6e1 4e39 macl %a1,%d4,>>,%a1@-&,%a3,%acc3
+ 68cc: a421 4e29 macl %a1,%d4,,%a1@-&,%d2,%acc1
+ 68d0: a4a1 4e39 macl %a1,%d4,,%a1@-&,%d2,%acc3
+ 68d4: ae61 4e29 macl %a1,%d4,>>,%a1@-&,%sp,%acc1
+ 68d8: aee1 4e39 macl %a1,%d4,>>,%a1@-&,%sp,%acc3
+ 68dc: a213 b806 macl %d6,%a3,%a3@,%d1,%acc0
+ 68e0: a293 b816 macl %d6,%a3,%a3@,%d1,%acc2
+ 68e4: a653 b806 macl %d6,%a3,%a3@,%a3,%acc0
+ 68e8: a6d3 b816 macl %d6,%a3,%a3@,%a3,%acc2
+ 68ec: a413 b806 macl %d6,%a3,%a3@,%d2,%acc0
+ 68f0: a493 b816 macl %d6,%a3,%a3@,%d2,%acc2
+ 68f4: ae53 b806 macl %d6,%a3,%a3@,%sp,%acc0
+ 68f8: aed3 b816 macl %d6,%a3,%a3@,%sp,%acc2
+ 68fc: a213 b826 macl %d6,%a3,%a3@&,%d1,%acc0
+ 6900: a293 b836 macl %d6,%a3,%a3@&,%d1,%acc2
+ 6904: a653 b826 macl %d6,%a3,%a3@&,%a3,%acc0
+ 6908: a6d3 b836 macl %d6,%a3,%a3@&,%a3,%acc2
+ 690c: a413 b826 macl %d6,%a3,%a3@&,%d2,%acc0
+ 6910: a493 b836 macl %d6,%a3,%a3@&,%d2,%acc2
+ 6914: ae53 b826 macl %d6,%a3,%a3@&,%sp,%acc0
+ 6918: aed3 b836 macl %d6,%a3,%a3@&,%sp,%acc2
+ 691c: a21a b806 macl %d6,%a3,%a2@\+,%d1,%acc0
+ 6920: a29a b816 macl %d6,%a3,%a2@\+,%d1,%acc2
+ 6924: a65a b806 macl %d6,%a3,%a2@\+,%a3,%acc0
+ 6928: a6da b816 macl %d6,%a3,%a2@\+,%a3,%acc2
+ 692c: a41a b806 macl %d6,%a3,%a2@\+,%d2,%acc0
+ 6930: a49a b816 macl %d6,%a3,%a2@\+,%d2,%acc2
+ 6934: ae5a b806 macl %d6,%a3,%a2@\+,%sp,%acc0
+ 6938: aeda b816 macl %d6,%a3,%a2@\+,%sp,%acc2
+ 693c: a21a b826 macl %d6,%a3,%a2@\+&,%d1,%acc0
+ 6940: a29a b836 macl %d6,%a3,%a2@\+&,%d1,%acc2
+ 6944: a65a b826 macl %d6,%a3,%a2@\+&,%a3,%acc0
+ 6948: a6da b836 macl %d6,%a3,%a2@\+&,%a3,%acc2
+ 694c: a41a b826 macl %d6,%a3,%a2@\+&,%d2,%acc0
+ 6950: a49a b836 macl %d6,%a3,%a2@\+&,%d2,%acc2
+ 6954: ae5a b826 macl %d6,%a3,%a2@\+&,%sp,%acc0
+ 6958: aeda b836 macl %d6,%a3,%a2@\+&,%sp,%acc2
+ 695c: a22e b806 000a macl %d6,%a3,%fp@\(10\),%d1,%acc0
+ 6962: a2ae b816 000a macl %d6,%a3,%fp@\(10\),%d1,%acc2
+ 6968: a66e b806 000a macl %d6,%a3,%fp@\(10\),%a3,%acc0
+ 696e: a6ee b816 000a macl %d6,%a3,%fp@\(10\),%a3,%acc2
+ 6974: a42e b806 000a macl %d6,%a3,%fp@\(10\),%d2,%acc0
+ 697a: a4ae b816 000a macl %d6,%a3,%fp@\(10\),%d2,%acc2
+ 6980: ae6e b806 000a macl %d6,%a3,%fp@\(10\),%sp,%acc0
+ 6986: aeee b816 000a macl %d6,%a3,%fp@\(10\),%sp,%acc2
+ 698c: a22e b826 000a macl %d6,%a3,%fp@\(10\)&,%d1,%acc0
+ 6992: a2ae b836 000a macl %d6,%a3,%fp@\(10\)&,%d1,%acc2
+ 6998: a66e b826 000a macl %d6,%a3,%fp@\(10\)&,%a3,%acc0
+ 699e: a6ee b836 000a macl %d6,%a3,%fp@\(10\)&,%a3,%acc2
+ 69a4: a42e b826 000a macl %d6,%a3,%fp@\(10\)&,%d2,%acc0
+ 69aa: a4ae b836 000a macl %d6,%a3,%fp@\(10\)&,%d2,%acc2
+ 69b0: ae6e b826 000a macl %d6,%a3,%fp@\(10\)&,%sp,%acc0
+ 69b6: aeee b836 000a macl %d6,%a3,%fp@\(10\)&,%sp,%acc2
+ 69bc: a221 b806 macl %d6,%a3,%a1@-,%d1,%acc0
+ 69c0: a2a1 b816 macl %d6,%a3,%a1@-,%d1,%acc2
+ 69c4: a661 b806 macl %d6,%a3,%a1@-,%a3,%acc0
+ 69c8: a6e1 b816 macl %d6,%a3,%a1@-,%a3,%acc2
+ 69cc: a421 b806 macl %d6,%a3,%a1@-,%d2,%acc0
+ 69d0: a4a1 b816 macl %d6,%a3,%a1@-,%d2,%acc2
+ 69d4: ae61 b806 macl %d6,%a3,%a1@-,%sp,%acc0
+ 69d8: aee1 b816 macl %d6,%a3,%a1@-,%sp,%acc2
+ 69dc: a221 b826 macl %d6,%a3,%a1@-&,%d1,%acc0
+ 69e0: a2a1 b836 macl %d6,%a3,%a1@-&,%d1,%acc2
+ 69e4: a661 b826 macl %d6,%a3,%a1@-&,%a3,%acc0
+ 69e8: a6e1 b836 macl %d6,%a3,%a1@-&,%a3,%acc2
+ 69ec: a421 b826 macl %d6,%a3,%a1@-&,%d2,%acc0
+ 69f0: a4a1 b836 macl %d6,%a3,%a1@-&,%d2,%acc2
+ 69f4: ae61 b826 macl %d6,%a3,%a1@-&,%sp,%acc0
+ 69f8: aee1 b836 macl %d6,%a3,%a1@-&,%sp,%acc2
+ 69fc: a213 ba06 macl %d6,%a3,<<,%a3@,%d1,%acc0
+ 6a00: a293 ba16 macl %d6,%a3,<<,%a3@,%d1,%acc2
+ 6a04: a653 ba06 macl %d6,%a3,>>,%a3@,%a3,%acc0
+ 6a08: a6d3 ba16 macl %d6,%a3,>>,%a3@,%a3,%acc2
+ 6a0c: a413 ba06 macl %d6,%a3,,%a3@,%d2,%acc0
+ 6a10: a493 ba16 macl %d6,%a3,,%a3@,%d2,%acc2
+ 6a14: ae53 ba06 macl %d6,%a3,>>,%a3@,%sp,%acc0
+ 6a18: aed3 ba16 macl %d6,%a3,>>,%a3@,%sp,%acc2
+ 6a1c: a213 ba26 macl %d6,%a3,<<,%a3@&,%d1,%acc0
+ 6a20: a293 ba36 macl %d6,%a3,<<,%a3@&,%d1,%acc2
+ 6a24: a653 ba26 macl %d6,%a3,>>,%a3@&,%a3,%acc0
+ 6a28: a6d3 ba36 macl %d6,%a3,>>,%a3@&,%a3,%acc2
+ 6a2c: a413 ba26 macl %d6,%a3,,%a3@&,%d2,%acc0
+ 6a30: a493 ba36 macl %d6,%a3,,%a3@&,%d2,%acc2
+ 6a34: ae53 ba26 macl %d6,%a3,>>,%a3@&,%sp,%acc0
+ 6a38: aed3 ba36 macl %d6,%a3,>>,%a3@&,%sp,%acc2
+ 6a3c: a21a ba06 macl %d6,%a3,<<,%a2@\+,%d1,%acc0
+ 6a40: a29a ba16 macl %d6,%a3,<<,%a2@\+,%d1,%acc2
+ 6a44: a65a ba06 macl %d6,%a3,>>,%a2@\+,%a3,%acc0
+ 6a48: a6da ba16 macl %d6,%a3,>>,%a2@\+,%a3,%acc2
+ 6a4c: a41a ba06 macl %d6,%a3,,%a2@\+,%d2,%acc0
+ 6a50: a49a ba16 macl %d6,%a3,,%a2@\+,%d2,%acc2
+ 6a54: ae5a ba06 macl %d6,%a3,>>,%a2@\+,%sp,%acc0
+ 6a58: aeda ba16 macl %d6,%a3,>>,%a2@\+,%sp,%acc2
+ 6a5c: a21a ba26 macl %d6,%a3,<<,%a2@\+&,%d1,%acc0
+ 6a60: a29a ba36 macl %d6,%a3,<<,%a2@\+&,%d1,%acc2
+ 6a64: a65a ba26 macl %d6,%a3,>>,%a2@\+&,%a3,%acc0
+ 6a68: a6da ba36 macl %d6,%a3,>>,%a2@\+&,%a3,%acc2
+ 6a6c: a41a ba26 macl %d6,%a3,,%a2@\+&,%d2,%acc0
+ 6a70: a49a ba36 macl %d6,%a3,,%a2@\+&,%d2,%acc2
+ 6a74: ae5a ba26 macl %d6,%a3,>>,%a2@\+&,%sp,%acc0
+ 6a78: aeda ba36 macl %d6,%a3,>>,%a2@\+&,%sp,%acc2
+ 6a7c: a22e ba06 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6a82: a2ae ba16 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6a88: a66e ba06 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc0
+ 6a8e: a6ee ba16 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6a94: a42e ba06 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc0
+ 6a9a: a4ae ba16 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc2
+ 6aa0: ae6e ba06 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc0
+ 6aa6: aeee ba16 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc2
+ 6aac: a22e ba26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 6ab2: a2ae ba36 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 6ab8: a66e ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 6abe: a6ee ba36 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 6ac4: a42e ba26 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc0
+ 6aca: a4ae ba36 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc2
+ 6ad0: ae6e ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 6ad6: aeee ba36 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 6adc: a221 ba06 macl %d6,%a3,<<,%a1@-,%d1,%acc0
+ 6ae0: a2a1 ba16 macl %d6,%a3,<<,%a1@-,%d1,%acc2
+ 6ae4: a661 ba06 macl %d6,%a3,>>,%a1@-,%a3,%acc0
+ 6ae8: a6e1 ba16 macl %d6,%a3,>>,%a1@-,%a3,%acc2
+ 6aec: a421 ba06 macl %d6,%a3,,%a1@-,%d2,%acc0
+ 6af0: a4a1 ba16 macl %d6,%a3,,%a1@-,%d2,%acc2
+ 6af4: ae61 ba06 macl %d6,%a3,>>,%a1@-,%sp,%acc0
+ 6af8: aee1 ba16 macl %d6,%a3,>>,%a1@-,%sp,%acc2
+ 6afc: a221 ba26 macl %d6,%a3,<<,%a1@-&,%d1,%acc0
+ 6b00: a2a1 ba36 macl %d6,%a3,<<,%a1@-&,%d1,%acc2
+ 6b04: a661 ba26 macl %d6,%a3,>>,%a1@-&,%a3,%acc0
+ 6b08: a6e1 ba36 macl %d6,%a3,>>,%a1@-&,%a3,%acc2
+ 6b0c: a421 ba26 macl %d6,%a3,,%a1@-&,%d2,%acc0
+ 6b10: a4a1 ba36 macl %d6,%a3,,%a1@-&,%d2,%acc2
+ 6b14: ae61 ba26 macl %d6,%a3,>>,%a1@-&,%sp,%acc0
+ 6b18: aee1 ba36 macl %d6,%a3,>>,%a1@-&,%sp,%acc2
+ 6b1c: a213 be06 macl %d6,%a3,<<,%a3@,%d1,%acc0
+ 6b20: a293 be16 macl %d6,%a3,<<,%a3@,%d1,%acc2
+ 6b24: a653 be06 macl %d6,%a3,>>,%a3@,%a3,%acc0
+ 6b28: a6d3 be16 macl %d6,%a3,>>,%a3@,%a3,%acc2
+ 6b2c: a413 be06 macl %d6,%a3,,%a3@,%d2,%acc0
+ 6b30: a493 be16 macl %d6,%a3,,%a3@,%d2,%acc2
+ 6b34: ae53 be06 macl %d6,%a3,>>,%a3@,%sp,%acc0
+ 6b38: aed3 be16 macl %d6,%a3,>>,%a3@,%sp,%acc2
+ 6b3c: a213 be26 macl %d6,%a3,<<,%a3@&,%d1,%acc0
+ 6b40: a293 be36 macl %d6,%a3,<<,%a3@&,%d1,%acc2
+ 6b44: a653 be26 macl %d6,%a3,>>,%a3@&,%a3,%acc0
+ 6b48: a6d3 be36 macl %d6,%a3,>>,%a3@&,%a3,%acc2
+ 6b4c: a413 be26 macl %d6,%a3,,%a3@&,%d2,%acc0
+ 6b50: a493 be36 macl %d6,%a3,,%a3@&,%d2,%acc2
+ 6b54: ae53 be26 macl %d6,%a3,>>,%a3@&,%sp,%acc0
+ 6b58: aed3 be36 macl %d6,%a3,>>,%a3@&,%sp,%acc2
+ 6b5c: a21a be06 macl %d6,%a3,<<,%a2@\+,%d1,%acc0
+ 6b60: a29a be16 macl %d6,%a3,<<,%a2@\+,%d1,%acc2
+ 6b64: a65a be06 macl %d6,%a3,>>,%a2@\+,%a3,%acc0
+ 6b68: a6da be16 macl %d6,%a3,>>,%a2@\+,%a3,%acc2
+ 6b6c: a41a be06 macl %d6,%a3,,%a2@\+,%d2,%acc0
+ 6b70: a49a be16 macl %d6,%a3,,%a2@\+,%d2,%acc2
+ 6b74: ae5a be06 macl %d6,%a3,>>,%a2@\+,%sp,%acc0
+ 6b78: aeda be16 macl %d6,%a3,>>,%a2@\+,%sp,%acc2
+ 6b7c: a21a be26 macl %d6,%a3,<<,%a2@\+&,%d1,%acc0
+ 6b80: a29a be36 macl %d6,%a3,<<,%a2@\+&,%d1,%acc2
+ 6b84: a65a be26 macl %d6,%a3,>>,%a2@\+&,%a3,%acc0
+ 6b88: a6da be36 macl %d6,%a3,>>,%a2@\+&,%a3,%acc2
+ 6b8c: a41a be26 macl %d6,%a3,,%a2@\+&,%d2,%acc0
+ 6b90: a49a be36 macl %d6,%a3,,%a2@\+&,%d2,%acc2
+ 6b94: ae5a be26 macl %d6,%a3,>>,%a2@\+&,%sp,%acc0
+ 6b98: aeda be36 macl %d6,%a3,>>,%a2@\+&,%sp,%acc2
+ 6b9c: a22e be06 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6ba2: a2ae be16 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6ba8: a66e be06 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc0
+ 6bae: a6ee be16 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6bb4: a42e be06 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc0
+ 6bba: a4ae be16 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc2
+ 6bc0: ae6e be06 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc0
+ 6bc6: aeee be16 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc2
+ 6bcc: a22e be26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 6bd2: a2ae be36 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 6bd8: a66e be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 6bde: a6ee be36 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 6be4: a42e be26 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc0
+ 6bea: a4ae be36 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc2
+ 6bf0: ae6e be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 6bf6: aeee be36 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 6bfc: a221 be06 macl %d6,%a3,<<,%a1@-,%d1,%acc0
+ 6c00: a2a1 be16 macl %d6,%a3,<<,%a1@-,%d1,%acc2
+ 6c04: a661 be06 macl %d6,%a3,>>,%a1@-,%a3,%acc0
+ 6c08: a6e1 be16 macl %d6,%a3,>>,%a1@-,%a3,%acc2
+ 6c0c: a421 be06 macl %d6,%a3,,%a1@-,%d2,%acc0
+ 6c10: a4a1 be16 macl %d6,%a3,,%a1@-,%d2,%acc2
+ 6c14: ae61 be06 macl %d6,%a3,>>,%a1@-,%sp,%acc0
+ 6c18: aee1 be16 macl %d6,%a3,>>,%a1@-,%sp,%acc2
+ 6c1c: a221 be26 macl %d6,%a3,<<,%a1@-&,%d1,%acc0
+ 6c20: a2a1 be36 macl %d6,%a3,<<,%a1@-&,%d1,%acc2
+ 6c24: a661 be26 macl %d6,%a3,>>,%a1@-&,%a3,%acc0
+ 6c28: a6e1 be36 macl %d6,%a3,>>,%a1@-&,%a3,%acc2
+ 6c2c: a421 be26 macl %d6,%a3,,%a1@-&,%d2,%acc0
+ 6c30: a4a1 be36 macl %d6,%a3,,%a1@-&,%d2,%acc2
+ 6c34: ae61 be26 macl %d6,%a3,>>,%a1@-&,%sp,%acc0
+ 6c38: aee1 be36 macl %d6,%a3,>>,%a1@-&,%sp,%acc2
+ 6c3c: a213 ba06 macl %d6,%a3,<<,%a3@,%d1,%acc0
+ 6c40: a293 ba16 macl %d6,%a3,<<,%a3@,%d1,%acc2
+ 6c44: a653 ba06 macl %d6,%a3,>>,%a3@,%a3,%acc0
+ 6c48: a6d3 ba16 macl %d6,%a3,>>,%a3@,%a3,%acc2
+ 6c4c: a413 ba06 macl %d6,%a3,,%a3@,%d2,%acc0
+ 6c50: a493 ba16 macl %d6,%a3,,%a3@,%d2,%acc2
+ 6c54: ae53 ba06 macl %d6,%a3,>>,%a3@,%sp,%acc0
+ 6c58: aed3 ba16 macl %d6,%a3,>>,%a3@,%sp,%acc2
+ 6c5c: a213 ba26 macl %d6,%a3,<<,%a3@&,%d1,%acc0
+ 6c60: a293 ba36 macl %d6,%a3,<<,%a3@&,%d1,%acc2
+ 6c64: a653 ba26 macl %d6,%a3,>>,%a3@&,%a3,%acc0
+ 6c68: a6d3 ba36 macl %d6,%a3,>>,%a3@&,%a3,%acc2
+ 6c6c: a413 ba26 macl %d6,%a3,,%a3@&,%d2,%acc0
+ 6c70: a493 ba36 macl %d6,%a3,,%a3@&,%d2,%acc2
+ 6c74: ae53 ba26 macl %d6,%a3,>>,%a3@&,%sp,%acc0
+ 6c78: aed3 ba36 macl %d6,%a3,>>,%a3@&,%sp,%acc2
+ 6c7c: a21a ba06 macl %d6,%a3,<<,%a2@\+,%d1,%acc0
+ 6c80: a29a ba16 macl %d6,%a3,<<,%a2@\+,%d1,%acc2
+ 6c84: a65a ba06 macl %d6,%a3,>>,%a2@\+,%a3,%acc0
+ 6c88: a6da ba16 macl %d6,%a3,>>,%a2@\+,%a3,%acc2
+ 6c8c: a41a ba06 macl %d6,%a3,,%a2@\+,%d2,%acc0
+ 6c90: a49a ba16 macl %d6,%a3,,%a2@\+,%d2,%acc2
+ 6c94: ae5a ba06 macl %d6,%a3,>>,%a2@\+,%sp,%acc0
+ 6c98: aeda ba16 macl %d6,%a3,>>,%a2@\+,%sp,%acc2
+ 6c9c: a21a ba26 macl %d6,%a3,<<,%a2@\+&,%d1,%acc0
+ 6ca0: a29a ba36 macl %d6,%a3,<<,%a2@\+&,%d1,%acc2
+ 6ca4: a65a ba26 macl %d6,%a3,>>,%a2@\+&,%a3,%acc0
+ 6ca8: a6da ba36 macl %d6,%a3,>>,%a2@\+&,%a3,%acc2
+ 6cac: a41a ba26 macl %d6,%a3,,%a2@\+&,%d2,%acc0
+ 6cb0: a49a ba36 macl %d6,%a3,,%a2@\+&,%d2,%acc2
+ 6cb4: ae5a ba26 macl %d6,%a3,>>,%a2@\+&,%sp,%acc0
+ 6cb8: aeda ba36 macl %d6,%a3,>>,%a2@\+&,%sp,%acc2
+ 6cbc: a22e ba06 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6cc2: a2ae ba16 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6cc8: a66e ba06 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc0
+ 6cce: a6ee ba16 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6cd4: a42e ba06 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc0
+ 6cda: a4ae ba16 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc2
+ 6ce0: ae6e ba06 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc0
+ 6ce6: aeee ba16 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc2
+ 6cec: a22e ba26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 6cf2: a2ae ba36 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 6cf8: a66e ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 6cfe: a6ee ba36 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 6d04: a42e ba26 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc0
+ 6d0a: a4ae ba36 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc2
+ 6d10: ae6e ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 6d16: aeee ba36 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 6d1c: a221 ba06 macl %d6,%a3,<<,%a1@-,%d1,%acc0
+ 6d20: a2a1 ba16 macl %d6,%a3,<<,%a1@-,%d1,%acc2
+ 6d24: a661 ba06 macl %d6,%a3,>>,%a1@-,%a3,%acc0
+ 6d28: a6e1 ba16 macl %d6,%a3,>>,%a1@-,%a3,%acc2
+ 6d2c: a421 ba06 macl %d6,%a3,,%a1@-,%d2,%acc0
+ 6d30: a4a1 ba16 macl %d6,%a3,,%a1@-,%d2,%acc2
+ 6d34: ae61 ba06 macl %d6,%a3,>>,%a1@-,%sp,%acc0
+ 6d38: aee1 ba16 macl %d6,%a3,>>,%a1@-,%sp,%acc2
+ 6d3c: a221 ba26 macl %d6,%a3,<<,%a1@-&,%d1,%acc0
+ 6d40: a2a1 ba36 macl %d6,%a3,<<,%a1@-&,%d1,%acc2
+ 6d44: a661 ba26 macl %d6,%a3,>>,%a1@-&,%a3,%acc0
+ 6d48: a6e1 ba36 macl %d6,%a3,>>,%a1@-&,%a3,%acc2
+ 6d4c: a421 ba26 macl %d6,%a3,,%a1@-&,%d2,%acc0
+ 6d50: a4a1 ba36 macl %d6,%a3,,%a1@-&,%d2,%acc2
+ 6d54: ae61 ba26 macl %d6,%a3,>>,%a1@-&,%sp,%acc0
+ 6d58: aee1 ba36 macl %d6,%a3,>>,%a1@-&,%sp,%acc2
+ 6d5c: a213 be06 macl %d6,%a3,<<,%a3@,%d1,%acc0
+ 6d60: a293 be16 macl %d6,%a3,<<,%a3@,%d1,%acc2
+ 6d64: a653 be06 macl %d6,%a3,>>,%a3@,%a3,%acc0
+ 6d68: a6d3 be16 macl %d6,%a3,>>,%a3@,%a3,%acc2
+ 6d6c: a413 be06 macl %d6,%a3,,%a3@,%d2,%acc0
+ 6d70: a493 be16 macl %d6,%a3,,%a3@,%d2,%acc2
+ 6d74: ae53 be06 macl %d6,%a3,>>,%a3@,%sp,%acc0
+ 6d78: aed3 be16 macl %d6,%a3,>>,%a3@,%sp,%acc2
+ 6d7c: a213 be26 macl %d6,%a3,<<,%a3@&,%d1,%acc0
+ 6d80: a293 be36 macl %d6,%a3,<<,%a3@&,%d1,%acc2
+ 6d84: a653 be26 macl %d6,%a3,>>,%a3@&,%a3,%acc0
+ 6d88: a6d3 be36 macl %d6,%a3,>>,%a3@&,%a3,%acc2
+ 6d8c: a413 be26 macl %d6,%a3,,%a3@&,%d2,%acc0
+ 6d90: a493 be36 macl %d6,%a3,,%a3@&,%d2,%acc2
+ 6d94: ae53 be26 macl %d6,%a3,>>,%a3@&,%sp,%acc0
+ 6d98: aed3 be36 macl %d6,%a3,>>,%a3@&,%sp,%acc2
+ 6d9c: a21a be06 macl %d6,%a3,<<,%a2@\+,%d1,%acc0
+ 6da0: a29a be16 macl %d6,%a3,<<,%a2@\+,%d1,%acc2
+ 6da4: a65a be06 macl %d6,%a3,>>,%a2@\+,%a3,%acc0
+ 6da8: a6da be16 macl %d6,%a3,>>,%a2@\+,%a3,%acc2
+ 6dac: a41a be06 macl %d6,%a3,,%a2@\+,%d2,%acc0
+ 6db0: a49a be16 macl %d6,%a3,,%a2@\+,%d2,%acc2
+ 6db4: ae5a be06 macl %d6,%a3,>>,%a2@\+,%sp,%acc0
+ 6db8: aeda be16 macl %d6,%a3,>>,%a2@\+,%sp,%acc2
+ 6dbc: a21a be26 macl %d6,%a3,<<,%a2@\+&,%d1,%acc0
+ 6dc0: a29a be36 macl %d6,%a3,<<,%a2@\+&,%d1,%acc2
+ 6dc4: a65a be26 macl %d6,%a3,>>,%a2@\+&,%a3,%acc0
+ 6dc8: a6da be36 macl %d6,%a3,>>,%a2@\+&,%a3,%acc2
+ 6dcc: a41a be26 macl %d6,%a3,,%a2@\+&,%d2,%acc0
+ 6dd0: a49a be36 macl %d6,%a3,,%a2@\+&,%d2,%acc2
+ 6dd4: ae5a be26 macl %d6,%a3,>>,%a2@\+&,%sp,%acc0
+ 6dd8: aeda be36 macl %d6,%a3,>>,%a2@\+&,%sp,%acc2
+ 6ddc: a22e be06 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc0
+ 6de2: a2ae be16 000a macl %d6,%a3,<<,%fp@\(10\),%d1,%acc2
+ 6de8: a66e be06 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc0
+ 6dee: a6ee be16 000a macl %d6,%a3,>>,%fp@\(10\),%a3,%acc2
+ 6df4: a42e be06 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc0
+ 6dfa: a4ae be16 000a macl %d6,%a3,,%fp@\(10\),%d2,%acc2
+ 6e00: ae6e be06 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc0
+ 6e06: aeee be16 000a macl %d6,%a3,>>,%fp@\(10\),%sp,%acc2
+ 6e0c: a22e be26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc0
+ 6e12: a2ae be36 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1,%acc2
+ 6e18: a66e be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc0
+ 6e1e: a6ee be36 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3,%acc2
+ 6e24: a42e be26 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc0
+ 6e2a: a4ae be36 000a macl %d6,%a3,,%fp@\(10\)&,%d2,%acc2
+ 6e30: ae6e be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc0
+ 6e36: aeee be36 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp,%acc2
+ 6e3c: a221 be06 macl %d6,%a3,<<,%a1@-,%d1,%acc0
+ 6e40: a2a1 be16 macl %d6,%a3,<<,%a1@-,%d1,%acc2
+ 6e44: a661 be06 macl %d6,%a3,>>,%a1@-,%a3,%acc0
+ 6e48: a6e1 be16 macl %d6,%a3,>>,%a1@-,%a3,%acc2
+ 6e4c: a421 be06 macl %d6,%a3,,%a1@-,%d2,%acc0
+ 6e50: a4a1 be16 macl %d6,%a3,,%a1@-,%d2,%acc2
+ 6e54: ae61 be06 macl %d6,%a3,>>,%a1@-,%sp,%acc0
+ 6e58: aee1 be16 macl %d6,%a3,>>,%a1@-,%sp,%acc2
+ 6e5c: a221 be26 macl %d6,%a3,<<,%a1@-&,%d1,%acc0
+ 6e60: a2a1 be36 macl %d6,%a3,<<,%a1@-&,%d1,%acc2
+ 6e64: a661 be26 macl %d6,%a3,>>,%a1@-&,%a3,%acc0
+ 6e68: a6e1 be36 macl %d6,%a3,>>,%a1@-&,%a3,%acc2
+ 6e6c: a421 be26 macl %d6,%a3,,%a1@-&,%d2,%acc0
+ 6e70: a4a1 be36 macl %d6,%a3,,%a1@-&,%d2,%acc2
+ 6e74: ae61 be26 macl %d6,%a3,>>,%a1@-&,%sp,%acc0
+ 6e78: aee1 be36 macl %d6,%a3,>>,%a1@-&,%sp,%acc2
+ 6e7c: a213 4806 macl %d6,%d4,%a3@,%d1,%acc1
+ 6e80: a293 4816 macl %d6,%d4,%a3@,%d1,%acc3
+ 6e84: a653 4806 macl %d6,%d4,%a3@,%a3,%acc1
+ 6e88: a6d3 4816 macl %d6,%d4,%a3@,%a3,%acc3
+ 6e8c: a413 4806 macl %d6,%d4,%a3@,%d2,%acc1
+ 6e90: a493 4816 macl %d6,%d4,%a3@,%d2,%acc3
+ 6e94: ae53 4806 macl %d6,%d4,%a3@,%sp,%acc1
+ 6e98: aed3 4816 macl %d6,%d4,%a3@,%sp,%acc3
+ 6e9c: a213 4826 macl %d6,%d4,%a3@&,%d1,%acc1
+ 6ea0: a293 4836 macl %d6,%d4,%a3@&,%d1,%acc3
+ 6ea4: a653 4826 macl %d6,%d4,%a3@&,%a3,%acc1
+ 6ea8: a6d3 4836 macl %d6,%d4,%a3@&,%a3,%acc3
+ 6eac: a413 4826 macl %d6,%d4,%a3@&,%d2,%acc1
+ 6eb0: a493 4836 macl %d6,%d4,%a3@&,%d2,%acc3
+ 6eb4: ae53 4826 macl %d6,%d4,%a3@&,%sp,%acc1
+ 6eb8: aed3 4836 macl %d6,%d4,%a3@&,%sp,%acc3
+ 6ebc: a21a 4806 macl %d6,%d4,%a2@\+,%d1,%acc1
+ 6ec0: a29a 4816 macl %d6,%d4,%a2@\+,%d1,%acc3
+ 6ec4: a65a 4806 macl %d6,%d4,%a2@\+,%a3,%acc1
+ 6ec8: a6da 4816 macl %d6,%d4,%a2@\+,%a3,%acc3
+ 6ecc: a41a 4806 macl %d6,%d4,%a2@\+,%d2,%acc1
+ 6ed0: a49a 4816 macl %d6,%d4,%a2@\+,%d2,%acc3
+ 6ed4: ae5a 4806 macl %d6,%d4,%a2@\+,%sp,%acc1
+ 6ed8: aeda 4816 macl %d6,%d4,%a2@\+,%sp,%acc3
+ 6edc: a21a 4826 macl %d6,%d4,%a2@\+&,%d1,%acc1
+ 6ee0: a29a 4836 macl %d6,%d4,%a2@\+&,%d1,%acc3
+ 6ee4: a65a 4826 macl %d6,%d4,%a2@\+&,%a3,%acc1
+ 6ee8: a6da 4836 macl %d6,%d4,%a2@\+&,%a3,%acc3
+ 6eec: a41a 4826 macl %d6,%d4,%a2@\+&,%d2,%acc1
+ 6ef0: a49a 4836 macl %d6,%d4,%a2@\+&,%d2,%acc3
+ 6ef4: ae5a 4826 macl %d6,%d4,%a2@\+&,%sp,%acc1
+ 6ef8: aeda 4836 macl %d6,%d4,%a2@\+&,%sp,%acc3
+ 6efc: a22e 4806 000a macl %d6,%d4,%fp@\(10\),%d1,%acc1
+ 6f02: a2ae 4816 000a macl %d6,%d4,%fp@\(10\),%d1,%acc3
+ 6f08: a66e 4806 000a macl %d6,%d4,%fp@\(10\),%a3,%acc1
+ 6f0e: a6ee 4816 000a macl %d6,%d4,%fp@\(10\),%a3,%acc3
+ 6f14: a42e 4806 000a macl %d6,%d4,%fp@\(10\),%d2,%acc1
+ 6f1a: a4ae 4816 000a macl %d6,%d4,%fp@\(10\),%d2,%acc3
+ 6f20: ae6e 4806 000a macl %d6,%d4,%fp@\(10\),%sp,%acc1
+ 6f26: aeee 4816 000a macl %d6,%d4,%fp@\(10\),%sp,%acc3
+ 6f2c: a22e 4826 000a macl %d6,%d4,%fp@\(10\)&,%d1,%acc1
+ 6f32: a2ae 4836 000a macl %d6,%d4,%fp@\(10\)&,%d1,%acc3
+ 6f38: a66e 4826 000a macl %d6,%d4,%fp@\(10\)&,%a3,%acc1
+ 6f3e: a6ee 4836 000a macl %d6,%d4,%fp@\(10\)&,%a3,%acc3
+ 6f44: a42e 4826 000a macl %d6,%d4,%fp@\(10\)&,%d2,%acc1
+ 6f4a: a4ae 4836 000a macl %d6,%d4,%fp@\(10\)&,%d2,%acc3
+ 6f50: ae6e 4826 000a macl %d6,%d4,%fp@\(10\)&,%sp,%acc1
+ 6f56: aeee 4836 000a macl %d6,%d4,%fp@\(10\)&,%sp,%acc3
+ 6f5c: a221 4806 macl %d6,%d4,%a1@-,%d1,%acc1
+ 6f60: a2a1 4816 macl %d6,%d4,%a1@-,%d1,%acc3
+ 6f64: a661 4806 macl %d6,%d4,%a1@-,%a3,%acc1
+ 6f68: a6e1 4816 macl %d6,%d4,%a1@-,%a3,%acc3
+ 6f6c: a421 4806 macl %d6,%d4,%a1@-,%d2,%acc1
+ 6f70: a4a1 4816 macl %d6,%d4,%a1@-,%d2,%acc3
+ 6f74: ae61 4806 macl %d6,%d4,%a1@-,%sp,%acc1
+ 6f78: aee1 4816 macl %d6,%d4,%a1@-,%sp,%acc3
+ 6f7c: a221 4826 macl %d6,%d4,%a1@-&,%d1,%acc1
+ 6f80: a2a1 4836 macl %d6,%d4,%a1@-&,%d1,%acc3
+ 6f84: a661 4826 macl %d6,%d4,%a1@-&,%a3,%acc1
+ 6f88: a6e1 4836 macl %d6,%d4,%a1@-&,%a3,%acc3
+ 6f8c: a421 4826 macl %d6,%d4,%a1@-&,%d2,%acc1
+ 6f90: a4a1 4836 macl %d6,%d4,%a1@-&,%d2,%acc3
+ 6f94: ae61 4826 macl %d6,%d4,%a1@-&,%sp,%acc1
+ 6f98: aee1 4836 macl %d6,%d4,%a1@-&,%sp,%acc3
+ 6f9c: a213 4a06 macl %d6,%d4,<<,%a3@,%d1,%acc1
+ 6fa0: a293 4a16 macl %d6,%d4,<<,%a3@,%d1,%acc3
+ 6fa4: a653 4a06 macl %d6,%d4,>>,%a3@,%a3,%acc1
+ 6fa8: a6d3 4a16 macl %d6,%d4,>>,%a3@,%a3,%acc3
+ 6fac: a413 4a06 macl %d6,%d4,,%a3@,%d2,%acc1
+ 6fb0: a493 4a16 macl %d6,%d4,,%a3@,%d2,%acc3
+ 6fb4: ae53 4a06 macl %d6,%d4,>>,%a3@,%sp,%acc1
+ 6fb8: aed3 4a16 macl %d6,%d4,>>,%a3@,%sp,%acc3
+ 6fbc: a213 4a26 macl %d6,%d4,<<,%a3@&,%d1,%acc1
+ 6fc0: a293 4a36 macl %d6,%d4,<<,%a3@&,%d1,%acc3
+ 6fc4: a653 4a26 macl %d6,%d4,>>,%a3@&,%a3,%acc1
+ 6fc8: a6d3 4a36 macl %d6,%d4,>>,%a3@&,%a3,%acc3
+ 6fcc: a413 4a26 macl %d6,%d4,,%a3@&,%d2,%acc1
+ 6fd0: a493 4a36 macl %d6,%d4,,%a3@&,%d2,%acc3
+ 6fd4: ae53 4a26 macl %d6,%d4,>>,%a3@&,%sp,%acc1
+ 6fd8: aed3 4a36 macl %d6,%d4,>>,%a3@&,%sp,%acc3
+ 6fdc: a21a 4a06 macl %d6,%d4,<<,%a2@\+,%d1,%acc1
+ 6fe0: a29a 4a16 macl %d6,%d4,<<,%a2@\+,%d1,%acc3
+ 6fe4: a65a 4a06 macl %d6,%d4,>>,%a2@\+,%a3,%acc1
+ 6fe8: a6da 4a16 macl %d6,%d4,>>,%a2@\+,%a3,%acc3
+ 6fec: a41a 4a06 macl %d6,%d4,,%a2@\+,%d2,%acc1
+ 6ff0: a49a 4a16 macl %d6,%d4,,%a2@\+,%d2,%acc3
+ 6ff4: ae5a 4a06 macl %d6,%d4,>>,%a2@\+,%sp,%acc1
+ 6ff8: aeda 4a16 macl %d6,%d4,>>,%a2@\+,%sp,%acc3
+ 6ffc: a21a 4a26 macl %d6,%d4,<<,%a2@\+&,%d1,%acc1
+ 7000: a29a 4a36 macl %d6,%d4,<<,%a2@\+&,%d1,%acc3
+ 7004: a65a 4a26 macl %d6,%d4,>>,%a2@\+&,%a3,%acc1
+ 7008: a6da 4a36 macl %d6,%d4,>>,%a2@\+&,%a3,%acc3
+ 700c: a41a 4a26 macl %d6,%d4,,%a2@\+&,%d2,%acc1
+ 7010: a49a 4a36 macl %d6,%d4,,%a2@\+&,%d2,%acc3
+ 7014: ae5a 4a26 macl %d6,%d4,>>,%a2@\+&,%sp,%acc1
+ 7018: aeda 4a36 macl %d6,%d4,>>,%a2@\+&,%sp,%acc3
+ 701c: a22e 4a06 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc1
+ 7022: a2ae 4a16 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc3
+ 7028: a66e 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc1
+ 702e: a6ee 4a16 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc3
+ 7034: a42e 4a06 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc1
+ 703a: a4ae 4a16 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc3
+ 7040: ae6e 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc1
+ 7046: aeee 4a16 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc3
+ 704c: a22e 4a26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 7052: a2ae 4a36 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 7058: a66e 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 705e: a6ee 4a36 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 7064: a42e 4a26 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc1
+ 706a: a4ae 4a36 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc3
+ 7070: ae6e 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 7076: aeee 4a36 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 707c: a221 4a06 macl %d6,%d4,<<,%a1@-,%d1,%acc1
+ 7080: a2a1 4a16 macl %d6,%d4,<<,%a1@-,%d1,%acc3
+ 7084: a661 4a06 macl %d6,%d4,>>,%a1@-,%a3,%acc1
+ 7088: a6e1 4a16 macl %d6,%d4,>>,%a1@-,%a3,%acc3
+ 708c: a421 4a06 macl %d6,%d4,,%a1@-,%d2,%acc1
+ 7090: a4a1 4a16 macl %d6,%d4,,%a1@-,%d2,%acc3
+ 7094: ae61 4a06 macl %d6,%d4,>>,%a1@-,%sp,%acc1
+ 7098: aee1 4a16 macl %d6,%d4,>>,%a1@-,%sp,%acc3
+ 709c: a221 4a26 macl %d6,%d4,<<,%a1@-&,%d1,%acc1
+ 70a0: a2a1 4a36 macl %d6,%d4,<<,%a1@-&,%d1,%acc3
+ 70a4: a661 4a26 macl %d6,%d4,>>,%a1@-&,%a3,%acc1
+ 70a8: a6e1 4a36 macl %d6,%d4,>>,%a1@-&,%a3,%acc3
+ 70ac: a421 4a26 macl %d6,%d4,,%a1@-&,%d2,%acc1
+ 70b0: a4a1 4a36 macl %d6,%d4,,%a1@-&,%d2,%acc3
+ 70b4: ae61 4a26 macl %d6,%d4,>>,%a1@-&,%sp,%acc1
+ 70b8: aee1 4a36 macl %d6,%d4,>>,%a1@-&,%sp,%acc3
+ 70bc: a213 4e06 macl %d6,%d4,<<,%a3@,%d1,%acc1
+ 70c0: a293 4e16 macl %d6,%d4,<<,%a3@,%d1,%acc3
+ 70c4: a653 4e06 macl %d6,%d4,>>,%a3@,%a3,%acc1
+ 70c8: a6d3 4e16 macl %d6,%d4,>>,%a3@,%a3,%acc3
+ 70cc: a413 4e06 macl %d6,%d4,,%a3@,%d2,%acc1
+ 70d0: a493 4e16 macl %d6,%d4,,%a3@,%d2,%acc3
+ 70d4: ae53 4e06 macl %d6,%d4,>>,%a3@,%sp,%acc1
+ 70d8: aed3 4e16 macl %d6,%d4,>>,%a3@,%sp,%acc3
+ 70dc: a213 4e26 macl %d6,%d4,<<,%a3@&,%d1,%acc1
+ 70e0: a293 4e36 macl %d6,%d4,<<,%a3@&,%d1,%acc3
+ 70e4: a653 4e26 macl %d6,%d4,>>,%a3@&,%a3,%acc1
+ 70e8: a6d3 4e36 macl %d6,%d4,>>,%a3@&,%a3,%acc3
+ 70ec: a413 4e26 macl %d6,%d4,,%a3@&,%d2,%acc1
+ 70f0: a493 4e36 macl %d6,%d4,,%a3@&,%d2,%acc3
+ 70f4: ae53 4e26 macl %d6,%d4,>>,%a3@&,%sp,%acc1
+ 70f8: aed3 4e36 macl %d6,%d4,>>,%a3@&,%sp,%acc3
+ 70fc: a21a 4e06 macl %d6,%d4,<<,%a2@\+,%d1,%acc1
+ 7100: a29a 4e16 macl %d6,%d4,<<,%a2@\+,%d1,%acc3
+ 7104: a65a 4e06 macl %d6,%d4,>>,%a2@\+,%a3,%acc1
+ 7108: a6da 4e16 macl %d6,%d4,>>,%a2@\+,%a3,%acc3
+ 710c: a41a 4e06 macl %d6,%d4,,%a2@\+,%d2,%acc1
+ 7110: a49a 4e16 macl %d6,%d4,,%a2@\+,%d2,%acc3
+ 7114: ae5a 4e06 macl %d6,%d4,>>,%a2@\+,%sp,%acc1
+ 7118: aeda 4e16 macl %d6,%d4,>>,%a2@\+,%sp,%acc3
+ 711c: a21a 4e26 macl %d6,%d4,<<,%a2@\+&,%d1,%acc1
+ 7120: a29a 4e36 macl %d6,%d4,<<,%a2@\+&,%d1,%acc3
+ 7124: a65a 4e26 macl %d6,%d4,>>,%a2@\+&,%a3,%acc1
+ 7128: a6da 4e36 macl %d6,%d4,>>,%a2@\+&,%a3,%acc3
+ 712c: a41a 4e26 macl %d6,%d4,,%a2@\+&,%d2,%acc1
+ 7130: a49a 4e36 macl %d6,%d4,,%a2@\+&,%d2,%acc3
+ 7134: ae5a 4e26 macl %d6,%d4,>>,%a2@\+&,%sp,%acc1
+ 7138: aeda 4e36 macl %d6,%d4,>>,%a2@\+&,%sp,%acc3
+ 713c: a22e 4e06 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc1
+ 7142: a2ae 4e16 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc3
+ 7148: a66e 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc1
+ 714e: a6ee 4e16 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc3
+ 7154: a42e 4e06 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc1
+ 715a: a4ae 4e16 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc3
+ 7160: ae6e 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc1
+ 7166: aeee 4e16 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc3
+ 716c: a22e 4e26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 7172: a2ae 4e36 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 7178: a66e 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 717e: a6ee 4e36 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 7184: a42e 4e26 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc1
+ 718a: a4ae 4e36 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc3
+ 7190: ae6e 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 7196: aeee 4e36 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 719c: a221 4e06 macl %d6,%d4,<<,%a1@-,%d1,%acc1
+ 71a0: a2a1 4e16 macl %d6,%d4,<<,%a1@-,%d1,%acc3
+ 71a4: a661 4e06 macl %d6,%d4,>>,%a1@-,%a3,%acc1
+ 71a8: a6e1 4e16 macl %d6,%d4,>>,%a1@-,%a3,%acc3
+ 71ac: a421 4e06 macl %d6,%d4,,%a1@-,%d2,%acc1
+ 71b0: a4a1 4e16 macl %d6,%d4,,%a1@-,%d2,%acc3
+ 71b4: ae61 4e06 macl %d6,%d4,>>,%a1@-,%sp,%acc1
+ 71b8: aee1 4e16 macl %d6,%d4,>>,%a1@-,%sp,%acc3
+ 71bc: a221 4e26 macl %d6,%d4,<<,%a1@-&,%d1,%acc1
+ 71c0: a2a1 4e36 macl %d6,%d4,<<,%a1@-&,%d1,%acc3
+ 71c4: a661 4e26 macl %d6,%d4,>>,%a1@-&,%a3,%acc1
+ 71c8: a6e1 4e36 macl %d6,%d4,>>,%a1@-&,%a3,%acc3
+ 71cc: a421 4e26 macl %d6,%d4,,%a1@-&,%d2,%acc1
+ 71d0: a4a1 4e36 macl %d6,%d4,,%a1@-&,%d2,%acc3
+ 71d4: ae61 4e26 macl %d6,%d4,>>,%a1@-&,%sp,%acc1
+ 71d8: aee1 4e36 macl %d6,%d4,>>,%a1@-&,%sp,%acc3
+ 71dc: a213 4a06 macl %d6,%d4,<<,%a3@,%d1,%acc1
+ 71e0: a293 4a16 macl %d6,%d4,<<,%a3@,%d1,%acc3
+ 71e4: a653 4a06 macl %d6,%d4,>>,%a3@,%a3,%acc1
+ 71e8: a6d3 4a16 macl %d6,%d4,>>,%a3@,%a3,%acc3
+ 71ec: a413 4a06 macl %d6,%d4,,%a3@,%d2,%acc1
+ 71f0: a493 4a16 macl %d6,%d4,,%a3@,%d2,%acc3
+ 71f4: ae53 4a06 macl %d6,%d4,>>,%a3@,%sp,%acc1
+ 71f8: aed3 4a16 macl %d6,%d4,>>,%a3@,%sp,%acc3
+ 71fc: a213 4a26 macl %d6,%d4,<<,%a3@&,%d1,%acc1
+ 7200: a293 4a36 macl %d6,%d4,<<,%a3@&,%d1,%acc3
+ 7204: a653 4a26 macl %d6,%d4,>>,%a3@&,%a3,%acc1
+ 7208: a6d3 4a36 macl %d6,%d4,>>,%a3@&,%a3,%acc3
+ 720c: a413 4a26 macl %d6,%d4,,%a3@&,%d2,%acc1
+ 7210: a493 4a36 macl %d6,%d4,,%a3@&,%d2,%acc3
+ 7214: ae53 4a26 macl %d6,%d4,>>,%a3@&,%sp,%acc1
+ 7218: aed3 4a36 macl %d6,%d4,>>,%a3@&,%sp,%acc3
+ 721c: a21a 4a06 macl %d6,%d4,<<,%a2@\+,%d1,%acc1
+ 7220: a29a 4a16 macl %d6,%d4,<<,%a2@\+,%d1,%acc3
+ 7224: a65a 4a06 macl %d6,%d4,>>,%a2@\+,%a3,%acc1
+ 7228: a6da 4a16 macl %d6,%d4,>>,%a2@\+,%a3,%acc3
+ 722c: a41a 4a06 macl %d6,%d4,,%a2@\+,%d2,%acc1
+ 7230: a49a 4a16 macl %d6,%d4,,%a2@\+,%d2,%acc3
+ 7234: ae5a 4a06 macl %d6,%d4,>>,%a2@\+,%sp,%acc1
+ 7238: aeda 4a16 macl %d6,%d4,>>,%a2@\+,%sp,%acc3
+ 723c: a21a 4a26 macl %d6,%d4,<<,%a2@\+&,%d1,%acc1
+ 7240: a29a 4a36 macl %d6,%d4,<<,%a2@\+&,%d1,%acc3
+ 7244: a65a 4a26 macl %d6,%d4,>>,%a2@\+&,%a3,%acc1
+ 7248: a6da 4a36 macl %d6,%d4,>>,%a2@\+&,%a3,%acc3
+ 724c: a41a 4a26 macl %d6,%d4,,%a2@\+&,%d2,%acc1
+ 7250: a49a 4a36 macl %d6,%d4,,%a2@\+&,%d2,%acc3
+ 7254: ae5a 4a26 macl %d6,%d4,>>,%a2@\+&,%sp,%acc1
+ 7258: aeda 4a36 macl %d6,%d4,>>,%a2@\+&,%sp,%acc3
+ 725c: a22e 4a06 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc1
+ 7262: a2ae 4a16 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc3
+ 7268: a66e 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc1
+ 726e: a6ee 4a16 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc3
+ 7274: a42e 4a06 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc1
+ 727a: a4ae 4a16 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc3
+ 7280: ae6e 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc1
+ 7286: aeee 4a16 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc3
+ 728c: a22e 4a26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 7292: a2ae 4a36 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 7298: a66e 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 729e: a6ee 4a36 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 72a4: a42e 4a26 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc1
+ 72aa: a4ae 4a36 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc3
+ 72b0: ae6e 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 72b6: aeee 4a36 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 72bc: a221 4a06 macl %d6,%d4,<<,%a1@-,%d1,%acc1
+ 72c0: a2a1 4a16 macl %d6,%d4,<<,%a1@-,%d1,%acc3
+ 72c4: a661 4a06 macl %d6,%d4,>>,%a1@-,%a3,%acc1
+ 72c8: a6e1 4a16 macl %d6,%d4,>>,%a1@-,%a3,%acc3
+ 72cc: a421 4a06 macl %d6,%d4,,%a1@-,%d2,%acc1
+ 72d0: a4a1 4a16 macl %d6,%d4,,%a1@-,%d2,%acc3
+ 72d4: ae61 4a06 macl %d6,%d4,>>,%a1@-,%sp,%acc1
+ 72d8: aee1 4a16 macl %d6,%d4,>>,%a1@-,%sp,%acc3
+ 72dc: a221 4a26 macl %d6,%d4,<<,%a1@-&,%d1,%acc1
+ 72e0: a2a1 4a36 macl %d6,%d4,<<,%a1@-&,%d1,%acc3
+ 72e4: a661 4a26 macl %d6,%d4,>>,%a1@-&,%a3,%acc1
+ 72e8: a6e1 4a36 macl %d6,%d4,>>,%a1@-&,%a3,%acc3
+ 72ec: a421 4a26 macl %d6,%d4,,%a1@-&,%d2,%acc1
+ 72f0: a4a1 4a36 macl %d6,%d4,,%a1@-&,%d2,%acc3
+ 72f4: ae61 4a26 macl %d6,%d4,>>,%a1@-&,%sp,%acc1
+ 72f8: aee1 4a36 macl %d6,%d4,>>,%a1@-&,%sp,%acc3
+ 72fc: a213 4e06 macl %d6,%d4,<<,%a3@,%d1,%acc1
+ 7300: a293 4e16 macl %d6,%d4,<<,%a3@,%d1,%acc3
+ 7304: a653 4e06 macl %d6,%d4,>>,%a3@,%a3,%acc1
+ 7308: a6d3 4e16 macl %d6,%d4,>>,%a3@,%a3,%acc3
+ 730c: a413 4e06 macl %d6,%d4,,%a3@,%d2,%acc1
+ 7310: a493 4e16 macl %d6,%d4,,%a3@,%d2,%acc3
+ 7314: ae53 4e06 macl %d6,%d4,>>,%a3@,%sp,%acc1
+ 7318: aed3 4e16 macl %d6,%d4,>>,%a3@,%sp,%acc3
+ 731c: a213 4e26 macl %d6,%d4,<<,%a3@&,%d1,%acc1
+ 7320: a293 4e36 macl %d6,%d4,<<,%a3@&,%d1,%acc3
+ 7324: a653 4e26 macl %d6,%d4,>>,%a3@&,%a3,%acc1
+ 7328: a6d3 4e36 macl %d6,%d4,>>,%a3@&,%a3,%acc3
+ 732c: a413 4e26 macl %d6,%d4,,%a3@&,%d2,%acc1
+ 7330: a493 4e36 macl %d6,%d4,,%a3@&,%d2,%acc3
+ 7334: ae53 4e26 macl %d6,%d4,>>,%a3@&,%sp,%acc1
+ 7338: aed3 4e36 macl %d6,%d4,>>,%a3@&,%sp,%acc3
+ 733c: a21a 4e06 macl %d6,%d4,<<,%a2@\+,%d1,%acc1
+ 7340: a29a 4e16 macl %d6,%d4,<<,%a2@\+,%d1,%acc3
+ 7344: a65a 4e06 macl %d6,%d4,>>,%a2@\+,%a3,%acc1
+ 7348: a6da 4e16 macl %d6,%d4,>>,%a2@\+,%a3,%acc3
+ 734c: a41a 4e06 macl %d6,%d4,,%a2@\+,%d2,%acc1
+ 7350: a49a 4e16 macl %d6,%d4,,%a2@\+,%d2,%acc3
+ 7354: ae5a 4e06 macl %d6,%d4,>>,%a2@\+,%sp,%acc1
+ 7358: aeda 4e16 macl %d6,%d4,>>,%a2@\+,%sp,%acc3
+ 735c: a21a 4e26 macl %d6,%d4,<<,%a2@\+&,%d1,%acc1
+ 7360: a29a 4e36 macl %d6,%d4,<<,%a2@\+&,%d1,%acc3
+ 7364: a65a 4e26 macl %d6,%d4,>>,%a2@\+&,%a3,%acc1
+ 7368: a6da 4e36 macl %d6,%d4,>>,%a2@\+&,%a3,%acc3
+ 736c: a41a 4e26 macl %d6,%d4,,%a2@\+&,%d2,%acc1
+ 7370: a49a 4e36 macl %d6,%d4,,%a2@\+&,%d2,%acc3
+ 7374: ae5a 4e26 macl %d6,%d4,>>,%a2@\+&,%sp,%acc1
+ 7378: aeda 4e36 macl %d6,%d4,>>,%a2@\+&,%sp,%acc3
+ 737c: a22e 4e06 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc1
+ 7382: a2ae 4e16 000a macl %d6,%d4,<<,%fp@\(10\),%d1,%acc3
+ 7388: a66e 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc1
+ 738e: a6ee 4e16 000a macl %d6,%d4,>>,%fp@\(10\),%a3,%acc3
+ 7394: a42e 4e06 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc1
+ 739a: a4ae 4e16 000a macl %d6,%d4,,%fp@\(10\),%d2,%acc3
+ 73a0: ae6e 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc1
+ 73a6: aeee 4e16 000a macl %d6,%d4,>>,%fp@\(10\),%sp,%acc3
+ 73ac: a22e 4e26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc1
+ 73b2: a2ae 4e36 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1,%acc3
+ 73b8: a66e 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc1
+ 73be: a6ee 4e36 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3,%acc3
+ 73c4: a42e 4e26 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc1
+ 73ca: a4ae 4e36 000a macl %d6,%d4,,%fp@\(10\)&,%d2,%acc3
+ 73d0: ae6e 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc1
+ 73d6: aeee 4e36 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp,%acc3
+ 73dc: a221 4e06 macl %d6,%d4,<<,%a1@-,%d1,%acc1
+ 73e0: a2a1 4e16 macl %d6,%d4,<<,%a1@-,%d1,%acc3
+ 73e4: a661 4e06 macl %d6,%d4,>>,%a1@-,%a3,%acc1
+ 73e8: a6e1 4e16 macl %d6,%d4,>>,%a1@-,%a3,%acc3
+ 73ec: a421 4e06 macl %d6,%d4,,%a1@-,%d2,%acc1
+ 73f0: a4a1 4e16 macl %d6,%d4,,%a1@-,%d2,%acc3
+ 73f4: ae61 4e06 macl %d6,%d4,>>,%a1@-,%sp,%acc1
+ 73f8: aee1 4e16 macl %d6,%d4,>>,%a1@-,%sp,%acc3
+ 73fc: a221 4e26 macl %d6,%d4,<<,%a1@-&,%d1,%acc1
+ 7400: a2a1 4e36 macl %d6,%d4,<<,%a1@-&,%d1,%acc3
+ 7404: a661 4e26 macl %d6,%d4,>>,%a1@-&,%a3,%acc1
+ 7408: a6e1 4e36 macl %d6,%d4,>>,%a1@-&,%a3,%acc3
+ 740c: a421 4e26 macl %d6,%d4,,%a1@-&,%d2,%acc1
+ 7410: a4a1 4e36 macl %d6,%d4,,%a1@-&,%d2,%acc3
+ 7414: ae61 4e26 macl %d6,%d4,>>,%a1@-&,%sp,%acc1
+ 7418: aee1 4e36 macl %d6,%d4,>>,%a1@-&,%sp,%acc3
diff --git a/gas/testsuite/gas/m68k/mcf-emac.s b/gas/testsuite/gas/m68k/mcf-emac.s
new file mode 100644
index 0000000..348191f
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-emac.s
@@ -0,0 +1,6660 @@
+ .text
+ mac.w %d1l,%a1u,<<,%acc0 |
+ mac.w %d1l,%a5u,<<,(%a0),%a1,%acc0
+ mac.w %d5l,%a3u,<<,(%a0)&,%d2,%acc0
+
+ move.l #12345678,%acc0
+ move.l %d1,%acc1
+ move.l #12345678,%acc1
+ move.l #12345678,%acc2
+ move.l %a1,%acc1
+ move.l #12345678,%acc3
+
+ mac.w %d3u,%a4l,>>,%acc1
+ mac.w %d5u,%a6l,%acc1
+
+ mac.l %d2,%d3,%acc0
+ mac.l %d2,%d3,%acc1
+ mac.l %d2,%d3,%acc2
+ mac.l %d2,%d3,%acc3
+
+ movclr.l %acc0,%d1
+ movclr.l %acc1,%a2
+ movclr.l %acc2,%d3
+ movclr.l %acc3,%a5
+
+ move.l %acc1,%d1
+ move.l %acc3,%a3
+ move.l %acc0,%d5
+ move.l %acc1,%a7
+
+ move.l %acc0,%acc0
+ move.l %acc0,%acc1
+ move.l %acc0,%acc2
+ move.l %acc0,%acc3
+ move.l %acc1,%acc0
+ move.l %acc1,%acc1
+ move.l %acc1,%acc2
+ move.l %acc1,%acc3
+ move.l %acc2,%acc0
+ move.l %acc2,%acc1
+ move.l %acc2,%acc2
+ move.l %acc2,%acc3
+ move.l %acc3,%acc0
+ move.l %acc3,%acc1
+ move.l %acc3,%acc2
+ move.l %acc3,%acc3
+
+ move.l %accext01,%a0
+ move.l %accext23,%a7
+
+ move.l %acc0,%d0
+ move.l %acc1,%a1
+ move.l %acc2,%d2
+ move.l %acc3,%a3
+
+ | Automated mac insns for testing
+
+ mac.w %a1l,%a2u,%acc1
+ mac.w %a1l,%a2u,%acc2
+ mac.w %a1l,%a2u,<<,%acc1
+ mac.w %a1l,%a2u,<<,%acc2
+ mac.w %a1l,%a2u,>>,%acc1
+ mac.w %a1l,%a2u,>>,%acc2
+ mac.w %a1l,%a2u,#1,%acc1
+ mac.w %a1l,%a2u,#1,%acc2
+ mac.w %a1l,%a2u,#-1,%acc1
+ mac.w %a1l,%a2u,#-1,%acc2
+ mac.w %a1l,%d3l,%acc1
+ mac.w %a1l,%d3l,%acc2
+ mac.w %a1l,%d3l,<<,%acc1
+ mac.w %a1l,%d3l,<<,%acc2
+ mac.w %a1l,%d3l,>>,%acc1
+ mac.w %a1l,%d3l,>>,%acc2
+ mac.w %a1l,%d3l,#1,%acc1
+ mac.w %a1l,%d3l,#1,%acc2
+ mac.w %a1l,%d3l,#-1,%acc1
+ mac.w %a1l,%d3l,#-1,%acc2
+ mac.w %a1l,%a7u,%acc1
+ mac.w %a1l,%a7u,%acc2
+ mac.w %a1l,%a7u,<<,%acc1
+ mac.w %a1l,%a7u,<<,%acc2
+ mac.w %a1l,%a7u,>>,%acc1
+ mac.w %a1l,%a7u,>>,%acc2
+ mac.w %a1l,%a7u,#1,%acc1
+ mac.w %a1l,%a7u,#1,%acc2
+ mac.w %a1l,%a7u,#-1,%acc1
+ mac.w %a1l,%a7u,#-1,%acc2
+ mac.w %a1l,%d1l,%acc1
+ mac.w %a1l,%d1l,%acc2
+ mac.w %a1l,%d1l,<<,%acc1
+ mac.w %a1l,%d1l,<<,%acc2
+ mac.w %a1l,%d1l,>>,%acc1
+ mac.w %a1l,%d1l,>>,%acc2
+ mac.w %a1l,%d1l,#1,%acc1
+ mac.w %a1l,%d1l,#1,%acc2
+ mac.w %a1l,%d1l,#-1,%acc1
+ mac.w %a1l,%d1l,#-1,%acc2
+ mac.w %d2u,%a2u,%acc1
+ mac.w %d2u,%a2u,%acc2
+ mac.w %d2u,%a2u,<<,%acc1
+ mac.w %d2u,%a2u,<<,%acc2
+ mac.w %d2u,%a2u,>>,%acc1
+ mac.w %d2u,%a2u,>>,%acc2
+ mac.w %d2u,%a2u,#1,%acc1
+ mac.w %d2u,%a2u,#1,%acc2
+ mac.w %d2u,%a2u,#-1,%acc1
+ mac.w %d2u,%a2u,#-1,%acc2
+ mac.w %d2u,%d3l,%acc1
+ mac.w %d2u,%d3l,%acc2
+ mac.w %d2u,%d3l,<<,%acc1
+ mac.w %d2u,%d3l,<<,%acc2
+ mac.w %d2u,%d3l,>>,%acc1
+ mac.w %d2u,%d3l,>>,%acc2
+ mac.w %d2u,%d3l,#1,%acc1
+ mac.w %d2u,%d3l,#1,%acc2
+ mac.w %d2u,%d3l,#-1,%acc1
+ mac.w %d2u,%d3l,#-1,%acc2
+ mac.w %d2u,%a7u,%acc1
+ mac.w %d2u,%a7u,%acc2
+ mac.w %d2u,%a7u,<<,%acc1
+ mac.w %d2u,%a7u,<<,%acc2
+ mac.w %d2u,%a7u,>>,%acc1
+ mac.w %d2u,%a7u,>>,%acc2
+ mac.w %d2u,%a7u,#1,%acc1
+ mac.w %d2u,%a7u,#1,%acc2
+ mac.w %d2u,%a7u,#-1,%acc1
+ mac.w %d2u,%a7u,#-1,%acc2
+ mac.w %d2u,%d1l,%acc1
+ mac.w %d2u,%d1l,%acc2
+ mac.w %d2u,%d1l,<<,%acc1
+ mac.w %d2u,%d1l,<<,%acc2
+ mac.w %d2u,%d1l,>>,%acc1
+ mac.w %d2u,%d1l,>>,%acc2
+ mac.w %d2u,%d1l,#1,%acc1
+ mac.w %d2u,%d1l,#1,%acc2
+ mac.w %d2u,%d1l,#-1,%acc1
+ mac.w %d2u,%d1l,#-1,%acc2
+ mac.w %a5l,%a2u,%acc1
+ mac.w %a5l,%a2u,%acc2
+ mac.w %a5l,%a2u,<<,%acc1
+ mac.w %a5l,%a2u,<<,%acc2
+ mac.w %a5l,%a2u,>>,%acc1
+ mac.w %a5l,%a2u,>>,%acc2
+ mac.w %a5l,%a2u,#1,%acc1
+ mac.w %a5l,%a2u,#1,%acc2
+ mac.w %a5l,%a2u,#-1,%acc1
+ mac.w %a5l,%a2u,#-1,%acc2
+ mac.w %a5l,%d3l,%acc1
+ mac.w %a5l,%d3l,%acc2
+ mac.w %a5l,%d3l,<<,%acc1
+ mac.w %a5l,%d3l,<<,%acc2
+ mac.w %a5l,%d3l,>>,%acc1
+ mac.w %a5l,%d3l,>>,%acc2
+ mac.w %a5l,%d3l,#1,%acc1
+ mac.w %a5l,%d3l,#1,%acc2
+ mac.w %a5l,%d3l,#-1,%acc1
+ mac.w %a5l,%d3l,#-1,%acc2
+ mac.w %a5l,%a7u,%acc1
+ mac.w %a5l,%a7u,%acc2
+ mac.w %a5l,%a7u,<<,%acc1
+ mac.w %a5l,%a7u,<<,%acc2
+ mac.w %a5l,%a7u,>>,%acc1
+ mac.w %a5l,%a7u,>>,%acc2
+ mac.w %a5l,%a7u,#1,%acc1
+ mac.w %a5l,%a7u,#1,%acc2
+ mac.w %a5l,%a7u,#-1,%acc1
+ mac.w %a5l,%a7u,#-1,%acc2
+ mac.w %a5l,%d1l,%acc1
+ mac.w %a5l,%d1l,%acc2
+ mac.w %a5l,%d1l,<<,%acc1
+ mac.w %a5l,%d1l,<<,%acc2
+ mac.w %a5l,%d1l,>>,%acc1
+ mac.w %a5l,%d1l,>>,%acc2
+ mac.w %a5l,%d1l,#1,%acc1
+ mac.w %a5l,%d1l,#1,%acc2
+ mac.w %a5l,%d1l,#-1,%acc1
+ mac.w %a5l,%d1l,#-1,%acc2
+ mac.w %d6u,%a2u,%acc1
+ mac.w %d6u,%a2u,%acc2
+ mac.w %d6u,%a2u,<<,%acc1
+ mac.w %d6u,%a2u,<<,%acc2
+ mac.w %d6u,%a2u,>>,%acc1
+ mac.w %d6u,%a2u,>>,%acc2
+ mac.w %d6u,%a2u,#1,%acc1
+ mac.w %d6u,%a2u,#1,%acc2
+ mac.w %d6u,%a2u,#-1,%acc1
+ mac.w %d6u,%a2u,#-1,%acc2
+ mac.w %d6u,%d3l,%acc1
+ mac.w %d6u,%d3l,%acc2
+ mac.w %d6u,%d3l,<<,%acc1
+ mac.w %d6u,%d3l,<<,%acc2
+ mac.w %d6u,%d3l,>>,%acc1
+ mac.w %d6u,%d3l,>>,%acc2
+ mac.w %d6u,%d3l,#1,%acc1
+ mac.w %d6u,%d3l,#1,%acc2
+ mac.w %d6u,%d3l,#-1,%acc1
+ mac.w %d6u,%d3l,#-1,%acc2
+ mac.w %d6u,%a7u,%acc1
+ mac.w %d6u,%a7u,%acc2
+ mac.w %d6u,%a7u,<<,%acc1
+ mac.w %d6u,%a7u,<<,%acc2
+ mac.w %d6u,%a7u,>>,%acc1
+ mac.w %d6u,%a7u,>>,%acc2
+ mac.w %d6u,%a7u,#1,%acc1
+ mac.w %d6u,%a7u,#1,%acc2
+ mac.w %d6u,%a7u,#-1,%acc1
+ mac.w %d6u,%a7u,#-1,%acc2
+ mac.w %d6u,%d1l,%acc1
+ mac.w %d6u,%d1l,%acc2
+ mac.w %d6u,%d1l,<<,%acc1
+ mac.w %d6u,%d1l,<<,%acc2
+ mac.w %d6u,%d1l,>>,%acc1
+ mac.w %d6u,%d1l,>>,%acc2
+ mac.w %d6u,%d1l,#1,%acc1
+ mac.w %d6u,%d1l,#1,%acc2
+ mac.w %d6u,%d1l,#-1,%acc1
+ mac.w %d6u,%d1l,#-1,%acc2
+
+ mac.w %a1l,%a2u,(%a3),%d1,%acc1
+ mac.w %a1l,%a2u,(%a3),%d1,%acc2
+ mac.w %a1l,%a2u,(%a3),%a3,%acc1
+ mac.w %a1l,%a2u,(%a3),%a3,%acc2
+ mac.w %a1l,%a2u,(%a3),%d2,%acc1
+ mac.w %a1l,%a2u,(%a3),%d2,%acc2
+ mac.w %a1l,%a2u,(%a3),%a7,%acc1
+ mac.w %a1l,%a2u,(%a3),%a7,%acc2
+ mac.w %a1l,%a2u,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a2u,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a2u,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a2u,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a2u,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a2u,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a2u,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a2u,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a2u,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a2u,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a2u,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a2u,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a2u,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a2u,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a2u,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a2u,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a2u,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a2u,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a2u,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a2u,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a2u,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a2u,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a2u,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a2u,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a2u,10(%a6),%d1,%acc1
+ mac.w %a1l,%a2u,10(%a6),%d1,%acc2
+ mac.w %a1l,%a2u,10(%a6),%a3,%acc1
+ mac.w %a1l,%a2u,10(%a6),%a3,%acc2
+ mac.w %a1l,%a2u,10(%a6),%d2,%acc1
+ mac.w %a1l,%a2u,10(%a6),%d2,%acc2
+ mac.w %a1l,%a2u,10(%a6),%a7,%acc1
+ mac.w %a1l,%a2u,10(%a6),%a7,%acc2
+ mac.w %a1l,%a2u,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a2u,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a2u,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a2u,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a2u,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a2u,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a2u,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a2u,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a2u,-(%a1),%d1,%acc1
+ mac.w %a1l,%a2u,-(%a1),%d1,%acc2
+ mac.w %a1l,%a2u,-(%a1),%a3,%acc1
+ mac.w %a1l,%a2u,-(%a1),%a3,%acc2
+ mac.w %a1l,%a2u,-(%a1),%d2,%acc1
+ mac.w %a1l,%a2u,-(%a1),%d2,%acc2
+ mac.w %a1l,%a2u,-(%a1),%a7,%acc1
+ mac.w %a1l,%a2u,-(%a1),%a7,%acc2
+ mac.w %a1l,%a2u,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a2u,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a2u,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a2u,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a2u,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a2u,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a2u,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a2u,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a2u,<<,(%a3),%d1,%acc1
+ mac.w %a1l,%a2u,<<,(%a3),%d1,%acc2
+ mac.w %a1l,%a2u,<<,(%a3),%a3,%acc1
+ mac.w %a1l,%a2u,<<,(%a3),%a3,%acc2
+ mac.w %a1l,%a2u,<<,(%a3),%d2,%acc1
+ mac.w %a1l,%a2u,<<,(%a3),%d2,%acc2
+ mac.w %a1l,%a2u,<<,(%a3),%a7,%acc1
+ mac.w %a1l,%a2u,<<,(%a3),%a7,%acc2
+ mac.w %a1l,%a2u,<<,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a2u,<<,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a2u,<<,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a2u,<<,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a2u,<<,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a2u,<<,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a2u,<<,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a2u,<<,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6),%d1,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6),%d1,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6),%a3,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6),%a3,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6),%d2,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6),%d2,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6),%a7,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6),%a7,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1),%d1,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1),%d1,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1),%a3,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1),%a3,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1),%d2,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1),%d2,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1),%a7,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1),%a7,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a2u,>>,(%a3),%d1,%acc1
+ mac.w %a1l,%a2u,>>,(%a3),%d1,%acc2
+ mac.w %a1l,%a2u,>>,(%a3),%a3,%acc1
+ mac.w %a1l,%a2u,>>,(%a3),%a3,%acc2
+ mac.w %a1l,%a2u,>>,(%a3),%d2,%acc1
+ mac.w %a1l,%a2u,>>,(%a3),%d2,%acc2
+ mac.w %a1l,%a2u,>>,(%a3),%a7,%acc1
+ mac.w %a1l,%a2u,>>,(%a3),%a7,%acc2
+ mac.w %a1l,%a2u,>>,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a2u,>>,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a2u,>>,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a2u,>>,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a2u,>>,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a2u,>>,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a2u,>>,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a2u,>>,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6),%d1,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6),%d1,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6),%a3,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6),%a3,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6),%d2,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6),%d2,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6),%a7,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6),%a7,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1),%d1,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1),%d1,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1),%a3,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1),%a3,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1),%d2,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1),%d2,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1),%a7,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1),%a7,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a2u,#1,(%a3),%d1,%acc1
+ mac.w %a1l,%a2u,#1,(%a3),%d1,%acc2
+ mac.w %a1l,%a2u,#1,(%a3),%a3,%acc1
+ mac.w %a1l,%a2u,#1,(%a3),%a3,%acc2
+ mac.w %a1l,%a2u,#1,(%a3),%d2,%acc1
+ mac.w %a1l,%a2u,#1,(%a3),%d2,%acc2
+ mac.w %a1l,%a2u,#1,(%a3),%a7,%acc1
+ mac.w %a1l,%a2u,#1,(%a3),%a7,%acc2
+ mac.w %a1l,%a2u,#1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a2u,#1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a2u,#1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a2u,#1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a2u,#1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a2u,#1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a2u,#1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a2u,#1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6),%d1,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6),%d1,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6),%a3,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6),%a3,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6),%d2,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6),%d2,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6),%a7,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6),%a7,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1),%d1,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1),%d1,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1),%a3,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1),%a3,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1),%d2,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1),%d2,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1),%a7,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1),%a7,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3),%d1,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3),%d1,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3),%a3,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3),%a3,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3),%d2,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3),%d2,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3),%a7,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3),%a7,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6),%d1,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6),%d1,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6),%a3,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6),%a3,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6),%d2,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6),%d2,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6),%a7,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6),%a7,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1),%d1,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1),%d1,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1),%a3,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1),%a3,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1),%d2,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1),%d2,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1),%a7,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1),%a7,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d3l,(%a3),%d1,%acc1
+ mac.w %a1l,%d3l,(%a3),%d1,%acc2
+ mac.w %a1l,%d3l,(%a3),%a3,%acc1
+ mac.w %a1l,%d3l,(%a3),%a3,%acc2
+ mac.w %a1l,%d3l,(%a3),%d2,%acc1
+ mac.w %a1l,%d3l,(%a3),%d2,%acc2
+ mac.w %a1l,%d3l,(%a3),%a7,%acc1
+ mac.w %a1l,%d3l,(%a3),%a7,%acc2
+ mac.w %a1l,%d3l,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d3l,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d3l,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d3l,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d3l,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d3l,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d3l,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d3l,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d3l,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d3l,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d3l,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d3l,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d3l,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d3l,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d3l,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d3l,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d3l,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d3l,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d3l,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d3l,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d3l,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d3l,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d3l,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d3l,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d3l,10(%a6),%d1,%acc1
+ mac.w %a1l,%d3l,10(%a6),%d1,%acc2
+ mac.w %a1l,%d3l,10(%a6),%a3,%acc1
+ mac.w %a1l,%d3l,10(%a6),%a3,%acc2
+ mac.w %a1l,%d3l,10(%a6),%d2,%acc1
+ mac.w %a1l,%d3l,10(%a6),%d2,%acc2
+ mac.w %a1l,%d3l,10(%a6),%a7,%acc1
+ mac.w %a1l,%d3l,10(%a6),%a7,%acc2
+ mac.w %a1l,%d3l,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d3l,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d3l,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d3l,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d3l,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d3l,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d3l,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d3l,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d3l,-(%a1),%d1,%acc1
+ mac.w %a1l,%d3l,-(%a1),%d1,%acc2
+ mac.w %a1l,%d3l,-(%a1),%a3,%acc1
+ mac.w %a1l,%d3l,-(%a1),%a3,%acc2
+ mac.w %a1l,%d3l,-(%a1),%d2,%acc1
+ mac.w %a1l,%d3l,-(%a1),%d2,%acc2
+ mac.w %a1l,%d3l,-(%a1),%a7,%acc1
+ mac.w %a1l,%d3l,-(%a1),%a7,%acc2
+ mac.w %a1l,%d3l,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d3l,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d3l,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d3l,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d3l,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d3l,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d3l,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d3l,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d3l,<<,(%a3),%d1,%acc1
+ mac.w %a1l,%d3l,<<,(%a3),%d1,%acc2
+ mac.w %a1l,%d3l,<<,(%a3),%a3,%acc1
+ mac.w %a1l,%d3l,<<,(%a3),%a3,%acc2
+ mac.w %a1l,%d3l,<<,(%a3),%d2,%acc1
+ mac.w %a1l,%d3l,<<,(%a3),%d2,%acc2
+ mac.w %a1l,%d3l,<<,(%a3),%a7,%acc1
+ mac.w %a1l,%d3l,<<,(%a3),%a7,%acc2
+ mac.w %a1l,%d3l,<<,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d3l,<<,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d3l,<<,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d3l,<<,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d3l,<<,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d3l,<<,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d3l,<<,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d3l,<<,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6),%d1,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6),%d1,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6),%a3,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6),%a3,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6),%d2,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6),%d2,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6),%a7,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6),%a7,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1),%d1,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1),%d1,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1),%a3,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1),%a3,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1),%d2,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1),%d2,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1),%a7,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1),%a7,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d3l,>>,(%a3),%d1,%acc1
+ mac.w %a1l,%d3l,>>,(%a3),%d1,%acc2
+ mac.w %a1l,%d3l,>>,(%a3),%a3,%acc1
+ mac.w %a1l,%d3l,>>,(%a3),%a3,%acc2
+ mac.w %a1l,%d3l,>>,(%a3),%d2,%acc1
+ mac.w %a1l,%d3l,>>,(%a3),%d2,%acc2
+ mac.w %a1l,%d3l,>>,(%a3),%a7,%acc1
+ mac.w %a1l,%d3l,>>,(%a3),%a7,%acc2
+ mac.w %a1l,%d3l,>>,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d3l,>>,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d3l,>>,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d3l,>>,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d3l,>>,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d3l,>>,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d3l,>>,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d3l,>>,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6),%d1,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6),%d1,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6),%a3,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6),%a3,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6),%d2,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6),%d2,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6),%a7,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6),%a7,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1),%d1,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1),%d1,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1),%a3,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1),%a3,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1),%d2,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1),%d2,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1),%a7,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1),%a7,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d3l,#1,(%a3),%d1,%acc1
+ mac.w %a1l,%d3l,#1,(%a3),%d1,%acc2
+ mac.w %a1l,%d3l,#1,(%a3),%a3,%acc1
+ mac.w %a1l,%d3l,#1,(%a3),%a3,%acc2
+ mac.w %a1l,%d3l,#1,(%a3),%d2,%acc1
+ mac.w %a1l,%d3l,#1,(%a3),%d2,%acc2
+ mac.w %a1l,%d3l,#1,(%a3),%a7,%acc1
+ mac.w %a1l,%d3l,#1,(%a3),%a7,%acc2
+ mac.w %a1l,%d3l,#1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d3l,#1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d3l,#1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d3l,#1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d3l,#1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d3l,#1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d3l,#1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d3l,#1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6),%d1,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6),%d1,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6),%a3,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6),%a3,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6),%d2,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6),%d2,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6),%a7,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6),%a7,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1),%d1,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1),%d1,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1),%a3,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1),%a3,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1),%d2,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1),%d2,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1),%a7,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1),%a7,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3),%d1,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3),%d1,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3),%a3,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3),%a3,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3),%d2,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3),%d2,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3),%a7,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3),%a7,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6),%d1,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6),%d1,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6),%a3,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6),%a3,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6),%d2,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6),%d2,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6),%a7,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6),%a7,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1),%d1,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1),%d1,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1),%a3,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1),%a3,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1),%d2,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1),%d2,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1),%a7,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1),%a7,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a7u,(%a3),%d1,%acc1
+ mac.w %a1l,%a7u,(%a3),%d1,%acc2
+ mac.w %a1l,%a7u,(%a3),%a3,%acc1
+ mac.w %a1l,%a7u,(%a3),%a3,%acc2
+ mac.w %a1l,%a7u,(%a3),%d2,%acc1
+ mac.w %a1l,%a7u,(%a3),%d2,%acc2
+ mac.w %a1l,%a7u,(%a3),%a7,%acc1
+ mac.w %a1l,%a7u,(%a3),%a7,%acc2
+ mac.w %a1l,%a7u,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a7u,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a7u,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a7u,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a7u,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a7u,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a7u,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a7u,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a7u,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a7u,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a7u,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a7u,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a7u,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a7u,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a7u,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a7u,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a7u,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a7u,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a7u,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a7u,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a7u,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a7u,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a7u,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a7u,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a7u,10(%a6),%d1,%acc1
+ mac.w %a1l,%a7u,10(%a6),%d1,%acc2
+ mac.w %a1l,%a7u,10(%a6),%a3,%acc1
+ mac.w %a1l,%a7u,10(%a6),%a3,%acc2
+ mac.w %a1l,%a7u,10(%a6),%d2,%acc1
+ mac.w %a1l,%a7u,10(%a6),%d2,%acc2
+ mac.w %a1l,%a7u,10(%a6),%a7,%acc1
+ mac.w %a1l,%a7u,10(%a6),%a7,%acc2
+ mac.w %a1l,%a7u,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a7u,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a7u,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a7u,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a7u,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a7u,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a7u,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a7u,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a7u,-(%a1),%d1,%acc1
+ mac.w %a1l,%a7u,-(%a1),%d1,%acc2
+ mac.w %a1l,%a7u,-(%a1),%a3,%acc1
+ mac.w %a1l,%a7u,-(%a1),%a3,%acc2
+ mac.w %a1l,%a7u,-(%a1),%d2,%acc1
+ mac.w %a1l,%a7u,-(%a1),%d2,%acc2
+ mac.w %a1l,%a7u,-(%a1),%a7,%acc1
+ mac.w %a1l,%a7u,-(%a1),%a7,%acc2
+ mac.w %a1l,%a7u,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a7u,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a7u,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a7u,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a7u,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a7u,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a7u,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a7u,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a7u,<<,(%a3),%d1,%acc1
+ mac.w %a1l,%a7u,<<,(%a3),%d1,%acc2
+ mac.w %a1l,%a7u,<<,(%a3),%a3,%acc1
+ mac.w %a1l,%a7u,<<,(%a3),%a3,%acc2
+ mac.w %a1l,%a7u,<<,(%a3),%d2,%acc1
+ mac.w %a1l,%a7u,<<,(%a3),%d2,%acc2
+ mac.w %a1l,%a7u,<<,(%a3),%a7,%acc1
+ mac.w %a1l,%a7u,<<,(%a3),%a7,%acc2
+ mac.w %a1l,%a7u,<<,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a7u,<<,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a7u,<<,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a7u,<<,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a7u,<<,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a7u,<<,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a7u,<<,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a7u,<<,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6),%d1,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6),%d1,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6),%a3,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6),%a3,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6),%d2,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6),%d2,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6),%a7,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6),%a7,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1),%d1,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1),%d1,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1),%a3,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1),%a3,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1),%d2,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1),%d2,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1),%a7,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1),%a7,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a7u,>>,(%a3),%d1,%acc1
+ mac.w %a1l,%a7u,>>,(%a3),%d1,%acc2
+ mac.w %a1l,%a7u,>>,(%a3),%a3,%acc1
+ mac.w %a1l,%a7u,>>,(%a3),%a3,%acc2
+ mac.w %a1l,%a7u,>>,(%a3),%d2,%acc1
+ mac.w %a1l,%a7u,>>,(%a3),%d2,%acc2
+ mac.w %a1l,%a7u,>>,(%a3),%a7,%acc1
+ mac.w %a1l,%a7u,>>,(%a3),%a7,%acc2
+ mac.w %a1l,%a7u,>>,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a7u,>>,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a7u,>>,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a7u,>>,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a7u,>>,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a7u,>>,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a7u,>>,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a7u,>>,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6),%d1,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6),%d1,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6),%a3,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6),%a3,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6),%d2,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6),%d2,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6),%a7,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6),%a7,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1),%d1,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1),%d1,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1),%a3,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1),%a3,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1),%d2,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1),%d2,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1),%a7,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1),%a7,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a7u,#1,(%a3),%d1,%acc1
+ mac.w %a1l,%a7u,#1,(%a3),%d1,%acc2
+ mac.w %a1l,%a7u,#1,(%a3),%a3,%acc1
+ mac.w %a1l,%a7u,#1,(%a3),%a3,%acc2
+ mac.w %a1l,%a7u,#1,(%a3),%d2,%acc1
+ mac.w %a1l,%a7u,#1,(%a3),%d2,%acc2
+ mac.w %a1l,%a7u,#1,(%a3),%a7,%acc1
+ mac.w %a1l,%a7u,#1,(%a3),%a7,%acc2
+ mac.w %a1l,%a7u,#1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a7u,#1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a7u,#1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a7u,#1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a7u,#1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a7u,#1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a7u,#1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a7u,#1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6),%d1,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6),%d1,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6),%a3,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6),%a3,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6),%d2,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6),%d2,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6),%a7,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6),%a7,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1),%d1,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1),%d1,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1),%a3,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1),%a3,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1),%d2,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1),%d2,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1),%a7,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1),%a7,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3),%d1,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3),%d1,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3),%a3,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3),%a3,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3),%d2,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3),%d2,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3),%a7,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3),%a7,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6),%d1,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6),%d1,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6),%a3,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6),%a3,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6),%d2,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6),%d2,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6),%a7,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6),%a7,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1),%d1,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1),%d1,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1),%a3,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1),%a3,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1),%d2,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1),%d2,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1),%a7,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1),%a7,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d1l,(%a3),%d1,%acc1
+ mac.w %a1l,%d1l,(%a3),%d1,%acc2
+ mac.w %a1l,%d1l,(%a3),%a3,%acc1
+ mac.w %a1l,%d1l,(%a3),%a3,%acc2
+ mac.w %a1l,%d1l,(%a3),%d2,%acc1
+ mac.w %a1l,%d1l,(%a3),%d2,%acc2
+ mac.w %a1l,%d1l,(%a3),%a7,%acc1
+ mac.w %a1l,%d1l,(%a3),%a7,%acc2
+ mac.w %a1l,%d1l,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d1l,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d1l,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d1l,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d1l,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d1l,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d1l,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d1l,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d1l,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d1l,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d1l,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d1l,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d1l,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d1l,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d1l,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d1l,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d1l,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d1l,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d1l,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d1l,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d1l,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d1l,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d1l,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d1l,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d1l,10(%a6),%d1,%acc1
+ mac.w %a1l,%d1l,10(%a6),%d1,%acc2
+ mac.w %a1l,%d1l,10(%a6),%a3,%acc1
+ mac.w %a1l,%d1l,10(%a6),%a3,%acc2
+ mac.w %a1l,%d1l,10(%a6),%d2,%acc1
+ mac.w %a1l,%d1l,10(%a6),%d2,%acc2
+ mac.w %a1l,%d1l,10(%a6),%a7,%acc1
+ mac.w %a1l,%d1l,10(%a6),%a7,%acc2
+ mac.w %a1l,%d1l,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d1l,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d1l,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d1l,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d1l,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d1l,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d1l,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d1l,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d1l,-(%a1),%d1,%acc1
+ mac.w %a1l,%d1l,-(%a1),%d1,%acc2
+ mac.w %a1l,%d1l,-(%a1),%a3,%acc1
+ mac.w %a1l,%d1l,-(%a1),%a3,%acc2
+ mac.w %a1l,%d1l,-(%a1),%d2,%acc1
+ mac.w %a1l,%d1l,-(%a1),%d2,%acc2
+ mac.w %a1l,%d1l,-(%a1),%a7,%acc1
+ mac.w %a1l,%d1l,-(%a1),%a7,%acc2
+ mac.w %a1l,%d1l,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d1l,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d1l,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d1l,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d1l,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d1l,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d1l,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d1l,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d1l,<<,(%a3),%d1,%acc1
+ mac.w %a1l,%d1l,<<,(%a3),%d1,%acc2
+ mac.w %a1l,%d1l,<<,(%a3),%a3,%acc1
+ mac.w %a1l,%d1l,<<,(%a3),%a3,%acc2
+ mac.w %a1l,%d1l,<<,(%a3),%d2,%acc1
+ mac.w %a1l,%d1l,<<,(%a3),%d2,%acc2
+ mac.w %a1l,%d1l,<<,(%a3),%a7,%acc1
+ mac.w %a1l,%d1l,<<,(%a3),%a7,%acc2
+ mac.w %a1l,%d1l,<<,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d1l,<<,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d1l,<<,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d1l,<<,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d1l,<<,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d1l,<<,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d1l,<<,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d1l,<<,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6),%d1,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6),%d1,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6),%a3,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6),%a3,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6),%d2,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6),%d2,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6),%a7,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6),%a7,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1),%d1,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1),%d1,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1),%a3,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1),%a3,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1),%d2,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1),%d2,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1),%a7,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1),%a7,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d1l,>>,(%a3),%d1,%acc1
+ mac.w %a1l,%d1l,>>,(%a3),%d1,%acc2
+ mac.w %a1l,%d1l,>>,(%a3),%a3,%acc1
+ mac.w %a1l,%d1l,>>,(%a3),%a3,%acc2
+ mac.w %a1l,%d1l,>>,(%a3),%d2,%acc1
+ mac.w %a1l,%d1l,>>,(%a3),%d2,%acc2
+ mac.w %a1l,%d1l,>>,(%a3),%a7,%acc1
+ mac.w %a1l,%d1l,>>,(%a3),%a7,%acc2
+ mac.w %a1l,%d1l,>>,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d1l,>>,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d1l,>>,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d1l,>>,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d1l,>>,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d1l,>>,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d1l,>>,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d1l,>>,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6),%d1,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6),%d1,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6),%a3,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6),%a3,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6),%d2,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6),%d2,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6),%a7,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6),%a7,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1),%d1,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1),%d1,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1),%a3,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1),%a3,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1),%d2,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1),%d2,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1),%a7,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1),%a7,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d1l,#1,(%a3),%d1,%acc1
+ mac.w %a1l,%d1l,#1,(%a3),%d1,%acc2
+ mac.w %a1l,%d1l,#1,(%a3),%a3,%acc1
+ mac.w %a1l,%d1l,#1,(%a3),%a3,%acc2
+ mac.w %a1l,%d1l,#1,(%a3),%d2,%acc1
+ mac.w %a1l,%d1l,#1,(%a3),%d2,%acc2
+ mac.w %a1l,%d1l,#1,(%a3),%a7,%acc1
+ mac.w %a1l,%d1l,#1,(%a3),%a7,%acc2
+ mac.w %a1l,%d1l,#1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d1l,#1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d1l,#1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d1l,#1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d1l,#1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d1l,#1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d1l,#1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d1l,#1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6),%d1,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6),%d1,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6),%a3,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6),%a3,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6),%d2,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6),%d2,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6),%a7,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6),%a7,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1),%d1,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1),%d1,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1),%a3,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1),%a3,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1),%d2,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1),%d2,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1),%a7,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1),%a7,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a7,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3),%d1,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3),%d1,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3),%a3,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3),%a3,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3),%d2,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3),%d2,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3),%a7,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3),%a7,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d1,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d1,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a3,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a3,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d2,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d2,%acc2
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a7,%acc1
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a7,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d1,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d1,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a3,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a3,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d2,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d2,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a7,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a7,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6),%d1,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6),%d1,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6),%a3,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6),%a3,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6),%d2,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6),%d2,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6),%a7,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6),%a7,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1),%d1,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1),%d1,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1),%a3,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1),%a3,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1),%d2,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1),%d2,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1),%a7,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1),%a7,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a2u,(%a3),%d1,%acc1
+ mac.w %d2u,%a2u,(%a3),%d1,%acc2
+ mac.w %d2u,%a2u,(%a3),%a3,%acc1
+ mac.w %d2u,%a2u,(%a3),%a3,%acc2
+ mac.w %d2u,%a2u,(%a3),%d2,%acc1
+ mac.w %d2u,%a2u,(%a3),%d2,%acc2
+ mac.w %d2u,%a2u,(%a3),%a7,%acc1
+ mac.w %d2u,%a2u,(%a3),%a7,%acc2
+ mac.w %d2u,%a2u,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a2u,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a2u,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a2u,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a2u,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a2u,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a2u,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a2u,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a2u,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a2u,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a2u,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a2u,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a2u,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a2u,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a2u,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a2u,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a2u,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a2u,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a2u,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a2u,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a2u,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a2u,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a2u,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a2u,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a2u,10(%a6),%d1,%acc1
+ mac.w %d2u,%a2u,10(%a6),%d1,%acc2
+ mac.w %d2u,%a2u,10(%a6),%a3,%acc1
+ mac.w %d2u,%a2u,10(%a6),%a3,%acc2
+ mac.w %d2u,%a2u,10(%a6),%d2,%acc1
+ mac.w %d2u,%a2u,10(%a6),%d2,%acc2
+ mac.w %d2u,%a2u,10(%a6),%a7,%acc1
+ mac.w %d2u,%a2u,10(%a6),%a7,%acc2
+ mac.w %d2u,%a2u,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a2u,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a2u,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a2u,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a2u,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a2u,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a2u,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a2u,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a2u,-(%a1),%d1,%acc1
+ mac.w %d2u,%a2u,-(%a1),%d1,%acc2
+ mac.w %d2u,%a2u,-(%a1),%a3,%acc1
+ mac.w %d2u,%a2u,-(%a1),%a3,%acc2
+ mac.w %d2u,%a2u,-(%a1),%d2,%acc1
+ mac.w %d2u,%a2u,-(%a1),%d2,%acc2
+ mac.w %d2u,%a2u,-(%a1),%a7,%acc1
+ mac.w %d2u,%a2u,-(%a1),%a7,%acc2
+ mac.w %d2u,%a2u,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a2u,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a2u,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a2u,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a2u,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a2u,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a2u,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a2u,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a2u,<<,(%a3),%d1,%acc1
+ mac.w %d2u,%a2u,<<,(%a3),%d1,%acc2
+ mac.w %d2u,%a2u,<<,(%a3),%a3,%acc1
+ mac.w %d2u,%a2u,<<,(%a3),%a3,%acc2
+ mac.w %d2u,%a2u,<<,(%a3),%d2,%acc1
+ mac.w %d2u,%a2u,<<,(%a3),%d2,%acc2
+ mac.w %d2u,%a2u,<<,(%a3),%a7,%acc1
+ mac.w %d2u,%a2u,<<,(%a3),%a7,%acc2
+ mac.w %d2u,%a2u,<<,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a2u,<<,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a2u,<<,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a2u,<<,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a2u,<<,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a2u,<<,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a2u,<<,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a2u,<<,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6),%d1,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6),%d1,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6),%a3,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6),%a3,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6),%d2,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6),%d2,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6),%a7,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6),%a7,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1),%d1,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1),%d1,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1),%a3,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1),%a3,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1),%d2,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1),%d2,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1),%a7,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1),%a7,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a2u,>>,(%a3),%d1,%acc1
+ mac.w %d2u,%a2u,>>,(%a3),%d1,%acc2
+ mac.w %d2u,%a2u,>>,(%a3),%a3,%acc1
+ mac.w %d2u,%a2u,>>,(%a3),%a3,%acc2
+ mac.w %d2u,%a2u,>>,(%a3),%d2,%acc1
+ mac.w %d2u,%a2u,>>,(%a3),%d2,%acc2
+ mac.w %d2u,%a2u,>>,(%a3),%a7,%acc1
+ mac.w %d2u,%a2u,>>,(%a3),%a7,%acc2
+ mac.w %d2u,%a2u,>>,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a2u,>>,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a2u,>>,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a2u,>>,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a2u,>>,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a2u,>>,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a2u,>>,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a2u,>>,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6),%d1,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6),%d1,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6),%a3,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6),%a3,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6),%d2,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6),%d2,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6),%a7,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6),%a7,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1),%d1,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1),%d1,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1),%a3,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1),%a3,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1),%d2,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1),%d2,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1),%a7,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1),%a7,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a2u,#1,(%a3),%d1,%acc1
+ mac.w %d2u,%a2u,#1,(%a3),%d1,%acc2
+ mac.w %d2u,%a2u,#1,(%a3),%a3,%acc1
+ mac.w %d2u,%a2u,#1,(%a3),%a3,%acc2
+ mac.w %d2u,%a2u,#1,(%a3),%d2,%acc1
+ mac.w %d2u,%a2u,#1,(%a3),%d2,%acc2
+ mac.w %d2u,%a2u,#1,(%a3),%a7,%acc1
+ mac.w %d2u,%a2u,#1,(%a3),%a7,%acc2
+ mac.w %d2u,%a2u,#1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a2u,#1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a2u,#1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a2u,#1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a2u,#1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a2u,#1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a2u,#1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a2u,#1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6),%d1,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6),%d1,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6),%a3,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6),%a3,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6),%d2,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6),%d2,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6),%a7,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6),%a7,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1),%d1,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1),%d1,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1),%a3,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1),%a3,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1),%d2,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1),%d2,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1),%a7,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1),%a7,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3),%d1,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3),%d1,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3),%a3,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3),%a3,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3),%d2,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3),%d2,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3),%a7,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3),%a7,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6),%d1,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6),%d1,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6),%a3,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6),%a3,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6),%d2,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6),%d2,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6),%a7,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6),%a7,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1),%d1,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1),%d1,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1),%a3,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1),%a3,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1),%d2,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1),%d2,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1),%a7,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1),%a7,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d3l,(%a3),%d1,%acc1
+ mac.w %d2u,%d3l,(%a3),%d1,%acc2
+ mac.w %d2u,%d3l,(%a3),%a3,%acc1
+ mac.w %d2u,%d3l,(%a3),%a3,%acc2
+ mac.w %d2u,%d3l,(%a3),%d2,%acc1
+ mac.w %d2u,%d3l,(%a3),%d2,%acc2
+ mac.w %d2u,%d3l,(%a3),%a7,%acc1
+ mac.w %d2u,%d3l,(%a3),%a7,%acc2
+ mac.w %d2u,%d3l,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d3l,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d3l,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d3l,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d3l,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d3l,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d3l,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d3l,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d3l,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d3l,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d3l,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d3l,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d3l,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d3l,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d3l,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d3l,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d3l,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d3l,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d3l,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d3l,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d3l,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d3l,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d3l,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d3l,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d3l,10(%a6),%d1,%acc1
+ mac.w %d2u,%d3l,10(%a6),%d1,%acc2
+ mac.w %d2u,%d3l,10(%a6),%a3,%acc1
+ mac.w %d2u,%d3l,10(%a6),%a3,%acc2
+ mac.w %d2u,%d3l,10(%a6),%d2,%acc1
+ mac.w %d2u,%d3l,10(%a6),%d2,%acc2
+ mac.w %d2u,%d3l,10(%a6),%a7,%acc1
+ mac.w %d2u,%d3l,10(%a6),%a7,%acc2
+ mac.w %d2u,%d3l,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d3l,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d3l,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d3l,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d3l,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d3l,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d3l,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d3l,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d3l,-(%a1),%d1,%acc1
+ mac.w %d2u,%d3l,-(%a1),%d1,%acc2
+ mac.w %d2u,%d3l,-(%a1),%a3,%acc1
+ mac.w %d2u,%d3l,-(%a1),%a3,%acc2
+ mac.w %d2u,%d3l,-(%a1),%d2,%acc1
+ mac.w %d2u,%d3l,-(%a1),%d2,%acc2
+ mac.w %d2u,%d3l,-(%a1),%a7,%acc1
+ mac.w %d2u,%d3l,-(%a1),%a7,%acc2
+ mac.w %d2u,%d3l,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d3l,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d3l,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d3l,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d3l,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d3l,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d3l,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d3l,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d3l,<<,(%a3),%d1,%acc1
+ mac.w %d2u,%d3l,<<,(%a3),%d1,%acc2
+ mac.w %d2u,%d3l,<<,(%a3),%a3,%acc1
+ mac.w %d2u,%d3l,<<,(%a3),%a3,%acc2
+ mac.w %d2u,%d3l,<<,(%a3),%d2,%acc1
+ mac.w %d2u,%d3l,<<,(%a3),%d2,%acc2
+ mac.w %d2u,%d3l,<<,(%a3),%a7,%acc1
+ mac.w %d2u,%d3l,<<,(%a3),%a7,%acc2
+ mac.w %d2u,%d3l,<<,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d3l,<<,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d3l,<<,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d3l,<<,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d3l,<<,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d3l,<<,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d3l,<<,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d3l,<<,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6),%d1,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6),%d1,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6),%a3,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6),%a3,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6),%d2,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6),%d2,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6),%a7,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6),%a7,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1),%d1,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1),%d1,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1),%a3,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1),%a3,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1),%d2,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1),%d2,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1),%a7,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1),%a7,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d3l,>>,(%a3),%d1,%acc1
+ mac.w %d2u,%d3l,>>,(%a3),%d1,%acc2
+ mac.w %d2u,%d3l,>>,(%a3),%a3,%acc1
+ mac.w %d2u,%d3l,>>,(%a3),%a3,%acc2
+ mac.w %d2u,%d3l,>>,(%a3),%d2,%acc1
+ mac.w %d2u,%d3l,>>,(%a3),%d2,%acc2
+ mac.w %d2u,%d3l,>>,(%a3),%a7,%acc1
+ mac.w %d2u,%d3l,>>,(%a3),%a7,%acc2
+ mac.w %d2u,%d3l,>>,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d3l,>>,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d3l,>>,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d3l,>>,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d3l,>>,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d3l,>>,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d3l,>>,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d3l,>>,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6),%d1,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6),%d1,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6),%a3,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6),%a3,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6),%d2,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6),%d2,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6),%a7,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6),%a7,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1),%d1,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1),%d1,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1),%a3,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1),%a3,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1),%d2,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1),%d2,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1),%a7,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1),%a7,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d3l,#1,(%a3),%d1,%acc1
+ mac.w %d2u,%d3l,#1,(%a3),%d1,%acc2
+ mac.w %d2u,%d3l,#1,(%a3),%a3,%acc1
+ mac.w %d2u,%d3l,#1,(%a3),%a3,%acc2
+ mac.w %d2u,%d3l,#1,(%a3),%d2,%acc1
+ mac.w %d2u,%d3l,#1,(%a3),%d2,%acc2
+ mac.w %d2u,%d3l,#1,(%a3),%a7,%acc1
+ mac.w %d2u,%d3l,#1,(%a3),%a7,%acc2
+ mac.w %d2u,%d3l,#1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d3l,#1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d3l,#1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d3l,#1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d3l,#1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d3l,#1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d3l,#1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d3l,#1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6),%d1,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6),%d1,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6),%a3,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6),%a3,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6),%d2,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6),%d2,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6),%a7,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6),%a7,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1),%d1,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1),%d1,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1),%a3,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1),%a3,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1),%d2,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1),%d2,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1),%a7,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1),%a7,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3),%d1,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3),%d1,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3),%a3,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3),%a3,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3),%d2,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3),%d2,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3),%a7,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3),%a7,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6),%d1,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6),%d1,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6),%a3,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6),%a3,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6),%d2,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6),%d2,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6),%a7,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6),%a7,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1),%d1,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1),%d1,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1),%a3,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1),%a3,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1),%d2,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1),%d2,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1),%a7,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1),%a7,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a7u,(%a3),%d1,%acc1
+ mac.w %d2u,%a7u,(%a3),%d1,%acc2
+ mac.w %d2u,%a7u,(%a3),%a3,%acc1
+ mac.w %d2u,%a7u,(%a3),%a3,%acc2
+ mac.w %d2u,%a7u,(%a3),%d2,%acc1
+ mac.w %d2u,%a7u,(%a3),%d2,%acc2
+ mac.w %d2u,%a7u,(%a3),%a7,%acc1
+ mac.w %d2u,%a7u,(%a3),%a7,%acc2
+ mac.w %d2u,%a7u,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a7u,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a7u,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a7u,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a7u,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a7u,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a7u,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a7u,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a7u,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a7u,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a7u,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a7u,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a7u,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a7u,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a7u,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a7u,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a7u,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a7u,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a7u,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a7u,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a7u,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a7u,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a7u,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a7u,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a7u,10(%a6),%d1,%acc1
+ mac.w %d2u,%a7u,10(%a6),%d1,%acc2
+ mac.w %d2u,%a7u,10(%a6),%a3,%acc1
+ mac.w %d2u,%a7u,10(%a6),%a3,%acc2
+ mac.w %d2u,%a7u,10(%a6),%d2,%acc1
+ mac.w %d2u,%a7u,10(%a6),%d2,%acc2
+ mac.w %d2u,%a7u,10(%a6),%a7,%acc1
+ mac.w %d2u,%a7u,10(%a6),%a7,%acc2
+ mac.w %d2u,%a7u,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a7u,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a7u,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a7u,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a7u,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a7u,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a7u,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a7u,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a7u,-(%a1),%d1,%acc1
+ mac.w %d2u,%a7u,-(%a1),%d1,%acc2
+ mac.w %d2u,%a7u,-(%a1),%a3,%acc1
+ mac.w %d2u,%a7u,-(%a1),%a3,%acc2
+ mac.w %d2u,%a7u,-(%a1),%d2,%acc1
+ mac.w %d2u,%a7u,-(%a1),%d2,%acc2
+ mac.w %d2u,%a7u,-(%a1),%a7,%acc1
+ mac.w %d2u,%a7u,-(%a1),%a7,%acc2
+ mac.w %d2u,%a7u,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a7u,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a7u,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a7u,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a7u,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a7u,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a7u,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a7u,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a7u,<<,(%a3),%d1,%acc1
+ mac.w %d2u,%a7u,<<,(%a3),%d1,%acc2
+ mac.w %d2u,%a7u,<<,(%a3),%a3,%acc1
+ mac.w %d2u,%a7u,<<,(%a3),%a3,%acc2
+ mac.w %d2u,%a7u,<<,(%a3),%d2,%acc1
+ mac.w %d2u,%a7u,<<,(%a3),%d2,%acc2
+ mac.w %d2u,%a7u,<<,(%a3),%a7,%acc1
+ mac.w %d2u,%a7u,<<,(%a3),%a7,%acc2
+ mac.w %d2u,%a7u,<<,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a7u,<<,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a7u,<<,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a7u,<<,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a7u,<<,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a7u,<<,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a7u,<<,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a7u,<<,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6),%d1,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6),%d1,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6),%a3,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6),%a3,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6),%d2,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6),%d2,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6),%a7,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6),%a7,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1),%d1,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1),%d1,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1),%a3,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1),%a3,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1),%d2,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1),%d2,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1),%a7,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1),%a7,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a7u,>>,(%a3),%d1,%acc1
+ mac.w %d2u,%a7u,>>,(%a3),%d1,%acc2
+ mac.w %d2u,%a7u,>>,(%a3),%a3,%acc1
+ mac.w %d2u,%a7u,>>,(%a3),%a3,%acc2
+ mac.w %d2u,%a7u,>>,(%a3),%d2,%acc1
+ mac.w %d2u,%a7u,>>,(%a3),%d2,%acc2
+ mac.w %d2u,%a7u,>>,(%a3),%a7,%acc1
+ mac.w %d2u,%a7u,>>,(%a3),%a7,%acc2
+ mac.w %d2u,%a7u,>>,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a7u,>>,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a7u,>>,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a7u,>>,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a7u,>>,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a7u,>>,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a7u,>>,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a7u,>>,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6),%d1,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6),%d1,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6),%a3,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6),%a3,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6),%d2,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6),%d2,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6),%a7,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6),%a7,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1),%d1,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1),%d1,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1),%a3,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1),%a3,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1),%d2,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1),%d2,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1),%a7,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1),%a7,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a7u,#1,(%a3),%d1,%acc1
+ mac.w %d2u,%a7u,#1,(%a3),%d1,%acc2
+ mac.w %d2u,%a7u,#1,(%a3),%a3,%acc1
+ mac.w %d2u,%a7u,#1,(%a3),%a3,%acc2
+ mac.w %d2u,%a7u,#1,(%a3),%d2,%acc1
+ mac.w %d2u,%a7u,#1,(%a3),%d2,%acc2
+ mac.w %d2u,%a7u,#1,(%a3),%a7,%acc1
+ mac.w %d2u,%a7u,#1,(%a3),%a7,%acc2
+ mac.w %d2u,%a7u,#1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a7u,#1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a7u,#1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a7u,#1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a7u,#1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a7u,#1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a7u,#1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a7u,#1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6),%d1,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6),%d1,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6),%a3,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6),%a3,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6),%d2,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6),%d2,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6),%a7,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6),%a7,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1),%d1,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1),%d1,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1),%a3,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1),%a3,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1),%d2,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1),%d2,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1),%a7,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1),%a7,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3),%d1,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3),%d1,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3),%a3,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3),%a3,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3),%d2,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3),%d2,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3),%a7,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3),%a7,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6),%d1,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6),%d1,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6),%a3,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6),%a3,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6),%d2,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6),%d2,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6),%a7,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6),%a7,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1),%d1,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1),%d1,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1),%a3,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1),%a3,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1),%d2,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1),%d2,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1),%a7,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1),%a7,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d1l,(%a3),%d1,%acc1
+ mac.w %d2u,%d1l,(%a3),%d1,%acc2
+ mac.w %d2u,%d1l,(%a3),%a3,%acc1
+ mac.w %d2u,%d1l,(%a3),%a3,%acc2
+ mac.w %d2u,%d1l,(%a3),%d2,%acc1
+ mac.w %d2u,%d1l,(%a3),%d2,%acc2
+ mac.w %d2u,%d1l,(%a3),%a7,%acc1
+ mac.w %d2u,%d1l,(%a3),%a7,%acc2
+ mac.w %d2u,%d1l,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d1l,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d1l,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d1l,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d1l,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d1l,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d1l,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d1l,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d1l,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d1l,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d1l,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d1l,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d1l,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d1l,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d1l,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d1l,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d1l,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d1l,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d1l,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d1l,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d1l,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d1l,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d1l,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d1l,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d1l,10(%a6),%d1,%acc1
+ mac.w %d2u,%d1l,10(%a6),%d1,%acc2
+ mac.w %d2u,%d1l,10(%a6),%a3,%acc1
+ mac.w %d2u,%d1l,10(%a6),%a3,%acc2
+ mac.w %d2u,%d1l,10(%a6),%d2,%acc1
+ mac.w %d2u,%d1l,10(%a6),%d2,%acc2
+ mac.w %d2u,%d1l,10(%a6),%a7,%acc1
+ mac.w %d2u,%d1l,10(%a6),%a7,%acc2
+ mac.w %d2u,%d1l,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d1l,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d1l,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d1l,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d1l,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d1l,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d1l,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d1l,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d1l,-(%a1),%d1,%acc1
+ mac.w %d2u,%d1l,-(%a1),%d1,%acc2
+ mac.w %d2u,%d1l,-(%a1),%a3,%acc1
+ mac.w %d2u,%d1l,-(%a1),%a3,%acc2
+ mac.w %d2u,%d1l,-(%a1),%d2,%acc1
+ mac.w %d2u,%d1l,-(%a1),%d2,%acc2
+ mac.w %d2u,%d1l,-(%a1),%a7,%acc1
+ mac.w %d2u,%d1l,-(%a1),%a7,%acc2
+ mac.w %d2u,%d1l,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d1l,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d1l,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d1l,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d1l,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d1l,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d1l,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d1l,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d1l,<<,(%a3),%d1,%acc1
+ mac.w %d2u,%d1l,<<,(%a3),%d1,%acc2
+ mac.w %d2u,%d1l,<<,(%a3),%a3,%acc1
+ mac.w %d2u,%d1l,<<,(%a3),%a3,%acc2
+ mac.w %d2u,%d1l,<<,(%a3),%d2,%acc1
+ mac.w %d2u,%d1l,<<,(%a3),%d2,%acc2
+ mac.w %d2u,%d1l,<<,(%a3),%a7,%acc1
+ mac.w %d2u,%d1l,<<,(%a3),%a7,%acc2
+ mac.w %d2u,%d1l,<<,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d1l,<<,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d1l,<<,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d1l,<<,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d1l,<<,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d1l,<<,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d1l,<<,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d1l,<<,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6),%d1,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6),%d1,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6),%a3,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6),%a3,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6),%d2,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6),%d2,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6),%a7,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6),%a7,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1),%d1,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1),%d1,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1),%a3,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1),%a3,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1),%d2,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1),%d2,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1),%a7,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1),%a7,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d1l,>>,(%a3),%d1,%acc1
+ mac.w %d2u,%d1l,>>,(%a3),%d1,%acc2
+ mac.w %d2u,%d1l,>>,(%a3),%a3,%acc1
+ mac.w %d2u,%d1l,>>,(%a3),%a3,%acc2
+ mac.w %d2u,%d1l,>>,(%a3),%d2,%acc1
+ mac.w %d2u,%d1l,>>,(%a3),%d2,%acc2
+ mac.w %d2u,%d1l,>>,(%a3),%a7,%acc1
+ mac.w %d2u,%d1l,>>,(%a3),%a7,%acc2
+ mac.w %d2u,%d1l,>>,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d1l,>>,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d1l,>>,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d1l,>>,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d1l,>>,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d1l,>>,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d1l,>>,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d1l,>>,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6),%d1,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6),%d1,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6),%a3,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6),%a3,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6),%d2,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6),%d2,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6),%a7,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6),%a7,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1),%d1,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1),%d1,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1),%a3,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1),%a3,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1),%d2,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1),%d2,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1),%a7,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1),%a7,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d1l,#1,(%a3),%d1,%acc1
+ mac.w %d2u,%d1l,#1,(%a3),%d1,%acc2
+ mac.w %d2u,%d1l,#1,(%a3),%a3,%acc1
+ mac.w %d2u,%d1l,#1,(%a3),%a3,%acc2
+ mac.w %d2u,%d1l,#1,(%a3),%d2,%acc1
+ mac.w %d2u,%d1l,#1,(%a3),%d2,%acc2
+ mac.w %d2u,%d1l,#1,(%a3),%a7,%acc1
+ mac.w %d2u,%d1l,#1,(%a3),%a7,%acc2
+ mac.w %d2u,%d1l,#1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d1l,#1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d1l,#1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d1l,#1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d1l,#1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d1l,#1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d1l,#1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d1l,#1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6),%d1,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6),%d1,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6),%a3,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6),%a3,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6),%d2,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6),%d2,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6),%a7,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6),%a7,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1),%d1,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1),%d1,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1),%a3,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1),%a3,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1),%d2,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1),%d2,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1),%a7,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1),%a7,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a7,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3),%d1,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3),%d1,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3),%a3,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3),%a3,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3),%d2,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3),%d2,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3),%a7,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3),%a7,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d1,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d1,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a3,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a3,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d2,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d2,%acc2
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a7,%acc1
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a7,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d1,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d1,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a3,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a3,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d2,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d2,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a7,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a7,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6),%d1,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6),%d1,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6),%a3,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6),%a3,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6),%d2,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6),%d2,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6),%a7,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6),%a7,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1),%d1,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1),%d1,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1),%a3,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1),%a3,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1),%d2,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1),%d2,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1),%a7,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1),%a7,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a2u,(%a3),%d1,%acc1
+ mac.w %a5l,%a2u,(%a3),%d1,%acc2
+ mac.w %a5l,%a2u,(%a3),%a3,%acc1
+ mac.w %a5l,%a2u,(%a3),%a3,%acc2
+ mac.w %a5l,%a2u,(%a3),%d2,%acc1
+ mac.w %a5l,%a2u,(%a3),%d2,%acc2
+ mac.w %a5l,%a2u,(%a3),%a7,%acc1
+ mac.w %a5l,%a2u,(%a3),%a7,%acc2
+ mac.w %a5l,%a2u,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a2u,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a2u,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a2u,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a2u,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a2u,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a2u,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a2u,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a2u,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a2u,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a2u,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a2u,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a2u,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a2u,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a2u,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a2u,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a2u,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a2u,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a2u,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a2u,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a2u,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a2u,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a2u,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a2u,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a2u,10(%a6),%d1,%acc1
+ mac.w %a5l,%a2u,10(%a6),%d1,%acc2
+ mac.w %a5l,%a2u,10(%a6),%a3,%acc1
+ mac.w %a5l,%a2u,10(%a6),%a3,%acc2
+ mac.w %a5l,%a2u,10(%a6),%d2,%acc1
+ mac.w %a5l,%a2u,10(%a6),%d2,%acc2
+ mac.w %a5l,%a2u,10(%a6),%a7,%acc1
+ mac.w %a5l,%a2u,10(%a6),%a7,%acc2
+ mac.w %a5l,%a2u,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a2u,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a2u,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a2u,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a2u,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a2u,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a2u,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a2u,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a2u,-(%a1),%d1,%acc1
+ mac.w %a5l,%a2u,-(%a1),%d1,%acc2
+ mac.w %a5l,%a2u,-(%a1),%a3,%acc1
+ mac.w %a5l,%a2u,-(%a1),%a3,%acc2
+ mac.w %a5l,%a2u,-(%a1),%d2,%acc1
+ mac.w %a5l,%a2u,-(%a1),%d2,%acc2
+ mac.w %a5l,%a2u,-(%a1),%a7,%acc1
+ mac.w %a5l,%a2u,-(%a1),%a7,%acc2
+ mac.w %a5l,%a2u,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a2u,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a2u,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a2u,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a2u,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a2u,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a2u,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a2u,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a2u,<<,(%a3),%d1,%acc1
+ mac.w %a5l,%a2u,<<,(%a3),%d1,%acc2
+ mac.w %a5l,%a2u,<<,(%a3),%a3,%acc1
+ mac.w %a5l,%a2u,<<,(%a3),%a3,%acc2
+ mac.w %a5l,%a2u,<<,(%a3),%d2,%acc1
+ mac.w %a5l,%a2u,<<,(%a3),%d2,%acc2
+ mac.w %a5l,%a2u,<<,(%a3),%a7,%acc1
+ mac.w %a5l,%a2u,<<,(%a3),%a7,%acc2
+ mac.w %a5l,%a2u,<<,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a2u,<<,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a2u,<<,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a2u,<<,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a2u,<<,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a2u,<<,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a2u,<<,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a2u,<<,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6),%d1,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6),%d1,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6),%a3,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6),%a3,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6),%d2,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6),%d2,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6),%a7,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6),%a7,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1),%d1,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1),%d1,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1),%a3,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1),%a3,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1),%d2,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1),%d2,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1),%a7,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1),%a7,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a2u,>>,(%a3),%d1,%acc1
+ mac.w %a5l,%a2u,>>,(%a3),%d1,%acc2
+ mac.w %a5l,%a2u,>>,(%a3),%a3,%acc1
+ mac.w %a5l,%a2u,>>,(%a3),%a3,%acc2
+ mac.w %a5l,%a2u,>>,(%a3),%d2,%acc1
+ mac.w %a5l,%a2u,>>,(%a3),%d2,%acc2
+ mac.w %a5l,%a2u,>>,(%a3),%a7,%acc1
+ mac.w %a5l,%a2u,>>,(%a3),%a7,%acc2
+ mac.w %a5l,%a2u,>>,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a2u,>>,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a2u,>>,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a2u,>>,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a2u,>>,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a2u,>>,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a2u,>>,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a2u,>>,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6),%d1,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6),%d1,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6),%a3,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6),%a3,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6),%d2,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6),%d2,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6),%a7,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6),%a7,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1),%d1,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1),%d1,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1),%a3,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1),%a3,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1),%d2,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1),%d2,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1),%a7,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1),%a7,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a2u,#1,(%a3),%d1,%acc1
+ mac.w %a5l,%a2u,#1,(%a3),%d1,%acc2
+ mac.w %a5l,%a2u,#1,(%a3),%a3,%acc1
+ mac.w %a5l,%a2u,#1,(%a3),%a3,%acc2
+ mac.w %a5l,%a2u,#1,(%a3),%d2,%acc1
+ mac.w %a5l,%a2u,#1,(%a3),%d2,%acc2
+ mac.w %a5l,%a2u,#1,(%a3),%a7,%acc1
+ mac.w %a5l,%a2u,#1,(%a3),%a7,%acc2
+ mac.w %a5l,%a2u,#1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a2u,#1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a2u,#1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a2u,#1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a2u,#1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a2u,#1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a2u,#1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a2u,#1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6),%d1,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6),%d1,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6),%a3,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6),%a3,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6),%d2,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6),%d2,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6),%a7,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6),%a7,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1),%d1,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1),%d1,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1),%a3,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1),%a3,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1),%d2,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1),%d2,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1),%a7,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1),%a7,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3),%d1,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3),%d1,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3),%a3,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3),%a3,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3),%d2,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3),%d2,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3),%a7,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3),%a7,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6),%d1,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6),%d1,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6),%a3,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6),%a3,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6),%d2,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6),%d2,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6),%a7,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6),%a7,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1),%d1,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1),%d1,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1),%a3,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1),%a3,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1),%d2,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1),%d2,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1),%a7,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1),%a7,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d3l,(%a3),%d1,%acc1
+ mac.w %a5l,%d3l,(%a3),%d1,%acc2
+ mac.w %a5l,%d3l,(%a3),%a3,%acc1
+ mac.w %a5l,%d3l,(%a3),%a3,%acc2
+ mac.w %a5l,%d3l,(%a3),%d2,%acc1
+ mac.w %a5l,%d3l,(%a3),%d2,%acc2
+ mac.w %a5l,%d3l,(%a3),%a7,%acc1
+ mac.w %a5l,%d3l,(%a3),%a7,%acc2
+ mac.w %a5l,%d3l,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d3l,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d3l,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d3l,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d3l,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d3l,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d3l,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d3l,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d3l,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d3l,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d3l,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d3l,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d3l,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d3l,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d3l,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d3l,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d3l,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d3l,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d3l,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d3l,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d3l,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d3l,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d3l,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d3l,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d3l,10(%a6),%d1,%acc1
+ mac.w %a5l,%d3l,10(%a6),%d1,%acc2
+ mac.w %a5l,%d3l,10(%a6),%a3,%acc1
+ mac.w %a5l,%d3l,10(%a6),%a3,%acc2
+ mac.w %a5l,%d3l,10(%a6),%d2,%acc1
+ mac.w %a5l,%d3l,10(%a6),%d2,%acc2
+ mac.w %a5l,%d3l,10(%a6),%a7,%acc1
+ mac.w %a5l,%d3l,10(%a6),%a7,%acc2
+ mac.w %a5l,%d3l,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d3l,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d3l,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d3l,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d3l,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d3l,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d3l,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d3l,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d3l,-(%a1),%d1,%acc1
+ mac.w %a5l,%d3l,-(%a1),%d1,%acc2
+ mac.w %a5l,%d3l,-(%a1),%a3,%acc1
+ mac.w %a5l,%d3l,-(%a1),%a3,%acc2
+ mac.w %a5l,%d3l,-(%a1),%d2,%acc1
+ mac.w %a5l,%d3l,-(%a1),%d2,%acc2
+ mac.w %a5l,%d3l,-(%a1),%a7,%acc1
+ mac.w %a5l,%d3l,-(%a1),%a7,%acc2
+ mac.w %a5l,%d3l,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d3l,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d3l,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d3l,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d3l,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d3l,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d3l,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d3l,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d3l,<<,(%a3),%d1,%acc1
+ mac.w %a5l,%d3l,<<,(%a3),%d1,%acc2
+ mac.w %a5l,%d3l,<<,(%a3),%a3,%acc1
+ mac.w %a5l,%d3l,<<,(%a3),%a3,%acc2
+ mac.w %a5l,%d3l,<<,(%a3),%d2,%acc1
+ mac.w %a5l,%d3l,<<,(%a3),%d2,%acc2
+ mac.w %a5l,%d3l,<<,(%a3),%a7,%acc1
+ mac.w %a5l,%d3l,<<,(%a3),%a7,%acc2
+ mac.w %a5l,%d3l,<<,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d3l,<<,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d3l,<<,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d3l,<<,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d3l,<<,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d3l,<<,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d3l,<<,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d3l,<<,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6),%d1,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6),%d1,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6),%a3,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6),%a3,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6),%d2,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6),%d2,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6),%a7,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6),%a7,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1),%d1,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1),%d1,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1),%a3,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1),%a3,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1),%d2,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1),%d2,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1),%a7,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1),%a7,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d3l,>>,(%a3),%d1,%acc1
+ mac.w %a5l,%d3l,>>,(%a3),%d1,%acc2
+ mac.w %a5l,%d3l,>>,(%a3),%a3,%acc1
+ mac.w %a5l,%d3l,>>,(%a3),%a3,%acc2
+ mac.w %a5l,%d3l,>>,(%a3),%d2,%acc1
+ mac.w %a5l,%d3l,>>,(%a3),%d2,%acc2
+ mac.w %a5l,%d3l,>>,(%a3),%a7,%acc1
+ mac.w %a5l,%d3l,>>,(%a3),%a7,%acc2
+ mac.w %a5l,%d3l,>>,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d3l,>>,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d3l,>>,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d3l,>>,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d3l,>>,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d3l,>>,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d3l,>>,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d3l,>>,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6),%d1,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6),%d1,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6),%a3,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6),%a3,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6),%d2,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6),%d2,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6),%a7,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6),%a7,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1),%d1,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1),%d1,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1),%a3,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1),%a3,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1),%d2,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1),%d2,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1),%a7,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1),%a7,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d3l,#1,(%a3),%d1,%acc1
+ mac.w %a5l,%d3l,#1,(%a3),%d1,%acc2
+ mac.w %a5l,%d3l,#1,(%a3),%a3,%acc1
+ mac.w %a5l,%d3l,#1,(%a3),%a3,%acc2
+ mac.w %a5l,%d3l,#1,(%a3),%d2,%acc1
+ mac.w %a5l,%d3l,#1,(%a3),%d2,%acc2
+ mac.w %a5l,%d3l,#1,(%a3),%a7,%acc1
+ mac.w %a5l,%d3l,#1,(%a3),%a7,%acc2
+ mac.w %a5l,%d3l,#1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d3l,#1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d3l,#1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d3l,#1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d3l,#1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d3l,#1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d3l,#1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d3l,#1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6),%d1,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6),%d1,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6),%a3,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6),%a3,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6),%d2,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6),%d2,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6),%a7,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6),%a7,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1),%d1,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1),%d1,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1),%a3,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1),%a3,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1),%d2,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1),%d2,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1),%a7,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1),%a7,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3),%d1,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3),%d1,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3),%a3,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3),%a3,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3),%d2,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3),%d2,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3),%a7,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3),%a7,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6),%d1,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6),%d1,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6),%a3,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6),%a3,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6),%d2,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6),%d2,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6),%a7,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6),%a7,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1),%d1,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1),%d1,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1),%a3,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1),%a3,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1),%d2,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1),%d2,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1),%a7,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1),%a7,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a7u,(%a3),%d1,%acc1
+ mac.w %a5l,%a7u,(%a3),%d1,%acc2
+ mac.w %a5l,%a7u,(%a3),%a3,%acc1
+ mac.w %a5l,%a7u,(%a3),%a3,%acc2
+ mac.w %a5l,%a7u,(%a3),%d2,%acc1
+ mac.w %a5l,%a7u,(%a3),%d2,%acc2
+ mac.w %a5l,%a7u,(%a3),%a7,%acc1
+ mac.w %a5l,%a7u,(%a3),%a7,%acc2
+ mac.w %a5l,%a7u,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a7u,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a7u,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a7u,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a7u,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a7u,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a7u,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a7u,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a7u,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a7u,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a7u,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a7u,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a7u,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a7u,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a7u,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a7u,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a7u,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a7u,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a7u,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a7u,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a7u,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a7u,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a7u,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a7u,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a7u,10(%a6),%d1,%acc1
+ mac.w %a5l,%a7u,10(%a6),%d1,%acc2
+ mac.w %a5l,%a7u,10(%a6),%a3,%acc1
+ mac.w %a5l,%a7u,10(%a6),%a3,%acc2
+ mac.w %a5l,%a7u,10(%a6),%d2,%acc1
+ mac.w %a5l,%a7u,10(%a6),%d2,%acc2
+ mac.w %a5l,%a7u,10(%a6),%a7,%acc1
+ mac.w %a5l,%a7u,10(%a6),%a7,%acc2
+ mac.w %a5l,%a7u,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a7u,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a7u,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a7u,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a7u,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a7u,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a7u,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a7u,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a7u,-(%a1),%d1,%acc1
+ mac.w %a5l,%a7u,-(%a1),%d1,%acc2
+ mac.w %a5l,%a7u,-(%a1),%a3,%acc1
+ mac.w %a5l,%a7u,-(%a1),%a3,%acc2
+ mac.w %a5l,%a7u,-(%a1),%d2,%acc1
+ mac.w %a5l,%a7u,-(%a1),%d2,%acc2
+ mac.w %a5l,%a7u,-(%a1),%a7,%acc1
+ mac.w %a5l,%a7u,-(%a1),%a7,%acc2
+ mac.w %a5l,%a7u,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a7u,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a7u,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a7u,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a7u,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a7u,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a7u,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a7u,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a7u,<<,(%a3),%d1,%acc1
+ mac.w %a5l,%a7u,<<,(%a3),%d1,%acc2
+ mac.w %a5l,%a7u,<<,(%a3),%a3,%acc1
+ mac.w %a5l,%a7u,<<,(%a3),%a3,%acc2
+ mac.w %a5l,%a7u,<<,(%a3),%d2,%acc1
+ mac.w %a5l,%a7u,<<,(%a3),%d2,%acc2
+ mac.w %a5l,%a7u,<<,(%a3),%a7,%acc1
+ mac.w %a5l,%a7u,<<,(%a3),%a7,%acc2
+ mac.w %a5l,%a7u,<<,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a7u,<<,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a7u,<<,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a7u,<<,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a7u,<<,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a7u,<<,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a7u,<<,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a7u,<<,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6),%d1,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6),%d1,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6),%a3,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6),%a3,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6),%d2,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6),%d2,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6),%a7,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6),%a7,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1),%d1,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1),%d1,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1),%a3,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1),%a3,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1),%d2,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1),%d2,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1),%a7,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1),%a7,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a7u,>>,(%a3),%d1,%acc1
+ mac.w %a5l,%a7u,>>,(%a3),%d1,%acc2
+ mac.w %a5l,%a7u,>>,(%a3),%a3,%acc1
+ mac.w %a5l,%a7u,>>,(%a3),%a3,%acc2
+ mac.w %a5l,%a7u,>>,(%a3),%d2,%acc1
+ mac.w %a5l,%a7u,>>,(%a3),%d2,%acc2
+ mac.w %a5l,%a7u,>>,(%a3),%a7,%acc1
+ mac.w %a5l,%a7u,>>,(%a3),%a7,%acc2
+ mac.w %a5l,%a7u,>>,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a7u,>>,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a7u,>>,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a7u,>>,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a7u,>>,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a7u,>>,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a7u,>>,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a7u,>>,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6),%d1,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6),%d1,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6),%a3,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6),%a3,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6),%d2,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6),%d2,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6),%a7,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6),%a7,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1),%d1,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1),%d1,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1),%a3,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1),%a3,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1),%d2,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1),%d2,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1),%a7,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1),%a7,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a7u,#1,(%a3),%d1,%acc1
+ mac.w %a5l,%a7u,#1,(%a3),%d1,%acc2
+ mac.w %a5l,%a7u,#1,(%a3),%a3,%acc1
+ mac.w %a5l,%a7u,#1,(%a3),%a3,%acc2
+ mac.w %a5l,%a7u,#1,(%a3),%d2,%acc1
+ mac.w %a5l,%a7u,#1,(%a3),%d2,%acc2
+ mac.w %a5l,%a7u,#1,(%a3),%a7,%acc1
+ mac.w %a5l,%a7u,#1,(%a3),%a7,%acc2
+ mac.w %a5l,%a7u,#1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a7u,#1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a7u,#1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a7u,#1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a7u,#1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a7u,#1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a7u,#1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a7u,#1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6),%d1,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6),%d1,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6),%a3,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6),%a3,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6),%d2,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6),%d2,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6),%a7,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6),%a7,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1),%d1,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1),%d1,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1),%a3,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1),%a3,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1),%d2,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1),%d2,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1),%a7,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1),%a7,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3),%d1,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3),%d1,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3),%a3,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3),%a3,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3),%d2,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3),%d2,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3),%a7,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3),%a7,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6),%d1,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6),%d1,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6),%a3,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6),%a3,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6),%d2,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6),%d2,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6),%a7,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6),%a7,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1),%d1,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1),%d1,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1),%a3,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1),%a3,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1),%d2,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1),%d2,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1),%a7,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1),%a7,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d1l,(%a3),%d1,%acc1
+ mac.w %a5l,%d1l,(%a3),%d1,%acc2
+ mac.w %a5l,%d1l,(%a3),%a3,%acc1
+ mac.w %a5l,%d1l,(%a3),%a3,%acc2
+ mac.w %a5l,%d1l,(%a3),%d2,%acc1
+ mac.w %a5l,%d1l,(%a3),%d2,%acc2
+ mac.w %a5l,%d1l,(%a3),%a7,%acc1
+ mac.w %a5l,%d1l,(%a3),%a7,%acc2
+ mac.w %a5l,%d1l,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d1l,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d1l,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d1l,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d1l,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d1l,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d1l,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d1l,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d1l,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d1l,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d1l,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d1l,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d1l,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d1l,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d1l,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d1l,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d1l,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d1l,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d1l,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d1l,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d1l,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d1l,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d1l,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d1l,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d1l,10(%a6),%d1,%acc1
+ mac.w %a5l,%d1l,10(%a6),%d1,%acc2
+ mac.w %a5l,%d1l,10(%a6),%a3,%acc1
+ mac.w %a5l,%d1l,10(%a6),%a3,%acc2
+ mac.w %a5l,%d1l,10(%a6),%d2,%acc1
+ mac.w %a5l,%d1l,10(%a6),%d2,%acc2
+ mac.w %a5l,%d1l,10(%a6),%a7,%acc1
+ mac.w %a5l,%d1l,10(%a6),%a7,%acc2
+ mac.w %a5l,%d1l,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d1l,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d1l,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d1l,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d1l,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d1l,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d1l,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d1l,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d1l,-(%a1),%d1,%acc1
+ mac.w %a5l,%d1l,-(%a1),%d1,%acc2
+ mac.w %a5l,%d1l,-(%a1),%a3,%acc1
+ mac.w %a5l,%d1l,-(%a1),%a3,%acc2
+ mac.w %a5l,%d1l,-(%a1),%d2,%acc1
+ mac.w %a5l,%d1l,-(%a1),%d2,%acc2
+ mac.w %a5l,%d1l,-(%a1),%a7,%acc1
+ mac.w %a5l,%d1l,-(%a1),%a7,%acc2
+ mac.w %a5l,%d1l,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d1l,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d1l,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d1l,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d1l,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d1l,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d1l,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d1l,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d1l,<<,(%a3),%d1,%acc1
+ mac.w %a5l,%d1l,<<,(%a3),%d1,%acc2
+ mac.w %a5l,%d1l,<<,(%a3),%a3,%acc1
+ mac.w %a5l,%d1l,<<,(%a3),%a3,%acc2
+ mac.w %a5l,%d1l,<<,(%a3),%d2,%acc1
+ mac.w %a5l,%d1l,<<,(%a3),%d2,%acc2
+ mac.w %a5l,%d1l,<<,(%a3),%a7,%acc1
+ mac.w %a5l,%d1l,<<,(%a3),%a7,%acc2
+ mac.w %a5l,%d1l,<<,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d1l,<<,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d1l,<<,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d1l,<<,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d1l,<<,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d1l,<<,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d1l,<<,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d1l,<<,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6),%d1,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6),%d1,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6),%a3,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6),%a3,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6),%d2,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6),%d2,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6),%a7,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6),%a7,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1),%d1,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1),%d1,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1),%a3,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1),%a3,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1),%d2,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1),%d2,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1),%a7,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1),%a7,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d1l,>>,(%a3),%d1,%acc1
+ mac.w %a5l,%d1l,>>,(%a3),%d1,%acc2
+ mac.w %a5l,%d1l,>>,(%a3),%a3,%acc1
+ mac.w %a5l,%d1l,>>,(%a3),%a3,%acc2
+ mac.w %a5l,%d1l,>>,(%a3),%d2,%acc1
+ mac.w %a5l,%d1l,>>,(%a3),%d2,%acc2
+ mac.w %a5l,%d1l,>>,(%a3),%a7,%acc1
+ mac.w %a5l,%d1l,>>,(%a3),%a7,%acc2
+ mac.w %a5l,%d1l,>>,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d1l,>>,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d1l,>>,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d1l,>>,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d1l,>>,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d1l,>>,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d1l,>>,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d1l,>>,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6),%d1,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6),%d1,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6),%a3,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6),%a3,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6),%d2,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6),%d2,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6),%a7,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6),%a7,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1),%d1,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1),%d1,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1),%a3,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1),%a3,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1),%d2,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1),%d2,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1),%a7,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1),%a7,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d1l,#1,(%a3),%d1,%acc1
+ mac.w %a5l,%d1l,#1,(%a3),%d1,%acc2
+ mac.w %a5l,%d1l,#1,(%a3),%a3,%acc1
+ mac.w %a5l,%d1l,#1,(%a3),%a3,%acc2
+ mac.w %a5l,%d1l,#1,(%a3),%d2,%acc1
+ mac.w %a5l,%d1l,#1,(%a3),%d2,%acc2
+ mac.w %a5l,%d1l,#1,(%a3),%a7,%acc1
+ mac.w %a5l,%d1l,#1,(%a3),%a7,%acc2
+ mac.w %a5l,%d1l,#1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d1l,#1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d1l,#1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d1l,#1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d1l,#1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d1l,#1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d1l,#1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d1l,#1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6),%d1,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6),%d1,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6),%a3,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6),%a3,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6),%d2,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6),%d2,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6),%a7,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6),%a7,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1),%d1,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1),%d1,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1),%a3,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1),%a3,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1),%d2,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1),%d2,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1),%a7,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1),%a7,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a7,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3),%d1,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3),%d1,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3),%a3,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3),%a3,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3),%d2,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3),%d2,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3),%a7,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3),%a7,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d1,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d1,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a3,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a3,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d2,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d2,%acc2
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a7,%acc1
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a7,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d1,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d1,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a3,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a3,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d2,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d2,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a7,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a7,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6),%d1,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6),%d1,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6),%a3,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6),%a3,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6),%d2,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6),%d2,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6),%a7,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6),%a7,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1),%d1,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1),%d1,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1),%a3,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1),%a3,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1),%d2,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1),%d2,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1),%a7,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1),%a7,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a2u,(%a3),%d1,%acc1
+ mac.w %d6u,%a2u,(%a3),%d1,%acc2
+ mac.w %d6u,%a2u,(%a3),%a3,%acc1
+ mac.w %d6u,%a2u,(%a3),%a3,%acc2
+ mac.w %d6u,%a2u,(%a3),%d2,%acc1
+ mac.w %d6u,%a2u,(%a3),%d2,%acc2
+ mac.w %d6u,%a2u,(%a3),%a7,%acc1
+ mac.w %d6u,%a2u,(%a3),%a7,%acc2
+ mac.w %d6u,%a2u,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a2u,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a2u,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a2u,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a2u,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a2u,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a2u,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a2u,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a2u,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a2u,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a2u,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a2u,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a2u,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a2u,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a2u,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a2u,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a2u,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a2u,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a2u,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a2u,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a2u,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a2u,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a2u,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a2u,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a2u,10(%a6),%d1,%acc1
+ mac.w %d6u,%a2u,10(%a6),%d1,%acc2
+ mac.w %d6u,%a2u,10(%a6),%a3,%acc1
+ mac.w %d6u,%a2u,10(%a6),%a3,%acc2
+ mac.w %d6u,%a2u,10(%a6),%d2,%acc1
+ mac.w %d6u,%a2u,10(%a6),%d2,%acc2
+ mac.w %d6u,%a2u,10(%a6),%a7,%acc1
+ mac.w %d6u,%a2u,10(%a6),%a7,%acc2
+ mac.w %d6u,%a2u,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a2u,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a2u,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a2u,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a2u,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a2u,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a2u,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a2u,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a2u,-(%a1),%d1,%acc1
+ mac.w %d6u,%a2u,-(%a1),%d1,%acc2
+ mac.w %d6u,%a2u,-(%a1),%a3,%acc1
+ mac.w %d6u,%a2u,-(%a1),%a3,%acc2
+ mac.w %d6u,%a2u,-(%a1),%d2,%acc1
+ mac.w %d6u,%a2u,-(%a1),%d2,%acc2
+ mac.w %d6u,%a2u,-(%a1),%a7,%acc1
+ mac.w %d6u,%a2u,-(%a1),%a7,%acc2
+ mac.w %d6u,%a2u,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a2u,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a2u,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a2u,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a2u,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a2u,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a2u,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a2u,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a2u,<<,(%a3),%d1,%acc1
+ mac.w %d6u,%a2u,<<,(%a3),%d1,%acc2
+ mac.w %d6u,%a2u,<<,(%a3),%a3,%acc1
+ mac.w %d6u,%a2u,<<,(%a3),%a3,%acc2
+ mac.w %d6u,%a2u,<<,(%a3),%d2,%acc1
+ mac.w %d6u,%a2u,<<,(%a3),%d2,%acc2
+ mac.w %d6u,%a2u,<<,(%a3),%a7,%acc1
+ mac.w %d6u,%a2u,<<,(%a3),%a7,%acc2
+ mac.w %d6u,%a2u,<<,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a2u,<<,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a2u,<<,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a2u,<<,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a2u,<<,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a2u,<<,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a2u,<<,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a2u,<<,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6),%d1,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6),%d1,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6),%a3,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6),%a3,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6),%d2,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6),%d2,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6),%a7,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6),%a7,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1),%d1,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1),%d1,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1),%a3,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1),%a3,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1),%d2,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1),%d2,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1),%a7,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1),%a7,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a2u,>>,(%a3),%d1,%acc1
+ mac.w %d6u,%a2u,>>,(%a3),%d1,%acc2
+ mac.w %d6u,%a2u,>>,(%a3),%a3,%acc1
+ mac.w %d6u,%a2u,>>,(%a3),%a3,%acc2
+ mac.w %d6u,%a2u,>>,(%a3),%d2,%acc1
+ mac.w %d6u,%a2u,>>,(%a3),%d2,%acc2
+ mac.w %d6u,%a2u,>>,(%a3),%a7,%acc1
+ mac.w %d6u,%a2u,>>,(%a3),%a7,%acc2
+ mac.w %d6u,%a2u,>>,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a2u,>>,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a2u,>>,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a2u,>>,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a2u,>>,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a2u,>>,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a2u,>>,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a2u,>>,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6),%d1,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6),%d1,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6),%a3,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6),%a3,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6),%d2,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6),%d2,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6),%a7,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6),%a7,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1),%d1,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1),%d1,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1),%a3,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1),%a3,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1),%d2,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1),%d2,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1),%a7,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1),%a7,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a2u,#1,(%a3),%d1,%acc1
+ mac.w %d6u,%a2u,#1,(%a3),%d1,%acc2
+ mac.w %d6u,%a2u,#1,(%a3),%a3,%acc1
+ mac.w %d6u,%a2u,#1,(%a3),%a3,%acc2
+ mac.w %d6u,%a2u,#1,(%a3),%d2,%acc1
+ mac.w %d6u,%a2u,#1,(%a3),%d2,%acc2
+ mac.w %d6u,%a2u,#1,(%a3),%a7,%acc1
+ mac.w %d6u,%a2u,#1,(%a3),%a7,%acc2
+ mac.w %d6u,%a2u,#1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a2u,#1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a2u,#1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a2u,#1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a2u,#1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a2u,#1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a2u,#1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a2u,#1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6),%d1,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6),%d1,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6),%a3,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6),%a3,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6),%d2,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6),%d2,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6),%a7,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6),%a7,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1),%d1,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1),%d1,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1),%a3,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1),%a3,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1),%d2,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1),%d2,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1),%a7,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1),%a7,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3),%d1,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3),%d1,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3),%a3,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3),%a3,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3),%d2,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3),%d2,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3),%a7,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3),%a7,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6),%d1,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6),%d1,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6),%a3,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6),%a3,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6),%d2,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6),%d2,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6),%a7,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6),%a7,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1),%d1,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1),%d1,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1),%a3,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1),%a3,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1),%d2,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1),%d2,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1),%a7,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1),%a7,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d3l,(%a3),%d1,%acc1
+ mac.w %d6u,%d3l,(%a3),%d1,%acc2
+ mac.w %d6u,%d3l,(%a3),%a3,%acc1
+ mac.w %d6u,%d3l,(%a3),%a3,%acc2
+ mac.w %d6u,%d3l,(%a3),%d2,%acc1
+ mac.w %d6u,%d3l,(%a3),%d2,%acc2
+ mac.w %d6u,%d3l,(%a3),%a7,%acc1
+ mac.w %d6u,%d3l,(%a3),%a7,%acc2
+ mac.w %d6u,%d3l,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d3l,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d3l,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d3l,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d3l,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d3l,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d3l,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d3l,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d3l,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d3l,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d3l,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d3l,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d3l,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d3l,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d3l,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d3l,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d3l,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d3l,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d3l,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d3l,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d3l,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d3l,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d3l,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d3l,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d3l,10(%a6),%d1,%acc1
+ mac.w %d6u,%d3l,10(%a6),%d1,%acc2
+ mac.w %d6u,%d3l,10(%a6),%a3,%acc1
+ mac.w %d6u,%d3l,10(%a6),%a3,%acc2
+ mac.w %d6u,%d3l,10(%a6),%d2,%acc1
+ mac.w %d6u,%d3l,10(%a6),%d2,%acc2
+ mac.w %d6u,%d3l,10(%a6),%a7,%acc1
+ mac.w %d6u,%d3l,10(%a6),%a7,%acc2
+ mac.w %d6u,%d3l,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d3l,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d3l,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d3l,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d3l,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d3l,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d3l,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d3l,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d3l,-(%a1),%d1,%acc1
+ mac.w %d6u,%d3l,-(%a1),%d1,%acc2
+ mac.w %d6u,%d3l,-(%a1),%a3,%acc1
+ mac.w %d6u,%d3l,-(%a1),%a3,%acc2
+ mac.w %d6u,%d3l,-(%a1),%d2,%acc1
+ mac.w %d6u,%d3l,-(%a1),%d2,%acc2
+ mac.w %d6u,%d3l,-(%a1),%a7,%acc1
+ mac.w %d6u,%d3l,-(%a1),%a7,%acc2
+ mac.w %d6u,%d3l,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d3l,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d3l,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d3l,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d3l,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d3l,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d3l,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d3l,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d3l,<<,(%a3),%d1,%acc1
+ mac.w %d6u,%d3l,<<,(%a3),%d1,%acc2
+ mac.w %d6u,%d3l,<<,(%a3),%a3,%acc1
+ mac.w %d6u,%d3l,<<,(%a3),%a3,%acc2
+ mac.w %d6u,%d3l,<<,(%a3),%d2,%acc1
+ mac.w %d6u,%d3l,<<,(%a3),%d2,%acc2
+ mac.w %d6u,%d3l,<<,(%a3),%a7,%acc1
+ mac.w %d6u,%d3l,<<,(%a3),%a7,%acc2
+ mac.w %d6u,%d3l,<<,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d3l,<<,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d3l,<<,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d3l,<<,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d3l,<<,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d3l,<<,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d3l,<<,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d3l,<<,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6),%d1,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6),%d1,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6),%a3,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6),%a3,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6),%d2,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6),%d2,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6),%a7,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6),%a7,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1),%d1,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1),%d1,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1),%a3,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1),%a3,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1),%d2,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1),%d2,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1),%a7,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1),%a7,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d3l,>>,(%a3),%d1,%acc1
+ mac.w %d6u,%d3l,>>,(%a3),%d1,%acc2
+ mac.w %d6u,%d3l,>>,(%a3),%a3,%acc1
+ mac.w %d6u,%d3l,>>,(%a3),%a3,%acc2
+ mac.w %d6u,%d3l,>>,(%a3),%d2,%acc1
+ mac.w %d6u,%d3l,>>,(%a3),%d2,%acc2
+ mac.w %d6u,%d3l,>>,(%a3),%a7,%acc1
+ mac.w %d6u,%d3l,>>,(%a3),%a7,%acc2
+ mac.w %d6u,%d3l,>>,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d3l,>>,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d3l,>>,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d3l,>>,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d3l,>>,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d3l,>>,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d3l,>>,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d3l,>>,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6),%d1,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6),%d1,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6),%a3,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6),%a3,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6),%d2,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6),%d2,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6),%a7,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6),%a7,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1),%d1,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1),%d1,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1),%a3,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1),%a3,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1),%d2,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1),%d2,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1),%a7,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1),%a7,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d3l,#1,(%a3),%d1,%acc1
+ mac.w %d6u,%d3l,#1,(%a3),%d1,%acc2
+ mac.w %d6u,%d3l,#1,(%a3),%a3,%acc1
+ mac.w %d6u,%d3l,#1,(%a3),%a3,%acc2
+ mac.w %d6u,%d3l,#1,(%a3),%d2,%acc1
+ mac.w %d6u,%d3l,#1,(%a3),%d2,%acc2
+ mac.w %d6u,%d3l,#1,(%a3),%a7,%acc1
+ mac.w %d6u,%d3l,#1,(%a3),%a7,%acc2
+ mac.w %d6u,%d3l,#1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d3l,#1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d3l,#1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d3l,#1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d3l,#1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d3l,#1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d3l,#1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d3l,#1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6),%d1,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6),%d1,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6),%a3,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6),%a3,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6),%d2,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6),%d2,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6),%a7,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6),%a7,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1),%d1,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1),%d1,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1),%a3,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1),%a3,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1),%d2,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1),%d2,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1),%a7,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1),%a7,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3),%d1,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3),%d1,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3),%a3,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3),%a3,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3),%d2,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3),%d2,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3),%a7,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3),%a7,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6),%d1,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6),%d1,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6),%a3,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6),%a3,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6),%d2,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6),%d2,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6),%a7,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6),%a7,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1),%d1,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1),%d1,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1),%a3,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1),%a3,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1),%d2,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1),%d2,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1),%a7,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1),%a7,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a7u,(%a3),%d1,%acc1
+ mac.w %d6u,%a7u,(%a3),%d1,%acc2
+ mac.w %d6u,%a7u,(%a3),%a3,%acc1
+ mac.w %d6u,%a7u,(%a3),%a3,%acc2
+ mac.w %d6u,%a7u,(%a3),%d2,%acc1
+ mac.w %d6u,%a7u,(%a3),%d2,%acc2
+ mac.w %d6u,%a7u,(%a3),%a7,%acc1
+ mac.w %d6u,%a7u,(%a3),%a7,%acc2
+ mac.w %d6u,%a7u,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a7u,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a7u,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a7u,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a7u,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a7u,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a7u,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a7u,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a7u,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a7u,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a7u,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a7u,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a7u,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a7u,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a7u,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a7u,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a7u,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a7u,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a7u,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a7u,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a7u,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a7u,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a7u,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a7u,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a7u,10(%a6),%d1,%acc1
+ mac.w %d6u,%a7u,10(%a6),%d1,%acc2
+ mac.w %d6u,%a7u,10(%a6),%a3,%acc1
+ mac.w %d6u,%a7u,10(%a6),%a3,%acc2
+ mac.w %d6u,%a7u,10(%a6),%d2,%acc1
+ mac.w %d6u,%a7u,10(%a6),%d2,%acc2
+ mac.w %d6u,%a7u,10(%a6),%a7,%acc1
+ mac.w %d6u,%a7u,10(%a6),%a7,%acc2
+ mac.w %d6u,%a7u,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a7u,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a7u,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a7u,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a7u,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a7u,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a7u,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a7u,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a7u,-(%a1),%d1,%acc1
+ mac.w %d6u,%a7u,-(%a1),%d1,%acc2
+ mac.w %d6u,%a7u,-(%a1),%a3,%acc1
+ mac.w %d6u,%a7u,-(%a1),%a3,%acc2
+ mac.w %d6u,%a7u,-(%a1),%d2,%acc1
+ mac.w %d6u,%a7u,-(%a1),%d2,%acc2
+ mac.w %d6u,%a7u,-(%a1),%a7,%acc1
+ mac.w %d6u,%a7u,-(%a1),%a7,%acc2
+ mac.w %d6u,%a7u,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a7u,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a7u,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a7u,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a7u,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a7u,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a7u,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a7u,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a7u,<<,(%a3),%d1,%acc1
+ mac.w %d6u,%a7u,<<,(%a3),%d1,%acc2
+ mac.w %d6u,%a7u,<<,(%a3),%a3,%acc1
+ mac.w %d6u,%a7u,<<,(%a3),%a3,%acc2
+ mac.w %d6u,%a7u,<<,(%a3),%d2,%acc1
+ mac.w %d6u,%a7u,<<,(%a3),%d2,%acc2
+ mac.w %d6u,%a7u,<<,(%a3),%a7,%acc1
+ mac.w %d6u,%a7u,<<,(%a3),%a7,%acc2
+ mac.w %d6u,%a7u,<<,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a7u,<<,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a7u,<<,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a7u,<<,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a7u,<<,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a7u,<<,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a7u,<<,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a7u,<<,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6),%d1,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6),%d1,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6),%a3,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6),%a3,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6),%d2,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6),%d2,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6),%a7,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6),%a7,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1),%d1,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1),%d1,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1),%a3,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1),%a3,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1),%d2,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1),%d2,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1),%a7,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1),%a7,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a7u,>>,(%a3),%d1,%acc1
+ mac.w %d6u,%a7u,>>,(%a3),%d1,%acc2
+ mac.w %d6u,%a7u,>>,(%a3),%a3,%acc1
+ mac.w %d6u,%a7u,>>,(%a3),%a3,%acc2
+ mac.w %d6u,%a7u,>>,(%a3),%d2,%acc1
+ mac.w %d6u,%a7u,>>,(%a3),%d2,%acc2
+ mac.w %d6u,%a7u,>>,(%a3),%a7,%acc1
+ mac.w %d6u,%a7u,>>,(%a3),%a7,%acc2
+ mac.w %d6u,%a7u,>>,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a7u,>>,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a7u,>>,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a7u,>>,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a7u,>>,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a7u,>>,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a7u,>>,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a7u,>>,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6),%d1,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6),%d1,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6),%a3,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6),%a3,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6),%d2,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6),%d2,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6),%a7,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6),%a7,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1),%d1,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1),%d1,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1),%a3,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1),%a3,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1),%d2,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1),%d2,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1),%a7,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1),%a7,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a7u,#1,(%a3),%d1,%acc1
+ mac.w %d6u,%a7u,#1,(%a3),%d1,%acc2
+ mac.w %d6u,%a7u,#1,(%a3),%a3,%acc1
+ mac.w %d6u,%a7u,#1,(%a3),%a3,%acc2
+ mac.w %d6u,%a7u,#1,(%a3),%d2,%acc1
+ mac.w %d6u,%a7u,#1,(%a3),%d2,%acc2
+ mac.w %d6u,%a7u,#1,(%a3),%a7,%acc1
+ mac.w %d6u,%a7u,#1,(%a3),%a7,%acc2
+ mac.w %d6u,%a7u,#1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a7u,#1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a7u,#1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a7u,#1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a7u,#1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a7u,#1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a7u,#1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a7u,#1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6),%d1,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6),%d1,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6),%a3,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6),%a3,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6),%d2,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6),%d2,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6),%a7,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6),%a7,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1),%d1,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1),%d1,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1),%a3,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1),%a3,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1),%d2,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1),%d2,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1),%a7,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1),%a7,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3),%d1,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3),%d1,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3),%a3,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3),%a3,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3),%d2,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3),%d2,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3),%a7,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3),%a7,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6),%d1,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6),%d1,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6),%a3,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6),%a3,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6),%d2,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6),%d2,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6),%a7,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6),%a7,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1),%d1,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1),%d1,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1),%a3,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1),%a3,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1),%d2,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1),%d2,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1),%a7,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1),%a7,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d1l,(%a3),%d1,%acc1
+ mac.w %d6u,%d1l,(%a3),%d1,%acc2
+ mac.w %d6u,%d1l,(%a3),%a3,%acc1
+ mac.w %d6u,%d1l,(%a3),%a3,%acc2
+ mac.w %d6u,%d1l,(%a3),%d2,%acc1
+ mac.w %d6u,%d1l,(%a3),%d2,%acc2
+ mac.w %d6u,%d1l,(%a3),%a7,%acc1
+ mac.w %d6u,%d1l,(%a3),%a7,%acc2
+ mac.w %d6u,%d1l,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d1l,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d1l,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d1l,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d1l,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d1l,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d1l,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d1l,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d1l,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d1l,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d1l,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d1l,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d1l,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d1l,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d1l,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d1l,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d1l,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d1l,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d1l,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d1l,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d1l,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d1l,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d1l,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d1l,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d1l,10(%a6),%d1,%acc1
+ mac.w %d6u,%d1l,10(%a6),%d1,%acc2
+ mac.w %d6u,%d1l,10(%a6),%a3,%acc1
+ mac.w %d6u,%d1l,10(%a6),%a3,%acc2
+ mac.w %d6u,%d1l,10(%a6),%d2,%acc1
+ mac.w %d6u,%d1l,10(%a6),%d2,%acc2
+ mac.w %d6u,%d1l,10(%a6),%a7,%acc1
+ mac.w %d6u,%d1l,10(%a6),%a7,%acc2
+ mac.w %d6u,%d1l,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d1l,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d1l,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d1l,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d1l,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d1l,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d1l,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d1l,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d1l,-(%a1),%d1,%acc1
+ mac.w %d6u,%d1l,-(%a1),%d1,%acc2
+ mac.w %d6u,%d1l,-(%a1),%a3,%acc1
+ mac.w %d6u,%d1l,-(%a1),%a3,%acc2
+ mac.w %d6u,%d1l,-(%a1),%d2,%acc1
+ mac.w %d6u,%d1l,-(%a1),%d2,%acc2
+ mac.w %d6u,%d1l,-(%a1),%a7,%acc1
+ mac.w %d6u,%d1l,-(%a1),%a7,%acc2
+ mac.w %d6u,%d1l,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d1l,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d1l,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d1l,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d1l,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d1l,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d1l,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d1l,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d1l,<<,(%a3),%d1,%acc1
+ mac.w %d6u,%d1l,<<,(%a3),%d1,%acc2
+ mac.w %d6u,%d1l,<<,(%a3),%a3,%acc1
+ mac.w %d6u,%d1l,<<,(%a3),%a3,%acc2
+ mac.w %d6u,%d1l,<<,(%a3),%d2,%acc1
+ mac.w %d6u,%d1l,<<,(%a3),%d2,%acc2
+ mac.w %d6u,%d1l,<<,(%a3),%a7,%acc1
+ mac.w %d6u,%d1l,<<,(%a3),%a7,%acc2
+ mac.w %d6u,%d1l,<<,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d1l,<<,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d1l,<<,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d1l,<<,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d1l,<<,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d1l,<<,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d1l,<<,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d1l,<<,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6),%d1,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6),%d1,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6),%a3,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6),%a3,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6),%d2,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6),%d2,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6),%a7,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6),%a7,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1),%d1,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1),%d1,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1),%a3,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1),%a3,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1),%d2,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1),%d2,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1),%a7,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1),%a7,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d1l,>>,(%a3),%d1,%acc1
+ mac.w %d6u,%d1l,>>,(%a3),%d1,%acc2
+ mac.w %d6u,%d1l,>>,(%a3),%a3,%acc1
+ mac.w %d6u,%d1l,>>,(%a3),%a3,%acc2
+ mac.w %d6u,%d1l,>>,(%a3),%d2,%acc1
+ mac.w %d6u,%d1l,>>,(%a3),%d2,%acc2
+ mac.w %d6u,%d1l,>>,(%a3),%a7,%acc1
+ mac.w %d6u,%d1l,>>,(%a3),%a7,%acc2
+ mac.w %d6u,%d1l,>>,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d1l,>>,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d1l,>>,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d1l,>>,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d1l,>>,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d1l,>>,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d1l,>>,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d1l,>>,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6),%d1,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6),%d1,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6),%a3,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6),%a3,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6),%d2,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6),%d2,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6),%a7,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6),%a7,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1),%d1,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1),%d1,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1),%a3,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1),%a3,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1),%d2,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1),%d2,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1),%a7,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1),%a7,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d1l,#1,(%a3),%d1,%acc1
+ mac.w %d6u,%d1l,#1,(%a3),%d1,%acc2
+ mac.w %d6u,%d1l,#1,(%a3),%a3,%acc1
+ mac.w %d6u,%d1l,#1,(%a3),%a3,%acc2
+ mac.w %d6u,%d1l,#1,(%a3),%d2,%acc1
+ mac.w %d6u,%d1l,#1,(%a3),%d2,%acc2
+ mac.w %d6u,%d1l,#1,(%a3),%a7,%acc1
+ mac.w %d6u,%d1l,#1,(%a3),%a7,%acc2
+ mac.w %d6u,%d1l,#1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d1l,#1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d1l,#1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d1l,#1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d1l,#1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d1l,#1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d1l,#1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d1l,#1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6),%d1,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6),%d1,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6),%a3,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6),%a3,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6),%d2,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6),%d2,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6),%a7,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6),%a7,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1),%d1,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1),%d1,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1),%a3,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1),%a3,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1),%d2,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1),%d2,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1),%a7,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1),%a7,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a7,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3),%d1,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3),%d1,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3),%a3,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3),%a3,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3),%d2,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3),%d2,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3),%a7,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3),%a7,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d1,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d1,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a3,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a3,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d2,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d2,%acc2
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a7,%acc1
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a7,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d1,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d1,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a3,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a3,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d2,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d2,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a7,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a7,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d1,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d1,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a3,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a3,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d2,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d2,%acc2
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a7,%acc1
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a7,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6),%d1,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6),%d1,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6),%a3,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6),%a3,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6),%d2,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6),%d2,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6),%a7,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6),%a7,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d1,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d1,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a3,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a3,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d2,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d2,%acc2
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a7,%acc1
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a7,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1),%d1,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1),%d1,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1),%a3,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1),%a3,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1),%d2,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1),%d2,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1),%a7,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1),%a7,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d1,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d1,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a3,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a3,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d2,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d2,%acc2
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a7,%acc1
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a7,%acc2
+
+ mac.l %a1,%a3,%acc1
+ mac.l %a1,%a3,%acc2
+ mac.l %a1,%a3,<<,%acc1
+ mac.l %a1,%a3,<<,%acc2
+ mac.l %a1,%a3,>>,%acc1
+ mac.l %a1,%a3,>>,%acc2
+ mac.l %a1,%a3,#1,%acc1
+ mac.l %a1,%a3,#1,%acc2
+ mac.l %a1,%a3,#-1,%acc1
+ mac.l %a1,%a3,#-1,%acc2
+ mac.l %a1,%d4,%acc1
+ mac.l %a1,%d4,%acc2
+ mac.l %a1,%d4,<<,%acc1
+ mac.l %a1,%d4,<<,%acc2
+ mac.l %a1,%d4,>>,%acc1
+ mac.l %a1,%d4,>>,%acc2
+ mac.l %a1,%d4,#1,%acc1
+ mac.l %a1,%d4,#1,%acc2
+ mac.l %a1,%d4,#-1,%acc1
+ mac.l %a1,%d4,#-1,%acc2
+ mac.l %d6,%a3,%acc1
+ mac.l %d6,%a3,%acc2
+ mac.l %d6,%a3,<<,%acc1
+ mac.l %d6,%a3,<<,%acc2
+ mac.l %d6,%a3,>>,%acc1
+ mac.l %d6,%a3,>>,%acc2
+ mac.l %d6,%a3,#1,%acc1
+ mac.l %d6,%a3,#1,%acc2
+ mac.l %d6,%a3,#-1,%acc1
+ mac.l %d6,%a3,#-1,%acc2
+ mac.l %d6,%d4,%acc1
+ mac.l %d6,%d4,%acc2
+ mac.l %d6,%d4,<<,%acc1
+ mac.l %d6,%d4,<<,%acc2
+ mac.l %d6,%d4,>>,%acc1
+ mac.l %d6,%d4,>>,%acc2
+ mac.l %d6,%d4,#1,%acc1
+ mac.l %d6,%d4,#1,%acc2
+ mac.l %d6,%d4,#-1,%acc1
+ mac.l %d6,%d4,#-1,%acc2
+
+ mac.l %a1,%a3,(%a3),%d1,%acc1
+ mac.l %a1,%a3,(%a3),%d1,%acc2
+ mac.l %a1,%a3,(%a3),%a3,%acc1
+ mac.l %a1,%a3,(%a3),%a3,%acc2
+ mac.l %a1,%a3,(%a3),%d2,%acc1
+ mac.l %a1,%a3,(%a3),%d2,%acc2
+ mac.l %a1,%a3,(%a3),%a7,%acc1
+ mac.l %a1,%a3,(%a3),%a7,%acc2
+ mac.l %a1,%a3,(%a3)&,%d1,%acc1
+ mac.l %a1,%a3,(%a3)&,%d1,%acc2
+ mac.l %a1,%a3,(%a3)&,%a3,%acc1
+ mac.l %a1,%a3,(%a3)&,%a3,%acc2
+ mac.l %a1,%a3,(%a3)&,%d2,%acc1
+ mac.l %a1,%a3,(%a3)&,%d2,%acc2
+ mac.l %a1,%a3,(%a3)&,%a7,%acc1
+ mac.l %a1,%a3,(%a3)&,%a7,%acc2
+ mac.l %a1,%a3,(%a2)+,%d1,%acc1
+ mac.l %a1,%a3,(%a2)+,%d1,%acc2
+ mac.l %a1,%a3,(%a2)+,%a3,%acc1
+ mac.l %a1,%a3,(%a2)+,%a3,%acc2
+ mac.l %a1,%a3,(%a2)+,%d2,%acc1
+ mac.l %a1,%a3,(%a2)+,%d2,%acc2
+ mac.l %a1,%a3,(%a2)+,%a7,%acc1
+ mac.l %a1,%a3,(%a2)+,%a7,%acc2
+ mac.l %a1,%a3,(%a2)+&,%d1,%acc1
+ mac.l %a1,%a3,(%a2)+&,%d1,%acc2
+ mac.l %a1,%a3,(%a2)+&,%a3,%acc1
+ mac.l %a1,%a3,(%a2)+&,%a3,%acc2
+ mac.l %a1,%a3,(%a2)+&,%d2,%acc1
+ mac.l %a1,%a3,(%a2)+&,%d2,%acc2
+ mac.l %a1,%a3,(%a2)+&,%a7,%acc1
+ mac.l %a1,%a3,(%a2)+&,%a7,%acc2
+ mac.l %a1,%a3,10(%a6),%d1,%acc1
+ mac.l %a1,%a3,10(%a6),%d1,%acc2
+ mac.l %a1,%a3,10(%a6),%a3,%acc1
+ mac.l %a1,%a3,10(%a6),%a3,%acc2
+ mac.l %a1,%a3,10(%a6),%d2,%acc1
+ mac.l %a1,%a3,10(%a6),%d2,%acc2
+ mac.l %a1,%a3,10(%a6),%a7,%acc1
+ mac.l %a1,%a3,10(%a6),%a7,%acc2
+ mac.l %a1,%a3,10(%a6)&,%d1,%acc1
+ mac.l %a1,%a3,10(%a6)&,%d1,%acc2
+ mac.l %a1,%a3,10(%a6)&,%a3,%acc1
+ mac.l %a1,%a3,10(%a6)&,%a3,%acc2
+ mac.l %a1,%a3,10(%a6)&,%d2,%acc1
+ mac.l %a1,%a3,10(%a6)&,%d2,%acc2
+ mac.l %a1,%a3,10(%a6)&,%a7,%acc1
+ mac.l %a1,%a3,10(%a6)&,%a7,%acc2
+ mac.l %a1,%a3,-(%a1),%d1,%acc1
+ mac.l %a1,%a3,-(%a1),%d1,%acc2
+ mac.l %a1,%a3,-(%a1),%a3,%acc1
+ mac.l %a1,%a3,-(%a1),%a3,%acc2
+ mac.l %a1,%a3,-(%a1),%d2,%acc1
+ mac.l %a1,%a3,-(%a1),%d2,%acc2
+ mac.l %a1,%a3,-(%a1),%a7,%acc1
+ mac.l %a1,%a3,-(%a1),%a7,%acc2
+ mac.l %a1,%a3,-(%a1)&,%d1,%acc1
+ mac.l %a1,%a3,-(%a1)&,%d1,%acc2
+ mac.l %a1,%a3,-(%a1)&,%a3,%acc1
+ mac.l %a1,%a3,-(%a1)&,%a3,%acc2
+ mac.l %a1,%a3,-(%a1)&,%d2,%acc1
+ mac.l %a1,%a3,-(%a1)&,%d2,%acc2
+ mac.l %a1,%a3,-(%a1)&,%a7,%acc1
+ mac.l %a1,%a3,-(%a1)&,%a7,%acc2
+ mac.l %a1,%a3,<<,(%a3),%d1,%acc1
+ mac.l %a1,%a3,<<,(%a3),%d1,%acc2
+ mac.l %a1,%a3,<<,(%a3),%a3,%acc1
+ mac.l %a1,%a3,<<,(%a3),%a3,%acc2
+ mac.l %a1,%a3,<<,(%a3),%d2,%acc1
+ mac.l %a1,%a3,<<,(%a3),%d2,%acc2
+ mac.l %a1,%a3,<<,(%a3),%a7,%acc1
+ mac.l %a1,%a3,<<,(%a3),%a7,%acc2
+ mac.l %a1,%a3,<<,(%a3)&,%d1,%acc1
+ mac.l %a1,%a3,<<,(%a3)&,%d1,%acc2
+ mac.l %a1,%a3,<<,(%a3)&,%a3,%acc1
+ mac.l %a1,%a3,<<,(%a3)&,%a3,%acc2
+ mac.l %a1,%a3,<<,(%a3)&,%d2,%acc1
+ mac.l %a1,%a3,<<,(%a3)&,%d2,%acc2
+ mac.l %a1,%a3,<<,(%a3)&,%a7,%acc1
+ mac.l %a1,%a3,<<,(%a3)&,%a7,%acc2
+ mac.l %a1,%a3,<<,(%a2)+,%d1,%acc1
+ mac.l %a1,%a3,<<,(%a2)+,%d1,%acc2
+ mac.l %a1,%a3,<<,(%a2)+,%a3,%acc1
+ mac.l %a1,%a3,<<,(%a2)+,%a3,%acc2
+ mac.l %a1,%a3,<<,(%a2)+,%d2,%acc1
+ mac.l %a1,%a3,<<,(%a2)+,%d2,%acc2
+ mac.l %a1,%a3,<<,(%a2)+,%a7,%acc1
+ mac.l %a1,%a3,<<,(%a2)+,%a7,%acc2
+ mac.l %a1,%a3,<<,(%a2)+&,%d1,%acc1
+ mac.l %a1,%a3,<<,(%a2)+&,%d1,%acc2
+ mac.l %a1,%a3,<<,(%a2)+&,%a3,%acc1
+ mac.l %a1,%a3,<<,(%a2)+&,%a3,%acc2
+ mac.l %a1,%a3,<<,(%a2)+&,%d2,%acc1
+ mac.l %a1,%a3,<<,(%a2)+&,%d2,%acc2
+ mac.l %a1,%a3,<<,(%a2)+&,%a7,%acc1
+ mac.l %a1,%a3,<<,(%a2)+&,%a7,%acc2
+ mac.l %a1,%a3,<<,10(%a6),%d1,%acc1
+ mac.l %a1,%a3,<<,10(%a6),%d1,%acc2
+ mac.l %a1,%a3,<<,10(%a6),%a3,%acc1
+ mac.l %a1,%a3,<<,10(%a6),%a3,%acc2
+ mac.l %a1,%a3,<<,10(%a6),%d2,%acc1
+ mac.l %a1,%a3,<<,10(%a6),%d2,%acc2
+ mac.l %a1,%a3,<<,10(%a6),%a7,%acc1
+ mac.l %a1,%a3,<<,10(%a6),%a7,%acc2
+ mac.l %a1,%a3,<<,10(%a6)&,%d1,%acc1
+ mac.l %a1,%a3,<<,10(%a6)&,%d1,%acc2
+ mac.l %a1,%a3,<<,10(%a6)&,%a3,%acc1
+ mac.l %a1,%a3,<<,10(%a6)&,%a3,%acc2
+ mac.l %a1,%a3,<<,10(%a6)&,%d2,%acc1
+ mac.l %a1,%a3,<<,10(%a6)&,%d2,%acc2
+ mac.l %a1,%a3,<<,10(%a6)&,%a7,%acc1
+ mac.l %a1,%a3,<<,10(%a6)&,%a7,%acc2
+ mac.l %a1,%a3,<<,-(%a1),%d1,%acc1
+ mac.l %a1,%a3,<<,-(%a1),%d1,%acc2
+ mac.l %a1,%a3,<<,-(%a1),%a3,%acc1
+ mac.l %a1,%a3,<<,-(%a1),%a3,%acc2
+ mac.l %a1,%a3,<<,-(%a1),%d2,%acc1
+ mac.l %a1,%a3,<<,-(%a1),%d2,%acc2
+ mac.l %a1,%a3,<<,-(%a1),%a7,%acc1
+ mac.l %a1,%a3,<<,-(%a1),%a7,%acc2
+ mac.l %a1,%a3,<<,-(%a1)&,%d1,%acc1
+ mac.l %a1,%a3,<<,-(%a1)&,%d1,%acc2
+ mac.l %a1,%a3,<<,-(%a1)&,%a3,%acc1
+ mac.l %a1,%a3,<<,-(%a1)&,%a3,%acc2
+ mac.l %a1,%a3,<<,-(%a1)&,%d2,%acc1
+ mac.l %a1,%a3,<<,-(%a1)&,%d2,%acc2
+ mac.l %a1,%a3,<<,-(%a1)&,%a7,%acc1
+ mac.l %a1,%a3,<<,-(%a1)&,%a7,%acc2
+ mac.l %a1,%a3,>>,(%a3),%d1,%acc1
+ mac.l %a1,%a3,>>,(%a3),%d1,%acc2
+ mac.l %a1,%a3,>>,(%a3),%a3,%acc1
+ mac.l %a1,%a3,>>,(%a3),%a3,%acc2
+ mac.l %a1,%a3,>>,(%a3),%d2,%acc1
+ mac.l %a1,%a3,>>,(%a3),%d2,%acc2
+ mac.l %a1,%a3,>>,(%a3),%a7,%acc1
+ mac.l %a1,%a3,>>,(%a3),%a7,%acc2
+ mac.l %a1,%a3,>>,(%a3)&,%d1,%acc1
+ mac.l %a1,%a3,>>,(%a3)&,%d1,%acc2
+ mac.l %a1,%a3,>>,(%a3)&,%a3,%acc1
+ mac.l %a1,%a3,>>,(%a3)&,%a3,%acc2
+ mac.l %a1,%a3,>>,(%a3)&,%d2,%acc1
+ mac.l %a1,%a3,>>,(%a3)&,%d2,%acc2
+ mac.l %a1,%a3,>>,(%a3)&,%a7,%acc1
+ mac.l %a1,%a3,>>,(%a3)&,%a7,%acc2
+ mac.l %a1,%a3,>>,(%a2)+,%d1,%acc1
+ mac.l %a1,%a3,>>,(%a2)+,%d1,%acc2
+ mac.l %a1,%a3,>>,(%a2)+,%a3,%acc1
+ mac.l %a1,%a3,>>,(%a2)+,%a3,%acc2
+ mac.l %a1,%a3,>>,(%a2)+,%d2,%acc1
+ mac.l %a1,%a3,>>,(%a2)+,%d2,%acc2
+ mac.l %a1,%a3,>>,(%a2)+,%a7,%acc1
+ mac.l %a1,%a3,>>,(%a2)+,%a7,%acc2
+ mac.l %a1,%a3,>>,(%a2)+&,%d1,%acc1
+ mac.l %a1,%a3,>>,(%a2)+&,%d1,%acc2
+ mac.l %a1,%a3,>>,(%a2)+&,%a3,%acc1
+ mac.l %a1,%a3,>>,(%a2)+&,%a3,%acc2
+ mac.l %a1,%a3,>>,(%a2)+&,%d2,%acc1
+ mac.l %a1,%a3,>>,(%a2)+&,%d2,%acc2
+ mac.l %a1,%a3,>>,(%a2)+&,%a7,%acc1
+ mac.l %a1,%a3,>>,(%a2)+&,%a7,%acc2
+ mac.l %a1,%a3,>>,10(%a6),%d1,%acc1
+ mac.l %a1,%a3,>>,10(%a6),%d1,%acc2
+ mac.l %a1,%a3,>>,10(%a6),%a3,%acc1
+ mac.l %a1,%a3,>>,10(%a6),%a3,%acc2
+ mac.l %a1,%a3,>>,10(%a6),%d2,%acc1
+ mac.l %a1,%a3,>>,10(%a6),%d2,%acc2
+ mac.l %a1,%a3,>>,10(%a6),%a7,%acc1
+ mac.l %a1,%a3,>>,10(%a6),%a7,%acc2
+ mac.l %a1,%a3,>>,10(%a6)&,%d1,%acc1
+ mac.l %a1,%a3,>>,10(%a6)&,%d1,%acc2
+ mac.l %a1,%a3,>>,10(%a6)&,%a3,%acc1
+ mac.l %a1,%a3,>>,10(%a6)&,%a3,%acc2
+ mac.l %a1,%a3,>>,10(%a6)&,%d2,%acc1
+ mac.l %a1,%a3,>>,10(%a6)&,%d2,%acc2
+ mac.l %a1,%a3,>>,10(%a6)&,%a7,%acc1
+ mac.l %a1,%a3,>>,10(%a6)&,%a7,%acc2
+ mac.l %a1,%a3,>>,-(%a1),%d1,%acc1
+ mac.l %a1,%a3,>>,-(%a1),%d1,%acc2
+ mac.l %a1,%a3,>>,-(%a1),%a3,%acc1
+ mac.l %a1,%a3,>>,-(%a1),%a3,%acc2
+ mac.l %a1,%a3,>>,-(%a1),%d2,%acc1
+ mac.l %a1,%a3,>>,-(%a1),%d2,%acc2
+ mac.l %a1,%a3,>>,-(%a1),%a7,%acc1
+ mac.l %a1,%a3,>>,-(%a1),%a7,%acc2
+ mac.l %a1,%a3,>>,-(%a1)&,%d1,%acc1
+ mac.l %a1,%a3,>>,-(%a1)&,%d1,%acc2
+ mac.l %a1,%a3,>>,-(%a1)&,%a3,%acc1
+ mac.l %a1,%a3,>>,-(%a1)&,%a3,%acc2
+ mac.l %a1,%a3,>>,-(%a1)&,%d2,%acc1
+ mac.l %a1,%a3,>>,-(%a1)&,%d2,%acc2
+ mac.l %a1,%a3,>>,-(%a1)&,%a7,%acc1
+ mac.l %a1,%a3,>>,-(%a1)&,%a7,%acc2
+ mac.l %a1,%a3,#1,(%a3),%d1,%acc1
+ mac.l %a1,%a3,#1,(%a3),%d1,%acc2
+ mac.l %a1,%a3,#1,(%a3),%a3,%acc1
+ mac.l %a1,%a3,#1,(%a3),%a3,%acc2
+ mac.l %a1,%a3,#1,(%a3),%d2,%acc1
+ mac.l %a1,%a3,#1,(%a3),%d2,%acc2
+ mac.l %a1,%a3,#1,(%a3),%a7,%acc1
+ mac.l %a1,%a3,#1,(%a3),%a7,%acc2
+ mac.l %a1,%a3,#1,(%a3)&,%d1,%acc1
+ mac.l %a1,%a3,#1,(%a3)&,%d1,%acc2
+ mac.l %a1,%a3,#1,(%a3)&,%a3,%acc1
+ mac.l %a1,%a3,#1,(%a3)&,%a3,%acc2
+ mac.l %a1,%a3,#1,(%a3)&,%d2,%acc1
+ mac.l %a1,%a3,#1,(%a3)&,%d2,%acc2
+ mac.l %a1,%a3,#1,(%a3)&,%a7,%acc1
+ mac.l %a1,%a3,#1,(%a3)&,%a7,%acc2
+ mac.l %a1,%a3,#1,(%a2)+,%d1,%acc1
+ mac.l %a1,%a3,#1,(%a2)+,%d1,%acc2
+ mac.l %a1,%a3,#1,(%a2)+,%a3,%acc1
+ mac.l %a1,%a3,#1,(%a2)+,%a3,%acc2
+ mac.l %a1,%a3,#1,(%a2)+,%d2,%acc1
+ mac.l %a1,%a3,#1,(%a2)+,%d2,%acc2
+ mac.l %a1,%a3,#1,(%a2)+,%a7,%acc1
+ mac.l %a1,%a3,#1,(%a2)+,%a7,%acc2
+ mac.l %a1,%a3,#1,(%a2)+&,%d1,%acc1
+ mac.l %a1,%a3,#1,(%a2)+&,%d1,%acc2
+ mac.l %a1,%a3,#1,(%a2)+&,%a3,%acc1
+ mac.l %a1,%a3,#1,(%a2)+&,%a3,%acc2
+ mac.l %a1,%a3,#1,(%a2)+&,%d2,%acc1
+ mac.l %a1,%a3,#1,(%a2)+&,%d2,%acc2
+ mac.l %a1,%a3,#1,(%a2)+&,%a7,%acc1
+ mac.l %a1,%a3,#1,(%a2)+&,%a7,%acc2
+ mac.l %a1,%a3,#1,10(%a6),%d1,%acc1
+ mac.l %a1,%a3,#1,10(%a6),%d1,%acc2
+ mac.l %a1,%a3,#1,10(%a6),%a3,%acc1
+ mac.l %a1,%a3,#1,10(%a6),%a3,%acc2
+ mac.l %a1,%a3,#1,10(%a6),%d2,%acc1
+ mac.l %a1,%a3,#1,10(%a6),%d2,%acc2
+ mac.l %a1,%a3,#1,10(%a6),%a7,%acc1
+ mac.l %a1,%a3,#1,10(%a6),%a7,%acc2
+ mac.l %a1,%a3,#1,10(%a6)&,%d1,%acc1
+ mac.l %a1,%a3,#1,10(%a6)&,%d1,%acc2
+ mac.l %a1,%a3,#1,10(%a6)&,%a3,%acc1
+ mac.l %a1,%a3,#1,10(%a6)&,%a3,%acc2
+ mac.l %a1,%a3,#1,10(%a6)&,%d2,%acc1
+ mac.l %a1,%a3,#1,10(%a6)&,%d2,%acc2
+ mac.l %a1,%a3,#1,10(%a6)&,%a7,%acc1
+ mac.l %a1,%a3,#1,10(%a6)&,%a7,%acc2
+ mac.l %a1,%a3,#1,-(%a1),%d1,%acc1
+ mac.l %a1,%a3,#1,-(%a1),%d1,%acc2
+ mac.l %a1,%a3,#1,-(%a1),%a3,%acc1
+ mac.l %a1,%a3,#1,-(%a1),%a3,%acc2
+ mac.l %a1,%a3,#1,-(%a1),%d2,%acc1
+ mac.l %a1,%a3,#1,-(%a1),%d2,%acc2
+ mac.l %a1,%a3,#1,-(%a1),%a7,%acc1
+ mac.l %a1,%a3,#1,-(%a1),%a7,%acc2
+ mac.l %a1,%a3,#1,-(%a1)&,%d1,%acc1
+ mac.l %a1,%a3,#1,-(%a1)&,%d1,%acc2
+ mac.l %a1,%a3,#1,-(%a1)&,%a3,%acc1
+ mac.l %a1,%a3,#1,-(%a1)&,%a3,%acc2
+ mac.l %a1,%a3,#1,-(%a1)&,%d2,%acc1
+ mac.l %a1,%a3,#1,-(%a1)&,%d2,%acc2
+ mac.l %a1,%a3,#1,-(%a1)&,%a7,%acc1
+ mac.l %a1,%a3,#1,-(%a1)&,%a7,%acc2
+ mac.l %a1,%a3,#-1,(%a3),%d1,%acc1
+ mac.l %a1,%a3,#-1,(%a3),%d1,%acc2
+ mac.l %a1,%a3,#-1,(%a3),%a3,%acc1
+ mac.l %a1,%a3,#-1,(%a3),%a3,%acc2
+ mac.l %a1,%a3,#-1,(%a3),%d2,%acc1
+ mac.l %a1,%a3,#-1,(%a3),%d2,%acc2
+ mac.l %a1,%a3,#-1,(%a3),%a7,%acc1
+ mac.l %a1,%a3,#-1,(%a3),%a7,%acc2
+ mac.l %a1,%a3,#-1,(%a3)&,%d1,%acc1
+ mac.l %a1,%a3,#-1,(%a3)&,%d1,%acc2
+ mac.l %a1,%a3,#-1,(%a3)&,%a3,%acc1
+ mac.l %a1,%a3,#-1,(%a3)&,%a3,%acc2
+ mac.l %a1,%a3,#-1,(%a3)&,%d2,%acc1
+ mac.l %a1,%a3,#-1,(%a3)&,%d2,%acc2
+ mac.l %a1,%a3,#-1,(%a3)&,%a7,%acc1
+ mac.l %a1,%a3,#-1,(%a3)&,%a7,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+,%d1,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+,%d1,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+,%a3,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+,%a3,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+,%d2,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+,%d2,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+,%a7,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+,%a7,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+&,%d1,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+&,%d1,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+&,%a3,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+&,%a3,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+&,%d2,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+&,%d2,%acc2
+ mac.l %a1,%a3,#-1,(%a2)+&,%a7,%acc1
+ mac.l %a1,%a3,#-1,(%a2)+&,%a7,%acc2
+ mac.l %a1,%a3,#-1,10(%a6),%d1,%acc1
+ mac.l %a1,%a3,#-1,10(%a6),%d1,%acc2
+ mac.l %a1,%a3,#-1,10(%a6),%a3,%acc1
+ mac.l %a1,%a3,#-1,10(%a6),%a3,%acc2
+ mac.l %a1,%a3,#-1,10(%a6),%d2,%acc1
+ mac.l %a1,%a3,#-1,10(%a6),%d2,%acc2
+ mac.l %a1,%a3,#-1,10(%a6),%a7,%acc1
+ mac.l %a1,%a3,#-1,10(%a6),%a7,%acc2
+ mac.l %a1,%a3,#-1,10(%a6)&,%d1,%acc1
+ mac.l %a1,%a3,#-1,10(%a6)&,%d1,%acc2
+ mac.l %a1,%a3,#-1,10(%a6)&,%a3,%acc1
+ mac.l %a1,%a3,#-1,10(%a6)&,%a3,%acc2
+ mac.l %a1,%a3,#-1,10(%a6)&,%d2,%acc1
+ mac.l %a1,%a3,#-1,10(%a6)&,%d2,%acc2
+ mac.l %a1,%a3,#-1,10(%a6)&,%a7,%acc1
+ mac.l %a1,%a3,#-1,10(%a6)&,%a7,%acc2
+ mac.l %a1,%a3,#-1,-(%a1),%d1,%acc1
+ mac.l %a1,%a3,#-1,-(%a1),%d1,%acc2
+ mac.l %a1,%a3,#-1,-(%a1),%a3,%acc1
+ mac.l %a1,%a3,#-1,-(%a1),%a3,%acc2
+ mac.l %a1,%a3,#-1,-(%a1),%d2,%acc1
+ mac.l %a1,%a3,#-1,-(%a1),%d2,%acc2
+ mac.l %a1,%a3,#-1,-(%a1),%a7,%acc1
+ mac.l %a1,%a3,#-1,-(%a1),%a7,%acc2
+ mac.l %a1,%a3,#-1,-(%a1)&,%d1,%acc1
+ mac.l %a1,%a3,#-1,-(%a1)&,%d1,%acc2
+ mac.l %a1,%a3,#-1,-(%a1)&,%a3,%acc1
+ mac.l %a1,%a3,#-1,-(%a1)&,%a3,%acc2
+ mac.l %a1,%a3,#-1,-(%a1)&,%d2,%acc1
+ mac.l %a1,%a3,#-1,-(%a1)&,%d2,%acc2
+ mac.l %a1,%a3,#-1,-(%a1)&,%a7,%acc1
+ mac.l %a1,%a3,#-1,-(%a1)&,%a7,%acc2
+ mac.l %a1,%d4,(%a3),%d1,%acc1
+ mac.l %a1,%d4,(%a3),%d1,%acc2
+ mac.l %a1,%d4,(%a3),%a3,%acc1
+ mac.l %a1,%d4,(%a3),%a3,%acc2
+ mac.l %a1,%d4,(%a3),%d2,%acc1
+ mac.l %a1,%d4,(%a3),%d2,%acc2
+ mac.l %a1,%d4,(%a3),%a7,%acc1
+ mac.l %a1,%d4,(%a3),%a7,%acc2
+ mac.l %a1,%d4,(%a3)&,%d1,%acc1
+ mac.l %a1,%d4,(%a3)&,%d1,%acc2
+ mac.l %a1,%d4,(%a3)&,%a3,%acc1
+ mac.l %a1,%d4,(%a3)&,%a3,%acc2
+ mac.l %a1,%d4,(%a3)&,%d2,%acc1
+ mac.l %a1,%d4,(%a3)&,%d2,%acc2
+ mac.l %a1,%d4,(%a3)&,%a7,%acc1
+ mac.l %a1,%d4,(%a3)&,%a7,%acc2
+ mac.l %a1,%d4,(%a2)+,%d1,%acc1
+ mac.l %a1,%d4,(%a2)+,%d1,%acc2
+ mac.l %a1,%d4,(%a2)+,%a3,%acc1
+ mac.l %a1,%d4,(%a2)+,%a3,%acc2
+ mac.l %a1,%d4,(%a2)+,%d2,%acc1
+ mac.l %a1,%d4,(%a2)+,%d2,%acc2
+ mac.l %a1,%d4,(%a2)+,%a7,%acc1
+ mac.l %a1,%d4,(%a2)+,%a7,%acc2
+ mac.l %a1,%d4,(%a2)+&,%d1,%acc1
+ mac.l %a1,%d4,(%a2)+&,%d1,%acc2
+ mac.l %a1,%d4,(%a2)+&,%a3,%acc1
+ mac.l %a1,%d4,(%a2)+&,%a3,%acc2
+ mac.l %a1,%d4,(%a2)+&,%d2,%acc1
+ mac.l %a1,%d4,(%a2)+&,%d2,%acc2
+ mac.l %a1,%d4,(%a2)+&,%a7,%acc1
+ mac.l %a1,%d4,(%a2)+&,%a7,%acc2
+ mac.l %a1,%d4,10(%a6),%d1,%acc1
+ mac.l %a1,%d4,10(%a6),%d1,%acc2
+ mac.l %a1,%d4,10(%a6),%a3,%acc1
+ mac.l %a1,%d4,10(%a6),%a3,%acc2
+ mac.l %a1,%d4,10(%a6),%d2,%acc1
+ mac.l %a1,%d4,10(%a6),%d2,%acc2
+ mac.l %a1,%d4,10(%a6),%a7,%acc1
+ mac.l %a1,%d4,10(%a6),%a7,%acc2
+ mac.l %a1,%d4,10(%a6)&,%d1,%acc1
+ mac.l %a1,%d4,10(%a6)&,%d1,%acc2
+ mac.l %a1,%d4,10(%a6)&,%a3,%acc1
+ mac.l %a1,%d4,10(%a6)&,%a3,%acc2
+ mac.l %a1,%d4,10(%a6)&,%d2,%acc1
+ mac.l %a1,%d4,10(%a6)&,%d2,%acc2
+ mac.l %a1,%d4,10(%a6)&,%a7,%acc1
+ mac.l %a1,%d4,10(%a6)&,%a7,%acc2
+ mac.l %a1,%d4,-(%a1),%d1,%acc1
+ mac.l %a1,%d4,-(%a1),%d1,%acc2
+ mac.l %a1,%d4,-(%a1),%a3,%acc1
+ mac.l %a1,%d4,-(%a1),%a3,%acc2
+ mac.l %a1,%d4,-(%a1),%d2,%acc1
+ mac.l %a1,%d4,-(%a1),%d2,%acc2
+ mac.l %a1,%d4,-(%a1),%a7,%acc1
+ mac.l %a1,%d4,-(%a1),%a7,%acc2
+ mac.l %a1,%d4,-(%a1)&,%d1,%acc1
+ mac.l %a1,%d4,-(%a1)&,%d1,%acc2
+ mac.l %a1,%d4,-(%a1)&,%a3,%acc1
+ mac.l %a1,%d4,-(%a1)&,%a3,%acc2
+ mac.l %a1,%d4,-(%a1)&,%d2,%acc1
+ mac.l %a1,%d4,-(%a1)&,%d2,%acc2
+ mac.l %a1,%d4,-(%a1)&,%a7,%acc1
+ mac.l %a1,%d4,-(%a1)&,%a7,%acc2
+ mac.l %a1,%d4,<<,(%a3),%d1,%acc1
+ mac.l %a1,%d4,<<,(%a3),%d1,%acc2
+ mac.l %a1,%d4,<<,(%a3),%a3,%acc1
+ mac.l %a1,%d4,<<,(%a3),%a3,%acc2
+ mac.l %a1,%d4,<<,(%a3),%d2,%acc1
+ mac.l %a1,%d4,<<,(%a3),%d2,%acc2
+ mac.l %a1,%d4,<<,(%a3),%a7,%acc1
+ mac.l %a1,%d4,<<,(%a3),%a7,%acc2
+ mac.l %a1,%d4,<<,(%a3)&,%d1,%acc1
+ mac.l %a1,%d4,<<,(%a3)&,%d1,%acc2
+ mac.l %a1,%d4,<<,(%a3)&,%a3,%acc1
+ mac.l %a1,%d4,<<,(%a3)&,%a3,%acc2
+ mac.l %a1,%d4,<<,(%a3)&,%d2,%acc1
+ mac.l %a1,%d4,<<,(%a3)&,%d2,%acc2
+ mac.l %a1,%d4,<<,(%a3)&,%a7,%acc1
+ mac.l %a1,%d4,<<,(%a3)&,%a7,%acc2
+ mac.l %a1,%d4,<<,(%a2)+,%d1,%acc1
+ mac.l %a1,%d4,<<,(%a2)+,%d1,%acc2
+ mac.l %a1,%d4,<<,(%a2)+,%a3,%acc1
+ mac.l %a1,%d4,<<,(%a2)+,%a3,%acc2
+ mac.l %a1,%d4,<<,(%a2)+,%d2,%acc1
+ mac.l %a1,%d4,<<,(%a2)+,%d2,%acc2
+ mac.l %a1,%d4,<<,(%a2)+,%a7,%acc1
+ mac.l %a1,%d4,<<,(%a2)+,%a7,%acc2
+ mac.l %a1,%d4,<<,(%a2)+&,%d1,%acc1
+ mac.l %a1,%d4,<<,(%a2)+&,%d1,%acc2
+ mac.l %a1,%d4,<<,(%a2)+&,%a3,%acc1
+ mac.l %a1,%d4,<<,(%a2)+&,%a3,%acc2
+ mac.l %a1,%d4,<<,(%a2)+&,%d2,%acc1
+ mac.l %a1,%d4,<<,(%a2)+&,%d2,%acc2
+ mac.l %a1,%d4,<<,(%a2)+&,%a7,%acc1
+ mac.l %a1,%d4,<<,(%a2)+&,%a7,%acc2
+ mac.l %a1,%d4,<<,10(%a6),%d1,%acc1
+ mac.l %a1,%d4,<<,10(%a6),%d1,%acc2
+ mac.l %a1,%d4,<<,10(%a6),%a3,%acc1
+ mac.l %a1,%d4,<<,10(%a6),%a3,%acc2
+ mac.l %a1,%d4,<<,10(%a6),%d2,%acc1
+ mac.l %a1,%d4,<<,10(%a6),%d2,%acc2
+ mac.l %a1,%d4,<<,10(%a6),%a7,%acc1
+ mac.l %a1,%d4,<<,10(%a6),%a7,%acc2
+ mac.l %a1,%d4,<<,10(%a6)&,%d1,%acc1
+ mac.l %a1,%d4,<<,10(%a6)&,%d1,%acc2
+ mac.l %a1,%d4,<<,10(%a6)&,%a3,%acc1
+ mac.l %a1,%d4,<<,10(%a6)&,%a3,%acc2
+ mac.l %a1,%d4,<<,10(%a6)&,%d2,%acc1
+ mac.l %a1,%d4,<<,10(%a6)&,%d2,%acc2
+ mac.l %a1,%d4,<<,10(%a6)&,%a7,%acc1
+ mac.l %a1,%d4,<<,10(%a6)&,%a7,%acc2
+ mac.l %a1,%d4,<<,-(%a1),%d1,%acc1
+ mac.l %a1,%d4,<<,-(%a1),%d1,%acc2
+ mac.l %a1,%d4,<<,-(%a1),%a3,%acc1
+ mac.l %a1,%d4,<<,-(%a1),%a3,%acc2
+ mac.l %a1,%d4,<<,-(%a1),%d2,%acc1
+ mac.l %a1,%d4,<<,-(%a1),%d2,%acc2
+ mac.l %a1,%d4,<<,-(%a1),%a7,%acc1
+ mac.l %a1,%d4,<<,-(%a1),%a7,%acc2
+ mac.l %a1,%d4,<<,-(%a1)&,%d1,%acc1
+ mac.l %a1,%d4,<<,-(%a1)&,%d1,%acc2
+ mac.l %a1,%d4,<<,-(%a1)&,%a3,%acc1
+ mac.l %a1,%d4,<<,-(%a1)&,%a3,%acc2
+ mac.l %a1,%d4,<<,-(%a1)&,%d2,%acc1
+ mac.l %a1,%d4,<<,-(%a1)&,%d2,%acc2
+ mac.l %a1,%d4,<<,-(%a1)&,%a7,%acc1
+ mac.l %a1,%d4,<<,-(%a1)&,%a7,%acc2
+ mac.l %a1,%d4,>>,(%a3),%d1,%acc1
+ mac.l %a1,%d4,>>,(%a3),%d1,%acc2
+ mac.l %a1,%d4,>>,(%a3),%a3,%acc1
+ mac.l %a1,%d4,>>,(%a3),%a3,%acc2
+ mac.l %a1,%d4,>>,(%a3),%d2,%acc1
+ mac.l %a1,%d4,>>,(%a3),%d2,%acc2
+ mac.l %a1,%d4,>>,(%a3),%a7,%acc1
+ mac.l %a1,%d4,>>,(%a3),%a7,%acc2
+ mac.l %a1,%d4,>>,(%a3)&,%d1,%acc1
+ mac.l %a1,%d4,>>,(%a3)&,%d1,%acc2
+ mac.l %a1,%d4,>>,(%a3)&,%a3,%acc1
+ mac.l %a1,%d4,>>,(%a3)&,%a3,%acc2
+ mac.l %a1,%d4,>>,(%a3)&,%d2,%acc1
+ mac.l %a1,%d4,>>,(%a3)&,%d2,%acc2
+ mac.l %a1,%d4,>>,(%a3)&,%a7,%acc1
+ mac.l %a1,%d4,>>,(%a3)&,%a7,%acc2
+ mac.l %a1,%d4,>>,(%a2)+,%d1,%acc1
+ mac.l %a1,%d4,>>,(%a2)+,%d1,%acc2
+ mac.l %a1,%d4,>>,(%a2)+,%a3,%acc1
+ mac.l %a1,%d4,>>,(%a2)+,%a3,%acc2
+ mac.l %a1,%d4,>>,(%a2)+,%d2,%acc1
+ mac.l %a1,%d4,>>,(%a2)+,%d2,%acc2
+ mac.l %a1,%d4,>>,(%a2)+,%a7,%acc1
+ mac.l %a1,%d4,>>,(%a2)+,%a7,%acc2
+ mac.l %a1,%d4,>>,(%a2)+&,%d1,%acc1
+ mac.l %a1,%d4,>>,(%a2)+&,%d1,%acc2
+ mac.l %a1,%d4,>>,(%a2)+&,%a3,%acc1
+ mac.l %a1,%d4,>>,(%a2)+&,%a3,%acc2
+ mac.l %a1,%d4,>>,(%a2)+&,%d2,%acc1
+ mac.l %a1,%d4,>>,(%a2)+&,%d2,%acc2
+ mac.l %a1,%d4,>>,(%a2)+&,%a7,%acc1
+ mac.l %a1,%d4,>>,(%a2)+&,%a7,%acc2
+ mac.l %a1,%d4,>>,10(%a6),%d1,%acc1
+ mac.l %a1,%d4,>>,10(%a6),%d1,%acc2
+ mac.l %a1,%d4,>>,10(%a6),%a3,%acc1
+ mac.l %a1,%d4,>>,10(%a6),%a3,%acc2
+ mac.l %a1,%d4,>>,10(%a6),%d2,%acc1
+ mac.l %a1,%d4,>>,10(%a6),%d2,%acc2
+ mac.l %a1,%d4,>>,10(%a6),%a7,%acc1
+ mac.l %a1,%d4,>>,10(%a6),%a7,%acc2
+ mac.l %a1,%d4,>>,10(%a6)&,%d1,%acc1
+ mac.l %a1,%d4,>>,10(%a6)&,%d1,%acc2
+ mac.l %a1,%d4,>>,10(%a6)&,%a3,%acc1
+ mac.l %a1,%d4,>>,10(%a6)&,%a3,%acc2
+ mac.l %a1,%d4,>>,10(%a6)&,%d2,%acc1
+ mac.l %a1,%d4,>>,10(%a6)&,%d2,%acc2
+ mac.l %a1,%d4,>>,10(%a6)&,%a7,%acc1
+ mac.l %a1,%d4,>>,10(%a6)&,%a7,%acc2
+ mac.l %a1,%d4,>>,-(%a1),%d1,%acc1
+ mac.l %a1,%d4,>>,-(%a1),%d1,%acc2
+ mac.l %a1,%d4,>>,-(%a1),%a3,%acc1
+ mac.l %a1,%d4,>>,-(%a1),%a3,%acc2
+ mac.l %a1,%d4,>>,-(%a1),%d2,%acc1
+ mac.l %a1,%d4,>>,-(%a1),%d2,%acc2
+ mac.l %a1,%d4,>>,-(%a1),%a7,%acc1
+ mac.l %a1,%d4,>>,-(%a1),%a7,%acc2
+ mac.l %a1,%d4,>>,-(%a1)&,%d1,%acc1
+ mac.l %a1,%d4,>>,-(%a1)&,%d1,%acc2
+ mac.l %a1,%d4,>>,-(%a1)&,%a3,%acc1
+ mac.l %a1,%d4,>>,-(%a1)&,%a3,%acc2
+ mac.l %a1,%d4,>>,-(%a1)&,%d2,%acc1
+ mac.l %a1,%d4,>>,-(%a1)&,%d2,%acc2
+ mac.l %a1,%d4,>>,-(%a1)&,%a7,%acc1
+ mac.l %a1,%d4,>>,-(%a1)&,%a7,%acc2
+ mac.l %a1,%d4,#1,(%a3),%d1,%acc1
+ mac.l %a1,%d4,#1,(%a3),%d1,%acc2
+ mac.l %a1,%d4,#1,(%a3),%a3,%acc1
+ mac.l %a1,%d4,#1,(%a3),%a3,%acc2
+ mac.l %a1,%d4,#1,(%a3),%d2,%acc1
+ mac.l %a1,%d4,#1,(%a3),%d2,%acc2
+ mac.l %a1,%d4,#1,(%a3),%a7,%acc1
+ mac.l %a1,%d4,#1,(%a3),%a7,%acc2
+ mac.l %a1,%d4,#1,(%a3)&,%d1,%acc1
+ mac.l %a1,%d4,#1,(%a3)&,%d1,%acc2
+ mac.l %a1,%d4,#1,(%a3)&,%a3,%acc1
+ mac.l %a1,%d4,#1,(%a3)&,%a3,%acc2
+ mac.l %a1,%d4,#1,(%a3)&,%d2,%acc1
+ mac.l %a1,%d4,#1,(%a3)&,%d2,%acc2
+ mac.l %a1,%d4,#1,(%a3)&,%a7,%acc1
+ mac.l %a1,%d4,#1,(%a3)&,%a7,%acc2
+ mac.l %a1,%d4,#1,(%a2)+,%d1,%acc1
+ mac.l %a1,%d4,#1,(%a2)+,%d1,%acc2
+ mac.l %a1,%d4,#1,(%a2)+,%a3,%acc1
+ mac.l %a1,%d4,#1,(%a2)+,%a3,%acc2
+ mac.l %a1,%d4,#1,(%a2)+,%d2,%acc1
+ mac.l %a1,%d4,#1,(%a2)+,%d2,%acc2
+ mac.l %a1,%d4,#1,(%a2)+,%a7,%acc1
+ mac.l %a1,%d4,#1,(%a2)+,%a7,%acc2
+ mac.l %a1,%d4,#1,(%a2)+&,%d1,%acc1
+ mac.l %a1,%d4,#1,(%a2)+&,%d1,%acc2
+ mac.l %a1,%d4,#1,(%a2)+&,%a3,%acc1
+ mac.l %a1,%d4,#1,(%a2)+&,%a3,%acc2
+ mac.l %a1,%d4,#1,(%a2)+&,%d2,%acc1
+ mac.l %a1,%d4,#1,(%a2)+&,%d2,%acc2
+ mac.l %a1,%d4,#1,(%a2)+&,%a7,%acc1
+ mac.l %a1,%d4,#1,(%a2)+&,%a7,%acc2
+ mac.l %a1,%d4,#1,10(%a6),%d1,%acc1
+ mac.l %a1,%d4,#1,10(%a6),%d1,%acc2
+ mac.l %a1,%d4,#1,10(%a6),%a3,%acc1
+ mac.l %a1,%d4,#1,10(%a6),%a3,%acc2
+ mac.l %a1,%d4,#1,10(%a6),%d2,%acc1
+ mac.l %a1,%d4,#1,10(%a6),%d2,%acc2
+ mac.l %a1,%d4,#1,10(%a6),%a7,%acc1
+ mac.l %a1,%d4,#1,10(%a6),%a7,%acc2
+ mac.l %a1,%d4,#1,10(%a6)&,%d1,%acc1
+ mac.l %a1,%d4,#1,10(%a6)&,%d1,%acc2
+ mac.l %a1,%d4,#1,10(%a6)&,%a3,%acc1
+ mac.l %a1,%d4,#1,10(%a6)&,%a3,%acc2
+ mac.l %a1,%d4,#1,10(%a6)&,%d2,%acc1
+ mac.l %a1,%d4,#1,10(%a6)&,%d2,%acc2
+ mac.l %a1,%d4,#1,10(%a6)&,%a7,%acc1
+ mac.l %a1,%d4,#1,10(%a6)&,%a7,%acc2
+ mac.l %a1,%d4,#1,-(%a1),%d1,%acc1
+ mac.l %a1,%d4,#1,-(%a1),%d1,%acc2
+ mac.l %a1,%d4,#1,-(%a1),%a3,%acc1
+ mac.l %a1,%d4,#1,-(%a1),%a3,%acc2
+ mac.l %a1,%d4,#1,-(%a1),%d2,%acc1
+ mac.l %a1,%d4,#1,-(%a1),%d2,%acc2
+ mac.l %a1,%d4,#1,-(%a1),%a7,%acc1
+ mac.l %a1,%d4,#1,-(%a1),%a7,%acc2
+ mac.l %a1,%d4,#1,-(%a1)&,%d1,%acc1
+ mac.l %a1,%d4,#1,-(%a1)&,%d1,%acc2
+ mac.l %a1,%d4,#1,-(%a1)&,%a3,%acc1
+ mac.l %a1,%d4,#1,-(%a1)&,%a3,%acc2
+ mac.l %a1,%d4,#1,-(%a1)&,%d2,%acc1
+ mac.l %a1,%d4,#1,-(%a1)&,%d2,%acc2
+ mac.l %a1,%d4,#1,-(%a1)&,%a7,%acc1
+ mac.l %a1,%d4,#1,-(%a1)&,%a7,%acc2
+ mac.l %a1,%d4,#-1,(%a3),%d1,%acc1
+ mac.l %a1,%d4,#-1,(%a3),%d1,%acc2
+ mac.l %a1,%d4,#-1,(%a3),%a3,%acc1
+ mac.l %a1,%d4,#-1,(%a3),%a3,%acc2
+ mac.l %a1,%d4,#-1,(%a3),%d2,%acc1
+ mac.l %a1,%d4,#-1,(%a3),%d2,%acc2
+ mac.l %a1,%d4,#-1,(%a3),%a7,%acc1
+ mac.l %a1,%d4,#-1,(%a3),%a7,%acc2
+ mac.l %a1,%d4,#-1,(%a3)&,%d1,%acc1
+ mac.l %a1,%d4,#-1,(%a3)&,%d1,%acc2
+ mac.l %a1,%d4,#-1,(%a3)&,%a3,%acc1
+ mac.l %a1,%d4,#-1,(%a3)&,%a3,%acc2
+ mac.l %a1,%d4,#-1,(%a3)&,%d2,%acc1
+ mac.l %a1,%d4,#-1,(%a3)&,%d2,%acc2
+ mac.l %a1,%d4,#-1,(%a3)&,%a7,%acc1
+ mac.l %a1,%d4,#-1,(%a3)&,%a7,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+,%d1,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+,%d1,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+,%a3,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+,%a3,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+,%d2,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+,%d2,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+,%a7,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+,%a7,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+&,%d1,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+&,%d1,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+&,%a3,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+&,%a3,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+&,%d2,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+&,%d2,%acc2
+ mac.l %a1,%d4,#-1,(%a2)+&,%a7,%acc1
+ mac.l %a1,%d4,#-1,(%a2)+&,%a7,%acc2
+ mac.l %a1,%d4,#-1,10(%a6),%d1,%acc1
+ mac.l %a1,%d4,#-1,10(%a6),%d1,%acc2
+ mac.l %a1,%d4,#-1,10(%a6),%a3,%acc1
+ mac.l %a1,%d4,#-1,10(%a6),%a3,%acc2
+ mac.l %a1,%d4,#-1,10(%a6),%d2,%acc1
+ mac.l %a1,%d4,#-1,10(%a6),%d2,%acc2
+ mac.l %a1,%d4,#-1,10(%a6),%a7,%acc1
+ mac.l %a1,%d4,#-1,10(%a6),%a7,%acc2
+ mac.l %a1,%d4,#-1,10(%a6)&,%d1,%acc1
+ mac.l %a1,%d4,#-1,10(%a6)&,%d1,%acc2
+ mac.l %a1,%d4,#-1,10(%a6)&,%a3,%acc1
+ mac.l %a1,%d4,#-1,10(%a6)&,%a3,%acc2
+ mac.l %a1,%d4,#-1,10(%a6)&,%d2,%acc1
+ mac.l %a1,%d4,#-1,10(%a6)&,%d2,%acc2
+ mac.l %a1,%d4,#-1,10(%a6)&,%a7,%acc1
+ mac.l %a1,%d4,#-1,10(%a6)&,%a7,%acc2
+ mac.l %a1,%d4,#-1,-(%a1),%d1,%acc1
+ mac.l %a1,%d4,#-1,-(%a1),%d1,%acc2
+ mac.l %a1,%d4,#-1,-(%a1),%a3,%acc1
+ mac.l %a1,%d4,#-1,-(%a1),%a3,%acc2
+ mac.l %a1,%d4,#-1,-(%a1),%d2,%acc1
+ mac.l %a1,%d4,#-1,-(%a1),%d2,%acc2
+ mac.l %a1,%d4,#-1,-(%a1),%a7,%acc1
+ mac.l %a1,%d4,#-1,-(%a1),%a7,%acc2
+ mac.l %a1,%d4,#-1,-(%a1)&,%d1,%acc1
+ mac.l %a1,%d4,#-1,-(%a1)&,%d1,%acc2
+ mac.l %a1,%d4,#-1,-(%a1)&,%a3,%acc1
+ mac.l %a1,%d4,#-1,-(%a1)&,%a3,%acc2
+ mac.l %a1,%d4,#-1,-(%a1)&,%d2,%acc1
+ mac.l %a1,%d4,#-1,-(%a1)&,%d2,%acc2
+ mac.l %a1,%d4,#-1,-(%a1)&,%a7,%acc1
+ mac.l %a1,%d4,#-1,-(%a1)&,%a7,%acc2
+ mac.l %d6,%a3,(%a3),%d1,%acc1
+ mac.l %d6,%a3,(%a3),%d1,%acc2
+ mac.l %d6,%a3,(%a3),%a3,%acc1
+ mac.l %d6,%a3,(%a3),%a3,%acc2
+ mac.l %d6,%a3,(%a3),%d2,%acc1
+ mac.l %d6,%a3,(%a3),%d2,%acc2
+ mac.l %d6,%a3,(%a3),%a7,%acc1
+ mac.l %d6,%a3,(%a3),%a7,%acc2
+ mac.l %d6,%a3,(%a3)&,%d1,%acc1
+ mac.l %d6,%a3,(%a3)&,%d1,%acc2
+ mac.l %d6,%a3,(%a3)&,%a3,%acc1
+ mac.l %d6,%a3,(%a3)&,%a3,%acc2
+ mac.l %d6,%a3,(%a3)&,%d2,%acc1
+ mac.l %d6,%a3,(%a3)&,%d2,%acc2
+ mac.l %d6,%a3,(%a3)&,%a7,%acc1
+ mac.l %d6,%a3,(%a3)&,%a7,%acc2
+ mac.l %d6,%a3,(%a2)+,%d1,%acc1
+ mac.l %d6,%a3,(%a2)+,%d1,%acc2
+ mac.l %d6,%a3,(%a2)+,%a3,%acc1
+ mac.l %d6,%a3,(%a2)+,%a3,%acc2
+ mac.l %d6,%a3,(%a2)+,%d2,%acc1
+ mac.l %d6,%a3,(%a2)+,%d2,%acc2
+ mac.l %d6,%a3,(%a2)+,%a7,%acc1
+ mac.l %d6,%a3,(%a2)+,%a7,%acc2
+ mac.l %d6,%a3,(%a2)+&,%d1,%acc1
+ mac.l %d6,%a3,(%a2)+&,%d1,%acc2
+ mac.l %d6,%a3,(%a2)+&,%a3,%acc1
+ mac.l %d6,%a3,(%a2)+&,%a3,%acc2
+ mac.l %d6,%a3,(%a2)+&,%d2,%acc1
+ mac.l %d6,%a3,(%a2)+&,%d2,%acc2
+ mac.l %d6,%a3,(%a2)+&,%a7,%acc1
+ mac.l %d6,%a3,(%a2)+&,%a7,%acc2
+ mac.l %d6,%a3,10(%a6),%d1,%acc1
+ mac.l %d6,%a3,10(%a6),%d1,%acc2
+ mac.l %d6,%a3,10(%a6),%a3,%acc1
+ mac.l %d6,%a3,10(%a6),%a3,%acc2
+ mac.l %d6,%a3,10(%a6),%d2,%acc1
+ mac.l %d6,%a3,10(%a6),%d2,%acc2
+ mac.l %d6,%a3,10(%a6),%a7,%acc1
+ mac.l %d6,%a3,10(%a6),%a7,%acc2
+ mac.l %d6,%a3,10(%a6)&,%d1,%acc1
+ mac.l %d6,%a3,10(%a6)&,%d1,%acc2
+ mac.l %d6,%a3,10(%a6)&,%a3,%acc1
+ mac.l %d6,%a3,10(%a6)&,%a3,%acc2
+ mac.l %d6,%a3,10(%a6)&,%d2,%acc1
+ mac.l %d6,%a3,10(%a6)&,%d2,%acc2
+ mac.l %d6,%a3,10(%a6)&,%a7,%acc1
+ mac.l %d6,%a3,10(%a6)&,%a7,%acc2
+ mac.l %d6,%a3,-(%a1),%d1,%acc1
+ mac.l %d6,%a3,-(%a1),%d1,%acc2
+ mac.l %d6,%a3,-(%a1),%a3,%acc1
+ mac.l %d6,%a3,-(%a1),%a3,%acc2
+ mac.l %d6,%a3,-(%a1),%d2,%acc1
+ mac.l %d6,%a3,-(%a1),%d2,%acc2
+ mac.l %d6,%a3,-(%a1),%a7,%acc1
+ mac.l %d6,%a3,-(%a1),%a7,%acc2
+ mac.l %d6,%a3,-(%a1)&,%d1,%acc1
+ mac.l %d6,%a3,-(%a1)&,%d1,%acc2
+ mac.l %d6,%a3,-(%a1)&,%a3,%acc1
+ mac.l %d6,%a3,-(%a1)&,%a3,%acc2
+ mac.l %d6,%a3,-(%a1)&,%d2,%acc1
+ mac.l %d6,%a3,-(%a1)&,%d2,%acc2
+ mac.l %d6,%a3,-(%a1)&,%a7,%acc1
+ mac.l %d6,%a3,-(%a1)&,%a7,%acc2
+ mac.l %d6,%a3,<<,(%a3),%d1,%acc1
+ mac.l %d6,%a3,<<,(%a3),%d1,%acc2
+ mac.l %d6,%a3,<<,(%a3),%a3,%acc1
+ mac.l %d6,%a3,<<,(%a3),%a3,%acc2
+ mac.l %d6,%a3,<<,(%a3),%d2,%acc1
+ mac.l %d6,%a3,<<,(%a3),%d2,%acc2
+ mac.l %d6,%a3,<<,(%a3),%a7,%acc1
+ mac.l %d6,%a3,<<,(%a3),%a7,%acc2
+ mac.l %d6,%a3,<<,(%a3)&,%d1,%acc1
+ mac.l %d6,%a3,<<,(%a3)&,%d1,%acc2
+ mac.l %d6,%a3,<<,(%a3)&,%a3,%acc1
+ mac.l %d6,%a3,<<,(%a3)&,%a3,%acc2
+ mac.l %d6,%a3,<<,(%a3)&,%d2,%acc1
+ mac.l %d6,%a3,<<,(%a3)&,%d2,%acc2
+ mac.l %d6,%a3,<<,(%a3)&,%a7,%acc1
+ mac.l %d6,%a3,<<,(%a3)&,%a7,%acc2
+ mac.l %d6,%a3,<<,(%a2)+,%d1,%acc1
+ mac.l %d6,%a3,<<,(%a2)+,%d1,%acc2
+ mac.l %d6,%a3,<<,(%a2)+,%a3,%acc1
+ mac.l %d6,%a3,<<,(%a2)+,%a3,%acc2
+ mac.l %d6,%a3,<<,(%a2)+,%d2,%acc1
+ mac.l %d6,%a3,<<,(%a2)+,%d2,%acc2
+ mac.l %d6,%a3,<<,(%a2)+,%a7,%acc1
+ mac.l %d6,%a3,<<,(%a2)+,%a7,%acc2
+ mac.l %d6,%a3,<<,(%a2)+&,%d1,%acc1
+ mac.l %d6,%a3,<<,(%a2)+&,%d1,%acc2
+ mac.l %d6,%a3,<<,(%a2)+&,%a3,%acc1
+ mac.l %d6,%a3,<<,(%a2)+&,%a3,%acc2
+ mac.l %d6,%a3,<<,(%a2)+&,%d2,%acc1
+ mac.l %d6,%a3,<<,(%a2)+&,%d2,%acc2
+ mac.l %d6,%a3,<<,(%a2)+&,%a7,%acc1
+ mac.l %d6,%a3,<<,(%a2)+&,%a7,%acc2
+ mac.l %d6,%a3,<<,10(%a6),%d1,%acc1
+ mac.l %d6,%a3,<<,10(%a6),%d1,%acc2
+ mac.l %d6,%a3,<<,10(%a6),%a3,%acc1
+ mac.l %d6,%a3,<<,10(%a6),%a3,%acc2
+ mac.l %d6,%a3,<<,10(%a6),%d2,%acc1
+ mac.l %d6,%a3,<<,10(%a6),%d2,%acc2
+ mac.l %d6,%a3,<<,10(%a6),%a7,%acc1
+ mac.l %d6,%a3,<<,10(%a6),%a7,%acc2
+ mac.l %d6,%a3,<<,10(%a6)&,%d1,%acc1
+ mac.l %d6,%a3,<<,10(%a6)&,%d1,%acc2
+ mac.l %d6,%a3,<<,10(%a6)&,%a3,%acc1
+ mac.l %d6,%a3,<<,10(%a6)&,%a3,%acc2
+ mac.l %d6,%a3,<<,10(%a6)&,%d2,%acc1
+ mac.l %d6,%a3,<<,10(%a6)&,%d2,%acc2
+ mac.l %d6,%a3,<<,10(%a6)&,%a7,%acc1
+ mac.l %d6,%a3,<<,10(%a6)&,%a7,%acc2
+ mac.l %d6,%a3,<<,-(%a1),%d1,%acc1
+ mac.l %d6,%a3,<<,-(%a1),%d1,%acc2
+ mac.l %d6,%a3,<<,-(%a1),%a3,%acc1
+ mac.l %d6,%a3,<<,-(%a1),%a3,%acc2
+ mac.l %d6,%a3,<<,-(%a1),%d2,%acc1
+ mac.l %d6,%a3,<<,-(%a1),%d2,%acc2
+ mac.l %d6,%a3,<<,-(%a1),%a7,%acc1
+ mac.l %d6,%a3,<<,-(%a1),%a7,%acc2
+ mac.l %d6,%a3,<<,-(%a1)&,%d1,%acc1
+ mac.l %d6,%a3,<<,-(%a1)&,%d1,%acc2
+ mac.l %d6,%a3,<<,-(%a1)&,%a3,%acc1
+ mac.l %d6,%a3,<<,-(%a1)&,%a3,%acc2
+ mac.l %d6,%a3,<<,-(%a1)&,%d2,%acc1
+ mac.l %d6,%a3,<<,-(%a1)&,%d2,%acc2
+ mac.l %d6,%a3,<<,-(%a1)&,%a7,%acc1
+ mac.l %d6,%a3,<<,-(%a1)&,%a7,%acc2
+ mac.l %d6,%a3,>>,(%a3),%d1,%acc1
+ mac.l %d6,%a3,>>,(%a3),%d1,%acc2
+ mac.l %d6,%a3,>>,(%a3),%a3,%acc1
+ mac.l %d6,%a3,>>,(%a3),%a3,%acc2
+ mac.l %d6,%a3,>>,(%a3),%d2,%acc1
+ mac.l %d6,%a3,>>,(%a3),%d2,%acc2
+ mac.l %d6,%a3,>>,(%a3),%a7,%acc1
+ mac.l %d6,%a3,>>,(%a3),%a7,%acc2
+ mac.l %d6,%a3,>>,(%a3)&,%d1,%acc1
+ mac.l %d6,%a3,>>,(%a3)&,%d1,%acc2
+ mac.l %d6,%a3,>>,(%a3)&,%a3,%acc1
+ mac.l %d6,%a3,>>,(%a3)&,%a3,%acc2
+ mac.l %d6,%a3,>>,(%a3)&,%d2,%acc1
+ mac.l %d6,%a3,>>,(%a3)&,%d2,%acc2
+ mac.l %d6,%a3,>>,(%a3)&,%a7,%acc1
+ mac.l %d6,%a3,>>,(%a3)&,%a7,%acc2
+ mac.l %d6,%a3,>>,(%a2)+,%d1,%acc1
+ mac.l %d6,%a3,>>,(%a2)+,%d1,%acc2
+ mac.l %d6,%a3,>>,(%a2)+,%a3,%acc1
+ mac.l %d6,%a3,>>,(%a2)+,%a3,%acc2
+ mac.l %d6,%a3,>>,(%a2)+,%d2,%acc1
+ mac.l %d6,%a3,>>,(%a2)+,%d2,%acc2
+ mac.l %d6,%a3,>>,(%a2)+,%a7,%acc1
+ mac.l %d6,%a3,>>,(%a2)+,%a7,%acc2
+ mac.l %d6,%a3,>>,(%a2)+&,%d1,%acc1
+ mac.l %d6,%a3,>>,(%a2)+&,%d1,%acc2
+ mac.l %d6,%a3,>>,(%a2)+&,%a3,%acc1
+ mac.l %d6,%a3,>>,(%a2)+&,%a3,%acc2
+ mac.l %d6,%a3,>>,(%a2)+&,%d2,%acc1
+ mac.l %d6,%a3,>>,(%a2)+&,%d2,%acc2
+ mac.l %d6,%a3,>>,(%a2)+&,%a7,%acc1
+ mac.l %d6,%a3,>>,(%a2)+&,%a7,%acc2
+ mac.l %d6,%a3,>>,10(%a6),%d1,%acc1
+ mac.l %d6,%a3,>>,10(%a6),%d1,%acc2
+ mac.l %d6,%a3,>>,10(%a6),%a3,%acc1
+ mac.l %d6,%a3,>>,10(%a6),%a3,%acc2
+ mac.l %d6,%a3,>>,10(%a6),%d2,%acc1
+ mac.l %d6,%a3,>>,10(%a6),%d2,%acc2
+ mac.l %d6,%a3,>>,10(%a6),%a7,%acc1
+ mac.l %d6,%a3,>>,10(%a6),%a7,%acc2
+ mac.l %d6,%a3,>>,10(%a6)&,%d1,%acc1
+ mac.l %d6,%a3,>>,10(%a6)&,%d1,%acc2
+ mac.l %d6,%a3,>>,10(%a6)&,%a3,%acc1
+ mac.l %d6,%a3,>>,10(%a6)&,%a3,%acc2
+ mac.l %d6,%a3,>>,10(%a6)&,%d2,%acc1
+ mac.l %d6,%a3,>>,10(%a6)&,%d2,%acc2
+ mac.l %d6,%a3,>>,10(%a6)&,%a7,%acc1
+ mac.l %d6,%a3,>>,10(%a6)&,%a7,%acc2
+ mac.l %d6,%a3,>>,-(%a1),%d1,%acc1
+ mac.l %d6,%a3,>>,-(%a1),%d1,%acc2
+ mac.l %d6,%a3,>>,-(%a1),%a3,%acc1
+ mac.l %d6,%a3,>>,-(%a1),%a3,%acc2
+ mac.l %d6,%a3,>>,-(%a1),%d2,%acc1
+ mac.l %d6,%a3,>>,-(%a1),%d2,%acc2
+ mac.l %d6,%a3,>>,-(%a1),%a7,%acc1
+ mac.l %d6,%a3,>>,-(%a1),%a7,%acc2
+ mac.l %d6,%a3,>>,-(%a1)&,%d1,%acc1
+ mac.l %d6,%a3,>>,-(%a1)&,%d1,%acc2
+ mac.l %d6,%a3,>>,-(%a1)&,%a3,%acc1
+ mac.l %d6,%a3,>>,-(%a1)&,%a3,%acc2
+ mac.l %d6,%a3,>>,-(%a1)&,%d2,%acc1
+ mac.l %d6,%a3,>>,-(%a1)&,%d2,%acc2
+ mac.l %d6,%a3,>>,-(%a1)&,%a7,%acc1
+ mac.l %d6,%a3,>>,-(%a1)&,%a7,%acc2
+ mac.l %d6,%a3,#1,(%a3),%d1,%acc1
+ mac.l %d6,%a3,#1,(%a3),%d1,%acc2
+ mac.l %d6,%a3,#1,(%a3),%a3,%acc1
+ mac.l %d6,%a3,#1,(%a3),%a3,%acc2
+ mac.l %d6,%a3,#1,(%a3),%d2,%acc1
+ mac.l %d6,%a3,#1,(%a3),%d2,%acc2
+ mac.l %d6,%a3,#1,(%a3),%a7,%acc1
+ mac.l %d6,%a3,#1,(%a3),%a7,%acc2
+ mac.l %d6,%a3,#1,(%a3)&,%d1,%acc1
+ mac.l %d6,%a3,#1,(%a3)&,%d1,%acc2
+ mac.l %d6,%a3,#1,(%a3)&,%a3,%acc1
+ mac.l %d6,%a3,#1,(%a3)&,%a3,%acc2
+ mac.l %d6,%a3,#1,(%a3)&,%d2,%acc1
+ mac.l %d6,%a3,#1,(%a3)&,%d2,%acc2
+ mac.l %d6,%a3,#1,(%a3)&,%a7,%acc1
+ mac.l %d6,%a3,#1,(%a3)&,%a7,%acc2
+ mac.l %d6,%a3,#1,(%a2)+,%d1,%acc1
+ mac.l %d6,%a3,#1,(%a2)+,%d1,%acc2
+ mac.l %d6,%a3,#1,(%a2)+,%a3,%acc1
+ mac.l %d6,%a3,#1,(%a2)+,%a3,%acc2
+ mac.l %d6,%a3,#1,(%a2)+,%d2,%acc1
+ mac.l %d6,%a3,#1,(%a2)+,%d2,%acc2
+ mac.l %d6,%a3,#1,(%a2)+,%a7,%acc1
+ mac.l %d6,%a3,#1,(%a2)+,%a7,%acc2
+ mac.l %d6,%a3,#1,(%a2)+&,%d1,%acc1
+ mac.l %d6,%a3,#1,(%a2)+&,%d1,%acc2
+ mac.l %d6,%a3,#1,(%a2)+&,%a3,%acc1
+ mac.l %d6,%a3,#1,(%a2)+&,%a3,%acc2
+ mac.l %d6,%a3,#1,(%a2)+&,%d2,%acc1
+ mac.l %d6,%a3,#1,(%a2)+&,%d2,%acc2
+ mac.l %d6,%a3,#1,(%a2)+&,%a7,%acc1
+ mac.l %d6,%a3,#1,(%a2)+&,%a7,%acc2
+ mac.l %d6,%a3,#1,10(%a6),%d1,%acc1
+ mac.l %d6,%a3,#1,10(%a6),%d1,%acc2
+ mac.l %d6,%a3,#1,10(%a6),%a3,%acc1
+ mac.l %d6,%a3,#1,10(%a6),%a3,%acc2
+ mac.l %d6,%a3,#1,10(%a6),%d2,%acc1
+ mac.l %d6,%a3,#1,10(%a6),%d2,%acc2
+ mac.l %d6,%a3,#1,10(%a6),%a7,%acc1
+ mac.l %d6,%a3,#1,10(%a6),%a7,%acc2
+ mac.l %d6,%a3,#1,10(%a6)&,%d1,%acc1
+ mac.l %d6,%a3,#1,10(%a6)&,%d1,%acc2
+ mac.l %d6,%a3,#1,10(%a6)&,%a3,%acc1
+ mac.l %d6,%a3,#1,10(%a6)&,%a3,%acc2
+ mac.l %d6,%a3,#1,10(%a6)&,%d2,%acc1
+ mac.l %d6,%a3,#1,10(%a6)&,%d2,%acc2
+ mac.l %d6,%a3,#1,10(%a6)&,%a7,%acc1
+ mac.l %d6,%a3,#1,10(%a6)&,%a7,%acc2
+ mac.l %d6,%a3,#1,-(%a1),%d1,%acc1
+ mac.l %d6,%a3,#1,-(%a1),%d1,%acc2
+ mac.l %d6,%a3,#1,-(%a1),%a3,%acc1
+ mac.l %d6,%a3,#1,-(%a1),%a3,%acc2
+ mac.l %d6,%a3,#1,-(%a1),%d2,%acc1
+ mac.l %d6,%a3,#1,-(%a1),%d2,%acc2
+ mac.l %d6,%a3,#1,-(%a1),%a7,%acc1
+ mac.l %d6,%a3,#1,-(%a1),%a7,%acc2
+ mac.l %d6,%a3,#1,-(%a1)&,%d1,%acc1
+ mac.l %d6,%a3,#1,-(%a1)&,%d1,%acc2
+ mac.l %d6,%a3,#1,-(%a1)&,%a3,%acc1
+ mac.l %d6,%a3,#1,-(%a1)&,%a3,%acc2
+ mac.l %d6,%a3,#1,-(%a1)&,%d2,%acc1
+ mac.l %d6,%a3,#1,-(%a1)&,%d2,%acc2
+ mac.l %d6,%a3,#1,-(%a1)&,%a7,%acc1
+ mac.l %d6,%a3,#1,-(%a1)&,%a7,%acc2
+ mac.l %d6,%a3,#-1,(%a3),%d1,%acc1
+ mac.l %d6,%a3,#-1,(%a3),%d1,%acc2
+ mac.l %d6,%a3,#-1,(%a3),%a3,%acc1
+ mac.l %d6,%a3,#-1,(%a3),%a3,%acc2
+ mac.l %d6,%a3,#-1,(%a3),%d2,%acc1
+ mac.l %d6,%a3,#-1,(%a3),%d2,%acc2
+ mac.l %d6,%a3,#-1,(%a3),%a7,%acc1
+ mac.l %d6,%a3,#-1,(%a3),%a7,%acc2
+ mac.l %d6,%a3,#-1,(%a3)&,%d1,%acc1
+ mac.l %d6,%a3,#-1,(%a3)&,%d1,%acc2
+ mac.l %d6,%a3,#-1,(%a3)&,%a3,%acc1
+ mac.l %d6,%a3,#-1,(%a3)&,%a3,%acc2
+ mac.l %d6,%a3,#-1,(%a3)&,%d2,%acc1
+ mac.l %d6,%a3,#-1,(%a3)&,%d2,%acc2
+ mac.l %d6,%a3,#-1,(%a3)&,%a7,%acc1
+ mac.l %d6,%a3,#-1,(%a3)&,%a7,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+,%d1,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+,%d1,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+,%a3,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+,%a3,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+,%d2,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+,%d2,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+,%a7,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+,%a7,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+&,%d1,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+&,%d1,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+&,%a3,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+&,%a3,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+&,%d2,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+&,%d2,%acc2
+ mac.l %d6,%a3,#-1,(%a2)+&,%a7,%acc1
+ mac.l %d6,%a3,#-1,(%a2)+&,%a7,%acc2
+ mac.l %d6,%a3,#-1,10(%a6),%d1,%acc1
+ mac.l %d6,%a3,#-1,10(%a6),%d1,%acc2
+ mac.l %d6,%a3,#-1,10(%a6),%a3,%acc1
+ mac.l %d6,%a3,#-1,10(%a6),%a3,%acc2
+ mac.l %d6,%a3,#-1,10(%a6),%d2,%acc1
+ mac.l %d6,%a3,#-1,10(%a6),%d2,%acc2
+ mac.l %d6,%a3,#-1,10(%a6),%a7,%acc1
+ mac.l %d6,%a3,#-1,10(%a6),%a7,%acc2
+ mac.l %d6,%a3,#-1,10(%a6)&,%d1,%acc1
+ mac.l %d6,%a3,#-1,10(%a6)&,%d1,%acc2
+ mac.l %d6,%a3,#-1,10(%a6)&,%a3,%acc1
+ mac.l %d6,%a3,#-1,10(%a6)&,%a3,%acc2
+ mac.l %d6,%a3,#-1,10(%a6)&,%d2,%acc1
+ mac.l %d6,%a3,#-1,10(%a6)&,%d2,%acc2
+ mac.l %d6,%a3,#-1,10(%a6)&,%a7,%acc1
+ mac.l %d6,%a3,#-1,10(%a6)&,%a7,%acc2
+ mac.l %d6,%a3,#-1,-(%a1),%d1,%acc1
+ mac.l %d6,%a3,#-1,-(%a1),%d1,%acc2
+ mac.l %d6,%a3,#-1,-(%a1),%a3,%acc1
+ mac.l %d6,%a3,#-1,-(%a1),%a3,%acc2
+ mac.l %d6,%a3,#-1,-(%a1),%d2,%acc1
+ mac.l %d6,%a3,#-1,-(%a1),%d2,%acc2
+ mac.l %d6,%a3,#-1,-(%a1),%a7,%acc1
+ mac.l %d6,%a3,#-1,-(%a1),%a7,%acc2
+ mac.l %d6,%a3,#-1,-(%a1)&,%d1,%acc1
+ mac.l %d6,%a3,#-1,-(%a1)&,%d1,%acc2
+ mac.l %d6,%a3,#-1,-(%a1)&,%a3,%acc1
+ mac.l %d6,%a3,#-1,-(%a1)&,%a3,%acc2
+ mac.l %d6,%a3,#-1,-(%a1)&,%d2,%acc1
+ mac.l %d6,%a3,#-1,-(%a1)&,%d2,%acc2
+ mac.l %d6,%a3,#-1,-(%a1)&,%a7,%acc1
+ mac.l %d6,%a3,#-1,-(%a1)&,%a7,%acc2
+ mac.l %d6,%d4,(%a3),%d1,%acc1
+ mac.l %d6,%d4,(%a3),%d1,%acc2
+ mac.l %d6,%d4,(%a3),%a3,%acc1
+ mac.l %d6,%d4,(%a3),%a3,%acc2
+ mac.l %d6,%d4,(%a3),%d2,%acc1
+ mac.l %d6,%d4,(%a3),%d2,%acc2
+ mac.l %d6,%d4,(%a3),%a7,%acc1
+ mac.l %d6,%d4,(%a3),%a7,%acc2
+ mac.l %d6,%d4,(%a3)&,%d1,%acc1
+ mac.l %d6,%d4,(%a3)&,%d1,%acc2
+ mac.l %d6,%d4,(%a3)&,%a3,%acc1
+ mac.l %d6,%d4,(%a3)&,%a3,%acc2
+ mac.l %d6,%d4,(%a3)&,%d2,%acc1
+ mac.l %d6,%d4,(%a3)&,%d2,%acc2
+ mac.l %d6,%d4,(%a3)&,%a7,%acc1
+ mac.l %d6,%d4,(%a3)&,%a7,%acc2
+ mac.l %d6,%d4,(%a2)+,%d1,%acc1
+ mac.l %d6,%d4,(%a2)+,%d1,%acc2
+ mac.l %d6,%d4,(%a2)+,%a3,%acc1
+ mac.l %d6,%d4,(%a2)+,%a3,%acc2
+ mac.l %d6,%d4,(%a2)+,%d2,%acc1
+ mac.l %d6,%d4,(%a2)+,%d2,%acc2
+ mac.l %d6,%d4,(%a2)+,%a7,%acc1
+ mac.l %d6,%d4,(%a2)+,%a7,%acc2
+ mac.l %d6,%d4,(%a2)+&,%d1,%acc1
+ mac.l %d6,%d4,(%a2)+&,%d1,%acc2
+ mac.l %d6,%d4,(%a2)+&,%a3,%acc1
+ mac.l %d6,%d4,(%a2)+&,%a3,%acc2
+ mac.l %d6,%d4,(%a2)+&,%d2,%acc1
+ mac.l %d6,%d4,(%a2)+&,%d2,%acc2
+ mac.l %d6,%d4,(%a2)+&,%a7,%acc1
+ mac.l %d6,%d4,(%a2)+&,%a7,%acc2
+ mac.l %d6,%d4,10(%a6),%d1,%acc1
+ mac.l %d6,%d4,10(%a6),%d1,%acc2
+ mac.l %d6,%d4,10(%a6),%a3,%acc1
+ mac.l %d6,%d4,10(%a6),%a3,%acc2
+ mac.l %d6,%d4,10(%a6),%d2,%acc1
+ mac.l %d6,%d4,10(%a6),%d2,%acc2
+ mac.l %d6,%d4,10(%a6),%a7,%acc1
+ mac.l %d6,%d4,10(%a6),%a7,%acc2
+ mac.l %d6,%d4,10(%a6)&,%d1,%acc1
+ mac.l %d6,%d4,10(%a6)&,%d1,%acc2
+ mac.l %d6,%d4,10(%a6)&,%a3,%acc1
+ mac.l %d6,%d4,10(%a6)&,%a3,%acc2
+ mac.l %d6,%d4,10(%a6)&,%d2,%acc1
+ mac.l %d6,%d4,10(%a6)&,%d2,%acc2
+ mac.l %d6,%d4,10(%a6)&,%a7,%acc1
+ mac.l %d6,%d4,10(%a6)&,%a7,%acc2
+ mac.l %d6,%d4,-(%a1),%d1,%acc1
+ mac.l %d6,%d4,-(%a1),%d1,%acc2
+ mac.l %d6,%d4,-(%a1),%a3,%acc1
+ mac.l %d6,%d4,-(%a1),%a3,%acc2
+ mac.l %d6,%d4,-(%a1),%d2,%acc1
+ mac.l %d6,%d4,-(%a1),%d2,%acc2
+ mac.l %d6,%d4,-(%a1),%a7,%acc1
+ mac.l %d6,%d4,-(%a1),%a7,%acc2
+ mac.l %d6,%d4,-(%a1)&,%d1,%acc1
+ mac.l %d6,%d4,-(%a1)&,%d1,%acc2
+ mac.l %d6,%d4,-(%a1)&,%a3,%acc1
+ mac.l %d6,%d4,-(%a1)&,%a3,%acc2
+ mac.l %d6,%d4,-(%a1)&,%d2,%acc1
+ mac.l %d6,%d4,-(%a1)&,%d2,%acc2
+ mac.l %d6,%d4,-(%a1)&,%a7,%acc1
+ mac.l %d6,%d4,-(%a1)&,%a7,%acc2
+ mac.l %d6,%d4,<<,(%a3),%d1,%acc1
+ mac.l %d6,%d4,<<,(%a3),%d1,%acc2
+ mac.l %d6,%d4,<<,(%a3),%a3,%acc1
+ mac.l %d6,%d4,<<,(%a3),%a3,%acc2
+ mac.l %d6,%d4,<<,(%a3),%d2,%acc1
+ mac.l %d6,%d4,<<,(%a3),%d2,%acc2
+ mac.l %d6,%d4,<<,(%a3),%a7,%acc1
+ mac.l %d6,%d4,<<,(%a3),%a7,%acc2
+ mac.l %d6,%d4,<<,(%a3)&,%d1,%acc1
+ mac.l %d6,%d4,<<,(%a3)&,%d1,%acc2
+ mac.l %d6,%d4,<<,(%a3)&,%a3,%acc1
+ mac.l %d6,%d4,<<,(%a3)&,%a3,%acc2
+ mac.l %d6,%d4,<<,(%a3)&,%d2,%acc1
+ mac.l %d6,%d4,<<,(%a3)&,%d2,%acc2
+ mac.l %d6,%d4,<<,(%a3)&,%a7,%acc1
+ mac.l %d6,%d4,<<,(%a3)&,%a7,%acc2
+ mac.l %d6,%d4,<<,(%a2)+,%d1,%acc1
+ mac.l %d6,%d4,<<,(%a2)+,%d1,%acc2
+ mac.l %d6,%d4,<<,(%a2)+,%a3,%acc1
+ mac.l %d6,%d4,<<,(%a2)+,%a3,%acc2
+ mac.l %d6,%d4,<<,(%a2)+,%d2,%acc1
+ mac.l %d6,%d4,<<,(%a2)+,%d2,%acc2
+ mac.l %d6,%d4,<<,(%a2)+,%a7,%acc1
+ mac.l %d6,%d4,<<,(%a2)+,%a7,%acc2
+ mac.l %d6,%d4,<<,(%a2)+&,%d1,%acc1
+ mac.l %d6,%d4,<<,(%a2)+&,%d1,%acc2
+ mac.l %d6,%d4,<<,(%a2)+&,%a3,%acc1
+ mac.l %d6,%d4,<<,(%a2)+&,%a3,%acc2
+ mac.l %d6,%d4,<<,(%a2)+&,%d2,%acc1
+ mac.l %d6,%d4,<<,(%a2)+&,%d2,%acc2
+ mac.l %d6,%d4,<<,(%a2)+&,%a7,%acc1
+ mac.l %d6,%d4,<<,(%a2)+&,%a7,%acc2
+ mac.l %d6,%d4,<<,10(%a6),%d1,%acc1
+ mac.l %d6,%d4,<<,10(%a6),%d1,%acc2
+ mac.l %d6,%d4,<<,10(%a6),%a3,%acc1
+ mac.l %d6,%d4,<<,10(%a6),%a3,%acc2
+ mac.l %d6,%d4,<<,10(%a6),%d2,%acc1
+ mac.l %d6,%d4,<<,10(%a6),%d2,%acc2
+ mac.l %d6,%d4,<<,10(%a6),%a7,%acc1
+ mac.l %d6,%d4,<<,10(%a6),%a7,%acc2
+ mac.l %d6,%d4,<<,10(%a6)&,%d1,%acc1
+ mac.l %d6,%d4,<<,10(%a6)&,%d1,%acc2
+ mac.l %d6,%d4,<<,10(%a6)&,%a3,%acc1
+ mac.l %d6,%d4,<<,10(%a6)&,%a3,%acc2
+ mac.l %d6,%d4,<<,10(%a6)&,%d2,%acc1
+ mac.l %d6,%d4,<<,10(%a6)&,%d2,%acc2
+ mac.l %d6,%d4,<<,10(%a6)&,%a7,%acc1
+ mac.l %d6,%d4,<<,10(%a6)&,%a7,%acc2
+ mac.l %d6,%d4,<<,-(%a1),%d1,%acc1
+ mac.l %d6,%d4,<<,-(%a1),%d1,%acc2
+ mac.l %d6,%d4,<<,-(%a1),%a3,%acc1
+ mac.l %d6,%d4,<<,-(%a1),%a3,%acc2
+ mac.l %d6,%d4,<<,-(%a1),%d2,%acc1
+ mac.l %d6,%d4,<<,-(%a1),%d2,%acc2
+ mac.l %d6,%d4,<<,-(%a1),%a7,%acc1
+ mac.l %d6,%d4,<<,-(%a1),%a7,%acc2
+ mac.l %d6,%d4,<<,-(%a1)&,%d1,%acc1
+ mac.l %d6,%d4,<<,-(%a1)&,%d1,%acc2
+ mac.l %d6,%d4,<<,-(%a1)&,%a3,%acc1
+ mac.l %d6,%d4,<<,-(%a1)&,%a3,%acc2
+ mac.l %d6,%d4,<<,-(%a1)&,%d2,%acc1
+ mac.l %d6,%d4,<<,-(%a1)&,%d2,%acc2
+ mac.l %d6,%d4,<<,-(%a1)&,%a7,%acc1
+ mac.l %d6,%d4,<<,-(%a1)&,%a7,%acc2
+ mac.l %d6,%d4,>>,(%a3),%d1,%acc1
+ mac.l %d6,%d4,>>,(%a3),%d1,%acc2
+ mac.l %d6,%d4,>>,(%a3),%a3,%acc1
+ mac.l %d6,%d4,>>,(%a3),%a3,%acc2
+ mac.l %d6,%d4,>>,(%a3),%d2,%acc1
+ mac.l %d6,%d4,>>,(%a3),%d2,%acc2
+ mac.l %d6,%d4,>>,(%a3),%a7,%acc1
+ mac.l %d6,%d4,>>,(%a3),%a7,%acc2
+ mac.l %d6,%d4,>>,(%a3)&,%d1,%acc1
+ mac.l %d6,%d4,>>,(%a3)&,%d1,%acc2
+ mac.l %d6,%d4,>>,(%a3)&,%a3,%acc1
+ mac.l %d6,%d4,>>,(%a3)&,%a3,%acc2
+ mac.l %d6,%d4,>>,(%a3)&,%d2,%acc1
+ mac.l %d6,%d4,>>,(%a3)&,%d2,%acc2
+ mac.l %d6,%d4,>>,(%a3)&,%a7,%acc1
+ mac.l %d6,%d4,>>,(%a3)&,%a7,%acc2
+ mac.l %d6,%d4,>>,(%a2)+,%d1,%acc1
+ mac.l %d6,%d4,>>,(%a2)+,%d1,%acc2
+ mac.l %d6,%d4,>>,(%a2)+,%a3,%acc1
+ mac.l %d6,%d4,>>,(%a2)+,%a3,%acc2
+ mac.l %d6,%d4,>>,(%a2)+,%d2,%acc1
+ mac.l %d6,%d4,>>,(%a2)+,%d2,%acc2
+ mac.l %d6,%d4,>>,(%a2)+,%a7,%acc1
+ mac.l %d6,%d4,>>,(%a2)+,%a7,%acc2
+ mac.l %d6,%d4,>>,(%a2)+&,%d1,%acc1
+ mac.l %d6,%d4,>>,(%a2)+&,%d1,%acc2
+ mac.l %d6,%d4,>>,(%a2)+&,%a3,%acc1
+ mac.l %d6,%d4,>>,(%a2)+&,%a3,%acc2
+ mac.l %d6,%d4,>>,(%a2)+&,%d2,%acc1
+ mac.l %d6,%d4,>>,(%a2)+&,%d2,%acc2
+ mac.l %d6,%d4,>>,(%a2)+&,%a7,%acc1
+ mac.l %d6,%d4,>>,(%a2)+&,%a7,%acc2
+ mac.l %d6,%d4,>>,10(%a6),%d1,%acc1
+ mac.l %d6,%d4,>>,10(%a6),%d1,%acc2
+ mac.l %d6,%d4,>>,10(%a6),%a3,%acc1
+ mac.l %d6,%d4,>>,10(%a6),%a3,%acc2
+ mac.l %d6,%d4,>>,10(%a6),%d2,%acc1
+ mac.l %d6,%d4,>>,10(%a6),%d2,%acc2
+ mac.l %d6,%d4,>>,10(%a6),%a7,%acc1
+ mac.l %d6,%d4,>>,10(%a6),%a7,%acc2
+ mac.l %d6,%d4,>>,10(%a6)&,%d1,%acc1
+ mac.l %d6,%d4,>>,10(%a6)&,%d1,%acc2
+ mac.l %d6,%d4,>>,10(%a6)&,%a3,%acc1
+ mac.l %d6,%d4,>>,10(%a6)&,%a3,%acc2
+ mac.l %d6,%d4,>>,10(%a6)&,%d2,%acc1
+ mac.l %d6,%d4,>>,10(%a6)&,%d2,%acc2
+ mac.l %d6,%d4,>>,10(%a6)&,%a7,%acc1
+ mac.l %d6,%d4,>>,10(%a6)&,%a7,%acc2
+ mac.l %d6,%d4,>>,-(%a1),%d1,%acc1
+ mac.l %d6,%d4,>>,-(%a1),%d1,%acc2
+ mac.l %d6,%d4,>>,-(%a1),%a3,%acc1
+ mac.l %d6,%d4,>>,-(%a1),%a3,%acc2
+ mac.l %d6,%d4,>>,-(%a1),%d2,%acc1
+ mac.l %d6,%d4,>>,-(%a1),%d2,%acc2
+ mac.l %d6,%d4,>>,-(%a1),%a7,%acc1
+ mac.l %d6,%d4,>>,-(%a1),%a7,%acc2
+ mac.l %d6,%d4,>>,-(%a1)&,%d1,%acc1
+ mac.l %d6,%d4,>>,-(%a1)&,%d1,%acc2
+ mac.l %d6,%d4,>>,-(%a1)&,%a3,%acc1
+ mac.l %d6,%d4,>>,-(%a1)&,%a3,%acc2
+ mac.l %d6,%d4,>>,-(%a1)&,%d2,%acc1
+ mac.l %d6,%d4,>>,-(%a1)&,%d2,%acc2
+ mac.l %d6,%d4,>>,-(%a1)&,%a7,%acc1
+ mac.l %d6,%d4,>>,-(%a1)&,%a7,%acc2
+ mac.l %d6,%d4,#1,(%a3),%d1,%acc1
+ mac.l %d6,%d4,#1,(%a3),%d1,%acc2
+ mac.l %d6,%d4,#1,(%a3),%a3,%acc1
+ mac.l %d6,%d4,#1,(%a3),%a3,%acc2
+ mac.l %d6,%d4,#1,(%a3),%d2,%acc1
+ mac.l %d6,%d4,#1,(%a3),%d2,%acc2
+ mac.l %d6,%d4,#1,(%a3),%a7,%acc1
+ mac.l %d6,%d4,#1,(%a3),%a7,%acc2
+ mac.l %d6,%d4,#1,(%a3)&,%d1,%acc1
+ mac.l %d6,%d4,#1,(%a3)&,%d1,%acc2
+ mac.l %d6,%d4,#1,(%a3)&,%a3,%acc1
+ mac.l %d6,%d4,#1,(%a3)&,%a3,%acc2
+ mac.l %d6,%d4,#1,(%a3)&,%d2,%acc1
+ mac.l %d6,%d4,#1,(%a3)&,%d2,%acc2
+ mac.l %d6,%d4,#1,(%a3)&,%a7,%acc1
+ mac.l %d6,%d4,#1,(%a3)&,%a7,%acc2
+ mac.l %d6,%d4,#1,(%a2)+,%d1,%acc1
+ mac.l %d6,%d4,#1,(%a2)+,%d1,%acc2
+ mac.l %d6,%d4,#1,(%a2)+,%a3,%acc1
+ mac.l %d6,%d4,#1,(%a2)+,%a3,%acc2
+ mac.l %d6,%d4,#1,(%a2)+,%d2,%acc1
+ mac.l %d6,%d4,#1,(%a2)+,%d2,%acc2
+ mac.l %d6,%d4,#1,(%a2)+,%a7,%acc1
+ mac.l %d6,%d4,#1,(%a2)+,%a7,%acc2
+ mac.l %d6,%d4,#1,(%a2)+&,%d1,%acc1
+ mac.l %d6,%d4,#1,(%a2)+&,%d1,%acc2
+ mac.l %d6,%d4,#1,(%a2)+&,%a3,%acc1
+ mac.l %d6,%d4,#1,(%a2)+&,%a3,%acc2
+ mac.l %d6,%d4,#1,(%a2)+&,%d2,%acc1
+ mac.l %d6,%d4,#1,(%a2)+&,%d2,%acc2
+ mac.l %d6,%d4,#1,(%a2)+&,%a7,%acc1
+ mac.l %d6,%d4,#1,(%a2)+&,%a7,%acc2
+ mac.l %d6,%d4,#1,10(%a6),%d1,%acc1
+ mac.l %d6,%d4,#1,10(%a6),%d1,%acc2
+ mac.l %d6,%d4,#1,10(%a6),%a3,%acc1
+ mac.l %d6,%d4,#1,10(%a6),%a3,%acc2
+ mac.l %d6,%d4,#1,10(%a6),%d2,%acc1
+ mac.l %d6,%d4,#1,10(%a6),%d2,%acc2
+ mac.l %d6,%d4,#1,10(%a6),%a7,%acc1
+ mac.l %d6,%d4,#1,10(%a6),%a7,%acc2
+ mac.l %d6,%d4,#1,10(%a6)&,%d1,%acc1
+ mac.l %d6,%d4,#1,10(%a6)&,%d1,%acc2
+ mac.l %d6,%d4,#1,10(%a6)&,%a3,%acc1
+ mac.l %d6,%d4,#1,10(%a6)&,%a3,%acc2
+ mac.l %d6,%d4,#1,10(%a6)&,%d2,%acc1
+ mac.l %d6,%d4,#1,10(%a6)&,%d2,%acc2
+ mac.l %d6,%d4,#1,10(%a6)&,%a7,%acc1
+ mac.l %d6,%d4,#1,10(%a6)&,%a7,%acc2
+ mac.l %d6,%d4,#1,-(%a1),%d1,%acc1
+ mac.l %d6,%d4,#1,-(%a1),%d1,%acc2
+ mac.l %d6,%d4,#1,-(%a1),%a3,%acc1
+ mac.l %d6,%d4,#1,-(%a1),%a3,%acc2
+ mac.l %d6,%d4,#1,-(%a1),%d2,%acc1
+ mac.l %d6,%d4,#1,-(%a1),%d2,%acc2
+ mac.l %d6,%d4,#1,-(%a1),%a7,%acc1
+ mac.l %d6,%d4,#1,-(%a1),%a7,%acc2
+ mac.l %d6,%d4,#1,-(%a1)&,%d1,%acc1
+ mac.l %d6,%d4,#1,-(%a1)&,%d1,%acc2
+ mac.l %d6,%d4,#1,-(%a1)&,%a3,%acc1
+ mac.l %d6,%d4,#1,-(%a1)&,%a3,%acc2
+ mac.l %d6,%d4,#1,-(%a1)&,%d2,%acc1
+ mac.l %d6,%d4,#1,-(%a1)&,%d2,%acc2
+ mac.l %d6,%d4,#1,-(%a1)&,%a7,%acc1
+ mac.l %d6,%d4,#1,-(%a1)&,%a7,%acc2
+ mac.l %d6,%d4,#-1,(%a3),%d1,%acc1
+ mac.l %d6,%d4,#-1,(%a3),%d1,%acc2
+ mac.l %d6,%d4,#-1,(%a3),%a3,%acc1
+ mac.l %d6,%d4,#-1,(%a3),%a3,%acc2
+ mac.l %d6,%d4,#-1,(%a3),%d2,%acc1
+ mac.l %d6,%d4,#-1,(%a3),%d2,%acc2
+ mac.l %d6,%d4,#-1,(%a3),%a7,%acc1
+ mac.l %d6,%d4,#-1,(%a3),%a7,%acc2
+ mac.l %d6,%d4,#-1,(%a3)&,%d1,%acc1
+ mac.l %d6,%d4,#-1,(%a3)&,%d1,%acc2
+ mac.l %d6,%d4,#-1,(%a3)&,%a3,%acc1
+ mac.l %d6,%d4,#-1,(%a3)&,%a3,%acc2
+ mac.l %d6,%d4,#-1,(%a3)&,%d2,%acc1
+ mac.l %d6,%d4,#-1,(%a3)&,%d2,%acc2
+ mac.l %d6,%d4,#-1,(%a3)&,%a7,%acc1
+ mac.l %d6,%d4,#-1,(%a3)&,%a7,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+,%d1,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+,%d1,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+,%a3,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+,%a3,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+,%d2,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+,%d2,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+,%a7,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+,%a7,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+&,%d1,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+&,%d1,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+&,%a3,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+&,%a3,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+&,%d2,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+&,%d2,%acc2
+ mac.l %d6,%d4,#-1,(%a2)+&,%a7,%acc1
+ mac.l %d6,%d4,#-1,(%a2)+&,%a7,%acc2
+ mac.l %d6,%d4,#-1,10(%a6),%d1,%acc1
+ mac.l %d6,%d4,#-1,10(%a6),%d1,%acc2
+ mac.l %d6,%d4,#-1,10(%a6),%a3,%acc1
+ mac.l %d6,%d4,#-1,10(%a6),%a3,%acc2
+ mac.l %d6,%d4,#-1,10(%a6),%d2,%acc1
+ mac.l %d6,%d4,#-1,10(%a6),%d2,%acc2
+ mac.l %d6,%d4,#-1,10(%a6),%a7,%acc1
+ mac.l %d6,%d4,#-1,10(%a6),%a7,%acc2
+ mac.l %d6,%d4,#-1,10(%a6)&,%d1,%acc1
+ mac.l %d6,%d4,#-1,10(%a6)&,%d1,%acc2
+ mac.l %d6,%d4,#-1,10(%a6)&,%a3,%acc1
+ mac.l %d6,%d4,#-1,10(%a6)&,%a3,%acc2
+ mac.l %d6,%d4,#-1,10(%a6)&,%d2,%acc1
+ mac.l %d6,%d4,#-1,10(%a6)&,%d2,%acc2
+ mac.l %d6,%d4,#-1,10(%a6)&,%a7,%acc1
+ mac.l %d6,%d4,#-1,10(%a6)&,%a7,%acc2
+ mac.l %d6,%d4,#-1,-(%a1),%d1,%acc1
+ mac.l %d6,%d4,#-1,-(%a1),%d1,%acc2
+ mac.l %d6,%d4,#-1,-(%a1),%a3,%acc1
+ mac.l %d6,%d4,#-1,-(%a1),%a3,%acc2
+ mac.l %d6,%d4,#-1,-(%a1),%d2,%acc1
+ mac.l %d6,%d4,#-1,-(%a1),%d2,%acc2
+ mac.l %d6,%d4,#-1,-(%a1),%a7,%acc1
+ mac.l %d6,%d4,#-1,-(%a1),%a7,%acc2
+ mac.l %d6,%d4,#-1,-(%a1)&,%d1,%acc1
+ mac.l %d6,%d4,#-1,-(%a1)&,%d1,%acc2
+ mac.l %d6,%d4,#-1,-(%a1)&,%a3,%acc1
+ mac.l %d6,%d4,#-1,-(%a1)&,%a3,%acc2
+ mac.l %d6,%d4,#-1,-(%a1)&,%d2,%acc1
+ mac.l %d6,%d4,#-1,-(%a1)&,%d2,%acc2
+ mac.l %d6,%d4,#-1,-(%a1)&,%a7,%acc1
+ mac.l %d6,%d4,#-1,-(%a1)&,%a7,%acc2
diff --git a/gas/testsuite/gas/m68k/mcf-mac.d b/gas/testsuite/gas/m68k/mcf-mac.d
new file mode 100644
index 0000000..e6f8750
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-mac.d
@@ -0,0 +1,3325 @@
+#name: mcf-mac
+#objdump: -d --architecture=m68k:5407
+#as: -m5407
+
+.*: file format .*
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: a182 movel %acc,%d2
+ 2: a189 movel %acc,%a1
+ 4: a989 movel %macsr,%a1
+ 6: a982 movel %macsr,%d2
+ 8: ad89 movel %mask,%a1
+ a: ad82 movel %mask,%d2
+ c: a9c0 movel %macsr,%ccr
+ e: a13c 1234 5678 movel #305419896,%acc
+ 14: a101 movel %d1,%acc
+ 16: a10a movel %a2,%acc
+ 18: a93c 1234 5678 movel #305419896,%macsr
+ 1e: a901 movel %d1,%macsr
+ 20: a90a movel %a2,%macsr
+ 22: ad3c 1234 5678 movel #305419896,%mask
+ 28: ad01 movel %d1,%mask
+ 2a: ad0a movel %a2,%mask
+ 2c: a449 0080 macw %a1l,%a2u,
+ 30: a449 0280 macw %a1l,%a2u,<<
+ 34: a449 0680 macw %a1l,%a2u,>>
+ 38: a449 0280 macw %a1l,%a2u,<<
+ 3c: a449 0680 macw %a1l,%a2u,>>
+ 40: a609 0000 macw %a1l,%d3l,>>
+ 44: a609 0200 macw %a1l,%d3l,<<
+ 48: a609 0600 macw %a1l,%d3l,>>
+ 4c: a609 0200 macw %a1l,%d3l,<<
+ 50: a609 0600 macw %a1l,%d3l,>>
+ 54: ae49 0080 macw %a1l,%spu,>>
+ 58: ae49 0280 macw %a1l,%spu,<<
+ 5c: ae49 0680 macw %a1l,%spu,>>
+ 60: ae49 0280 macw %a1l,%spu,<<
+ 64: ae49 0680 macw %a1l,%spu,>>
+ 68: a209 0000 macw %a1l,%d1l,<<
+ 6c: a209 0200 macw %a1l,%d1l,<<
+ 70: a209 0600 macw %a1l,%d1l,>>
+ 74: a209 0200 macw %a1l,%d1l,<<
+ 78: a209 0600 macw %a1l,%d1l,>>
+ 7c: a442 00c0 macw %d2u,%a2u,
+ 80: a442 02c0 macw %d2u,%a2u,<<
+ 84: a442 06c0 macw %d2u,%a2u,>>
+ 88: a442 02c0 macw %d2u,%a2u,<<
+ 8c: a442 06c0 macw %d2u,%a2u,>>
+ 90: a602 0040 macw %d2u,%d3l,>>
+ 94: a602 0240 macw %d2u,%d3l,<<
+ 98: a602 0640 macw %d2u,%d3l,>>
+ 9c: a602 0240 macw %d2u,%d3l,<<
+ a0: a602 0640 macw %d2u,%d3l,>>
+ a4: ae42 00c0 macw %d2u,%spu,>>
+ a8: ae42 02c0 macw %d2u,%spu,<<
+ ac: ae42 06c0 macw %d2u,%spu,>>
+ b0: ae42 02c0 macw %d2u,%spu,<<
+ b4: ae42 06c0 macw %d2u,%spu,>>
+ b8: a202 0040 macw %d2u,%d1l,<<
+ bc: a202 0240 macw %d2u,%d1l,<<
+ c0: a202 0640 macw %d2u,%d1l,>>
+ c4: a202 0240 macw %d2u,%d1l,<<
+ c8: a202 0640 macw %d2u,%d1l,>>
+ cc: a44d 0080 macw %a5l,%a2u,
+ d0: a44d 0280 macw %a5l,%a2u,<<
+ d4: a44d 0680 macw %a5l,%a2u,>>
+ d8: a44d 0280 macw %a5l,%a2u,<<
+ dc: a44d 0680 macw %a5l,%a2u,>>
+ e0: a60d 0000 macw %a5l,%d3l,>>
+ e4: a60d 0200 macw %a5l,%d3l,<<
+ e8: a60d 0600 macw %a5l,%d3l,>>
+ ec: a60d 0200 macw %a5l,%d3l,<<
+ f0: a60d 0600 macw %a5l,%d3l,>>
+ f4: ae4d 0080 macw %a5l,%spu,>>
+ f8: ae4d 0280 macw %a5l,%spu,<<
+ fc: ae4d 0680 macw %a5l,%spu,>>
+ 100: ae4d 0280 macw %a5l,%spu,<<
+ 104: ae4d 0680 macw %a5l,%spu,>>
+ 108: a20d 0000 macw %a5l,%d1l,<<
+ 10c: a20d 0200 macw %a5l,%d1l,<<
+ 110: a20d 0600 macw %a5l,%d1l,>>
+ 114: a20d 0200 macw %a5l,%d1l,<<
+ 118: a20d 0600 macw %a5l,%d1l,>>
+ 11c: a446 00c0 macw %d6u,%a2u,
+ 120: a446 02c0 macw %d6u,%a2u,<<
+ 124: a446 06c0 macw %d6u,%a2u,>>
+ 128: a446 02c0 macw %d6u,%a2u,<<
+ 12c: a446 06c0 macw %d6u,%a2u,>>
+ 130: a606 0040 macw %d6u,%d3l,>>
+ 134: a606 0240 macw %d6u,%d3l,<<
+ 138: a606 0640 macw %d6u,%d3l,>>
+ 13c: a606 0240 macw %d6u,%d3l,<<
+ 140: a606 0640 macw %d6u,%d3l,>>
+ 144: ae46 00c0 macw %d6u,%spu,>>
+ 148: ae46 02c0 macw %d6u,%spu,<<
+ 14c: ae46 06c0 macw %d6u,%spu,>>
+ 150: ae46 02c0 macw %d6u,%spu,<<
+ 154: ae46 06c0 macw %d6u,%spu,>>
+ 158: a206 0040 macw %d6u,%d1l,<<
+ 15c: a206 0240 macw %d6u,%d1l,<<
+ 160: a206 0640 macw %d6u,%d1l,>>
+ 164: a206 0240 macw %d6u,%d1l,<<
+ 168: a206 0640 macw %d6u,%d1l,>>
+ 16c: a293 a089 macw %a1l,%a2u,%a3@,%d1
+ 170: a6d3 a089 macw %a1l,%a2u,%a3@,%a3
+ 174: a493 a089 macw %a1l,%a2u,%a3@,%d2
+ 178: aed3 a089 macw %a1l,%a2u,%a3@,%sp
+ 17c: a293 a0a9 macw %a1l,%a2u,<<,%a3@&,%d1
+ 180: a6d3 a0a9 macw %a1l,%a2u,>>,%a3@&,%a3
+ 184: a493 a0a9 macw %a1l,%a2u,,%a3@&,%d2
+ 188: aed3 a0a9 macw %a1l,%a2u,>>,%a3@&,%sp
+ 18c: a29a a089 macw %a1l,%a2u,%a2@\+,%d1
+ 190: a6da a089 macw %a1l,%a2u,%a2@\+,%a3
+ 194: a49a a089 macw %a1l,%a2u,%a2@\+,%d2
+ 198: aeda a089 macw %a1l,%a2u,%a2@\+,%sp
+ 19c: a29a a0a9 macw %a1l,%a2u,<<,%a2@\+&,%d1
+ 1a0: a6da a0a9 macw %a1l,%a2u,>>,%a2@\+&,%a3
+ 1a4: a49a a0a9 macw %a1l,%a2u,,%a2@\+&,%d2
+ 1a8: aeda a0a9 macw %a1l,%a2u,>>,%a2@\+&,%sp
+ 1ac: a2ae a089 000a macw %a1l,%a2u,%fp@\(10\),%d1
+ 1b2: a6ee a089 000a macw %a1l,%a2u,%fp@\(10\),%a3
+ 1b8: a4ae a089 000a macw %a1l,%a2u,%fp@\(10\),%d2
+ 1be: aeee a089 000a macw %a1l,%a2u,%fp@\(10\),%sp
+ 1c4: a2ae a0a9 000a macw %a1l,%a2u,<<,%fp@\(10\)&,%d1
+ 1ca: a6ee a0a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%a3
+ 1d0: a4ae a0a9 000a macw %a1l,%a2u,,%fp@\(10\)&,%d2
+ 1d6: aeee a0a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%sp
+ 1dc: a2a1 a089 macw %a1l,%a2u,%a1@-,%d1
+ 1e0: a6e1 a089 macw %a1l,%a2u,%a1@-,%a3
+ 1e4: a4a1 a089 macw %a1l,%a2u,%a1@-,%d2
+ 1e8: aee1 a089 macw %a1l,%a2u,%a1@-,%sp
+ 1ec: a2a1 a0a9 macw %a1l,%a2u,<<,%a1@-&,%d1
+ 1f0: a6e1 a0a9 macw %a1l,%a2u,>>,%a1@-&,%a3
+ 1f4: a4a1 a0a9 macw %a1l,%a2u,,%a1@-&,%d2
+ 1f8: aee1 a0a9 macw %a1l,%a2u,>>,%a1@-&,%sp
+ 1fc: a293 a289 macw %a1l,%a2u,<<,%a3@,%d1
+ 200: a6d3 a289 macw %a1l,%a2u,>>,%a3@,%a3
+ 204: a493 a289 macw %a1l,%a2u,,%a3@,%d2
+ 208: aed3 a289 macw %a1l,%a2u,>>,%a3@,%sp
+ 20c: a293 a2a9 macw %a1l,%a2u,<<,%a3@&,%d1
+ 210: a6d3 a2a9 macw %a1l,%a2u,>>,%a3@&,%a3
+ 214: a493 a2a9 macw %a1l,%a2u,,%a3@&,%d2
+ 218: aed3 a2a9 macw %a1l,%a2u,>>,%a3@&,%sp
+ 21c: a29a a289 macw %a1l,%a2u,<<,%a2@\+,%d1
+ 220: a6da a289 macw %a1l,%a2u,>>,%a2@\+,%a3
+ 224: a49a a289 macw %a1l,%a2u,,%a2@\+,%d2
+ 228: aeda a289 macw %a1l,%a2u,>>,%a2@\+,%sp
+ 22c: a29a a2a9 macw %a1l,%a2u,<<,%a2@\+&,%d1
+ 230: a6da a2a9 macw %a1l,%a2u,>>,%a2@\+&,%a3
+ 234: a49a a2a9 macw %a1l,%a2u,,%a2@\+&,%d2
+ 238: aeda a2a9 macw %a1l,%a2u,>>,%a2@\+&,%sp
+ 23c: a2ae a289 000a macw %a1l,%a2u,<<,%fp@\(10\),%d1
+ 242: a6ee a289 000a macw %a1l,%a2u,>>,%fp@\(10\),%a3
+ 248: a4ae a289 000a macw %a1l,%a2u,,%fp@\(10\),%d2
+ 24e: aeee a289 000a macw %a1l,%a2u,>>,%fp@\(10\),%sp
+ 254: a2ae a2a9 000a macw %a1l,%a2u,<<,%fp@\(10\)&,%d1
+ 25a: a6ee a2a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%a3
+ 260: a4ae a2a9 000a macw %a1l,%a2u,,%fp@\(10\)&,%d2
+ 266: aeee a2a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%sp
+ 26c: a2a1 a289 macw %a1l,%a2u,<<,%a1@-,%d1
+ 270: a6e1 a289 macw %a1l,%a2u,>>,%a1@-,%a3
+ 274: a4a1 a289 macw %a1l,%a2u,,%a1@-,%d2
+ 278: aee1 a289 macw %a1l,%a2u,>>,%a1@-,%sp
+ 27c: a2a1 a2a9 macw %a1l,%a2u,<<,%a1@-&,%d1
+ 280: a6e1 a2a9 macw %a1l,%a2u,>>,%a1@-&,%a3
+ 284: a4a1 a2a9 macw %a1l,%a2u,,%a1@-&,%d2
+ 288: aee1 a2a9 macw %a1l,%a2u,>>,%a1@-&,%sp
+ 28c: a293 a689 macw %a1l,%a2u,<<,%a3@,%d1
+ 290: a6d3 a689 macw %a1l,%a2u,>>,%a3@,%a3
+ 294: a493 a689 macw %a1l,%a2u,,%a3@,%d2
+ 298: aed3 a689 macw %a1l,%a2u,>>,%a3@,%sp
+ 29c: a293 a6a9 macw %a1l,%a2u,<<,%a3@&,%d1
+ 2a0: a6d3 a6a9 macw %a1l,%a2u,>>,%a3@&,%a3
+ 2a4: a493 a6a9 macw %a1l,%a2u,,%a3@&,%d2
+ 2a8: aed3 a6a9 macw %a1l,%a2u,>>,%a3@&,%sp
+ 2ac: a29a a689 macw %a1l,%a2u,<<,%a2@\+,%d1
+ 2b0: a6da a689 macw %a1l,%a2u,>>,%a2@\+,%a3
+ 2b4: a49a a689 macw %a1l,%a2u,,%a2@\+,%d2
+ 2b8: aeda a689 macw %a1l,%a2u,>>,%a2@\+,%sp
+ 2bc: a29a a6a9 macw %a1l,%a2u,<<,%a2@\+&,%d1
+ 2c0: a6da a6a9 macw %a1l,%a2u,>>,%a2@\+&,%a3
+ 2c4: a49a a6a9 macw %a1l,%a2u,,%a2@\+&,%d2
+ 2c8: aeda a6a9 macw %a1l,%a2u,>>,%a2@\+&,%sp
+ 2cc: a2ae a689 000a macw %a1l,%a2u,<<,%fp@\(10\),%d1
+ 2d2: a6ee a689 000a macw %a1l,%a2u,>>,%fp@\(10\),%a3
+ 2d8: a4ae a689 000a macw %a1l,%a2u,,%fp@\(10\),%d2
+ 2de: aeee a689 000a macw %a1l,%a2u,>>,%fp@\(10\),%sp
+ 2e4: a2ae a6a9 000a macw %a1l,%a2u,<<,%fp@\(10\)&,%d1
+ 2ea: a6ee a6a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%a3
+ 2f0: a4ae a6a9 000a macw %a1l,%a2u,,%fp@\(10\)&,%d2
+ 2f6: aeee a6a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%sp
+ 2fc: a2a1 a689 macw %a1l,%a2u,<<,%a1@-,%d1
+ 300: a6e1 a689 macw %a1l,%a2u,>>,%a1@-,%a3
+ 304: a4a1 a689 macw %a1l,%a2u,,%a1@-,%d2
+ 308: aee1 a689 macw %a1l,%a2u,>>,%a1@-,%sp
+ 30c: a2a1 a6a9 macw %a1l,%a2u,<<,%a1@-&,%d1
+ 310: a6e1 a6a9 macw %a1l,%a2u,>>,%a1@-&,%a3
+ 314: a4a1 a6a9 macw %a1l,%a2u,,%a1@-&,%d2
+ 318: aee1 a6a9 macw %a1l,%a2u,>>,%a1@-&,%sp
+ 31c: a293 a289 macw %a1l,%a2u,<<,%a3@,%d1
+ 320: a6d3 a289 macw %a1l,%a2u,>>,%a3@,%a3
+ 324: a493 a289 macw %a1l,%a2u,,%a3@,%d2
+ 328: aed3 a289 macw %a1l,%a2u,>>,%a3@,%sp
+ 32c: a293 a2a9 macw %a1l,%a2u,<<,%a3@&,%d1
+ 330: a6d3 a2a9 macw %a1l,%a2u,>>,%a3@&,%a3
+ 334: a493 a2a9 macw %a1l,%a2u,,%a3@&,%d2
+ 338: aed3 a2a9 macw %a1l,%a2u,>>,%a3@&,%sp
+ 33c: a29a a289 macw %a1l,%a2u,<<,%a2@\+,%d1
+ 340: a6da a289 macw %a1l,%a2u,>>,%a2@\+,%a3
+ 344: a49a a289 macw %a1l,%a2u,,%a2@\+,%d2
+ 348: aeda a289 macw %a1l,%a2u,>>,%a2@\+,%sp
+ 34c: a29a a2a9 macw %a1l,%a2u,<<,%a2@\+&,%d1
+ 350: a6da a2a9 macw %a1l,%a2u,>>,%a2@\+&,%a3
+ 354: a49a a2a9 macw %a1l,%a2u,,%a2@\+&,%d2
+ 358: aeda a2a9 macw %a1l,%a2u,>>,%a2@\+&,%sp
+ 35c: a2ae a289 000a macw %a1l,%a2u,<<,%fp@\(10\),%d1
+ 362: a6ee a289 000a macw %a1l,%a2u,>>,%fp@\(10\),%a3
+ 368: a4ae a289 000a macw %a1l,%a2u,,%fp@\(10\),%d2
+ 36e: aeee a289 000a macw %a1l,%a2u,>>,%fp@\(10\),%sp
+ 374: a2ae a2a9 000a macw %a1l,%a2u,<<,%fp@\(10\)&,%d1
+ 37a: a6ee a2a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%a3
+ 380: a4ae a2a9 000a macw %a1l,%a2u,,%fp@\(10\)&,%d2
+ 386: aeee a2a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%sp
+ 38c: a2a1 a289 macw %a1l,%a2u,<<,%a1@-,%d1
+ 390: a6e1 a289 macw %a1l,%a2u,>>,%a1@-,%a3
+ 394: a4a1 a289 macw %a1l,%a2u,,%a1@-,%d2
+ 398: aee1 a289 macw %a1l,%a2u,>>,%a1@-,%sp
+ 39c: a2a1 a2a9 macw %a1l,%a2u,<<,%a1@-&,%d1
+ 3a0: a6e1 a2a9 macw %a1l,%a2u,>>,%a1@-&,%a3
+ 3a4: a4a1 a2a9 macw %a1l,%a2u,,%a1@-&,%d2
+ 3a8: aee1 a2a9 macw %a1l,%a2u,>>,%a1@-&,%sp
+ 3ac: a293 a689 macw %a1l,%a2u,<<,%a3@,%d1
+ 3b0: a6d3 a689 macw %a1l,%a2u,>>,%a3@,%a3
+ 3b4: a493 a689 macw %a1l,%a2u,,%a3@,%d2
+ 3b8: aed3 a689 macw %a1l,%a2u,>>,%a3@,%sp
+ 3bc: a293 a6a9 macw %a1l,%a2u,<<,%a3@&,%d1
+ 3c0: a6d3 a6a9 macw %a1l,%a2u,>>,%a3@&,%a3
+ 3c4: a493 a6a9 macw %a1l,%a2u,,%a3@&,%d2
+ 3c8: aed3 a6a9 macw %a1l,%a2u,>>,%a3@&,%sp
+ 3cc: a29a a689 macw %a1l,%a2u,<<,%a2@\+,%d1
+ 3d0: a6da a689 macw %a1l,%a2u,>>,%a2@\+,%a3
+ 3d4: a49a a689 macw %a1l,%a2u,,%a2@\+,%d2
+ 3d8: aeda a689 macw %a1l,%a2u,>>,%a2@\+,%sp
+ 3dc: a29a a6a9 macw %a1l,%a2u,<<,%a2@\+&,%d1
+ 3e0: a6da a6a9 macw %a1l,%a2u,>>,%a2@\+&,%a3
+ 3e4: a49a a6a9 macw %a1l,%a2u,,%a2@\+&,%d2
+ 3e8: aeda a6a9 macw %a1l,%a2u,>>,%a2@\+&,%sp
+ 3ec: a2ae a689 000a macw %a1l,%a2u,<<,%fp@\(10\),%d1
+ 3f2: a6ee a689 000a macw %a1l,%a2u,>>,%fp@\(10\),%a3
+ 3f8: a4ae a689 000a macw %a1l,%a2u,,%fp@\(10\),%d2
+ 3fe: aeee a689 000a macw %a1l,%a2u,>>,%fp@\(10\),%sp
+ 404: a2ae a6a9 000a macw %a1l,%a2u,<<,%fp@\(10\)&,%d1
+ 40a: a6ee a6a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%a3
+ 410: a4ae a6a9 000a macw %a1l,%a2u,,%fp@\(10\)&,%d2
+ 416: aeee a6a9 000a macw %a1l,%a2u,>>,%fp@\(10\)&,%sp
+ 41c: a2a1 a689 macw %a1l,%a2u,<<,%a1@-,%d1
+ 420: a6e1 a689 macw %a1l,%a2u,>>,%a1@-,%a3
+ 424: a4a1 a689 macw %a1l,%a2u,,%a1@-,%d2
+ 428: aee1 a689 macw %a1l,%a2u,>>,%a1@-,%sp
+ 42c: a2a1 a6a9 macw %a1l,%a2u,<<,%a1@-&,%d1
+ 430: a6e1 a6a9 macw %a1l,%a2u,>>,%a1@-&,%a3
+ 434: a4a1 a6a9 macw %a1l,%a2u,,%a1@-&,%d2
+ 438: aee1 a6a9 macw %a1l,%a2u,>>,%a1@-&,%sp
+ 43c: a293 3009 macw %a1l,%d3l,%a3@,%d1
+ 440: a6d3 3009 macw %a1l,%d3l,%a3@,%a3
+ 444: a493 3009 macw %a1l,%d3l,%a3@,%d2
+ 448: aed3 3009 macw %a1l,%d3l,%a3@,%sp
+ 44c: a293 3029 macw %a1l,%d3l,<<,%a3@&,%d1
+ 450: a6d3 3029 macw %a1l,%d3l,>>,%a3@&,%a3
+ 454: a493 3029 macw %a1l,%d3l,,%a3@&,%d2
+ 458: aed3 3029 macw %a1l,%d3l,>>,%a3@&,%sp
+ 45c: a29a 3009 macw %a1l,%d3l,%a2@\+,%d1
+ 460: a6da 3009 macw %a1l,%d3l,%a2@\+,%a3
+ 464: a49a 3009 macw %a1l,%d3l,%a2@\+,%d2
+ 468: aeda 3009 macw %a1l,%d3l,%a2@\+,%sp
+ 46c: a29a 3029 macw %a1l,%d3l,<<,%a2@\+&,%d1
+ 470: a6da 3029 macw %a1l,%d3l,>>,%a2@\+&,%a3
+ 474: a49a 3029 macw %a1l,%d3l,,%a2@\+&,%d2
+ 478: aeda 3029 macw %a1l,%d3l,>>,%a2@\+&,%sp
+ 47c: a2ae 3009 000a macw %a1l,%d3l,%fp@\(10\),%d1
+ 482: a6ee 3009 000a macw %a1l,%d3l,%fp@\(10\),%a3
+ 488: a4ae 3009 000a macw %a1l,%d3l,%fp@\(10\),%d2
+ 48e: aeee 3009 000a macw %a1l,%d3l,%fp@\(10\),%sp
+ 494: a2ae 3029 000a macw %a1l,%d3l,<<,%fp@\(10\)&,%d1
+ 49a: a6ee 3029 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%a3
+ 4a0: a4ae 3029 000a macw %a1l,%d3l,,%fp@\(10\)&,%d2
+ 4a6: aeee 3029 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%sp
+ 4ac: a2a1 3009 macw %a1l,%d3l,%a1@-,%d1
+ 4b0: a6e1 3009 macw %a1l,%d3l,%a1@-,%a3
+ 4b4: a4a1 3009 macw %a1l,%d3l,%a1@-,%d2
+ 4b8: aee1 3009 macw %a1l,%d3l,%a1@-,%sp
+ 4bc: a2a1 3029 macw %a1l,%d3l,<<,%a1@-&,%d1
+ 4c0: a6e1 3029 macw %a1l,%d3l,>>,%a1@-&,%a3
+ 4c4: a4a1 3029 macw %a1l,%d3l,,%a1@-&,%d2
+ 4c8: aee1 3029 macw %a1l,%d3l,>>,%a1@-&,%sp
+ 4cc: a293 3209 macw %a1l,%d3l,<<,%a3@,%d1
+ 4d0: a6d3 3209 macw %a1l,%d3l,>>,%a3@,%a3
+ 4d4: a493 3209 macw %a1l,%d3l,,%a3@,%d2
+ 4d8: aed3 3209 macw %a1l,%d3l,>>,%a3@,%sp
+ 4dc: a293 3229 macw %a1l,%d3l,<<,%a3@&,%d1
+ 4e0: a6d3 3229 macw %a1l,%d3l,>>,%a3@&,%a3
+ 4e4: a493 3229 macw %a1l,%d3l,,%a3@&,%d2
+ 4e8: aed3 3229 macw %a1l,%d3l,>>,%a3@&,%sp
+ 4ec: a29a 3209 macw %a1l,%d3l,<<,%a2@\+,%d1
+ 4f0: a6da 3209 macw %a1l,%d3l,>>,%a2@\+,%a3
+ 4f4: a49a 3209 macw %a1l,%d3l,,%a2@\+,%d2
+ 4f8: aeda 3209 macw %a1l,%d3l,>>,%a2@\+,%sp
+ 4fc: a29a 3229 macw %a1l,%d3l,<<,%a2@\+&,%d1
+ 500: a6da 3229 macw %a1l,%d3l,>>,%a2@\+&,%a3
+ 504: a49a 3229 macw %a1l,%d3l,,%a2@\+&,%d2
+ 508: aeda 3229 macw %a1l,%d3l,>>,%a2@\+&,%sp
+ 50c: a2ae 3209 000a macw %a1l,%d3l,<<,%fp@\(10\),%d1
+ 512: a6ee 3209 000a macw %a1l,%d3l,>>,%fp@\(10\),%a3
+ 518: a4ae 3209 000a macw %a1l,%d3l,,%fp@\(10\),%d2
+ 51e: aeee 3209 000a macw %a1l,%d3l,>>,%fp@\(10\),%sp
+ 524: a2ae 3229 000a macw %a1l,%d3l,<<,%fp@\(10\)&,%d1
+ 52a: a6ee 3229 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%a3
+ 530: a4ae 3229 000a macw %a1l,%d3l,,%fp@\(10\)&,%d2
+ 536: aeee 3229 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%sp
+ 53c: a2a1 3209 macw %a1l,%d3l,<<,%a1@-,%d1
+ 540: a6e1 3209 macw %a1l,%d3l,>>,%a1@-,%a3
+ 544: a4a1 3209 macw %a1l,%d3l,,%a1@-,%d2
+ 548: aee1 3209 macw %a1l,%d3l,>>,%a1@-,%sp
+ 54c: a2a1 3229 macw %a1l,%d3l,<<,%a1@-&,%d1
+ 550: a6e1 3229 macw %a1l,%d3l,>>,%a1@-&,%a3
+ 554: a4a1 3229 macw %a1l,%d3l,,%a1@-&,%d2
+ 558: aee1 3229 macw %a1l,%d3l,>>,%a1@-&,%sp
+ 55c: a293 3609 macw %a1l,%d3l,<<,%a3@,%d1
+ 560: a6d3 3609 macw %a1l,%d3l,>>,%a3@,%a3
+ 564: a493 3609 macw %a1l,%d3l,,%a3@,%d2
+ 568: aed3 3609 macw %a1l,%d3l,>>,%a3@,%sp
+ 56c: a293 3629 macw %a1l,%d3l,<<,%a3@&,%d1
+ 570: a6d3 3629 macw %a1l,%d3l,>>,%a3@&,%a3
+ 574: a493 3629 macw %a1l,%d3l,,%a3@&,%d2
+ 578: aed3 3629 macw %a1l,%d3l,>>,%a3@&,%sp
+ 57c: a29a 3609 macw %a1l,%d3l,<<,%a2@\+,%d1
+ 580: a6da 3609 macw %a1l,%d3l,>>,%a2@\+,%a3
+ 584: a49a 3609 macw %a1l,%d3l,,%a2@\+,%d2
+ 588: aeda 3609 macw %a1l,%d3l,>>,%a2@\+,%sp
+ 58c: a29a 3629 macw %a1l,%d3l,<<,%a2@\+&,%d1
+ 590: a6da 3629 macw %a1l,%d3l,>>,%a2@\+&,%a3
+ 594: a49a 3629 macw %a1l,%d3l,,%a2@\+&,%d2
+ 598: aeda 3629 macw %a1l,%d3l,>>,%a2@\+&,%sp
+ 59c: a2ae 3609 000a macw %a1l,%d3l,<<,%fp@\(10\),%d1
+ 5a2: a6ee 3609 000a macw %a1l,%d3l,>>,%fp@\(10\),%a3
+ 5a8: a4ae 3609 000a macw %a1l,%d3l,,%fp@\(10\),%d2
+ 5ae: aeee 3609 000a macw %a1l,%d3l,>>,%fp@\(10\),%sp
+ 5b4: a2ae 3629 000a macw %a1l,%d3l,<<,%fp@\(10\)&,%d1
+ 5ba: a6ee 3629 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%a3
+ 5c0: a4ae 3629 000a macw %a1l,%d3l,,%fp@\(10\)&,%d2
+ 5c6: aeee 3629 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%sp
+ 5cc: a2a1 3609 macw %a1l,%d3l,<<,%a1@-,%d1
+ 5d0: a6e1 3609 macw %a1l,%d3l,>>,%a1@-,%a3
+ 5d4: a4a1 3609 macw %a1l,%d3l,,%a1@-,%d2
+ 5d8: aee1 3609 macw %a1l,%d3l,>>,%a1@-,%sp
+ 5dc: a2a1 3629 macw %a1l,%d3l,<<,%a1@-&,%d1
+ 5e0: a6e1 3629 macw %a1l,%d3l,>>,%a1@-&,%a3
+ 5e4: a4a1 3629 macw %a1l,%d3l,,%a1@-&,%d2
+ 5e8: aee1 3629 macw %a1l,%d3l,>>,%a1@-&,%sp
+ 5ec: a293 3209 macw %a1l,%d3l,<<,%a3@,%d1
+ 5f0: a6d3 3209 macw %a1l,%d3l,>>,%a3@,%a3
+ 5f4: a493 3209 macw %a1l,%d3l,,%a3@,%d2
+ 5f8: aed3 3209 macw %a1l,%d3l,>>,%a3@,%sp
+ 5fc: a293 3229 macw %a1l,%d3l,<<,%a3@&,%d1
+ 600: a6d3 3229 macw %a1l,%d3l,>>,%a3@&,%a3
+ 604: a493 3229 macw %a1l,%d3l,,%a3@&,%d2
+ 608: aed3 3229 macw %a1l,%d3l,>>,%a3@&,%sp
+ 60c: a29a 3209 macw %a1l,%d3l,<<,%a2@\+,%d1
+ 610: a6da 3209 macw %a1l,%d3l,>>,%a2@\+,%a3
+ 614: a49a 3209 macw %a1l,%d3l,,%a2@\+,%d2
+ 618: aeda 3209 macw %a1l,%d3l,>>,%a2@\+,%sp
+ 61c: a29a 3229 macw %a1l,%d3l,<<,%a2@\+&,%d1
+ 620: a6da 3229 macw %a1l,%d3l,>>,%a2@\+&,%a3
+ 624: a49a 3229 macw %a1l,%d3l,,%a2@\+&,%d2
+ 628: aeda 3229 macw %a1l,%d3l,>>,%a2@\+&,%sp
+ 62c: a2ae 3209 000a macw %a1l,%d3l,<<,%fp@\(10\),%d1
+ 632: a6ee 3209 000a macw %a1l,%d3l,>>,%fp@\(10\),%a3
+ 638: a4ae 3209 000a macw %a1l,%d3l,,%fp@\(10\),%d2
+ 63e: aeee 3209 000a macw %a1l,%d3l,>>,%fp@\(10\),%sp
+ 644: a2ae 3229 000a macw %a1l,%d3l,<<,%fp@\(10\)&,%d1
+ 64a: a6ee 3229 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%a3
+ 650: a4ae 3229 000a macw %a1l,%d3l,,%fp@\(10\)&,%d2
+ 656: aeee 3229 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%sp
+ 65c: a2a1 3209 macw %a1l,%d3l,<<,%a1@-,%d1
+ 660: a6e1 3209 macw %a1l,%d3l,>>,%a1@-,%a3
+ 664: a4a1 3209 macw %a1l,%d3l,,%a1@-,%d2
+ 668: aee1 3209 macw %a1l,%d3l,>>,%a1@-,%sp
+ 66c: a2a1 3229 macw %a1l,%d3l,<<,%a1@-&,%d1
+ 670: a6e1 3229 macw %a1l,%d3l,>>,%a1@-&,%a3
+ 674: a4a1 3229 macw %a1l,%d3l,,%a1@-&,%d2
+ 678: aee1 3229 macw %a1l,%d3l,>>,%a1@-&,%sp
+ 67c: a293 3609 macw %a1l,%d3l,<<,%a3@,%d1
+ 680: a6d3 3609 macw %a1l,%d3l,>>,%a3@,%a3
+ 684: a493 3609 macw %a1l,%d3l,,%a3@,%d2
+ 688: aed3 3609 macw %a1l,%d3l,>>,%a3@,%sp
+ 68c: a293 3629 macw %a1l,%d3l,<<,%a3@&,%d1
+ 690: a6d3 3629 macw %a1l,%d3l,>>,%a3@&,%a3
+ 694: a493 3629 macw %a1l,%d3l,,%a3@&,%d2
+ 698: aed3 3629 macw %a1l,%d3l,>>,%a3@&,%sp
+ 69c: a29a 3609 macw %a1l,%d3l,<<,%a2@\+,%d1
+ 6a0: a6da 3609 macw %a1l,%d3l,>>,%a2@\+,%a3
+ 6a4: a49a 3609 macw %a1l,%d3l,,%a2@\+,%d2
+ 6a8: aeda 3609 macw %a1l,%d3l,>>,%a2@\+,%sp
+ 6ac: a29a 3629 macw %a1l,%d3l,<<,%a2@\+&,%d1
+ 6b0: a6da 3629 macw %a1l,%d3l,>>,%a2@\+&,%a3
+ 6b4: a49a 3629 macw %a1l,%d3l,,%a2@\+&,%d2
+ 6b8: aeda 3629 macw %a1l,%d3l,>>,%a2@\+&,%sp
+ 6bc: a2ae 3609 000a macw %a1l,%d3l,<<,%fp@\(10\),%d1
+ 6c2: a6ee 3609 000a macw %a1l,%d3l,>>,%fp@\(10\),%a3
+ 6c8: a4ae 3609 000a macw %a1l,%d3l,,%fp@\(10\),%d2
+ 6ce: aeee 3609 000a macw %a1l,%d3l,>>,%fp@\(10\),%sp
+ 6d4: a2ae 3629 000a macw %a1l,%d3l,<<,%fp@\(10\)&,%d1
+ 6da: a6ee 3629 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%a3
+ 6e0: a4ae 3629 000a macw %a1l,%d3l,,%fp@\(10\)&,%d2
+ 6e6: aeee 3629 000a macw %a1l,%d3l,>>,%fp@\(10\)&,%sp
+ 6ec: a2a1 3609 macw %a1l,%d3l,<<,%a1@-,%d1
+ 6f0: a6e1 3609 macw %a1l,%d3l,>>,%a1@-,%a3
+ 6f4: a4a1 3609 macw %a1l,%d3l,,%a1@-,%d2
+ 6f8: aee1 3609 macw %a1l,%d3l,>>,%a1@-,%sp
+ 6fc: a2a1 3629 macw %a1l,%d3l,<<,%a1@-&,%d1
+ 700: a6e1 3629 macw %a1l,%d3l,>>,%a1@-&,%a3
+ 704: a4a1 3629 macw %a1l,%d3l,,%a1@-&,%d2
+ 708: aee1 3629 macw %a1l,%d3l,>>,%a1@-&,%sp
+ 70c: a293 f089 macw %a1l,%spu,%a3@,%d1
+ 710: a6d3 f089 macw %a1l,%spu,%a3@,%a3
+ 714: a493 f089 macw %a1l,%spu,%a3@,%d2
+ 718: aed3 f089 macw %a1l,%spu,%a3@,%sp
+ 71c: a293 f0a9 macw %a1l,%spu,<<,%a3@&,%d1
+ 720: a6d3 f0a9 macw %a1l,%spu,>>,%a3@&,%a3
+ 724: a493 f0a9 macw %a1l,%spu,,%a3@&,%d2
+ 728: aed3 f0a9 macw %a1l,%spu,>>,%a3@&,%sp
+ 72c: a29a f089 macw %a1l,%spu,%a2@\+,%d1
+ 730: a6da f089 macw %a1l,%spu,%a2@\+,%a3
+ 734: a49a f089 macw %a1l,%spu,%a2@\+,%d2
+ 738: aeda f089 macw %a1l,%spu,%a2@\+,%sp
+ 73c: a29a f0a9 macw %a1l,%spu,<<,%a2@\+&,%d1
+ 740: a6da f0a9 macw %a1l,%spu,>>,%a2@\+&,%a3
+ 744: a49a f0a9 macw %a1l,%spu,,%a2@\+&,%d2
+ 748: aeda f0a9 macw %a1l,%spu,>>,%a2@\+&,%sp
+ 74c: a2ae f089 000a macw %a1l,%spu,%fp@\(10\),%d1
+ 752: a6ee f089 000a macw %a1l,%spu,%fp@\(10\),%a3
+ 758: a4ae f089 000a macw %a1l,%spu,%fp@\(10\),%d2
+ 75e: aeee f089 000a macw %a1l,%spu,%fp@\(10\),%sp
+ 764: a2ae f0a9 000a macw %a1l,%spu,<<,%fp@\(10\)&,%d1
+ 76a: a6ee f0a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%a3
+ 770: a4ae f0a9 000a macw %a1l,%spu,,%fp@\(10\)&,%d2
+ 776: aeee f0a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%sp
+ 77c: a2a1 f089 macw %a1l,%spu,%a1@-,%d1
+ 780: a6e1 f089 macw %a1l,%spu,%a1@-,%a3
+ 784: a4a1 f089 macw %a1l,%spu,%a1@-,%d2
+ 788: aee1 f089 macw %a1l,%spu,%a1@-,%sp
+ 78c: a2a1 f0a9 macw %a1l,%spu,<<,%a1@-&,%d1
+ 790: a6e1 f0a9 macw %a1l,%spu,>>,%a1@-&,%a3
+ 794: a4a1 f0a9 macw %a1l,%spu,,%a1@-&,%d2
+ 798: aee1 f0a9 macw %a1l,%spu,>>,%a1@-&,%sp
+ 79c: a293 f289 macw %a1l,%spu,<<,%a3@,%d1
+ 7a0: a6d3 f289 macw %a1l,%spu,>>,%a3@,%a3
+ 7a4: a493 f289 macw %a1l,%spu,,%a3@,%d2
+ 7a8: aed3 f289 macw %a1l,%spu,>>,%a3@,%sp
+ 7ac: a293 f2a9 macw %a1l,%spu,<<,%a3@&,%d1
+ 7b0: a6d3 f2a9 macw %a1l,%spu,>>,%a3@&,%a3
+ 7b4: a493 f2a9 macw %a1l,%spu,,%a3@&,%d2
+ 7b8: aed3 f2a9 macw %a1l,%spu,>>,%a3@&,%sp
+ 7bc: a29a f289 macw %a1l,%spu,<<,%a2@\+,%d1
+ 7c0: a6da f289 macw %a1l,%spu,>>,%a2@\+,%a3
+ 7c4: a49a f289 macw %a1l,%spu,,%a2@\+,%d2
+ 7c8: aeda f289 macw %a1l,%spu,>>,%a2@\+,%sp
+ 7cc: a29a f2a9 macw %a1l,%spu,<<,%a2@\+&,%d1
+ 7d0: a6da f2a9 macw %a1l,%spu,>>,%a2@\+&,%a3
+ 7d4: a49a f2a9 macw %a1l,%spu,,%a2@\+&,%d2
+ 7d8: aeda f2a9 macw %a1l,%spu,>>,%a2@\+&,%sp
+ 7dc: a2ae f289 000a macw %a1l,%spu,<<,%fp@\(10\),%d1
+ 7e2: a6ee f289 000a macw %a1l,%spu,>>,%fp@\(10\),%a3
+ 7e8: a4ae f289 000a macw %a1l,%spu,,%fp@\(10\),%d2
+ 7ee: aeee f289 000a macw %a1l,%spu,>>,%fp@\(10\),%sp
+ 7f4: a2ae f2a9 000a macw %a1l,%spu,<<,%fp@\(10\)&,%d1
+ 7fa: a6ee f2a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%a3
+ 800: a4ae f2a9 000a macw %a1l,%spu,,%fp@\(10\)&,%d2
+ 806: aeee f2a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%sp
+ 80c: a2a1 f289 macw %a1l,%spu,<<,%a1@-,%d1
+ 810: a6e1 f289 macw %a1l,%spu,>>,%a1@-,%a3
+ 814: a4a1 f289 macw %a1l,%spu,,%a1@-,%d2
+ 818: aee1 f289 macw %a1l,%spu,>>,%a1@-,%sp
+ 81c: a2a1 f2a9 macw %a1l,%spu,<<,%a1@-&,%d1
+ 820: a6e1 f2a9 macw %a1l,%spu,>>,%a1@-&,%a3
+ 824: a4a1 f2a9 macw %a1l,%spu,,%a1@-&,%d2
+ 828: aee1 f2a9 macw %a1l,%spu,>>,%a1@-&,%sp
+ 82c: a293 f689 macw %a1l,%spu,<<,%a3@,%d1
+ 830: a6d3 f689 macw %a1l,%spu,>>,%a3@,%a3
+ 834: a493 f689 macw %a1l,%spu,,%a3@,%d2
+ 838: aed3 f689 macw %a1l,%spu,>>,%a3@,%sp
+ 83c: a293 f6a9 macw %a1l,%spu,<<,%a3@&,%d1
+ 840: a6d3 f6a9 macw %a1l,%spu,>>,%a3@&,%a3
+ 844: a493 f6a9 macw %a1l,%spu,,%a3@&,%d2
+ 848: aed3 f6a9 macw %a1l,%spu,>>,%a3@&,%sp
+ 84c: a29a f689 macw %a1l,%spu,<<,%a2@\+,%d1
+ 850: a6da f689 macw %a1l,%spu,>>,%a2@\+,%a3
+ 854: a49a f689 macw %a1l,%spu,,%a2@\+,%d2
+ 858: aeda f689 macw %a1l,%spu,>>,%a2@\+,%sp
+ 85c: a29a f6a9 macw %a1l,%spu,<<,%a2@\+&,%d1
+ 860: a6da f6a9 macw %a1l,%spu,>>,%a2@\+&,%a3
+ 864: a49a f6a9 macw %a1l,%spu,,%a2@\+&,%d2
+ 868: aeda f6a9 macw %a1l,%spu,>>,%a2@\+&,%sp
+ 86c: a2ae f689 000a macw %a1l,%spu,<<,%fp@\(10\),%d1
+ 872: a6ee f689 000a macw %a1l,%spu,>>,%fp@\(10\),%a3
+ 878: a4ae f689 000a macw %a1l,%spu,,%fp@\(10\),%d2
+ 87e: aeee f689 000a macw %a1l,%spu,>>,%fp@\(10\),%sp
+ 884: a2ae f6a9 000a macw %a1l,%spu,<<,%fp@\(10\)&,%d1
+ 88a: a6ee f6a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%a3
+ 890: a4ae f6a9 000a macw %a1l,%spu,,%fp@\(10\)&,%d2
+ 896: aeee f6a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%sp
+ 89c: a2a1 f689 macw %a1l,%spu,<<,%a1@-,%d1
+ 8a0: a6e1 f689 macw %a1l,%spu,>>,%a1@-,%a3
+ 8a4: a4a1 f689 macw %a1l,%spu,,%a1@-,%d2
+ 8a8: aee1 f689 macw %a1l,%spu,>>,%a1@-,%sp
+ 8ac: a2a1 f6a9 macw %a1l,%spu,<<,%a1@-&,%d1
+ 8b0: a6e1 f6a9 macw %a1l,%spu,>>,%a1@-&,%a3
+ 8b4: a4a1 f6a9 macw %a1l,%spu,,%a1@-&,%d2
+ 8b8: aee1 f6a9 macw %a1l,%spu,>>,%a1@-&,%sp
+ 8bc: a293 f289 macw %a1l,%spu,<<,%a3@,%d1
+ 8c0: a6d3 f289 macw %a1l,%spu,>>,%a3@,%a3
+ 8c4: a493 f289 macw %a1l,%spu,,%a3@,%d2
+ 8c8: aed3 f289 macw %a1l,%spu,>>,%a3@,%sp
+ 8cc: a293 f2a9 macw %a1l,%spu,<<,%a3@&,%d1
+ 8d0: a6d3 f2a9 macw %a1l,%spu,>>,%a3@&,%a3
+ 8d4: a493 f2a9 macw %a1l,%spu,,%a3@&,%d2
+ 8d8: aed3 f2a9 macw %a1l,%spu,>>,%a3@&,%sp
+ 8dc: a29a f289 macw %a1l,%spu,<<,%a2@\+,%d1
+ 8e0: a6da f289 macw %a1l,%spu,>>,%a2@\+,%a3
+ 8e4: a49a f289 macw %a1l,%spu,,%a2@\+,%d2
+ 8e8: aeda f289 macw %a1l,%spu,>>,%a2@\+,%sp
+ 8ec: a29a f2a9 macw %a1l,%spu,<<,%a2@\+&,%d1
+ 8f0: a6da f2a9 macw %a1l,%spu,>>,%a2@\+&,%a3
+ 8f4: a49a f2a9 macw %a1l,%spu,,%a2@\+&,%d2
+ 8f8: aeda f2a9 macw %a1l,%spu,>>,%a2@\+&,%sp
+ 8fc: a2ae f289 000a macw %a1l,%spu,<<,%fp@\(10\),%d1
+ 902: a6ee f289 000a macw %a1l,%spu,>>,%fp@\(10\),%a3
+ 908: a4ae f289 000a macw %a1l,%spu,,%fp@\(10\),%d2
+ 90e: aeee f289 000a macw %a1l,%spu,>>,%fp@\(10\),%sp
+ 914: a2ae f2a9 000a macw %a1l,%spu,<<,%fp@\(10\)&,%d1
+ 91a: a6ee f2a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%a3
+ 920: a4ae f2a9 000a macw %a1l,%spu,,%fp@\(10\)&,%d2
+ 926: aeee f2a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%sp
+ 92c: a2a1 f289 macw %a1l,%spu,<<,%a1@-,%d1
+ 930: a6e1 f289 macw %a1l,%spu,>>,%a1@-,%a3
+ 934: a4a1 f289 macw %a1l,%spu,,%a1@-,%d2
+ 938: aee1 f289 macw %a1l,%spu,>>,%a1@-,%sp
+ 93c: a2a1 f2a9 macw %a1l,%spu,<<,%a1@-&,%d1
+ 940: a6e1 f2a9 macw %a1l,%spu,>>,%a1@-&,%a3
+ 944: a4a1 f2a9 macw %a1l,%spu,,%a1@-&,%d2
+ 948: aee1 f2a9 macw %a1l,%spu,>>,%a1@-&,%sp
+ 94c: a293 f689 macw %a1l,%spu,<<,%a3@,%d1
+ 950: a6d3 f689 macw %a1l,%spu,>>,%a3@,%a3
+ 954: a493 f689 macw %a1l,%spu,,%a3@,%d2
+ 958: aed3 f689 macw %a1l,%spu,>>,%a3@,%sp
+ 95c: a293 f6a9 macw %a1l,%spu,<<,%a3@&,%d1
+ 960: a6d3 f6a9 macw %a1l,%spu,>>,%a3@&,%a3
+ 964: a493 f6a9 macw %a1l,%spu,,%a3@&,%d2
+ 968: aed3 f6a9 macw %a1l,%spu,>>,%a3@&,%sp
+ 96c: a29a f689 macw %a1l,%spu,<<,%a2@\+,%d1
+ 970: a6da f689 macw %a1l,%spu,>>,%a2@\+,%a3
+ 974: a49a f689 macw %a1l,%spu,,%a2@\+,%d2
+ 978: aeda f689 macw %a1l,%spu,>>,%a2@\+,%sp
+ 97c: a29a f6a9 macw %a1l,%spu,<<,%a2@\+&,%d1
+ 980: a6da f6a9 macw %a1l,%spu,>>,%a2@\+&,%a3
+ 984: a49a f6a9 macw %a1l,%spu,,%a2@\+&,%d2
+ 988: aeda f6a9 macw %a1l,%spu,>>,%a2@\+&,%sp
+ 98c: a2ae f689 000a macw %a1l,%spu,<<,%fp@\(10\),%d1
+ 992: a6ee f689 000a macw %a1l,%spu,>>,%fp@\(10\),%a3
+ 998: a4ae f689 000a macw %a1l,%spu,,%fp@\(10\),%d2
+ 99e: aeee f689 000a macw %a1l,%spu,>>,%fp@\(10\),%sp
+ 9a4: a2ae f6a9 000a macw %a1l,%spu,<<,%fp@\(10\)&,%d1
+ 9aa: a6ee f6a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%a3
+ 9b0: a4ae f6a9 000a macw %a1l,%spu,,%fp@\(10\)&,%d2
+ 9b6: aeee f6a9 000a macw %a1l,%spu,>>,%fp@\(10\)&,%sp
+ 9bc: a2a1 f689 macw %a1l,%spu,<<,%a1@-,%d1
+ 9c0: a6e1 f689 macw %a1l,%spu,>>,%a1@-,%a3
+ 9c4: a4a1 f689 macw %a1l,%spu,,%a1@-,%d2
+ 9c8: aee1 f689 macw %a1l,%spu,>>,%a1@-,%sp
+ 9cc: a2a1 f6a9 macw %a1l,%spu,<<,%a1@-&,%d1
+ 9d0: a6e1 f6a9 macw %a1l,%spu,>>,%a1@-&,%a3
+ 9d4: a4a1 f6a9 macw %a1l,%spu,,%a1@-&,%d2
+ 9d8: aee1 f6a9 macw %a1l,%spu,>>,%a1@-&,%sp
+ 9dc: a293 1009 macw %a1l,%d1l,%a3@,%d1
+ 9e0: a6d3 1009 macw %a1l,%d1l,%a3@,%a3
+ 9e4: a493 1009 macw %a1l,%d1l,%a3@,%d2
+ 9e8: aed3 1009 macw %a1l,%d1l,%a3@,%sp
+ 9ec: a293 1029 macw %a1l,%d1l,<<,%a3@&,%d1
+ 9f0: a6d3 1029 macw %a1l,%d1l,>>,%a3@&,%a3
+ 9f4: a493 1029 macw %a1l,%d1l,,%a3@&,%d2
+ 9f8: aed3 1029 macw %a1l,%d1l,>>,%a3@&,%sp
+ 9fc: a29a 1009 macw %a1l,%d1l,%a2@\+,%d1
+ a00: a6da 1009 macw %a1l,%d1l,%a2@\+,%a3
+ a04: a49a 1009 macw %a1l,%d1l,%a2@\+,%d2
+ a08: aeda 1009 macw %a1l,%d1l,%a2@\+,%sp
+ a0c: a29a 1029 macw %a1l,%d1l,<<,%a2@\+&,%d1
+ a10: a6da 1029 macw %a1l,%d1l,>>,%a2@\+&,%a3
+ a14: a49a 1029 macw %a1l,%d1l,,%a2@\+&,%d2
+ a18: aeda 1029 macw %a1l,%d1l,>>,%a2@\+&,%sp
+ a1c: a2ae 1009 000a macw %a1l,%d1l,%fp@\(10\),%d1
+ a22: a6ee 1009 000a macw %a1l,%d1l,%fp@\(10\),%a3
+ a28: a4ae 1009 000a macw %a1l,%d1l,%fp@\(10\),%d2
+ a2e: aeee 1009 000a macw %a1l,%d1l,%fp@\(10\),%sp
+ a34: a2ae 1029 000a macw %a1l,%d1l,<<,%fp@\(10\)&,%d1
+ a3a: a6ee 1029 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%a3
+ a40: a4ae 1029 000a macw %a1l,%d1l,,%fp@\(10\)&,%d2
+ a46: aeee 1029 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%sp
+ a4c: a2a1 1009 macw %a1l,%d1l,%a1@-,%d1
+ a50: a6e1 1009 macw %a1l,%d1l,%a1@-,%a3
+ a54: a4a1 1009 macw %a1l,%d1l,%a1@-,%d2
+ a58: aee1 1009 macw %a1l,%d1l,%a1@-,%sp
+ a5c: a2a1 1029 macw %a1l,%d1l,<<,%a1@-&,%d1
+ a60: a6e1 1029 macw %a1l,%d1l,>>,%a1@-&,%a3
+ a64: a4a1 1029 macw %a1l,%d1l,,%a1@-&,%d2
+ a68: aee1 1029 macw %a1l,%d1l,>>,%a1@-&,%sp
+ a6c: a293 1209 macw %a1l,%d1l,<<,%a3@,%d1
+ a70: a6d3 1209 macw %a1l,%d1l,>>,%a3@,%a3
+ a74: a493 1209 macw %a1l,%d1l,,%a3@,%d2
+ a78: aed3 1209 macw %a1l,%d1l,>>,%a3@,%sp
+ a7c: a293 1229 macw %a1l,%d1l,<<,%a3@&,%d1
+ a80: a6d3 1229 macw %a1l,%d1l,>>,%a3@&,%a3
+ a84: a493 1229 macw %a1l,%d1l,,%a3@&,%d2
+ a88: aed3 1229 macw %a1l,%d1l,>>,%a3@&,%sp
+ a8c: a29a 1209 macw %a1l,%d1l,<<,%a2@\+,%d1
+ a90: a6da 1209 macw %a1l,%d1l,>>,%a2@\+,%a3
+ a94: a49a 1209 macw %a1l,%d1l,,%a2@\+,%d2
+ a98: aeda 1209 macw %a1l,%d1l,>>,%a2@\+,%sp
+ a9c: a29a 1229 macw %a1l,%d1l,<<,%a2@\+&,%d1
+ aa0: a6da 1229 macw %a1l,%d1l,>>,%a2@\+&,%a3
+ aa4: a49a 1229 macw %a1l,%d1l,,%a2@\+&,%d2
+ aa8: aeda 1229 macw %a1l,%d1l,>>,%a2@\+&,%sp
+ aac: a2ae 1209 000a macw %a1l,%d1l,<<,%fp@\(10\),%d1
+ ab2: a6ee 1209 000a macw %a1l,%d1l,>>,%fp@\(10\),%a3
+ ab8: a4ae 1209 000a macw %a1l,%d1l,,%fp@\(10\),%d2
+ abe: aeee 1209 000a macw %a1l,%d1l,>>,%fp@\(10\),%sp
+ ac4: a2ae 1229 000a macw %a1l,%d1l,<<,%fp@\(10\)&,%d1
+ aca: a6ee 1229 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%a3
+ ad0: a4ae 1229 000a macw %a1l,%d1l,,%fp@\(10\)&,%d2
+ ad6: aeee 1229 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%sp
+ adc: a2a1 1209 macw %a1l,%d1l,<<,%a1@-,%d1
+ ae0: a6e1 1209 macw %a1l,%d1l,>>,%a1@-,%a3
+ ae4: a4a1 1209 macw %a1l,%d1l,,%a1@-,%d2
+ ae8: aee1 1209 macw %a1l,%d1l,>>,%a1@-,%sp
+ aec: a2a1 1229 macw %a1l,%d1l,<<,%a1@-&,%d1
+ af0: a6e1 1229 macw %a1l,%d1l,>>,%a1@-&,%a3
+ af4: a4a1 1229 macw %a1l,%d1l,,%a1@-&,%d2
+ af8: aee1 1229 macw %a1l,%d1l,>>,%a1@-&,%sp
+ afc: a293 1609 macw %a1l,%d1l,<<,%a3@,%d1
+ b00: a6d3 1609 macw %a1l,%d1l,>>,%a3@,%a3
+ b04: a493 1609 macw %a1l,%d1l,,%a3@,%d2
+ b08: aed3 1609 macw %a1l,%d1l,>>,%a3@,%sp
+ b0c: a293 1629 macw %a1l,%d1l,<<,%a3@&,%d1
+ b10: a6d3 1629 macw %a1l,%d1l,>>,%a3@&,%a3
+ b14: a493 1629 macw %a1l,%d1l,,%a3@&,%d2
+ b18: aed3 1629 macw %a1l,%d1l,>>,%a3@&,%sp
+ b1c: a29a 1609 macw %a1l,%d1l,<<,%a2@\+,%d1
+ b20: a6da 1609 macw %a1l,%d1l,>>,%a2@\+,%a3
+ b24: a49a 1609 macw %a1l,%d1l,,%a2@\+,%d2
+ b28: aeda 1609 macw %a1l,%d1l,>>,%a2@\+,%sp
+ b2c: a29a 1629 macw %a1l,%d1l,<<,%a2@\+&,%d1
+ b30: a6da 1629 macw %a1l,%d1l,>>,%a2@\+&,%a3
+ b34: a49a 1629 macw %a1l,%d1l,,%a2@\+&,%d2
+ b38: aeda 1629 macw %a1l,%d1l,>>,%a2@\+&,%sp
+ b3c: a2ae 1609 000a macw %a1l,%d1l,<<,%fp@\(10\),%d1
+ b42: a6ee 1609 000a macw %a1l,%d1l,>>,%fp@\(10\),%a3
+ b48: a4ae 1609 000a macw %a1l,%d1l,,%fp@\(10\),%d2
+ b4e: aeee 1609 000a macw %a1l,%d1l,>>,%fp@\(10\),%sp
+ b54: a2ae 1629 000a macw %a1l,%d1l,<<,%fp@\(10\)&,%d1
+ b5a: a6ee 1629 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%a3
+ b60: a4ae 1629 000a macw %a1l,%d1l,,%fp@\(10\)&,%d2
+ b66: aeee 1629 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%sp
+ b6c: a2a1 1609 macw %a1l,%d1l,<<,%a1@-,%d1
+ b70: a6e1 1609 macw %a1l,%d1l,>>,%a1@-,%a3
+ b74: a4a1 1609 macw %a1l,%d1l,,%a1@-,%d2
+ b78: aee1 1609 macw %a1l,%d1l,>>,%a1@-,%sp
+ b7c: a2a1 1629 macw %a1l,%d1l,<<,%a1@-&,%d1
+ b80: a6e1 1629 macw %a1l,%d1l,>>,%a1@-&,%a3
+ b84: a4a1 1629 macw %a1l,%d1l,,%a1@-&,%d2
+ b88: aee1 1629 macw %a1l,%d1l,>>,%a1@-&,%sp
+ b8c: a293 1209 macw %a1l,%d1l,<<,%a3@,%d1
+ b90: a6d3 1209 macw %a1l,%d1l,>>,%a3@,%a3
+ b94: a493 1209 macw %a1l,%d1l,,%a3@,%d2
+ b98: aed3 1209 macw %a1l,%d1l,>>,%a3@,%sp
+ b9c: a293 1229 macw %a1l,%d1l,<<,%a3@&,%d1
+ ba0: a6d3 1229 macw %a1l,%d1l,>>,%a3@&,%a3
+ ba4: a493 1229 macw %a1l,%d1l,,%a3@&,%d2
+ ba8: aed3 1229 macw %a1l,%d1l,>>,%a3@&,%sp
+ bac: a29a 1209 macw %a1l,%d1l,<<,%a2@\+,%d1
+ bb0: a6da 1209 macw %a1l,%d1l,>>,%a2@\+,%a3
+ bb4: a49a 1209 macw %a1l,%d1l,,%a2@\+,%d2
+ bb8: aeda 1209 macw %a1l,%d1l,>>,%a2@\+,%sp
+ bbc: a29a 1229 macw %a1l,%d1l,<<,%a2@\+&,%d1
+ bc0: a6da 1229 macw %a1l,%d1l,>>,%a2@\+&,%a3
+ bc4: a49a 1229 macw %a1l,%d1l,,%a2@\+&,%d2
+ bc8: aeda 1229 macw %a1l,%d1l,>>,%a2@\+&,%sp
+ bcc: a2ae 1209 000a macw %a1l,%d1l,<<,%fp@\(10\),%d1
+ bd2: a6ee 1209 000a macw %a1l,%d1l,>>,%fp@\(10\),%a3
+ bd8: a4ae 1209 000a macw %a1l,%d1l,,%fp@\(10\),%d2
+ bde: aeee 1209 000a macw %a1l,%d1l,>>,%fp@\(10\),%sp
+ be4: a2ae 1229 000a macw %a1l,%d1l,<<,%fp@\(10\)&,%d1
+ bea: a6ee 1229 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%a3
+ bf0: a4ae 1229 000a macw %a1l,%d1l,,%fp@\(10\)&,%d2
+ bf6: aeee 1229 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%sp
+ bfc: a2a1 1209 macw %a1l,%d1l,<<,%a1@-,%d1
+ c00: a6e1 1209 macw %a1l,%d1l,>>,%a1@-,%a3
+ c04: a4a1 1209 macw %a1l,%d1l,,%a1@-,%d2
+ c08: aee1 1209 macw %a1l,%d1l,>>,%a1@-,%sp
+ c0c: a2a1 1229 macw %a1l,%d1l,<<,%a1@-&,%d1
+ c10: a6e1 1229 macw %a1l,%d1l,>>,%a1@-&,%a3
+ c14: a4a1 1229 macw %a1l,%d1l,,%a1@-&,%d2
+ c18: aee1 1229 macw %a1l,%d1l,>>,%a1@-&,%sp
+ c1c: a293 1609 macw %a1l,%d1l,<<,%a3@,%d1
+ c20: a6d3 1609 macw %a1l,%d1l,>>,%a3@,%a3
+ c24: a493 1609 macw %a1l,%d1l,,%a3@,%d2
+ c28: aed3 1609 macw %a1l,%d1l,>>,%a3@,%sp
+ c2c: a293 1629 macw %a1l,%d1l,<<,%a3@&,%d1
+ c30: a6d3 1629 macw %a1l,%d1l,>>,%a3@&,%a3
+ c34: a493 1629 macw %a1l,%d1l,,%a3@&,%d2
+ c38: aed3 1629 macw %a1l,%d1l,>>,%a3@&,%sp
+ c3c: a29a 1609 macw %a1l,%d1l,<<,%a2@\+,%d1
+ c40: a6da 1609 macw %a1l,%d1l,>>,%a2@\+,%a3
+ c44: a49a 1609 macw %a1l,%d1l,,%a2@\+,%d2
+ c48: aeda 1609 macw %a1l,%d1l,>>,%a2@\+,%sp
+ c4c: a29a 1629 macw %a1l,%d1l,<<,%a2@\+&,%d1
+ c50: a6da 1629 macw %a1l,%d1l,>>,%a2@\+&,%a3
+ c54: a49a 1629 macw %a1l,%d1l,,%a2@\+&,%d2
+ c58: aeda 1629 macw %a1l,%d1l,>>,%a2@\+&,%sp
+ c5c: a2ae 1609 000a macw %a1l,%d1l,<<,%fp@\(10\),%d1
+ c62: a6ee 1609 000a macw %a1l,%d1l,>>,%fp@\(10\),%a3
+ c68: a4ae 1609 000a macw %a1l,%d1l,,%fp@\(10\),%d2
+ c6e: aeee 1609 000a macw %a1l,%d1l,>>,%fp@\(10\),%sp
+ c74: a2ae 1629 000a macw %a1l,%d1l,<<,%fp@\(10\)&,%d1
+ c7a: a6ee 1629 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%a3
+ c80: a4ae 1629 000a macw %a1l,%d1l,,%fp@\(10\)&,%d2
+ c86: aeee 1629 000a macw %a1l,%d1l,>>,%fp@\(10\)&,%sp
+ c8c: a2a1 1609 macw %a1l,%d1l,<<,%a1@-,%d1
+ c90: a6e1 1609 macw %a1l,%d1l,>>,%a1@-,%a3
+ c94: a4a1 1609 macw %a1l,%d1l,,%a1@-,%d2
+ c98: aee1 1609 macw %a1l,%d1l,>>,%a1@-,%sp
+ c9c: a2a1 1629 macw %a1l,%d1l,<<,%a1@-&,%d1
+ ca0: a6e1 1629 macw %a1l,%d1l,>>,%a1@-&,%a3
+ ca4: a4a1 1629 macw %a1l,%d1l,,%a1@-&,%d2
+ ca8: aee1 1629 macw %a1l,%d1l,>>,%a1@-&,%sp
+ cac: a293 a0c2 macw %d2u,%a2u,%a3@,%d1
+ cb0: a6d3 a0c2 macw %d2u,%a2u,%a3@,%a3
+ cb4: a493 a0c2 macw %d2u,%a2u,%a3@,%d2
+ cb8: aed3 a0c2 macw %d2u,%a2u,%a3@,%sp
+ cbc: a293 a0e2 macw %d2u,%a2u,<<,%a3@&,%d1
+ cc0: a6d3 a0e2 macw %d2u,%a2u,>>,%a3@&,%a3
+ cc4: a493 a0e2 macw %d2u,%a2u,,%a3@&,%d2
+ cc8: aed3 a0e2 macw %d2u,%a2u,>>,%a3@&,%sp
+ ccc: a29a a0c2 macw %d2u,%a2u,%a2@\+,%d1
+ cd0: a6da a0c2 macw %d2u,%a2u,%a2@\+,%a3
+ cd4: a49a a0c2 macw %d2u,%a2u,%a2@\+,%d2
+ cd8: aeda a0c2 macw %d2u,%a2u,%a2@\+,%sp
+ cdc: a29a a0e2 macw %d2u,%a2u,<<,%a2@\+&,%d1
+ ce0: a6da a0e2 macw %d2u,%a2u,>>,%a2@\+&,%a3
+ ce4: a49a a0e2 macw %d2u,%a2u,,%a2@\+&,%d2
+ ce8: aeda a0e2 macw %d2u,%a2u,>>,%a2@\+&,%sp
+ cec: a2ae a0c2 000a macw %d2u,%a2u,%fp@\(10\),%d1
+ cf2: a6ee a0c2 000a macw %d2u,%a2u,%fp@\(10\),%a3
+ cf8: a4ae a0c2 000a macw %d2u,%a2u,%fp@\(10\),%d2
+ cfe: aeee a0c2 000a macw %d2u,%a2u,%fp@\(10\),%sp
+ d04: a2ae a0e2 000a macw %d2u,%a2u,<<,%fp@\(10\)&,%d1
+ d0a: a6ee a0e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%a3
+ d10: a4ae a0e2 000a macw %d2u,%a2u,,%fp@\(10\)&,%d2
+ d16: aeee a0e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%sp
+ d1c: a2a1 a0c2 macw %d2u,%a2u,%a1@-,%d1
+ d20: a6e1 a0c2 macw %d2u,%a2u,%a1@-,%a3
+ d24: a4a1 a0c2 macw %d2u,%a2u,%a1@-,%d2
+ d28: aee1 a0c2 macw %d2u,%a2u,%a1@-,%sp
+ d2c: a2a1 a0e2 macw %d2u,%a2u,<<,%a1@-&,%d1
+ d30: a6e1 a0e2 macw %d2u,%a2u,>>,%a1@-&,%a3
+ d34: a4a1 a0e2 macw %d2u,%a2u,,%a1@-&,%d2
+ d38: aee1 a0e2 macw %d2u,%a2u,>>,%a1@-&,%sp
+ d3c: a293 a2c2 macw %d2u,%a2u,<<,%a3@,%d1
+ d40: a6d3 a2c2 macw %d2u,%a2u,>>,%a3@,%a3
+ d44: a493 a2c2 macw %d2u,%a2u,,%a3@,%d2
+ d48: aed3 a2c2 macw %d2u,%a2u,>>,%a3@,%sp
+ d4c: a293 a2e2 macw %d2u,%a2u,<<,%a3@&,%d1
+ d50: a6d3 a2e2 macw %d2u,%a2u,>>,%a3@&,%a3
+ d54: a493 a2e2 macw %d2u,%a2u,,%a3@&,%d2
+ d58: aed3 a2e2 macw %d2u,%a2u,>>,%a3@&,%sp
+ d5c: a29a a2c2 macw %d2u,%a2u,<<,%a2@\+,%d1
+ d60: a6da a2c2 macw %d2u,%a2u,>>,%a2@\+,%a3
+ d64: a49a a2c2 macw %d2u,%a2u,,%a2@\+,%d2
+ d68: aeda a2c2 macw %d2u,%a2u,>>,%a2@\+,%sp
+ d6c: a29a a2e2 macw %d2u,%a2u,<<,%a2@\+&,%d1
+ d70: a6da a2e2 macw %d2u,%a2u,>>,%a2@\+&,%a3
+ d74: a49a a2e2 macw %d2u,%a2u,,%a2@\+&,%d2
+ d78: aeda a2e2 macw %d2u,%a2u,>>,%a2@\+&,%sp
+ d7c: a2ae a2c2 000a macw %d2u,%a2u,<<,%fp@\(10\),%d1
+ d82: a6ee a2c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%a3
+ d88: a4ae a2c2 000a macw %d2u,%a2u,,%fp@\(10\),%d2
+ d8e: aeee a2c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%sp
+ d94: a2ae a2e2 000a macw %d2u,%a2u,<<,%fp@\(10\)&,%d1
+ d9a: a6ee a2e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%a3
+ da0: a4ae a2e2 000a macw %d2u,%a2u,,%fp@\(10\)&,%d2
+ da6: aeee a2e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%sp
+ dac: a2a1 a2c2 macw %d2u,%a2u,<<,%a1@-,%d1
+ db0: a6e1 a2c2 macw %d2u,%a2u,>>,%a1@-,%a3
+ db4: a4a1 a2c2 macw %d2u,%a2u,,%a1@-,%d2
+ db8: aee1 a2c2 macw %d2u,%a2u,>>,%a1@-,%sp
+ dbc: a2a1 a2e2 macw %d2u,%a2u,<<,%a1@-&,%d1
+ dc0: a6e1 a2e2 macw %d2u,%a2u,>>,%a1@-&,%a3
+ dc4: a4a1 a2e2 macw %d2u,%a2u,,%a1@-&,%d2
+ dc8: aee1 a2e2 macw %d2u,%a2u,>>,%a1@-&,%sp
+ dcc: a293 a6c2 macw %d2u,%a2u,<<,%a3@,%d1
+ dd0: a6d3 a6c2 macw %d2u,%a2u,>>,%a3@,%a3
+ dd4: a493 a6c2 macw %d2u,%a2u,,%a3@,%d2
+ dd8: aed3 a6c2 macw %d2u,%a2u,>>,%a3@,%sp
+ ddc: a293 a6e2 macw %d2u,%a2u,<<,%a3@&,%d1
+ de0: a6d3 a6e2 macw %d2u,%a2u,>>,%a3@&,%a3
+ de4: a493 a6e2 macw %d2u,%a2u,,%a3@&,%d2
+ de8: aed3 a6e2 macw %d2u,%a2u,>>,%a3@&,%sp
+ dec: a29a a6c2 macw %d2u,%a2u,<<,%a2@\+,%d1
+ df0: a6da a6c2 macw %d2u,%a2u,>>,%a2@\+,%a3
+ df4: a49a a6c2 macw %d2u,%a2u,,%a2@\+,%d2
+ df8: aeda a6c2 macw %d2u,%a2u,>>,%a2@\+,%sp
+ dfc: a29a a6e2 macw %d2u,%a2u,<<,%a2@\+&,%d1
+ e00: a6da a6e2 macw %d2u,%a2u,>>,%a2@\+&,%a3
+ e04: a49a a6e2 macw %d2u,%a2u,,%a2@\+&,%d2
+ e08: aeda a6e2 macw %d2u,%a2u,>>,%a2@\+&,%sp
+ e0c: a2ae a6c2 000a macw %d2u,%a2u,<<,%fp@\(10\),%d1
+ e12: a6ee a6c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%a3
+ e18: a4ae a6c2 000a macw %d2u,%a2u,,%fp@\(10\),%d2
+ e1e: aeee a6c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%sp
+ e24: a2ae a6e2 000a macw %d2u,%a2u,<<,%fp@\(10\)&,%d1
+ e2a: a6ee a6e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%a3
+ e30: a4ae a6e2 000a macw %d2u,%a2u,,%fp@\(10\)&,%d2
+ e36: aeee a6e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%sp
+ e3c: a2a1 a6c2 macw %d2u,%a2u,<<,%a1@-,%d1
+ e40: a6e1 a6c2 macw %d2u,%a2u,>>,%a1@-,%a3
+ e44: a4a1 a6c2 macw %d2u,%a2u,,%a1@-,%d2
+ e48: aee1 a6c2 macw %d2u,%a2u,>>,%a1@-,%sp
+ e4c: a2a1 a6e2 macw %d2u,%a2u,<<,%a1@-&,%d1
+ e50: a6e1 a6e2 macw %d2u,%a2u,>>,%a1@-&,%a3
+ e54: a4a1 a6e2 macw %d2u,%a2u,,%a1@-&,%d2
+ e58: aee1 a6e2 macw %d2u,%a2u,>>,%a1@-&,%sp
+ e5c: a293 a2c2 macw %d2u,%a2u,<<,%a3@,%d1
+ e60: a6d3 a2c2 macw %d2u,%a2u,>>,%a3@,%a3
+ e64: a493 a2c2 macw %d2u,%a2u,,%a3@,%d2
+ e68: aed3 a2c2 macw %d2u,%a2u,>>,%a3@,%sp
+ e6c: a293 a2e2 macw %d2u,%a2u,<<,%a3@&,%d1
+ e70: a6d3 a2e2 macw %d2u,%a2u,>>,%a3@&,%a3
+ e74: a493 a2e2 macw %d2u,%a2u,,%a3@&,%d2
+ e78: aed3 a2e2 macw %d2u,%a2u,>>,%a3@&,%sp
+ e7c: a29a a2c2 macw %d2u,%a2u,<<,%a2@\+,%d1
+ e80: a6da a2c2 macw %d2u,%a2u,>>,%a2@\+,%a3
+ e84: a49a a2c2 macw %d2u,%a2u,,%a2@\+,%d2
+ e88: aeda a2c2 macw %d2u,%a2u,>>,%a2@\+,%sp
+ e8c: a29a a2e2 macw %d2u,%a2u,<<,%a2@\+&,%d1
+ e90: a6da a2e2 macw %d2u,%a2u,>>,%a2@\+&,%a3
+ e94: a49a a2e2 macw %d2u,%a2u,,%a2@\+&,%d2
+ e98: aeda a2e2 macw %d2u,%a2u,>>,%a2@\+&,%sp
+ e9c: a2ae a2c2 000a macw %d2u,%a2u,<<,%fp@\(10\),%d1
+ ea2: a6ee a2c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%a3
+ ea8: a4ae a2c2 000a macw %d2u,%a2u,,%fp@\(10\),%d2
+ eae: aeee a2c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%sp
+ eb4: a2ae a2e2 000a macw %d2u,%a2u,<<,%fp@\(10\)&,%d1
+ eba: a6ee a2e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%a3
+ ec0: a4ae a2e2 000a macw %d2u,%a2u,,%fp@\(10\)&,%d2
+ ec6: aeee a2e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%sp
+ ecc: a2a1 a2c2 macw %d2u,%a2u,<<,%a1@-,%d1
+ ed0: a6e1 a2c2 macw %d2u,%a2u,>>,%a1@-,%a3
+ ed4: a4a1 a2c2 macw %d2u,%a2u,,%a1@-,%d2
+ ed8: aee1 a2c2 macw %d2u,%a2u,>>,%a1@-,%sp
+ edc: a2a1 a2e2 macw %d2u,%a2u,<<,%a1@-&,%d1
+ ee0: a6e1 a2e2 macw %d2u,%a2u,>>,%a1@-&,%a3
+ ee4: a4a1 a2e2 macw %d2u,%a2u,,%a1@-&,%d2
+ ee8: aee1 a2e2 macw %d2u,%a2u,>>,%a1@-&,%sp
+ eec: a293 a6c2 macw %d2u,%a2u,<<,%a3@,%d1
+ ef0: a6d3 a6c2 macw %d2u,%a2u,>>,%a3@,%a3
+ ef4: a493 a6c2 macw %d2u,%a2u,,%a3@,%d2
+ ef8: aed3 a6c2 macw %d2u,%a2u,>>,%a3@,%sp
+ efc: a293 a6e2 macw %d2u,%a2u,<<,%a3@&,%d1
+ f00: a6d3 a6e2 macw %d2u,%a2u,>>,%a3@&,%a3
+ f04: a493 a6e2 macw %d2u,%a2u,,%a3@&,%d2
+ f08: aed3 a6e2 macw %d2u,%a2u,>>,%a3@&,%sp
+ f0c: a29a a6c2 macw %d2u,%a2u,<<,%a2@\+,%d1
+ f10: a6da a6c2 macw %d2u,%a2u,>>,%a2@\+,%a3
+ f14: a49a a6c2 macw %d2u,%a2u,,%a2@\+,%d2
+ f18: aeda a6c2 macw %d2u,%a2u,>>,%a2@\+,%sp
+ f1c: a29a a6e2 macw %d2u,%a2u,<<,%a2@\+&,%d1
+ f20: a6da a6e2 macw %d2u,%a2u,>>,%a2@\+&,%a3
+ f24: a49a a6e2 macw %d2u,%a2u,,%a2@\+&,%d2
+ f28: aeda a6e2 macw %d2u,%a2u,>>,%a2@\+&,%sp
+ f2c: a2ae a6c2 000a macw %d2u,%a2u,<<,%fp@\(10\),%d1
+ f32: a6ee a6c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%a3
+ f38: a4ae a6c2 000a macw %d2u,%a2u,,%fp@\(10\),%d2
+ f3e: aeee a6c2 000a macw %d2u,%a2u,>>,%fp@\(10\),%sp
+ f44: a2ae a6e2 000a macw %d2u,%a2u,<<,%fp@\(10\)&,%d1
+ f4a: a6ee a6e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%a3
+ f50: a4ae a6e2 000a macw %d2u,%a2u,,%fp@\(10\)&,%d2
+ f56: aeee a6e2 000a macw %d2u,%a2u,>>,%fp@\(10\)&,%sp
+ f5c: a2a1 a6c2 macw %d2u,%a2u,<<,%a1@-,%d1
+ f60: a6e1 a6c2 macw %d2u,%a2u,>>,%a1@-,%a3
+ f64: a4a1 a6c2 macw %d2u,%a2u,,%a1@-,%d2
+ f68: aee1 a6c2 macw %d2u,%a2u,>>,%a1@-,%sp
+ f6c: a2a1 a6e2 macw %d2u,%a2u,<<,%a1@-&,%d1
+ f70: a6e1 a6e2 macw %d2u,%a2u,>>,%a1@-&,%a3
+ f74: a4a1 a6e2 macw %d2u,%a2u,,%a1@-&,%d2
+ f78: aee1 a6e2 macw %d2u,%a2u,>>,%a1@-&,%sp
+ f7c: a293 3042 macw %d2u,%d3l,%a3@,%d1
+ f80: a6d3 3042 macw %d2u,%d3l,%a3@,%a3
+ f84: a493 3042 macw %d2u,%d3l,%a3@,%d2
+ f88: aed3 3042 macw %d2u,%d3l,%a3@,%sp
+ f8c: a293 3062 macw %d2u,%d3l,<<,%a3@&,%d1
+ f90: a6d3 3062 macw %d2u,%d3l,>>,%a3@&,%a3
+ f94: a493 3062 macw %d2u,%d3l,,%a3@&,%d2
+ f98: aed3 3062 macw %d2u,%d3l,>>,%a3@&,%sp
+ f9c: a29a 3042 macw %d2u,%d3l,%a2@\+,%d1
+ fa0: a6da 3042 macw %d2u,%d3l,%a2@\+,%a3
+ fa4: a49a 3042 macw %d2u,%d3l,%a2@\+,%d2
+ fa8: aeda 3042 macw %d2u,%d3l,%a2@\+,%sp
+ fac: a29a 3062 macw %d2u,%d3l,<<,%a2@\+&,%d1
+ fb0: a6da 3062 macw %d2u,%d3l,>>,%a2@\+&,%a3
+ fb4: a49a 3062 macw %d2u,%d3l,,%a2@\+&,%d2
+ fb8: aeda 3062 macw %d2u,%d3l,>>,%a2@\+&,%sp
+ fbc: a2ae 3042 000a macw %d2u,%d3l,%fp@\(10\),%d1
+ fc2: a6ee 3042 000a macw %d2u,%d3l,%fp@\(10\),%a3
+ fc8: a4ae 3042 000a macw %d2u,%d3l,%fp@\(10\),%d2
+ fce: aeee 3042 000a macw %d2u,%d3l,%fp@\(10\),%sp
+ fd4: a2ae 3062 000a macw %d2u,%d3l,<<,%fp@\(10\)&,%d1
+ fda: a6ee 3062 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%a3
+ fe0: a4ae 3062 000a macw %d2u,%d3l,,%fp@\(10\)&,%d2
+ fe6: aeee 3062 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%sp
+ fec: a2a1 3042 macw %d2u,%d3l,%a1@-,%d1
+ ff0: a6e1 3042 macw %d2u,%d3l,%a1@-,%a3
+ ff4: a4a1 3042 macw %d2u,%d3l,%a1@-,%d2
+ ff8: aee1 3042 macw %d2u,%d3l,%a1@-,%sp
+ ffc: a2a1 3062 macw %d2u,%d3l,<<,%a1@-&,%d1
+ 1000: a6e1 3062 macw %d2u,%d3l,>>,%a1@-&,%a3
+ 1004: a4a1 3062 macw %d2u,%d3l,,%a1@-&,%d2
+ 1008: aee1 3062 macw %d2u,%d3l,>>,%a1@-&,%sp
+ 100c: a293 3242 macw %d2u,%d3l,<<,%a3@,%d1
+ 1010: a6d3 3242 macw %d2u,%d3l,>>,%a3@,%a3
+ 1014: a493 3242 macw %d2u,%d3l,,%a3@,%d2
+ 1018: aed3 3242 macw %d2u,%d3l,>>,%a3@,%sp
+ 101c: a293 3262 macw %d2u,%d3l,<<,%a3@&,%d1
+ 1020: a6d3 3262 macw %d2u,%d3l,>>,%a3@&,%a3
+ 1024: a493 3262 macw %d2u,%d3l,,%a3@&,%d2
+ 1028: aed3 3262 macw %d2u,%d3l,>>,%a3@&,%sp
+ 102c: a29a 3242 macw %d2u,%d3l,<<,%a2@\+,%d1
+ 1030: a6da 3242 macw %d2u,%d3l,>>,%a2@\+,%a3
+ 1034: a49a 3242 macw %d2u,%d3l,,%a2@\+,%d2
+ 1038: aeda 3242 macw %d2u,%d3l,>>,%a2@\+,%sp
+ 103c: a29a 3262 macw %d2u,%d3l,<<,%a2@\+&,%d1
+ 1040: a6da 3262 macw %d2u,%d3l,>>,%a2@\+&,%a3
+ 1044: a49a 3262 macw %d2u,%d3l,,%a2@\+&,%d2
+ 1048: aeda 3262 macw %d2u,%d3l,>>,%a2@\+&,%sp
+ 104c: a2ae 3242 000a macw %d2u,%d3l,<<,%fp@\(10\),%d1
+ 1052: a6ee 3242 000a macw %d2u,%d3l,>>,%fp@\(10\),%a3
+ 1058: a4ae 3242 000a macw %d2u,%d3l,,%fp@\(10\),%d2
+ 105e: aeee 3242 000a macw %d2u,%d3l,>>,%fp@\(10\),%sp
+ 1064: a2ae 3262 000a macw %d2u,%d3l,<<,%fp@\(10\)&,%d1
+ 106a: a6ee 3262 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%a3
+ 1070: a4ae 3262 000a macw %d2u,%d3l,,%fp@\(10\)&,%d2
+ 1076: aeee 3262 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%sp
+ 107c: a2a1 3242 macw %d2u,%d3l,<<,%a1@-,%d1
+ 1080: a6e1 3242 macw %d2u,%d3l,>>,%a1@-,%a3
+ 1084: a4a1 3242 macw %d2u,%d3l,,%a1@-,%d2
+ 1088: aee1 3242 macw %d2u,%d3l,>>,%a1@-,%sp
+ 108c: a2a1 3262 macw %d2u,%d3l,<<,%a1@-&,%d1
+ 1090: a6e1 3262 macw %d2u,%d3l,>>,%a1@-&,%a3
+ 1094: a4a1 3262 macw %d2u,%d3l,,%a1@-&,%d2
+ 1098: aee1 3262 macw %d2u,%d3l,>>,%a1@-&,%sp
+ 109c: a293 3642 macw %d2u,%d3l,<<,%a3@,%d1
+ 10a0: a6d3 3642 macw %d2u,%d3l,>>,%a3@,%a3
+ 10a4: a493 3642 macw %d2u,%d3l,,%a3@,%d2
+ 10a8: aed3 3642 macw %d2u,%d3l,>>,%a3@,%sp
+ 10ac: a293 3662 macw %d2u,%d3l,<<,%a3@&,%d1
+ 10b0: a6d3 3662 macw %d2u,%d3l,>>,%a3@&,%a3
+ 10b4: a493 3662 macw %d2u,%d3l,,%a3@&,%d2
+ 10b8: aed3 3662 macw %d2u,%d3l,>>,%a3@&,%sp
+ 10bc: a29a 3642 macw %d2u,%d3l,<<,%a2@\+,%d1
+ 10c0: a6da 3642 macw %d2u,%d3l,>>,%a2@\+,%a3
+ 10c4: a49a 3642 macw %d2u,%d3l,,%a2@\+,%d2
+ 10c8: aeda 3642 macw %d2u,%d3l,>>,%a2@\+,%sp
+ 10cc: a29a 3662 macw %d2u,%d3l,<<,%a2@\+&,%d1
+ 10d0: a6da 3662 macw %d2u,%d3l,>>,%a2@\+&,%a3
+ 10d4: a49a 3662 macw %d2u,%d3l,,%a2@\+&,%d2
+ 10d8: aeda 3662 macw %d2u,%d3l,>>,%a2@\+&,%sp
+ 10dc: a2ae 3642 000a macw %d2u,%d3l,<<,%fp@\(10\),%d1
+ 10e2: a6ee 3642 000a macw %d2u,%d3l,>>,%fp@\(10\),%a3
+ 10e8: a4ae 3642 000a macw %d2u,%d3l,,%fp@\(10\),%d2
+ 10ee: aeee 3642 000a macw %d2u,%d3l,>>,%fp@\(10\),%sp
+ 10f4: a2ae 3662 000a macw %d2u,%d3l,<<,%fp@\(10\)&,%d1
+ 10fa: a6ee 3662 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%a3
+ 1100: a4ae 3662 000a macw %d2u,%d3l,,%fp@\(10\)&,%d2
+ 1106: aeee 3662 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%sp
+ 110c: a2a1 3642 macw %d2u,%d3l,<<,%a1@-,%d1
+ 1110: a6e1 3642 macw %d2u,%d3l,>>,%a1@-,%a3
+ 1114: a4a1 3642 macw %d2u,%d3l,,%a1@-,%d2
+ 1118: aee1 3642 macw %d2u,%d3l,>>,%a1@-,%sp
+ 111c: a2a1 3662 macw %d2u,%d3l,<<,%a1@-&,%d1
+ 1120: a6e1 3662 macw %d2u,%d3l,>>,%a1@-&,%a3
+ 1124: a4a1 3662 macw %d2u,%d3l,,%a1@-&,%d2
+ 1128: aee1 3662 macw %d2u,%d3l,>>,%a1@-&,%sp
+ 112c: a293 3242 macw %d2u,%d3l,<<,%a3@,%d1
+ 1130: a6d3 3242 macw %d2u,%d3l,>>,%a3@,%a3
+ 1134: a493 3242 macw %d2u,%d3l,,%a3@,%d2
+ 1138: aed3 3242 macw %d2u,%d3l,>>,%a3@,%sp
+ 113c: a293 3262 macw %d2u,%d3l,<<,%a3@&,%d1
+ 1140: a6d3 3262 macw %d2u,%d3l,>>,%a3@&,%a3
+ 1144: a493 3262 macw %d2u,%d3l,,%a3@&,%d2
+ 1148: aed3 3262 macw %d2u,%d3l,>>,%a3@&,%sp
+ 114c: a29a 3242 macw %d2u,%d3l,<<,%a2@\+,%d1
+ 1150: a6da 3242 macw %d2u,%d3l,>>,%a2@\+,%a3
+ 1154: a49a 3242 macw %d2u,%d3l,,%a2@\+,%d2
+ 1158: aeda 3242 macw %d2u,%d3l,>>,%a2@\+,%sp
+ 115c: a29a 3262 macw %d2u,%d3l,<<,%a2@\+&,%d1
+ 1160: a6da 3262 macw %d2u,%d3l,>>,%a2@\+&,%a3
+ 1164: a49a 3262 macw %d2u,%d3l,,%a2@\+&,%d2
+ 1168: aeda 3262 macw %d2u,%d3l,>>,%a2@\+&,%sp
+ 116c: a2ae 3242 000a macw %d2u,%d3l,<<,%fp@\(10\),%d1
+ 1172: a6ee 3242 000a macw %d2u,%d3l,>>,%fp@\(10\),%a3
+ 1178: a4ae 3242 000a macw %d2u,%d3l,,%fp@\(10\),%d2
+ 117e: aeee 3242 000a macw %d2u,%d3l,>>,%fp@\(10\),%sp
+ 1184: a2ae 3262 000a macw %d2u,%d3l,<<,%fp@\(10\)&,%d1
+ 118a: a6ee 3262 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%a3
+ 1190: a4ae 3262 000a macw %d2u,%d3l,,%fp@\(10\)&,%d2
+ 1196: aeee 3262 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%sp
+ 119c: a2a1 3242 macw %d2u,%d3l,<<,%a1@-,%d1
+ 11a0: a6e1 3242 macw %d2u,%d3l,>>,%a1@-,%a3
+ 11a4: a4a1 3242 macw %d2u,%d3l,,%a1@-,%d2
+ 11a8: aee1 3242 macw %d2u,%d3l,>>,%a1@-,%sp
+ 11ac: a2a1 3262 macw %d2u,%d3l,<<,%a1@-&,%d1
+ 11b0: a6e1 3262 macw %d2u,%d3l,>>,%a1@-&,%a3
+ 11b4: a4a1 3262 macw %d2u,%d3l,,%a1@-&,%d2
+ 11b8: aee1 3262 macw %d2u,%d3l,>>,%a1@-&,%sp
+ 11bc: a293 3642 macw %d2u,%d3l,<<,%a3@,%d1
+ 11c0: a6d3 3642 macw %d2u,%d3l,>>,%a3@,%a3
+ 11c4: a493 3642 macw %d2u,%d3l,,%a3@,%d2
+ 11c8: aed3 3642 macw %d2u,%d3l,>>,%a3@,%sp
+ 11cc: a293 3662 macw %d2u,%d3l,<<,%a3@&,%d1
+ 11d0: a6d3 3662 macw %d2u,%d3l,>>,%a3@&,%a3
+ 11d4: a493 3662 macw %d2u,%d3l,,%a3@&,%d2
+ 11d8: aed3 3662 macw %d2u,%d3l,>>,%a3@&,%sp
+ 11dc: a29a 3642 macw %d2u,%d3l,<<,%a2@\+,%d1
+ 11e0: a6da 3642 macw %d2u,%d3l,>>,%a2@\+,%a3
+ 11e4: a49a 3642 macw %d2u,%d3l,,%a2@\+,%d2
+ 11e8: aeda 3642 macw %d2u,%d3l,>>,%a2@\+,%sp
+ 11ec: a29a 3662 macw %d2u,%d3l,<<,%a2@\+&,%d1
+ 11f0: a6da 3662 macw %d2u,%d3l,>>,%a2@\+&,%a3
+ 11f4: a49a 3662 macw %d2u,%d3l,,%a2@\+&,%d2
+ 11f8: aeda 3662 macw %d2u,%d3l,>>,%a2@\+&,%sp
+ 11fc: a2ae 3642 000a macw %d2u,%d3l,<<,%fp@\(10\),%d1
+ 1202: a6ee 3642 000a macw %d2u,%d3l,>>,%fp@\(10\),%a3
+ 1208: a4ae 3642 000a macw %d2u,%d3l,,%fp@\(10\),%d2
+ 120e: aeee 3642 000a macw %d2u,%d3l,>>,%fp@\(10\),%sp
+ 1214: a2ae 3662 000a macw %d2u,%d3l,<<,%fp@\(10\)&,%d1
+ 121a: a6ee 3662 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%a3
+ 1220: a4ae 3662 000a macw %d2u,%d3l,,%fp@\(10\)&,%d2
+ 1226: aeee 3662 000a macw %d2u,%d3l,>>,%fp@\(10\)&,%sp
+ 122c: a2a1 3642 macw %d2u,%d3l,<<,%a1@-,%d1
+ 1230: a6e1 3642 macw %d2u,%d3l,>>,%a1@-,%a3
+ 1234: a4a1 3642 macw %d2u,%d3l,,%a1@-,%d2
+ 1238: aee1 3642 macw %d2u,%d3l,>>,%a1@-,%sp
+ 123c: a2a1 3662 macw %d2u,%d3l,<<,%a1@-&,%d1
+ 1240: a6e1 3662 macw %d2u,%d3l,>>,%a1@-&,%a3
+ 1244: a4a1 3662 macw %d2u,%d3l,,%a1@-&,%d2
+ 1248: aee1 3662 macw %d2u,%d3l,>>,%a1@-&,%sp
+ 124c: a293 f0c2 macw %d2u,%spu,%a3@,%d1
+ 1250: a6d3 f0c2 macw %d2u,%spu,%a3@,%a3
+ 1254: a493 f0c2 macw %d2u,%spu,%a3@,%d2
+ 1258: aed3 f0c2 macw %d2u,%spu,%a3@,%sp
+ 125c: a293 f0e2 macw %d2u,%spu,<<,%a3@&,%d1
+ 1260: a6d3 f0e2 macw %d2u,%spu,>>,%a3@&,%a3
+ 1264: a493 f0e2 macw %d2u,%spu,,%a3@&,%d2
+ 1268: aed3 f0e2 macw %d2u,%spu,>>,%a3@&,%sp
+ 126c: a29a f0c2 macw %d2u,%spu,%a2@\+,%d1
+ 1270: a6da f0c2 macw %d2u,%spu,%a2@\+,%a3
+ 1274: a49a f0c2 macw %d2u,%spu,%a2@\+,%d2
+ 1278: aeda f0c2 macw %d2u,%spu,%a2@\+,%sp
+ 127c: a29a f0e2 macw %d2u,%spu,<<,%a2@\+&,%d1
+ 1280: a6da f0e2 macw %d2u,%spu,>>,%a2@\+&,%a3
+ 1284: a49a f0e2 macw %d2u,%spu,,%a2@\+&,%d2
+ 1288: aeda f0e2 macw %d2u,%spu,>>,%a2@\+&,%sp
+ 128c: a2ae f0c2 000a macw %d2u,%spu,%fp@\(10\),%d1
+ 1292: a6ee f0c2 000a macw %d2u,%spu,%fp@\(10\),%a3
+ 1298: a4ae f0c2 000a macw %d2u,%spu,%fp@\(10\),%d2
+ 129e: aeee f0c2 000a macw %d2u,%spu,%fp@\(10\),%sp
+ 12a4: a2ae f0e2 000a macw %d2u,%spu,<<,%fp@\(10\)&,%d1
+ 12aa: a6ee f0e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%a3
+ 12b0: a4ae f0e2 000a macw %d2u,%spu,,%fp@\(10\)&,%d2
+ 12b6: aeee f0e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%sp
+ 12bc: a2a1 f0c2 macw %d2u,%spu,%a1@-,%d1
+ 12c0: a6e1 f0c2 macw %d2u,%spu,%a1@-,%a3
+ 12c4: a4a1 f0c2 macw %d2u,%spu,%a1@-,%d2
+ 12c8: aee1 f0c2 macw %d2u,%spu,%a1@-,%sp
+ 12cc: a2a1 f0e2 macw %d2u,%spu,<<,%a1@-&,%d1
+ 12d0: a6e1 f0e2 macw %d2u,%spu,>>,%a1@-&,%a3
+ 12d4: a4a1 f0e2 macw %d2u,%spu,,%a1@-&,%d2
+ 12d8: aee1 f0e2 macw %d2u,%spu,>>,%a1@-&,%sp
+ 12dc: a293 f2c2 macw %d2u,%spu,<<,%a3@,%d1
+ 12e0: a6d3 f2c2 macw %d2u,%spu,>>,%a3@,%a3
+ 12e4: a493 f2c2 macw %d2u,%spu,,%a3@,%d2
+ 12e8: aed3 f2c2 macw %d2u,%spu,>>,%a3@,%sp
+ 12ec: a293 f2e2 macw %d2u,%spu,<<,%a3@&,%d1
+ 12f0: a6d3 f2e2 macw %d2u,%spu,>>,%a3@&,%a3
+ 12f4: a493 f2e2 macw %d2u,%spu,,%a3@&,%d2
+ 12f8: aed3 f2e2 macw %d2u,%spu,>>,%a3@&,%sp
+ 12fc: a29a f2c2 macw %d2u,%spu,<<,%a2@\+,%d1
+ 1300: a6da f2c2 macw %d2u,%spu,>>,%a2@\+,%a3
+ 1304: a49a f2c2 macw %d2u,%spu,,%a2@\+,%d2
+ 1308: aeda f2c2 macw %d2u,%spu,>>,%a2@\+,%sp
+ 130c: a29a f2e2 macw %d2u,%spu,<<,%a2@\+&,%d1
+ 1310: a6da f2e2 macw %d2u,%spu,>>,%a2@\+&,%a3
+ 1314: a49a f2e2 macw %d2u,%spu,,%a2@\+&,%d2
+ 1318: aeda f2e2 macw %d2u,%spu,>>,%a2@\+&,%sp
+ 131c: a2ae f2c2 000a macw %d2u,%spu,<<,%fp@\(10\),%d1
+ 1322: a6ee f2c2 000a macw %d2u,%spu,>>,%fp@\(10\),%a3
+ 1328: a4ae f2c2 000a macw %d2u,%spu,,%fp@\(10\),%d2
+ 132e: aeee f2c2 000a macw %d2u,%spu,>>,%fp@\(10\),%sp
+ 1334: a2ae f2e2 000a macw %d2u,%spu,<<,%fp@\(10\)&,%d1
+ 133a: a6ee f2e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%a3
+ 1340: a4ae f2e2 000a macw %d2u,%spu,,%fp@\(10\)&,%d2
+ 1346: aeee f2e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%sp
+ 134c: a2a1 f2c2 macw %d2u,%spu,<<,%a1@-,%d1
+ 1350: a6e1 f2c2 macw %d2u,%spu,>>,%a1@-,%a3
+ 1354: a4a1 f2c2 macw %d2u,%spu,,%a1@-,%d2
+ 1358: aee1 f2c2 macw %d2u,%spu,>>,%a1@-,%sp
+ 135c: a2a1 f2e2 macw %d2u,%spu,<<,%a1@-&,%d1
+ 1360: a6e1 f2e2 macw %d2u,%spu,>>,%a1@-&,%a3
+ 1364: a4a1 f2e2 macw %d2u,%spu,,%a1@-&,%d2
+ 1368: aee1 f2e2 macw %d2u,%spu,>>,%a1@-&,%sp
+ 136c: a293 f6c2 macw %d2u,%spu,<<,%a3@,%d1
+ 1370: a6d3 f6c2 macw %d2u,%spu,>>,%a3@,%a3
+ 1374: a493 f6c2 macw %d2u,%spu,,%a3@,%d2
+ 1378: aed3 f6c2 macw %d2u,%spu,>>,%a3@,%sp
+ 137c: a293 f6e2 macw %d2u,%spu,<<,%a3@&,%d1
+ 1380: a6d3 f6e2 macw %d2u,%spu,>>,%a3@&,%a3
+ 1384: a493 f6e2 macw %d2u,%spu,,%a3@&,%d2
+ 1388: aed3 f6e2 macw %d2u,%spu,>>,%a3@&,%sp
+ 138c: a29a f6c2 macw %d2u,%spu,<<,%a2@\+,%d1
+ 1390: a6da f6c2 macw %d2u,%spu,>>,%a2@\+,%a3
+ 1394: a49a f6c2 macw %d2u,%spu,,%a2@\+,%d2
+ 1398: aeda f6c2 macw %d2u,%spu,>>,%a2@\+,%sp
+ 139c: a29a f6e2 macw %d2u,%spu,<<,%a2@\+&,%d1
+ 13a0: a6da f6e2 macw %d2u,%spu,>>,%a2@\+&,%a3
+ 13a4: a49a f6e2 macw %d2u,%spu,,%a2@\+&,%d2
+ 13a8: aeda f6e2 macw %d2u,%spu,>>,%a2@\+&,%sp
+ 13ac: a2ae f6c2 000a macw %d2u,%spu,<<,%fp@\(10\),%d1
+ 13b2: a6ee f6c2 000a macw %d2u,%spu,>>,%fp@\(10\),%a3
+ 13b8: a4ae f6c2 000a macw %d2u,%spu,,%fp@\(10\),%d2
+ 13be: aeee f6c2 000a macw %d2u,%spu,>>,%fp@\(10\),%sp
+ 13c4: a2ae f6e2 000a macw %d2u,%spu,<<,%fp@\(10\)&,%d1
+ 13ca: a6ee f6e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%a3
+ 13d0: a4ae f6e2 000a macw %d2u,%spu,,%fp@\(10\)&,%d2
+ 13d6: aeee f6e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%sp
+ 13dc: a2a1 f6c2 macw %d2u,%spu,<<,%a1@-,%d1
+ 13e0: a6e1 f6c2 macw %d2u,%spu,>>,%a1@-,%a3
+ 13e4: a4a1 f6c2 macw %d2u,%spu,,%a1@-,%d2
+ 13e8: aee1 f6c2 macw %d2u,%spu,>>,%a1@-,%sp
+ 13ec: a2a1 f6e2 macw %d2u,%spu,<<,%a1@-&,%d1
+ 13f0: a6e1 f6e2 macw %d2u,%spu,>>,%a1@-&,%a3
+ 13f4: a4a1 f6e2 macw %d2u,%spu,,%a1@-&,%d2
+ 13f8: aee1 f6e2 macw %d2u,%spu,>>,%a1@-&,%sp
+ 13fc: a293 f2c2 macw %d2u,%spu,<<,%a3@,%d1
+ 1400: a6d3 f2c2 macw %d2u,%spu,>>,%a3@,%a3
+ 1404: a493 f2c2 macw %d2u,%spu,,%a3@,%d2
+ 1408: aed3 f2c2 macw %d2u,%spu,>>,%a3@,%sp
+ 140c: a293 f2e2 macw %d2u,%spu,<<,%a3@&,%d1
+ 1410: a6d3 f2e2 macw %d2u,%spu,>>,%a3@&,%a3
+ 1414: a493 f2e2 macw %d2u,%spu,,%a3@&,%d2
+ 1418: aed3 f2e2 macw %d2u,%spu,>>,%a3@&,%sp
+ 141c: a29a f2c2 macw %d2u,%spu,<<,%a2@\+,%d1
+ 1420: a6da f2c2 macw %d2u,%spu,>>,%a2@\+,%a3
+ 1424: a49a f2c2 macw %d2u,%spu,,%a2@\+,%d2
+ 1428: aeda f2c2 macw %d2u,%spu,>>,%a2@\+,%sp
+ 142c: a29a f2e2 macw %d2u,%spu,<<,%a2@\+&,%d1
+ 1430: a6da f2e2 macw %d2u,%spu,>>,%a2@\+&,%a3
+ 1434: a49a f2e2 macw %d2u,%spu,,%a2@\+&,%d2
+ 1438: aeda f2e2 macw %d2u,%spu,>>,%a2@\+&,%sp
+ 143c: a2ae f2c2 000a macw %d2u,%spu,<<,%fp@\(10\),%d1
+ 1442: a6ee f2c2 000a macw %d2u,%spu,>>,%fp@\(10\),%a3
+ 1448: a4ae f2c2 000a macw %d2u,%spu,,%fp@\(10\),%d2
+ 144e: aeee f2c2 000a macw %d2u,%spu,>>,%fp@\(10\),%sp
+ 1454: a2ae f2e2 000a macw %d2u,%spu,<<,%fp@\(10\)&,%d1
+ 145a: a6ee f2e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%a3
+ 1460: a4ae f2e2 000a macw %d2u,%spu,,%fp@\(10\)&,%d2
+ 1466: aeee f2e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%sp
+ 146c: a2a1 f2c2 macw %d2u,%spu,<<,%a1@-,%d1
+ 1470: a6e1 f2c2 macw %d2u,%spu,>>,%a1@-,%a3
+ 1474: a4a1 f2c2 macw %d2u,%spu,,%a1@-,%d2
+ 1478: aee1 f2c2 macw %d2u,%spu,>>,%a1@-,%sp
+ 147c: a2a1 f2e2 macw %d2u,%spu,<<,%a1@-&,%d1
+ 1480: a6e1 f2e2 macw %d2u,%spu,>>,%a1@-&,%a3
+ 1484: a4a1 f2e2 macw %d2u,%spu,,%a1@-&,%d2
+ 1488: aee1 f2e2 macw %d2u,%spu,>>,%a1@-&,%sp
+ 148c: a293 f6c2 macw %d2u,%spu,<<,%a3@,%d1
+ 1490: a6d3 f6c2 macw %d2u,%spu,>>,%a3@,%a3
+ 1494: a493 f6c2 macw %d2u,%spu,,%a3@,%d2
+ 1498: aed3 f6c2 macw %d2u,%spu,>>,%a3@,%sp
+ 149c: a293 f6e2 macw %d2u,%spu,<<,%a3@&,%d1
+ 14a0: a6d3 f6e2 macw %d2u,%spu,>>,%a3@&,%a3
+ 14a4: a493 f6e2 macw %d2u,%spu,,%a3@&,%d2
+ 14a8: aed3 f6e2 macw %d2u,%spu,>>,%a3@&,%sp
+ 14ac: a29a f6c2 macw %d2u,%spu,<<,%a2@\+,%d1
+ 14b0: a6da f6c2 macw %d2u,%spu,>>,%a2@\+,%a3
+ 14b4: a49a f6c2 macw %d2u,%spu,,%a2@\+,%d2
+ 14b8: aeda f6c2 macw %d2u,%spu,>>,%a2@\+,%sp
+ 14bc: a29a f6e2 macw %d2u,%spu,<<,%a2@\+&,%d1
+ 14c0: a6da f6e2 macw %d2u,%spu,>>,%a2@\+&,%a3
+ 14c4: a49a f6e2 macw %d2u,%spu,,%a2@\+&,%d2
+ 14c8: aeda f6e2 macw %d2u,%spu,>>,%a2@\+&,%sp
+ 14cc: a2ae f6c2 000a macw %d2u,%spu,<<,%fp@\(10\),%d1
+ 14d2: a6ee f6c2 000a macw %d2u,%spu,>>,%fp@\(10\),%a3
+ 14d8: a4ae f6c2 000a macw %d2u,%spu,,%fp@\(10\),%d2
+ 14de: aeee f6c2 000a macw %d2u,%spu,>>,%fp@\(10\),%sp
+ 14e4: a2ae f6e2 000a macw %d2u,%spu,<<,%fp@\(10\)&,%d1
+ 14ea: a6ee f6e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%a3
+ 14f0: a4ae f6e2 000a macw %d2u,%spu,,%fp@\(10\)&,%d2
+ 14f6: aeee f6e2 000a macw %d2u,%spu,>>,%fp@\(10\)&,%sp
+ 14fc: a2a1 f6c2 macw %d2u,%spu,<<,%a1@-,%d1
+ 1500: a6e1 f6c2 macw %d2u,%spu,>>,%a1@-,%a3
+ 1504: a4a1 f6c2 macw %d2u,%spu,,%a1@-,%d2
+ 1508: aee1 f6c2 macw %d2u,%spu,>>,%a1@-,%sp
+ 150c: a2a1 f6e2 macw %d2u,%spu,<<,%a1@-&,%d1
+ 1510: a6e1 f6e2 macw %d2u,%spu,>>,%a1@-&,%a3
+ 1514: a4a1 f6e2 macw %d2u,%spu,,%a1@-&,%d2
+ 1518: aee1 f6e2 macw %d2u,%spu,>>,%a1@-&,%sp
+ 151c: a293 1042 macw %d2u,%d1l,%a3@,%d1
+ 1520: a6d3 1042 macw %d2u,%d1l,%a3@,%a3
+ 1524: a493 1042 macw %d2u,%d1l,%a3@,%d2
+ 1528: aed3 1042 macw %d2u,%d1l,%a3@,%sp
+ 152c: a293 1062 macw %d2u,%d1l,<<,%a3@&,%d1
+ 1530: a6d3 1062 macw %d2u,%d1l,>>,%a3@&,%a3
+ 1534: a493 1062 macw %d2u,%d1l,,%a3@&,%d2
+ 1538: aed3 1062 macw %d2u,%d1l,>>,%a3@&,%sp
+ 153c: a29a 1042 macw %d2u,%d1l,%a2@\+,%d1
+ 1540: a6da 1042 macw %d2u,%d1l,%a2@\+,%a3
+ 1544: a49a 1042 macw %d2u,%d1l,%a2@\+,%d2
+ 1548: aeda 1042 macw %d2u,%d1l,%a2@\+,%sp
+ 154c: a29a 1062 macw %d2u,%d1l,<<,%a2@\+&,%d1
+ 1550: a6da 1062 macw %d2u,%d1l,>>,%a2@\+&,%a3
+ 1554: a49a 1062 macw %d2u,%d1l,,%a2@\+&,%d2
+ 1558: aeda 1062 macw %d2u,%d1l,>>,%a2@\+&,%sp
+ 155c: a2ae 1042 000a macw %d2u,%d1l,%fp@\(10\),%d1
+ 1562: a6ee 1042 000a macw %d2u,%d1l,%fp@\(10\),%a3
+ 1568: a4ae 1042 000a macw %d2u,%d1l,%fp@\(10\),%d2
+ 156e: aeee 1042 000a macw %d2u,%d1l,%fp@\(10\),%sp
+ 1574: a2ae 1062 000a macw %d2u,%d1l,<<,%fp@\(10\)&,%d1
+ 157a: a6ee 1062 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%a3
+ 1580: a4ae 1062 000a macw %d2u,%d1l,,%fp@\(10\)&,%d2
+ 1586: aeee 1062 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%sp
+ 158c: a2a1 1042 macw %d2u,%d1l,%a1@-,%d1
+ 1590: a6e1 1042 macw %d2u,%d1l,%a1@-,%a3
+ 1594: a4a1 1042 macw %d2u,%d1l,%a1@-,%d2
+ 1598: aee1 1042 macw %d2u,%d1l,%a1@-,%sp
+ 159c: a2a1 1062 macw %d2u,%d1l,<<,%a1@-&,%d1
+ 15a0: a6e1 1062 macw %d2u,%d1l,>>,%a1@-&,%a3
+ 15a4: a4a1 1062 macw %d2u,%d1l,,%a1@-&,%d2
+ 15a8: aee1 1062 macw %d2u,%d1l,>>,%a1@-&,%sp
+ 15ac: a293 1242 macw %d2u,%d1l,<<,%a3@,%d1
+ 15b0: a6d3 1242 macw %d2u,%d1l,>>,%a3@,%a3
+ 15b4: a493 1242 macw %d2u,%d1l,,%a3@,%d2
+ 15b8: aed3 1242 macw %d2u,%d1l,>>,%a3@,%sp
+ 15bc: a293 1262 macw %d2u,%d1l,<<,%a3@&,%d1
+ 15c0: a6d3 1262 macw %d2u,%d1l,>>,%a3@&,%a3
+ 15c4: a493 1262 macw %d2u,%d1l,,%a3@&,%d2
+ 15c8: aed3 1262 macw %d2u,%d1l,>>,%a3@&,%sp
+ 15cc: a29a 1242 macw %d2u,%d1l,<<,%a2@\+,%d1
+ 15d0: a6da 1242 macw %d2u,%d1l,>>,%a2@\+,%a3
+ 15d4: a49a 1242 macw %d2u,%d1l,,%a2@\+,%d2
+ 15d8: aeda 1242 macw %d2u,%d1l,>>,%a2@\+,%sp
+ 15dc: a29a 1262 macw %d2u,%d1l,<<,%a2@\+&,%d1
+ 15e0: a6da 1262 macw %d2u,%d1l,>>,%a2@\+&,%a3
+ 15e4: a49a 1262 macw %d2u,%d1l,,%a2@\+&,%d2
+ 15e8: aeda 1262 macw %d2u,%d1l,>>,%a2@\+&,%sp
+ 15ec: a2ae 1242 000a macw %d2u,%d1l,<<,%fp@\(10\),%d1
+ 15f2: a6ee 1242 000a macw %d2u,%d1l,>>,%fp@\(10\),%a3
+ 15f8: a4ae 1242 000a macw %d2u,%d1l,,%fp@\(10\),%d2
+ 15fe: aeee 1242 000a macw %d2u,%d1l,>>,%fp@\(10\),%sp
+ 1604: a2ae 1262 000a macw %d2u,%d1l,<<,%fp@\(10\)&,%d1
+ 160a: a6ee 1262 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%a3
+ 1610: a4ae 1262 000a macw %d2u,%d1l,,%fp@\(10\)&,%d2
+ 1616: aeee 1262 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%sp
+ 161c: a2a1 1242 macw %d2u,%d1l,<<,%a1@-,%d1
+ 1620: a6e1 1242 macw %d2u,%d1l,>>,%a1@-,%a3
+ 1624: a4a1 1242 macw %d2u,%d1l,,%a1@-,%d2
+ 1628: aee1 1242 macw %d2u,%d1l,>>,%a1@-,%sp
+ 162c: a2a1 1262 macw %d2u,%d1l,<<,%a1@-&,%d1
+ 1630: a6e1 1262 macw %d2u,%d1l,>>,%a1@-&,%a3
+ 1634: a4a1 1262 macw %d2u,%d1l,,%a1@-&,%d2
+ 1638: aee1 1262 macw %d2u,%d1l,>>,%a1@-&,%sp
+ 163c: a293 1642 macw %d2u,%d1l,<<,%a3@,%d1
+ 1640: a6d3 1642 macw %d2u,%d1l,>>,%a3@,%a3
+ 1644: a493 1642 macw %d2u,%d1l,,%a3@,%d2
+ 1648: aed3 1642 macw %d2u,%d1l,>>,%a3@,%sp
+ 164c: a293 1662 macw %d2u,%d1l,<<,%a3@&,%d1
+ 1650: a6d3 1662 macw %d2u,%d1l,>>,%a3@&,%a3
+ 1654: a493 1662 macw %d2u,%d1l,,%a3@&,%d2
+ 1658: aed3 1662 macw %d2u,%d1l,>>,%a3@&,%sp
+ 165c: a29a 1642 macw %d2u,%d1l,<<,%a2@\+,%d1
+ 1660: a6da 1642 macw %d2u,%d1l,>>,%a2@\+,%a3
+ 1664: a49a 1642 macw %d2u,%d1l,,%a2@\+,%d2
+ 1668: aeda 1642 macw %d2u,%d1l,>>,%a2@\+,%sp
+ 166c: a29a 1662 macw %d2u,%d1l,<<,%a2@\+&,%d1
+ 1670: a6da 1662 macw %d2u,%d1l,>>,%a2@\+&,%a3
+ 1674: a49a 1662 macw %d2u,%d1l,,%a2@\+&,%d2
+ 1678: aeda 1662 macw %d2u,%d1l,>>,%a2@\+&,%sp
+ 167c: a2ae 1642 000a macw %d2u,%d1l,<<,%fp@\(10\),%d1
+ 1682: a6ee 1642 000a macw %d2u,%d1l,>>,%fp@\(10\),%a3
+ 1688: a4ae 1642 000a macw %d2u,%d1l,,%fp@\(10\),%d2
+ 168e: aeee 1642 000a macw %d2u,%d1l,>>,%fp@\(10\),%sp
+ 1694: a2ae 1662 000a macw %d2u,%d1l,<<,%fp@\(10\)&,%d1
+ 169a: a6ee 1662 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%a3
+ 16a0: a4ae 1662 000a macw %d2u,%d1l,,%fp@\(10\)&,%d2
+ 16a6: aeee 1662 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%sp
+ 16ac: a2a1 1642 macw %d2u,%d1l,<<,%a1@-,%d1
+ 16b0: a6e1 1642 macw %d2u,%d1l,>>,%a1@-,%a3
+ 16b4: a4a1 1642 macw %d2u,%d1l,,%a1@-,%d2
+ 16b8: aee1 1642 macw %d2u,%d1l,>>,%a1@-,%sp
+ 16bc: a2a1 1662 macw %d2u,%d1l,<<,%a1@-&,%d1
+ 16c0: a6e1 1662 macw %d2u,%d1l,>>,%a1@-&,%a3
+ 16c4: a4a1 1662 macw %d2u,%d1l,,%a1@-&,%d2
+ 16c8: aee1 1662 macw %d2u,%d1l,>>,%a1@-&,%sp
+ 16cc: a293 1242 macw %d2u,%d1l,<<,%a3@,%d1
+ 16d0: a6d3 1242 macw %d2u,%d1l,>>,%a3@,%a3
+ 16d4: a493 1242 macw %d2u,%d1l,,%a3@,%d2
+ 16d8: aed3 1242 macw %d2u,%d1l,>>,%a3@,%sp
+ 16dc: a293 1262 macw %d2u,%d1l,<<,%a3@&,%d1
+ 16e0: a6d3 1262 macw %d2u,%d1l,>>,%a3@&,%a3
+ 16e4: a493 1262 macw %d2u,%d1l,,%a3@&,%d2
+ 16e8: aed3 1262 macw %d2u,%d1l,>>,%a3@&,%sp
+ 16ec: a29a 1242 macw %d2u,%d1l,<<,%a2@\+,%d1
+ 16f0: a6da 1242 macw %d2u,%d1l,>>,%a2@\+,%a3
+ 16f4: a49a 1242 macw %d2u,%d1l,,%a2@\+,%d2
+ 16f8: aeda 1242 macw %d2u,%d1l,>>,%a2@\+,%sp
+ 16fc: a29a 1262 macw %d2u,%d1l,<<,%a2@\+&,%d1
+ 1700: a6da 1262 macw %d2u,%d1l,>>,%a2@\+&,%a3
+ 1704: a49a 1262 macw %d2u,%d1l,,%a2@\+&,%d2
+ 1708: aeda 1262 macw %d2u,%d1l,>>,%a2@\+&,%sp
+ 170c: a2ae 1242 000a macw %d2u,%d1l,<<,%fp@\(10\),%d1
+ 1712: a6ee 1242 000a macw %d2u,%d1l,>>,%fp@\(10\),%a3
+ 1718: a4ae 1242 000a macw %d2u,%d1l,,%fp@\(10\),%d2
+ 171e: aeee 1242 000a macw %d2u,%d1l,>>,%fp@\(10\),%sp
+ 1724: a2ae 1262 000a macw %d2u,%d1l,<<,%fp@\(10\)&,%d1
+ 172a: a6ee 1262 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%a3
+ 1730: a4ae 1262 000a macw %d2u,%d1l,,%fp@\(10\)&,%d2
+ 1736: aeee 1262 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%sp
+ 173c: a2a1 1242 macw %d2u,%d1l,<<,%a1@-,%d1
+ 1740: a6e1 1242 macw %d2u,%d1l,>>,%a1@-,%a3
+ 1744: a4a1 1242 macw %d2u,%d1l,,%a1@-,%d2
+ 1748: aee1 1242 macw %d2u,%d1l,>>,%a1@-,%sp
+ 174c: a2a1 1262 macw %d2u,%d1l,<<,%a1@-&,%d1
+ 1750: a6e1 1262 macw %d2u,%d1l,>>,%a1@-&,%a3
+ 1754: a4a1 1262 macw %d2u,%d1l,,%a1@-&,%d2
+ 1758: aee1 1262 macw %d2u,%d1l,>>,%a1@-&,%sp
+ 175c: a293 1642 macw %d2u,%d1l,<<,%a3@,%d1
+ 1760: a6d3 1642 macw %d2u,%d1l,>>,%a3@,%a3
+ 1764: a493 1642 macw %d2u,%d1l,,%a3@,%d2
+ 1768: aed3 1642 macw %d2u,%d1l,>>,%a3@,%sp
+ 176c: a293 1662 macw %d2u,%d1l,<<,%a3@&,%d1
+ 1770: a6d3 1662 macw %d2u,%d1l,>>,%a3@&,%a3
+ 1774: a493 1662 macw %d2u,%d1l,,%a3@&,%d2
+ 1778: aed3 1662 macw %d2u,%d1l,>>,%a3@&,%sp
+ 177c: a29a 1642 macw %d2u,%d1l,<<,%a2@\+,%d1
+ 1780: a6da 1642 macw %d2u,%d1l,>>,%a2@\+,%a3
+ 1784: a49a 1642 macw %d2u,%d1l,,%a2@\+,%d2
+ 1788: aeda 1642 macw %d2u,%d1l,>>,%a2@\+,%sp
+ 178c: a29a 1662 macw %d2u,%d1l,<<,%a2@\+&,%d1
+ 1790: a6da 1662 macw %d2u,%d1l,>>,%a2@\+&,%a3
+ 1794: a49a 1662 macw %d2u,%d1l,,%a2@\+&,%d2
+ 1798: aeda 1662 macw %d2u,%d1l,>>,%a2@\+&,%sp
+ 179c: a2ae 1642 000a macw %d2u,%d1l,<<,%fp@\(10\),%d1
+ 17a2: a6ee 1642 000a macw %d2u,%d1l,>>,%fp@\(10\),%a3
+ 17a8: a4ae 1642 000a macw %d2u,%d1l,,%fp@\(10\),%d2
+ 17ae: aeee 1642 000a macw %d2u,%d1l,>>,%fp@\(10\),%sp
+ 17b4: a2ae 1662 000a macw %d2u,%d1l,<<,%fp@\(10\)&,%d1
+ 17ba: a6ee 1662 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%a3
+ 17c0: a4ae 1662 000a macw %d2u,%d1l,,%fp@\(10\)&,%d2
+ 17c6: aeee 1662 000a macw %d2u,%d1l,>>,%fp@\(10\)&,%sp
+ 17cc: a2a1 1642 macw %d2u,%d1l,<<,%a1@-,%d1
+ 17d0: a6e1 1642 macw %d2u,%d1l,>>,%a1@-,%a3
+ 17d4: a4a1 1642 macw %d2u,%d1l,,%a1@-,%d2
+ 17d8: aee1 1642 macw %d2u,%d1l,>>,%a1@-,%sp
+ 17dc: a2a1 1662 macw %d2u,%d1l,<<,%a1@-&,%d1
+ 17e0: a6e1 1662 macw %d2u,%d1l,>>,%a1@-&,%a3
+ 17e4: a4a1 1662 macw %d2u,%d1l,,%a1@-&,%d2
+ 17e8: aee1 1662 macw %d2u,%d1l,>>,%a1@-&,%sp
+ 17ec: a293 a08d macw %a5l,%a2u,%a3@,%d1
+ 17f0: a6d3 a08d macw %a5l,%a2u,%a3@,%a3
+ 17f4: a493 a08d macw %a5l,%a2u,%a3@,%d2
+ 17f8: aed3 a08d macw %a5l,%a2u,%a3@,%sp
+ 17fc: a293 a0ad macw %a5l,%a2u,<<,%a3@&,%d1
+ 1800: a6d3 a0ad macw %a5l,%a2u,>>,%a3@&,%a3
+ 1804: a493 a0ad macw %a5l,%a2u,,%a3@&,%d2
+ 1808: aed3 a0ad macw %a5l,%a2u,>>,%a3@&,%sp
+ 180c: a29a a08d macw %a5l,%a2u,%a2@\+,%d1
+ 1810: a6da a08d macw %a5l,%a2u,%a2@\+,%a3
+ 1814: a49a a08d macw %a5l,%a2u,%a2@\+,%d2
+ 1818: aeda a08d macw %a5l,%a2u,%a2@\+,%sp
+ 181c: a29a a0ad macw %a5l,%a2u,<<,%a2@\+&,%d1
+ 1820: a6da a0ad macw %a5l,%a2u,>>,%a2@\+&,%a3
+ 1824: a49a a0ad macw %a5l,%a2u,,%a2@\+&,%d2
+ 1828: aeda a0ad macw %a5l,%a2u,>>,%a2@\+&,%sp
+ 182c: a2ae a08d 000a macw %a5l,%a2u,%fp@\(10\),%d1
+ 1832: a6ee a08d 000a macw %a5l,%a2u,%fp@\(10\),%a3
+ 1838: a4ae a08d 000a macw %a5l,%a2u,%fp@\(10\),%d2
+ 183e: aeee a08d 000a macw %a5l,%a2u,%fp@\(10\),%sp
+ 1844: a2ae a0ad 000a macw %a5l,%a2u,<<,%fp@\(10\)&,%d1
+ 184a: a6ee a0ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%a3
+ 1850: a4ae a0ad 000a macw %a5l,%a2u,,%fp@\(10\)&,%d2
+ 1856: aeee a0ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%sp
+ 185c: a2a1 a08d macw %a5l,%a2u,%a1@-,%d1
+ 1860: a6e1 a08d macw %a5l,%a2u,%a1@-,%a3
+ 1864: a4a1 a08d macw %a5l,%a2u,%a1@-,%d2
+ 1868: aee1 a08d macw %a5l,%a2u,%a1@-,%sp
+ 186c: a2a1 a0ad macw %a5l,%a2u,<<,%a1@-&,%d1
+ 1870: a6e1 a0ad macw %a5l,%a2u,>>,%a1@-&,%a3
+ 1874: a4a1 a0ad macw %a5l,%a2u,,%a1@-&,%d2
+ 1878: aee1 a0ad macw %a5l,%a2u,>>,%a1@-&,%sp
+ 187c: a293 a28d macw %a5l,%a2u,<<,%a3@,%d1
+ 1880: a6d3 a28d macw %a5l,%a2u,>>,%a3@,%a3
+ 1884: a493 a28d macw %a5l,%a2u,,%a3@,%d2
+ 1888: aed3 a28d macw %a5l,%a2u,>>,%a3@,%sp
+ 188c: a293 a2ad macw %a5l,%a2u,<<,%a3@&,%d1
+ 1890: a6d3 a2ad macw %a5l,%a2u,>>,%a3@&,%a3
+ 1894: a493 a2ad macw %a5l,%a2u,,%a3@&,%d2
+ 1898: aed3 a2ad macw %a5l,%a2u,>>,%a3@&,%sp
+ 189c: a29a a28d macw %a5l,%a2u,<<,%a2@\+,%d1
+ 18a0: a6da a28d macw %a5l,%a2u,>>,%a2@\+,%a3
+ 18a4: a49a a28d macw %a5l,%a2u,,%a2@\+,%d2
+ 18a8: aeda a28d macw %a5l,%a2u,>>,%a2@\+,%sp
+ 18ac: a29a a2ad macw %a5l,%a2u,<<,%a2@\+&,%d1
+ 18b0: a6da a2ad macw %a5l,%a2u,>>,%a2@\+&,%a3
+ 18b4: a49a a2ad macw %a5l,%a2u,,%a2@\+&,%d2
+ 18b8: aeda a2ad macw %a5l,%a2u,>>,%a2@\+&,%sp
+ 18bc: a2ae a28d 000a macw %a5l,%a2u,<<,%fp@\(10\),%d1
+ 18c2: a6ee a28d 000a macw %a5l,%a2u,>>,%fp@\(10\),%a3
+ 18c8: a4ae a28d 000a macw %a5l,%a2u,,%fp@\(10\),%d2
+ 18ce: aeee a28d 000a macw %a5l,%a2u,>>,%fp@\(10\),%sp
+ 18d4: a2ae a2ad 000a macw %a5l,%a2u,<<,%fp@\(10\)&,%d1
+ 18da: a6ee a2ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%a3
+ 18e0: a4ae a2ad 000a macw %a5l,%a2u,,%fp@\(10\)&,%d2
+ 18e6: aeee a2ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%sp
+ 18ec: a2a1 a28d macw %a5l,%a2u,<<,%a1@-,%d1
+ 18f0: a6e1 a28d macw %a5l,%a2u,>>,%a1@-,%a3
+ 18f4: a4a1 a28d macw %a5l,%a2u,,%a1@-,%d2
+ 18f8: aee1 a28d macw %a5l,%a2u,>>,%a1@-,%sp
+ 18fc: a2a1 a2ad macw %a5l,%a2u,<<,%a1@-&,%d1
+ 1900: a6e1 a2ad macw %a5l,%a2u,>>,%a1@-&,%a3
+ 1904: a4a1 a2ad macw %a5l,%a2u,,%a1@-&,%d2
+ 1908: aee1 a2ad macw %a5l,%a2u,>>,%a1@-&,%sp
+ 190c: a293 a68d macw %a5l,%a2u,<<,%a3@,%d1
+ 1910: a6d3 a68d macw %a5l,%a2u,>>,%a3@,%a3
+ 1914: a493 a68d macw %a5l,%a2u,,%a3@,%d2
+ 1918: aed3 a68d macw %a5l,%a2u,>>,%a3@,%sp
+ 191c: a293 a6ad macw %a5l,%a2u,<<,%a3@&,%d1
+ 1920: a6d3 a6ad macw %a5l,%a2u,>>,%a3@&,%a3
+ 1924: a493 a6ad macw %a5l,%a2u,,%a3@&,%d2
+ 1928: aed3 a6ad macw %a5l,%a2u,>>,%a3@&,%sp
+ 192c: a29a a68d macw %a5l,%a2u,<<,%a2@\+,%d1
+ 1930: a6da a68d macw %a5l,%a2u,>>,%a2@\+,%a3
+ 1934: a49a a68d macw %a5l,%a2u,,%a2@\+,%d2
+ 1938: aeda a68d macw %a5l,%a2u,>>,%a2@\+,%sp
+ 193c: a29a a6ad macw %a5l,%a2u,<<,%a2@\+&,%d1
+ 1940: a6da a6ad macw %a5l,%a2u,>>,%a2@\+&,%a3
+ 1944: a49a a6ad macw %a5l,%a2u,,%a2@\+&,%d2
+ 1948: aeda a6ad macw %a5l,%a2u,>>,%a2@\+&,%sp
+ 194c: a2ae a68d 000a macw %a5l,%a2u,<<,%fp@\(10\),%d1
+ 1952: a6ee a68d 000a macw %a5l,%a2u,>>,%fp@\(10\),%a3
+ 1958: a4ae a68d 000a macw %a5l,%a2u,,%fp@\(10\),%d2
+ 195e: aeee a68d 000a macw %a5l,%a2u,>>,%fp@\(10\),%sp
+ 1964: a2ae a6ad 000a macw %a5l,%a2u,<<,%fp@\(10\)&,%d1
+ 196a: a6ee a6ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%a3
+ 1970: a4ae a6ad 000a macw %a5l,%a2u,,%fp@\(10\)&,%d2
+ 1976: aeee a6ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%sp
+ 197c: a2a1 a68d macw %a5l,%a2u,<<,%a1@-,%d1
+ 1980: a6e1 a68d macw %a5l,%a2u,>>,%a1@-,%a3
+ 1984: a4a1 a68d macw %a5l,%a2u,,%a1@-,%d2
+ 1988: aee1 a68d macw %a5l,%a2u,>>,%a1@-,%sp
+ 198c: a2a1 a6ad macw %a5l,%a2u,<<,%a1@-&,%d1
+ 1990: a6e1 a6ad macw %a5l,%a2u,>>,%a1@-&,%a3
+ 1994: a4a1 a6ad macw %a5l,%a2u,,%a1@-&,%d2
+ 1998: aee1 a6ad macw %a5l,%a2u,>>,%a1@-&,%sp
+ 199c: a293 a28d macw %a5l,%a2u,<<,%a3@,%d1
+ 19a0: a6d3 a28d macw %a5l,%a2u,>>,%a3@,%a3
+ 19a4: a493 a28d macw %a5l,%a2u,,%a3@,%d2
+ 19a8: aed3 a28d macw %a5l,%a2u,>>,%a3@,%sp
+ 19ac: a293 a2ad macw %a5l,%a2u,<<,%a3@&,%d1
+ 19b0: a6d3 a2ad macw %a5l,%a2u,>>,%a3@&,%a3
+ 19b4: a493 a2ad macw %a5l,%a2u,,%a3@&,%d2
+ 19b8: aed3 a2ad macw %a5l,%a2u,>>,%a3@&,%sp
+ 19bc: a29a a28d macw %a5l,%a2u,<<,%a2@\+,%d1
+ 19c0: a6da a28d macw %a5l,%a2u,>>,%a2@\+,%a3
+ 19c4: a49a a28d macw %a5l,%a2u,,%a2@\+,%d2
+ 19c8: aeda a28d macw %a5l,%a2u,>>,%a2@\+,%sp
+ 19cc: a29a a2ad macw %a5l,%a2u,<<,%a2@\+&,%d1
+ 19d0: a6da a2ad macw %a5l,%a2u,>>,%a2@\+&,%a3
+ 19d4: a49a a2ad macw %a5l,%a2u,,%a2@\+&,%d2
+ 19d8: aeda a2ad macw %a5l,%a2u,>>,%a2@\+&,%sp
+ 19dc: a2ae a28d 000a macw %a5l,%a2u,<<,%fp@\(10\),%d1
+ 19e2: a6ee a28d 000a macw %a5l,%a2u,>>,%fp@\(10\),%a3
+ 19e8: a4ae a28d 000a macw %a5l,%a2u,,%fp@\(10\),%d2
+ 19ee: aeee a28d 000a macw %a5l,%a2u,>>,%fp@\(10\),%sp
+ 19f4: a2ae a2ad 000a macw %a5l,%a2u,<<,%fp@\(10\)&,%d1
+ 19fa: a6ee a2ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%a3
+ 1a00: a4ae a2ad 000a macw %a5l,%a2u,,%fp@\(10\)&,%d2
+ 1a06: aeee a2ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%sp
+ 1a0c: a2a1 a28d macw %a5l,%a2u,<<,%a1@-,%d1
+ 1a10: a6e1 a28d macw %a5l,%a2u,>>,%a1@-,%a3
+ 1a14: a4a1 a28d macw %a5l,%a2u,,%a1@-,%d2
+ 1a18: aee1 a28d macw %a5l,%a2u,>>,%a1@-,%sp
+ 1a1c: a2a1 a2ad macw %a5l,%a2u,<<,%a1@-&,%d1
+ 1a20: a6e1 a2ad macw %a5l,%a2u,>>,%a1@-&,%a3
+ 1a24: a4a1 a2ad macw %a5l,%a2u,,%a1@-&,%d2
+ 1a28: aee1 a2ad macw %a5l,%a2u,>>,%a1@-&,%sp
+ 1a2c: a293 a68d macw %a5l,%a2u,<<,%a3@,%d1
+ 1a30: a6d3 a68d macw %a5l,%a2u,>>,%a3@,%a3
+ 1a34: a493 a68d macw %a5l,%a2u,,%a3@,%d2
+ 1a38: aed3 a68d macw %a5l,%a2u,>>,%a3@,%sp
+ 1a3c: a293 a6ad macw %a5l,%a2u,<<,%a3@&,%d1
+ 1a40: a6d3 a6ad macw %a5l,%a2u,>>,%a3@&,%a3
+ 1a44: a493 a6ad macw %a5l,%a2u,,%a3@&,%d2
+ 1a48: aed3 a6ad macw %a5l,%a2u,>>,%a3@&,%sp
+ 1a4c: a29a a68d macw %a5l,%a2u,<<,%a2@\+,%d1
+ 1a50: a6da a68d macw %a5l,%a2u,>>,%a2@\+,%a3
+ 1a54: a49a a68d macw %a5l,%a2u,,%a2@\+,%d2
+ 1a58: aeda a68d macw %a5l,%a2u,>>,%a2@\+,%sp
+ 1a5c: a29a a6ad macw %a5l,%a2u,<<,%a2@\+&,%d1
+ 1a60: a6da a6ad macw %a5l,%a2u,>>,%a2@\+&,%a3
+ 1a64: a49a a6ad macw %a5l,%a2u,,%a2@\+&,%d2
+ 1a68: aeda a6ad macw %a5l,%a2u,>>,%a2@\+&,%sp
+ 1a6c: a2ae a68d 000a macw %a5l,%a2u,<<,%fp@\(10\),%d1
+ 1a72: a6ee a68d 000a macw %a5l,%a2u,>>,%fp@\(10\),%a3
+ 1a78: a4ae a68d 000a macw %a5l,%a2u,,%fp@\(10\),%d2
+ 1a7e: aeee a68d 000a macw %a5l,%a2u,>>,%fp@\(10\),%sp
+ 1a84: a2ae a6ad 000a macw %a5l,%a2u,<<,%fp@\(10\)&,%d1
+ 1a8a: a6ee a6ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%a3
+ 1a90: a4ae a6ad 000a macw %a5l,%a2u,,%fp@\(10\)&,%d2
+ 1a96: aeee a6ad 000a macw %a5l,%a2u,>>,%fp@\(10\)&,%sp
+ 1a9c: a2a1 a68d macw %a5l,%a2u,<<,%a1@-,%d1
+ 1aa0: a6e1 a68d macw %a5l,%a2u,>>,%a1@-,%a3
+ 1aa4: a4a1 a68d macw %a5l,%a2u,,%a1@-,%d2
+ 1aa8: aee1 a68d macw %a5l,%a2u,>>,%a1@-,%sp
+ 1aac: a2a1 a6ad macw %a5l,%a2u,<<,%a1@-&,%d1
+ 1ab0: a6e1 a6ad macw %a5l,%a2u,>>,%a1@-&,%a3
+ 1ab4: a4a1 a6ad macw %a5l,%a2u,,%a1@-&,%d2
+ 1ab8: aee1 a6ad macw %a5l,%a2u,>>,%a1@-&,%sp
+ 1abc: a293 300d macw %a5l,%d3l,%a3@,%d1
+ 1ac0: a6d3 300d macw %a5l,%d3l,%a3@,%a3
+ 1ac4: a493 300d macw %a5l,%d3l,%a3@,%d2
+ 1ac8: aed3 300d macw %a5l,%d3l,%a3@,%sp
+ 1acc: a293 302d macw %a5l,%d3l,<<,%a3@&,%d1
+ 1ad0: a6d3 302d macw %a5l,%d3l,>>,%a3@&,%a3
+ 1ad4: a493 302d macw %a5l,%d3l,,%a3@&,%d2
+ 1ad8: aed3 302d macw %a5l,%d3l,>>,%a3@&,%sp
+ 1adc: a29a 300d macw %a5l,%d3l,%a2@\+,%d1
+ 1ae0: a6da 300d macw %a5l,%d3l,%a2@\+,%a3
+ 1ae4: a49a 300d macw %a5l,%d3l,%a2@\+,%d2
+ 1ae8: aeda 300d macw %a5l,%d3l,%a2@\+,%sp
+ 1aec: a29a 302d macw %a5l,%d3l,<<,%a2@\+&,%d1
+ 1af0: a6da 302d macw %a5l,%d3l,>>,%a2@\+&,%a3
+ 1af4: a49a 302d macw %a5l,%d3l,,%a2@\+&,%d2
+ 1af8: aeda 302d macw %a5l,%d3l,>>,%a2@\+&,%sp
+ 1afc: a2ae 300d 000a macw %a5l,%d3l,%fp@\(10\),%d1
+ 1b02: a6ee 300d 000a macw %a5l,%d3l,%fp@\(10\),%a3
+ 1b08: a4ae 300d 000a macw %a5l,%d3l,%fp@\(10\),%d2
+ 1b0e: aeee 300d 000a macw %a5l,%d3l,%fp@\(10\),%sp
+ 1b14: a2ae 302d 000a macw %a5l,%d3l,<<,%fp@\(10\)&,%d1
+ 1b1a: a6ee 302d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%a3
+ 1b20: a4ae 302d 000a macw %a5l,%d3l,,%fp@\(10\)&,%d2
+ 1b26: aeee 302d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%sp
+ 1b2c: a2a1 300d macw %a5l,%d3l,%a1@-,%d1
+ 1b30: a6e1 300d macw %a5l,%d3l,%a1@-,%a3
+ 1b34: a4a1 300d macw %a5l,%d3l,%a1@-,%d2
+ 1b38: aee1 300d macw %a5l,%d3l,%a1@-,%sp
+ 1b3c: a2a1 302d macw %a5l,%d3l,<<,%a1@-&,%d1
+ 1b40: a6e1 302d macw %a5l,%d3l,>>,%a1@-&,%a3
+ 1b44: a4a1 302d macw %a5l,%d3l,,%a1@-&,%d2
+ 1b48: aee1 302d macw %a5l,%d3l,>>,%a1@-&,%sp
+ 1b4c: a293 320d macw %a5l,%d3l,<<,%a3@,%d1
+ 1b50: a6d3 320d macw %a5l,%d3l,>>,%a3@,%a3
+ 1b54: a493 320d macw %a5l,%d3l,,%a3@,%d2
+ 1b58: aed3 320d macw %a5l,%d3l,>>,%a3@,%sp
+ 1b5c: a293 322d macw %a5l,%d3l,<<,%a3@&,%d1
+ 1b60: a6d3 322d macw %a5l,%d3l,>>,%a3@&,%a3
+ 1b64: a493 322d macw %a5l,%d3l,,%a3@&,%d2
+ 1b68: aed3 322d macw %a5l,%d3l,>>,%a3@&,%sp
+ 1b6c: a29a 320d macw %a5l,%d3l,<<,%a2@\+,%d1
+ 1b70: a6da 320d macw %a5l,%d3l,>>,%a2@\+,%a3
+ 1b74: a49a 320d macw %a5l,%d3l,,%a2@\+,%d2
+ 1b78: aeda 320d macw %a5l,%d3l,>>,%a2@\+,%sp
+ 1b7c: a29a 322d macw %a5l,%d3l,<<,%a2@\+&,%d1
+ 1b80: a6da 322d macw %a5l,%d3l,>>,%a2@\+&,%a3
+ 1b84: a49a 322d macw %a5l,%d3l,,%a2@\+&,%d2
+ 1b88: aeda 322d macw %a5l,%d3l,>>,%a2@\+&,%sp
+ 1b8c: a2ae 320d 000a macw %a5l,%d3l,<<,%fp@\(10\),%d1
+ 1b92: a6ee 320d 000a macw %a5l,%d3l,>>,%fp@\(10\),%a3
+ 1b98: a4ae 320d 000a macw %a5l,%d3l,,%fp@\(10\),%d2
+ 1b9e: aeee 320d 000a macw %a5l,%d3l,>>,%fp@\(10\),%sp
+ 1ba4: a2ae 322d 000a macw %a5l,%d3l,<<,%fp@\(10\)&,%d1
+ 1baa: a6ee 322d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%a3
+ 1bb0: a4ae 322d 000a macw %a5l,%d3l,,%fp@\(10\)&,%d2
+ 1bb6: aeee 322d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%sp
+ 1bbc: a2a1 320d macw %a5l,%d3l,<<,%a1@-,%d1
+ 1bc0: a6e1 320d macw %a5l,%d3l,>>,%a1@-,%a3
+ 1bc4: a4a1 320d macw %a5l,%d3l,,%a1@-,%d2
+ 1bc8: aee1 320d macw %a5l,%d3l,>>,%a1@-,%sp
+ 1bcc: a2a1 322d macw %a5l,%d3l,<<,%a1@-&,%d1
+ 1bd0: a6e1 322d macw %a5l,%d3l,>>,%a1@-&,%a3
+ 1bd4: a4a1 322d macw %a5l,%d3l,,%a1@-&,%d2
+ 1bd8: aee1 322d macw %a5l,%d3l,>>,%a1@-&,%sp
+ 1bdc: a293 360d macw %a5l,%d3l,<<,%a3@,%d1
+ 1be0: a6d3 360d macw %a5l,%d3l,>>,%a3@,%a3
+ 1be4: a493 360d macw %a5l,%d3l,,%a3@,%d2
+ 1be8: aed3 360d macw %a5l,%d3l,>>,%a3@,%sp
+ 1bec: a293 362d macw %a5l,%d3l,<<,%a3@&,%d1
+ 1bf0: a6d3 362d macw %a5l,%d3l,>>,%a3@&,%a3
+ 1bf4: a493 362d macw %a5l,%d3l,,%a3@&,%d2
+ 1bf8: aed3 362d macw %a5l,%d3l,>>,%a3@&,%sp
+ 1bfc: a29a 360d macw %a5l,%d3l,<<,%a2@\+,%d1
+ 1c00: a6da 360d macw %a5l,%d3l,>>,%a2@\+,%a3
+ 1c04: a49a 360d macw %a5l,%d3l,,%a2@\+,%d2
+ 1c08: aeda 360d macw %a5l,%d3l,>>,%a2@\+,%sp
+ 1c0c: a29a 362d macw %a5l,%d3l,<<,%a2@\+&,%d1
+ 1c10: a6da 362d macw %a5l,%d3l,>>,%a2@\+&,%a3
+ 1c14: a49a 362d macw %a5l,%d3l,,%a2@\+&,%d2
+ 1c18: aeda 362d macw %a5l,%d3l,>>,%a2@\+&,%sp
+ 1c1c: a2ae 360d 000a macw %a5l,%d3l,<<,%fp@\(10\),%d1
+ 1c22: a6ee 360d 000a macw %a5l,%d3l,>>,%fp@\(10\),%a3
+ 1c28: a4ae 360d 000a macw %a5l,%d3l,,%fp@\(10\),%d2
+ 1c2e: aeee 360d 000a macw %a5l,%d3l,>>,%fp@\(10\),%sp
+ 1c34: a2ae 362d 000a macw %a5l,%d3l,<<,%fp@\(10\)&,%d1
+ 1c3a: a6ee 362d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%a3
+ 1c40: a4ae 362d 000a macw %a5l,%d3l,,%fp@\(10\)&,%d2
+ 1c46: aeee 362d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%sp
+ 1c4c: a2a1 360d macw %a5l,%d3l,<<,%a1@-,%d1
+ 1c50: a6e1 360d macw %a5l,%d3l,>>,%a1@-,%a3
+ 1c54: a4a1 360d macw %a5l,%d3l,,%a1@-,%d2
+ 1c58: aee1 360d macw %a5l,%d3l,>>,%a1@-,%sp
+ 1c5c: a2a1 362d macw %a5l,%d3l,<<,%a1@-&,%d1
+ 1c60: a6e1 362d macw %a5l,%d3l,>>,%a1@-&,%a3
+ 1c64: a4a1 362d macw %a5l,%d3l,,%a1@-&,%d2
+ 1c68: aee1 362d macw %a5l,%d3l,>>,%a1@-&,%sp
+ 1c6c: a293 320d macw %a5l,%d3l,<<,%a3@,%d1
+ 1c70: a6d3 320d macw %a5l,%d3l,>>,%a3@,%a3
+ 1c74: a493 320d macw %a5l,%d3l,,%a3@,%d2
+ 1c78: aed3 320d macw %a5l,%d3l,>>,%a3@,%sp
+ 1c7c: a293 322d macw %a5l,%d3l,<<,%a3@&,%d1
+ 1c80: a6d3 322d macw %a5l,%d3l,>>,%a3@&,%a3
+ 1c84: a493 322d macw %a5l,%d3l,,%a3@&,%d2
+ 1c88: aed3 322d macw %a5l,%d3l,>>,%a3@&,%sp
+ 1c8c: a29a 320d macw %a5l,%d3l,<<,%a2@\+,%d1
+ 1c90: a6da 320d macw %a5l,%d3l,>>,%a2@\+,%a3
+ 1c94: a49a 320d macw %a5l,%d3l,,%a2@\+,%d2
+ 1c98: aeda 320d macw %a5l,%d3l,>>,%a2@\+,%sp
+ 1c9c: a29a 322d macw %a5l,%d3l,<<,%a2@\+&,%d1
+ 1ca0: a6da 322d macw %a5l,%d3l,>>,%a2@\+&,%a3
+ 1ca4: a49a 322d macw %a5l,%d3l,,%a2@\+&,%d2
+ 1ca8: aeda 322d macw %a5l,%d3l,>>,%a2@\+&,%sp
+ 1cac: a2ae 320d 000a macw %a5l,%d3l,<<,%fp@\(10\),%d1
+ 1cb2: a6ee 320d 000a macw %a5l,%d3l,>>,%fp@\(10\),%a3
+ 1cb8: a4ae 320d 000a macw %a5l,%d3l,,%fp@\(10\),%d2
+ 1cbe: aeee 320d 000a macw %a5l,%d3l,>>,%fp@\(10\),%sp
+ 1cc4: a2ae 322d 000a macw %a5l,%d3l,<<,%fp@\(10\)&,%d1
+ 1cca: a6ee 322d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%a3
+ 1cd0: a4ae 322d 000a macw %a5l,%d3l,,%fp@\(10\)&,%d2
+ 1cd6: aeee 322d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%sp
+ 1cdc: a2a1 320d macw %a5l,%d3l,<<,%a1@-,%d1
+ 1ce0: a6e1 320d macw %a5l,%d3l,>>,%a1@-,%a3
+ 1ce4: a4a1 320d macw %a5l,%d3l,,%a1@-,%d2
+ 1ce8: aee1 320d macw %a5l,%d3l,>>,%a1@-,%sp
+ 1cec: a2a1 322d macw %a5l,%d3l,<<,%a1@-&,%d1
+ 1cf0: a6e1 322d macw %a5l,%d3l,>>,%a1@-&,%a3
+ 1cf4: a4a1 322d macw %a5l,%d3l,,%a1@-&,%d2
+ 1cf8: aee1 322d macw %a5l,%d3l,>>,%a1@-&,%sp
+ 1cfc: a293 360d macw %a5l,%d3l,<<,%a3@,%d1
+ 1d00: a6d3 360d macw %a5l,%d3l,>>,%a3@,%a3
+ 1d04: a493 360d macw %a5l,%d3l,,%a3@,%d2
+ 1d08: aed3 360d macw %a5l,%d3l,>>,%a3@,%sp
+ 1d0c: a293 362d macw %a5l,%d3l,<<,%a3@&,%d1
+ 1d10: a6d3 362d macw %a5l,%d3l,>>,%a3@&,%a3
+ 1d14: a493 362d macw %a5l,%d3l,,%a3@&,%d2
+ 1d18: aed3 362d macw %a5l,%d3l,>>,%a3@&,%sp
+ 1d1c: a29a 360d macw %a5l,%d3l,<<,%a2@\+,%d1
+ 1d20: a6da 360d macw %a5l,%d3l,>>,%a2@\+,%a3
+ 1d24: a49a 360d macw %a5l,%d3l,,%a2@\+,%d2
+ 1d28: aeda 360d macw %a5l,%d3l,>>,%a2@\+,%sp
+ 1d2c: a29a 362d macw %a5l,%d3l,<<,%a2@\+&,%d1
+ 1d30: a6da 362d macw %a5l,%d3l,>>,%a2@\+&,%a3
+ 1d34: a49a 362d macw %a5l,%d3l,,%a2@\+&,%d2
+ 1d38: aeda 362d macw %a5l,%d3l,>>,%a2@\+&,%sp
+ 1d3c: a2ae 360d 000a macw %a5l,%d3l,<<,%fp@\(10\),%d1
+ 1d42: a6ee 360d 000a macw %a5l,%d3l,>>,%fp@\(10\),%a3
+ 1d48: a4ae 360d 000a macw %a5l,%d3l,,%fp@\(10\),%d2
+ 1d4e: aeee 360d 000a macw %a5l,%d3l,>>,%fp@\(10\),%sp
+ 1d54: a2ae 362d 000a macw %a5l,%d3l,<<,%fp@\(10\)&,%d1
+ 1d5a: a6ee 362d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%a3
+ 1d60: a4ae 362d 000a macw %a5l,%d3l,,%fp@\(10\)&,%d2
+ 1d66: aeee 362d 000a macw %a5l,%d3l,>>,%fp@\(10\)&,%sp
+ 1d6c: a2a1 360d macw %a5l,%d3l,<<,%a1@-,%d1
+ 1d70: a6e1 360d macw %a5l,%d3l,>>,%a1@-,%a3
+ 1d74: a4a1 360d macw %a5l,%d3l,,%a1@-,%d2
+ 1d78: aee1 360d macw %a5l,%d3l,>>,%a1@-,%sp
+ 1d7c: a2a1 362d macw %a5l,%d3l,<<,%a1@-&,%d1
+ 1d80: a6e1 362d macw %a5l,%d3l,>>,%a1@-&,%a3
+ 1d84: a4a1 362d macw %a5l,%d3l,,%a1@-&,%d2
+ 1d88: aee1 362d macw %a5l,%d3l,>>,%a1@-&,%sp
+ 1d8c: a293 f08d macw %a5l,%spu,%a3@,%d1
+ 1d90: a6d3 f08d macw %a5l,%spu,%a3@,%a3
+ 1d94: a493 f08d macw %a5l,%spu,%a3@,%d2
+ 1d98: aed3 f08d macw %a5l,%spu,%a3@,%sp
+ 1d9c: a293 f0ad macw %a5l,%spu,<<,%a3@&,%d1
+ 1da0: a6d3 f0ad macw %a5l,%spu,>>,%a3@&,%a3
+ 1da4: a493 f0ad macw %a5l,%spu,,%a3@&,%d2
+ 1da8: aed3 f0ad macw %a5l,%spu,>>,%a3@&,%sp
+ 1dac: a29a f08d macw %a5l,%spu,%a2@\+,%d1
+ 1db0: a6da f08d macw %a5l,%spu,%a2@\+,%a3
+ 1db4: a49a f08d macw %a5l,%spu,%a2@\+,%d2
+ 1db8: aeda f08d macw %a5l,%spu,%a2@\+,%sp
+ 1dbc: a29a f0ad macw %a5l,%spu,<<,%a2@\+&,%d1
+ 1dc0: a6da f0ad macw %a5l,%spu,>>,%a2@\+&,%a3
+ 1dc4: a49a f0ad macw %a5l,%spu,,%a2@\+&,%d2
+ 1dc8: aeda f0ad macw %a5l,%spu,>>,%a2@\+&,%sp
+ 1dcc: a2ae f08d 000a macw %a5l,%spu,%fp@\(10\),%d1
+ 1dd2: a6ee f08d 000a macw %a5l,%spu,%fp@\(10\),%a3
+ 1dd8: a4ae f08d 000a macw %a5l,%spu,%fp@\(10\),%d2
+ 1dde: aeee f08d 000a macw %a5l,%spu,%fp@\(10\),%sp
+ 1de4: a2ae f0ad 000a macw %a5l,%spu,<<,%fp@\(10\)&,%d1
+ 1dea: a6ee f0ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%a3
+ 1df0: a4ae f0ad 000a macw %a5l,%spu,,%fp@\(10\)&,%d2
+ 1df6: aeee f0ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%sp
+ 1dfc: a2a1 f08d macw %a5l,%spu,%a1@-,%d1
+ 1e00: a6e1 f08d macw %a5l,%spu,%a1@-,%a3
+ 1e04: a4a1 f08d macw %a5l,%spu,%a1@-,%d2
+ 1e08: aee1 f08d macw %a5l,%spu,%a1@-,%sp
+ 1e0c: a2a1 f0ad macw %a5l,%spu,<<,%a1@-&,%d1
+ 1e10: a6e1 f0ad macw %a5l,%spu,>>,%a1@-&,%a3
+ 1e14: a4a1 f0ad macw %a5l,%spu,,%a1@-&,%d2
+ 1e18: aee1 f0ad macw %a5l,%spu,>>,%a1@-&,%sp
+ 1e1c: a293 f28d macw %a5l,%spu,<<,%a3@,%d1
+ 1e20: a6d3 f28d macw %a5l,%spu,>>,%a3@,%a3
+ 1e24: a493 f28d macw %a5l,%spu,,%a3@,%d2
+ 1e28: aed3 f28d macw %a5l,%spu,>>,%a3@,%sp
+ 1e2c: a293 f2ad macw %a5l,%spu,<<,%a3@&,%d1
+ 1e30: a6d3 f2ad macw %a5l,%spu,>>,%a3@&,%a3
+ 1e34: a493 f2ad macw %a5l,%spu,,%a3@&,%d2
+ 1e38: aed3 f2ad macw %a5l,%spu,>>,%a3@&,%sp
+ 1e3c: a29a f28d macw %a5l,%spu,<<,%a2@\+,%d1
+ 1e40: a6da f28d macw %a5l,%spu,>>,%a2@\+,%a3
+ 1e44: a49a f28d macw %a5l,%spu,,%a2@\+,%d2
+ 1e48: aeda f28d macw %a5l,%spu,>>,%a2@\+,%sp
+ 1e4c: a29a f2ad macw %a5l,%spu,<<,%a2@\+&,%d1
+ 1e50: a6da f2ad macw %a5l,%spu,>>,%a2@\+&,%a3
+ 1e54: a49a f2ad macw %a5l,%spu,,%a2@\+&,%d2
+ 1e58: aeda f2ad macw %a5l,%spu,>>,%a2@\+&,%sp
+ 1e5c: a2ae f28d 000a macw %a5l,%spu,<<,%fp@\(10\),%d1
+ 1e62: a6ee f28d 000a macw %a5l,%spu,>>,%fp@\(10\),%a3
+ 1e68: a4ae f28d 000a macw %a5l,%spu,,%fp@\(10\),%d2
+ 1e6e: aeee f28d 000a macw %a5l,%spu,>>,%fp@\(10\),%sp
+ 1e74: a2ae f2ad 000a macw %a5l,%spu,<<,%fp@\(10\)&,%d1
+ 1e7a: a6ee f2ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%a3
+ 1e80: a4ae f2ad 000a macw %a5l,%spu,,%fp@\(10\)&,%d2
+ 1e86: aeee f2ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%sp
+ 1e8c: a2a1 f28d macw %a5l,%spu,<<,%a1@-,%d1
+ 1e90: a6e1 f28d macw %a5l,%spu,>>,%a1@-,%a3
+ 1e94: a4a1 f28d macw %a5l,%spu,,%a1@-,%d2
+ 1e98: aee1 f28d macw %a5l,%spu,>>,%a1@-,%sp
+ 1e9c: a2a1 f2ad macw %a5l,%spu,<<,%a1@-&,%d1
+ 1ea0: a6e1 f2ad macw %a5l,%spu,>>,%a1@-&,%a3
+ 1ea4: a4a1 f2ad macw %a5l,%spu,,%a1@-&,%d2
+ 1ea8: aee1 f2ad macw %a5l,%spu,>>,%a1@-&,%sp
+ 1eac: a293 f68d macw %a5l,%spu,<<,%a3@,%d1
+ 1eb0: a6d3 f68d macw %a5l,%spu,>>,%a3@,%a3
+ 1eb4: a493 f68d macw %a5l,%spu,,%a3@,%d2
+ 1eb8: aed3 f68d macw %a5l,%spu,>>,%a3@,%sp
+ 1ebc: a293 f6ad macw %a5l,%spu,<<,%a3@&,%d1
+ 1ec0: a6d3 f6ad macw %a5l,%spu,>>,%a3@&,%a3
+ 1ec4: a493 f6ad macw %a5l,%spu,,%a3@&,%d2
+ 1ec8: aed3 f6ad macw %a5l,%spu,>>,%a3@&,%sp
+ 1ecc: a29a f68d macw %a5l,%spu,<<,%a2@\+,%d1
+ 1ed0: a6da f68d macw %a5l,%spu,>>,%a2@\+,%a3
+ 1ed4: a49a f68d macw %a5l,%spu,,%a2@\+,%d2
+ 1ed8: aeda f68d macw %a5l,%spu,>>,%a2@\+,%sp
+ 1edc: a29a f6ad macw %a5l,%spu,<<,%a2@\+&,%d1
+ 1ee0: a6da f6ad macw %a5l,%spu,>>,%a2@\+&,%a3
+ 1ee4: a49a f6ad macw %a5l,%spu,,%a2@\+&,%d2
+ 1ee8: aeda f6ad macw %a5l,%spu,>>,%a2@\+&,%sp
+ 1eec: a2ae f68d 000a macw %a5l,%spu,<<,%fp@\(10\),%d1
+ 1ef2: a6ee f68d 000a macw %a5l,%spu,>>,%fp@\(10\),%a3
+ 1ef8: a4ae f68d 000a macw %a5l,%spu,,%fp@\(10\),%d2
+ 1efe: aeee f68d 000a macw %a5l,%spu,>>,%fp@\(10\),%sp
+ 1f04: a2ae f6ad 000a macw %a5l,%spu,<<,%fp@\(10\)&,%d1
+ 1f0a: a6ee f6ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%a3
+ 1f10: a4ae f6ad 000a macw %a5l,%spu,,%fp@\(10\)&,%d2
+ 1f16: aeee f6ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%sp
+ 1f1c: a2a1 f68d macw %a5l,%spu,<<,%a1@-,%d1
+ 1f20: a6e1 f68d macw %a5l,%spu,>>,%a1@-,%a3
+ 1f24: a4a1 f68d macw %a5l,%spu,,%a1@-,%d2
+ 1f28: aee1 f68d macw %a5l,%spu,>>,%a1@-,%sp
+ 1f2c: a2a1 f6ad macw %a5l,%spu,<<,%a1@-&,%d1
+ 1f30: a6e1 f6ad macw %a5l,%spu,>>,%a1@-&,%a3
+ 1f34: a4a1 f6ad macw %a5l,%spu,,%a1@-&,%d2
+ 1f38: aee1 f6ad macw %a5l,%spu,>>,%a1@-&,%sp
+ 1f3c: a293 f28d macw %a5l,%spu,<<,%a3@,%d1
+ 1f40: a6d3 f28d macw %a5l,%spu,>>,%a3@,%a3
+ 1f44: a493 f28d macw %a5l,%spu,,%a3@,%d2
+ 1f48: aed3 f28d macw %a5l,%spu,>>,%a3@,%sp
+ 1f4c: a293 f2ad macw %a5l,%spu,<<,%a3@&,%d1
+ 1f50: a6d3 f2ad macw %a5l,%spu,>>,%a3@&,%a3
+ 1f54: a493 f2ad macw %a5l,%spu,,%a3@&,%d2
+ 1f58: aed3 f2ad macw %a5l,%spu,>>,%a3@&,%sp
+ 1f5c: a29a f28d macw %a5l,%spu,<<,%a2@\+,%d1
+ 1f60: a6da f28d macw %a5l,%spu,>>,%a2@\+,%a3
+ 1f64: a49a f28d macw %a5l,%spu,,%a2@\+,%d2
+ 1f68: aeda f28d macw %a5l,%spu,>>,%a2@\+,%sp
+ 1f6c: a29a f2ad macw %a5l,%spu,<<,%a2@\+&,%d1
+ 1f70: a6da f2ad macw %a5l,%spu,>>,%a2@\+&,%a3
+ 1f74: a49a f2ad macw %a5l,%spu,,%a2@\+&,%d2
+ 1f78: aeda f2ad macw %a5l,%spu,>>,%a2@\+&,%sp
+ 1f7c: a2ae f28d 000a macw %a5l,%spu,<<,%fp@\(10\),%d1
+ 1f82: a6ee f28d 000a macw %a5l,%spu,>>,%fp@\(10\),%a3
+ 1f88: a4ae f28d 000a macw %a5l,%spu,,%fp@\(10\),%d2
+ 1f8e: aeee f28d 000a macw %a5l,%spu,>>,%fp@\(10\),%sp
+ 1f94: a2ae f2ad 000a macw %a5l,%spu,<<,%fp@\(10\)&,%d1
+ 1f9a: a6ee f2ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%a3
+ 1fa0: a4ae f2ad 000a macw %a5l,%spu,,%fp@\(10\)&,%d2
+ 1fa6: aeee f2ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%sp
+ 1fac: a2a1 f28d macw %a5l,%spu,<<,%a1@-,%d1
+ 1fb0: a6e1 f28d macw %a5l,%spu,>>,%a1@-,%a3
+ 1fb4: a4a1 f28d macw %a5l,%spu,,%a1@-,%d2
+ 1fb8: aee1 f28d macw %a5l,%spu,>>,%a1@-,%sp
+ 1fbc: a2a1 f2ad macw %a5l,%spu,<<,%a1@-&,%d1
+ 1fc0: a6e1 f2ad macw %a5l,%spu,>>,%a1@-&,%a3
+ 1fc4: a4a1 f2ad macw %a5l,%spu,,%a1@-&,%d2
+ 1fc8: aee1 f2ad macw %a5l,%spu,>>,%a1@-&,%sp
+ 1fcc: a293 f68d macw %a5l,%spu,<<,%a3@,%d1
+ 1fd0: a6d3 f68d macw %a5l,%spu,>>,%a3@,%a3
+ 1fd4: a493 f68d macw %a5l,%spu,,%a3@,%d2
+ 1fd8: aed3 f68d macw %a5l,%spu,>>,%a3@,%sp
+ 1fdc: a293 f6ad macw %a5l,%spu,<<,%a3@&,%d1
+ 1fe0: a6d3 f6ad macw %a5l,%spu,>>,%a3@&,%a3
+ 1fe4: a493 f6ad macw %a5l,%spu,,%a3@&,%d2
+ 1fe8: aed3 f6ad macw %a5l,%spu,>>,%a3@&,%sp
+ 1fec: a29a f68d macw %a5l,%spu,<<,%a2@\+,%d1
+ 1ff0: a6da f68d macw %a5l,%spu,>>,%a2@\+,%a3
+ 1ff4: a49a f68d macw %a5l,%spu,,%a2@\+,%d2
+ 1ff8: aeda f68d macw %a5l,%spu,>>,%a2@\+,%sp
+ 1ffc: a29a f6ad macw %a5l,%spu,<<,%a2@\+&,%d1
+ 2000: a6da f6ad macw %a5l,%spu,>>,%a2@\+&,%a3
+ 2004: a49a f6ad macw %a5l,%spu,,%a2@\+&,%d2
+ 2008: aeda f6ad macw %a5l,%spu,>>,%a2@\+&,%sp
+ 200c: a2ae f68d 000a macw %a5l,%spu,<<,%fp@\(10\),%d1
+ 2012: a6ee f68d 000a macw %a5l,%spu,>>,%fp@\(10\),%a3
+ 2018: a4ae f68d 000a macw %a5l,%spu,,%fp@\(10\),%d2
+ 201e: aeee f68d 000a macw %a5l,%spu,>>,%fp@\(10\),%sp
+ 2024: a2ae f6ad 000a macw %a5l,%spu,<<,%fp@\(10\)&,%d1
+ 202a: a6ee f6ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%a3
+ 2030: a4ae f6ad 000a macw %a5l,%spu,,%fp@\(10\)&,%d2
+ 2036: aeee f6ad 000a macw %a5l,%spu,>>,%fp@\(10\)&,%sp
+ 203c: a2a1 f68d macw %a5l,%spu,<<,%a1@-,%d1
+ 2040: a6e1 f68d macw %a5l,%spu,>>,%a1@-,%a3
+ 2044: a4a1 f68d macw %a5l,%spu,,%a1@-,%d2
+ 2048: aee1 f68d macw %a5l,%spu,>>,%a1@-,%sp
+ 204c: a2a1 f6ad macw %a5l,%spu,<<,%a1@-&,%d1
+ 2050: a6e1 f6ad macw %a5l,%spu,>>,%a1@-&,%a3
+ 2054: a4a1 f6ad macw %a5l,%spu,,%a1@-&,%d2
+ 2058: aee1 f6ad macw %a5l,%spu,>>,%a1@-&,%sp
+ 205c: a293 100d macw %a5l,%d1l,%a3@,%d1
+ 2060: a6d3 100d macw %a5l,%d1l,%a3@,%a3
+ 2064: a493 100d macw %a5l,%d1l,%a3@,%d2
+ 2068: aed3 100d macw %a5l,%d1l,%a3@,%sp
+ 206c: a293 102d macw %a5l,%d1l,<<,%a3@&,%d1
+ 2070: a6d3 102d macw %a5l,%d1l,>>,%a3@&,%a3
+ 2074: a493 102d macw %a5l,%d1l,,%a3@&,%d2
+ 2078: aed3 102d macw %a5l,%d1l,>>,%a3@&,%sp
+ 207c: a29a 100d macw %a5l,%d1l,%a2@\+,%d1
+ 2080: a6da 100d macw %a5l,%d1l,%a2@\+,%a3
+ 2084: a49a 100d macw %a5l,%d1l,%a2@\+,%d2
+ 2088: aeda 100d macw %a5l,%d1l,%a2@\+,%sp
+ 208c: a29a 102d macw %a5l,%d1l,<<,%a2@\+&,%d1
+ 2090: a6da 102d macw %a5l,%d1l,>>,%a2@\+&,%a3
+ 2094: a49a 102d macw %a5l,%d1l,,%a2@\+&,%d2
+ 2098: aeda 102d macw %a5l,%d1l,>>,%a2@\+&,%sp
+ 209c: a2ae 100d 000a macw %a5l,%d1l,%fp@\(10\),%d1
+ 20a2: a6ee 100d 000a macw %a5l,%d1l,%fp@\(10\),%a3
+ 20a8: a4ae 100d 000a macw %a5l,%d1l,%fp@\(10\),%d2
+ 20ae: aeee 100d 000a macw %a5l,%d1l,%fp@\(10\),%sp
+ 20b4: a2ae 102d 000a macw %a5l,%d1l,<<,%fp@\(10\)&,%d1
+ 20ba: a6ee 102d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%a3
+ 20c0: a4ae 102d 000a macw %a5l,%d1l,,%fp@\(10\)&,%d2
+ 20c6: aeee 102d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%sp
+ 20cc: a2a1 100d macw %a5l,%d1l,%a1@-,%d1
+ 20d0: a6e1 100d macw %a5l,%d1l,%a1@-,%a3
+ 20d4: a4a1 100d macw %a5l,%d1l,%a1@-,%d2
+ 20d8: aee1 100d macw %a5l,%d1l,%a1@-,%sp
+ 20dc: a2a1 102d macw %a5l,%d1l,<<,%a1@-&,%d1
+ 20e0: a6e1 102d macw %a5l,%d1l,>>,%a1@-&,%a3
+ 20e4: a4a1 102d macw %a5l,%d1l,,%a1@-&,%d2
+ 20e8: aee1 102d macw %a5l,%d1l,>>,%a1@-&,%sp
+ 20ec: a293 120d macw %a5l,%d1l,<<,%a3@,%d1
+ 20f0: a6d3 120d macw %a5l,%d1l,>>,%a3@,%a3
+ 20f4: a493 120d macw %a5l,%d1l,,%a3@,%d2
+ 20f8: aed3 120d macw %a5l,%d1l,>>,%a3@,%sp
+ 20fc: a293 122d macw %a5l,%d1l,<<,%a3@&,%d1
+ 2100: a6d3 122d macw %a5l,%d1l,>>,%a3@&,%a3
+ 2104: a493 122d macw %a5l,%d1l,,%a3@&,%d2
+ 2108: aed3 122d macw %a5l,%d1l,>>,%a3@&,%sp
+ 210c: a29a 120d macw %a5l,%d1l,<<,%a2@\+,%d1
+ 2110: a6da 120d macw %a5l,%d1l,>>,%a2@\+,%a3
+ 2114: a49a 120d macw %a5l,%d1l,,%a2@\+,%d2
+ 2118: aeda 120d macw %a5l,%d1l,>>,%a2@\+,%sp
+ 211c: a29a 122d macw %a5l,%d1l,<<,%a2@\+&,%d1
+ 2120: a6da 122d macw %a5l,%d1l,>>,%a2@\+&,%a3
+ 2124: a49a 122d macw %a5l,%d1l,,%a2@\+&,%d2
+ 2128: aeda 122d macw %a5l,%d1l,>>,%a2@\+&,%sp
+ 212c: a2ae 120d 000a macw %a5l,%d1l,<<,%fp@\(10\),%d1
+ 2132: a6ee 120d 000a macw %a5l,%d1l,>>,%fp@\(10\),%a3
+ 2138: a4ae 120d 000a macw %a5l,%d1l,,%fp@\(10\),%d2
+ 213e: aeee 120d 000a macw %a5l,%d1l,>>,%fp@\(10\),%sp
+ 2144: a2ae 122d 000a macw %a5l,%d1l,<<,%fp@\(10\)&,%d1
+ 214a: a6ee 122d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%a3
+ 2150: a4ae 122d 000a macw %a5l,%d1l,,%fp@\(10\)&,%d2
+ 2156: aeee 122d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%sp
+ 215c: a2a1 120d macw %a5l,%d1l,<<,%a1@-,%d1
+ 2160: a6e1 120d macw %a5l,%d1l,>>,%a1@-,%a3
+ 2164: a4a1 120d macw %a5l,%d1l,,%a1@-,%d2
+ 2168: aee1 120d macw %a5l,%d1l,>>,%a1@-,%sp
+ 216c: a2a1 122d macw %a5l,%d1l,<<,%a1@-&,%d1
+ 2170: a6e1 122d macw %a5l,%d1l,>>,%a1@-&,%a3
+ 2174: a4a1 122d macw %a5l,%d1l,,%a1@-&,%d2
+ 2178: aee1 122d macw %a5l,%d1l,>>,%a1@-&,%sp
+ 217c: a293 160d macw %a5l,%d1l,<<,%a3@,%d1
+ 2180: a6d3 160d macw %a5l,%d1l,>>,%a3@,%a3
+ 2184: a493 160d macw %a5l,%d1l,,%a3@,%d2
+ 2188: aed3 160d macw %a5l,%d1l,>>,%a3@,%sp
+ 218c: a293 162d macw %a5l,%d1l,<<,%a3@&,%d1
+ 2190: a6d3 162d macw %a5l,%d1l,>>,%a3@&,%a3
+ 2194: a493 162d macw %a5l,%d1l,,%a3@&,%d2
+ 2198: aed3 162d macw %a5l,%d1l,>>,%a3@&,%sp
+ 219c: a29a 160d macw %a5l,%d1l,<<,%a2@\+,%d1
+ 21a0: a6da 160d macw %a5l,%d1l,>>,%a2@\+,%a3
+ 21a4: a49a 160d macw %a5l,%d1l,,%a2@\+,%d2
+ 21a8: aeda 160d macw %a5l,%d1l,>>,%a2@\+,%sp
+ 21ac: a29a 162d macw %a5l,%d1l,<<,%a2@\+&,%d1
+ 21b0: a6da 162d macw %a5l,%d1l,>>,%a2@\+&,%a3
+ 21b4: a49a 162d macw %a5l,%d1l,,%a2@\+&,%d2
+ 21b8: aeda 162d macw %a5l,%d1l,>>,%a2@\+&,%sp
+ 21bc: a2ae 160d 000a macw %a5l,%d1l,<<,%fp@\(10\),%d1
+ 21c2: a6ee 160d 000a macw %a5l,%d1l,>>,%fp@\(10\),%a3
+ 21c8: a4ae 160d 000a macw %a5l,%d1l,,%fp@\(10\),%d2
+ 21ce: aeee 160d 000a macw %a5l,%d1l,>>,%fp@\(10\),%sp
+ 21d4: a2ae 162d 000a macw %a5l,%d1l,<<,%fp@\(10\)&,%d1
+ 21da: a6ee 162d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%a3
+ 21e0: a4ae 162d 000a macw %a5l,%d1l,,%fp@\(10\)&,%d2
+ 21e6: aeee 162d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%sp
+ 21ec: a2a1 160d macw %a5l,%d1l,<<,%a1@-,%d1
+ 21f0: a6e1 160d macw %a5l,%d1l,>>,%a1@-,%a3
+ 21f4: a4a1 160d macw %a5l,%d1l,,%a1@-,%d2
+ 21f8: aee1 160d macw %a5l,%d1l,>>,%a1@-,%sp
+ 21fc: a2a1 162d macw %a5l,%d1l,<<,%a1@-&,%d1
+ 2200: a6e1 162d macw %a5l,%d1l,>>,%a1@-&,%a3
+ 2204: a4a1 162d macw %a5l,%d1l,,%a1@-&,%d2
+ 2208: aee1 162d macw %a5l,%d1l,>>,%a1@-&,%sp
+ 220c: a293 120d macw %a5l,%d1l,<<,%a3@,%d1
+ 2210: a6d3 120d macw %a5l,%d1l,>>,%a3@,%a3
+ 2214: a493 120d macw %a5l,%d1l,,%a3@,%d2
+ 2218: aed3 120d macw %a5l,%d1l,>>,%a3@,%sp
+ 221c: a293 122d macw %a5l,%d1l,<<,%a3@&,%d1
+ 2220: a6d3 122d macw %a5l,%d1l,>>,%a3@&,%a3
+ 2224: a493 122d macw %a5l,%d1l,,%a3@&,%d2
+ 2228: aed3 122d macw %a5l,%d1l,>>,%a3@&,%sp
+ 222c: a29a 120d macw %a5l,%d1l,<<,%a2@\+,%d1
+ 2230: a6da 120d macw %a5l,%d1l,>>,%a2@\+,%a3
+ 2234: a49a 120d macw %a5l,%d1l,,%a2@\+,%d2
+ 2238: aeda 120d macw %a5l,%d1l,>>,%a2@\+,%sp
+ 223c: a29a 122d macw %a5l,%d1l,<<,%a2@\+&,%d1
+ 2240: a6da 122d macw %a5l,%d1l,>>,%a2@\+&,%a3
+ 2244: a49a 122d macw %a5l,%d1l,,%a2@\+&,%d2
+ 2248: aeda 122d macw %a5l,%d1l,>>,%a2@\+&,%sp
+ 224c: a2ae 120d 000a macw %a5l,%d1l,<<,%fp@\(10\),%d1
+ 2252: a6ee 120d 000a macw %a5l,%d1l,>>,%fp@\(10\),%a3
+ 2258: a4ae 120d 000a macw %a5l,%d1l,,%fp@\(10\),%d2
+ 225e: aeee 120d 000a macw %a5l,%d1l,>>,%fp@\(10\),%sp
+ 2264: a2ae 122d 000a macw %a5l,%d1l,<<,%fp@\(10\)&,%d1
+ 226a: a6ee 122d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%a3
+ 2270: a4ae 122d 000a macw %a5l,%d1l,,%fp@\(10\)&,%d2
+ 2276: aeee 122d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%sp
+ 227c: a2a1 120d macw %a5l,%d1l,<<,%a1@-,%d1
+ 2280: a6e1 120d macw %a5l,%d1l,>>,%a1@-,%a3
+ 2284: a4a1 120d macw %a5l,%d1l,,%a1@-,%d2
+ 2288: aee1 120d macw %a5l,%d1l,>>,%a1@-,%sp
+ 228c: a2a1 122d macw %a5l,%d1l,<<,%a1@-&,%d1
+ 2290: a6e1 122d macw %a5l,%d1l,>>,%a1@-&,%a3
+ 2294: a4a1 122d macw %a5l,%d1l,,%a1@-&,%d2
+ 2298: aee1 122d macw %a5l,%d1l,>>,%a1@-&,%sp
+ 229c: a293 160d macw %a5l,%d1l,<<,%a3@,%d1
+ 22a0: a6d3 160d macw %a5l,%d1l,>>,%a3@,%a3
+ 22a4: a493 160d macw %a5l,%d1l,,%a3@,%d2
+ 22a8: aed3 160d macw %a5l,%d1l,>>,%a3@,%sp
+ 22ac: a293 162d macw %a5l,%d1l,<<,%a3@&,%d1
+ 22b0: a6d3 162d macw %a5l,%d1l,>>,%a3@&,%a3
+ 22b4: a493 162d macw %a5l,%d1l,,%a3@&,%d2
+ 22b8: aed3 162d macw %a5l,%d1l,>>,%a3@&,%sp
+ 22bc: a29a 160d macw %a5l,%d1l,<<,%a2@\+,%d1
+ 22c0: a6da 160d macw %a5l,%d1l,>>,%a2@\+,%a3
+ 22c4: a49a 160d macw %a5l,%d1l,,%a2@\+,%d2
+ 22c8: aeda 160d macw %a5l,%d1l,>>,%a2@\+,%sp
+ 22cc: a29a 162d macw %a5l,%d1l,<<,%a2@\+&,%d1
+ 22d0: a6da 162d macw %a5l,%d1l,>>,%a2@\+&,%a3
+ 22d4: a49a 162d macw %a5l,%d1l,,%a2@\+&,%d2
+ 22d8: aeda 162d macw %a5l,%d1l,>>,%a2@\+&,%sp
+ 22dc: a2ae 160d 000a macw %a5l,%d1l,<<,%fp@\(10\),%d1
+ 22e2: a6ee 160d 000a macw %a5l,%d1l,>>,%fp@\(10\),%a3
+ 22e8: a4ae 160d 000a macw %a5l,%d1l,,%fp@\(10\),%d2
+ 22ee: aeee 160d 000a macw %a5l,%d1l,>>,%fp@\(10\),%sp
+ 22f4: a2ae 162d 000a macw %a5l,%d1l,<<,%fp@\(10\)&,%d1
+ 22fa: a6ee 162d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%a3
+ 2300: a4ae 162d 000a macw %a5l,%d1l,,%fp@\(10\)&,%d2
+ 2306: aeee 162d 000a macw %a5l,%d1l,>>,%fp@\(10\)&,%sp
+ 230c: a2a1 160d macw %a5l,%d1l,<<,%a1@-,%d1
+ 2310: a6e1 160d macw %a5l,%d1l,>>,%a1@-,%a3
+ 2314: a4a1 160d macw %a5l,%d1l,,%a1@-,%d2
+ 2318: aee1 160d macw %a5l,%d1l,>>,%a1@-,%sp
+ 231c: a2a1 162d macw %a5l,%d1l,<<,%a1@-&,%d1
+ 2320: a6e1 162d macw %a5l,%d1l,>>,%a1@-&,%a3
+ 2324: a4a1 162d macw %a5l,%d1l,,%a1@-&,%d2
+ 2328: aee1 162d macw %a5l,%d1l,>>,%a1@-&,%sp
+ 232c: a293 a0c6 macw %d6u,%a2u,%a3@,%d1
+ 2330: a6d3 a0c6 macw %d6u,%a2u,%a3@,%a3
+ 2334: a493 a0c6 macw %d6u,%a2u,%a3@,%d2
+ 2338: aed3 a0c6 macw %d6u,%a2u,%a3@,%sp
+ 233c: a293 a0e6 macw %d6u,%a2u,<<,%a3@&,%d1
+ 2340: a6d3 a0e6 macw %d6u,%a2u,>>,%a3@&,%a3
+ 2344: a493 a0e6 macw %d6u,%a2u,,%a3@&,%d2
+ 2348: aed3 a0e6 macw %d6u,%a2u,>>,%a3@&,%sp
+ 234c: a29a a0c6 macw %d6u,%a2u,%a2@\+,%d1
+ 2350: a6da a0c6 macw %d6u,%a2u,%a2@\+,%a3
+ 2354: a49a a0c6 macw %d6u,%a2u,%a2@\+,%d2
+ 2358: aeda a0c6 macw %d6u,%a2u,%a2@\+,%sp
+ 235c: a29a a0e6 macw %d6u,%a2u,<<,%a2@\+&,%d1
+ 2360: a6da a0e6 macw %d6u,%a2u,>>,%a2@\+&,%a3
+ 2364: a49a a0e6 macw %d6u,%a2u,,%a2@\+&,%d2
+ 2368: aeda a0e6 macw %d6u,%a2u,>>,%a2@\+&,%sp
+ 236c: a2ae a0c6 000a macw %d6u,%a2u,%fp@\(10\),%d1
+ 2372: a6ee a0c6 000a macw %d6u,%a2u,%fp@\(10\),%a3
+ 2378: a4ae a0c6 000a macw %d6u,%a2u,%fp@\(10\),%d2
+ 237e: aeee a0c6 000a macw %d6u,%a2u,%fp@\(10\),%sp
+ 2384: a2ae a0e6 000a macw %d6u,%a2u,<<,%fp@\(10\)&,%d1
+ 238a: a6ee a0e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%a3
+ 2390: a4ae a0e6 000a macw %d6u,%a2u,,%fp@\(10\)&,%d2
+ 2396: aeee a0e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%sp
+ 239c: a2a1 a0c6 macw %d6u,%a2u,%a1@-,%d1
+ 23a0: a6e1 a0c6 macw %d6u,%a2u,%a1@-,%a3
+ 23a4: a4a1 a0c6 macw %d6u,%a2u,%a1@-,%d2
+ 23a8: aee1 a0c6 macw %d6u,%a2u,%a1@-,%sp
+ 23ac: a2a1 a0e6 macw %d6u,%a2u,<<,%a1@-&,%d1
+ 23b0: a6e1 a0e6 macw %d6u,%a2u,>>,%a1@-&,%a3
+ 23b4: a4a1 a0e6 macw %d6u,%a2u,,%a1@-&,%d2
+ 23b8: aee1 a0e6 macw %d6u,%a2u,>>,%a1@-&,%sp
+ 23bc: a293 a2c6 macw %d6u,%a2u,<<,%a3@,%d1
+ 23c0: a6d3 a2c6 macw %d6u,%a2u,>>,%a3@,%a3
+ 23c4: a493 a2c6 macw %d6u,%a2u,,%a3@,%d2
+ 23c8: aed3 a2c6 macw %d6u,%a2u,>>,%a3@,%sp
+ 23cc: a293 a2e6 macw %d6u,%a2u,<<,%a3@&,%d1
+ 23d0: a6d3 a2e6 macw %d6u,%a2u,>>,%a3@&,%a3
+ 23d4: a493 a2e6 macw %d6u,%a2u,,%a3@&,%d2
+ 23d8: aed3 a2e6 macw %d6u,%a2u,>>,%a3@&,%sp
+ 23dc: a29a a2c6 macw %d6u,%a2u,<<,%a2@\+,%d1
+ 23e0: a6da a2c6 macw %d6u,%a2u,>>,%a2@\+,%a3
+ 23e4: a49a a2c6 macw %d6u,%a2u,,%a2@\+,%d2
+ 23e8: aeda a2c6 macw %d6u,%a2u,>>,%a2@\+,%sp
+ 23ec: a29a a2e6 macw %d6u,%a2u,<<,%a2@\+&,%d1
+ 23f0: a6da a2e6 macw %d6u,%a2u,>>,%a2@\+&,%a3
+ 23f4: a49a a2e6 macw %d6u,%a2u,,%a2@\+&,%d2
+ 23f8: aeda a2e6 macw %d6u,%a2u,>>,%a2@\+&,%sp
+ 23fc: a2ae a2c6 000a macw %d6u,%a2u,<<,%fp@\(10\),%d1
+ 2402: a6ee a2c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%a3
+ 2408: a4ae a2c6 000a macw %d6u,%a2u,,%fp@\(10\),%d2
+ 240e: aeee a2c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%sp
+ 2414: a2ae a2e6 000a macw %d6u,%a2u,<<,%fp@\(10\)&,%d1
+ 241a: a6ee a2e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%a3
+ 2420: a4ae a2e6 000a macw %d6u,%a2u,,%fp@\(10\)&,%d2
+ 2426: aeee a2e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%sp
+ 242c: a2a1 a2c6 macw %d6u,%a2u,<<,%a1@-,%d1
+ 2430: a6e1 a2c6 macw %d6u,%a2u,>>,%a1@-,%a3
+ 2434: a4a1 a2c6 macw %d6u,%a2u,,%a1@-,%d2
+ 2438: aee1 a2c6 macw %d6u,%a2u,>>,%a1@-,%sp
+ 243c: a2a1 a2e6 macw %d6u,%a2u,<<,%a1@-&,%d1
+ 2440: a6e1 a2e6 macw %d6u,%a2u,>>,%a1@-&,%a3
+ 2444: a4a1 a2e6 macw %d6u,%a2u,,%a1@-&,%d2
+ 2448: aee1 a2e6 macw %d6u,%a2u,>>,%a1@-&,%sp
+ 244c: a293 a6c6 macw %d6u,%a2u,<<,%a3@,%d1
+ 2450: a6d3 a6c6 macw %d6u,%a2u,>>,%a3@,%a3
+ 2454: a493 a6c6 macw %d6u,%a2u,,%a3@,%d2
+ 2458: aed3 a6c6 macw %d6u,%a2u,>>,%a3@,%sp
+ 245c: a293 a6e6 macw %d6u,%a2u,<<,%a3@&,%d1
+ 2460: a6d3 a6e6 macw %d6u,%a2u,>>,%a3@&,%a3
+ 2464: a493 a6e6 macw %d6u,%a2u,,%a3@&,%d2
+ 2468: aed3 a6e6 macw %d6u,%a2u,>>,%a3@&,%sp
+ 246c: a29a a6c6 macw %d6u,%a2u,<<,%a2@\+,%d1
+ 2470: a6da a6c6 macw %d6u,%a2u,>>,%a2@\+,%a3
+ 2474: a49a a6c6 macw %d6u,%a2u,,%a2@\+,%d2
+ 2478: aeda a6c6 macw %d6u,%a2u,>>,%a2@\+,%sp
+ 247c: a29a a6e6 macw %d6u,%a2u,<<,%a2@\+&,%d1
+ 2480: a6da a6e6 macw %d6u,%a2u,>>,%a2@\+&,%a3
+ 2484: a49a a6e6 macw %d6u,%a2u,,%a2@\+&,%d2
+ 2488: aeda a6e6 macw %d6u,%a2u,>>,%a2@\+&,%sp
+ 248c: a2ae a6c6 000a macw %d6u,%a2u,<<,%fp@\(10\),%d1
+ 2492: a6ee a6c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%a3
+ 2498: a4ae a6c6 000a macw %d6u,%a2u,,%fp@\(10\),%d2
+ 249e: aeee a6c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%sp
+ 24a4: a2ae a6e6 000a macw %d6u,%a2u,<<,%fp@\(10\)&,%d1
+ 24aa: a6ee a6e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%a3
+ 24b0: a4ae a6e6 000a macw %d6u,%a2u,,%fp@\(10\)&,%d2
+ 24b6: aeee a6e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%sp
+ 24bc: a2a1 a6c6 macw %d6u,%a2u,<<,%a1@-,%d1
+ 24c0: a6e1 a6c6 macw %d6u,%a2u,>>,%a1@-,%a3
+ 24c4: a4a1 a6c6 macw %d6u,%a2u,,%a1@-,%d2
+ 24c8: aee1 a6c6 macw %d6u,%a2u,>>,%a1@-,%sp
+ 24cc: a2a1 a6e6 macw %d6u,%a2u,<<,%a1@-&,%d1
+ 24d0: a6e1 a6e6 macw %d6u,%a2u,>>,%a1@-&,%a3
+ 24d4: a4a1 a6e6 macw %d6u,%a2u,,%a1@-&,%d2
+ 24d8: aee1 a6e6 macw %d6u,%a2u,>>,%a1@-&,%sp
+ 24dc: a293 a2c6 macw %d6u,%a2u,<<,%a3@,%d1
+ 24e0: a6d3 a2c6 macw %d6u,%a2u,>>,%a3@,%a3
+ 24e4: a493 a2c6 macw %d6u,%a2u,,%a3@,%d2
+ 24e8: aed3 a2c6 macw %d6u,%a2u,>>,%a3@,%sp
+ 24ec: a293 a2e6 macw %d6u,%a2u,<<,%a3@&,%d1
+ 24f0: a6d3 a2e6 macw %d6u,%a2u,>>,%a3@&,%a3
+ 24f4: a493 a2e6 macw %d6u,%a2u,,%a3@&,%d2
+ 24f8: aed3 a2e6 macw %d6u,%a2u,>>,%a3@&,%sp
+ 24fc: a29a a2c6 macw %d6u,%a2u,<<,%a2@\+,%d1
+ 2500: a6da a2c6 macw %d6u,%a2u,>>,%a2@\+,%a3
+ 2504: a49a a2c6 macw %d6u,%a2u,,%a2@\+,%d2
+ 2508: aeda a2c6 macw %d6u,%a2u,>>,%a2@\+,%sp
+ 250c: a29a a2e6 macw %d6u,%a2u,<<,%a2@\+&,%d1
+ 2510: a6da a2e6 macw %d6u,%a2u,>>,%a2@\+&,%a3
+ 2514: a49a a2e6 macw %d6u,%a2u,,%a2@\+&,%d2
+ 2518: aeda a2e6 macw %d6u,%a2u,>>,%a2@\+&,%sp
+ 251c: a2ae a2c6 000a macw %d6u,%a2u,<<,%fp@\(10\),%d1
+ 2522: a6ee a2c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%a3
+ 2528: a4ae a2c6 000a macw %d6u,%a2u,,%fp@\(10\),%d2
+ 252e: aeee a2c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%sp
+ 2534: a2ae a2e6 000a macw %d6u,%a2u,<<,%fp@\(10\)&,%d1
+ 253a: a6ee a2e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%a3
+ 2540: a4ae a2e6 000a macw %d6u,%a2u,,%fp@\(10\)&,%d2
+ 2546: aeee a2e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%sp
+ 254c: a2a1 a2c6 macw %d6u,%a2u,<<,%a1@-,%d1
+ 2550: a6e1 a2c6 macw %d6u,%a2u,>>,%a1@-,%a3
+ 2554: a4a1 a2c6 macw %d6u,%a2u,,%a1@-,%d2
+ 2558: aee1 a2c6 macw %d6u,%a2u,>>,%a1@-,%sp
+ 255c: a2a1 a2e6 macw %d6u,%a2u,<<,%a1@-&,%d1
+ 2560: a6e1 a2e6 macw %d6u,%a2u,>>,%a1@-&,%a3
+ 2564: a4a1 a2e6 macw %d6u,%a2u,,%a1@-&,%d2
+ 2568: aee1 a2e6 macw %d6u,%a2u,>>,%a1@-&,%sp
+ 256c: a293 a6c6 macw %d6u,%a2u,<<,%a3@,%d1
+ 2570: a6d3 a6c6 macw %d6u,%a2u,>>,%a3@,%a3
+ 2574: a493 a6c6 macw %d6u,%a2u,,%a3@,%d2
+ 2578: aed3 a6c6 macw %d6u,%a2u,>>,%a3@,%sp
+ 257c: a293 a6e6 macw %d6u,%a2u,<<,%a3@&,%d1
+ 2580: a6d3 a6e6 macw %d6u,%a2u,>>,%a3@&,%a3
+ 2584: a493 a6e6 macw %d6u,%a2u,,%a3@&,%d2
+ 2588: aed3 a6e6 macw %d6u,%a2u,>>,%a3@&,%sp
+ 258c: a29a a6c6 macw %d6u,%a2u,<<,%a2@\+,%d1
+ 2590: a6da a6c6 macw %d6u,%a2u,>>,%a2@\+,%a3
+ 2594: a49a a6c6 macw %d6u,%a2u,,%a2@\+,%d2
+ 2598: aeda a6c6 macw %d6u,%a2u,>>,%a2@\+,%sp
+ 259c: a29a a6e6 macw %d6u,%a2u,<<,%a2@\+&,%d1
+ 25a0: a6da a6e6 macw %d6u,%a2u,>>,%a2@\+&,%a3
+ 25a4: a49a a6e6 macw %d6u,%a2u,,%a2@\+&,%d2
+ 25a8: aeda a6e6 macw %d6u,%a2u,>>,%a2@\+&,%sp
+ 25ac: a2ae a6c6 000a macw %d6u,%a2u,<<,%fp@\(10\),%d1
+ 25b2: a6ee a6c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%a3
+ 25b8: a4ae a6c6 000a macw %d6u,%a2u,,%fp@\(10\),%d2
+ 25be: aeee a6c6 000a macw %d6u,%a2u,>>,%fp@\(10\),%sp
+ 25c4: a2ae a6e6 000a macw %d6u,%a2u,<<,%fp@\(10\)&,%d1
+ 25ca: a6ee a6e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%a3
+ 25d0: a4ae a6e6 000a macw %d6u,%a2u,,%fp@\(10\)&,%d2
+ 25d6: aeee a6e6 000a macw %d6u,%a2u,>>,%fp@\(10\)&,%sp
+ 25dc: a2a1 a6c6 macw %d6u,%a2u,<<,%a1@-,%d1
+ 25e0: a6e1 a6c6 macw %d6u,%a2u,>>,%a1@-,%a3
+ 25e4: a4a1 a6c6 macw %d6u,%a2u,,%a1@-,%d2
+ 25e8: aee1 a6c6 macw %d6u,%a2u,>>,%a1@-,%sp
+ 25ec: a2a1 a6e6 macw %d6u,%a2u,<<,%a1@-&,%d1
+ 25f0: a6e1 a6e6 macw %d6u,%a2u,>>,%a1@-&,%a3
+ 25f4: a4a1 a6e6 macw %d6u,%a2u,,%a1@-&,%d2
+ 25f8: aee1 a6e6 macw %d6u,%a2u,>>,%a1@-&,%sp
+ 25fc: a293 3046 macw %d6u,%d3l,%a3@,%d1
+ 2600: a6d3 3046 macw %d6u,%d3l,%a3@,%a3
+ 2604: a493 3046 macw %d6u,%d3l,%a3@,%d2
+ 2608: aed3 3046 macw %d6u,%d3l,%a3@,%sp
+ 260c: a293 3066 macw %d6u,%d3l,<<,%a3@&,%d1
+ 2610: a6d3 3066 macw %d6u,%d3l,>>,%a3@&,%a3
+ 2614: a493 3066 macw %d6u,%d3l,,%a3@&,%d2
+ 2618: aed3 3066 macw %d6u,%d3l,>>,%a3@&,%sp
+ 261c: a29a 3046 macw %d6u,%d3l,%a2@\+,%d1
+ 2620: a6da 3046 macw %d6u,%d3l,%a2@\+,%a3
+ 2624: a49a 3046 macw %d6u,%d3l,%a2@\+,%d2
+ 2628: aeda 3046 macw %d6u,%d3l,%a2@\+,%sp
+ 262c: a29a 3066 macw %d6u,%d3l,<<,%a2@\+&,%d1
+ 2630: a6da 3066 macw %d6u,%d3l,>>,%a2@\+&,%a3
+ 2634: a49a 3066 macw %d6u,%d3l,,%a2@\+&,%d2
+ 2638: aeda 3066 macw %d6u,%d3l,>>,%a2@\+&,%sp
+ 263c: a2ae 3046 000a macw %d6u,%d3l,%fp@\(10\),%d1
+ 2642: a6ee 3046 000a macw %d6u,%d3l,%fp@\(10\),%a3
+ 2648: a4ae 3046 000a macw %d6u,%d3l,%fp@\(10\),%d2
+ 264e: aeee 3046 000a macw %d6u,%d3l,%fp@\(10\),%sp
+ 2654: a2ae 3066 000a macw %d6u,%d3l,<<,%fp@\(10\)&,%d1
+ 265a: a6ee 3066 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%a3
+ 2660: a4ae 3066 000a macw %d6u,%d3l,,%fp@\(10\)&,%d2
+ 2666: aeee 3066 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%sp
+ 266c: a2a1 3046 macw %d6u,%d3l,%a1@-,%d1
+ 2670: a6e1 3046 macw %d6u,%d3l,%a1@-,%a3
+ 2674: a4a1 3046 macw %d6u,%d3l,%a1@-,%d2
+ 2678: aee1 3046 macw %d6u,%d3l,%a1@-,%sp
+ 267c: a2a1 3066 macw %d6u,%d3l,<<,%a1@-&,%d1
+ 2680: a6e1 3066 macw %d6u,%d3l,>>,%a1@-&,%a3
+ 2684: a4a1 3066 macw %d6u,%d3l,,%a1@-&,%d2
+ 2688: aee1 3066 macw %d6u,%d3l,>>,%a1@-&,%sp
+ 268c: a293 3246 macw %d6u,%d3l,<<,%a3@,%d1
+ 2690: a6d3 3246 macw %d6u,%d3l,>>,%a3@,%a3
+ 2694: a493 3246 macw %d6u,%d3l,,%a3@,%d2
+ 2698: aed3 3246 macw %d6u,%d3l,>>,%a3@,%sp
+ 269c: a293 3266 macw %d6u,%d3l,<<,%a3@&,%d1
+ 26a0: a6d3 3266 macw %d6u,%d3l,>>,%a3@&,%a3
+ 26a4: a493 3266 macw %d6u,%d3l,,%a3@&,%d2
+ 26a8: aed3 3266 macw %d6u,%d3l,>>,%a3@&,%sp
+ 26ac: a29a 3246 macw %d6u,%d3l,<<,%a2@\+,%d1
+ 26b0: a6da 3246 macw %d6u,%d3l,>>,%a2@\+,%a3
+ 26b4: a49a 3246 macw %d6u,%d3l,,%a2@\+,%d2
+ 26b8: aeda 3246 macw %d6u,%d3l,>>,%a2@\+,%sp
+ 26bc: a29a 3266 macw %d6u,%d3l,<<,%a2@\+&,%d1
+ 26c0: a6da 3266 macw %d6u,%d3l,>>,%a2@\+&,%a3
+ 26c4: a49a 3266 macw %d6u,%d3l,,%a2@\+&,%d2
+ 26c8: aeda 3266 macw %d6u,%d3l,>>,%a2@\+&,%sp
+ 26cc: a2ae 3246 000a macw %d6u,%d3l,<<,%fp@\(10\),%d1
+ 26d2: a6ee 3246 000a macw %d6u,%d3l,>>,%fp@\(10\),%a3
+ 26d8: a4ae 3246 000a macw %d6u,%d3l,,%fp@\(10\),%d2
+ 26de: aeee 3246 000a macw %d6u,%d3l,>>,%fp@\(10\),%sp
+ 26e4: a2ae 3266 000a macw %d6u,%d3l,<<,%fp@\(10\)&,%d1
+ 26ea: a6ee 3266 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%a3
+ 26f0: a4ae 3266 000a macw %d6u,%d3l,,%fp@\(10\)&,%d2
+ 26f6: aeee 3266 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%sp
+ 26fc: a2a1 3246 macw %d6u,%d3l,<<,%a1@-,%d1
+ 2700: a6e1 3246 macw %d6u,%d3l,>>,%a1@-,%a3
+ 2704: a4a1 3246 macw %d6u,%d3l,,%a1@-,%d2
+ 2708: aee1 3246 macw %d6u,%d3l,>>,%a1@-,%sp
+ 270c: a2a1 3266 macw %d6u,%d3l,<<,%a1@-&,%d1
+ 2710: a6e1 3266 macw %d6u,%d3l,>>,%a1@-&,%a3
+ 2714: a4a1 3266 macw %d6u,%d3l,,%a1@-&,%d2
+ 2718: aee1 3266 macw %d6u,%d3l,>>,%a1@-&,%sp
+ 271c: a293 3646 macw %d6u,%d3l,<<,%a3@,%d1
+ 2720: a6d3 3646 macw %d6u,%d3l,>>,%a3@,%a3
+ 2724: a493 3646 macw %d6u,%d3l,,%a3@,%d2
+ 2728: aed3 3646 macw %d6u,%d3l,>>,%a3@,%sp
+ 272c: a293 3666 macw %d6u,%d3l,<<,%a3@&,%d1
+ 2730: a6d3 3666 macw %d6u,%d3l,>>,%a3@&,%a3
+ 2734: a493 3666 macw %d6u,%d3l,,%a3@&,%d2
+ 2738: aed3 3666 macw %d6u,%d3l,>>,%a3@&,%sp
+ 273c: a29a 3646 macw %d6u,%d3l,<<,%a2@\+,%d1
+ 2740: a6da 3646 macw %d6u,%d3l,>>,%a2@\+,%a3
+ 2744: a49a 3646 macw %d6u,%d3l,,%a2@\+,%d2
+ 2748: aeda 3646 macw %d6u,%d3l,>>,%a2@\+,%sp
+ 274c: a29a 3666 macw %d6u,%d3l,<<,%a2@\+&,%d1
+ 2750: a6da 3666 macw %d6u,%d3l,>>,%a2@\+&,%a3
+ 2754: a49a 3666 macw %d6u,%d3l,,%a2@\+&,%d2
+ 2758: aeda 3666 macw %d6u,%d3l,>>,%a2@\+&,%sp
+ 275c: a2ae 3646 000a macw %d6u,%d3l,<<,%fp@\(10\),%d1
+ 2762: a6ee 3646 000a macw %d6u,%d3l,>>,%fp@\(10\),%a3
+ 2768: a4ae 3646 000a macw %d6u,%d3l,,%fp@\(10\),%d2
+ 276e: aeee 3646 000a macw %d6u,%d3l,>>,%fp@\(10\),%sp
+ 2774: a2ae 3666 000a macw %d6u,%d3l,<<,%fp@\(10\)&,%d1
+ 277a: a6ee 3666 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%a3
+ 2780: a4ae 3666 000a macw %d6u,%d3l,,%fp@\(10\)&,%d2
+ 2786: aeee 3666 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%sp
+ 278c: a2a1 3646 macw %d6u,%d3l,<<,%a1@-,%d1
+ 2790: a6e1 3646 macw %d6u,%d3l,>>,%a1@-,%a3
+ 2794: a4a1 3646 macw %d6u,%d3l,,%a1@-,%d2
+ 2798: aee1 3646 macw %d6u,%d3l,>>,%a1@-,%sp
+ 279c: a2a1 3666 macw %d6u,%d3l,<<,%a1@-&,%d1
+ 27a0: a6e1 3666 macw %d6u,%d3l,>>,%a1@-&,%a3
+ 27a4: a4a1 3666 macw %d6u,%d3l,,%a1@-&,%d2
+ 27a8: aee1 3666 macw %d6u,%d3l,>>,%a1@-&,%sp
+ 27ac: a293 3246 macw %d6u,%d3l,<<,%a3@,%d1
+ 27b0: a6d3 3246 macw %d6u,%d3l,>>,%a3@,%a3
+ 27b4: a493 3246 macw %d6u,%d3l,,%a3@,%d2
+ 27b8: aed3 3246 macw %d6u,%d3l,>>,%a3@,%sp
+ 27bc: a293 3266 macw %d6u,%d3l,<<,%a3@&,%d1
+ 27c0: a6d3 3266 macw %d6u,%d3l,>>,%a3@&,%a3
+ 27c4: a493 3266 macw %d6u,%d3l,,%a3@&,%d2
+ 27c8: aed3 3266 macw %d6u,%d3l,>>,%a3@&,%sp
+ 27cc: a29a 3246 macw %d6u,%d3l,<<,%a2@\+,%d1
+ 27d0: a6da 3246 macw %d6u,%d3l,>>,%a2@\+,%a3
+ 27d4: a49a 3246 macw %d6u,%d3l,,%a2@\+,%d2
+ 27d8: aeda 3246 macw %d6u,%d3l,>>,%a2@\+,%sp
+ 27dc: a29a 3266 macw %d6u,%d3l,<<,%a2@\+&,%d1
+ 27e0: a6da 3266 macw %d6u,%d3l,>>,%a2@\+&,%a3
+ 27e4: a49a 3266 macw %d6u,%d3l,,%a2@\+&,%d2
+ 27e8: aeda 3266 macw %d6u,%d3l,>>,%a2@\+&,%sp
+ 27ec: a2ae 3246 000a macw %d6u,%d3l,<<,%fp@\(10\),%d1
+ 27f2: a6ee 3246 000a macw %d6u,%d3l,>>,%fp@\(10\),%a3
+ 27f8: a4ae 3246 000a macw %d6u,%d3l,,%fp@\(10\),%d2
+ 27fe: aeee 3246 000a macw %d6u,%d3l,>>,%fp@\(10\),%sp
+ 2804: a2ae 3266 000a macw %d6u,%d3l,<<,%fp@\(10\)&,%d1
+ 280a: a6ee 3266 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%a3
+ 2810: a4ae 3266 000a macw %d6u,%d3l,,%fp@\(10\)&,%d2
+ 2816: aeee 3266 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%sp
+ 281c: a2a1 3246 macw %d6u,%d3l,<<,%a1@-,%d1
+ 2820: a6e1 3246 macw %d6u,%d3l,>>,%a1@-,%a3
+ 2824: a4a1 3246 macw %d6u,%d3l,,%a1@-,%d2
+ 2828: aee1 3246 macw %d6u,%d3l,>>,%a1@-,%sp
+ 282c: a2a1 3266 macw %d6u,%d3l,<<,%a1@-&,%d1
+ 2830: a6e1 3266 macw %d6u,%d3l,>>,%a1@-&,%a3
+ 2834: a4a1 3266 macw %d6u,%d3l,,%a1@-&,%d2
+ 2838: aee1 3266 macw %d6u,%d3l,>>,%a1@-&,%sp
+ 283c: a293 3646 macw %d6u,%d3l,<<,%a3@,%d1
+ 2840: a6d3 3646 macw %d6u,%d3l,>>,%a3@,%a3
+ 2844: a493 3646 macw %d6u,%d3l,,%a3@,%d2
+ 2848: aed3 3646 macw %d6u,%d3l,>>,%a3@,%sp
+ 284c: a293 3666 macw %d6u,%d3l,<<,%a3@&,%d1
+ 2850: a6d3 3666 macw %d6u,%d3l,>>,%a3@&,%a3
+ 2854: a493 3666 macw %d6u,%d3l,,%a3@&,%d2
+ 2858: aed3 3666 macw %d6u,%d3l,>>,%a3@&,%sp
+ 285c: a29a 3646 macw %d6u,%d3l,<<,%a2@\+,%d1
+ 2860: a6da 3646 macw %d6u,%d3l,>>,%a2@\+,%a3
+ 2864: a49a 3646 macw %d6u,%d3l,,%a2@\+,%d2
+ 2868: aeda 3646 macw %d6u,%d3l,>>,%a2@\+,%sp
+ 286c: a29a 3666 macw %d6u,%d3l,<<,%a2@\+&,%d1
+ 2870: a6da 3666 macw %d6u,%d3l,>>,%a2@\+&,%a3
+ 2874: a49a 3666 macw %d6u,%d3l,,%a2@\+&,%d2
+ 2878: aeda 3666 macw %d6u,%d3l,>>,%a2@\+&,%sp
+ 287c: a2ae 3646 000a macw %d6u,%d3l,<<,%fp@\(10\),%d1
+ 2882: a6ee 3646 000a macw %d6u,%d3l,>>,%fp@\(10\),%a3
+ 2888: a4ae 3646 000a macw %d6u,%d3l,,%fp@\(10\),%d2
+ 288e: aeee 3646 000a macw %d6u,%d3l,>>,%fp@\(10\),%sp
+ 2894: a2ae 3666 000a macw %d6u,%d3l,<<,%fp@\(10\)&,%d1
+ 289a: a6ee 3666 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%a3
+ 28a0: a4ae 3666 000a macw %d6u,%d3l,,%fp@\(10\)&,%d2
+ 28a6: aeee 3666 000a macw %d6u,%d3l,>>,%fp@\(10\)&,%sp
+ 28ac: a2a1 3646 macw %d6u,%d3l,<<,%a1@-,%d1
+ 28b0: a6e1 3646 macw %d6u,%d3l,>>,%a1@-,%a3
+ 28b4: a4a1 3646 macw %d6u,%d3l,,%a1@-,%d2
+ 28b8: aee1 3646 macw %d6u,%d3l,>>,%a1@-,%sp
+ 28bc: a2a1 3666 macw %d6u,%d3l,<<,%a1@-&,%d1
+ 28c0: a6e1 3666 macw %d6u,%d3l,>>,%a1@-&,%a3
+ 28c4: a4a1 3666 macw %d6u,%d3l,,%a1@-&,%d2
+ 28c8: aee1 3666 macw %d6u,%d3l,>>,%a1@-&,%sp
+ 28cc: a293 f0c6 macw %d6u,%spu,%a3@,%d1
+ 28d0: a6d3 f0c6 macw %d6u,%spu,%a3@,%a3
+ 28d4: a493 f0c6 macw %d6u,%spu,%a3@,%d2
+ 28d8: aed3 f0c6 macw %d6u,%spu,%a3@,%sp
+ 28dc: a293 f0e6 macw %d6u,%spu,<<,%a3@&,%d1
+ 28e0: a6d3 f0e6 macw %d6u,%spu,>>,%a3@&,%a3
+ 28e4: a493 f0e6 macw %d6u,%spu,,%a3@&,%d2
+ 28e8: aed3 f0e6 macw %d6u,%spu,>>,%a3@&,%sp
+ 28ec: a29a f0c6 macw %d6u,%spu,%a2@\+,%d1
+ 28f0: a6da f0c6 macw %d6u,%spu,%a2@\+,%a3
+ 28f4: a49a f0c6 macw %d6u,%spu,%a2@\+,%d2
+ 28f8: aeda f0c6 macw %d6u,%spu,%a2@\+,%sp
+ 28fc: a29a f0e6 macw %d6u,%spu,<<,%a2@\+&,%d1
+ 2900: a6da f0e6 macw %d6u,%spu,>>,%a2@\+&,%a3
+ 2904: a49a f0e6 macw %d6u,%spu,,%a2@\+&,%d2
+ 2908: aeda f0e6 macw %d6u,%spu,>>,%a2@\+&,%sp
+ 290c: a2ae f0c6 000a macw %d6u,%spu,%fp@\(10\),%d1
+ 2912: a6ee f0c6 000a macw %d6u,%spu,%fp@\(10\),%a3
+ 2918: a4ae f0c6 000a macw %d6u,%spu,%fp@\(10\),%d2
+ 291e: aeee f0c6 000a macw %d6u,%spu,%fp@\(10\),%sp
+ 2924: a2ae f0e6 000a macw %d6u,%spu,<<,%fp@\(10\)&,%d1
+ 292a: a6ee f0e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%a3
+ 2930: a4ae f0e6 000a macw %d6u,%spu,,%fp@\(10\)&,%d2
+ 2936: aeee f0e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%sp
+ 293c: a2a1 f0c6 macw %d6u,%spu,%a1@-,%d1
+ 2940: a6e1 f0c6 macw %d6u,%spu,%a1@-,%a3
+ 2944: a4a1 f0c6 macw %d6u,%spu,%a1@-,%d2
+ 2948: aee1 f0c6 macw %d6u,%spu,%a1@-,%sp
+ 294c: a2a1 f0e6 macw %d6u,%spu,<<,%a1@-&,%d1
+ 2950: a6e1 f0e6 macw %d6u,%spu,>>,%a1@-&,%a3
+ 2954: a4a1 f0e6 macw %d6u,%spu,,%a1@-&,%d2
+ 2958: aee1 f0e6 macw %d6u,%spu,>>,%a1@-&,%sp
+ 295c: a293 f2c6 macw %d6u,%spu,<<,%a3@,%d1
+ 2960: a6d3 f2c6 macw %d6u,%spu,>>,%a3@,%a3
+ 2964: a493 f2c6 macw %d6u,%spu,,%a3@,%d2
+ 2968: aed3 f2c6 macw %d6u,%spu,>>,%a3@,%sp
+ 296c: a293 f2e6 macw %d6u,%spu,<<,%a3@&,%d1
+ 2970: a6d3 f2e6 macw %d6u,%spu,>>,%a3@&,%a3
+ 2974: a493 f2e6 macw %d6u,%spu,,%a3@&,%d2
+ 2978: aed3 f2e6 macw %d6u,%spu,>>,%a3@&,%sp
+ 297c: a29a f2c6 macw %d6u,%spu,<<,%a2@\+,%d1
+ 2980: a6da f2c6 macw %d6u,%spu,>>,%a2@\+,%a3
+ 2984: a49a f2c6 macw %d6u,%spu,,%a2@\+,%d2
+ 2988: aeda f2c6 macw %d6u,%spu,>>,%a2@\+,%sp
+ 298c: a29a f2e6 macw %d6u,%spu,<<,%a2@\+&,%d1
+ 2990: a6da f2e6 macw %d6u,%spu,>>,%a2@\+&,%a3
+ 2994: a49a f2e6 macw %d6u,%spu,,%a2@\+&,%d2
+ 2998: aeda f2e6 macw %d6u,%spu,>>,%a2@\+&,%sp
+ 299c: a2ae f2c6 000a macw %d6u,%spu,<<,%fp@\(10\),%d1
+ 29a2: a6ee f2c6 000a macw %d6u,%spu,>>,%fp@\(10\),%a3
+ 29a8: a4ae f2c6 000a macw %d6u,%spu,,%fp@\(10\),%d2
+ 29ae: aeee f2c6 000a macw %d6u,%spu,>>,%fp@\(10\),%sp
+ 29b4: a2ae f2e6 000a macw %d6u,%spu,<<,%fp@\(10\)&,%d1
+ 29ba: a6ee f2e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%a3
+ 29c0: a4ae f2e6 000a macw %d6u,%spu,,%fp@\(10\)&,%d2
+ 29c6: aeee f2e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%sp
+ 29cc: a2a1 f2c6 macw %d6u,%spu,<<,%a1@-,%d1
+ 29d0: a6e1 f2c6 macw %d6u,%spu,>>,%a1@-,%a3
+ 29d4: a4a1 f2c6 macw %d6u,%spu,,%a1@-,%d2
+ 29d8: aee1 f2c6 macw %d6u,%spu,>>,%a1@-,%sp
+ 29dc: a2a1 f2e6 macw %d6u,%spu,<<,%a1@-&,%d1
+ 29e0: a6e1 f2e6 macw %d6u,%spu,>>,%a1@-&,%a3
+ 29e4: a4a1 f2e6 macw %d6u,%spu,,%a1@-&,%d2
+ 29e8: aee1 f2e6 macw %d6u,%spu,>>,%a1@-&,%sp
+ 29ec: a293 f6c6 macw %d6u,%spu,<<,%a3@,%d1
+ 29f0: a6d3 f6c6 macw %d6u,%spu,>>,%a3@,%a3
+ 29f4: a493 f6c6 macw %d6u,%spu,,%a3@,%d2
+ 29f8: aed3 f6c6 macw %d6u,%spu,>>,%a3@,%sp
+ 29fc: a293 f6e6 macw %d6u,%spu,<<,%a3@&,%d1
+ 2a00: a6d3 f6e6 macw %d6u,%spu,>>,%a3@&,%a3
+ 2a04: a493 f6e6 macw %d6u,%spu,,%a3@&,%d2
+ 2a08: aed3 f6e6 macw %d6u,%spu,>>,%a3@&,%sp
+ 2a0c: a29a f6c6 macw %d6u,%spu,<<,%a2@\+,%d1
+ 2a10: a6da f6c6 macw %d6u,%spu,>>,%a2@\+,%a3
+ 2a14: a49a f6c6 macw %d6u,%spu,,%a2@\+,%d2
+ 2a18: aeda f6c6 macw %d6u,%spu,>>,%a2@\+,%sp
+ 2a1c: a29a f6e6 macw %d6u,%spu,<<,%a2@\+&,%d1
+ 2a20: a6da f6e6 macw %d6u,%spu,>>,%a2@\+&,%a3
+ 2a24: a49a f6e6 macw %d6u,%spu,,%a2@\+&,%d2
+ 2a28: aeda f6e6 macw %d6u,%spu,>>,%a2@\+&,%sp
+ 2a2c: a2ae f6c6 000a macw %d6u,%spu,<<,%fp@\(10\),%d1
+ 2a32: a6ee f6c6 000a macw %d6u,%spu,>>,%fp@\(10\),%a3
+ 2a38: a4ae f6c6 000a macw %d6u,%spu,,%fp@\(10\),%d2
+ 2a3e: aeee f6c6 000a macw %d6u,%spu,>>,%fp@\(10\),%sp
+ 2a44: a2ae f6e6 000a macw %d6u,%spu,<<,%fp@\(10\)&,%d1
+ 2a4a: a6ee f6e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%a3
+ 2a50: a4ae f6e6 000a macw %d6u,%spu,,%fp@\(10\)&,%d2
+ 2a56: aeee f6e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%sp
+ 2a5c: a2a1 f6c6 macw %d6u,%spu,<<,%a1@-,%d1
+ 2a60: a6e1 f6c6 macw %d6u,%spu,>>,%a1@-,%a3
+ 2a64: a4a1 f6c6 macw %d6u,%spu,,%a1@-,%d2
+ 2a68: aee1 f6c6 macw %d6u,%spu,>>,%a1@-,%sp
+ 2a6c: a2a1 f6e6 macw %d6u,%spu,<<,%a1@-&,%d1
+ 2a70: a6e1 f6e6 macw %d6u,%spu,>>,%a1@-&,%a3
+ 2a74: a4a1 f6e6 macw %d6u,%spu,,%a1@-&,%d2
+ 2a78: aee1 f6e6 macw %d6u,%spu,>>,%a1@-&,%sp
+ 2a7c: a293 f2c6 macw %d6u,%spu,<<,%a3@,%d1
+ 2a80: a6d3 f2c6 macw %d6u,%spu,>>,%a3@,%a3
+ 2a84: a493 f2c6 macw %d6u,%spu,,%a3@,%d2
+ 2a88: aed3 f2c6 macw %d6u,%spu,>>,%a3@,%sp
+ 2a8c: a293 f2e6 macw %d6u,%spu,<<,%a3@&,%d1
+ 2a90: a6d3 f2e6 macw %d6u,%spu,>>,%a3@&,%a3
+ 2a94: a493 f2e6 macw %d6u,%spu,,%a3@&,%d2
+ 2a98: aed3 f2e6 macw %d6u,%spu,>>,%a3@&,%sp
+ 2a9c: a29a f2c6 macw %d6u,%spu,<<,%a2@\+,%d1
+ 2aa0: a6da f2c6 macw %d6u,%spu,>>,%a2@\+,%a3
+ 2aa4: a49a f2c6 macw %d6u,%spu,,%a2@\+,%d2
+ 2aa8: aeda f2c6 macw %d6u,%spu,>>,%a2@\+,%sp
+ 2aac: a29a f2e6 macw %d6u,%spu,<<,%a2@\+&,%d1
+ 2ab0: a6da f2e6 macw %d6u,%spu,>>,%a2@\+&,%a3
+ 2ab4: a49a f2e6 macw %d6u,%spu,,%a2@\+&,%d2
+ 2ab8: aeda f2e6 macw %d6u,%spu,>>,%a2@\+&,%sp
+ 2abc: a2ae f2c6 000a macw %d6u,%spu,<<,%fp@\(10\),%d1
+ 2ac2: a6ee f2c6 000a macw %d6u,%spu,>>,%fp@\(10\),%a3
+ 2ac8: a4ae f2c6 000a macw %d6u,%spu,,%fp@\(10\),%d2
+ 2ace: aeee f2c6 000a macw %d6u,%spu,>>,%fp@\(10\),%sp
+ 2ad4: a2ae f2e6 000a macw %d6u,%spu,<<,%fp@\(10\)&,%d1
+ 2ada: a6ee f2e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%a3
+ 2ae0: a4ae f2e6 000a macw %d6u,%spu,,%fp@\(10\)&,%d2
+ 2ae6: aeee f2e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%sp
+ 2aec: a2a1 f2c6 macw %d6u,%spu,<<,%a1@-,%d1
+ 2af0: a6e1 f2c6 macw %d6u,%spu,>>,%a1@-,%a3
+ 2af4: a4a1 f2c6 macw %d6u,%spu,,%a1@-,%d2
+ 2af8: aee1 f2c6 macw %d6u,%spu,>>,%a1@-,%sp
+ 2afc: a2a1 f2e6 macw %d6u,%spu,<<,%a1@-&,%d1
+ 2b00: a6e1 f2e6 macw %d6u,%spu,>>,%a1@-&,%a3
+ 2b04: a4a1 f2e6 macw %d6u,%spu,,%a1@-&,%d2
+ 2b08: aee1 f2e6 macw %d6u,%spu,>>,%a1@-&,%sp
+ 2b0c: a293 f6c6 macw %d6u,%spu,<<,%a3@,%d1
+ 2b10: a6d3 f6c6 macw %d6u,%spu,>>,%a3@,%a3
+ 2b14: a493 f6c6 macw %d6u,%spu,,%a3@,%d2
+ 2b18: aed3 f6c6 macw %d6u,%spu,>>,%a3@,%sp
+ 2b1c: a293 f6e6 macw %d6u,%spu,<<,%a3@&,%d1
+ 2b20: a6d3 f6e6 macw %d6u,%spu,>>,%a3@&,%a3
+ 2b24: a493 f6e6 macw %d6u,%spu,,%a3@&,%d2
+ 2b28: aed3 f6e6 macw %d6u,%spu,>>,%a3@&,%sp
+ 2b2c: a29a f6c6 macw %d6u,%spu,<<,%a2@\+,%d1
+ 2b30: a6da f6c6 macw %d6u,%spu,>>,%a2@\+,%a3
+ 2b34: a49a f6c6 macw %d6u,%spu,,%a2@\+,%d2
+ 2b38: aeda f6c6 macw %d6u,%spu,>>,%a2@\+,%sp
+ 2b3c: a29a f6e6 macw %d6u,%spu,<<,%a2@\+&,%d1
+ 2b40: a6da f6e6 macw %d6u,%spu,>>,%a2@\+&,%a3
+ 2b44: a49a f6e6 macw %d6u,%spu,,%a2@\+&,%d2
+ 2b48: aeda f6e6 macw %d6u,%spu,>>,%a2@\+&,%sp
+ 2b4c: a2ae f6c6 000a macw %d6u,%spu,<<,%fp@\(10\),%d1
+ 2b52: a6ee f6c6 000a macw %d6u,%spu,>>,%fp@\(10\),%a3
+ 2b58: a4ae f6c6 000a macw %d6u,%spu,,%fp@\(10\),%d2
+ 2b5e: aeee f6c6 000a macw %d6u,%spu,>>,%fp@\(10\),%sp
+ 2b64: a2ae f6e6 000a macw %d6u,%spu,<<,%fp@\(10\)&,%d1
+ 2b6a: a6ee f6e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%a3
+ 2b70: a4ae f6e6 000a macw %d6u,%spu,,%fp@\(10\)&,%d2
+ 2b76: aeee f6e6 000a macw %d6u,%spu,>>,%fp@\(10\)&,%sp
+ 2b7c: a2a1 f6c6 macw %d6u,%spu,<<,%a1@-,%d1
+ 2b80: a6e1 f6c6 macw %d6u,%spu,>>,%a1@-,%a3
+ 2b84: a4a1 f6c6 macw %d6u,%spu,,%a1@-,%d2
+ 2b88: aee1 f6c6 macw %d6u,%spu,>>,%a1@-,%sp
+ 2b8c: a2a1 f6e6 macw %d6u,%spu,<<,%a1@-&,%d1
+ 2b90: a6e1 f6e6 macw %d6u,%spu,>>,%a1@-&,%a3
+ 2b94: a4a1 f6e6 macw %d6u,%spu,,%a1@-&,%d2
+ 2b98: aee1 f6e6 macw %d6u,%spu,>>,%a1@-&,%sp
+ 2b9c: a293 1046 macw %d6u,%d1l,%a3@,%d1
+ 2ba0: a6d3 1046 macw %d6u,%d1l,%a3@,%a3
+ 2ba4: a493 1046 macw %d6u,%d1l,%a3@,%d2
+ 2ba8: aed3 1046 macw %d6u,%d1l,%a3@,%sp
+ 2bac: a293 1066 macw %d6u,%d1l,<<,%a3@&,%d1
+ 2bb0: a6d3 1066 macw %d6u,%d1l,>>,%a3@&,%a3
+ 2bb4: a493 1066 macw %d6u,%d1l,,%a3@&,%d2
+ 2bb8: aed3 1066 macw %d6u,%d1l,>>,%a3@&,%sp
+ 2bbc: a29a 1046 macw %d6u,%d1l,%a2@\+,%d1
+ 2bc0: a6da 1046 macw %d6u,%d1l,%a2@\+,%a3
+ 2bc4: a49a 1046 macw %d6u,%d1l,%a2@\+,%d2
+ 2bc8: aeda 1046 macw %d6u,%d1l,%a2@\+,%sp
+ 2bcc: a29a 1066 macw %d6u,%d1l,<<,%a2@\+&,%d1
+ 2bd0: a6da 1066 macw %d6u,%d1l,>>,%a2@\+&,%a3
+ 2bd4: a49a 1066 macw %d6u,%d1l,,%a2@\+&,%d2
+ 2bd8: aeda 1066 macw %d6u,%d1l,>>,%a2@\+&,%sp
+ 2bdc: a2ae 1046 000a macw %d6u,%d1l,%fp@\(10\),%d1
+ 2be2: a6ee 1046 000a macw %d6u,%d1l,%fp@\(10\),%a3
+ 2be8: a4ae 1046 000a macw %d6u,%d1l,%fp@\(10\),%d2
+ 2bee: aeee 1046 000a macw %d6u,%d1l,%fp@\(10\),%sp
+ 2bf4: a2ae 1066 000a macw %d6u,%d1l,<<,%fp@\(10\)&,%d1
+ 2bfa: a6ee 1066 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%a3
+ 2c00: a4ae 1066 000a macw %d6u,%d1l,,%fp@\(10\)&,%d2
+ 2c06: aeee 1066 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%sp
+ 2c0c: a2a1 1046 macw %d6u,%d1l,%a1@-,%d1
+ 2c10: a6e1 1046 macw %d6u,%d1l,%a1@-,%a3
+ 2c14: a4a1 1046 macw %d6u,%d1l,%a1@-,%d2
+ 2c18: aee1 1046 macw %d6u,%d1l,%a1@-,%sp
+ 2c1c: a2a1 1066 macw %d6u,%d1l,<<,%a1@-&,%d1
+ 2c20: a6e1 1066 macw %d6u,%d1l,>>,%a1@-&,%a3
+ 2c24: a4a1 1066 macw %d6u,%d1l,,%a1@-&,%d2
+ 2c28: aee1 1066 macw %d6u,%d1l,>>,%a1@-&,%sp
+ 2c2c: a293 1246 macw %d6u,%d1l,<<,%a3@,%d1
+ 2c30: a6d3 1246 macw %d6u,%d1l,>>,%a3@,%a3
+ 2c34: a493 1246 macw %d6u,%d1l,,%a3@,%d2
+ 2c38: aed3 1246 macw %d6u,%d1l,>>,%a3@,%sp
+ 2c3c: a293 1266 macw %d6u,%d1l,<<,%a3@&,%d1
+ 2c40: a6d3 1266 macw %d6u,%d1l,>>,%a3@&,%a3
+ 2c44: a493 1266 macw %d6u,%d1l,,%a3@&,%d2
+ 2c48: aed3 1266 macw %d6u,%d1l,>>,%a3@&,%sp
+ 2c4c: a29a 1246 macw %d6u,%d1l,<<,%a2@\+,%d1
+ 2c50: a6da 1246 macw %d6u,%d1l,>>,%a2@\+,%a3
+ 2c54: a49a 1246 macw %d6u,%d1l,,%a2@\+,%d2
+ 2c58: aeda 1246 macw %d6u,%d1l,>>,%a2@\+,%sp
+ 2c5c: a29a 1266 macw %d6u,%d1l,<<,%a2@\+&,%d1
+ 2c60: a6da 1266 macw %d6u,%d1l,>>,%a2@\+&,%a3
+ 2c64: a49a 1266 macw %d6u,%d1l,,%a2@\+&,%d2
+ 2c68: aeda 1266 macw %d6u,%d1l,>>,%a2@\+&,%sp
+ 2c6c: a2ae 1246 000a macw %d6u,%d1l,<<,%fp@\(10\),%d1
+ 2c72: a6ee 1246 000a macw %d6u,%d1l,>>,%fp@\(10\),%a3
+ 2c78: a4ae 1246 000a macw %d6u,%d1l,,%fp@\(10\),%d2
+ 2c7e: aeee 1246 000a macw %d6u,%d1l,>>,%fp@\(10\),%sp
+ 2c84: a2ae 1266 000a macw %d6u,%d1l,<<,%fp@\(10\)&,%d1
+ 2c8a: a6ee 1266 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%a3
+ 2c90: a4ae 1266 000a macw %d6u,%d1l,,%fp@\(10\)&,%d2
+ 2c96: aeee 1266 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%sp
+ 2c9c: a2a1 1246 macw %d6u,%d1l,<<,%a1@-,%d1
+ 2ca0: a6e1 1246 macw %d6u,%d1l,>>,%a1@-,%a3
+ 2ca4: a4a1 1246 macw %d6u,%d1l,,%a1@-,%d2
+ 2ca8: aee1 1246 macw %d6u,%d1l,>>,%a1@-,%sp
+ 2cac: a2a1 1266 macw %d6u,%d1l,<<,%a1@-&,%d1
+ 2cb0: a6e1 1266 macw %d6u,%d1l,>>,%a1@-&,%a3
+ 2cb4: a4a1 1266 macw %d6u,%d1l,,%a1@-&,%d2
+ 2cb8: aee1 1266 macw %d6u,%d1l,>>,%a1@-&,%sp
+ 2cbc: a293 1646 macw %d6u,%d1l,<<,%a3@,%d1
+ 2cc0: a6d3 1646 macw %d6u,%d1l,>>,%a3@,%a3
+ 2cc4: a493 1646 macw %d6u,%d1l,,%a3@,%d2
+ 2cc8: aed3 1646 macw %d6u,%d1l,>>,%a3@,%sp
+ 2ccc: a293 1666 macw %d6u,%d1l,<<,%a3@&,%d1
+ 2cd0: a6d3 1666 macw %d6u,%d1l,>>,%a3@&,%a3
+ 2cd4: a493 1666 macw %d6u,%d1l,,%a3@&,%d2
+ 2cd8: aed3 1666 macw %d6u,%d1l,>>,%a3@&,%sp
+ 2cdc: a29a 1646 macw %d6u,%d1l,<<,%a2@\+,%d1
+ 2ce0: a6da 1646 macw %d6u,%d1l,>>,%a2@\+,%a3
+ 2ce4: a49a 1646 macw %d6u,%d1l,,%a2@\+,%d2
+ 2ce8: aeda 1646 macw %d6u,%d1l,>>,%a2@\+,%sp
+ 2cec: a29a 1666 macw %d6u,%d1l,<<,%a2@\+&,%d1
+ 2cf0: a6da 1666 macw %d6u,%d1l,>>,%a2@\+&,%a3
+ 2cf4: a49a 1666 macw %d6u,%d1l,,%a2@\+&,%d2
+ 2cf8: aeda 1666 macw %d6u,%d1l,>>,%a2@\+&,%sp
+ 2cfc: a2ae 1646 000a macw %d6u,%d1l,<<,%fp@\(10\),%d1
+ 2d02: a6ee 1646 000a macw %d6u,%d1l,>>,%fp@\(10\),%a3
+ 2d08: a4ae 1646 000a macw %d6u,%d1l,,%fp@\(10\),%d2
+ 2d0e: aeee 1646 000a macw %d6u,%d1l,>>,%fp@\(10\),%sp
+ 2d14: a2ae 1666 000a macw %d6u,%d1l,<<,%fp@\(10\)&,%d1
+ 2d1a: a6ee 1666 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%a3
+ 2d20: a4ae 1666 000a macw %d6u,%d1l,,%fp@\(10\)&,%d2
+ 2d26: aeee 1666 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%sp
+ 2d2c: a2a1 1646 macw %d6u,%d1l,<<,%a1@-,%d1
+ 2d30: a6e1 1646 macw %d6u,%d1l,>>,%a1@-,%a3
+ 2d34: a4a1 1646 macw %d6u,%d1l,,%a1@-,%d2
+ 2d38: aee1 1646 macw %d6u,%d1l,>>,%a1@-,%sp
+ 2d3c: a2a1 1666 macw %d6u,%d1l,<<,%a1@-&,%d1
+ 2d40: a6e1 1666 macw %d6u,%d1l,>>,%a1@-&,%a3
+ 2d44: a4a1 1666 macw %d6u,%d1l,,%a1@-&,%d2
+ 2d48: aee1 1666 macw %d6u,%d1l,>>,%a1@-&,%sp
+ 2d4c: a293 1246 macw %d6u,%d1l,<<,%a3@,%d1
+ 2d50: a6d3 1246 macw %d6u,%d1l,>>,%a3@,%a3
+ 2d54: a493 1246 macw %d6u,%d1l,,%a3@,%d2
+ 2d58: aed3 1246 macw %d6u,%d1l,>>,%a3@,%sp
+ 2d5c: a293 1266 macw %d6u,%d1l,<<,%a3@&,%d1
+ 2d60: a6d3 1266 macw %d6u,%d1l,>>,%a3@&,%a3
+ 2d64: a493 1266 macw %d6u,%d1l,,%a3@&,%d2
+ 2d68: aed3 1266 macw %d6u,%d1l,>>,%a3@&,%sp
+ 2d6c: a29a 1246 macw %d6u,%d1l,<<,%a2@\+,%d1
+ 2d70: a6da 1246 macw %d6u,%d1l,>>,%a2@\+,%a3
+ 2d74: a49a 1246 macw %d6u,%d1l,,%a2@\+,%d2
+ 2d78: aeda 1246 macw %d6u,%d1l,>>,%a2@\+,%sp
+ 2d7c: a29a 1266 macw %d6u,%d1l,<<,%a2@\+&,%d1
+ 2d80: a6da 1266 macw %d6u,%d1l,>>,%a2@\+&,%a3
+ 2d84: a49a 1266 macw %d6u,%d1l,,%a2@\+&,%d2
+ 2d88: aeda 1266 macw %d6u,%d1l,>>,%a2@\+&,%sp
+ 2d8c: a2ae 1246 000a macw %d6u,%d1l,<<,%fp@\(10\),%d1
+ 2d92: a6ee 1246 000a macw %d6u,%d1l,>>,%fp@\(10\),%a3
+ 2d98: a4ae 1246 000a macw %d6u,%d1l,,%fp@\(10\),%d2
+ 2d9e: aeee 1246 000a macw %d6u,%d1l,>>,%fp@\(10\),%sp
+ 2da4: a2ae 1266 000a macw %d6u,%d1l,<<,%fp@\(10\)&,%d1
+ 2daa: a6ee 1266 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%a3
+ 2db0: a4ae 1266 000a macw %d6u,%d1l,,%fp@\(10\)&,%d2
+ 2db6: aeee 1266 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%sp
+ 2dbc: a2a1 1246 macw %d6u,%d1l,<<,%a1@-,%d1
+ 2dc0: a6e1 1246 macw %d6u,%d1l,>>,%a1@-,%a3
+ 2dc4: a4a1 1246 macw %d6u,%d1l,,%a1@-,%d2
+ 2dc8: aee1 1246 macw %d6u,%d1l,>>,%a1@-,%sp
+ 2dcc: a2a1 1266 macw %d6u,%d1l,<<,%a1@-&,%d1
+ 2dd0: a6e1 1266 macw %d6u,%d1l,>>,%a1@-&,%a3
+ 2dd4: a4a1 1266 macw %d6u,%d1l,,%a1@-&,%d2
+ 2dd8: aee1 1266 macw %d6u,%d1l,>>,%a1@-&,%sp
+ 2ddc: a293 1646 macw %d6u,%d1l,<<,%a3@,%d1
+ 2de0: a6d3 1646 macw %d6u,%d1l,>>,%a3@,%a3
+ 2de4: a493 1646 macw %d6u,%d1l,,%a3@,%d2
+ 2de8: aed3 1646 macw %d6u,%d1l,>>,%a3@,%sp
+ 2dec: a293 1666 macw %d6u,%d1l,<<,%a3@&,%d1
+ 2df0: a6d3 1666 macw %d6u,%d1l,>>,%a3@&,%a3
+ 2df4: a493 1666 macw %d6u,%d1l,,%a3@&,%d2
+ 2df8: aed3 1666 macw %d6u,%d1l,>>,%a3@&,%sp
+ 2dfc: a29a 1646 macw %d6u,%d1l,<<,%a2@\+,%d1
+ 2e00: a6da 1646 macw %d6u,%d1l,>>,%a2@\+,%a3
+ 2e04: a49a 1646 macw %d6u,%d1l,,%a2@\+,%d2
+ 2e08: aeda 1646 macw %d6u,%d1l,>>,%a2@\+,%sp
+ 2e0c: a29a 1666 macw %d6u,%d1l,<<,%a2@\+&,%d1
+ 2e10: a6da 1666 macw %d6u,%d1l,>>,%a2@\+&,%a3
+ 2e14: a49a 1666 macw %d6u,%d1l,,%a2@\+&,%d2
+ 2e18: aeda 1666 macw %d6u,%d1l,>>,%a2@\+&,%sp
+ 2e1c: a2ae 1646 000a macw %d6u,%d1l,<<,%fp@\(10\),%d1
+ 2e22: a6ee 1646 000a macw %d6u,%d1l,>>,%fp@\(10\),%a3
+ 2e28: a4ae 1646 000a macw %d6u,%d1l,,%fp@\(10\),%d2
+ 2e2e: aeee 1646 000a macw %d6u,%d1l,>>,%fp@\(10\),%sp
+ 2e34: a2ae 1666 000a macw %d6u,%d1l,<<,%fp@\(10\)&,%d1
+ 2e3a: a6ee 1666 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%a3
+ 2e40: a4ae 1666 000a macw %d6u,%d1l,,%fp@\(10\)&,%d2
+ 2e46: aeee 1666 000a macw %d6u,%d1l,>>,%fp@\(10\)&,%sp
+ 2e4c: a2a1 1646 macw %d6u,%d1l,<<,%a1@-,%d1
+ 2e50: a6e1 1646 macw %d6u,%d1l,>>,%a1@-,%a3
+ 2e54: a4a1 1646 macw %d6u,%d1l,,%a1@-,%d2
+ 2e58: aee1 1646 macw %d6u,%d1l,>>,%a1@-,%sp
+ 2e5c: a2a1 1666 macw %d6u,%d1l,<<,%a1@-&,%d1
+ 2e60: a6e1 1666 macw %d6u,%d1l,>>,%a1@-&,%a3
+ 2e64: a4a1 1666 macw %d6u,%d1l,,%a1@-&,%d2
+ 2e68: aee1 1666 macw %d6u,%d1l,>>,%a1@-&,%sp
+ 2e6c: a649 0800 macl %a1,%a3,>>
+ 2e70: a649 0a00 macl %a1,%a3,<<
+ 2e74: a649 0e00 macl %a1,%a3,>>
+ 2e78: a649 0a00 macl %a1,%a3,<<
+ 2e7c: a649 0e00 macl %a1,%a3,>>
+ 2e80: a809 0800 macl %a1,%d4,
+ 2e84: a809 0a00 macl %a1,%d4,<<
+ 2e88: a809 0e00 macl %a1,%d4,>>
+ 2e8c: a809 0a00 macl %a1,%d4,<<
+ 2e90: a809 0e00 macl %a1,%d4,>>
+ 2e94: a646 0800 macl %d6,%a3,>>
+ 2e98: a646 0a00 macl %d6,%a3,<<
+ 2e9c: a646 0e00 macl %d6,%a3,>>
+ 2ea0: a646 0a00 macl %d6,%a3,<<
+ 2ea4: a646 0e00 macl %d6,%a3,>>
+ 2ea8: a806 0800 macl %d6,%d4,
+ 2eac: a806 0a00 macl %d6,%d4,<<
+ 2eb0: a806 0e00 macl %d6,%d4,>>
+ 2eb4: a806 0a00 macl %d6,%d4,<<
+ 2eb8: a806 0e00 macl %d6,%d4,>>
+ 2ebc: a293 b809 macl %a1,%a3,%a3@,%d1
+ 2ec0: a6d3 b809 macl %a1,%a3,%a3@,%a3
+ 2ec4: a493 b809 macl %a1,%a3,%a3@,%d2
+ 2ec8: aed3 b809 macl %a1,%a3,%a3@,%sp
+ 2ecc: a293 b829 macl %a1,%a3,<<,%a3@&,%d1
+ 2ed0: a6d3 b829 macl %a1,%a3,>>,%a3@&,%a3
+ 2ed4: a493 b829 macl %a1,%a3,,%a3@&,%d2
+ 2ed8: aed3 b829 macl %a1,%a3,>>,%a3@&,%sp
+ 2edc: a29a b809 macl %a1,%a3,%a2@\+,%d1
+ 2ee0: a6da b809 macl %a1,%a3,%a2@\+,%a3
+ 2ee4: a49a b809 macl %a1,%a3,%a2@\+,%d2
+ 2ee8: aeda b809 macl %a1,%a3,%a2@\+,%sp
+ 2eec: a29a b829 macl %a1,%a3,<<,%a2@\+&,%d1
+ 2ef0: a6da b829 macl %a1,%a3,>>,%a2@\+&,%a3
+ 2ef4: a49a b829 macl %a1,%a3,,%a2@\+&,%d2
+ 2ef8: aeda b829 macl %a1,%a3,>>,%a2@\+&,%sp
+ 2efc: a2ae b809 000a macl %a1,%a3,%fp@\(10\),%d1
+ 2f02: a6ee b809 000a macl %a1,%a3,%fp@\(10\),%a3
+ 2f08: a4ae b809 000a macl %a1,%a3,%fp@\(10\),%d2
+ 2f0e: aeee b809 000a macl %a1,%a3,%fp@\(10\),%sp
+ 2f14: a2ae b829 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1
+ 2f1a: a6ee b829 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3
+ 2f20: a4ae b829 000a macl %a1,%a3,,%fp@\(10\)&,%d2
+ 2f26: aeee b829 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp
+ 2f2c: a2a1 b809 macl %a1,%a3,%a1@-,%d1
+ 2f30: a6e1 b809 macl %a1,%a3,%a1@-,%a3
+ 2f34: a4a1 b809 macl %a1,%a3,%a1@-,%d2
+ 2f38: aee1 b809 macl %a1,%a3,%a1@-,%sp
+ 2f3c: a2a1 b829 macl %a1,%a3,<<,%a1@-&,%d1
+ 2f40: a6e1 b829 macl %a1,%a3,>>,%a1@-&,%a3
+ 2f44: a4a1 b829 macl %a1,%a3,,%a1@-&,%d2
+ 2f48: aee1 b829 macl %a1,%a3,>>,%a1@-&,%sp
+ 2f4c: a293 ba09 macl %a1,%a3,<<,%a3@,%d1
+ 2f50: a6d3 ba09 macl %a1,%a3,>>,%a3@,%a3
+ 2f54: a493 ba09 macl %a1,%a3,,%a3@,%d2
+ 2f58: aed3 ba09 macl %a1,%a3,>>,%a3@,%sp
+ 2f5c: a293 ba29 macl %a1,%a3,<<,%a3@&,%d1
+ 2f60: a6d3 ba29 macl %a1,%a3,>>,%a3@&,%a3
+ 2f64: a493 ba29 macl %a1,%a3,,%a3@&,%d2
+ 2f68: aed3 ba29 macl %a1,%a3,>>,%a3@&,%sp
+ 2f6c: a29a ba09 macl %a1,%a3,<<,%a2@\+,%d1
+ 2f70: a6da ba09 macl %a1,%a3,>>,%a2@\+,%a3
+ 2f74: a49a ba09 macl %a1,%a3,,%a2@\+,%d2
+ 2f78: aeda ba09 macl %a1,%a3,>>,%a2@\+,%sp
+ 2f7c: a29a ba29 macl %a1,%a3,<<,%a2@\+&,%d1
+ 2f80: a6da ba29 macl %a1,%a3,>>,%a2@\+&,%a3
+ 2f84: a49a ba29 macl %a1,%a3,,%a2@\+&,%d2
+ 2f88: aeda ba29 macl %a1,%a3,>>,%a2@\+&,%sp
+ 2f8c: a2ae ba09 000a macl %a1,%a3,<<,%fp@\(10\),%d1
+ 2f92: a6ee ba09 000a macl %a1,%a3,>>,%fp@\(10\),%a3
+ 2f98: a4ae ba09 000a macl %a1,%a3,,%fp@\(10\),%d2
+ 2f9e: aeee ba09 000a macl %a1,%a3,>>,%fp@\(10\),%sp
+ 2fa4: a2ae ba29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1
+ 2faa: a6ee ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3
+ 2fb0: a4ae ba29 000a macl %a1,%a3,,%fp@\(10\)&,%d2
+ 2fb6: aeee ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp
+ 2fbc: a2a1 ba09 macl %a1,%a3,<<,%a1@-,%d1
+ 2fc0: a6e1 ba09 macl %a1,%a3,>>,%a1@-,%a3
+ 2fc4: a4a1 ba09 macl %a1,%a3,,%a1@-,%d2
+ 2fc8: aee1 ba09 macl %a1,%a3,>>,%a1@-,%sp
+ 2fcc: a2a1 ba29 macl %a1,%a3,<<,%a1@-&,%d1
+ 2fd0: a6e1 ba29 macl %a1,%a3,>>,%a1@-&,%a3
+ 2fd4: a4a1 ba29 macl %a1,%a3,,%a1@-&,%d2
+ 2fd8: aee1 ba29 macl %a1,%a3,>>,%a1@-&,%sp
+ 2fdc: a293 be09 macl %a1,%a3,<<,%a3@,%d1
+ 2fe0: a6d3 be09 macl %a1,%a3,>>,%a3@,%a3
+ 2fe4: a493 be09 macl %a1,%a3,,%a3@,%d2
+ 2fe8: aed3 be09 macl %a1,%a3,>>,%a3@,%sp
+ 2fec: a293 be29 macl %a1,%a3,<<,%a3@&,%d1
+ 2ff0: a6d3 be29 macl %a1,%a3,>>,%a3@&,%a3
+ 2ff4: a493 be29 macl %a1,%a3,,%a3@&,%d2
+ 2ff8: aed3 be29 macl %a1,%a3,>>,%a3@&,%sp
+ 2ffc: a29a be09 macl %a1,%a3,<<,%a2@\+,%d1
+ 3000: a6da be09 macl %a1,%a3,>>,%a2@\+,%a3
+ 3004: a49a be09 macl %a1,%a3,,%a2@\+,%d2
+ 3008: aeda be09 macl %a1,%a3,>>,%a2@\+,%sp
+ 300c: a29a be29 macl %a1,%a3,<<,%a2@\+&,%d1
+ 3010: a6da be29 macl %a1,%a3,>>,%a2@\+&,%a3
+ 3014: a49a be29 macl %a1,%a3,,%a2@\+&,%d2
+ 3018: aeda be29 macl %a1,%a3,>>,%a2@\+&,%sp
+ 301c: a2ae be09 000a macl %a1,%a3,<<,%fp@\(10\),%d1
+ 3022: a6ee be09 000a macl %a1,%a3,>>,%fp@\(10\),%a3
+ 3028: a4ae be09 000a macl %a1,%a3,,%fp@\(10\),%d2
+ 302e: aeee be09 000a macl %a1,%a3,>>,%fp@\(10\),%sp
+ 3034: a2ae be29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1
+ 303a: a6ee be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3
+ 3040: a4ae be29 000a macl %a1,%a3,,%fp@\(10\)&,%d2
+ 3046: aeee be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp
+ 304c: a2a1 be09 macl %a1,%a3,<<,%a1@-,%d1
+ 3050: a6e1 be09 macl %a1,%a3,>>,%a1@-,%a3
+ 3054: a4a1 be09 macl %a1,%a3,,%a1@-,%d2
+ 3058: aee1 be09 macl %a1,%a3,>>,%a1@-,%sp
+ 305c: a2a1 be29 macl %a1,%a3,<<,%a1@-&,%d1
+ 3060: a6e1 be29 macl %a1,%a3,>>,%a1@-&,%a3
+ 3064: a4a1 be29 macl %a1,%a3,,%a1@-&,%d2
+ 3068: aee1 be29 macl %a1,%a3,>>,%a1@-&,%sp
+ 306c: a293 ba09 macl %a1,%a3,<<,%a3@,%d1
+ 3070: a6d3 ba09 macl %a1,%a3,>>,%a3@,%a3
+ 3074: a493 ba09 macl %a1,%a3,,%a3@,%d2
+ 3078: aed3 ba09 macl %a1,%a3,>>,%a3@,%sp
+ 307c: a293 ba29 macl %a1,%a3,<<,%a3@&,%d1
+ 3080: a6d3 ba29 macl %a1,%a3,>>,%a3@&,%a3
+ 3084: a493 ba29 macl %a1,%a3,,%a3@&,%d2
+ 3088: aed3 ba29 macl %a1,%a3,>>,%a3@&,%sp
+ 308c: a29a ba09 macl %a1,%a3,<<,%a2@\+,%d1
+ 3090: a6da ba09 macl %a1,%a3,>>,%a2@\+,%a3
+ 3094: a49a ba09 macl %a1,%a3,,%a2@\+,%d2
+ 3098: aeda ba09 macl %a1,%a3,>>,%a2@\+,%sp
+ 309c: a29a ba29 macl %a1,%a3,<<,%a2@\+&,%d1
+ 30a0: a6da ba29 macl %a1,%a3,>>,%a2@\+&,%a3
+ 30a4: a49a ba29 macl %a1,%a3,,%a2@\+&,%d2
+ 30a8: aeda ba29 macl %a1,%a3,>>,%a2@\+&,%sp
+ 30ac: a2ae ba09 000a macl %a1,%a3,<<,%fp@\(10\),%d1
+ 30b2: a6ee ba09 000a macl %a1,%a3,>>,%fp@\(10\),%a3
+ 30b8: a4ae ba09 000a macl %a1,%a3,,%fp@\(10\),%d2
+ 30be: aeee ba09 000a macl %a1,%a3,>>,%fp@\(10\),%sp
+ 30c4: a2ae ba29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1
+ 30ca: a6ee ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3
+ 30d0: a4ae ba29 000a macl %a1,%a3,,%fp@\(10\)&,%d2
+ 30d6: aeee ba29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp
+ 30dc: a2a1 ba09 macl %a1,%a3,<<,%a1@-,%d1
+ 30e0: a6e1 ba09 macl %a1,%a3,>>,%a1@-,%a3
+ 30e4: a4a1 ba09 macl %a1,%a3,,%a1@-,%d2
+ 30e8: aee1 ba09 macl %a1,%a3,>>,%a1@-,%sp
+ 30ec: a2a1 ba29 macl %a1,%a3,<<,%a1@-&,%d1
+ 30f0: a6e1 ba29 macl %a1,%a3,>>,%a1@-&,%a3
+ 30f4: a4a1 ba29 macl %a1,%a3,,%a1@-&,%d2
+ 30f8: aee1 ba29 macl %a1,%a3,>>,%a1@-&,%sp
+ 30fc: a293 be09 macl %a1,%a3,<<,%a3@,%d1
+ 3100: a6d3 be09 macl %a1,%a3,>>,%a3@,%a3
+ 3104: a493 be09 macl %a1,%a3,,%a3@,%d2
+ 3108: aed3 be09 macl %a1,%a3,>>,%a3@,%sp
+ 310c: a293 be29 macl %a1,%a3,<<,%a3@&,%d1
+ 3110: a6d3 be29 macl %a1,%a3,>>,%a3@&,%a3
+ 3114: a493 be29 macl %a1,%a3,,%a3@&,%d2
+ 3118: aed3 be29 macl %a1,%a3,>>,%a3@&,%sp
+ 311c: a29a be09 macl %a1,%a3,<<,%a2@\+,%d1
+ 3120: a6da be09 macl %a1,%a3,>>,%a2@\+,%a3
+ 3124: a49a be09 macl %a1,%a3,,%a2@\+,%d2
+ 3128: aeda be09 macl %a1,%a3,>>,%a2@\+,%sp
+ 312c: a29a be29 macl %a1,%a3,<<,%a2@\+&,%d1
+ 3130: a6da be29 macl %a1,%a3,>>,%a2@\+&,%a3
+ 3134: a49a be29 macl %a1,%a3,,%a2@\+&,%d2
+ 3138: aeda be29 macl %a1,%a3,>>,%a2@\+&,%sp
+ 313c: a2ae be09 000a macl %a1,%a3,<<,%fp@\(10\),%d1
+ 3142: a6ee be09 000a macl %a1,%a3,>>,%fp@\(10\),%a3
+ 3148: a4ae be09 000a macl %a1,%a3,,%fp@\(10\),%d2
+ 314e: aeee be09 000a macl %a1,%a3,>>,%fp@\(10\),%sp
+ 3154: a2ae be29 000a macl %a1,%a3,<<,%fp@\(10\)&,%d1
+ 315a: a6ee be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%a3
+ 3160: a4ae be29 000a macl %a1,%a3,,%fp@\(10\)&,%d2
+ 3166: aeee be29 000a macl %a1,%a3,>>,%fp@\(10\)&,%sp
+ 316c: a2a1 be09 macl %a1,%a3,<<,%a1@-,%d1
+ 3170: a6e1 be09 macl %a1,%a3,>>,%a1@-,%a3
+ 3174: a4a1 be09 macl %a1,%a3,,%a1@-,%d2
+ 3178: aee1 be09 macl %a1,%a3,>>,%a1@-,%sp
+ 317c: a2a1 be29 macl %a1,%a3,<<,%a1@-&,%d1
+ 3180: a6e1 be29 macl %a1,%a3,>>,%a1@-&,%a3
+ 3184: a4a1 be29 macl %a1,%a3,,%a1@-&,%d2
+ 3188: aee1 be29 macl %a1,%a3,>>,%a1@-&,%sp
+ 318c: a293 4809 macl %a1,%d4,%a3@,%d1
+ 3190: a6d3 4809 macl %a1,%d4,%a3@,%a3
+ 3194: a493 4809 macl %a1,%d4,%a3@,%d2
+ 3198: aed3 4809 macl %a1,%d4,%a3@,%sp
+ 319c: a293 4829 macl %a1,%d4,<<,%a3@&,%d1
+ 31a0: a6d3 4829 macl %a1,%d4,>>,%a3@&,%a3
+ 31a4: a493 4829 macl %a1,%d4,,%a3@&,%d2
+ 31a8: aed3 4829 macl %a1,%d4,>>,%a3@&,%sp
+ 31ac: a29a 4809 macl %a1,%d4,%a2@\+,%d1
+ 31b0: a6da 4809 macl %a1,%d4,%a2@\+,%a3
+ 31b4: a49a 4809 macl %a1,%d4,%a2@\+,%d2
+ 31b8: aeda 4809 macl %a1,%d4,%a2@\+,%sp
+ 31bc: a29a 4829 macl %a1,%d4,<<,%a2@\+&,%d1
+ 31c0: a6da 4829 macl %a1,%d4,>>,%a2@\+&,%a3
+ 31c4: a49a 4829 macl %a1,%d4,,%a2@\+&,%d2
+ 31c8: aeda 4829 macl %a1,%d4,>>,%a2@\+&,%sp
+ 31cc: a2ae 4809 000a macl %a1,%d4,%fp@\(10\),%d1
+ 31d2: a6ee 4809 000a macl %a1,%d4,%fp@\(10\),%a3
+ 31d8: a4ae 4809 000a macl %a1,%d4,%fp@\(10\),%d2
+ 31de: aeee 4809 000a macl %a1,%d4,%fp@\(10\),%sp
+ 31e4: a2ae 4829 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1
+ 31ea: a6ee 4829 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3
+ 31f0: a4ae 4829 000a macl %a1,%d4,,%fp@\(10\)&,%d2
+ 31f6: aeee 4829 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp
+ 31fc: a2a1 4809 macl %a1,%d4,%a1@-,%d1
+ 3200: a6e1 4809 macl %a1,%d4,%a1@-,%a3
+ 3204: a4a1 4809 macl %a1,%d4,%a1@-,%d2
+ 3208: aee1 4809 macl %a1,%d4,%a1@-,%sp
+ 320c: a2a1 4829 macl %a1,%d4,<<,%a1@-&,%d1
+ 3210: a6e1 4829 macl %a1,%d4,>>,%a1@-&,%a3
+ 3214: a4a1 4829 macl %a1,%d4,,%a1@-&,%d2
+ 3218: aee1 4829 macl %a1,%d4,>>,%a1@-&,%sp
+ 321c: a293 4a09 macl %a1,%d4,<<,%a3@,%d1
+ 3220: a6d3 4a09 macl %a1,%d4,>>,%a3@,%a3
+ 3224: a493 4a09 macl %a1,%d4,,%a3@,%d2
+ 3228: aed3 4a09 macl %a1,%d4,>>,%a3@,%sp
+ 322c: a293 4a29 macl %a1,%d4,<<,%a3@&,%d1
+ 3230: a6d3 4a29 macl %a1,%d4,>>,%a3@&,%a3
+ 3234: a493 4a29 macl %a1,%d4,,%a3@&,%d2
+ 3238: aed3 4a29 macl %a1,%d4,>>,%a3@&,%sp
+ 323c: a29a 4a09 macl %a1,%d4,<<,%a2@\+,%d1
+ 3240: a6da 4a09 macl %a1,%d4,>>,%a2@\+,%a3
+ 3244: a49a 4a09 macl %a1,%d4,,%a2@\+,%d2
+ 3248: aeda 4a09 macl %a1,%d4,>>,%a2@\+,%sp
+ 324c: a29a 4a29 macl %a1,%d4,<<,%a2@\+&,%d1
+ 3250: a6da 4a29 macl %a1,%d4,>>,%a2@\+&,%a3
+ 3254: a49a 4a29 macl %a1,%d4,,%a2@\+&,%d2
+ 3258: aeda 4a29 macl %a1,%d4,>>,%a2@\+&,%sp
+ 325c: a2ae 4a09 000a macl %a1,%d4,<<,%fp@\(10\),%d1
+ 3262: a6ee 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%a3
+ 3268: a4ae 4a09 000a macl %a1,%d4,,%fp@\(10\),%d2
+ 326e: aeee 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%sp
+ 3274: a2ae 4a29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1
+ 327a: a6ee 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3
+ 3280: a4ae 4a29 000a macl %a1,%d4,,%fp@\(10\)&,%d2
+ 3286: aeee 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp
+ 328c: a2a1 4a09 macl %a1,%d4,<<,%a1@-,%d1
+ 3290: a6e1 4a09 macl %a1,%d4,>>,%a1@-,%a3
+ 3294: a4a1 4a09 macl %a1,%d4,,%a1@-,%d2
+ 3298: aee1 4a09 macl %a1,%d4,>>,%a1@-,%sp
+ 329c: a2a1 4a29 macl %a1,%d4,<<,%a1@-&,%d1
+ 32a0: a6e1 4a29 macl %a1,%d4,>>,%a1@-&,%a3
+ 32a4: a4a1 4a29 macl %a1,%d4,,%a1@-&,%d2
+ 32a8: aee1 4a29 macl %a1,%d4,>>,%a1@-&,%sp
+ 32ac: a293 4e09 macl %a1,%d4,<<,%a3@,%d1
+ 32b0: a6d3 4e09 macl %a1,%d4,>>,%a3@,%a3
+ 32b4: a493 4e09 macl %a1,%d4,,%a3@,%d2
+ 32b8: aed3 4e09 macl %a1,%d4,>>,%a3@,%sp
+ 32bc: a293 4e29 macl %a1,%d4,<<,%a3@&,%d1
+ 32c0: a6d3 4e29 macl %a1,%d4,>>,%a3@&,%a3
+ 32c4: a493 4e29 macl %a1,%d4,,%a3@&,%d2
+ 32c8: aed3 4e29 macl %a1,%d4,>>,%a3@&,%sp
+ 32cc: a29a 4e09 macl %a1,%d4,<<,%a2@\+,%d1
+ 32d0: a6da 4e09 macl %a1,%d4,>>,%a2@\+,%a3
+ 32d4: a49a 4e09 macl %a1,%d4,,%a2@\+,%d2
+ 32d8: aeda 4e09 macl %a1,%d4,>>,%a2@\+,%sp
+ 32dc: a29a 4e29 macl %a1,%d4,<<,%a2@\+&,%d1
+ 32e0: a6da 4e29 macl %a1,%d4,>>,%a2@\+&,%a3
+ 32e4: a49a 4e29 macl %a1,%d4,,%a2@\+&,%d2
+ 32e8: aeda 4e29 macl %a1,%d4,>>,%a2@\+&,%sp
+ 32ec: a2ae 4e09 000a macl %a1,%d4,<<,%fp@\(10\),%d1
+ 32f2: a6ee 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%a3
+ 32f8: a4ae 4e09 000a macl %a1,%d4,,%fp@\(10\),%d2
+ 32fe: aeee 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%sp
+ 3304: a2ae 4e29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1
+ 330a: a6ee 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3
+ 3310: a4ae 4e29 000a macl %a1,%d4,,%fp@\(10\)&,%d2
+ 3316: aeee 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp
+ 331c: a2a1 4e09 macl %a1,%d4,<<,%a1@-,%d1
+ 3320: a6e1 4e09 macl %a1,%d4,>>,%a1@-,%a3
+ 3324: a4a1 4e09 macl %a1,%d4,,%a1@-,%d2
+ 3328: aee1 4e09 macl %a1,%d4,>>,%a1@-,%sp
+ 332c: a2a1 4e29 macl %a1,%d4,<<,%a1@-&,%d1
+ 3330: a6e1 4e29 macl %a1,%d4,>>,%a1@-&,%a3
+ 3334: a4a1 4e29 macl %a1,%d4,,%a1@-&,%d2
+ 3338: aee1 4e29 macl %a1,%d4,>>,%a1@-&,%sp
+ 333c: a293 4a09 macl %a1,%d4,<<,%a3@,%d1
+ 3340: a6d3 4a09 macl %a1,%d4,>>,%a3@,%a3
+ 3344: a493 4a09 macl %a1,%d4,,%a3@,%d2
+ 3348: aed3 4a09 macl %a1,%d4,>>,%a3@,%sp
+ 334c: a293 4a29 macl %a1,%d4,<<,%a3@&,%d1
+ 3350: a6d3 4a29 macl %a1,%d4,>>,%a3@&,%a3
+ 3354: a493 4a29 macl %a1,%d4,,%a3@&,%d2
+ 3358: aed3 4a29 macl %a1,%d4,>>,%a3@&,%sp
+ 335c: a29a 4a09 macl %a1,%d4,<<,%a2@\+,%d1
+ 3360: a6da 4a09 macl %a1,%d4,>>,%a2@\+,%a3
+ 3364: a49a 4a09 macl %a1,%d4,,%a2@\+,%d2
+ 3368: aeda 4a09 macl %a1,%d4,>>,%a2@\+,%sp
+ 336c: a29a 4a29 macl %a1,%d4,<<,%a2@\+&,%d1
+ 3370: a6da 4a29 macl %a1,%d4,>>,%a2@\+&,%a3
+ 3374: a49a 4a29 macl %a1,%d4,,%a2@\+&,%d2
+ 3378: aeda 4a29 macl %a1,%d4,>>,%a2@\+&,%sp
+ 337c: a2ae 4a09 000a macl %a1,%d4,<<,%fp@\(10\),%d1
+ 3382: a6ee 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%a3
+ 3388: a4ae 4a09 000a macl %a1,%d4,,%fp@\(10\),%d2
+ 338e: aeee 4a09 000a macl %a1,%d4,>>,%fp@\(10\),%sp
+ 3394: a2ae 4a29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1
+ 339a: a6ee 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3
+ 33a0: a4ae 4a29 000a macl %a1,%d4,,%fp@\(10\)&,%d2
+ 33a6: aeee 4a29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp
+ 33ac: a2a1 4a09 macl %a1,%d4,<<,%a1@-,%d1
+ 33b0: a6e1 4a09 macl %a1,%d4,>>,%a1@-,%a3
+ 33b4: a4a1 4a09 macl %a1,%d4,,%a1@-,%d2
+ 33b8: aee1 4a09 macl %a1,%d4,>>,%a1@-,%sp
+ 33bc: a2a1 4a29 macl %a1,%d4,<<,%a1@-&,%d1
+ 33c0: a6e1 4a29 macl %a1,%d4,>>,%a1@-&,%a3
+ 33c4: a4a1 4a29 macl %a1,%d4,,%a1@-&,%d2
+ 33c8: aee1 4a29 macl %a1,%d4,>>,%a1@-&,%sp
+ 33cc: a293 4e09 macl %a1,%d4,<<,%a3@,%d1
+ 33d0: a6d3 4e09 macl %a1,%d4,>>,%a3@,%a3
+ 33d4: a493 4e09 macl %a1,%d4,,%a3@,%d2
+ 33d8: aed3 4e09 macl %a1,%d4,>>,%a3@,%sp
+ 33dc: a293 4e29 macl %a1,%d4,<<,%a3@&,%d1
+ 33e0: a6d3 4e29 macl %a1,%d4,>>,%a3@&,%a3
+ 33e4: a493 4e29 macl %a1,%d4,,%a3@&,%d2
+ 33e8: aed3 4e29 macl %a1,%d4,>>,%a3@&,%sp
+ 33ec: a29a 4e09 macl %a1,%d4,<<,%a2@\+,%d1
+ 33f0: a6da 4e09 macl %a1,%d4,>>,%a2@\+,%a3
+ 33f4: a49a 4e09 macl %a1,%d4,,%a2@\+,%d2
+ 33f8: aeda 4e09 macl %a1,%d4,>>,%a2@\+,%sp
+ 33fc: a29a 4e29 macl %a1,%d4,<<,%a2@\+&,%d1
+ 3400: a6da 4e29 macl %a1,%d4,>>,%a2@\+&,%a3
+ 3404: a49a 4e29 macl %a1,%d4,,%a2@\+&,%d2
+ 3408: aeda 4e29 macl %a1,%d4,>>,%a2@\+&,%sp
+ 340c: a2ae 4e09 000a macl %a1,%d4,<<,%fp@\(10\),%d1
+ 3412: a6ee 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%a3
+ 3418: a4ae 4e09 000a macl %a1,%d4,,%fp@\(10\),%d2
+ 341e: aeee 4e09 000a macl %a1,%d4,>>,%fp@\(10\),%sp
+ 3424: a2ae 4e29 000a macl %a1,%d4,<<,%fp@\(10\)&,%d1
+ 342a: a6ee 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%a3
+ 3430: a4ae 4e29 000a macl %a1,%d4,,%fp@\(10\)&,%d2
+ 3436: aeee 4e29 000a macl %a1,%d4,>>,%fp@\(10\)&,%sp
+ 343c: a2a1 4e09 macl %a1,%d4,<<,%a1@-,%d1
+ 3440: a6e1 4e09 macl %a1,%d4,>>,%a1@-,%a3
+ 3444: a4a1 4e09 macl %a1,%d4,,%a1@-,%d2
+ 3448: aee1 4e09 macl %a1,%d4,>>,%a1@-,%sp
+ 344c: a2a1 4e29 macl %a1,%d4,<<,%a1@-&,%d1
+ 3450: a6e1 4e29 macl %a1,%d4,>>,%a1@-&,%a3
+ 3454: a4a1 4e29 macl %a1,%d4,,%a1@-&,%d2
+ 3458: aee1 4e29 macl %a1,%d4,>>,%a1@-&,%sp
+ 345c: a293 b806 macl %d6,%a3,%a3@,%d1
+ 3460: a6d3 b806 macl %d6,%a3,%a3@,%a3
+ 3464: a493 b806 macl %d6,%a3,%a3@,%d2
+ 3468: aed3 b806 macl %d6,%a3,%a3@,%sp
+ 346c: a293 b826 macl %d6,%a3,<<,%a3@&,%d1
+ 3470: a6d3 b826 macl %d6,%a3,>>,%a3@&,%a3
+ 3474: a493 b826 macl %d6,%a3,,%a3@&,%d2
+ 3478: aed3 b826 macl %d6,%a3,>>,%a3@&,%sp
+ 347c: a29a b806 macl %d6,%a3,%a2@\+,%d1
+ 3480: a6da b806 macl %d6,%a3,%a2@\+,%a3
+ 3484: a49a b806 macl %d6,%a3,%a2@\+,%d2
+ 3488: aeda b806 macl %d6,%a3,%a2@\+,%sp
+ 348c: a29a b826 macl %d6,%a3,<<,%a2@\+&,%d1
+ 3490: a6da b826 macl %d6,%a3,>>,%a2@\+&,%a3
+ 3494: a49a b826 macl %d6,%a3,,%a2@\+&,%d2
+ 3498: aeda b826 macl %d6,%a3,>>,%a2@\+&,%sp
+ 349c: a2ae b806 000a macl %d6,%a3,%fp@\(10\),%d1
+ 34a2: a6ee b806 000a macl %d6,%a3,%fp@\(10\),%a3
+ 34a8: a4ae b806 000a macl %d6,%a3,%fp@\(10\),%d2
+ 34ae: aeee b806 000a macl %d6,%a3,%fp@\(10\),%sp
+ 34b4: a2ae b826 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1
+ 34ba: a6ee b826 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3
+ 34c0: a4ae b826 000a macl %d6,%a3,,%fp@\(10\)&,%d2
+ 34c6: aeee b826 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp
+ 34cc: a2a1 b806 macl %d6,%a3,%a1@-,%d1
+ 34d0: a6e1 b806 macl %d6,%a3,%a1@-,%a3
+ 34d4: a4a1 b806 macl %d6,%a3,%a1@-,%d2
+ 34d8: aee1 b806 macl %d6,%a3,%a1@-,%sp
+ 34dc: a2a1 b826 macl %d6,%a3,<<,%a1@-&,%d1
+ 34e0: a6e1 b826 macl %d6,%a3,>>,%a1@-&,%a3
+ 34e4: a4a1 b826 macl %d6,%a3,,%a1@-&,%d2
+ 34e8: aee1 b826 macl %d6,%a3,>>,%a1@-&,%sp
+ 34ec: a293 ba06 macl %d6,%a3,<<,%a3@,%d1
+ 34f0: a6d3 ba06 macl %d6,%a3,>>,%a3@,%a3
+ 34f4: a493 ba06 macl %d6,%a3,,%a3@,%d2
+ 34f8: aed3 ba06 macl %d6,%a3,>>,%a3@,%sp
+ 34fc: a293 ba26 macl %d6,%a3,<<,%a3@&,%d1
+ 3500: a6d3 ba26 macl %d6,%a3,>>,%a3@&,%a3
+ 3504: a493 ba26 macl %d6,%a3,,%a3@&,%d2
+ 3508: aed3 ba26 macl %d6,%a3,>>,%a3@&,%sp
+ 350c: a29a ba06 macl %d6,%a3,<<,%a2@\+,%d1
+ 3510: a6da ba06 macl %d6,%a3,>>,%a2@\+,%a3
+ 3514: a49a ba06 macl %d6,%a3,,%a2@\+,%d2
+ 3518: aeda ba06 macl %d6,%a3,>>,%a2@\+,%sp
+ 351c: a29a ba26 macl %d6,%a3,<<,%a2@\+&,%d1
+ 3520: a6da ba26 macl %d6,%a3,>>,%a2@\+&,%a3
+ 3524: a49a ba26 macl %d6,%a3,,%a2@\+&,%d2
+ 3528: aeda ba26 macl %d6,%a3,>>,%a2@\+&,%sp
+ 352c: a2ae ba06 000a macl %d6,%a3,<<,%fp@\(10\),%d1
+ 3532: a6ee ba06 000a macl %d6,%a3,>>,%fp@\(10\),%a3
+ 3538: a4ae ba06 000a macl %d6,%a3,,%fp@\(10\),%d2
+ 353e: aeee ba06 000a macl %d6,%a3,>>,%fp@\(10\),%sp
+ 3544: a2ae ba26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1
+ 354a: a6ee ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3
+ 3550: a4ae ba26 000a macl %d6,%a3,,%fp@\(10\)&,%d2
+ 3556: aeee ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp
+ 355c: a2a1 ba06 macl %d6,%a3,<<,%a1@-,%d1
+ 3560: a6e1 ba06 macl %d6,%a3,>>,%a1@-,%a3
+ 3564: a4a1 ba06 macl %d6,%a3,,%a1@-,%d2
+ 3568: aee1 ba06 macl %d6,%a3,>>,%a1@-,%sp
+ 356c: a2a1 ba26 macl %d6,%a3,<<,%a1@-&,%d1
+ 3570: a6e1 ba26 macl %d6,%a3,>>,%a1@-&,%a3
+ 3574: a4a1 ba26 macl %d6,%a3,,%a1@-&,%d2
+ 3578: aee1 ba26 macl %d6,%a3,>>,%a1@-&,%sp
+ 357c: a293 be06 macl %d6,%a3,<<,%a3@,%d1
+ 3580: a6d3 be06 macl %d6,%a3,>>,%a3@,%a3
+ 3584: a493 be06 macl %d6,%a3,,%a3@,%d2
+ 3588: aed3 be06 macl %d6,%a3,>>,%a3@,%sp
+ 358c: a293 be26 macl %d6,%a3,<<,%a3@&,%d1
+ 3590: a6d3 be26 macl %d6,%a3,>>,%a3@&,%a3
+ 3594: a493 be26 macl %d6,%a3,,%a3@&,%d2
+ 3598: aed3 be26 macl %d6,%a3,>>,%a3@&,%sp
+ 359c: a29a be06 macl %d6,%a3,<<,%a2@\+,%d1
+ 35a0: a6da be06 macl %d6,%a3,>>,%a2@\+,%a3
+ 35a4: a49a be06 macl %d6,%a3,,%a2@\+,%d2
+ 35a8: aeda be06 macl %d6,%a3,>>,%a2@\+,%sp
+ 35ac: a29a be26 macl %d6,%a3,<<,%a2@\+&,%d1
+ 35b0: a6da be26 macl %d6,%a3,>>,%a2@\+&,%a3
+ 35b4: a49a be26 macl %d6,%a3,,%a2@\+&,%d2
+ 35b8: aeda be26 macl %d6,%a3,>>,%a2@\+&,%sp
+ 35bc: a2ae be06 000a macl %d6,%a3,<<,%fp@\(10\),%d1
+ 35c2: a6ee be06 000a macl %d6,%a3,>>,%fp@\(10\),%a3
+ 35c8: a4ae be06 000a macl %d6,%a3,,%fp@\(10\),%d2
+ 35ce: aeee be06 000a macl %d6,%a3,>>,%fp@\(10\),%sp
+ 35d4: a2ae be26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1
+ 35da: a6ee be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3
+ 35e0: a4ae be26 000a macl %d6,%a3,,%fp@\(10\)&,%d2
+ 35e6: aeee be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp
+ 35ec: a2a1 be06 macl %d6,%a3,<<,%a1@-,%d1
+ 35f0: a6e1 be06 macl %d6,%a3,>>,%a1@-,%a3
+ 35f4: a4a1 be06 macl %d6,%a3,,%a1@-,%d2
+ 35f8: aee1 be06 macl %d6,%a3,>>,%a1@-,%sp
+ 35fc: a2a1 be26 macl %d6,%a3,<<,%a1@-&,%d1
+ 3600: a6e1 be26 macl %d6,%a3,>>,%a1@-&,%a3
+ 3604: a4a1 be26 macl %d6,%a3,,%a1@-&,%d2
+ 3608: aee1 be26 macl %d6,%a3,>>,%a1@-&,%sp
+ 360c: a293 ba06 macl %d6,%a3,<<,%a3@,%d1
+ 3610: a6d3 ba06 macl %d6,%a3,>>,%a3@,%a3
+ 3614: a493 ba06 macl %d6,%a3,,%a3@,%d2
+ 3618: aed3 ba06 macl %d6,%a3,>>,%a3@,%sp
+ 361c: a293 ba26 macl %d6,%a3,<<,%a3@&,%d1
+ 3620: a6d3 ba26 macl %d6,%a3,>>,%a3@&,%a3
+ 3624: a493 ba26 macl %d6,%a3,,%a3@&,%d2
+ 3628: aed3 ba26 macl %d6,%a3,>>,%a3@&,%sp
+ 362c: a29a ba06 macl %d6,%a3,<<,%a2@\+,%d1
+ 3630: a6da ba06 macl %d6,%a3,>>,%a2@\+,%a3
+ 3634: a49a ba06 macl %d6,%a3,,%a2@\+,%d2
+ 3638: aeda ba06 macl %d6,%a3,>>,%a2@\+,%sp
+ 363c: a29a ba26 macl %d6,%a3,<<,%a2@\+&,%d1
+ 3640: a6da ba26 macl %d6,%a3,>>,%a2@\+&,%a3
+ 3644: a49a ba26 macl %d6,%a3,,%a2@\+&,%d2
+ 3648: aeda ba26 macl %d6,%a3,>>,%a2@\+&,%sp
+ 364c: a2ae ba06 000a macl %d6,%a3,<<,%fp@\(10\),%d1
+ 3652: a6ee ba06 000a macl %d6,%a3,>>,%fp@\(10\),%a3
+ 3658: a4ae ba06 000a macl %d6,%a3,,%fp@\(10\),%d2
+ 365e: aeee ba06 000a macl %d6,%a3,>>,%fp@\(10\),%sp
+ 3664: a2ae ba26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1
+ 366a: a6ee ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3
+ 3670: a4ae ba26 000a macl %d6,%a3,,%fp@\(10\)&,%d2
+ 3676: aeee ba26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp
+ 367c: a2a1 ba06 macl %d6,%a3,<<,%a1@-,%d1
+ 3680: a6e1 ba06 macl %d6,%a3,>>,%a1@-,%a3
+ 3684: a4a1 ba06 macl %d6,%a3,,%a1@-,%d2
+ 3688: aee1 ba06 macl %d6,%a3,>>,%a1@-,%sp
+ 368c: a2a1 ba26 macl %d6,%a3,<<,%a1@-&,%d1
+ 3690: a6e1 ba26 macl %d6,%a3,>>,%a1@-&,%a3
+ 3694: a4a1 ba26 macl %d6,%a3,,%a1@-&,%d2
+ 3698: aee1 ba26 macl %d6,%a3,>>,%a1@-&,%sp
+ 369c: a293 be06 macl %d6,%a3,<<,%a3@,%d1
+ 36a0: a6d3 be06 macl %d6,%a3,>>,%a3@,%a3
+ 36a4: a493 be06 macl %d6,%a3,,%a3@,%d2
+ 36a8: aed3 be06 macl %d6,%a3,>>,%a3@,%sp
+ 36ac: a293 be26 macl %d6,%a3,<<,%a3@&,%d1
+ 36b0: a6d3 be26 macl %d6,%a3,>>,%a3@&,%a3
+ 36b4: a493 be26 macl %d6,%a3,,%a3@&,%d2
+ 36b8: aed3 be26 macl %d6,%a3,>>,%a3@&,%sp
+ 36bc: a29a be06 macl %d6,%a3,<<,%a2@\+,%d1
+ 36c0: a6da be06 macl %d6,%a3,>>,%a2@\+,%a3
+ 36c4: a49a be06 macl %d6,%a3,,%a2@\+,%d2
+ 36c8: aeda be06 macl %d6,%a3,>>,%a2@\+,%sp
+ 36cc: a29a be26 macl %d6,%a3,<<,%a2@\+&,%d1
+ 36d0: a6da be26 macl %d6,%a3,>>,%a2@\+&,%a3
+ 36d4: a49a be26 macl %d6,%a3,,%a2@\+&,%d2
+ 36d8: aeda be26 macl %d6,%a3,>>,%a2@\+&,%sp
+ 36dc: a2ae be06 000a macl %d6,%a3,<<,%fp@\(10\),%d1
+ 36e2: a6ee be06 000a macl %d6,%a3,>>,%fp@\(10\),%a3
+ 36e8: a4ae be06 000a macl %d6,%a3,,%fp@\(10\),%d2
+ 36ee: aeee be06 000a macl %d6,%a3,>>,%fp@\(10\),%sp
+ 36f4: a2ae be26 000a macl %d6,%a3,<<,%fp@\(10\)&,%d1
+ 36fa: a6ee be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%a3
+ 3700: a4ae be26 000a macl %d6,%a3,,%fp@\(10\)&,%d2
+ 3706: aeee be26 000a macl %d6,%a3,>>,%fp@\(10\)&,%sp
+ 370c: a2a1 be06 macl %d6,%a3,<<,%a1@-,%d1
+ 3710: a6e1 be06 macl %d6,%a3,>>,%a1@-,%a3
+ 3714: a4a1 be06 macl %d6,%a3,,%a1@-,%d2
+ 3718: aee1 be06 macl %d6,%a3,>>,%a1@-,%sp
+ 371c: a2a1 be26 macl %d6,%a3,<<,%a1@-&,%d1
+ 3720: a6e1 be26 macl %d6,%a3,>>,%a1@-&,%a3
+ 3724: a4a1 be26 macl %d6,%a3,,%a1@-&,%d2
+ 3728: aee1 be26 macl %d6,%a3,>>,%a1@-&,%sp
+ 372c: a293 4806 macl %d6,%d4,%a3@,%d1
+ 3730: a6d3 4806 macl %d6,%d4,%a3@,%a3
+ 3734: a493 4806 macl %d6,%d4,%a3@,%d2
+ 3738: aed3 4806 macl %d6,%d4,%a3@,%sp
+ 373c: a293 4826 macl %d6,%d4,<<,%a3@&,%d1
+ 3740: a6d3 4826 macl %d6,%d4,>>,%a3@&,%a3
+ 3744: a493 4826 macl %d6,%d4,,%a3@&,%d2
+ 3748: aed3 4826 macl %d6,%d4,>>,%a3@&,%sp
+ 374c: a29a 4806 macl %d6,%d4,%a2@\+,%d1
+ 3750: a6da 4806 macl %d6,%d4,%a2@\+,%a3
+ 3754: a49a 4806 macl %d6,%d4,%a2@\+,%d2
+ 3758: aeda 4806 macl %d6,%d4,%a2@\+,%sp
+ 375c: a29a 4826 macl %d6,%d4,<<,%a2@\+&,%d1
+ 3760: a6da 4826 macl %d6,%d4,>>,%a2@\+&,%a3
+ 3764: a49a 4826 macl %d6,%d4,,%a2@\+&,%d2
+ 3768: aeda 4826 macl %d6,%d4,>>,%a2@\+&,%sp
+ 376c: a2ae 4806 000a macl %d6,%d4,%fp@\(10\),%d1
+ 3772: a6ee 4806 000a macl %d6,%d4,%fp@\(10\),%a3
+ 3778: a4ae 4806 000a macl %d6,%d4,%fp@\(10\),%d2
+ 377e: aeee 4806 000a macl %d6,%d4,%fp@\(10\),%sp
+ 3784: a2ae 4826 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1
+ 378a: a6ee 4826 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3
+ 3790: a4ae 4826 000a macl %d6,%d4,,%fp@\(10\)&,%d2
+ 3796: aeee 4826 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp
+ 379c: a2a1 4806 macl %d6,%d4,%a1@-,%d1
+ 37a0: a6e1 4806 macl %d6,%d4,%a1@-,%a3
+ 37a4: a4a1 4806 macl %d6,%d4,%a1@-,%d2
+ 37a8: aee1 4806 macl %d6,%d4,%a1@-,%sp
+ 37ac: a2a1 4826 macl %d6,%d4,<<,%a1@-&,%d1
+ 37b0: a6e1 4826 macl %d6,%d4,>>,%a1@-&,%a3
+ 37b4: a4a1 4826 macl %d6,%d4,,%a1@-&,%d2
+ 37b8: aee1 4826 macl %d6,%d4,>>,%a1@-&,%sp
+ 37bc: a293 4a06 macl %d6,%d4,<<,%a3@,%d1
+ 37c0: a6d3 4a06 macl %d6,%d4,>>,%a3@,%a3
+ 37c4: a493 4a06 macl %d6,%d4,,%a3@,%d2
+ 37c8: aed3 4a06 macl %d6,%d4,>>,%a3@,%sp
+ 37cc: a293 4a26 macl %d6,%d4,<<,%a3@&,%d1
+ 37d0: a6d3 4a26 macl %d6,%d4,>>,%a3@&,%a3
+ 37d4: a493 4a26 macl %d6,%d4,,%a3@&,%d2
+ 37d8: aed3 4a26 macl %d6,%d4,>>,%a3@&,%sp
+ 37dc: a29a 4a06 macl %d6,%d4,<<,%a2@\+,%d1
+ 37e0: a6da 4a06 macl %d6,%d4,>>,%a2@\+,%a3
+ 37e4: a49a 4a06 macl %d6,%d4,,%a2@\+,%d2
+ 37e8: aeda 4a06 macl %d6,%d4,>>,%a2@\+,%sp
+ 37ec: a29a 4a26 macl %d6,%d4,<<,%a2@\+&,%d1
+ 37f0: a6da 4a26 macl %d6,%d4,>>,%a2@\+&,%a3
+ 37f4: a49a 4a26 macl %d6,%d4,,%a2@\+&,%d2
+ 37f8: aeda 4a26 macl %d6,%d4,>>,%a2@\+&,%sp
+ 37fc: a2ae 4a06 000a macl %d6,%d4,<<,%fp@\(10\),%d1
+ 3802: a6ee 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%a3
+ 3808: a4ae 4a06 000a macl %d6,%d4,,%fp@\(10\),%d2
+ 380e: aeee 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%sp
+ 3814: a2ae 4a26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1
+ 381a: a6ee 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3
+ 3820: a4ae 4a26 000a macl %d6,%d4,,%fp@\(10\)&,%d2
+ 3826: aeee 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp
+ 382c: a2a1 4a06 macl %d6,%d4,<<,%a1@-,%d1
+ 3830: a6e1 4a06 macl %d6,%d4,>>,%a1@-,%a3
+ 3834: a4a1 4a06 macl %d6,%d4,,%a1@-,%d2
+ 3838: aee1 4a06 macl %d6,%d4,>>,%a1@-,%sp
+ 383c: a2a1 4a26 macl %d6,%d4,<<,%a1@-&,%d1
+ 3840: a6e1 4a26 macl %d6,%d4,>>,%a1@-&,%a3
+ 3844: a4a1 4a26 macl %d6,%d4,,%a1@-&,%d2
+ 3848: aee1 4a26 macl %d6,%d4,>>,%a1@-&,%sp
+ 384c: a293 4e06 macl %d6,%d4,<<,%a3@,%d1
+ 3850: a6d3 4e06 macl %d6,%d4,>>,%a3@,%a3
+ 3854: a493 4e06 macl %d6,%d4,,%a3@,%d2
+ 3858: aed3 4e06 macl %d6,%d4,>>,%a3@,%sp
+ 385c: a293 4e26 macl %d6,%d4,<<,%a3@&,%d1
+ 3860: a6d3 4e26 macl %d6,%d4,>>,%a3@&,%a3
+ 3864: a493 4e26 macl %d6,%d4,,%a3@&,%d2
+ 3868: aed3 4e26 macl %d6,%d4,>>,%a3@&,%sp
+ 386c: a29a 4e06 macl %d6,%d4,<<,%a2@\+,%d1
+ 3870: a6da 4e06 macl %d6,%d4,>>,%a2@\+,%a3
+ 3874: a49a 4e06 macl %d6,%d4,,%a2@\+,%d2
+ 3878: aeda 4e06 macl %d6,%d4,>>,%a2@\+,%sp
+ 387c: a29a 4e26 macl %d6,%d4,<<,%a2@\+&,%d1
+ 3880: a6da 4e26 macl %d6,%d4,>>,%a2@\+&,%a3
+ 3884: a49a 4e26 macl %d6,%d4,,%a2@\+&,%d2
+ 3888: aeda 4e26 macl %d6,%d4,>>,%a2@\+&,%sp
+ 388c: a2ae 4e06 000a macl %d6,%d4,<<,%fp@\(10\),%d1
+ 3892: a6ee 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%a3
+ 3898: a4ae 4e06 000a macl %d6,%d4,,%fp@\(10\),%d2
+ 389e: aeee 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%sp
+ 38a4: a2ae 4e26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1
+ 38aa: a6ee 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3
+ 38b0: a4ae 4e26 000a macl %d6,%d4,,%fp@\(10\)&,%d2
+ 38b6: aeee 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp
+ 38bc: a2a1 4e06 macl %d6,%d4,<<,%a1@-,%d1
+ 38c0: a6e1 4e06 macl %d6,%d4,>>,%a1@-,%a3
+ 38c4: a4a1 4e06 macl %d6,%d4,,%a1@-,%d2
+ 38c8: aee1 4e06 macl %d6,%d4,>>,%a1@-,%sp
+ 38cc: a2a1 4e26 macl %d6,%d4,<<,%a1@-&,%d1
+ 38d0: a6e1 4e26 macl %d6,%d4,>>,%a1@-&,%a3
+ 38d4: a4a1 4e26 macl %d6,%d4,,%a1@-&,%d2
+ 38d8: aee1 4e26 macl %d6,%d4,>>,%a1@-&,%sp
+ 38dc: a293 4a06 macl %d6,%d4,<<,%a3@,%d1
+ 38e0: a6d3 4a06 macl %d6,%d4,>>,%a3@,%a3
+ 38e4: a493 4a06 macl %d6,%d4,,%a3@,%d2
+ 38e8: aed3 4a06 macl %d6,%d4,>>,%a3@,%sp
+ 38ec: a293 4a26 macl %d6,%d4,<<,%a3@&,%d1
+ 38f0: a6d3 4a26 macl %d6,%d4,>>,%a3@&,%a3
+ 38f4: a493 4a26 macl %d6,%d4,,%a3@&,%d2
+ 38f8: aed3 4a26 macl %d6,%d4,>>,%a3@&,%sp
+ 38fc: a29a 4a06 macl %d6,%d4,<<,%a2@\+,%d1
+ 3900: a6da 4a06 macl %d6,%d4,>>,%a2@\+,%a3
+ 3904: a49a 4a06 macl %d6,%d4,,%a2@\+,%d2
+ 3908: aeda 4a06 macl %d6,%d4,>>,%a2@\+,%sp
+ 390c: a29a 4a26 macl %d6,%d4,<<,%a2@\+&,%d1
+ 3910: a6da 4a26 macl %d6,%d4,>>,%a2@\+&,%a3
+ 3914: a49a 4a26 macl %d6,%d4,,%a2@\+&,%d2
+ 3918: aeda 4a26 macl %d6,%d4,>>,%a2@\+&,%sp
+ 391c: a2ae 4a06 000a macl %d6,%d4,<<,%fp@\(10\),%d1
+ 3922: a6ee 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%a3
+ 3928: a4ae 4a06 000a macl %d6,%d4,,%fp@\(10\),%d2
+ 392e: aeee 4a06 000a macl %d6,%d4,>>,%fp@\(10\),%sp
+ 3934: a2ae 4a26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1
+ 393a: a6ee 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3
+ 3940: a4ae 4a26 000a macl %d6,%d4,,%fp@\(10\)&,%d2
+ 3946: aeee 4a26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp
+ 394c: a2a1 4a06 macl %d6,%d4,<<,%a1@-,%d1
+ 3950: a6e1 4a06 macl %d6,%d4,>>,%a1@-,%a3
+ 3954: a4a1 4a06 macl %d6,%d4,,%a1@-,%d2
+ 3958: aee1 4a06 macl %d6,%d4,>>,%a1@-,%sp
+ 395c: a2a1 4a26 macl %d6,%d4,<<,%a1@-&,%d1
+ 3960: a6e1 4a26 macl %d6,%d4,>>,%a1@-&,%a3
+ 3964: a4a1 4a26 macl %d6,%d4,,%a1@-&,%d2
+ 3968: aee1 4a26 macl %d6,%d4,>>,%a1@-&,%sp
+ 396c: a293 4e06 macl %d6,%d4,<<,%a3@,%d1
+ 3970: a6d3 4e06 macl %d6,%d4,>>,%a3@,%a3
+ 3974: a493 4e06 macl %d6,%d4,,%a3@,%d2
+ 3978: aed3 4e06 macl %d6,%d4,>>,%a3@,%sp
+ 397c: a293 4e26 macl %d6,%d4,<<,%a3@&,%d1
+ 3980: a6d3 4e26 macl %d6,%d4,>>,%a3@&,%a3
+ 3984: a493 4e26 macl %d6,%d4,,%a3@&,%d2
+ 3988: aed3 4e26 macl %d6,%d4,>>,%a3@&,%sp
+ 398c: a29a 4e06 macl %d6,%d4,<<,%a2@\+,%d1
+ 3990: a6da 4e06 macl %d6,%d4,>>,%a2@\+,%a3
+ 3994: a49a 4e06 macl %d6,%d4,,%a2@\+,%d2
+ 3998: aeda 4e06 macl %d6,%d4,>>,%a2@\+,%sp
+ 399c: a29a 4e26 macl %d6,%d4,<<,%a2@\+&,%d1
+ 39a0: a6da 4e26 macl %d6,%d4,>>,%a2@\+&,%a3
+ 39a4: a49a 4e26 macl %d6,%d4,,%a2@\+&,%d2
+ 39a8: aeda 4e26 macl %d6,%d4,>>,%a2@\+&,%sp
+ 39ac: a2ae 4e06 000a macl %d6,%d4,<<,%fp@\(10\),%d1
+ 39b2: a6ee 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%a3
+ 39b8: a4ae 4e06 000a macl %d6,%d4,,%fp@\(10\),%d2
+ 39be: aeee 4e06 000a macl %d6,%d4,>>,%fp@\(10\),%sp
+ 39c4: a2ae 4e26 000a macl %d6,%d4,<<,%fp@\(10\)&,%d1
+ 39ca: a6ee 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%a3
+ 39d0: a4ae 4e26 000a macl %d6,%d4,,%fp@\(10\)&,%d2
+ 39d6: aeee 4e26 000a macl %d6,%d4,>>,%fp@\(10\)&,%sp
+ 39dc: a2a1 4e06 macl %d6,%d4,<<,%a1@-,%d1
+ 39e0: a6e1 4e06 macl %d6,%d4,>>,%a1@-,%a3
+ 39e4: a4a1 4e06 macl %d6,%d4,,%a1@-,%d2
+ 39e8: aee1 4e06 macl %d6,%d4,>>,%a1@-,%sp
+ 39ec: a2a1 4e26 macl %d6,%d4,<<,%a1@-&,%d1
+ 39f0: a6e1 4e26 macl %d6,%d4,>>,%a1@-&,%a3
+ 39f4: a4a1 4e26 macl %d6,%d4,,%a1@-&,%d2
+ 39f8: aee1 4e26 macl %d6,%d4,>>,%a1@-&,%sp
diff --git a/gas/testsuite/gas/m68k/mcf-mac.s b/gas/testsuite/gas/m68k/mcf-mac.s
new file mode 100644
index 0000000..5b59a10
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-mac.s
@@ -0,0 +1,3331 @@
+
+ .text
+
+ move.l %acc,%d2
+ move.l %acc,%a1
+
+ move.l %macsr,%a1
+ move.l %macsr,%d2
+
+ move.l %mask,%a1
+ move.l %mask,%d2
+
+ move.l %macsr,%ccr
+
+ move.l #0x12345678,%acc
+ move.l %d1,%acc
+ move.l %a2,%acc
+
+ move.l #0x12345678,%macsr
+ move.l %d1,%macsr
+ move.l %a2,%macsr
+
+ move.l #0x12345678,%mask
+ move.l %d1,%mask
+ move.l %a2,%mask
+
+ | automated from here
+
+ mac.w %a1l,%a2u
+ mac.w %a1l,%a2u,<<
+ mac.w %a1l,%a2u,>>
+ mac.w %a1l,%a2u,#1
+ mac.w %a1l,%a2u,#-1
+ mac.w %a1l,%d3l
+ mac.w %a1l,%d3l,<<
+ mac.w %a1l,%d3l,>>
+ mac.w %a1l,%d3l,#1
+ mac.w %a1l,%d3l,#-1
+ mac.w %a1l,%a7u
+ mac.w %a1l,%a7u,<<
+ mac.w %a1l,%a7u,>>
+ mac.w %a1l,%a7u,#1
+ mac.w %a1l,%a7u,#-1
+ mac.w %a1l,%d1l
+ mac.w %a1l,%d1l,<<
+ mac.w %a1l,%d1l,>>
+ mac.w %a1l,%d1l,#1
+ mac.w %a1l,%d1l,#-1
+ mac.w %d2u,%a2u
+ mac.w %d2u,%a2u,<<
+ mac.w %d2u,%a2u,>>
+ mac.w %d2u,%a2u,#1
+ mac.w %d2u,%a2u,#-1
+ mac.w %d2u,%d3l
+ mac.w %d2u,%d3l,<<
+ mac.w %d2u,%d3l,>>
+ mac.w %d2u,%d3l,#1
+ mac.w %d2u,%d3l,#-1
+ mac.w %d2u,%a7u
+ mac.w %d2u,%a7u,<<
+ mac.w %d2u,%a7u,>>
+ mac.w %d2u,%a7u,#1
+ mac.w %d2u,%a7u,#-1
+ mac.w %d2u,%d1l
+ mac.w %d2u,%d1l,<<
+ mac.w %d2u,%d1l,>>
+ mac.w %d2u,%d1l,#1
+ mac.w %d2u,%d1l,#-1
+ mac.w %a5l,%a2u
+ mac.w %a5l,%a2u,<<
+ mac.w %a5l,%a2u,>>
+ mac.w %a5l,%a2u,#1
+ mac.w %a5l,%a2u,#-1
+ mac.w %a5l,%d3l
+ mac.w %a5l,%d3l,<<
+ mac.w %a5l,%d3l,>>
+ mac.w %a5l,%d3l,#1
+ mac.w %a5l,%d3l,#-1
+ mac.w %a5l,%a7u
+ mac.w %a5l,%a7u,<<
+ mac.w %a5l,%a7u,>>
+ mac.w %a5l,%a7u,#1
+ mac.w %a5l,%a7u,#-1
+ mac.w %a5l,%d1l
+ mac.w %a5l,%d1l,<<
+ mac.w %a5l,%d1l,>>
+ mac.w %a5l,%d1l,#1
+ mac.w %a5l,%d1l,#-1
+ mac.w %d6u,%a2u
+ mac.w %d6u,%a2u,<<
+ mac.w %d6u,%a2u,>>
+ mac.w %d6u,%a2u,#1
+ mac.w %d6u,%a2u,#-1
+ mac.w %d6u,%d3l
+ mac.w %d6u,%d3l,<<
+ mac.w %d6u,%d3l,>>
+ mac.w %d6u,%d3l,#1
+ mac.w %d6u,%d3l,#-1
+ mac.w %d6u,%a7u
+ mac.w %d6u,%a7u,<<
+ mac.w %d6u,%a7u,>>
+ mac.w %d6u,%a7u,#1
+ mac.w %d6u,%a7u,#-1
+ mac.w %d6u,%d1l
+ mac.w %d6u,%d1l,<<
+ mac.w %d6u,%d1l,>>
+ mac.w %d6u,%d1l,#1
+ mac.w %d6u,%d1l,#-1
+
+ mac.w %a1l,%a2u,(%a3),%d1
+ mac.w %a1l,%a2u,(%a3),%a3
+ mac.w %a1l,%a2u,(%a3),%d2
+ mac.w %a1l,%a2u,(%a3),%a7
+ mac.w %a1l,%a2u,(%a3)&,%d1
+ mac.w %a1l,%a2u,(%a3)&,%a3
+ mac.w %a1l,%a2u,(%a3)&,%d2
+ mac.w %a1l,%a2u,(%a3)&,%a7
+ mac.w %a1l,%a2u,(%a2)+,%d1
+ mac.w %a1l,%a2u,(%a2)+,%a3
+ mac.w %a1l,%a2u,(%a2)+,%d2
+ mac.w %a1l,%a2u,(%a2)+,%a7
+ mac.w %a1l,%a2u,(%a2)+&,%d1
+ mac.w %a1l,%a2u,(%a2)+&,%a3
+ mac.w %a1l,%a2u,(%a2)+&,%d2
+ mac.w %a1l,%a2u,(%a2)+&,%a7
+ mac.w %a1l,%a2u,10(%a6),%d1
+ mac.w %a1l,%a2u,10(%a6),%a3
+ mac.w %a1l,%a2u,10(%a6),%d2
+ mac.w %a1l,%a2u,10(%a6),%a7
+ mac.w %a1l,%a2u,10(%a6)&,%d1
+ mac.w %a1l,%a2u,10(%a6)&,%a3
+ mac.w %a1l,%a2u,10(%a6)&,%d2
+ mac.w %a1l,%a2u,10(%a6)&,%a7
+ mac.w %a1l,%a2u,-(%a1),%d1
+ mac.w %a1l,%a2u,-(%a1),%a3
+ mac.w %a1l,%a2u,-(%a1),%d2
+ mac.w %a1l,%a2u,-(%a1),%a7
+ mac.w %a1l,%a2u,-(%a1)&,%d1
+ mac.w %a1l,%a2u,-(%a1)&,%a3
+ mac.w %a1l,%a2u,-(%a1)&,%d2
+ mac.w %a1l,%a2u,-(%a1)&,%a7
+ mac.w %a1l,%a2u,<<,(%a3),%d1
+ mac.w %a1l,%a2u,<<,(%a3),%a3
+ mac.w %a1l,%a2u,<<,(%a3),%d2
+ mac.w %a1l,%a2u,<<,(%a3),%a7
+ mac.w %a1l,%a2u,<<,(%a3)&,%d1
+ mac.w %a1l,%a2u,<<,(%a3)&,%a3
+ mac.w %a1l,%a2u,<<,(%a3)&,%d2
+ mac.w %a1l,%a2u,<<,(%a3)&,%a7
+ mac.w %a1l,%a2u,<<,(%a2)+,%d1
+ mac.w %a1l,%a2u,<<,(%a2)+,%a3
+ mac.w %a1l,%a2u,<<,(%a2)+,%d2
+ mac.w %a1l,%a2u,<<,(%a2)+,%a7
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d1
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a3
+ mac.w %a1l,%a2u,<<,(%a2)+&,%d2
+ mac.w %a1l,%a2u,<<,(%a2)+&,%a7
+ mac.w %a1l,%a2u,<<,10(%a6),%d1
+ mac.w %a1l,%a2u,<<,10(%a6),%a3
+ mac.w %a1l,%a2u,<<,10(%a6),%d2
+ mac.w %a1l,%a2u,<<,10(%a6),%a7
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d1
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a3
+ mac.w %a1l,%a2u,<<,10(%a6)&,%d2
+ mac.w %a1l,%a2u,<<,10(%a6)&,%a7
+ mac.w %a1l,%a2u,<<,-(%a1),%d1
+ mac.w %a1l,%a2u,<<,-(%a1),%a3
+ mac.w %a1l,%a2u,<<,-(%a1),%d2
+ mac.w %a1l,%a2u,<<,-(%a1),%a7
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d1
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a3
+ mac.w %a1l,%a2u,<<,-(%a1)&,%d2
+ mac.w %a1l,%a2u,<<,-(%a1)&,%a7
+ mac.w %a1l,%a2u,>>,(%a3),%d1
+ mac.w %a1l,%a2u,>>,(%a3),%a3
+ mac.w %a1l,%a2u,>>,(%a3),%d2
+ mac.w %a1l,%a2u,>>,(%a3),%a7
+ mac.w %a1l,%a2u,>>,(%a3)&,%d1
+ mac.w %a1l,%a2u,>>,(%a3)&,%a3
+ mac.w %a1l,%a2u,>>,(%a3)&,%d2
+ mac.w %a1l,%a2u,>>,(%a3)&,%a7
+ mac.w %a1l,%a2u,>>,(%a2)+,%d1
+ mac.w %a1l,%a2u,>>,(%a2)+,%a3
+ mac.w %a1l,%a2u,>>,(%a2)+,%d2
+ mac.w %a1l,%a2u,>>,(%a2)+,%a7
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d1
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a3
+ mac.w %a1l,%a2u,>>,(%a2)+&,%d2
+ mac.w %a1l,%a2u,>>,(%a2)+&,%a7
+ mac.w %a1l,%a2u,>>,10(%a6),%d1
+ mac.w %a1l,%a2u,>>,10(%a6),%a3
+ mac.w %a1l,%a2u,>>,10(%a6),%d2
+ mac.w %a1l,%a2u,>>,10(%a6),%a7
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d1
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a3
+ mac.w %a1l,%a2u,>>,10(%a6)&,%d2
+ mac.w %a1l,%a2u,>>,10(%a6)&,%a7
+ mac.w %a1l,%a2u,>>,-(%a1),%d1
+ mac.w %a1l,%a2u,>>,-(%a1),%a3
+ mac.w %a1l,%a2u,>>,-(%a1),%d2
+ mac.w %a1l,%a2u,>>,-(%a1),%a7
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d1
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a3
+ mac.w %a1l,%a2u,>>,-(%a1)&,%d2
+ mac.w %a1l,%a2u,>>,-(%a1)&,%a7
+ mac.w %a1l,%a2u,#1,(%a3),%d1
+ mac.w %a1l,%a2u,#1,(%a3),%a3
+ mac.w %a1l,%a2u,#1,(%a3),%d2
+ mac.w %a1l,%a2u,#1,(%a3),%a7
+ mac.w %a1l,%a2u,#1,(%a3)&,%d1
+ mac.w %a1l,%a2u,#1,(%a3)&,%a3
+ mac.w %a1l,%a2u,#1,(%a3)&,%d2
+ mac.w %a1l,%a2u,#1,(%a3)&,%a7
+ mac.w %a1l,%a2u,#1,(%a2)+,%d1
+ mac.w %a1l,%a2u,#1,(%a2)+,%a3
+ mac.w %a1l,%a2u,#1,(%a2)+,%d2
+ mac.w %a1l,%a2u,#1,(%a2)+,%a7
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d1
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a3
+ mac.w %a1l,%a2u,#1,(%a2)+&,%d2
+ mac.w %a1l,%a2u,#1,(%a2)+&,%a7
+ mac.w %a1l,%a2u,#1,10(%a6),%d1
+ mac.w %a1l,%a2u,#1,10(%a6),%a3
+ mac.w %a1l,%a2u,#1,10(%a6),%d2
+ mac.w %a1l,%a2u,#1,10(%a6),%a7
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d1
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a3
+ mac.w %a1l,%a2u,#1,10(%a6)&,%d2
+ mac.w %a1l,%a2u,#1,10(%a6)&,%a7
+ mac.w %a1l,%a2u,#1,-(%a1),%d1
+ mac.w %a1l,%a2u,#1,-(%a1),%a3
+ mac.w %a1l,%a2u,#1,-(%a1),%d2
+ mac.w %a1l,%a2u,#1,-(%a1),%a7
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d1
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a3
+ mac.w %a1l,%a2u,#1,-(%a1)&,%d2
+ mac.w %a1l,%a2u,#1,-(%a1)&,%a7
+ mac.w %a1l,%a2u,#-1,(%a3),%d1
+ mac.w %a1l,%a2u,#-1,(%a3),%a3
+ mac.w %a1l,%a2u,#-1,(%a3),%d2
+ mac.w %a1l,%a2u,#-1,(%a3),%a7
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d1
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a3
+ mac.w %a1l,%a2u,#-1,(%a3)&,%d2
+ mac.w %a1l,%a2u,#-1,(%a3)&,%a7
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d1
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a3
+ mac.w %a1l,%a2u,#-1,(%a2)+,%d2
+ mac.w %a1l,%a2u,#-1,(%a2)+,%a7
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d1
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a3
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%d2
+ mac.w %a1l,%a2u,#-1,(%a2)+&,%a7
+ mac.w %a1l,%a2u,#-1,10(%a6),%d1
+ mac.w %a1l,%a2u,#-1,10(%a6),%a3
+ mac.w %a1l,%a2u,#-1,10(%a6),%d2
+ mac.w %a1l,%a2u,#-1,10(%a6),%a7
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d1
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a3
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%d2
+ mac.w %a1l,%a2u,#-1,10(%a6)&,%a7
+ mac.w %a1l,%a2u,#-1,-(%a1),%d1
+ mac.w %a1l,%a2u,#-1,-(%a1),%a3
+ mac.w %a1l,%a2u,#-1,-(%a1),%d2
+ mac.w %a1l,%a2u,#-1,-(%a1),%a7
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d1
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a3
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%d2
+ mac.w %a1l,%a2u,#-1,-(%a1)&,%a7
+ mac.w %a1l,%d3l,(%a3),%d1
+ mac.w %a1l,%d3l,(%a3),%a3
+ mac.w %a1l,%d3l,(%a3),%d2
+ mac.w %a1l,%d3l,(%a3),%a7
+ mac.w %a1l,%d3l,(%a3)&,%d1
+ mac.w %a1l,%d3l,(%a3)&,%a3
+ mac.w %a1l,%d3l,(%a3)&,%d2
+ mac.w %a1l,%d3l,(%a3)&,%a7
+ mac.w %a1l,%d3l,(%a2)+,%d1
+ mac.w %a1l,%d3l,(%a2)+,%a3
+ mac.w %a1l,%d3l,(%a2)+,%d2
+ mac.w %a1l,%d3l,(%a2)+,%a7
+ mac.w %a1l,%d3l,(%a2)+&,%d1
+ mac.w %a1l,%d3l,(%a2)+&,%a3
+ mac.w %a1l,%d3l,(%a2)+&,%d2
+ mac.w %a1l,%d3l,(%a2)+&,%a7
+ mac.w %a1l,%d3l,10(%a6),%d1
+ mac.w %a1l,%d3l,10(%a6),%a3
+ mac.w %a1l,%d3l,10(%a6),%d2
+ mac.w %a1l,%d3l,10(%a6),%a7
+ mac.w %a1l,%d3l,10(%a6)&,%d1
+ mac.w %a1l,%d3l,10(%a6)&,%a3
+ mac.w %a1l,%d3l,10(%a6)&,%d2
+ mac.w %a1l,%d3l,10(%a6)&,%a7
+ mac.w %a1l,%d3l,-(%a1),%d1
+ mac.w %a1l,%d3l,-(%a1),%a3
+ mac.w %a1l,%d3l,-(%a1),%d2
+ mac.w %a1l,%d3l,-(%a1),%a7
+ mac.w %a1l,%d3l,-(%a1)&,%d1
+ mac.w %a1l,%d3l,-(%a1)&,%a3
+ mac.w %a1l,%d3l,-(%a1)&,%d2
+ mac.w %a1l,%d3l,-(%a1)&,%a7
+ mac.w %a1l,%d3l,<<,(%a3),%d1
+ mac.w %a1l,%d3l,<<,(%a3),%a3
+ mac.w %a1l,%d3l,<<,(%a3),%d2
+ mac.w %a1l,%d3l,<<,(%a3),%a7
+ mac.w %a1l,%d3l,<<,(%a3)&,%d1
+ mac.w %a1l,%d3l,<<,(%a3)&,%a3
+ mac.w %a1l,%d3l,<<,(%a3)&,%d2
+ mac.w %a1l,%d3l,<<,(%a3)&,%a7
+ mac.w %a1l,%d3l,<<,(%a2)+,%d1
+ mac.w %a1l,%d3l,<<,(%a2)+,%a3
+ mac.w %a1l,%d3l,<<,(%a2)+,%d2
+ mac.w %a1l,%d3l,<<,(%a2)+,%a7
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d1
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a3
+ mac.w %a1l,%d3l,<<,(%a2)+&,%d2
+ mac.w %a1l,%d3l,<<,(%a2)+&,%a7
+ mac.w %a1l,%d3l,<<,10(%a6),%d1
+ mac.w %a1l,%d3l,<<,10(%a6),%a3
+ mac.w %a1l,%d3l,<<,10(%a6),%d2
+ mac.w %a1l,%d3l,<<,10(%a6),%a7
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d1
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a3
+ mac.w %a1l,%d3l,<<,10(%a6)&,%d2
+ mac.w %a1l,%d3l,<<,10(%a6)&,%a7
+ mac.w %a1l,%d3l,<<,-(%a1),%d1
+ mac.w %a1l,%d3l,<<,-(%a1),%a3
+ mac.w %a1l,%d3l,<<,-(%a1),%d2
+ mac.w %a1l,%d3l,<<,-(%a1),%a7
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d1
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a3
+ mac.w %a1l,%d3l,<<,-(%a1)&,%d2
+ mac.w %a1l,%d3l,<<,-(%a1)&,%a7
+ mac.w %a1l,%d3l,>>,(%a3),%d1
+ mac.w %a1l,%d3l,>>,(%a3),%a3
+ mac.w %a1l,%d3l,>>,(%a3),%d2
+ mac.w %a1l,%d3l,>>,(%a3),%a7
+ mac.w %a1l,%d3l,>>,(%a3)&,%d1
+ mac.w %a1l,%d3l,>>,(%a3)&,%a3
+ mac.w %a1l,%d3l,>>,(%a3)&,%d2
+ mac.w %a1l,%d3l,>>,(%a3)&,%a7
+ mac.w %a1l,%d3l,>>,(%a2)+,%d1
+ mac.w %a1l,%d3l,>>,(%a2)+,%a3
+ mac.w %a1l,%d3l,>>,(%a2)+,%d2
+ mac.w %a1l,%d3l,>>,(%a2)+,%a7
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d1
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a3
+ mac.w %a1l,%d3l,>>,(%a2)+&,%d2
+ mac.w %a1l,%d3l,>>,(%a2)+&,%a7
+ mac.w %a1l,%d3l,>>,10(%a6),%d1
+ mac.w %a1l,%d3l,>>,10(%a6),%a3
+ mac.w %a1l,%d3l,>>,10(%a6),%d2
+ mac.w %a1l,%d3l,>>,10(%a6),%a7
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d1
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a3
+ mac.w %a1l,%d3l,>>,10(%a6)&,%d2
+ mac.w %a1l,%d3l,>>,10(%a6)&,%a7
+ mac.w %a1l,%d3l,>>,-(%a1),%d1
+ mac.w %a1l,%d3l,>>,-(%a1),%a3
+ mac.w %a1l,%d3l,>>,-(%a1),%d2
+ mac.w %a1l,%d3l,>>,-(%a1),%a7
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d1
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a3
+ mac.w %a1l,%d3l,>>,-(%a1)&,%d2
+ mac.w %a1l,%d3l,>>,-(%a1)&,%a7
+ mac.w %a1l,%d3l,#1,(%a3),%d1
+ mac.w %a1l,%d3l,#1,(%a3),%a3
+ mac.w %a1l,%d3l,#1,(%a3),%d2
+ mac.w %a1l,%d3l,#1,(%a3),%a7
+ mac.w %a1l,%d3l,#1,(%a3)&,%d1
+ mac.w %a1l,%d3l,#1,(%a3)&,%a3
+ mac.w %a1l,%d3l,#1,(%a3)&,%d2
+ mac.w %a1l,%d3l,#1,(%a3)&,%a7
+ mac.w %a1l,%d3l,#1,(%a2)+,%d1
+ mac.w %a1l,%d3l,#1,(%a2)+,%a3
+ mac.w %a1l,%d3l,#1,(%a2)+,%d2
+ mac.w %a1l,%d3l,#1,(%a2)+,%a7
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d1
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a3
+ mac.w %a1l,%d3l,#1,(%a2)+&,%d2
+ mac.w %a1l,%d3l,#1,(%a2)+&,%a7
+ mac.w %a1l,%d3l,#1,10(%a6),%d1
+ mac.w %a1l,%d3l,#1,10(%a6),%a3
+ mac.w %a1l,%d3l,#1,10(%a6),%d2
+ mac.w %a1l,%d3l,#1,10(%a6),%a7
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d1
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a3
+ mac.w %a1l,%d3l,#1,10(%a6)&,%d2
+ mac.w %a1l,%d3l,#1,10(%a6)&,%a7
+ mac.w %a1l,%d3l,#1,-(%a1),%d1
+ mac.w %a1l,%d3l,#1,-(%a1),%a3
+ mac.w %a1l,%d3l,#1,-(%a1),%d2
+ mac.w %a1l,%d3l,#1,-(%a1),%a7
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d1
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a3
+ mac.w %a1l,%d3l,#1,-(%a1)&,%d2
+ mac.w %a1l,%d3l,#1,-(%a1)&,%a7
+ mac.w %a1l,%d3l,#-1,(%a3),%d1
+ mac.w %a1l,%d3l,#-1,(%a3),%a3
+ mac.w %a1l,%d3l,#-1,(%a3),%d2
+ mac.w %a1l,%d3l,#-1,(%a3),%a7
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d1
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a3
+ mac.w %a1l,%d3l,#-1,(%a3)&,%d2
+ mac.w %a1l,%d3l,#-1,(%a3)&,%a7
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d1
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a3
+ mac.w %a1l,%d3l,#-1,(%a2)+,%d2
+ mac.w %a1l,%d3l,#-1,(%a2)+,%a7
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d1
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a3
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%d2
+ mac.w %a1l,%d3l,#-1,(%a2)+&,%a7
+ mac.w %a1l,%d3l,#-1,10(%a6),%d1
+ mac.w %a1l,%d3l,#-1,10(%a6),%a3
+ mac.w %a1l,%d3l,#-1,10(%a6),%d2
+ mac.w %a1l,%d3l,#-1,10(%a6),%a7
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d1
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a3
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%d2
+ mac.w %a1l,%d3l,#-1,10(%a6)&,%a7
+ mac.w %a1l,%d3l,#-1,-(%a1),%d1
+ mac.w %a1l,%d3l,#-1,-(%a1),%a3
+ mac.w %a1l,%d3l,#-1,-(%a1),%d2
+ mac.w %a1l,%d3l,#-1,-(%a1),%a7
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d1
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a3
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%d2
+ mac.w %a1l,%d3l,#-1,-(%a1)&,%a7
+ mac.w %a1l,%a7u,(%a3),%d1
+ mac.w %a1l,%a7u,(%a3),%a3
+ mac.w %a1l,%a7u,(%a3),%d2
+ mac.w %a1l,%a7u,(%a3),%a7
+ mac.w %a1l,%a7u,(%a3)&,%d1
+ mac.w %a1l,%a7u,(%a3)&,%a3
+ mac.w %a1l,%a7u,(%a3)&,%d2
+ mac.w %a1l,%a7u,(%a3)&,%a7
+ mac.w %a1l,%a7u,(%a2)+,%d1
+ mac.w %a1l,%a7u,(%a2)+,%a3
+ mac.w %a1l,%a7u,(%a2)+,%d2
+ mac.w %a1l,%a7u,(%a2)+,%a7
+ mac.w %a1l,%a7u,(%a2)+&,%d1
+ mac.w %a1l,%a7u,(%a2)+&,%a3
+ mac.w %a1l,%a7u,(%a2)+&,%d2
+ mac.w %a1l,%a7u,(%a2)+&,%a7
+ mac.w %a1l,%a7u,10(%a6),%d1
+ mac.w %a1l,%a7u,10(%a6),%a3
+ mac.w %a1l,%a7u,10(%a6),%d2
+ mac.w %a1l,%a7u,10(%a6),%a7
+ mac.w %a1l,%a7u,10(%a6)&,%d1
+ mac.w %a1l,%a7u,10(%a6)&,%a3
+ mac.w %a1l,%a7u,10(%a6)&,%d2
+ mac.w %a1l,%a7u,10(%a6)&,%a7
+ mac.w %a1l,%a7u,-(%a1),%d1
+ mac.w %a1l,%a7u,-(%a1),%a3
+ mac.w %a1l,%a7u,-(%a1),%d2
+ mac.w %a1l,%a7u,-(%a1),%a7
+ mac.w %a1l,%a7u,-(%a1)&,%d1
+ mac.w %a1l,%a7u,-(%a1)&,%a3
+ mac.w %a1l,%a7u,-(%a1)&,%d2
+ mac.w %a1l,%a7u,-(%a1)&,%a7
+ mac.w %a1l,%a7u,<<,(%a3),%d1
+ mac.w %a1l,%a7u,<<,(%a3),%a3
+ mac.w %a1l,%a7u,<<,(%a3),%d2
+ mac.w %a1l,%a7u,<<,(%a3),%a7
+ mac.w %a1l,%a7u,<<,(%a3)&,%d1
+ mac.w %a1l,%a7u,<<,(%a3)&,%a3
+ mac.w %a1l,%a7u,<<,(%a3)&,%d2
+ mac.w %a1l,%a7u,<<,(%a3)&,%a7
+ mac.w %a1l,%a7u,<<,(%a2)+,%d1
+ mac.w %a1l,%a7u,<<,(%a2)+,%a3
+ mac.w %a1l,%a7u,<<,(%a2)+,%d2
+ mac.w %a1l,%a7u,<<,(%a2)+,%a7
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d1
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a3
+ mac.w %a1l,%a7u,<<,(%a2)+&,%d2
+ mac.w %a1l,%a7u,<<,(%a2)+&,%a7
+ mac.w %a1l,%a7u,<<,10(%a6),%d1
+ mac.w %a1l,%a7u,<<,10(%a6),%a3
+ mac.w %a1l,%a7u,<<,10(%a6),%d2
+ mac.w %a1l,%a7u,<<,10(%a6),%a7
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d1
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a3
+ mac.w %a1l,%a7u,<<,10(%a6)&,%d2
+ mac.w %a1l,%a7u,<<,10(%a6)&,%a7
+ mac.w %a1l,%a7u,<<,-(%a1),%d1
+ mac.w %a1l,%a7u,<<,-(%a1),%a3
+ mac.w %a1l,%a7u,<<,-(%a1),%d2
+ mac.w %a1l,%a7u,<<,-(%a1),%a7
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d1
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a3
+ mac.w %a1l,%a7u,<<,-(%a1)&,%d2
+ mac.w %a1l,%a7u,<<,-(%a1)&,%a7
+ mac.w %a1l,%a7u,>>,(%a3),%d1
+ mac.w %a1l,%a7u,>>,(%a3),%a3
+ mac.w %a1l,%a7u,>>,(%a3),%d2
+ mac.w %a1l,%a7u,>>,(%a3),%a7
+ mac.w %a1l,%a7u,>>,(%a3)&,%d1
+ mac.w %a1l,%a7u,>>,(%a3)&,%a3
+ mac.w %a1l,%a7u,>>,(%a3)&,%d2
+ mac.w %a1l,%a7u,>>,(%a3)&,%a7
+ mac.w %a1l,%a7u,>>,(%a2)+,%d1
+ mac.w %a1l,%a7u,>>,(%a2)+,%a3
+ mac.w %a1l,%a7u,>>,(%a2)+,%d2
+ mac.w %a1l,%a7u,>>,(%a2)+,%a7
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d1
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a3
+ mac.w %a1l,%a7u,>>,(%a2)+&,%d2
+ mac.w %a1l,%a7u,>>,(%a2)+&,%a7
+ mac.w %a1l,%a7u,>>,10(%a6),%d1
+ mac.w %a1l,%a7u,>>,10(%a6),%a3
+ mac.w %a1l,%a7u,>>,10(%a6),%d2
+ mac.w %a1l,%a7u,>>,10(%a6),%a7
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d1
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a3
+ mac.w %a1l,%a7u,>>,10(%a6)&,%d2
+ mac.w %a1l,%a7u,>>,10(%a6)&,%a7
+ mac.w %a1l,%a7u,>>,-(%a1),%d1
+ mac.w %a1l,%a7u,>>,-(%a1),%a3
+ mac.w %a1l,%a7u,>>,-(%a1),%d2
+ mac.w %a1l,%a7u,>>,-(%a1),%a7
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d1
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a3
+ mac.w %a1l,%a7u,>>,-(%a1)&,%d2
+ mac.w %a1l,%a7u,>>,-(%a1)&,%a7
+ mac.w %a1l,%a7u,#1,(%a3),%d1
+ mac.w %a1l,%a7u,#1,(%a3),%a3
+ mac.w %a1l,%a7u,#1,(%a3),%d2
+ mac.w %a1l,%a7u,#1,(%a3),%a7
+ mac.w %a1l,%a7u,#1,(%a3)&,%d1
+ mac.w %a1l,%a7u,#1,(%a3)&,%a3
+ mac.w %a1l,%a7u,#1,(%a3)&,%d2
+ mac.w %a1l,%a7u,#1,(%a3)&,%a7
+ mac.w %a1l,%a7u,#1,(%a2)+,%d1
+ mac.w %a1l,%a7u,#1,(%a2)+,%a3
+ mac.w %a1l,%a7u,#1,(%a2)+,%d2
+ mac.w %a1l,%a7u,#1,(%a2)+,%a7
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d1
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a3
+ mac.w %a1l,%a7u,#1,(%a2)+&,%d2
+ mac.w %a1l,%a7u,#1,(%a2)+&,%a7
+ mac.w %a1l,%a7u,#1,10(%a6),%d1
+ mac.w %a1l,%a7u,#1,10(%a6),%a3
+ mac.w %a1l,%a7u,#1,10(%a6),%d2
+ mac.w %a1l,%a7u,#1,10(%a6),%a7
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d1
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a3
+ mac.w %a1l,%a7u,#1,10(%a6)&,%d2
+ mac.w %a1l,%a7u,#1,10(%a6)&,%a7
+ mac.w %a1l,%a7u,#1,-(%a1),%d1
+ mac.w %a1l,%a7u,#1,-(%a1),%a3
+ mac.w %a1l,%a7u,#1,-(%a1),%d2
+ mac.w %a1l,%a7u,#1,-(%a1),%a7
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d1
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a3
+ mac.w %a1l,%a7u,#1,-(%a1)&,%d2
+ mac.w %a1l,%a7u,#1,-(%a1)&,%a7
+ mac.w %a1l,%a7u,#-1,(%a3),%d1
+ mac.w %a1l,%a7u,#-1,(%a3),%a3
+ mac.w %a1l,%a7u,#-1,(%a3),%d2
+ mac.w %a1l,%a7u,#-1,(%a3),%a7
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d1
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a3
+ mac.w %a1l,%a7u,#-1,(%a3)&,%d2
+ mac.w %a1l,%a7u,#-1,(%a3)&,%a7
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d1
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a3
+ mac.w %a1l,%a7u,#-1,(%a2)+,%d2
+ mac.w %a1l,%a7u,#-1,(%a2)+,%a7
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d1
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a3
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%d2
+ mac.w %a1l,%a7u,#-1,(%a2)+&,%a7
+ mac.w %a1l,%a7u,#-1,10(%a6),%d1
+ mac.w %a1l,%a7u,#-1,10(%a6),%a3
+ mac.w %a1l,%a7u,#-1,10(%a6),%d2
+ mac.w %a1l,%a7u,#-1,10(%a6),%a7
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d1
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a3
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%d2
+ mac.w %a1l,%a7u,#-1,10(%a6)&,%a7
+ mac.w %a1l,%a7u,#-1,-(%a1),%d1
+ mac.w %a1l,%a7u,#-1,-(%a1),%a3
+ mac.w %a1l,%a7u,#-1,-(%a1),%d2
+ mac.w %a1l,%a7u,#-1,-(%a1),%a7
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d1
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a3
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%d2
+ mac.w %a1l,%a7u,#-1,-(%a1)&,%a7
+ mac.w %a1l,%d1l,(%a3),%d1
+ mac.w %a1l,%d1l,(%a3),%a3
+ mac.w %a1l,%d1l,(%a3),%d2
+ mac.w %a1l,%d1l,(%a3),%a7
+ mac.w %a1l,%d1l,(%a3)&,%d1
+ mac.w %a1l,%d1l,(%a3)&,%a3
+ mac.w %a1l,%d1l,(%a3)&,%d2
+ mac.w %a1l,%d1l,(%a3)&,%a7
+ mac.w %a1l,%d1l,(%a2)+,%d1
+ mac.w %a1l,%d1l,(%a2)+,%a3
+ mac.w %a1l,%d1l,(%a2)+,%d2
+ mac.w %a1l,%d1l,(%a2)+,%a7
+ mac.w %a1l,%d1l,(%a2)+&,%d1
+ mac.w %a1l,%d1l,(%a2)+&,%a3
+ mac.w %a1l,%d1l,(%a2)+&,%d2
+ mac.w %a1l,%d1l,(%a2)+&,%a7
+ mac.w %a1l,%d1l,10(%a6),%d1
+ mac.w %a1l,%d1l,10(%a6),%a3
+ mac.w %a1l,%d1l,10(%a6),%d2
+ mac.w %a1l,%d1l,10(%a6),%a7
+ mac.w %a1l,%d1l,10(%a6)&,%d1
+ mac.w %a1l,%d1l,10(%a6)&,%a3
+ mac.w %a1l,%d1l,10(%a6)&,%d2
+ mac.w %a1l,%d1l,10(%a6)&,%a7
+ mac.w %a1l,%d1l,-(%a1),%d1
+ mac.w %a1l,%d1l,-(%a1),%a3
+ mac.w %a1l,%d1l,-(%a1),%d2
+ mac.w %a1l,%d1l,-(%a1),%a7
+ mac.w %a1l,%d1l,-(%a1)&,%d1
+ mac.w %a1l,%d1l,-(%a1)&,%a3
+ mac.w %a1l,%d1l,-(%a1)&,%d2
+ mac.w %a1l,%d1l,-(%a1)&,%a7
+ mac.w %a1l,%d1l,<<,(%a3),%d1
+ mac.w %a1l,%d1l,<<,(%a3),%a3
+ mac.w %a1l,%d1l,<<,(%a3),%d2
+ mac.w %a1l,%d1l,<<,(%a3),%a7
+ mac.w %a1l,%d1l,<<,(%a3)&,%d1
+ mac.w %a1l,%d1l,<<,(%a3)&,%a3
+ mac.w %a1l,%d1l,<<,(%a3)&,%d2
+ mac.w %a1l,%d1l,<<,(%a3)&,%a7
+ mac.w %a1l,%d1l,<<,(%a2)+,%d1
+ mac.w %a1l,%d1l,<<,(%a2)+,%a3
+ mac.w %a1l,%d1l,<<,(%a2)+,%d2
+ mac.w %a1l,%d1l,<<,(%a2)+,%a7
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d1
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a3
+ mac.w %a1l,%d1l,<<,(%a2)+&,%d2
+ mac.w %a1l,%d1l,<<,(%a2)+&,%a7
+ mac.w %a1l,%d1l,<<,10(%a6),%d1
+ mac.w %a1l,%d1l,<<,10(%a6),%a3
+ mac.w %a1l,%d1l,<<,10(%a6),%d2
+ mac.w %a1l,%d1l,<<,10(%a6),%a7
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d1
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a3
+ mac.w %a1l,%d1l,<<,10(%a6)&,%d2
+ mac.w %a1l,%d1l,<<,10(%a6)&,%a7
+ mac.w %a1l,%d1l,<<,-(%a1),%d1
+ mac.w %a1l,%d1l,<<,-(%a1),%a3
+ mac.w %a1l,%d1l,<<,-(%a1),%d2
+ mac.w %a1l,%d1l,<<,-(%a1),%a7
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d1
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a3
+ mac.w %a1l,%d1l,<<,-(%a1)&,%d2
+ mac.w %a1l,%d1l,<<,-(%a1)&,%a7
+ mac.w %a1l,%d1l,>>,(%a3),%d1
+ mac.w %a1l,%d1l,>>,(%a3),%a3
+ mac.w %a1l,%d1l,>>,(%a3),%d2
+ mac.w %a1l,%d1l,>>,(%a3),%a7
+ mac.w %a1l,%d1l,>>,(%a3)&,%d1
+ mac.w %a1l,%d1l,>>,(%a3)&,%a3
+ mac.w %a1l,%d1l,>>,(%a3)&,%d2
+ mac.w %a1l,%d1l,>>,(%a3)&,%a7
+ mac.w %a1l,%d1l,>>,(%a2)+,%d1
+ mac.w %a1l,%d1l,>>,(%a2)+,%a3
+ mac.w %a1l,%d1l,>>,(%a2)+,%d2
+ mac.w %a1l,%d1l,>>,(%a2)+,%a7
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d1
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a3
+ mac.w %a1l,%d1l,>>,(%a2)+&,%d2
+ mac.w %a1l,%d1l,>>,(%a2)+&,%a7
+ mac.w %a1l,%d1l,>>,10(%a6),%d1
+ mac.w %a1l,%d1l,>>,10(%a6),%a3
+ mac.w %a1l,%d1l,>>,10(%a6),%d2
+ mac.w %a1l,%d1l,>>,10(%a6),%a7
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d1
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a3
+ mac.w %a1l,%d1l,>>,10(%a6)&,%d2
+ mac.w %a1l,%d1l,>>,10(%a6)&,%a7
+ mac.w %a1l,%d1l,>>,-(%a1),%d1
+ mac.w %a1l,%d1l,>>,-(%a1),%a3
+ mac.w %a1l,%d1l,>>,-(%a1),%d2
+ mac.w %a1l,%d1l,>>,-(%a1),%a7
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d1
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a3
+ mac.w %a1l,%d1l,>>,-(%a1)&,%d2
+ mac.w %a1l,%d1l,>>,-(%a1)&,%a7
+ mac.w %a1l,%d1l,#1,(%a3),%d1
+ mac.w %a1l,%d1l,#1,(%a3),%a3
+ mac.w %a1l,%d1l,#1,(%a3),%d2
+ mac.w %a1l,%d1l,#1,(%a3),%a7
+ mac.w %a1l,%d1l,#1,(%a3)&,%d1
+ mac.w %a1l,%d1l,#1,(%a3)&,%a3
+ mac.w %a1l,%d1l,#1,(%a3)&,%d2
+ mac.w %a1l,%d1l,#1,(%a3)&,%a7
+ mac.w %a1l,%d1l,#1,(%a2)+,%d1
+ mac.w %a1l,%d1l,#1,(%a2)+,%a3
+ mac.w %a1l,%d1l,#1,(%a2)+,%d2
+ mac.w %a1l,%d1l,#1,(%a2)+,%a7
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d1
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a3
+ mac.w %a1l,%d1l,#1,(%a2)+&,%d2
+ mac.w %a1l,%d1l,#1,(%a2)+&,%a7
+ mac.w %a1l,%d1l,#1,10(%a6),%d1
+ mac.w %a1l,%d1l,#1,10(%a6),%a3
+ mac.w %a1l,%d1l,#1,10(%a6),%d2
+ mac.w %a1l,%d1l,#1,10(%a6),%a7
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d1
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a3
+ mac.w %a1l,%d1l,#1,10(%a6)&,%d2
+ mac.w %a1l,%d1l,#1,10(%a6)&,%a7
+ mac.w %a1l,%d1l,#1,-(%a1),%d1
+ mac.w %a1l,%d1l,#1,-(%a1),%a3
+ mac.w %a1l,%d1l,#1,-(%a1),%d2
+ mac.w %a1l,%d1l,#1,-(%a1),%a7
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d1
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a3
+ mac.w %a1l,%d1l,#1,-(%a1)&,%d2
+ mac.w %a1l,%d1l,#1,-(%a1)&,%a7
+ mac.w %a1l,%d1l,#-1,(%a3),%d1
+ mac.w %a1l,%d1l,#-1,(%a3),%a3
+ mac.w %a1l,%d1l,#-1,(%a3),%d2
+ mac.w %a1l,%d1l,#-1,(%a3),%a7
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d1
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a3
+ mac.w %a1l,%d1l,#-1,(%a3)&,%d2
+ mac.w %a1l,%d1l,#-1,(%a3)&,%a7
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d1
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a3
+ mac.w %a1l,%d1l,#-1,(%a2)+,%d2
+ mac.w %a1l,%d1l,#-1,(%a2)+,%a7
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d1
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a3
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%d2
+ mac.w %a1l,%d1l,#-1,(%a2)+&,%a7
+ mac.w %a1l,%d1l,#-1,10(%a6),%d1
+ mac.w %a1l,%d1l,#-1,10(%a6),%a3
+ mac.w %a1l,%d1l,#-1,10(%a6),%d2
+ mac.w %a1l,%d1l,#-1,10(%a6),%a7
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d1
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a3
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%d2
+ mac.w %a1l,%d1l,#-1,10(%a6)&,%a7
+ mac.w %a1l,%d1l,#-1,-(%a1),%d1
+ mac.w %a1l,%d1l,#-1,-(%a1),%a3
+ mac.w %a1l,%d1l,#-1,-(%a1),%d2
+ mac.w %a1l,%d1l,#-1,-(%a1),%a7
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d1
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a3
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%d2
+ mac.w %a1l,%d1l,#-1,-(%a1)&,%a7
+ mac.w %d2u,%a2u,(%a3),%d1
+ mac.w %d2u,%a2u,(%a3),%a3
+ mac.w %d2u,%a2u,(%a3),%d2
+ mac.w %d2u,%a2u,(%a3),%a7
+ mac.w %d2u,%a2u,(%a3)&,%d1
+ mac.w %d2u,%a2u,(%a3)&,%a3
+ mac.w %d2u,%a2u,(%a3)&,%d2
+ mac.w %d2u,%a2u,(%a3)&,%a7
+ mac.w %d2u,%a2u,(%a2)+,%d1
+ mac.w %d2u,%a2u,(%a2)+,%a3
+ mac.w %d2u,%a2u,(%a2)+,%d2
+ mac.w %d2u,%a2u,(%a2)+,%a7
+ mac.w %d2u,%a2u,(%a2)+&,%d1
+ mac.w %d2u,%a2u,(%a2)+&,%a3
+ mac.w %d2u,%a2u,(%a2)+&,%d2
+ mac.w %d2u,%a2u,(%a2)+&,%a7
+ mac.w %d2u,%a2u,10(%a6),%d1
+ mac.w %d2u,%a2u,10(%a6),%a3
+ mac.w %d2u,%a2u,10(%a6),%d2
+ mac.w %d2u,%a2u,10(%a6),%a7
+ mac.w %d2u,%a2u,10(%a6)&,%d1
+ mac.w %d2u,%a2u,10(%a6)&,%a3
+ mac.w %d2u,%a2u,10(%a6)&,%d2
+ mac.w %d2u,%a2u,10(%a6)&,%a7
+ mac.w %d2u,%a2u,-(%a1),%d1
+ mac.w %d2u,%a2u,-(%a1),%a3
+ mac.w %d2u,%a2u,-(%a1),%d2
+ mac.w %d2u,%a2u,-(%a1),%a7
+ mac.w %d2u,%a2u,-(%a1)&,%d1
+ mac.w %d2u,%a2u,-(%a1)&,%a3
+ mac.w %d2u,%a2u,-(%a1)&,%d2
+ mac.w %d2u,%a2u,-(%a1)&,%a7
+ mac.w %d2u,%a2u,<<,(%a3),%d1
+ mac.w %d2u,%a2u,<<,(%a3),%a3
+ mac.w %d2u,%a2u,<<,(%a3),%d2
+ mac.w %d2u,%a2u,<<,(%a3),%a7
+ mac.w %d2u,%a2u,<<,(%a3)&,%d1
+ mac.w %d2u,%a2u,<<,(%a3)&,%a3
+ mac.w %d2u,%a2u,<<,(%a3)&,%d2
+ mac.w %d2u,%a2u,<<,(%a3)&,%a7
+ mac.w %d2u,%a2u,<<,(%a2)+,%d1
+ mac.w %d2u,%a2u,<<,(%a2)+,%a3
+ mac.w %d2u,%a2u,<<,(%a2)+,%d2
+ mac.w %d2u,%a2u,<<,(%a2)+,%a7
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d1
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a3
+ mac.w %d2u,%a2u,<<,(%a2)+&,%d2
+ mac.w %d2u,%a2u,<<,(%a2)+&,%a7
+ mac.w %d2u,%a2u,<<,10(%a6),%d1
+ mac.w %d2u,%a2u,<<,10(%a6),%a3
+ mac.w %d2u,%a2u,<<,10(%a6),%d2
+ mac.w %d2u,%a2u,<<,10(%a6),%a7
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d1
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a3
+ mac.w %d2u,%a2u,<<,10(%a6)&,%d2
+ mac.w %d2u,%a2u,<<,10(%a6)&,%a7
+ mac.w %d2u,%a2u,<<,-(%a1),%d1
+ mac.w %d2u,%a2u,<<,-(%a1),%a3
+ mac.w %d2u,%a2u,<<,-(%a1),%d2
+ mac.w %d2u,%a2u,<<,-(%a1),%a7
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d1
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a3
+ mac.w %d2u,%a2u,<<,-(%a1)&,%d2
+ mac.w %d2u,%a2u,<<,-(%a1)&,%a7
+ mac.w %d2u,%a2u,>>,(%a3),%d1
+ mac.w %d2u,%a2u,>>,(%a3),%a3
+ mac.w %d2u,%a2u,>>,(%a3),%d2
+ mac.w %d2u,%a2u,>>,(%a3),%a7
+ mac.w %d2u,%a2u,>>,(%a3)&,%d1
+ mac.w %d2u,%a2u,>>,(%a3)&,%a3
+ mac.w %d2u,%a2u,>>,(%a3)&,%d2
+ mac.w %d2u,%a2u,>>,(%a3)&,%a7
+ mac.w %d2u,%a2u,>>,(%a2)+,%d1
+ mac.w %d2u,%a2u,>>,(%a2)+,%a3
+ mac.w %d2u,%a2u,>>,(%a2)+,%d2
+ mac.w %d2u,%a2u,>>,(%a2)+,%a7
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d1
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a3
+ mac.w %d2u,%a2u,>>,(%a2)+&,%d2
+ mac.w %d2u,%a2u,>>,(%a2)+&,%a7
+ mac.w %d2u,%a2u,>>,10(%a6),%d1
+ mac.w %d2u,%a2u,>>,10(%a6),%a3
+ mac.w %d2u,%a2u,>>,10(%a6),%d2
+ mac.w %d2u,%a2u,>>,10(%a6),%a7
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d1
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a3
+ mac.w %d2u,%a2u,>>,10(%a6)&,%d2
+ mac.w %d2u,%a2u,>>,10(%a6)&,%a7
+ mac.w %d2u,%a2u,>>,-(%a1),%d1
+ mac.w %d2u,%a2u,>>,-(%a1),%a3
+ mac.w %d2u,%a2u,>>,-(%a1),%d2
+ mac.w %d2u,%a2u,>>,-(%a1),%a7
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d1
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a3
+ mac.w %d2u,%a2u,>>,-(%a1)&,%d2
+ mac.w %d2u,%a2u,>>,-(%a1)&,%a7
+ mac.w %d2u,%a2u,#1,(%a3),%d1
+ mac.w %d2u,%a2u,#1,(%a3),%a3
+ mac.w %d2u,%a2u,#1,(%a3),%d2
+ mac.w %d2u,%a2u,#1,(%a3),%a7
+ mac.w %d2u,%a2u,#1,(%a3)&,%d1
+ mac.w %d2u,%a2u,#1,(%a3)&,%a3
+ mac.w %d2u,%a2u,#1,(%a3)&,%d2
+ mac.w %d2u,%a2u,#1,(%a3)&,%a7
+ mac.w %d2u,%a2u,#1,(%a2)+,%d1
+ mac.w %d2u,%a2u,#1,(%a2)+,%a3
+ mac.w %d2u,%a2u,#1,(%a2)+,%d2
+ mac.w %d2u,%a2u,#1,(%a2)+,%a7
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d1
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a3
+ mac.w %d2u,%a2u,#1,(%a2)+&,%d2
+ mac.w %d2u,%a2u,#1,(%a2)+&,%a7
+ mac.w %d2u,%a2u,#1,10(%a6),%d1
+ mac.w %d2u,%a2u,#1,10(%a6),%a3
+ mac.w %d2u,%a2u,#1,10(%a6),%d2
+ mac.w %d2u,%a2u,#1,10(%a6),%a7
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d1
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a3
+ mac.w %d2u,%a2u,#1,10(%a6)&,%d2
+ mac.w %d2u,%a2u,#1,10(%a6)&,%a7
+ mac.w %d2u,%a2u,#1,-(%a1),%d1
+ mac.w %d2u,%a2u,#1,-(%a1),%a3
+ mac.w %d2u,%a2u,#1,-(%a1),%d2
+ mac.w %d2u,%a2u,#1,-(%a1),%a7
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d1
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a3
+ mac.w %d2u,%a2u,#1,-(%a1)&,%d2
+ mac.w %d2u,%a2u,#1,-(%a1)&,%a7
+ mac.w %d2u,%a2u,#-1,(%a3),%d1
+ mac.w %d2u,%a2u,#-1,(%a3),%a3
+ mac.w %d2u,%a2u,#-1,(%a3),%d2
+ mac.w %d2u,%a2u,#-1,(%a3),%a7
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d1
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a3
+ mac.w %d2u,%a2u,#-1,(%a3)&,%d2
+ mac.w %d2u,%a2u,#-1,(%a3)&,%a7
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d1
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a3
+ mac.w %d2u,%a2u,#-1,(%a2)+,%d2
+ mac.w %d2u,%a2u,#-1,(%a2)+,%a7
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d1
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a3
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%d2
+ mac.w %d2u,%a2u,#-1,(%a2)+&,%a7
+ mac.w %d2u,%a2u,#-1,10(%a6),%d1
+ mac.w %d2u,%a2u,#-1,10(%a6),%a3
+ mac.w %d2u,%a2u,#-1,10(%a6),%d2
+ mac.w %d2u,%a2u,#-1,10(%a6),%a7
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d1
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a3
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%d2
+ mac.w %d2u,%a2u,#-1,10(%a6)&,%a7
+ mac.w %d2u,%a2u,#-1,-(%a1),%d1
+ mac.w %d2u,%a2u,#-1,-(%a1),%a3
+ mac.w %d2u,%a2u,#-1,-(%a1),%d2
+ mac.w %d2u,%a2u,#-1,-(%a1),%a7
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d1
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a3
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%d2
+ mac.w %d2u,%a2u,#-1,-(%a1)&,%a7
+ mac.w %d2u,%d3l,(%a3),%d1
+ mac.w %d2u,%d3l,(%a3),%a3
+ mac.w %d2u,%d3l,(%a3),%d2
+ mac.w %d2u,%d3l,(%a3),%a7
+ mac.w %d2u,%d3l,(%a3)&,%d1
+ mac.w %d2u,%d3l,(%a3)&,%a3
+ mac.w %d2u,%d3l,(%a3)&,%d2
+ mac.w %d2u,%d3l,(%a3)&,%a7
+ mac.w %d2u,%d3l,(%a2)+,%d1
+ mac.w %d2u,%d3l,(%a2)+,%a3
+ mac.w %d2u,%d3l,(%a2)+,%d2
+ mac.w %d2u,%d3l,(%a2)+,%a7
+ mac.w %d2u,%d3l,(%a2)+&,%d1
+ mac.w %d2u,%d3l,(%a2)+&,%a3
+ mac.w %d2u,%d3l,(%a2)+&,%d2
+ mac.w %d2u,%d3l,(%a2)+&,%a7
+ mac.w %d2u,%d3l,10(%a6),%d1
+ mac.w %d2u,%d3l,10(%a6),%a3
+ mac.w %d2u,%d3l,10(%a6),%d2
+ mac.w %d2u,%d3l,10(%a6),%a7
+ mac.w %d2u,%d3l,10(%a6)&,%d1
+ mac.w %d2u,%d3l,10(%a6)&,%a3
+ mac.w %d2u,%d3l,10(%a6)&,%d2
+ mac.w %d2u,%d3l,10(%a6)&,%a7
+ mac.w %d2u,%d3l,-(%a1),%d1
+ mac.w %d2u,%d3l,-(%a1),%a3
+ mac.w %d2u,%d3l,-(%a1),%d2
+ mac.w %d2u,%d3l,-(%a1),%a7
+ mac.w %d2u,%d3l,-(%a1)&,%d1
+ mac.w %d2u,%d3l,-(%a1)&,%a3
+ mac.w %d2u,%d3l,-(%a1)&,%d2
+ mac.w %d2u,%d3l,-(%a1)&,%a7
+ mac.w %d2u,%d3l,<<,(%a3),%d1
+ mac.w %d2u,%d3l,<<,(%a3),%a3
+ mac.w %d2u,%d3l,<<,(%a3),%d2
+ mac.w %d2u,%d3l,<<,(%a3),%a7
+ mac.w %d2u,%d3l,<<,(%a3)&,%d1
+ mac.w %d2u,%d3l,<<,(%a3)&,%a3
+ mac.w %d2u,%d3l,<<,(%a3)&,%d2
+ mac.w %d2u,%d3l,<<,(%a3)&,%a7
+ mac.w %d2u,%d3l,<<,(%a2)+,%d1
+ mac.w %d2u,%d3l,<<,(%a2)+,%a3
+ mac.w %d2u,%d3l,<<,(%a2)+,%d2
+ mac.w %d2u,%d3l,<<,(%a2)+,%a7
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d1
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a3
+ mac.w %d2u,%d3l,<<,(%a2)+&,%d2
+ mac.w %d2u,%d3l,<<,(%a2)+&,%a7
+ mac.w %d2u,%d3l,<<,10(%a6),%d1
+ mac.w %d2u,%d3l,<<,10(%a6),%a3
+ mac.w %d2u,%d3l,<<,10(%a6),%d2
+ mac.w %d2u,%d3l,<<,10(%a6),%a7
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d1
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a3
+ mac.w %d2u,%d3l,<<,10(%a6)&,%d2
+ mac.w %d2u,%d3l,<<,10(%a6)&,%a7
+ mac.w %d2u,%d3l,<<,-(%a1),%d1
+ mac.w %d2u,%d3l,<<,-(%a1),%a3
+ mac.w %d2u,%d3l,<<,-(%a1),%d2
+ mac.w %d2u,%d3l,<<,-(%a1),%a7
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d1
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a3
+ mac.w %d2u,%d3l,<<,-(%a1)&,%d2
+ mac.w %d2u,%d3l,<<,-(%a1)&,%a7
+ mac.w %d2u,%d3l,>>,(%a3),%d1
+ mac.w %d2u,%d3l,>>,(%a3),%a3
+ mac.w %d2u,%d3l,>>,(%a3),%d2
+ mac.w %d2u,%d3l,>>,(%a3),%a7
+ mac.w %d2u,%d3l,>>,(%a3)&,%d1
+ mac.w %d2u,%d3l,>>,(%a3)&,%a3
+ mac.w %d2u,%d3l,>>,(%a3)&,%d2
+ mac.w %d2u,%d3l,>>,(%a3)&,%a7
+ mac.w %d2u,%d3l,>>,(%a2)+,%d1
+ mac.w %d2u,%d3l,>>,(%a2)+,%a3
+ mac.w %d2u,%d3l,>>,(%a2)+,%d2
+ mac.w %d2u,%d3l,>>,(%a2)+,%a7
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d1
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a3
+ mac.w %d2u,%d3l,>>,(%a2)+&,%d2
+ mac.w %d2u,%d3l,>>,(%a2)+&,%a7
+ mac.w %d2u,%d3l,>>,10(%a6),%d1
+ mac.w %d2u,%d3l,>>,10(%a6),%a3
+ mac.w %d2u,%d3l,>>,10(%a6),%d2
+ mac.w %d2u,%d3l,>>,10(%a6),%a7
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d1
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a3
+ mac.w %d2u,%d3l,>>,10(%a6)&,%d2
+ mac.w %d2u,%d3l,>>,10(%a6)&,%a7
+ mac.w %d2u,%d3l,>>,-(%a1),%d1
+ mac.w %d2u,%d3l,>>,-(%a1),%a3
+ mac.w %d2u,%d3l,>>,-(%a1),%d2
+ mac.w %d2u,%d3l,>>,-(%a1),%a7
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d1
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a3
+ mac.w %d2u,%d3l,>>,-(%a1)&,%d2
+ mac.w %d2u,%d3l,>>,-(%a1)&,%a7
+ mac.w %d2u,%d3l,#1,(%a3),%d1
+ mac.w %d2u,%d3l,#1,(%a3),%a3
+ mac.w %d2u,%d3l,#1,(%a3),%d2
+ mac.w %d2u,%d3l,#1,(%a3),%a7
+ mac.w %d2u,%d3l,#1,(%a3)&,%d1
+ mac.w %d2u,%d3l,#1,(%a3)&,%a3
+ mac.w %d2u,%d3l,#1,(%a3)&,%d2
+ mac.w %d2u,%d3l,#1,(%a3)&,%a7
+ mac.w %d2u,%d3l,#1,(%a2)+,%d1
+ mac.w %d2u,%d3l,#1,(%a2)+,%a3
+ mac.w %d2u,%d3l,#1,(%a2)+,%d2
+ mac.w %d2u,%d3l,#1,(%a2)+,%a7
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d1
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a3
+ mac.w %d2u,%d3l,#1,(%a2)+&,%d2
+ mac.w %d2u,%d3l,#1,(%a2)+&,%a7
+ mac.w %d2u,%d3l,#1,10(%a6),%d1
+ mac.w %d2u,%d3l,#1,10(%a6),%a3
+ mac.w %d2u,%d3l,#1,10(%a6),%d2
+ mac.w %d2u,%d3l,#1,10(%a6),%a7
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d1
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a3
+ mac.w %d2u,%d3l,#1,10(%a6)&,%d2
+ mac.w %d2u,%d3l,#1,10(%a6)&,%a7
+ mac.w %d2u,%d3l,#1,-(%a1),%d1
+ mac.w %d2u,%d3l,#1,-(%a1),%a3
+ mac.w %d2u,%d3l,#1,-(%a1),%d2
+ mac.w %d2u,%d3l,#1,-(%a1),%a7
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d1
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a3
+ mac.w %d2u,%d3l,#1,-(%a1)&,%d2
+ mac.w %d2u,%d3l,#1,-(%a1)&,%a7
+ mac.w %d2u,%d3l,#-1,(%a3),%d1
+ mac.w %d2u,%d3l,#-1,(%a3),%a3
+ mac.w %d2u,%d3l,#-1,(%a3),%d2
+ mac.w %d2u,%d3l,#-1,(%a3),%a7
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d1
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a3
+ mac.w %d2u,%d3l,#-1,(%a3)&,%d2
+ mac.w %d2u,%d3l,#-1,(%a3)&,%a7
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d1
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a3
+ mac.w %d2u,%d3l,#-1,(%a2)+,%d2
+ mac.w %d2u,%d3l,#-1,(%a2)+,%a7
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d1
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a3
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%d2
+ mac.w %d2u,%d3l,#-1,(%a2)+&,%a7
+ mac.w %d2u,%d3l,#-1,10(%a6),%d1
+ mac.w %d2u,%d3l,#-1,10(%a6),%a3
+ mac.w %d2u,%d3l,#-1,10(%a6),%d2
+ mac.w %d2u,%d3l,#-1,10(%a6),%a7
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d1
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a3
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%d2
+ mac.w %d2u,%d3l,#-1,10(%a6)&,%a7
+ mac.w %d2u,%d3l,#-1,-(%a1),%d1
+ mac.w %d2u,%d3l,#-1,-(%a1),%a3
+ mac.w %d2u,%d3l,#-1,-(%a1),%d2
+ mac.w %d2u,%d3l,#-1,-(%a1),%a7
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d1
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a3
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%d2
+ mac.w %d2u,%d3l,#-1,-(%a1)&,%a7
+ mac.w %d2u,%a7u,(%a3),%d1
+ mac.w %d2u,%a7u,(%a3),%a3
+ mac.w %d2u,%a7u,(%a3),%d2
+ mac.w %d2u,%a7u,(%a3),%a7
+ mac.w %d2u,%a7u,(%a3)&,%d1
+ mac.w %d2u,%a7u,(%a3)&,%a3
+ mac.w %d2u,%a7u,(%a3)&,%d2
+ mac.w %d2u,%a7u,(%a3)&,%a7
+ mac.w %d2u,%a7u,(%a2)+,%d1
+ mac.w %d2u,%a7u,(%a2)+,%a3
+ mac.w %d2u,%a7u,(%a2)+,%d2
+ mac.w %d2u,%a7u,(%a2)+,%a7
+ mac.w %d2u,%a7u,(%a2)+&,%d1
+ mac.w %d2u,%a7u,(%a2)+&,%a3
+ mac.w %d2u,%a7u,(%a2)+&,%d2
+ mac.w %d2u,%a7u,(%a2)+&,%a7
+ mac.w %d2u,%a7u,10(%a6),%d1
+ mac.w %d2u,%a7u,10(%a6),%a3
+ mac.w %d2u,%a7u,10(%a6),%d2
+ mac.w %d2u,%a7u,10(%a6),%a7
+ mac.w %d2u,%a7u,10(%a6)&,%d1
+ mac.w %d2u,%a7u,10(%a6)&,%a3
+ mac.w %d2u,%a7u,10(%a6)&,%d2
+ mac.w %d2u,%a7u,10(%a6)&,%a7
+ mac.w %d2u,%a7u,-(%a1),%d1
+ mac.w %d2u,%a7u,-(%a1),%a3
+ mac.w %d2u,%a7u,-(%a1),%d2
+ mac.w %d2u,%a7u,-(%a1),%a7
+ mac.w %d2u,%a7u,-(%a1)&,%d1
+ mac.w %d2u,%a7u,-(%a1)&,%a3
+ mac.w %d2u,%a7u,-(%a1)&,%d2
+ mac.w %d2u,%a7u,-(%a1)&,%a7
+ mac.w %d2u,%a7u,<<,(%a3),%d1
+ mac.w %d2u,%a7u,<<,(%a3),%a3
+ mac.w %d2u,%a7u,<<,(%a3),%d2
+ mac.w %d2u,%a7u,<<,(%a3),%a7
+ mac.w %d2u,%a7u,<<,(%a3)&,%d1
+ mac.w %d2u,%a7u,<<,(%a3)&,%a3
+ mac.w %d2u,%a7u,<<,(%a3)&,%d2
+ mac.w %d2u,%a7u,<<,(%a3)&,%a7
+ mac.w %d2u,%a7u,<<,(%a2)+,%d1
+ mac.w %d2u,%a7u,<<,(%a2)+,%a3
+ mac.w %d2u,%a7u,<<,(%a2)+,%d2
+ mac.w %d2u,%a7u,<<,(%a2)+,%a7
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d1
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a3
+ mac.w %d2u,%a7u,<<,(%a2)+&,%d2
+ mac.w %d2u,%a7u,<<,(%a2)+&,%a7
+ mac.w %d2u,%a7u,<<,10(%a6),%d1
+ mac.w %d2u,%a7u,<<,10(%a6),%a3
+ mac.w %d2u,%a7u,<<,10(%a6),%d2
+ mac.w %d2u,%a7u,<<,10(%a6),%a7
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d1
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a3
+ mac.w %d2u,%a7u,<<,10(%a6)&,%d2
+ mac.w %d2u,%a7u,<<,10(%a6)&,%a7
+ mac.w %d2u,%a7u,<<,-(%a1),%d1
+ mac.w %d2u,%a7u,<<,-(%a1),%a3
+ mac.w %d2u,%a7u,<<,-(%a1),%d2
+ mac.w %d2u,%a7u,<<,-(%a1),%a7
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d1
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a3
+ mac.w %d2u,%a7u,<<,-(%a1)&,%d2
+ mac.w %d2u,%a7u,<<,-(%a1)&,%a7
+ mac.w %d2u,%a7u,>>,(%a3),%d1
+ mac.w %d2u,%a7u,>>,(%a3),%a3
+ mac.w %d2u,%a7u,>>,(%a3),%d2
+ mac.w %d2u,%a7u,>>,(%a3),%a7
+ mac.w %d2u,%a7u,>>,(%a3)&,%d1
+ mac.w %d2u,%a7u,>>,(%a3)&,%a3
+ mac.w %d2u,%a7u,>>,(%a3)&,%d2
+ mac.w %d2u,%a7u,>>,(%a3)&,%a7
+ mac.w %d2u,%a7u,>>,(%a2)+,%d1
+ mac.w %d2u,%a7u,>>,(%a2)+,%a3
+ mac.w %d2u,%a7u,>>,(%a2)+,%d2
+ mac.w %d2u,%a7u,>>,(%a2)+,%a7
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d1
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a3
+ mac.w %d2u,%a7u,>>,(%a2)+&,%d2
+ mac.w %d2u,%a7u,>>,(%a2)+&,%a7
+ mac.w %d2u,%a7u,>>,10(%a6),%d1
+ mac.w %d2u,%a7u,>>,10(%a6),%a3
+ mac.w %d2u,%a7u,>>,10(%a6),%d2
+ mac.w %d2u,%a7u,>>,10(%a6),%a7
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d1
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a3
+ mac.w %d2u,%a7u,>>,10(%a6)&,%d2
+ mac.w %d2u,%a7u,>>,10(%a6)&,%a7
+ mac.w %d2u,%a7u,>>,-(%a1),%d1
+ mac.w %d2u,%a7u,>>,-(%a1),%a3
+ mac.w %d2u,%a7u,>>,-(%a1),%d2
+ mac.w %d2u,%a7u,>>,-(%a1),%a7
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d1
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a3
+ mac.w %d2u,%a7u,>>,-(%a1)&,%d2
+ mac.w %d2u,%a7u,>>,-(%a1)&,%a7
+ mac.w %d2u,%a7u,#1,(%a3),%d1
+ mac.w %d2u,%a7u,#1,(%a3),%a3
+ mac.w %d2u,%a7u,#1,(%a3),%d2
+ mac.w %d2u,%a7u,#1,(%a3),%a7
+ mac.w %d2u,%a7u,#1,(%a3)&,%d1
+ mac.w %d2u,%a7u,#1,(%a3)&,%a3
+ mac.w %d2u,%a7u,#1,(%a3)&,%d2
+ mac.w %d2u,%a7u,#1,(%a3)&,%a7
+ mac.w %d2u,%a7u,#1,(%a2)+,%d1
+ mac.w %d2u,%a7u,#1,(%a2)+,%a3
+ mac.w %d2u,%a7u,#1,(%a2)+,%d2
+ mac.w %d2u,%a7u,#1,(%a2)+,%a7
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d1
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a3
+ mac.w %d2u,%a7u,#1,(%a2)+&,%d2
+ mac.w %d2u,%a7u,#1,(%a2)+&,%a7
+ mac.w %d2u,%a7u,#1,10(%a6),%d1
+ mac.w %d2u,%a7u,#1,10(%a6),%a3
+ mac.w %d2u,%a7u,#1,10(%a6),%d2
+ mac.w %d2u,%a7u,#1,10(%a6),%a7
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d1
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a3
+ mac.w %d2u,%a7u,#1,10(%a6)&,%d2
+ mac.w %d2u,%a7u,#1,10(%a6)&,%a7
+ mac.w %d2u,%a7u,#1,-(%a1),%d1
+ mac.w %d2u,%a7u,#1,-(%a1),%a3
+ mac.w %d2u,%a7u,#1,-(%a1),%d2
+ mac.w %d2u,%a7u,#1,-(%a1),%a7
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d1
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a3
+ mac.w %d2u,%a7u,#1,-(%a1)&,%d2
+ mac.w %d2u,%a7u,#1,-(%a1)&,%a7
+ mac.w %d2u,%a7u,#-1,(%a3),%d1
+ mac.w %d2u,%a7u,#-1,(%a3),%a3
+ mac.w %d2u,%a7u,#-1,(%a3),%d2
+ mac.w %d2u,%a7u,#-1,(%a3),%a7
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d1
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a3
+ mac.w %d2u,%a7u,#-1,(%a3)&,%d2
+ mac.w %d2u,%a7u,#-1,(%a3)&,%a7
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d1
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a3
+ mac.w %d2u,%a7u,#-1,(%a2)+,%d2
+ mac.w %d2u,%a7u,#-1,(%a2)+,%a7
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d1
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a3
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%d2
+ mac.w %d2u,%a7u,#-1,(%a2)+&,%a7
+ mac.w %d2u,%a7u,#-1,10(%a6),%d1
+ mac.w %d2u,%a7u,#-1,10(%a6),%a3
+ mac.w %d2u,%a7u,#-1,10(%a6),%d2
+ mac.w %d2u,%a7u,#-1,10(%a6),%a7
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d1
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a3
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%d2
+ mac.w %d2u,%a7u,#-1,10(%a6)&,%a7
+ mac.w %d2u,%a7u,#-1,-(%a1),%d1
+ mac.w %d2u,%a7u,#-1,-(%a1),%a3
+ mac.w %d2u,%a7u,#-1,-(%a1),%d2
+ mac.w %d2u,%a7u,#-1,-(%a1),%a7
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d1
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a3
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%d2
+ mac.w %d2u,%a7u,#-1,-(%a1)&,%a7
+ mac.w %d2u,%d1l,(%a3),%d1
+ mac.w %d2u,%d1l,(%a3),%a3
+ mac.w %d2u,%d1l,(%a3),%d2
+ mac.w %d2u,%d1l,(%a3),%a7
+ mac.w %d2u,%d1l,(%a3)&,%d1
+ mac.w %d2u,%d1l,(%a3)&,%a3
+ mac.w %d2u,%d1l,(%a3)&,%d2
+ mac.w %d2u,%d1l,(%a3)&,%a7
+ mac.w %d2u,%d1l,(%a2)+,%d1
+ mac.w %d2u,%d1l,(%a2)+,%a3
+ mac.w %d2u,%d1l,(%a2)+,%d2
+ mac.w %d2u,%d1l,(%a2)+,%a7
+ mac.w %d2u,%d1l,(%a2)+&,%d1
+ mac.w %d2u,%d1l,(%a2)+&,%a3
+ mac.w %d2u,%d1l,(%a2)+&,%d2
+ mac.w %d2u,%d1l,(%a2)+&,%a7
+ mac.w %d2u,%d1l,10(%a6),%d1
+ mac.w %d2u,%d1l,10(%a6),%a3
+ mac.w %d2u,%d1l,10(%a6),%d2
+ mac.w %d2u,%d1l,10(%a6),%a7
+ mac.w %d2u,%d1l,10(%a6)&,%d1
+ mac.w %d2u,%d1l,10(%a6)&,%a3
+ mac.w %d2u,%d1l,10(%a6)&,%d2
+ mac.w %d2u,%d1l,10(%a6)&,%a7
+ mac.w %d2u,%d1l,-(%a1),%d1
+ mac.w %d2u,%d1l,-(%a1),%a3
+ mac.w %d2u,%d1l,-(%a1),%d2
+ mac.w %d2u,%d1l,-(%a1),%a7
+ mac.w %d2u,%d1l,-(%a1)&,%d1
+ mac.w %d2u,%d1l,-(%a1)&,%a3
+ mac.w %d2u,%d1l,-(%a1)&,%d2
+ mac.w %d2u,%d1l,-(%a1)&,%a7
+ mac.w %d2u,%d1l,<<,(%a3),%d1
+ mac.w %d2u,%d1l,<<,(%a3),%a3
+ mac.w %d2u,%d1l,<<,(%a3),%d2
+ mac.w %d2u,%d1l,<<,(%a3),%a7
+ mac.w %d2u,%d1l,<<,(%a3)&,%d1
+ mac.w %d2u,%d1l,<<,(%a3)&,%a3
+ mac.w %d2u,%d1l,<<,(%a3)&,%d2
+ mac.w %d2u,%d1l,<<,(%a3)&,%a7
+ mac.w %d2u,%d1l,<<,(%a2)+,%d1
+ mac.w %d2u,%d1l,<<,(%a2)+,%a3
+ mac.w %d2u,%d1l,<<,(%a2)+,%d2
+ mac.w %d2u,%d1l,<<,(%a2)+,%a7
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d1
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a3
+ mac.w %d2u,%d1l,<<,(%a2)+&,%d2
+ mac.w %d2u,%d1l,<<,(%a2)+&,%a7
+ mac.w %d2u,%d1l,<<,10(%a6),%d1
+ mac.w %d2u,%d1l,<<,10(%a6),%a3
+ mac.w %d2u,%d1l,<<,10(%a6),%d2
+ mac.w %d2u,%d1l,<<,10(%a6),%a7
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d1
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a3
+ mac.w %d2u,%d1l,<<,10(%a6)&,%d2
+ mac.w %d2u,%d1l,<<,10(%a6)&,%a7
+ mac.w %d2u,%d1l,<<,-(%a1),%d1
+ mac.w %d2u,%d1l,<<,-(%a1),%a3
+ mac.w %d2u,%d1l,<<,-(%a1),%d2
+ mac.w %d2u,%d1l,<<,-(%a1),%a7
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d1
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a3
+ mac.w %d2u,%d1l,<<,-(%a1)&,%d2
+ mac.w %d2u,%d1l,<<,-(%a1)&,%a7
+ mac.w %d2u,%d1l,>>,(%a3),%d1
+ mac.w %d2u,%d1l,>>,(%a3),%a3
+ mac.w %d2u,%d1l,>>,(%a3),%d2
+ mac.w %d2u,%d1l,>>,(%a3),%a7
+ mac.w %d2u,%d1l,>>,(%a3)&,%d1
+ mac.w %d2u,%d1l,>>,(%a3)&,%a3
+ mac.w %d2u,%d1l,>>,(%a3)&,%d2
+ mac.w %d2u,%d1l,>>,(%a3)&,%a7
+ mac.w %d2u,%d1l,>>,(%a2)+,%d1
+ mac.w %d2u,%d1l,>>,(%a2)+,%a3
+ mac.w %d2u,%d1l,>>,(%a2)+,%d2
+ mac.w %d2u,%d1l,>>,(%a2)+,%a7
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d1
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a3
+ mac.w %d2u,%d1l,>>,(%a2)+&,%d2
+ mac.w %d2u,%d1l,>>,(%a2)+&,%a7
+ mac.w %d2u,%d1l,>>,10(%a6),%d1
+ mac.w %d2u,%d1l,>>,10(%a6),%a3
+ mac.w %d2u,%d1l,>>,10(%a6),%d2
+ mac.w %d2u,%d1l,>>,10(%a6),%a7
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d1
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a3
+ mac.w %d2u,%d1l,>>,10(%a6)&,%d2
+ mac.w %d2u,%d1l,>>,10(%a6)&,%a7
+ mac.w %d2u,%d1l,>>,-(%a1),%d1
+ mac.w %d2u,%d1l,>>,-(%a1),%a3
+ mac.w %d2u,%d1l,>>,-(%a1),%d2
+ mac.w %d2u,%d1l,>>,-(%a1),%a7
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d1
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a3
+ mac.w %d2u,%d1l,>>,-(%a1)&,%d2
+ mac.w %d2u,%d1l,>>,-(%a1)&,%a7
+ mac.w %d2u,%d1l,#1,(%a3),%d1
+ mac.w %d2u,%d1l,#1,(%a3),%a3
+ mac.w %d2u,%d1l,#1,(%a3),%d2
+ mac.w %d2u,%d1l,#1,(%a3),%a7
+ mac.w %d2u,%d1l,#1,(%a3)&,%d1
+ mac.w %d2u,%d1l,#1,(%a3)&,%a3
+ mac.w %d2u,%d1l,#1,(%a3)&,%d2
+ mac.w %d2u,%d1l,#1,(%a3)&,%a7
+ mac.w %d2u,%d1l,#1,(%a2)+,%d1
+ mac.w %d2u,%d1l,#1,(%a2)+,%a3
+ mac.w %d2u,%d1l,#1,(%a2)+,%d2
+ mac.w %d2u,%d1l,#1,(%a2)+,%a7
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d1
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a3
+ mac.w %d2u,%d1l,#1,(%a2)+&,%d2
+ mac.w %d2u,%d1l,#1,(%a2)+&,%a7
+ mac.w %d2u,%d1l,#1,10(%a6),%d1
+ mac.w %d2u,%d1l,#1,10(%a6),%a3
+ mac.w %d2u,%d1l,#1,10(%a6),%d2
+ mac.w %d2u,%d1l,#1,10(%a6),%a7
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d1
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a3
+ mac.w %d2u,%d1l,#1,10(%a6)&,%d2
+ mac.w %d2u,%d1l,#1,10(%a6)&,%a7
+ mac.w %d2u,%d1l,#1,-(%a1),%d1
+ mac.w %d2u,%d1l,#1,-(%a1),%a3
+ mac.w %d2u,%d1l,#1,-(%a1),%d2
+ mac.w %d2u,%d1l,#1,-(%a1),%a7
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d1
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a3
+ mac.w %d2u,%d1l,#1,-(%a1)&,%d2
+ mac.w %d2u,%d1l,#1,-(%a1)&,%a7
+ mac.w %d2u,%d1l,#-1,(%a3),%d1
+ mac.w %d2u,%d1l,#-1,(%a3),%a3
+ mac.w %d2u,%d1l,#-1,(%a3),%d2
+ mac.w %d2u,%d1l,#-1,(%a3),%a7
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d1
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a3
+ mac.w %d2u,%d1l,#-1,(%a3)&,%d2
+ mac.w %d2u,%d1l,#-1,(%a3)&,%a7
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d1
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a3
+ mac.w %d2u,%d1l,#-1,(%a2)+,%d2
+ mac.w %d2u,%d1l,#-1,(%a2)+,%a7
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d1
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a3
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%d2
+ mac.w %d2u,%d1l,#-1,(%a2)+&,%a7
+ mac.w %d2u,%d1l,#-1,10(%a6),%d1
+ mac.w %d2u,%d1l,#-1,10(%a6),%a3
+ mac.w %d2u,%d1l,#-1,10(%a6),%d2
+ mac.w %d2u,%d1l,#-1,10(%a6),%a7
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d1
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a3
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%d2
+ mac.w %d2u,%d1l,#-1,10(%a6)&,%a7
+ mac.w %d2u,%d1l,#-1,-(%a1),%d1
+ mac.w %d2u,%d1l,#-1,-(%a1),%a3
+ mac.w %d2u,%d1l,#-1,-(%a1),%d2
+ mac.w %d2u,%d1l,#-1,-(%a1),%a7
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d1
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a3
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%d2
+ mac.w %d2u,%d1l,#-1,-(%a1)&,%a7
+ mac.w %a5l,%a2u,(%a3),%d1
+ mac.w %a5l,%a2u,(%a3),%a3
+ mac.w %a5l,%a2u,(%a3),%d2
+ mac.w %a5l,%a2u,(%a3),%a7
+ mac.w %a5l,%a2u,(%a3)&,%d1
+ mac.w %a5l,%a2u,(%a3)&,%a3
+ mac.w %a5l,%a2u,(%a3)&,%d2
+ mac.w %a5l,%a2u,(%a3)&,%a7
+ mac.w %a5l,%a2u,(%a2)+,%d1
+ mac.w %a5l,%a2u,(%a2)+,%a3
+ mac.w %a5l,%a2u,(%a2)+,%d2
+ mac.w %a5l,%a2u,(%a2)+,%a7
+ mac.w %a5l,%a2u,(%a2)+&,%d1
+ mac.w %a5l,%a2u,(%a2)+&,%a3
+ mac.w %a5l,%a2u,(%a2)+&,%d2
+ mac.w %a5l,%a2u,(%a2)+&,%a7
+ mac.w %a5l,%a2u,10(%a6),%d1
+ mac.w %a5l,%a2u,10(%a6),%a3
+ mac.w %a5l,%a2u,10(%a6),%d2
+ mac.w %a5l,%a2u,10(%a6),%a7
+ mac.w %a5l,%a2u,10(%a6)&,%d1
+ mac.w %a5l,%a2u,10(%a6)&,%a3
+ mac.w %a5l,%a2u,10(%a6)&,%d2
+ mac.w %a5l,%a2u,10(%a6)&,%a7
+ mac.w %a5l,%a2u,-(%a1),%d1
+ mac.w %a5l,%a2u,-(%a1),%a3
+ mac.w %a5l,%a2u,-(%a1),%d2
+ mac.w %a5l,%a2u,-(%a1),%a7
+ mac.w %a5l,%a2u,-(%a1)&,%d1
+ mac.w %a5l,%a2u,-(%a1)&,%a3
+ mac.w %a5l,%a2u,-(%a1)&,%d2
+ mac.w %a5l,%a2u,-(%a1)&,%a7
+ mac.w %a5l,%a2u,<<,(%a3),%d1
+ mac.w %a5l,%a2u,<<,(%a3),%a3
+ mac.w %a5l,%a2u,<<,(%a3),%d2
+ mac.w %a5l,%a2u,<<,(%a3),%a7
+ mac.w %a5l,%a2u,<<,(%a3)&,%d1
+ mac.w %a5l,%a2u,<<,(%a3)&,%a3
+ mac.w %a5l,%a2u,<<,(%a3)&,%d2
+ mac.w %a5l,%a2u,<<,(%a3)&,%a7
+ mac.w %a5l,%a2u,<<,(%a2)+,%d1
+ mac.w %a5l,%a2u,<<,(%a2)+,%a3
+ mac.w %a5l,%a2u,<<,(%a2)+,%d2
+ mac.w %a5l,%a2u,<<,(%a2)+,%a7
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d1
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a3
+ mac.w %a5l,%a2u,<<,(%a2)+&,%d2
+ mac.w %a5l,%a2u,<<,(%a2)+&,%a7
+ mac.w %a5l,%a2u,<<,10(%a6),%d1
+ mac.w %a5l,%a2u,<<,10(%a6),%a3
+ mac.w %a5l,%a2u,<<,10(%a6),%d2
+ mac.w %a5l,%a2u,<<,10(%a6),%a7
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d1
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a3
+ mac.w %a5l,%a2u,<<,10(%a6)&,%d2
+ mac.w %a5l,%a2u,<<,10(%a6)&,%a7
+ mac.w %a5l,%a2u,<<,-(%a1),%d1
+ mac.w %a5l,%a2u,<<,-(%a1),%a3
+ mac.w %a5l,%a2u,<<,-(%a1),%d2
+ mac.w %a5l,%a2u,<<,-(%a1),%a7
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d1
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a3
+ mac.w %a5l,%a2u,<<,-(%a1)&,%d2
+ mac.w %a5l,%a2u,<<,-(%a1)&,%a7
+ mac.w %a5l,%a2u,>>,(%a3),%d1
+ mac.w %a5l,%a2u,>>,(%a3),%a3
+ mac.w %a5l,%a2u,>>,(%a3),%d2
+ mac.w %a5l,%a2u,>>,(%a3),%a7
+ mac.w %a5l,%a2u,>>,(%a3)&,%d1
+ mac.w %a5l,%a2u,>>,(%a3)&,%a3
+ mac.w %a5l,%a2u,>>,(%a3)&,%d2
+ mac.w %a5l,%a2u,>>,(%a3)&,%a7
+ mac.w %a5l,%a2u,>>,(%a2)+,%d1
+ mac.w %a5l,%a2u,>>,(%a2)+,%a3
+ mac.w %a5l,%a2u,>>,(%a2)+,%d2
+ mac.w %a5l,%a2u,>>,(%a2)+,%a7
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d1
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a3
+ mac.w %a5l,%a2u,>>,(%a2)+&,%d2
+ mac.w %a5l,%a2u,>>,(%a2)+&,%a7
+ mac.w %a5l,%a2u,>>,10(%a6),%d1
+ mac.w %a5l,%a2u,>>,10(%a6),%a3
+ mac.w %a5l,%a2u,>>,10(%a6),%d2
+ mac.w %a5l,%a2u,>>,10(%a6),%a7
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d1
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a3
+ mac.w %a5l,%a2u,>>,10(%a6)&,%d2
+ mac.w %a5l,%a2u,>>,10(%a6)&,%a7
+ mac.w %a5l,%a2u,>>,-(%a1),%d1
+ mac.w %a5l,%a2u,>>,-(%a1),%a3
+ mac.w %a5l,%a2u,>>,-(%a1),%d2
+ mac.w %a5l,%a2u,>>,-(%a1),%a7
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d1
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a3
+ mac.w %a5l,%a2u,>>,-(%a1)&,%d2
+ mac.w %a5l,%a2u,>>,-(%a1)&,%a7
+ mac.w %a5l,%a2u,#1,(%a3),%d1
+ mac.w %a5l,%a2u,#1,(%a3),%a3
+ mac.w %a5l,%a2u,#1,(%a3),%d2
+ mac.w %a5l,%a2u,#1,(%a3),%a7
+ mac.w %a5l,%a2u,#1,(%a3)&,%d1
+ mac.w %a5l,%a2u,#1,(%a3)&,%a3
+ mac.w %a5l,%a2u,#1,(%a3)&,%d2
+ mac.w %a5l,%a2u,#1,(%a3)&,%a7
+ mac.w %a5l,%a2u,#1,(%a2)+,%d1
+ mac.w %a5l,%a2u,#1,(%a2)+,%a3
+ mac.w %a5l,%a2u,#1,(%a2)+,%d2
+ mac.w %a5l,%a2u,#1,(%a2)+,%a7
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d1
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a3
+ mac.w %a5l,%a2u,#1,(%a2)+&,%d2
+ mac.w %a5l,%a2u,#1,(%a2)+&,%a7
+ mac.w %a5l,%a2u,#1,10(%a6),%d1
+ mac.w %a5l,%a2u,#1,10(%a6),%a3
+ mac.w %a5l,%a2u,#1,10(%a6),%d2
+ mac.w %a5l,%a2u,#1,10(%a6),%a7
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d1
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a3
+ mac.w %a5l,%a2u,#1,10(%a6)&,%d2
+ mac.w %a5l,%a2u,#1,10(%a6)&,%a7
+ mac.w %a5l,%a2u,#1,-(%a1),%d1
+ mac.w %a5l,%a2u,#1,-(%a1),%a3
+ mac.w %a5l,%a2u,#1,-(%a1),%d2
+ mac.w %a5l,%a2u,#1,-(%a1),%a7
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d1
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a3
+ mac.w %a5l,%a2u,#1,-(%a1)&,%d2
+ mac.w %a5l,%a2u,#1,-(%a1)&,%a7
+ mac.w %a5l,%a2u,#-1,(%a3),%d1
+ mac.w %a5l,%a2u,#-1,(%a3),%a3
+ mac.w %a5l,%a2u,#-1,(%a3),%d2
+ mac.w %a5l,%a2u,#-1,(%a3),%a7
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d1
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a3
+ mac.w %a5l,%a2u,#-1,(%a3)&,%d2
+ mac.w %a5l,%a2u,#-1,(%a3)&,%a7
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d1
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a3
+ mac.w %a5l,%a2u,#-1,(%a2)+,%d2
+ mac.w %a5l,%a2u,#-1,(%a2)+,%a7
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d1
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a3
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%d2
+ mac.w %a5l,%a2u,#-1,(%a2)+&,%a7
+ mac.w %a5l,%a2u,#-1,10(%a6),%d1
+ mac.w %a5l,%a2u,#-1,10(%a6),%a3
+ mac.w %a5l,%a2u,#-1,10(%a6),%d2
+ mac.w %a5l,%a2u,#-1,10(%a6),%a7
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d1
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a3
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%d2
+ mac.w %a5l,%a2u,#-1,10(%a6)&,%a7
+ mac.w %a5l,%a2u,#-1,-(%a1),%d1
+ mac.w %a5l,%a2u,#-1,-(%a1),%a3
+ mac.w %a5l,%a2u,#-1,-(%a1),%d2
+ mac.w %a5l,%a2u,#-1,-(%a1),%a7
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d1
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a3
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%d2
+ mac.w %a5l,%a2u,#-1,-(%a1)&,%a7
+ mac.w %a5l,%d3l,(%a3),%d1
+ mac.w %a5l,%d3l,(%a3),%a3
+ mac.w %a5l,%d3l,(%a3),%d2
+ mac.w %a5l,%d3l,(%a3),%a7
+ mac.w %a5l,%d3l,(%a3)&,%d1
+ mac.w %a5l,%d3l,(%a3)&,%a3
+ mac.w %a5l,%d3l,(%a3)&,%d2
+ mac.w %a5l,%d3l,(%a3)&,%a7
+ mac.w %a5l,%d3l,(%a2)+,%d1
+ mac.w %a5l,%d3l,(%a2)+,%a3
+ mac.w %a5l,%d3l,(%a2)+,%d2
+ mac.w %a5l,%d3l,(%a2)+,%a7
+ mac.w %a5l,%d3l,(%a2)+&,%d1
+ mac.w %a5l,%d3l,(%a2)+&,%a3
+ mac.w %a5l,%d3l,(%a2)+&,%d2
+ mac.w %a5l,%d3l,(%a2)+&,%a7
+ mac.w %a5l,%d3l,10(%a6),%d1
+ mac.w %a5l,%d3l,10(%a6),%a3
+ mac.w %a5l,%d3l,10(%a6),%d2
+ mac.w %a5l,%d3l,10(%a6),%a7
+ mac.w %a5l,%d3l,10(%a6)&,%d1
+ mac.w %a5l,%d3l,10(%a6)&,%a3
+ mac.w %a5l,%d3l,10(%a6)&,%d2
+ mac.w %a5l,%d3l,10(%a6)&,%a7
+ mac.w %a5l,%d3l,-(%a1),%d1
+ mac.w %a5l,%d3l,-(%a1),%a3
+ mac.w %a5l,%d3l,-(%a1),%d2
+ mac.w %a5l,%d3l,-(%a1),%a7
+ mac.w %a5l,%d3l,-(%a1)&,%d1
+ mac.w %a5l,%d3l,-(%a1)&,%a3
+ mac.w %a5l,%d3l,-(%a1)&,%d2
+ mac.w %a5l,%d3l,-(%a1)&,%a7
+ mac.w %a5l,%d3l,<<,(%a3),%d1
+ mac.w %a5l,%d3l,<<,(%a3),%a3
+ mac.w %a5l,%d3l,<<,(%a3),%d2
+ mac.w %a5l,%d3l,<<,(%a3),%a7
+ mac.w %a5l,%d3l,<<,(%a3)&,%d1
+ mac.w %a5l,%d3l,<<,(%a3)&,%a3
+ mac.w %a5l,%d3l,<<,(%a3)&,%d2
+ mac.w %a5l,%d3l,<<,(%a3)&,%a7
+ mac.w %a5l,%d3l,<<,(%a2)+,%d1
+ mac.w %a5l,%d3l,<<,(%a2)+,%a3
+ mac.w %a5l,%d3l,<<,(%a2)+,%d2
+ mac.w %a5l,%d3l,<<,(%a2)+,%a7
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d1
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a3
+ mac.w %a5l,%d3l,<<,(%a2)+&,%d2
+ mac.w %a5l,%d3l,<<,(%a2)+&,%a7
+ mac.w %a5l,%d3l,<<,10(%a6),%d1
+ mac.w %a5l,%d3l,<<,10(%a6),%a3
+ mac.w %a5l,%d3l,<<,10(%a6),%d2
+ mac.w %a5l,%d3l,<<,10(%a6),%a7
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d1
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a3
+ mac.w %a5l,%d3l,<<,10(%a6)&,%d2
+ mac.w %a5l,%d3l,<<,10(%a6)&,%a7
+ mac.w %a5l,%d3l,<<,-(%a1),%d1
+ mac.w %a5l,%d3l,<<,-(%a1),%a3
+ mac.w %a5l,%d3l,<<,-(%a1),%d2
+ mac.w %a5l,%d3l,<<,-(%a1),%a7
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d1
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a3
+ mac.w %a5l,%d3l,<<,-(%a1)&,%d2
+ mac.w %a5l,%d3l,<<,-(%a1)&,%a7
+ mac.w %a5l,%d3l,>>,(%a3),%d1
+ mac.w %a5l,%d3l,>>,(%a3),%a3
+ mac.w %a5l,%d3l,>>,(%a3),%d2
+ mac.w %a5l,%d3l,>>,(%a3),%a7
+ mac.w %a5l,%d3l,>>,(%a3)&,%d1
+ mac.w %a5l,%d3l,>>,(%a3)&,%a3
+ mac.w %a5l,%d3l,>>,(%a3)&,%d2
+ mac.w %a5l,%d3l,>>,(%a3)&,%a7
+ mac.w %a5l,%d3l,>>,(%a2)+,%d1
+ mac.w %a5l,%d3l,>>,(%a2)+,%a3
+ mac.w %a5l,%d3l,>>,(%a2)+,%d2
+ mac.w %a5l,%d3l,>>,(%a2)+,%a7
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d1
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a3
+ mac.w %a5l,%d3l,>>,(%a2)+&,%d2
+ mac.w %a5l,%d3l,>>,(%a2)+&,%a7
+ mac.w %a5l,%d3l,>>,10(%a6),%d1
+ mac.w %a5l,%d3l,>>,10(%a6),%a3
+ mac.w %a5l,%d3l,>>,10(%a6),%d2
+ mac.w %a5l,%d3l,>>,10(%a6),%a7
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d1
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a3
+ mac.w %a5l,%d3l,>>,10(%a6)&,%d2
+ mac.w %a5l,%d3l,>>,10(%a6)&,%a7
+ mac.w %a5l,%d3l,>>,-(%a1),%d1
+ mac.w %a5l,%d3l,>>,-(%a1),%a3
+ mac.w %a5l,%d3l,>>,-(%a1),%d2
+ mac.w %a5l,%d3l,>>,-(%a1),%a7
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d1
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a3
+ mac.w %a5l,%d3l,>>,-(%a1)&,%d2
+ mac.w %a5l,%d3l,>>,-(%a1)&,%a7
+ mac.w %a5l,%d3l,#1,(%a3),%d1
+ mac.w %a5l,%d3l,#1,(%a3),%a3
+ mac.w %a5l,%d3l,#1,(%a3),%d2
+ mac.w %a5l,%d3l,#1,(%a3),%a7
+ mac.w %a5l,%d3l,#1,(%a3)&,%d1
+ mac.w %a5l,%d3l,#1,(%a3)&,%a3
+ mac.w %a5l,%d3l,#1,(%a3)&,%d2
+ mac.w %a5l,%d3l,#1,(%a3)&,%a7
+ mac.w %a5l,%d3l,#1,(%a2)+,%d1
+ mac.w %a5l,%d3l,#1,(%a2)+,%a3
+ mac.w %a5l,%d3l,#1,(%a2)+,%d2
+ mac.w %a5l,%d3l,#1,(%a2)+,%a7
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d1
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a3
+ mac.w %a5l,%d3l,#1,(%a2)+&,%d2
+ mac.w %a5l,%d3l,#1,(%a2)+&,%a7
+ mac.w %a5l,%d3l,#1,10(%a6),%d1
+ mac.w %a5l,%d3l,#1,10(%a6),%a3
+ mac.w %a5l,%d3l,#1,10(%a6),%d2
+ mac.w %a5l,%d3l,#1,10(%a6),%a7
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d1
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a3
+ mac.w %a5l,%d3l,#1,10(%a6)&,%d2
+ mac.w %a5l,%d3l,#1,10(%a6)&,%a7
+ mac.w %a5l,%d3l,#1,-(%a1),%d1
+ mac.w %a5l,%d3l,#1,-(%a1),%a3
+ mac.w %a5l,%d3l,#1,-(%a1),%d2
+ mac.w %a5l,%d3l,#1,-(%a1),%a7
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d1
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a3
+ mac.w %a5l,%d3l,#1,-(%a1)&,%d2
+ mac.w %a5l,%d3l,#1,-(%a1)&,%a7
+ mac.w %a5l,%d3l,#-1,(%a3),%d1
+ mac.w %a5l,%d3l,#-1,(%a3),%a3
+ mac.w %a5l,%d3l,#-1,(%a3),%d2
+ mac.w %a5l,%d3l,#-1,(%a3),%a7
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d1
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a3
+ mac.w %a5l,%d3l,#-1,(%a3)&,%d2
+ mac.w %a5l,%d3l,#-1,(%a3)&,%a7
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d1
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a3
+ mac.w %a5l,%d3l,#-1,(%a2)+,%d2
+ mac.w %a5l,%d3l,#-1,(%a2)+,%a7
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d1
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a3
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%d2
+ mac.w %a5l,%d3l,#-1,(%a2)+&,%a7
+ mac.w %a5l,%d3l,#-1,10(%a6),%d1
+ mac.w %a5l,%d3l,#-1,10(%a6),%a3
+ mac.w %a5l,%d3l,#-1,10(%a6),%d2
+ mac.w %a5l,%d3l,#-1,10(%a6),%a7
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d1
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a3
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%d2
+ mac.w %a5l,%d3l,#-1,10(%a6)&,%a7
+ mac.w %a5l,%d3l,#-1,-(%a1),%d1
+ mac.w %a5l,%d3l,#-1,-(%a1),%a3
+ mac.w %a5l,%d3l,#-1,-(%a1),%d2
+ mac.w %a5l,%d3l,#-1,-(%a1),%a7
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d1
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a3
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%d2
+ mac.w %a5l,%d3l,#-1,-(%a1)&,%a7
+ mac.w %a5l,%a7u,(%a3),%d1
+ mac.w %a5l,%a7u,(%a3),%a3
+ mac.w %a5l,%a7u,(%a3),%d2
+ mac.w %a5l,%a7u,(%a3),%a7
+ mac.w %a5l,%a7u,(%a3)&,%d1
+ mac.w %a5l,%a7u,(%a3)&,%a3
+ mac.w %a5l,%a7u,(%a3)&,%d2
+ mac.w %a5l,%a7u,(%a3)&,%a7
+ mac.w %a5l,%a7u,(%a2)+,%d1
+ mac.w %a5l,%a7u,(%a2)+,%a3
+ mac.w %a5l,%a7u,(%a2)+,%d2
+ mac.w %a5l,%a7u,(%a2)+,%a7
+ mac.w %a5l,%a7u,(%a2)+&,%d1
+ mac.w %a5l,%a7u,(%a2)+&,%a3
+ mac.w %a5l,%a7u,(%a2)+&,%d2
+ mac.w %a5l,%a7u,(%a2)+&,%a7
+ mac.w %a5l,%a7u,10(%a6),%d1
+ mac.w %a5l,%a7u,10(%a6),%a3
+ mac.w %a5l,%a7u,10(%a6),%d2
+ mac.w %a5l,%a7u,10(%a6),%a7
+ mac.w %a5l,%a7u,10(%a6)&,%d1
+ mac.w %a5l,%a7u,10(%a6)&,%a3
+ mac.w %a5l,%a7u,10(%a6)&,%d2
+ mac.w %a5l,%a7u,10(%a6)&,%a7
+ mac.w %a5l,%a7u,-(%a1),%d1
+ mac.w %a5l,%a7u,-(%a1),%a3
+ mac.w %a5l,%a7u,-(%a1),%d2
+ mac.w %a5l,%a7u,-(%a1),%a7
+ mac.w %a5l,%a7u,-(%a1)&,%d1
+ mac.w %a5l,%a7u,-(%a1)&,%a3
+ mac.w %a5l,%a7u,-(%a1)&,%d2
+ mac.w %a5l,%a7u,-(%a1)&,%a7
+ mac.w %a5l,%a7u,<<,(%a3),%d1
+ mac.w %a5l,%a7u,<<,(%a3),%a3
+ mac.w %a5l,%a7u,<<,(%a3),%d2
+ mac.w %a5l,%a7u,<<,(%a3),%a7
+ mac.w %a5l,%a7u,<<,(%a3)&,%d1
+ mac.w %a5l,%a7u,<<,(%a3)&,%a3
+ mac.w %a5l,%a7u,<<,(%a3)&,%d2
+ mac.w %a5l,%a7u,<<,(%a3)&,%a7
+ mac.w %a5l,%a7u,<<,(%a2)+,%d1
+ mac.w %a5l,%a7u,<<,(%a2)+,%a3
+ mac.w %a5l,%a7u,<<,(%a2)+,%d2
+ mac.w %a5l,%a7u,<<,(%a2)+,%a7
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d1
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a3
+ mac.w %a5l,%a7u,<<,(%a2)+&,%d2
+ mac.w %a5l,%a7u,<<,(%a2)+&,%a7
+ mac.w %a5l,%a7u,<<,10(%a6),%d1
+ mac.w %a5l,%a7u,<<,10(%a6),%a3
+ mac.w %a5l,%a7u,<<,10(%a6),%d2
+ mac.w %a5l,%a7u,<<,10(%a6),%a7
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d1
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a3
+ mac.w %a5l,%a7u,<<,10(%a6)&,%d2
+ mac.w %a5l,%a7u,<<,10(%a6)&,%a7
+ mac.w %a5l,%a7u,<<,-(%a1),%d1
+ mac.w %a5l,%a7u,<<,-(%a1),%a3
+ mac.w %a5l,%a7u,<<,-(%a1),%d2
+ mac.w %a5l,%a7u,<<,-(%a1),%a7
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d1
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a3
+ mac.w %a5l,%a7u,<<,-(%a1)&,%d2
+ mac.w %a5l,%a7u,<<,-(%a1)&,%a7
+ mac.w %a5l,%a7u,>>,(%a3),%d1
+ mac.w %a5l,%a7u,>>,(%a3),%a3
+ mac.w %a5l,%a7u,>>,(%a3),%d2
+ mac.w %a5l,%a7u,>>,(%a3),%a7
+ mac.w %a5l,%a7u,>>,(%a3)&,%d1
+ mac.w %a5l,%a7u,>>,(%a3)&,%a3
+ mac.w %a5l,%a7u,>>,(%a3)&,%d2
+ mac.w %a5l,%a7u,>>,(%a3)&,%a7
+ mac.w %a5l,%a7u,>>,(%a2)+,%d1
+ mac.w %a5l,%a7u,>>,(%a2)+,%a3
+ mac.w %a5l,%a7u,>>,(%a2)+,%d2
+ mac.w %a5l,%a7u,>>,(%a2)+,%a7
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d1
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a3
+ mac.w %a5l,%a7u,>>,(%a2)+&,%d2
+ mac.w %a5l,%a7u,>>,(%a2)+&,%a7
+ mac.w %a5l,%a7u,>>,10(%a6),%d1
+ mac.w %a5l,%a7u,>>,10(%a6),%a3
+ mac.w %a5l,%a7u,>>,10(%a6),%d2
+ mac.w %a5l,%a7u,>>,10(%a6),%a7
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d1
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a3
+ mac.w %a5l,%a7u,>>,10(%a6)&,%d2
+ mac.w %a5l,%a7u,>>,10(%a6)&,%a7
+ mac.w %a5l,%a7u,>>,-(%a1),%d1
+ mac.w %a5l,%a7u,>>,-(%a1),%a3
+ mac.w %a5l,%a7u,>>,-(%a1),%d2
+ mac.w %a5l,%a7u,>>,-(%a1),%a7
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d1
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a3
+ mac.w %a5l,%a7u,>>,-(%a1)&,%d2
+ mac.w %a5l,%a7u,>>,-(%a1)&,%a7
+ mac.w %a5l,%a7u,#1,(%a3),%d1
+ mac.w %a5l,%a7u,#1,(%a3),%a3
+ mac.w %a5l,%a7u,#1,(%a3),%d2
+ mac.w %a5l,%a7u,#1,(%a3),%a7
+ mac.w %a5l,%a7u,#1,(%a3)&,%d1
+ mac.w %a5l,%a7u,#1,(%a3)&,%a3
+ mac.w %a5l,%a7u,#1,(%a3)&,%d2
+ mac.w %a5l,%a7u,#1,(%a3)&,%a7
+ mac.w %a5l,%a7u,#1,(%a2)+,%d1
+ mac.w %a5l,%a7u,#1,(%a2)+,%a3
+ mac.w %a5l,%a7u,#1,(%a2)+,%d2
+ mac.w %a5l,%a7u,#1,(%a2)+,%a7
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d1
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a3
+ mac.w %a5l,%a7u,#1,(%a2)+&,%d2
+ mac.w %a5l,%a7u,#1,(%a2)+&,%a7
+ mac.w %a5l,%a7u,#1,10(%a6),%d1
+ mac.w %a5l,%a7u,#1,10(%a6),%a3
+ mac.w %a5l,%a7u,#1,10(%a6),%d2
+ mac.w %a5l,%a7u,#1,10(%a6),%a7
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d1
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a3
+ mac.w %a5l,%a7u,#1,10(%a6)&,%d2
+ mac.w %a5l,%a7u,#1,10(%a6)&,%a7
+ mac.w %a5l,%a7u,#1,-(%a1),%d1
+ mac.w %a5l,%a7u,#1,-(%a1),%a3
+ mac.w %a5l,%a7u,#1,-(%a1),%d2
+ mac.w %a5l,%a7u,#1,-(%a1),%a7
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d1
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a3
+ mac.w %a5l,%a7u,#1,-(%a1)&,%d2
+ mac.w %a5l,%a7u,#1,-(%a1)&,%a7
+ mac.w %a5l,%a7u,#-1,(%a3),%d1
+ mac.w %a5l,%a7u,#-1,(%a3),%a3
+ mac.w %a5l,%a7u,#-1,(%a3),%d2
+ mac.w %a5l,%a7u,#-1,(%a3),%a7
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d1
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a3
+ mac.w %a5l,%a7u,#-1,(%a3)&,%d2
+ mac.w %a5l,%a7u,#-1,(%a3)&,%a7
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d1
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a3
+ mac.w %a5l,%a7u,#-1,(%a2)+,%d2
+ mac.w %a5l,%a7u,#-1,(%a2)+,%a7
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d1
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a3
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%d2
+ mac.w %a5l,%a7u,#-1,(%a2)+&,%a7
+ mac.w %a5l,%a7u,#-1,10(%a6),%d1
+ mac.w %a5l,%a7u,#-1,10(%a6),%a3
+ mac.w %a5l,%a7u,#-1,10(%a6),%d2
+ mac.w %a5l,%a7u,#-1,10(%a6),%a7
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d1
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a3
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%d2
+ mac.w %a5l,%a7u,#-1,10(%a6)&,%a7
+ mac.w %a5l,%a7u,#-1,-(%a1),%d1
+ mac.w %a5l,%a7u,#-1,-(%a1),%a3
+ mac.w %a5l,%a7u,#-1,-(%a1),%d2
+ mac.w %a5l,%a7u,#-1,-(%a1),%a7
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d1
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a3
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%d2
+ mac.w %a5l,%a7u,#-1,-(%a1)&,%a7
+ mac.w %a5l,%d1l,(%a3),%d1
+ mac.w %a5l,%d1l,(%a3),%a3
+ mac.w %a5l,%d1l,(%a3),%d2
+ mac.w %a5l,%d1l,(%a3),%a7
+ mac.w %a5l,%d1l,(%a3)&,%d1
+ mac.w %a5l,%d1l,(%a3)&,%a3
+ mac.w %a5l,%d1l,(%a3)&,%d2
+ mac.w %a5l,%d1l,(%a3)&,%a7
+ mac.w %a5l,%d1l,(%a2)+,%d1
+ mac.w %a5l,%d1l,(%a2)+,%a3
+ mac.w %a5l,%d1l,(%a2)+,%d2
+ mac.w %a5l,%d1l,(%a2)+,%a7
+ mac.w %a5l,%d1l,(%a2)+&,%d1
+ mac.w %a5l,%d1l,(%a2)+&,%a3
+ mac.w %a5l,%d1l,(%a2)+&,%d2
+ mac.w %a5l,%d1l,(%a2)+&,%a7
+ mac.w %a5l,%d1l,10(%a6),%d1
+ mac.w %a5l,%d1l,10(%a6),%a3
+ mac.w %a5l,%d1l,10(%a6),%d2
+ mac.w %a5l,%d1l,10(%a6),%a7
+ mac.w %a5l,%d1l,10(%a6)&,%d1
+ mac.w %a5l,%d1l,10(%a6)&,%a3
+ mac.w %a5l,%d1l,10(%a6)&,%d2
+ mac.w %a5l,%d1l,10(%a6)&,%a7
+ mac.w %a5l,%d1l,-(%a1),%d1
+ mac.w %a5l,%d1l,-(%a1),%a3
+ mac.w %a5l,%d1l,-(%a1),%d2
+ mac.w %a5l,%d1l,-(%a1),%a7
+ mac.w %a5l,%d1l,-(%a1)&,%d1
+ mac.w %a5l,%d1l,-(%a1)&,%a3
+ mac.w %a5l,%d1l,-(%a1)&,%d2
+ mac.w %a5l,%d1l,-(%a1)&,%a7
+ mac.w %a5l,%d1l,<<,(%a3),%d1
+ mac.w %a5l,%d1l,<<,(%a3),%a3
+ mac.w %a5l,%d1l,<<,(%a3),%d2
+ mac.w %a5l,%d1l,<<,(%a3),%a7
+ mac.w %a5l,%d1l,<<,(%a3)&,%d1
+ mac.w %a5l,%d1l,<<,(%a3)&,%a3
+ mac.w %a5l,%d1l,<<,(%a3)&,%d2
+ mac.w %a5l,%d1l,<<,(%a3)&,%a7
+ mac.w %a5l,%d1l,<<,(%a2)+,%d1
+ mac.w %a5l,%d1l,<<,(%a2)+,%a3
+ mac.w %a5l,%d1l,<<,(%a2)+,%d2
+ mac.w %a5l,%d1l,<<,(%a2)+,%a7
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d1
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a3
+ mac.w %a5l,%d1l,<<,(%a2)+&,%d2
+ mac.w %a5l,%d1l,<<,(%a2)+&,%a7
+ mac.w %a5l,%d1l,<<,10(%a6),%d1
+ mac.w %a5l,%d1l,<<,10(%a6),%a3
+ mac.w %a5l,%d1l,<<,10(%a6),%d2
+ mac.w %a5l,%d1l,<<,10(%a6),%a7
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d1
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a3
+ mac.w %a5l,%d1l,<<,10(%a6)&,%d2
+ mac.w %a5l,%d1l,<<,10(%a6)&,%a7
+ mac.w %a5l,%d1l,<<,-(%a1),%d1
+ mac.w %a5l,%d1l,<<,-(%a1),%a3
+ mac.w %a5l,%d1l,<<,-(%a1),%d2
+ mac.w %a5l,%d1l,<<,-(%a1),%a7
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d1
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a3
+ mac.w %a5l,%d1l,<<,-(%a1)&,%d2
+ mac.w %a5l,%d1l,<<,-(%a1)&,%a7
+ mac.w %a5l,%d1l,>>,(%a3),%d1
+ mac.w %a5l,%d1l,>>,(%a3),%a3
+ mac.w %a5l,%d1l,>>,(%a3),%d2
+ mac.w %a5l,%d1l,>>,(%a3),%a7
+ mac.w %a5l,%d1l,>>,(%a3)&,%d1
+ mac.w %a5l,%d1l,>>,(%a3)&,%a3
+ mac.w %a5l,%d1l,>>,(%a3)&,%d2
+ mac.w %a5l,%d1l,>>,(%a3)&,%a7
+ mac.w %a5l,%d1l,>>,(%a2)+,%d1
+ mac.w %a5l,%d1l,>>,(%a2)+,%a3
+ mac.w %a5l,%d1l,>>,(%a2)+,%d2
+ mac.w %a5l,%d1l,>>,(%a2)+,%a7
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d1
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a3
+ mac.w %a5l,%d1l,>>,(%a2)+&,%d2
+ mac.w %a5l,%d1l,>>,(%a2)+&,%a7
+ mac.w %a5l,%d1l,>>,10(%a6),%d1
+ mac.w %a5l,%d1l,>>,10(%a6),%a3
+ mac.w %a5l,%d1l,>>,10(%a6),%d2
+ mac.w %a5l,%d1l,>>,10(%a6),%a7
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d1
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a3
+ mac.w %a5l,%d1l,>>,10(%a6)&,%d2
+ mac.w %a5l,%d1l,>>,10(%a6)&,%a7
+ mac.w %a5l,%d1l,>>,-(%a1),%d1
+ mac.w %a5l,%d1l,>>,-(%a1),%a3
+ mac.w %a5l,%d1l,>>,-(%a1),%d2
+ mac.w %a5l,%d1l,>>,-(%a1),%a7
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d1
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a3
+ mac.w %a5l,%d1l,>>,-(%a1)&,%d2
+ mac.w %a5l,%d1l,>>,-(%a1)&,%a7
+ mac.w %a5l,%d1l,#1,(%a3),%d1
+ mac.w %a5l,%d1l,#1,(%a3),%a3
+ mac.w %a5l,%d1l,#1,(%a3),%d2
+ mac.w %a5l,%d1l,#1,(%a3),%a7
+ mac.w %a5l,%d1l,#1,(%a3)&,%d1
+ mac.w %a5l,%d1l,#1,(%a3)&,%a3
+ mac.w %a5l,%d1l,#1,(%a3)&,%d2
+ mac.w %a5l,%d1l,#1,(%a3)&,%a7
+ mac.w %a5l,%d1l,#1,(%a2)+,%d1
+ mac.w %a5l,%d1l,#1,(%a2)+,%a3
+ mac.w %a5l,%d1l,#1,(%a2)+,%d2
+ mac.w %a5l,%d1l,#1,(%a2)+,%a7
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d1
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a3
+ mac.w %a5l,%d1l,#1,(%a2)+&,%d2
+ mac.w %a5l,%d1l,#1,(%a2)+&,%a7
+ mac.w %a5l,%d1l,#1,10(%a6),%d1
+ mac.w %a5l,%d1l,#1,10(%a6),%a3
+ mac.w %a5l,%d1l,#1,10(%a6),%d2
+ mac.w %a5l,%d1l,#1,10(%a6),%a7
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d1
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a3
+ mac.w %a5l,%d1l,#1,10(%a6)&,%d2
+ mac.w %a5l,%d1l,#1,10(%a6)&,%a7
+ mac.w %a5l,%d1l,#1,-(%a1),%d1
+ mac.w %a5l,%d1l,#1,-(%a1),%a3
+ mac.w %a5l,%d1l,#1,-(%a1),%d2
+ mac.w %a5l,%d1l,#1,-(%a1),%a7
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d1
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a3
+ mac.w %a5l,%d1l,#1,-(%a1)&,%d2
+ mac.w %a5l,%d1l,#1,-(%a1)&,%a7
+ mac.w %a5l,%d1l,#-1,(%a3),%d1
+ mac.w %a5l,%d1l,#-1,(%a3),%a3
+ mac.w %a5l,%d1l,#-1,(%a3),%d2
+ mac.w %a5l,%d1l,#-1,(%a3),%a7
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d1
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a3
+ mac.w %a5l,%d1l,#-1,(%a3)&,%d2
+ mac.w %a5l,%d1l,#-1,(%a3)&,%a7
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d1
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a3
+ mac.w %a5l,%d1l,#-1,(%a2)+,%d2
+ mac.w %a5l,%d1l,#-1,(%a2)+,%a7
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d1
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a3
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%d2
+ mac.w %a5l,%d1l,#-1,(%a2)+&,%a7
+ mac.w %a5l,%d1l,#-1,10(%a6),%d1
+ mac.w %a5l,%d1l,#-1,10(%a6),%a3
+ mac.w %a5l,%d1l,#-1,10(%a6),%d2
+ mac.w %a5l,%d1l,#-1,10(%a6),%a7
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d1
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a3
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%d2
+ mac.w %a5l,%d1l,#-1,10(%a6)&,%a7
+ mac.w %a5l,%d1l,#-1,-(%a1),%d1
+ mac.w %a5l,%d1l,#-1,-(%a1),%a3
+ mac.w %a5l,%d1l,#-1,-(%a1),%d2
+ mac.w %a5l,%d1l,#-1,-(%a1),%a7
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d1
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a3
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%d2
+ mac.w %a5l,%d1l,#-1,-(%a1)&,%a7
+ mac.w %d6u,%a2u,(%a3),%d1
+ mac.w %d6u,%a2u,(%a3),%a3
+ mac.w %d6u,%a2u,(%a3),%d2
+ mac.w %d6u,%a2u,(%a3),%a7
+ mac.w %d6u,%a2u,(%a3)&,%d1
+ mac.w %d6u,%a2u,(%a3)&,%a3
+ mac.w %d6u,%a2u,(%a3)&,%d2
+ mac.w %d6u,%a2u,(%a3)&,%a7
+ mac.w %d6u,%a2u,(%a2)+,%d1
+ mac.w %d6u,%a2u,(%a2)+,%a3
+ mac.w %d6u,%a2u,(%a2)+,%d2
+ mac.w %d6u,%a2u,(%a2)+,%a7
+ mac.w %d6u,%a2u,(%a2)+&,%d1
+ mac.w %d6u,%a2u,(%a2)+&,%a3
+ mac.w %d6u,%a2u,(%a2)+&,%d2
+ mac.w %d6u,%a2u,(%a2)+&,%a7
+ mac.w %d6u,%a2u,10(%a6),%d1
+ mac.w %d6u,%a2u,10(%a6),%a3
+ mac.w %d6u,%a2u,10(%a6),%d2
+ mac.w %d6u,%a2u,10(%a6),%a7
+ mac.w %d6u,%a2u,10(%a6)&,%d1
+ mac.w %d6u,%a2u,10(%a6)&,%a3
+ mac.w %d6u,%a2u,10(%a6)&,%d2
+ mac.w %d6u,%a2u,10(%a6)&,%a7
+ mac.w %d6u,%a2u,-(%a1),%d1
+ mac.w %d6u,%a2u,-(%a1),%a3
+ mac.w %d6u,%a2u,-(%a1),%d2
+ mac.w %d6u,%a2u,-(%a1),%a7
+ mac.w %d6u,%a2u,-(%a1)&,%d1
+ mac.w %d6u,%a2u,-(%a1)&,%a3
+ mac.w %d6u,%a2u,-(%a1)&,%d2
+ mac.w %d6u,%a2u,-(%a1)&,%a7
+ mac.w %d6u,%a2u,<<,(%a3),%d1
+ mac.w %d6u,%a2u,<<,(%a3),%a3
+ mac.w %d6u,%a2u,<<,(%a3),%d2
+ mac.w %d6u,%a2u,<<,(%a3),%a7
+ mac.w %d6u,%a2u,<<,(%a3)&,%d1
+ mac.w %d6u,%a2u,<<,(%a3)&,%a3
+ mac.w %d6u,%a2u,<<,(%a3)&,%d2
+ mac.w %d6u,%a2u,<<,(%a3)&,%a7
+ mac.w %d6u,%a2u,<<,(%a2)+,%d1
+ mac.w %d6u,%a2u,<<,(%a2)+,%a3
+ mac.w %d6u,%a2u,<<,(%a2)+,%d2
+ mac.w %d6u,%a2u,<<,(%a2)+,%a7
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d1
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a3
+ mac.w %d6u,%a2u,<<,(%a2)+&,%d2
+ mac.w %d6u,%a2u,<<,(%a2)+&,%a7
+ mac.w %d6u,%a2u,<<,10(%a6),%d1
+ mac.w %d6u,%a2u,<<,10(%a6),%a3
+ mac.w %d6u,%a2u,<<,10(%a6),%d2
+ mac.w %d6u,%a2u,<<,10(%a6),%a7
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d1
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a3
+ mac.w %d6u,%a2u,<<,10(%a6)&,%d2
+ mac.w %d6u,%a2u,<<,10(%a6)&,%a7
+ mac.w %d6u,%a2u,<<,-(%a1),%d1
+ mac.w %d6u,%a2u,<<,-(%a1),%a3
+ mac.w %d6u,%a2u,<<,-(%a1),%d2
+ mac.w %d6u,%a2u,<<,-(%a1),%a7
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d1
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a3
+ mac.w %d6u,%a2u,<<,-(%a1)&,%d2
+ mac.w %d6u,%a2u,<<,-(%a1)&,%a7
+ mac.w %d6u,%a2u,>>,(%a3),%d1
+ mac.w %d6u,%a2u,>>,(%a3),%a3
+ mac.w %d6u,%a2u,>>,(%a3),%d2
+ mac.w %d6u,%a2u,>>,(%a3),%a7
+ mac.w %d6u,%a2u,>>,(%a3)&,%d1
+ mac.w %d6u,%a2u,>>,(%a3)&,%a3
+ mac.w %d6u,%a2u,>>,(%a3)&,%d2
+ mac.w %d6u,%a2u,>>,(%a3)&,%a7
+ mac.w %d6u,%a2u,>>,(%a2)+,%d1
+ mac.w %d6u,%a2u,>>,(%a2)+,%a3
+ mac.w %d6u,%a2u,>>,(%a2)+,%d2
+ mac.w %d6u,%a2u,>>,(%a2)+,%a7
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d1
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a3
+ mac.w %d6u,%a2u,>>,(%a2)+&,%d2
+ mac.w %d6u,%a2u,>>,(%a2)+&,%a7
+ mac.w %d6u,%a2u,>>,10(%a6),%d1
+ mac.w %d6u,%a2u,>>,10(%a6),%a3
+ mac.w %d6u,%a2u,>>,10(%a6),%d2
+ mac.w %d6u,%a2u,>>,10(%a6),%a7
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d1
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a3
+ mac.w %d6u,%a2u,>>,10(%a6)&,%d2
+ mac.w %d6u,%a2u,>>,10(%a6)&,%a7
+ mac.w %d6u,%a2u,>>,-(%a1),%d1
+ mac.w %d6u,%a2u,>>,-(%a1),%a3
+ mac.w %d6u,%a2u,>>,-(%a1),%d2
+ mac.w %d6u,%a2u,>>,-(%a1),%a7
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d1
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a3
+ mac.w %d6u,%a2u,>>,-(%a1)&,%d2
+ mac.w %d6u,%a2u,>>,-(%a1)&,%a7
+ mac.w %d6u,%a2u,#1,(%a3),%d1
+ mac.w %d6u,%a2u,#1,(%a3),%a3
+ mac.w %d6u,%a2u,#1,(%a3),%d2
+ mac.w %d6u,%a2u,#1,(%a3),%a7
+ mac.w %d6u,%a2u,#1,(%a3)&,%d1
+ mac.w %d6u,%a2u,#1,(%a3)&,%a3
+ mac.w %d6u,%a2u,#1,(%a3)&,%d2
+ mac.w %d6u,%a2u,#1,(%a3)&,%a7
+ mac.w %d6u,%a2u,#1,(%a2)+,%d1
+ mac.w %d6u,%a2u,#1,(%a2)+,%a3
+ mac.w %d6u,%a2u,#1,(%a2)+,%d2
+ mac.w %d6u,%a2u,#1,(%a2)+,%a7
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d1
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a3
+ mac.w %d6u,%a2u,#1,(%a2)+&,%d2
+ mac.w %d6u,%a2u,#1,(%a2)+&,%a7
+ mac.w %d6u,%a2u,#1,10(%a6),%d1
+ mac.w %d6u,%a2u,#1,10(%a6),%a3
+ mac.w %d6u,%a2u,#1,10(%a6),%d2
+ mac.w %d6u,%a2u,#1,10(%a6),%a7
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d1
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a3
+ mac.w %d6u,%a2u,#1,10(%a6)&,%d2
+ mac.w %d6u,%a2u,#1,10(%a6)&,%a7
+ mac.w %d6u,%a2u,#1,-(%a1),%d1
+ mac.w %d6u,%a2u,#1,-(%a1),%a3
+ mac.w %d6u,%a2u,#1,-(%a1),%d2
+ mac.w %d6u,%a2u,#1,-(%a1),%a7
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d1
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a3
+ mac.w %d6u,%a2u,#1,-(%a1)&,%d2
+ mac.w %d6u,%a2u,#1,-(%a1)&,%a7
+ mac.w %d6u,%a2u,#-1,(%a3),%d1
+ mac.w %d6u,%a2u,#-1,(%a3),%a3
+ mac.w %d6u,%a2u,#-1,(%a3),%d2
+ mac.w %d6u,%a2u,#-1,(%a3),%a7
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d1
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a3
+ mac.w %d6u,%a2u,#-1,(%a3)&,%d2
+ mac.w %d6u,%a2u,#-1,(%a3)&,%a7
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d1
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a3
+ mac.w %d6u,%a2u,#-1,(%a2)+,%d2
+ mac.w %d6u,%a2u,#-1,(%a2)+,%a7
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d1
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a3
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%d2
+ mac.w %d6u,%a2u,#-1,(%a2)+&,%a7
+ mac.w %d6u,%a2u,#-1,10(%a6),%d1
+ mac.w %d6u,%a2u,#-1,10(%a6),%a3
+ mac.w %d6u,%a2u,#-1,10(%a6),%d2
+ mac.w %d6u,%a2u,#-1,10(%a6),%a7
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d1
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a3
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%d2
+ mac.w %d6u,%a2u,#-1,10(%a6)&,%a7
+ mac.w %d6u,%a2u,#-1,-(%a1),%d1
+ mac.w %d6u,%a2u,#-1,-(%a1),%a3
+ mac.w %d6u,%a2u,#-1,-(%a1),%d2
+ mac.w %d6u,%a2u,#-1,-(%a1),%a7
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d1
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a3
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%d2
+ mac.w %d6u,%a2u,#-1,-(%a1)&,%a7
+ mac.w %d6u,%d3l,(%a3),%d1
+ mac.w %d6u,%d3l,(%a3),%a3
+ mac.w %d6u,%d3l,(%a3),%d2
+ mac.w %d6u,%d3l,(%a3),%a7
+ mac.w %d6u,%d3l,(%a3)&,%d1
+ mac.w %d6u,%d3l,(%a3)&,%a3
+ mac.w %d6u,%d3l,(%a3)&,%d2
+ mac.w %d6u,%d3l,(%a3)&,%a7
+ mac.w %d6u,%d3l,(%a2)+,%d1
+ mac.w %d6u,%d3l,(%a2)+,%a3
+ mac.w %d6u,%d3l,(%a2)+,%d2
+ mac.w %d6u,%d3l,(%a2)+,%a7
+ mac.w %d6u,%d3l,(%a2)+&,%d1
+ mac.w %d6u,%d3l,(%a2)+&,%a3
+ mac.w %d6u,%d3l,(%a2)+&,%d2
+ mac.w %d6u,%d3l,(%a2)+&,%a7
+ mac.w %d6u,%d3l,10(%a6),%d1
+ mac.w %d6u,%d3l,10(%a6),%a3
+ mac.w %d6u,%d3l,10(%a6),%d2
+ mac.w %d6u,%d3l,10(%a6),%a7
+ mac.w %d6u,%d3l,10(%a6)&,%d1
+ mac.w %d6u,%d3l,10(%a6)&,%a3
+ mac.w %d6u,%d3l,10(%a6)&,%d2
+ mac.w %d6u,%d3l,10(%a6)&,%a7
+ mac.w %d6u,%d3l,-(%a1),%d1
+ mac.w %d6u,%d3l,-(%a1),%a3
+ mac.w %d6u,%d3l,-(%a1),%d2
+ mac.w %d6u,%d3l,-(%a1),%a7
+ mac.w %d6u,%d3l,-(%a1)&,%d1
+ mac.w %d6u,%d3l,-(%a1)&,%a3
+ mac.w %d6u,%d3l,-(%a1)&,%d2
+ mac.w %d6u,%d3l,-(%a1)&,%a7
+ mac.w %d6u,%d3l,<<,(%a3),%d1
+ mac.w %d6u,%d3l,<<,(%a3),%a3
+ mac.w %d6u,%d3l,<<,(%a3),%d2
+ mac.w %d6u,%d3l,<<,(%a3),%a7
+ mac.w %d6u,%d3l,<<,(%a3)&,%d1
+ mac.w %d6u,%d3l,<<,(%a3)&,%a3
+ mac.w %d6u,%d3l,<<,(%a3)&,%d2
+ mac.w %d6u,%d3l,<<,(%a3)&,%a7
+ mac.w %d6u,%d3l,<<,(%a2)+,%d1
+ mac.w %d6u,%d3l,<<,(%a2)+,%a3
+ mac.w %d6u,%d3l,<<,(%a2)+,%d2
+ mac.w %d6u,%d3l,<<,(%a2)+,%a7
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d1
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a3
+ mac.w %d6u,%d3l,<<,(%a2)+&,%d2
+ mac.w %d6u,%d3l,<<,(%a2)+&,%a7
+ mac.w %d6u,%d3l,<<,10(%a6),%d1
+ mac.w %d6u,%d3l,<<,10(%a6),%a3
+ mac.w %d6u,%d3l,<<,10(%a6),%d2
+ mac.w %d6u,%d3l,<<,10(%a6),%a7
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d1
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a3
+ mac.w %d6u,%d3l,<<,10(%a6)&,%d2
+ mac.w %d6u,%d3l,<<,10(%a6)&,%a7
+ mac.w %d6u,%d3l,<<,-(%a1),%d1
+ mac.w %d6u,%d3l,<<,-(%a1),%a3
+ mac.w %d6u,%d3l,<<,-(%a1),%d2
+ mac.w %d6u,%d3l,<<,-(%a1),%a7
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d1
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a3
+ mac.w %d6u,%d3l,<<,-(%a1)&,%d2
+ mac.w %d6u,%d3l,<<,-(%a1)&,%a7
+ mac.w %d6u,%d3l,>>,(%a3),%d1
+ mac.w %d6u,%d3l,>>,(%a3),%a3
+ mac.w %d6u,%d3l,>>,(%a3),%d2
+ mac.w %d6u,%d3l,>>,(%a3),%a7
+ mac.w %d6u,%d3l,>>,(%a3)&,%d1
+ mac.w %d6u,%d3l,>>,(%a3)&,%a3
+ mac.w %d6u,%d3l,>>,(%a3)&,%d2
+ mac.w %d6u,%d3l,>>,(%a3)&,%a7
+ mac.w %d6u,%d3l,>>,(%a2)+,%d1
+ mac.w %d6u,%d3l,>>,(%a2)+,%a3
+ mac.w %d6u,%d3l,>>,(%a2)+,%d2
+ mac.w %d6u,%d3l,>>,(%a2)+,%a7
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d1
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a3
+ mac.w %d6u,%d3l,>>,(%a2)+&,%d2
+ mac.w %d6u,%d3l,>>,(%a2)+&,%a7
+ mac.w %d6u,%d3l,>>,10(%a6),%d1
+ mac.w %d6u,%d3l,>>,10(%a6),%a3
+ mac.w %d6u,%d3l,>>,10(%a6),%d2
+ mac.w %d6u,%d3l,>>,10(%a6),%a7
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d1
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a3
+ mac.w %d6u,%d3l,>>,10(%a6)&,%d2
+ mac.w %d6u,%d3l,>>,10(%a6)&,%a7
+ mac.w %d6u,%d3l,>>,-(%a1),%d1
+ mac.w %d6u,%d3l,>>,-(%a1),%a3
+ mac.w %d6u,%d3l,>>,-(%a1),%d2
+ mac.w %d6u,%d3l,>>,-(%a1),%a7
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d1
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a3
+ mac.w %d6u,%d3l,>>,-(%a1)&,%d2
+ mac.w %d6u,%d3l,>>,-(%a1)&,%a7
+ mac.w %d6u,%d3l,#1,(%a3),%d1
+ mac.w %d6u,%d3l,#1,(%a3),%a3
+ mac.w %d6u,%d3l,#1,(%a3),%d2
+ mac.w %d6u,%d3l,#1,(%a3),%a7
+ mac.w %d6u,%d3l,#1,(%a3)&,%d1
+ mac.w %d6u,%d3l,#1,(%a3)&,%a3
+ mac.w %d6u,%d3l,#1,(%a3)&,%d2
+ mac.w %d6u,%d3l,#1,(%a3)&,%a7
+ mac.w %d6u,%d3l,#1,(%a2)+,%d1
+ mac.w %d6u,%d3l,#1,(%a2)+,%a3
+ mac.w %d6u,%d3l,#1,(%a2)+,%d2
+ mac.w %d6u,%d3l,#1,(%a2)+,%a7
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d1
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a3
+ mac.w %d6u,%d3l,#1,(%a2)+&,%d2
+ mac.w %d6u,%d3l,#1,(%a2)+&,%a7
+ mac.w %d6u,%d3l,#1,10(%a6),%d1
+ mac.w %d6u,%d3l,#1,10(%a6),%a3
+ mac.w %d6u,%d3l,#1,10(%a6),%d2
+ mac.w %d6u,%d3l,#1,10(%a6),%a7
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d1
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a3
+ mac.w %d6u,%d3l,#1,10(%a6)&,%d2
+ mac.w %d6u,%d3l,#1,10(%a6)&,%a7
+ mac.w %d6u,%d3l,#1,-(%a1),%d1
+ mac.w %d6u,%d3l,#1,-(%a1),%a3
+ mac.w %d6u,%d3l,#1,-(%a1),%d2
+ mac.w %d6u,%d3l,#1,-(%a1),%a7
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d1
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a3
+ mac.w %d6u,%d3l,#1,-(%a1)&,%d2
+ mac.w %d6u,%d3l,#1,-(%a1)&,%a7
+ mac.w %d6u,%d3l,#-1,(%a3),%d1
+ mac.w %d6u,%d3l,#-1,(%a3),%a3
+ mac.w %d6u,%d3l,#-1,(%a3),%d2
+ mac.w %d6u,%d3l,#-1,(%a3),%a7
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d1
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a3
+ mac.w %d6u,%d3l,#-1,(%a3)&,%d2
+ mac.w %d6u,%d3l,#-1,(%a3)&,%a7
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d1
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a3
+ mac.w %d6u,%d3l,#-1,(%a2)+,%d2
+ mac.w %d6u,%d3l,#-1,(%a2)+,%a7
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d1
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a3
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%d2
+ mac.w %d6u,%d3l,#-1,(%a2)+&,%a7
+ mac.w %d6u,%d3l,#-1,10(%a6),%d1
+ mac.w %d6u,%d3l,#-1,10(%a6),%a3
+ mac.w %d6u,%d3l,#-1,10(%a6),%d2
+ mac.w %d6u,%d3l,#-1,10(%a6),%a7
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d1
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a3
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%d2
+ mac.w %d6u,%d3l,#-1,10(%a6)&,%a7
+ mac.w %d6u,%d3l,#-1,-(%a1),%d1
+ mac.w %d6u,%d3l,#-1,-(%a1),%a3
+ mac.w %d6u,%d3l,#-1,-(%a1),%d2
+ mac.w %d6u,%d3l,#-1,-(%a1),%a7
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d1
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a3
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%d2
+ mac.w %d6u,%d3l,#-1,-(%a1)&,%a7
+ mac.w %d6u,%a7u,(%a3),%d1
+ mac.w %d6u,%a7u,(%a3),%a3
+ mac.w %d6u,%a7u,(%a3),%d2
+ mac.w %d6u,%a7u,(%a3),%a7
+ mac.w %d6u,%a7u,(%a3)&,%d1
+ mac.w %d6u,%a7u,(%a3)&,%a3
+ mac.w %d6u,%a7u,(%a3)&,%d2
+ mac.w %d6u,%a7u,(%a3)&,%a7
+ mac.w %d6u,%a7u,(%a2)+,%d1
+ mac.w %d6u,%a7u,(%a2)+,%a3
+ mac.w %d6u,%a7u,(%a2)+,%d2
+ mac.w %d6u,%a7u,(%a2)+,%a7
+ mac.w %d6u,%a7u,(%a2)+&,%d1
+ mac.w %d6u,%a7u,(%a2)+&,%a3
+ mac.w %d6u,%a7u,(%a2)+&,%d2
+ mac.w %d6u,%a7u,(%a2)+&,%a7
+ mac.w %d6u,%a7u,10(%a6),%d1
+ mac.w %d6u,%a7u,10(%a6),%a3
+ mac.w %d6u,%a7u,10(%a6),%d2
+ mac.w %d6u,%a7u,10(%a6),%a7
+ mac.w %d6u,%a7u,10(%a6)&,%d1
+ mac.w %d6u,%a7u,10(%a6)&,%a3
+ mac.w %d6u,%a7u,10(%a6)&,%d2
+ mac.w %d6u,%a7u,10(%a6)&,%a7
+ mac.w %d6u,%a7u,-(%a1),%d1
+ mac.w %d6u,%a7u,-(%a1),%a3
+ mac.w %d6u,%a7u,-(%a1),%d2
+ mac.w %d6u,%a7u,-(%a1),%a7
+ mac.w %d6u,%a7u,-(%a1)&,%d1
+ mac.w %d6u,%a7u,-(%a1)&,%a3
+ mac.w %d6u,%a7u,-(%a1)&,%d2
+ mac.w %d6u,%a7u,-(%a1)&,%a7
+ mac.w %d6u,%a7u,<<,(%a3),%d1
+ mac.w %d6u,%a7u,<<,(%a3),%a3
+ mac.w %d6u,%a7u,<<,(%a3),%d2
+ mac.w %d6u,%a7u,<<,(%a3),%a7
+ mac.w %d6u,%a7u,<<,(%a3)&,%d1
+ mac.w %d6u,%a7u,<<,(%a3)&,%a3
+ mac.w %d6u,%a7u,<<,(%a3)&,%d2
+ mac.w %d6u,%a7u,<<,(%a3)&,%a7
+ mac.w %d6u,%a7u,<<,(%a2)+,%d1
+ mac.w %d6u,%a7u,<<,(%a2)+,%a3
+ mac.w %d6u,%a7u,<<,(%a2)+,%d2
+ mac.w %d6u,%a7u,<<,(%a2)+,%a7
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d1
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a3
+ mac.w %d6u,%a7u,<<,(%a2)+&,%d2
+ mac.w %d6u,%a7u,<<,(%a2)+&,%a7
+ mac.w %d6u,%a7u,<<,10(%a6),%d1
+ mac.w %d6u,%a7u,<<,10(%a6),%a3
+ mac.w %d6u,%a7u,<<,10(%a6),%d2
+ mac.w %d6u,%a7u,<<,10(%a6),%a7
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d1
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a3
+ mac.w %d6u,%a7u,<<,10(%a6)&,%d2
+ mac.w %d6u,%a7u,<<,10(%a6)&,%a7
+ mac.w %d6u,%a7u,<<,-(%a1),%d1
+ mac.w %d6u,%a7u,<<,-(%a1),%a3
+ mac.w %d6u,%a7u,<<,-(%a1),%d2
+ mac.w %d6u,%a7u,<<,-(%a1),%a7
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d1
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a3
+ mac.w %d6u,%a7u,<<,-(%a1)&,%d2
+ mac.w %d6u,%a7u,<<,-(%a1)&,%a7
+ mac.w %d6u,%a7u,>>,(%a3),%d1
+ mac.w %d6u,%a7u,>>,(%a3),%a3
+ mac.w %d6u,%a7u,>>,(%a3),%d2
+ mac.w %d6u,%a7u,>>,(%a3),%a7
+ mac.w %d6u,%a7u,>>,(%a3)&,%d1
+ mac.w %d6u,%a7u,>>,(%a3)&,%a3
+ mac.w %d6u,%a7u,>>,(%a3)&,%d2
+ mac.w %d6u,%a7u,>>,(%a3)&,%a7
+ mac.w %d6u,%a7u,>>,(%a2)+,%d1
+ mac.w %d6u,%a7u,>>,(%a2)+,%a3
+ mac.w %d6u,%a7u,>>,(%a2)+,%d2
+ mac.w %d6u,%a7u,>>,(%a2)+,%a7
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d1
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a3
+ mac.w %d6u,%a7u,>>,(%a2)+&,%d2
+ mac.w %d6u,%a7u,>>,(%a2)+&,%a7
+ mac.w %d6u,%a7u,>>,10(%a6),%d1
+ mac.w %d6u,%a7u,>>,10(%a6),%a3
+ mac.w %d6u,%a7u,>>,10(%a6),%d2
+ mac.w %d6u,%a7u,>>,10(%a6),%a7
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d1
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a3
+ mac.w %d6u,%a7u,>>,10(%a6)&,%d2
+ mac.w %d6u,%a7u,>>,10(%a6)&,%a7
+ mac.w %d6u,%a7u,>>,-(%a1),%d1
+ mac.w %d6u,%a7u,>>,-(%a1),%a3
+ mac.w %d6u,%a7u,>>,-(%a1),%d2
+ mac.w %d6u,%a7u,>>,-(%a1),%a7
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d1
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a3
+ mac.w %d6u,%a7u,>>,-(%a1)&,%d2
+ mac.w %d6u,%a7u,>>,-(%a1)&,%a7
+ mac.w %d6u,%a7u,#1,(%a3),%d1
+ mac.w %d6u,%a7u,#1,(%a3),%a3
+ mac.w %d6u,%a7u,#1,(%a3),%d2
+ mac.w %d6u,%a7u,#1,(%a3),%a7
+ mac.w %d6u,%a7u,#1,(%a3)&,%d1
+ mac.w %d6u,%a7u,#1,(%a3)&,%a3
+ mac.w %d6u,%a7u,#1,(%a3)&,%d2
+ mac.w %d6u,%a7u,#1,(%a3)&,%a7
+ mac.w %d6u,%a7u,#1,(%a2)+,%d1
+ mac.w %d6u,%a7u,#1,(%a2)+,%a3
+ mac.w %d6u,%a7u,#1,(%a2)+,%d2
+ mac.w %d6u,%a7u,#1,(%a2)+,%a7
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d1
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a3
+ mac.w %d6u,%a7u,#1,(%a2)+&,%d2
+ mac.w %d6u,%a7u,#1,(%a2)+&,%a7
+ mac.w %d6u,%a7u,#1,10(%a6),%d1
+ mac.w %d6u,%a7u,#1,10(%a6),%a3
+ mac.w %d6u,%a7u,#1,10(%a6),%d2
+ mac.w %d6u,%a7u,#1,10(%a6),%a7
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d1
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a3
+ mac.w %d6u,%a7u,#1,10(%a6)&,%d2
+ mac.w %d6u,%a7u,#1,10(%a6)&,%a7
+ mac.w %d6u,%a7u,#1,-(%a1),%d1
+ mac.w %d6u,%a7u,#1,-(%a1),%a3
+ mac.w %d6u,%a7u,#1,-(%a1),%d2
+ mac.w %d6u,%a7u,#1,-(%a1),%a7
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d1
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a3
+ mac.w %d6u,%a7u,#1,-(%a1)&,%d2
+ mac.w %d6u,%a7u,#1,-(%a1)&,%a7
+ mac.w %d6u,%a7u,#-1,(%a3),%d1
+ mac.w %d6u,%a7u,#-1,(%a3),%a3
+ mac.w %d6u,%a7u,#-1,(%a3),%d2
+ mac.w %d6u,%a7u,#-1,(%a3),%a7
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d1
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a3
+ mac.w %d6u,%a7u,#-1,(%a3)&,%d2
+ mac.w %d6u,%a7u,#-1,(%a3)&,%a7
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d1
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a3
+ mac.w %d6u,%a7u,#-1,(%a2)+,%d2
+ mac.w %d6u,%a7u,#-1,(%a2)+,%a7
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d1
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a3
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%d2
+ mac.w %d6u,%a7u,#-1,(%a2)+&,%a7
+ mac.w %d6u,%a7u,#-1,10(%a6),%d1
+ mac.w %d6u,%a7u,#-1,10(%a6),%a3
+ mac.w %d6u,%a7u,#-1,10(%a6),%d2
+ mac.w %d6u,%a7u,#-1,10(%a6),%a7
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d1
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a3
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%d2
+ mac.w %d6u,%a7u,#-1,10(%a6)&,%a7
+ mac.w %d6u,%a7u,#-1,-(%a1),%d1
+ mac.w %d6u,%a7u,#-1,-(%a1),%a3
+ mac.w %d6u,%a7u,#-1,-(%a1),%d2
+ mac.w %d6u,%a7u,#-1,-(%a1),%a7
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d1
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a3
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%d2
+ mac.w %d6u,%a7u,#-1,-(%a1)&,%a7
+ mac.w %d6u,%d1l,(%a3),%d1
+ mac.w %d6u,%d1l,(%a3),%a3
+ mac.w %d6u,%d1l,(%a3),%d2
+ mac.w %d6u,%d1l,(%a3),%a7
+ mac.w %d6u,%d1l,(%a3)&,%d1
+ mac.w %d6u,%d1l,(%a3)&,%a3
+ mac.w %d6u,%d1l,(%a3)&,%d2
+ mac.w %d6u,%d1l,(%a3)&,%a7
+ mac.w %d6u,%d1l,(%a2)+,%d1
+ mac.w %d6u,%d1l,(%a2)+,%a3
+ mac.w %d6u,%d1l,(%a2)+,%d2
+ mac.w %d6u,%d1l,(%a2)+,%a7
+ mac.w %d6u,%d1l,(%a2)+&,%d1
+ mac.w %d6u,%d1l,(%a2)+&,%a3
+ mac.w %d6u,%d1l,(%a2)+&,%d2
+ mac.w %d6u,%d1l,(%a2)+&,%a7
+ mac.w %d6u,%d1l,10(%a6),%d1
+ mac.w %d6u,%d1l,10(%a6),%a3
+ mac.w %d6u,%d1l,10(%a6),%d2
+ mac.w %d6u,%d1l,10(%a6),%a7
+ mac.w %d6u,%d1l,10(%a6)&,%d1
+ mac.w %d6u,%d1l,10(%a6)&,%a3
+ mac.w %d6u,%d1l,10(%a6)&,%d2
+ mac.w %d6u,%d1l,10(%a6)&,%a7
+ mac.w %d6u,%d1l,-(%a1),%d1
+ mac.w %d6u,%d1l,-(%a1),%a3
+ mac.w %d6u,%d1l,-(%a1),%d2
+ mac.w %d6u,%d1l,-(%a1),%a7
+ mac.w %d6u,%d1l,-(%a1)&,%d1
+ mac.w %d6u,%d1l,-(%a1)&,%a3
+ mac.w %d6u,%d1l,-(%a1)&,%d2
+ mac.w %d6u,%d1l,-(%a1)&,%a7
+ mac.w %d6u,%d1l,<<,(%a3),%d1
+ mac.w %d6u,%d1l,<<,(%a3),%a3
+ mac.w %d6u,%d1l,<<,(%a3),%d2
+ mac.w %d6u,%d1l,<<,(%a3),%a7
+ mac.w %d6u,%d1l,<<,(%a3)&,%d1
+ mac.w %d6u,%d1l,<<,(%a3)&,%a3
+ mac.w %d6u,%d1l,<<,(%a3)&,%d2
+ mac.w %d6u,%d1l,<<,(%a3)&,%a7
+ mac.w %d6u,%d1l,<<,(%a2)+,%d1
+ mac.w %d6u,%d1l,<<,(%a2)+,%a3
+ mac.w %d6u,%d1l,<<,(%a2)+,%d2
+ mac.w %d6u,%d1l,<<,(%a2)+,%a7
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d1
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a3
+ mac.w %d6u,%d1l,<<,(%a2)+&,%d2
+ mac.w %d6u,%d1l,<<,(%a2)+&,%a7
+ mac.w %d6u,%d1l,<<,10(%a6),%d1
+ mac.w %d6u,%d1l,<<,10(%a6),%a3
+ mac.w %d6u,%d1l,<<,10(%a6),%d2
+ mac.w %d6u,%d1l,<<,10(%a6),%a7
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d1
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a3
+ mac.w %d6u,%d1l,<<,10(%a6)&,%d2
+ mac.w %d6u,%d1l,<<,10(%a6)&,%a7
+ mac.w %d6u,%d1l,<<,-(%a1),%d1
+ mac.w %d6u,%d1l,<<,-(%a1),%a3
+ mac.w %d6u,%d1l,<<,-(%a1),%d2
+ mac.w %d6u,%d1l,<<,-(%a1),%a7
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d1
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a3
+ mac.w %d6u,%d1l,<<,-(%a1)&,%d2
+ mac.w %d6u,%d1l,<<,-(%a1)&,%a7
+ mac.w %d6u,%d1l,>>,(%a3),%d1
+ mac.w %d6u,%d1l,>>,(%a3),%a3
+ mac.w %d6u,%d1l,>>,(%a3),%d2
+ mac.w %d6u,%d1l,>>,(%a3),%a7
+ mac.w %d6u,%d1l,>>,(%a3)&,%d1
+ mac.w %d6u,%d1l,>>,(%a3)&,%a3
+ mac.w %d6u,%d1l,>>,(%a3)&,%d2
+ mac.w %d6u,%d1l,>>,(%a3)&,%a7
+ mac.w %d6u,%d1l,>>,(%a2)+,%d1
+ mac.w %d6u,%d1l,>>,(%a2)+,%a3
+ mac.w %d6u,%d1l,>>,(%a2)+,%d2
+ mac.w %d6u,%d1l,>>,(%a2)+,%a7
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d1
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a3
+ mac.w %d6u,%d1l,>>,(%a2)+&,%d2
+ mac.w %d6u,%d1l,>>,(%a2)+&,%a7
+ mac.w %d6u,%d1l,>>,10(%a6),%d1
+ mac.w %d6u,%d1l,>>,10(%a6),%a3
+ mac.w %d6u,%d1l,>>,10(%a6),%d2
+ mac.w %d6u,%d1l,>>,10(%a6),%a7
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d1
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a3
+ mac.w %d6u,%d1l,>>,10(%a6)&,%d2
+ mac.w %d6u,%d1l,>>,10(%a6)&,%a7
+ mac.w %d6u,%d1l,>>,-(%a1),%d1
+ mac.w %d6u,%d1l,>>,-(%a1),%a3
+ mac.w %d6u,%d1l,>>,-(%a1),%d2
+ mac.w %d6u,%d1l,>>,-(%a1),%a7
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d1
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a3
+ mac.w %d6u,%d1l,>>,-(%a1)&,%d2
+ mac.w %d6u,%d1l,>>,-(%a1)&,%a7
+ mac.w %d6u,%d1l,#1,(%a3),%d1
+ mac.w %d6u,%d1l,#1,(%a3),%a3
+ mac.w %d6u,%d1l,#1,(%a3),%d2
+ mac.w %d6u,%d1l,#1,(%a3),%a7
+ mac.w %d6u,%d1l,#1,(%a3)&,%d1
+ mac.w %d6u,%d1l,#1,(%a3)&,%a3
+ mac.w %d6u,%d1l,#1,(%a3)&,%d2
+ mac.w %d6u,%d1l,#1,(%a3)&,%a7
+ mac.w %d6u,%d1l,#1,(%a2)+,%d1
+ mac.w %d6u,%d1l,#1,(%a2)+,%a3
+ mac.w %d6u,%d1l,#1,(%a2)+,%d2
+ mac.w %d6u,%d1l,#1,(%a2)+,%a7
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d1
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a3
+ mac.w %d6u,%d1l,#1,(%a2)+&,%d2
+ mac.w %d6u,%d1l,#1,(%a2)+&,%a7
+ mac.w %d6u,%d1l,#1,10(%a6),%d1
+ mac.w %d6u,%d1l,#1,10(%a6),%a3
+ mac.w %d6u,%d1l,#1,10(%a6),%d2
+ mac.w %d6u,%d1l,#1,10(%a6),%a7
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d1
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a3
+ mac.w %d6u,%d1l,#1,10(%a6)&,%d2
+ mac.w %d6u,%d1l,#1,10(%a6)&,%a7
+ mac.w %d6u,%d1l,#1,-(%a1),%d1
+ mac.w %d6u,%d1l,#1,-(%a1),%a3
+ mac.w %d6u,%d1l,#1,-(%a1),%d2
+ mac.w %d6u,%d1l,#1,-(%a1),%a7
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d1
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a3
+ mac.w %d6u,%d1l,#1,-(%a1)&,%d2
+ mac.w %d6u,%d1l,#1,-(%a1)&,%a7
+ mac.w %d6u,%d1l,#-1,(%a3),%d1
+ mac.w %d6u,%d1l,#-1,(%a3),%a3
+ mac.w %d6u,%d1l,#-1,(%a3),%d2
+ mac.w %d6u,%d1l,#-1,(%a3),%a7
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d1
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a3
+ mac.w %d6u,%d1l,#-1,(%a3)&,%d2
+ mac.w %d6u,%d1l,#-1,(%a3)&,%a7
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d1
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a3
+ mac.w %d6u,%d1l,#-1,(%a2)+,%d2
+ mac.w %d6u,%d1l,#-1,(%a2)+,%a7
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d1
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a3
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%d2
+ mac.w %d6u,%d1l,#-1,(%a2)+&,%a7
+ mac.w %d6u,%d1l,#-1,10(%a6),%d1
+ mac.w %d6u,%d1l,#-1,10(%a6),%a3
+ mac.w %d6u,%d1l,#-1,10(%a6),%d2
+ mac.w %d6u,%d1l,#-1,10(%a6),%a7
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d1
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a3
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%d2
+ mac.w %d6u,%d1l,#-1,10(%a6)&,%a7
+ mac.w %d6u,%d1l,#-1,-(%a1),%d1
+ mac.w %d6u,%d1l,#-1,-(%a1),%a3
+ mac.w %d6u,%d1l,#-1,-(%a1),%d2
+ mac.w %d6u,%d1l,#-1,-(%a1),%a7
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d1
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a3
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%d2
+ mac.w %d6u,%d1l,#-1,-(%a1)&,%a7
+
+ mac.l %a1,%a3
+ mac.l %a1,%a3,<<
+ mac.l %a1,%a3,>>
+ mac.l %a1,%a3,#1
+ mac.l %a1,%a3,#-1
+ mac.l %a1,%d4
+ mac.l %a1,%d4,<<
+ mac.l %a1,%d4,>>
+ mac.l %a1,%d4,#1
+ mac.l %a1,%d4,#-1
+ mac.l %d6,%a3
+ mac.l %d6,%a3,<<
+ mac.l %d6,%a3,>>
+ mac.l %d6,%a3,#1
+ mac.l %d6,%a3,#-1
+ mac.l %d6,%d4
+ mac.l %d6,%d4,<<
+ mac.l %d6,%d4,>>
+ mac.l %d6,%d4,#1
+ mac.l %d6,%d4,#-1
+
+ mac.l %a1,%a3,(%a3),%d1
+ mac.l %a1,%a3,(%a3),%a3
+ mac.l %a1,%a3,(%a3),%d2
+ mac.l %a1,%a3,(%a3),%a7
+ mac.l %a1,%a3,(%a3)&,%d1
+ mac.l %a1,%a3,(%a3)&,%a3
+ mac.l %a1,%a3,(%a3)&,%d2
+ mac.l %a1,%a3,(%a3)&,%a7
+ mac.l %a1,%a3,(%a2)+,%d1
+ mac.l %a1,%a3,(%a2)+,%a3
+ mac.l %a1,%a3,(%a2)+,%d2
+ mac.l %a1,%a3,(%a2)+,%a7
+ mac.l %a1,%a3,(%a2)+&,%d1
+ mac.l %a1,%a3,(%a2)+&,%a3
+ mac.l %a1,%a3,(%a2)+&,%d2
+ mac.l %a1,%a3,(%a2)+&,%a7
+ mac.l %a1,%a3,10(%a6),%d1
+ mac.l %a1,%a3,10(%a6),%a3
+ mac.l %a1,%a3,10(%a6),%d2
+ mac.l %a1,%a3,10(%a6),%a7
+ mac.l %a1,%a3,10(%a6)&,%d1
+ mac.l %a1,%a3,10(%a6)&,%a3
+ mac.l %a1,%a3,10(%a6)&,%d2
+ mac.l %a1,%a3,10(%a6)&,%a7
+ mac.l %a1,%a3,-(%a1),%d1
+ mac.l %a1,%a3,-(%a1),%a3
+ mac.l %a1,%a3,-(%a1),%d2
+ mac.l %a1,%a3,-(%a1),%a7
+ mac.l %a1,%a3,-(%a1)&,%d1
+ mac.l %a1,%a3,-(%a1)&,%a3
+ mac.l %a1,%a3,-(%a1)&,%d2
+ mac.l %a1,%a3,-(%a1)&,%a7
+ mac.l %a1,%a3,<<,(%a3),%d1
+ mac.l %a1,%a3,<<,(%a3),%a3
+ mac.l %a1,%a3,<<,(%a3),%d2
+ mac.l %a1,%a3,<<,(%a3),%a7
+ mac.l %a1,%a3,<<,(%a3)&,%d1
+ mac.l %a1,%a3,<<,(%a3)&,%a3
+ mac.l %a1,%a3,<<,(%a3)&,%d2
+ mac.l %a1,%a3,<<,(%a3)&,%a7
+ mac.l %a1,%a3,<<,(%a2)+,%d1
+ mac.l %a1,%a3,<<,(%a2)+,%a3
+ mac.l %a1,%a3,<<,(%a2)+,%d2
+ mac.l %a1,%a3,<<,(%a2)+,%a7
+ mac.l %a1,%a3,<<,(%a2)+&,%d1
+ mac.l %a1,%a3,<<,(%a2)+&,%a3
+ mac.l %a1,%a3,<<,(%a2)+&,%d2
+ mac.l %a1,%a3,<<,(%a2)+&,%a7
+ mac.l %a1,%a3,<<,10(%a6),%d1
+ mac.l %a1,%a3,<<,10(%a6),%a3
+ mac.l %a1,%a3,<<,10(%a6),%d2
+ mac.l %a1,%a3,<<,10(%a6),%a7
+ mac.l %a1,%a3,<<,10(%a6)&,%d1
+ mac.l %a1,%a3,<<,10(%a6)&,%a3
+ mac.l %a1,%a3,<<,10(%a6)&,%d2
+ mac.l %a1,%a3,<<,10(%a6)&,%a7
+ mac.l %a1,%a3,<<,-(%a1),%d1
+ mac.l %a1,%a3,<<,-(%a1),%a3
+ mac.l %a1,%a3,<<,-(%a1),%d2
+ mac.l %a1,%a3,<<,-(%a1),%a7
+ mac.l %a1,%a3,<<,-(%a1)&,%d1
+ mac.l %a1,%a3,<<,-(%a1)&,%a3
+ mac.l %a1,%a3,<<,-(%a1)&,%d2
+ mac.l %a1,%a3,<<,-(%a1)&,%a7
+ mac.l %a1,%a3,>>,(%a3),%d1
+ mac.l %a1,%a3,>>,(%a3),%a3
+ mac.l %a1,%a3,>>,(%a3),%d2
+ mac.l %a1,%a3,>>,(%a3),%a7
+ mac.l %a1,%a3,>>,(%a3)&,%d1
+ mac.l %a1,%a3,>>,(%a3)&,%a3
+ mac.l %a1,%a3,>>,(%a3)&,%d2
+ mac.l %a1,%a3,>>,(%a3)&,%a7
+ mac.l %a1,%a3,>>,(%a2)+,%d1
+ mac.l %a1,%a3,>>,(%a2)+,%a3
+ mac.l %a1,%a3,>>,(%a2)+,%d2
+ mac.l %a1,%a3,>>,(%a2)+,%a7
+ mac.l %a1,%a3,>>,(%a2)+&,%d1
+ mac.l %a1,%a3,>>,(%a2)+&,%a3
+ mac.l %a1,%a3,>>,(%a2)+&,%d2
+ mac.l %a1,%a3,>>,(%a2)+&,%a7
+ mac.l %a1,%a3,>>,10(%a6),%d1
+ mac.l %a1,%a3,>>,10(%a6),%a3
+ mac.l %a1,%a3,>>,10(%a6),%d2
+ mac.l %a1,%a3,>>,10(%a6),%a7
+ mac.l %a1,%a3,>>,10(%a6)&,%d1
+ mac.l %a1,%a3,>>,10(%a6)&,%a3
+ mac.l %a1,%a3,>>,10(%a6)&,%d2
+ mac.l %a1,%a3,>>,10(%a6)&,%a7
+ mac.l %a1,%a3,>>,-(%a1),%d1
+ mac.l %a1,%a3,>>,-(%a1),%a3
+ mac.l %a1,%a3,>>,-(%a1),%d2
+ mac.l %a1,%a3,>>,-(%a1),%a7
+ mac.l %a1,%a3,>>,-(%a1)&,%d1
+ mac.l %a1,%a3,>>,-(%a1)&,%a3
+ mac.l %a1,%a3,>>,-(%a1)&,%d2
+ mac.l %a1,%a3,>>,-(%a1)&,%a7
+ mac.l %a1,%a3,#1,(%a3),%d1
+ mac.l %a1,%a3,#1,(%a3),%a3
+ mac.l %a1,%a3,#1,(%a3),%d2
+ mac.l %a1,%a3,#1,(%a3),%a7
+ mac.l %a1,%a3,#1,(%a3)&,%d1
+ mac.l %a1,%a3,#1,(%a3)&,%a3
+ mac.l %a1,%a3,#1,(%a3)&,%d2
+ mac.l %a1,%a3,#1,(%a3)&,%a7
+ mac.l %a1,%a3,#1,(%a2)+,%d1
+ mac.l %a1,%a3,#1,(%a2)+,%a3
+ mac.l %a1,%a3,#1,(%a2)+,%d2
+ mac.l %a1,%a3,#1,(%a2)+,%a7
+ mac.l %a1,%a3,#1,(%a2)+&,%d1
+ mac.l %a1,%a3,#1,(%a2)+&,%a3
+ mac.l %a1,%a3,#1,(%a2)+&,%d2
+ mac.l %a1,%a3,#1,(%a2)+&,%a7
+ mac.l %a1,%a3,#1,10(%a6),%d1
+ mac.l %a1,%a3,#1,10(%a6),%a3
+ mac.l %a1,%a3,#1,10(%a6),%d2
+ mac.l %a1,%a3,#1,10(%a6),%a7
+ mac.l %a1,%a3,#1,10(%a6)&,%d1
+ mac.l %a1,%a3,#1,10(%a6)&,%a3
+ mac.l %a1,%a3,#1,10(%a6)&,%d2
+ mac.l %a1,%a3,#1,10(%a6)&,%a7
+ mac.l %a1,%a3,#1,-(%a1),%d1
+ mac.l %a1,%a3,#1,-(%a1),%a3
+ mac.l %a1,%a3,#1,-(%a1),%d2
+ mac.l %a1,%a3,#1,-(%a1),%a7
+ mac.l %a1,%a3,#1,-(%a1)&,%d1
+ mac.l %a1,%a3,#1,-(%a1)&,%a3
+ mac.l %a1,%a3,#1,-(%a1)&,%d2
+ mac.l %a1,%a3,#1,-(%a1)&,%a7
+ mac.l %a1,%a3,#-1,(%a3),%d1
+ mac.l %a1,%a3,#-1,(%a3),%a3
+ mac.l %a1,%a3,#-1,(%a3),%d2
+ mac.l %a1,%a3,#-1,(%a3),%a7
+ mac.l %a1,%a3,#-1,(%a3)&,%d1
+ mac.l %a1,%a3,#-1,(%a3)&,%a3
+ mac.l %a1,%a3,#-1,(%a3)&,%d2
+ mac.l %a1,%a3,#-1,(%a3)&,%a7
+ mac.l %a1,%a3,#-1,(%a2)+,%d1
+ mac.l %a1,%a3,#-1,(%a2)+,%a3
+ mac.l %a1,%a3,#-1,(%a2)+,%d2
+ mac.l %a1,%a3,#-1,(%a2)+,%a7
+ mac.l %a1,%a3,#-1,(%a2)+&,%d1
+ mac.l %a1,%a3,#-1,(%a2)+&,%a3
+ mac.l %a1,%a3,#-1,(%a2)+&,%d2
+ mac.l %a1,%a3,#-1,(%a2)+&,%a7
+ mac.l %a1,%a3,#-1,10(%a6),%d1
+ mac.l %a1,%a3,#-1,10(%a6),%a3
+ mac.l %a1,%a3,#-1,10(%a6),%d2
+ mac.l %a1,%a3,#-1,10(%a6),%a7
+ mac.l %a1,%a3,#-1,10(%a6)&,%d1
+ mac.l %a1,%a3,#-1,10(%a6)&,%a3
+ mac.l %a1,%a3,#-1,10(%a6)&,%d2
+ mac.l %a1,%a3,#-1,10(%a6)&,%a7
+ mac.l %a1,%a3,#-1,-(%a1),%d1
+ mac.l %a1,%a3,#-1,-(%a1),%a3
+ mac.l %a1,%a3,#-1,-(%a1),%d2
+ mac.l %a1,%a3,#-1,-(%a1),%a7
+ mac.l %a1,%a3,#-1,-(%a1)&,%d1
+ mac.l %a1,%a3,#-1,-(%a1)&,%a3
+ mac.l %a1,%a3,#-1,-(%a1)&,%d2
+ mac.l %a1,%a3,#-1,-(%a1)&,%a7
+ mac.l %a1,%d4,(%a3),%d1
+ mac.l %a1,%d4,(%a3),%a3
+ mac.l %a1,%d4,(%a3),%d2
+ mac.l %a1,%d4,(%a3),%a7
+ mac.l %a1,%d4,(%a3)&,%d1
+ mac.l %a1,%d4,(%a3)&,%a3
+ mac.l %a1,%d4,(%a3)&,%d2
+ mac.l %a1,%d4,(%a3)&,%a7
+ mac.l %a1,%d4,(%a2)+,%d1
+ mac.l %a1,%d4,(%a2)+,%a3
+ mac.l %a1,%d4,(%a2)+,%d2
+ mac.l %a1,%d4,(%a2)+,%a7
+ mac.l %a1,%d4,(%a2)+&,%d1
+ mac.l %a1,%d4,(%a2)+&,%a3
+ mac.l %a1,%d4,(%a2)+&,%d2
+ mac.l %a1,%d4,(%a2)+&,%a7
+ mac.l %a1,%d4,10(%a6),%d1
+ mac.l %a1,%d4,10(%a6),%a3
+ mac.l %a1,%d4,10(%a6),%d2
+ mac.l %a1,%d4,10(%a6),%a7
+ mac.l %a1,%d4,10(%a6)&,%d1
+ mac.l %a1,%d4,10(%a6)&,%a3
+ mac.l %a1,%d4,10(%a6)&,%d2
+ mac.l %a1,%d4,10(%a6)&,%a7
+ mac.l %a1,%d4,-(%a1),%d1
+ mac.l %a1,%d4,-(%a1),%a3
+ mac.l %a1,%d4,-(%a1),%d2
+ mac.l %a1,%d4,-(%a1),%a7
+ mac.l %a1,%d4,-(%a1)&,%d1
+ mac.l %a1,%d4,-(%a1)&,%a3
+ mac.l %a1,%d4,-(%a1)&,%d2
+ mac.l %a1,%d4,-(%a1)&,%a7
+ mac.l %a1,%d4,<<,(%a3),%d1
+ mac.l %a1,%d4,<<,(%a3),%a3
+ mac.l %a1,%d4,<<,(%a3),%d2
+ mac.l %a1,%d4,<<,(%a3),%a7
+ mac.l %a1,%d4,<<,(%a3)&,%d1
+ mac.l %a1,%d4,<<,(%a3)&,%a3
+ mac.l %a1,%d4,<<,(%a3)&,%d2
+ mac.l %a1,%d4,<<,(%a3)&,%a7
+ mac.l %a1,%d4,<<,(%a2)+,%d1
+ mac.l %a1,%d4,<<,(%a2)+,%a3
+ mac.l %a1,%d4,<<,(%a2)+,%d2
+ mac.l %a1,%d4,<<,(%a2)+,%a7
+ mac.l %a1,%d4,<<,(%a2)+&,%d1
+ mac.l %a1,%d4,<<,(%a2)+&,%a3
+ mac.l %a1,%d4,<<,(%a2)+&,%d2
+ mac.l %a1,%d4,<<,(%a2)+&,%a7
+ mac.l %a1,%d4,<<,10(%a6),%d1
+ mac.l %a1,%d4,<<,10(%a6),%a3
+ mac.l %a1,%d4,<<,10(%a6),%d2
+ mac.l %a1,%d4,<<,10(%a6),%a7
+ mac.l %a1,%d4,<<,10(%a6)&,%d1
+ mac.l %a1,%d4,<<,10(%a6)&,%a3
+ mac.l %a1,%d4,<<,10(%a6)&,%d2
+ mac.l %a1,%d4,<<,10(%a6)&,%a7
+ mac.l %a1,%d4,<<,-(%a1),%d1
+ mac.l %a1,%d4,<<,-(%a1),%a3
+ mac.l %a1,%d4,<<,-(%a1),%d2
+ mac.l %a1,%d4,<<,-(%a1),%a7
+ mac.l %a1,%d4,<<,-(%a1)&,%d1
+ mac.l %a1,%d4,<<,-(%a1)&,%a3
+ mac.l %a1,%d4,<<,-(%a1)&,%d2
+ mac.l %a1,%d4,<<,-(%a1)&,%a7
+ mac.l %a1,%d4,>>,(%a3),%d1
+ mac.l %a1,%d4,>>,(%a3),%a3
+ mac.l %a1,%d4,>>,(%a3),%d2
+ mac.l %a1,%d4,>>,(%a3),%a7
+ mac.l %a1,%d4,>>,(%a3)&,%d1
+ mac.l %a1,%d4,>>,(%a3)&,%a3
+ mac.l %a1,%d4,>>,(%a3)&,%d2
+ mac.l %a1,%d4,>>,(%a3)&,%a7
+ mac.l %a1,%d4,>>,(%a2)+,%d1
+ mac.l %a1,%d4,>>,(%a2)+,%a3
+ mac.l %a1,%d4,>>,(%a2)+,%d2
+ mac.l %a1,%d4,>>,(%a2)+,%a7
+ mac.l %a1,%d4,>>,(%a2)+&,%d1
+ mac.l %a1,%d4,>>,(%a2)+&,%a3
+ mac.l %a1,%d4,>>,(%a2)+&,%d2
+ mac.l %a1,%d4,>>,(%a2)+&,%a7
+ mac.l %a1,%d4,>>,10(%a6),%d1
+ mac.l %a1,%d4,>>,10(%a6),%a3
+ mac.l %a1,%d4,>>,10(%a6),%d2
+ mac.l %a1,%d4,>>,10(%a6),%a7
+ mac.l %a1,%d4,>>,10(%a6)&,%d1
+ mac.l %a1,%d4,>>,10(%a6)&,%a3
+ mac.l %a1,%d4,>>,10(%a6)&,%d2
+ mac.l %a1,%d4,>>,10(%a6)&,%a7
+ mac.l %a1,%d4,>>,-(%a1),%d1
+ mac.l %a1,%d4,>>,-(%a1),%a3
+ mac.l %a1,%d4,>>,-(%a1),%d2
+ mac.l %a1,%d4,>>,-(%a1),%a7
+ mac.l %a1,%d4,>>,-(%a1)&,%d1
+ mac.l %a1,%d4,>>,-(%a1)&,%a3
+ mac.l %a1,%d4,>>,-(%a1)&,%d2
+ mac.l %a1,%d4,>>,-(%a1)&,%a7
+ mac.l %a1,%d4,#1,(%a3),%d1
+ mac.l %a1,%d4,#1,(%a3),%a3
+ mac.l %a1,%d4,#1,(%a3),%d2
+ mac.l %a1,%d4,#1,(%a3),%a7
+ mac.l %a1,%d4,#1,(%a3)&,%d1
+ mac.l %a1,%d4,#1,(%a3)&,%a3
+ mac.l %a1,%d4,#1,(%a3)&,%d2
+ mac.l %a1,%d4,#1,(%a3)&,%a7
+ mac.l %a1,%d4,#1,(%a2)+,%d1
+ mac.l %a1,%d4,#1,(%a2)+,%a3
+ mac.l %a1,%d4,#1,(%a2)+,%d2
+ mac.l %a1,%d4,#1,(%a2)+,%a7
+ mac.l %a1,%d4,#1,(%a2)+&,%d1
+ mac.l %a1,%d4,#1,(%a2)+&,%a3
+ mac.l %a1,%d4,#1,(%a2)+&,%d2
+ mac.l %a1,%d4,#1,(%a2)+&,%a7
+ mac.l %a1,%d4,#1,10(%a6),%d1
+ mac.l %a1,%d4,#1,10(%a6),%a3
+ mac.l %a1,%d4,#1,10(%a6),%d2
+ mac.l %a1,%d4,#1,10(%a6),%a7
+ mac.l %a1,%d4,#1,10(%a6)&,%d1
+ mac.l %a1,%d4,#1,10(%a6)&,%a3
+ mac.l %a1,%d4,#1,10(%a6)&,%d2
+ mac.l %a1,%d4,#1,10(%a6)&,%a7
+ mac.l %a1,%d4,#1,-(%a1),%d1
+ mac.l %a1,%d4,#1,-(%a1),%a3
+ mac.l %a1,%d4,#1,-(%a1),%d2
+ mac.l %a1,%d4,#1,-(%a1),%a7
+ mac.l %a1,%d4,#1,-(%a1)&,%d1
+ mac.l %a1,%d4,#1,-(%a1)&,%a3
+ mac.l %a1,%d4,#1,-(%a1)&,%d2
+ mac.l %a1,%d4,#1,-(%a1)&,%a7
+ mac.l %a1,%d4,#-1,(%a3),%d1
+ mac.l %a1,%d4,#-1,(%a3),%a3
+ mac.l %a1,%d4,#-1,(%a3),%d2
+ mac.l %a1,%d4,#-1,(%a3),%a7
+ mac.l %a1,%d4,#-1,(%a3)&,%d1
+ mac.l %a1,%d4,#-1,(%a3)&,%a3
+ mac.l %a1,%d4,#-1,(%a3)&,%d2
+ mac.l %a1,%d4,#-1,(%a3)&,%a7
+ mac.l %a1,%d4,#-1,(%a2)+,%d1
+ mac.l %a1,%d4,#-1,(%a2)+,%a3
+ mac.l %a1,%d4,#-1,(%a2)+,%d2
+ mac.l %a1,%d4,#-1,(%a2)+,%a7
+ mac.l %a1,%d4,#-1,(%a2)+&,%d1
+ mac.l %a1,%d4,#-1,(%a2)+&,%a3
+ mac.l %a1,%d4,#-1,(%a2)+&,%d2
+ mac.l %a1,%d4,#-1,(%a2)+&,%a7
+ mac.l %a1,%d4,#-1,10(%a6),%d1
+ mac.l %a1,%d4,#-1,10(%a6),%a3
+ mac.l %a1,%d4,#-1,10(%a6),%d2
+ mac.l %a1,%d4,#-1,10(%a6),%a7
+ mac.l %a1,%d4,#-1,10(%a6)&,%d1
+ mac.l %a1,%d4,#-1,10(%a6)&,%a3
+ mac.l %a1,%d4,#-1,10(%a6)&,%d2
+ mac.l %a1,%d4,#-1,10(%a6)&,%a7
+ mac.l %a1,%d4,#-1,-(%a1),%d1
+ mac.l %a1,%d4,#-1,-(%a1),%a3
+ mac.l %a1,%d4,#-1,-(%a1),%d2
+ mac.l %a1,%d4,#-1,-(%a1),%a7
+ mac.l %a1,%d4,#-1,-(%a1)&,%d1
+ mac.l %a1,%d4,#-1,-(%a1)&,%a3
+ mac.l %a1,%d4,#-1,-(%a1)&,%d2
+ mac.l %a1,%d4,#-1,-(%a1)&,%a7
+ mac.l %d6,%a3,(%a3),%d1
+ mac.l %d6,%a3,(%a3),%a3
+ mac.l %d6,%a3,(%a3),%d2
+ mac.l %d6,%a3,(%a3),%a7
+ mac.l %d6,%a3,(%a3)&,%d1
+ mac.l %d6,%a3,(%a3)&,%a3
+ mac.l %d6,%a3,(%a3)&,%d2
+ mac.l %d6,%a3,(%a3)&,%a7
+ mac.l %d6,%a3,(%a2)+,%d1
+ mac.l %d6,%a3,(%a2)+,%a3
+ mac.l %d6,%a3,(%a2)+,%d2
+ mac.l %d6,%a3,(%a2)+,%a7
+ mac.l %d6,%a3,(%a2)+&,%d1
+ mac.l %d6,%a3,(%a2)+&,%a3
+ mac.l %d6,%a3,(%a2)+&,%d2
+ mac.l %d6,%a3,(%a2)+&,%a7
+ mac.l %d6,%a3,10(%a6),%d1
+ mac.l %d6,%a3,10(%a6),%a3
+ mac.l %d6,%a3,10(%a6),%d2
+ mac.l %d6,%a3,10(%a6),%a7
+ mac.l %d6,%a3,10(%a6)&,%d1
+ mac.l %d6,%a3,10(%a6)&,%a3
+ mac.l %d6,%a3,10(%a6)&,%d2
+ mac.l %d6,%a3,10(%a6)&,%a7
+ mac.l %d6,%a3,-(%a1),%d1
+ mac.l %d6,%a3,-(%a1),%a3
+ mac.l %d6,%a3,-(%a1),%d2
+ mac.l %d6,%a3,-(%a1),%a7
+ mac.l %d6,%a3,-(%a1)&,%d1
+ mac.l %d6,%a3,-(%a1)&,%a3
+ mac.l %d6,%a3,-(%a1)&,%d2
+ mac.l %d6,%a3,-(%a1)&,%a7
+ mac.l %d6,%a3,<<,(%a3),%d1
+ mac.l %d6,%a3,<<,(%a3),%a3
+ mac.l %d6,%a3,<<,(%a3),%d2
+ mac.l %d6,%a3,<<,(%a3),%a7
+ mac.l %d6,%a3,<<,(%a3)&,%d1
+ mac.l %d6,%a3,<<,(%a3)&,%a3
+ mac.l %d6,%a3,<<,(%a3)&,%d2
+ mac.l %d6,%a3,<<,(%a3)&,%a7
+ mac.l %d6,%a3,<<,(%a2)+,%d1
+ mac.l %d6,%a3,<<,(%a2)+,%a3
+ mac.l %d6,%a3,<<,(%a2)+,%d2
+ mac.l %d6,%a3,<<,(%a2)+,%a7
+ mac.l %d6,%a3,<<,(%a2)+&,%d1
+ mac.l %d6,%a3,<<,(%a2)+&,%a3
+ mac.l %d6,%a3,<<,(%a2)+&,%d2
+ mac.l %d6,%a3,<<,(%a2)+&,%a7
+ mac.l %d6,%a3,<<,10(%a6),%d1
+ mac.l %d6,%a3,<<,10(%a6),%a3
+ mac.l %d6,%a3,<<,10(%a6),%d2
+ mac.l %d6,%a3,<<,10(%a6),%a7
+ mac.l %d6,%a3,<<,10(%a6)&,%d1
+ mac.l %d6,%a3,<<,10(%a6)&,%a3
+ mac.l %d6,%a3,<<,10(%a6)&,%d2
+ mac.l %d6,%a3,<<,10(%a6)&,%a7
+ mac.l %d6,%a3,<<,-(%a1),%d1
+ mac.l %d6,%a3,<<,-(%a1),%a3
+ mac.l %d6,%a3,<<,-(%a1),%d2
+ mac.l %d6,%a3,<<,-(%a1),%a7
+ mac.l %d6,%a3,<<,-(%a1)&,%d1
+ mac.l %d6,%a3,<<,-(%a1)&,%a3
+ mac.l %d6,%a3,<<,-(%a1)&,%d2
+ mac.l %d6,%a3,<<,-(%a1)&,%a7
+ mac.l %d6,%a3,>>,(%a3),%d1
+ mac.l %d6,%a3,>>,(%a3),%a3
+ mac.l %d6,%a3,>>,(%a3),%d2
+ mac.l %d6,%a3,>>,(%a3),%a7
+ mac.l %d6,%a3,>>,(%a3)&,%d1
+ mac.l %d6,%a3,>>,(%a3)&,%a3
+ mac.l %d6,%a3,>>,(%a3)&,%d2
+ mac.l %d6,%a3,>>,(%a3)&,%a7
+ mac.l %d6,%a3,>>,(%a2)+,%d1
+ mac.l %d6,%a3,>>,(%a2)+,%a3
+ mac.l %d6,%a3,>>,(%a2)+,%d2
+ mac.l %d6,%a3,>>,(%a2)+,%a7
+ mac.l %d6,%a3,>>,(%a2)+&,%d1
+ mac.l %d6,%a3,>>,(%a2)+&,%a3
+ mac.l %d6,%a3,>>,(%a2)+&,%d2
+ mac.l %d6,%a3,>>,(%a2)+&,%a7
+ mac.l %d6,%a3,>>,10(%a6),%d1
+ mac.l %d6,%a3,>>,10(%a6),%a3
+ mac.l %d6,%a3,>>,10(%a6),%d2
+ mac.l %d6,%a3,>>,10(%a6),%a7
+ mac.l %d6,%a3,>>,10(%a6)&,%d1
+ mac.l %d6,%a3,>>,10(%a6)&,%a3
+ mac.l %d6,%a3,>>,10(%a6)&,%d2
+ mac.l %d6,%a3,>>,10(%a6)&,%a7
+ mac.l %d6,%a3,>>,-(%a1),%d1
+ mac.l %d6,%a3,>>,-(%a1),%a3
+ mac.l %d6,%a3,>>,-(%a1),%d2
+ mac.l %d6,%a3,>>,-(%a1),%a7
+ mac.l %d6,%a3,>>,-(%a1)&,%d1
+ mac.l %d6,%a3,>>,-(%a1)&,%a3
+ mac.l %d6,%a3,>>,-(%a1)&,%d2
+ mac.l %d6,%a3,>>,-(%a1)&,%a7
+ mac.l %d6,%a3,#1,(%a3),%d1
+ mac.l %d6,%a3,#1,(%a3),%a3
+ mac.l %d6,%a3,#1,(%a3),%d2
+ mac.l %d6,%a3,#1,(%a3),%a7
+ mac.l %d6,%a3,#1,(%a3)&,%d1
+ mac.l %d6,%a3,#1,(%a3)&,%a3
+ mac.l %d6,%a3,#1,(%a3)&,%d2
+ mac.l %d6,%a3,#1,(%a3)&,%a7
+ mac.l %d6,%a3,#1,(%a2)+,%d1
+ mac.l %d6,%a3,#1,(%a2)+,%a3
+ mac.l %d6,%a3,#1,(%a2)+,%d2
+ mac.l %d6,%a3,#1,(%a2)+,%a7
+ mac.l %d6,%a3,#1,(%a2)+&,%d1
+ mac.l %d6,%a3,#1,(%a2)+&,%a3
+ mac.l %d6,%a3,#1,(%a2)+&,%d2
+ mac.l %d6,%a3,#1,(%a2)+&,%a7
+ mac.l %d6,%a3,#1,10(%a6),%d1
+ mac.l %d6,%a3,#1,10(%a6),%a3
+ mac.l %d6,%a3,#1,10(%a6),%d2
+ mac.l %d6,%a3,#1,10(%a6),%a7
+ mac.l %d6,%a3,#1,10(%a6)&,%d1
+ mac.l %d6,%a3,#1,10(%a6)&,%a3
+ mac.l %d6,%a3,#1,10(%a6)&,%d2
+ mac.l %d6,%a3,#1,10(%a6)&,%a7
+ mac.l %d6,%a3,#1,-(%a1),%d1
+ mac.l %d6,%a3,#1,-(%a1),%a3
+ mac.l %d6,%a3,#1,-(%a1),%d2
+ mac.l %d6,%a3,#1,-(%a1),%a7
+ mac.l %d6,%a3,#1,-(%a1)&,%d1
+ mac.l %d6,%a3,#1,-(%a1)&,%a3
+ mac.l %d6,%a3,#1,-(%a1)&,%d2
+ mac.l %d6,%a3,#1,-(%a1)&,%a7
+ mac.l %d6,%a3,#-1,(%a3),%d1
+ mac.l %d6,%a3,#-1,(%a3),%a3
+ mac.l %d6,%a3,#-1,(%a3),%d2
+ mac.l %d6,%a3,#-1,(%a3),%a7
+ mac.l %d6,%a3,#-1,(%a3)&,%d1
+ mac.l %d6,%a3,#-1,(%a3)&,%a3
+ mac.l %d6,%a3,#-1,(%a3)&,%d2
+ mac.l %d6,%a3,#-1,(%a3)&,%a7
+ mac.l %d6,%a3,#-1,(%a2)+,%d1
+ mac.l %d6,%a3,#-1,(%a2)+,%a3
+ mac.l %d6,%a3,#-1,(%a2)+,%d2
+ mac.l %d6,%a3,#-1,(%a2)+,%a7
+ mac.l %d6,%a3,#-1,(%a2)+&,%d1
+ mac.l %d6,%a3,#-1,(%a2)+&,%a3
+ mac.l %d6,%a3,#-1,(%a2)+&,%d2
+ mac.l %d6,%a3,#-1,(%a2)+&,%a7
+ mac.l %d6,%a3,#-1,10(%a6),%d1
+ mac.l %d6,%a3,#-1,10(%a6),%a3
+ mac.l %d6,%a3,#-1,10(%a6),%d2
+ mac.l %d6,%a3,#-1,10(%a6),%a7
+ mac.l %d6,%a3,#-1,10(%a6)&,%d1
+ mac.l %d6,%a3,#-1,10(%a6)&,%a3
+ mac.l %d6,%a3,#-1,10(%a6)&,%d2
+ mac.l %d6,%a3,#-1,10(%a6)&,%a7
+ mac.l %d6,%a3,#-1,-(%a1),%d1
+ mac.l %d6,%a3,#-1,-(%a1),%a3
+ mac.l %d6,%a3,#-1,-(%a1),%d2
+ mac.l %d6,%a3,#-1,-(%a1),%a7
+ mac.l %d6,%a3,#-1,-(%a1)&,%d1
+ mac.l %d6,%a3,#-1,-(%a1)&,%a3
+ mac.l %d6,%a3,#-1,-(%a1)&,%d2
+ mac.l %d6,%a3,#-1,-(%a1)&,%a7
+ mac.l %d6,%d4,(%a3),%d1
+ mac.l %d6,%d4,(%a3),%a3
+ mac.l %d6,%d4,(%a3),%d2
+ mac.l %d6,%d4,(%a3),%a7
+ mac.l %d6,%d4,(%a3)&,%d1
+ mac.l %d6,%d4,(%a3)&,%a3
+ mac.l %d6,%d4,(%a3)&,%d2
+ mac.l %d6,%d4,(%a3)&,%a7
+ mac.l %d6,%d4,(%a2)+,%d1
+ mac.l %d6,%d4,(%a2)+,%a3
+ mac.l %d6,%d4,(%a2)+,%d2
+ mac.l %d6,%d4,(%a2)+,%a7
+ mac.l %d6,%d4,(%a2)+&,%d1
+ mac.l %d6,%d4,(%a2)+&,%a3
+ mac.l %d6,%d4,(%a2)+&,%d2
+ mac.l %d6,%d4,(%a2)+&,%a7
+ mac.l %d6,%d4,10(%a6),%d1
+ mac.l %d6,%d4,10(%a6),%a3
+ mac.l %d6,%d4,10(%a6),%d2
+ mac.l %d6,%d4,10(%a6),%a7
+ mac.l %d6,%d4,10(%a6)&,%d1
+ mac.l %d6,%d4,10(%a6)&,%a3
+ mac.l %d6,%d4,10(%a6)&,%d2
+ mac.l %d6,%d4,10(%a6)&,%a7
+ mac.l %d6,%d4,-(%a1),%d1
+ mac.l %d6,%d4,-(%a1),%a3
+ mac.l %d6,%d4,-(%a1),%d2
+ mac.l %d6,%d4,-(%a1),%a7
+ mac.l %d6,%d4,-(%a1)&,%d1
+ mac.l %d6,%d4,-(%a1)&,%a3
+ mac.l %d6,%d4,-(%a1)&,%d2
+ mac.l %d6,%d4,-(%a1)&,%a7
+ mac.l %d6,%d4,<<,(%a3),%d1
+ mac.l %d6,%d4,<<,(%a3),%a3
+ mac.l %d6,%d4,<<,(%a3),%d2
+ mac.l %d6,%d4,<<,(%a3),%a7
+ mac.l %d6,%d4,<<,(%a3)&,%d1
+ mac.l %d6,%d4,<<,(%a3)&,%a3
+ mac.l %d6,%d4,<<,(%a3)&,%d2
+ mac.l %d6,%d4,<<,(%a3)&,%a7
+ mac.l %d6,%d4,<<,(%a2)+,%d1
+ mac.l %d6,%d4,<<,(%a2)+,%a3
+ mac.l %d6,%d4,<<,(%a2)+,%d2
+ mac.l %d6,%d4,<<,(%a2)+,%a7
+ mac.l %d6,%d4,<<,(%a2)+&,%d1
+ mac.l %d6,%d4,<<,(%a2)+&,%a3
+ mac.l %d6,%d4,<<,(%a2)+&,%d2
+ mac.l %d6,%d4,<<,(%a2)+&,%a7
+ mac.l %d6,%d4,<<,10(%a6),%d1
+ mac.l %d6,%d4,<<,10(%a6),%a3
+ mac.l %d6,%d4,<<,10(%a6),%d2
+ mac.l %d6,%d4,<<,10(%a6),%a7
+ mac.l %d6,%d4,<<,10(%a6)&,%d1
+ mac.l %d6,%d4,<<,10(%a6)&,%a3
+ mac.l %d6,%d4,<<,10(%a6)&,%d2
+ mac.l %d6,%d4,<<,10(%a6)&,%a7
+ mac.l %d6,%d4,<<,-(%a1),%d1
+ mac.l %d6,%d4,<<,-(%a1),%a3
+ mac.l %d6,%d4,<<,-(%a1),%d2
+ mac.l %d6,%d4,<<,-(%a1),%a7
+ mac.l %d6,%d4,<<,-(%a1)&,%d1
+ mac.l %d6,%d4,<<,-(%a1)&,%a3
+ mac.l %d6,%d4,<<,-(%a1)&,%d2
+ mac.l %d6,%d4,<<,-(%a1)&,%a7
+ mac.l %d6,%d4,>>,(%a3),%d1
+ mac.l %d6,%d4,>>,(%a3),%a3
+ mac.l %d6,%d4,>>,(%a3),%d2
+ mac.l %d6,%d4,>>,(%a3),%a7
+ mac.l %d6,%d4,>>,(%a3)&,%d1
+ mac.l %d6,%d4,>>,(%a3)&,%a3
+ mac.l %d6,%d4,>>,(%a3)&,%d2
+ mac.l %d6,%d4,>>,(%a3)&,%a7
+ mac.l %d6,%d4,>>,(%a2)+,%d1
+ mac.l %d6,%d4,>>,(%a2)+,%a3
+ mac.l %d6,%d4,>>,(%a2)+,%d2
+ mac.l %d6,%d4,>>,(%a2)+,%a7
+ mac.l %d6,%d4,>>,(%a2)+&,%d1
+ mac.l %d6,%d4,>>,(%a2)+&,%a3
+ mac.l %d6,%d4,>>,(%a2)+&,%d2
+ mac.l %d6,%d4,>>,(%a2)+&,%a7
+ mac.l %d6,%d4,>>,10(%a6),%d1
+ mac.l %d6,%d4,>>,10(%a6),%a3
+ mac.l %d6,%d4,>>,10(%a6),%d2
+ mac.l %d6,%d4,>>,10(%a6),%a7
+ mac.l %d6,%d4,>>,10(%a6)&,%d1
+ mac.l %d6,%d4,>>,10(%a6)&,%a3
+ mac.l %d6,%d4,>>,10(%a6)&,%d2
+ mac.l %d6,%d4,>>,10(%a6)&,%a7
+ mac.l %d6,%d4,>>,-(%a1),%d1
+ mac.l %d6,%d4,>>,-(%a1),%a3
+ mac.l %d6,%d4,>>,-(%a1),%d2
+ mac.l %d6,%d4,>>,-(%a1),%a7
+ mac.l %d6,%d4,>>,-(%a1)&,%d1
+ mac.l %d6,%d4,>>,-(%a1)&,%a3
+ mac.l %d6,%d4,>>,-(%a1)&,%d2
+ mac.l %d6,%d4,>>,-(%a1)&,%a7
+ mac.l %d6,%d4,#1,(%a3),%d1
+ mac.l %d6,%d4,#1,(%a3),%a3
+ mac.l %d6,%d4,#1,(%a3),%d2
+ mac.l %d6,%d4,#1,(%a3),%a7
+ mac.l %d6,%d4,#1,(%a3)&,%d1
+ mac.l %d6,%d4,#1,(%a3)&,%a3
+ mac.l %d6,%d4,#1,(%a3)&,%d2
+ mac.l %d6,%d4,#1,(%a3)&,%a7
+ mac.l %d6,%d4,#1,(%a2)+,%d1
+ mac.l %d6,%d4,#1,(%a2)+,%a3
+ mac.l %d6,%d4,#1,(%a2)+,%d2
+ mac.l %d6,%d4,#1,(%a2)+,%a7
+ mac.l %d6,%d4,#1,(%a2)+&,%d1
+ mac.l %d6,%d4,#1,(%a2)+&,%a3
+ mac.l %d6,%d4,#1,(%a2)+&,%d2
+ mac.l %d6,%d4,#1,(%a2)+&,%a7
+ mac.l %d6,%d4,#1,10(%a6),%d1
+ mac.l %d6,%d4,#1,10(%a6),%a3
+ mac.l %d6,%d4,#1,10(%a6),%d2
+ mac.l %d6,%d4,#1,10(%a6),%a7
+ mac.l %d6,%d4,#1,10(%a6)&,%d1
+ mac.l %d6,%d4,#1,10(%a6)&,%a3
+ mac.l %d6,%d4,#1,10(%a6)&,%d2
+ mac.l %d6,%d4,#1,10(%a6)&,%a7
+ mac.l %d6,%d4,#1,-(%a1),%d1
+ mac.l %d6,%d4,#1,-(%a1),%a3
+ mac.l %d6,%d4,#1,-(%a1),%d2
+ mac.l %d6,%d4,#1,-(%a1),%a7
+ mac.l %d6,%d4,#1,-(%a1)&,%d1
+ mac.l %d6,%d4,#1,-(%a1)&,%a3
+ mac.l %d6,%d4,#1,-(%a1)&,%d2
+ mac.l %d6,%d4,#1,-(%a1)&,%a7
+ mac.l %d6,%d4,#-1,(%a3),%d1
+ mac.l %d6,%d4,#-1,(%a3),%a3
+ mac.l %d6,%d4,#-1,(%a3),%d2
+ mac.l %d6,%d4,#-1,(%a3),%a7
+ mac.l %d6,%d4,#-1,(%a3)&,%d1
+ mac.l %d6,%d4,#-1,(%a3)&,%a3
+ mac.l %d6,%d4,#-1,(%a3)&,%d2
+ mac.l %d6,%d4,#-1,(%a3)&,%a7
+ mac.l %d6,%d4,#-1,(%a2)+,%d1
+ mac.l %d6,%d4,#-1,(%a2)+,%a3
+ mac.l %d6,%d4,#-1,(%a2)+,%d2
+ mac.l %d6,%d4,#-1,(%a2)+,%a7
+ mac.l %d6,%d4,#-1,(%a2)+&,%d1
+ mac.l %d6,%d4,#-1,(%a2)+&,%a3
+ mac.l %d6,%d4,#-1,(%a2)+&,%d2
+ mac.l %d6,%d4,#-1,(%a2)+&,%a7
+ mac.l %d6,%d4,#-1,10(%a6),%d1
+ mac.l %d6,%d4,#-1,10(%a6),%a3
+ mac.l %d6,%d4,#-1,10(%a6),%d2
+ mac.l %d6,%d4,#-1,10(%a6),%a7
+ mac.l %d6,%d4,#-1,10(%a6)&,%d1
+ mac.l %d6,%d4,#-1,10(%a6)&,%a3
+ mac.l %d6,%d4,#-1,10(%a6)&,%d2
+ mac.l %d6,%d4,#-1,10(%a6)&,%a7
+ mac.l %d6,%d4,#-1,-(%a1),%d1
+ mac.l %d6,%d4,#-1,-(%a1),%a3
+ mac.l %d6,%d4,#-1,-(%a1),%d2
+ mac.l %d6,%d4,#-1,-(%a1),%a7
+ mac.l %d6,%d4,#-1,-(%a1)&,%d1
+ mac.l %d6,%d4,#-1,-(%a1)&,%a3
+ mac.l %d6,%d4,#-1,-(%a1)&,%d2
+ mac.l %d6,%d4,#-1,-(%a1)&,%a7
diff --git a/gas/testsuite/gas/macros/macros.exp b/gas/testsuite/gas/macros/macros.exp
index 19568d9..83dc4cf 100644
--- a/gas/testsuite/gas/macros/macros.exp
+++ b/gas/testsuite/gas/macros/macros.exp
@@ -35,7 +35,7 @@ if { ![istarget hppa*-*-*] || [istarget *-*-linux*] } {
# These fail due to NO_STRING_ESCAPES
setup_xfail "powerpc*-*-aix*" "powerpc*-*-beos*" "powerpc*-*-macos*"
- setup_xfail "powerpc*-*-mpw*" "powerpc*-*-pe" "powerpc*-*-*win*"
+ setup_xfail "powerpc*-*-pe" "powerpc*-*-*win*"
setup_xfail "rs6000-*-*"
# FIXME: Due to difference in what "consecutive octets" means.
diff --git a/gas/testsuite/gas/mips/elempic.d b/gas/testsuite/gas/mips/elempic.d
deleted file mode 100644
index d40d5fd..0000000
--- a/gas/testsuite/gas/mips/elempic.d
+++ /dev/null
@@ -1,154 +0,0 @@
-#objdump: -rst -mmips:4000
-#name: MIPS empic
-#as: -mabi=o64 -membedded-pic -mips3
-#source: empic.s
-#stderr: empic.l
-
-# Check GNU-specific embedded relocs, for ELF.
-
-.*: +file format elf.*mips.*
-
-SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d \.foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
-0+0000004 l \.text 0+0000000 l2
-0+0000000 \*UND\* 0+0000000 g1
-0+0000000 \*UND\* 0+0000000 g2
-0+0000100 l \.foo 0+0000000 l1
-0+0000034 l \.text 0+0000000 l3
-0+0000098 l \.text 0+0000000 l5
-0+0000004 l \.foo 0+0000000 l4
-
-
-RELOCATION RECORDS FOR \[\.text\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL16_S2 g1
-0+000000c R_MIPS_GNU_REL16_S2 g2
-0+0000014 R_MIPS_GNU_REL16_S2 g2
-0+000001c R_MIPS_GNU_REL16_S2 \.foo
-0+0000024 R_MIPS_GNU_REL16_S2 \.text
-0+000002c R_MIPS_GNU_REL16_S2 \.foo
-0+0000034 R_MIPS_GNU_REL16_S2 \.text
-0+000003c R_MIPS_GNU_REL_HI16 g1
-0+0000040 R_MIPS_GNU_REL_LO16 g1
-0+0000044 R_MIPS_GNU_REL_HI16 \.foo
-0+0000048 R_MIPS_GNU_REL_LO16 \.foo
-0+0000050 R_MIPS_32 g1
-0+0000054 R_MIPS_32 \.foo
-0+0000058 R_MIPS_32 \.text
-0+000005c R_MIPS_PC32 g1
-0+0000060 R_MIPS_PC32 \.foo
-0+0000068 R_MIPS_64 g1
-0+0000070 R_MIPS_64 \.foo
-0+0000078 R_MIPS_64 \.text
-0+0000080 R_MIPS_PC64 g1
-0+0000088 R_MIPS_PC64 \.foo
-0+0000098 R_MIPS_GNU_REL16_S2 \.text
-0+000009c R_MIPS_GNU_REL16_S2 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 \.text
-0+00000a4 R_MIPS_GNU_REL_LO16 \.text
-0+00000a8 R_MIPS_GNU_REL_HI16 \.text
-0+00000ac R_MIPS_GNU_REL_LO16 \.text
-0+00000b0 R_MIPS_32 \.text
-0+00000b8 R_MIPS_64 \.text
-0+00000cc R_MIPS_GNU_REL16_S2 \.text
-0+00000d0 R_MIPS_GNU_REL16_S2 \.text
-0+00000d4 R_MIPS_GNU_REL_HI16 \.text
-0+00000d8 R_MIPS_GNU_REL_LO16 \.text
-0+00000dc R_MIPS_GNU_REL_HI16 \.text
-0+00000e0 R_MIPS_GNU_REL_LO16 \.text
-0+00000e4 R_MIPS_32 \.text
-0+00000f0 R_MIPS_64 \.text
-
-
-RELOCATION RECORDS FOR \[\.foo\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL_HI16 g1
-0+0000008 R_MIPS_GNU_REL_LO16 g1
-0+000000c R_MIPS_GNU_REL_HI16 \.foo
-0+0000010 R_MIPS_GNU_REL_LO16 \.foo
-0+0000014 R_MIPS_GNU_REL_HI16 \.text
-0+0000018 R_MIPS_GNU_REL_LO16 \.text
-0+000001c R_MIPS_GNU_REL_HI16 g1
-0+0000020 R_MIPS_GNU_REL_LO16 g1
-0+0000024 R_MIPS_GNU_REL_HI16 g1
-0+0000028 R_MIPS_GNU_REL_LO16 g1
-0+000002c R_MIPS_GNU_REL_HI16 \.foo
-0+0000030 R_MIPS_GNU_REL_LO16 \.foo
-0+0000034 R_MIPS_GNU_REL_HI16 \.text
-0+0000038 R_MIPS_GNU_REL_LO16 \.text
-0+000003c R_MIPS_32 g1
-0+0000040 R_MIPS_32 \.foo
-0+0000044 R_MIPS_32 \.text
-0+0000048 R_MIPS_PC32 g1
-0+0000050 R_MIPS_PC32 \.text
-0+0000058 R_MIPS_64 g1
-0+0000060 R_MIPS_64 \.foo
-0+0000068 R_MIPS_64 \.text
-0+0000070 R_MIPS_PC64 g1
-0+0000080 R_MIPS_PC64 \.text
-0+0000088 R_MIPS_GNU_REL_HI16 g1
-0+000008c R_MIPS_GNU_REL_LO16 g1
-0+0000090 R_MIPS_GNU_REL_HI16 \.foo
-0+0000094 R_MIPS_GNU_REL_LO16 \.foo
-0+0000098 R_MIPS_GNU_REL_HI16 \.text
-0+000009c R_MIPS_GNU_REL_LO16 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 g1
-0+00000a4 R_MIPS_GNU_REL_LO16 g1
-0+00000a8 R_MIPS_GNU_REL_HI16 \.foo
-0+00000ac R_MIPS_GNU_REL_LO16 \.foo
-0+00000b0 R_MIPS_GNU_REL_HI16 \.text
-0+00000b4 R_MIPS_GNU_REL_LO16 \.text
-0+00000b8 R_MIPS_32 g1
-0+00000bc R_MIPS_32 \.foo
-0+00000c0 R_MIPS_32 \.text
-0+00000c4 R_MIPS_PC32 g1
-0+00000cc R_MIPS_PC32 \.text
-0+00000d0 R_MIPS_64 g1
-0+00000d8 R_MIPS_64 \.foo
-0+00000e0 R_MIPS_64 \.text
-0+00000e8 R_MIPS_PC64 g1
-0+00000f8 R_MIPS_PC64 \.text
-
-Contents of section \.text:
- 0000 00000000 ffff1104 00000000 ffff0010 .*
- 0010 00000000 ffff0010 00000000 3f001104 .*
- 0020 00000000 00001104 00000000 41000010 .*
- 0030 00000000 00000010 00000000 0000033c .*
- 0040 0c0063[26]4 0000033c 140163[26]4 d0ff03[26]4 .*
- 0050 00000000 00010000 04000000 28000000 .*
- 0060 2c010000 d0ffffff 00000000 00000000 .*
- 0070 00010000 00000000 04000000 00000000 .*
- 0080 4c000000 00000000 54010000 00000000 .*
- 0090 d0ffffff ffffffff 32000010 33000010 .*
- 00a0 0000033c d80063[26]4 0000033c e80063[26]4 .*
- 00b0 cc000000 34000000 cc000000 00000000 .*
- 00c0 34000000 00000000 00000000 32000010 .*
- 00d0 33000010 0000033c 0c0163[26]4 0000033c .*
- 00e0 1c0163[26]4 cc000000 34000000 00000000 .*
- 00f0 cc000000 00000000 34000000 00000000 .*
-Contents of section \.reginfo:
- 0000 08000080 00000000 00000000 00000000 .*
- 0010 00000000 00000000 .*
-Contents of section \.foo:
- 0000 00000000 0000033c 040063[26]4 0000033c .*
- 0010 0c0163[26]4 0000033c 180063[26]4 0000033c .*
- 0020 1c0063[26]4 0000033c 240063[26]4 0000033c .*
- 0030 2c0163[26]4 0000033c 380063[26]4 00000000 .*
- 0040 00010000 04000000 44000000 fc000000 .*
- 0050 50000000 00000000 00000000 00000000 .*
- 0060 00010000 00000000 04000000 00000000 .*
- 0070 6c000000 00000000 fc000000 00000000 .*
- 0080 80000000 00000000 0000033c 8c0063[26]4 .*
- 0090 0000033c 940163[26]4 0000033c a00063[26]4 .*
- 00a0 0000033c a40063[26]4 0000033c ac0163[26]4 .*
- 00b0 0000033c b80063[26]4 04000000 04010000 .*
- 00c0 08000000 c4000000 00010000 d0000000 .*
- 00d0 04000000 00000000 04010000 00000000 .*
- 00e0 08000000 00000000 e8000000 00000000 .*
- 00f0 00010000 00000000 fc000000 00000000 .*
- 0100 00000000 00000000 00000000 00000000 .*
diff --git a/gas/testsuite/gas/mips/empic.d b/gas/testsuite/gas/mips/empic.d
deleted file mode 100644
index 6c3c93a..0000000
--- a/gas/testsuite/gas/mips/empic.d
+++ /dev/null
@@ -1,154 +0,0 @@
-#objdump: -rst -mmips:4000
-#name: MIPS empic
-#as: -mabi=o64 -membedded-pic -mips3
-#stderr: empic.l
-
-# Check GNU-specific embedded relocs, for ELF.
-
-.*: +file format elf.*mips.*
-
-SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d \.foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
-0+0000004 l \.text 0+0000000 l2
-0+0000000 \*UND\* 0+0000000 g1
-0+0000000 \*UND\* 0+0000000 g2
-0+0000100 l \.foo 0+0000000 l1
-0+0000034 l \.text 0+0000000 l3
-0+0000098 l \.text 0+0000000 l5
-0+0000004 l \.foo 0+0000000 l4
-
-
-RELOCATION RECORDS FOR \[\.text\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL16_S2 g1
-0+000000c R_MIPS_GNU_REL16_S2 g2
-0+0000014 R_MIPS_GNU_REL16_S2 g2
-0+000001c R_MIPS_GNU_REL16_S2 \.foo
-0+0000024 R_MIPS_GNU_REL16_S2 \.text
-0+000002c R_MIPS_GNU_REL16_S2 \.foo
-0+0000034 R_MIPS_GNU_REL16_S2 \.text
-0+000003c R_MIPS_GNU_REL_HI16 g1
-0+0000040 R_MIPS_GNU_REL_LO16 g1
-0+0000044 R_MIPS_GNU_REL_HI16 \.foo
-0+0000048 R_MIPS_GNU_REL_LO16 \.foo
-0+0000050 R_MIPS_32 g1
-0+0000054 R_MIPS_32 \.foo
-0+0000058 R_MIPS_32 \.text
-0+000005c R_MIPS_PC32 g1
-0+0000060 R_MIPS_PC32 \.foo
-0+0000068 R_MIPS_64 g1
-0+0000070 R_MIPS_64 \.foo
-0+0000078 R_MIPS_64 \.text
-0+0000080 R_MIPS_PC64 g1
-0+0000088 R_MIPS_PC64 \.foo
-0+0000098 R_MIPS_GNU_REL16_S2 \.text
-0+000009c R_MIPS_GNU_REL16_S2 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 \.text
-0+00000a4 R_MIPS_GNU_REL_LO16 \.text
-0+00000a8 R_MIPS_GNU_REL_HI16 \.text
-0+00000ac R_MIPS_GNU_REL_LO16 \.text
-0+00000b0 R_MIPS_32 \.text
-0+00000b8 R_MIPS_64 \.text
-0+00000cc R_MIPS_GNU_REL16_S2 \.text
-0+00000d0 R_MIPS_GNU_REL16_S2 \.text
-0+00000d4 R_MIPS_GNU_REL_HI16 \.text
-0+00000d8 R_MIPS_GNU_REL_LO16 \.text
-0+00000dc R_MIPS_GNU_REL_HI16 \.text
-0+00000e0 R_MIPS_GNU_REL_LO16 \.text
-0+00000e4 R_MIPS_32 \.text
-0+00000f0 R_MIPS_64 \.text
-
-
-RELOCATION RECORDS FOR \[\.foo\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL_HI16 g1
-0+0000008 R_MIPS_GNU_REL_LO16 g1
-0+000000c R_MIPS_GNU_REL_HI16 \.foo
-0+0000010 R_MIPS_GNU_REL_LO16 \.foo
-0+0000014 R_MIPS_GNU_REL_HI16 \.text
-0+0000018 R_MIPS_GNU_REL_LO16 \.text
-0+000001c R_MIPS_GNU_REL_HI16 g1
-0+0000020 R_MIPS_GNU_REL_LO16 g1
-0+0000024 R_MIPS_GNU_REL_HI16 g1
-0+0000028 R_MIPS_GNU_REL_LO16 g1
-0+000002c R_MIPS_GNU_REL_HI16 \.foo
-0+0000030 R_MIPS_GNU_REL_LO16 \.foo
-0+0000034 R_MIPS_GNU_REL_HI16 \.text
-0+0000038 R_MIPS_GNU_REL_LO16 \.text
-0+000003c R_MIPS_32 g1
-0+0000040 R_MIPS_32 \.foo
-0+0000044 R_MIPS_32 \.text
-0+0000048 R_MIPS_PC32 g1
-0+0000050 R_MIPS_PC32 \.text
-0+0000058 R_MIPS_64 g1
-0+0000060 R_MIPS_64 \.foo
-0+0000068 R_MIPS_64 \.text
-0+0000070 R_MIPS_PC64 g1
-0+0000080 R_MIPS_PC64 \.text
-0+0000088 R_MIPS_GNU_REL_HI16 g1
-0+000008c R_MIPS_GNU_REL_LO16 g1
-0+0000090 R_MIPS_GNU_REL_HI16 \.foo
-0+0000094 R_MIPS_GNU_REL_LO16 \.foo
-0+0000098 R_MIPS_GNU_REL_HI16 \.text
-0+000009c R_MIPS_GNU_REL_LO16 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 g1
-0+00000a4 R_MIPS_GNU_REL_LO16 g1
-0+00000a8 R_MIPS_GNU_REL_HI16 \.foo
-0+00000ac R_MIPS_GNU_REL_LO16 \.foo
-0+00000b0 R_MIPS_GNU_REL_HI16 \.text
-0+00000b4 R_MIPS_GNU_REL_LO16 \.text
-0+00000b8 R_MIPS_32 g1
-0+00000bc R_MIPS_32 \.foo
-0+00000c0 R_MIPS_32 \.text
-0+00000c4 R_MIPS_PC32 g1
-0+00000cc R_MIPS_PC32 \.text
-0+00000d0 R_MIPS_64 g1
-0+00000d8 R_MIPS_64 \.foo
-0+00000e0 R_MIPS_64 \.text
-0+00000e8 R_MIPS_PC64 g1
-0+00000f8 R_MIPS_PC64 \.text
-
-Contents of section \.text:
- 0000 00000000 0411ffff 00000000 1000ffff .*
- 0010 00000000 1000ffff 00000000 0411003f .*
- 0020 00000000 04110000 00000000 10000041 .*
- 0030 00000000 10000000 00000000 3c030000 .*
- 0040 [26]463000c 3c030000 [26]4630114 [26]403ffd0 .*
- 0050 00000000 00000100 00000004 00000028 .*
- 0060 0000012c ffffffd0 00000000 00000000 .*
- 0070 00000000 00000100 00000000 00000004 .*
- 0080 00000000 0000004c 00000000 00000154 .*
- 0090 ffffffff ffffffd0 10000032 10000033 .*
- 00a0 3c030000 [26]46300d8 3c030000 [26]46300e8 .*
- 00b0 000000cc 00000034 00000000 000000cc .*
- 00c0 00000000 00000034 00000000 10000032 .*
- 00d0 10000033 3c030000 [26]463010c 3c030000 .*
- 00e0 [26]463011c 000000cc 00000034 00000000 .*
- 00f0 00000000 000000cc 00000000 00000034 .*
-Contents of section \.reginfo:
- 0000 80000008 00000000 00000000 00000000 .*
- 0010 00000000 00000000 .*
-Contents of section \.foo:
- 0000 00000000 3c030000 [26]4630004 3c030000 .*
- 0010 [26]463010c 3c030000 [26]4630018 3c030000 .*
- 0020 [26]463001c 3c030000 [26]4630024 3c030000 .*
- 0030 [26]463012c 3c030000 [26]4630038 00000000 .*
- 0040 00000100 00000004 00000044 000000fc .*
- 0050 00000050 00000000 00000000 00000000 .*
- 0060 00000000 00000100 00000000 00000004 .*
- 0070 00000000 0000006c 00000000 000000fc .*
- 0080 00000000 00000080 3c030000 [26]463008c .*
- 0090 3c030000 [26]4630194 3c030000 [26]46300a0 .*
- 00a0 3c030000 [26]46300a4 3c030000 [26]46301ac .*
- 00b0 3c030000 [26]46300b8 00000004 00000104 .*
- 00c0 00000008 000000c4 00000100 000000d0 .*
- 00d0 00000000 00000004 00000000 00000104 .*
- 00e0 00000000 00000008 00000000 000000e8 .*
- 00f0 00000000 00000100 00000000 000000fc .*
- 0100 00000000 00000000 00000000 00000000 .*
-
diff --git a/gas/testsuite/gas/mips/empic.l b/gas/testsuite/gas/mips/empic.l
deleted file mode 100644
index e53d4f2..0000000
--- a/gas/testsuite/gas/mips/empic.l
+++ /dev/null
@@ -1,3 +0,0 @@
-.*: Assembler messages:
-.*:42: Warning: Macro instruction expanded into multiple instructions in a branch delay slot
-.*:56: Warning: Macro instruction expanded into multiple instructions in a branch delay slot
diff --git a/gas/testsuite/gas/mips/empic.s b/gas/testsuite/gas/mips/empic.s
deleted file mode 100644
index cfb4b94..0000000
--- a/gas/testsuite/gas/mips/empic.s
+++ /dev/null
@@ -1,119 +0,0 @@
-# Check GNU-specific embedded relocs, for ELF.
-
- .text
- .set noreorder
- nop
-l2: jal g1 # R_MIPS_GNU_REL16_S2 g1 -1
- nop
- b g2 # R_MIPS_GNU_REL16_S2 g2 -1
- nop
- b g2 # R_MIPS_GNU_REL16_S2 g2 -1
- nop
- jal l1 # R_MIPS_GNU_REL16_S2 .foo 3F
- nop
- jal l2 # R_MIPS_GNU_REL16_S2 .text 0 or -9
- nop
- b l1+8 # R_MIPS_GNU_REL16_S2 .foo 41
- nop
-l3:
- b l2 # R_MIPS_GNU_REL16_S2 .text 0 or -D
- nop
- la $3,g1-l3 # R_MIPS_GNU_REL_HI16 g1 0
- # R_MIPS_GNU_REL_LO16 g1 C
- la $3,l1-l3 # R_MIPS_GNU_REL_HI16 .foo 0
- # R_MIPS_GNU_REL_LO16 .foo 114
- la $3,l2-l3 # -30
- .word g1 # R_MIPS_32 g1 0
- .word l1 # R_MIPS_32 .foo 100
- .word l2 # R_MIPS_32 .text 4
- .word g1-l3 # R_MIPS_PC32 g1 28
- .word l1-l3 # R_MIPS_PC32 .foo 12C
- .word l2-l3 # -30
- .align 3
- .dword g1 # R_MIPS_64 g1 0
- .dword l1 # R_MIPS_64 .foo 100
- .dword l2 # R_MIPS_64 .text 4
- .dword g1-l3 # R_MIPS_PC64 g1 4C
- .dword l1-l3 # R_MIPS_PC64 .foo 154
- .dword l2-l3 # -30
-l5:
- b 2f # R_MIPS_GNU_REL16_S2 .text 32
- b 2f+4 # R_MIPS_GNU_REL16_S2 .text 33
- la $3,2f-l5 # R_MIPS_GNU_REL_HI16 .text 0
- # R_MIPS_GNU_REL_LO16 .text D8
- la $3,2f+8-l5 # R_MIPS_GNU_REL_HI16 .text 0
- # R_MIPS_GNU_REL_LO16 .text E8
-
-
- .word 2f # R_MIPS_32 .text CC
- .word 2f-l5 # R_MIPS_PC32 .text EC or 34
- .dword 2f # R_MIPS_64 .text CC
- .dword 2f-l5 # R_MIPS_PC64 .text F8 or 34
- nop
-2: # at address 0xCC.
- b 2b # R_MIPS_GNU_REL16_S2 .text 32
- b 2b+4 # R_MIPS_GNU_REL16_S2 .text 33
- la $3,2b-l5 # R_MIPS_GNU_REL_HI16 .text 0
- # R_MIPS_GNU_REL_LO16 .text 10C
- la $3,2b+8-l5 # R_MIPS_GNU_REL_HI16 .text 0
- # R_MIPS_GNU_REL_LO16 .text 11C
- .word 2b # R_MIPS_32 .text CC
- .word 2b-l5 # R_MIPS_PC32 .text 11C or 34
- nop
- .dword 2b # R_MIPS_64 .text CC
- .dword 2b-l5 # R_MIPS_PC64 .text 98 or 34
-
-# align section end to 16-byte boundary for easier testing on multiple targets
- .p2align 4
-
- .section ".foo","ax",@progbits
- nop
-l4:
- la $3,g1-l4
- la $3,l1-l4
- la $3,l2-l4
- la $3,g1-l4
-
- dla $3,g1-l4
- dla $3,l1-l4
- dla $3,l2-l4
-
- .word g1
- .word l1
- .word l2
- .word g1-l4
- .word l1-l4
- .word l2-l4
- .dword g1
- .dword l1
- .dword l2
- .dword g1-l4
- .dword l1-l4
- .dword l2-l4
-
- la $3,g1-l4+4
- la $3,l1-l4+4
- la $3,l2-l4+4
-
- dla $3,g1-l4+4
- dla $3,l1-l4+4
- dla $3,l2-l4+4
-
- .word g1+4
- .word l1+4
- .word l2+4
- .word g1-l4+4
- .word l1-l4+4
- .word l2-l4+4
- .dword g1+4
- .dword l1+4
- .dword l2+4
- .dword g1-l4+4
- .dword l1-l4+4
- .dword l2-l4+4
-l1:
-
- nop
-
-# align section end to 16-byte boundary for easier testing on multiple targets
- .p2align 4
diff --git a/gas/testsuite/gas/mips/empic2.d b/gas/testsuite/gas/mips/empic2.d
deleted file mode 100644
index de691b1..0000000
--- a/gas/testsuite/gas/mips/empic2.d
+++ /dev/null
@@ -1,279 +0,0 @@
-#objdump: --prefix-addresses -dr --show-raw-insn -mmips:4000
-#name: MIPS empic2
-#as: -mabi=o64 -membedded-pic -mips3
-
-# Check assembly of and relocs for -membedded-pic la, lw, ld, sw, sd macros.
-
-.*: +file format elf.*mips.*
-
-Disassembly of section .text:
-0+000000 <[^>]*> 00000000 nop
- ...
- ...
-0+01000c <[^>]*> 3c020000 lui v0,0x0
-[ ]*1000c: R_MIPS_GNU_REL_HI16 .text
-0+010010 <[^>]*> 0044102d daddu v0,v0,a0
-0+010014 <[^>]*> 6442000c daddiu v0,v0,12
-[ ]*10014: R_MIPS_GNU_REL_LO16 .text
-0+010018 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10018: R_MIPS_GNU_REL_HI16 .text
-0+01001c <[^>]*> 0044102d daddu v0,v0,a0
-0+010020 <[^>]*> 64420018 daddiu v0,v0,24
-[ ]*10020: R_MIPS_GNU_REL_LO16 .text
-0+010024 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10024: R_MIPS_GNU_REL_HI16 .text
-0+010028 <[^>]*> 0044102d daddu v0,v0,a0
-0+01002c <[^>]*> 64428028 daddiu v0,v0,-32728
-[ ]*1002c: R_MIPS_GNU_REL_LO16 .text
-0+010030 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10030: R_MIPS_GNU_REL_HI16 .text
-0+010034 <[^>]*> 0044102d daddu v0,v0,a0
-0+010038 <[^>]*> 64428034 daddiu v0,v0,-32716
-[ ]*10038: R_MIPS_GNU_REL_LO16 .text
-0+01003c <[^>]*> 3c020001 lui v0,0x1
-[ ]*1003c: R_MIPS_GNU_REL_HI16 .text
-0+010040 <[^>]*> 0044102d daddu v0,v0,a0
-0+010044 <[^>]*> 644202ac daddiu v0,v0,684
-[ ]*10044: R_MIPS_GNU_REL_LO16 .text
-0+010048 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10048: R_MIPS_GNU_REL_HI16 .text
-0+01004c <[^>]*> 0044102d daddu v0,v0,a0
-0+010050 <[^>]*> 644202b8 daddiu v0,v0,696
-[ ]*10050: R_MIPS_GNU_REL_LO16 .text
-0+010054 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10054: R_MIPS_GNU_REL_HI16 e
-0+010058 <[^>]*> 0044102d daddu v0,v0,a0
-0+01005c <[^>]*> 64420050 daddiu v0,v0,80
-[ ]*1005c: R_MIPS_GNU_REL_LO16 e
-0+010060 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10060: R_MIPS_GNU_REL_HI16 .text
-0+010064 <[^>]*> 0044102d daddu v0,v0,a0
-0+010068 <[^>]*> 64420060 daddiu v0,v0,96
-[ ]*10068: R_MIPS_GNU_REL_LO16 .text
-0+01006c <[^>]*> 3c020000 lui v0,0x0
-[ ]*1006c: R_MIPS_GNU_REL_HI16 .text
-0+010070 <[^>]*> 0044102d daddu v0,v0,a0
-0+010074 <[^>]*> 6442006c daddiu v0,v0,108
-[ ]*10074: R_MIPS_GNU_REL_LO16 .text
-0+010078 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10078: R_MIPS_GNU_REL_HI16 .text
-0+01007c <[^>]*> 0044102d daddu v0,v0,a0
-0+010080 <[^>]*> 6442807c daddiu v0,v0,-32644
-[ ]*10080: R_MIPS_GNU_REL_LO16 .text
-0+010084 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10084: R_MIPS_GNU_REL_HI16 .text
-0+010088 <[^>]*> 0044102d daddu v0,v0,a0
-0+01008c <[^>]*> 64428088 daddiu v0,v0,-32632
-[ ]*1008c: R_MIPS_GNU_REL_LO16 .text
-0+010090 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10090: R_MIPS_GNU_REL_HI16 .text
-0+010094 <[^>]*> 0044102d daddu v0,v0,a0
-0+010098 <[^>]*> 64420300 daddiu v0,v0,768
-[ ]*10098: R_MIPS_GNU_REL_LO16 .text
-0+01009c <[^>]*> 3c020001 lui v0,0x1
-[ ]*1009c: R_MIPS_GNU_REL_HI16 .text
-0+0100a0 <[^>]*> 0044102d daddu v0,v0,a0
-0+0100a4 <[^>]*> 6442030c daddiu v0,v0,780
-[ ]*100a4: R_MIPS_GNU_REL_LO16 .text
-0+0100a8 <[^>]*> 3c020000 lui v0,0x0
-[ ]*100a8: R_MIPS_GNU_REL_HI16 e
-0+0100ac <[^>]*> 0044102d daddu v0,v0,a0
-0+0100b0 <[^>]*> 644200a4 daddiu v0,v0,164
-[ ]*100b0: R_MIPS_GNU_REL_LO16 e
-0+0100b4 <[^>]*> 3c020000 lui v0,0x0
-[ ]*100b4: R_MIPS_GNU_REL_HI16 .text
-0+0100b8 <[^>]*> 644200b0 daddiu v0,v0,176
-[ ]*100b8: R_MIPS_GNU_REL_LO16 .text
-0+0100bc <[^>]*> 3c020000 lui v0,0x0
-[ ]*100bc: R_MIPS_GNU_REL_HI16 .text
-0+0100c0 <[^>]*> 644200b8 daddiu v0,v0,184
-[ ]*100c0: R_MIPS_GNU_REL_LO16 .text
-0+0100c4 <[^>]*> 3c020001 lui v0,0x1
-[ ]*100c4: R_MIPS_GNU_REL_HI16 .text
-0+0100c8 <[^>]*> 644280c4 daddiu v0,v0,-32572
-[ ]*100c8: R_MIPS_GNU_REL_LO16 .text
-0+0100cc <[^>]*> 3c020001 lui v0,0x1
-[ ]*100cc: R_MIPS_GNU_REL_HI16 .text
-0+0100d0 <[^>]*> 644280cc daddiu v0,v0,-32564
-[ ]*100d0: R_MIPS_GNU_REL_LO16 .text
-0+0100d4 <[^>]*> 3c020001 lui v0,0x1
-[ ]*100d4: R_MIPS_GNU_REL_HI16 .text
-0+0100d8 <[^>]*> 64420340 daddiu v0,v0,832
-[ ]*100d8: R_MIPS_GNU_REL_LO16 .text
-0+0100dc <[^>]*> 3c020001 lui v0,0x1
-[ ]*100dc: R_MIPS_GNU_REL_HI16 .text
-0+0100e0 <[^>]*> 64420348 daddiu v0,v0,840
-[ ]*100e0: R_MIPS_GNU_REL_LO16 .text
-0+0100e4 <[^>]*> 3c020000 lui v0,0x0
-[ ]*100e4: R_MIPS_GNU_REL_HI16 e
-0+0100e8 <[^>]*> 644200dc daddiu v0,v0,220
-[ ]*100e8: R_MIPS_GNU_REL_LO16 e
-0+0100ec <[^>]*> 3c020000 lui v0,0x0
-[ ]*100ec: R_MIPS_GNU_REL_HI16 .text
-0+0100f0 <[^>]*> 644200e8 daddiu v0,v0,232
-[ ]*100f0: R_MIPS_GNU_REL_LO16 .text
-0+0100f4 <[^>]*> 3c020000 lui v0,0x0
-[ ]*100f4: R_MIPS_GNU_REL_HI16 .text
-0+0100f8 <[^>]*> 644200f0 daddiu v0,v0,240
-[ ]*100f8: R_MIPS_GNU_REL_LO16 .text
-0+0100fc <[^>]*> 3c020001 lui v0,0x1
-[ ]*100fc: R_MIPS_GNU_REL_HI16 .text
-0+010100 <[^>]*> 644280fc daddiu v0,v0,-32516
-[ ]*10100: R_MIPS_GNU_REL_LO16 .text
-0+010104 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10104: R_MIPS_GNU_REL_HI16 .text
-0+010108 <[^>]*> 64428104 daddiu v0,v0,-32508
-[ ]*10108: R_MIPS_GNU_REL_LO16 .text
-0+01010c <[^>]*> 3c020001 lui v0,0x1
-[ ]*1010c: R_MIPS_GNU_REL_HI16 .text
-0+010110 <[^>]*> 64420378 daddiu v0,v0,888
-[ ]*10110: R_MIPS_GNU_REL_LO16 .text
-0+010114 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10114: R_MIPS_GNU_REL_HI16 .text
-0+010118 <[^>]*> 64420380 daddiu v0,v0,896
-[ ]*10118: R_MIPS_GNU_REL_LO16 .text
-0+01011c <[^>]*> 3c020000 lui v0,0x0
-[ ]*1011c: R_MIPS_GNU_REL_HI16 e
-0+010120 <[^>]*> 64420114 daddiu v0,v0,276
-[ ]*10120: R_MIPS_GNU_REL_LO16 e
-0+010124 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10124: R_MIPS_GNU_REL_HI16 .text
-0+010128 <[^>]*> 0044102d daddu v0,v0,a0
-0+01012c <[^>]*> 8c420124 lw v0,292\(v0\)
-[ ]*1012c: R_MIPS_GNU_REL_LO16 .text
-0+010130 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10130: R_MIPS_GNU_REL_HI16 .text
-0+010134 <[^>]*> 0044102d daddu v0,v0,a0
-0+010138 <[^>]*> 8c420130 lw v0,304\(v0\)
-[ ]*10138: R_MIPS_GNU_REL_LO16 .text
-0+01013c <[^>]*> 3c020001 lui v0,0x1
-[ ]*1013c: R_MIPS_GNU_REL_HI16 .text
-0+010140 <[^>]*> 0044102d daddu v0,v0,a0
-0+010144 <[^>]*> 8c428140 lw v0,-32448\(v0\)
-[ ]*10144: R_MIPS_GNU_REL_LO16 .text
-0+010148 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10148: R_MIPS_GNU_REL_HI16 .text
-0+01014c <[^>]*> 0044102d daddu v0,v0,a0
-0+010150 <[^>]*> 8c42814c lw v0,-32436\(v0\)
-[ ]*10150: R_MIPS_GNU_REL_LO16 .text
-0+010154 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10154: R_MIPS_GNU_REL_HI16 .text
-0+010158 <[^>]*> 0044102d daddu v0,v0,a0
-0+01015c <[^>]*> 8c4203c4 lw v0,964\(v0\)
-[ ]*1015c: R_MIPS_GNU_REL_LO16 .text
-0+010160 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10160: R_MIPS_GNU_REL_HI16 .text
-0+010164 <[^>]*> 0044102d daddu v0,v0,a0
-0+010168 <[^>]*> 8c4203d0 lw v0,976\(v0\)
-[ ]*10168: R_MIPS_GNU_REL_LO16 .text
-0+01016c <[^>]*> 3c020000 lui v0,0x0
-[ ]*1016c: R_MIPS_GNU_REL_HI16 e
-0+010170 <[^>]*> 0044102d daddu v0,v0,a0
-0+010174 <[^>]*> 8c420168 lw v0,360\(v0\)
-[ ]*10174: R_MIPS_GNU_REL_LO16 e
-0+010178 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10178: R_MIPS_GNU_REL_HI16 .text
-0+01017c <[^>]*> 0044102d daddu v0,v0,a0
-0+010180 <[^>]*> dc420178 ld v0,376\(v0\)
-[ ]*10180: R_MIPS_GNU_REL_LO16 .text
-0+010184 <[^>]*> 3c020000 lui v0,0x0
-[ ]*10184: R_MIPS_GNU_REL_HI16 .text
-0+010188 <[^>]*> 0044102d daddu v0,v0,a0
-0+01018c <[^>]*> dc420184 ld v0,388\(v0\)
-[ ]*1018c: R_MIPS_GNU_REL_LO16 .text
-0+010190 <[^>]*> 3c020001 lui v0,0x1
-[ ]*10190: R_MIPS_GNU_REL_HI16 .text
-0+010194 <[^>]*> 0044102d daddu v0,v0,a0
-0+010198 <[^>]*> dc428194 ld v0,-32364\(v0\)
-[ ]*10198: R_MIPS_GNU_REL_LO16 .text
-0+01019c <[^>]*> 3c020001 lui v0,0x1
-[ ]*1019c: R_MIPS_GNU_REL_HI16 .text
-0+0101a0 <[^>]*> 0044102d daddu v0,v0,a0
-0+0101a4 <[^>]*> dc4281a0 ld v0,-32352\(v0\)
-[ ]*101a4: R_MIPS_GNU_REL_LO16 .text
-0+0101a8 <[^>]*> 3c020001 lui v0,0x1
-[ ]*101a8: R_MIPS_GNU_REL_HI16 .text
-0+0101ac <[^>]*> 0044102d daddu v0,v0,a0
-0+0101b0 <[^>]*> dc420418 ld v0,1048\(v0\)
-[ ]*101b0: R_MIPS_GNU_REL_LO16 .text
-0+0101b4 <[^>]*> 3c020001 lui v0,0x1
-[ ]*101b4: R_MIPS_GNU_REL_HI16 .text
-0+0101b8 <[^>]*> 0044102d daddu v0,v0,a0
-0+0101bc <[^>]*> dc420424 ld v0,1060\(v0\)
-[ ]*101bc: R_MIPS_GNU_REL_LO16 .text
-0+0101c0 <[^>]*> 3c020000 lui v0,0x0
-[ ]*101c0: R_MIPS_GNU_REL_HI16 e
-0+0101c4 <[^>]*> 0044102d daddu v0,v0,a0
-0+0101c8 <[^>]*> dc4201bc ld v0,444\(v0\)
-[ ]*101c8: R_MIPS_GNU_REL_LO16 e
-0+0101cc <[^>]*> 3c010000 lui at,0x0
-[ ]*101cc: R_MIPS_GNU_REL_HI16 .text
-0+0101d0 <[^>]*> 0024082d daddu at,at,a0
-0+0101d4 <[^>]*> ac2201cc sw v0,460\(at\)
-[ ]*101d4: R_MIPS_GNU_REL_LO16 .text
-0+0101d8 <[^>]*> 3c010000 lui at,0x0
-[ ]*101d8: R_MIPS_GNU_REL_HI16 .text
-0+0101dc <[^>]*> 0024082d daddu at,at,a0
-0+0101e0 <[^>]*> ac2201d8 sw v0,472\(at\)
-[ ]*101e0: R_MIPS_GNU_REL_LO16 .text
-0+0101e4 <[^>]*> 3c010001 lui at,0x1
-[ ]*101e4: R_MIPS_GNU_REL_HI16 .text
-0+0101e8 <[^>]*> 0024082d daddu at,at,a0
-0+0101ec <[^>]*> ac2281e8 sw v0,-32280\(at\)
-[ ]*101ec: R_MIPS_GNU_REL_LO16 .text
-0+0101f0 <[^>]*> 3c010001 lui at,0x1
-[ ]*101f0: R_MIPS_GNU_REL_HI16 .text
-0+0101f4 <[^>]*> 0024082d daddu at,at,a0
-0+0101f8 <[^>]*> ac2281f4 sw v0,-32268\(at\)
-[ ]*101f8: R_MIPS_GNU_REL_LO16 .text
-0+0101fc <[^>]*> 3c010001 lui at,0x1
-[ ]*101fc: R_MIPS_GNU_REL_HI16 .text
-0+010200 <[^>]*> 0024082d daddu at,at,a0
-0+010204 <[^>]*> ac22046c sw v0,1132\(at\)
-[ ]*10204: R_MIPS_GNU_REL_LO16 .text
-0+010208 <[^>]*> 3c010001 lui at,0x1
-[ ]*10208: R_MIPS_GNU_REL_HI16 .text
-0+01020c <[^>]*> 0024082d daddu at,at,a0
-0+010210 <[^>]*> ac220478 sw v0,1144\(at\)
-[ ]*10210: R_MIPS_GNU_REL_LO16 .text
-0+010214 <[^>]*> 3c010000 lui at,0x0
-[ ]*10214: R_MIPS_GNU_REL_HI16 e
-0+010218 <[^>]*> 0024082d daddu at,at,a0
-0+01021c <[^>]*> ac220210 sw v0,528\(at\)
-[ ]*1021c: R_MIPS_GNU_REL_LO16 e
-0+010220 <[^>]*> 3c010000 lui at,0x0
-[ ]*10220: R_MIPS_GNU_REL_HI16 .text
-0+010224 <[^>]*> 0024082d daddu at,at,a0
-0+010228 <[^>]*> fc220220 sd v0,544\(at\)
-[ ]*10228: R_MIPS_GNU_REL_LO16 .text
-0+01022c <[^>]*> 3c010000 lui at,0x0
-[ ]*1022c: R_MIPS_GNU_REL_HI16 .text
-0+010230 <[^>]*> 0024082d daddu at,at,a0
-0+010234 <[^>]*> fc22022c sd v0,556\(at\)
-[ ]*10234: R_MIPS_GNU_REL_LO16 .text
-0+010238 <[^>]*> 3c010001 lui at,0x1
-[ ]*10238: R_MIPS_GNU_REL_HI16 .text
-0+01023c <[^>]*> 0024082d daddu at,at,a0
-0+010240 <[^>]*> fc22823c sd v0,-32196\(at\)
-[ ]*10240: R_MIPS_GNU_REL_LO16 .text
-0+010244 <[^>]*> 3c010001 lui at,0x1
-[ ]*10244: R_MIPS_GNU_REL_HI16 .text
-0+010248 <[^>]*> 0024082d daddu at,at,a0
-0+01024c <[^>]*> fc228248 sd v0,-32184\(at\)
-[ ]*1024c: R_MIPS_GNU_REL_LO16 .text
-0+010250 <[^>]*> 3c010001 lui at,0x1
-[ ]*10250: R_MIPS_GNU_REL_HI16 .text
-0+010254 <[^>]*> 0024082d daddu at,at,a0
-0+010258 <[^>]*> fc2204c0 sd v0,1216\(at\)
-[ ]*10258: R_MIPS_GNU_REL_LO16 .text
-0+01025c <[^>]*> 3c010001 lui at,0x1
-[ ]*1025c: R_MIPS_GNU_REL_HI16 .text
-0+010260 <[^>]*> 0024082d daddu at,at,a0
-0+010264 <[^>]*> fc2204cc sd v0,1228\(at\)
-[ ]*10264: R_MIPS_GNU_REL_LO16 .text
-0+010268 <[^>]*> 3c010000 lui at,0x0
-[ ]*10268: R_MIPS_GNU_REL_HI16 e
-0+01026c <[^>]*> 0024082d daddu at,at,a0
-0+010270 <[^>]*> fc220264 sd v0,612\(at\)
-[ ]*10270: R_MIPS_GNU_REL_LO16 e
- ...
diff --git a/gas/testsuite/gas/mips/empic2.s b/gas/testsuite/gas/mips/empic2.s
deleted file mode 100644
index e63e02b..0000000
--- a/gas/testsuite/gas/mips/empic2.s
+++ /dev/null
@@ -1,100 +0,0 @@
-# Check assembly of and relocs for -membedded-pic la, lw, ld, sw, sd macros.
-
- .text
- .set noreorder
-
-start:
- nop
-
- .globl g1
- .ent g1
-i1: # 0x00004
-g1:
- .space 0x8000
- nop
- .end g1
-
- .globl g2
- .ent g2
-i2: # 0x08008
-g2:
- .space 0x8000
- nop
- .end g2
-
- .globl g3
- .ent g3
-i3: # 0x1000c
-g3:
-
- la $2, (i1 - i3)($4)
- la $2, (g1 - i3)($4)
- la $2, (i2 - i3)($4)
- la $2, (g2 - i3)($4)
- la $2, (if - i3)($4)
- la $2, (gf - i3)($4)
- la $2, (e - i3)($4)
- la $2, (i1 - g3)($4)
- la $2, (g1 - g3)($4)
- la $2, (i2 - g3)($4)
- la $2, (g2 - g3)($4)
- la $2, (if - g3)($4)
- la $2, (gf - g3)($4)
- la $2, (e - g3)($4)
-
- la $2, (i1 - i3)
- la $2, (g1 - i3)
- la $2, (i2 - i3)
- la $2, (g2 - i3)
- la $2, (if - i3)
- la $2, (gf - i3)
- la $2, (e - i3)
- la $2, (i1 - g3)
- la $2, (g1 - g3)
- la $2, (i2 - g3)
- la $2, (g2 - g3)
- la $2, (if - g3)
- la $2, (gf - g3)
- la $2, (e - g3)
-
- lw $2, (i1 - i3)($4)
- lw $2, (g1 - i3)($4)
- lw $2, (i2 - i3)($4)
- lw $2, (g2 - i3)($4)
- lw $2, (if - i3)($4)
- lw $2, (gf - i3)($4)
- lw $2, (e - i3)($4)
- ld $2, (i1 - g3)($4)
- ld $2, (g1 - g3)($4)
- ld $2, (i2 - g3)($4)
- ld $2, (g2 - g3)($4)
- ld $2, (if - g3)($4)
- ld $2, (gf - g3)($4)
- ld $2, (e - g3)($4)
-
- sw $2, (i1 - i3)($4)
- sw $2, (g1 - i3)($4)
- sw $2, (i2 - i3)($4)
- sw $2, (g2 - i3)($4)
- sw $2, (if - i3)($4)
- sw $2, (gf - i3)($4)
- sw $2, (e - i3)($4)
- sd $2, (i1 - g3)($4)
- sd $2, (g1 - g3)($4)
- sd $2, (i2 - g3)($4)
- sd $2, (g2 - g3)($4)
- sd $2, (if - g3)($4)
- sd $2, (gf - g3)($4)
- sd $2, (e - g3)($4)
-
- .end g3
-
- .globl gf
- .ent gf
-if:
-gf:
- nop
- .end gf
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/empic3_e.d b/gas/testsuite/gas/mips/empic3_e.d
deleted file mode 100644
index d491e47..0000000
--- a/gas/testsuite/gas/mips/empic3_e.d
+++ /dev/null
@@ -1,47 +0,0 @@
-#objdump: --prefix-addresses -dr --show-raw-insn -mmips:4000
-#name: MIPS empic3 (external)
-#as: -mabi=o64 -membedded-pic -mips3
-
-# Check PC-relative HI/LO relocs relocs for -membedded-pic when HI and
-# LO are split over a 32K boundary.
-
-.*: +file format elf.*mips.*
-
-Disassembly of section .text:
- ...
- ...
-0000fffc <[^>]*> 3c020001 lui v0,0x1
-[ ]*fffc: R_MIPS_GNU_REL_HI16 ext
-00010000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*10000: R_MIPS_GNU_REL_LO16 ext
- ...
-00017ffc <[^>]*> 3c020001 lui v0,0x1
-[ ]*17ffc: R_MIPS_GNU_REL_HI16 ext
-00018000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*18000: R_MIPS_GNU_REL_LO16 ext
- ...
-0001fffc <[^>]*> 3c020002 lui v0,0x2
-[ ]*1fffc: R_MIPS_GNU_REL_HI16 ext
-00020000 <[^>]*> 0043102d daddu v0,v0,v1
-00020004 <[^>]*> 64428004 daddiu v0,v0,-32764
-[ ]*20004: R_MIPS_GNU_REL_LO16 ext
- ...
-00027ffc <[^>]*> 3c020002 lui v0,0x2
-[ ]*27ffc: R_MIPS_GNU_REL_HI16 ext
-00028000 <[^>]*> 0043102d daddu v0,v0,v1
-00028004 <[^>]*> 64420004 daddiu v0,v0,4
-[ ]*28004: R_MIPS_GNU_REL_LO16 ext
- ...
-0002fff8 <[^>]*> 3c020003 lui v0,0x3
-[ ]*2fff8: R_MIPS_GNU_REL_HI16 ext
-0002fffc <[^>]*> 0043102d daddu v0,v0,v1
-00030000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*30000: R_MIPS_GNU_REL_LO16 ext
- ...
-00037ff8 <[^>]*> 3c020003 lui v0,0x3
-[ ]*37ff8: R_MIPS_GNU_REL_HI16 ext
-00037ffc <[^>]*> 0043102d daddu v0,v0,v1
-00038000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*38000: R_MIPS_GNU_REL_LO16 ext
- ...
- ...
diff --git a/gas/testsuite/gas/mips/empic3_e.s b/gas/testsuite/gas/mips/empic3_e.s
deleted file mode 100644
index 427e8c8..0000000
--- a/gas/testsuite/gas/mips/empic3_e.s
+++ /dev/null
@@ -1,46 +0,0 @@
-# Check PC-relative HI/LO relocs for -membedded-pic when HI and LO are
-# split over a 32K boundary.
-
- .text
- .set noreorder
-
- SYM_TO_TEST = ext
-
- .globl ext
-
- .org 0x00000
- .globl g1
-g1:
-l1:
-
- .org 0x08000
- .globl fn
- .ent fn
-fn:
- .org (0x10000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x18000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x20000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x28000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x30000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x38000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .end fn
-
- .org 0x40000
- .globl g2
-g2:
-l2:
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/empic3_g1.d b/gas/testsuite/gas/mips/empic3_g1.d
deleted file mode 100644
index fde87e0..0000000
--- a/gas/testsuite/gas/mips/empic3_g1.d
+++ /dev/null
@@ -1,47 +0,0 @@
-#objdump: --prefix-addresses -dr --show-raw-insn -mmips:4000
-#name: MIPS empic3 (global, negative)
-#as: -mabi=o64 -membedded-pic -mips3
-
-# Check PC-relative HI/LO relocs relocs for -membedded-pic when HI and
-# LO are split over a 32K boundary.
-
-.*: +file format elf.*mips.*
-
-Disassembly of section .text:
- ...
- ...
-0000fffc <[^>]*> 3c020001 lui v0,0x1
-[ ]*fffc: R_MIPS_GNU_REL_HI16 .text
-00010000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*10000: R_MIPS_GNU_REL_LO16 .text
- ...
-00017ffc <[^>]*> 3c020001 lui v0,0x1
-[ ]*17ffc: R_MIPS_GNU_REL_HI16 .text
-00018000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*18000: R_MIPS_GNU_REL_LO16 .text
- ...
-0001fffc <[^>]*> 3c020002 lui v0,0x2
-[ ]*1fffc: R_MIPS_GNU_REL_HI16 .text
-00020000 <[^>]*> 0043102d daddu v0,v0,v1
-00020004 <[^>]*> 64428004 daddiu v0,v0,-32764
-[ ]*20004: R_MIPS_GNU_REL_LO16 .text
- ...
-00027ffc <[^>]*> 3c020002 lui v0,0x2
-[ ]*27ffc: R_MIPS_GNU_REL_HI16 .text
-00028000 <[^>]*> 0043102d daddu v0,v0,v1
-00028004 <[^>]*> 64420004 daddiu v0,v0,4
-[ ]*28004: R_MIPS_GNU_REL_LO16 .text
- ...
-0002fff8 <[^>]*> 3c020003 lui v0,0x3
-[ ]*2fff8: R_MIPS_GNU_REL_HI16 .text
-0002fffc <[^>]*> 0043102d daddu v0,v0,v1
-00030000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*30000: R_MIPS_GNU_REL_LO16 .text
- ...
-00037ff8 <[^>]*> 3c020003 lui v0,0x3
-[ ]*37ff8: R_MIPS_GNU_REL_HI16 .text
-00037ffc <[^>]*> 0043102d daddu v0,v0,v1
-00038000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*38000: R_MIPS_GNU_REL_LO16 .text
- ...
- ...
diff --git a/gas/testsuite/gas/mips/empic3_g1.s b/gas/testsuite/gas/mips/empic3_g1.s
deleted file mode 100644
index cf1df44..0000000
--- a/gas/testsuite/gas/mips/empic3_g1.s
+++ /dev/null
@@ -1,46 +0,0 @@
-# Check PC-relative HI/LO relocs relocs for -membedded-pic when HI and
-# LO are split over a 32K boundary.
-
- .text
- .set noreorder
-
- SYM_TO_TEST = g1
-
- .globl ext
-
- .org 0x00000
- .globl g1
-g1:
-l1:
-
- .org 0x08000
- .globl fn
- .ent fn
-fn:
- .org (0x10000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x18000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x20000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x28000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x30000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x38000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .end fn
-
- .org 0x40000
- .globl g2
-g2:
-l2:
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/empic3_g2.d b/gas/testsuite/gas/mips/empic3_g2.d
deleted file mode 100644
index 08b5e4b..0000000
--- a/gas/testsuite/gas/mips/empic3_g2.d
+++ /dev/null
@@ -1,47 +0,0 @@
-#objdump: --prefix-addresses -dr --show-raw-insn -mmips:4000
-#name: MIPS empic3 (global, positive)
-#as: -mabi=o64 -membedded-pic -mips3
-
-# Check PC-relative HI/LO relocs relocs for -membedded-pic when HI and
-# LO are split over a 32K boundary.
-
-.*: +file format elf.*mips.*
-
-Disassembly of section .text:
- ...
- ...
-0000fffc <[^>]*> 3c020005 lui v0,0x5
-[ ]*fffc: R_MIPS_GNU_REL_HI16 .text
-00010000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*10000: R_MIPS_GNU_REL_LO16 .text
- ...
-00017ffc <[^>]*> 3c020005 lui v0,0x5
-[ ]*17ffc: R_MIPS_GNU_REL_HI16 .text
-00018000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*18000: R_MIPS_GNU_REL_LO16 .text
- ...
-0001fffc <[^>]*> 3c020006 lui v0,0x6
-[ ]*1fffc: R_MIPS_GNU_REL_HI16 .text
-00020000 <[^>]*> 0043102d daddu v0,v0,v1
-00020004 <[^>]*> 64428004 daddiu v0,v0,-32764
-[ ]*20004: R_MIPS_GNU_REL_LO16 .text
- ...
-00027ffc <[^>]*> 3c020006 lui v0,0x6
-[ ]*27ffc: R_MIPS_GNU_REL_HI16 .text
-00028000 <[^>]*> 0043102d daddu v0,v0,v1
-00028004 <[^>]*> 64420004 daddiu v0,v0,4
-[ ]*28004: R_MIPS_GNU_REL_LO16 .text
- ...
-0002fff8 <[^>]*> 3c020007 lui v0,0x7
-[ ]*2fff8: R_MIPS_GNU_REL_HI16 .text
-0002fffc <[^>]*> 0043102d daddu v0,v0,v1
-00030000 <[^>]*> 64428000 daddiu v0,v0,-32768
-[ ]*30000: R_MIPS_GNU_REL_LO16 .text
- ...
-00037ff8 <[^>]*> 3c020007 lui v0,0x7
-[ ]*37ff8: R_MIPS_GNU_REL_HI16 .text
-00037ffc <[^>]*> 0043102d daddu v0,v0,v1
-00038000 <[^>]*> 64420000 daddiu v0,v0,0
-[ ]*38000: R_MIPS_GNU_REL_LO16 .text
- ...
- ...
diff --git a/gas/testsuite/gas/mips/empic3_g2.s b/gas/testsuite/gas/mips/empic3_g2.s
deleted file mode 100644
index 4c070ee..0000000
--- a/gas/testsuite/gas/mips/empic3_g2.s
+++ /dev/null
@@ -1,46 +0,0 @@
-# Check PC-relative HI/LO relocs relocs for -membedded-pic when HI and
-# LO are split over a 32K boundary.
-
- .text
- .set noreorder
-
- SYM_TO_TEST = g2
-
- .globl ext
-
- .org 0x00000
- .globl g1
-g1:
-l1:
-
- .org 0x08000
- .globl fn
- .ent fn
-fn:
- .org (0x10000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x18000 - 4)
- la $2, SYM_TO_TEST - fn # expands to 2 instructions
-
- .org (0x20000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x28000 - 4)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x30000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .org (0x38000 - 8)
- la $2, (SYM_TO_TEST - fn)($3) # expands to 3 instructions
-
- .end fn
-
- .org 0x40000
- .globl g2
-g2:
-l2:
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/jal-empic-elf-2.d b/gas/testsuite/gas/mips/jal-empic-elf-2.d
deleted file mode 100644
index 7e9623e..0000000
--- a/gas/testsuite/gas/mips/jal-empic-elf-2.d
+++ /dev/null
@@ -1,48 +0,0 @@
-#objdump: -dr --prefix-addresses --show-raw-insn
-#name: MIPS jal-empic-elf-2
-#as: -32 -membedded-pic
-
-# Test the jal macro harder with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
- \.\.\.
- \.\.\.
-0+0018 <[^>]*> 04110002 bal 0+0024 <g1\+0x18>
-[ ]*18: R_MIPS_GNU_REL16_S2 .text
-0+001c <[^>]*> 00000000 nop
-0+0020 <[^>]*> 04110002 bal 0+002c <g1\+0x20>
-[ ]*20: R_MIPS_GNU_REL16_S2 .text
-0+0024 <[^>]*> 00000000 nop
-0+0028 <[^>]*> 0411ffff bal 0+0028 <g1\+0x1c>
-[ ]*28: R_MIPS_GNU_REL16_S2 e1
-0+002c <[^>]*> 00000000 nop
-0+0030 <[^>]*> 10000002 b 0+003c <g1\+0x30>
-[ ]*30: R_MIPS_GNU_REL16_S2 .text
-0+0034 <[^>]*> 00000000 nop
-0+0038 <[^>]*> 10000002 b 0+0044 <g1\+0x38>
-[ ]*38: R_MIPS_GNU_REL16_S2 .text
-0+003c <[^>]*> 00000000 nop
-0+0040 <[^>]*> 1000ffff b 0+0040 <g1\+0x34>
-[ ]*40: R_MIPS_GNU_REL16_S2 e1
-0+0044 <[^>]*> 00000000 nop
-0+0048 <[^>]*> 0411ffff bal 0+0048 <g1\+0x3c>
-[ ]*48: R_MIPS_GNU_REL16_S2 .text
-0+004c <[^>]*> 00000000 nop
-0+0050 <[^>]*> 0411ffff bal 0+0050 <g1\+0x44>
-[ ]*50: R_MIPS_GNU_REL16_S2 .text
-0+0054 <[^>]*> 00000000 nop
-0+0058 <[^>]*> 0411fffc bal 0+004c <g1\+0x40>
-[ ]*58: R_MIPS_GNU_REL16_S2 e1
-0+005c <[^>]*> 00000000 nop
-0+0060 <[^>]*> 04110005 bal 0+0078 <g1\+0x6c>
-[ ]*60: R_MIPS_GNU_REL16_S2 .text
-0+0064 <[^>]*> 00000000 nop
-0+0068 <[^>]*> 04110005 bal 0+0080 <g1\+0x74>
-[ ]*68: R_MIPS_GNU_REL16_S2 .text
-0+006c <[^>]*> 00000000 nop
-0+0070 <[^>]*> 04110002 bal 0+007c <g1\+0x70>
-[ ]*70: R_MIPS_GNU_REL16_S2 e1
-0+0074 <[^>]*> 00000000 nop
- \.\.\.
diff --git a/gas/testsuite/gas/mips/jal-empic-elf-2.s b/gas/testsuite/gas/mips/jal-empic-elf-2.s
deleted file mode 100644
index 3a17555..0000000
--- a/gas/testsuite/gas/mips/jal-empic-elf-2.s
+++ /dev/null
@@ -1,28 +0,0 @@
-# Source file used to test the jal macro even harder
- # some space so offets won't be 0.
- .space 0xc
-
- .globl g1 .text
-g1:
-l1:
- # some more space, so offset from label won't be 0.
- .space 0xc
-
- jal g1 # 0x18
- jal l1 # 0x20
- jal e1 # 0x28
-
- j g1 # 0x30
- j l1 # 0x38
- j e1 # 0x40
-
- jal g1 - 0xc # 0x48
- jal l1 - 0xc # 0x50
- jal e1 - 0xc # 0x58
-
- jal g1 + 0xc # 0x60
- jal l1 + 0xc # 0x68
- jal e1 + 0xc # 0x70
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/jal-empic-elf-3.d b/gas/testsuite/gas/mips/jal-empic-elf-3.d
deleted file mode 100644
index 0f6a11a..0000000
--- a/gas/testsuite/gas/mips/jal-empic-elf-3.d
+++ /dev/null
@@ -1,24 +0,0 @@
-#objdump: -dr --prefix-addresses --show-raw-insn
-#name: MIPS jal-empic-elf-3
-#as: -32 -membedded-pic
-
-# Test the jal macro harder with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
- \.\.\.
- \.\.\.
-0+0018 <[^>]*> 0411fffa bal 0+0004 <g1\-0x8>
-[ ]*18: R_MIPS_GNU_REL16_S2 .text
-0+001c <[^>]*> 00000000 nop
-0+0020 <[^>]*> 0411fff8 bal 0+0004 <g1\-0x8>
-[ ]*20: R_MIPS_GNU_REL16_S2 .text
-0+0024 <[^>]*> 00000000 nop
-0+0028 <[^>]*> 0411fff6 bal 0+0004 <g1\-0x8>
-[ ]*28: R_MIPS_GNU_REL16_S2 e1
-0+002c <[^>]*> 00000000 nop
-0+0030 <[^>]*> 0411fff4 bal 0+0004 <g1\-0x8>
-[ ]*30: R_MIPS_GNU_REL16_S2 e2
-0+0034 <[^>]*> 00000000 nop
- \.\.\.
diff --git a/gas/testsuite/gas/mips/jal-empic-elf-3.s b/gas/testsuite/gas/mips/jal-empic-elf-3.s
deleted file mode 100644
index 7043d52..0000000
--- a/gas/testsuite/gas/mips/jal-empic-elf-3.s
+++ /dev/null
@@ -1,20 +0,0 @@
-# Source file used to test the jal macro even harder
- # some space so offets won't be 0.
- .space 0xc
-
- .globl g1 .text
- .globl e2 .text
-g1:
-l1:
- # some more space, so offset from label won't be 0.
- .space 0xc
-
- # Hit the case where 'value == 0' in the BFD_RELOC_16_PCREL_S2
- # handling in tc-mips.c:md_apply_fix3().
- jal g1 - 0x20 # 0x18
- jal l1 - 0x28 # 0x20
- jal e1 - 0x24 # 0x28
- jal e2 - 0x2c # 0x30
-
-# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
- .space 8
diff --git a/gas/testsuite/gas/mips/jal-empic-elf.d b/gas/testsuite/gas/mips/jal-empic-elf.d
deleted file mode 100644
index 2502223..0000000
--- a/gas/testsuite/gas/mips/jal-empic-elf.d
+++ /dev/null
@@ -1,26 +0,0 @@
-#objdump: -dr --prefix-addresses --show-raw-insn
-#name: MIPS jal-empic-elf
-#as: -32 -membedded-pic
-#source: jal.s
-
-# Test the jal macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> 0320f809 jalr t9
-0+0004 <[^>]*> 00000000 nop
-0+0008 <[^>]*> 03202009 jalr a0,t9
-0+000c <[^>]*> 00000000 nop
-0+0010 <[^>]*> 0411ffff bal 0+0010 <text_label\+0x10>
-[ ]*10: R_MIPS_GNU_REL16_S2 .text
-0+0014 <[^>]*> 00000000 nop
-0+0018 <[^>]*> 0411ffff bal 0+0018 <text_label\+0x18>
-[ ]*18: R_MIPS_GNU_REL16_S2 external_text_label
-0+001c <[^>]*> 00000000 nop
-0+0020 <[^>]*> 1000ffff b 0+0020 <text_label\+0x20>
-[ ]*20: R_MIPS_GNU_REL16_S2 .text
-0+0024 <[^>]*> 00000000 nop
-0+0028 <[^>]*> 1000ffff b 0+0028 <text_label\+0x28>
-[ ]*28: R_MIPS_GNU_REL16_S2 external_text_label
-0+002c <[^>]*> 00000000 nop
diff --git a/gas/testsuite/gas/mips/jal-empic.d b/gas/testsuite/gas/mips/jal-empic.d
deleted file mode 100644
index 55e7150..0000000
--- a/gas/testsuite/gas/mips/jal-empic.d
+++ /dev/null
@@ -1,26 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS jal-empic
-#as: -mips1 -membedded-pic
-#source: jal.s
-
-# Test the jal macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> jalr t9
-0+0004 <[^>]*> nop
-0+0008 <[^>]*> jalr a0,t9
-0+000c <[^>]*> nop
-0+0010 <[^>]*> bal 0+0000 <text_label>
-[ ]*10: PCREL16 .text
-0+0014 <[^>]*> nop
-0+0018 <[^>]*> bal 0+0018 <text_label\+(0x|)18>
-[ ]*18: PCREL16 external_text_label
-0+001c <[^>]*> nop
-0+0020 <[^>]*> b 0+0000 <text_label>
-[ ]*20: PCREL16 .text
-0+0024 <[^>]*> nop
-0+0028 <[^>]*> b 0+0028 <text_label\+(0x|)28>
-[ ]*28: PCREL16 external_text_label
-0+002c <[^>]*> nop
diff --git a/gas/testsuite/gas/mips/la-empic.d b/gas/testsuite/gas/mips/la-empic.d
deleted file mode 100644
index 3bee777..0000000
--- a/gas/testsuite/gas/mips/la-empic.d
+++ /dev/null
@@ -1,105 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS la-empic
-#as: -32 -mips1 -membedded-pic
-
-# Test the la macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> li a0,0
-0+0004 <[^>]*> li a0,1
-0+0008 <[^>]*> li a0,0x8000
-0+000c <[^>]*> li a0,-32768
-0+0010 <[^>]*> lui a0,0x1
-0+0014 <[^>]*> lui a0,0x1
-0+0018 <[^>]*> ori a0,a0,0xa5a5
-0+001c <[^>]*> li a0,0
-0+0020 <[^>]*> addu a0,a0,a1
-0+0024 <[^>]*> li a0,1
-0+0028 <[^>]*> addu a0,a0,a1
-0+002c <[^>]*> li a0,0x8000
-0+0030 <[^>]*> addu a0,a0,a1
-0+0034 <[^>]*> li a0,-32768
-0+0038 <[^>]*> addu a0,a0,a1
-0+003c <[^>]*> lui a0,0x1
-0+0040 <[^>]*> addu a0,a0,a1
-0+0044 <[^>]*> lui a0,0x1
-0+0048 <[^>]*> ori a0,a0,0xa5a5
-0+004c <[^>]*> addu a0,a0,a1
-0+0050 <[^>]*> addiu a0,gp,-16384
-[ ]*50: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0054 <[^>]*> addiu a0,gp,0
-[ ]*54: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0058 <[^>]*> addiu a0,gp,0
-[ ]*58: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+005c <[^>]*> addiu a0,gp,0
-[ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+0060 <[^>]*> addiu a0,gp,0
-[ ]*60: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0064 <[^>]*> addiu a0,gp,-16384
-[ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0068 <[^>]*> addiu a0,gp,-15384
-[ ]*68: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+006c <[^>]*> addiu a0,gp,-16383
-[ ]*6c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0070 <[^>]*> addiu a0,gp,1
-[ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0074 <[^>]*> addiu a0,gp,1
-[ ]*74: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+0078 <[^>]*> addiu a0,gp,1
-[ ]*78: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+007c <[^>]*> addiu a0,gp,1
-[ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0080 <[^>]*> addiu a0,gp,-16383
-[ ]*80: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0084 <[^>]*> addiu a0,gp,-15383
-[ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0088 <[^>]*> addiu a0,gp,-16384
-[ ]*88: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+008c <[^>]*> addu a0,a0,a1
-0+0090 <[^>]*> addiu a0,gp,0
-[ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0094 <[^>]*> addu a0,a0,a1
-0+0098 <[^>]*> addiu a0,gp,0
-[ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+009c <[^>]*> addu a0,a0,a1
-0+00a0 <[^>]*> addiu a0,gp,0
-[ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00a4 <[^>]*> addu a0,a0,a1
-0+00a8 <[^>]*> addiu a0,gp,0
-[ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00ac <[^>]*> addu a0,a0,a1
-0+00b0 <[^>]*> addiu a0,gp,-16384
-[ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00b4 <[^>]*> addu a0,a0,a1
-0+00b8 <[^>]*> addiu a0,gp,-15384
-[ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00bc <[^>]*> addu a0,a0,a1
-0+00c0 <[^>]*> addiu a0,gp,-16383
-[ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+00c4 <[^>]*> addu a0,a0,a1
-0+00c8 <[^>]*> addiu a0,gp,1
-[ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+00cc <[^>]*> addu a0,a0,a1
-0+00d0 <[^>]*> addiu a0,gp,1
-[ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00d4 <[^>]*> addu a0,a0,a1
-0+00d8 <[^>]*> addiu a0,gp,1
-[ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00dc <[^>]*> addu a0,a0,a1
-0+00e0 <[^>]*> addiu a0,gp,1
-[ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00e4 <[^>]*> addu a0,a0,a1
-0+00e8 <[^>]*> addiu a0,gp,-16383
-[ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00ec <[^>]*> addu a0,a0,a1
-0+00f0 <[^>]*> addiu a0,gp,-15383
-[ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00f4 <[^>]*> addu a0,a0,a1
-0+00f8 <[^>]*> lui a0,0x0
-[ ]*f8: RELHI external_text_label
-0+00fc <[^>]*> addiu a0,a0,252
-[ ]*fc: RELLO external_text_label
-0+0100 <[^>]*> li a0,248
- ...
diff --git a/gas/testsuite/gas/mips/la-empic.s b/gas/testsuite/gas/mips/la-empic.s
deleted file mode 100644
index c6df5e3..0000000
--- a/gas/testsuite/gas/mips/la-empic.s
+++ /dev/null
@@ -1,57 +0,0 @@
-# Source file used to test the la macro with -membedded-pic
-
- .data
-data_label:
- .extern big_external_data_label,1000
- .extern small_external_data_label,1
- .comm big_external_common,1000
- .comm small_external_common,1
- .lcomm big_local_common,1000
- .lcomm small_local_common,1
-
- .text
-text_label:
- la $4,0
- la $4,1
- la $4,0x8000
- la $4,-0x8000
- la $4,0x10000
- la $4,0x1a5a5
- la $4,0($5)
- la $4,1($5)
- la $4,0x8000($5)
- la $4,-0x8000($5)
- la $4,0x10000($5)
- la $4,0x1a5a5($5)
- la $4,data_label
- la $4,big_external_data_label
- la $4,small_external_data_label
- la $4,big_external_common
- la $4,small_external_common
- la $4,big_local_common
- la $4,small_local_common
- la $4,data_label+1
- la $4,big_external_data_label+1
- la $4,small_external_data_label+1
- la $4,big_external_common+1
- la $4,small_external_common+1
- la $4,big_local_common+1
- la $4,small_local_common+1
- la $4,data_label($5)
- la $4,big_external_data_label($5)
- la $4,small_external_data_label($5)
- la $4,big_external_common($5)
- la $4,small_external_common($5)
- la $4,big_local_common($5)
- la $4,small_local_common($5)
- la $4,data_label+1($5)
- la $4,big_external_data_label+1($5)
- la $4,small_external_data_label+1($5)
- la $4,big_external_common+1($5)
- la $4,small_external_common+1($5)
- la $4,big_local_common+1($5)
- la $4,small_local_common+1($5)
-
-second_text_label:
- la $4,external_text_label - text_label
- la $4,second_text_label - text_label
diff --git a/gas/testsuite/gas/mips/lb-empic.d b/gas/testsuite/gas/mips/lb-empic.d
deleted file mode 100644
index 75cbeb3..0000000
--- a/gas/testsuite/gas/mips/lb-empic.d
+++ /dev/null
@@ -1,102 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS lb-empic
-#as: -32 -mips1 -membedded-pic
-#source: lb-pic.s
-
-# Test the lb macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> lb a0,0\(zero\)
-0+0004 <[^>]*> lb a0,1\(zero\)
-0+0008 <[^>]*> lui a0,0x1
-0+000c <[^>]*> lb a0,-32768\(a0\)
-0+0010 <[^>]*> lb a0,-32768\(zero\)
-0+0014 <[^>]*> lui a0,0x1
-0+0018 <[^>]*> lb a0,0\(a0\)
-0+001c <[^>]*> lui a0,0x2
-0+0020 <[^>]*> lb a0,-23131\(a0\)
-0+0024 <[^>]*> lb a0,0\(a1\)
-0+0028 <[^>]*> lb a0,1\(a1\)
-0+002c <[^>]*> lui a0,0x1
-0+0030 <[^>]*> addu a0,a0,a1
-0+0034 <[^>]*> lb a0,-32768\(a0\)
-0+0038 <[^>]*> lb a0,-32768\(a1\)
-0+003c <[^>]*> lui a0,0x1
-0+0040 <[^>]*> addu a0,a0,a1
-0+0044 <[^>]*> lb a0,0\(a0\)
-0+0048 <[^>]*> lui a0,0x2
-0+004c <[^>]*> addu a0,a0,a1
-0+0050 <[^>]*> lb a0,-23131\(a0\)
-0+0054 <[^>]*> lb a0,-16384\(gp\)
-[ ]*54: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0058 <[^>]*> lb a0,0\(gp\)
-[ ]*58: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+005c <[^>]*> lb a0,0\(gp\)
-[ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+0060 <[^>]*> lb a0,0\(gp\)
-[ ]*60: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+0064 <[^>]*> lb a0,0\(gp\)
-[ ]*64: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0068 <[^>]*> lb a0,-16384\(gp\)
-[ ]*68: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+006c <[^>]*> lb a0,-15384\(gp\)
-[ ]*6c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0070 <[^>]*> lb a0,-16383\(gp\)
-[ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0074 <[^>]*> lb a0,1\(gp\)
-[ ]*74: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0078 <[^>]*> lb a0,1\(gp\)
-[ ]*78: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+007c <[^>]*> lb a0,1\(gp\)
-[ ]*7c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+0080 <[^>]*> lb a0,1\(gp\)
-[ ]*80: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0084 <[^>]*> lb a0,-16383\(gp\)
-[ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0088 <[^>]*> lb a0,-15383\(gp\)
-[ ]*88: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+008c <[^>]*> addu a0,a1,gp
-0+0090 <[^>]*> lb a0,-16384\(a0\)
-[ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0094 <[^>]*> addu a0,a1,gp
-0+0098 <[^>]*> lb a0,0\(a0\)
-[ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+009c <[^>]*> addu a0,a1,gp
-0+00a0 <[^>]*> lb a0,0\(a0\)
-[ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00a4 <[^>]*> addu a0,a1,gp
-0+00a8 <[^>]*> lb a0,0\(a0\)
-[ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00ac <[^>]*> addu a0,a1,gp
-0+00b0 <[^>]*> lb a0,0\(a0\)
-[ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00b4 <[^>]*> addu a0,a1,gp
-0+00b8 <[^>]*> lb a0,-16384\(a0\)
-[ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00bc <[^>]*> addu a0,a1,gp
-0+00c0 <[^>]*> lb a0,-15384\(a0\)
-[ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00c4 <[^>]*> addu a0,a1,gp
-0+00c8 <[^>]*> lb a0,-16383\(a0\)
-[ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+00cc <[^>]*> addu a0,a1,gp
-0+00d0 <[^>]*> lb a0,1\(a0\)
-[ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+00d4 <[^>]*> addu a0,a1,gp
-0+00d8 <[^>]*> lb a0,1\(a0\)
-[ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00dc <[^>]*> addu a0,a1,gp
-0+00e0 <[^>]*> lb a0,1\(a0\)
-[ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00e4 <[^>]*> addu a0,a1,gp
-0+00e8 <[^>]*> lb a0,1\(a0\)
-[ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00ec <[^>]*> addu a0,a1,gp
-0+00f0 <[^>]*> lb a0,-16383\(a0\)
-[ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00f4 <[^>]*> addu a0,a1,gp
-0+00f8 <[^>]*> lb a0,-15383\(a0\)
-[ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00fc <[^>]*> nop
diff --git a/gas/testsuite/gas/mips/lb-svr4pic-ilocks.d b/gas/testsuite/gas/mips/lb-svr4pic-ilocks.d
new file mode 100644
index 0000000..0d7df1c
--- /dev/null
+++ b/gas/testsuite/gas/mips/lb-svr4pic-ilocks.d
@@ -0,0 +1,154 @@
+#objdump: -dr --prefix-addresses
+#name: MIPS lb-svr4pic-ilocks
+#as: -32 -KPIC
+#source: lb-pic.s
+
+# Test the lb macro with -KPIC.
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*> lb a0,0\(zero\)
+0+0004 <[^>]*> lb a0,1\(zero\)
+0+0008 <[^>]*> lui a0,0x1
+0+000c <[^>]*> lb a0,-32768\(a0\)
+0+0010 <[^>]*> lb a0,-32768\(zero\)
+0+0014 <[^>]*> lui a0,0x1
+0+0018 <[^>]*> lb a0,0\(a0\)
+0+001c <[^>]*> lui a0,0x2
+0+0020 <[^>]*> lb a0,-23131\(a0\)
+0+0024 <[^>]*> lb a0,0\(a1\)
+0+0028 <[^>]*> lb a0,1\(a1\)
+0+002c <[^>]*> lui a0,0x1
+0+0030 <[^>]*> addu a0,a0,a1
+0+0034 <[^>]*> lb a0,-32768\(a0\)
+0+0038 <[^>]*> lb a0,-32768\(a1\)
+0+003c <[^>]*> lui a0,0x1
+0+0040 <[^>]*> addu a0,a0,a1
+0+0044 <[^>]*> lb a0,0\(a0\)
+0+0048 <[^>]*> lui a0,0x2
+0+004c <[^>]*> addu a0,a0,a1
+0+0050 <[^>]*> lb a0,-23131\(a0\)
+0+0054 <[^>]*> lw a0,0\(gp\)
+[ ]*54: R_MIPS_GOT16 .data
+0+0058 <[^>]*> addiu a0,a0,0
+[ ]*58: R_MIPS_LO16 .data
+0+005c <[^>]*> lb a0,0\(a0\)
+0+0060 <[^>]*> lw a0,0\(gp\)
+[ ]*60: R_MIPS_GOT16 big_external_data_label
+0+0064 <[^>]*> lb a0,0\(a0\)
+0+0068 <[^>]*> lw a0,0\(gp\)
+[ ]*68: R_MIPS_GOT16 small_external_data_label
+0+006c <[^>]*> lb a0,0\(a0\)
+0+0070 <[^>]*> lw a0,0\(gp\)
+[ ]*70: R_MIPS_GOT16 big_external_common
+0+0074 <[^>]*> lb a0,0\(a0\)
+0+0078 <[^>]*> lw a0,0\(gp\)
+[ ]*78: R_MIPS_GOT16 small_external_common
+0+007c <[^>]*> lb a0,0\(a0\)
+0+0080 <[^>]*> lw a0,0\(gp\)
+[ ]*80: R_MIPS_GOT16 .bss
+0+0084 <[^>]*> addiu a0,a0,0
+[ ]*84: R_MIPS_LO16 .bss
+0+0088 <[^>]*> lb a0,0\(a0\)
+0+008c <[^>]*> lw a0,0\(gp\)
+[ ]*8c: R_MIPS_GOT16 .bss
+0+0090 <[^>]*> addiu a0,a0,1000
+[ ]*90: R_MIPS_LO16 .bss
+0+0094 <[^>]*> lb a0,0\(a0\)
+0+0098 <[^>]*> lw a0,0\(gp\)
+[ ]*98: R_MIPS_GOT16 .data
+0+009c <[^>]*> addiu a0,a0,0
+[ ]*9c: R_MIPS_LO16 .data
+0+00a0 <[^>]*> lb a0,1\(a0\)
+0+00a4 <[^>]*> lw a0,0\(gp\)
+[ ]*a4: R_MIPS_GOT16 big_external_data_label
+0+00a8 <[^>]*> lb a0,1\(a0\)
+0+00ac <[^>]*> lw a0,0\(gp\)
+[ ]*ac: R_MIPS_GOT16 small_external_data_label
+0+00b0 <[^>]*> lb a0,1\(a0\)
+0+00b4 <[^>]*> lw a0,0\(gp\)
+[ ]*b4: R_MIPS_GOT16 big_external_common
+0+00b8 <[^>]*> lb a0,1\(a0\)
+0+00bc <[^>]*> lw a0,0\(gp\)
+[ ]*bc: R_MIPS_GOT16 small_external_common
+0+00c0 <[^>]*> lb a0,1\(a0\)
+0+00c4 <[^>]*> lw a0,0\(gp\)
+[ ]*c4: R_MIPS_GOT16 .bss
+0+00c8 <[^>]*> addiu a0,a0,0
+[ ]*c8: R_MIPS_LO16 .bss
+0+00cc <[^>]*> lb a0,1\(a0\)
+0+00d0 <[^>]*> lw a0,0\(gp\)
+[ ]*d0: R_MIPS_GOT16 .bss
+0+00d4 <[^>]*> addiu a0,a0,1000
+[ ]*d4: R_MIPS_LO16 .bss
+0+00d8 <[^>]*> lb a0,1\(a0\)
+0+00dc <[^>]*> lw a0,0\(gp\)
+[ ]*dc: R_MIPS_GOT16 .data
+0+00e0 <[^>]*> addiu a0,a0,0
+[ ]*e0: R_MIPS_LO16 .data
+0+00e4 <[^>]*> addu a0,a0,a1
+0+00e8 <[^>]*> lb a0,0\(a0\)
+0+00ec <[^>]*> lw a0,0\(gp\)
+[ ]*ec: R_MIPS_GOT16 big_external_data_label
+0+00f0 <[^>]*> addu a0,a0,a1
+0+00f4 <[^>]*> lb a0,0\(a0\)
+0+00f8 <[^>]*> lw a0,0\(gp\)
+[ ]*f8: R_MIPS_GOT16 small_external_data_label
+0+00fc <[^>]*> addu a0,a0,a1
+0+0100 <[^>]*> lb a0,0\(a0\)
+0+0104 <[^>]*> lw a0,0\(gp\)
+[ ]*104: R_MIPS_GOT16 big_external_common
+0+0108 <[^>]*> addu a0,a0,a1
+0+010c <[^>]*> lb a0,0\(a0\)
+0+0110 <[^>]*> lw a0,0\(gp\)
+[ ]*110: R_MIPS_GOT16 small_external_common
+0+0114 <[^>]*> addu a0,a0,a1
+0+0118 <[^>]*> lb a0,0\(a0\)
+0+011c <[^>]*> lw a0,0\(gp\)
+[ ]*11c: R_MIPS_GOT16 .bss
+0+0120 <[^>]*> addiu a0,a0,0
+[ ]*120: R_MIPS_LO16 .bss
+0+0124 <[^>]*> addu a0,a0,a1
+0+0128 <[^>]*> lb a0,0\(a0\)
+0+012c <[^>]*> lw a0,0\(gp\)
+[ ]*12c: R_MIPS_GOT16 .bss
+0+0130 <[^>]*> addiu a0,a0,1000
+[ ]*130: R_MIPS_LO16 .bss
+0+0134 <[^>]*> addu a0,a0,a1
+0+0138 <[^>]*> lb a0,0\(a0\)
+0+013c <[^>]*> lw a0,0\(gp\)
+[ ]*13c: R_MIPS_GOT16 .data
+0+0140 <[^>]*> addiu a0,a0,0
+[ ]*140: R_MIPS_LO16 .data
+0+0144 <[^>]*> addu a0,a0,a1
+0+0148 <[^>]*> lb a0,1\(a0\)
+0+014c <[^>]*> lw a0,0\(gp\)
+[ ]*14c: R_MIPS_GOT16 big_external_data_label
+0+0150 <[^>]*> addu a0,a0,a1
+0+0154 <[^>]*> lb a0,1\(a0\)
+0+0158 <[^>]*> lw a0,0\(gp\)
+[ ]*158: R_MIPS_GOT16 small_external_data_label
+0+015c <[^>]*> addu a0,a0,a1
+0+0160 <[^>]*> lb a0,1\(a0\)
+0+0164 <[^>]*> lw a0,0\(gp\)
+[ ]*164: R_MIPS_GOT16 big_external_common
+0+0168 <[^>]*> addu a0,a0,a1
+0+016c <[^>]*> lb a0,1\(a0\)
+0+0170 <[^>]*> lw a0,0\(gp\)
+[ ]*170: R_MIPS_GOT16 small_external_common
+0+0174 <[^>]*> addu a0,a0,a1
+0+0178 <[^>]*> lb a0,1\(a0\)
+0+017c <[^>]*> lw a0,0\(gp\)
+[ ]*17c: R_MIPS_GOT16 .bss
+0+0180 <[^>]*> addiu a0,a0,0
+[ ]*180: R_MIPS_LO16 .bss
+0+0184 <[^>]*> addu a0,a0,a1
+0+0188 <[^>]*> lb a0,1\(a0\)
+0+018c <[^>]*> lw a0,0\(gp\)
+[ ]*18c: R_MIPS_GOT16 .bss
+0+0190 <[^>]*> addiu a0,a0,1000
+[ ]*190: R_MIPS_LO16 .bss
+0+0194 <[^>]*> addu a0,a0,a1
+0+0198 <[^>]*> lb a0,1\(a0\)
+0+019c <[^>]*> nop
diff --git a/gas/testsuite/gas/mips/lb-xgot-ilocks.d b/gas/testsuite/gas/mips/lb-xgot-ilocks.d
index b2632bc..18e561f 100644
--- a/gas/testsuite/gas/mips/lb-xgot-ilocks.d
+++ b/gas/testsuite/gas/mips/lb-xgot-ilocks.d
@@ -31,184 +31,172 @@ Disassembly of section \.text:
0+0050 <.*> lb a0,-23131\(a0\)
0+0054 <.*> lw a0,0\(gp\)
54: R_MIPS_GOT16 \.data
-0+0058 <.*> nop
-0+005c <.*> addiu a0,a0,0
- 5c: R_MIPS_LO16 \.data
-0+0060 <.*> lb a0,0\(a0\)
-0+0064 <.*> lui a0,0x0
- 64: R_MIPS_GOT_HI16 big_external_data_label
-0+0068 <.*> addu a0,a0,gp
-0+006c <.*> lw a0,0\(a0\)
- 6c: R_MIPS_GOT_LO16 big_external_data_label
-0+0070 <.*> lb a0,0\(a0\)
-0+0074 <.*> lui a0,0x0
- 74: R_MIPS_GOT_HI16 small_external_data_label
-0+0078 <.*> addu a0,a0,gp
-0+007c <.*> lw a0,0\(a0\)
- 7c: R_MIPS_GOT_LO16 small_external_data_label
-0+0080 <.*> lb a0,0\(a0\)
-0+0084 <.*> lui a0,0x0
- 84: R_MIPS_GOT_HI16 big_external_common
-0+0088 <.*> addu a0,a0,gp
-0+008c <.*> lw a0,0\(a0\)
- 8c: R_MIPS_GOT_LO16 big_external_common
-0+0090 <.*> lb a0,0\(a0\)
-0+0094 <.*> lui a0,0x0
- 94: R_MIPS_GOT_HI16 small_external_common
-0+0098 <.*> addu a0,a0,gp
-0+009c <.*> lw a0,0\(a0\)
- 9c: R_MIPS_GOT_LO16 small_external_common
-0+00a0 <.*> lb a0,0\(a0\)
-0+00a4 <.*> lw a0,0\(gp\)
- a4: R_MIPS_GOT16 \.bss
-0+00a8 <.*> nop
-0+00ac <.*> addiu a0,a0,0
- ac: R_MIPS_LO16 \.bss
-0+00b0 <.*> lb a0,0\(a0\)
-0+00b4 <.*> lw a0,0\(gp\)
- b4: R_MIPS_GOT16 \.bss
-0+00b8 <.*> nop
-0+00bc <.*> addiu a0,a0,1000
- bc: R_MIPS_LO16 \.bss
-0+00c0 <.*> lb a0,0\(a0\)
-0+00c4 <.*> lw a0,0\(gp\)
- c4: R_MIPS_GOT16 \.data
-0+00c8 <.*> nop
-0+00cc <.*> addiu a0,a0,0
- cc: R_MIPS_LO16 \.data
+0+0058 <.*> addiu a0,a0,0
+ 58: R_MIPS_LO16 \.data
+0+005c <.*> lb a0,0\(a0\)
+0+0060 <.*> lui a0,0x0
+ 60: R_MIPS_GOT_HI16 big_external_data_label
+0+0064 <.*> addu a0,a0,gp
+0+0068 <.*> lw a0,0\(a0\)
+ 68: R_MIPS_GOT_LO16 big_external_data_label
+0+006c <.*> lb a0,0\(a0\)
+0+0070 <.*> lui a0,0x0
+ 70: R_MIPS_GOT_HI16 small_external_data_label
+0+0074 <.*> addu a0,a0,gp
+0+0078 <.*> lw a0,0\(a0\)
+ 78: R_MIPS_GOT_LO16 small_external_data_label
+0+007c <.*> lb a0,0\(a0\)
+0+0080 <.*> lui a0,0x0
+ 80: R_MIPS_GOT_HI16 big_external_common
+0+0084 <.*> addu a0,a0,gp
+0+0088 <.*> lw a0,0\(a0\)
+ 88: R_MIPS_GOT_LO16 big_external_common
+0+008c <.*> lb a0,0\(a0\)
+0+0090 <.*> lui a0,0x0
+ 90: R_MIPS_GOT_HI16 small_external_common
+0+0094 <.*> addu a0,a0,gp
+0+0098 <.*> lw a0,0\(a0\)
+ 98: R_MIPS_GOT_LO16 small_external_common
+0+009c <.*> lb a0,0\(a0\)
+0+00a0 <.*> lw a0,0\(gp\)
+ a0: R_MIPS_GOT16 \.bss
+0+00a4 <.*> addiu a0,a0,0
+ a4: R_MIPS_LO16 \.bss
+0+00a8 <.*> lb a0,0\(a0\)
+0+00ac <.*> lw a0,0\(gp\)
+ ac: R_MIPS_GOT16 \.bss
+0+00b0 <.*> addiu a0,a0,1000
+ b0: R_MIPS_LO16 \.bss
+0+00b4 <.*> lb a0,0\(a0\)
+0+00b8 <.*> lw a0,0\(gp\)
+ b8: R_MIPS_GOT16 \.data
+0+00bc <.*> addiu a0,a0,0
+ bc: R_MIPS_LO16 \.data
+0+00c0 <.*> lb a0,1\(a0\)
+0+00c4 <.*> lui a0,0x0
+ c4: R_MIPS_GOT_HI16 big_external_data_label
+0+00c8 <.*> addu a0,a0,gp
+0+00cc <.*> lw a0,0\(a0\)
+ cc: R_MIPS_GOT_LO16 big_external_data_label
0+00d0 <.*> lb a0,1\(a0\)
0+00d4 <.*> lui a0,0x0
- d4: R_MIPS_GOT_HI16 big_external_data_label
+ d4: R_MIPS_GOT_HI16 small_external_data_label
0+00d8 <.*> addu a0,a0,gp
0+00dc <.*> lw a0,0\(a0\)
- dc: R_MIPS_GOT_LO16 big_external_data_label
+ dc: R_MIPS_GOT_LO16 small_external_data_label
0+00e0 <.*> lb a0,1\(a0\)
0+00e4 <.*> lui a0,0x0
- e4: R_MIPS_GOT_HI16 small_external_data_label
+ e4: R_MIPS_GOT_HI16 big_external_common
0+00e8 <.*> addu a0,a0,gp
0+00ec <.*> lw a0,0\(a0\)
- ec: R_MIPS_GOT_LO16 small_external_data_label
+ ec: R_MIPS_GOT_LO16 big_external_common
0+00f0 <.*> lb a0,1\(a0\)
0+00f4 <.*> lui a0,0x0
- f4: R_MIPS_GOT_HI16 big_external_common
+ f4: R_MIPS_GOT_HI16 small_external_common
0+00f8 <.*> addu a0,a0,gp
0+00fc <.*> lw a0,0\(a0\)
- fc: R_MIPS_GOT_LO16 big_external_common
+ fc: R_MIPS_GOT_LO16 small_external_common
0+0100 <.*> lb a0,1\(a0\)
-0+0104 <.*> lui a0,0x0
- 104: R_MIPS_GOT_HI16 small_external_common
-0+0108 <.*> addu a0,a0,gp
-0+010c <.*> lw a0,0\(a0\)
- 10c: R_MIPS_GOT_LO16 small_external_common
-0+0110 <.*> lb a0,1\(a0\)
-0+0114 <.*> lw a0,0\(gp\)
- 114: R_MIPS_GOT16 \.bss
-0+0118 <.*> nop
-0+011c <.*> addiu a0,a0,0
- 11c: R_MIPS_LO16 \.bss
-0+0120 <.*> lb a0,1\(a0\)
-0+0124 <.*> lw a0,0\(gp\)
- 124: R_MIPS_GOT16 \.bss
-0+0128 <.*> nop
-0+012c <.*> addiu a0,a0,1000
- 12c: R_MIPS_LO16 \.bss
-0+0130 <.*> lb a0,1\(a0\)
-0+0134 <.*> lw a0,0\(gp\)
- 134: R_MIPS_GOT16 \.data
-0+0138 <.*> nop
-0+013c <.*> addiu a0,a0,0
- 13c: R_MIPS_LO16 \.data
-0+0140 <.*> addu a0,a0,a1
-0+0144 <.*> lb a0,0\(a0\)
-0+0148 <.*> lui a0,0x0
- 148: R_MIPS_GOT_HI16 big_external_data_label
-0+014c <.*> addu a0,a0,gp
-0+0150 <.*> lw a0,0\(a0\)
- 150: R_MIPS_GOT_LO16 big_external_data_label
-0+0154 <.*> addu a0,a0,a1
-0+0158 <.*> lb a0,0\(a0\)
-0+015c <.*> lui a0,0x0
- 15c: R_MIPS_GOT_HI16 small_external_data_label
-0+0160 <.*> addu a0,a0,gp
-0+0164 <.*> lw a0,0\(a0\)
- 164: R_MIPS_GOT_LO16 small_external_data_label
-0+0168 <.*> addu a0,a0,a1
-0+016c <.*> lb a0,0\(a0\)
-0+0170 <.*> lui a0,0x0
- 170: R_MIPS_GOT_HI16 big_external_common
-0+0174 <.*> addu a0,a0,gp
-0+0178 <.*> lw a0,0\(a0\)
- 178: R_MIPS_GOT_LO16 big_external_common
-0+017c <.*> addu a0,a0,a1
-0+0180 <.*> lb a0,0\(a0\)
-0+0184 <.*> lui a0,0x0
- 184: R_MIPS_GOT_HI16 small_external_common
-0+0188 <.*> addu a0,a0,gp
-0+018c <.*> lw a0,0\(a0\)
- 18c: R_MIPS_GOT_LO16 small_external_common
-0+0190 <.*> addu a0,a0,a1
-0+0194 <.*> lb a0,0\(a0\)
-0+0198 <.*> lw a0,0\(gp\)
- 198: R_MIPS_GOT16 \.bss
-0+019c <.*> nop
+0+0104 <.*> lw a0,0\(gp\)
+ 104: R_MIPS_GOT16 \.bss
+0+0108 <.*> addiu a0,a0,0
+ 108: R_MIPS_LO16 \.bss
+0+010c <.*> lb a0,1\(a0\)
+0+0110 <.*> lw a0,0\(gp\)
+ 110: R_MIPS_GOT16 \.bss
+0+0114 <.*> addiu a0,a0,1000
+ 114: R_MIPS_LO16 \.bss
+0+0118 <.*> lb a0,1\(a0\)
+0+011c <.*> lw a0,0\(gp\)
+ 11c: R_MIPS_GOT16 \.data
+0+0120 <.*> addiu a0,a0,0
+ 120: R_MIPS_LO16 \.data
+0+0124 <.*> addu a0,a0,a1
+0+0128 <.*> lb a0,0\(a0\)
+0+012c <.*> lui a0,0x0
+ 12c: R_MIPS_GOT_HI16 big_external_data_label
+0+0130 <.*> addu a0,a0,gp
+0+0134 <.*> lw a0,0\(a0\)
+ 134: R_MIPS_GOT_LO16 big_external_data_label
+0+0138 <.*> addu a0,a0,a1
+0+013c <.*> lb a0,0\(a0\)
+0+0140 <.*> lui a0,0x0
+ 140: R_MIPS_GOT_HI16 small_external_data_label
+0+0144 <.*> addu a0,a0,gp
+0+0148 <.*> lw a0,0\(a0\)
+ 148: R_MIPS_GOT_LO16 small_external_data_label
+0+014c <.*> addu a0,a0,a1
+0+0150 <.*> lb a0,0\(a0\)
+0+0154 <.*> lui a0,0x0
+ 154: R_MIPS_GOT_HI16 big_external_common
+0+0158 <.*> addu a0,a0,gp
+0+015c <.*> lw a0,0\(a0\)
+ 15c: R_MIPS_GOT_LO16 big_external_common
+0+0160 <.*> addu a0,a0,a1
+0+0164 <.*> lb a0,0\(a0\)
+0+0168 <.*> lui a0,0x0
+ 168: R_MIPS_GOT_HI16 small_external_common
+0+016c <.*> addu a0,a0,gp
+0+0170 <.*> lw a0,0\(a0\)
+ 170: R_MIPS_GOT_LO16 small_external_common
+0+0174 <.*> addu a0,a0,a1
+0+0178 <.*> lb a0,0\(a0\)
+0+017c <.*> lw a0,0\(gp\)
+ 17c: R_MIPS_GOT16 \.bss
+0+0180 <.*> addiu a0,a0,0
+ 180: R_MIPS_LO16 \.bss
+0+0184 <.*> addu a0,a0,a1
+0+0188 <.*> lb a0,0\(a0\)
+0+018c <.*> lw a0,0\(gp\)
+ 18c: R_MIPS_GOT16 \.bss
+0+0190 <.*> addiu a0,a0,1000
+ 190: R_MIPS_LO16 \.bss
+0+0194 <.*> addu a0,a0,a1
+0+0198 <.*> lb a0,0\(a0\)
+0+019c <.*> lw a0,0\(gp\)
+ 19c: R_MIPS_GOT16 \.data
0+01a0 <.*> addiu a0,a0,0
- 1a0: R_MIPS_LO16 \.bss
+ 1a0: R_MIPS_LO16 \.data
0+01a4 <.*> addu a0,a0,a1
-0+01a8 <.*> lb a0,0\(a0\)
-0+01ac <.*> lw a0,0\(gp\)
- 1ac: R_MIPS_GOT16 \.bss
-0+01b0 <.*> nop
-0+01b4 <.*> addiu a0,a0,1000
- 1b4: R_MIPS_LO16 \.bss
+0+01a8 <.*> lb a0,1\(a0\)
+0+01ac <.*> lui a0,0x0
+ 1ac: R_MIPS_GOT_HI16 big_external_data_label
+0+01b0 <.*> addu a0,a0,gp
+0+01b4 <.*> lw a0,0\(a0\)
+ 1b4: R_MIPS_GOT_LO16 big_external_data_label
0+01b8 <.*> addu a0,a0,a1
-0+01bc <.*> lb a0,0\(a0\)
-0+01c0 <.*> lw a0,0\(gp\)
- 1c0: R_MIPS_GOT16 \.data
-0+01c4 <.*> nop
-0+01c8 <.*> addiu a0,a0,0
- 1c8: R_MIPS_LO16 \.data
+0+01bc <.*> lb a0,1\(a0\)
+0+01c0 <.*> lui a0,0x0
+ 1c0: R_MIPS_GOT_HI16 small_external_data_label
+0+01c4 <.*> addu a0,a0,gp
+0+01c8 <.*> lw a0,0\(a0\)
+ 1c8: R_MIPS_GOT_LO16 small_external_data_label
0+01cc <.*> addu a0,a0,a1
0+01d0 <.*> lb a0,1\(a0\)
0+01d4 <.*> lui a0,0x0
- 1d4: R_MIPS_GOT_HI16 big_external_data_label
+ 1d4: R_MIPS_GOT_HI16 big_external_common
0+01d8 <.*> addu a0,a0,gp
0+01dc <.*> lw a0,0\(a0\)
- 1dc: R_MIPS_GOT_LO16 big_external_data_label
+ 1dc: R_MIPS_GOT_LO16 big_external_common
0+01e0 <.*> addu a0,a0,a1
0+01e4 <.*> lb a0,1\(a0\)
0+01e8 <.*> lui a0,0x0
- 1e8: R_MIPS_GOT_HI16 small_external_data_label
+ 1e8: R_MIPS_GOT_HI16 small_external_common
0+01ec <.*> addu a0,a0,gp
0+01f0 <.*> lw a0,0\(a0\)
- 1f0: R_MIPS_GOT_LO16 small_external_data_label
+ 1f0: R_MIPS_GOT_LO16 small_external_common
0+01f4 <.*> addu a0,a0,a1
0+01f8 <.*> lb a0,1\(a0\)
-0+01fc <.*> lui a0,0x0
- 1fc: R_MIPS_GOT_HI16 big_external_common
-0+0200 <.*> addu a0,a0,gp
-0+0204 <.*> lw a0,0\(a0\)
- 204: R_MIPS_GOT_LO16 big_external_common
-0+0208 <.*> addu a0,a0,a1
-0+020c <.*> lb a0,1\(a0\)
-0+0210 <.*> lui a0,0x0
- 210: R_MIPS_GOT_HI16 small_external_common
-0+0214 <.*> addu a0,a0,gp
-0+0218 <.*> lw a0,0\(a0\)
- 218: R_MIPS_GOT_LO16 small_external_common
-0+021c <.*> addu a0,a0,a1
-0+0220 <.*> lb a0,1\(a0\)
-0+0224 <.*> lw a0,0\(gp\)
- 224: R_MIPS_GOT16 \.bss
-0+0228 <.*> nop
-0+022c <.*> addiu a0,a0,0
- 22c: R_MIPS_LO16 \.bss
-0+0230 <.*> addu a0,a0,a1
-0+0234 <.*> lb a0,1\(a0\)
-0+0238 <.*> lw a0,0\(gp\)
- 238: R_MIPS_GOT16 \.bss
-0+023c <.*> nop
-0+0240 <.*> addiu a0,a0,1000
- 240: R_MIPS_LO16 \.bss
-0+0244 <.*> addu a0,a0,a1
-0+0248 <.*> lb a0,1\(a0\)
-0+024c <.*> nop
+0+01fc <.*> lw a0,0\(gp\)
+ 1fc: R_MIPS_GOT16 \.bss
+0+0200 <.*> addiu a0,a0,0
+ 200: R_MIPS_LO16 \.bss
+0+0204 <.*> addu a0,a0,a1
+0+0208 <.*> lb a0,1\(a0\)
+0+020c <.*> lw a0,0\(gp\)
+ 20c: R_MIPS_GOT16 \.bss
+0+0210 <.*> addiu a0,a0,1000
+ 210: R_MIPS_LO16 \.bss
+0+0214 <.*> addu a0,a0,a1
+0+0218 <.*> lb a0,1\(a0\)
+0+021c <.*> nop
diff --git a/gas/testsuite/gas/mips/ld-empic.d b/gas/testsuite/gas/mips/ld-empic.d
deleted file mode 100644
index 85c8358..0000000
--- a/gas/testsuite/gas/mips/ld-empic.d
+++ /dev/null
@@ -1,186 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS ld-empic
-#as: -32 -mips1 -membedded-pic --defsym EMPIC=1
-#source: ld-pic.s
-
-# Test the ld macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> lw a0,0\(zero\)
-0+0004 <[^>]*> lw a1,4\(zero\)
-0+0008 <[^>]*> lw a0,1\(zero\)
-0+000c <[^>]*> lw a1,5\(zero\)
-0+0010 <[^>]*> lui at,0x1
-0+0014 <[^>]*> lw a0,-32768\(at\)
-0+0018 <[^>]*> lw a1,-32764\(at\)
-0+001c <[^>]*> lw a0,-32768\(zero\)
-0+0020 <[^>]*> lw a1,-32764\(zero\)
-0+0024 <[^>]*> lui at,0x1
-0+0028 <[^>]*> lw a0,0\(at\)
-0+002c <[^>]*> lw a1,4\(at\)
-0+0030 <[^>]*> lui at,0x2
-0+0034 <[^>]*> lw a0,-23131\(at\)
-0+0038 <[^>]*> lw a1,-23127\(at\)
-0+003c <[^>]*> nop
-0+0040 <[^>]*> lw a0,0\(a1\)
-0+0044 <[^>]*> lw a1,4\(a1\)
-0+0048 <[^>]*> nop
-0+004c <[^>]*> lw a0,1\(a1\)
-0+0050 <[^>]*> lw a1,5\(a1\)
-0+0054 <[^>]*> lui at,0x1
-0+0058 <[^>]*> addu at,a1,at
-0+005c <[^>]*> lw a0,-32768\(at\)
-0+0060 <[^>]*> lw a1,-32764\(at\)
-0+0064 <[^>]*> nop
-0+0068 <[^>]*> lw a0,-32768\(a1\)
-0+006c <[^>]*> lw a1,-32764\(a1\)
-0+0070 <[^>]*> lui at,0x1
-0+0074 <[^>]*> addu at,a1,at
-0+0078 <[^>]*> lw a0,0\(at\)
-0+007c <[^>]*> lw a1,4\(at\)
-0+0080 <[^>]*> lui at,0x2
-0+0084 <[^>]*> addu at,a1,at
-0+0088 <[^>]*> lw a0,-23131\(at\)
-0+008c <[^>]*> lw a1,-23127\(at\)
-0+0090 <[^>]*> lw a0,-16384\(gp\)
-[ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0094 <[^>]*> lw a1,-16380\(gp\)
-[ ]*94: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0098 <[^>]*> lw a0,0\(gp\)
-[ ]*98: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+009c <[^>]*> lw a1,4\(gp\)
-[ ]*9c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+00a0 <[^>]*> lw a0,0\(gp\)
-[ ]*a0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00a4 <[^>]*> lw a1,4\(gp\)
-[ ]*a4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00a8 <[^>]*> lw a0,0\(gp\)
-[ ]*a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00ac <[^>]*> lw a1,4\(gp\)
-[ ]*ac: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00b0 <[^>]*> lw a0,0\(gp\)
-[ ]*b0: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00b4 <[^>]*> lw a1,4\(gp\)
-[ ]*b4: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00b8 <[^>]*> lw a0,-16384\(gp\)
-[ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00bc <[^>]*> lw a1,-16380\(gp\)
-[ ]*bc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00c0 <[^>]*> lw a0,-15384\(gp\)
-[ ]*c0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00c4 <[^>]*> lw a1,-15380\(gp\)
-[ ]*c4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00c8 <[^>]*> lw a0,-16383\(gp\)
-[ ]*c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+00cc <[^>]*> lw a1,-16379\(gp\)
-[ ]*cc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+00d0 <[^>]*> lw a0,1\(gp\)
-[ ]*d0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+00d4 <[^>]*> lw a1,5\(gp\)
-[ ]*d4: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+00d8 <[^>]*> lw a0,1\(gp\)
-[ ]*d8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00dc <[^>]*> lw a1,5\(gp\)
-[ ]*dc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00e0 <[^>]*> lw a0,1\(gp\)
-[ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00e4 <[^>]*> lw a1,5\(gp\)
-[ ]*e4: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00e8 <[^>]*> lw a0,1\(gp\)
-[ ]*e8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00ec <[^>]*> lw a1,5\(gp\)
-[ ]*ec: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00f0 <[^>]*> lw a0,-16383\(gp\)
-[ ]*f0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00f4 <[^>]*> lw a1,-16379\(gp\)
-[ ]*f4: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00f8 <[^>]*> lw a0,-15383\(gp\)
-[ ]*f8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00fc <[^>]*> lw a1,-15379\(gp\)
-[ ]*fc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0100 <[^>]*> nop
-0+0104 <[^>]*> addu at,a1,gp
-0+0108 <[^>]*> lw a0,-16384\(at\)
-[ ]*108: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+010c <[^>]*> lw a1,-16380\(at\)
-[ ]*10c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0110 <[^>]*> nop
-0+0114 <[^>]*> addu at,a1,gp
-0+0118 <[^>]*> lw a0,0\(at\)
-[ ]*118: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+011c <[^>]*> lw a1,4\(at\)
-[ ]*11c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0120 <[^>]*> nop
-0+0124 <[^>]*> addu at,a1,gp
-0+0128 <[^>]*> lw a0,0\(at\)
-[ ]*128: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+012c <[^>]*> lw a1,4\(at\)
-[ ]*12c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+0130 <[^>]*> nop
-0+0134 <[^>]*> addu at,a1,gp
-0+0138 <[^>]*> lw a0,0\(at\)
-[ ]*138: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+013c <[^>]*> lw a1,4\(at\)
-[ ]*13c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+0140 <[^>]*> nop
-0+0144 <[^>]*> addu at,a1,gp
-0+0148 <[^>]*> lw a0,0\(at\)
-[ ]*148: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+014c <[^>]*> lw a1,4\(at\)
-[ ]*14c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0150 <[^>]*> nop
-0+0154 <[^>]*> addu at,a1,gp
-0+0158 <[^>]*> lw a0,-16384\(at\)
-[ ]*158: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+015c <[^>]*> lw a1,-16380\(at\)
-[ ]*15c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0160 <[^>]*> nop
-0+0164 <[^>]*> addu at,a1,gp
-0+0168 <[^>]*> lw a0,-15384\(at\)
-[ ]*168: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+016c <[^>]*> lw a1,-15380\(at\)
-[ ]*16c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0170 <[^>]*> nop
-0+0174 <[^>]*> addu at,a1,gp
-0+0178 <[^>]*> lw a0,-16383\(at\)
-[ ]*178: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+017c <[^>]*> lw a1,-16379\(at\)
-[ ]*17c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0180 <[^>]*> nop
-0+0184 <[^>]*> addu at,a1,gp
-0+0188 <[^>]*> lw a0,1\(at\)
-[ ]*188: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+018c <[^>]*> lw a1,5\(at\)
-[ ]*18c: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0190 <[^>]*> nop
-0+0194 <[^>]*> addu at,a1,gp
-0+0198 <[^>]*> lw a0,1\(at\)
-[ ]*198: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+019c <[^>]*> lw a1,5\(at\)
-[ ]*19c: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+01a0 <[^>]*> nop
-0+01a4 <[^>]*> addu at,a1,gp
-0+01a8 <[^>]*> lw a0,1\(at\)
-[ ]*1a8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+01ac <[^>]*> lw a1,5\(at\)
-[ ]*1ac: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+01b0 <[^>]*> nop
-0+01b4 <[^>]*> addu at,a1,gp
-0+01b8 <[^>]*> lw a0,1\(at\)
-[ ]*1b8: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+01bc <[^>]*> lw a1,5\(at\)
-[ ]*1bc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+01c0 <[^>]*> nop
-0+01c4 <[^>]*> addu at,a1,gp
-0+01c8 <[^>]*> lw a0,-16383\(at\)
-[ ]*1c8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+01cc <[^>]*> lw a1,-16379\(at\)
-[ ]*1cc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+01d0 <[^>]*> nop
-0+01d4 <[^>]*> addu at,a1,gp
-0+01d8 <[^>]*> lw a0,-15383\(at\)
-[ ]*1d8: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+01dc <[^>]*> lw a1,-15379\(at\)
-[ ]*1dc: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
diff --git a/gas/testsuite/gas/mips/ld-pic.s b/gas/testsuite/gas/mips/ld-pic.s
index ccf52df..994561f 100644
--- a/gas/testsuite/gas/mips/ld-pic.s
+++ b/gas/testsuite/gas/mips/ld-pic.s
@@ -54,7 +54,5 @@ data_label:
ld $4,small_local_common+1($5)
# Round to a 16 byte boundary, for ease in testing multiple targets.
- .ifndef EMPIC
nop
nop
- .endif
diff --git a/gas/testsuite/gas/mips/lif-empic.d b/gas/testsuite/gas/mips/lif-empic.d
deleted file mode 100644
index f81b68d..0000000
--- a/gas/testsuite/gas/mips/lif-empic.d
+++ /dev/null
@@ -1,24 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS lifloat-empic
-#as: -32 -mips1 -membedded-pic --defsym EMPIC=1
-#source: lifloat.s
-
-# Test the li.d and li.s macros with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> addiu at,gp,-16384
-[ ]*0: [A-Z0-9_]*GPREL[A-Z0-9_]* .rdata.*
-0+0004 <[^>]*> lw a0,0\(at\)
-0+0008 <[^>]*> lw a1,4\(at\)
-0+000c <[^>]*> lwc1 \$f[45],-16368\(gp\)
-[ ]*c: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.*
-0+0010 <[^>]*> lwc1 \$f[45],-16364\(gp\)
-[ ]*10: [A-Z0-9_]*LITERAL[A-Z0-9_]* .lit8.*
-0+0014 <[^>]*> lui a0,0x3f8f
-0+0018 <[^>]*> ori a0,a0,0xcd36
-0+001c <[^>]*> lui at,0x3f8f
-0+0020 <[^>]*> ori at,at,0xcd36
-0+0024 <[^>]*> mtc1 at,\$f4
- ...
diff --git a/gas/testsuite/gas/mips/lifloat.s b/gas/testsuite/gas/mips/lifloat.s
index 3977f0e..0760b86 100644
--- a/gas/testsuite/gas/mips/lifloat.s
+++ b/gas/testsuite/gas/mips/lifloat.s
@@ -18,7 +18,3 @@ foo:
nop
nop
.endif
- .ifdef EMPIC
- nop
- nop
- .endif
diff --git a/gas/testsuite/gas/mips/mips-abi32-pic.d b/gas/testsuite/gas/mips/mips-abi32-pic.d
index e1ed677..fd18bf8 100644
--- a/gas/testsuite/gas/mips/mips-abi32-pic.d
+++ b/gas/testsuite/gas/mips/mips-abi32-pic.d
@@ -15,103 +15,85 @@ Disassembly of section .text:
14: 3c041234 lui a0,0x1234
18: 34845678 ori a0,a0,0x5678
1c: 8f840000 lw a0,0\(gp\)
- 20: 00000000 nop
- 24: 24840000 addiu a0,a0,0
- 28: 8f840000 lw a0,0\(gp\)
- 2c: 00000000 nop
- 30: 24840000 addiu a0,a0,0
- 34: 8f840000 lw a0,0\(gp\)
+ 20: 24840000 addiu a0,a0,0
+ 24: 8f840000 lw a0,0\(gp\)
+ 28: 24840000 addiu a0,a0,0
+ 2c: 8f840000 lw a0,0\(gp\)
+ 30: 2484015c addiu a0,a0,348
+ 34: 10000049 b 15c <[^>]*>
38: 00000000 nop
- 3c: 248401a4 addiu a0,a0,420
- 40: 10000058 b 1a4 <[^>]*>
- 44: 00000000 nop
- 48: 8f990000 lw t9,0\(gp\)
- 4c: 00000000 nop
- 50: 273901a4 addiu t9,t9,420
- 54: 0320f809 jalr t9
- 58: 00000000 nop
- 5c: 8fbc0008 lw gp,8\(sp\)
- 60: 8f840000 lw a0,0\(gp\)
- 64: 00000000 nop
- 68: 24840000 addiu a0,a0,0
- 6c: 8c840000 lw a0,0\(a0\)
- 70: 8f840000 lw a0,0\(gp\)
- 74: 00000000 nop
- 78: 24840000 addiu a0,a0,0
- 7c: 8c840000 lw a0,0\(a0\)
- 80: 8f840000 lw a0,0\(gp\)
- 84: 00000000 nop
- 88: 248401a4 addiu a0,a0,420
- 8c: 8c840000 lw a0,0\(a0\)
- 90: 8f810000 lw at,0\(gp\)
- 94: 00000000 nop
- 98: 8c240000 lw a0,0\(at\)
- 9c: 8c250004 lw a1,4\(at\)
- a0: 8f810000 lw at,0\(gp\)
- a4: 00000000 nop
- a8: 8c240000 lw a0,0\(at\)
- ac: 8c250004 lw a1,4\(at\)
+ 3c: 8f990000 lw t9,0\(gp\)
+ 40: 2739015c addiu t9,t9,348
+ 44: 0320f809 jalr t9
+ 48: 00000000 nop
+ 4c: 8fbc0008 lw gp,8\(sp\)
+ 50: 8f840000 lw a0,0\(gp\)
+ 54: 24840000 addiu a0,a0,0
+ 58: 8c840000 lw a0,0\(a0\)
+ 5c: 8f840000 lw a0,0\(gp\)
+ 60: 24840000 addiu a0,a0,0
+ 64: 8c840000 lw a0,0\(a0\)
+ 68: 8f840000 lw a0,0\(gp\)
+ 6c: 2484015c addiu a0,a0,348
+ 70: 8c840000 lw a0,0\(a0\)
+ 74: 8f810000 lw at,0\(gp\)
+ 78: 8c240000 lw a0,0\(at\)
+ 7c: 8c250004 lw a1,4\(at\)
+ 80: 8f810000 lw at,0\(gp\)
+ 84: 8c240000 lw a0,0\(at\)
+ 88: 8c250004 lw a1,4\(at\)
+ 8c: 8f810000 lw at,0\(gp\)
+ 90: 8c24015c lw a0,348\(at\)
+ 94: 8c250160 lw a1,352\(at\)
+ 98: 8f810000 lw at,0\(gp\)
+ 9c: 24210000 addiu at,at,0
+ a0: ac240000 sw a0,0\(at\)
+ a4: 8f810000 lw at,0\(gp\)
+ a8: 24210000 addiu at,at,0
+ ac: ac240000 sw a0,0\(at\)
b0: 8f810000 lw at,0\(gp\)
- b4: 00000000 nop
- b8: 8c2401a4 lw a0,420\(at\)
- bc: 8c2501a8 lw a1,424\(at\)
- c0: 8f810000 lw at,0\(gp\)
- c4: 00000000 nop
- c8: 24210000 addiu at,at,0
- cc: ac240000 sw a0,0\(at\)
- d0: 8f810000 lw at,0\(gp\)
- d4: 00000000 nop
- d8: 24210000 addiu at,at,0
- dc: ac240000 sw a0,0\(at\)
+ b4: ac240000 sw a0,0\(at\)
+ b8: ac250004 sw a1,4\(at\)
+ bc: 8f810000 lw at,0\(gp\)
+ c0: ac240000 sw a0,0\(at\)
+ c4: ac250004 sw a1,4\(at\)
+ c8: 8f810000 lw at,0\(gp\)
+ cc: 24210000 addiu at,at,0
+ d0: 80240000 lb a0,0\(at\)
+ d4: 90210001 lbu at,1\(at\)
+ d8: 00042200 sll a0,a0,0x8
+ dc: 00812025 or a0,a0,at
e0: 8f810000 lw at,0\(gp\)
- e4: 00000000 nop
- e8: ac240000 sw a0,0\(at\)
- ec: ac250004 sw a1,4\(at\)
- f0: 8f810000 lw at,0\(gp\)
- f4: 00000000 nop
- f8: ac240000 sw a0,0\(at\)
- fc: ac250004 sw a1,4\(at\)
+ e4: 24210000 addiu at,at,0
+ e8: a0240001 sb a0,1\(at\)
+ ec: 00042202 srl a0,a0,0x8
+ f0: a0240000 sb a0,0\(at\)
+ f4: 90210001 lbu at,1\(at\)
+ f8: 00042200 sll a0,a0,0x8
+ fc: 00812025 or a0,a0,at
100: 8f810000 lw at,0\(gp\)
- 104: 00000000 nop
- 108: 24210000 addiu at,at,0
- 10c: 80240000 lb a0,0\(at\)
- 110: 90210001 lbu at,1\(at\)
- 114: 00042200 sll a0,a0,0x8
- 118: 00812025 or a0,a0,at
- 11c: 8f810000 lw at,0\(gp\)
- 120: 00000000 nop
- 124: 24210000 addiu at,at,0
- 128: a0240001 sb a0,1\(at\)
- 12c: 00042202 srl a0,a0,0x8
- 130: a0240000 sb a0,0\(at\)
- 134: 90210001 lbu at,1\(at\)
- 138: 00042200 sll a0,a0,0x8
- 13c: 00812025 or a0,a0,at
+ 104: 24210000 addiu at,at,0
+ 108: 88240000 lwl a0,0\(at\)
+ 10c: 98240003 lwr a0,3\(at\)
+ 110: 8f810000 lw at,0\(gp\)
+ 114: 24210000 addiu at,at,0
+ 118: a8240000 swl a0,0\(at\)
+ 11c: b8240003 swr a0,3\(at\)
+ 120: 3c043ff0 lui a0,0x3ff0
+ 124: 00002821 move a1,zero
+ 128: 8f810000 lw at,0\(gp\)
+ 12c: 8c240000 lw a0,0\(at\)
+ 130: 8c250004 lw a1,4\(at\)
+ 134: 3c013ff0 lui at,0x3ff0
+ 138: 44810800 mtc1 at,\$f1
+ 13c: 44800000 mtc1 zero,\$f0
140: 8f810000 lw at,0\(gp\)
- 144: 00000000 nop
- 148: 24210000 addiu at,at,0
- 14c: 88240000 lwl a0,0\(at\)
- 150: 98240003 lwr a0,3\(at\)
- 154: 8f810000 lw at,0\(gp\)
- 158: 00000000 nop
- 15c: 24210000 addiu at,at,0
- 160: a8240000 swl a0,0\(at\)
- 164: b8240003 swr a0,3\(at\)
- 168: 3c043ff0 lui a0,0x3ff0
- 16c: 00002821 move a1,zero
- 170: 8f810000 lw at,0\(gp\)
- 174: 8c240000 lw a0,0\(at\)
- 178: 8c250004 lw a1,4\(at\)
- 17c: 3c013ff0 lui at,0x3ff0
- 180: 44810800 mtc1 at,\$f1
- 184: 44800000 mtc1 zero,\$f0
- 188: 8f810000 lw at,0\(gp\)
- 18c: d4200008 ldc1 \$f0,8\(at\)
- 190: 24a40064 addiu a0,a1,100
- 194: 2c840001 sltiu a0,a0,1
- 198: 24a40064 addiu a0,a1,100
- 19c: 0004202b sltu a0,zero,a0
- 1a0: 00a02021 move a0,a1
+ 144: d4200008 ldc1 \$f0,8\(at\)
+ 148: 24a40064 addiu a0,a1,100
+ 14c: 2c840001 sltiu a0,a0,1
+ 150: 24a40064 addiu a0,a1,100
+ 154: 0004202b sltu a0,zero,a0
+ 158: 00a02021 move a0,a1
-0+01a4 <[^>]*>:
+0+015c <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-abi32-pic2.d b/gas/testsuite/gas/mips/mips-abi32-pic2.d
index 1f3811e..412416e 100644
--- a/gas/testsuite/gas/mips/mips-abi32-pic2.d
+++ b/gas/testsuite/gas/mips/mips-abi32-pic2.d
@@ -13,62 +13,59 @@ Disassembly of section \.text:
0+00c <[^>]*> afbc0008 sw gp,8\(sp\)
0+010 <[^>]*> 8f990000 lw t9,0\(gp\)
10: R_MIPS_GOT16 \.text
-0+014 <[^>]*> 00000000 nop
-0+018 <[^>]*> 273900d8 addiu t9,t9,216
- 18: R_MIPS_LO16 \.text
-0+01c <[^>]*> 0320f809 jalr t9
-0+020 <[^>]*> 00000000 nop
-0+024 <[^>]*> 8fbc0008 lw gp,8\(sp\)
-0+028 <[^>]*> 00000000 nop
-0+02c <[^>]*> 0320f809 jalr t9
-0+030 <[^>]*> 00000000 nop
-0+034 <[^>]*> 8fbc0008 lw gp,8\(sp\)
-0+038 <[^>]*> 3c1c0000 lui gp,0x0
- 38: R_MIPS_HI16 _gp_disp
-0+03c <[^>]*> 279c0000 addiu gp,gp,0
- 3c: R_MIPS_LO16 _gp_disp
-0+040 <[^>]*> 0399e021 addu gp,gp,t9
-0+044 <[^>]*> 3c010001 lui at,0x1
-0+048 <[^>]*> 003d0821 addu at,at,sp
-0+04c <[^>]*> ac3c8000 sw gp,-32768\(at\)
-0+050 <[^>]*> 8f990000 lw t9,0\(gp\)
- 50: R_MIPS_GOT16 \.text
-0+054 <[^>]*> 00000000 nop
-0+058 <[^>]*> 273900d8 addiu t9,t9,216
- 58: R_MIPS_LO16 \.text
-0+05c <[^>]*> 0320f809 jalr t9
-0+060 <[^>]*> 00000000 nop
-0+064 <[^>]*> 3c010001 lui at,0x1
-0+068 <[^>]*> 003d0821 addu at,at,sp
-0+06c <[^>]*> 8c3c8000 lw gp,-32768\(at\)
+0+014 <[^>]*> 273900cc addiu t9,t9,204
+ 14: R_MIPS_LO16 \.text
+0+018 <[^>]*> 0320f809 jalr t9
+0+01c <[^>]*> 00000000 nop
+0+020 <[^>]*> 8fbc0008 lw gp,8\(sp\)
+0+024 <[^>]*> 00000000 nop
+0+028 <[^>]*> 0320f809 jalr t9
+0+02c <[^>]*> 00000000 nop
+0+030 <[^>]*> 8fbc0008 lw gp,8\(sp\)
+0+034 <[^>]*> 3c1c0000 lui gp,0x0
+ 34: R_MIPS_HI16 _gp_disp
+0+038 <[^>]*> 279c0000 addiu gp,gp,0
+ 38: R_MIPS_LO16 _gp_disp
+0+03c <[^>]*> 0399e021 addu gp,gp,t9
+0+040 <[^>]*> 3c010001 lui at,0x1
+0+044 <[^>]*> 003d0821 addu at,at,sp
+0+048 <[^>]*> ac3c8000 sw gp,-32768\(at\)
+0+04c <[^>]*> 8f990000 lw t9,0\(gp\)
+ 4c: R_MIPS_GOT16 \.text
+0+050 <[^>]*> 273900cc addiu t9,t9,204
+ 50: R_MIPS_LO16 \.text
+0+054 <[^>]*> 0320f809 jalr t9
+0+058 <[^>]*> 00000000 nop
+0+05c <[^>]*> 3c010001 lui at,0x1
+0+060 <[^>]*> 003d0821 addu at,at,sp
+0+064 <[^>]*> 8c3c8000 lw gp,-32768\(at\)
+0+068 <[^>]*> 00000000 nop
+0+06c <[^>]*> 0320f809 jalr t9
0+070 <[^>]*> 00000000 nop
-0+074 <[^>]*> 0320f809 jalr t9
-0+078 <[^>]*> 00000000 nop
-0+07c <[^>]*> 3c010001 lui at,0x1
-0+080 <[^>]*> 003d0821 addu at,at,sp
-0+084 <[^>]*> 8c3c8000 lw gp,-32768\(at\)
-0+088 <[^>]*> 3c1c0000 lui gp,0x0
- 88: R_MIPS_HI16 _gp_disp
-0+08c <[^>]*> 279c0000 addiu gp,gp,0
- 8c: R_MIPS_LO16 _gp_disp
-0+090 <[^>]*> 0399e021 addu gp,gp,t9
-0+094 <[^>]*> 3c010001 lui at,0x1
-0+098 <[^>]*> 003d0821 addu at,at,sp
-0+09c <[^>]*> ac3c0000 sw gp,0\(at\)
-0+0a0 <[^>]*> 8f990000 lw t9,0\(gp\)
- a0: R_MIPS_GOT16 \.text
+0+074 <[^>]*> 3c010001 lui at,0x1
+0+078 <[^>]*> 003d0821 addu at,at,sp
+0+07c <[^>]*> 8c3c8000 lw gp,-32768\(at\)
+0+080 <[^>]*> 3c1c0000 lui gp,0x0
+ 80: R_MIPS_HI16 _gp_disp
+0+084 <[^>]*> 279c0000 addiu gp,gp,0
+ 84: R_MIPS_LO16 _gp_disp
+0+088 <[^>]*> 0399e021 addu gp,gp,t9
+0+08c <[^>]*> 3c010001 lui at,0x1
+0+090 <[^>]*> 003d0821 addu at,at,sp
+0+094 <[^>]*> ac3c0000 sw gp,0\(at\)
+0+098 <[^>]*> 8f990000 lw t9,0\(gp\)
+ 98: R_MIPS_GOT16 \.text
+0+09c <[^>]*> 273900cc addiu t9,t9,204
+ 9c: R_MIPS_LO16 \.text
+0+0a0 <[^>]*> 0320f809 jalr t9
0+0a4 <[^>]*> 00000000 nop
-0+0a8 <[^>]*> 273900d8 addiu t9,t9,216
- a8: R_MIPS_LO16 \.text
-0+0ac <[^>]*> 0320f809 jalr t9
-0+0b0 <[^>]*> 00000000 nop
-0+0b4 <[^>]*> 3c010001 lui at,0x1
-0+0b8 <[^>]*> 003d0821 addu at,at,sp
-0+0bc <[^>]*> 8c3c0000 lw gp,0\(at\)
-0+0c0 <[^>]*> 00000000 nop
-0+0c4 <[^>]*> 0320f809 jalr t9
-0+0c8 <[^>]*> 00000000 nop
-0+0cc <[^>]*> 3c010001 lui at,0x1
-0+0d0 <[^>]*> 003d0821 addu at,at,sp
-0+0d4 <[^>]*> 8c3c0000 lw gp,0\(at\)
+0+0a8 <[^>]*> 3c010001 lui at,0x1
+0+0ac <[^>]*> 003d0821 addu at,at,sp
+0+0b0 <[^>]*> 8c3c0000 lw gp,0\(at\)
+0+0b4 <[^>]*> 00000000 nop
+0+0b8 <[^>]*> 0320f809 jalr t9
+0+0bc <[^>]*> 00000000 nop
+0+0c0 <[^>]*> 3c010001 lui at,0x1
+0+0c4 <[^>]*> 003d0821 addu at,at,sp
+0+0c8 <[^>]*> 8c3c0000 lw gp,0\(at\)
\.\.\.
diff --git a/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d b/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d
index 0530246..3fb84e9 100644
--- a/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d
@@ -15,103 +15,85 @@ Disassembly of section .text:
14: 3c041234 lui a0,0x1234
18: 34845678 ori a0,a0,0x5678
1c: 8f840000 lw a0,0\(gp\)
- 20: 00000000 nop
- 24: 24840000 addiu a0,a0,0
- 28: 8f840000 lw a0,0\(gp\)
- 2c: 00000000 nop
- 30: 24840000 addiu a0,a0,0
- 34: 8f840000 lw a0,0\(gp\)
+ 20: 24840000 addiu a0,a0,0
+ 24: 8f840000 lw a0,0\(gp\)
+ 28: 24840000 addiu a0,a0,0
+ 2c: 8f840000 lw a0,0\(gp\)
+ 30: 2484015c addiu a0,a0,348
+ 34: 10000049 b 15c <[^>]*>
38: 00000000 nop
- 3c: 248401a4 addiu a0,a0,420
- 40: 10000058 b 1a4 <[^>]*>
- 44: 00000000 nop
- 48: 8f990000 lw t9,0\(gp\)
- 4c: 00000000 nop
- 50: 273901a4 addiu t9,t9,420
- 54: 0320f809 jalr t9
- 58: 00000000 nop
- 5c: 8fbc0008 lw gp,8\(sp\)
- 60: 8f840000 lw a0,0\(gp\)
- 64: 00000000 nop
- 68: 24840000 addiu a0,a0,0
- 6c: 8c840000 lw a0,0\(a0\)
- 70: 8f840000 lw a0,0\(gp\)
- 74: 00000000 nop
- 78: 24840000 addiu a0,a0,0
- 7c: 8c840000 lw a0,0\(a0\)
- 80: 8f840000 lw a0,0\(gp\)
- 84: 00000000 nop
- 88: 248401a4 addiu a0,a0,420
- 8c: 8c840000 lw a0,0\(a0\)
- 90: 8f810000 lw at,0\(gp\)
- 94: 00000000 nop
- 98: 8c240000 lw a0,0\(at\)
- 9c: 8c250004 lw a1,4\(at\)
- a0: 8f810000 lw at,0\(gp\)
- a4: 00000000 nop
- a8: 8c240000 lw a0,0\(at\)
- ac: 8c250004 lw a1,4\(at\)
+ 3c: 8f990000 lw t9,0\(gp\)
+ 40: 2739015c addiu t9,t9,348
+ 44: 0320f809 jalr t9
+ 48: 00000000 nop
+ 4c: 8fbc0008 lw gp,8\(sp\)
+ 50: 8f840000 lw a0,0\(gp\)
+ 54: 24840000 addiu a0,a0,0
+ 58: 8c840000 lw a0,0\(a0\)
+ 5c: 8f840000 lw a0,0\(gp\)
+ 60: 24840000 addiu a0,a0,0
+ 64: 8c840000 lw a0,0\(a0\)
+ 68: 8f840000 lw a0,0\(gp\)
+ 6c: 2484015c addiu a0,a0,348
+ 70: 8c840000 lw a0,0\(a0\)
+ 74: 8f810000 lw at,0\(gp\)
+ 78: 8c240000 lw a0,0\(at\)
+ 7c: 8c250004 lw a1,4\(at\)
+ 80: 8f810000 lw at,0\(gp\)
+ 84: 8c240000 lw a0,0\(at\)
+ 88: 8c250004 lw a1,4\(at\)
+ 8c: 8f810000 lw at,0\(gp\)
+ 90: 8c24015c lw a0,348\(at\)
+ 94: 8c250160 lw a1,352\(at\)
+ 98: 8f810000 lw at,0\(gp\)
+ 9c: 24210000 addiu at,at,0
+ a0: ac240000 sw a0,0\(at\)
+ a4: 8f810000 lw at,0\(gp\)
+ a8: 24210000 addiu at,at,0
+ ac: ac240000 sw a0,0\(at\)
b0: 8f810000 lw at,0\(gp\)
- b4: 00000000 nop
- b8: 8c2401a4 lw a0,420\(at\)
- bc: 8c2501a8 lw a1,424\(at\)
- c0: 8f810000 lw at,0\(gp\)
- c4: 00000000 nop
- c8: 24210000 addiu at,at,0
- cc: ac240000 sw a0,0\(at\)
- d0: 8f810000 lw at,0\(gp\)
- d4: 00000000 nop
- d8: 24210000 addiu at,at,0
- dc: ac240000 sw a0,0\(at\)
+ b4: ac240000 sw a0,0\(at\)
+ b8: ac250004 sw a1,4\(at\)
+ bc: 8f810000 lw at,0\(gp\)
+ c0: ac240000 sw a0,0\(at\)
+ c4: ac250004 sw a1,4\(at\)
+ c8: 8f810000 lw at,0\(gp\)
+ cc: 24210000 addiu at,at,0
+ d0: 80240000 lb a0,0\(at\)
+ d4: 90210001 lbu at,1\(at\)
+ d8: 00042200 sll a0,a0,0x8
+ dc: 00812025 or a0,a0,at
e0: 8f810000 lw at,0\(gp\)
- e4: 00000000 nop
- e8: ac240000 sw a0,0\(at\)
- ec: ac250004 sw a1,4\(at\)
- f0: 8f810000 lw at,0\(gp\)
- f4: 00000000 nop
- f8: ac240000 sw a0,0\(at\)
- fc: ac250004 sw a1,4\(at\)
+ e4: 24210000 addiu at,at,0
+ e8: a0240001 sb a0,1\(at\)
+ ec: 00042202 srl a0,a0,0x8
+ f0: a0240000 sb a0,0\(at\)
+ f4: 90210001 lbu at,1\(at\)
+ f8: 00042200 sll a0,a0,0x8
+ fc: 00812025 or a0,a0,at
100: 8f810000 lw at,0\(gp\)
- 104: 00000000 nop
- 108: 24210000 addiu at,at,0
- 10c: 80240000 lb a0,0\(at\)
- 110: 90210001 lbu at,1\(at\)
- 114: 00042200 sll a0,a0,0x8
- 118: 00812025 or a0,a0,at
- 11c: 8f810000 lw at,0\(gp\)
- 120: 00000000 nop
- 124: 24210000 addiu at,at,0
- 128: a0240001 sb a0,1\(at\)
- 12c: 00042202 srl a0,a0,0x8
- 130: a0240000 sb a0,0\(at\)
- 134: 90210001 lbu at,1\(at\)
- 138: 00042200 sll a0,a0,0x8
- 13c: 00812025 or a0,a0,at
+ 104: 24210000 addiu at,at,0
+ 108: 88240000 lwl a0,0\(at\)
+ 10c: 98240003 lwr a0,3\(at\)
+ 110: 8f810000 lw at,0\(gp\)
+ 114: 24210000 addiu at,at,0
+ 118: a8240000 swl a0,0\(at\)
+ 11c: b8240003 swr a0,3\(at\)
+ 120: 3c043ff0 lui a0,0x3ff0
+ 124: 00002821 move a1,zero
+ 128: 8f810000 lw at,0\(gp\)
+ 12c: 8c240000 lw a0,0\(at\)
+ 130: 8c250004 lw a1,4\(at\)
+ 134: 3c013ff0 lui at,0x3ff0
+ 138: 44810800 mtc1 at,\$f1
+ 13c: 44800000 mtc1 zero,\$f0
140: 8f810000 lw at,0\(gp\)
- 144: 00000000 nop
- 148: 24210000 addiu at,at,0
- 14c: 88240000 lwl a0,0\(at\)
- 150: 98240003 lwr a0,3\(at\)
- 154: 8f810000 lw at,0\(gp\)
- 158: 00000000 nop
- 15c: 24210000 addiu at,at,0
- 160: a8240000 swl a0,0\(at\)
- 164: b8240003 swr a0,3\(at\)
- 168: 3c043ff0 lui a0,0x3ff0
- 16c: 00002821 move a1,zero
- 170: 8f810000 lw at,0\(gp\)
- 174: 8c240000 lw a0,0\(at\)
- 178: 8c250004 lw a1,4\(at\)
- 17c: 3c013ff0 lui at,0x3ff0
- 180: 44810800 mtc1 at,\$f1
- 184: 44800000 mtc1 zero,\$f0
- 188: 8f810000 lw at,0\(gp\)
- 18c: d4200008 ldc1 \$f0,8\(at\)
- 190: 24a40064 addiu a0,a1,100
- 194: 2c840001 sltiu a0,a0,1
- 198: 24a40064 addiu a0,a1,100
- 19c: 0004202b sltu a0,zero,a0
- 1a0: 00a02021 move a0,a1
+ 144: d4200008 ldc1 \$f0,8\(at\)
+ 148: 24a40064 addiu a0,a1,100
+ 14c: 2c840001 sltiu a0,a0,1
+ 150: 24a40064 addiu a0,a1,100
+ 154: 0004202b sltu a0,zero,a0
+ 158: 00a02021 move a0,a1
-0+01a4 <[^>]*>:
+0+015c <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d b/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d
index 5ed7df0..52c1701 100644
--- a/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d
@@ -15,103 +15,85 @@ Disassembly of section .text:
14: 3c041234 lui a0,0x1234
18: 34845678 ori a0,a0,0x5678
1c: 8f840000 lw a0,0\(gp\)
- 20: 00000000 nop
- 24: 24840000 addiu a0,a0,0
- 28: 8f840000 lw a0,0\(gp\)
- 2c: 00000000 nop
- 30: 24840000 addiu a0,a0,0
- 34: 8f840000 lw a0,0\(gp\)
+ 20: 24840000 addiu a0,a0,0
+ 24: 8f840000 lw a0,0\(gp\)
+ 28: 24840000 addiu a0,a0,0
+ 2c: 8f840000 lw a0,0\(gp\)
+ 30: 2484015c addiu a0,a0,348
+ 34: 10000049 b 15c <[^>]*>
38: 00000000 nop
- 3c: 248401a4 addiu a0,a0,420
- 40: 10000058 b 1a4 <[^>]*>
- 44: 00000000 nop
- 48: 8f990000 lw t9,0\(gp\)
- 4c: 00000000 nop
- 50: 273901a4 addiu t9,t9,420
- 54: 0320f809 jalr t9
- 58: 00000000 nop
- 5c: 8fbc0008 lw gp,8\(sp\)
- 60: 8f840000 lw a0,0\(gp\)
- 64: 00000000 nop
- 68: 24840000 addiu a0,a0,0
- 6c: 8c840000 lw a0,0\(a0\)
- 70: 8f840000 lw a0,0\(gp\)
- 74: 00000000 nop
- 78: 24840000 addiu a0,a0,0
- 7c: 8c840000 lw a0,0\(a0\)
- 80: 8f840000 lw a0,0\(gp\)
- 84: 00000000 nop
- 88: 248401a4 addiu a0,a0,420
- 8c: 8c840000 lw a0,0\(a0\)
- 90: 8f810000 lw at,0\(gp\)
- 94: 00000000 nop
- 98: 8c240000 lw a0,0\(at\)
- 9c: 8c250004 lw a1,4\(at\)
- a0: 8f810000 lw at,0\(gp\)
- a4: 00000000 nop
- a8: 8c240000 lw a0,0\(at\)
- ac: 8c250004 lw a1,4\(at\)
+ 3c: 8f990000 lw t9,0\(gp\)
+ 40: 2739015c addiu t9,t9,348
+ 44: 0320f809 jalr t9
+ 48: 00000000 nop
+ 4c: 8fbc0008 lw gp,8\(sp\)
+ 50: 8f840000 lw a0,0\(gp\)
+ 54: 24840000 addiu a0,a0,0
+ 58: 8c840000 lw a0,0\(a0\)
+ 5c: 8f840000 lw a0,0\(gp\)
+ 60: 24840000 addiu a0,a0,0
+ 64: 8c840000 lw a0,0\(a0\)
+ 68: 8f840000 lw a0,0\(gp\)
+ 6c: 2484015c addiu a0,a0,348
+ 70: 8c840000 lw a0,0\(a0\)
+ 74: 8f810000 lw at,0\(gp\)
+ 78: 8c240000 lw a0,0\(at\)
+ 7c: 8c250004 lw a1,4\(at\)
+ 80: 8f810000 lw at,0\(gp\)
+ 84: 8c240000 lw a0,0\(at\)
+ 88: 8c250004 lw a1,4\(at\)
+ 8c: 8f810000 lw at,0\(gp\)
+ 90: 8c24015c lw a0,348\(at\)
+ 94: 8c250160 lw a1,352\(at\)
+ 98: 8f810000 lw at,0\(gp\)
+ 9c: 24210000 addiu at,at,0
+ a0: ac240000 sw a0,0\(at\)
+ a4: 8f810000 lw at,0\(gp\)
+ a8: 24210000 addiu at,at,0
+ ac: ac240000 sw a0,0\(at\)
b0: 8f810000 lw at,0\(gp\)
- b4: 00000000 nop
- b8: 8c2401a4 lw a0,420\(at\)
- bc: 8c2501a8 lw a1,424\(at\)
- c0: 8f810000 lw at,0\(gp\)
- c4: 00000000 nop
- c8: 24210000 addiu at,at,0
- cc: ac240000 sw a0,0\(at\)
- d0: 8f810000 lw at,0\(gp\)
- d4: 00000000 nop
- d8: 24210000 addiu at,at,0
- dc: ac240000 sw a0,0\(at\)
+ b4: ac240000 sw a0,0\(at\)
+ b8: ac250004 sw a1,4\(at\)
+ bc: 8f810000 lw at,0\(gp\)
+ c0: ac240000 sw a0,0\(at\)
+ c4: ac250004 sw a1,4\(at\)
+ c8: 8f810000 lw at,0\(gp\)
+ cc: 24210000 addiu at,at,0
+ d0: 80240000 lb a0,0\(at\)
+ d4: 90210001 lbu at,1\(at\)
+ d8: 00042200 sll a0,a0,0x8
+ dc: 00812025 or a0,a0,at
e0: 8f810000 lw at,0\(gp\)
- e4: 00000000 nop
- e8: ac240000 sw a0,0\(at\)
- ec: ac250004 sw a1,4\(at\)
- f0: 8f810000 lw at,0\(gp\)
- f4: 00000000 nop
- f8: ac240000 sw a0,0\(at\)
- fc: ac250004 sw a1,4\(at\)
+ e4: 24210000 addiu at,at,0
+ e8: a0240001 sb a0,1\(at\)
+ ec: 00042202 srl a0,a0,0x8
+ f0: a0240000 sb a0,0\(at\)
+ f4: 90210001 lbu at,1\(at\)
+ f8: 00042200 sll a0,a0,0x8
+ fc: 00812025 or a0,a0,at
100: 8f810000 lw at,0\(gp\)
- 104: 00000000 nop
- 108: 24210000 addiu at,at,0
- 10c: 80240000 lb a0,0\(at\)
- 110: 90210001 lbu at,1\(at\)
- 114: 00042200 sll a0,a0,0x8
- 118: 00812025 or a0,a0,at
- 11c: 8f810000 lw at,0\(gp\)
- 120: 00000000 nop
- 124: 24210000 addiu at,at,0
- 128: a0240001 sb a0,1\(at\)
- 12c: 00042202 srl a0,a0,0x8
- 130: a0240000 sb a0,0\(at\)
- 134: 90210001 lbu at,1\(at\)
- 138: 00042200 sll a0,a0,0x8
- 13c: 00812025 or a0,a0,at
- 140: 8f810000 lw at,0\(gp\)
- 144: 00000000 nop
- 148: 24210000 addiu at,at,0
- 14c: 88240000 lwl a0,0\(at\)
- 150: 98240003 lwr a0,3\(at\)
- 154: 8f810000 lw at,0\(gp\)
- 158: 00000000 nop
- 15c: 24210000 addiu at,at,0
- 160: a8240000 swl a0,0\(at\)
- 164: b8240003 swr a0,3\(at\)
- 168: 3c043ff0 lui a0,0x3ff0
- 16c: 00002821 move a1,zero
- 170: 8f810000 lw at,0\(gp\)
- 174: 8c240000 lw a0,0\(at\)
- 178: 8c250004 lw a1,4\(at\)
- 17c: 8f810000 lw at,0\(gp\)
- 180: d4200008 ldc1 \$f0,8\(at\)
- 184: 8f810000 lw at,0\(gp\)
- 188: d4200010 ldc1 \$f0,16\(at\)
- 18c: 24a40064 addiu a0,a1,100
- 190: 2c840001 sltiu a0,a0,1
- 194: 24a40064 addiu a0,a1,100
- 198: 0004202b sltu a0,zero,a0
- 19c: 00a02021 move a0,a1
- 1a0: 46231040 add.d \$f1,\$f2,\$f3
+ 104: 24210000 addiu at,at,0
+ 108: 88240000 lwl a0,0\(at\)
+ 10c: 98240003 lwr a0,3\(at\)
+ 110: 8f810000 lw at,0\(gp\)
+ 114: 24210000 addiu at,at,0
+ 118: a8240000 swl a0,0\(at\)
+ 11c: b8240003 swr a0,3\(at\)
+ 120: 3c043ff0 lui a0,0x3ff0
+ 124: 00002821 move a1,zero
+ 128: 8f810000 lw at,0\(gp\)
+ 12c: 8c240000 lw a0,0\(at\)
+ 130: 8c250004 lw a1,4\(at\)
+ 134: 8f810000 lw at,0\(gp\)
+ 138: d4200008 ldc1 \$f0,8\(at\)
+ 13c: 8f810000 lw at,0\(gp\)
+ 140: d4200010 ldc1 \$f0,16\(at\)
+ 144: 24a40064 addiu a0,a1,100
+ 148: 2c840001 sltiu a0,a0,1
+ 14c: 24a40064 addiu a0,a1,100
+ 150: 0004202b sltu a0,zero,a0
+ 154: 00a02021 move a0,a1
+ 158: 46231040 add.d \$f1,\$f2,\$f3
-0+01a4 <[^>]*>:
+0+015c <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
index db6c76b..f5a8e89 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
@@ -15,138 +15,116 @@ Disassembly of section .text:
14: 3c041234 lui a0,0x1234
18: 34845678 ori a0,a0,0x5678
1c: 8f840000 lw a0,0\(gp\)
- 20: 00000000 nop
- 24: 24840000 addiu a0,a0,0
- 28: 8f840000 lw a0,0\(gp\)
- 2c: 00000000 nop
- 30: 24840000 addiu a0,a0,0
- 34: 8f840000 lw a0,0\(gp\)
+ 20: 24840000 addiu a0,a0,0
+ 24: 8f840000 lw a0,0\(gp\)
+ 28: 24840000 addiu a0,a0,0
+ 2c: 8f840000 lw a0,0\(gp\)
+ 30: 248401d8 addiu a0,a0,472
+ 34: 10000068 b 1d8 <[^>]*>
38: 00000000 nop
- 3c: 24840230 addiu a0,a0,560
- 40: 1000007b b 230 <[^>]*>
- 44: 00000000 nop
- 48: 8f990000 lw t9,0\(gp\)
- 4c: 00000000 nop
- 50: 27390230 addiu t9,t9,560
- 54: 0320f809 jalr t9
- 58: 00000000 nop
- 5c: 8fbc0008 lw gp,8\(sp\)
- 60: 8f840000 lw a0,0\(gp\)
- 64: 00000000 nop
- 68: 24840000 addiu a0,a0,0
- 6c: 8c840000 lw a0,0\(a0\)
- 70: 8f840000 lw a0,0\(gp\)
- 74: 00000000 nop
+ 3c: 8f990000 lw t9,0\(gp\)
+ 40: 273901d8 addiu t9,t9,472
+ 44: 0320f809 jalr t9
+ 48: 00000000 nop
+ 4c: 8fbc0008 lw gp,8\(sp\)
+ 50: 8f840000 lw a0,0\(gp\)
+ 54: 24840000 addiu a0,a0,0
+ 58: 8c840000 lw a0,0\(a0\)
+ 5c: 8f840000 lw a0,0\(gp\)
+ 60: 24840000 addiu a0,a0,0
+ 64: 8c840000 lw a0,0\(a0\)
+ 68: 8f840000 lw a0,0\(gp\)
+ 6c: 248401d8 addiu a0,a0,472
+ 70: 8c840000 lw a0,0\(a0\)
+ 74: 8f840000 lw a0,0\(gp\)
78: 24840000 addiu a0,a0,0
- 7c: 8c840000 lw a0,0\(a0\)
+ 7c: dc840000 ld a0,0\(a0\)
80: 8f840000 lw a0,0\(gp\)
- 84: 00000000 nop
- 88: 24840230 addiu a0,a0,560
- 8c: 8c840000 lw a0,0\(a0\)
- 90: 8f840000 lw a0,0\(gp\)
- 94: 00000000 nop
- 98: 24840000 addiu a0,a0,0
- 9c: dc840000 ld a0,0\(a0\)
- a0: 8f840000 lw a0,0\(gp\)
- a4: 00000000 nop
- a8: 24840000 addiu a0,a0,0
- ac: dc840000 ld a0,0\(a0\)
- b0: 8f840000 lw a0,0\(gp\)
- b4: 00000000 nop
- b8: 24840230 addiu a0,a0,560
- bc: dc840000 ld a0,0\(a0\)
- c0: 8f810000 lw at,0\(gp\)
- c4: 00000000 nop
- c8: 24210000 addiu at,at,0
- cc: ac240000 sw a0,0\(at\)
- d0: 8f810000 lw at,0\(gp\)
- d4: 00000000 nop
- d8: 24210000 addiu at,at,0
- dc: ac240000 sw a0,0\(at\)
+ 84: 24840000 addiu a0,a0,0
+ 88: dc840000 ld a0,0\(a0\)
+ 8c: 8f840000 lw a0,0\(gp\)
+ 90: 248401d8 addiu a0,a0,472
+ 94: dc840000 ld a0,0\(a0\)
+ 98: 8f810000 lw at,0\(gp\)
+ 9c: 24210000 addiu at,at,0
+ a0: ac240000 sw a0,0\(at\)
+ a4: 8f810000 lw at,0\(gp\)
+ a8: 24210000 addiu at,at,0
+ ac: ac240000 sw a0,0\(at\)
+ b0: 8f810000 lw at,0\(gp\)
+ b4: 24210000 addiu at,at,0
+ b8: fc240000 sd a0,0\(at\)
+ bc: 8f810000 lw at,0\(gp\)
+ c0: 24210000 addiu at,at,0
+ c4: fc240000 sd a0,0\(at\)
+ c8: 8f810000 lw at,0\(gp\)
+ cc: 24210000 addiu at,at,0
+ d0: 80240000 lb a0,0\(at\)
+ d4: 90210001 lbu at,1\(at\)
+ d8: 00042200 sll a0,a0,0x8
+ dc: 00812025 or a0,a0,at
e0: 8f810000 lw at,0\(gp\)
- e4: 00000000 nop
- e8: 24210000 addiu at,at,0
- ec: fc240000 sd a0,0\(at\)
- f0: 8f810000 lw at,0\(gp\)
- f4: 00000000 nop
- f8: 24210000 addiu at,at,0
- fc: fc240000 sd a0,0\(at\)
+ e4: 24210000 addiu at,at,0
+ e8: a0240001 sb a0,1\(at\)
+ ec: 00042202 srl a0,a0,0x8
+ f0: a0240000 sb a0,0\(at\)
+ f4: 90210001 lbu at,1\(at\)
+ f8: 00042200 sll a0,a0,0x8
+ fc: 00812025 or a0,a0,at
100: 8f810000 lw at,0\(gp\)
- 104: 00000000 nop
- 108: 24210000 addiu at,at,0
- 10c: 80240000 lb a0,0\(at\)
- 110: 90210001 lbu at,1\(at\)
- 114: 00042200 sll a0,a0,0x8
- 118: 00812025 or a0,a0,at
- 11c: 8f810000 lw at,0\(gp\)
- 120: 00000000 nop
- 124: 24210000 addiu at,at,0
- 128: a0240001 sb a0,1\(at\)
- 12c: 00042202 srl a0,a0,0x8
- 130: a0240000 sb a0,0\(at\)
- 134: 90210001 lbu at,1\(at\)
- 138: 00042200 sll a0,a0,0x8
- 13c: 00812025 or a0,a0,at
- 140: 8f810000 lw at,0\(gp\)
- 144: 00000000 nop
- 148: 24210000 addiu at,at,0
- 14c: 88240000 lwl a0,0\(at\)
- 150: 98240003 lwr a0,3\(at\)
- 154: 8f810000 lw at,0\(gp\)
- 158: 00000000 nop
- 15c: 24210000 addiu at,at,0
- 160: a8240000 swl a0,0\(at\)
- 164: b8240003 swr a0,3\(at\)
- 168: 3404ffc0 li a0,0xffc0
- 16c: 000423bc dsll32 a0,a0,0xe
- 170: 8f810000 lw at,0\(gp\)
- 174: dc240000 ld a0,0\(at\)
- 178: 3c013ff0 lui at,0x3ff0
- 17c: 44810800 mtc1 at,\$f1
- 180: 44800000 mtc1 zero,\$f0
- 184: 8f810000 lw at,0\(gp\)
- 188: d4200008 ldc1 \$f0,8\(at\)
- 18c: 64a40064 daddiu a0,a1,100
- 190: 2c840001 sltiu a0,a0,1
- 194: 64a40064 daddiu a0,a1,100
- 198: 0004202b sltu a0,zero,a0
- 19c: 00a0202d move a0,a1
- 1a0: 8f840000 lw a0,0\(gp\)
- 1a4: 00000000 nop
- 1a8: 24840000 addiu a0,a0,0
- 1ac: 8f840000 lw a0,0\(gp\)
- 1b0: 00000000 nop
- 1b4: 24840000 addiu a0,a0,0
- 1b8: 8f810000 lw at,0\(gp\)
- 1bc: 00000000 nop
- 1c0: 24210000 addiu at,at,0
- 1c4: 68240000 ldl a0,0\(at\)
- 1c8: 6c240007 ldr a0,7\(at\)
- 1cc: 8f810000 lw at,0\(gp\)
- 1d0: 00000000 nop
- 1d4: 24210000 addiu at,at,0
- 1d8: b0240000 sdl a0,0\(at\)
- 1dc: b4240007 sdr a0,7\(at\)
- 1e0: 34018000 li at,0x8000
- 1e4: 00010c38 dsll at,at,0x10
- 1e8: 0081082a slt at,a0,at
- 1ec: 10200010 beqz at,230 <[^>]*>
- 1f0: 00000000 nop
- 1f4: 34018000 li at,0x8000
- 1f8: 00010c78 dsll at,at,0x11
- 1fc: 0081082b sltu at,a0,at
- 200: 1020000b beqz at,230 <[^>]*>
- 204: 00000000 nop
- 208: 34018000 li at,0x8000
- 20c: 00010c38 dsll at,at,0x10
- 210: 0081082a slt at,a0,at
- 214: 14200006 bnez at,230 <[^>]*>
- 218: 00000000 nop
- 21c: 34018000 li at,0x8000
- 220: 00010c78 dsll at,at,0x11
- 224: 0081082b sltu at,a0,at
- 228: 14200001 bnez at,230 <[^>]*>
- 22c: 00000000 nop
+ 104: 24210000 addiu at,at,0
+ 108: 88240000 lwl a0,0\(at\)
+ 10c: 98240003 lwr a0,3\(at\)
+ 110: 8f810000 lw at,0\(gp\)
+ 114: 24210000 addiu at,at,0
+ 118: a8240000 swl a0,0\(at\)
+ 11c: b8240003 swr a0,3\(at\)
+ 120: 3404ffc0 li a0,0xffc0
+ 124: 000423bc dsll32 a0,a0,0xe
+ 128: 8f810000 lw at,0\(gp\)
+ 12c: dc240000 ld a0,0\(at\)
+ 130: 3c013ff0 lui at,0x3ff0
+ 134: 44810800 mtc1 at,\$f1
+ 138: 44800000 mtc1 zero,\$f0
+ 13c: 8f810000 lw at,0\(gp\)
+ 140: d4200008 ldc1 \$f0,8\(at\)
+ 144: 64a40064 daddiu a0,a1,100
+ 148: 2c840001 sltiu a0,a0,1
+ 14c: 64a40064 daddiu a0,a1,100
+ 150: 0004202b sltu a0,zero,a0
+ 154: 00a0202d move a0,a1
+ 158: 8f840000 lw a0,0\(gp\)
+ 15c: 24840000 addiu a0,a0,0
+ 160: 8f840000 lw a0,0\(gp\)
+ 164: 24840000 addiu a0,a0,0
+ 168: 8f810000 lw at,0\(gp\)
+ 16c: 24210000 addiu at,at,0
+ 170: 68240000 ldl a0,0\(at\)
+ 174: 6c240007 ldr a0,7\(at\)
+ 178: 8f810000 lw at,0\(gp\)
+ 17c: 24210000 addiu at,at,0
+ 180: b0240000 sdl a0,0\(at\)
+ 184: b4240007 sdr a0,7\(at\)
+ 188: 34018000 li at,0x8000
+ 18c: 00010c38 dsll at,at,0x10
+ 190: 0081082a slt at,a0,at
+ 194: 10200010 beqz at,1d8 <[^>]*>
+ 198: 00000000 nop
+ 19c: 34018000 li at,0x8000
+ 1a0: 00010c78 dsll at,at,0x11
+ 1a4: 0081082b sltu at,a0,at
+ 1a8: 1020000b beqz at,1d8 <[^>]*>
+ 1ac: 00000000 nop
+ 1b0: 34018000 li at,0x8000
+ 1b4: 00010c38 dsll at,at,0x10
+ 1b8: 0081082a slt at,a0,at
+ 1bc: 14200006 bnez at,1d8 <[^>]*>
+ 1c0: 00000000 nop
+ 1c4: 34018000 li at,0x8000
+ 1c8: 00010c78 dsll at,at,0x11
+ 1cc: 0081082b sltu at,a0,at
+ 1d0: 14200001 bnez at,1d8 <[^>]*>
+ 1d4: 00000000 nop
-0+0230 <[^>]*>:
+0+01d8 <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
index f66ea4e..2e37f68 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
@@ -15,139 +15,117 @@ Disassembly of section .text:
14: 3c041234 lui a0,0x1234
18: 34845678 ori a0,a0,0x5678
1c: 8f840000 lw a0,0\(gp\)
- 20: 00000000 nop
- 24: 24840000 addiu a0,a0,0
- 28: 8f840000 lw a0,0\(gp\)
- 2c: 00000000 nop
- 30: 24840000 addiu a0,a0,0
- 34: 8f840000 lw a0,0\(gp\)
+ 20: 24840000 addiu a0,a0,0
+ 24: 8f840000 lw a0,0\(gp\)
+ 28: 24840000 addiu a0,a0,0
+ 2c: 8f840000 lw a0,0\(gp\)
+ 30: 248401dc addiu a0,a0,476
+ 34: 10000069 b 1dc <[^>]*>
38: 00000000 nop
- 3c: 24840234 addiu a0,a0,564
- 40: 1000007c b 234 <[^>]*>
- 44: 00000000 nop
- 48: 8f990000 lw t9,0\(gp\)
- 4c: 00000000 nop
- 50: 27390234 addiu t9,t9,564
- 54: 0320f809 jalr t9
- 58: 00000000 nop
- 5c: 8fbc0008 lw gp,8\(sp\)
- 60: 8f840000 lw a0,0\(gp\)
- 64: 00000000 nop
- 68: 24840000 addiu a0,a0,0
- 6c: 8c840000 lw a0,0\(a0\)
- 70: 8f840000 lw a0,0\(gp\)
- 74: 00000000 nop
+ 3c: 8f990000 lw t9,0\(gp\)
+ 40: 273901dc addiu t9,t9,476
+ 44: 0320f809 jalr t9
+ 48: 00000000 nop
+ 4c: 8fbc0008 lw gp,8\(sp\)
+ 50: 8f840000 lw a0,0\(gp\)
+ 54: 24840000 addiu a0,a0,0
+ 58: 8c840000 lw a0,0\(a0\)
+ 5c: 8f840000 lw a0,0\(gp\)
+ 60: 24840000 addiu a0,a0,0
+ 64: 8c840000 lw a0,0\(a0\)
+ 68: 8f840000 lw a0,0\(gp\)
+ 6c: 248401dc addiu a0,a0,476
+ 70: 8c840000 lw a0,0\(a0\)
+ 74: 8f840000 lw a0,0\(gp\)
78: 24840000 addiu a0,a0,0
- 7c: 8c840000 lw a0,0\(a0\)
+ 7c: dc840000 ld a0,0\(a0\)
80: 8f840000 lw a0,0\(gp\)
- 84: 00000000 nop
- 88: 24840234 addiu a0,a0,564
- 8c: 8c840000 lw a0,0\(a0\)
- 90: 8f840000 lw a0,0\(gp\)
- 94: 00000000 nop
- 98: 24840000 addiu a0,a0,0
- 9c: dc840000 ld a0,0\(a0\)
- a0: 8f840000 lw a0,0\(gp\)
- a4: 00000000 nop
- a8: 24840000 addiu a0,a0,0
- ac: dc840000 ld a0,0\(a0\)
- b0: 8f840000 lw a0,0\(gp\)
- b4: 00000000 nop
- b8: 24840234 addiu a0,a0,564
- bc: dc840000 ld a0,0\(a0\)
- c0: 8f810000 lw at,0\(gp\)
- c4: 00000000 nop
- c8: 24210000 addiu at,at,0
- cc: ac240000 sw a0,0\(at\)
- d0: 8f810000 lw at,0\(gp\)
- d4: 00000000 nop
- d8: 24210000 addiu at,at,0
- dc: ac240000 sw a0,0\(at\)
+ 84: 24840000 addiu a0,a0,0
+ 88: dc840000 ld a0,0\(a0\)
+ 8c: 8f840000 lw a0,0\(gp\)
+ 90: 248401dc addiu a0,a0,476
+ 94: dc840000 ld a0,0\(a0\)
+ 98: 8f810000 lw at,0\(gp\)
+ 9c: 24210000 addiu at,at,0
+ a0: ac240000 sw a0,0\(at\)
+ a4: 8f810000 lw at,0\(gp\)
+ a8: 24210000 addiu at,at,0
+ ac: ac240000 sw a0,0\(at\)
+ b0: 8f810000 lw at,0\(gp\)
+ b4: 24210000 addiu at,at,0
+ b8: fc240000 sd a0,0\(at\)
+ bc: 8f810000 lw at,0\(gp\)
+ c0: 24210000 addiu at,at,0
+ c4: fc240000 sd a0,0\(at\)
+ c8: 8f810000 lw at,0\(gp\)
+ cc: 24210000 addiu at,at,0
+ d0: 80240000 lb a0,0\(at\)
+ d4: 90210001 lbu at,1\(at\)
+ d8: 00042200 sll a0,a0,0x8
+ dc: 00812025 or a0,a0,at
e0: 8f810000 lw at,0\(gp\)
- e4: 00000000 nop
- e8: 24210000 addiu at,at,0
- ec: fc240000 sd a0,0\(at\)
- f0: 8f810000 lw at,0\(gp\)
- f4: 00000000 nop
- f8: 24210000 addiu at,at,0
- fc: fc240000 sd a0,0\(at\)
+ e4: 24210000 addiu at,at,0
+ e8: a0240001 sb a0,1\(at\)
+ ec: 00042202 srl a0,a0,0x8
+ f0: a0240000 sb a0,0\(at\)
+ f4: 90210001 lbu at,1\(at\)
+ f8: 00042200 sll a0,a0,0x8
+ fc: 00812025 or a0,a0,at
100: 8f810000 lw at,0\(gp\)
- 104: 00000000 nop
- 108: 24210000 addiu at,at,0
- 10c: 80240000 lb a0,0\(at\)
- 110: 90210001 lbu at,1\(at\)
- 114: 00042200 sll a0,a0,0x8
- 118: 00812025 or a0,a0,at
- 11c: 8f810000 lw at,0\(gp\)
- 120: 00000000 nop
- 124: 24210000 addiu at,at,0
- 128: a0240001 sb a0,1\(at\)
- 12c: 00042202 srl a0,a0,0x8
- 130: a0240000 sb a0,0\(at\)
- 134: 90210001 lbu at,1\(at\)
- 138: 00042200 sll a0,a0,0x8
- 13c: 00812025 or a0,a0,at
- 140: 8f810000 lw at,0\(gp\)
- 144: 00000000 nop
- 148: 24210000 addiu at,at,0
- 14c: 88240000 lwl a0,0\(at\)
- 150: 98240003 lwr a0,3\(at\)
- 154: 8f810000 lw at,0\(gp\)
- 158: 00000000 nop
- 15c: 24210000 addiu at,at,0
- 160: a8240000 swl a0,0\(at\)
- 164: b8240003 swr a0,3\(at\)
- 168: 3404ffc0 li a0,0xffc0
- 16c: 000423bc dsll32 a0,a0,0xe
- 170: 8f810000 lw at,0\(gp\)
- 174: dc240000 ld a0,0\(at\)
- 178: 3401ffc0 li at,0xffc0
- 17c: 00010bbc dsll32 at,at,0xe
- 180: 44a10000 dmtc1 at,\$f0
- 184: 8f810000 lw at,0\(gp\)
- 188: d4200008 ldc1 \$f0,8\(at\)
- 18c: 64a40064 daddiu a0,a1,100
- 190: 2c840001 sltiu a0,a0,1
- 194: 64a40064 daddiu a0,a1,100
- 198: 0004202b sltu a0,zero,a0
- 19c: 00a0202d move a0,a1
- 1a0: 8f840000 lw a0,0\(gp\)
- 1a4: 00000000 nop
- 1a8: 24840000 addiu a0,a0,0
- 1ac: 8f840000 lw a0,0\(gp\)
- 1b0: 00000000 nop
- 1b4: 24840000 addiu a0,a0,0
- 1b8: 8f810000 lw at,0\(gp\)
- 1bc: 00000000 nop
- 1c0: 24210000 addiu at,at,0
- 1c4: 68240000 ldl a0,0\(at\)
- 1c8: 6c240007 ldr a0,7\(at\)
- 1cc: 8f810000 lw at,0\(gp\)
- 1d0: 00000000 nop
- 1d4: 24210000 addiu at,at,0
- 1d8: b0240000 sdl a0,0\(at\)
- 1dc: b4240007 sdr a0,7\(at\)
- 1e0: 34018000 li at,0x8000
- 1e4: 00010c38 dsll at,at,0x10
- 1e8: 0081082a slt at,a0,at
- 1ec: 10200011 beqz at,234 <[^>]*>
- 1f0: 00000000 nop
- 1f4: 34018000 li at,0x8000
- 1f8: 00010c78 dsll at,at,0x11
- 1fc: 0081082b sltu at,a0,at
- 200: 1020000c beqz at,234 <[^>]*>
- 204: 00000000 nop
- 208: 34018000 li at,0x8000
- 20c: 00010c38 dsll at,at,0x10
- 210: 0081082a slt at,a0,at
- 214: 14200007 bnez at,234 <[^>]*>
- 218: 00000000 nop
- 21c: 34018000 li at,0x8000
- 220: 00010c78 dsll at,at,0x11
- 224: 0081082b sltu at,a0,at
- 228: 14200002 bnez at,234 <[^>]*>
- 22c: 00000000 nop
- 230: 46231040 add.d \$f1,\$f2,\$f3
+ 104: 24210000 addiu at,at,0
+ 108: 88240000 lwl a0,0\(at\)
+ 10c: 98240003 lwr a0,3\(at\)
+ 110: 8f810000 lw at,0\(gp\)
+ 114: 24210000 addiu at,at,0
+ 118: a8240000 swl a0,0\(at\)
+ 11c: b8240003 swr a0,3\(at\)
+ 120: 3404ffc0 li a0,0xffc0
+ 124: 000423bc dsll32 a0,a0,0xe
+ 128: 8f810000 lw at,0\(gp\)
+ 12c: dc240000 ld a0,0\(at\)
+ 130: 3401ffc0 li at,0xffc0
+ 134: 00010bbc dsll32 at,at,0xe
+ 138: 44a10000 dmtc1 at,\$f0
+ 13c: 8f810000 lw at,0\(gp\)
+ 140: d4200008 ldc1 \$f0,8\(at\)
+ 144: 64a40064 daddiu a0,a1,100
+ 148: 2c840001 sltiu a0,a0,1
+ 14c: 64a40064 daddiu a0,a1,100
+ 150: 0004202b sltu a0,zero,a0
+ 154: 00a0202d move a0,a1
+ 158: 8f840000 lw a0,0\(gp\)
+ 15c: 24840000 addiu a0,a0,0
+ 160: 8f840000 lw a0,0\(gp\)
+ 164: 24840000 addiu a0,a0,0
+ 168: 8f810000 lw at,0\(gp\)
+ 16c: 24210000 addiu at,at,0
+ 170: 68240000 ldl a0,0\(at\)
+ 174: 6c240007 ldr a0,7\(at\)
+ 178: 8f810000 lw at,0\(gp\)
+ 17c: 24210000 addiu at,at,0
+ 180: b0240000 sdl a0,0\(at\)
+ 184: b4240007 sdr a0,7\(at\)
+ 188: 34018000 li at,0x8000
+ 18c: 00010c38 dsll at,at,0x10
+ 190: 0081082a slt at,a0,at
+ 194: 10200011 beqz at,1dc <[^>]*>
+ 198: 00000000 nop
+ 19c: 34018000 li at,0x8000
+ 1a0: 00010c78 dsll at,at,0x11
+ 1a4: 0081082b sltu at,a0,at
+ 1a8: 1020000c beqz at,1dc <[^>]*>
+ 1ac: 00000000 nop
+ 1b0: 34018000 li at,0x8000
+ 1b4: 00010c38 dsll at,at,0x10
+ 1b8: 0081082a slt at,a0,at
+ 1bc: 14200007 bnez at,1dc <[^>]*>
+ 1c0: 00000000 nop
+ 1c4: 34018000 li at,0x8000
+ 1c8: 00010c78 dsll at,at,0x11
+ 1cc: 0081082b sltu at,a0,at
+ 1d0: 14200002 bnez at,1dc <[^>]*>
+ 1d4: 00000000 nop
+ 1d8: 46231040 add.d \$f1,\$f2,\$f3
-0+0234 <[^>]*>:
+0+01dc <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index a641c9b..c1dd7a7 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -445,24 +445,11 @@ if { [istarget mips*-*-*] } then {
}
if $elf { run_dump_test "jal-svr4pic" }
if $elf { run_dump_test "jal-xgot" }
- # LOSE: As of 2002-02-08, the jal-empic test fails for target mips-ecoff.
- # It appears that it broke between 2000-03-11 00:00UTC and
- # 2000-03-12 00:00 UTC.
- if $ecoff { run_dump_test "jal-empic" }
- if $elf {
- run_dump_test_arches "jal-empic-elf" [mips_arch_list_matching mips1]
- run_dump_test_arches "jal-empic-elf-2" [mips_arch_list_matching mips1]
- run_dump_test_arches "jal-empic-elf-3" [mips_arch_list_matching mips1]
- }
run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1]
if $has_newabi { run_dump_test "jal-newabi" }
if !$aout { run_dump_test "la" }
if $elf { run_dump_test "la-svr4pic" }
if $elf { run_dump_test "la-xgot" }
- # LOSE: As of 2002-02-08, the la-empic test fails for target mips-ecoff.
- # Not sure when it first cropped up, but may be related to addition of
- # "la" -> "addiu" pattern in MIPS opcode table long ago.
- if $ecoff { run_dump_test "la-empic" }
if $elf { run_dump_test "lca-svr4pic" }
if $elf { run_dump_test "lca-xgot" }
if !$aout {
@@ -471,7 +458,8 @@ if { [istarget mips*-*-*] } then {
run_dump_test_arches "lb" [mips_arch_list_matching !mips2]
}
if $elf {
- run_dump_test_arches "lb-svr4pic" [mips_arch_list_matching mips1]
+ run_dump_test_arches "lb-svr4pic" [mips_arch_list_matching !gpr_ilocks]
+ run_dump_test_arches "lb-svr4pic-ilocks" [mips_arch_list_matching gpr_ilocks]
}
if $elf {
# Both versions specify the cpu, so we can run both regardless of
@@ -479,7 +467,6 @@ if { [istarget mips*-*-*] } then {
run_dump_test "lb-xgot"
run_dump_test "lb-xgot-ilocks"
}
- if $ecoff { run_dump_test "lb-empic" }
if !$aout {
if !$gpr_ilocks {
run_dump_test "ld"
@@ -493,15 +480,10 @@ if { [istarget mips*-*-*] } then {
}
if $elf { run_dump_test "ld-svr4pic" }
if $elf { run_dump_test "ld-xgot" }
- if $ecoff { run_dump_test "ld-empic" }
run_dump_test_arches "li" [mips_arch_list_matching mips1]
if !$aout { run_dump_test "lifloat" }
if $elf { run_dump_test "lif-svr4pic" }
if $elf { run_dump_test "lif-xgot" }
- # LOSE: As of 2002-02-08, the lif-empic test fails for target mips-ecoff.
- # It appears that it broke between 2000-03-11 00:00UTC and
- # 2000-03-12 00:00 UTC.
- if $ecoff { run_dump_test "lif-empic" }
run_dump_test_arches "mips4" [mips_arch_list_matching mips4]
run_dump_test_arches "mips5" [mips_arch_list_matching mips5]
if $ilocks {
@@ -523,7 +505,6 @@ if { [istarget mips*-*-*] } then {
run_dump_test_arches "ulh2-el" [mips_arch_list_matching mips1]
if $elf { run_dump_test "ulh-svr4pic" }
if $elf { run_dump_test "ulh-xgot" }
- if $ecoff { run_dump_test "ulh-empic" }
if !$aout {
run_dump_test "ulw"
run_dump_test "uld"
@@ -680,11 +661,6 @@ if { [istarget mips*-*-*] } then {
}
run_dump_test "elf-rel19"
- run_dump_test "${tmips}${el}empic"
- run_dump_test "empic2"
- run_dump_test "empic3_e"
- run_dump_test "empic3_g1"
- run_dump_test "empic3_g2"
if { !$no_mips16 } {
run_dump_test "${tmips}mips${el}16-e"
run_dump_test "${tmips}mips${el}16-f"
diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d
index 2b2fe21..553a6b3 100644
--- a/gas/testsuite/gas/mips/mips16-e.d
+++ b/gas/testsuite/gas/mips/mips16-e.d
@@ -7,12 +7,12 @@
.*: +file format elf.*mips.*
SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
+0+0000000 l d \.text 0+0000000 (|\.text)
+0+0000000 l d \.data 0+0000000 (|\.data)
+0+0000000 l d \.bss 0+0000000 (|\.bss)
+0+0000000 l d foo 0+0000000 (|foo)
+0+0000000 l d \.reginfo 0+0000000 (|\.reginfo)
+0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr)
0+0000002 l \.text 0+0000000 0xf0 l1
0+0000004 l \.text 0+0000000 0xf0 L1.1
0+0000000 \*UND\* 0+0000000 g1
diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d
index 9339b6e..84deb36 100644
--- a/gas/testsuite/gas/mips/mips16-f.d
+++ b/gas/testsuite/gas/mips/mips16-f.d
@@ -7,12 +7,12 @@
.*: +file format elf.*mips.*
SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
+0+0000000 l d \.text 0+0000000 (|\.text)
+0+0000000 l d \.data 0+0000000 (|\.data)
+0+0000000 l d \.bss 0+0000000 (|\.bss)
+0+0000000 l d foo 0+0000000 (|foo)
+0+0000000 l d \.reginfo 0+0000000 (|\.reginfo)
+0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr)
0+0000002 l \.text 0+0000000 0xf0 l1
diff --git a/gas/testsuite/gas/mips/mipsel16-e.d b/gas/testsuite/gas/mips/mipsel16-e.d
index ad8c990..2e20a1a 100644
--- a/gas/testsuite/gas/mips/mipsel16-e.d
+++ b/gas/testsuite/gas/mips/mipsel16-e.d
@@ -8,12 +8,12 @@
.*: +file format elf.*mips.*
SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
+0+0000000 l d \.text 0+0000000 (|\.text)
+0+0000000 l d \.data 0+0000000 (|\.data)
+0+0000000 l d \.bss 0+0000000 (|\.bss)
+0+0000000 l d foo 0+0000000 (|foo)
+0+0000000 l d \.reginfo 0+0000000 (|\.reginfo)
+0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr)
0+0000002 l \.text 0+0000000 0xf0 l1
0+0000004 l \.text 0+0000000 0xf0 L1.1
0+0000000 \*UND\* 0+0000000 g1
diff --git a/gas/testsuite/gas/mips/mipsel16-f.d b/gas/testsuite/gas/mips/mipsel16-f.d
index 0e65842..9331f10 100644
--- a/gas/testsuite/gas/mips/mipsel16-f.d
+++ b/gas/testsuite/gas/mips/mipsel16-f.d
@@ -8,12 +8,12 @@
.*: +file format elf.*mips.*
SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000000 l d foo 0+0000000
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
+0+0000000 l d \.text 0+0000000 (|\.text)
+0+0000000 l d \.data 0+0000000 (|\.data)
+0+0000000 l d \.bss 0+0000000 (|\.bss)
+0+0000000 l d foo 0+0000000 (|foo)
+0+0000000 l d \.reginfo 0+0000000 (|\.reginfo)
+0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr)
0+0000002 l \.text 0+0000000 0xf0 l1
diff --git a/gas/testsuite/gas/mips/relax-swap1-mips2.d b/gas/testsuite/gas/mips/relax-swap1-mips2.d
index 7297dd0..070ea3a 100644
--- a/gas/testsuite/gas/mips/relax-swap1-mips2.d
+++ b/gas/testsuite/gas/mips/relax-swap1-mips2.d
@@ -11,7 +11,7 @@ Disassembly of section \.text:
0+0004 <[^>]*> move v0,a0
0+0008 <[^>]*> lw at,2\(gp\)
[ ]*8: R_MIPS_GOT16 \.text
-0+000c <[^>]*> addiu at,at,876
+0+000c <[^>]*> addiu at,at,868
[ ]*c: R_MIPS_LO16 \.text
0+0010 <[^>]*> jr at
0+0014 <[^>]*> move v0,a0
@@ -19,7 +19,7 @@ Disassembly of section \.text:
0+001c <[^>]*> lw v0,0\(a0\)
0+0020 <[^>]*> lw at,2\(gp\)
[ ]*20: R_MIPS_GOT16 \.text
-0+0024 <[^>]*> addiu at,at,876
+0+0024 <[^>]*> addiu at,at,868
[ ]*24: R_MIPS_LO16 \.text
0+0028 <[^>]*> jr at
0+002c <[^>]*> lw v0,0\(a0\)
@@ -27,7 +27,7 @@ Disassembly of section \.text:
0+0034 <[^>]*> sw v0,0\(a0\)
0+0038 <[^>]*> lw at,2\(gp\)
[ ]*38: R_MIPS_GOT16 \.text
-0+003c <[^>]*> addiu at,at,876
+0+003c <[^>]*> addiu at,at,868
[ ]*3c: R_MIPS_LO16 \.text
0+0040 <[^>]*> jr at
0+0044 <[^>]*> sw v0,0\(a0\)
@@ -39,7 +39,7 @@ Disassembly of section \.text:
0+005c <[^>]*> nop
0+0060 <[^>]*> lw at,2\(gp\)
[ ]*60: R_MIPS_GOT16 \.text
-0+0064 <[^>]*> addiu at,at,876
+0+0064 <[^>]*> addiu at,at,868
[ ]*64: R_MIPS_LO16 \.text
0+0068 <[^>]*> jr at
0+006c <[^>]*> nop
@@ -49,7 +49,7 @@ Disassembly of section \.text:
0+007c <[^>]*> nop
0+0080 <[^>]*> lw at,2\(gp\)
[ ]*80: R_MIPS_GOT16 \.text
-0+0084 <[^>]*> addiu at,at,876
+0+0084 <[^>]*> addiu at,at,868
[ ]*84: R_MIPS_LO16 \.text
0+0088 <[^>]*> jr at
0+008c <[^>]*> move v0,a0
@@ -61,7 +61,7 @@ Disassembly of section \.text:
0+00a4 <[^>]*> nop
0+00a8 <[^>]*> lw at,2\(gp\)
[ ]*a8: R_MIPS_GOT16 \.text
-0+00ac <[^>]*> addiu at,at,876
+0+00ac <[^>]*> addiu at,at,868
[ ]*ac: R_MIPS_LO16 \.text
0+00b0 <[^>]*> jr at
0+00b4 <[^>]*> nop
@@ -71,7 +71,7 @@ Disassembly of section \.text:
0+00c4 <[^>]*> nop
0+00c8 <[^>]*> lw at,2\(gp\)
[ ]*c8: R_MIPS_GOT16 \.text
-0+00cc <[^>]*> addiu at,at,876
+0+00cc <[^>]*> addiu at,at,868
[ ]*cc: R_MIPS_LO16 \.text
0+00d0 <[^>]*> jr at
0+00d4 <[^>]*> addiu v0,a0,1
@@ -83,7 +83,7 @@ Disassembly of section \.text:
0+00ec <[^>]*> nop
0+00f0 <[^>]*> lw at,2\(gp\)
[ ]*f0: R_MIPS_GOT16 \.text
-0+00f4 <[^>]*> addiu at,at,876
+0+00f4 <[^>]*> addiu at,at,868
[ ]*f4: R_MIPS_LO16 \.text
0+00f8 <[^>]*> jr at
0+00fc <[^>]*> nop
@@ -93,7 +93,7 @@ Disassembly of section \.text:
0+010c <[^>]*> nop
0+0110 <[^>]*> lw at,2\(gp\)
[ ]*110: R_MIPS_GOT16 \.text
-0+0114 <[^>]*> addiu at,at,876
+0+0114 <[^>]*> addiu at,at,868
[ ]*114: R_MIPS_LO16 \.text
0+0118 <[^>]*> jr at
0+011c <[^>]*> lw v0,0\(a0\)
@@ -103,7 +103,7 @@ Disassembly of section \.text:
0+012c <[^>]*> nop
0+0130 <[^>]*> lw at,2\(gp\)
[ ]*130: R_MIPS_GOT16 \.text
-0+0134 <[^>]*> addiu at,at,876
+0+0134 <[^>]*> addiu at,at,868
[ ]*134: R_MIPS_LO16 \.text
0+0138 <[^>]*> jr at
0+013c <[^>]*> sw v0,0\(a0\)
@@ -113,7 +113,7 @@ Disassembly of section \.text:
0+014c <[^>]*> nop
0+0150 <[^>]*> lw at,2\(gp\)
[ ]*150: R_MIPS_GOT16 \.text
-0+0154 <[^>]*> addiu at,at,876
+0+0154 <[^>]*> addiu at,at,868
[ ]*154: R_MIPS_LO16 \.text
0+0158 <[^>]*> jr at
0+015c <[^>]*> sw v0,0\(a0\)
@@ -127,7 +127,7 @@ Disassembly of section \.text:
0+017c <[^>]*> nop
0+0180 <[^>]*> lw at,2\(gp\)
[ ]*180: R_MIPS_GOT16 \.text
-0+0184 <[^>]*> addiu at,at,876
+0+0184 <[^>]*> addiu at,at,868
[ ]*184: R_MIPS_LO16 \.text
0+0188 <[^>]*> jr at
0+018c <[^>]*> nop
@@ -139,7 +139,7 @@ Disassembly of section \.text:
0+01a4 <[^>]*> nop
0+01a8 <[^>]*> lw at,2\(gp\)
[ ]*1a8: R_MIPS_GOT16 \.text
-0+01ac <[^>]*> addiu at,at,876
+0+01ac <[^>]*> addiu at,at,868
[ ]*1ac: R_MIPS_LO16 \.text
0+01b0 <[^>]*> jr at
0+01b4 <[^>]*> move a2,a3
@@ -151,7 +151,7 @@ Disassembly of section \.text:
0+01cc <[^>]*> nop
0+01d0 <[^>]*> lw at,2\(gp\)
[ ]*1d0: R_MIPS_GOT16 \.text
-0+01d4 <[^>]*> addiu at,at,876
+0+01d4 <[^>]*> addiu at,at,868
[ ]*1d4: R_MIPS_LO16 \.text
0+01d8 <[^>]*> jr at
0+01dc <[^>]*> nop
@@ -161,7 +161,7 @@ Disassembly of section \.text:
0+01ec <[^>]*> move v0,a0
0+01f0 <[^>]*> lw at,2\(gp\)
[ ]*1f0: R_MIPS_GOT16 \.text
-0+01f4 <[^>]*> addiu at,at,876
+0+01f4 <[^>]*> addiu at,at,868
[ ]*1f4: R_MIPS_LO16 \.text
0+01f8 <[^>]*> jr at
0+01fc <[^>]*> nop
@@ -171,7 +171,7 @@ Disassembly of section \.text:
0+020c <[^>]*> move v0,a0
0+0210 <[^>]*> lw at,2\(gp\)
[ ]*210: R_MIPS_GOT16 \.text
-0+0214 <[^>]*> addiu at,at,876
+0+0214 <[^>]*> addiu at,at,868
[ ]*214: R_MIPS_LO16 \.text
0+0218 <[^>]*> jr at
0+021c <[^>]*> nop
@@ -183,98 +183,96 @@ Disassembly of section \.text:
0+0234 <[^>]*> move v0,a0
0+0238 <[^>]*> lw at,2\(gp\)
[ ]*238: R_MIPS_GOT16 \.text
-0+023c <[^>]*> addiu at,at,876
+0+023c <[^>]*> addiu at,at,868
[ ]*23c: R_MIPS_LO16 \.text
0+0240 <[^>]*> jr at
0+0244 <[^>]*> nop
0+0248 <[^>]*> lw at,0\(gp\)
[ ]*248: R_MIPS_GOT16 \.text
-0+024c <[^>]*> nop
-0+0250 <[^>]*> addiu at,at,600
-[ ]*250: R_MIPS_LO16 \.text
-0+0254 <[^>]*> sw v0,0\(at\)
-0+0258 <[^>]*> b 00000000 <foo>
-0+025c <[^>]*> nop
-0+0260 <[^>]*> lw at,0\(gp\)
-[ ]*260: R_MIPS_GOT16 \.text
-0+0264 <[^>]*> nop
-0+0268 <[^>]*> addiu at,at,624
-[ ]*268: R_MIPS_LO16 \.text
-0+026c <[^>]*> sw v0,0\(at\)
-0+0270 <[^>]*> lw at,2\(gp\)
-[ ]*270: R_MIPS_GOT16 \.text
-0+0274 <[^>]*> addiu at,at,876
-[ ]*274: R_MIPS_LO16 \.text
-0+0278 <[^>]*> jr at
-0+027c <[^>]*> nop
-0+0280 <[^>]*> b 00000000 <foo>
-0+0284 <[^>]*> lwc1 \$f0,0\(a0\)
-0+0288 <[^>]*> lw at,2\(gp\)
-[ ]*288: R_MIPS_GOT16 \.text
-0+028c <[^>]*> addiu at,at,876
-[ ]*28c: R_MIPS_LO16 \.text
-0+0290 <[^>]*> jr at
-0+0294 <[^>]*> lwc1 \$f0,0\(a0\)
-0+0298 <[^>]*> cfc1 v0,\$31
-0+029c <[^>]*> b 00000000 <foo>
-0+02a0 <[^>]*> nop
-0+02a4 <[^>]*> cfc1 v0,\$31
-0+02a8 <[^>]*> lw at,2\(gp\)
-[ ]*2a8: R_MIPS_GOT16 \.text
-0+02ac <[^>]*> addiu at,at,876
-[ ]*2ac: R_MIPS_LO16 \.text
-0+02b0 <[^>]*> jr at
-0+02b4 <[^>]*> nop
-0+02b8 <[^>]*> ctc1 v0,\$31
-0+02bc <[^>]*> b 00000000 <foo>
-0+02c0 <[^>]*> nop
-0+02c4 <[^>]*> ctc1 v0,\$31
-0+02c8 <[^>]*> lw at,2\(gp\)
-[ ]*2c8: R_MIPS_GOT16 \.text
-0+02cc <[^>]*> addiu at,at,876
-[ ]*2cc: R_MIPS_LO16 \.text
-0+02d0 <[^>]*> jr at
-0+02d4 <[^>]*> nop
-0+02d8 <[^>]*> mtc1 v0,\$f31
-0+02dc <[^>]*> b 00000000 <foo>
-0+02e0 <[^>]*> nop
-0+02e4 <[^>]*> mtc1 v0,\$f31
-0+02e8 <[^>]*> lw at,2\(gp\)
-[ ]*2e8: R_MIPS_GOT16 \.text
-0+02ec <[^>]*> addiu at,at,876
-[ ]*2ec: R_MIPS_LO16 \.text
-0+02f0 <[^>]*> jr at
-0+02f4 <[^>]*> nop
-0+02f8 <[^>]*> mfhi v0
-0+02fc <[^>]*> b 00000000 <foo>
-0+0300 <[^>]*> nop
-0+0304 <[^>]*> mfhi v0
-0+0308 <[^>]*> lw at,2\(gp\)
-[ ]*308: R_MIPS_GOT16 \.text
-0+030c <[^>]*> addiu at,at,876
-[ ]*30c: R_MIPS_LO16 \.text
-0+0310 <[^>]*> jr at
-0+0314 <[^>]*> nop
-0+0318 <[^>]*> move v0,a0
-0+031c <[^>]*> jr v0
-0+0320 <[^>]*> nop
-0+0324 <[^>]*> jr a0
-0+0328 <[^>]*> move v0,a0
-0+032c <[^>]*> move v0,a0
-0+0330 <[^>]*> jalr v0
-0+0334 <[^>]*> nop
-0+0338 <[^>]*> jalr a0
-0+033c <[^>]*> move v0,a0
-0+0340 <[^>]*> move v0,ra
-0+0344 <[^>]*> jalr v1
-0+0348 <[^>]*> nop
-0+034c <[^>]*> move ra,a0
-0+0350 <[^>]*> jalr a1
-0+0354 <[^>]*> nop
-0+0358 <[^>]*> jalr v0,v1
-0+035c <[^>]*> move ra,a0
-0+0360 <[^>]*> move v0,ra
-0+0364 <[^>]*> jalr v0,v1
-0+0368 <[^>]*> nop
+0+024c <[^>]*> addiu at,at,596
+[ ]*24c: R_MIPS_LO16 \.text
+0+0250 <[^>]*> sw v0,0\(at\)
+0+0254 <[^>]*> b 00000000 <foo>
+0+0258 <[^>]*> nop
+0+025c <[^>]*> lw at,0\(gp\)
+[ ]*25c: R_MIPS_GOT16 \.text
+0+0260 <[^>]*> addiu at,at,616
+[ ]*260: R_MIPS_LO16 \.text
+0+0264 <[^>]*> sw v0,0\(at\)
+0+0268 <[^>]*> lw at,2\(gp\)
+[ ]*268: R_MIPS_GOT16 \.text
+0+026c <[^>]*> addiu at,at,868
+[ ]*26c: R_MIPS_LO16 \.text
+0+0270 <[^>]*> jr at
+0+0274 <[^>]*> nop
+0+0278 <[^>]*> b 00000000 <foo>
+0+027c <[^>]*> lwc1 \$f0,0\(a0\)
+0+0280 <[^>]*> lw at,2\(gp\)
+[ ]*280: R_MIPS_GOT16 \.text
+0+0284 <[^>]*> addiu at,at,868
+[ ]*284: R_MIPS_LO16 \.text
+0+0288 <[^>]*> jr at
+0+028c <[^>]*> lwc1 \$f0,0\(a0\)
+0+0290 <[^>]*> cfc1 v0,\$31
+0+0294 <[^>]*> b 00000000 <foo>
+0+0298 <[^>]*> nop
+0+029c <[^>]*> cfc1 v0,\$31
+0+02a0 <[^>]*> lw at,2\(gp\)
+[ ]*2a0: R_MIPS_GOT16 \.text
+0+02a4 <[^>]*> addiu at,at,868
+[ ]*2a4: R_MIPS_LO16 \.text
+0+02a8 <[^>]*> jr at
+0+02ac <[^>]*> nop
+0+02b0 <[^>]*> ctc1 v0,\$31
+0+02b4 <[^>]*> b 00000000 <foo>
+0+02b8 <[^>]*> nop
+0+02bc <[^>]*> ctc1 v0,\$31
+0+02c0 <[^>]*> lw at,2\(gp\)
+[ ]*2c0: R_MIPS_GOT16 \.text
+0+02c4 <[^>]*> addiu at,at,868
+[ ]*2c4: R_MIPS_LO16 \.text
+0+02c8 <[^>]*> jr at
+0+02cc <[^>]*> nop
+0+02d0 <[^>]*> mtc1 v0,\$f31
+0+02d4 <[^>]*> b 00000000 <foo>
+0+02d8 <[^>]*> nop
+0+02dc <[^>]*> mtc1 v0,\$f31
+0+02e0 <[^>]*> lw at,2\(gp\)
+[ ]*2e0: R_MIPS_GOT16 \.text
+0+02e4 <[^>]*> addiu at,at,868
+[ ]*2e4: R_MIPS_LO16 \.text
+0+02e8 <[^>]*> jr at
+0+02ec <[^>]*> nop
+0+02f0 <[^>]*> mfhi v0
+0+02f4 <[^>]*> b 00000000 <foo>
+0+02f8 <[^>]*> nop
+0+02fc <[^>]*> mfhi v0
+0+0300 <[^>]*> lw at,2\(gp\)
+[ ]*300: R_MIPS_GOT16 \.text
+0+0304 <[^>]*> addiu at,at,868
+[ ]*304: R_MIPS_LO16 \.text
+0+0308 <[^>]*> jr at
+0+030c <[^>]*> nop
+0+0310 <[^>]*> move v0,a0
+0+0314 <[^>]*> jr v0
+0+0318 <[^>]*> nop
+0+031c <[^>]*> jr a0
+0+0320 <[^>]*> move v0,a0
+0+0324 <[^>]*> move v0,a0
+0+0328 <[^>]*> jalr v0
+0+032c <[^>]*> nop
+0+0330 <[^>]*> jalr a0
+0+0334 <[^>]*> move v0,a0
+0+0338 <[^>]*> move v0,ra
+0+033c <[^>]*> jalr v1
+0+0340 <[^>]*> nop
+0+0344 <[^>]*> move ra,a0
+0+0348 <[^>]*> jalr a1
+0+034c <[^>]*> nop
+0+0350 <[^>]*> jalr v0,v1
+0+0354 <[^>]*> move ra,a0
+0+0358 <[^>]*> move v0,ra
+0+035c <[^>]*> jalr v0,v1
+0+0360 <[^>]*> nop
\.\.\.
\.\.\.
diff --git a/gas/testsuite/gas/mips/telempic.d b/gas/testsuite/gas/mips/telempic.d
deleted file mode 100644
index 96bc263..0000000
--- a/gas/testsuite/gas/mips/telempic.d
+++ /dev/null
@@ -1,155 +0,0 @@
-#objdump: -rst -mmips:4000
-#name: MIPS empic
-#as: -mabi=o64 -membedded-pic -mips3
-#source: empic.s
-#stderr: empic.l
-
-# Check GNU-specific embedded relocs, for ELF.
-
-.*: +file format elf.*mips.*
-
-SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000004 l \.text 0+0000000 l2
-0+0000100 l \.foo 0+0000000 l1
-0+0000034 l \.text 0+0000000 l3
-0+0000098 l \.text 0+0000000 l5
-0+0000000 l d \.foo 0+0000000
-0+0000004 l \.foo 0+0000000 l4
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
-0+0000000 \*UND\* 0+0000000 g1
-0+0000000 \*UND\* 0+0000000 g2
-
-
-RELOCATION RECORDS FOR \[\.text\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL16_S2 g1
-0+000000c R_MIPS_GNU_REL16_S2 g2
-0+0000014 R_MIPS_GNU_REL16_S2 g2
-0+000001c R_MIPS_GNU_REL16_S2 \.foo
-0+0000024 R_MIPS_GNU_REL16_S2 \.text
-0+000002c R_MIPS_GNU_REL16_S2 \.foo
-0+0000034 R_MIPS_GNU_REL16_S2 \.text
-0+000003c R_MIPS_GNU_REL_HI16 g1
-0+0000040 R_MIPS_GNU_REL_LO16 g1
-0+0000044 R_MIPS_GNU_REL_HI16 \.foo
-0+0000048 R_MIPS_GNU_REL_LO16 \.foo
-0+0000050 R_MIPS_32 g1
-0+0000054 R_MIPS_32 \.foo
-0+0000058 R_MIPS_32 \.text
-0+000005c R_MIPS_PC32 g1
-0+0000060 R_MIPS_PC32 \.foo
-0+0000068 R_MIPS_64 g1
-0+0000070 R_MIPS_64 \.foo
-0+0000078 R_MIPS_64 \.text
-0+0000080 R_MIPS_PC64 g1
-0+0000088 R_MIPS_PC64 \.foo
-0+0000098 R_MIPS_GNU_REL16_S2 \.text
-0+000009c R_MIPS_GNU_REL16_S2 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 \.text
-0+00000a4 R_MIPS_GNU_REL_LO16 \.text
-0+00000a8 R_MIPS_GNU_REL_HI16 \.text
-0+00000ac R_MIPS_GNU_REL_LO16 \.text
-0+00000b0 R_MIPS_32 \.text
-0+00000b8 R_MIPS_64 \.text
-0+00000cc R_MIPS_GNU_REL16_S2 \.text
-0+00000d0 R_MIPS_GNU_REL16_S2 \.text
-0+00000d4 R_MIPS_GNU_REL_HI16 \.text
-0+00000d8 R_MIPS_GNU_REL_LO16 \.text
-0+00000dc R_MIPS_GNU_REL_HI16 \.text
-0+00000e0 R_MIPS_GNU_REL_LO16 \.text
-0+00000e4 R_MIPS_32 \.text
-0+00000f0 R_MIPS_64 \.text
-
-
-RELOCATION RECORDS FOR \[\.foo\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL_HI16 g1
-0+0000008 R_MIPS_GNU_REL_LO16 g1
-0+000000c R_MIPS_GNU_REL_HI16 \.foo
-0+0000010 R_MIPS_GNU_REL_LO16 \.foo
-0+0000014 R_MIPS_GNU_REL_HI16 \.text
-0+0000018 R_MIPS_GNU_REL_LO16 \.text
-0+000001c R_MIPS_GNU_REL_HI16 g1
-0+0000020 R_MIPS_GNU_REL_LO16 g1
-0+0000024 R_MIPS_GNU_REL_HI16 g1
-0+0000028 R_MIPS_GNU_REL_LO16 g1
-0+000002c R_MIPS_GNU_REL_HI16 \.foo
-0+0000030 R_MIPS_GNU_REL_LO16 \.foo
-0+0000034 R_MIPS_GNU_REL_HI16 \.text
-0+0000038 R_MIPS_GNU_REL_LO16 \.text
-0+000003c R_MIPS_32 g1
-0+0000040 R_MIPS_32 \.foo
-0+0000044 R_MIPS_32 \.text
-0+0000048 R_MIPS_PC32 g1
-0+0000050 R_MIPS_PC32 \.text
-0+0000058 R_MIPS_64 g1
-0+0000060 R_MIPS_64 \.foo
-0+0000068 R_MIPS_64 \.text
-0+0000070 R_MIPS_PC64 g1
-0+0000080 R_MIPS_PC64 \.text
-0+0000088 R_MIPS_GNU_REL_HI16 g1
-0+000008c R_MIPS_GNU_REL_LO16 g1
-0+0000090 R_MIPS_GNU_REL_HI16 \.foo
-0+0000094 R_MIPS_GNU_REL_LO16 \.foo
-0+0000098 R_MIPS_GNU_REL_HI16 \.text
-0+000009c R_MIPS_GNU_REL_LO16 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 g1
-0+00000a4 R_MIPS_GNU_REL_LO16 g1
-0+00000a8 R_MIPS_GNU_REL_HI16 \.foo
-0+00000ac R_MIPS_GNU_REL_LO16 \.foo
-0+00000b0 R_MIPS_GNU_REL_HI16 \.text
-0+00000b4 R_MIPS_GNU_REL_LO16 \.text
-0+00000b8 R_MIPS_32 g1
-0+00000bc R_MIPS_32 \.foo
-0+00000c0 R_MIPS_32 \.text
-0+00000c4 R_MIPS_PC32 g1
-0+00000cc R_MIPS_PC32 \.text
-0+00000d0 R_MIPS_64 g1
-0+00000d8 R_MIPS_64 \.foo
-0+00000e0 R_MIPS_64 \.text
-0+00000e8 R_MIPS_PC64 g1
-0+00000f8 R_MIPS_PC64 \.text
-
-Contents of section \.text:
- 0000 00000000 ffff1104 00000000 ffff0010 .*
- 0010 00000000 ffff0010 00000000 3f001104 .*
- 0020 00000000 00001104 00000000 41000010 .*
- 0030 00000000 00000010 00000000 0000033c .*
- 0040 0c0063[26]4 0000033c 140163[26]4 d0ff03[26]4 .*
- 0050 00000000 00010000 04000000 28000000 .*
- 0060 2c010000 d0ffffff 00000000 00000000 .*
- 0070 00010000 00000000 04000000 00000000 .*
- 0080 4c000000 00000000 54010000 00000000 .*
- 0090 d0ffffff ffffffff 32000010 33000010 .*
- 00a0 0000033c d80063[26]4 0000033c e80063[26]4 .*
- 00b0 cc000000 34000000 cc000000 00000000 .*
- 00c0 34000000 00000000 00000000 32000010 .*
- 00d0 33000010 0000033c 0c0163[26]4 0000033c .*
- 00e0 1c0163[26]4 cc000000 34000000 00000000 .*
- 00f0 cc000000 00000000 34000000 00000000 .*
-Contents of section \.reginfo:
- 0000 08000080 00000000 00000000 00000000 .*
- 0010 00000000 00000000 .*
-Contents of section \.foo:
- 0000 00000000 0000033c 040063[26]4 0000033c .*
- 0010 0c0163[26]4 0000033c 180063[26]4 0000033c .*
- 0020 1c0063[26]4 0000033c 240063[26]4 0000033c .*
- 0030 2c0163[26]4 0000033c 380063[26]4 00000000 .*
- 0040 00010000 04000000 44000000 fc000000 .*
- 0050 50000000 00000000 00000000 00000000 .*
- 0060 00010000 00000000 04000000 00000000 .*
- 0070 6c000000 00000000 fc000000 00000000 .*
- 0080 80000000 00000000 0000033c 8c0063[26]4 .*
- 0090 0000033c 940163[26]4 0000033c a00063[26]4 .*
- 00a0 0000033c a40063[26]4 0000033c ac0163[26]4 .*
- 00b0 0000033c b80063[26]4 04000000 04010000 .*
- 00c0 08000000 c4000000 00010000 d0000000 .*
- 00d0 04000000 00000000 04010000 00000000 .*
- 00e0 08000000 00000000 e8000000 00000000 .*
- 00f0 00010000 00000000 fc000000 00000000 .*
- 0100 00000000 00000000 00000000 00000000 .*
-
diff --git a/gas/testsuite/gas/mips/tempic.d b/gas/testsuite/gas/mips/tempic.d
deleted file mode 100644
index 07dbc96..0000000
--- a/gas/testsuite/gas/mips/tempic.d
+++ /dev/null
@@ -1,155 +0,0 @@
-#objdump: -rst -mmips:4000
-#name: MIPS empic
-#as: -mabi=o64 -membedded-pic -mips3
-#source: empic.s
-#stderr: empic.l
-
-# Check GNU-specific embedded relocs, for ELF.
-
-.*: +file format elf.*mips.*
-
-SYMBOL TABLE:
-0+0000000 l d \.text 0+0000000
-0+0000000 l d \.data 0+0000000
-0+0000000 l d \.bss 0+0000000
-0+0000004 l \.text 0+0000000 l2
-0+0000100 l \.foo 0+0000000 l1
-0+0000034 l \.text 0+0000000 l3
-0+0000098 l \.text 0+0000000 l5
-0+0000000 l d \.foo 0+0000000
-0+0000004 l \.foo 0+0000000 l4
-0+0000000 l d \.reginfo 0+0000000
-0+0000000 l d \.(mdebug|pdr) 0+0000000
-0+0000000 \*UND\* 0+0000000 g1
-0+0000000 \*UND\* 0+0000000 g2
-
-
-RELOCATION RECORDS FOR \[\.text\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL16_S2 g1
-0+000000c R_MIPS_GNU_REL16_S2 g2
-0+0000014 R_MIPS_GNU_REL16_S2 g2
-0+000001c R_MIPS_GNU_REL16_S2 \.foo
-0+0000024 R_MIPS_GNU_REL16_S2 \.text
-0+000002c R_MIPS_GNU_REL16_S2 \.foo
-0+0000034 R_MIPS_GNU_REL16_S2 \.text
-0+000003c R_MIPS_GNU_REL_HI16 g1
-0+0000040 R_MIPS_GNU_REL_LO16 g1
-0+0000044 R_MIPS_GNU_REL_HI16 \.foo
-0+0000048 R_MIPS_GNU_REL_LO16 \.foo
-0+0000050 R_MIPS_32 g1
-0+0000054 R_MIPS_32 \.foo
-0+0000058 R_MIPS_32 \.text
-0+000005c R_MIPS_PC32 g1
-0+0000060 R_MIPS_PC32 \.foo
-0+0000068 R_MIPS_64 g1
-0+0000070 R_MIPS_64 \.foo
-0+0000078 R_MIPS_64 \.text
-0+0000080 R_MIPS_PC64 g1
-0+0000088 R_MIPS_PC64 \.foo
-0+0000098 R_MIPS_GNU_REL16_S2 \.text
-0+000009c R_MIPS_GNU_REL16_S2 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 \.text
-0+00000a4 R_MIPS_GNU_REL_LO16 \.text
-0+00000a8 R_MIPS_GNU_REL_HI16 \.text
-0+00000ac R_MIPS_GNU_REL_LO16 \.text
-0+00000b0 R_MIPS_32 \.text
-0+00000b8 R_MIPS_64 \.text
-0+00000cc R_MIPS_GNU_REL16_S2 \.text
-0+00000d0 R_MIPS_GNU_REL16_S2 \.text
-0+00000d4 R_MIPS_GNU_REL_HI16 \.text
-0+00000d8 R_MIPS_GNU_REL_LO16 \.text
-0+00000dc R_MIPS_GNU_REL_HI16 \.text
-0+00000e0 R_MIPS_GNU_REL_LO16 \.text
-0+00000e4 R_MIPS_32 \.text
-0+00000f0 R_MIPS_64 \.text
-
-
-RELOCATION RECORDS FOR \[\.foo\]:
-OFFSET [ ]+ TYPE VALUE
-0+0000004 R_MIPS_GNU_REL_HI16 g1
-0+0000008 R_MIPS_GNU_REL_LO16 g1
-0+000000c R_MIPS_GNU_REL_HI16 \.foo
-0+0000010 R_MIPS_GNU_REL_LO16 \.foo
-0+0000014 R_MIPS_GNU_REL_HI16 \.text
-0+0000018 R_MIPS_GNU_REL_LO16 \.text
-0+000001c R_MIPS_GNU_REL_HI16 g1
-0+0000020 R_MIPS_GNU_REL_LO16 g1
-0+0000024 R_MIPS_GNU_REL_HI16 g1
-0+0000028 R_MIPS_GNU_REL_LO16 g1
-0+000002c R_MIPS_GNU_REL_HI16 \.foo
-0+0000030 R_MIPS_GNU_REL_LO16 \.foo
-0+0000034 R_MIPS_GNU_REL_HI16 \.text
-0+0000038 R_MIPS_GNU_REL_LO16 \.text
-0+000003c R_MIPS_32 g1
-0+0000040 R_MIPS_32 \.foo
-0+0000044 R_MIPS_32 \.text
-0+0000048 R_MIPS_PC32 g1
-0+0000050 R_MIPS_PC32 \.text
-0+0000058 R_MIPS_64 g1
-0+0000060 R_MIPS_64 \.foo
-0+0000068 R_MIPS_64 \.text
-0+0000070 R_MIPS_PC64 g1
-0+0000080 R_MIPS_PC64 \.text
-0+0000088 R_MIPS_GNU_REL_HI16 g1
-0+000008c R_MIPS_GNU_REL_LO16 g1
-0+0000090 R_MIPS_GNU_REL_HI16 \.foo
-0+0000094 R_MIPS_GNU_REL_LO16 \.foo
-0+0000098 R_MIPS_GNU_REL_HI16 \.text
-0+000009c R_MIPS_GNU_REL_LO16 \.text
-0+00000a0 R_MIPS_GNU_REL_HI16 g1
-0+00000a4 R_MIPS_GNU_REL_LO16 g1
-0+00000a8 R_MIPS_GNU_REL_HI16 \.foo
-0+00000ac R_MIPS_GNU_REL_LO16 \.foo
-0+00000b0 R_MIPS_GNU_REL_HI16 \.text
-0+00000b4 R_MIPS_GNU_REL_LO16 \.text
-0+00000b8 R_MIPS_32 g1
-0+00000bc R_MIPS_32 \.foo
-0+00000c0 R_MIPS_32 \.text
-0+00000c4 R_MIPS_PC32 g1
-0+00000cc R_MIPS_PC32 \.text
-0+00000d0 R_MIPS_64 g1
-0+00000d8 R_MIPS_64 \.foo
-0+00000e0 R_MIPS_64 \.text
-0+00000e8 R_MIPS_PC64 g1
-0+00000f8 R_MIPS_PC64 \.text
-
-Contents of section \.text:
- 0000 00000000 0411ffff 00000000 1000ffff .*
- 0010 00000000 1000ffff 00000000 0411003f .*
- 0020 00000000 04110000 00000000 10000041 .*
- 0030 00000000 10000000 00000000 3c030000 .*
- 0040 [26]463000c 3c030000 [26]4630114 [26]403ffd0 .*
- 0050 00000000 00000100 00000004 00000028 .*
- 0060 0000012c ffffffd0 00000000 00000000 .*
- 0070 00000000 00000100 00000000 00000004 .*
- 0080 00000000 0000004c 00000000 00000154 .*
- 0090 ffffffff ffffffd0 10000032 10000033 .*
- 00a0 3c030000 [26]46300d8 3c030000 [26]46300e8 .*
- 00b0 000000cc 00000034 00000000 000000cc .*
- 00c0 00000000 00000034 00000000 10000032 .*
- 00d0 10000033 3c030000 [26]463010c 3c030000 .*
- 00e0 [26]463011c 000000cc 00000034 00000000 .*
- 00f0 00000000 000000cc 00000000 00000034 .*
-Contents of section \.reginfo:
- 0000 80000008 00000000 00000000 00000000 .*
- 0010 00000000 00000000 .*
-Contents of section \.foo:
- 0000 00000000 3c030000 [26]4630004 3c030000 .*
- 0010 [26]463010c 3c030000 [26]4630018 3c030000 .*
- 0020 [26]463001c 3c030000 [26]4630024 3c030000 .*
- 0030 [26]463012c 3c030000 [26]4630038 00000000 .*
- 0040 00000100 00000004 00000044 000000fc .*
- 0050 00000050 00000000 00000000 00000000 .*
- 0060 00000000 00000100 00000000 00000004 .*
- 0070 00000000 0000006c 00000000 000000fc .*
- 0080 00000000 00000080 3c030000 [26]463008c .*
- 0090 3c030000 [26]4630194 3c030000 [26]46300a0 .*
- 00a0 3c030000 [26]46300a4 3c030000 [26]46301ac .*
- 00b0 3c030000 [26]46300b8 00000004 00000104 .*
- 00c0 00000008 000000c4 00000100 000000d0 .*
- 00d0 00000000 00000004 00000000 00000104 .*
- 00e0 00000000 00000008 00000000 000000e8 .*
- 00f0 00000000 00000100 00000000 000000fc .*
- 0100 00000000 00000000 00000000 00000000 .*
-
diff --git a/gas/testsuite/gas/mips/ulh-empic.d b/gas/testsuite/gas/mips/ulh-empic.d
deleted file mode 100644
index 1f1a337..0000000
--- a/gas/testsuite/gas/mips/ulh-empic.d
+++ /dev/null
@@ -1,91 +0,0 @@
-#objdump: -dr --prefix-addresses -mmips:3000
-#name: MIPS ulh-empic
-#as: -32 -mips1 -membedded-pic
-#source: ulh-pic.s
-
-# Test the ulh macro with -membedded-pic.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> addiu at,gp,-16384
-[ ]*0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0004 <[^>]*> lb a0,[01]\(at\)
-0+0008 <[^>]*> lbu at,[01]\(at\)
-0+000c <[^>]*> sll a0,a0,0x8
-0+0010 <[^>]*> or a0,a0,at
-0+0014 <[^>]*> addiu at,gp,0
-[ ]*14: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0018 <[^>]*> lbu a0,[01]\(at\)
-0+001c <[^>]*> lbu at,[01]\(at\)
-0+0020 <[^>]*> sll a0,a0,0x8
-0+0024 <[^>]*> or a0,a0,at
-0+0028 <[^>]*> addiu at,gp,0
-[ ]*28: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+002c <[^>]*> lwl a0,[03]\(at\)
-0+0030 <[^>]*> lwr a0,[03]\(at\)
-0+0034 <[^>]*> addiu at,gp,0
-[ ]*34: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+0038 <[^>]*> sb a0,[01]\(at\)
-0+003c <[^>]*> srl a0,a0,0x8
-0+0040 <[^>]*> sb a0,[01]\(at\)
-0+0044 <[^>]*> lbu at,[01]\(at\)
-0+0048 <[^>]*> sll a0,a0,0x8
-0+004c <[^>]*> or a0,a0,at
-0+0050 <[^>]*> addiu at,gp,0
-[ ]*50: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+0054 <[^>]*> swl a0,[03]\(at\)
-0+0058 <[^>]*> swr a0,[03]\(at\)
-0+005c <[^>]*> addiu at,gp,-16384
-[ ]*5c: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0060 <[^>]*> lb a0,[01]\(at\)
-0+0064 <[^>]*> lbu at,[01]\(at\)
-0+0068 <[^>]*> sll a0,a0,0x8
-0+006c <[^>]*> or a0,a0,at
-0+0070 <[^>]*> addiu at,gp,-15384
-[ ]*70: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+0074 <[^>]*> lbu a0,[01]\(at\)
-0+0078 <[^>]*> lbu at,[01]\(at\)
-0+007c <[^>]*> sll a0,a0,0x8
-0+0080 <[^>]*> or a0,a0,at
-0+0084 <[^>]*> addiu at,gp,-16383
-[ ]*84: [A-Z0-9_]*GPREL[A-Z0-9_]* .sdata.*
-0+0088 <[^>]*> lwl a0,[03]\(at\)
-0+008c <[^>]*> lwr a0,[03]\(at\)
-0+0090 <[^>]*> addiu at,gp,1
-[ ]*90: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_data_label
-0+0094 <[^>]*> sb a0,[01]\(at\)
-0+0098 <[^>]*> srl a0,a0,0x8
-0+009c <[^>]*> sb a0,[01]\(at\)
-0+00a0 <[^>]*> lbu at,[01]\(at\)
-0+00a4 <[^>]*> sll a0,a0,0x8
-0+00a8 <[^>]*> or a0,a0,at
-0+00ac <[^>]*> addiu at,gp,1
-[ ]*ac: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_data_label
-0+00b0 <[^>]*> swl a0,[03]\(at\)
-0+00b4 <[^>]*> swr a0,[03]\(at\)
-0+00b8 <[^>]*> addiu at,gp,1
-[ ]*b8: [A-Z0-9_]*GPREL[A-Z0-9_]* big_external_common
-0+00bc <[^>]*> lb a0,[01]\(at\)
-0+00c0 <[^>]*> lbu at,[01]\(at\)
-0+00c4 <[^>]*> sll a0,a0,0x8
-0+00c8 <[^>]*> or a0,a0,at
-0+00cc <[^>]*> addiu at,gp,1
-[ ]*cc: [A-Z0-9_]*GPREL[A-Z0-9_]* small_external_common
-0+00d0 <[^>]*> lbu a0,[01]\(at\)
-0+00d4 <[^>]*> lbu at,[01]\(at\)
-0+00d8 <[^>]*> sll a0,a0,0x8
-0+00dc <[^>]*> or a0,a0,at
-0+00e0 <[^>]*> addiu at,gp,-16383
-[ ]*e0: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00e4 <[^>]*> lwl a0,[03]\(at\)
-0+00e8 <[^>]*> lwr a0,[03]\(at\)
-0+00ec <[^>]*> addiu at,gp,-15383
-[ ]*ec: [A-Z0-9_]*GPREL[A-Z0-9_]* .sbss.*
-0+00f0 <[^>]*> sb a0,[01]\(at\)
-0+00f4 <[^>]*> srl a0,a0,0x8
-0+00f8 <[^>]*> sb a0,[01]\(at\)
-0+00fc <[^>]*> lbu at,[01]\(at\)
-0+0100 <[^>]*> sll a0,a0,0x8
-0+0104 <[^>]*> or a0,a0,at
- ...
diff --git a/gas/testsuite/gas/mips/vr4122.d b/gas/testsuite/gas/mips/vr4122.d
index 9ff3b6d..99e0043 100644
--- a/gas/testsuite/gas/mips/vr4122.d
+++ b/gas/testsuite/gas/mips/vr4122.d
@@ -1,6 +1,6 @@
#objdump: -dz --prefix-addresses -m mips:4120
-#as: -32 -march=vr4120 -mtune=vr4120 -mfix-vr4122-bugs
-#name: MIPS vr4122 workarounds
+#as: -32 -march=vr4120 -mfix-vr4120
+#name: MIPS vr4120 workarounds
.*: +file format .*mips.*
diff --git a/gas/testsuite/gas/mips/vr4122.s b/gas/testsuite/gas/mips/vr4122.s
index 6c38c88..4661e1a 100644
--- a/gas/testsuite/gas/mips/vr4122.s
+++ b/gas/testsuite/gas/mips/vr4122.s
@@ -1,4 +1,4 @@
-# Test that certain vr4122 hardware bugs are worked around.
+# Test workarounds selected by -mfix-vr4120.
# Note that we only work around bugs gcc may generate.
r21:
diff --git a/gas/testsuite/gas/ppc/power4.d b/gas/testsuite/gas/ppc/power4.d
index 6094848..4a56a27 100644
--- a/gas/testsuite/gas/ppc/power4.d
+++ b/gas/testsuite/gas/ppc/power4.d
@@ -10,7 +10,7 @@ start address 0x0+
Sections:
Idx Name +Size +VMA +LMA +File off +Algn
- +0 \.text +0+b8 +0+ +0+ +.*
+ +0 \.text +0+c4 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
+1 \.data +0+10 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, DATA
@@ -99,3 +99,6 @@ Disassembly of section \.text:
+ac: 7c 72 00 26 mfcr r3,32
+b0: 7c 74 00 26 mfcr r3,64
+b4: 7c 78 00 26 mfcr r3,128
+ +b8: 7c 01 17 ec dcbz r1,r2
+ +bc: 7c 23 27 ec dcbzl r3,r4
+ +c0: 7c 05 37 ec dcbz r5,r6
diff --git a/gas/testsuite/gas/ppc/power4.s b/gas/testsuite/gas/ppc/power4.s
index 3514e63..f2a162d 100644
--- a/gas/testsuite/gas/ppc/power4.s
+++ b/gas/testsuite/gas/ppc/power4.s
@@ -68,6 +68,10 @@ dsym1:
mfcr 3,0x40
mfcr 3,0x80
+ dcbz 1, 2
+ dcbzl 3, 4
+ dcbz 5, 6
+
.section ".data"
usym0: .llong 0xcafebabe
usym1:
diff --git a/gas/testsuite/gas/sh/basic.exp b/gas/testsuite/gas/sh/basic.exp
index 9d16e0e..1e72ff1 100644
--- a/gas/testsuite/gas/sh/basic.exp
+++ b/gas/testsuite/gas/sh/basic.exp
@@ -157,6 +157,9 @@ if [istarget sh*-*-*] then {
run_dump_test "tlspic"
run_dump_test "tlsnopic"
+
+ # Test -renesas.
+ run_dump_test "renesas-1"
}
}
diff --git a/gas/testsuite/gas/sh/pcrel2.d b/gas/testsuite/gas/sh/pcrel2.d
index 60a01df..21df0aa 100644
--- a/gas/testsuite/gas/sh/pcrel2.d
+++ b/gas/testsuite/gas/sh/pcrel2.d
@@ -8,8 +8,8 @@ Disassembly of section \.text:
00000000 <code>:
0: 8b 01 bf 6 <foo>
- 2: d0 02 mov\.l c <bar>,r0 ! 0x6
- 4: 90 02 mov\.w c <bar>,r0 ! 0x0
+ 2: d0 02 mov\.l c <bar>,r0 ! 0x6 .*
+ 4: 90 02 mov\.w c <bar>,r0 ! 0x0 .*
00000006 <foo>:
6: af fe bra 6 <foo>
diff --git a/gas/testsuite/gas/sh/renesas-1.d b/gas/testsuite/gas/sh/renesas-1.d
new file mode 100644
index 0000000..e1c9247
--- /dev/null
+++ b/gas/testsuite/gas/sh/renesas-1.d
@@ -0,0 +1,11 @@
+#objdump: -dr
+#as: -renesas
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <foo-0x4>:
+ 0: 00 00 [ ]*\.word 0x0000
+[ ]+0: R_SH_DIR32 foo
+ \.\.\.
diff --git a/gas/testsuite/gas/sh/renesas-1.s b/gas/testsuite/gas/sh/renesas-1.s
new file mode 100644
index 0000000..974b586
--- /dev/null
+++ b/gas/testsuite/gas/sh/renesas-1.s
@@ -0,0 +1,3 @@
+ .text
+ .long foo
+foo:
diff --git a/gas/testsuite/gas/sh/sh64/err-dsp.s b/gas/testsuite/gas/sh/sh64/err-dsp.s
index 52173a7..3cee009 100644
--- a/gas/testsuite/gas/sh/sh64/err-dsp.s
+++ b/gas/testsuite/gas/sh/sh64/err-dsp.s
@@ -11,5 +11,5 @@
.text
start:
ldc r3,mod ! { dg-error "invalid operands" }
- ldre @(16,pc) ! { dg-error "unknown opcode" }
+ ldre @(16,pc) ! { dg-error "opcode not valid for this cpu variant" }
lds r4,a0 ! { dg-error "invalid operands" }
diff --git a/gas/testsuite/gas/sh/tlsd.d b/gas/testsuite/gas/sh/tlsd.d
index 5ca4ef5..b4d7597 100644
--- a/gas/testsuite/gas/sh/tlsd.d
+++ b/gas/testsuite/gas/sh/tlsd.d
@@ -11,12 +11,12 @@ Disassembly of section .text:
2: 2f e6 [ ]*mov\.l r14,@-r15
4: 4f 22 [ ]*sts\.l pr,@-r15
6: c7 14 [ ]*mova 58 <fn\+0x58>,r0
- 8: dc 13 [ ]*mov\.l 58 <fn\+0x58>,r12[ ]+! 0x0
+ 8: dc 13 [ ]*mov\.l 58 <fn\+0x58>,r12[ ]+! 0x0 .*
a: 3c 0c [ ]*add r0,r12
c: 6e f3 [ ]*mov r15,r14
- e: d4 04 [ ]*mov\.l 20 <fn\+0x20>,r4[ ]+! 0x0
+ e: d4 04 [ ]*mov\.l 20 <fn\+0x20>,r4[ ]+! 0x0 .*
10: c7 04 [ ]*mova 24 <fn\+0x24>,r0
- 12: d1 04 [ ]*mov\.l 24 <fn\+0x24>,r1[ ]+! 0x0
+ 12: d1 04 [ ]*mov\.l 24 <fn\+0x24>,r1[ ]+! 0x0 .*
14: 31 0c [ ]*add r0,r1
16: 41 0b [ ]*jsr @r1
18: 34 cc [ ]*add r12,r4
@@ -26,9 +26,9 @@ Disassembly of section .text:
\.\.\.
[ ]+20: R_SH_TLS_GD_32 foo
[ ]+24: R_SH_PLT32 __tls_get_addr
- 28: d4 03 [ ]*mov\.l 38 <fn\+0x38>,r4[ ]+! 0x0
+ 28: d4 03 [ ]*mov\.l 38 <fn\+0x38>,r4[ ]+! 0x0 .*
2a: c7 04 [ ]*mova 3c <fn\+0x3c>,r0
- 2c: d1 03 [ ]*mov\.l 3c <fn\+0x3c>,r1[ ]+! 0x0
+ 2c: d1 03 [ ]*mov\.l 3c <fn\+0x3c>,r1[ ]+! 0x0 .*
2e: 31 0c [ ]*add r0,r1
30: 41 0b [ ]*jsr @r1
32: 34 cc [ ]*add r12,r4
@@ -38,10 +38,10 @@ Disassembly of section .text:
[ ]+38: R_SH_TLS_LD_32 bar
[ ]+3c: R_SH_PLT32 __tls_get_addr
40: e2 01 [ ]*mov #1,r2
- 42: d1 06 [ ]*mov\.l 5c <fn\+0x5c>,r1[ ]+! 0x0
+ 42: d1 06 [ ]*mov\.l 5c <fn\+0x5c>,r1[ ]+! 0x0 .*
44: 30 1c [ ]*add r1,r0
46: 20 22 [ ]*mov\.l r2,@r0
- 48: d1 05 [ ]*mov\.l 60 <fn\+0x60>,r1[ ]+! 0x0
+ 48: d1 05 [ ]*mov\.l 60 <fn\+0x60>,r1[ ]+! 0x0 .*
4a: 30 1c [ ]*add r1,r0
4c: 6f e3 [ ]*mov r14,r15
4e: 4f 26 [ ]*lds\.l @r15\+,pr
diff --git a/gas/testsuite/gas/sh/tlsnopic.d b/gas/testsuite/gas/sh/tlsnopic.d
index c987939..6913127 100644
--- a/gas/testsuite/gas/sh/tlsnopic.d
+++ b/gas/testsuite/gas/sh/tlsnopic.d
@@ -10,7 +10,7 @@ Disassembly of section .text:
0: 2f e6 [ ]*mov\.l r14,@-r15
2: 6e f3 [ ]*mov r15,r14
4: 01 12 [ ]*stc gbr,r1
- 6: d0 02 [ ]*mov\.l 10 <fn\+0x10>,r0[ ]+! 0x0
+ 6: d0 02 [ ]*mov\.l 10 <fn\+0x10>,r0[ ]+! 0x0 .*
8: 30 1c [ ]*add r1,r0
a: 6f e3 [ ]*mov r14,r15
c: 00 0b [ ]*rts
diff --git a/gas/testsuite/gas/sh/tlspic.d b/gas/testsuite/gas/sh/tlspic.d
index b15e063..207ab1a 100644
--- a/gas/testsuite/gas/sh/tlspic.d
+++ b/gas/testsuite/gas/sh/tlspic.d
@@ -11,9 +11,9 @@ Disassembly of section .text:
2: 2f e6 [ ]*mov\.l r14,@-r15
4: 6e f3 [ ]*mov r15,r14
6: c7 08 [ ]*mova 28 <fn\+0x28>,r0
- 8: dc 07 [ ]*mov\.l 28 <fn\+0x28>,r12[ ]+! 0x0
+ 8: dc 07 [ ]*mov\.l 28 <fn\+0x28>,r12[ ]+! 0x0 .*
a: 3c 0c [ ]*add r0,r12
- c: d0 02 [ ]*mov\.l 18 <fn\+0x18>,r0[ ]+! 0x0
+ c: d0 02 [ ]*mov\.l 18 <fn\+0x18>,r0[ ]+! 0x0 .*
e: 01 12 [ ]*stc gbr,r1
10: 00 ce [ ]*mov\.l @\(r0,r12\),r0
12: a0 03 [ ]*bra 1c <fn\+0x1c>
diff --git a/gas/testsuite/gas/symver/symver0.d b/gas/testsuite/gas/symver/symver0.d
index d318a30..9ad6c88 100644
--- a/gas/testsuite/gas/symver/symver0.d
+++ b/gas/testsuite/gas/symver/symver0.d
@@ -1,6 +1,10 @@
#nm: -n
#name: symver symver0
+#
+# The #... and #pass are there to match extra symbols inserted by
+# some toolchains, eg arm-elf toolchain will add $d.
[ ]+U foo@version1
+#...
0+0000000 D foo1
0+00000.. d L_foo1
diff --git a/gas/testsuite/gas/symver/symver1.d b/gas/testsuite/gas/symver/symver1.d
index e1d80ea..ab9b949 100644
--- a/gas/testsuite/gas/symver/symver1.d
+++ b/gas/testsuite/gas/symver/symver1.d
@@ -1,7 +1,11 @@
#nm: -n
#name: symver symver1
+#
+# The #... and #pass are there to match extra symbols inserted by
+# some toolchains, eg arm-elf toolchain will add $d.
[ ]+U foo@version1
+#...
0+0000000 D foo1@@version1
0+00000.. d L_foo1
0+00000.. D foo2
diff --git a/gas/testsuite/lib/gas-defs.exp b/gas/testsuite/lib/gas-defs.exp
index fec2778..f0c6b8c 100644
--- a/gas/testsuite/lib/gas-defs.exp
+++ b/gas/testsuite/lib/gas-defs.exp
@@ -197,6 +197,7 @@ proc is_elf_format {} {
&& ![istarget *-*-irix5*] \
&& ![istarget *-*-irix6*] \
&& ![istarget *-*-netbsd*] \
+ && ![istarget *-*-openbsd*] \
&& ![istarget *-*-solaris2*] } {
return 0
}
@@ -217,6 +218,18 @@ proc is_elf_format {} {
|| [istarget ns32k-*-netbsd*]) } {
return 0
}
+
+ if { [istarget arm-*-openbsd*] \
+ || [istarget i386-*-openbsd\[0-2\].*] \
+ || [istarget i386-*-openbsd3.\[0-3\]] \
+ || [istarget m68*-*-openbsd*] \
+ || [istarget ns32k-*-openbsd*] \
+ || [istarget sparc-*-openbsd\[0-2\].*] \
+ || [istarget sparc-*-openbsd3.\[0-1\]] \
+ || [istarget vax-*-openbsd*] } {
+ return 0
+ }
+
return 1
}
diff --git a/gprof/ChangeLog b/gprof/ChangeLog
index 75431c2..3ec352d 100644
--- a/gprof/ChangeLog
+++ b/gprof/ChangeLog
@@ -1,3 +1,11 @@
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * po/sv.po: Updated.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * gconfig.in: Regenerate.
+ * po/gprof.pot: Regenerate.
For older changes see ChangeLog-9203
diff --git a/gprof/Makefile.am b/gprof/Makefile.am
index 18a0b52..5356ce2 100644
--- a/gprof/Makefile.am
+++ b/gprof/Makefile.am
@@ -196,11 +196,11 @@ sym_ids.o: sym_ids.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
$(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
source.h symtab.h cg_arcs.h sym_ids.h
-utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/ansidecl.h \
- gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/fopen-same.h \
- $(INCDIR)/filenames.h ../bfd/bfd.h $(INCDIR)/symcat.h \
- gconfig.h $(INCDIR)/bin-bugs.h search_list.h source.h \
- symtab.h cg_arcs.h utils.h
+utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/ansidecl.h gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \
+ $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
+ $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
+ source.h symtab.h cg_arcs.h utils.h
i386.o: i386.c gprof.h $(BFDDIR)/sysdep.h $(INCDIR)/ansidecl.h \
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
diff --git a/gprof/Makefile.in b/gprof/Makefile.in
index 8d5dc0f..158d9c4 100644
--- a/gprof/Makefile.in
+++ b/gprof/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -192,7 +192,7 @@ TODO acinclude.m4 aclocal.m4 configure configure.in gconfig.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
SOURCES = $(gprof_SOURCES)
OBJECTS = $(gprof_OBJECTS)
@@ -858,11 +858,11 @@ sym_ids.o: sym_ids.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
$(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
$(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
source.h symtab.h cg_arcs.h sym_ids.h
-utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/ansidecl.h \
- gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h $(INCDIR)/fopen-same.h \
- $(INCDIR)/filenames.h ../bfd/bfd.h $(INCDIR)/symcat.h \
- gconfig.h $(INCDIR)/bin-bugs.h search_list.h source.h \
- symtab.h cg_arcs.h utils.h
+utils.o: utils.c $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/ansidecl.h gprof.h $(BFDDIR)/sysdep.h ../bfd/config.h \
+ $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h ../bfd/bfd.h \
+ $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h search_list.h \
+ source.h symtab.h cg_arcs.h utils.h
i386.o: i386.c gprof.h $(BFDDIR)/sysdep.h $(INCDIR)/ansidecl.h \
../bfd/config.h $(INCDIR)/fopen-same.h $(INCDIR)/filenames.h \
../bfd/bfd.h $(INCDIR)/symcat.h gconfig.h $(INCDIR)/bin-bugs.h \
diff --git a/gprof/gconfig.in b/gprof/gconfig.in
index d1c2ebd..d57b258 100644
--- a/gprof/gconfig.in
+++ b/gprof/gconfig.in
@@ -97,6 +97,9 @@
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
@@ -106,6 +109,12 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/gprof/po/gprof.pot b/gprof/po/gprof.pot
index b1c319a..2426c1d 100644
--- a/gprof/po/gprof.pot
+++ b/gprof/po/gprof.pot
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 15:00+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -66,6 +67,7 @@ msgid ""
msgstr ""
#: basic_blocks.c:577
+#, c-format
msgid ""
"\n"
"Execution Summary:\n"
@@ -105,12 +107,14 @@ msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr ""
#: cg_print.c:73
+#, c-format
msgid ""
"\t\t Call graph (explanation follows)\n"
"\n"
msgstr ""
#: cg_print.c:75
+#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
@@ -131,6 +135,7 @@ msgid ""
msgstr ""
#: cg_print.c:86
+#, c-format
msgid ""
" no time propagated\n"
"\n"
@@ -194,6 +199,7 @@ msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontaneous>\n"
msgstr ""
#: cg_print.c:604
+#, c-format
msgid ""
"Index by function name\n"
"\n"
@@ -244,7 +250,7 @@ msgstr ""
msgid "%s: file `%s' has no symbols\n"
msgstr ""
-#: corefile.c:758
+#: corefile.c:764
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr ""
@@ -295,6 +301,7 @@ msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr ""
#: gmon_io.c:592
+#, c-format
msgid "time is in ticks, not seconds\n"
msgstr ""
@@ -378,11 +385,13 @@ msgid "GNU gprof %s\n"
msgstr ""
#: gprof.c:418
+#, c-format
msgid ""
"Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr ""
#: gprof.c:419
+#, c-format
msgid ""
"This program is free software. This program has absolutely no warranty.\n"
msgstr ""
@@ -443,6 +452,7 @@ msgid ""
msgstr ""
#: hist.c:378
+#, c-format
msgid ""
" no time accumulated\n"
"\n"
@@ -469,6 +479,7 @@ msgid "calls"
msgstr ""
#: hist.c:481
+#, c-format
msgid ""
"\n"
"\n"
@@ -477,6 +488,7 @@ msgid ""
msgstr ""
#: hist.c:487
+#, c-format
msgid "Flat profile:\n"
msgstr ""
diff --git a/gprof/po/sv.po b/gprof/po/sv.po
index e96f893..c1b49c3 100644
--- a/gprof/po/sv.po
+++ b/gprof/po/sv.po
@@ -1,58 +1,58 @@
# Swedish messages for gprof.
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-# Christian Rose <menthos@menthos.com>, 2001, 2002.
+# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+# Christian Rose <menthos@menthos.com>, 2001, 2002, 2004.
#
msgid ""
msgstr ""
-"Project-Id-Version: gprof 2.12.1\n"
-"POT-Creation-Date: 2002-01-31 18:32+0000\n"
-"PO-Revision-Date: 2002-07-23 14:01+0200\n"
+"Project-Id-Version: gprof 2.14rel030712\n"
+"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"PO-Revision-Date: 2004-03-18 23:52+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: alpha.c:93 mips.c:47
+#: alpha.c:103 mips.c:57
msgid "<indirect child>"
msgstr "<indirekt barn>"
-#: alpha.c:110 mips.c:64
+#: alpha.c:120 mips.c:74
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s: 0x%lx till 0x%lx\n"
-#: alpha.c:132
+#: alpha.c:142
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "[find_call] 0x%lx: jsr%s <indirekt_barn>\n"
-#: alpha.c:142
+#: alpha.c:152
#, c-format
msgid "[find_call] 0x%lx: bsr"
msgstr "[find_call] 0x%lx: bsr"
-#: basic_blocks.c:122 call_graph.c:90 hist.c:93
+#: basic_blocks.c:134 call_graph.c:94 hist.c:98
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: oväntat filslut\n"
-#: basic_blocks.c:190
+#: basic_blocks.c:202
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: varning: ignorerar exekveringsräkning för grundblock (använd -l eller --line)\n"
#. FIXME: This only works if bfd_vma is unsigned long.
-#: basic_blocks.c:281 basic_blocks.c:291
+#: basic_blocks.c:295 basic_blocks.c:305
#, c-format
msgid "%s:%d: (%s:0x%lx) %lu executions\n"
msgstr "%s:%d: (%s:0x%lx) %lu exekveringar\n"
-#: basic_blocks.c:282 basic_blocks.c:292
+#: basic_blocks.c:296 basic_blocks.c:306
msgid "<unknown>"
msgstr "<okänd>"
-#: basic_blocks.c:536
+#: basic_blocks.c:553
#, c-format
msgid ""
"\n"
@@ -69,7 +69,7 @@ msgstr ""
" Rad Antal\n"
"\n"
-#: basic_blocks.c:560
+#: basic_blocks.c:577
msgid ""
"\n"
"Execution Summary:\n"
@@ -79,22 +79,22 @@ msgstr ""
"Exekveringssammanfattning:\n"
"\n"
-#: basic_blocks.c:561
+#: basic_blocks.c:578
#, c-format
msgid "%9ld Executable lines in this file\n"
msgstr "%9ld Exekverbara rader i denna fil\n"
-#: basic_blocks.c:563
+#: basic_blocks.c:580
#, c-format
msgid "%9ld Lines executed\n"
msgstr "%9ld Exekverade rader\n"
-#: basic_blocks.c:564
+#: basic_blocks.c:581
#, c-format
msgid "%9.2f Percent of the file executed\n"
msgstr "%9.2f Procent av filen som exekverats\n"
-#: basic_blocks.c:568
+#: basic_blocks.c:585
#, c-format
msgid ""
"\n"
@@ -103,17 +103,17 @@ msgstr ""
"\n"
"%9lu Totala antalet radexekveringar\n"
-#: basic_blocks.c:570
+#: basic_blocks.c:587
#, c-format
msgid "%9.2f Average executions per line\n"
msgstr "%9.2f Medelexekveringar per rad\n"
-#: call_graph.c:69
+#: call_graph.c:71
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] båge från %s till %s traverserad %lu gånger\n"
-#: cg_print.c:58
+#: cg_print.c:73
msgid ""
"\t\t Call graph (explanation follows)\n"
"\n"
@@ -121,7 +121,7 @@ msgstr ""
"\t\t Angropsgraf (förklaring följer)\n"
"\n"
-#: cg_print.c:60
+#: cg_print.c:75
msgid ""
"\t\t\tCall graph\n"
"\n"
@@ -129,7 +129,7 @@ msgstr ""
"\t\t\tAnropsgraf\n"
"\n"
-#: cg_print.c:63 hist.c:355
+#: cg_print.c:78 hist.c:363
#, c-format
msgid ""
"\n"
@@ -138,7 +138,7 @@ msgstr ""
"\n"
"upplösning: varje stickprov täcker %ld byte"
-#: cg_print.c:67
+#: cg_print.c:82
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
@@ -147,7 +147,7 @@ msgstr ""
" för %.2f%% på %.2f sekunder\n"
"\n"
-#: cg_print.c:71
+#: cg_print.c:86
msgid ""
" no time propagated\n"
"\n"
@@ -155,63 +155,64 @@ msgstr ""
" ingen tid propagerad\n"
"\n"
-#: cg_print.c:80 cg_print.c:83 cg_print.c:85
+#: cg_print.c:95 cg_print.c:98 cg_print.c:100
msgid "called"
msgstr "anropad"
-#: cg_print.c:80 cg_print.c:85
+#: cg_print.c:95 cg_print.c:100
msgid "total"
msgstr "totalt"
-#: cg_print.c:80
+#: cg_print.c:95
msgid "parents"
msgstr "föräldrar"
-#: cg_print.c:82 cg_print.c:83
+#: cg_print.c:97 cg_print.c:98
msgid "index"
msgstr "index"
-#: cg_print.c:82
+#: cg_print.c:97
+#, c-format
msgid "%time"
msgstr "%tid"
-#: cg_print.c:82 cg_print.c:83
+#: cg_print.c:97 cg_print.c:98
msgid "self"
msgstr "själv"
-#: cg_print.c:82
+#: cg_print.c:97
msgid "descendants"
msgstr "ättlingar"
-#: cg_print.c:83 hist.c:381
+#: cg_print.c:98 hist.c:389
msgid "name"
msgstr "namn"
-#: cg_print.c:85
+#: cg_print.c:100
msgid "children"
msgstr "barn"
-#: cg_print.c:90
+#: cg_print.c:105
#, c-format
msgid "index %% time self children called name\n"
msgstr "index %% tid själv barn anropad namn\n"
-#: cg_print.c:113
+#: cg_print.c:129
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <hela cykel %d> [%d]\n"
-#: cg_print.c:339
+#: cg_print.c:363
#, c-format
msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontant>\n"
-#: cg_print.c:340
+#: cg_print.c:364
#, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontant>\n"
-#: cg_print.c:574
+#: cg_print.c:604
msgid ""
"Index by function name\n"
"\n"
@@ -219,7 +220,7 @@ msgstr ""
"Index efter funktionsnamn\n"
"\n"
-#: cg_print.c:631 cg_print.c:640
+#: cg_print.c:661 cg_print.c:670
#, c-format
msgid "<cycle %d>"
msgstr "<cykel %d>"
@@ -234,133 +235,133 @@ msgstr "%s: kunde inte öppna %s.\n"
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: kan inte tolka mappfilen %s.\n"
-#: corefile.c:154
+#: corefile.c:155
#, c-format
msgid "%s: %s: not in a.out format\n"
msgstr "%s: %s: inte i a.out-format\n"
-#: corefile.c:165
+#: corefile.c:166
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: kan inte hitta .text-sektion i %s\n"
-#: corefile.c:223
+#: corefile.c:225
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: slut på utrymme för %lu byte textutrymme\n"
-#: corefile.c:237
+#: corefile.c:239
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: kan inte göra -c\n"
-#: corefile.c:272
+#: corefile.c:276
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c stöds inte på arkitekturen %s\n"
-#: corefile.c:439
+#: corefile.c:447
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: filen \"%s\" har inga symboler\n"
-#: corefile.c:739
+#: corefile.c:758
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: någon räknade fel: ltab.len=%d istället för %ld\n"
-#: gmon_io.c:83 gmon_io.c:137 gmon_io.c:188 gmon_io.c:216 gmon_io.c:386 gmon_io.c:413 gmon_io.c:609 gmon_io.c:634
+#: gmon_io.c:82
#, c-format
-msgid "%s: bits per address has unexpected value of %u\n"
-msgstr "%s: bitar per adress har ett oväntat värde på %u\n"
+msgid "%s: address size has unexpected value of %u\n"
+msgstr "%s: adresstorleken har ett oväntat värde på %u\n"
-#: gmon_io.c:252 gmon_io.c:347
+#: gmon_io.c:345 gmon_io.c:440
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: filen är för kort för att vara en gmon-fil\n"
-#: gmon_io.c:262 gmon_io.c:396
+#: gmon_io.c:355 gmon_io.c:483
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: filen \"%s\" har felaktigt magiskt tal\n"
-#: gmon_io.c:273
+#: gmon_io.c:366
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: filen \"%s\" har version %d som inte stöds\n"
-#: gmon_io.c:303
+#: gmon_io.c:396
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: hittade felaktig tagg %d (är filen skadad?)\n"
-#: gmon_io.c:369
+#: gmon_io.c:462
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: profileringshastighet är inkompatibel med första gmon-filen\n"
-#: gmon_io.c:429
+#: gmon_io.c:510
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: inkompatibel med första gmon-filen\n"
-#: gmon_io.c:457
+#: gmon_io.c:538
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: filen \"%s\" verkar inte vara i gmon.out-format\n"
# Man brukar tala om "bins" i hashtabeller
#
-#: gmon_io.c:478
+#: gmon_io.c:559
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: oväntat filslut efter läsning av %d/%d poster\n"
-#: gmon_io.c:511
+#: gmon_io.c:592
msgid "time is in ticks, not seconds\n"
msgstr "tiden är i tick, inte sekunder\n"
-#: gmon_io.c:517 gmon_io.c:704
+#: gmon_io.c:598 gmon_io.c:775
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: vet inte hur fileformat %d ska hanteras\n"
-#: gmon_io.c:524
+#: gmon_io.c:605
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Filen \"%s\" (version %d) innehåller:\n"
-#: gmon_io.c:527
+#: gmon_io.c:608
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d histogrampost\n"
-#: gmon_io.c:528
+#: gmon_io.c:609
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d histogramposter\n"
-#: gmon_io.c:530
+#: gmon_io.c:611
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d anropsgrafpost\n"
-#: gmon_io.c:531
+#: gmon_io.c:612
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d anropsgrafposter\n"
-#: gmon_io.c:533
+#: gmon_io.c:614
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d grundblocksräkningspost\n"
-#: gmon_io.c:534
+#: gmon_io.c:615
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d grundblocksräkningsposter\n"
-#: gprof.c:147
+#: gprof.c:163
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n"
@@ -391,78 +392,78 @@ msgstr ""
"\t[--demangle[=STIL]] [--no-demangle]\n"
"\t[bildfil] [profilfil...]\n"
-#: gprof.c:163
+#: gprof.c:179
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Rapportera fel till %s,\n"
"och synpunkter på översättningen till sv@li.org\n"
-#: gprof.c:235
+#: gprof.c:253
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: felsökning stöds inte; -d ignorerades\n"
-#: gprof.c:315
+#: gprof.c:333
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: okänt filformat %s\n"
#. This output is intended to follow the GNU standards document.
-#: gprof.c:399
+#: gprof.c:417
#, c-format
msgid "GNU gprof %s\n"
msgstr "GNU gprof %s\n"
-#: gprof.c:400
+#: gprof.c:418
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Baserat på BSD gprof, copyright 1983 Regents of the University of California.\n"
-#: gprof.c:401
+#: gprof.c:419
msgid "This program is free software. This program has absolutely no warranty.\n"
msgstr "Detta program är fri programvara. Detta program har ingen som helst garanti.\n"
-#: gprof.c:442
+#: gprof.c:460
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: okänd avmanglingsstil \"%s\"\n"
-#: gprof.c:462
+#: gprof.c:480
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Endast en av --function-ordering och --file-ordering kan anges.\n"
-#: gprof.c:562
+#: gprof.c:578
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: tyvärr, filformatet \"prof\" stöds inte än\n"
-#: gprof.c:623
+#: gprof.c:639
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: gmon.out-filen saknar histogram\n"
-#: gprof.c:630
+#: gprof.c:646
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: gmon.out-filen saknar anropsgrafdata\n"
-#: hist.c:122
+#: hist.c:127
#, c-format
msgid "%s: `%s' is incompatible with first gmon file\n"
msgstr "%s: \"%s\" är inkompatibel med första gmon-filen\n"
-#: hist.c:138
+#: hist.c:143
#, c-format
msgid "%s: %s: unexpected EOF after reading %d of %d samples\n"
msgstr "%s: %s: oväntat filslut efter läsning av %d av %d stickprov\n"
-#: hist.c:351
+#: hist.c:359
#, c-format
msgid "%c%c/call"
msgstr "%c%c/anrop"
-#: hist.c:359
+#: hist.c:367
#, c-format
msgid ""
" for %.2f%% of %.2f %s\n"
@@ -471,7 +472,7 @@ msgstr ""
" för %.2f%% av %.2f %s\n"
"\n"
-#: hist.c:365
+#: hist.c:373
#, c-format
msgid ""
"\n"
@@ -480,7 +481,7 @@ msgstr ""
"\n"
"Varje stickprov räknas som %g %s.\n"
-#: hist.c:370
+#: hist.c:378
msgid ""
" no time accumulated\n"
"\n"
@@ -488,27 +489,27 @@ msgstr ""
" ingen ackumulerad tid\n"
"\n"
-#: hist.c:377
+#: hist.c:385
msgid "cumulative"
msgstr "kumulativ"
-#: hist.c:377
+#: hist.c:385
msgid "self "
msgstr "själv"
-#: hist.c:377
+#: hist.c:385
msgid "total "
msgstr "totalt"
-#: hist.c:380
+#: hist.c:388
msgid "time"
msgstr "tid"
-#: hist.c:380
+#: hist.c:388
msgid "calls"
msgstr "anrop"
-#: hist.c:469
+#: hist.c:481
msgid ""
"\n"
"\n"
@@ -520,31 +521,31 @@ msgstr ""
"\n"
"platt profil:\n"
-#: hist.c:475
+#: hist.c:487
msgid "Flat profile:\n"
msgstr "Platt profil:\n"
-#: mips.c:75
+#: mips.c:85
#, c-format
msgid "[find_call] 0x%lx: jal"
msgstr "[find_call] 0x%lx: jal"
-#: mips.c:100
+#: mips.c:110
#, c-format
msgid "[find_call] 0x%lx: jalr\n"
msgstr "[find_call] 0x%lx: jalr\n"
-#: source.c:163
+#: source.c:166
#, c-format
msgid "%s: could not locate `%s'\n"
msgstr "%s: kunde inte hitta \"%s\"\n"
-#: source.c:238
+#: source.c:241
#, c-format
msgid "*** File %s:\n"
msgstr "*** Fil %s:\n"
-#: utils.c:96
+#: utils.c:109
#, c-format
msgid " <cycle %d>"
msgstr " <cykel %d>"
diff --git a/include/ChangeLog b/include/ChangeLog
index e2fa68f..ad85411 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,38 @@
+2004-04-22 Richard Henderson <rth@redhat.com>
+
+ * hashtab.h (struct htab): Add size_prime_index.
+
+2004-04-13 Jeff Law <law@redhat.com>
+
+ * hashtab.h (htab_remove_elt_with_hash): Prototype new function.
+
+2004-03-30 Zack Weinberg <zack@codesourcery.com>
+
+ * hashtab.h, splay-tree.h: Use new shorter form of GTY markers.
+
+2004-03-25 Stan Shebs <shebs@apple.com>
+
+ * mpw/: Remove subdirectory and everything in it.
+
+2004-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR 51.
+ * bfdlink.h (struct bfd_link_info): Add wrap_char.
+
+2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_link_info): Correct comments for the
+ unresolved_syms_in_objects field.
+
+2004-02-24 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * dyn-string.h: Update copyright date.
+
+2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * dyn-string.h: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
+ the associated #defines.
+
2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
* demangle.h: Instead of checking ANSI_PROTOTYPES, just include
@@ -528,8 +563,8 @@ Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
- * ansidecl.h: #define __extension__ to nothing if
- GCC_VERSION < 2008.
+ * ansidecl.h: #define __extension__ to nothing if
+ GCC_VERSION < 2008.
2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@@ -774,8 +809,8 @@ Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com>
Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_fetch_register, sim_store_register): Add
- register length parameter. Functions return actual length of
- register.
+ register length parameter. Functions return actual length of
+ register.
Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
@@ -833,7 +868,7 @@ Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
- argument.
+ argument.
Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com>
@@ -904,7 +939,7 @@ Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com>
Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
- * remote-sim.h (sim_kill): Mark as depreciated.
+ * remote-sim.h (sim_kill): Mark as deprecated.
Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
@@ -913,12 +948,12 @@ Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h: Review documentation. Clarify restrictions on
- when functions can be called.
+ when functions can be called.
Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_set_profile_size): Add prototype, document as
- depreciated.
+ deprecated.
Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
@@ -952,16 +987,16 @@ Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_stop): New interface - asynchronous
- notification of a request to stop / suspend the running
- simulation.
+ notification of a request to stop / suspend the running
+ simulation.
* remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
- states for use internal to simulators.
+ states for use internal to simulators.
* callback.h (struct host_callback_strut): Put a magic number at
- the end of the struct to allow basic checking.
+ the end of the struct to allow basic checking.
(struct host_callback_struct ): Add poll_quit - so
- that the console etc can be polled at regular intervals.
+ that the console etc can be polled at regular intervals.
Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
@@ -972,7 +1007,7 @@ Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* remote-sim.h (sim_trace, sim_size): Make these global. They
- will go away shortly.
+ will go away shortly.
Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com>
@@ -1002,7 +1037,7 @@ Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com>
Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* remote-sim.h: New file, copied in from gdb/remote-sim.h. One
- day this will be placed in a directory of its own.
+ day this will be placed in a directory of its own.
Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
@@ -1011,8 +1046,8 @@ Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* callback.h (struct host_callback_struct): Add callbacks -
- flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
- evprintf_filtered. Delete redundant callbacks - printf_filtered.
+ flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
+ evprintf_filtered. Delete redundant callbacks - printf_filtered.
Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com>
@@ -1124,7 +1159,7 @@ Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com>
can define PRIVATE_XMALLOC and then define xmalloc and
xrealloc anyway they want.
(basename): Document in source that we can't declare the
- parameter type because it is declared inconsistently across
+ parameter type because it is declared inconsistently across
different systems.
Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu>
@@ -1919,8 +1954,8 @@ Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com)
Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com)
* internalcoff.h: (internal_scnhdr) took out #def dependency, now
- s_nreloc and s_nlnno are always long. (internal_reloc): allways
- has an offset field now.
+ s_nreloc and s_nlnno are always long.
+ (internal_reloc): Always has an offset field now.
Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com)
diff --git a/include/bfdlink.h b/include/bfdlink.h
index a989f64..cc2043e 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -1,6 +1,6 @@
/* bfdlink.h -- header file for BFD link routines
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -303,9 +303,9 @@ struct bfd_link_info
unsigned int noexecstack: 1;
/* What to do with unresolved symbols in an object file.
- When producing static binaries the default is GENERATE_ERROR.
- When producing dynamic binaries the default is IGNORE. The
- assumption with dynamic binaries is that the reference will be
+ When producing executables the default is GENERATE_ERROR.
+ When producing shared libraries the default is IGNORE. The
+ assumption with shared libraries is that the reference will be
resolved at load/execution time. */
enum report_method unresolved_syms_in_objects;
@@ -323,6 +323,11 @@ struct bfd_link_info
whether to include an object from an archive. */
enum bfd_link_common_skip_ar_aymbols common_skip_ar_aymbols;
+ /* Char that may appear as the first char of a symbol, but should be
+ skipped (like symbol_leading_char) when looking up symbols in
+ wrap_hash. Used by PowerPC Linux for 'dot' symbols. */
+ char wrap_char;
+
/* Function callbacks. */
const struct bfd_link_callbacks *callbacks;
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index 3316383..d5f9737 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,3 +1,13 @@
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (MIPS_R_RELHI, MIPS_R_RELLO, MIPS_R_SWITCH): Remove
+ (MIPS_R_PCREL16): Update comment.
+ * ecoff.h (struct ecoff_value_adjust): Remove structure.
+ (struct ecoff_debug_info): Remove 'adjust' member.
+
+2004-04-20 DJ Delorie <dj@redhat.com>
+
+ * internal.h (R_SECREL32): Add.
For older changes see ChangeLog-9103
diff --git a/include/coff/ecoff.h b/include/coff/ecoff.h
index 3a7aa4f..1a39fcb 100644
--- a/include/coff/ecoff.h
+++ b/include/coff/ecoff.h
@@ -322,34 +322,6 @@ struct ecoff_debug_info
this changes in the future. This is a pointer to an array, not a
single structure. */
FDR *fdr;
-
- /* When relaxing MIPS embedded PIC code, we may need to adjust
- symbol values when they are output. This is a linked list of
- structures indicating how values should be adjusted. There is no
- requirement that the entries be in any order, or that they not
- overlap. This field is normally NULL, in which case no
- adjustments need to be made. */
- struct ecoff_value_adjust *adjust;
-};
-
-/* This structure describes how to adjust symbol values when
- outputting MIPS embedded PIC code. These adjustments only apply to
- the internal symbols, as the external symbol values will come from
- the hash table and have already been adjusted. */
-
-struct ecoff_value_adjust
-{
- /* Next entry on adjustment list. */
- struct ecoff_value_adjust *next;
- /* Starting VMA of adjustment. This is the VMA in the ECOFF file,
- not the offset from the start of the section. Thus it should
- indicate a particular section. */
- bfd_vma start;
- /* Ending VMA of adjustment. */
- bfd_vma end;
- /* Adjustment. This should be added to the value of the symbol, or
- FDR. This is zero for the last entry in the array. */
- long adjust;
};
/* These structures are used by the ECOFF find_nearest_line function. */
diff --git a/include/coff/internal.h b/include/coff/internal.h
index 2d41bf9..710e932 100644
--- a/include/coff/internal.h
+++ b/include/coff/internal.h
@@ -607,6 +607,7 @@ struct internal_reloc
#define R_REL24 5
#define R_DIR32 6
#define R_IMAGEBASE 7
+#define R_SECREL32 11
#define R_RELBYTE 15
#define R_RELWORD 16
#define R_RELLONG 17
diff --git a/include/coff/mips.h b/include/coff/mips.h
index b9503bd..bec8da2 100644
--- a/include/coff/mips.h
+++ b/include/coff/mips.h
@@ -105,34 +105,10 @@ struct external_reloc
#define MIPS_R_GPREL 6
#define MIPS_R_LITERAL 7
-/* These reloc types are a Cygnus extension used when generating
- position independent code for embedded systems. The numbers are
- taken from Irix 4, but at least for internal relocs Irix 5 does not
- give them the same meaning. For an internal reloc the symbol index
- of RELHI and RELLO is modified as described below for
- MIPS_R_SWITCH. */
+/* FIXME: This relocation is used (internally only) to represent branches
+ when assembling. It should never appear in output files, and
+ be removed. (It used to be used for embedded-PIC support.) */
#define MIPS_R_PCREL16 12
-#define MIPS_R_RELHI 13
-#define MIPS_R_RELLO 14
-
-/* This reloc type is a Cygnus extension used when generating position
- independent code for embedded systems. It is used for an entry in
- a switch table, which looks like this:
- .word $L3-$LS12
- The object file will contain the correct difference, and does not
- require adjustment. However, when the linker is relaxing PC
- relative calls, it is possible for $L3 to move farther away. This
- reloc always appears in the .text section, and is always against
- the .text section. However, the symbol index is not
- RELOC_SECTION_TEXT. It is, instead, the distance between this
- switch table entry and $LS12. Thus, the original value of $L12 is
- vaddr - symndx
- and the original value of $L3 is
- vaddr - symndx + addend
- where addend is the value in the object file. Knowing this, the
- linker can know whether the addend in the object file must be
- adjusted. */
-#define MIPS_R_SWITCH 22
/********************** STABS **********************/
diff --git a/include/dyn-string.h b/include/dyn-string.h
index 2a771c7..85f88b1 100644
--- a/include/dyn-string.h
+++ b/include/dyn-string.h
@@ -1,5 +1,5 @@
/* An abstract string datatype.
- Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
This file is part of GCC.
@@ -40,35 +40,6 @@ typedef struct dyn_string
(strcmp ((DS1)->s, (DS2)->s))
-/* dyn_string functions are used in the demangling implementation
- included in the G++ runtime library. To prevent collisions with
- names in user programs, the functions that are used in the
- demangler are given implementation-reserved names. */
-
-#if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3)
-
-#define dyn_string_init __cxa_dyn_string_init
-#define dyn_string_new __cxa_dyn_string_new
-#define dyn_string_delete __cxa_dyn_string_delete
-#define dyn_string_release __cxa_dyn_string_release
-#define dyn_string_resize __cxa_dyn_string_resize
-#define dyn_string_clear __cxa_dyn_string_clear
-#define dyn_string_copy __cxa_dyn_string_copy
-#define dyn_string_copy_cstr __cxa_dyn_string_copy_cstr
-#define dyn_string_prepend __cxa_dyn_string_prepend
-#define dyn_string_prepend_cstr __cxa_dyn_string_prepend_cstr
-#define dyn_string_insert __cxa_dyn_string_insert
-#define dyn_string_insert_cstr __cxa_dyn_string_insert_cstr
-#define dyn_string_insert_char __cxa_dyn_string_insert_char
-#define dyn_string_append __cxa_dyn_string_append
-#define dyn_string_append_cstr __cxa_dyn_string_append_cstr
-#define dyn_string_append_char __cxa_dyn_string_append_char
-#define dyn_string_substring __cxa_dyn_string_substring
-#define dyn_string_eq __cxa_dyn_string_eq
-
-#endif /* IN_LIBGCC2 || IN_GLIBCPP_V3 */
-
-
extern int dyn_string_init PARAMS ((struct dyn_string *, int));
extern dyn_string_t dyn_string_new PARAMS ((int));
extern void dyn_string_delete PARAMS ((dyn_string_t));
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index ea008d6..63ac68b 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,27 @@
+2004-04-24 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (R_MIPS_PC32, R_MIPS_PC64, R_MIPS_GNU_REL_LO16)
+ (R_MIPS_GNU_REL_HI16): Remove.
+ (R_MIPS_GNU_REL16_S2): Update comment.
+
+2004-30-30 Galit Heller <Galit.Heller@nsc.com>
+ Tomer Levi <Tomer.Levi@nsc.com>
+
+ * common.h (EM_CR): Define.
+ * cr16c.h: New file.
+
+2004-03-23 Paul Brook <paul@codesourcery.com>
+
+ * arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add.
+
+2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * sh.h: Add EF_SH4_NOMMU_NOFPU.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv.h (EF_FRV_CPU_FR405, EF_FRV_CPU_FR450): Define.
+
2004-01-28 Roland McGrath <roland@redhat.com>
* common.h (AT_SECURE): New macro.
diff --git a/include/elf/arm.h b/include/elf/arm.h
index 181a9f0..158a4b5 100644
--- a/include/elf/arm.h
+++ b/include/elf/arm.h
@@ -42,10 +42,15 @@
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT */
#define EF_ARM_EABIMASK 0xFF000000
+/* Constants defined in AAELF. */
+#define EF_ARM_BE8 0x00800000
+#define EF_ARM_LE8 0x00400000
+
#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
#define EF_ARM_EABI_UNKNOWN 0x00000000
#define EF_ARM_EABI_VER1 0x01000000
#define EF_ARM_EABI_VER2 0x02000000
+#define EF_ARM_EABI_VER3 0x03000000
/* Local aliases for some flags to match names used by COFF port. */
#define F_INTERWORK EF_ARM_INTERWORK
diff --git a/include/elf/common.h b/include/elf/common.h
index bf233f6..8ebc2cf 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -180,6 +180,7 @@
#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
#define EM_IP2K 101 /* Ubicom IP2022 micro controller */
+#define EM_CR 103 /* National Semiconductor CompactRISC */
#define EM_MSP430 105 /* TI msp430 micro controller */
/* If it is necessary to assign new unofficial EM_* values, please pick large
diff --git a/include/elf/cr16c.h b/include/elf/cr16c.h
new file mode 100644
index 0000000..1a91afe
--- /dev/null
+++ b/include/elf/cr16c.h
@@ -0,0 +1,258 @@
+/* CR16C ELF support for BFD.
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#ifndef _ELF_CR16C_H
+#define _ELF_CR16C_H
+
+#include "bfd.h"
+#include "elf/reloc-macros.h"
+
+/* Creating indices for reloc_map_index array. */
+START_RELOC_NUMBERS (elf_cr16c_reloc_type)
+ RELOC_NUMBER (RINDEX_16C_NUM08, 0)
+ RELOC_NUMBER (RINDEX_16C_NUM08_C, 1)
+ RELOC_NUMBER (RINDEX_16C_NUM16, 2)
+ RELOC_NUMBER (RINDEX_16C_NUM16_C, 3)
+ RELOC_NUMBER (RINDEX_16C_NUM32, 4)
+ RELOC_NUMBER (RINDEX_16C_NUM32_C, 5)
+ RELOC_NUMBER (RINDEX_16C_DISP04, 6)
+ RELOC_NUMBER (RINDEX_16C_DISP04_C, 7)
+ RELOC_NUMBER (RINDEX_16C_DISP08, 8)
+ RELOC_NUMBER (RINDEX_16C_DISP08_C, 9)
+ RELOC_NUMBER (RINDEX_16C_DISP16, 10)
+ RELOC_NUMBER (RINDEX_16C_DISP16_C, 11)
+ RELOC_NUMBER (RINDEX_16C_DISP24, 12)
+ RELOC_NUMBER (RINDEX_16C_DISP24_C, 13)
+ RELOC_NUMBER (RINDEX_16C_DISP24a, 14)
+ RELOC_NUMBER (RINDEX_16C_DISP24a_C, 15)
+ RELOC_NUMBER (RINDEX_16C_REG04, 16)
+ RELOC_NUMBER (RINDEX_16C_REG04_C, 17)
+ RELOC_NUMBER (RINDEX_16C_REG04a, 18)
+ RELOC_NUMBER (RINDEX_16C_REG04a_C, 19)
+ RELOC_NUMBER (RINDEX_16C_REG14, 20)
+ RELOC_NUMBER (RINDEX_16C_REG14_C, 21)
+ RELOC_NUMBER (RINDEX_16C_REG16, 22)
+ RELOC_NUMBER (RINDEX_16C_REG16_C, 23)
+ RELOC_NUMBER (RINDEX_16C_REG20, 24)
+ RELOC_NUMBER (RINDEX_16C_REG20_C, 25)
+ RELOC_NUMBER (RINDEX_16C_ABS20, 26)
+ RELOC_NUMBER (RINDEX_16C_ABS20_C, 27)
+ RELOC_NUMBER (RINDEX_16C_ABS24, 28)
+ RELOC_NUMBER (RINDEX_16C_ABS24_C, 29)
+ RELOC_NUMBER (RINDEX_16C_IMM04, 30)
+ RELOC_NUMBER (RINDEX_16C_IMM04_C, 31)
+ RELOC_NUMBER (RINDEX_16C_IMM16, 32)
+ RELOC_NUMBER (RINDEX_16C_IMM16_C, 33)
+ RELOC_NUMBER (RINDEX_16C_IMM20, 34)
+ RELOC_NUMBER (RINDEX_16C_IMM20_C, 35)
+ RELOC_NUMBER (RINDEX_16C_IMM24, 36)
+ RELOC_NUMBER (RINDEX_16C_IMM24_C, 37)
+ RELOC_NUMBER (RINDEX_16C_IMM32, 38)
+ RELOC_NUMBER (RINDEX_16C_IMM32_C, 39)
+END_RELOC_NUMBERS (RINDEX_16C_MAX)
+
+/* CR16C Relocation Types ('cr_reloc_type' entry in the reloc_map structure).
+ The relocation constant name is determined as follows :
+
+ R_16C_<format><size>[_C]
+
+ Where :
+
+ <format> is one of the following:
+ NUM - R_NUMBER mnemonic,
+ DISP - R_16C_DISPL mnemonic,
+ REG - R_16C_REGREL mnemonic,
+ ABS - R_16C_ABS mnemonic,
+ IMM - R_16C_IMMED mnemonic,
+ <size> stands for R_S_16C_<size>
+ _C means 'code label' and is only added when R_ADDRTYPE subfield
+ is of type R_CODE_ADDR. */
+
+/* The table below shows what the hex digits in the definition of the
+ relocation type constants correspond to.
+ ------------------------------------------------------------------
+ R_SIZESP R_FORMAT R_RELTO R_ADDRTYPE
+ ------------------------------------------------------------------ */
+/* R_S_16C_08 R_NUMBER R_ABS R_ADDRESS */
+#define R_16C_NUM08 0X0001
+
+/* R_S_16C_08 R_NUMBER R_ABS R_CODE_ADDR */
+#define R_16C_NUM08_C 0X0006
+
+/* R_S_16C_16 R_NUMBER R_ABS R_ADDRESS */
+#define R_16C_NUM16 0X1001
+
+/* R_S_16C_16 R_NUMBER R_ABS R_CODE_ADDR */
+#define R_16C_NUM16_C 0X1006
+
+/* R_S_16C_32 R_NUMBER R_ABS R_ADDRESS */
+#define R_16C_NUM32 0X2001
+
+/* R_S_16C_32 R_NUMBER R_ABS R_CODE_ADDR */
+#define R_16C_NUM32_C 0X2006
+
+/* R_S_16C_04 R_16C_DISPL R_PCREL R_ADDRESS */
+#define R_16C_DISP04 0X5411
+
+/* R_S_16C_04 R_16C_DISPL R_PCREL R_CODE_ADDR */
+#define R_16C_DISP04_C 0X5416
+
+/* R_S_16C_08 R_16C_DISPL R_PCREL R_ADDRESS */
+#define R_16C_DISP08 0X0411
+
+/* R_S_16C_08 R_16C_DISPL R_PCREL R_CODE_ADDR */
+#define R_16C_DISP08_C 0X0416
+
+/* R_S_16C_16 R_16C_DISPL R_PCREL R_ADDRESS */
+#define R_16C_DISP16 0X1411
+
+/* R_S_16C_16 R_16C_DISPL R_PCREL R_CODE_ADDR */
+#define R_16C_DISP16_C 0X1416
+
+/* R_S_16C_24 R_16C_DISPL R_PCREL R_ADDRESS */
+#define R_16C_DISP24 0X7411
+
+/* R_S_16C_24 R_16C_DISPL R_PCREL R_CODE_ADDR */
+#define R_16C_DISP24_C 0X7416
+
+/* R_S_16C_24a R_16C_DISPL R_PCREL R_ADDRESS */
+#define R_16C_DISP24a 0X6411
+
+/* R_S_16C_24a R_16C_DISPL R_PCREL R_CODE_ADDR */
+#define R_16C_DISP24a_C 0X6416
+
+/* R_S_16C_04 R_16C_REGREL R_ABS R_ADDRESS */
+#define R_16C_REG04 0X5201
+
+/* R_S_16C_04 R_16C_REGREL R_ABS R_CODE_ADDR */
+#define R_16C_REG04_C 0X5206
+
+/* R_S_16C_04_a R_16C_REGREL R_ABS R_ADDRESS */
+#define R_16C_REG04a 0X4201
+
+/* R_S_16C_04_a R_16C_REGREL R_ABS R_CODE_ADDR */
+#define R_16C_REG04a_C 0X4206
+
+/* R_S_16C_14 R_16C_REGREL R_ABS R_ADDRESS */
+#define R_16C_REG14 0X3201
+
+/* R_S_16C_14 R_16C_REGREL R_ABS R_CODE_ADDR */
+#define R_16C_REG14_C 0X3206
+
+/* R_S_16C_16 R_16C_REGREL R_ABS R_ADDRESS */
+#define R_16C_REG16 0X1201
+
+/* R_S_16C_16 R_16C_REGREL R_ABS R_CODE_ADDR */
+#define R_16C_REG16_C 0X1206
+
+/* R_S_16C_20 R_16C_REGREL R_ABS R_ADDRESS */
+#define R_16C_REG20 0X8201
+
+/* R_S_16C_20 R_16C_REGREL R_ABS R_CODE_ADDR */
+#define R_16C_REG20_C 0X8206
+
+/* R_S_16C_20 R_16C_ABS R_ABS R_ADDRESS */
+#define R_16C_ABS20 0X8101
+
+/* R_S_16C_20 R_16C_ABS R_ABS R_CODE_ADDR */
+#define R_16C_ABS20_C 0X8106
+
+/* R_S_16C_24 R_16C_ABS R_ABS R_ADDRESS */
+#define R_16C_ABS24 0X7101
+
+/* R_S_16C_24 R_16C_ABS R_ABS R_CODE_ADDR */
+#define R_16C_ABS24_C 0X7106
+
+/* R_S_16C_04 R_16C_IMMED R_ABS R_ADDRESS */
+#define R_16C_IMM04 0X5301
+
+/* R_S_16C_04 R_16C_IMMED R_ABS R_CODE_ADDR */
+#define R_16C_IMM04_C 0X5306
+
+/* R_S_16C_16 R_16C_IMMED R_ABS R_ADDRESS */
+#define R_16C_IMM16 0X1301
+
+/* R_S_16C_16 R_16C_IMMED R_ABS R_CODE_ADDR */
+#define R_16C_IMM16_C 0X1306
+
+/* R_S_16C_20 R_16C_IMMED R_ABS R_ADDRESS */
+#define R_16C_IMM20 0X8301
+
+/* R_S_16C_20 R_16C_IMMED R_ABS R_CODE_ADDR */
+#define R_16C_IMM20_C 0X8306
+
+/* R_S_16C_24 R_16C_IMMED R_ABS R_ADDRESS */
+#define R_16C_IMM24 0X7301
+
+/* R_S_16C_24 R_16C_IMMED R_ABS R_CODE_ADDR */
+#define R_16C_IMM24_C 0X7306
+
+/* R_S_16C_32 R_16C_IMMED R_ABS R_ADDRESS */
+#define R_16C_IMM32 0X2301
+
+/* R_S_16C_32 R_16C_IMMED R_ABS R_CODE_ADDR */
+#define R_16C_IMM32_C 0X2306
+
+
+/* Relocation item type. */
+#define R_ADDRTYPE 0x000f
+#define R_ADDRESS 0x0001 /* Take address of symbol. */
+#define R_CODE_ADDR 0x0006 /* Take address of symbol divided by 2. */
+
+/* Relocation action. */
+#define R_RELTO 0x00f0
+#define R_ABS 0x0000 /* Keep symbol's address as such. */
+#define R_PCREL 0x0010 /* Subtract the pc address of hole. */
+
+/* Relocation item data format. */
+#define R_FORMAT 0x0f00
+#define R_NUMBER 0x0000 /* Retain as two's complement value. */
+#define R_16C_DISPL 0x0400 /* CR16C displacement type. */
+#define R_16C_ABS 0x0100 /* CR16C absolute type. */
+#define R_16C_REGREL 0x0200 /* CR16C register-relative type. */
+#define R_16C_IMMED 0x0300 /* CR16C immediate type. */
+
+/* Relocation item size. */
+#define R_SIZESP 0xf000
+#define R_S_16C_04 0x5000
+#define R_S_16C_04_a 0x4000
+#define R_S_16C_08 0x0000
+#define R_S_16C_14 0x3000
+#define R_S_16C_16 0x1000
+#define R_S_16C_20 0x8000
+#define R_S_16C_24_a 0x6000
+#define R_S_16C_24 0x7000
+#define R_S_16C_32 0x2000
+
+
+/* Processor specific section indices. These sections do not actually
+ exist. Symbols with a st_shndx field corresponding to one of these
+ values have a special meaning. */
+
+/* Far common symbol. */
+#define SHN_CR16C_FCOMMON 0xff00
+#define SHN_CR16C_NCOMMON 0xff01
+
+typedef struct reloc_map
+{
+ unsigned short cr_reloc_type; /* CR relocation type. */
+ bfd_reloc_code_real_type bfd_reloc_enum; /* BFD relocation enum. */
+} RELOC_MAP;
+
+#endif /* _ELF_CR16C_H */
diff --git a/include/elf/frv.h b/include/elf/frv.h
index 8246a21..a6b8a7d 100644
--- a/include/elf/frv.h
+++ b/include/elf/frv.h
@@ -91,6 +91,8 @@ END_RELOC_NUMBERS(R_FRV_max)
#define EF_FRV_CPU_TOMCAT 0x04000000 /* Tomcat, FR500 prototype */
#define EF_FRV_CPU_FR400 0x05000000 /* FRV400 */
#define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */
+#define EF_FRV_CPU_FR405 0x07000000
+#define EF_FRV_CPU_FR450 0x08000000
/* Mask of PIC related bits */
#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \
diff --git a/include/elf/mips.h b/include/elf/mips.h
index ce43158..9aba63e 100644
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -76,12 +76,8 @@ START_RELOC_NUMBERS (elf_mips_reloc_type)
/* These relocs are used for the mips16. */
RELOC_NUMBER (R_MIPS16_26, 100)
RELOC_NUMBER (R_MIPS16_GPREL, 101)
- /* These are GNU extensions to handle embedded-pic. */
- RELOC_NUMBER (R_MIPS_PC32, 248)
- RELOC_NUMBER (R_MIPS_PC64, 249)
+ /* FIXME: this relocation is used internally by gas. */
RELOC_NUMBER (R_MIPS_GNU_REL16_S2, 250)
- RELOC_NUMBER (R_MIPS_GNU_REL_LO16, 251)
- RELOC_NUMBER (R_MIPS_GNU_REL_HI16, 252)
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_MIPS_GNU_VTINHERIT, 253)
RELOC_NUMBER (R_MIPS_GNU_VTENTRY, 254)
diff --git a/include/elf/sh.h b/include/elf/sh.h
index 15d460d..c46a5ff 100644
--- a/include/elf/sh.h
+++ b/include/elf/sh.h
@@ -1,5 +1,5 @@
/* SH ELF support for BFD.
- Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -39,6 +39,7 @@
#define EF_SH4_NOFPU 0x10
#define EF_SH4A_NOFPU 0x11
+#define EF_SH4_NOMMU_NOFPU 0x12
/* This one can only mix in objects from other EF_SH5 objects. */
#define EF_SH5 10
diff --git a/include/hashtab.h b/include/hashtab.h
index f7bd4ae..de24ded 100644
--- a/include/hashtab.h
+++ b/include/hashtab.h
@@ -1,5 +1,5 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
This program is free software; you can redistribute it and/or modify
@@ -99,15 +99,15 @@ struct htab GTY(())
htab_del del_f;
/* Table itself. */
- PTR * GTY ((use_param (""), length ("%h.size"))) entries;
+ PTR * GTY ((use_param, length ("%h.size"))) entries;
- /* Current size (in entries) of the hash table */
+ /* Current size (in entries) of the hash table. */
size_t size;
- /* Current number of elements including also deleted elements */
+ /* Current number of elements including also deleted elements. */
size_t n_elements;
- /* Current number of deleted elements in the table */
+ /* Current number of deleted elements in the table. */
size_t n_deleted;
/* The following member is used for debugging. Its value is number
@@ -123,9 +123,13 @@ struct htab GTY(())
htab_free free_f;
/* Alternate allocate/free functions, which take an extra argument. */
- PTR GTY((skip (""))) alloc_arg;
+ PTR GTY((skip)) alloc_arg;
htab_alloc_with_arg alloc_with_arg_f;
htab_free_with_arg free_with_arg_f;
+
+ /* Current size (in entries) of the hash table, as an index into the
+ table of primes. */
+ unsigned int size_prime_index;
};
typedef struct htab *htab_t;
@@ -166,6 +170,7 @@ extern PTR *htab_find_slot_with_hash PARAMS ((htab_t, const void *,
enum insert_option));
extern void htab_clear_slot PARAMS ((htab_t, void **));
extern void htab_remove_elt PARAMS ((htab_t, void *));
+extern void htab_remove_elt_with_hash PARAMS ((htab_t, void *, hashval_t));
extern void htab_traverse PARAMS ((htab_t, htab_trav, void *));
extern void htab_traverse_noresize PARAMS ((htab_t, htab_trav, void *));
diff --git a/include/mpw/ChangeLog b/include/mpw/ChangeLog
deleted file mode 100644
index 8dbad87..0000000
--- a/include/mpw/ChangeLog
+++ /dev/null
@@ -1,61 +0,0 @@
-Tue Feb 27 12:23:04 1996 Raymond Jou <rjou@mexican.cygnus.com>
-
- * mpw.h (HAVE_VPRINTF): Add and define to have the value 1.
-
-Fri Dec 29 14:40:46 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * mpw.h (HAVE_STDLIB_H, etc): Define to have the value 1.
- (HAVE_FCNTL_H): Define.
-
-Mon Dec 11 15:39:06 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * mpw.h (open, access): Define as mpw_open and mpw_access.
-
-Thu Nov 9 15:38:37 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * mpw.h: Include unix.h if USE_MW_HEADERS, otherwise include
- various original MPW include files (ioctl.h, etc).
- (EIO): Define if not defined.
- * sys/ioctl.h: Remove, not needed.
-
-Wed Oct 25 12:30:44 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * mpw.h: Don't include errno.h or ioctl.h.
- (ENOENT, EACCES, ENOSYS): Define if not defined.
- (fdopen): Declare if __STDC__.
- (R_OK, W_OK, X_OK): Define if not defined.
-
-Tue Sep 26 14:57:21 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * mpw.h: New file, universally useful MPW host definitions.
- Many of these used to live in bfd/hosts/mpw.h.
- * grp.h: Remove RCS comment.
- * sys/ioctl.h: Add a comment line.
-
-Wed Dec 14 13:12:14 1994 Stan Shebs <shebs@andros.cygnus.com>
-
- * spin.h: New file, cursor spinning for progress.
-
-Thu Jun 30 15:32:07 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * fcntl.h (open): Allow optional third arg.
-
-Thu Apr 14 12:54:51 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * dir.h, dirent.h, fcntl.h, grp.h, pwd.h, stat.h: New files.
- * sys/ioctl.h: New file.
-
-Mon Feb 21 09:44:45 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * sys/stat.h (struct stat): New field st_rsize.
- (S_IFMT, etc): Use different bit positions.
- (fstat): Add parameter names to prototype.
-
-Mon Jan 31 19:30:16 1994 Stan Shebs (shebs@andros.cygnus.com)
-
- * README: New file.
- * utime.h, varargs.h: New files, simulated Posix.
- * sys/{file,param,resource,stat,time,types}.h: New files, more
- simulated Posix.
-
-
diff --git a/include/mpw/README b/include/mpw/README
deleted file mode 100644
index 10e92de..0000000
--- a/include/mpw/README
+++ /dev/null
@@ -1 +0,0 @@
-This is a collection of include files that help imitate Posix in MPW.
diff --git a/include/mpw/dir.h b/include/mpw/dir.h
deleted file mode 100644
index e6ccd2d..0000000
--- a/include/mpw/dir.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* The <dir.h> header gives the layout of a directory. */
-
-#pragma once
-
-#ifndef _DIR_H
-#define _DIR_H
-
-#ifndef _TYPES_H /* not quite right */
-#include <sys/types.h>
-#endif
-
-#define DIRBLKSIZ 512 /* size of directory block */
-
-#ifndef DIRSIZ
-#define DIRSIZ 14
-#endif
-
-struct direct {
- ino_t d_ino;
- char d_name[DIRSIZ];
-};
-
-#endif /* _DIR_H */
diff --git a/include/mpw/dirent.h b/include/mpw/dirent.h
deleted file mode 100644
index 38000b2..0000000
--- a/include/mpw/dirent.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef __dirent_h
-#define __dirent_h
-
-#include "sys/dir.h"
-
-struct dirent {
- long d_ino; /* inode number of entry */
- off_t d_off; /* offset of disk directory entry */
- unsigned short d_reclen; /* length of this record */
- char d_name[1]; /* name of file */
-};
-
-/*
-#define DIRENTBASESIZE \
- (((struct dirent *) 0)->d_name - (char *) 0)
-#define DIRENTSIZE(namelen) \
- ((DIRENTBASESIZE + (namelen) + NBPW) & ~(NBPW - 1))
-*/
-
-/* from Mips posix/dirent.h */
-
-/*
-#undef rewinddir
-*/
-
-extern DIR *opendir();
-extern struct dirent *readdir();
-extern void rewinddir();
-extern int closedir();
-
-#endif /* ! __dirent_h */
diff --git a/include/mpw/fcntl.h b/include/mpw/fcntl.h
deleted file mode 100644
index 30999b4..0000000
--- a/include/mpw/fcntl.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * FCntl.h -- faccess(), fcntl(), and open() mode flags
- *
- * Portions copyright American Telephone & Telegraph
- * Used with permission, Apple Computer Inc. (1985,1988,1990,1992)
- * All rights reserved.
- */
-
-#ifndef __FCNTL__
-#define __FCNTL__
-
-#ifndef __TYPES__
-#include <Types.h>
-#endif
-
-/*
- * For use by lseek():
- */
-
-#ifndef __STDIO__ /* these defns exactly paralled in StdIO.h for fseek() */
-#define SEEK_CUR 1
-#define SEEK_END 2
-#define SEEK_SET 0
-#endif
-
-/*
- * faccess() commands; for general use
- */
- /* 'd' => "directory" ops */
-#define F_DELETE (('d'<<8)|0x01)
-#define F_RENAME (('d'<<8)|0x02)
-
-/*
- * more faccess() commands; for use only by MPW tools
- */
-
-#define F_OPEN (('d'<<8)|0x00) /* reserved for operating system use */
- /* 'e' => "editor" ops */
-#define F_GTABINFO (('e'<<8)|0x00) /* get tab offset for file */
-#define F_STABINFO (('e'<<8)|0x01) /* set " " " " */
-#define F_GFONTINFO (('e'<<8)|0x02) /* get font number and size for file */
-#define F_SFONTINFO (('e'<<8)|0x03) /* set " " " " " " */
-#define F_GPRINTREC (('e'<<8)|0x04) /* get print record for file */
-#define F_SPRINTREC (('e'<<8)|0x05) /* set " " " " */
-#define F_GSELINFO (('e'<<8)|0x06) /* get selection information for file */
-#define F_SSELINFO (('e'<<8)|0x07) /* set " " " " */
-#define F_GWININFO (('e'<<8)|0x08) /* get current window position */
-#define F_SWININFO (('e'<<8)|0x09) /* set " " " */
-#define F_GSCROLLINFO (('e'<<8)|0x0A) /* get scroll information */
-#define F_SSCROLLINFO (('e'<<8)|0x0B) /* set " " */
-#define F_GMARKER (('e'<<8)|0x0D) /* Get Marker */
-#define F_SMARKER (('e'<<8)|0x0C) /* Set " */
-#define F_GSAVEONCLOSE (('e'<<8)|0x0F) /* Get Save on close */
-#define F_SSAVEONCLOSE (('e'<<8)|0x0E) /* Set " " " */
-
-/*
- * argument structures used by various faccess() commands
- */
-
-struct MarkElement {
- int start; /* start position of mark */
- int end; /* end position */
- unsigned char charCount; /* number of chars in mark name */
- char name[64]; /* mark name */
-} ; /* note: marker names may be up to 64 characters long */
-
-#ifndef __cplusplus
-typedef struct MarkElement MarkElement;
-#endif
-
-struct SelectionRecord {
- long startingPos;
- long endingPos;
- long displayTop;
-};
-
-#ifndef __cplusplus
-typedef struct SelectionRecord SelectionRecord;
-#endif
-
-
-/*
- * Mode values accessible to open()
- */
-#define O_RDONLY 0 /* Bits 0 and 1 are used internally */
-#define O_WRONLY 1 /* Values 0..2 are historical */
-#define O_RDWR 2 /* NOTE: it goes 0, 1, 2, *!* 8, 16, 32, ... */
-#define O_APPEND (1<< 3) /* append (writes guaranteed at the end) */
-#define O_RSRC (1<< 4) /* Open the resource fork */
-#define O_ALIAS (1<< 5) /* Open alias file */
-#define O_CREAT (1<< 8) /* Open with file create */
-#define O_TRUNC (1<< 9) /* Open with truncation */
-#define O_EXCL (1<<10) /* w/ O_CREAT: Exclusive "create-only" */
-#define O_BINARY (1<<11) /* Open as a binary stream */
-#define O_NRESOLVE (1<<14) /* Don't resolve any aliases */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * function prototypes
- */
-int close(int);
-int creat(const char*);
-int dup(int filedes); /* OBSOLETE: fcntl(filedes, F_DUPFD, 0) is preferred */
-int faccess(char*, unsigned int, long*);
-int fcntl(int, unsigned int, int);
-long lseek(int, long, int);
-int open(const char*, int, ...);
-int read(int, char*, unsigned);
-int unlink(char*);
-int write(int, const char*, unsigned);
-
-#ifdef __cplusplus
-}
-#endif
-
-/*
- * fcntl() commands
- */
-#define F_DUPFD 0 /* Duplicate files (file descriptor) */
-
-#endif __FCNTL__
diff --git a/include/mpw/grp.h b/include/mpw/grp.h
deleted file mode 100644
index faf2c6a..0000000
--- a/include/mpw/grp.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-#include "sys/types.h"
-
-struct group {
- char *gr_name;
- gid_t gr_gid;
- char *gr_passwd;
- char **gr_mem;
-};
diff --git a/include/mpw/mpw.h b/include/mpw/mpw.h
deleted file mode 100644
index 58702e7..0000000
--- a/include/mpw/mpw.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Mac MPW host-specific definitions. */
-
-#ifndef __INCLUDE_MPW_H
-#define __INCLUDE_MPW_H
-
-#ifndef MPW
-#define MPW
-#endif
-
-/* MPW C is basically ANSI, but doesn't actually enable __STDC__,
- nor does it allow __STDC__ to be #defined. */
-
-#ifndef ALMOST_STDC
-#define ALMOST_STDC
-#endif
-
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-
-#define HAVE_TIME_T_IN_TIME_H 1
-
-#define HAVE_STDLIB_H 1
-
-#define HAVE_ERRNO_H 1
-
-#define HAVE_STDDEF_H 1
-
-#define HAVE_STRING_H 1
-
-#define HAVE_STDARG_H 1
-
-#define HAVE_VPRINTF 1
-
-#ifdef USE_MW_HEADERS
-
-#include <unix.h>
-
-#else
-
-#include <fcntl.h>
-#include <ioctl.h>
-#include <sys/stat.h>
-
-#define HAVE_FCNTL_H 1
-
-#ifndef O_ACCMODE
-#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
-#endif
-
-#ifndef fileno
-#define fileno(fp) ((fp)->_file)
-#endif
-
-/* stdio.h does not define this if __STDC__, so define here. */
-
-#ifdef __STDC__
-FILE *fdopen(int fildes, const char *mode);
-#endif
-
-#endif /* USE_MW_HEADERS */
-
-/* Add ersatz definitions, for systems that lack them. */
-
-#ifndef EIO
-#define EIO 96
-#endif
-#ifndef ENOENT
-#define ENOENT 97
-#endif
-#ifndef EACCES
-#define EACCES 98
-#endif
-#ifndef ENOSYS
-#define ENOSYS 99
-#endif
-
-#ifndef R_OK
-#define R_OK 4
-#define W_OK 2
-#define X_OK 1
-#endif
-
-/* Binary files have different characteristics; for instance, no cr/nl
- translation. */
-
-#define USE_BINARY_FOPEN
-
-#include <spin.h>
-
-#ifdef MPW_C
-#undef __PTR_TO_INT
-#define __PTR_TO_INT(P) ((int)(P))
-#undef __INT_TO_PTR
-#define __INT_TO_PTR(P) ((char *)(P))
-#endif /* MPW_C */
-
-#define NO_FCNTL
-
-int fstat ();
-
-FILE *mpw_fopen ();
-int mpw_fseek ();
-int mpw_fread ();
-int mpw_fwrite ();
-int mpw_access ();
-int mpw_open ();
-int mpw_creat ();
-void mpw_abort (void);
-
-/* Map these standard functions to improved versions in libiberty. */
-
-#define fopen mpw_fopen
-#define fseek mpw_fseek
-#define fread mpw_fread
-#define fwrite mpw_fwrite
-#define open mpw_open
-#define access mpw_access
-#define creat mpw_creat
-#define abort mpw_abort
-
-#define POSIX_UTIME
-
-#define LOSING_TOTALLY
-
-/* Define this so that files will be closed before being unlinked. */
-
-#define CLOSE_BEFORE_UNLINK
-
-#endif /* __INCLUDE_MPW_H */
diff --git a/include/mpw/pwd.h b/include/mpw/pwd.h
deleted file mode 100644
index 2d4fb70..0000000
--- a/include/mpw/pwd.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __pwd_h
-#define __pwd_h
-
-#include <sys/types.h>
-
-struct passwd {
- char *pw_name;
- uid_t pw_uid;
- gid_t pw_gid;
- char *pw_dir;
- char *pw_shell;
- char *pw_passwd;
-};
-
-#endif /* ! __pwd_h */
diff --git a/include/mpw/spin.h b/include/mpw/spin.h
deleted file mode 100644
index 674b00a..0000000
--- a/include/mpw/spin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Progress macros that use SpinCursor in MPW.
- Copyright 1994 Free Software Foundation, Inc.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _SPIN_H
-#define _SPIN_H
-
-/* For MPW, progress macros just need to "spin the cursor" frequently,
- preferably several times per second on a 68K Mac. */
-
-/* In order to determine if we're meeting the goal, define this macro
- and information about frequency of spinning will be collected and
- displayed. */
-
-#define SPIN_MEASUREMENT
-
-#include <CursorCtl.h>
-
-/* Programs use this macro to indicate the start of a lengthy
- activity. STR identifies the particular activity, while N
- indicates the expected duration, in unspecified units. If N is
- zero, then the expected time to completion is unknown. */
-
-#undef START_PROGRESS
-#define START_PROGRESS(STR,N) mpw_start_progress (STR, N, __FILE__, __LINE__);
-
-/* Programs use this macro to indicate that progress has been made on a
- lengthy activity. */
-
-#undef PROGRESS
-#ifdef SPIN_MEASUREMENT
-#define PROGRESS(X) mpw_progress_measured (X, __FILE__, __LINE__);
-#else
-#define PROGRESS(X) mpw_progress (X);
-#endif
-
-/* Programs use this macro to indicate the end of a lengthy activity.
- STR must match a STR passed to START_PROGRESS previously. */
-
-#undef END_PROGRESS
-#define END_PROGRESS(STR) mpw_end_progress (STR, __FILE__, __LINE__);
-
-extern void mpw_start_progress (char *, int, char *, int);
-
-extern void mpw_progress (int);
-
-extern void mpw_progress_measured (int, char *, int);
-
-extern void mpw_end_progress (char *, char *, int);
-
-#endif /* _SPIN_H */
diff --git a/include/mpw/stat.h b/include/mpw/stat.h
deleted file mode 100644
index 057b8d5..0000000
--- a/include/mpw/stat.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* The <sys/stat.h> header defines a struct that is used in the stat() and
- * fstat functions. The information in this struct comes from the i-node of
- * some file. These calls are the only approved way to inspect i-nodes.
- */
-
-#ifndef _STAT_H
-#define _STAT_H
-
-#ifndef _TYPES_H /* not quite right */
-#include <sys/types.h>
-#endif
-
-struct stat {
- dev_t st_dev; /* major/minor device number */
- ino_t st_ino; /* i-node number */
- mode_t st_mode; /* file mode, protection bits, etc. */
- short int st_nlink; /* # links; TEMPORARY HACK: should be nlink_t*/
- uid_t st_uid; /* uid of the file's owner */
- short int st_gid; /* gid; TEMPORARY HACK: should be gid_t */
- dev_t st_rdev;
- off_t st_size; /* file size */
- time_t st_atime; /* time of last access */
- time_t st_mtime; /* time of last data modification */
- time_t st_ctime; /* time of last file status change */
-};
-
-/* Traditional mask definitions for st_mode. */
-#define S_IFMT 0170000 /* type of file */
-#define S_IFREG 0100000 /* regular */
-#define S_IFBLK 0060000 /* block special */
-#define S_IFDIR 0040000 /* directory */
-#define S_IFCHR 0020000 /* character special */
-#define S_IFIFO 0010000 /* this is a FIFO */
-#define S_ISUID 0004000 /* set user id on execution */
-#define S_ISGID 0002000 /* set group id on execution */
- /* next is reserved for future use */
-#define S_ISVTX 01000 /* save swapped text even after use */
-
-/* POSIX masks for st_mode. */
-#define S_IRWXU 00700 /* owner: rwx------ */
-#define S_IRUSR 00400 /* owner: r-------- */
-#define S_IWUSR 00200 /* owner: -w------- */
-#define S_IXUSR 00100 /* owner: --x------ */
-
-#define S_IRWXG 00070 /* group: ---rwx--- */
-#define S_IRGRP 00040 /* group: ---r----- */
-#define S_IWGRP 00020 /* group: ----w---- */
-#define S_IXGRP 00010 /* group: -----x--- */
-
-#define S_IRWXO 00007 /* others: ------rwx */
-#define S_IROTH 00004 /* others: ------r-- */
-#define S_IWOTH 00002 /* others: -------w- */
-#define S_IXOTH 00001 /* others: --------x */
-
-/* The following macros test st_mode (from POSIX Sec. 5.6.1.1. */
-#define S_ISREG(m) ((m & S_IFMT) == S_IFREG) /* is a reg file */
-#define S_ISDIR(m) ((m & S_IFMT) == S_IFDIR) /* is a directory */
-#define S_ISCHR(m) ((m & S_IFMT) == S_IFCHR) /* is a char spec */
-#define S_ISBLK(m) ((m & S_IFMT) == S_IFBLK) /* is a block spec */
-#define S_ISFIFO(m) ((m & S_IFMT) == S_IFIFO) /* is a pipe/FIFO */
-
-
-/* Function Prototypes. */
-#ifndef _ANSI_H
-#include <ansi.h>
-#endif
-
-_PROTOTYPE( int chmod, (const char *_path, int _mode) );
-_PROTOTYPE( int fstat, (int _fildes, struct stat *_buf) );
-_PROTOTYPE( int mkdir, (const char *_path, int _mode) );
-_PROTOTYPE( int mkfifo, (const char *_path, int _mode) );
-_PROTOTYPE( int stat , (const char *_path, struct stat *_buf) );
-_PROTOTYPE( mode_t umask, (int _cmask) );
-
-#endif /* _STAT_H */
diff --git a/include/mpw/sys/file.h b/include/mpw/sys/file.h
deleted file mode 100644
index 40a8c17..0000000
--- a/include/mpw/sys/file.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/include/mpw/sys/param.h b/include/mpw/sys/param.h
deleted file mode 100644
index 40a8c17..0000000
--- a/include/mpw/sys/param.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/include/mpw/sys/resource.h b/include/mpw/sys/resource.h
deleted file mode 100644
index d39439d..0000000
--- a/include/mpw/sys/resource.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __SYS_RESOURCE_H__
-#define __SYS_RESOURCE_H__
-
-struct rusage {
- struct timeval ru_utime;
- struct timeval ru_stime;
-};
-
-#endif /* __SYS_RESOURCE_H__ */
diff --git a/include/mpw/sys/stat.h b/include/mpw/sys/stat.h
deleted file mode 100644
index b65c72e..0000000
--- a/include/mpw/sys/stat.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Imitation sys/stat.h. */
-
-#ifndef __SYS_STAT_H__
-#define __SYS_STAT_H__
-
-#include <sys/types.h>
-#include <time.h>
-
-struct stat {
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- short st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- off_t st_size;
- off_t st_rsize;
- time_t st_atime;
- int st_spare1;
- time_t st_mtime;
- int st_spare2;
- time_t st_ctime;
- int st_spare3;
- long st_blksize;
- long st_blocks;
- long st_spare4[2];
-};
-
-#define S_IFMT 0170000L
-#define S_IFDIR 0040000L
-#define S_IFREG 0100000L
-#define S_IREAD 0400
-#define S_IWRITE 0200
-#define S_IEXEC 0100
-
-#define S_IFIFO 010000 /* FIFO special */
-#define S_IFCHR 020000 /* character special */
-#define S_IFBLK 030000 /* block special */
-
-int stat (char *path, struct stat *buf);
-int fstat (int fd, struct stat *buf);
-
-#endif /* __SYS_STAT_H___ */
diff --git a/include/mpw/sys/time.h b/include/mpw/sys/time.h
deleted file mode 100644
index f9e4852..0000000
--- a/include/mpw/sys/time.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Imitation sys/time.h. */
-
-#ifndef __SYS_TIME_H__
-#define __SYS_TIME_H__
-
-#include <time.h>
-
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-
-#endif /* __SYS_TIME_H__ */
diff --git a/include/mpw/sys/types.h b/include/mpw/sys/types.h
deleted file mode 100644
index d7d9c9f..0000000
--- a/include/mpw/sys/types.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Imitation sys/types.h. */
-
-#ifndef __SYS_TYPES_H__
-#define __SYS_TYPES_H__
-
-#include <Types.h>
-
-typedef short dev_t;
-typedef short ino_t;
-typedef unsigned short mode_t;
-typedef unsigned short uid_t;
-typedef unsigned short gid_t;
-typedef long off_t;
-
-#endif /* __SYS_TYPES_H__ */
diff --git a/include/mpw/utime.h b/include/mpw/utime.h
deleted file mode 100644
index e8bf66f2..0000000
--- a/include/mpw/utime.h
+++ /dev/null
@@ -1,7 +0,0 @@
-
-struct utimbuf {
- time_t actime;
- time_t modtime;
-};
-
-int utime (char *, struct utimbuf *);
diff --git a/include/mpw/varargs.h b/include/mpw/varargs.h
deleted file mode 100644
index acb9e45..0000000
--- a/include/mpw/varargs.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* varargs.h. */
-#ifndef __va_list__
-#define __va_list__
-typedef char *va_list;
-#endif
-#define va_dcl int va_alist;
-#define va_start(list) list = (char *) &va_alist
-#define va_end(list)
-#define va_arg(list,mode) ((mode *)(list += sizeof(mode)))[-1]
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index d5bc8ac..7cc7063 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,7 +1,19 @@
+2004-04-22 Peter Barada <peter@the-baradas.com>
+
+ * m68k.h: Add mcfmac/mcfemac definitions. Update operand
+ descriptions for new EMAC cases.
+ Remove ColdFire macmw/macml/msacmw/msacmw hacks and properly
+ handle Motorola MAC syntax.
+ Allow disassembly of ColdFire V4e object files.
+
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* ppc.h (PPC_OPERAND_GPR_0): Define. Bump other operand defines.
+2004-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ * i386.h (i386_optab): Remove CpuNo64 from sysenter and sysexit.
+
2004-03-12 Michal Ludvig <mludvig@suse.cz>
* i386.h (i386_optab): Added xstore as an alias for xstorerng.
diff --git a/include/opcode/i386.h b/include/opcode/i386.h
index e43cb1c..5e3673e 100644
--- a/include/opcode/i386.h
+++ b/include/opcode/i386.h
@@ -1,6 +1,6 @@
/* opcode/i386.h -- Intel 80386 opcode table
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger.
@@ -896,8 +896,8 @@ static const template i386_optab[] = {
{"cmpxchg8b",1,0x0fc7, 1, Cpu586, NoSuf|Modrm, { LLongMem, 0, 0} },
/* Pentium II/Pentium Pro extensions. */
-{"sysenter",0, 0x0f34, X, Cpu686|CpuNo64, NoSuf, { 0, 0, 0} },
-{"sysexit", 0, 0x0f35, X, Cpu686|CpuNo64, NoSuf, { 0, 0, 0} },
+{"sysenter",0, 0x0f34, X, Cpu686, NoSuf, { 0, 0, 0} },
+{"sysexit", 0, 0x0f35, X, Cpu686, NoSuf, { 0, 0, 0} },
{"fxsave", 1, 0x0fae, 0, Cpu686, FP|Modrm, { LLongMem, 0, 0} },
{"fxrstor", 1, 0x0fae, 1, Cpu686, FP|Modrm, { LLongMem, 0, 0} },
{"rdpmc", 0, 0x0f33, X, Cpu686, NoSuf, { 0, 0, 0} },
diff --git a/include/opcode/m68k.h b/include/opcode/m68k.h
index 3f18984..baa766c 100644
--- a/include/opcode/m68k.h
+++ b/include/opcode/m68k.h
@@ -1,6 +1,6 @@
/* Opcode table header for m680[01234]0/m6888[12]/m68851.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001,
- 2003 Free Software Foundation, Inc.
+ 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB, GAS, and the GNU binutils.
@@ -42,6 +42,8 @@
#define mcf5407 0x1000
#define mcfv4e 0x2000
#define mcf528x 0x4000
+#define mcfmac 0x8000
+#define mcfemac 0x10000
/* Handy aliases. */
#define m68040up (m68040 | m68060)
@@ -99,7 +101,7 @@ struct m68k_opcode_alias
operand; the second, the place it is stored. */
/* Kinds of operands:
- Characters used: AaBbCcDdEFfGHIJkLlMmnOopQqRrSsTtU VvWwXxYyZz0123|*~%;@!&$?/<>#^+-
+ Characters used: AaBbCcDdEeFfGgHIiJkLlMmnOopQqRrSsTtU VvWwXxYyZz01234|*~%;@!&$?/<>#^+-
D data register only. Stored as 3 bits.
A address register only. Stored as 3 bits.
@@ -133,9 +135,12 @@ struct m68k_opcode_alias
C the CCR. No need to store it; this is just for filtering validity.
S the SR. No need to store, just as with CCR.
U the USP. No need to store, just as with CCR.
- E the ACC. No need to store, just as with CCR.
- G the MACSR. No need to store, just as with CCR.
+ E the MAC ACC. No need to store, just as with CCR.
+ e the EMAC ACC[0123].
+ G the MAC/EMAC MACSR. No need to store, just as with CCR.
+ g the EMAC ACCEXT{01,23}.
H the MASK. No need to store, just as with CCR.
+ i the MAC/EMAC scale factor.
I Coprocessor ID. Not printed if 1. The Coprocessor ID is always
extracted from the 'd' field of word one, which means that an extended
@@ -230,7 +235,9 @@ struct m68k_opcode_alias
w (modes 2-5,7.2)
y (modes 2,5)
z (modes 2,5,7.2)
- x mov3q immediate operand. */
+ x mov3q immediate operand.
+ 4 (modes 2,3,4,5)
+ */
/* For the 68851: */
/* I didn't use much imagination in choosing the
@@ -283,7 +290,7 @@ struct m68k_opcode_alias
*/
/* Places to put an operand, for non-general operands:
- Characters used: BbCcDdghijkLlMmNnostWw123456789
+ Characters used: BbCcDdFfGgHhIijkLlMmNnostWw123456789/
s source, low bits of first word.
d dest, shifted 9 in first word
@@ -348,6 +355,13 @@ struct m68k_opcode_alias
F double precision float, low bit of 1st word, immediate uses 8 bytes
x extended precision float, low bit of 1st word, immediate uses 12 bytes
p packed float, low bit of 1st word, immediate uses 12 bytes
+ G EMAC accumulator, load (bit 4 2nd word, !bit8 first word)
+ H EMAC accumulator, non load (bit 4 2nd word, bit 8 first word)
+ F EMAC ACCx
+ f EMAC ACCy
+ I MAC/EMAC scale factor
+ / Like 's', but set 2nd word, bit 5 if trailing_ampersand set
+ ] first word, bit 10
*/
extern const struct m68k_opcode m68k_opcodes[];
diff --git a/include/splay-tree.h b/include/splay-tree.h
index 86707fc..e05aeb5 100644
--- a/include/splay-tree.h
+++ b/include/splay-tree.h
@@ -81,21 +81,21 @@ typedef void (*splay_tree_deallocate_fn) PARAMS((void *, void *));
struct splay_tree_node_s GTY(())
{
/* The key. */
- splay_tree_key GTY ((use_param1 (""))) key;
+ splay_tree_key GTY ((use_param1)) key;
/* The value. */
- splay_tree_value GTY ((use_param2 (""))) value;
+ splay_tree_value GTY ((use_param2)) value;
/* The left and right children, respectively. */
- splay_tree_node GTY ((use_params (""))) left;
- splay_tree_node GTY ((use_params (""))) right;
+ splay_tree_node GTY ((use_params)) left;
+ splay_tree_node GTY ((use_params)) right;
};
/* The splay tree itself. */
struct splay_tree_s GTY(())
{
/* The root of the tree. */
- splay_tree_node GTY ((use_params (""))) root;
+ splay_tree_node GTY ((use_params)) root;
/* The comparision function. */
splay_tree_compare_fn comp;
@@ -109,7 +109,7 @@ struct splay_tree_s GTY(())
/* Allocate/free functions, and a data pointer to pass to them. */
splay_tree_allocate_fn allocate;
splay_tree_deallocate_fn deallocate;
- PTR GTY((skip (""))) allocate_data;
+ PTR GTY((skip)) allocate_data;
};
typedef struct splay_tree_s *splay_tree;
diff --git a/install-sh b/install-sh
index 0ec27bc..77bc381 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,8 @@
#!/bin/sh
-#
# install - install a program, script, or datafile
-#
+
+scriptversion=2004-02-15.20
+
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
@@ -41,13 +42,11 @@
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
-
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
-
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
@@ -59,236 +58,259 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
-transformbasename=""
-transform_arg=""
+transformbasename=
+transform_arg=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+chowncmd=
+chgrpcmd=
+stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd=$cpprog
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
+src=
+dst=
+dir_arg=
+
+usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 -d DIRECTORIES...
+
+In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
+In the second, create the directory path DIR.
+
+Options:
+-b=TRANSFORMBASENAME
+-c copy source (using $cpprog) instead of moving (using $mvprog).
+-d create directories instead of installing files.
+-g GROUP $chgrp installed files to GROUP.
+-m MODE $chmod installed files to MODE.
+-o USER $chown installed files to USER.
+-s strip installed files (using $stripprog).
+-t=TRANSFORM
+--help display this help and exit.
+--version display version info and exit.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+ case $1 in
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ -c) instcmd=$cpprog
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ --help) echo "$usage"; exit 0;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ --version) echo "$0 $scriptversion"; exit 0;;
+
+ *) # When -d is used, all remaining arguments are directories to create.
+ test -n "$dir_arg" && break
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dstarg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dstarg"
+ shift # fnord
+ fi
+ shift # arg
+ dstarg=$arg
+ done
+ break;;
+ esac
done
-if [ x"$src" = x ]
-then
- echo "$0: no input file specified" >&2
- exit 1
-else
- :
+if test -z "$1"; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
fi
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d "$dst" ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=$mkdirprog
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f "$src" ] || [ -d "$src" ]
- then
- :
- else
- echo "$0: $src does not exist" >&2
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "$0: no destination specified" >&2
- exit 1
- else
- :
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d "$dst" ]
- then
- dst=$dst/`basename "$src"`
- else
- :
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
- '
-IFS="${IFS-$defaultIFS}"
-
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp=$pathcomp$1
- shift
-
- if [ ! -d "$pathcomp" ] ;
- then
- $mkdirprog "$pathcomp"
- else
- :
- fi
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src ;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ src=
+
+ if test -d "$dst"; then
+ instcmd=:
+ chmodcmd=
+ else
+ instcmd=$mkdirprog
+ fi
+ else
+ # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dstarg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dstarg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst ;;
+ esac
- pathcomp=$pathcomp/
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ dst=$dst/`basename "$src"`
+ fi
+ fi
+
+ # This sed command emulates the dirname command.
+ dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+ # Make sure that the destination directory exists.
+
+ # Skip lots of stat calls in the usual case.
+ if test ! -d "$dstdir"; then
+ defaultIFS='
+ '
+ IFS="${IFS-$defaultIFS}"
+
+ oIFS=$IFS
+ # Some sh's can't handle IFS=/ for some reason.
+ IFS='%'
+ set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ IFS=$oIFS
+
+ pathcomp=
+
+ while test $# -ne 0 ; do
+ pathcomp=$pathcomp$1
+ shift
+ if test ! -d "$pathcomp"; then
+ $mkdirprog "$pathcomp" || lasterr=$?
+ # mkdir can fail with a `File exist' error in case several
+ # install-sh are creating the directory concurrently. This
+ # is OK.
+ test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; }
+ fi
+ pathcomp=$pathcomp/
+ done
+ fi
+
+ if test -n "$dir_arg"; then
+ $doit $instcmd "$dst" \
+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+ else
+ # If we're going to rename the final executable, determine the name now.
+ if test -z "$transformarg"; then
+ dstfile=`basename "$dst"`
+ else
+ dstfile=`basename "$dst" $transformbasename \
+ | sed $transformarg`$transformbasename
+ fi
+
+ # don't allow the sed command to completely eliminate the filename.
+ test -z "$dstfile" && dstfile=`basename "$dst"`
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Move or copy the file name to the temp name
+ $doit $instcmd "$src" "$dsttmp" &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $instcmd $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+ # Now remove or move aside any old file at destination location. We
+ # try this two ways since rm can't unlink itself on some systems and
+ # the destination file might be busy for other reasons. In this case,
+ # the final cleanup might fail but the new file should still install
+ # successfully.
+ {
+ if test -f "$dstdir/$dstfile"; then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+ || {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit
+ }
+ else
+ :
+ fi
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+ fi || { (exit 1); exit; }
done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd "$dst" &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename "$dst"`
- else
- dstfile=`basename "$dst" $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename "$dst"`
- else
- :
- fi
-
-# Make a couple of temp file names in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
- rmtmp=$dstdir/#rm.$$#
-
-# Trap to clean up temp files at exit.
-
- trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
- trap '(exit $?); exit' 1 2 13 15
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd "$src" "$dsttmp" &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
-
-# Now remove or move aside any old file at destination location. We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons. In this case, the final cleanup
-# might fail but the new file should still install successfully.
-
-{
- if [ -f "$dstdir/$dstfile" ]
- then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
- $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
- {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit
- }
- else
- :
- fi
-} &&
-
-# Now rename the file to the real destination.
-
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
-
{
- (exit 0); exit
+ (exit 0); exit
}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c9b43dc..f77eb40 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,7 +1,192 @@
+2004-04-30 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (unique_section_p): Pass section parm, return true on
+ group sections.
+ (output_section_callback): Adjust.
+ * ldlang.h (unique_section_p): Update prototype.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
+
+2004-04-30 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * ld.texinfo (--gc-sections): Remove restriction for
+ dynamic linking.
+
+2004-04-29 Brian Ford <ford@vss.fsi.com>
+
+ * scripttempl/pe.sc: Handle .debug* and .gnu.linkonce.wi.* sections
+ for DWARF 2/3. Update stab section's syntax.
+
+2004-04-29 Alan Modra <amodra@bigpond.net.au>
+
+ * pe-dll.c: Revert changes accidentally committed 2004-03-08.
+ (fill_edata): Correct pointer arithmetic.
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * ld.texinfo: Remove MIPS --embedded-relocs documentation.
+ * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
+ * emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
+ (EXTRA_EM_FILE): Use mipsecoff.em
+ * emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
+ (EXTRA_EM_FILE): Use mipsecoff.em
+ * emultempl/mipsecoff.em: Restructure to be included as an
+ extra emulation file.
+ (check_sections, gld${EMULATION_NAME}_after_open)
+ (gld${EMULATION_NAME}_after_allocation)
+ (gld${EMULATION_NAME}_get_script)
+ (ld_${EMULATION_NAME}_emulation): Remove
+ (gld${EMULATION_NAME}_before_parse): Rename to...
+ (mipsecoff_before_parse): This.
+ (LDEMUL_BEFORE_PARSE): Define.
+ * emultempl/mipself.em: Remove file.
+ * scripttempl/mips.sc (.rel.sdata): Do not include in output.
+ (__runtime_reloc_start, __runtime_reloc_stop): Stop providing
+ these symbols.
+ * Makefile.am: Remove dependencies on emultempl/mipself.em.
+ * Makefile.in: Regenerate.
+
+2004-04-21 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * ld.texinfo (synthesizing on H8/300): Information about linker
+ relaxation support for bit manipulation instructions and system
+ control instructions is added.
+
+2004-04-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * NEWS: Mention change in DEFINED semantics.
+
+2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
+ (.data): Add KEEP for .gnu.linkonce.d.*personality*.
+ (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
+
+2004-04-21 Ben Elliston <bje@au.ibm.com>
+
+ * ld.texinfo (Simple Example): Add missing punctuation.
+
+2004-04-20 Chris Demetriou <cgd@broadcom.com>
+
+ * NEWS: Note that MIPS --embedded-relocs option is deprecated.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlang.c (lang_do_assignments_1): Handle .tbss output section
+ specially.
+
+2004-04-18 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * scriptempl/pe.sc: Put numbered .ctors.* after .ctors
+ with default priority. Likewise for dtors.
+
+2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * configure.host: Remove mips*-dec-bsd* target.
+ * configure.tgt: Likewise.
+
+2004-04-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix.
+ * emulparams/elf64bmip.sh (EXTRA_EM_FILE): Likewise.
+ * emulparams/elf32bmipn32.sh (EXTRA_EM_FILE): Likewise.
+ * emultempl/irix.em: New file.
+ * Makefile.am (eelf32bsmip.c, eelf32bmipn32.c, eelf64bmip.c): Update
+ dependencies.
+ * Makefile.in: Regenerate.
+
+2004-04-01 Paul Brook <paul@codesourcery.com>
+
+ * emultempl/armelf.em (byteswap_code): Add.
+ (arm_elf_before_allocation): Pass extra parameter.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
+ (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
+ (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
+ * emultempl/armelf_oabi.em: Pass extra parameter.
+ * ld.texinfo: Document --be8.
+
+2004-03-30 Stan Shebs <shebs@apple.com>
+
+ Remove long-obsolete MPW support.
+ * mpw-config.in, mpw-make.sed, mac-ld.r: Remove files.
+ * Makefile.am (mpw): Remove file-presynthesizing actions.
+ * Makefile.in: Likewise.
+ * ldfile.c (slash): Remove MPW case.
+ * ldlex.l [MPW]: Remove unused definition.
+
+2004-03-30 Galit Heller <Galit.Heller@nsc.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32cr16c.o.
+ (eelf32cr16c.c): New target.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Handle cr16c-*-elf*.
+ * emulparams/elf32cr16c.sh: New file.
+ * scripttempl/elfcr16c.sc: Likewise
+ * NEWS: Mention support for new target.
+
+2004-03-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2004-03-27 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em: Update new bfd_elf_discard_info name.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/sh64elf.em: Likewise.
+
+2004-03-25 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
+ size_dynamic_sections call.
+
+2004-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR 51.
+ * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
+ link_info.wrap_char.
+
+2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lexsup.c (parse_args): Don't set unresolved_syms_in_objects
+ or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
+
+2004-03-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * config.in: Regenerate.
+ * po/ld.pot: Regenerate.
+
+2004-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ld.texinfo: Add --as-needed doco.
+ * ldmain.c (as_needed): New global var.
+ * ldmain.h (as_needed): Declare.
+ * lexsup.c (option_values): Add OPTION_AS_NEEDED and
+ OPTION_NO_AS_NEEDED.
+ (ld_options): Likewise.
+ (parse_args): Handle them.
+ * ldlang.h (lang_input_statement_type): Add as_needed field.
+ * ldlang.c (new_afile): Set p->as_needed.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
+ (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
+ (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.
+
+ * ldlang.c (open_input_bfds): Remove useless cast.
+ (lang_do_assignments_1): Likewise.
+ (lang_for_each_input_section): Delete.
+
2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.tgt: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
+2004-03-08 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (pe_dll_generate_implib): Skip sections marked as
+ private when building implib.
+
2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
* ldlang.c (lang_add_section): Don't force SEC_LOAD on
@@ -9,6 +194,19 @@
(IGNORE_SECTION): Ignore .tbss sections too.
(lang_size_sections_1): .tbss sections do not advance dot.
+2004-03-01 Andreas Schwab <schwab@suse.de>
+
+ * ld.texinfo (Options): Fix example for --wrap.
+
+2004-02-25 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (fill_edata): Check that exported_symbol_sections is
+ not NULL.
+
+2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * ldlang.c (lang_check): Use %P, not %E, in error message.
+
2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
* ldlang.h (struct lang_output_section_state): Change processed
@@ -25,7 +223,7 @@
2004-02-23 Alan Modra <amodra@bigpond.net.au>
* ldexp.c (fold_tree): Follow indirect symbols.
-
+
2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
* ldgram.y (exp): Add two operand ALIGN.
diff --git a/ld/ChangeLog-0203 b/ld/ChangeLog-0203
index af12db7..ee5354d 100644
--- a/ld/ChangeLog-0203
+++ b/ld/ChangeLog-0203
@@ -1541,7 +1541,7 @@
* Makefile.in: Regenerate.
-2002-01-14 Charles Wilson <cwilson@ece.gatech.edu>
+2003-01-14 Charles Wilson <cwilson@ece.gatech.edu>
* ld.texinfo (node WIN32): Some clarifications
and formatting fixups.
@@ -1635,6 +1635,1941 @@
and ldver.texi.
* Makefile.in: Regenerated.
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * Makefile.am: Add msp430 target.
+ * configure.tgt: Likewise.
+ * Makefile.in: Regenerate.
+ * emulparams/msp430x???.sh: New files. Linker script parameters
+ for various msp430 configurations.
+ * gen-doc.texi: Enable msp430 documenation.
+ * ld.texinfo: Document msp430 sections.
+ * scripttempl/elf32msp430.sc: New file. Linker script for msp430.
+ * scripttempl/elf32msp430_3.sc: New file. Linker script for msp430.
+
+2002-12-30 Ralf Habacker <Ralf.Habacker@freenet.de>
+ Charles Wilson <cwilson@ece.gatech.edu>
+
+ * config.in (HAVE_REALPATH): New entry.
+ (HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
+
+2002-12-30 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * ld.texinfo: New win32 topics: 'symbol aliasing' and 'export dll
+ symbols'.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Init "strip_discarded".
+ * lexsup.c (OPTION_STRIP_DISCARDED): Define.
+ (OPTION_NO_STRIP_DISCARDED): Define.
+ (ld_options): Add "strip-discarded" and "no-strip-discarded".
+ (parse_args): Handle them.
+
+2002-12-23 Nick Clifton <nickc@redhat.com>
+
+ * ld.h (struct args_type): Add new field
+ 'accept_unknown_input_architecture'.
+ * ldmain.c (main): Initialise 'accept_unknown_input_architecture'
+ to false.
+ * ldlang.c (lang_check): Pass accept_unknown_input_architecture to
+ bfd_arch_get_compatible.
+ * ldfile.c (ldfile_try_open_bfd): Likewise.
+ * lexsup.c (ld_options): Add new command line switch
+ --accept-unknown-input-architecture and its inverse.
+ (parse_args): Handle --accept-unknown-input-architecture.
+ * ld.texinfo: Document new linker option.
+ * NEWS: Mention new linker option.
+
+2002-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Re-order link_info initialization. Init all
+ fields.
+
+2002-12-19 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * ld.texinfo: Clarify and extend the documentation
+ in the Machine Dependent, WIN32 section.
+
+2002-12-18 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * ld.texinfo: Add win32 machine depending section.
+ * gen-doc.texi: Enable win32 machine depending section.
+
+ * configure.host: Add win32 library search path.
+
+2002-12-17 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * emultempl/pe.em (pe_find_data_imports): Don't search for data
+ import when auto-import is disabled.
+
+2002-12-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * emultempl/pe.em (..._recognized_file): Use LD_PATHMAX+1 to
+ account for trailing '\0'.
+
+2002-12-17 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/pe.em (longopts): Duplicate entry for --compact-implib
+ so that it is not confused with -c.
+
+2002-12-13 Ralf Habacker <Ralf.Habacker@freenet.de>
+ Charles Wilson <cwilson@ece.gatech.edu>
+
+ * configure.in: Add check for realpath function.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * deffile.h: Add .data field to def_file_import
+ structure.
+ * pe-dll.c (pe_proces_import_defs): Use .data field of
+ def_file_import structure to initialize flag_data field of
+ def_file_export structure.
+ (pe_implied_import_dll): New variables exp_funcbase and
+ [data|bss]_[start|end]. Use DLL's internal name to set dll_name,
+ not filename (which may be a symlink). Scan the sections and
+ initialize [data|bss]_[start|end]. When scanning the export
+ table, skip _nm_ symbols, and mark any symbols whose rva indicates
+ that it is in the .bss or .data sections as data.
+ * sysdep.h: Include limits.h and sys/param.h, and define
+ LD_PATHMAX as appropriate. Also define REALPATH as realpath if it
+ exists, NULL otherwise.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Call
+ pe_process_import_defs before pe_find_data_imports, so that
+ auto-import will check the virtual implib as well as "real"
+ implibs.
+ (gld_${EMULATION_NAME}_recognized_file): Use REALPATH to follow
+ symlinks to their target; check that the target's extension is
+ .dll before calling pe_implied_import_dll(), not the filename
+ itself (which may be a symlink).
+
+2002-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (struct orphan_save): Add os_tail field.
+ (gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement
+ list too.
+
+2002-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.h: Formatting.
+
+2002-12-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (init_os): Ensure sections mentioned in load_base
+ are initialized.
+
+2002-12-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set
+ load_base for orphans that follow a section with load_base set.
+
+2002-12-01 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Remove the extra `;' in sample version script.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.host: Correct dynamic-linker for powerpc64 hosts.
+
+ * Makefile.am (eelf32ppcwindiss.c): Correct dependencies.
+ * Makefile.in: Regenerate.
+
+ * ld.h, ldcref.c, ldctor.c, ldctor.h, ldemul.c, ldemul.h, ldexp.c,
+ ldexp.h, ldfile.c, ldfile.h, ldgram.y, ldlang.c, ldlang.h, ldmain.c,
+ ldmain.h, ldmisc.c, ldwrite.c, lexsup.c, mri.c, pe-dll.c, pe-dll.h,
+ emulparams/elf32b4300.sh, emultempl/aix.em, emultempl/armcoff.em,
+ emultempl/armelf.em, emultempl/armelf_oabi.em, emultempl/beos.em,
+ emultempl/elf32.em, emultempl/generic.em, emultempl/gld960.em,
+ emultempl/gld960c.em, emultempl/hppaelf.em, emultempl/linux.em,
+ emultempl/lnk960.em, emultempl/m68kcoff.em, emultempl/mipsecoff.em,
+ emultempl/mmix-elfnmmo.em, emultempl/mmixelf.em, emultempl/mmo.em,
+ emultempl/needrelax.em, emultempl/pe.em, emultempl/ppc64elf.em,
+ emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em: Replace
+ boolean with bfd_boolean, true with TRUE, false with FALSE. Simplify
+ comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
+
+2002-11-27 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.host: Fix generic FreeBSD configuration entry.
+
+2002-11-27 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Add the missing `;' to sample version scripts.
+
+2002-11-20 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
+
+2002-11-14 Egor Duda <deo@logos-m.ru>
+
+ * ldmain.c (main): Make runtime relocs disabled by default. Remove
+ assignment which has no effect.
+ * pe-dll.h (pe_create_import_fixup): Change prototype.
+ * pe-dll.c (make_runtime_pseudo_reloc): New function.
+ (pe_create_runtime_relocator_reference): Ditto.
+ (pe_create_import_fixup): Handle relocations with non-zero addends.
+ * emultempl/pe.em: Add options --enable-runtime-pseudo-reloc and
+ --disable-runtime-pseudo-reloc.
+ (make_import_fixup): Handle relocations with non-zero addends. Create
+ an external reference to _pei386_runtime_relocator symbol if at least
+ one pseudo reloc was created.
+ * ld.texinfo: Document --enable-runtime-pseudo-reloc and
+ --disable-runtime-pseudo-reloc options.
+
+2002-11-12 Earl Chew <earl_chew@agilent.com>
+
+ * ldlang.c (lang_add_section): Discard debugging sections that have
+ been marked SEC_EXCLUDE.
+
+2002-11-12 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add da.
+ * configure: Regenerate.
+ * po/da.po: New Danish translation.
+
+2002-11-12 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (ppc_before_allocation): New function.
+ (LDEMUL_BEFORE_ALLOCATION): Define.
+ (gld${EMULATION_NAME}_finish): Run discard_info for relocatable
+ linking.
+ * emultemp/hppaelf.em ((gld${EMULATION_NAME}_finish): Likewise.
+
+2002-11-11 Christopher Faylor <cgf@redhat.com>
+
+ * configure.tgt (LIB_PATH): Default to searching w32api directory under
+ cygwin.
+
+2002-11-11 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * pe-dll.c (autofilter_liblist): add libmingwex and libgcj to the list
+ of restricted auto-export libs.
+
+2002-11-11 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * pe-dll.c (autofilter_liblist): Generalize library names to catch more
+ creative library naming instances like, e.g., libstdc++-2.a.
+
+2002-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Define.
+ * emulparams/elf64btsmip.sh (TEXT_DYNAMIC): Likewise.
+
+2002-11-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * deffilep.y (def_lex): Handle '@' as first character of an ID.
+ * pe-dll.c (auto-export): Filter on "_imp_" prefix, not "_imp__".
+ (make_one): Don't prefix decorated fastcall symbols with '_'.
+ (pe_process_import_defs): Likewise.
+ * emultempl/pe.em (pe_fixup_stdcalls): Don't fixup fastcall
+ symbols to cdecl names or vise-versa.
+
+2002-10-13 Eric Kohl <ekohl@rz-online.de>
+
+ * pe-dll.c (process_def_file): Handle fastcall symbols when
+ generating undecorated aliases. Don't prefix decorated fastcall
+ symbols with '_'.
+ (fill_exported_offsets): Don't prefix decorated fastcall symbols
+ with '_'.
+
+2002-10-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * emultempl/aix.em: Use include <> for generated headers.
+ * emultempl/beos.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * ldctor.c: Likewise.
+ * ldexp.c: Likewise.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldlex.c: Likewise.
+ * ldlex.l: Likewise.
+ * ldmain.c: Likewise.
+ * ldmisc.c: Likewise.
+ * ldwrite.c: Likewise.
+ * lexsup.c: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.c: Likewise.
+
+2002-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
+ sections into .rel{,a}.dyn.
+
+2002-10-23 Nick Clifton <nickc@redhat.com>
+
+ * lexsup.c (OPTION_NO_OMAGIC): Define.
+ (ld_options): Add "no-omagic" option.
+ (parse_args): Parse --no-omagic.
+ * ld.texinfo: Document --no-omagic.
+ * NEWS: Mention new option.
+
+2002-10-21 Danny Smith <dannysmith@users.sourceforeg.net>
+
+ * scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
+ __RUNTIME_PSEUDO_RELOC_LIST_END__): Add only when relocating.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
+ emulation name. Set LIB_PATH only for native tools, and
+ search the ABI-specific versions of NATIVE_LIB_DIRS before the
+ .../lib variants, not instead of them. Mostly copied from...
+ * emulparams/elf32ppc.sh: ... here. Fixed typo.
+ * emulparams/elf64bmip-defs.sh: Backed out.
+ * emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
+ * emulparams/elf64btsmip.sh: Likewise.
+ (DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
+ TEXT_DYNAMIC): Removed.
+
+2002-10-17 Alexandre Oliva <aoliva@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
+ (GENERATE_SHLIB_SCRIPT): Set to yes.
+ (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
+ * emulparams/elf32bmipn32.sh: here.
+ (GENERATE_SHLIB_SCRIPT): Deleted as redundant.
+ * emulparams/elf32btsmipn32.sh: Delete redundant unsets.
+ * emulparams/elf64bmip-defs.sh: New file. Extend
+ elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
+ * emulparams/elf64bmip.sh: Bring in definitions from
+ elf64bmip-defs.sh.
+ (ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
+ settings.
+ (WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
+ * emulparams/elf64btsmip.sh: Bring in definitions from
+ elf64bmip-defs.sh.
+ (ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
+ (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
+
+2002-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
+ (s390-*-linux*): Add elf64_s390 emulation if want64.
+ * emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
+ genscript.sh changes.
+ * emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
+ * emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
+
+2002-10-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Revert last change.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
+ just_syms_flag.
+ (lang_reasonable_defaults): Don't compare against false.
+ (size_input_section): Likewise.
+ (lang_size_sections_1): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_add_output): Likewise.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * ldver.c: #include "bfdver.h".
+
+2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
+ .finiN section.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+2002-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.
+
+ * ldgram.y (memory_spec): Provide empty action.
+ (section <NAME>): Likewise.
+
+2002-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ * ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
+ they have OUTPUT_FORMAT not matching actual output format.
+ * ldlang.c (lang_get_output_target): New function.
+ (open_output): Use it.
+ * ldlang.h (lang_get_output_target): New prototype.
+
+2002-10-10 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (output_rel_find): Prefer .rel script sections
+ when orphan is .rel, .rela when orphan is .rela.
+ (gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
+ first. Remove outsecname var.
+
+2002-10-09 Richard Shann <richard.shann@superh.com>
+ Stephen Clarke <stephen.clarke@superh.com>
+
+ * Makefile.am: Add eshelf32_linux.o and
+ eshlelf32_linux.o, new emulations for sh64 Linux.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
+ * emulparams/shelf32_linux.sh: New file.
+ * emulparams/shlelf32_linux.sh: New file.
+
+2002-10-08 H.J. Lu <hjl@gnu.org>
+
+ * ldlang.c (lang_file_exist): Removed.
+ (new_afile): Revert the last change.
+ * ldlang.h (lang_file_exist): Removed.
+ * lexsup.c (parse_args): Revert the last change.
+
+2002-10-07 Ralf Habacker <Ralf.Habacker@freenet.de>
+
+ * pe-dll.cc (autofilter_symbolprefixlist): Don't re-export
+ auto-import symbols.
+ (make_one): Create _nm_<symbol> for data only.
+
+2002-10-05 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * ldlang.c (lang_file_exist): New function.
+ (new_afile): Abort if the filename to be added matches the linker
+ output filename.
+ * ldlang.h: Add prototype for lang_file_exist.
+ * lexsup.c (parse_args): Abort if the output filename matches
+ one of the input filenames.
+
+2002-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000.
+
+2002-09-30 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+ * emultempl/elf32.em (output_rel_find): Always place orphan loadable
+ reloc sections just before .rel.plt/.rela.plt.
+ (gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
+ Only put loadable reloc sections in hold_rel.
+
+2002-09-29 H.J. Lu <hjl@gnu.org>
+
+ * emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
+
+2002-09-25 Daniel Jacobowitz <drow@mvista.com>
+
+ From "Anita Kulkarni" <AnitaK@kpit.com>
+ * scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
+ sections.
+
+2002-09-25 Alan Modra <amodra@bigpond.net.au>
+
+ * genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
+ TARGET_PAGE_SIZE.
+ * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
+ SEGMENT_SIZE alignment.
+ * emulparams/elf64ppc.sh (DATA_ADDR): Delete.
+ (SEGMENT_SIZE): Define.
+
+ * ldexp.c (fold_unary): New. Split out from exp_fold_tree.
+ (fold_binary): Correct abs - non-abs case.
+ (fold_trinary): New. Split out from exp_fold_tree.
+
+2002-09-24 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (DATA_ADDR): Define.
+ * emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
+ for start of .data, instead align up to 256M boundary.
+ * scripttempl/aix.sc: Likewise.
+
+2002-09-22 Mark Elbrecht <snowball3@softhome.net>
+
+ * scripttempl/i386go32.sc: Handle bss unique sections.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (vfinfo <%C,%D,%G>): Always output bfd, section and offset.
+
+2002-09-17 Stan Cox <scox@redhat.com>
+
+ * emulparams/elf32bmipn32-defs.sh: New file.
+ * emulparams/elf32bmipn32.sh: Use elf32bmipn32-defs.sh.
+ * emulparams/elf32btsmipn32.sh: Likewise.
+ * emulparams/elf64bmip.sh: Likewise.
+ * emulparams/elf64btsmip.sh: Likewise.
+
+2002-09-16 Bruno Haible <bruno@clisp.org>
+
+ * emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
+ elf32-i386-freebsd.
+ * emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
+ elf64-alpha-freebsd.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: New TI port supports both C4x and C3x series of DSPs.
+
+ * po/tr.po: Updated Turkish translation.
+
+2002-09-06 Jeffrey A Law (law@redhat.com)
+
+ * configure.tgt (h8300-*-hms*, h8500-*-hms*): Restore.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/v850.sc: Add EXTERN references to __ctbpm __gp and
+ __ep.
+ * emulparams/v850.sh (TEMPLATE_NAME): Define.
+
+2002-08-30 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/elfd10v.sc (MEMORY): Remove UNIFIED, it is not
+ used. Change INSN to start at 0x01000000 and extend for
+ 256K (ignoring holes). Start the STACK on a word aligned
+ boundary.
+ (.rodata): Start it at the READONLY_START_ADDR.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf32ppc.sh (ARCH): Set to "powerpc:common".
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * Makefile.am: Add etic4xcoff.o in ALL_EMULATIONS list and
+ added makefile targets for this file.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Added tic4x-coff and c4x-coff emulations.
+ * NEWS: Mention new port.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * emulparams/tic3xcoff.sh: New file.
+ * emulparams/tic4xcoff.sh: New file.
+ * scripttempl/tic3xcoff.sc: New file.
+ * scripttempl/tic4xcoff.sc: New file.
+
+2002-08-28 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,
+ strtoul and strtoull with bfd_scan_vma.
+ (gld${EMULATION_NAME}_read_file): Likewise.
+
+2002-08-28 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.tgt: Remove h8[35]00-*-hms*. Add h8500-*-rtems*.
+
+2002-08-27 Egor Duda <deo@logos-m.ru>
+
+ * scripttempl/pe.sc: Handle .rdata_runtime_pseudo_reloc sections.
+ Add symbols for application to access them.
+
+2002-08-27 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/armelf.em: Revert this patch, it is not needed.
+
+ 2002-08-22 Adam Nemet <anemet@lnxw.com>
+
+2002-08-20 Dan Kegel <dank@kegel.com>
+
+ * configure.in: added --with-lib-path argument to ld's configure
+ to set LIB_PATH.
+ * NEWS: Document new switch.
+ * README: Mention new switch.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+ Based on this patch:
+ 2001-04-25 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in (LIB_PATH): Make configurable.
+ (GENSCRIPTS): Set LIB_PATH in environment.
+ * configure.in: Substitute LIB_PATH.
+
+2002-08-22 Adam Nemet <anemet@lnxw.com>
+
+ * emultempl/armelf.em: Include elf-bfd.h and elf/arm.h.
+ (arm_elf_finish): Set the last bit of DT_INIT and DT_FINI
+ depending on the type of the function.
+ (arm_elf_convert_thumb_symbol_to_address): New function.
+
+2002-08-22 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add esh{l}elf_nto.o files.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add support for sh-**-nto* targets.
+ * emulparams/shelf_nto.sh: New file.
+ * emulparams/shlelf_nto.sh: New file.
+
+2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * ldlang.c (offsetof): Define if not defined.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Always enable 64bit emulations for 32bit
+ Linux/mips.
+
+2002-08-13 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.
+ (MAXPAGESIZE): Set to 1.
+
+ * ld.h (ALIGN_N): Delete.
+ * ldexp.h (align_n): Declare.
+ * ldexp.c (align_n): New function.
+ (fold_binary): Use align_n instead of ALIGN_N.
+ (exp_fold_tree): Likewise.
+ * ldlang.c (lang_size_sections_1): Likewise.
+ (lang_one_common): Likewise.
+ * ld.texinfo (ALIGN): Remove power of 2 restriction.
+
+2002-07-31 Graeme Peterson <gp@qnx.com>
+
+ * configure.tgt: Add support for powerpc{le}-*-nto* targets.
+ * Makefile.am: Add eelf32{l}ppcnto.o files.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32lppcnto.sh: New file.
+ * emulparams/elf32ppcnto.sh: New file.
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Document --no-undefined-version.
+
+ * ldlang.c (lang_new_vers_pattern): Set the `symver' and
+ `script.' fields to 0.
+
+ * ldmain.c (main): Initialize the allow_undefined_version to
+ true.
+
+ * lexsup.c (OPTION_NO_UNDEFINED_VERSION): New.
+ (ld_options): Add --no-undefined-version.
+ (parse_args): Support OPTION_NO_UNDEFINED_VERSION.
+
+2002-08-07 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/armelf.em (arm_elf_before_allocation): Only search for
+ an interworking bfd if there are input bfds. (107501)
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/aix.em (gld*_before_parse): Set default arch. Reverts
+ 2002-05-10 change.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * emulparams/armelf.sh: Revert previous delta.
+ * scripttempl/elf.sc: Revert previous delta.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt (powerpc*-*-linux*): Enable elf64ppc for
+ --enable-64-bit-bfd.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Enable x86-64 emulation for Linux/i386 if
+ 64bit BFD is selected.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * configure.tgt: Enable 64bit emulations for 32bit Linux/mips
+ if 64bit BFD is selected.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * emultempl/netbsd.em (LDEMUL_BEFORE_PARSE): New file to custom set
+ link_info.common_skip_ar_aymbols.
+ * emulparams/ns32knbsd.sh (EXTRA_EM_FILE): Refer to extra file.
+
+ * ldmain.c (main): Initialize new field
+ link_info.common_skip_ar_aymbols.
+
+2002-07-31 Adam Nemet <anemet@lnxw.com>
+
+ * emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable. Set it
+ to .plt.thumb.
+ * scripttempl/elf.sc: Comment it. Use the same way as ${PLT} is
+ used.
+
+2002-07-31 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: Retroactively add entry for Lars Brinkhoff's contribution
+ of the PDP-11 and 2.11BSD a.out support.
+
+2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
+ for n32 ABI support.
+ * Makefile.in: Regenerate.
+ * configure.tgt (mips64*el-*-linux-gnu*,mips64*-*-linux-gnu*): Add
+ n32 ABI emulations for these 64 bit targets.
+ * emulparams/elf32bmipn32.sh: Expand comment.
+ * emulparams/elf32btsmipn32.sh: New file, for traditional big endian
+ n32 ABI.
+ * emulparams/elf32ltsmipn32.sh: Likewise for little endian.
+
+2002-07-30 Graeme Peterson <gp@qnx.com>
+
+ * configure.tgt: Add support for arm-*-nto target.
+ * Makefile.am: Add earmnto.o file.
+ * Makefile.in: Regenerate.
+ * NEWS: Mention port of ARM support to QNX.
+ * emulparams/armnto.sh: New file.
+
+2002-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlang.c (lang_add_section): Don't turn .tbss into normal sections
+ for relocatable link.
+ (lang_size_sections_1): Don't make .tbss zero size for relocatable
+ link.
+
+2002-07-26 Bernd Schmidt <bernds@redhat.com>
+
+ * emulparams/elf32frv.sh (OTHER_RELOCATING_SECTIONS): Delete.
+ (STACK_ADDR): New.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2002-07-20 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+ bomb on /DISCARD/ input section.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+
+2002-07-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
+ output section.
+
+2002-07-16 Denis Chertykov <denisc@overta.ru>
+ Nick Clifton <nickc@redhat.com>
+ Frank Ch. Eigler <fche@redhat.com>
+ John Healy <jhealy@redhat.com>
+
+ * configure.tgt: Add support for ip2k-elf.
+ * Makefile.am: Add support for ip2k-elf.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32ip2k.sh: New file.
+ * scripttempl/ip2k.sc: New file
+ * NEWS: Mention support for new port.
+
+2002-07-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Add 'Changes in 2.13'.
+
+2002-07-14 H.J. Lu <hjl@gnu.org>
+
+ * ld.texinfo: Document a .symver takes precedence over a
+ version script.
+
+2002-07-12 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (ARCH): Set to powerpc:common64.
+ (COMMONPAGESIZE): Define.
+
+2002-07-09 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/hppanbsd.sh: Remark that hppaobsd.sh references this file.
+
+2002-07-09 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * configure.tgt: Add support for alpha-*-openbsd*, hppa-*-openbsd*,
+ powerpc-*-openbsd* and sparc64-*-openbsd*.
+ * Makefile.am (ALL_EMULATIONS): Add ehppaobsd.o.
+ * Makefile.in: Regenerate.
+ * emulparams/hppaobsd.sh: New file.
+
+2002-07-05 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (print_wild_statement): Fix output formatting.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c: (strip_excluded_output_sections): New function.
+ (lang_process): Call it.
+ (lang_size_sections_1): Revert 2002-06-10 change.
+
+2002-07-03 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (check-DEJAGNU): Revert 2002-06-25 change.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * ldfile.c (ldfile_try_open_bfd): Formatting.
+
+ * ldmisc.c (demangle): Move so that it doesn't intrude between
+ vfinfo comment and body. Add comment.
+
+2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * emulparams/vax.sh (OUTPUT_FORMAT): Use a.out-vax-bsd format.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.h (entry_sym): Make it a struct bfd_sym_chain.
+ * ldlang.c (entry_sym): Likewise.
+ (ldlang_undef_chain_list_type): Likewise.
+ (lang_finish): Adjust references to entry_symbol.
+ (lang_add_entry): Likewise.
+ (lang_gc_sections): Use link_info.gc_sym_list.
+ (lang_process): Set link_info.gc_sym_list.
+ * ldlex.l: Include bfdlink.h.
+ * ldmain.c (main): Init link_info.gc_sym_list.
+ * emultempl/aix.em: Adjust references to entry_symbol.
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/ppc64elf.em (ppc_after_open): New function.
+ (LDEMUL_AFTER_OPEN): Define.
+ * emulparams/elf64ppc.sh: KEEP .opd sections.
+
+2002-06-29 Stephane Carrez <stcarrez@nerim.fr>
+
+ * emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
+ * emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
+ (EEPROM_START_ADDR): Define.
+ (EEPROM_MEMORY): Define.
+ * emulparams/m68hc12elf.sh: Likewise.
+ * scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
+ section to put soft registers in .page0.
+ * scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
+
+2002-06-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * emulparams/hppa64linux.sh (OTHER_GOT_RELOC_SECTIONS): Add rela.opd
+ section. Add ${RELOCATING-0}.
+
+2002-06-26 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * emulparams/shelf.sh (STACK_ADDR): Don't define.
+ (OTHER_SECTIONS): Define.
+ * emulparams/shelf_nbsd.sh ((STACK_ADDR): Don't undef.
+ (OTHER_SECTIONS): Undef.
+
+2002-06-26 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (demangle): Restore dots stripped from sym name.
+
+2002-06-25 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
+ * Makefile.in: Regenerated.
+
+2002-06-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ld.texinfo (Bug Reporting): Update text to suggest a limit on
+ the size of attached object files, to allow make the object files
+ available via FTP or HTTP and to mention that the mail will be
+ sent to a mailing list.
+
+2002-06-20 Nathanael Nerode <neroden@twcny.rr.com>
+
+ * configure.host (romp): Drop support.
+
+2002-06-18 Chris Demetriou <cgd@broadcom.com>
+
+ * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Check
+ section flags for SEC_DATA, rather than for SEC_CODE being unset.
+
+2002-06-18 Chris Demetriou <cgd@broadcom.com>
+
+ * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Fix
+ format specifier used to print BFD name.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Jim Blandy:
+ * emulparams/elf32frv.sh: New file.
+ * configure.tgt: Support frv-*-*.
+ * Makefile.am (ALL_EMULATIONS): Add eelf32frv.o.
+ (eelf32frv.c): New target.
+
+2002-06-17 Tom Rix <trix@redhat.com>
+
+ * emultempl/elf32.em: gld*_get_script: Check for
+ GENERATE_COMBRELOC_SCRIPT.
+ * scripttempl/elfd10v.sc : Fix STACK and INSN.
+ * emulparams/d10velf.sh : Fix TEXT_START_ADDR.
+
+2002-06-13 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
+
+2002-06-12 H.J. Lu <hjl@gnu.org>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
+ false if xvec doesn't match.
+
+2002-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (lang_size_sections_1): Skip removed output sections.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldexp.c: Replace CONST with const.
+ * ldfile.c: Likewise.
+ * ldfile.h: Likewise.
+ * ldlex.l: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.h: Likewise.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (new_vers_pattern): Warning fix.
+
+2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * ldmain.c (main): initialize link_info.pei386_auto_import
+ to -1 == implicit enable.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
+ initialize link_info.pei386_auto_import to -1 == implicit
+ enable.
+ (gld_${EMULATION_NAME}_parse_args): When processing
+ --enable-auto-import and --disable-auto-import options, use
+ '1' and '0' instead of 'true' and 'false'.
+ (pe_find_data_imports): Only issue message about auto-import
+ when the feature is implicitly enabled. Downgrade message to
+ informational instead of warning.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.
+
+2002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,
+ HOSTING_CRT0 and HOSTING_LIBS.
+
+2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
+
+2002-06-05 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.
+ (NONPAGED_TEXT_START_ADDR): Set to 0x1000.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
+ SEC_EXCLUDE sections when doing a relocatable link.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
+ eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
+ (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
+ (eshlelf64_nbsd.c): New rules.
+ * Makefile.in: Regenerate.
+ * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
+ (sh64-*-netbsd*): New targets.
+ * emulparams/shelf32_nbsd.sh: New file.
+ * emulparams/shelf64_nbsd.sh: New file.
+ * emulparams/shlelf32_nbsd.sh: New file.
+ * emulparams/shlelf64_nbsd.sh: New file.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix.
+
+2002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * scripttempl/avr.sc: Changes to support current GCC and avr-libc,
+ C++ constructors/destructors, loosely based on the m68hc11 port.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-05-31 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add ei386nto.o.
+ (ei386nto.c): Add rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add i[3456]86-*-nto-qnx*.
+ * emulparams/i386nto.sh: New file.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * NEWS: Add entry for VAX ELF support.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+ Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o.
+ (eelf32vax.c)
+ (evaxnbsd.c): New rules.
+ * Makefile.in: Regenerate.
+ * configure.tgt (vax-*-netbsdelf*)
+ (vax-*-netbsdaout*)
+ (vax-*-netbsd*): New targets.
+ * emulparams/elf32vax.sh: New file.
+ * emulparams/vaxnbsd.sh: New file.
+
+2002-05-29 Adam Nemet <anemet@lnxw.com>
+
+ * emultempl/armelf.em (arm_elf_after_open): Don't determine
+ bfd_for_interwork, instead add glue sections to each input bfd.
+ (bfd_for_interwork): New global.
+ (arm_elf_set_bfd_for_interworking): New function.
+ (arm_elf_before_allocation): Use it.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * Makefile.am: Add DLX make target.
+ * configure.tgt: Add DLX configuration.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32_dlx.sh: New file
+ * scripttempl/dlx.sc: New file
+
+2002-05-27 Per Lundberg <per@caleb.dnsalias.org>
+
+ * Makefile.am (eelf_i386_chaos): Use elf_chaos.sc script.
+ * Makefile.in: Regenerate.
+ * emulparams/elf_chaos.sh: Use elf_chaos script.
+ * scripttempl/elf_chaos.sc: New file.
+
+2002-05-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (lang_size_sections_1): Move check for conflicting load
+ addresses and regions from here...
+ (lang_get_regions): ...to this new function.
+ (lang_leave_output_section_statement): Use lang_get_regions.
+ (lang_leave_overlay): Likewise.
+ * mri.c (mri_draw_tree): Pass null as last argument to
+ lang_leave_output_section_statement.
+ * emultempl/elf32.em (gld*_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+ * emultempl/pe.em (gld*_place_orphan): Likewise.
+
+2002-05-26 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
+
+2002-05-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ldemul.c: Fix formatting.
+ * ldfile.c: Likewise.
+ * pe-dll.c: Likewise.
+ * pe-dll.h: Likewise.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_process): Formatting, grammar.
+
+ * ldlex.l: Use #include "" instead of <> for local header files.
+
+2002-05-24 TAMURA Kent <kent@netbsd.org>
+
+ * configure.tgt: Add a target for i386-netbsdpe.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
+ * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
+ output section if necessary. Handle .tbss.
+ (lang_size_sections): Clear _raw_size for .tbss section
+ (it allocates space in PT_TLS segment only).
+ * ldwrite.c (build_link_order): Build link order for .tbss too.
+
+2002-05-23 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: Correct spelling of AC_PREREQ.
+
+2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-dll.c (autofilter_liblist): Add more system libs excluded by
+ default.
+ (autofilter_objlist): Add crtbegin.o, crtend.o.
+
+2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
+ (longopts): Add new option --exclude-libs.
+ (gld_${EMULATION_NAME}_list_options): Give quick help about it.
+ (gld_${EMULATION_NAME}_parse_args): Use it.
+ * pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
+ * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols
+ from whole archives.
+ (pe_dll_add_excludes): Set excludes->type.
+ (auto_export): Add new variable libname and set to archive basename if
+ abfd. Use it when filtering default and user-specified libarary
+ excludes. Let string "ALL" mean all libs when filtering user-specified
+ libs.
+ * ld.texinfo: Document --exclude-libs.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * ldemul.c (ldemul_new_vers_pattern): New function.
+ * ldemul.h (ldemul_new_vers_pattern): Declare.
+ (struct ld_emulation_xfer_struct): Add new_vers_pattern.
+ * ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
+ * emultempl/ppc64elf.em (dotsyms): New static var.
+ (gld${EMULATION_NAME}_new_vers_pattern): New function.
+ (LDEMUL_NEW_VERS_PATTERN): Define.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
+ (PARSE_AND_LIST_LONGOPTS): Likewise.
+ (PARSE_AND_LIST_ARGS_CASES): Handle them.
+ * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
+ initialiser.
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/armelf_oabi.em: Likewise.
+ * emultempl/beos.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/generic.em: Likewise.
+ * emultempl/gld960.em: Likewise.
+ * emultempl/gld960c.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/lnk960.em: Likewise.
+ * emultempl/m68kcoff.em: Likewise.
+ * emultempl/mipsecoff.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/ticoff.em: Likewise.
+ * emultempl/vanilla.em: Likewise.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
+ and $NATIVE_LIB_DIRS. Add $tool_lib before other libs.
+ (LIB_SEARCH_DIRS): No need to use "tr".
+ (COMPILE_IN): Only set for native targets.
+ * configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
+ here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
+ * configure.tgt (powerpc*): Set tdir_*.
+ (powerpcle*): Correct targ_extra_emuls.
+ * emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
+ * emulparams/elf64ppc.sh (LIB_PATH): Likewise.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
+ calling lang_add_entry.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
+ "-z muldefs".
+ (gld${EMULATION_NAME}_list_options): Add "-z muldefs".
+
+ * ld.texinfo: Updated for --allow-multiple-definition and
+ "-z muldefs".
+
+ * ldmain.c (main): Initialize the allow_multiple_definition
+ field to false.
+
+ * lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
+ (ld_options): Add --allow-multiple-definition.
+ (parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
+
+2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
+ (earmelfb_nbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (armeb-*-netbsdelf*): New target.
+ (arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
+ (arm-*-netbsd*): Likewise.
+ * emulparams/armelfb_nbsd.sh: New file.
+
+2002-05-18 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_args): Add -bnortl and -bnortllib
+ support.
+
+2002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
+ * Makefile.in: Regenerate.
+ * configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
+
+2002-05-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * emulparams/avr1.sh: New file.
+ * emulparams/avr2.sh: New file.
+ * emulparams/avr3.sh: New file.
+ * emulparams/avr4.sh: New file.
+ * emulparams/avr5.sh: New file.
+ * scripttempl/avr.sc: New file.
+
+2002-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (section_already_linked): Call bfd_link_just_syms.
+ (lang_place_orphans): Abort if just_syms_flag.
+
+2002-05-10 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em: (gld*_set_output_arch): New function. Use
+ architecture and machine information in the output bfd.
+ (gld*_before_parse): Remove old arch and machine code.
+ (choose_target): Rename to gld*_choose_target.
+ (rtld): Change type to int.
+ * ldfile.c (ldfile_try_open_bfd): Disable compatiblity check for
+ objects in XCOFF archives.
+ * ldfile.h: Update copyright date.
+
+2002-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ * ldmain.c (main): Enable -z combreloc by default.
+
+2002-05-07 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * Makefile.am: Honour DESTDIR.
+ * Makefile.in: Regenerate.
+
+2002-05-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
+ (lang_enter_overlay): Remove the last two parameters.
+ (lang_leave_overlay): Take them here instead.
+ * ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
+ (section): Pass LMA and crossref flag to lang_leave_overlay rather
+ than lang_enter_overlay.
+ * ldlang.c (lang_memory_region_lookup): Return null for null names.
+ (lang_output_section_statement_lookup): Initialize update_dot_tree.
+ (lang_size_sections_1): Evaluate it.
+ (lang_leave_output_section_statement): Rework LMA lookup.
+ (overlay_lma, overlay_nocrossrefs): Remove.
+ (lang_enter_overlay): Remove LMA and crossref arguments.
+ (lang_enter_overlay_section): Don't set the LMA here.
+ (lang_leave_overlay): Take LMA and crossref arguments. Move the '.'
+ assignment to the last section's update_dot_tree. Unconditionally
+ use the load and run-time regions specified in the OVERLAY statement.
+ Likewise the first section's LMA. Only set the other sections' LMAs
+ when no load region is given.
+
+2002-05-06 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: New translation.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/hppaelf.em (build_section_lists): New function.
+ (gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
+ and build_section_lists.
+
+2002-05-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ld.h: Fix formatting.
+ * ldexp.c: Likewise.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldmain.c: Likewise.
+ * lexsup.c: Likewise.
+ * pe-dll.c: Likewise.
+
+2002-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
+ Adjust for ppc64_elf_set_toc change. #include libbfd.h.
+ (build_section_lists): Do output_section tests here.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em : (gld*_parse_arge): Formatting changes.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ Long branch stubs, multiple stub sections.
+ * emultempl/ppc64elf.em: Include ldctor.h.
+ (stub_file): New var.
+ (group_size): New var.
+ (ppc_create_output_section_statements): New function.
+ (struct hook_stub_info): New.
+ (hook_in_stub): New function.
+ (ppc_add_stub_section): New function.
+ (ppc_layout_sections_again): New function.
+ (build_section_lists): New function.
+ (gld${EMULATION_NAME}_finish): Rewrite.
+ (real_func): New var.
+ (ppc_for_each_input_file_wrapper): New function.
+ (ppc_lang_for_each_input_file): New function.
+ (lang_for_each_input_file): Define.
+ (PARSE_AND_LIST_PROLOGUE): Define.
+ (PARSE_AND_LIST_LONGOPTS): Define.
+ (PARSE_AND_LIST_OPTIONS): Define.
+ (PARSE_AND_LIST_ARGS_CASES): Define.
+ (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_arge, gld*_before_allocation): Add
+ -blibpath, -bnolibpath support.
+
+2002-04-30 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
+ (eelf32ppcwindiss.c): New target.
+ * Makefile.in: Regenerated.
+ * configure.tgt: Add support for powerpc-*-windiss.
+ * emulparams/elf32ppcwindiss.sh: New file.
+
+2002-04-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * ldlang.c (print_assignment): Update print_dot for assignments to ".".
+ * ldexp.c (exp_print_token): Add "infix_p" argument.
+ (exp_print_tree): Update accordingly.
+
+2002-04-28 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
+ * Makefile.in: Regenerate.
+ * mpw-elfmips.c: Delete.
+ * mpw-eppcmac.c: Delete.
+ * mpw-esh.c: Delete.
+ * mpw-idtmips.c: Delete.
+
+2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * emulparams/shelf32.sh (MACHINE): Now sh5.
+
+2002-04-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * ldgram.y: Fix syntax warning.
+
+2002-04-11 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Add 'n' in order
+ to prevent "-n" from being taken as an abbreviation for
+ "--no-pipeline-knowledge".
+
+2002-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_size_sections_1): Don't complain about
+ SEC_NEVER_LOAD sections having no memory region specified.
+
+ * ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix.
+
+2002-04-07 matthew green <mrg@redhat.com>
+
+ * configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options.
+
+2002-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
+ is smaller than maximum, round dot up to common page boundary.
+
+2002-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.host: Set up for generic hosts first, then tweak as
+ necessary in more specific targets.
+ (HOSTING_LIBS): Include libgcc_eh.a if found.
+
+2002-03-23 Andreas Jaeger <aj@suse.de>
+
+ * emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-03-21 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * genscripts.sh (LIB_SEARCH_DIRS): Quote path.
+
+2002-03-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (ldlang_add_undef): If the output bfd has been opened,
+ add the symbol to the linker hash table immediately.
+ (lang_place_undefineds): Split symbol creation out..
+ (insert_undefined): ..to here.
+
+2002-03-18 David O'Brien <obrien@FreeBSD.org>
+
+ * emultempl/elf32.em: Use lbasename vs. basename to fix problem where
+ the contents of the buffer returned from basename function will are
+ getting overwritten while still being used.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+ Andreas Jaeger <aj@suse.de>
+ Andreas Schwab <schwab@suse.de>
+
+ * configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.
+ * elf_x86_64.sh (ARCH): Set to i386:x86-64
+ set libraries to default to lib64 paths.
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * Makefile.am : Add eaix5ppc and eaix5rs6, AIX 5 support.
+ * configure.tgt : Same.
+ * emulparms/aix5ppc.sh : New file. For eaix5ppc.
+ * emulparms/aix5rs6.sh : New file. For eaix5rs6.
+ * emulparms/aixppc.sh : OUPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT
+ emulation parameters for better -b32, -b64 support.
+ * emulparms/aixrs6.sh : Same.
+ * emulparms/ppcmacos.sh : Same.
+ * emultempl/aix.em (choose_target) : Use new emulation parameters
+ OUTPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT.
+ * Makefile.in : Regenerate.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmain.c (main): Move .text readonly flag fudges from here..
+ * ldlang.c (lang_process): ..to here.
+
+2002-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_check): Remove the word size check added in last
+ change. Treat emitrelocations case as for relocatable links.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (lang_check): Do relocatable link checks first, so that
+ warn_mismatch can't override. Check compatible and word size too.
+
+2002-03-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
+
+2002-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
+ DATA_SEGMENT_ALIGN.
+
+2002-03-04 H.J. Lu <hjl@gnu.org>
+
+ * scripttempl/elf.sc: Put .preinit_array, .init_array and
+ .fini_array in the data segment.
+
+2002-03-04 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
+
+2002-03-01 David Mosberger <davidm@hpl.hp.com>
+
+ * scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
+ .init_array, and .fini_array.
+
+2002-02-20 Andreas Schwab <schwab@suse.de>
+
+ * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
+ .IA64_unwind* in a relocatable link.
+
+2002-02-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * NEWS: Mark 2.12 branch.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit".
+ * emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit".
+
+2002-02-18 Tom Rix <trix@redhat.com>
+
+ * emultempl/aix.em (gld*_parse_args): Add -brtl support.
+ (gld*_before_allocation): Same.
+ (gld*_create_output_section_statements): Generate
+ __rtinit if run time linking. Add librtl.a to the link.
+ (gld*_read_file): Clean.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
+
+2002-02-18 David O'Brien <obrien@FreeBSD.org>
+
+ * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd,
+ eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
+ and eelf64alpha_fbsd.
+ * Makefile.in: Regenerate.
+ * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd,
+ x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd):
+ use a FreeBSD-specific emulation rather than the psABI one.
+ * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value
+ for all FreeBSD ELF systems.
+ * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI
+ emulation.
+ * emulparams/elf32ppc_fbsd.sh: Likewise.
+ * emulparams/elf64_ia64_fbsd.sh: Likewise.
+ * emulparams/elf64_sparc_fbsd.sh: Likewise.
+ * emulparams/elf64alpha_fbsd.sh: Likewise.
+ * emulparams/elf_i386_fbsd.sh: Likewise.
+ * emulparams/elf_x86_64_fbsd.sh: Likewise.
+
+2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Updated version.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ld.texinfo (Output Section Fill): Fix amateur texinfo.
+ (FILL): Likewise.
+
+2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmo.em (mmo_after_open): Don't call
+ _bfd_mmix_check_all_relocs when producing ELF output.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * emulparams/elf64alpha.sh (NOP): Adjust for big-endian
+ definition. Emit a unop+nop pair.
+
+2002-02-15 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check
+ for presence of .MMIX.reg_contents.linker_allocated before early
+ exit.
+
+ * NEWS: Mention support for MMIX.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * ld.texinfo (Output Section Fill): Describe fill expressions.
+ (FILL): Refer to the above.
+ * ldexp.h (etree_value_type): Add "str" field.
+ (union etree_union): Add "str" to "value" struct.
+ (exp_bigintop): Declare.
+ (exp_get_fill): Declare.
+ * ldexp.c: Include "safe-ctype.h".
+ (exp_intop): Set value.str to NULL.
+ (exp_bigintop): New function.
+ (new_rel): Pass in "str", and set new.str from it.
+ (new_rel_from_section): Set new.str to NULL.
+ (fold_name): Adjust calls to new_rel.
+ (exp_fold_tree): Likewise.
+ (exp_get_fill): New function.
+ * ldgram.y (struct big_int bigint, fill_type *fill): New.
+ (INT): Returns a "bigint". Adjust all code handling INTs.
+ (fill_opt): Returns a "fill".
+ (fill_exp): Split out of fill_opt, use for FILL.
+ * ldlang.h (struct _fill_type): New.
+ (fill_type): Move typedef to ldexp.h.
+ (lang_output_section_statement_type): "fill" is now a pointer.
+ (lang_fill_statement_type): Likewise.
+ (lang_padding_statement_type): Likewise.
+ (lang_add_fill): Now takes a "fill_type *" param.
+ (lang_leave_output_section_statement): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_size_sections): Likewise.
+ (lang_leave_overlay_section): Likewise.
+ (lang_leave_overlay): Likewise.
+ * ldlang.c: Include ldgram.h after ldexp.h.
+ (lang_output_section_statement_lookup): Adjust for fill_type change.
+ (print_fill_statement): Likewise.
+ (print_padding_statement): Likewise.
+ (insert_pad): Now takes a "fill_type *" arg.
+ (size_input_section): Likewise.
+ (lang_size_sections_1): Likewise.
+ (lang_size_sections): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_add_fill): Likewise.
+ (lang_leave_output_section_statement): Likewise.
+ (lang_leave_overlay_section): Likewise.
+ (lang_leave_overlay): Likewise.
+ Adjust all callers of the above function.
+ * ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers
+ starting with "0X" as well as "0x". Return bigint.str for hex
+ numbers starting with "0x" or "0X", zero bigint.str otherwise.
+ Always use base 16 for numbers starting with "$".
+ * ldmain.c: Include ldgram.h after ldexp.h.
+ * ldwrite.c (build_link_order): Use bfd_data_link_order in place
+ of bfd_fill_link_order.
+ * pe-dll.c: Adjust lang_do_assignments calls.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
+ lang_add_assignment call.
+ * emultempl/pe.em: Likewise.
+
+2002-02-14 Phil Edwards <pme@gcc.gnu.org>
+
+ * ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
+ * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
+ the pattern in question is not a regexp.
+ * ldlang.c: Likewise.
+ * ldlang.h: Likewise.
+ * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
+
+2002-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ * ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+ * ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+ (exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
+ * ldexp.c (exp_data_seg): New variable.
+ (exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
+ (fold_binary): Handle DATA_SEGMENT_ALIGN.
+ (exp_fold_tree): Handle DATA_SEGMENT_END.
+ Pass allocation_done when recursing instead of hardcoding
+ lang_allocating_phase_enum.
+ * ldexp.h (exp_data_seg): New.
+ * ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
+ (lang_size_sections): New.
+ * ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
+ * scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
+ if COMMONPAGESIZE is defined.
+ * emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
+ * emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
+ * emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
+ libraries only.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * lexsup.c: Remove strtoul declaration.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * ldmain.c: Add prototype for main ().
+ * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H.
+ * emultempl/lnk960.em (lnk960_choose_target): Function should
+ take two arguments.
+
+2002-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (entry_section): New initialised variable.
+ (lang_finish): Use it.
+ * ldlang.h (entry_section): Declare.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
+ entry_section to ".opd".
+
+2002-02-09 Chris Demetriou <cgd@broadcom.com>
+
+ * ld.texinfo (Options): Add back in -nostdlib documentation,
+ which had been inadvertently removed.
+
+2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust
+ register section vma to a sane value after emitting error. Make
+ fatal conditions cause program exit when emitting message.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * configure.tgt: Add or32-*-rtems target.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined
+ in OTHER_RELOCATABLE_SECTIONS.
+ 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/shelf32.sh (STACK_ADDR): Define.
+ (OTHER_RELOCATABLE_SECTIONS): Renamed to...
+ (OTHER_SECTIONS): this. Removed stack settings.
+ * emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set.
+ (OTHER_SECTIONS): Reset after sourcing shelf32.sh.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable
+ relaxing if any shmedia or mixed sections are found.
+ 2001-03-07 DJ Delorie <dj@redhat.com>
+ * emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to
+ einfo. Gracefully decline to output to non-elf formats.
+ 2001-03-06 Hans-Peter Nilsson <hpn@redhat.com>
+ * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>:
+ Default to _end aligned to next multiple of 0x40000, plus 0x40000.
+ * emulparams/shelf32.sh: Ditto.
+ 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak
+ comment.
+ 2001-01-10 Ben Elliston <bje@redhat.com>
+ * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid
+ non-portable shell constructs. From Hans-Peter Nilsson.
+ 2001-01-09 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty.
+ * Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust
+ dependencies to the shell script include chain.
+ * Makefile.in: Regenerate.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em: Update and tweak comments.
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and
+ make a .cranges section SEC_IN_MEMORY.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em
+ (sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when
+ .cranges section found to be necessary; continue and set stored
+ section contents flags for sections with non-mixed contents.
+ Use a struct sh64_section_data container and sh64_elf_section_data
+ to store contents-type flags.
+ Remove unused update of "isec".
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Only process
+ sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to
+ access contents-type flags. Assert that the associated container
+ is initialized. Use that container, not elf_gp_size, to hold size
+ of linker-generated cranges contents.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em
+ (sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if
+ there's already a .cranges section. When section flag difference
+ is found, don't NULL-check cranges a second time. Tweak comments.
+ (sh64_elf_${EMULATION_NAME}_after_allocation): Use size after
+ merging, not max size, as size of ld-generated .cranges contents.
+ Don't set ELF section flags in output section. When checking for
+ needed .cranges descriptors, don't use a variable; compare
+ incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak
+ comments.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emultempl/sh64elf.em: New file.
+ * Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies.
+ * Makefile.in: Regenerate.
+ * emulparams/shelf32.sh (OUTPUT_FORMAT): Only set if not set.
+ (OTHER_RELOCATING_SECTIONS): Ditto.
+ (EXTRA_EM_FILE): New, set to sh64elf if not set.
+ * emulparams/shlelf32.sh: Stub out all settings except
+ OUTPUT_FORMAT. Source shelf32.sh.
+ * emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and
+ OTHER_RELOCATING_SECTIONS.
+ (OTHER_RELOCATING_SECTIONS): Remove .cranges.
+ * emulparams/shlelf64.sh: Stub out all settings except
+ OUTPUT_FORMAT. Source shelf64.sh.
+ 2000-12-15 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include
+ .cranges section.
+ (DATA_START_SYMBOLS): Define, provide ___data.
+ (OTHER_READONLY_SYMBOLS): Define, provide ___rodata and align to 8
+ for consecutive .data section.
+ (OTHER_GOT_SECTIONS): Define, align to 8 for consecutive .bss
+ section after .data section.
+ * emulparams/shlelf64.sh: Ditto.
+ * emulparams/shelf32.sh: Ditto.
+ (ALIGNMENT): Define to 8.
+ * emulparams/shelf32.sh: Ditto.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get
+ built-in linker scripts.
+ 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shlelf64.sh: New.
+ * emulparams/shelf64.sh: New.
+ * configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to
+ targ_extra_emuls.
+ * Makefile.am: Add support for shlelf64 and shelf64.
+ * Makefile.in: Regenerate.
+ 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
+ * configure.tgt (sh64-*-elf*): Add shelf as default.
+ Add shlelf to targ_extra_emuls.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * emulparams/shelf32.sh: New file.
+ * emulparams/shlelf32.sh: New file.
+ * Makefile.am: Add support for shlelf32 and shelf32.
+ * configure.tgt: Map sh64-*-elf* to shlelf32 and shelf32.
+ * Makefile.in: Regenerate.
+
+2002-02-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * ldlang.c (lang_reset_memory_regions): Rename from
+ reset_memory_regions. Change all callers. Make public.
+ * ldlang.h (lang_reset_memory_regions): Prototype.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Call
+ lang_reset_memory_regions before lang_size_sections.
+ * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise.
+
+2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signed
+ arithmetic when checking for too many global registers.
+
+2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add ehppanbsd.o.
+ (ehppanbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (hppa*-*-netbsd*): New target.
+ * emulparams/hppalinux.sh: Add comment to check other files
+ that source this file it is modified, and list which
+ files that do.
+ * emulparams/hppanbsd.sh: New file.
+
+2002-02-01 Geoffrey Keating <geoffk@redhat.com>
+
+ * scripttempl/xstormy16.sc: Don't allocate extra space for the
+ stack.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Support on-demand global register allocation from
+ R_MMIX_BASE_PLUS_OFFSET relocs.
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from
+ mmix_set_reg_section_vma. Call
+ _bfd_mmix_finalize_linker_allocated_gregs.
+ (mmix_before_allocation): New function.
+ (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation.
+ (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation.
+ * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP.
+ (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated
+ before .MMIX.reg_contents.
+ * emultempl/mmo.em (gldmmo_before_allocation): Define to default.
+ (mmo_after_open): New function.
+ (LDEMUL_AFTER_OPEN): Define to mmo_after_open.
+ * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add
+ .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * emulparams/or32.sh: New file.
+ * emulparams/or32elf.sh: New file.
+ * scripttempl/or32.sc: New file.
+ * configure.tgt : Add support for or32.
+ * configure: Regenerate
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * NEWS: Mention support for or32.
+ * po/ld.pot: Regenerate.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+ Mitch Lichtenberg <mpl@broadcom.com>
+
+ * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself.
+ * emultempl/mipself.em: New file to handle MIPS ELF embedded
+ reloc creation (ld --embedded-relocs).
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (install): Depend on install-info.
+ * Makefile.in: Regenerate.
+
+2002-01-26 Christian Rose <menthos@menthos.com>
+
+ * ldmain.c (main): Use full sentences to ease translation.
+
+2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: Updated version.
+
+2002-01-25 Andreas Jaeger <aj@suse.de>
+
+ * ldlex.l (yy_input): Correct error check.
+
+2002-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ldmisc.c (demangle): Put back dots when string not demangled.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * emulparams/elf64alpha.sh (NOP): Use unop.
+
+2002-01-21 Andreas Jaeger <aj@suse.de>
+
+ * ldlex.l: Use fread instead of read.
+
+2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt (ia64-*-netbsd*): New target.
+
+2002-01-21 H.J. Lu <hjl@gnu.org>
+
+ * emulparams/elf32btsmip.sh (SHLIB_TEXT_START_ADDR): Change to
+ 0.
+ * emulparams/elf64btsmip.sh (SHLIB_TEXT_START_ADDR): Likewise.
+
+2002-01-18 Andreas Jaeger <aj@suse.de>
+
+ * ldver.c (ldversion): Update year.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/ld.pot: Regenerate.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (eelf64ppc.c, eelf64lppc.c): Depend on ppc64elf.em.
+ * Makefile.in: Regenerate.
+ * emulparams/elf64ppc.sh (EXTRA_EM_FILE): Define.
+ * emultempl/ppc64elf.em: New file.
+
+2002-01-15 DJ Delorie <dj@redhat.com>
+
+ * scripttempl/pe.sc: Add support for constructor priorities.
+
+2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * emulparams/avr1200.sh (DATA_START): Define as 0x60.
+ * emulparams/avr23xx.sh: Likewise.
+ * emulparams/avr4433.sh: Likewise.
+ * emulparams/avr44x4.sh: Likewise.
+ * emulparams/avr85xx.sh: Likewise.
+ * emulparams/avrmega103.sh: Likewise.
+ * emulparams/avrmega161.sh: Likewise.
+ * emulparams/avrmega603.sh: Likewise.
+ * scripttempl/elf32avr.sc: Use DATA_START instead of 0x60.
+
+2002-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * ldlang.c (walk_wild_section): Exclude object file if enclosing
+ archive is excluded.
+
+2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (ALL_EMULATIONS): Add eshelf_nbsd.o and eshlelf_nbsd.o.
+ (eshelf_nbsd.c): New rule.
+ (eshlelf_nbsd.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt (sh*le-*-netbsdelf*): New target.
+ (sh*-*-netbsdelf*): New target.
+ * emulparams/shelf.sh: Document that shelf_nbsd.sh sources this file.
+ * emulparams/shelf_nbsd.sh: New emulation.
+ * emulparams/shlelf_nbsd.sh: New emulation.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+2002-01-06 John Marshall <jmarshall@acm.org>
+
+ * ld.texinfo: Note that --emit-relocs is currently only
+ implemented for ELF.
+
+2002-01-05 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Make use
+ of bfd_section_list_remove and bfd_section_list_insert macros.
+ * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
+ * emultempl/mmo.em (mmo_place_orphan): Likewise.
+
+2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.tgt (x86_64-*-netbsd*): New target.
+
For older changes see ChangeLog-0001
Local Variables:
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 25b1cfb..308d422 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -149,6 +149,7 @@ ALL_EMULATIONS = \
eelf32_i860.o \
eelf32_sparc.o \
eelf32b4300.o \
+ eelf32cr16c.o \
eelf32bmip.o \
eelf32bmipn32.o \
eelf32btsmip.o \
@@ -626,54 +627,54 @@ eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(srcdir)/emultempl/elf32.em \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh \
@@ -701,7 +702,6 @@ eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
@@ -781,7 +781,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
@@ -1656,29 +1656,6 @@ dep-am: DEP
.PHONY: dep dep-in dep-am
-@MAINT@.PHONY: mpw
-@MAINT@mpw: $(srcdir)/mpw-ei386go32.c $(srcdir)/mpw-elfmips.c \
-@MAINT@ $(srcdir)/mpw-em68kcoff.c $(srcdir)/mpw-eppcmac.c \
-@MAINT@ $(srcdir)/mpw-esh.c $(srcdir)/mpw-idtmips.c
-@MAINT@
-@MAINT@$(srcdir)/mpw-ei386go32.c: ei386go32.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-elfmips.c: eelf32ebmip.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-em68kcoff.c: em68kcoff.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-eppcmac.c: eppcmacos.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-esh.c: esh.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-idtmips.c: emipsidt.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 5a91690..40051ef 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -263,6 +263,7 @@ ALL_EMULATIONS = \
eelf32_i860.o \
eelf32_sparc.o \
eelf32b4300.o \
+ eelf32cr16c.o \
eelf32bmip.o \
eelf32bmipn32.o \
eelf32btsmip.o \
@@ -1352,54 +1353,54 @@ eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(srcdir)/emultempl/elf32.em \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emulparams/elf32bmip.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh \
@@ -1427,7 +1428,6 @@ eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
@@ -1507,7 +1507,7 @@ eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32.sh $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
@@ -2356,29 +2356,6 @@ dep-am: DEP
.PHONY: dep dep-in dep-am
-@MAINT@.PHONY: mpw
-@MAINT@mpw: $(srcdir)/mpw-ei386go32.c $(srcdir)/mpw-elfmips.c \
-@MAINT@ $(srcdir)/mpw-em68kcoff.c $(srcdir)/mpw-eppcmac.c \
-@MAINT@ $(srcdir)/mpw-esh.c $(srcdir)/mpw-idtmips.c
-@MAINT@
-@MAINT@$(srcdir)/mpw-ei386go32.c: ei386go32.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-elfmips.c: eelf32ebmip.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-em68kcoff.c: em68kcoff.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-eppcmac.c: eppcmacos.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-esh.c: esh.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-@MAINT@
-@MAINT@$(srcdir)/mpw-idtmips.c: emipsidt.c
-@MAINT@ $(srcdir)/../move-if-change $< $@
-
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
diff --git a/ld/NEWS b/ld/NEWS
index 0db0d18..d4c82fd 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,13 @@
-*- text -*-
+* The linker script operator DEFINED() will now yield 1 only for a symbol that
+ is defined before the statement where DEFINED is used.
+
+* The MIPS --embedded-relocs (used to embed relocations into binaries for
+ Embedded-PIC code) is deprecated and will be removed in a future release.
+
+* cr16c support added by NSC.
+
* m32r Linux (ELF) support added by Renesas.
* Improved linker's handling of unresolved symbols. The switch
diff --git a/ld/config.in b/ld/config.in
index f76bb42..acf484d 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -25,9 +25,6 @@
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
@@ -130,6 +127,12 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/ld/configure.host b/ld/configure.host
index 809a1fe..f2e1eb4 100644
--- a/ld/configure.host
+++ b/ld/configure.host
@@ -155,10 +155,6 @@ ia64-*-aix*)
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
;;
-mips*-dec-bsd*)
- HOSTING_CRT0=/usr/lib/crt0.o
- ;;
-
mips*-sgi-irix4* | mips*-sgi-irix5*)
HOSTING_CRT0=/usr/lib/crt1.o
HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o'
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 2c85431..772f8ad 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -26,6 +26,7 @@ arm-*-pe) targ_emul=armpe ;
arc-*-elf*) targ_emul=arcelf ;;
avr-*-*) targ_emul=avr2
targ_extra_emuls="avr1 avr3 avr4 avr5" ;;
+cr16c-*-elf*) targ_emul=elf32cr16c ;;
cris-*-*aout*) targ_emul=crisaout
targ_extra_emuls="criself crislinux"
targ_extra_libpath=$targ_extra_emuls ;;
@@ -408,7 +409,6 @@ mips*-sgi-irix6*) targ_emul=elf32bmipn32
mips*-sgi-irix*) targ_emul=mipsbig ;;
mips*el-*-ecoff*) targ_emul=mipsidtl ;;
mips*-*-ecoff*) targ_emul=mipsidt ;;
-mips*-dec-bsd*) targ_emul=mipsbsd ;;
mips*el-*-netbsd*) targ_emul=elf32lmip
targ_extra_emuls="elf32bmip"
;;
diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh
index 94e1c9c..7badcb8 100644
--- a/ld/emulparams/elf32bmip.sh
+++ b/ld/emulparams/elf32bmip.sh
@@ -33,5 +33,4 @@ OTHER_SECTIONS='
ARCH=mips
MACHINE=
TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=mipself
GENERATE_SHLIB_SCRIPT=yes
diff --git a/ld/emulparams/elf32bmipn32.sh b/ld/emulparams/elf32bmipn32.sh
index 3de791c..a320eb2 100755
--- a/ld/emulparams/elf32bmipn32.sh
+++ b/ld/emulparams/elf32bmipn32.sh
@@ -18,3 +18,5 @@ EXECUTABLE_SYMBOLS="
# Following the IRIX linker, we simply put .rodata in the data
# segment.
WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/elf32bsmip.sh b/ld/emulparams/elf32bsmip.sh
index 5b2939a..dfe0fe0 100644
--- a/ld/emulparams/elf32bsmip.sh
+++ b/ld/emulparams/elf32bsmip.sh
@@ -1,2 +1,3 @@
. ${srcdir}/emulparams/elf32bmip.sh
ENTRY=__start
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/elf32cr16c.sh b/ld/emulparams/elf32cr16c.sh
new file mode 100644
index 0000000..e78e5ed
--- /dev/null
+++ b/ld/emulparams/elf32cr16c.sh
@@ -0,0 +1,5 @@
+SCRIPT_NAME=elf32cr16c
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-cr16c"
+ARCH=cr16c
+ENTRY=_start
diff --git a/ld/emulparams/elf32frvfd.sh b/ld/emulparams/elf32frvfd.sh
index 224abed..1e2ef59 100644
--- a/ld/emulparams/elf32frvfd.sh
+++ b/ld/emulparams/elf32frvfd.sh
@@ -1,6 +1,6 @@
. ${srcdir}/emulparams/elf32frv.sh
unset STACK_ADDR
-MAXPAGESIZE=0x10000
+MAXPAGESIZE=0x4000
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
EMBEDDED= # This gets us program headers mapped as part of the text segment.
diff --git a/ld/emulparams/elf64bmip.sh b/ld/emulparams/elf64bmip.sh
index 4673c52..a4ce6d4 100755
--- a/ld/emulparams/elf64bmip.sh
+++ b/ld/emulparams/elf64bmip.sh
@@ -19,3 +19,5 @@ EXECUTABLE_SYMBOLS="
# Following the IRIX linker, we simply put .rodata in the data
# segment.
WRITABLE_RODATA=
+
+EXTRA_EM_FILE=irix
diff --git a/ld/emulparams/mipsidt.sh b/ld/emulparams/mipsidt.sh
index 63176f5..f381267 100644
--- a/ld/emulparams/mipsidt.sh
+++ b/ld/emulparams/mipsidt.sh
@@ -7,5 +7,6 @@ ARCH=mips
ENTRY=start
TEXT_START_ADDR=0xa0012000
DATA_ADDR=.
-TEMPLATE_NAME=mipsecoff
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
EMBEDDED=yes
diff --git a/ld/emulparams/mipsidtl.sh b/ld/emulparams/mipsidtl.sh
index 02279de..52447ff 100644
--- a/ld/emulparams/mipsidtl.sh
+++ b/ld/emulparams/mipsidtl.sh
@@ -7,5 +7,6 @@ ARCH=mips
ENTRY=start
TEXT_START_ADDR=0xa0012000
DATA_ADDR=.
-TEMPLATE_NAME=mipsecoff
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=mipsecoff
EMBEDDED=yes
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 0c051ad..beeb40c 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -27,6 +27,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
static int no_pipeline_knowledge = 0;
static char *thumb_entry_symbol = NULL;
static bfd *bfd_for_interwork;
+static int byteswap_code = 0;
static void
gld${EMULATION_NAME}_before_parse (void)
@@ -117,7 +118,8 @@ arm_elf_before_allocation (void)
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, & link_info,
- no_pipeline_knowledge))
+ no_pipeline_knowledge,
+ byteswap_code))
{
/* xgettext:c-format */
einfo (_("Errors encountered processing file %s"), is->filename);
@@ -184,6 +186,7 @@ EOF
#
PARSE_AND_LIST_PROLOGUE='
#define OPTION_THUMB_ENTRY 301
+#define OPTION_BE8 302
'
PARSE_AND_LIST_SHORTOPTS=p
@@ -191,11 +194,13 @@ PARSE_AND_LIST_SHORTOPTS=p
PARSE_AND_LIST_LONGOPTS='
{ "no-pipeline-knowledge", no_argument, NULL, '\'p\''},
{ "thumb-entry", required_argument, NULL, OPTION_THUMB_ENTRY},
+ { "be8", no_argument, NULL, OPTION_BE8},
'
PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" -p --no-pipeline-knowledge Stop the linker knowing about the pipeline length\n"));
fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
+ fprintf (file, _(" --be8 Oputput BE8 format image\n"));
'
PARSE_AND_LIST_ARGS_CASES='
@@ -206,6 +211,10 @@ PARSE_AND_LIST_ARGS_CASES='
case OPTION_THUMB_ENTRY:
thumb_entry_symbol = optarg;
break;
+
+ case OPTION_BE8:
+ byteswap_code = 1;
+ break;
'
# We have our own after_open and before_allocation functions, but they call
diff --git a/ld/emultempl/armelf_oabi.em b/ld/emultempl/armelf_oabi.em
index d75c658..8ff2ad1 100644
--- a/ld/emultempl/armelf_oabi.em
+++ b/ld/emultempl/armelf_oabi.em
@@ -68,7 +68,7 @@ gld${EMULATION_NAME}_before_allocation (void)
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
- if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info, 0))
+ if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info, 0, 0))
{
/* xgettext:c-format */
einfo (_("Errors encountered processing file %s"), is->filename);
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 45749e7..1a838f3 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -89,6 +89,28 @@ gld${EMULATION_NAME}_before_parse (void)
EOF
fi
+if test x"$LDEMUL_RECOGNIZED_FILE" != xgld"${EMULATION_NAME}"_load_symbols; then
+cat >>e${EMULATION_NAME}.c <<EOF
+/* Handle as_needed DT_NEEDED. */
+
+static bfd_boolean
+gld${EMULATION_NAME}_load_symbols (lang_input_statement_type *entry)
+{
+ if (!entry->as_needed
+ || (bfd_get_file_flags (entry->the_bfd) & DYNAMIC) == 0)
+ return FALSE;
+
+ /* Tell the ELF linker that we don't want the output file to have a
+ DT_NEEDED entry for this file, unless it is used to resolve
+ references in a regular object. */
+ bfd_elf_set_dyn_lib_class (entry->the_bfd, DYN_AS_NEEDED);
+
+ /* Continue on with normal load_symbols processing. */
+ return FALSE;
+}
+EOF
+fi
+
cat >>e${EMULATION_NAME}.c <<EOF
/* These variables are required to pass information back and forth
@@ -336,14 +358,13 @@ cat >>e${EMULATION_NAME}.c <<EOF
return TRUE;
}
- /* Tell the ELF backend that we don't want the output file to have a
- DT_NEEDED entry for this file. */
- bfd_elf_set_dt_needed_name (abfd, "");
+ /* Specify the soname to use. */
+ bfd_elf_set_dt_needed_name (abfd, soname);
- /* Tell the ELF backend that the output file needs a DT_NEEDED
- entry for this file if it is used to resolve the reference in
- a regular object. */
- bfd_elf_set_dt_needed_soname (abfd, soname);
+ /* Tell the ELF linker that we don't want the output file to have a
+ DT_NEEDED entry for this file, unless it is used to resolve
+ references in a regular object. */
+ bfd_elf_set_dyn_lib_class (abfd, DYN_DT_NEEDED);
/* Add this file into the symbol table. */
if (! bfd_link_add_symbols (abfd, &link_info))
@@ -850,7 +871,7 @@ gld${EMULATION_NAME}_before_allocation (void)
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
- if (! (bfd_elf${ELFSIZE}_size_dynamic_sections
+ if (! (bfd_elf_size_dynamic_sections
(output_bfd, command_line.soname, rpath,
command_line.filter_shlib,
(const char * const *) command_line.auxiliary_filters,
@@ -1121,7 +1142,7 @@ gld${EMULATION_NAME}_place_orphan (lang_input_statement_type *file, asection *s)
isdyn = 1;
}
- if (isdyn || (!config.unique_orphan_sections && !unique_section_p (secname)))
+ if (isdyn || (!config.unique_orphan_sections && !unique_section_p (s)))
{
/* Look through the script to see where to place this section. */
os = lang_output_section_find (secname);
@@ -1386,7 +1407,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
static void
gld${EMULATION_NAME}_finish (void)
{
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
{
lang_reset_memory_regions ();
@@ -1752,7 +1773,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld${EMULATION_NAME}_handle_option,
${LDEMUL_UNRECOGNIZED_FILE-NULL},
${LDEMUL_LIST_OPTIONS-gld${EMULATION_NAME}_list_options},
- ${LDEMUL_RECOGNIZED_FILE-NULL},
+ ${LDEMUL_RECOGNIZED_FILE-gld${EMULATION_NAME}_load_symbols},
${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL},
${LDEMUL_NEW_VERS_PATTERN-NULL}
};
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index e9445f2..93e88ad 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -254,11 +254,11 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_finish (void)
{
- /* bfd_elf32_discard_info just plays with debugging sections,
+ /* bfd_elf_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
diff --git a/ld/emultempl/irix.em b/ld/emultempl/irix.em
new file mode 100644
index 0000000..19511dd
--- /dev/null
+++ b/ld/emultempl/irix.em
@@ -0,0 +1,41 @@
+# This shell script emits a C file. -*- C -*-
+# Copyright 2004 Free Software Foundation, Inc.
+#
+# This file is part of GLD, the Gnu Linker.
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+cat >>e${EMULATION_NAME}.c <<EOF
+
+#include "ld.h"
+#include "ldmain.h"
+#include "libiberty.h"
+
+/* The native IRIX linker will always create a DT_SONAME for shared objects.
+ While this shouldn't really be necessary for ABI conformance, some versions
+ of the native linker will segfault if the tag is missing. */
+
+static void
+irix_after_open (void)
+{
+ if (link_info.shared && command_line.soname == 0)
+ command_line.soname = basename (bfd_get_filename (output_bfd));
+
+ gld${EMULATION_NAME}_after_open ();
+}
+EOF
+
+LDEMUL_AFTER_OPEN=irix_after_open
diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em
index dde33c2..5d160cd 100644
--- a/ld/emultempl/mipsecoff.em
+++ b/ld/emultempl/mipsecoff.em
@@ -1,51 +1,30 @@
# This shell script emits a C file. -*- C -*-
-# It does some substitutions.
+# Copyright 1994, 1995, 1997, 2000, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+#
+# This file is part of GLD, the Gnu Linker.
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
if [ -z "$MACHINE" ]; then
OUTPUT_ARCH=${ARCH}
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
fi
-cat >e${EMULATION_NAME}.c <<EOF
-/* This file is is generated by a shell script. DO NOT EDIT! */
-
-/* Handle embedded relocs for MIPS.
- Copyright 1994, 1995, 1997, 2000, 2002, 2003, 2004
- Free Software Foundation, Inc.
- Written by Ian Lance Taylor <ian@cygnus.com> based on generic.em.
-
-This file is part of GLD, the Gnu Linker.
-
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#define TARGET_IS_${EMULATION_NAME}
-
-#include "bfd.h"
-#include "sysdep.h"
-#include "bfdlink.h"
-
-#include "ld.h"
-#include "ldmain.h"
-#include "ldmisc.h"
-
-#include "ldexp.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-
-static void check_sections (bfd *, asection *, void *);
-
+cat >>e${EMULATION_NAME}.c <<EOF
static void
gld${EMULATION_NAME}_before_parse (void)
{
@@ -53,196 +32,6 @@ gld${EMULATION_NAME}_before_parse (void)
ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
#endif /* not TARGET_ */
}
-
-/* This function is run after all the input files have been opened.
- We create a .rel.sdata section for each input file with a non zero
- .sdata section. The BFD backend will fill in these sections with
- magic numbers which can be used to relocate the data section at run
- time. This will only do the right thing if all the input files
- have been compiled using -membedded-pic. */
-
-static void
-gld${EMULATION_NAME}_after_open (void)
-{
- bfd *abfd;
-
- if (! command_line.embedded_relocs
- || link_info.relocatable)
- return;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec;
-
- /* As first-order business, make sure that each input BFD is ECOFF. It
- better be, as we are directly calling an ECOFF backend function. */
- if (bfd_get_flavour (abfd) != bfd_target_ecoff_flavour)
- einfo ("%F%B: all input objects must be ECOFF for --embedded-relocs\n");
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- /* Note that we assume that the reloc_count field has already
- been set up. We could call bfd_get_reloc_upper_bound, but
- that returns the size of a memory buffer rather than a reloc
- count. We do not want to call bfd_canonicalize_reloc,
- because although it would always work it would force us to
- read in the relocs into BFD canonical form, which would waste
- a significant amount of time and memory. */
- if (datasec != NULL && datasec->reloc_count > 0)
- {
- asection *relsec;
-
- relsec = bfd_make_section (abfd, ".rel.sdata");
- if (relsec == NULL
- || ! bfd_set_section_flags (abfd, relsec,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_HAS_CONTENTS
- | SEC_IN_MEMORY))
- || ! bfd_set_section_alignment (abfd, relsec, 2)
- || ! bfd_set_section_size (abfd, relsec,
- datasec->reloc_count * 4))
- einfo ("%F%B: can not create .rel.sdata section: %E\n");
- }
-
- /* Double check that all other data sections are empty, as is
- required for embedded PIC code. */
- bfd_map_over_sections (abfd, check_sections, datasec);
- }
-}
-
-/* Check that of the data sections, only the .sdata section has
- relocs. This is called via bfd_map_over_sections. */
-
-static void
-check_sections (bfd *abfd, asection *sec, void *sdatasec)
-{
- if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0
- && sec != sdatasec
- && sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
- abfd, bfd_get_section_name (abfd, sec));
-}
-
-/* This function is called after the section sizes and offsets have
- been set. If we are generating embedded relocs, it calls a special
- BFD backend routine to do the work. */
-
-static void
-gld${EMULATION_NAME}_after_allocation (void)
-{
- bfd *abfd;
-
- if (! command_line.embedded_relocs
- || link_info.relocatable)
- return;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec, *relsec;
- char *errmsg;
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- if (datasec == NULL || datasec->reloc_count == 0)
- continue;
-
- relsec = bfd_get_section_by_name (abfd, ".rel.sdata");
- ASSERT (relsec != NULL);
-
- if (! bfd_mips_ecoff_create_embedded_relocs (abfd, &link_info,
- datasec, relsec,
- &errmsg))
- {
- if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
- abfd);
- else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
- abfd, errmsg);
- }
- }
-}
-
-static char *
-gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
-then
-# Scripts compiled in.
-
-# sed commands to quote an ld script as a C string.
-sc="-f stringify.sed"
-
-cat >>e${EMULATION_NAME}.c <<EOF
-{
- *isfile = 0;
-
- if (link_info.relocatable && config.build_constructors)
- return
-EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.c
-echo ' ; else if (link_info.relocatable) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c
-echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c
-echo ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.c
-echo ' ; else return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.c
-echo '; }' >> e${EMULATION_NAME}.c
-
-else
-# Scripts read from the filesystem.
-
-cat >>e${EMULATION_NAME}.c <<EOF
-{
- *isfile = 1;
-
- if (link_info.relocatable && config.build_constructors)
- return "ldscripts/${EMULATION_NAME}.xu";
- else if (link_info.relocatable)
- return "ldscripts/${EMULATION_NAME}.xr";
- else if (!config.text_read_only)
- return "ldscripts/${EMULATION_NAME}.xbn";
- else if (!config.magic_demand_paged)
- return "ldscripts/${EMULATION_NAME}.xn";
- else
- return "ldscripts/${EMULATION_NAME}.x";
-}
-EOF
-
-fi
-
-cat >>e${EMULATION_NAME}.c <<EOF
-
-struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
-{
- gld${EMULATION_NAME}_before_parse,
- syslib_default,
- hll_default,
- after_parse_default,
- gld${EMULATION_NAME}_after_open,
- gld${EMULATION_NAME}_after_allocation,
- set_output_arch_default,
- ldemul_default_target,
- before_allocation_default,
- gld${EMULATION_NAME}_get_script,
- "${EMULATION_NAME}",
- "${OUTPUT_FORMAT}",
- NULL, /* finish */
- NULL, /* create output section statements */
- NULL, /* open dynamic archive */
- NULL, /* place orphan */
- NULL, /* set symbols */
- NULL, /* parse args */
- NULL, /* add_options */
- NULL, /* handle_option */
- NULL, /* unrecognized file */
- NULL, /* list options */
- NULL, /* recognized file */
- NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
-};
-EOF
+LDEMUL_BEFORE_PARSE=gld${EMULATION_NAME}_before_parse
diff --git a/ld/emultempl/mipself.em b/ld/emultempl/mipself.em
deleted file mode 100644
index a950fb1..0000000
--- a/ld/emultempl/mipself.em
+++ /dev/null
@@ -1,177 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003 Free Software Foundation, Inc.
-# Written by Mitch Lichtenberg <mpl@broadcom.com> and
-# Chris Demetriou <cgd@broadcom.com> based on m68kelf.em and mipsecoff.em.
-#
-# This file is part of GLD, the Gnu Linker.
-#
-# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-# This file is sourced from elf32.em, and defines some extra routines for m68k
-# embedded systems using ELF and for some other systems using m68k ELF. While
-# it is sourced from elf32.em for all m68k ELF configurations, here we include
-# only the features we want depending on the configuration.
-
-case ${target} in
- mips*-*-elf)
- echo "#define SUPPORT_EMBEDDED_RELOCS" >>e${EMULATION_NAME}.c
- ;;
-esac
-
-cat >>e${EMULATION_NAME}.c <<EOF
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
-static void mips_elf${ELFSIZE}_check_sections (bfd *, asection *, void *);
-#endif
-
-/* This function is run after all the input files have been opened. */
-
-static void
-mips_elf${ELFSIZE}_after_open (void)
-{
- /* Call the standard elf routine. */
- gld${EMULATION_NAME}_after_open ();
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
- if (command_line.embedded_relocs && (! link_info.relocatable))
- {
- bfd *abfd;
-
- /* In the embedded relocs mode we create a .rel.sdata section for
- each input file with a .sdata section which has has
- relocations. The BFD backend will fill in these sections
- with magic numbers which can be used to relocate the data
- section at run time. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec;
-
- /* As first-order business, make sure that each input BFD is
- ELF. We need to call a special BFD backend function to
- generate the embedded relocs, and we have that function
- only for ELF */
-
- if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
- einfo ("%F%B: all input objects must be ELF for --embedded-relocs\n");
-
- if (bfd_get_arch_size (abfd) != ${ELFSIZE})
- einfo ("%F%B: all input objects must be ${ELFSIZE}-bit ELF for --embedded-relocs\n");
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- /* Note that we assume that the reloc_count field has already
- been set up. We could call bfd_get_reloc_upper_bound, but
- that returns the size of a memory buffer rather than a reloc
- count. We do not want to call bfd_canonicalize_reloc,
- because although it would always work it would force us to
- read in the relocs into BFD canonical form, which would waste
- a significant amount of time and memory. */
-
- if (datasec != NULL && datasec->reloc_count > 0)
- {
- asection *relsec;
-
- relsec = bfd_make_section (abfd, ".rel.sdata");
- if (relsec == NULL
- || ! bfd_set_section_flags (abfd, relsec,
- (SEC_ALLOC
- | SEC_LOAD
- | SEC_HAS_CONTENTS
- | SEC_IN_MEMORY))
- || ! bfd_set_section_alignment (abfd, relsec,
- (${ELFSIZE} == 32) ? 2 : 3)
- || ! bfd_set_section_size (abfd, relsec,
- datasec->reloc_count
- * ((${ELFSIZE} / 8) + 8)))
- einfo ("%F%B: cannot create .rel.sdata section: %E\n");
- }
-
- /* Double check that all other data sections have no relocs,
- as is required for embedded PIC code. */
- bfd_map_over_sections (abfd, mips_elf${ELFSIZE}_check_sections,
- datasec);
- }
- }
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-}
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
-/* Check that of the data sections, only the .sdata section has
- relocs. This is called via bfd_map_over_sections. */
-
-static void
-mips_elf${ELFSIZE}_check_sections (bfd *abfd, asection *sec, void *sdatasec)
-{
- if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
- && sec != sdatasec
- && sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; cannot use --embedded-relocs\n",
- abfd, bfd_get_section_name (abfd, sec));
-}
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-
-/* This function is called after the section sizes and offsets have
- been set. If we are generating embedded relocs, it calls a special
- BFD backend routine to do the work. */
-
-static void
-mips_elf${ELFSIZE}_after_allocation (void)
-{
- /* Call the standard elf routine. */
- after_allocation_default ();
-
-#ifdef SUPPORT_EMBEDDED_RELOCS
- if (command_line.embedded_relocs && (! link_info.relocatable))
- {
- bfd *abfd;
-
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
- {
- asection *datasec, *relsec;
- char *errmsg;
-
- datasec = bfd_get_section_by_name (abfd, ".sdata");
-
- if (datasec == NULL || datasec->reloc_count == 0)
- continue;
-
- relsec = bfd_get_section_by_name (abfd, ".rel.sdata");
- ASSERT (relsec != NULL);
-
- if (! bfd_mips_elf${ELFSIZE}_create_embedded_relocs (abfd,
- &link_info,
- datasec,
- relsec,
- &errmsg))
- {
- if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
- abfd);
- else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
- abfd, errmsg);
- }
- }
- }
-#endif /* SUPPORT_EMBEDDED_RELOCS */
-}
-
-EOF
-
-# We have our own after_open and after_allocation functions, but they call
-# the standard routines, so give them a different name.
-LDEMUL_AFTER_OPEN=mips_elf${ELFSIZE}_after_open
-LDEMUL_AFTER_ALLOCATION=mips_elf${ELFSIZE}_after_allocation
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 5746f79..4f408a9 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003 Free Software Foundation, Inc.
+# Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
#
# This file is part of GLD, the Gnu Linker.
#
@@ -65,6 +65,8 @@ ppc_create_output_section_statements (void)
&& link_info.hash->creator != &bfd_elf64_powerpcle_vec)
return;
+ link_info.wrap_char = '.';
+
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
NULL);
@@ -316,11 +318,11 @@ gld${EMULATION_NAME}_finish (void)
descriptor in the .opd section. */
entry_section = ".opd";
- /* bfd_elf64_discard_info just plays with debugging sections,
+ /* bfd_elf_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info))
+ if (bfd_elf_discard_info (output_bfd, &link_info))
need_laying_out = 1;
/* If generating a relocatable output file, then we don't have any
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 7f2b037..83bfe67 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -379,7 +379,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
lang_process, and the second time when lang_process calls ldemul_finish,
which calls gld${EMULATION_NAME}_finish, e.g. gldshelf32_finish, which
is defined in emultempl/elf32.em and calls ldemul_after_allocation,
- if bfd_elf${ELFSIZE}_discard_info returned true. */
+ if bfd_elf_discard_info returned true. */
if (cranges->contents != NULL)
free (cranges->contents);
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 55f861e..f50d79a 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -972,6 +972,18 @@ behaviour from release 2.14 onwards is to reject such input files, and
so the @samp{--accept-unknown-input-arch} option has been added to
restore the old behaviour.
+@kindex --as-needed
+@kindex --no-as-needed
+@item --as-needed
+@itemx --no-as-needed
+This option affects ELF DT_NEEDED tags for dynamic libraries mentioned
+on the command line after the @option{--as-needed} option. Normally,
+the linker will add a DT_NEEDED tag for each dynamic library mentioned
+on the command line, regardless of whether the library is actually
+needed. @option{--as-needed} causes DT_NEEDED tags to only be emitted
+for libraries that satisfy some reference from regular objects.
+@option{--no-as-needed} restores the default behaviour.
+
@kindex -assert @var{keyword}
@item -assert @var{keyword}
This option is ignored for SunOS compatibility.
@@ -1101,15 +1113,6 @@ generating dynamically linked ELF executables. The default dynamic
linker is normally correct; don't use this unless you know what you are
doing.
-@cindex MIPS embedded PIC code
-@kindex --embedded-relocs
-@item --embedded-relocs
-This option is only meaningful when linking MIPS embedded PIC code,
-generated by the -membedded-pic option to the @sc{gnu} compiler and
-assembler. It causes the linker to create a table which may be used at
-runtime to relocate any data which was statically initialized to pointer
-values. See the code in testsuite/ld-empic for details.
-
@kindex --fatal-warnings
@item --fatal-warnings
@@ -1133,9 +1136,9 @@ it ends in a @code{.exe} suffix.
@itemx --gc-sections
Enable garbage collection of unused input sections. It is ignored on
targets that do not support this option. This option is not compatible
-with @samp{-r}, nor should it be used with dynamic linking. The default
-behaviour (of not performing this garbage collection) can be restored by
-specifying @samp{--no-gc-sections} on the command line.
+with @samp{-r}. The default behaviour (of not performing this garbage
+collection) can be restored by specifying @samp{--no-gc-sections} on
+the command line.
@cindex help
@cindex usage
@@ -1702,9 +1705,9 @@ Here is a trivial example:
@smallexample
void *
-__wrap_malloc (int c)
+__wrap_malloc (size_t c)
@{
- printf ("malloc called with %ld\n", c);
+ printf ("malloc called with %zu\n", c);
return __real_malloc (c);
@}
@end smallexample
@@ -2353,7 +2356,7 @@ at address @samp{0x8000000}. After the linker places the @samp{.data}
output section, the value of the location counter will be
@samp{0x8000000} plus the size of the @samp{.data} output section. The
effect is that the linker will place the @samp{.bss} output section
-immediately after the @samp{.data} output section in memory
+immediately after the @samp{.data} output section in memory.
The linker will ensure that each output section has the required
alignment, by increasing the location counter if necessary. In this
@@ -4643,6 +4646,23 @@ page of memory, and changes them to use the eight-bit address form.
(That is: the linker turns @samp{mov.b @code{@@}@var{aa}:16} into
@samp{mov.b @code{@@}@var{aa}:8} whenever the address @var{aa} is in the
top page of memory).
+
+@item bit manipulation instructions
+@command{ld} finds all bit manipulation instructions like @code{band, bclr,
+biand, bild, bior, bist, bixor, bld, bnot, bor, bset, bst, btst, bxor}
+which use 32 bit and 16 bit absolute address form, but refer to the top
+page of memory, and changes them to use the 8 bit address form.
+(That is: the linker turns @samp{bset #xx:3,@code{@@}@var{aa}:32} into
+@samp{bset #xx:3,@code{@@}@var{aa}:8} whenever the address @var{aa} is in
+the top page of memory).
+
+@item system control instructions
+@command{ld} finds all @code{ldc.w, stc.w} instrcutions which use the
+32 bit absolute address form, but refer to the top page of memory, and
+changes them to use 16 bit address form.
+(That is: the linker turns @samp{ldc.w @code{@@}@var{aa}:32,ccr} into
+@samp{ldc.w @code{@@}@var{aa}:16,ccr} whenever the address @var{aa} is in
+the top page of memory).
@end table
@ifclear GENERIC
@@ -4750,6 +4770,12 @@ But it also sets the bottom bit of the address, so that it can be
branched to using a BX instruction, and the program will start
executing in Thumb mode straight away.
+@cindex BE8
+@kindex --be8
+The @samp{--be8} switch instructs @command{ld} to generate BE8 format
+executables. This option is only valid when linking big-endian objects.
+The resulting image will contain big-endian data and little-endian code.
+
@ifclear GENERIC
@lowersections
@end ifclear
diff --git a/ld/ldfile.c b/ld/ldfile.c
index a6f0d60..e7a7d8c 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -44,7 +44,6 @@ unsigned long ldfile_output_machine;
enum bfd_architecture ldfile_output_architecture;
search_dirs_type * search_head;
-#ifndef MPW
#ifdef VMS
char * slash = "";
#else
@@ -54,10 +53,6 @@ char * slash = "\\";
char * slash = "/";
#endif
#endif
-#else /* MPW */
-/* The MPW path char is a colon. */
-char * slash = ":";
-#endif /* MPW */
typedef struct search_arch
{
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 9a6feb2..d2b5fed 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -121,10 +121,17 @@ stat_alloc (size_t size)
}
bfd_boolean
-unique_section_p (const char *secnam)
+unique_section_p (const asection *sec)
{
struct unique_sections *unam;
+ const char *secnam;
+ if (link_info.relocatable
+ && sec->owner != NULL
+ && bfd_is_group_section (sec->owner, sec))
+ return TRUE;
+
+ secnam = sec->name;
for (unam = unique_section_list; unam; unam = unam->next)
if (wildcardp (unam->name)
? fnmatch (unam->name, secnam, 0) == 0
@@ -445,6 +452,7 @@ new_afile (const char *name,
p->next = NULL;
p->symbol_count = 0;
p->dynamic = config.dynamic_link;
+ p->as_needed = as_needed;
p->whole_archive = whole_archive;
p->loaded = FALSE;
lang_statement_append (&input_file_chain,
@@ -1261,7 +1269,7 @@ output_section_callback (lang_wild_statement_type *ptr,
lang_statement_union_type *before;
/* Exclude sections that match UNIQUE_SECTION_LIST. */
- if (unique_section_p (bfd_get_section_name (file->the_bfd, section)))
+ if (unique_section_p (section))
return;
/* If the wild pattern was marked KEEP, the member sections
@@ -1842,7 +1850,7 @@ open_input_bfds (lang_statement_union_type *s, bfd_boolean force)
/* Maybe we should load the file's symbols. */
if (s->wild_statement.filename
&& ! wildcardp (s->wild_statement.filename))
- (void) lookup_name (s->wild_statement.filename);
+ lookup_name (s->wild_statement.filename);
open_input_bfds (s->wild_statement.children.head, force);
break;
case lang_group_statement_enum:
@@ -3348,11 +3356,12 @@ lang_do_assignments_1
if (os->bfd_section != NULL)
{
dot = os->bfd_section->vma;
- (void) lang_do_assignments_1 (os->children.head, os,
- os->fill, dot);
- dot = (os->bfd_section->vma
- + TO_ADDR (os->bfd_section->_raw_size));
-
+ lang_do_assignments_1 (os->children.head, os, os->fill, dot);
+ /* .tbss sections effectively have zero size. */
+ if ((os->bfd_section->flags & SEC_HAS_CONTENTS) != 0
+ || (os->bfd_section->flags & SEC_THREAD_LOCAL) == 0
+ || link_info.relocatable)
+ dot += TO_ADDR (os->bfd_section->_raw_size);
}
if (os->load_base)
{
@@ -3687,7 +3696,7 @@ lang_check (void)
if (! bfd_merge_private_bfd_data (input_bfd, output_bfd))
{
if (command_line.warn_mismatch)
- einfo (_("%E%X: failed to merge target specific data of file %B\n"),
+ einfo (_("%P%X: failed to merge target specific data of file %B\n"),
input_bfd);
}
if (! command_line.warn_mismatch)
@@ -3938,24 +3947,6 @@ lang_for_each_file (void (*func) (lang_input_statement_type *))
}
}
-#if 0
-
-/* Not used. */
-
-void
-lang_for_each_input_section (void (*func) (bfd *ab, asection *as))
-{
- LANG_FOR_EACH_INPUT_STATEMENT (f)
- {
- asection *s;
-
- for (s = f->the_bfd->sections; s != NULL; s = s->next)
- func (f->the_bfd, s);
- }
-}
-
-#endif
-
void
ldlang_add_file (lang_input_statement_type *entry)
{
diff --git a/ld/ldlang.h b/ld/ldlang.h
index d518398..0ba31bb 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -264,6 +264,10 @@ typedef struct lang_input_statement_struct
/* Whether to search for this entry as a dynamic archive. */
bfd_boolean dynamic;
+ /* Whether this entry should cause a DT_NEEDED tag only when
+ satisfying references from regular files, or always. */
+ bfd_boolean as_needed;
+
/* Whether to include the entire contents of an archive. */
bfd_boolean whole_archive;
@@ -552,7 +556,7 @@ extern struct bfd_elf_version_deps *lang_add_vers_depend
extern void lang_register_vers_node
(const char *, struct bfd_elf_version_tree *, struct bfd_elf_version_deps *);
bfd_boolean unique_section_p
- (const char *);
+ (const asection *);
extern void lang_add_unique
(const char *);
extern const char *lang_get_output_target
diff --git a/ld/ldlex.l b/ld/ldlex.l
index aeac817..0e810f5 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -28,11 +28,6 @@ This was written by steve chamberlain
#include <stdio.h>
-#ifdef MPW
-/* Prevent enum redefinition problems. */
-#define TRUE_FALSE_ALREADY_DEFINED
-#endif /* MPW */
-
#include "bfd.h"
#include "sysdep.h"
#include "safe-ctype.h"
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 88b5c75..d0e0b12 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -1,6 +1,6 @@
/* Main program of GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003
+ 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
@@ -93,6 +93,10 @@ bfd_boolean version_printed;
/* Nonzero means link in every member of an archive. */
bfd_boolean whole_archive;
+/* Nonzero means create DT_NEEDED entries only if a dynamic library
+ actually satisfies some reference in a regular object. */
+bfd_boolean as_needed;
+
/* TRUE if we should demangle symbol names. */
bfd_boolean demangling;
diff --git a/ld/ldmain.h b/ld/ldmain.h
index 10169dd..8cab5fe 100644
--- a/ld/ldmain.h
+++ b/ld/ldmain.h
@@ -1,5 +1,5 @@
/* ldmain.h -
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003
+ Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@@ -32,6 +32,7 @@ extern bfd_boolean trace_files;
extern bfd_boolean trace_file_tries;
extern bfd_boolean version_printed;
extern bfd_boolean whole_archive;
+extern bfd_boolean as_needed;
extern bfd_boolean demangling;
extern int g_switch_value;
extern const char *output_filename;
diff --git a/ld/lexsup.c b/ld/lexsup.c
index e43e15e..b377bd4 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -1,6 +1,6 @@
/* Parse options for the GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003
+ 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@@ -112,6 +112,8 @@ enum option_values
OPTION_SPLIT_BY_RELOC,
OPTION_SPLIT_BY_FILE ,
OPTION_WHOLE_ARCHIVE,
+ OPTION_AS_NEEDED,
+ OPTION_NO_AS_NEEDED,
OPTION_WRAP,
OPTION_FORCE_EXE_SUFFIX,
OPTION_GC_SECTIONS,
@@ -438,6 +440,10 @@ static const struct ld_option ld_options[] =
TWO_DASHES },
{ {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE},
'\0', NULL, N_("Include all objects from following archives"), TWO_DASHES },
+ { {"as-needed", no_argument, NULL, OPTION_AS_NEEDED},
+ '\0', NULL, N_("Only set DT_NEEDED for following dynamic libs if used"), TWO_DASHES },
+ { {"no-as-needed", no_argument, NULL, OPTION_NO_AS_NEEDED},
+ '\0', NULL, N_("Always set DT_NEEDED for following dynamic libs"), TWO_DASHES },
{ {"wrap", required_argument, NULL, OPTION_WRAP},
'\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES }
};
@@ -634,27 +640,9 @@ parse_args (unsigned argc, char **argv)
break;
case OPTION_CALL_SHARED:
config.dynamic_link = TRUE;
- /* When linking against shared libraries, the default behaviour is
- to report any unresolved references. Although strictly speaking
- it is not a failure to encounter unresolved symbols at link time
- - the symbol *might* be available at load time - it is a strong
- indication that the resulting executable will not work. Plus it
- is necessary for the correct execution of the autoconf package,
- which needs to be able to detect functions that are not provided
- by the host OS. */
- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols;
- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols;
break;
case OPTION_NON_SHARED:
config.dynamic_link = FALSE;
- /* When linking against static libraries, the default
- behaviour is to report any unresolved references. */
- if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols;
- if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET)
- link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols;
break;
case OPTION_CREF:
command_line.cref = TRUE;
@@ -1156,6 +1144,12 @@ parse_args (unsigned argc, char **argv)
case OPTION_WHOLE_ARCHIVE:
whole_archive = TRUE;
break;
+ case OPTION_AS_NEEDED:
+ as_needed = TRUE;
+ break;
+ case OPTION_NO_AS_NEEDED:
+ as_needed = FALSE;
+ break;
case OPTION_WRAP:
add_wrap (optarg);
break;
diff --git a/ld/mac-ld.r b/ld/mac-ld.r
deleted file mode 100644
index b316fc5..0000000
--- a/ld/mac-ld.r
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Resources for GNU LD. */
-
-#include "SysTypes.r"
-
-/* Version resources. */
-
-resource 'vers' (1) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- VERSION_STRING " (C) 1986-95 FSF, Inc."
-};
-
-resource 'vers' (2, purgeable) {
- 0,
- 0,
- 0,
- 0,
- verUs,
- VERSION_STRING,
- "GLD " VERSION_STRING " for MPW"
-};
-
-#ifdef WANT_CFRG
-
-#include "CodeFragmentTypes.r"
-
-resource 'cfrg' (0) {
- {
- kPowerPC,
- kFullLib,
- kNoVersionNum, kNoVersionNum,
- 0, 0,
- kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork,
- PROG_NAME
- }
-};
-
-#endif /* WANT_CFRG */
diff --git a/ld/mpw-config.in b/ld/mpw-config.in
deleted file mode 100644
index b2542cc..0000000
--- a/ld/mpw-config.in
+++ /dev/null
@@ -1,52 +0,0 @@
-# Configuration fragment for LD.
-
-If "{target_canonical}" =~ /m68k-apple-macos/
- Set emulname m68kcoff
- forward-include "{srcdir}"mpw-em68kcoff.c em68kcoff.c
- Set emulation_ofiles "{o}"em68kcoff.c.o
-
-Else If "{target_canonical}" =~ /powerpc-apple-macos/
- Set emulname ppcmacos
- forward-include "{srcdir}"mpw-eppcmac.c eppcmacos.c
- Set emulation_ofiles "{o}"eppcmacos.c.o
-
-Else If "{target_canonical}" =~ /i386-\Option-x-go32/
- Set emulname i386go32
- forward-include "{srcdir}"mpw-ei386go32.c ei386go32.c
- Set emulation_ofiles "{o}"ei386go32.c.o
-
-Else If "{target_canonical}" =~ /mips-\Option-x-ecoff/
- Set emulname mipsidt
- forward-include "{srcdir}"mpw-idtmips.c emipsidt.c
- Set emulation_ofiles "{o}"emipsidt.c.o
-
-Else If "{target_canonical}" =~ /mips-\Option-x-\Option-x/
- Set emulname elf32ebmip
- forward-include "{srcdir}"mpw-elfmips.c eelf32ebmip.c
- Set emulation_ofiles "{o}"eelf32ebmip.c.o
-
-Else If "{target_canonical}" =~ /sh-\Option-x-hms/
- Set emulname sh
- forward-include "{srcdir}"mpw-esh.c esh.c
- Set emulation_ofiles "{o}"esh.c.o
-End If
-
-Echo '/* This file is automatically generated. DO NOT EDIT! */' > "{o}"ldemul-tmp.h
-Echo "extern ld_emulation_xfer_type ld_{emulname}_emulation;" >> "{o}"ldemul-tmp.h
-Echo '#define EMULATION_LIST \' >> "{o}"ldemul-tmp.h
-Echo " &ld_{emulname}_emulation, \" >> "{o}"ldemul-tmp.h
-Echo ' 0' >> "{o}"ldemul-tmp.h
-
-MoveIfChange "{o}"ldemul-tmp.h "{o}"ldemul-list.h
-
-Echo '# From mpw-config.in' > "{o}"mk.tmp
-Echo "EMUL = " {emulname} >> "{o}"mk.tmp
-Echo "EMULATION_OFILES = " {emulation_ofiles} >> "{o}"mk.tmp
-Echo 'version = ' `Search 'ld version ' {srcdir}ldver.c | sed -e 's/.*ld version \([^ ]*\).*/\1/'` >> "{o}"mk.tmp
-Echo "TDEFINES = " >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
-Echo '#include "mpw.h"' >> "{o}"config.new
-
-MoveIfChange "{o}"config.new "{o}"config.h
diff --git a/ld/mpw-make.sed b/ld/mpw-make.sed
deleted file mode 100644
index c919708..0000000
--- a/ld/mpw-make.sed
+++ /dev/null
@@ -1,95 +0,0 @@
-# Sed commands to finish translating the ld Makefile.in into MPW syntax.
-
-/HDEFINES/s/@HDEFINES@//
-
-/^target_alias = @target_alias@/s/^/#/
-
-/^EMUL = @EMUL@/s/^/#/
-
-/^EMULATION_OFILES = @EMULATION_OFILES@/s/^/#/
-
-# Fixadd to the include paths.
-/^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
-/BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": /
-/INCDIR/s/-i {INCDIR} /-i "{INCDIR}": /
-
-# Use byacc instead of bison (for now anyway).
-/BISON/s/^BISON =.*$/BISON = byacc/
-#/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = /
-
-# Suppress the suppression of smart makes.
-/^\.y\.c/d
-
-# Hack up ldmain compile.
-/^"{o}"ldmain.c.o \\Option-f .* config.status$/,/^$/c\
-"{o}"ldmain.c.o \\Option-f "{s}"ldmain.c\
- {CC} @DASH_C_FLAG@ -d DEFAULT_EMULATION={dq}{EMUL}{dq} -d SCRIPTDIR={dq}{scriptdir}{dq} {ALL_CFLAGS} "{s}"ldmain.c -o "{o}"ldmain.c.o\
-
-
-# Remove ldemul-list.h build, rely on configure to make one.
-/^ldemul-list.h /,/Rename -y "{s}"ldemul-tmp.h /d
-
-# Fix pathnames to generated files.
-/config.h/s/"{s}"config\.h/"{o}"config.h/g
-/config.h/s/^config\.h/"{o}"config.h/
-
-/y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g
-/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/
-/y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g
-/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/
-
-/ldgram.c/s/"{s}"ldgram\.c/"{o}"ldgram.c/g
-/ldgram.c/s/^ldgram\.c/"{o}"ldgram.c/
-
-/ldgram.h/s/"{s}"ldgram\.h/"{o}"ldgram.h/g
-/ldgram.h/s/^ldgram\.h/"{o}"ldgram.h/
-
-/ldlex.c/s/"{s}"ldlex\.c/"{o}"ldlex.c/g
-/ldlex.c/s/^ldlex\.c/"{o}"ldlex.c/
-
-/ldlex.c.new/s/"{s}"ldlex\.c\.new/"{o}"ldlex.c.new/g
-
-/lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g
-
-/ldemul-list.h/s/"{s}"ldemul-list\.h/"{o}"ldemul-list.h/g
-/ldemul-list.h/s/^ldemul-list\.h/"{o}"ldemul-list.h/
-
-# Edit pathnames to emulation files.
-/"{s}"e.*\.c/s/"{s}"e\([-_a-z0-9]*\)\.c/"{o}"e\1.c/g
-/^e.*\.c/s/^e\([-_a-z0-9]*\)\.c/"{o}"e\1.c/
-
-# We can't run genscripts, so don't try.
-/{GENSCRIPTS}/s/{GENSCRIPTS}/null-command/
-
-# Comment out the TDIRS bits.
-/^TDIRS@/s/^/#/
-
-# Point at the BFD library directly.
-/@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/
-
-# Don't need this.
-/@HLDFLAGS@/s/@HLDFLAGS@//
-
-#/sed.*free/,/> "{o}"ldlex.c.new/c\
-# \ Catenate "{o}"lex.yy.c >"{o}"ldlex.c.new
-
-# The resource file is called mac-ld.r.
-/{LD_PROG}.r/s/{LD_PROG}\.r/mac-ld.r/
-
-/^install \\Option-f /,/^$/c\
-install \\Option-f all install-only\
-\
-install-only \\Option-f\
- NewFolderRecursive "{bindir}"\
- Duplicate -y :ld.new "{bindir}"ld\
-
-
-# Remove dependency rebuilding crud.
-/^.dep /,/# .PHONY /d
-
-# Remove the lintlog action, pipe symbols in column 1 lose.
-/^lintlog \\Option-f/,/^$/d
-
-/^Makefile \\Option-f/,/^$/d
-/^"{o}"config.h \\Option-f/,/^$/d
-/^config.status \\Option-f/,/^$/d
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index ce3f443..45d00ae 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -917,9 +917,9 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
{
int s, hint;
unsigned char *edirectory;
- unsigned long *eaddresses;
- unsigned long *enameptrs;
- unsigned short *eordinals;
+ unsigned char *eaddresses;
+ unsigned char *enameptrs;
+ unsigned char *eordinals;
unsigned char *enamestr;
time_t now;
@@ -929,10 +929,10 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
/* Note use of array pointer math here. */
edirectory = edata_d;
- eaddresses = (unsigned long *) (edata_d + 40);
- enameptrs = eaddresses + export_table_size;
- eordinals = (unsigned short *) (enameptrs + count_exported_byname);
- enamestr = (char *) (eordinals + count_exported_byname);
+ eaddresses = edata_d + 40;
+ enameptrs = eaddresses + 4 * export_table_size;
+ eordinals = enameptrs + 4 * count_exported_byname;
+ enamestr = eordinals + 2 * count_exported_byname;
#define ERVA(ptr) (((unsigned char *)(ptr) - edata_d) \
+ edata_s->output_section->vma - image_base)
@@ -966,27 +966,27 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
hint = 0;
for (s = 0; s < NE; s++)
{
- if (pe_def_file->exports[s].ordinal != -1)
+ struct bfd_section *ssec = exported_symbol_sections[s];
+ if (ssec && pe_def_file->exports[s].ordinal != -1)
{
- struct bfd_section *ssec = exported_symbol_sections[s];
unsigned long srva = (exported_symbol_offsets[s]
+ ssec->output_section->vma
+ ssec->output_offset);
int ord = pe_def_file->exports[s].ordinal;
bfd_put_32 (abfd, srva - image_base,
- (void *) (eaddresses + ord - min_ordinal));
+ eaddresses + 4 * (ord - min_ordinal));
if (!pe_def_file->exports[s].flag_noname)
{
char *ename = pe_def_file->exports[s].name;
- bfd_put_32 (abfd, ERVA (enamestr), (void *) enameptrs);
- enameptrs++;
+ bfd_put_32 (abfd, ERVA (enamestr), enameptrs);
+ enameptrs += 4;
strcpy (enamestr, ename);
enamestr += strlen (enamestr) + 1;
- bfd_put_16 (abfd, ord - min_ordinal, (void *) eordinals);
- eordinals++;
+ bfd_put_16 (abfd, ord - min_ordinal, eordinals);
+ eordinals += 2;
pe_def_file->exports[s].hint = hint++;
}
}
@@ -2257,6 +2257,9 @@ pe_dll_generate_implib (def_file *def, const char *impfilename)
char *internal = def->exports[i].internal_name;
bfd *n;
+ /* Don't add PRIVATE entries to import lib. */
+ if (pe_def_file->exports[i].flag_private)
+ continue;
def->exports[i].internal_name = def->exports[i].name;
n = make_one (def->exports + i, outarch);
n->next = head;
diff --git a/ld/po/ld.pot b/ld/po/ld.pot
index 371423c..a61785a 100644
--- a/ld/po/ld.pot
+++ b/ld/po/ld.pot
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 15:00+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,10 +17,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: emultempl/armcoff.em:72
+#, c-format
msgid " --support-old-code Support interworking with old code\n"
msgstr ""
#: emultempl/armcoff.em:73
+#, c-format
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
msgstr ""
@@ -28,161 +31,191 @@ msgstr ""
msgid "Errors encountered processing file %s"
msgstr ""
-#: emultempl/armcoff.em:188 emultempl/pe.em:1396
+#: emultempl/armcoff.em:188 emultempl/pe.em:1429
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr ""
-#: emultempl/armcoff.em:193 emultempl/pe.em:1401
+#: emultempl/armcoff.em:193 emultempl/pe.em:1434
msgid "%P: warning: connot find thumb start symbol %s\n"
msgstr ""
-#: emultempl/pe.em:300
+#: emultempl/pe.em:292
+#, c-format
msgid ""
" --base_file <basefile> Generate a base file for relocatable "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:301
+#: emultempl/pe.em:293
+#, c-format
msgid ""
" --dll Set image base to the default for DLLs\n"
msgstr ""
-#: emultempl/pe.em:302
+#: emultempl/pe.em:294
+#, c-format
msgid " --file-alignment <size> Set file alignment\n"
msgstr ""
-#: emultempl/pe.em:303
+#: emultempl/pe.em:295
+#, c-format
msgid " --heap <size> Set initial size of the heap\n"
msgstr ""
-#: emultempl/pe.em:304
+#: emultempl/pe.em:296
+#, c-format
msgid ""
" --image-base <address> Set start address of the executable\n"
msgstr ""
-#: emultempl/pe.em:305
+#: emultempl/pe.em:297
+#, c-format
msgid ""
" --major-image-version <number> Set version number of the executable\n"
msgstr ""
-#: emultempl/pe.em:306
+#: emultempl/pe.em:298
+#, c-format
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr ""
-#: emultempl/pe.em:307
+#: emultempl/pe.em:299
+#, c-format
msgid ""
" --major-subsystem-version <number> Set minimum required OS subsystem "
"version\n"
msgstr ""
-#: emultempl/pe.em:308
+#: emultempl/pe.em:300
+#, c-format
msgid ""
" --minor-image-version <number> Set revision number of the executable\n"
msgstr ""
-#: emultempl/pe.em:309
+#: emultempl/pe.em:301
+#, c-format
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr ""
-#: emultempl/pe.em:310
+#: emultempl/pe.em:302
+#, c-format
msgid ""
" --minor-subsystem-version <number> Set minimum required OS subsystem "
"revision\n"
msgstr ""
-#: emultempl/pe.em:311
+#: emultempl/pe.em:303
+#, c-format
msgid " --section-alignment <size> Set section alignment\n"
msgstr ""
-#: emultempl/pe.em:312
+#: emultempl/pe.em:304
+#, c-format
msgid " --stack <size> Set size of the initial stack\n"
msgstr ""
-#: emultempl/pe.em:313
+#: emultempl/pe.em:305
+#, c-format
msgid ""
" --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr ""
-#: emultempl/pe.em:314
+#: emultempl/pe.em:306
+#, c-format
msgid ""
" --support-old-code Support interworking with old code\n"
msgstr ""
-#: emultempl/pe.em:315
+#: emultempl/pe.em:307
+#, c-format
msgid ""
" --thumb-entry=<symbol> Set the entry point to be Thumb "
"<symbol>\n"
msgstr ""
-#: emultempl/pe.em:317
+#: emultempl/pe.em:309
+#, c-format
msgid ""
" --add-stdcall-alias Export symbols with and without @nn\n"
msgstr ""
-#: emultempl/pe.em:318
+#: emultempl/pe.em:310
+#, c-format
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr ""
-#: emultempl/pe.em:319
+#: emultempl/pe.em:311
+#, c-format
msgid ""
" --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr ""
-#: emultempl/pe.em:320
+#: emultempl/pe.em:312
+#, c-format
msgid ""
" --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
msgstr ""
-#: emultempl/pe.em:321
+#: emultempl/pe.em:313
+#, c-format
msgid ""
" --exclude-libs lib,lib,... Exclude libraries from automatic "
"export\n"
msgstr ""
-#: emultempl/pe.em:322
+#: emultempl/pe.em:314
+#, c-format
msgid ""
" --export-all-symbols Automatically export all globals to "
"DLL\n"
msgstr ""
-#: emultempl/pe.em:323
+#: emultempl/pe.em:315
+#, c-format
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr ""
-#: emultempl/pe.em:324
+#: emultempl/pe.em:316
+#, c-format
msgid " --out-implib <file> Generate import library\n"
msgstr ""
-#: emultempl/pe.em:325
+#: emultempl/pe.em:317
+#, c-format
msgid ""
" --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr ""
-#: emultempl/pe.em:326
+#: emultempl/pe.em:318
+#, c-format
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr ""
-#: emultempl/pe.em:327
+#: emultempl/pe.em:319
+#, c-format
msgid ""
" --compat-implib Create backward compatible import "
"libs;\n"
" create __imp_<SYMBOL> as well.\n"
msgstr ""
-#: emultempl/pe.em:329
+#: emultempl/pe.em:321
+#, c-format
msgid ""
" --enable-auto-image-base Automatically choose image base for "
"DLLs\n"
" unless user specifies one\n"
msgstr ""
-#: emultempl/pe.em:331
+#: emultempl/pe.em:323
+#, c-format
msgid ""
" --disable-auto-image-base Do not auto-choose image base. "
"(default)\n"
msgstr ""
-#: emultempl/pe.em:332
+#: emultempl/pe.em:324
+#, c-format
msgid ""
" --dll-search-prefix=<string> When linking dynamically to a dll "
"without\n"
@@ -191,19 +224,22 @@ msgid ""
" in preference to lib<basename>.dll \n"
msgstr ""
-#: emultempl/pe.em:335
+#: emultempl/pe.em:327
+#, c-format
msgid ""
" --enable-auto-import Do sophistcated linking of _sym to\n"
" __imp_sym for DATA references\n"
msgstr ""
-#: emultempl/pe.em:337
+#: emultempl/pe.em:329
+#, c-format
msgid ""
" --disable-auto-import Do not auto-import DATA items from "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:338
+#: emultempl/pe.em:330
+#, c-format
msgid ""
" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
" adding pseudo-relocations resolved "
@@ -211,14 +247,16 @@ msgid ""
" runtime.\n"
msgstr ""
-#: emultempl/pe.em:341
+#: emultempl/pe.em:333
+#, c-format
msgid ""
" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations "
"for\n"
" auto-imported DATA.\n"
msgstr ""
-#: emultempl/pe.em:343
+#: emultempl/pe.em:335
+#, c-format
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when "
"building\n"
@@ -226,70 +264,70 @@ msgid ""
"import)\n"
msgstr ""
-#: emultempl/pe.em:412
+#: emultempl/pe.em:404
msgid "%P: warning: bad version number in -subsystem option\n"
msgstr ""
-#: emultempl/pe.em:448
+#: emultempl/pe.em:440
msgid "%P%F: invalid subsystem type %s\n"
msgstr ""
-#: emultempl/pe.em:460
+#: emultempl/pe.em:452
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:477
+#: emultempl/pe.em:469
msgid "%P%F: strange hex info for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:494
+#: emultempl/pe.em:486
#, c-format
msgid "%s: Can't open base file %s\n"
msgstr ""
-#: emultempl/pe.em:707
+#: emultempl/pe.em:699
msgid "%P: warning, file alignment > section alignment.\n"
msgstr ""
-#: emultempl/pe.em:794 emultempl/pe.em:821
+#: emultempl/pe.em:786 emultempl/pe.em:813
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr ""
-#: emultempl/pe.em:799 emultempl/pe.em:826
+#: emultempl/pe.em:791 emultempl/pe.em:818
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr ""
-#: emultempl/pe.em:800 emultempl/pe.em:827
+#: emultempl/pe.em:792 emultempl/pe.em:819
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr ""
-#: emultempl/pe.em:846
+#: emultempl/pe.em:838
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr ""
-#: emultempl/pe.em:883
+#: emultempl/pe.em:875
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr ""
-#: emultempl/pe.em:954
+#: emultempl/pe.em:948
msgid "%F%P: PE operations on non PE file.\n"
msgstr ""
-#: emultempl/pe.em:1188
+#: emultempl/pe.em:1221
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr ""
-#: emultempl/pe.em:1211
+#: emultempl/pe.em:1244
#, c-format
msgid "Errors encountered processing file %s for interworking"
msgstr ""
-#: emultempl/pe.em:1273 ldlang.c:1904 ldlang.c:4397 ldlang.c:4428
-#: ldmain.c:1122
+#: emultempl/pe.em:1306 ldexp.c:505 ldlang.c:2042 ldlang.c:4556 ldlang.c:4587
+#: ldmain.c:1124
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr ""
@@ -302,6 +340,7 @@ msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr ""
#: ldcref.c:225
+#, c-format
msgid ""
"\n"
"Cross Reference Table\n"
@@ -313,10 +352,12 @@ msgid "Symbol"
msgstr ""
#: ldcref.c:234
+#, c-format
msgid "File\n"
msgstr ""
#: ldcref.c:238
+#, c-format
msgid "No symbols\n"
msgstr ""
@@ -328,11 +369,11 @@ msgstr ""
msgid "%B%F: could not read symbols; %E\n"
msgstr ""
-#: ldcref.c:452 ldmain.c:1187 ldmain.c:1191
+#: ldcref.c:452 ldmain.c:1189 ldmain.c:1193
msgid "%B%F: could not read symbols: %E\n"
msgstr ""
-#: ldcref.c:517 ldcref.c:524 ldmain.c:1234 ldmain.c:1241
+#: ldcref.c:517 ldcref.c:524 ldmain.c:1236 ldmain.c:1243
msgid "%B%F: could not read relocs: %E\n"
msgstr ""
@@ -367,85 +408,78 @@ msgid ""
"\n"
msgstr ""
-#: ldemul.c:247
+#: ldemul.c:226
#, c-format
msgid "%S SYSLIB ignored\n"
msgstr ""
-#: ldemul.c:254
+#: ldemul.c:232
#, c-format
msgid "%S HLL ignored\n"
msgstr ""
-#: ldemul.c:275
+#: ldemul.c:252
msgid "%P: unrecognised emulation mode: %s\n"
msgstr ""
-#: ldemul.c:276
+#: ldemul.c:253
msgid "Supported emulations: "
msgstr ""
-#: ldemul.c:320
+#: ldemul.c:295
+#, c-format
msgid " no emulation specific options.\n"
msgstr ""
-#: ldexp.c:148
-msgid "%F%P: %s uses undefined section %s\n"
-msgstr ""
-
-#: ldexp.c:150
-msgid "%F%P: %s forward reference of section %s\n"
-msgstr ""
-
-#: ldexp.c:355
+#: ldexp.c:346
#, c-format
msgid "%F%S %% by zero\n"
msgstr ""
-#: ldexp.c:362
+#: ldexp.c:353
#, c-format
msgid "%F%S / by zero\n"
msgstr ""
-#: ldexp.c:533
+#: ldexp.c:518
#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:553
+#: ldexp.c:538
#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:677
+#: ldexp.c:664
#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr ""
-#: ldexp.c:687
+#: ldexp.c:674
#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr ""
-#: ldexp.c:691
+#: ldexp.c:678
#, c-format
msgid "%F%S assignment to location counter invalid outside of SECTION\n"
msgstr ""
-#: ldexp.c:700
+#: ldexp.c:687
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr ""
-#: ldexp.c:727
+#: ldexp.c:714
msgid "%P%F:%s: hash creation failed\n"
msgstr ""
-#: ldexp.c:1003 ldexp.c:1035
+#: ldexp.c:992 ldexp.c:1024
#, c-format
msgid "%F%S nonconstant expression for %s\n"
msgstr ""
-#: ldexp.c:1089
+#: ldexp.c:1078
#, c-format
msgid "%F%S non constant expression for %s\n"
msgstr ""
@@ -469,11 +503,11 @@ msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr ""
#: ldfile.c:377
-msgid "%F%P: cannot open %s for %s: %E\n"
+msgid "%F%P: %s (%s): No such file: %E\n"
msgstr ""
#: ldfile.c:380
-msgid "%F%P: cannot open %s: %E\n"
+msgid "%F%P: %s: No such file: %E\n"
msgstr ""
#: ldfile.c:410
@@ -506,211 +540,233 @@ msgstr ""
msgid "%P%F: target architecture respecified\n"
msgstr ""
-#: ldfile.c:594
+#: ldfile.c:595
msgid "%P%F: cannot represent machine `%s'\n"
msgstr ""
-#: ldlang.c:640
+#: ldlang.c:495
+msgid "%P%F: out of memory during initialization"
+msgstr ""
+
+#: ldlang.c:534
+msgid "%P:%S: warning: redeclaration of memory region '%s'\n"
+msgstr ""
+
+#: ldlang.c:553
+msgid "%P:%S: warning: memory region %s not declared\n"
+msgstr ""
+
+#: ldlang.c:670
msgid ""
"\n"
"Memory Configuration\n"
"\n"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Name"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Origin"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Length"
msgstr ""
-#: ldlang.c:642
+#: ldlang.c:672
msgid "Attributes"
msgstr ""
-#: ldlang.c:682
+#: ldlang.c:712
+#, c-format
msgid ""
"\n"
"Linker script and memory map\n"
"\n"
msgstr ""
-#: ldlang.c:698
+#: ldlang.c:728
msgid "%P%F: Illegal use of `%s' section\n"
msgstr ""
-#: ldlang.c:707
+#: ldlang.c:737
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr ""
-#: ldlang.c:867
+#: ldlang.c:901
msgid "%P: %B: warning: ignoring duplicate section `%s'\n"
msgstr ""
-#: ldlang.c:870
+#: ldlang.c:904
msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n"
msgstr ""
-#: ldlang.c:884
+#: ldlang.c:918
msgid "%P: %B: warning: duplicate section `%s' has different size\n"
msgstr ""
-#: ldlang.c:936
+#: ldlang.c:970
msgid "%P%F: Failed to create hash table\n"
msgstr ""
-#: ldlang.c:1351
+#: ldlang.c:1386
msgid "%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:1352
+#: ldlang.c:1387
msgid "%B: matching formats:"
msgstr ""
-#: ldlang.c:1359
+#: ldlang.c:1394
msgid "%F%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:1418
+#: ldlang.c:1453
msgid "%F%B: member %B in archive is not an object\n"
msgstr ""
-#: ldlang.c:1429 ldlang.c:1443
+#: ldlang.c:1464 ldlang.c:1478
msgid "%F%B: could not read symbols: %E\n"
msgstr ""
-#: ldlang.c:1698
+#: ldlang.c:1733
msgid ""
"%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-#: ldlang.c:1711
+#: ldlang.c:1746
msgid "%P%F: target %s not found\n"
msgstr ""
-#: ldlang.c:1713
+#: ldlang.c:1748
msgid "%P%F: cannot open output file %s: %E\n"
msgstr ""
-#: ldlang.c:1723
+#: ldlang.c:1758
msgid "%P%F:%s: can not make object file: %E\n"
msgstr ""
-#: ldlang.c:1727
+#: ldlang.c:1762
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr ""
-#: ldlang.c:1731
+#: ldlang.c:1766
msgid "%P%F: can not create link hash table: %E\n"
msgstr ""
-#: ldlang.c:2069
+#: ldlang.c:1935
+msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
+msgstr ""
+
+#: ldlang.c:1953
+msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
+msgstr ""
+
+#: ldlang.c:2211
msgid " load address 0x%V"
msgstr ""
-#: ldlang.c:2204
+#: ldlang.c:2346
msgid "%W (size before relaxing)\n"
msgstr ""
-#: ldlang.c:2288
+#: ldlang.c:2429
#, c-format
msgid "Address of section %s set to "
msgstr ""
-#: ldlang.c:2443
+#: ldlang.c:2582
#, c-format
msgid "Fail with %d\n"
msgstr ""
-#: ldlang.c:2683
+#: ldlang.c:2822
msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"
msgstr ""
-#: ldlang.c:2711
+#: ldlang.c:2850
msgid "%X%P: address 0x%v of %B section %s is not within region %s\n"
msgstr ""
-#: ldlang.c:2719
+#: ldlang.c:2858
msgid "%X%P: region %s is full (%B section %s)\n"
msgstr ""
-#: ldlang.c:2770
+#: ldlang.c:2906
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr ""
-#: ldlang.c:2826
+#: ldlang.c:2959
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:2830
+#: ldlang.c:2963
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:2846
+#: ldlang.c:2979
msgid "%P: warning: changing start of section %s by %u bytes\n"
msgstr ""
-#: ldlang.c:2859
+#: ldlang.c:2995
#, c-format
-msgid "%F%S: non constant address expression for section %s\n"
+msgid ""
+"%F%S: non constant or forward reference address expression for section %s\n"
msgstr ""
-#: ldlang.c:3036
+#: ldlang.c:3180
msgid "%P%F: can't relax section: %E\n"
msgstr ""
-#: ldlang.c:3232
+#: ldlang.c:3393
msgid "%F%P: invalid data statement\n"
msgstr ""
-#: ldlang.c:3269
+#: ldlang.c:3432
msgid "%F%P: invalid reloc statement\n"
msgstr ""
-#: ldlang.c:3408
+#: ldlang.c:3578
msgid "%P%F:%s: can't set start address\n"
msgstr ""
-#: ldlang.c:3421 ldlang.c:3439
+#: ldlang.c:3591 ldlang.c:3609
msgid "%P%F: can't set start address\n"
msgstr ""
-#: ldlang.c:3433
+#: ldlang.c:3603
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr ""
-#: ldlang.c:3444
+#: ldlang.c:3614
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr ""
-#: ldlang.c:3488
+#: ldlang.c:3660
msgid ""
"%P%F: Relocatable linking with relocations from format %s (%B) to format %s "
"(%B) is not supported\n"
msgstr ""
-#: ldlang.c:3497
+#: ldlang.c:3669
msgid ""
"%P: warning: %s architecture of input file `%B' is incompatible with %s "
"output\n"
msgstr ""
-#: ldlang.c:3518
-msgid "%E%X: failed to merge target specific data of file %B\n"
+#: ldlang.c:3690
+msgid "%P%X: failed to merge target specific data of file %B\n"
msgstr ""
-#: ldlang.c:3604
+#: ldlang.c:3774
msgid ""
"\n"
"Allocating common symbols\n"
msgstr ""
-#: ldlang.c:3605
+#: ldlang.c:3775
msgid ""
"Common symbol size file\n"
"\n"
@@ -719,270 +775,284 @@ msgstr ""
#. This message happens when using the
#. svr3.ifile linker script, so I have
#. disabled it.
-#: ldlang.c:3681
+#: ldlang.c:3851
msgid "%P: no [COMMON] command, defaulting to .bss\n"
msgstr ""
-#: ldlang.c:3737
+#: ldlang.c:3907
msgid "%P%F: invalid syntax in flags\n"
msgstr ""
-#: ldlang.c:4325
+#: ldlang.c:4479
msgid "%P%Fmultiple STARTUP files\n"
msgstr ""
-#: ldlang.c:4368
+#: ldlang.c:4526
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr ""
-#: ldlang.c:4608
+#: ldlang.c:4766
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr ""
-#: ldlang.c:4627
+#: ldlang.c:4785
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr ""
-#: ldlang.c:4919
+#: ldlang.c:5171
msgid "%X%P: unknown language `%s' in version information\n"
msgstr ""
-#: ldlang.c:4969
+#: ldlang.c:5313
msgid ""
"%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr ""
-#: ldlang.c:4977
+#: ldlang.c:5321
msgid "%X%P: duplicate version tag `%s'\n"
msgstr ""
-#: ldlang.c:4990 ldlang.c:5003
+#: ldlang.c:5341 ldlang.c:5349 ldlang.c:5366 ldlang.c:5374
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr ""
-#: ldlang.c:5043
+#: ldlang.c:5414
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr ""
-#: ldlang.c:5065
+#: ldlang.c:5436
msgid "%X%P: unable to read .exports section contents\n"
msgstr ""
-#: ldmain.c:247
+#: ldmain.c:251
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr ""
-#: ldmain.c:349
-msgid "%P%F: -r and --mpc860c0 may not be used together\n"
-msgstr ""
-
-#: ldmain.c:351
+#: ldmain.c:352
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
-#: ldmain.c:353
+#: ldmain.c:354
msgid "%P%F: -r and -shared may not be used together\n"
msgstr ""
-#: ldmain.c:359
+#: ldmain.c:360
msgid "%P%F: -F may not be used without -shared\n"
msgstr ""
-#: ldmain.c:361
+#: ldmain.c:362
msgid "%P%F: -f may not be used without -shared\n"
msgstr ""
-#: ldmain.c:403
+#: ldmain.c:404
msgid "using external linker script:"
msgstr ""
-#: ldmain.c:405
+#: ldmain.c:406
msgid "using internal linker script:"
msgstr ""
-#: ldmain.c:439
+#: ldmain.c:440
msgid "%P%F: no input files\n"
msgstr ""
-#: ldmain.c:443
+#: ldmain.c:444
msgid "%P: mode %s\n"
msgstr ""
-#: ldmain.c:459
+#: ldmain.c:460
msgid "%P%F: cannot open map file %s: %E\n"
msgstr ""
-#: ldmain.c:489
+#: ldmain.c:490
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr ""
-#: ldmain.c:498
+#: ldmain.c:499
msgid "%F%B: final close failed: %E\n"
msgstr ""
-#: ldmain.c:524
+#: ldmain.c:525
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr ""
-#: ldmain.c:527
+#: ldmain.c:528
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr ""
-#: ldmain.c:534
+#: ldmain.c:535
msgid "%P: Error writing file `%s'\n"
msgstr ""
-#: ldmain.c:539 pe-dll.c:1443
+#: ldmain.c:540 pe-dll.c:1451
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr ""
-#: ldmain.c:555
+#: ldmain.c:556
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr ""
-#: ldmain.c:558
+#: ldmain.c:559
#, c-format
msgid "%s: data size %ld\n"
msgstr ""
-#: ldmain.c:596
+#: ldmain.c:597
msgid "%P%F: missing argument to -m\n"
msgstr ""
-#: ldmain.c:741 ldmain.c:759 ldmain.c:789
+#: ldmain.c:743 ldmain.c:761 ldmain.c:791
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:745 ldmain.c:763
+#: ldmain.c:747 ldmain.c:765
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:777
+#: ldmain.c:779
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr ""
-#: ldmain.c:819
+#: ldmain.c:821
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr ""
-#: ldmain.c:824
+#: ldmain.c:826
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr ""
-#: ldmain.c:899
+#: ldmain.c:901
+#, c-format
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
msgstr ""
-#: ldmain.c:969
+#: ldmain.c:971
msgid "%X%C: multiple definition of `%T'\n"
msgstr ""
-#: ldmain.c:972
+#: ldmain.c:974
msgid "%D: first defined here\n"
msgstr ""
-#: ldmain.c:976
+#: ldmain.c:978
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr ""
-#: ldmain.c:1006
+#: ldmain.c:1008
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr ""
-#: ldmain.c:1009
+#: ldmain.c:1011
msgid "%B: warning: common is here\n"
msgstr ""
-#: ldmain.c:1016
+#: ldmain.c:1018
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr ""
-#: ldmain.c:1019
+#: ldmain.c:1021
msgid "%B: warning: defined here\n"
msgstr ""
-#: ldmain.c:1026
+#: ldmain.c:1028
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr ""
-#: ldmain.c:1029
+#: ldmain.c:1031
msgid "%B: warning: larger common is here\n"
msgstr ""
-#: ldmain.c:1033
+#: ldmain.c:1035
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr ""
-#: ldmain.c:1036
+#: ldmain.c:1038
msgid "%B: warning: smaller common is here\n"
msgstr ""
-#: ldmain.c:1040
+#: ldmain.c:1042
msgid "%B: warning: multiple common of `%T'\n"
msgstr ""
-#: ldmain.c:1042
+#: ldmain.c:1044
msgid "%B: warning: previous common is here\n"
msgstr ""
-#: ldmain.c:1062 ldmain.c:1100
+#: ldmain.c:1064 ldmain.c:1102
msgid "%P: warning: global constructor %s used\n"
msgstr ""
-#: ldmain.c:1110
+#: ldmain.c:1112
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr ""
-#: ldmain.c:1287 ldmisc.c:533
+#: ldmain.c:1289 ldmisc.c:533
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:1294 ldmisc.c:540
+#: ldmain.c:1296 ldmisc.c:540
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:1314
-msgid "%C: undefined reference to `%T'\n"
+#: ldmain.c:1317
+msgid "%X%C: undefined reference to `%T'\n"
msgstr ""
#: ldmain.c:1320
-msgid "%D: more undefined references to `%T' follow\n"
+msgid "%C: warning: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1326
+msgid "%X%D: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1329
+msgid "%D: warning: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1340
+msgid "%X%B: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1343
+msgid "%B: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1327
-msgid "%B: undefined reference to `%T'\n"
+#: ldmain.c:1349
+msgid "%X%B: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1333
-msgid "%B: more undefined references to `%T' follow\n"
+#: ldmain.c:1352
+msgid "%B: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1364 ldmain.c:1392 ldmain.c:1410
+#: ldmain.c:1386 ldmain.c:1414 ldmain.c:1432
msgid "%P%X: generated"
msgstr ""
-#: ldmain.c:1371
+#: ldmain.c:1393
msgid " additional relocation overflows omitted from the output\n"
msgstr ""
-#: ldmain.c:1375
+#: ldmain.c:1397
msgid " relocation truncated to fit: %s %T"
msgstr ""
-#: ldmain.c:1395
+#: ldmain.c:1417
#, c-format
msgid "dangerous relocation: %s\n"
msgstr ""
-#: ldmain.c:1413
+#: ldmain.c:1435
msgid " reloc refers to symbol `%T' which is not being output\n"
msgstr ""
#: ldmisc.c:147
+#, c-format
msgid "no symbol"
msgstr ""
@@ -1016,594 +1086,618 @@ msgid "%P%F: please report this bug\n"
msgstr ""
#. Output for noisy == 2 is intended to follow the GNU standards.
-#: ldver.c:39
+#: ldver.c:38
#, c-format
msgid "GNU ld version %s\n"
msgstr ""
-#: ldver.c:43
+#: ldver.c:42
+#, c-format
msgid "Copyright 2002 Free Software Foundation, Inc.\n"
msgstr ""
-#: ldver.c:44
+#: ldver.c:43
+#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
msgstr ""
-#: ldver.c:53
+#: ldver.c:52
+#, c-format
msgid " Supported emulations:\n"
msgstr ""
-#: ldwrite.c:54 ldwrite.c:190
+#: ldwrite.c:55 ldwrite.c:191
msgid "%P%F: bfd_new_link_order failed\n"
msgstr ""
-#: ldwrite.c:310
+#: ldwrite.c:343
+msgid "%F%P: cannot create split section name for %s\n"
+msgstr ""
+
+#: ldwrite.c:355
msgid "%F%P: clone section failed: %E\n"
msgstr ""
-#: ldwrite.c:348
+#: ldwrite.c:394
#, c-format
msgid "%8x something else\n"
msgstr ""
-#: ldwrite.c:525
+#: ldwrite.c:572
msgid "%F%P: final link failed: %E\n"
msgstr ""
-#: lexsup.c:179 lexsup.c:284
+#: lexsup.c:185 lexsup.c:290
msgid "KEYWORD"
msgstr ""
-#: lexsup.c:179
+#: lexsup.c:185
msgid "Shared library control for HP/UX compatibility"
msgstr ""
-#: lexsup.c:182
+#: lexsup.c:188
msgid "ARCH"
msgstr ""
-#: lexsup.c:182
+#: lexsup.c:188
msgid "Set architecture"
msgstr ""
-#: lexsup.c:184 lexsup.c:357
+#: lexsup.c:190 lexsup.c:363
msgid "TARGET"
msgstr ""
-#: lexsup.c:184
+#: lexsup.c:190
msgid "Specify target for following input files"
msgstr ""
-#: lexsup.c:186 lexsup.c:229 lexsup.c:241 lexsup.c:254 lexsup.c:329
-#: lexsup.c:364 lexsup.c:408
+#: lexsup.c:192 lexsup.c:235 lexsup.c:247 lexsup.c:260 lexsup.c:335
+#: lexsup.c:370 lexsup.c:417
msgid "FILE"
msgstr ""
-#: lexsup.c:186
+#: lexsup.c:192
msgid "Read MRI format linker script"
msgstr ""
-#: lexsup.c:188
+#: lexsup.c:194
msgid "Force common symbols to be defined"
msgstr ""
-#: lexsup.c:192 lexsup.c:398 lexsup.c:400 lexsup.c:402
+#: lexsup.c:198 lexsup.c:404 lexsup.c:406 lexsup.c:408
msgid "ADDRESS"
msgstr ""
-#: lexsup.c:192
+#: lexsup.c:198
msgid "Set start address"
msgstr ""
-#: lexsup.c:194
+#: lexsup.c:200
msgid "Export all dynamic symbols"
msgstr ""
-#: lexsup.c:196
+#: lexsup.c:202
msgid "Link big-endian objects"
msgstr ""
-#: lexsup.c:198
+#: lexsup.c:204
msgid "Link little-endian objects"
msgstr ""
-#: lexsup.c:200 lexsup.c:203
+#: lexsup.c:206 lexsup.c:209
msgid "SHLIB"
msgstr ""
-#: lexsup.c:200
+#: lexsup.c:206
msgid "Auxiliary filter for shared object symbol table"
msgstr ""
-#: lexsup.c:203
+#: lexsup.c:209
msgid "Filter for shared object symbol table"
msgstr ""
-#: lexsup.c:205
+#: lexsup.c:211
msgid "Ignored"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:213
msgid "SIZE"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:213
msgid "Small data size (if no size, same as --shared)"
msgstr ""
-#: lexsup.c:210
+#: lexsup.c:216
msgid "FILENAME"
msgstr ""
-#: lexsup.c:210
+#: lexsup.c:216
msgid "Set internal name of shared library"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:218
msgid "PROGRAM"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:218
msgid "Set PROGRAM as the dynamic linker to use"
msgstr ""
-#: lexsup.c:214
+#: lexsup.c:220
msgid "LIBNAME"
msgstr ""
-#: lexsup.c:214
+#: lexsup.c:220
msgid "Search for library LIBNAME"
msgstr ""
-#: lexsup.c:216
+#: lexsup.c:222
msgid "DIRECTORY"
msgstr ""
-#: lexsup.c:216
+#: lexsup.c:222
msgid "Add DIRECTORY to library search path"
msgstr ""
-#: lexsup.c:218
+#: lexsup.c:224
msgid "EMULATION"
msgstr ""
-#: lexsup.c:218
+#: lexsup.c:224
msgid "Set emulation"
msgstr ""
-#: lexsup.c:220
+#: lexsup.c:226
msgid "Print map file on standard output"
msgstr ""
-#: lexsup.c:222
+#: lexsup.c:228
msgid "Do not page align data"
msgstr ""
-#: lexsup.c:224
+#: lexsup.c:230
msgid "Do not page align data, do not make text readonly"
msgstr ""
-#: lexsup.c:227
+#: lexsup.c:233
msgid "Page align data, make text readonly"
msgstr ""
-#: lexsup.c:229
+#: lexsup.c:235
msgid "Set output file name"
msgstr ""
-#: lexsup.c:231
+#: lexsup.c:237
msgid "Optimize output file"
msgstr ""
-#: lexsup.c:233
+#: lexsup.c:239
msgid "Ignored for SVR4 compatibility"
msgstr ""
-#: lexsup.c:237
+#: lexsup.c:243
msgid "Generate relocatable output"
msgstr ""
-#: lexsup.c:241
+#: lexsup.c:247
msgid "Just link symbols (if directory, same as --rpath)"
msgstr ""
-#: lexsup.c:244
+#: lexsup.c:250
msgid "Strip all symbols"
msgstr ""
-#: lexsup.c:246
+#: lexsup.c:252
msgid "Strip debugging symbols"
msgstr ""
-#: lexsup.c:248
+#: lexsup.c:254
msgid "Strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:250
+#: lexsup.c:256
msgid "Do not strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:252
+#: lexsup.c:258
msgid "Trace file opens"
msgstr ""
-#: lexsup.c:254
+#: lexsup.c:260
msgid "Read linker script"
msgstr ""
-#: lexsup.c:256 lexsup.c:272 lexsup.c:315 lexsup.c:327 lexsup.c:392
-#: lexsup.c:411 lexsup.c:431
+#: lexsup.c:262 lexsup.c:278 lexsup.c:321 lexsup.c:333 lexsup.c:398
+#: lexsup.c:420 lexsup.c:448
msgid "SYMBOL"
msgstr ""
-#: lexsup.c:256
+#: lexsup.c:262
msgid "Start with undefined reference to SYMBOL"
msgstr ""
-#: lexsup.c:258
+#: lexsup.c:264
msgid "[=SECTION]"
msgstr ""
-#: lexsup.c:258
+#: lexsup.c:264
msgid "Don't merge input [SECTION | orphan] sections"
msgstr ""
-#: lexsup.c:260
+#: lexsup.c:266
msgid "Build global constructor/destructor tables"
msgstr ""
-#: lexsup.c:262
+#: lexsup.c:268
msgid "Print version information"
msgstr ""
-#: lexsup.c:264
+#: lexsup.c:270
msgid "Print version and emulation information"
msgstr ""
-#: lexsup.c:266
+#: lexsup.c:272
msgid "Discard all local symbols"
msgstr ""
-#: lexsup.c:268
+#: lexsup.c:274
msgid "Discard temporary local symbols (default)"
msgstr ""
-#: lexsup.c:270
+#: lexsup.c:276
msgid "Don't discard any local symbols"
msgstr ""
-#: lexsup.c:272
+#: lexsup.c:278
msgid "Trace mentions of SYMBOL"
msgstr ""
-#: lexsup.c:274 lexsup.c:366 lexsup.c:368
+#: lexsup.c:280 lexsup.c:372 lexsup.c:374
msgid "PATH"
msgstr ""
-#: lexsup.c:274
+#: lexsup.c:280
msgid "Default search path for Solaris compatibility"
msgstr ""
-#: lexsup.c:276
+#: lexsup.c:282
msgid "Start a group"
msgstr ""
-#: lexsup.c:278
+#: lexsup.c:284
msgid "End a group"
msgstr ""
-#: lexsup.c:280
+#: lexsup.c:286
msgid "Accept input files whose architecture cannot be determined"
msgstr ""
-#: lexsup.c:282
+#: lexsup.c:288
msgid "Reject input files whose architecture is unknown"
msgstr ""
-#: lexsup.c:284
+#: lexsup.c:290
msgid "Ignored for SunOS compatibility"
msgstr ""
-#: lexsup.c:286
+#: lexsup.c:292
msgid "Link against shared libraries"
msgstr ""
-#: lexsup.c:292
+#: lexsup.c:298
msgid "Do not link against shared libraries"
msgstr ""
-#: lexsup.c:300
+#: lexsup.c:306
msgid "Bind global references locally"
msgstr ""
-#: lexsup.c:302
+#: lexsup.c:308
msgid "Check section addresses for overlaps (default)"
msgstr ""
-#: lexsup.c:304
+#: lexsup.c:310
msgid "Do not check section addresses for overlaps"
msgstr ""
-#: lexsup.c:307
+#: lexsup.c:313
msgid "Output cross reference table"
msgstr ""
-#: lexsup.c:309
+#: lexsup.c:315
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: lexsup.c:309
+#: lexsup.c:315
msgid "Define a symbol"
msgstr ""
-#: lexsup.c:311
+#: lexsup.c:317
msgid "[=STYLE]"
msgstr ""
-#: lexsup.c:311
+#: lexsup.c:317
msgid "Demangle symbol names [using STYLE]"
msgstr ""
-#: lexsup.c:313
+#: lexsup.c:319
msgid "Generate embedded relocs"
msgstr ""
-#: lexsup.c:315
+#: lexsup.c:321
msgid "Call SYMBOL at unload-time"
msgstr ""
-#: lexsup.c:317
+#: lexsup.c:323
msgid "Force generation of file with .exe suffix"
msgstr ""
-#: lexsup.c:319
+#: lexsup.c:325
msgid "Remove unused sections (on some targets)"
msgstr ""
-#: lexsup.c:322
+#: lexsup.c:328
msgid "Don't remove unused sections (default)"
msgstr ""
-#: lexsup.c:325
+#: lexsup.c:331
msgid "Print option help"
msgstr ""
-#: lexsup.c:327
+#: lexsup.c:333
msgid "Call SYMBOL at load-time"
msgstr ""
-#: lexsup.c:329
+#: lexsup.c:335
msgid "Write a map file"
msgstr ""
-#: lexsup.c:331
+#: lexsup.c:337
msgid "Do not define Common storage"
msgstr ""
-#: lexsup.c:333
+#: lexsup.c:339
msgid "Do not demangle symbol names"
msgstr ""
-#: lexsup.c:335
+#: lexsup.c:341
msgid "Use less memory and more disk I/O"
msgstr ""
-#: lexsup.c:337
-msgid "Allow no undefined symbols"
+#: lexsup.c:343
+msgid "Do not allow unresolved references in object files"
msgstr ""
-#: lexsup.c:339
-msgid "Allow undefined symbols in shared objects (the default)"
+#: lexsup.c:345
+msgid "Allow unresolved references in shared libaries"
msgstr ""
-#: lexsup.c:341
-msgid "Do not allow undefined symbols in shared objects"
+#: lexsup.c:347
+msgid "Do not allow unresolved references in shared libs"
msgstr ""
-#: lexsup.c:343
+#: lexsup.c:349
msgid "Allow multiple definitions"
msgstr ""
-#: lexsup.c:345
+#: lexsup.c:351
msgid "Disallow undefined version"
msgstr ""
-#: lexsup.c:347
+#: lexsup.c:353
msgid "Don't warn about mismatched input files"
msgstr ""
-#: lexsup.c:349
+#: lexsup.c:355
msgid "Turn off --whole-archive"
msgstr ""
-#: lexsup.c:351
+#: lexsup.c:357
msgid "Create an output file even if errors occur"
msgstr ""
-#: lexsup.c:355
+#: lexsup.c:361
msgid ""
"Only use library directories specified on\n"
"\t\t\t\tthe command line"
msgstr ""
-#: lexsup.c:357
+#: lexsup.c:363
msgid "Specify target of output file"
msgstr ""
-#: lexsup.c:359
+#: lexsup.c:365
msgid "Ignored for Linux compatibility"
msgstr ""
-#: lexsup.c:361
+#: lexsup.c:367
msgid "Relax branches on certain targets"
msgstr ""
-#: lexsup.c:364
+#: lexsup.c:370
msgid "Keep only symbols listed in FILE"
msgstr ""
-#: lexsup.c:366
+#: lexsup.c:372
msgid "Set runtime shared library search path"
msgstr ""
-#: lexsup.c:368
+#: lexsup.c:374
msgid "Set link time shared library search path"
msgstr ""
-#: lexsup.c:370
+#: lexsup.c:376
msgid "Create a shared library"
msgstr ""
-#: lexsup.c:374
+#: lexsup.c:380
msgid "Create a position independent executable"
msgstr ""
-#: lexsup.c:378
+#: lexsup.c:384
msgid "Sort common symbols by size"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:388
msgid "COUNT"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:388
msgid "How many tags to reserve in .dynamic section"
msgstr ""
-#: lexsup.c:384
+#: lexsup.c:390
msgid "[=SIZE]"
msgstr ""
-#: lexsup.c:384
+#: lexsup.c:390
msgid "Split output sections every SIZE octets"
msgstr ""
-#: lexsup.c:386
+#: lexsup.c:392
msgid "[=COUNT]"
msgstr ""
-#: lexsup.c:386
+#: lexsup.c:392
msgid "Split output sections every COUNT relocs"
msgstr ""
-#: lexsup.c:388
+#: lexsup.c:394
msgid "Print memory usage statistics"
msgstr ""
-#: lexsup.c:390
+#: lexsup.c:396
msgid "Display target specific options"
msgstr ""
-#: lexsup.c:392
+#: lexsup.c:398
msgid "Do task level linking"
msgstr ""
-#: lexsup.c:394
+#: lexsup.c:400
msgid "Use same format as native linker"
msgstr ""
-#: lexsup.c:396
+#: lexsup.c:402
msgid "SECTION=ADDRESS"
msgstr ""
-#: lexsup.c:396
+#: lexsup.c:402
msgid "Set address of named section"
msgstr ""
-#: lexsup.c:398
+#: lexsup.c:404
msgid "Set address of .bss section"
msgstr ""
-#: lexsup.c:400
+#: lexsup.c:406
msgid "Set address of .data section"
msgstr ""
-#: lexsup.c:402
+#: lexsup.c:408
msgid "Set address of .text section"
msgstr ""
-#: lexsup.c:404
+#: lexsup.c:410
+msgid ""
+"How to handle unresolved symbols. <method> is:\n"
+"\t\t\t\tignore-all, report-all, ignore-in-object-files,\n"
+"\t\t\t\tignore-in-shared-libs"
+msgstr ""
+
+#: lexsup.c:413
msgid "Output lots of information during link"
msgstr ""
-#: lexsup.c:408
+#: lexsup.c:417
msgid "Read version information script"
msgstr ""
-#: lexsup.c:411
+#: lexsup.c:420
msgid ""
"Take export symbols list from .exports, using\n"
"\t\t\t\tSYMBOL as the version."
msgstr ""
-#: lexsup.c:414
+#: lexsup.c:423
msgid "Warn about duplicate common symbols"
msgstr ""
-#: lexsup.c:416
+#: lexsup.c:425
msgid "Warn if global constructors/destructors are seen"
msgstr ""
-#: lexsup.c:419
+#: lexsup.c:428
msgid "Warn if the multiple GP values are used"
msgstr ""
-#: lexsup.c:421
+#: lexsup.c:430
msgid "Warn only once per undefined symbol"
msgstr ""
-#: lexsup.c:423
+#: lexsup.c:432
msgid "Warn if start of section changes due to alignment"
msgstr ""
-#: lexsup.c:426
+#: lexsup.c:435
+msgid "Report unresolved symbols as warnings"
+msgstr ""
+
+#: lexsup.c:437
+msgid "Report unresolved symbols as errors"
+msgstr ""
+
+#: lexsup.c:439
msgid "Treat warnings as errors"
msgstr ""
-#: lexsup.c:429
+#: lexsup.c:442
msgid "Include all objects from following archives"
msgstr ""
-#: lexsup.c:431
-msgid "Use wrapper functions for SYMBOL"
+#: lexsup.c:444
+msgid "Only set DT_NEEDED for following dynamic libs if used"
msgstr ""
-#: lexsup.c:433
-msgid "[=WORDS]"
+#: lexsup.c:446
+msgid "Always set DT_NEEDED for following dynamic libs"
msgstr ""
-#: lexsup.c:433
-msgid ""
-"Modify problematic branches in last WORDS (1-10,\n"
-"\t\t\t\tdefault 5) words of a page"
+#: lexsup.c:448
+msgid "Use wrapper functions for SYMBOL"
msgstr ""
-#: lexsup.c:602
+#: lexsup.c:595
msgid "%P: unrecognized option '%s'\n"
msgstr ""
-#: lexsup.c:604
+#: lexsup.c:597
msgid "%P%F: use the --help option for usage information\n"
msgstr ""
-#: lexsup.c:622
+#: lexsup.c:615
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr ""
-#: lexsup.c:635
+#: lexsup.c:628
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr ""
-#: lexsup.c:678
+#: lexsup.c:689
msgid "%F%P: unknown demangling style `%s'"
msgstr ""
-#: lexsup.c:737
+#: lexsup.c:748
msgid "%P%F: invalid number `%s'\n"
msgstr ""
+#: lexsup.c:834
+msgid "%P%F: bad --unresolved-symbols option: %s\n"
+msgstr ""
+
#. This can happen if the user put "-rpath,a" on the command
#. line. (Or something similar. The comma is important).
#. Getopt becomes confused and thinks that this is a -r option
@@ -1612,69 +1706,66 @@ msgstr ""
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:849
+#: lexsup.c:899
msgid "%P%F: bad -rpath option\n"
msgstr ""
-#: lexsup.c:953
+#: lexsup.c:1011
msgid "%P%F: -shared not supported\n"
msgstr ""
-#: lexsup.c:962
+#: lexsup.c:1020
msgid "%P%F: -pie not supported\n"
msgstr ""
-#: lexsup.c:994
+#: lexsup.c:1052
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1000
+#: lexsup.c:1058
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1158
+#: lexsup.c:1222
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr ""
-#: lexsup.c:1165
+#: lexsup.c:1229
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr ""
-#: lexsup.c:1179
-msgid "%P%F: invalid argument to option \"mpc860c0\"\n"
-msgstr ""
-
-#: lexsup.c:1234
+#: lexsup.c:1290
msgid "%P%F: invalid hex number `%s'\n"
msgstr ""
-#: lexsup.c:1246
+#: lexsup.c:1302
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: lexsup.c:1248
+#: lexsup.c:1304
+#, c-format
msgid "Options:\n"
msgstr ""
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1331
+#: lexsup.c:1387
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: lexsup.c:1339
+#: lexsup.c:1395
#, c-format
msgid "%s: supported emulations: "
msgstr ""
-#: lexsup.c:1344
+#: lexsup.c:1400
#, c-format
msgid "%s: emulation specific options:\n"
msgstr ""
-#: lexsup.c:1348
+#: lexsup.c:1404
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
@@ -1683,67 +1774,68 @@ msgstr ""
msgid "%P%F: unknown format type %s\n"
msgstr ""
-#: pe-dll.c:301
+#: pe-dll.c:304
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr ""
-#: pe-dll.c:650
+#: pe-dll.c:653
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:657
+#: pe-dll.c:660
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr ""
-#: pe-dll.c:723
+#: pe-dll.c:726
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr ""
-#: pe-dll.c:729
+#: pe-dll.c:732
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:736
+#: pe-dll.c:739
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr ""
-#: pe-dll.c:848
+#: pe-dll.c:851
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr ""
-#: pe-dll.c:1165
+#: pe-dll.c:1173
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr ""
-#: pe-dll.c:1296
+#: pe-dll.c:1304
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr ""
-#: pe-dll.c:1439
+#: pe-dll.c:1447
+#, c-format
msgid "; no contents available\n"
msgstr ""
-#: pe-dll.c:2203
+#: pe-dll.c:2212
msgid ""
"%C: variable '%T' can't be auto-imported. Please read the documentation for "
"ld's --enable-auto-import for details.\n"
msgstr ""
-#: pe-dll.c:2233
+#: pe-dll.c:2242
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr ""
-#: pe-dll.c:2238
+#: pe-dll.c:2247
#, c-format
msgid "Creating library file: %s\n"
msgstr ""
diff --git a/ld/po/sv.po b/ld/po/sv.po
index 63008b2..4c17a25 100644
--- a/ld/po/sv.po
+++ b/ld/po/sv.po
@@ -1,166 +1,166 @@
# Swedish messages for ld.
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-# Christian Rose <menthos@menthos.com>, 2001, 2002.
+# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+# Christian Rose <menthos@menthos.com>, 2001, 2002, 2004.
#
msgid ""
msgstr ""
-"Project-Id-Version: ld 2.12.91\n"
-"POT-Creation-Date: 2002-07-23 15:58-0400\n"
-"PO-Revision-Date: 2002-07-24 12:31+0200\n"
+"Project-Id-Version: ld 2.14rel030712\n"
+"POT-Creation-Date: 2003-07-11 13:58+0930\n"
+"PO-Revision-Date: 2004-03-22 15:32+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: emultempl/armcoff.em:71
+#: emultempl/armcoff.em:72
msgid " --support-old-code Support interworking with old code\n"
msgstr " --support-old-code Stöd interaktion med gammal kod\n"
-#: emultempl/armcoff.em:72
+#: emultempl/armcoff.em:73
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
msgstr ""
" --thumb-entry=<sym> Ställ in ingångspunkten till att vara tumsymbolen\n"
" <sym>\n"
-#: emultempl/armcoff.em:141
+#: emultempl/armcoff.em:121
#, c-format
msgid "Errors encountered processing file %s"
msgstr "Fel inträffade vid bearbetning av filen %s"
-#: emultempl/armcoff.em:207 emultempl/pe.em:1422
+#: emultempl/armcoff.em:188 emultempl/pe.em:1396
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr "%P: varning: \"--thumb-entry %s\" åsidosätter \"-e %s\"\n"
-#: emultempl/armcoff.em:212 emultempl/pe.em:1427
+#: emultempl/armcoff.em:193 emultempl/pe.em:1401
msgid "%P: warning: connot find thumb start symbol %s\n"
msgstr "%P: varning: kan inte hitta tumstartsymbol %s\n"
-#: emultempl/pe.em:317
+#: emultempl/pe.em:300
msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n"
msgstr ""
" --base_file <basfil> Generera en basfil för\n"
" omlokaliseringsbara DLL:er\n"
-#: emultempl/pe.em:318
+#: emultempl/pe.em:301
msgid " --dll Set image base to the default for DLLs\n"
msgstr ""
" --dll Ställ in bildbas till standard för\n"
" DLL:er\n"
-#: emultempl/pe.em:319
+#: emultempl/pe.em:302
msgid " --file-alignment <size> Set file alignment\n"
msgstr " --file-alignment <storlek> Ställ in filjustering\n"
-#: emultempl/pe.em:320
+#: emultempl/pe.em:303
msgid " --heap <size> Set initial size of the heap\n"
msgstr " --heap <storlek> Ställ in initial storlek på högen\n"
-#: emultempl/pe.em:321
+#: emultempl/pe.em:304
msgid " --image-base <address> Set start address of the executable\n"
msgstr " --image-base <adress> Ställ in startadressen för det körbara\n"
-#: emultempl/pe.em:322
+#: emultempl/pe.em:305
msgid " --major-image-version <number> Set version number of the executable\n"
msgstr " --major-image-version <nummer> Ställ in versionsnummer för det körbara\n"
-#: emultempl/pe.em:323
+#: emultempl/pe.em:306
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr " --major-os-version <nummer> Ställ in lägsta nödvändiga OS-version\n"
-#: emultempl/pe.em:324
+#: emultempl/pe.em:307
msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n"
msgstr ""
" --major-subsystem-version <nummer> Ställ in lägsta nödvändiga\n"
" OS-undersystemsversion\n"
-#: emultempl/pe.em:325
+#: emultempl/pe.em:308
msgid " --minor-image-version <number> Set revision number of the executable\n"
msgstr ""
" --minor-image-version <nummer> Ställ in underrevisionsnummer för\n"
" det körbara\n"
-#: emultempl/pe.em:326
+#: emultempl/pe.em:309
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr " --minor-os-version <nummer> Ställ in lägsta nödvändiga OS-revision\n"
-#: emultempl/pe.em:327
+#: emultempl/pe.em:310
msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n"
msgstr ""
" --minor-subsystem-version <nummer> Ställ in lägsta nödvändiga\n"
" OS-undersystemsrevision\n"
-#: emultempl/pe.em:328
+#: emultempl/pe.em:311
msgid " --section-alignment <size> Set section alignment\n"
msgstr " --section-alignment <storlek> Ställ in sektionsjustering\n"
-#: emultempl/pe.em:329
+#: emultempl/pe.em:312
msgid " --stack <size> Set size of the initial stack\n"
msgstr " --stack <storlek> Ställ in storlek på initiala stacken\n"
-#: emultempl/pe.em:330
+#: emultempl/pe.em:313
msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr ""
" --subsystem <namn>[:<version>] Ställ in nödvändigt OS-undersystem\n"
" [och nödvändig version]\n"
-#: emultempl/pe.em:331
+#: emultempl/pe.em:314
msgid " --support-old-code Support interworking with old code\n"
msgstr " --support-old-code Stöd interaktion med gammal kod\n"
-#: emultempl/pe.em:332
+#: emultempl/pe.em:315
msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n"
msgstr ""
" --thumb-entry=<symbol> Ställ in ingångspunkten till att\n"
" vara tummen <symbol>\n"
-#: emultempl/pe.em:334
+#: emultempl/pe.em:317
msgid " --add-stdcall-alias Export symbols with and without @nn\n"
msgstr " --add-stdcall-alias Exportera symboler med och utan @nn\n"
-#: emultempl/pe.em:335
+#: emultempl/pe.em:318
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr " --disable-stdcall-fixup Länka inte _sym till _sym@nn\n"
-#: emultempl/pe.em:336
+#: emultempl/pe.em:319
msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr " --enable-stdcall-fixup Länka _sym till _sym@nn utan varningar\n"
-#: emultempl/pe.em:337
+#: emultempl/pe.em:320
msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
msgstr ""
" --exclude-symbols sym,sym,... Exkludera symboler från automatisk\n"
" export\n"
-#: emultempl/pe.em:338
+#: emultempl/pe.em:321
msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n"
msgstr ""
" --exclude-libs bibl,bibl,... Exkludera bibliotek från automatisk\n"
" export\n"
-#: emultempl/pe.em:339
+#: emultempl/pe.em:322
msgid " --export-all-symbols Automatically export all globals to DLL\n"
msgstr ""
" --export-all-symbols Exportera automatiskt alla symboler\n"
" till DLL\n"
-#: emultempl/pe.em:340
+#: emultempl/pe.em:323
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr " --kill-at Ta bort @nn från exporterade symboler\n"
-#: emultempl/pe.em:341
+#: emultempl/pe.em:324
msgid " --out-implib <file> Generate import library\n"
msgstr " --out-implib <fil> Generera importbibliotek\n"
-#: emultempl/pe.em:342
+#: emultempl/pe.em:325
msgid " --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr " --output-def <fil> Generera en .DEF-fil för byggd DLL\n"
-#: emultempl/pe.em:343
+#: emultempl/pe.em:326
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr " --warn-duplicate-exports Varna för dubbla exporter.\n"
-#: emultempl/pe.em:344
+#: emultempl/pe.em:327
msgid ""
" --compat-implib Create backward compatible import libs;\n"
" create __imp_<SYMBOL> as well.\n"
@@ -168,7 +168,7 @@ msgstr ""
" --compat-implib Skapa bakåtkompatibla importbibliotek;\n"
" och skapa även __imp_<SYMBOL>.\n"
-#: emultempl/pe.em:346
+#: emultempl/pe.em:329
msgid ""
" --enable-auto-image-base Automatically choose image base for DLLs\n"
" unless user specifies one\n"
@@ -176,37 +176,57 @@ msgstr ""
" --enable-auto-image-base Välj automatiskt bildbas för DLL:er\n"
" såvida inte användaren anger en\n"
-#: emultempl/pe.em:348
+#: emultempl/pe.em:331
msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n"
msgstr ""
" --disable-auto-image-base Välj inte bildbas automatiskt\n"
" (standard).\n"
-#: emultempl/pe.em:349
+#: emultempl/pe.em:332
msgid ""
-" --dll-search-prefix=<string> When linking dynamically to a dll without an\n"
-" importlib, use <string><basename>.dll \n"
+" --dll-search-prefix=<string> When linking dynamically to a dll without\n"
+" an importlib, use <string><basename>.dll\n"
" in preference to lib<basename>.dll \n"
msgstr ""
" --dll-search-prefix=<sträng> Använd <sträng><basnamn>.dll istället\n"
" för lib<basnamn>.dll vid dynamisk\n"
" länkning utan ett importbibliotek\n"
-#: emultempl/pe.em:352
+#: emultempl/pe.em:335
msgid ""
-" --enable-auto-import Do sophistcated linking of _sym to \n"
+" --enable-auto-import Do sophistcated linking of _sym to\n"
" __imp_sym for DATA references\n"
msgstr ""
" --enable-auto-import Utför sofistikerad länkning av _sym till\n"
" __imp_sym för DATA-referenser\n"
-#: emultempl/pe.em:354
+#: emultempl/pe.em:337
msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n"
msgstr ""
" --disable-auto-import Importera inte DATA-objekt från DLL:er\n"
" automatiskt\n"
-#: emultempl/pe.em:355
+#: emultempl/pe.em:338
+msgid ""
+" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
+" adding pseudo-relocations resolved at\n"
+" runtime.\n"
+msgstr ""
+" --enable-runtime-pseudo-reloc Kringgå begränsningar i automatisk\n"
+" import genom att lägga till\n"
+" pseudoomlokaliseringar som löses under\n"
+" körtid.\n"
+
+#: emultempl/pe.em:341
+msgid ""
+" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n"
+" auto-imported DATA.\n"
+msgstr ""
+" --disable-runtime-pseudo-reloc Lägg inte till pseudoomlokaliseringar\n"
+" för automatisk importerad DATA under\n"
+" körtid.\n"
+
+#: emultempl/pe.em:343
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when building\n"
" or linking to DLLs (esp. auto-import)\n"
@@ -215,85 +235,82 @@ msgstr ""
" bygge av eller länkning till DLL:er\n"
" (särskilt automatisk import)\n"
-#: emultempl/pe.em:424
+#: emultempl/pe.em:412
msgid "%P: warning: bad version number in -subsystem option\n"
msgstr "%P: varning: felaktigt nummer i flaggan -subsystem\n"
-#: emultempl/pe.em:460
+#: emultempl/pe.em:448
msgid "%P%F: invalid subsystem type %s\n"
msgstr "%P%F: ogiltig typ av undersystem %s\n"
-#: emultempl/pe.em:475
+#: emultempl/pe.em:460
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
msgstr "%P%F: ogiltigt hexadecimalt tal för PE-parametern \"%s\"\n"
-#: emultempl/pe.em:493
+#: emultempl/pe.em:477
msgid "%P%F: strange hex info for PE parameter '%s'\n"
msgstr "%P%F: konstig hexadecimal information för PE-parametern \"%s\"\n"
-#: emultempl/pe.em:532
+#: emultempl/pe.em:494
#, c-format
msgid "%s: Can't open base file %s\n"
msgstr "%s: Kan inte öppna basfilen %s\n"
-#: emultempl/pe.em:738
+#: emultempl/pe.em:707
msgid "%P: warning, file alignment > section alignment.\n"
msgstr "%P: varning, filjusteringen > sektionsjusteringen.\n"
-#: emultempl/pe.em:822 emultempl/pe.em:848
+#: emultempl/pe.em:794 emultempl/pe.em:821
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr "Varning: löser upp %s genom att länka till %s\n"
-#: emultempl/pe.em:827 emultempl/pe.em:853
+#: emultempl/pe.em:799 emultempl/pe.em:826
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr "Använd --enable-stdcall-fixup för att stänga av dessa varningar\n"
-#: emultempl/pe.em:828 emultempl/pe.em:854
+#: emultempl/pe.em:800 emultempl/pe.em:827
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr "Använd --disable-stdcall-fixup för att stänga av dessa korrigeringar\n"
-#: emultempl/pe.em:879
+#: emultempl/pe.em:846
+#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr "%C: Kan inte få tag i sektionsinnehåll - undantag i automatisk import\n"
-#: emultempl/pe.em:887
-msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
-msgstr "%C: variabeln \"%T\" kan inte importeras automatiskt. Läs dokumentationen för ld:s --enable-auto-import för detaljer.\n"
-
-#: emultempl/pe.em:916
+#: emultempl/pe.em:883
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr "Info: löser upp %s genom att länka till %s (automatisk import)\n"
-#: emultempl/pe.em:997
+#: emultempl/pe.em:954
msgid "%F%P: PE operations on non PE file.\n"
msgstr "%F%P: PE-operationer på fil som inte är PE.\n"
-#: emultempl/pe.em:1226
+#: emultempl/pe.em:1188
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr "Fel uppstod vid behandling av filen %s\n"
-#: emultempl/pe.em:1249
+#: emultempl/pe.em:1211
#, c-format
msgid "Errors encountered processing file %s for interworking"
msgstr "Fel uppstod vid behandling av filen %s för interaktion"
-#: emultempl/pe.em:1305 ldlang.c:2065 ldlang.c:4608 ldlang.c:4641
-#: ldmain.c:1061
+#: emultempl/pe.em:1273 ldlang.c:1904 ldlang.c:4397 ldlang.c:4428
+#: ldmain.c:1122
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_link_hash_lookup misslyckades: %E\n"
-#: ldcref.c:158
+#: ldcref.c:153
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
msgstr "%X%P: bfd_hash_table_init av korsreferenstabellen misslyckades: %E\n"
-#: ldcref.c:164
+#: ldcref.c:159
msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr "%X%P: cref_hash_lookup misslyckades: %E\n"
-#: ldcref.c:235
+#: ldcref.c:225
msgid ""
"\n"
"Cross Reference Table\n"
@@ -303,31 +320,31 @@ msgstr ""
"Korsreferenstabell\n"
"\n"
-#: ldcref.c:236
+#: ldcref.c:226
msgid "Symbol"
msgstr "Symbol"
-#: ldcref.c:244
+#: ldcref.c:234
msgid "File\n"
msgstr "Fil\n"
-#: ldcref.c:248
+#: ldcref.c:238
msgid "No symbols\n"
msgstr "Inga symboler\n"
-#: ldcref.c:400
+#: ldcref.c:384
msgid "%P: symbol `%T' missing from main hash table\n"
msgstr "%P: symbolen \"%T\" saknas från hastabellen\n"
-#: ldcref.c:465
+#: ldcref.c:448
msgid "%B%F: could not read symbols; %E\n"
msgstr "%B%F: kunde inte läsa symboler; %E\n"
-#: ldcref.c:469 ldmain.c:1127 ldmain.c:1131
+#: ldcref.c:452 ldmain.c:1187 ldmain.c:1191
msgid "%B%F: could not read symbols: %E\n"
msgstr "%B%F: kunde inte läsa symboler: %E\n"
-#: ldcref.c:537 ldcref.c:544 ldmain.c:1177 ldmain.c:1184
+#: ldcref.c:517 ldcref.c:524 ldmain.c:1234 ldmain.c:1241
msgid "%B%F: could not read relocs: %E\n"
msgstr "%B%F: kunde inte läsa omlokaliseringar: %E\n"
@@ -335,27 +352,27 @@ msgstr "%B%F: kunde inte läsa omlokaliseringar: %E\n"
#. in OUTSECNAME. This reloc is from a section which is
#. mapped into a section from which references to OUTSECNAME
#. are prohibited. We must report an error.
-#: ldcref.c:563
+#: ldcref.c:543
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
msgstr "%X%C: förbjuden korsreferens från %s till \"%T\" i %s\n"
-#: ldctor.c:88
+#: ldctor.c:84
msgid "%P%X: Different relocs used in set %s\n"
msgstr "%P%X: Olika omlokaliseringar använda i gruppen %s\n"
-#: ldctor.c:106
+#: ldctor.c:102
msgid "%P%X: Different object file formats composing set %s\n"
msgstr "%P%X: Olika objektfilformat utgör gruppen %s\n"
-#: ldctor.c:288 ldctor.c:302
+#: ldctor.c:281 ldctor.c:295
msgid "%P%X: %s does not support reloc %s for set %s\n"
msgstr "%P%X: %s stöder inte omlokaliseringen %s för gruppen %s\n"
-#: ldctor.c:323
+#: ldctor.c:316
msgid "%P%X: Unsupported size %d for set %s\n"
msgstr "%P%X: Storleken %d för gruppen %s stöds inte\n"
-#: ldctor.c:344
+#: ldctor.c:337
msgid ""
"\n"
"Set Symbol\n"
@@ -365,135 +382,150 @@ msgstr ""
"Grupp Symbol\n"
"\n"
-#: ldemul.c:225
+#: ldemul.c:247
+#, c-format
msgid "%S SYSLIB ignored\n"
msgstr "%S SYSLIB ignorerades\n"
-#: ldemul.c:232
+#: ldemul.c:254
+#, c-format
msgid "%S HLL ignored\n"
msgstr "%S HLL ignorerades\n"
-#: ldemul.c:253
+#: ldemul.c:275
msgid "%P: unrecognised emulation mode: %s\n"
msgstr "%P: okänt emuleringsläge: %s\n"
-#: ldemul.c:254
+#: ldemul.c:276
msgid "Supported emulations: "
msgstr "Emuleringar som stöds: "
-#: ldemul.c:298
+#: ldemul.c:320
msgid " no emulation specific options.\n"
msgstr " inga emuleringsspecifika flaggor.\n"
-#: ldexp.c:174
+#: ldexp.c:148
msgid "%F%P: %s uses undefined section %s\n"
msgstr "%F%P: %s använder odefinierad sektion %s\n"
-#: ldexp.c:176
+#: ldexp.c:150
msgid "%F%P: %s forward reference of section %s\n"
msgstr "%F%P: %s framåtreferens av sektionen %s\n"
-#: ldexp.c:304
+#: ldexp.c:355
+#, c-format
msgid "%F%S %% by zero\n"
msgstr "%F%S %% med noll\n"
-#: ldexp.c:311
+#: ldexp.c:362
+#, c-format
msgid "%F%S / by zero\n"
msgstr "%F%S / med noll\n"
-#: ldexp.c:463
+#: ldexp.c:533
+#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr "%X%S: oupplösningsbara symbolen \"%s\" refererades i uttrycket\n"
-#: ldexp.c:483
+#: ldexp.c:553
+#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr "%F%S: odefinierade symbolen \"%s\" refererades i uttrycket\n"
-#: ldexp.c:685
+#: ldexp.c:677
+#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr "%F%S kan inte TILLHANDAHÅLLA tilldelning till platsräknare\n"
-#: ldexp.c:695
+#: ldexp.c:687
+#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr "%F%S ogiltig tilldelning till platsräknare\n"
-#: ldexp.c:699
+#: ldexp.c:691
+#, c-format
msgid "%F%S assignment to location counter invalid outside of SECTION\n"
msgstr "%F%S tilldelning till platsräknare som är ogiltig utanför SEKTION\n"
-#: ldexp.c:708
+#: ldexp.c:700
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr "%F%S kan inte flytta platsräknare bakåt (från %V till %V)\n"
-#: ldexp.c:735
+#: ldexp.c:727
msgid "%P%F:%s: hash creation failed\n"
msgstr "%P%F:%s: skapande av hash misslyckades\n"
-#: ldexp.c:1037 ldexp.c:1071
+#: ldexp.c:1003 ldexp.c:1035
+#, c-format
msgid "%F%S nonconstant expression for %s\n"
msgstr "%F%S ickekonstant uttryck för %s\n"
-#: ldexp.c:1126
+#: ldexp.c:1089
+#, c-format
msgid "%F%S non constant expression for %s\n"
msgstr "%F%S ickekonstant uttryck för %s\n"
-#: ldfile.c:105
+#: ldfile.c:144
#, c-format
msgid "attempt to open %s failed\n"
msgstr "försök att öppna %s misslyckades\n"
-#: ldfile.c:107
+#: ldfile.c:146
#, c-format
msgid "attempt to open %s succeeded\n"
msgstr "försök att öppna %s lyckades\n"
-#: ldfile.c:113
+#: ldfile.c:152
msgid "%F%P: invalid BFD target `%s'\n"
msgstr "%F%P: ogiltigt BFD-mål \"%s\"\n"
-#: ldfile.c:142
+#: ldfile.c:258 ldfile.c:275
msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr "%P: hoppar över inkompatibel %s vid sökning av %s\n"
-#: ldfile.c:234
+#: ldfile.c:377
msgid "%F%P: cannot open %s for %s: %E\n"
msgstr "%F%P: kan inte öppna %s för %s: %E\n"
-#: ldfile.c:237
+#: ldfile.c:380
msgid "%F%P: cannot open %s: %E\n"
msgstr "%F%P: kan inte öppna %s: %E\n"
-#: ldfile.c:267
+#: ldfile.c:410
+msgid "%F%P: cannot find %s inside %s\n"
+msgstr "%F%P: kan inte hitta %s inuti %s\n"
+
+#: ldfile.c:413
msgid "%F%P: cannot find %s\n"
msgstr "%F%P: kan inte hitta %s\n"
-#: ldfile.c:286 ldfile.c:302
+#: ldfile.c:430 ldfile.c:446
#, c-format
msgid "cannot find script file %s\n"
msgstr "kan inte hitta skriptfilen %s\n"
-#: ldfile.c:288 ldfile.c:304
+#: ldfile.c:432 ldfile.c:448
#, c-format
msgid "opened script file %s\n"
msgstr "öppnade skriptfilen %s\n"
-#: ldfile.c:353
+#: ldfile.c:492
msgid "%P%F: cannot open linker script file %s: %E\n"
msgstr "%P%F: kan inte öppna länkskriptfilen %s: %E\n"
-#: ldfile.c:391
+#: ldfile.c:529
msgid "%P%F: unknown architecture: %s\n"
msgstr "%P%F: okänd arkitektur: %s\n"
-#: ldfile.c:407
+#: ldfile.c:543
msgid "%P%F: target architecture respecified\n"
msgstr "%P%F: målarkitekturen specifierades om\n"
-#: ldfile.c:461
+#: ldfile.c:594
msgid "%P%F: cannot represent machine `%s'\n"
msgstr "%P%F: kan inte representera maskinen \"%s\"\n"
-#: ldlang.c:784
+#: ldlang.c:640
msgid ""
"\n"
"Memory Configuration\n"
@@ -503,23 +535,23 @@ msgstr ""
"Minneskonfiguration\n"
"\n"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Name"
msgstr "Namn"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Origin"
msgstr "Början"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Length"
msgstr "Längd"
-#: ldlang.c:786
+#: ldlang.c:642
msgid "Attributes"
msgstr "Attribut"
-#: ldlang.c:828
+#: ldlang.c:682
msgid ""
"\n"
"Linker script and memory map\n"
@@ -529,161 +561,166 @@ msgstr ""
"Länkskript och minnestabell\n"
"\n"
-#: ldlang.c:845
+#: ldlang.c:698
msgid "%P%F: Illegal use of `%s' section\n"
msgstr "%P%F: Otillåten användning av sektionen \"%s\"\n"
-#: ldlang.c:855
+#: ldlang.c:707
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr "%P%F: utdataformatet %s kan inte representera sektionen kallad %s\n"
-#: ldlang.c:1016
+#: ldlang.c:867
msgid "%P: %B: warning: ignoring duplicate section `%s'\n"
msgstr "%P: %B: varning: ignorerar dubbel sektion \"%s\"\n"
-#: ldlang.c:1019
+#: ldlang.c:870
msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n"
msgstr "%P: %B: varning: ignorerar dubbla \"%s\"-sektionssymbolen \"%s\"\n"
-#: ldlang.c:1033
+#: ldlang.c:884
msgid "%P: %B: warning: duplicate section `%s' has different size\n"
msgstr "%P: %B: varning: dubbla sektionen \"%s\" har annan storlek\n"
-#: ldlang.c:1084
+#: ldlang.c:936
msgid "%P%F: Failed to create hash table\n"
msgstr "%P%F: Misslyckades med att skapa hashtabell\n"
-#: ldlang.c:1503
+#: ldlang.c:1351
msgid "%B: file not recognized: %E\n"
msgstr "%B: filen inte igenkänd: %E\n"
-#: ldlang.c:1504
+#: ldlang.c:1352
msgid "%B: matching formats:"
msgstr "%B: matchande format:"
-#: ldlang.c:1511
+#: ldlang.c:1359
msgid "%F%B: file not recognized: %E\n"
msgstr "%F%B: filen inte igenkänd: %E\n"
-#: ldlang.c:1567
+#: ldlang.c:1418
msgid "%F%B: member %B in archive is not an object\n"
msgstr "%F%B: medlem %B i arkivet är inte ett objekt\n"
-#: ldlang.c:1578 ldlang.c:1592
+#: ldlang.c:1429 ldlang.c:1443
msgid "%F%B: could not read symbols: %E\n"
msgstr "%F%B: kunde inte läsa symboler: %E\n"
-#: ldlang.c:1853
+#: ldlang.c:1698
msgid "%P: warning: could not find any targets that match endianness requirement\n"
msgstr "%P: varning: kunde inte hitta några mål som matchar kravet på endianess\n"
-#: ldlang.c:1866
+#: ldlang.c:1711
msgid "%P%F: target %s not found\n"
msgstr "%P%F: målet %s hittades inte\n"
-#: ldlang.c:1868
+#: ldlang.c:1713
msgid "%P%F: cannot open output file %s: %E\n"
msgstr "%P%F: kan inte öppna utdatafilen %s: %E\n"
-#: ldlang.c:1878
+#: ldlang.c:1723
msgid "%P%F:%s: can not make object file: %E\n"
msgstr "%P%F:%s: kan inte skapa objektfilen: %E\n"
-#: ldlang.c:1882
+#: ldlang.c:1727
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr "%P%F:%s: kan inte ställa in arkitektur: %E\n"
-#: ldlang.c:1886
+#: ldlang.c:1731
msgid "%P%F: can not create link hash table: %E\n"
msgstr "%P%F: kan inte skapa hashtabell över länkar: %E\n"
-#: ldlang.c:2235
+#: ldlang.c:2069
msgid " load address 0x%V"
msgstr " inläsningsadress 0x%V"
-#: ldlang.c:2375
+#: ldlang.c:2204
msgid "%W (size before relaxing)\n"
msgstr "%W (storlek innan avslappning)\n"
-#: ldlang.c:2462
+#: ldlang.c:2288
#, c-format
msgid "Address of section %s set to "
msgstr "Adressen på sektionen %s ställd till "
-#: ldlang.c:2623
+#: ldlang.c:2443
#, c-format
msgid "Fail with %d\n"
msgstr "Misslyckas med %d\n"
-#: ldlang.c:2868
+#: ldlang.c:2683
msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"
msgstr "%X%P: sektionen %s [%V -> %V] överlappar med sektionen %s [%V -> %V]\n"
-#: ldlang.c:2897
+#: ldlang.c:2711
msgid "%X%P: address 0x%v of %B section %s is not within region %s\n"
msgstr "%X%P: adressen 0x%v i %B-sektionen %s är inte inom området %s\n"
-#: ldlang.c:2905
+#: ldlang.c:2719
msgid "%X%P: region %s is full (%B section %s)\n"
msgstr "%X%P: området %s är fullt (%B-sektion %s)\n"
-#: ldlang.c:2955
+#: ldlang.c:2770
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr "%P%X: Internt fel i delat COFF-bibliotek sektion %s\n"
-#: ldlang.c:2999
-msgid "%P: warning: no memory region specified for section `%s'\n"
-msgstr "%P: varning: inget minnesområde angivet för sektionen \"%s\"\n"
+#: ldlang.c:2826
+msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
+msgstr "%P%F: fel: inget minnesområde angivet för inläsbara sektionen \"%s\"\n"
-#: ldlang.c:3014
+#: ldlang.c:2830
+msgid "%P: warning: no memory region specified for loadable section `%s'\n"
+msgstr "%P: varning: inget minnesområde angivet för inläsbara sektionen \"%s\"\n"
+
+#: ldlang.c:2846
msgid "%P: warning: changing start of section %s by %u bytes\n"
msgstr "%P: varning: ändrar start på sektionen %s med %u byte\n"
-#: ldlang.c:3028
+#: ldlang.c:2859
+#, c-format
msgid "%F%S: non constant address expression for section %s\n"
msgstr "%F%S: ickekonstant adressuttryck för sektionen %s\n"
-#: ldlang.c:3203
+#: ldlang.c:3036
msgid "%P%F: can't relax section: %E\n"
msgstr "%P%F: kan inte slappna av sektion: %E\n"
-#: ldlang.c:3398
+#: ldlang.c:3232
msgid "%F%P: invalid data statement\n"
msgstr "%F%P: ogiltig datasats\n"
-#: ldlang.c:3435
+#: ldlang.c:3269
msgid "%F%P: invalid reloc statement\n"
msgstr "%F%P: ogiltig omlokaliseringssats\n"
-#: ldlang.c:3574
+#: ldlang.c:3408
msgid "%P%F:%s: can't set start address\n"
msgstr "%P%F:%s: kan inte ställa in startadress\n"
-#: ldlang.c:3587 ldlang.c:3605
+#: ldlang.c:3421 ldlang.c:3439
msgid "%P%F: can't set start address\n"
msgstr "%P%F: kan inte ställa in startadress\n"
-#: ldlang.c:3599
+#: ldlang.c:3433
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr "%P: varning: kan inte hitta ingångssymbolen %s; använder som standard %V\n"
-#: ldlang.c:3610
+#: ldlang.c:3444
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr "%P: varning: kan inte hitta ingångssymbolen %s; ställer inte in startadress\n"
-#: ldlang.c:3660
+#: ldlang.c:3488
msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"
msgstr "%P%F: Omlokaliseringsbar länkning med omlänkningar från formatet %s (%B) till formatet %s (%B) stöds inte\n"
-#: ldlang.c:3669
+#: ldlang.c:3497
msgid "%P: warning: %s architecture of input file `%B' is incompatible with %s output\n"
msgstr "%P: varning: %s-arkitekturen i indatafilen \"%B\" är inkompatibel med %s-utdata\n"
-#: ldlang.c:3690
+#: ldlang.c:3518
msgid "%E%X: failed to merge target specific data of file %B\n"
msgstr "%E%X: misslyckades med att slå samman målspecifik data i filen %B\n"
-#: ldlang.c:3779
+#: ldlang.c:3604
msgid ""
"\n"
"Allocating common symbols\n"
@@ -691,7 +728,7 @@ msgstr ""
"\n"
"Allokerar gemensamma symboler\n"
-#: ldlang.c:3780
+#: ldlang.c:3605
msgid ""
"Common symbol size file\n"
"\n"
@@ -702,158 +739,158 @@ msgstr ""
#. This message happens when using the
#. svr3.ifile linker script, so I have
#. disabled it.
-#: ldlang.c:3858
+#: ldlang.c:3681
msgid "%P: no [COMMON] command, defaulting to .bss\n"
msgstr "%P: inget [COMMON]-kommando, använder standardalternativet .bss\n"
-#: ldlang.c:3917
+#: ldlang.c:3737
msgid "%P%F: invalid syntax in flags\n"
msgstr "%P%F: ogiltig syntax i flaggor\n"
-#: ldlang.c:4532
+#: ldlang.c:4325
msgid "%P%Fmultiple STARTUP files\n"
msgstr "%P%Fflera samtidiga STARTUP-filer\n"
-#: ldlang.c:4575
+#: ldlang.c:4368
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr "%X%P:%S: sektionen har både en inläsningsadress och ett minnesinläsningsområde\n"
-#: ldlang.c:4825
+#: ldlang.c:4608
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr "%F%P: bfd_record_phdr misslyckades: %E\n"
-#: ldlang.c:4844
+#: ldlang.c:4627
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr "%X%P: sektionen \"%s\" är tilldelad till ickexisterande phvd \"%s\"\n"
-#: ldlang.c:5143
+#: ldlang.c:4919
msgid "%X%P: unknown language `%s' in version information\n"
msgstr "%X%P: okänt språk i \"%s\" i versionsinformation\n"
-#: ldlang.c:5195
+#: ldlang.c:4969
msgid "%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr "%X%P: anonym versionstagg kan inte kombineras med andra versionstaggar\n"
-#: ldlang.c:5202
+#: ldlang.c:4977
msgid "%X%P: duplicate version tag `%s'\n"
msgstr "%X%P: dubbel versionstagg \"%s\"\n"
-#: ldlang.c:5215 ldlang.c:5228
+#: ldlang.c:4990 ldlang.c:5003
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr "%X%P: dubbelt uttryck \"%s\" i versionsinformation\n"
-#: ldlang.c:5270
+#: ldlang.c:5043
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr "%X%P: kan inte hitta versionsberoende \"%s\"\n"
-#: ldlang.c:5292
+#: ldlang.c:5065
msgid "%X%P: unable to read .exports section contents\n"
msgstr "%X%P: kan inte läsa innehållet i .exports-sektionen\n"
-#: ldmain.c:198
+#: ldmain.c:247
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr "%X%P: kan inte ställa in BSD-standardmålet till \"%s\": %E\n"
-#: ldmain.c:290
+#: ldmain.c:349
msgid "%P%F: -r and --mpc860c0 may not be used together\n"
msgstr "%P%F: -r och --mpc860c0 kan inte användas tillsammans\n"
-#: ldmain.c:292
+#: ldmain.c:351
msgid "%P%F: --relax and -r may not be used together\n"
msgstr "%P%F: --relax och -r kan inte användas tillsammans\n"
-#: ldmain.c:294
+#: ldmain.c:353
msgid "%P%F: -r and -shared may not be used together\n"
msgstr "%P%F: -r och -shared kan inte användas tillsammans\n"
-#: ldmain.c:300
+#: ldmain.c:359
msgid "%P%F: -F may not be used without -shared\n"
msgstr "%P%F: -F kan inte användas utan -shared\n"
-#: ldmain.c:302
+#: ldmain.c:361
msgid "%P%F: -f may not be used without -shared\n"
msgstr "%P%F: -f kan inte användas utan -shared\n"
-#: ldmain.c:341
+#: ldmain.c:403
msgid "using external linker script:"
msgstr "använder externt länkskript:"
-#: ldmain.c:343
+#: ldmain.c:405
msgid "using internal linker script:"
msgstr "använder internt länkskript:"
-#: ldmain.c:377
+#: ldmain.c:439
msgid "%P%F: no input files\n"
msgstr "%P%F: inga indatafiler\n"
-#: ldmain.c:382
+#: ldmain.c:443
msgid "%P: mode %s\n"
msgstr "%P: läge %s\n"
-#: ldmain.c:399
+#: ldmain.c:459
msgid "%P%F: cannot open map file %s: %E\n"
msgstr "%P%F: kan inte öppna tabellfil %s: %E\n"
-#: ldmain.c:432
+#: ldmain.c:489
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr "%P: länkfel hittades, tar bort den körbara filen \"%s\"\n"
-#: ldmain.c:443
+#: ldmain.c:498
msgid "%F%B: final close failed: %E\n"
msgstr "%F%B: avslutande stängning misslyckades: %E\n"
-#: ldmain.c:467
+#: ldmain.c:524
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr "%X%P: kan inte öppna för källkoden till kopian \"%s\"\n"
-#: ldmain.c:469
+#: ldmain.c:527
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr "%X%P: kan inte öppna för mål av kopian \"%s\"\n"
-#: ldmain.c:475
+#: ldmain.c:534
msgid "%P: Error writing file `%s'\n"
msgstr "%P: Fel vid skrivning av filen \"%s\"\n"
-#: ldmain.c:481 pe-dll.c:1463
+#: ldmain.c:539 pe-dll.c:1443
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr "%P: Fel vid stängning av filen \"%s\"\n"
-#: ldmain.c:498
+#: ldmain.c:555
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr "%s: total tid i länkning: %ld.%06ld\n"
-#: ldmain.c:501
+#: ldmain.c:558
#, c-format
msgid "%s: data size %ld\n"
msgstr "%s: datastorlek %ld\n"
-#: ldmain.c:542
+#: ldmain.c:596
msgid "%P%F: missing argument to -m\n"
msgstr "%P%F: argument saknas till -m\n"
-#: ldmain.c:670 ldmain.c:691 ldmain.c:722
+#: ldmain.c:741 ldmain.c:759 ldmain.c:789
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr "%P%F: bfd_hash_table_init misslyckades: %E\n"
-#: ldmain.c:675 ldmain.c:694
+#: ldmain.c:745 ldmain.c:763
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_hash_lookup misslyckades: %E\n"
-#: ldmain.c:709
+#: ldmain.c:777
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr "%X%P: fel: dubbel retain-symbols-file\n"
-#: ldmain.c:753
+#: ldmain.c:819
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr "%P%F: bfd_hash_lookup för ingång misslyckades: %E\n"
-#: ldmain.c:758
+#: ldmain.c:824
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr "%P: \"-retain-symbols-file\" åsidosätter \"-s\" och \"-S\"\n"
-#: ldmain.c:834
+#: ldmain.c:899
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
@@ -861,154 +898,155 @@ msgstr ""
"Arkivmedlem inkluderad på grund av fil (symbol)\n"
"\n"
-#: ldmain.c:905
+#: ldmain.c:969
msgid "%X%C: multiple definition of `%T'\n"
msgstr "%X%C: flera defintioner av \"%T\"\n"
-#: ldmain.c:908
+#: ldmain.c:972
msgid "%D: first defined here\n"
msgstr "%D: först definierad här\n"
-#: ldmain.c:912
+#: ldmain.c:976
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr "%P: Stänger av avslappning: det kommer inte att fungera med flera definitioner\n"
-#: ldmain.c:943
+#: ldmain.c:1006
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr "%B: varning: definitioner av \"%T\" åsidosätter gemensam\n"
-#: ldmain.c:946
+#: ldmain.c:1009
msgid "%B: warning: common is here\n"
msgstr "%B: varning: gemensam är här\n"
-#: ldmain.c:953
+#: ldmain.c:1016
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosattes av definition\n"
-#: ldmain.c:956
+#: ldmain.c:1019
msgid "%B: warning: defined here\n"
msgstr "%B: varning: definierad här\n"
-#: ldmain.c:963
+#: ldmain.c:1026
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosattes av större gemensam\n"
-#: ldmain.c:966
+#: ldmain.c:1029
msgid "%B: warning: larger common is here\n"
msgstr "%B: varning: större gemensam är här\n"
-#: ldmain.c:970
+#: ldmain.c:1033
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr "%B: varning: gemensam i \"%T\" åsidosätter mindre gemensam\n"
-#: ldmain.c:973
+#: ldmain.c:1036
msgid "%B: warning: smaller common is here\n"
msgstr "%B: varning: mindre gemensam är här\n"
-#: ldmain.c:977
+#: ldmain.c:1040
msgid "%B: warning: multiple common of `%T'\n"
msgstr "%B: varning: flera gemensamma i \"%T\"\n"
-#: ldmain.c:979
+#: ldmain.c:1042
msgid "%B: warning: previous common is here\n"
msgstr "%B: varning: föregående gemensam är här\n"
-#: ldmain.c:1000 ldmain.c:1039
+#: ldmain.c:1062 ldmain.c:1100
msgid "%P: warning: global constructor %s used\n"
msgstr "%P: varning: global konstruktor %s användes\n"
-#: ldmain.c:1049
+#: ldmain.c:1110
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr "%P%F: Fel i BFD-backend: BFD_RELOC_CTOR stöds inte\n"
-#: ldmain.c:1233
+#: ldmain.c:1287 ldmisc.c:533
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr "%F%P: bfd_hash_table_init misslyckades: %E\n"
-#: ldmain.c:1240
+#: ldmain.c:1294 ldmisc.c:540
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr "%F%P: bfd_hash_lookup misslyckades: %E\n"
-#: ldmain.c:1260
+#: ldmain.c:1314
msgid "%C: undefined reference to `%T'\n"
msgstr "%C: odefinierad referens till \"%T\"\n"
-#: ldmain.c:1266
+#: ldmain.c:1320
msgid "%D: more undefined references to `%T' follow\n"
msgstr "%D: flera odefinierade referenser till \"%T\" följer\n"
-#: ldmain.c:1273
+#: ldmain.c:1327
msgid "%B: undefined reference to `%T'\n"
msgstr "%B: odefinierad referens till \"%T\"\n"
-#: ldmain.c:1279
+#: ldmain.c:1333
msgid "%B: more undefined references to `%T' follow\n"
msgstr "%B: flera odefinierade referenser till \"%T\" följer\n"
-#: ldmain.c:1299 ldmain.c:1320 ldmain.c:1339
+#: ldmain.c:1364 ldmain.c:1392 ldmain.c:1410
msgid "%P%X: generated"
msgstr "%P%X: genererad"
-#: ldmain.c:1302
+#: ldmain.c:1371
+msgid " additional relocation overflows omitted from the output\n"
+msgstr " ytterligare omlokaliseringsspill utelämnade från utdatan\n"
+
+#: ldmain.c:1375
msgid " relocation truncated to fit: %s %T"
msgstr " omlokalisering trunkerad för att passa: %s %T"
-#: ldmain.c:1323
+#: ldmain.c:1395
#, c-format
msgid "dangerous relocation: %s\n"
msgstr "farlig omlokalisering: %s\n"
-#: ldmain.c:1342
+#: ldmain.c:1413
msgid " reloc refers to symbol `%T' which is not being output\n"
msgstr " omlokalisering refererar till symbolen \"%T\" som inte skrivs ut\n"
-#: ldmisc.c:157
+#: ldmisc.c:147
msgid "no symbol"
msgstr "ingen symbol"
-#: ldmisc.c:221
+#: ldmisc.c:211
#, c-format
msgid "built in linker script:%u"
msgstr "inbyggt länkskript:%u"
-#: ldmisc.c:271 ldmisc.c:275
+#: ldmisc.c:260 ldmisc.c:264
msgid "%B%F: could not read symbols\n"
msgstr "%B%F: kunde inte läsa symboler\n"
-#. We use abfd->filename in this initial line,
-#. in case filename is a .h file or something
-#. similarly unhelpful.
-#: ldmisc.c:311
-msgid "%B: In function `%T':\n"
-msgstr "%B: I funktionen \"%T\":\n"
+#: ldmisc.c:291
+msgid ": In function `%T':\n"
+msgstr ": I funktionen \"%T\":\n"
-#: ldmisc.c:463
+#: ldmisc.c:438
msgid "%F%P: internal error %s %d\n"
msgstr "%F%P: internt fel %s %d\n"
-#: ldmisc.c:513
+#: ldmisc.c:484
msgid "%P: internal error: aborting at %s line %d in %s\n"
msgstr "%P: internt fel: avbryter vid %s rad %d i %s\n"
-#: ldmisc.c:516
+#: ldmisc.c:487
msgid "%P: internal error: aborting at %s line %d\n"
msgstr "%P: internt fel: avbryter vid %s rad %d\n"
-#: ldmisc.c:518
+#: ldmisc.c:489
msgid "%P%F: please report this bug\n"
msgstr "%P%F: rapportera detta fel\n"
#. Output for noisy == 2 is intended to follow the GNU standards.
-#: ldver.c:38
+#: ldver.c:39
#, c-format
msgid "GNU ld version %s\n"
msgstr "GNU ld version %s\n"
-#: ldver.c:42
+#: ldver.c:43
msgid "Copyright 2002 Free Software Foundation, Inc.\n"
msgstr "Copyright 2002 Free Software Foundation, Inc.\n"
-#: ldver.c:43
+#: ldver.c:44
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License. This program has absolutely no warranty.\n"
@@ -1017,371 +1055,398 @@ msgstr ""
"villkoren i GNU General Public License. Detta program har ingen som\n"
"helst garanti.\n"
-#: ldver.c:52
+#: ldver.c:53
msgid " Supported emulations:\n"
msgstr " Emuleringar som stöds:\n"
-#: ldwrite.c:59 ldwrite.c:195
+#: ldwrite.c:54 ldwrite.c:190
msgid "%P%F: bfd_new_link_order failed\n"
msgstr "%P%F: bfd_new_link_order misslyckades\n"
-#: ldwrite.c:325
+#: ldwrite.c:310
msgid "%F%P: clone section failed: %E\n"
msgstr "%F%P: klonsektion misslyckades: %E\n"
-#: ldwrite.c:364
+#: ldwrite.c:348
#, c-format
msgid "%8x something else\n"
msgstr "%8x någonting annat\n"
-#: ldwrite.c:547
+#: ldwrite.c:525
msgid "%F%P: final link failed: %E\n"
msgstr "%F%P: avslutande länkning misslyckades: %E\n"
-#: lexsup.c:172 lexsup.c:267
+#: lexsup.c:179 lexsup.c:284
msgid "KEYWORD"
msgstr "NYCKELORD"
-#: lexsup.c:172
+#: lexsup.c:179
msgid "Shared library control for HP/UX compatibility"
msgstr "Styrning av delade bibliotek för kompatibilitet med HP/UX"
-#: lexsup.c:175
+#: lexsup.c:182
msgid "ARCH"
msgstr "ARK"
-#: lexsup.c:175
+#: lexsup.c:182
msgid "Set architecture"
msgstr "Ställ in arkitektur"
-#: lexsup.c:177 lexsup.c:336
+#: lexsup.c:184 lexsup.c:357
msgid "TARGET"
msgstr "MÅL"
-#: lexsup.c:177
+#: lexsup.c:184
msgid "Specify target for following input files"
msgstr "Ange mål för följande indatafiler"
-#: lexsup.c:179 lexsup.c:220 lexsup.c:232 lexsup.c:241 lexsup.c:312
-#: lexsup.c:343 lexsup.c:383
+#: lexsup.c:186 lexsup.c:229 lexsup.c:241 lexsup.c:254 lexsup.c:329
+#: lexsup.c:364 lexsup.c:408
msgid "FILE"
msgstr "FIL"
-#: lexsup.c:179
+#: lexsup.c:186
msgid "Read MRI format linker script"
msgstr "Läs länkskript i MRI-format"
-#: lexsup.c:181
+#: lexsup.c:188
msgid "Force common symbols to be defined"
msgstr "Tvinga gemensamma symboler att vara definierade"
-#: lexsup.c:185 lexsup.c:373 lexsup.c:375 lexsup.c:377
+#: lexsup.c:192 lexsup.c:398 lexsup.c:400 lexsup.c:402
msgid "ADDRESS"
msgstr "ADRESS"
-#: lexsup.c:185
+#: lexsup.c:192
msgid "Set start address"
msgstr "Ställ in startadress"
-#: lexsup.c:187
+#: lexsup.c:194
msgid "Export all dynamic symbols"
msgstr "Exportera alla dynamiska symboler"
-#: lexsup.c:189
+#: lexsup.c:196
msgid "Link big-endian objects"
msgstr "Länka objekt som är big-endian"
-#: lexsup.c:191
+#: lexsup.c:198
msgid "Link little-endian objects"
msgstr "Länka objekt som är little-endian"
-#: lexsup.c:193 lexsup.c:196
+#: lexsup.c:200 lexsup.c:203
msgid "SHLIB"
msgstr "DELBIBL"
-#: lexsup.c:193
+#: lexsup.c:200
msgid "Auxiliary filter for shared object symbol table"
msgstr "Yttre filter för symboltabell över delade objekt"
-#: lexsup.c:196
+#: lexsup.c:203
msgid "Filter for shared object symbol table"
msgstr "Filter för symboltabell över delade objekt"
-#: lexsup.c:198
+#: lexsup.c:205
msgid "Ignored"
msgstr "Ignorerad"
-#: lexsup.c:200
+#: lexsup.c:207
msgid "SIZE"
msgstr "STORLEK"
-#: lexsup.c:200
+#: lexsup.c:207
msgid "Small data size (if no size, same as --shared)"
msgstr "Liten datastorlek (om ingen storlek, samma som --shared)"
-#: lexsup.c:203
+#: lexsup.c:210
msgid "FILENAME"
msgstr "FILNAMN"
-#: lexsup.c:203
+#: lexsup.c:210
msgid "Set internal name of shared library"
msgstr "Ställ in internt namn på delat bibliotek"
-#: lexsup.c:205
+#: lexsup.c:212
msgid "PROGRAM"
msgstr "PROGRAM"
-#: lexsup.c:205
+#: lexsup.c:212
msgid "Set PROGRAM as the dynamic linker to use"
msgstr "Ställ in PROGRAM som den dynamiska länkare som ska användas"
-#: lexsup.c:207
+#: lexsup.c:214
msgid "LIBNAME"
msgstr "BIBLNAMN"
-#: lexsup.c:207
+#: lexsup.c:214
msgid "Search for library LIBNAME"
msgstr "Sök efter biblioteket BIBLNAMN"
-#: lexsup.c:209
+#: lexsup.c:216
msgid "DIRECTORY"
msgstr "KATALOG"
-#: lexsup.c:209
+#: lexsup.c:216
msgid "Add DIRECTORY to library search path"
msgstr "Lägg till KATALOG till bibliotekssökvägen"
-#: lexsup.c:211
+#: lexsup.c:218
msgid "EMULATION"
msgstr "EMULERING"
-#: lexsup.c:211
+#: lexsup.c:218
msgid "Set emulation"
msgstr "Ställ in emulering"
-#: lexsup.c:213
+#: lexsup.c:220
msgid "Print map file on standard output"
msgstr "Visa tabellfil på standard ut"
-#: lexsup.c:215
+#: lexsup.c:222
msgid "Do not page align data"
msgstr "Justera inte data efter jämna sidor"
-#: lexsup.c:217
+#: lexsup.c:224
msgid "Do not page align data, do not make text readonly"
msgstr "Justera inte data efter jämna sidor, gör inte texten endast läsbar"
-#: lexsup.c:220
+#: lexsup.c:227
+msgid "Page align data, make text readonly"
+msgstr "Sidjustera data, gör texten endast läsbar"
+
+#: lexsup.c:229
msgid "Set output file name"
msgstr "Ställ in utdatafilnamnet"
-#: lexsup.c:222
+#: lexsup.c:231
msgid "Optimize output file"
msgstr "Optimera utdatafil"
-#: lexsup.c:224
+#: lexsup.c:233
msgid "Ignored for SVR4 compatibility"
msgstr "Ignorerad för kompatibilitet med SVR4"
-#: lexsup.c:228
-msgid "Generate relocateable output"
+#: lexsup.c:237
+msgid "Generate relocatable output"
msgstr "Generera omlokaliseringsbar utdata"
-#: lexsup.c:232
+#: lexsup.c:241
msgid "Just link symbols (if directory, same as --rpath)"
msgstr "Länka bara symboler (om katalog, samma som --rpath)"
-#: lexsup.c:235
+#: lexsup.c:244
msgid "Strip all symbols"
msgstr "Ta bort alla symboler"
-#: lexsup.c:237
+#: lexsup.c:246
msgid "Strip debugging symbols"
msgstr "Ta bort felsökningssymboler"
-#: lexsup.c:239
+#: lexsup.c:248
+msgid "Strip symbols in discarded sections"
+msgstr "Ta bort symboler i kastade sektioner"
+
+#: lexsup.c:250
+msgid "Do not strip symbols in discarded sections"
+msgstr "Ta inte bort symboler i kastade sektioner"
+
+#: lexsup.c:252
msgid "Trace file opens"
msgstr "Spåra filöppningar"
-#: lexsup.c:241
+#: lexsup.c:254
msgid "Read linker script"
msgstr "Läs länkskript"
-#: lexsup.c:243 lexsup.c:259 lexsup.c:298 lexsup.c:310 lexsup.c:367
-#: lexsup.c:386 lexsup.c:406
+#: lexsup.c:256 lexsup.c:272 lexsup.c:315 lexsup.c:327 lexsup.c:392
+#: lexsup.c:411 lexsup.c:431
msgid "SYMBOL"
msgstr "SYMBOL"
-#: lexsup.c:243
+#: lexsup.c:256
msgid "Start with undefined reference to SYMBOL"
msgstr "Börja med odefinierad referens till SYMBOL"
-#: lexsup.c:245
+#: lexsup.c:258
msgid "[=SECTION]"
msgstr "[=SEKTION]"
-#: lexsup.c:245
+#: lexsup.c:258
msgid "Don't merge input [SECTION | orphan] sections"
msgstr "Slå inte samman [SEKTION | föräldralösa] sektioner"
-#: lexsup.c:247
+#: lexsup.c:260
msgid "Build global constructor/destructor tables"
msgstr "Bygg globala konstruktors-/destruktorstabeller"
-#: lexsup.c:249
+#: lexsup.c:262
msgid "Print version information"
msgstr "Visa versionsinformation"
-#: lexsup.c:251
+#: lexsup.c:264
msgid "Print version and emulation information"
msgstr "Visa versions- och emuleringsinformation"
-#: lexsup.c:253
+#: lexsup.c:266
msgid "Discard all local symbols"
msgstr "Kasta alla lokala symboler"
-#: lexsup.c:255
+#: lexsup.c:268
msgid "Discard temporary local symbols (default)"
msgstr "Kasta temporära lokala symboler (standard)"
-#: lexsup.c:257
+#: lexsup.c:270
msgid "Don't discard any local symbols"
msgstr "Kasta inte några lokala symboler"
-#: lexsup.c:259
+#: lexsup.c:272
msgid "Trace mentions of SYMBOL"
msgstr "Spåra omnämningar av SYMBOL"
-#: lexsup.c:261 lexsup.c:345 lexsup.c:347
+#: lexsup.c:274 lexsup.c:366 lexsup.c:368
msgid "PATH"
msgstr "SÖKVÄG"
-#: lexsup.c:261
+#: lexsup.c:274
msgid "Default search path for Solaris compatibility"
msgstr "Standardsökväg för Solaris-kompatibilitet"
-#: lexsup.c:263
+#: lexsup.c:276
msgid "Start a group"
msgstr "Starta en grupp"
-#: lexsup.c:265
+#: lexsup.c:278
msgid "End a group"
msgstr "Sluta en grupp"
-#: lexsup.c:267
+#: lexsup.c:280
+msgid "Accept input files whose architecture cannot be determined"
+msgstr "Acceptera indatafiler vars arkitektur inte kan avgöras"
+
+#: lexsup.c:282
+msgid "Reject input files whose architecture is unknown"
+msgstr "Avvisa indatafiler vars arkitektur är okänd"
+
+#: lexsup.c:284
msgid "Ignored for SunOS compatibility"
msgstr "Ignorerad för SunOS-kompatibilitet"
-#: lexsup.c:269
+#: lexsup.c:286
msgid "Link against shared libraries"
msgstr "Länka mot delade bibliotek"
-#: lexsup.c:275
+#: lexsup.c:292
msgid "Do not link against shared libraries"
msgstr "Länka inte mot delade bibliotek"
-#: lexsup.c:283
+#: lexsup.c:300
msgid "Bind global references locally"
msgstr "Bind globala referenser lokalt"
-#: lexsup.c:285
+#: lexsup.c:302
msgid "Check section addresses for overlaps (default)"
msgstr "Kontrollera sektionsadresser för överlappningar (standard)"
-#: lexsup.c:287
+#: lexsup.c:304
msgid "Do not check section addresses for overlaps"
msgstr "Kontrollera inte sektionsadresser för överlappningar"
-#: lexsup.c:290
+#: lexsup.c:307
msgid "Output cross reference table"
msgstr "Skapa korsreferenstabell"
-#: lexsup.c:292
+#: lexsup.c:309
msgid "SYMBOL=EXPRESSION"
msgstr "SYMBOL=UTTRYCK"
-#: lexsup.c:292
+#: lexsup.c:309
msgid "Define a symbol"
msgstr "Definiera en symbol"
-#: lexsup.c:294
+#: lexsup.c:311
msgid "[=STYLE]"
msgstr "[=STIL]"
-#: lexsup.c:294
+#: lexsup.c:311
msgid "Demangle symbol names [using STYLE]"
msgstr "Avkoda symbolnamn [använd STIL]"
-#: lexsup.c:296
+#: lexsup.c:313
msgid "Generate embedded relocs"
msgstr "Generera inbäddade omlokaliseringar"
-#: lexsup.c:298
+#: lexsup.c:315
msgid "Call SYMBOL at unload-time"
msgstr "Anropa SYMBOL vid urladdning"
-#: lexsup.c:300
+#: lexsup.c:317
msgid "Force generation of file with .exe suffix"
msgstr "Tvinga generering av fil med ändelsen .exe"
-#: lexsup.c:302
+#: lexsup.c:319
msgid "Remove unused sections (on some targets)"
msgstr "Ta bort oanvända sektioner (på vissa mål)"
-#: lexsup.c:305
+#: lexsup.c:322
msgid "Don't remove unused sections (default)"
msgstr "Ta inte bort oanvända sektioner (standard)"
-#: lexsup.c:308
+#: lexsup.c:325
msgid "Print option help"
msgstr "Visa hjälp om flaggor"
-#: lexsup.c:310
+#: lexsup.c:327
msgid "Call SYMBOL at load-time"
msgstr "Anropa SYMBOL vid inläsning"
-#: lexsup.c:312
+#: lexsup.c:329
msgid "Write a map file"
msgstr "Skriv en tabellfil"
-#: lexsup.c:314
+#: lexsup.c:331
msgid "Do not define Common storage"
msgstr "Definiera inte gemensam lagring"
-#: lexsup.c:316
+#: lexsup.c:333
msgid "Do not demangle symbol names"
msgstr "Avkoda inte symbolnamn"
-#: lexsup.c:318
+#: lexsup.c:335
msgid "Use less memory and more disk I/O"
msgstr "Använd mindre minne och mer disk-I/O"
-#: lexsup.c:320
+#: lexsup.c:337
msgid "Allow no undefined symbols"
msgstr "Tillåt inga odefinierade symboler"
-#: lexsup.c:322
-msgid "Allow undefined symbols in shared objects"
-msgstr "Tillåt odefinierade symboler i delade objekt"
+#: lexsup.c:339
+msgid "Allow undefined symbols in shared objects (the default)"
+msgstr "Tillåt odefinierade symboler i delade objekt (standardalternativet)"
+
+#: lexsup.c:341
+msgid "Do not allow undefined symbols in shared objects"
+msgstr "Tillåt inte odefinierade symboler i delade objekt"
-#: lexsup.c:324
+#: lexsup.c:343
msgid "Allow multiple definitions"
msgstr "Tillåt flera defintioner"
-# src/prefs.c:170
-#: lexsup.c:326
+#: lexsup.c:345
+msgid "Disallow undefined version"
+msgstr "Tillåt inte odefinierad version"
+
+#: lexsup.c:347
msgid "Don't warn about mismatched input files"
msgstr "Varna inte om opassande indatafiler"
-#: lexsup.c:328
+#: lexsup.c:349
msgid "Turn off --whole-archive"
msgstr "Slå av ---whole-archive"
-#: lexsup.c:330
+#: lexsup.c:351
msgid "Create an output file even if errors occur"
msgstr "Skapa en utdatafil även om fel förekommer"
-#: lexsup.c:334
+#: lexsup.c:355
msgid ""
"Only use library directories specified on\n"
"\t\t\t\tthe command line"
@@ -1389,107 +1454,111 @@ msgstr ""
"Använd endast bibliotekskataloger som anges\n"
"\t\t\t\tpå kommandoraden"
-#: lexsup.c:336
+#: lexsup.c:357
msgid "Specify target of output file"
msgstr "Ange mål för utdatafil"
-#: lexsup.c:338
+#: lexsup.c:359
msgid "Ignored for Linux compatibility"
msgstr "Ignorerad för kompatibilitet med Linux"
-#: lexsup.c:340
+#: lexsup.c:361
msgid "Relax branches on certain targets"
msgstr "Slappna av greningar på vissa mål"
-#: lexsup.c:343
+#: lexsup.c:364
msgid "Keep only symbols listed in FILE"
msgstr "Behåll endast symboler angivna i FIL"
-#: lexsup.c:345
+#: lexsup.c:366
msgid "Set runtime shared library search path"
msgstr "Ställ in körtidssökväg för delade bibliotek"
-#: lexsup.c:347
+#: lexsup.c:368
msgid "Set link time shared library search path"
msgstr "Ställ in länkningstidssökväg för delade bibliotek"
-#: lexsup.c:349
+#: lexsup.c:370
msgid "Create a shared library"
msgstr "Skapa ett delat bibliotek"
-#: lexsup.c:353
+#: lexsup.c:374
+msgid "Create a position independent executable"
+msgstr "Skapa en positionsoberoende körbar fil"
+
+#: lexsup.c:378
msgid "Sort common symbols by size"
msgstr "Sortera gemensamma symboler efter storlek"
-#: lexsup.c:357
+#: lexsup.c:382
msgid "COUNT"
msgstr "ANTAL"
-#: lexsup.c:357
+#: lexsup.c:382
msgid "How many tags to reserve in .dynamic section"
msgstr "Hur många taggar som ska reserveras i .dynamic-sektion"
-#: lexsup.c:359
+#: lexsup.c:384
msgid "[=SIZE]"
msgstr "[=STORLEK]"
-#: lexsup.c:359
+#: lexsup.c:384
msgid "Split output sections every SIZE octets"
msgstr "Dela utdatasektioner var STORLEK oktett"
-#: lexsup.c:361
+#: lexsup.c:386
msgid "[=COUNT]"
msgstr "[=ANTAL]"
-#: lexsup.c:361
+#: lexsup.c:386
msgid "Split output sections every COUNT relocs"
msgstr "Dela utdatasektioner var ANTAL omlokalisering"
-#: lexsup.c:363
+#: lexsup.c:388
msgid "Print memory usage statistics"
msgstr "Visa statistik över minnesanvändning"
-#: lexsup.c:365
+#: lexsup.c:390
msgid "Display target specific options"
msgstr "Visa målspecifika flaggor"
-#: lexsup.c:367
+#: lexsup.c:392
msgid "Do task level linking"
msgstr "Utför länkning på uppgiftsnivå"
-#: lexsup.c:369
+#: lexsup.c:394
msgid "Use same format as native linker"
msgstr "Använd samma format som inhemska länkaren"
-#: lexsup.c:371
+#: lexsup.c:396
msgid "SECTION=ADDRESS"
msgstr "SEKTION=ADRESS"
-#: lexsup.c:371
+#: lexsup.c:396
msgid "Set address of named section"
msgstr "Ställ in adress på namngiven sektion"
-#: lexsup.c:373
+#: lexsup.c:398
msgid "Set address of .bss section"
msgstr "Ställ in adress på .bss-sektion"
-#: lexsup.c:375
+#: lexsup.c:400
msgid "Set address of .data section"
msgstr "Ställ in adress på .data-sektion"
-#: lexsup.c:377
+#: lexsup.c:402
msgid "Set address of .text section"
msgstr "Ställ in adress på .text-sektion"
-#: lexsup.c:379
+#: lexsup.c:404
msgid "Output lots of information during link"
msgstr "Visa mycket information under länkning"
-#: lexsup.c:383
+#: lexsup.c:408
msgid "Read version information script"
msgstr "Läs skript med versionsinformation"
-#: lexsup.c:386
+#: lexsup.c:411
msgid ""
"Take export symbols list from .exports, using\n"
"\t\t\t\tSYMBOL as the version."
@@ -1497,43 +1566,43 @@ msgstr ""
"Plocka lista med exportsymboler från .exports och\n"
"\t\t\t\tanvänd SYMBOL som version."
-#: lexsup.c:389
+#: lexsup.c:414
msgid "Warn about duplicate common symbols"
msgstr "Varna för dubbla gemensamma symboler"
-#: lexsup.c:391
+#: lexsup.c:416
msgid "Warn if global constructors/destructors are seen"
msgstr "Varna om globala konstruktorer/destruktorer hittas"
-#: lexsup.c:394
+#: lexsup.c:419
msgid "Warn if the multiple GP values are used"
msgstr "Varna om flera GP-värden används"
-#: lexsup.c:396
+#: lexsup.c:421
msgid "Warn only once per undefined symbol"
msgstr "Varna endast en gång per odefinierad symbol"
-#: lexsup.c:398
+#: lexsup.c:423
msgid "Warn if start of section changes due to alignment"
msgstr "Varna om början på sektionen ändras på grund av justering"
-#: lexsup.c:401
+#: lexsup.c:426
msgid "Treat warnings as errors"
msgstr "Behandla varningar som fel"
-#: lexsup.c:404
+#: lexsup.c:429
msgid "Include all objects from following archives"
msgstr "Inkludera alla objekt från följande arkiv"
-#: lexsup.c:406
+#: lexsup.c:431
msgid "Use wrapper functions for SYMBOL"
msgstr "Använd inkapslingsfunktioner för SYMBOL"
-#: lexsup.c:408
+#: lexsup.c:433
msgid "[=WORDS]"
msgstr "[=ORD]"
-#: lexsup.c:408
+#: lexsup.c:433
msgid ""
"Modify problematic branches in last WORDS (1-10,\n"
"\t\t\t\tdefault 5) words of a page"
@@ -1541,27 +1610,27 @@ msgstr ""
"Ändra problematiska greningar i sista ORD (1-10,\n"
"\t\t\t\tstandardvärde 5) orden på en sida"
-#: lexsup.c:574
+#: lexsup.c:602
msgid "%P: unrecognized option '%s'\n"
msgstr "%P: okänd flagga \"%s\"\n"
-#: lexsup.c:576
+#: lexsup.c:604
msgid "%P%F: use the --help option for usage information\n"
msgstr "%P%F: använd flaggan --help för användningsinformation\n"
-#: lexsup.c:595
+#: lexsup.c:622
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr "%P%F: okänd -a-flagga \"%s\"\n"
-#: lexsup.c:608
+#: lexsup.c:635
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr "%P%F: okänd -assert-flagga \"%s\"\n"
-#: lexsup.c:651
+#: lexsup.c:678
msgid "%F%P: unknown demangling style `%s'"
msgstr "%F%P: okänd avkodningsstil \"%s\""
-#: lexsup.c:711
+#: lexsup.c:737
msgid "%P%F: invalid number `%s'\n"
msgstr "%P%F: ogiltigt tal \"%s\"\n"
@@ -1573,134 +1642,155 @@ msgstr "%P%F: ogiltigt tal \"%s\"\n"
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:812
+#: lexsup.c:849
msgid "%P%F: bad -rpath option\n"
msgstr "%P%F: okänd -rpath-flagga\n"
-#: lexsup.c:910
+#: lexsup.c:953
msgid "%P%F: -shared not supported\n"
msgstr "%P%F: -shared stöds inte\n"
-#: lexsup.c:942
+#: lexsup.c:962
+msgid "%P%F: -pie not supported\n"
+msgstr "%P%F: -pie stöds inte\n"
+
+#: lexsup.c:994
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr "%P%F: ogiltigt argument till flaggan \"--section-start\"\n"
-#: lexsup.c:948
+#: lexsup.c:1000
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr "%P%F: argument saknas till flaggan \"--section-start\"\n"
-#: lexsup.c:1097
+#: lexsup.c:1158
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr "%P%F: får inte nästla grupper (--help för användning)\n"
-#: lexsup.c:1104
+#: lexsup.c:1165
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr "%P%F: gruppen slutade innan den började (--help för användning)\n"
-#: lexsup.c:1118
+#: lexsup.c:1179
msgid "%P%F: invalid argument to option \"mpc860c0\"\n"
msgstr "%P%F: ogiltigt argument till flaggan \"mpc860c0\"\n"
-#: lexsup.c:1173
+#: lexsup.c:1234
msgid "%P%F: invalid hex number `%s'\n"
msgstr "%P%F: ogiltigt hexadecimalt tal \"%s\"\n"
-#: lexsup.c:1185
+#: lexsup.c:1246
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Användning: %s [flaggor] fil...\n"
-#: lexsup.c:1187
+#: lexsup.c:1248
msgid "Options:\n"
msgstr "Alternativ:\n"
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1270
+#: lexsup.c:1331
#, c-format
msgid "%s: supported targets:"
msgstr "%s: mål som stöds:"
-#: lexsup.c:1278
+#: lexsup.c:1339
#, c-format
msgid "%s: supported emulations: "
msgstr "%s: emuleringar som stöds: "
-#: lexsup.c:1283
+#: lexsup.c:1344
#, c-format
msgid "%s: emulation specific options:\n"
msgstr "%s: emuleringsspecifika flaggor:\n"
-#: lexsup.c:1287
+#: lexsup.c:1348
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Rapportera fel till %s\n"
"Rapportera fel i översättningen till sv@li.org\n"
-#: mri.c:334
+#: mri.c:307
msgid "%P%F: unknown format type %s\n"
msgstr "%P%F: okänd formattyp %s\n"
-#: pe-dll.c:321
+#: pe-dll.c:301
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr "%XPEI-arkitekturen stöds inte: %s\n"
-#: pe-dll.c:671
+#: pe-dll.c:650
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr "%XFel, dubbel EXPORT med ordinaler: %s (%d gentemot %d)\n"
-#: pe-dll.c:678
+#: pe-dll.c:657
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr "Varning, dubbel EXPORT: %s\n"
-#: pe-dll.c:742
+#: pe-dll.c:723
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr "%XKan inte exportera %s: symbolen är inte definierad\n"
-#: pe-dll.c:748
+#: pe-dll.c:729
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr "%XKan inte exportera %s: symbolen är av fel typ (%d gentemot %d)\n"
-#: pe-dll.c:755
+#: pe-dll.c:736
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr "%XKan inte exportera %s: symbolen hittades inte\n"
-#: pe-dll.c:870
+#: pe-dll.c:848
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr "%XFel, ordinalen användes två gånger: %d (%s gentemot %s)\n"
-#: pe-dll.c:1181
+#: pe-dll.c:1165
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr "%XFel: %d-bitars omlokalisering i dll\n"
-#: pe-dll.c:1316
+#: pe-dll.c:1296
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr "%s: Kan inte öppna utdatadefinitionsfilen %s\n"
-#: pe-dll.c:1459
+#: pe-dll.c:1439
msgid "; no contents available\n"
msgstr "; inget innehåll är tillgängligt\n"
-#: pe-dll.c:2128
+#: pe-dll.c:2203
+msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
+msgstr "%C: variabeln \"%T\" kan inte importeras automatiskt. Läs dokumentationen för ld:s --enable-auto-import för detaljer.\n"
+
+#: pe-dll.c:2233
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr "%XKan inte öppna .lib-filen: %s\n"
-#: pe-dll.c:2133
+#: pe-dll.c:2238
#, c-format
msgid "Creating library file: %s\n"
msgstr "Skapar biblioteksfil: %s\n"
+#~ msgid ""
+#~ " --enable-auto-import Do sophisticated linking of _sym to\n"
+#~ " __imp_sym for DATA references\n"
+#~ msgstr ""
+#~ " --enable-auto-import Utför sofistikerad länkning av _sym till\n"
+#~ " __imp_sym för DATA-referenser\n"
+
+#~ msgid "%B: In function `%T':\n"
+#~ msgstr "%B: I funktionen \"%T\":\n"
+
+#~ msgid "Allow undefined symbols in shared objects"
+#~ msgstr "Tillåt odefinierade symboler i delade objekt"
+
#~ msgid " create __imp_<SYMBOL> as well.\n"
#~ msgstr " skapa även __imp_<SYMBOL>.\n"
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 187a289..63551a2 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -264,6 +264,7 @@ cat <<EOF
{
${RELOCATING+${TEXT_START_SYMBOLS}}
*(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
+ KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
${RELOCATING+${OTHER_TEXT_SECTIONS}}
@@ -311,13 +312,14 @@ cat <<EOF
{
${RELOCATING+${DATA_START_SYMBOLS}}
*(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
+ KEEP (*(.gnu.linkonce.d.*personality*))
${CONSTRUCTING+SORT(CONSTRUCTORS)}
}
.data1 ${RELOCATING-0} : { *(.data1) }
.tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
.tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
.eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
- .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
+ .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
${WRITABLE_RODATA+${RODATA}}
${OTHER_READWRITE_SECTIONS}
${TEXT_DYNAMIC-${DYNAMIC}}
diff --git a/ld/scripttempl/elf32cr16c.sc b/ld/scripttempl/elf32cr16c.sc
new file mode 100644
index 0000000..b02edfd
--- /dev/null
+++ b/ld/scripttempl/elf32cr16c.sc
@@ -0,0 +1,52 @@
+# Linker Script for National Semiconductor's CR16C-ELF32.
+
+test -z "$ENTRY" && ENTRY=_start
+cat <<EOF
+
+/* Example Linker Script for linking NS CR16C or CR16CPlus
+ elf32 files, which were compiled with either the near data
+ model or the default data model. */
+
+/* Force the entry point to be entered in the output file as
+ an undefined symbol. This is needed in case the entry point
+ (which is not called explicitly) is in an archive (which is
+ the usual case). */
+
+EXTERN(${ENTRY})
+
+ENTRY(${ENTRY})
+
+MEMORY
+{
+ near_rom : ORIGIN = 0x4, LENGTH = 512K - 4
+ near_ram : ORIGIN = 512K, LENGTH = 512K - 64K
+ rom : ORIGIN = 1M, LENGTH = 3M
+ ram : ORIGIN = 4M, LENGTH = 10M
+}
+
+SECTIONS
+{
+/* The heap is located in near memory, to suit both the near and
+ default data models. The heap and stack are aligned to the bus
+ width, as a speed optimization for accessing data located
+ there. The alignment to 4 bytes is compatible for both the CR16C
+ bus width (2 bytes) and CR16CPlus bus width (4 bytes). */
+
+ .text : { __TEXT_START = .; *(.text) __TEXT_END = .; } > rom
+ .rdata : { __RDATA_START = .; *(.rdata_4) *(.rdata_2) *(.rdata_1) __RDATA_END = .; } > near_rom
+ .ctor ALIGN(4) : { __CTOR_LIST = .; *(.ctors) __CTOR_END = .; } > near_rom
+ .dtor ALIGN(4) : { __DTOR_LIST = .; *(.dtors) __DTOR_END = .; } > near_rom
+ .data : { __DATA_START = .; *(.data_4) *(.data_2) *(.data_1) *(.data) __DATA_END = .; } > ram AT > rom
+ .bss (NOLOAD) : { __BSS_START = .; *(.bss_4) *(.bss_2) *(.bss_1) *(.bss) *(COMMON) __BSS_END = .; } > ram
+ .nrdata : { __NRDATA_START = .; *(.nrdat_4) *(.nrdat_2) *(.nrdat_1) __NRDATA_END = .; } > near_rom
+ .ndata : { __NDATA_START = .; *(.ndata_4) *(.ndata_2) *(.ndata_1) __NDATA_END = .; } > near_ram AT > rom
+ .nbss (NOLOAD) : { __NBSS_START = .; *(.nbss_4) *(.nbss_2) *(.nbss_1) *(.ncommon) __NBSS_END = .; } > near_ram
+ .heap : { . = ALIGN(4); __HEAP_START = .; . += 0x2000; __HEAP_MAX = .; } > near_ram
+ .stack : { . = ALIGN(4); . += 0x6000; __STACK_START = .; } > ram
+ .istack : { . = ALIGN(2); . += 0x100; __ISTACK_START = .; } > ram
+}
+
+__DATA_IMAGE_START = LOADADDR(.data);
+__NDATA_IMAGE_START = LOADADDR(.ndata);
+
+EOF
diff --git a/ld/scripttempl/mips.sc b/ld/scripttempl/mips.sc
index d60aeed..972351f 100644
--- a/ld/scripttempl/mips.sc
+++ b/ld/scripttempl/mips.sc
@@ -29,9 +29,6 @@ SECTIONS
*(.init)
${RELOCATING+ eprol = .};
*(.text)
- ${RELOCATING+PROVIDE (__runtime_reloc_start = .);}
- *(.rel.sdata)
- ${RELOCATING+PROVIDE (__runtime_reloc_stop = .);}
*(.fini)
${RELOCATING+ etext = .};
${RELOCATING+ _etext = .};
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index da09eb4..60d4ed1 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -58,9 +58,9 @@ SECTIONS
*(.glue_7t)
*(.glue_7)
${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
- LONG (-1); *(SORT(.ctors.*)); *(.ctors); *(.ctor); LONG (0); }
+ LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); }
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
- LONG (-1); *(SORT(.dtors.*)); *(.dtors); *(.dtor); LONG (0); }
+ LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); }
${RELOCATING+ *(.fini)}
/* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)}
@@ -159,13 +159,91 @@ SECTIONS
.stab ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
- [ .stab ]
+ *(.stab)
}
.stabstr ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
- [ .stabstr ]
+ *(.stabstr)
}
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section. Unlike other targets that fake this by putting the
+ section VMA at 0, the PE format will not allow it. */
+
+ /* DWARF 1.1 and DWARF 2. */
+ .debug_aranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_aranges)
+ }
+
+ .debug_pubnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_pubnames)
+ }
+
+ /* DWARF 2. */
+ .debug_info ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_info) *(.gnu.linkonce.wi.*)
+ }
+
+ .debug_abbrev ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_abbrev)
+ }
+
+ .debug_line ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_line)
+ }
+
+ .debug_frame ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_frame)
+ }
+
+ .debug_str ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_str)
+ }
+
+ .debug_loc ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_loc)
+ }
+
+ .debug_macinfo ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_macinfo)
+ }
+
+ /* SGI/MIPS DWARF 2 extensions. */
+ .debug_weaknames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_weaknames)
+ }
+
+ .debug_funcnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_funcnames)
+ }
+
+ .debug_typenames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_typenames)
+ }
+
+ .debug_varnames ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_varnames)
+ }
+
+ /* DWARF 3. */
+ .debug_ranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
+ {
+ *(.debug_ranges)
+ }
}
EOF
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 807c08b..5a89dca 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,161 @@
+2004-04-24 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-elf/merge.d: XFAIL on all MIPS targets.
+
+2004-04-24 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-powerpc/tlsexe32.d: Update.
+ * ld-powerpc/tlsso32.d: Update.
+
+2004-04-23 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-mips-elf/reloc-3-r.d: Remove, as part of MIPS -membedded-pic
+ removal.
+ * ld-mips-elf/reloc-3-srec.d: Likewise.
+ * ld-mips-elf/reloc-3.ld: Likewise.
+ * ld-mips-elf/reloc-3a.s: Likewise.
+ * ld-mips-elf/reloc-3b.s: Likewise.
+ * ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
+
+2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * ld-sh/tlsbin-1.d: Update
+ * ld-sh/tlspic-1.d: Update.
+
+2004-04-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/tlspic.dd: Updated.
+
+2004-04-21 Chris Demetriou <cgd@broadcom.com>
+
+ * ld-empic/run.c: Removed as part of MIPS --embedded-relocs removal.
+ * ld-empic/empic.exp: Likewise.
+ * ld-empic/relax.t: Likewise.
+ * ld-empic/relax1.c: Likewise.
+ * ld-empic/relax2.c: Likewise.
+ * ld-empic/relax3.c: Likewise.
+ * ld-empic/relax4.c: Likewise.
+ * ld-empic/runtest1.c: Likewise.
+ * ld-empic/runtest2.c: Likewise.
+ * ld-empic/runtesti.s: Likewise.
+ * ld-mips-elf/empic1-ln.d: Likewise.
+ * ld-mips-elf/empic1-lp.d: Likewise.
+ * ld-mips-elf/empic1-mn.d: Likewise.
+ * ld-mips-elf/empic1-mp.d: Likewise.
+ * ld-mips-elf/empic1-ref.s: Likewise.
+ * ld-mips-elf/empic1-sn.d: Likewise.
+ * ld-mips-elf/empic1-sp.d: Likewise.
+ * ld-mips-elf/empic1-space.s: Likewise.
+ * ld-mips-elf/empic1-tgt.s: Likewise.
+ * ld-mips-elf/empic2-fwd-0.d: Likewise.
+ * ld-mips-elf/empic2-fwd-1.d: Likewise.
+ * ld-mips-elf/empic2-fwd-tgt.s: Likewise.
+ * ld-mips-elf/empic2-ref.s: Likewise.
+ * ld-mips-elf/empic2-rev-0.d: Likewise.
+ * ld-mips-elf/empic2-rev-1.d: Likewise.
+ * ld-mips-elf/empic2-rev-tgt.s: Likewise.
+ * ld-mips-elf/empic2-space.s: Likewise.
+ * ld-mips-elf/emrelocs-eb.d: Likewise.
+ * ld-mips-elf/emrelocs-el.d: Likewise.
+ * ld-mips-elf/emrelocs.ld: Likewise.
+ * ld-mips-elf/emrelocs1.s: Likewise.
+ * ld-mips-elf/emrelocs2.s: Likewise.
+ * ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
+
+2004-04-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elfweak/elfweak.exp: Add an undefined weak size change
+ test.
+
+ * ld-elfweak/size.dat: New file.
+ * ld-elfweak/size_bar.c: Likewise.
+ * ld-elfweak/size_foo.c: Likewise.
+ * ld-elfweak/size_main.c: Likewise.
+
+2004-04-14 Brian Ford <ford@vss.fsi.com>
+ DJ Delorie <dj@redhat.com>
+
+ * ld-pe/pe.exp: New, tests for i?86 PE.
+ * ld-pe/secrel1.s: New, test R_SECREL32 reloc.
+ * ld-pe/secrel2.s: Likewise.
+ * ld-pe/secrel.d: Likewise.
+
+2004-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ld-elfvsb/elfvsb.exp: XFAIL some tests on sparc64.
+ * ld-shared/shared.exp: Likewise.
+
+2004-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-scripts/assert.s: Add a newline.
+ * ld-scripts/data.s: Likewise.
+
+2004-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ PR 47.
+ * ld-cdtest/cdtest.exp: Remove -fgnu-linker.
+
+2004-04-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/align.exp: Don't run on aix.
+ * ld-scripts/assert.s: Remove comment.
+ * ld-scripts/data.s: Likewise.
+ * ld-scripts/data.t: Set start address to allow for aout headers.
+ Make first LONG pc-relative.
+ * ld-scripts/data.d: Update.
+ * ld-scripts/defined2.d: Allow other random syms.
+ * ld-scripts/defined3.d: Likewise.
+ * ld-scripts/provide-1.s: Pad section.
+ * ld-scripts/provide-1.t: Set .data address and align.
+ * ld-scripts/provide-1.d: Update.
+ * ld-scripts/provide-2.s: Pad section.
+ * ld-scripts/provide-2.d: Allow random trailing syms.
+ * ld-scripts/provide-3.s: Pad section.
+ * ld-scripts/provide-3.d: Fix typos.
+ * ld-scripts/provide.exp: Don't run on aix.
+ * ld-scripts/size-1.s: Simplify test.
+ * ld-scripts/size-1.t: Rewrite.
+ * ld-scripts/size-1.d: Update.
+ * ld-scripts/size-2.s: Simplify.
+ * ld-scripts/size-2.t: Set start address. Set exe flag on image.
+ * ld-scripts/size-2.d: Update.
+ * ld-scripts/size.exp: Don't run on aix. Run size-2 on all elf
+ targets except mips.
+
+2004-03-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-frv/fdpic*.d: Adjust to compensate for page size change.
+
+2004-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-powerpc/tlsexe.r: Update for changed sym type.
+ * ld-powerpc/tlsexetoc.r: Likewise.
+
+2004-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
+ ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.
+
+2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elfvers/vers.exp: Add new tests for versioned weak
+ definition.
+
+ * ld-elfvers/vers28a.c: New file.
+ * ld-elfvers/vers28a.dsym: Likewise.
+ * ld-elfvers/vers28a.ver: Likewise.
+ * ld-elfvers/vers28b.c: Likewise.
+ * ld-elfvers/vers28b.dsym: Likewise.
+ * ld-elfvers/vers28b.map: Likewise.
+ * ld-elfvers/vers28b.ver: Likewise.
+ * ld-elfvers/vers28c.c: Likewise.
+ * ld-elfvers/vers28c.dsym: Likewise.
+ * ld-elfvers/vers28c.ver: Likewise.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/provide-2.d: Ignore random symbols.
+
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/tls.d: Update.
@@ -12,14 +170,43 @@
2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
+ * ld-scripts/size-1.d: Add bigendian regexps.
+ * ld-scripts/size-2.d: Set --wide for readelf.
+
* ld-scripts/size.exp: New.
* ld-scripts/size-[12].{d,s,t}: New.
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * ld-frv/fr450-link[abc].s, fr450-link.d: New test.
+ * ld-frv/frv.exp: New harness.
+
+2004-02-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-frv/fdpic-pie-2.d: Adjust for decay of FUNCDESC relocs that
+ bind locally.
+ * ld-frv/fdpic-pie-8.d: Likewise.
+ * ld-frv/fdpic-shared-4.d: Likewise.
+ * ld-frv/fdpic-pie-6-fail.d: Renamed from...
+ * ld-frv/fdpic-pie-6.d: New test.
+ * ld-frv/fdpic-shared-6-fail.d: Renamed from...
+ * ld-frv/fdpic-shared-6.d: New test.
+ * ld-frv/fdpic6.ldv: New.
+ * ld-frv/fdpic-static-6.d: Adjust test name.
+ * ld-frv/fdpic-pie-8-fail.d: Removed.
+ * ld-frv/fdpic.exp: Run new tests.
+
2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/provide.exp: New.
* ld-scripts/provide-{1,2,3}.{s,t,d}.exp: New.
+2004-02-23 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-scripts/data.t: Set ".other" address so location doesn't
+ depend on target alignment.
+ * ld-scripts/data.d: Update.
+
2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
* ld-scripts/align.{s,t,exp}: New.
diff --git a/ld/testsuite/ld-cdtest/cdtest.exp b/ld/testsuite/ld-cdtest/cdtest.exp
index 1c51f0d..d6a646a 100644
--- a/ld/testsuite/ld-cdtest/cdtest.exp
+++ b/ld/testsuite/ld-cdtest/cdtest.exp
@@ -35,9 +35,9 @@ if { [which $CXX] == 0 } {
return
}
-if { ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
- || ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
- || ![ld_compile "$CXX $CXXFLAGS -fgnu-linker -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
+if { ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
+ || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
+ || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
unresolved $test1
unresolved $test2
return
diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d
index 4038cc8..192e8a2 100644
--- a/ld/testsuite/ld-elf/merge.d
+++ b/ld/testsuite/ld-elf/merge.d
@@ -3,7 +3,7 @@
#objdump: -s
#xfail: "arc-*-*" "avr-*-*" "cris-*-*" "dlx-*-*" "fr30-*-*" "frv-*-*"
#xfail: "hppa*-*-*" "h8300-*-*" "i960-*-*" "ip2k-*-*" "m32r-*-*" "mcore-*-*"
-#xfail: "mn10*-*-*" "mips64*-*-linux*" "openrisc-*-*" "pj-*-*" "sparc*-*-*"
+#xfail: "mn10*-*-*" "mips*-*-*" "openrisc-*-*" "pj-*-*" "sparc*-*-*"
#xfail: "xtensa-*-*"
.*: file format .*elf.*
diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp
index 47be40e..a9b3778 100644
--- a/ld/testsuite/ld-elfvers/vers.exp
+++ b/ld/testsuite/ld-elfvers/vers.exp
@@ -938,3 +938,9 @@ build_vers_lib_pic "vers27d2" vers27d2.c vers27d2 "" "" vers27b.ver vers27b.dsym
build_executable "vers27d3" vers27d3.c vers27d3 "vers27b.o vers27d2.so vers27d1.so" "" vers27b.ver vers27b.dsym ""
build_vers_lib_pic "vers27d4" vers27d2.c vers27d4 "vers27a.so" "" vers27d4.ver vers27d4.dsym ""
build_executable "vers27d5" vers27d3.c vers27d5 "vers27d4.so vers27b.o vers27a.so" "" vers27b.ver vers27b.dsym ""
+
+# Test weak versioned definition vs. strong definition in different
+# files.
+build_vers_lib_pic "vers28a" vers28a.c vers28a "" "" vers28a.ver vers28a.dsym ""
+build_vers_lib_pic "vers28b" vers28b.c vers28b "" vers28b.map vers28b.ver vers28b.dsym ""
+build_vers_lib_pic "vers28c" vers28c.c vers28c "vers28b.so vers28a.so" "" vers28c.ver vers28c.dsym ""
diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp
index f1f3f1f..cd7c15f 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -1,5 +1,5 @@
# Expect script for ld-visibility tests
-# Copyright 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright 2000, 2001, 2003, 2004 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
@@ -261,6 +261,9 @@ proc visibility_run {visibility} {
&& ![ string match $visibility "hidden_undef_def" ]
&& ![ string match $visibility "protected_undef" ] } {
setup_xfail "s390x-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
@@ -289,6 +292,9 @@ proc visibility_run {visibility} {
|| [ string match $visibility "protected_weak" ]
|| [ string match $visibility "normal" ] } {
setup_xfail "powerpc-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
if { ![ string match $visibility "hidden_undef" ]
&& ![ string match $visibility "protected_undef" ] } {
@@ -358,6 +364,9 @@ proc visibility_run {visibility} {
&& ![ string match $visibility "hidden_undef_def" ]
&& ![ string match $visibility "protected_undef" ] } {
setup_xfail "s390x-*-linux*"
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
}
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
diff --git a/ld/testsuite/ld-elfweak/elfweak.exp b/ld/testsuite/ld-elfweak/elfweak.exp
index 8fc6832..78b6358 100644
--- a/ld/testsuite/ld-elfweak/elfweak.exp
+++ b/ld/testsuite/ld-elfweak/elfweak.exp
@@ -287,7 +287,8 @@ proc build_lib {test libname objs dynsymexp} {
return
}
- if {![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
+ if {![string match "" $dynsymexp] \
+ && ![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$dynsymexp]} {
fail $test
return
}
@@ -465,3 +466,30 @@ build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,
build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,." weakdata weakdata.dsym ""
+
+if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_lib "ELF DSO small bar (size)" libsize_bar "size_bar.o" ""
+build_lib "ELF DSO foo with small bar (size)" libsize_foo "size_foo.o libsize_bar.so" ""
+
+if ![ld_compile "$CC $CFLAGS $picflag -DSIZE_BIG" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_lib "ELF DSO big bar (size)" libsize_bar "size_bar.o" ""
+
+if ![ld_compile "$CC $CFLAGS" $srcdir/$subdir/size_main.c $tmpdir/size_main.o] {
+ unresolved "ELF weak (size)"
+ return
+}
+
+build_exec "ELF weak size" size_main "size_main.o libsize_foo.so libsize_bar.so" "-Wl,-rpath,." size "" ""
diff --git a/ld/testsuite/ld-elfweak/size.dat b/ld/testsuite/ld-elfweak/size.dat
new file mode 100644
index 0000000..01e79c3
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size.dat
@@ -0,0 +1,3 @@
+1
+2
+3
diff --git a/ld/testsuite/ld-elfweak/size_bar.c b/ld/testsuite/ld-elfweak/size_bar.c
new file mode 100644
index 0000000..7f32890
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_bar.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+void
+bar ()
+{
+#ifdef SIZE_BIG
+ printf ("1\n");
+ printf ("2\n");
+ printf ("3\n");
+#endif
+}
diff --git a/ld/testsuite/ld-elfweak/size_foo.c b/ld/testsuite/ld-elfweak/size_foo.c
new file mode 100644
index 0000000..2276f62
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_foo.c
@@ -0,0 +1,8 @@
+#pragma weak bar
+
+extern void bar ();
+
+foo ()
+{
+ bar ();
+}
diff --git a/ld/testsuite/ld-elfweak/size_main.c b/ld/testsuite/ld-elfweak/size_main.c
new file mode 100644
index 0000000..2cee0a9
--- /dev/null
+++ b/ld/testsuite/ld-elfweak/size_main.c
@@ -0,0 +1,8 @@
+extern void foo ();
+
+int
+main ()
+{
+ foo ();
+ return 0;
+}
diff --git a/ld/testsuite/ld-empic/empic.exp b/ld/testsuite/ld-empic/empic.exp
deleted file mode 100644
index f72b1f3..0000000
--- a/ld/testsuite/ld-empic/empic.exp
+++ /dev/null
@@ -1,263 +0,0 @@
-# Expect script for ld-empic tests
-# Copyright 1994, 1995, 1996 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# Written by Ian Lance Taylor (ian@cygnus.com)
-#
-
-# Test the handling of MIPS embedded PIC code. This test essentially
-# tests the compiler and assembler as well as the linker, since MIPS
-# embedded PIC is a GNU enhancement to standard MIPS tools.
-
-# Embedded PIC is only supported for MIPS ECOFF targets.
-if ![istarget mips*-*-ecoff*] {
- return
-}
-
-set testname relax
-
-if { [which $CC] == 0 } {
- untested $testname
- return
-}
-
-# Test that relaxation works correctly. This testsuite was composed
-# (by experimentation) to force the linker to relax twice--that is,
-# the first relaxation pass will force another call to be out of
-# range, requiring a second relaxation pass.
-if { ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax1.c tmpdir/relax1.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax2.c tmpdir/relax2.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax3.c tmpdir/relax3.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/relax4.c tmpdir/relax4.o] } {
- unresolved $testname
- return
-}
-
-if ![ld_simple_link $ld tmpdir/relax "--relax -T $srcdir/$subdir/relax.t tmpdir/relax1.o tmpdir/relax2.o tmpdir/relax3.o tmpdir/relax4.o"] {
- fail $testname
-} else {
- # Check that the relaxation produced the correct result. Check
- # each bal instruction. Some will go directly to the start of a
- # function, which is OK. Some will form part of the five
- # instruction expanded call sequence, in which case we compute the
- # real destination and make sure it is the start of a function.
- # Some bal instructions are used to locate the start of the
- # function in order to do position independent addressing into the
- # text section, in which case we just check that it correctly
- # computes the start of the function.
-
- # Get the symbol table.
- if ![ld_nm $nm "" tmpdir/relax] {
- unresolved $testname
- return
- }
-
- # Get a disassembly.
- send_log "$objdump -d tmpdir/relax >tmpdir/relax.dis\n"
- verbose "$objdump -d tmpdir/relax >tmpdir/relax.dis"
- catch "exec $objdump -d tmpdir/relax >tmpdir/relax.dis" exec_output
- if ![string match "" $exec_output] {
- send_log "$exec_output\n"
- verbose $exec_output
- unresolved $testname
- return
- }
-
- set balcnt 0
- set file [open tmpdir/relax.dis r]
- while { [gets $file line] != -1 } {
- verbose "$line" 2
-
- if ![string match "*bal*" $line] {
- continue
- }
-
- verbose "$line"
-
- incr balcnt
-
- if ![regexp "^(\[0-9a-fA-F\]+) (<\[a-z+0-9A-Z.\]+>)? bal (\[0-9a-fA-F\]+)" $line whole addr label dest] {
- perror "unrecognized format for $line"
- unresolved $testname
- return
- }
-
- if "0x$addr + 8 != 0x$dest" {
- # This is a straight function call. All function calls in
- # this example are to either foo or bar.
- if "0x$dest != $nm_output(foo) && 0x$dest != $nm_output(bar)" {
- send_log "fail 1\n"
- send_log "$line\n"
- fail $testname
- return
- }
- } else {
- # Pick up the next line. If it is sll, this is a switch
- # prologue, and there is not much we can do to test it.
- # Otherwise, it should be lui, and the next instruction
- # should be an addiu, followed by an addu to $31.
- if { [gets $file l] == -1 } {
- send_log "fail 2\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose $l
-
- if [string match "*sll*" $l] {
- continue
- }
- if ![regexp "lui (\[\$a-z0-9\]+),(\[0-9a-fA-Fx\]+)" $l whole reg upper] {
- send_log "fail 3\n"
- send_log "$line\n"
- send_log "$l\n"
- fail $testname
- return
- }
-
- if { [gets $file l] == -1 } {
- send_log "fail 4\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if ![regexp "addiu \\$reg,\\$reg,(\[-0-9\]+)" $l whole lower] {
- send_log "fail 5\n"
- send_log "$line\n"
- send_log "$l\n"
- send_log "addiu \\$reg,\\$reg,(\[-0-9\]+)\n"
- fail $testname
- return
- }
-
- if { [gets $file l] == -1 } {
- send_log "fail 6\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if ![regexp "addu \\$reg,\\$reg,\\\$ra" $l] {
- send_log "fail 7\n"
- send_log "$line\n"
- send_log "$l\n"
- fail $testname
- return
- }
-
- # The next line will be jalr in the case of an expanded
- # call. Otherwise, the code is getting the start of the
- # function, and the next line can be anything.
-
- if { [gets $file l] == -1 } {
- send_log "fail 8\n"
- send_log "$line\n"
- fail $testname
- return
- }
- verbose "$l"
- if [string match "*jalr*" $l] {
- set dest [expr 0x$addr + 8 + ($upper << 16) + $lower]
- if { $dest != $nm_output(foo) && $dest != $nm_output(bar) } {
- send_log "fail 9\n"
- send_log "$line\n"
- fail $testname
- return
- }
- } else {
- set dest [expr ($upper << 16) + $lower]
- if ![regexp "<(\[.a-z\]+)\\+(\[0-9a-fA-F\]+)>" $label whole base offset] {
- send_log "fail 10\n"
- send_log "$line\n"
- fail $testname
- return
- }
- set offset 0x$offset
- if { $base == ".foo" } {
- set offset [expr $offset - ($nm_output(foo) - 0x30)]
- }
- if { $offset + 8 != - $dest } {
- send_log "fail 11\n"
- send_log "$line\n"
- fail $testname
- return
- }
- }
- }
- }
-
- close $file
-
- if {$balcnt < 10} {
- send_log "fail 12\n"
- fail $testname
- } else {
- verbose "$balcnt bal instructions"
- pass $testname
- }
-}
-
-# We now test actually running embedded MIPS PIC code. This can only
-# be done on a MIPS host with the same endianness as our target.
-if [istarget mipsel-*-*] {
- if ![ishost mips*-*-ultrix*] {
- return
- }
-} else {
- if ![ishost mips*-*-irix*] {
- return
- }
-}
-
-set testname "run embedded PIC code"
-
-# Compile the program which will run the test. This code must be
-# compiled for the host, not the target.
-send_log "$CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c\n"
-verbose "$CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c"
-catch "exec $CC_FOR_HOST $CFLAGS_FOR_HOST -o tmpdir/run $srcdir/$subdir/run.c" exec_output
-if ![string match "" $exec_output] {
- send_log "$exec_output\n"
- verbose "$exec_output"
- unresolved $testname
- return
-}
-
-# Compile and link the test.
-if { ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtesti.s tmpdir/runtesti.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtest1.c tmpdir/runtest1.o]
- || ![ld_compile "$CC $CFLAGS -membedded-pic" $srcdir/$subdir/runtest2.c tmpdir/runtest2.o] } {
- unresolved $testname
- return
-}
-if ![ld_simple_link $ld tmpdir/runtest "--embedded-relocs tmpdir/runtesti.o tmpdir/runtest1.o tmpdir/runtest2.o"] {
- fail $testname
-} else {
- # Now run the test.
- send_log "tmpdir/run tmpdir/runtest\n"
- verbose "tmpdir/run tmpdir/runtest"
- catch "exec tmpdir/run tmpdir/runtest" exec_output
- if [string match "*ran and returned 0*" $exec_output] {
- send_log "$exec_output\n"
- verbose "$exec_output"
- pass $testname
- } else {
- send_log "$exec_output\n"
- verbose "$exec_output"
- fail $testname
- }
-}
diff --git a/ld/testsuite/ld-empic/relax.t b/ld/testsuite/ld-empic/relax.t
deleted file mode 100644
index 8c18b69..0000000
--- a/ld/testsuite/ld-empic/relax.t
+++ /dev/null
@@ -1,49 +0,0 @@
-OUTPUT_FORMAT("ecoff-bigmips")
-SECTIONS
-{
- .foo 0x30 : {
- tmpdir/relax3.o(.text)
- tmpdir/relax1.o(.text)
- }
- .text 0x20000 : {
- _ftext = . ;
- *(.init)
- eprol = .;
- tmpdir/relax4.o(.text)
- *(.text)
- *(.fini)
- etext = .;
- _etext = .;
- }
- .rdata . : {
- *(.rdata)
- }
- _fdata = .;
- .data . : {
- *(.data)
- CONSTRUCTORS
- }
- _gp = . + 0x8000;
- .lit8 . : {
- *(.lit8)
- }
- .lit4 . : {
- *(.lit4)
- }
- .sdata . : {
- *(.sdata)
- }
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss . : {
- *(.sbss)
- *(.scommon)
- }
- .bss . : {
- *(.bss)
- *(COMMON)
- }
- end = .;
- _end = .;
-}
diff --git a/ld/testsuite/ld-empic/relax1.c b/ld/testsuite/ld-empic/relax1.c
deleted file mode 100644
index 20ec39e..0000000
--- a/ld/testsuite/ld-empic/relax1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* First source file in relaxation test. */
-
-extern int bar ();
-static int foo2 ();
-
-int foo (int i)
-{
- switch (i)
- {
- case 0: bar (0); break;
- case 1: bar (1); break;
- case 2: bar (2); break;
- case 3: bar (3); break;
- case 4: bar (foo2); break;
- case 5: bar (bar); break;
- }
- while (1)
- if (i)
- return bar ();
-}
-
-static int foo2 () { }
diff --git a/ld/testsuite/ld-empic/relax2.c b/ld/testsuite/ld-empic/relax2.c
deleted file mode 100644
index 58854a0..0000000
--- a/ld/testsuite/ld-empic/relax2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Second source file in relaxation test. */
-
-int bar2 ()
-{
- int i;
-
- for (i = 0; i < 100; i++)
- foo ();
- return foo () + foo () + foo () + foo ();
-}
-
-int bar (int i)
-{
- while (1)
- if (i)
- return foo ();
- else
- return foo ();
-}
diff --git a/ld/testsuite/ld-empic/relax3.c b/ld/testsuite/ld-empic/relax3.c
deleted file mode 100644
index 1aaa532..0000000
--- a/ld/testsuite/ld-empic/relax3.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Third source file in relaxation test. */
-
-int quux () { return 0; }
diff --git a/ld/testsuite/ld-empic/relax4.c b/ld/testsuite/ld-empic/relax4.c
deleted file mode 100644
index 21cfb05..0000000
--- a/ld/testsuite/ld-empic/relax4.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Fourth source file in relaxation test. */
-
-int xyzzy () { return 0; }
diff --git a/ld/testsuite/ld-empic/run.c b/ld/testsuite/ld-empic/run.c
deleted file mode 100644
index 9a0377e..0000000
--- a/ld/testsuite/ld-empic/run.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Load and run a MIPS position independent ECOFF file.
- Written by Ian Lance Taylor <ian@cygnus.com>
- Public domain. */
-
-/* This program will load an ECOFF file into memory and execute it.
- The file must have been compiled using the GNU -membedded-pic
- switch to produce position independent code. This will only work
- if this program is run on a MIPS system with the same endianness as
- the ECOFF file. The ECOFF file must be complete. System calls may
- not work correctly.
-
- There are further restrictions on the file (they could be removed
- by doing some additional programming). The file must be aligned
- such that it does not require any gaps introduced in the data
- segment; the GNU linker produces such files by default. However,
- the file must not assume that the text or data segment is aligned
- on a page boundary. The start address must be at the start of the
- text segment.
-
- The ECOFF file is run by calling it as though it were a function.
- The address of the data segment is passed as the only argument.
- The file is expected to return an integer value, which will be
- printed. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-/* Structures used in ECOFF files. We assume that a short is two
- bytes and an int is four bytes. This is not much of an assumption,
- since we already assume that we are running on a MIPS host with the
- same endianness as the file we are examining. */
-
-struct ecoff_filehdr {
- unsigned short f_magic; /* magic number */
- unsigned short f_nscns; /* number of sections */
- unsigned int f_timdat; /* time & date stamp */
- unsigned int f_symptr; /* file pointer to symtab */
- unsigned int f_nsyms; /* number of symtab entries */
- unsigned short f_opthdr; /* sizeof(optional hdr) */
- unsigned short f_flags; /* flags */
-};
-
-struct ecoff_aouthdr
-{
- unsigned short magic; /* type of file */
- unsigned short vstamp; /* version stamp */
- unsigned int tsize; /* text size in bytes, padded to FW bdry*/
- unsigned int dsize; /* initialized data " " */
- unsigned int bsize; /* uninitialized data " " */
- unsigned int entry; /* entry pt. */
- unsigned int text_start; /* base of text used for this file */
- unsigned int data_start; /* base of data used for this file */
- unsigned int bss_start; /* base of bss used for this file */
- unsigned int gprmask; /* ?? */
- unsigned int cprmask[4]; /* ?? */
- unsigned int gp_value; /* value for gp register */
-};
-
-#define ECOFF_SCNHDR_SIZE (40)
-
-static void
-die (s)
- char *s;
-{
- perror (s);
- exit (1);
-}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- FILE *f;
- struct stat s;
- char *z;
- struct ecoff_filehdr *fh;
- struct ecoff_aouthdr *ah;
- unsigned int toff;
- char *t, *d;
- int (*pfn) ();
- int ret;
-
- if (argc != 2)
- {
- fprintf (stderr, "Usage: %s file\n", argv[0]);
- exit (1);
- }
-
- f = fopen (argv[1], "r");
- if (f == NULL)
- die (argv[1]);
-
- if (stat (argv[1], &s) < 0)
- die ("stat");
-
- z = (char *) malloc (s.st_size);
- if (z == NULL)
- die ("malloc");
-
- if (fread (z, 1, s.st_size, f) != s.st_size)
- die ("fread");
-
- /* We need to figure out the start of the text segment, which is the
- location we are going to call, and the start of the data segment,
- which we are going to pass as an argument. We also need the size
- and start address of the bss segment. This information is all in
- the ECOFF a.out header. */
-
- fh = (struct ecoff_filehdr *) z;
- if (fh->f_opthdr != sizeof (struct ecoff_aouthdr))
- {
- fprintf (stderr, "%s: unexpected opthdr size: is %u, want %u\n",
- argv[1], (unsigned int) fh->f_opthdr,
- (unsigned int) sizeof (struct ecoff_aouthdr));
- exit (1);
- }
-
- ah = (struct ecoff_aouthdr *) (z + sizeof (struct ecoff_filehdr));
- if (ah->magic != 0413)
- {
- fprintf (stderr, "%s: bad aouthdr magic number 0%o (want 0413)\n",
- argv[1], (unsigned int) ah->magic);
- exit (1);
- }
-
- /* We should clear the bss segment at this point. This is the
- ah->bsize bytes starting at ah->bss_start, To do this correctly,
- we would have to make sure our memory block is large enough. It
- so happens that our test case does not have any additional pages
- for the bss segment--it is contained within the data segment.
- So, we don't bother. */
- if (ah->bsize != 0)
- {
- fprintf (stderr,
- "%s: bss segment is %u bytes; non-zero sizes not supported\n",
- argv[1], ah->bsize);
- exit (1);
- }
-
- /* The text section starts just after all the headers, rounded to a
- 16 byte boundary. */
- toff = (sizeof (struct ecoff_filehdr) + sizeof (struct ecoff_aouthdr)
- + fh->f_nscns * ECOFF_SCNHDR_SIZE);
- toff += 15;
- toff &=~ 15;
- t = z + toff;
-
- /* The tsize field gives us the start of the data segment. */
- d = z + ah->tsize;
-
- /* Call the code as a function. */
- pfn = (int (*) ()) t;
- ret = (*pfn) (d);
-
- printf ("%s ran and returned %d\n", argv[1], ret);
-
- exit (0);
-}
diff --git a/ld/testsuite/ld-empic/runtest1.c b/ld/testsuite/ld-empic/runtest1.c
deleted file mode 100644
index f9ab6eb..0000000
--- a/ld/testsuite/ld-empic/runtest1.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* First C source file for actual execution test. */
-
-/* The main point of this test is to make sure that the code and data
- are truly position independent. We statically initialize several
- global variables, and make sure that they are correctly adjusted at
- runtime. */
-
-int i = 1;
-int j = 0;
-extern int k;
-int l;
-char small_buf[] = "aaaa";
-char *small_pointer = small_buf;
-char big_buf[] = "aaaaaaaaaaaaaaaa";
-char *big_pointer = big_buf;
-
-extern int bar ();
-int (*pbar) () = bar;
-
-static int
-foo2 (arg)
- int arg;
-{
- l = arg;
- return i + j;
-}
-
-int (*pfoo2) () = foo2;
-
-int
-chkstr (z, c)
- char *z;
- int c;
-{
- /* Switch statements need extra effort to be position independent,
- so we run one here, even though most of the cases will never be
- taken. */
- switch (c)
- {
- case 1:
- case 2:
- case 3:
- return i - 1;
- case 4:
- break;
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- return i * j;
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- return j;
- case 16:
- break;
- default:
- return 0;
- }
-
- while (c-- != 0)
- if (*z++ != 'a')
- return 0;
-
- return *z == '\0';
-}
-
-/* This function is called by the assembler startup routine. It tries
- to test that everything was correctly initialized. It returns 0 on
- success, something else on failure. */
-
-int
-foo ()
-{
- if (i != 1)
- return 1;
- if (j != 0)
- return 2;
- if (! chkstr (small_buf, 4))
- return 3;
- if (! chkstr (small_pointer, 4))
- return 4;
- if (! chkstr (big_buf, 16))
- return 5;
- if (! chkstr (big_pointer, 16))
- return 6;
-
- if (l != 0)
- return 7;
- if (foo2 (1) != 1)
- return 8;
- if (l != 1)
- return 9;
- if ((*pfoo2) (2) != 1)
- return 10;
- if (l != 2)
- return 11;
-
- if (bar (1) != 0)
- return 12;
- if (bar (-1) != 1)
- return 13;
- if ((*pbar) (0xa5a5a5a5) != -1)
- return 14;
- if (k != 0xa5a5a5a5)
- return 15;
- if ((*pbar) (0) != 0xa5a5a5a5)
- return 16;
- if (k != 0)
- return 17;
-
- return 0;
-}
diff --git a/ld/testsuite/ld-empic/runtest2.c b/ld/testsuite/ld-empic/runtest2.c
deleted file mode 100644
index 000525f..0000000
--- a/ld/testsuite/ld-empic/runtest2.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Second C source file for actual execution test. */
-
-int k;
-extern int i;
-extern int j;
-extern char small_buf[];
-extern char *small_pointer;
-
-extern int chkstr ();
-
-int
-bar (n)
- int n;
-{
- int r;
-
- if (i != 1
- || j != 0
- || ! chkstr (small_buf, 4)
- || ! chkstr (small_pointer, 4))
- return k + 1;
-
- r = k;
- k = n;
- return r;
-}
diff --git a/ld/testsuite/ld-empic/runtesti.s b/ld/testsuite/ld-empic/runtesti.s
deleted file mode 100644
index efa1953..0000000
--- a/ld/testsuite/ld-empic/runtesti.s
+++ /dev/null
@@ -1,94 +0,0 @@
-# Assembler initialization code for actual execution test.
-
-# This code becomes the start of the execution test program. It is
-# responsible for initializing the static data, invoking the C code,
-# and returning the result. It is called as though it were a C
-# function with an argument of the address of the data segment.
-
-# We need to know the value of _ftext and _fdata at link time, but we
-# have no way to actually get that at runtime. This is because when
-# this code is compiled with -membedded-pic, the la instruction will
-# be turned into an addiu $gp instruction. We work around this by
-# storing the information in words in the .data section. We then load
-# the values of these words *before* doing the runtime relocation.
- .sdata
-text_start:
- .word _ftext
-data_start:
- .word _fdata
-
- .globl start
- .text
-start:
- # Grab some space on the stack, just as though we were a real
- # function.
- addiu $sp,$sp,-8
- sw $31,0($sp)
-
- # Save the $gp register, and set it up for our data section.
- sw $gp,4($sp)
-
- addu $gp,$4,0x8000 # macro
-
- # The start of the data segment is in $4.
-
- # Get the address of start into $5 in a position independent
- # fashion.
- .set noreorder
- $LF1 = . + 8
- bal $LF1
- la $5,start-$LF1 # macro
- .set reorder
- addu $5,$5,$31
-
- # Now get the address of _ftext into $6.
- la $6,_ftext-start # macro
- addu $6,$6,$5
-
- # Get the value of _ftext used to link into $7.
- lw $7,text_start # macro
-
- # Get the value of _fdata used to link into $8.
- lw $8,data_start # macro
-
- # Get the address of __runtime_reloc_start into $9.
- la $9,__runtime_reloc_start-start # macro
- addu $9,$9,$5
-
- # Get the address of __runtime_reloc_stop into $10.
- la $10,__runtime_reloc_stop-start # macro
- addu $10,$10,$5
-
- # The words between $9 and $10 are the runtime initialization
- # instructions. Step through and relocate them. First set
- # $11 and $12 to the values to add to text and data sections,
- # respectively.
- subu $11,$6,$7
- subu $12,$4,$8
-
-1:
- bge $9,$10,3f # macro
- lw $13,0($9)
- and $14,$13,0xfffffffe # macro
- move $15,$11
- beq $13,$14,2f
- move $15,$12
-2:
- addu $14,$14,$4
- lw $24,0($14)
- addu $24,$24,$15
- sw $24,0($14)
- addiu $9,$9,4
- b 1b
-3:
-
- # Now the statically initialized data has been relocated
- # correctly, and we can call the C code which does the actual
- # testing.
- bal foo
-
- # We return the value returned by the C code.
- lw $31,0($sp)
- lw $gp,4($sp)
- addu $sp,$sp,8
- j $31
diff --git a/ld/testsuite/ld-frv/fdpic-pie-1.d b/ld/testsuite/ld-frv/fdpic-pie-1.d
index da356ae..15d36ae 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-1.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-1.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
418: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010430 <D1>:
- 10430: 00 00 00 04 add\.p gr0,gr4,gr0
- 10430: R_FRV_32 \.data
-
-00010434 <\.D0>:
- 10434: 00 00 00 00 add\.p gr0,gr0,gr0
- 10434: R_FRV_32 \.got
- 10438: 00 00 00 04 add\.p gr0,gr4,gr0
- 10438: R_FRV_32 \.text
+00004430 <D1>:
+ 4430: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4430: R_FRV_32 \.data
+
+00004434 <\.D0>:
+ 4434: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4434: R_FRV_32 \.got
+ 4438: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4438: R_FRV_32 \.text
Disassembly of section \.got:
-000104b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b8: 00 00 00 04 add\.p gr0,gr4,gr0
- 104b8: R_FRV_FUNCDESC_VALUE \.text
- 104bc: 00 00 00 02 add\.p gr0,fp,gr0
+000044b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44b8: R_FRV_FUNCDESC_VALUE \.text
+ 44bc: 00 00 00 02 add\.p gr0,fp,gr0
-000104c0 <_GLOBAL_OFFSET_TABLE_>:
+000044c0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104cc: 00 00 00 04 add\.p gr0,gr4,gr0
- 104cc: R_FRV_32 \.text
- 104d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 104d0: R_FRV_32 \.got
- 104d4: 00 00 00 04 add\.p gr0,gr4,gr0
- 104d4: R_FRV_32 \.data
+ 44cc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44cc: R_FRV_32 \.text
+ 44d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44d0: R_FRV_32 \.got
+ 44d4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44d4: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-pie-2.d b/ld/testsuite/ld-frv/fdpic-pie-2.d
index fb7691a..fb5e1e6 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-2.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-2.d
@@ -32,39 +32,41 @@ Disassembly of section \.text:
618: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010630 <D2>:
- 10630: 00 00 00 04 add\.p gr0,gr4,gr0
- 10630: R_FRV_32 \.data
+00004630 <D2>:
+ 4630: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4630: R_FRV_32 \.data
-00010634 <GD0>:
- 10634: 00 00 00 00 add\.p gr0,gr0,gr0
- 10634: R_FRV_FUNCDESC GFb
- 10638: 00 00 00 04 add\.p gr0,gr4,gr0
- 10638: R_FRV_32 \.text
+00004634 <GD0>:
+ 4634: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4634: R_FRV_FUNCDESC \.text
+ 4638: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4638: R_FRV_32 \.text
Disassembly of section \.got:
-000106b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
- 106b8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106b8: R_FRV_FUNCDESC_VALUE \.text
- 106bc: 00 00 00 02 add\.p gr0,fp,gr0
- 106c0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106c0: R_FRV_FUNCDESC_VALUE \.text
- 106c4: 00 00 00 02 add\.p gr0,fp,gr0
- 106c8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106c8: R_FRV_FUNCDESC_VALUE \.text
- 106cc: 00 00 00 02 add\.p gr0,fp,gr0
+000046b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46b8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46b8: R_FRV_FUNCDESC_VALUE \.text
+ 46bc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46c0: R_FRV_FUNCDESC_VALUE \.text
+ 46c4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46c8: R_FRV_FUNCDESC_VALUE \.text
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
-000106d0 <_GLOBAL_OFFSET_TABLE_>:
+000046d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106dc: R_FRV_FUNCDESC GF4
- 106e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e0: R_FRV_32 \.text
- \.\.\.
- 106e4: R_FRV_FUNCDESC GF6
- 106e8: R_FRV_FUNCDESC GF5
- 106ec: 00 00 00 04 add\.p gr0,gr4,gr0
- 106ec: R_FRV_32 \.data
- 106f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106f0: R_FRV_32 \.text
- 106f4: 00 00 00 04 add\.p gr0,gr4,gr0
- 106f4: R_FRV_32 \.text
+ 46dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46dc: R_FRV_FUNCDESC \.text
+ 46e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e0: R_FRV_32 \.text
+ 46e4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e4: R_FRV_FUNCDESC \.text
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC \.text
+ 46ec: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46ec: R_FRV_32 \.data
+ 46f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46f0: R_FRV_32 \.text
+ 46f4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46f4: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-pie-6.d b/ld/testsuite/ld-frv/fdpic-pie-6.d
index eaca671..c9263f7 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-6.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-6.d
@@ -1,6 +1,74 @@
-#name: FRV uClinux PIC relocs to undefined symbols, pie linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, pie linking
#source: fdpic6.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -pie
-#error: different segments
+#ld: -pie --defsym WD1=D6
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+000005a8 <\.plt>:
+ 5a8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 5ac: c0 1a 00 06 bra 5c4 <F6-0x10>
+ 5b0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 5b4: c0 1a 00 04 bra 5c4 <F6-0x10>
+ 5b8: 00 00 00 10 add\.p gr0,gr16,gr0
+ 5bc: c0 1a 00 02 bra 5c4 <F6-0x10>
+ 5c0: 00 00 00 18 add\.p gr0,gr24,gr0
+ 5c4: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 5c8: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 5cc: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 5d0: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+000005d4 <F6>:
+ 5d4: fe 3f ff fe call 5cc <F6-0x8>
+ 5d8: 80 40 f0 0c addi gr15,12,gr0
+ 5dc: 80 fc 00 24 setlos 0x24,gr0
+ 5e0: 80 f4 00 20 setlo 0x20,gr0
+ 5e4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e8: 80 40 f0 10 addi gr15,16,gr0
+ 5ec: 80 fc 00 18 setlos 0x18,gr0
+ 5f0: 80 f4 00 1c setlo 0x1c,gr0
+ 5f4: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f8: 80 40 ff f8 addi gr15,-8,gr0
+ 5fc: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 600: 80 f4 ff e0 setlo 0xffe0,gr0
+ 604: 80 f8 ff ff sethi 0xffff,gr0
+ 608: 80 f4 ff 44 setlo 0xff44,gr0
+ 60c: 80 f8 ff ff sethi 0xffff,gr0
+ 610: 80 f4 00 14 setlo 0x14,gr0
+ 614: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+0000462c <D6>:
+ \.\.\.
+ 462c: R_FRV_32 WD0
+ 4630: R_FRV_FUNCDESC WFb
+ 4634: R_FRV_32 WFb
+Disassembly of section \.got:
+
+000046c8 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46c8: 00 00 05 c4 subxcc\.p gr0,gr4,gr0,icc1
+ 46c8: R_FRV_FUNCDESC_VALUE WF9
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46d0: 00 00 05 bc subx\.p gr0,gr60,gr0,icc1
+ 46d0: R_FRV_FUNCDESC_VALUE WF8
+ 46d4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46d8: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
+ 46d8: R_FRV_FUNCDESC_VALUE WF0
+ 46dc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46e0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
+ 46e0: R_FRV_FUNCDESC_VALUE WF7
+ 46e4: 00 00 00 02 add\.p gr0,fp,gr0
+
+000046e8 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 46f4: R_FRV_32 WF1
+ 46f8: R_FRV_FUNCDESC WF4
+ 46fc: R_FRV_32 WD2
+ 4700: R_FRV_FUNCDESC WF5
+ 4704: R_FRV_FUNCDESC WF6
+ 4708: R_FRV_32 WF3
+ 470c: R_FRV_32 WF2
diff --git a/ld/testsuite/ld-frv/fdpic-pie-7.d b/ld/testsuite/ld-frv/fdpic-pie-7.d
index a3f0478..67a6abf 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-7.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-7.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
418: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010430 <D7>:
- 10430: 00 00 00 08 add\.p gr0,gr8,gr0
- 10430: R_FRV_32 \.data
-
-00010434 <\.D0>:
- 10434: 00 00 00 00 add\.p gr0,gr0,gr0
- 10434: R_FRV_32 \.got
- 10438: 00 00 00 08 add\.p gr0,gr8,gr0
- 10438: R_FRV_32 \.text
+00004430 <D7>:
+ 4430: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4430: R_FRV_32 \.data
+
+00004434 <\.D0>:
+ 4434: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4434: R_FRV_32 \.got
+ 4438: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4438: R_FRV_32 \.text
Disassembly of section \.got:
-000104b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b8: 00 00 00 08 add\.p gr0,gr8,gr0
- 104b8: R_FRV_FUNCDESC_VALUE \.text
- 104bc: 00 00 00 02 add\.p gr0,fp,gr0
+000044b8 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44b8: R_FRV_FUNCDESC_VALUE \.text
+ 44bc: 00 00 00 02 add\.p gr0,fp,gr0
-000104c0 <_GLOBAL_OFFSET_TABLE_>:
+000044c0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 104cc: R_FRV_32 \.text
- 104d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 104d0: R_FRV_32 \.got
- 104d4: 00 00 00 08 add\.p gr0,gr8,gr0
- 104d4: R_FRV_32 \.data
+ 44cc: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44cc: R_FRV_32 \.text
+ 44d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44d0: R_FRV_32 \.got
+ 44d4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44d4: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-pie-8-fail.d b/ld/testsuite/ld-frv/fdpic-pie-8-fail.d
deleted file mode 100644
index f797b6a..0000000
--- a/ld/testsuite/ld-frv/fdpic-pie-8-fail.d
+++ /dev/null
@@ -1,6 +0,0 @@
-#name: FRV uClinux PIC relocs to global symbols with addends, failing pie linking
-#source: fdpic8.s
-#objdump: -DR -j .text -j .data -j .got -j .plt
-#as: -mfdpic
-#ld: -pie
-#error: nonzero addend
diff --git a/ld/testsuite/ld-frv/fdpic-pie-8.d b/ld/testsuite/ld-frv/fdpic-pie-8.d
index 882f816..20b0ea0 100644
--- a/ld/testsuite/ld-frv/fdpic-pie-8.d
+++ b/ld/testsuite/ld-frv/fdpic-pie-8.d
@@ -2,83 +2,71 @@
#source: fdpic8.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -pie --version-script fdpic8min.ldv
+#ld: -pie
.*: file format elf.*frv.*
Disassembly of section \.text:
-00000498 <F8>:
- 498: 80 3c 00 02 call 4a0 <GF1\+0x4>
+000005d0 <F8>:
+ 5d0: 80 3c 00 02 call 5d8 <GF0\+0x4>
-0000049c <GF1>:
- 49c: 80 40 f0 10 addi gr15,16,gr0
- 4a0: 80 fc 00 14 setlos 0x14,gr0
- 4a4: 80 f4 00 24 setlo 0x24,gr0
- 4a8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4ac: 80 40 f0 0c addi gr15,12,gr0
- 4b0: 80 fc 00 1c setlos 0x1c,gr0
- 4b4: 80 f4 00 18 setlo 0x18,gr0
- 4b8: 80 f8 00 00 sethi hi\(0x0\),gr0
- 4bc: 80 40 ff f8 addi gr15,-8,gr0
- 4c0: 80 fc ff f0 setlos 0xfffffff0,gr0
- 4c4: 80 f4 ff c8 setlo 0xffc8,gr0
- 4c8: 80 f8 ff ff sethi 0xffff,gr0
- 4cc: 80 40 ff 48 addi gr15,-184,gr0
- 4d0: 80 fc ff 48 setlos 0xffffff48,gr0
- 4d4: 80 f4 ff 48 setlo 0xff48,gr0
- 4d8: 80 f8 ff ff sethi 0xffff,gr0
- 4dc: 80 f4 00 20 setlo 0x20,gr0
- 4e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+000005d4 <GF0>:
+ 5d4: 80 40 f0 10 addi gr15,16,gr0
+ 5d8: 80 fc 00 14 setlos 0x14,gr0
+ 5dc: 80 f4 00 24 setlo 0x24,gr0
+ 5e0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5e4: 80 40 f0 0c addi gr15,12,gr0
+ 5e8: 80 fc 00 1c setlos 0x1c,gr0
+ 5ec: 80 f4 00 18 setlo 0x18,gr0
+ 5f0: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 5f4: 80 40 ff f8 addi gr15,-8,gr0
+ 5f8: 80 fc ff f0 setlos 0xfffffff0,gr0
+ 5fc: 80 f4 ff e8 setlo 0xffe8,gr0
+ 600: 80 f8 ff ff sethi 0xffff,gr0
+ 604: 80 40 ff 68 addi gr15,-152,gr0
+ 608: 80 fc ff 68 setlos 0xffffff68,gr0
+ 60c: 80 f4 ff 68 setlo 0xff68,gr0
+ 610: 80 f8 ff ff sethi 0xffff,gr0
+ 614: 80 f4 00 20 setlo 0x20,gr0
+ 618: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-000104f8 <D8>:
- 104f8: 00 00 00 08 add\.p gr0,gr8,gr0
- 104f8: R_FRV_32 \.data
+00004630 <D8>:
+ 4630: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4630: R_FRV_32 \.data
-000104fc <GD0>:
- 104fc: 00 00 00 10 add\.p gr0,gr16,gr0
- 104fc: R_FRV_32 \.got
- 10500: 00 00 00 08 add\.p gr0,gr8,gr0
- 10500: R_FRV_32 \.text
+00004634 <GD0>:
+ 4634: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4634: R_FRV_FUNCDESC \.text
+ 4638: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4638: R_FRV_32 \.text
Disassembly of section \.got:
-00010580 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 10580: 00 00 00 08 add\.p gr0,gr8,gr0
- 10580: R_FRV_FUNCDESC_VALUE \.text
- 10584: 00 00 00 02 add\.p gr0,fp,gr0
- 10588: 00 00 00 08 add\.p gr0,gr8,gr0
- 10588: R_FRV_FUNCDESC_VALUE \.text
- 1058c: 00 00 00 02 add\.p gr0,fp,gr0
- 10590: 00 00 00 08 add\.p gr0,gr8,gr0
- 10590: R_FRV_FUNCDESC_VALUE \.text
- 10594: 00 00 00 02 add\.p gr0,fp,gr0
- 10598: 00 00 00 08 add\.p gr0,gr8,gr0
- 10598: R_FRV_FUNCDESC_VALUE \.text
- 1059c: 00 00 00 02 add\.p gr0,fp,gr0
- 105a0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a0: R_FRV_FUNCDESC_VALUE \.text
- 105a4: 00 00 00 02 add\.p gr0,fp,gr0
- 105a8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a8: R_FRV_FUNCDESC_VALUE \.text
- 105ac: 00 00 00 02 add\.p gr0,fp,gr0
- 105b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b0: R_FRV_FUNCDESC_VALUE \.text
- 105b4: 00 00 00 02 add\.p gr0,fp,gr0
+000046b8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46b8: R_FRV_FUNCDESC_VALUE \.text
+ 46bc: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46c0: R_FRV_FUNCDESC_VALUE \.text
+ 46c4: 00 00 00 02 add\.p gr0,fp,gr0
+ 46c8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46c8: R_FRV_FUNCDESC_VALUE \.text
+ 46cc: 00 00 00 02 add\.p gr0,fp,gr0
-000105b8 <_GLOBAL_OFFSET_TABLE_>:
+000046d0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 105c4: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c4: R_FRV_32 \.got
- 105c8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c8: R_FRV_32 \.text
- 105cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105cc: R_FRV_32 \.text
- 105d0: 00 00 00 20 add\.p gr0,gr32,gr0
- 105d0: R_FRV_32 \.got
- 105d4: 00 00 00 18 add\.p gr0,gr24,gr0
- 105d4: R_FRV_32 \.got
- 105d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d8: R_FRV_32 \.data
- 105dc: 00 00 00 08 add\.p gr0,gr8,gr0
- 105dc: R_FRV_32 \.text
+ 46dc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46dc: R_FRV_FUNCDESC \.text
+ 46e0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46e0: R_FRV_32 \.text
+ 46e4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46e4: R_FRV_32 \.text
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC \.text
+ 46ec: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46ec: R_FRV_FUNCDESC \.text
+ 46f0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46f0: R_FRV_32 \.data
+ 46f4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 46f4: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-1.d b/ld/testsuite/ld-frv/fdpic-shared-1.d
index aeb3bc4..f0c5ce8 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-1.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-1.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
424: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001042c <D1>:
- 1042c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1042c: R_FRV_32 \.data
-
-00010430 <\.D0>:
- 10430: 00 00 00 00 add\.p gr0,gr0,gr0
- 10430: R_FRV_32 \.got
- 10434: 00 00 00 04 add\.p gr0,gr4,gr0
- 10434: R_FRV_32 \.text
+0000442c <D1>:
+ 442c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 442c: R_FRV_32 \.data
+
+00004430 <\.D0>:
+ 4430: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4430: R_FRV_32 \.got
+ 4434: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4434: R_FRV_32 \.text
Disassembly of section \.got:
-000104b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b0: 00 00 00 04 add\.p gr0,gr4,gr0
- 104b0: R_FRV_FUNCDESC_VALUE \.text
- 104b4: 00 00 00 00 add\.p gr0,gr0,gr0
+000044b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44b0: R_FRV_FUNCDESC_VALUE \.text
+ 44b4: 00 00 00 00 add\.p gr0,gr0,gr0
-000104b8 <_GLOBAL_OFFSET_TABLE_>:
+000044b8 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104c4: 00 00 00 04 add\.p gr0,gr4,gr0
- 104c4: R_FRV_32 \.text
- 104c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 104c8: R_FRV_32 \.got
- 104cc: 00 00 00 04 add\.p gr0,gr4,gr0
- 104cc: R_FRV_32 \.data
+ 44c4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44c4: R_FRV_32 \.text
+ 44c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44c8: R_FRV_32 \.got
+ 44cc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 44cc: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-2.d b/ld/testsuite/ld-frv/fdpic-shared-2.d
index b506788..04b7f98 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-2.d
@@ -46,36 +46,36 @@ Disassembly of section \.text:
63c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010644 <D2>:
- 10644: 00 00 00 00 add\.p gr0,gr0,gr0
- 10644: R_FRV_32 GD0
+00004644 <D2>:
+ 4644: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4644: R_FRV_32 GD0
-00010648 <GD0>:
+00004648 <GD0>:
\.\.\.
- 10648: R_FRV_FUNCDESC GFb
- 1064c: R_FRV_32 GFb
+ 4648: R_FRV_FUNCDESC GFb
+ 464c: R_FRV_32 GFb
Disassembly of section \.got:
-000106e0 <_GLOBAL_OFFSET_TABLE_-0x20>:
- 106e0: 00 00 05 dc subxcc\.p gr0,gr28,gr0,icc1
- 106e0: R_FRV_FUNCDESC_VALUE GF9
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e8: 00 00 05 d4 subxcc\.p gr0,gr20,gr0,icc1
- 106e8: R_FRV_FUNCDESC_VALUE GF8
- 106ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 106f0: 00 00 05 e4 subxcc\.p gr0,gr36,gr0,icc1
- 106f0: R_FRV_FUNCDESC_VALUE GF7
- 106f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106f8: 00 00 05 cc subxcc\.p gr0,gr12,gr0,icc1
- 106f8: R_FRV_FUNCDESC_VALUE GF0
- 106fc: 00 00 00 00 add\.p gr0,gr0,gr0
+000046e0 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46e0: 00 00 05 dc subxcc\.p gr0,gr28,gr0,icc1
+ 46e0: R_FRV_FUNCDESC_VALUE GF9
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e8: 00 00 05 d4 subxcc\.p gr0,gr20,gr0,icc1
+ 46e8: R_FRV_FUNCDESC_VALUE GF8
+ 46ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46f0: 00 00 05 e4 subxcc\.p gr0,gr36,gr0,icc1
+ 46f0: R_FRV_FUNCDESC_VALUE GF7
+ 46f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46f8: 00 00 05 cc subxcc\.p gr0,gr12,gr0,icc1
+ 46f8: R_FRV_FUNCDESC_VALUE GF0
+ 46fc: 00 00 00 00 add\.p gr0,gr0,gr0
-00010700 <_GLOBAL_OFFSET_TABLE_>:
+00004700 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1070c: R_FRV_FUNCDESC GF4
- 10710: R_FRV_32 GF1
- 10714: R_FRV_FUNCDESC GF6
- 10718: R_FRV_FUNCDESC GF5
- 1071c: R_FRV_32 GD4
- 10720: R_FRV_32 GF3
- 10724: R_FRV_32 GF2
+ 470c: R_FRV_FUNCDESC GF4
+ 4710: R_FRV_32 GF1
+ 4714: R_FRV_FUNCDESC GF6
+ 4718: R_FRV_FUNCDESC GF5
+ 471c: R_FRV_32 GD4
+ 4720: R_FRV_32 GF3
+ 4724: R_FRV_32 GF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-3.d b/ld/testsuite/ld-frv/fdpic-shared-3.d
index 625975b..3c7d03a 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-3.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-3.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
474: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001047c <D3>:
- 1047c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1047c: R_FRV_32 \.data
+0000447c <D3>:
+ 447c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 447c: R_FRV_32 \.data
-00010480 <HD0>:
- 10480: 00 00 00 08 add\.p gr0,gr8,gr0
- 10480: R_FRV_32 \.got
- 10484: 00 00 00 04 add\.p gr0,gr4,gr0
- 10484: R_FRV_32 \.text
+00004480 <HD0>:
+ 4480: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4480: R_FRV_32 \.got
+ 4484: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4484: R_FRV_32 \.text
Disassembly of section \.got:
-00010500 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 10500: 00 00 00 04 add\.p gr0,gr4,gr0
- 10500: R_FRV_FUNCDESC_VALUE \.text
- 10504: 00 00 00 00 add\.p gr0,gr0,gr0
- 10508: 00 00 00 04 add\.p gr0,gr4,gr0
- 10508: R_FRV_FUNCDESC_VALUE \.text
- 1050c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10510: 00 00 00 04 add\.p gr0,gr4,gr0
- 10510: R_FRV_FUNCDESC_VALUE \.text
- 10514: 00 00 00 00 add\.p gr0,gr0,gr0
- 10518: 00 00 00 04 add\.p gr0,gr4,gr0
- 10518: R_FRV_FUNCDESC_VALUE \.text
- 1051c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10520: 00 00 00 04 add\.p gr0,gr4,gr0
- 10520: R_FRV_FUNCDESC_VALUE \.text
- 10524: 00 00 00 00 add\.p gr0,gr0,gr0
- 10528: 00 00 00 04 add\.p gr0,gr4,gr0
- 10528: R_FRV_FUNCDESC_VALUE \.text
- 1052c: 00 00 00 00 add\.p gr0,gr0,gr0
- 10530: 00 00 00 04 add\.p gr0,gr4,gr0
- 10530: R_FRV_FUNCDESC_VALUE \.text
- 10534: 00 00 00 00 add\.p gr0,gr0,gr0
+00004500 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 4500: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4500: R_FRV_FUNCDESC_VALUE \.text
+ 4504: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4508: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4508: R_FRV_FUNCDESC_VALUE \.text
+ 450c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4510: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4510: R_FRV_FUNCDESC_VALUE \.text
+ 4514: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4518: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4518: R_FRV_FUNCDESC_VALUE \.text
+ 451c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4520: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4520: R_FRV_FUNCDESC_VALUE \.text
+ 4524: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4528: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4528: R_FRV_FUNCDESC_VALUE \.text
+ 452c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4530: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4530: R_FRV_FUNCDESC_VALUE \.text
+ 4534: 00 00 00 00 add\.p gr0,gr0,gr0
-00010538 <_GLOBAL_OFFSET_TABLE_>:
+00004538 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 10544: 00 00 00 04 add\.p gr0,gr4,gr0
- 10544: R_FRV_32 \.text
- 10548: 00 00 00 00 add\.p gr0,gr0,gr0
- 10548: R_FRV_32 \.got
- 1054c: 00 00 00 28 add\.p gr0,gr40,gr0
- 1054c: R_FRV_32 \.got
- 10550: 00 00 00 04 add\.p gr0,gr4,gr0
- 10550: R_FRV_32 \.text
- 10554: 00 00 00 04 add\.p gr0,gr4,gr0
- 10554: R_FRV_32 \.text
- 10558: 00 00 00 18 add\.p gr0,gr24,gr0
- 10558: R_FRV_32 \.got
- 1055c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1055c: R_FRV_32 \.data
+ 4544: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4544: R_FRV_32 \.text
+ 4548: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4548: R_FRV_32 \.got
+ 454c: 00 00 00 28 add\.p gr0,gr40,gr0
+ 454c: R_FRV_32 \.got
+ 4550: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4550: R_FRV_32 \.text
+ 4554: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4554: R_FRV_32 \.text
+ 4558: 00 00 00 18 add\.p gr0,gr24,gr0
+ 4558: R_FRV_32 \.got
+ 455c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 455c: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-4.d b/ld/testsuite/ld-frv/fdpic-shared-4.d
index a441832..8c1098f 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-4.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-4.d
@@ -32,40 +32,41 @@ Disassembly of section \.text:
64c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010654 <D4>:
- 10654: 00 00 00 04 add\.p gr0,gr4,gr0
- 10654: R_FRV_32 \.data
+00004654 <D4>:
+ 4654: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4654: R_FRV_32 \.data
-00010658 <PD0>:
- 10658: 00 00 00 00 add\.p gr0,gr0,gr0
- 10658: R_FRV_FUNCDESC PFb
- 1065c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1065c: R_FRV_32 \.text
+00004658 <PD0>:
+ 4658: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4658: R_FRV_FUNCDESC \.text
+ 465c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 465c: R_FRV_32 \.text
Disassembly of section \.got:
-000106d8 <_GLOBAL_OFFSET_TABLE_-0x18>:
- 106d8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106d8: R_FRV_FUNCDESC_VALUE \.text
- 106dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e0: R_FRV_FUNCDESC_VALUE \.text
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e8: 00 00 00 04 add\.p gr0,gr4,gr0
- 106e8: R_FRV_FUNCDESC_VALUE \.text
- 106ec: 00 00 00 00 add\.p gr0,gr0,gr0
+000046d8 <_GLOBAL_OFFSET_TABLE_-0x18>:
+ 46d8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46d8: R_FRV_FUNCDESC_VALUE \.text
+ 46dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e0: R_FRV_FUNCDESC_VALUE \.text
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46e8: R_FRV_FUNCDESC_VALUE \.text
+ 46ec: 00 00 00 00 add\.p gr0,gr0,gr0
-000106f0 <_GLOBAL_OFFSET_TABLE_>:
+000046f0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 106fc: R_FRV_FUNCDESC PF4
- 10700: 00 00 00 04 add\.p gr0,gr4,gr0
- 10700: R_FRV_32 \.text
- 10704: 00 00 00 04 add\.p gr0,gr4,gr0
- 10704: R_FRV_32 \.data
- 10708: 00 00 00 00 add\.p gr0,gr0,gr0
- 10708: R_FRV_FUNCDESC PF6
- 1070c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1070c: R_FRV_32 \.text
- 10710: 00 00 00 04 add\.p gr0,gr4,gr0
- 10710: R_FRV_32 \.text
- 10714: 00 00 00 00 add\.p gr0,gr0,gr0
- 10714: R_FRV_FUNCDESC PF5
+ 46fc: 00 00 00 04 add\.p gr0,gr4,gr0
+ 46fc: R_FRV_FUNCDESC \.text
+ 4700: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4700: R_FRV_32 \.text
+ 4704: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4704: R_FRV_32 \.data
+ 4708: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4708: R_FRV_FUNCDESC \.text
+ 470c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 470c: R_FRV_32 \.text
+ 4710: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4710: R_FRV_32 \.text
+ 4714: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4714: R_FRV_FUNCDESC \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-5.d b/ld/testsuite/ld-frv/fdpic-shared-5.d
index d0767f6..9fcc933 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-5.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-5.d
@@ -40,44 +40,44 @@ Disassembly of section \.text:
5fc: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010604 <D5>:
- 10604: 00 00 00 00 add\.p gr0,gr0,gr0
- 10604: R_FRV_32 UD0
- 10608: 00 00 00 00 add\.p gr0,gr0,gr0
- 10608: R_FRV_FUNCDESC UFb
- 1060c: 00 00 00 00 add\.p gr0,gr0,gr0
- 1060c: R_FRV_32 UFb
+00004604 <D5>:
+ 4604: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4604: R_FRV_32 UD0
+ 4608: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4608: R_FRV_FUNCDESC UFb
+ 460c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 460c: R_FRV_32 UFb
Disassembly of section \.got:
-000106a0 <_GLOBAL_OFFSET_TABLE_-0x20>:
- 106a0: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
- 106a0: R_FRV_FUNCDESC_VALUE UF9
- 106a4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106a8: 00 00 05 9c subx\.p gr0,gr28,gr0,icc1
- 106a8: R_FRV_FUNCDESC_VALUE UF8
- 106ac: 00 00 00 00 add\.p gr0,gr0,gr0
- 106b0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
- 106b0: R_FRV_FUNCDESC_VALUE UF0
- 106b4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106b8: 00 00 05 a4 subx\.p gr0,gr36,gr0,icc1
- 106b8: R_FRV_FUNCDESC_VALUE UF7
- 106bc: 00 00 00 00 add\.p gr0,gr0,gr0
+000046a0 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 46a0: 00 00 05 b4 subx\.p gr0,gr52,gr0,icc1
+ 46a0: R_FRV_FUNCDESC_VALUE UF9
+ 46a4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46a8: 00 00 05 9c subx\.p gr0,gr28,gr0,icc1
+ 46a8: R_FRV_FUNCDESC_VALUE UF8
+ 46ac: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46b0: 00 00 05 ac subx\.p gr0,gr44,gr0,icc1
+ 46b0: R_FRV_FUNCDESC_VALUE UF0
+ 46b4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46b8: 00 00 05 a4 subx\.p gr0,gr36,gr0,icc1
+ 46b8: R_FRV_FUNCDESC_VALUE UF7
+ 46bc: 00 00 00 00 add\.p gr0,gr0,gr0
-000106c0 <_GLOBAL_OFFSET_TABLE_>:
- 106c0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106c4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 106cc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106cc: R_FRV_32 UF1
- 106d0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d0: R_FRV_FUNCDESC UF4
- 106d4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d4: R_FRV_32 UD1
- 106d8: 00 00 00 00 add\.p gr0,gr0,gr0
- 106d8: R_FRV_FUNCDESC UF6
- 106dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 106dc: R_FRV_FUNCDESC UF5
- 106e0: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e0: R_FRV_32 UF3
- 106e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 106e4: R_FRV_32 UF2
+000046c0 <_GLOBAL_OFFSET_TABLE_>:
+ 46c0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46c4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46cc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46cc: R_FRV_32 UF1
+ 46d0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d0: R_FRV_FUNCDESC UF4
+ 46d4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d4: R_FRV_32 UD1
+ 46d8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46d8: R_FRV_FUNCDESC UF6
+ 46dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46dc: R_FRV_FUNCDESC UF5
+ 46e0: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e0: R_FRV_32 UF3
+ 46e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 46e4: R_FRV_32 UF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-6.d b/ld/testsuite/ld-frv/fdpic-shared-6.d
index 492fe1c..8b5168c 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-6.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-6.d
@@ -1,6 +1,74 @@
-#name: FRV uClinux PIC relocs to undefined symbols, shared linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, shared linking
#source: fdpic6.s
#objdump: -DR -j .text -j .data -j .got -j .plt
#as: -mfdpic
-#ld: -shared
-#error: different segments
+#ld: -shared --defsym WD1=D6 --version-script fdpic6.ldv
+
+.*: file format elf.*frv.*
+
+Disassembly of section \.plt:
+
+0000041c <\.plt>:
+ 41c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 420: c0 1a 00 06 bra 438 <F6-0x10>
+ 424: 00 00 00 00 add\.p gr0,gr0,gr0
+ 428: c0 1a 00 04 bra 438 <F6-0x10>
+ 42c: 00 00 00 10 add\.p gr0,gr16,gr0
+ 430: c0 1a 00 02 bra 438 <F6-0x10>
+ 434: 00 00 00 18 add\.p gr0,gr24,gr0
+ 438: 88 08 f1 40 ldd @\(gr15,gr0\),gr4
+ 43c: 80 30 40 00 jmpl @\(gr4,gr0\)
+ 440: 9c cc ff f0 lddi @\(gr15,-16\),gr14
+ 444: 80 30 e0 00 jmpl @\(gr14,gr0\)
+Disassembly of section \.text:
+
+00000448 <F6>:
+ 448: fe 3f ff fe call 440 <F6-0x8>
+ 44c: 80 40 f0 0c addi gr15,12,gr0
+ 450: 80 fc 00 24 setlos 0x24,gr0
+ 454: 80 f4 00 20 setlo 0x20,gr0
+ 458: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 45c: 80 40 f0 10 addi gr15,16,gr0
+ 460: 80 fc 00 18 setlos 0x18,gr0
+ 464: 80 f4 00 1c setlo 0x1c,gr0
+ 468: 80 f8 00 00 sethi hi\(0x0\),gr0
+ 46c: 80 40 ff f8 addi gr15,-8,gr0
+ 470: 80 fc ff e8 setlos 0xffffffe8,gr0
+ 474: 80 f4 ff e0 setlo 0xffe0,gr0
+ 478: 80 f8 ff ff sethi 0xffff,gr0
+ 47c: 80 f4 ff 40 setlo 0xff40,gr0
+ 480: 80 f8 ff ff sethi 0xffff,gr0
+ 484: 80 f4 00 14 setlo 0x14,gr0
+ 488: 80 f8 00 00 sethi hi\(0x0\),gr0
+Disassembly of section \.data:
+
+00004490 <D6>:
+ \.\.\.
+ 4490: R_FRV_32 WD0
+ 4494: R_FRV_FUNCDESC WFb
+ 4498: R_FRV_32 WFb
+Disassembly of section \.got:
+
+00004530 <_GLOBAL_OFFSET_TABLE_-0x20>:
+ 4530: 00 00 04 38 \*unknown\*
+ 4530: R_FRV_FUNCDESC_VALUE WF9
+ 4534: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4538: 00 00 04 30 \*unknown\*
+ 4538: R_FRV_FUNCDESC_VALUE WF8
+ 453c: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4540: 00 00 04 28 \*unknown\*
+ 4540: R_FRV_FUNCDESC_VALUE WF0
+ 4544: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4548: 00 00 04 20 \*unknown\*
+ 4548: R_FRV_FUNCDESC_VALUE WF7
+ 454c: 00 00 00 00 add\.p gr0,gr0,gr0
+
+00004550 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 455c: R_FRV_32 WF1
+ 4560: R_FRV_FUNCDESC WF4
+ 4564: R_FRV_32 WD2
+ 4568: R_FRV_FUNCDESC WF5
+ 456c: R_FRV_FUNCDESC WF6
+ 4570: R_FRV_32 WF3
+ 4574: R_FRV_32 WF2
diff --git a/ld/testsuite/ld-frv/fdpic-shared-7.d b/ld/testsuite/ld-frv/fdpic-shared-7.d
index 2b95623..80c26d3 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-7.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-7.d
@@ -32,27 +32,27 @@ Disassembly of section \.text:
424: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-0001042c <D7>:
- 1042c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1042c: R_FRV_32 \.data
-
-00010430 <\.D0>:
- 10430: 00 00 00 00 add\.p gr0,gr0,gr0
- 10430: R_FRV_32 \.got
- 10434: 00 00 00 08 add\.p gr0,gr8,gr0
- 10434: R_FRV_32 \.text
+0000442c <D7>:
+ 442c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 442c: R_FRV_32 \.data
+
+00004430 <\.D0>:
+ 4430: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4430: R_FRV_32 \.got
+ 4434: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4434: R_FRV_32 \.text
Disassembly of section \.got:
-000104b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 104b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 104b0: R_FRV_FUNCDESC_VALUE \.text
- 104b4: 00 00 00 00 add\.p gr0,gr0,gr0
+000044b0 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 44b0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44b0: R_FRV_FUNCDESC_VALUE \.text
+ 44b4: 00 00 00 00 add\.p gr0,gr0,gr0
-000104b8 <_GLOBAL_OFFSET_TABLE_>:
+000044b8 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 104c4: 00 00 00 08 add\.p gr0,gr8,gr0
- 104c4: R_FRV_32 \.text
- 104c8: 00 00 00 00 add\.p gr0,gr0,gr0
- 104c8: R_FRV_32 \.got
- 104cc: 00 00 00 08 add\.p gr0,gr8,gr0
- 104cc: R_FRV_32 \.data
+ 44c4: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44c4: R_FRV_32 \.text
+ 44c8: 00 00 00 00 add\.p gr0,gr0,gr0
+ 44c8: R_FRV_32 \.got
+ 44cc: 00 00 00 08 add\.p gr0,gr8,gr0
+ 44cc: R_FRV_32 \.data
diff --git a/ld/testsuite/ld-frv/fdpic-shared-8.d b/ld/testsuite/ld-frv/fdpic-shared-8.d
index fdeea73..26a5925 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-8.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
51c: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010524 <D8>:
- 10524: 00 00 00 04 add\.p gr0,gr4,gr0
- 10524: R_FRV_32 GD0
+00004524 <D8>:
+ 4524: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4524: R_FRV_32 GD0
-00010528 <GD0>:
- 10528: 00 00 00 10 add\.p gr0,gr16,gr0
- 10528: R_FRV_32 \.got
- 1052c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1052c: R_FRV_32 \.text
+00004528 <GD0>:
+ 4528: 00 00 00 10 add\.p gr0,gr16,gr0
+ 4528: R_FRV_32 \.got
+ 452c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 452c: R_FRV_32 \.text
Disassembly of section \.got:
-000105a8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 105a8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105a8: R_FRV_FUNCDESC_VALUE \.text
- 105ac: 00 00 00 00 add\.p gr0,gr0,gr0
- 105b0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b0: R_FRV_FUNCDESC_VALUE \.text
- 105b4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105b8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105b8: R_FRV_FUNCDESC_VALUE \.text
- 105bc: 00 00 00 00 add\.p gr0,gr0,gr0
- 105c0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c0: R_FRV_FUNCDESC_VALUE \.text
- 105c4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105c8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105c8: R_FRV_FUNCDESC_VALUE \.text
- 105cc: 00 00 00 00 add\.p gr0,gr0,gr0
- 105d0: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d0: R_FRV_FUNCDESC_VALUE \.text
- 105d4: 00 00 00 00 add\.p gr0,gr0,gr0
- 105d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 105d8: R_FRV_FUNCDESC_VALUE \.text
- 105dc: 00 00 00 00 add\.p gr0,gr0,gr0
+000045a8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 45a8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45a8: R_FRV_FUNCDESC_VALUE \.text
+ 45ac: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45b0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45b0: R_FRV_FUNCDESC_VALUE \.text
+ 45b4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45b8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45b8: R_FRV_FUNCDESC_VALUE \.text
+ 45bc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45c0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45c0: R_FRV_FUNCDESC_VALUE \.text
+ 45c4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45c8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45c8: R_FRV_FUNCDESC_VALUE \.text
+ 45cc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45d0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45d0: R_FRV_FUNCDESC_VALUE \.text
+ 45d4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 45d8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45d8: R_FRV_FUNCDESC_VALUE \.text
+ 45dc: 00 00 00 00 add\.p gr0,gr0,gr0
-000105e0 <_GLOBAL_OFFSET_TABLE_>:
+000045e0 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 105ec: 00 00 00 08 add\.p gr0,gr8,gr0
- 105ec: R_FRV_32 \.got
- 105f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 105f0: R_FRV_32 GF1
- 105f4: 00 00 00 04 add\.p gr0,gr4,gr0
- 105f4: R_FRV_32 GF2
- 105f8: 00 00 00 20 add\.p gr0,gr32,gr0
- 105f8: R_FRV_32 \.got
- 105fc: 00 00 00 18 add\.p gr0,gr24,gr0
- 105fc: R_FRV_32 \.got
- 10600: 00 00 00 04 add\.p gr0,gr4,gr0
- 10600: R_FRV_32 GD4
- 10604: 00 00 00 04 add\.p gr0,gr4,gr0
- 10604: R_FRV_32 GF3
+ 45ec: 00 00 00 08 add\.p gr0,gr8,gr0
+ 45ec: R_FRV_32 \.got
+ 45f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 45f0: R_FRV_32 GF1
+ 45f4: 00 00 00 04 add\.p gr0,gr4,gr0
+ 45f4: R_FRV_32 GF2
+ 45f8: 00 00 00 20 add\.p gr0,gr32,gr0
+ 45f8: R_FRV_32 \.got
+ 45fc: 00 00 00 18 add\.p gr0,gr24,gr0
+ 45fc: R_FRV_32 \.got
+ 4600: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4600: R_FRV_32 GD4
+ 4604: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4604: R_FRV_32 GF3
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-2.d b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
index 6f7b205..a857a2f 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-2.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-2.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
348: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010350 <D2>:
- 10350: 00 00 00 04 add\.p gr0,gr4,gr0
- 10350: R_FRV_32 \.data
+00004350 <D2>:
+ 4350: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4350: R_FRV_32 \.data
-00010354 <GD0>:
- 10354: 00 00 00 18 add\.p gr0,gr24,gr0
- 10354: R_FRV_32 \.got
- 10358: 00 00 00 04 add\.p gr0,gr4,gr0
- 10358: R_FRV_32 \.text
+00004354 <GD0>:
+ 4354: 00 00 00 18 add\.p gr0,gr24,gr0
+ 4354: R_FRV_32 \.got
+ 4358: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4358: R_FRV_32 \.text
Disassembly of section \.got:
-000103d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 103d8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103d8: R_FRV_FUNCDESC_VALUE \.text
- 103dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e0: 00 00 00 04 add\.p gr0,gr4,gr0
- 103e0: R_FRV_FUNCDESC_VALUE \.text
- 103e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103e8: R_FRV_FUNCDESC_VALUE \.text
- 103ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f0: 00 00 00 04 add\.p gr0,gr4,gr0
- 103f0: R_FRV_FUNCDESC_VALUE \.text
- 103f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f8: 00 00 00 04 add\.p gr0,gr4,gr0
- 103f8: R_FRV_FUNCDESC_VALUE \.text
- 103fc: 00 00 00 00 add\.p gr0,gr0,gr0
- 10400: 00 00 00 04 add\.p gr0,gr4,gr0
- 10400: R_FRV_FUNCDESC_VALUE \.text
- 10404: 00 00 00 00 add\.p gr0,gr0,gr0
- 10408: 00 00 00 04 add\.p gr0,gr4,gr0
- 10408: R_FRV_FUNCDESC_VALUE \.text
- 1040c: 00 00 00 00 add\.p gr0,gr0,gr0
+000043d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 43d8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43d8: R_FRV_FUNCDESC_VALUE \.text
+ 43dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43e0: R_FRV_FUNCDESC_VALUE \.text
+ 43e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43e8: R_FRV_FUNCDESC_VALUE \.text
+ 43ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f0: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43f0: R_FRV_FUNCDESC_VALUE \.text
+ 43f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f8: 00 00 00 04 add\.p gr0,gr4,gr0
+ 43f8: R_FRV_FUNCDESC_VALUE \.text
+ 43fc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4400: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4400: R_FRV_FUNCDESC_VALUE \.text
+ 4404: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4408: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4408: R_FRV_FUNCDESC_VALUE \.text
+ 440c: 00 00 00 00 add\.p gr0,gr0,gr0
-00010410 <_GLOBAL_OFFSET_TABLE_>:
+00004410 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1041c: 00 00 00 10 add\.p gr0,gr16,gr0
- 1041c: R_FRV_32 \.got
- 10420: 00 00 00 04 add\.p gr0,gr4,gr0
- 10420: R_FRV_32 \.text
- 10424: 00 00 00 28 add\.p gr0,gr40,gr0
- 10424: R_FRV_32 \.got
- 10428: 00 00 00 20 add\.p gr0,gr32,gr0
- 10428: R_FRV_32 \.got
- 1042c: 00 00 00 04 add\.p gr0,gr4,gr0
- 1042c: R_FRV_32 \.data
- 10430: 00 00 00 04 add\.p gr0,gr4,gr0
- 10430: R_FRV_32 \.text
- 10434: 00 00 00 04 add\.p gr0,gr4,gr0
- 10434: R_FRV_32 \.text
+ 441c: 00 00 00 10 add\.p gr0,gr16,gr0
+ 441c: R_FRV_32 \.got
+ 4420: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4420: R_FRV_32 \.text
+ 4424: 00 00 00 28 add\.p gr0,gr40,gr0
+ 4424: R_FRV_32 \.got
+ 4428: 00 00 00 20 add\.p gr0,gr32,gr0
+ 4428: R_FRV_32 \.got
+ 442c: 00 00 00 04 add\.p gr0,gr4,gr0
+ 442c: R_FRV_32 \.data
+ 4430: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4430: R_FRV_32 \.text
+ 4434: 00 00 00 04 add\.p gr0,gr4,gr0
+ 4434: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-shared-local-8.d b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
index 7b12051..8b179e3 100644
--- a/ld/testsuite/ld-frv/fdpic-shared-local-8.d
+++ b/ld/testsuite/ld-frv/fdpic-shared-local-8.d
@@ -32,53 +32,53 @@ Disassembly of section \.text:
348: 80 f8 00 00 sethi hi\(0x0\),gr0
Disassembly of section \.data:
-00010350 <D8>:
- 10350: 00 00 00 08 add\.p gr0,gr8,gr0
- 10350: R_FRV_32 \.data
+00004350 <D8>:
+ 4350: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4350: R_FRV_32 \.data
-00010354 <GD0>:
- 10354: 00 00 00 10 add\.p gr0,gr16,gr0
- 10354: R_FRV_32 \.got
- 10358: 00 00 00 08 add\.p gr0,gr8,gr0
- 10358: R_FRV_32 \.text
+00004354 <GD0>:
+ 4354: 00 00 00 10 add\.p gr0,gr16,gr0
+ 4354: R_FRV_32 \.got
+ 4358: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4358: R_FRV_32 \.text
Disassembly of section \.got:
-000103d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 103d8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103d8: R_FRV_FUNCDESC_VALUE \.text
- 103dc: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e0: 00 00 00 08 add\.p gr0,gr8,gr0
- 103e0: R_FRV_FUNCDESC_VALUE \.text
- 103e4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103e8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103e8: R_FRV_FUNCDESC_VALUE \.text
- 103ec: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f0: 00 00 00 08 add\.p gr0,gr8,gr0
- 103f0: R_FRV_FUNCDESC_VALUE \.text
- 103f4: 00 00 00 00 add\.p gr0,gr0,gr0
- 103f8: 00 00 00 08 add\.p gr0,gr8,gr0
- 103f8: R_FRV_FUNCDESC_VALUE \.text
- 103fc: 00 00 00 00 add\.p gr0,gr0,gr0
- 10400: 00 00 00 08 add\.p gr0,gr8,gr0
- 10400: R_FRV_FUNCDESC_VALUE \.text
- 10404: 00 00 00 00 add\.p gr0,gr0,gr0
- 10408: 00 00 00 08 add\.p gr0,gr8,gr0
- 10408: R_FRV_FUNCDESC_VALUE \.text
- 1040c: 00 00 00 00 add\.p gr0,gr0,gr0
+000043d8 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 43d8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43d8: R_FRV_FUNCDESC_VALUE \.text
+ 43dc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43e0: R_FRV_FUNCDESC_VALUE \.text
+ 43e4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43e8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43e8: R_FRV_FUNCDESC_VALUE \.text
+ 43ec: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f0: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43f0: R_FRV_FUNCDESC_VALUE \.text
+ 43f4: 00 00 00 00 add\.p gr0,gr0,gr0
+ 43f8: 00 00 00 08 add\.p gr0,gr8,gr0
+ 43f8: R_FRV_FUNCDESC_VALUE \.text
+ 43fc: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4400: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4400: R_FRV_FUNCDESC_VALUE \.text
+ 4404: 00 00 00 00 add\.p gr0,gr0,gr0
+ 4408: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4408: R_FRV_FUNCDESC_VALUE \.text
+ 440c: 00 00 00 00 add\.p gr0,gr0,gr0
-00010410 <_GLOBAL_OFFSET_TABLE_>:
+00004410 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 1041c: 00 00 00 08 add\.p gr0,gr8,gr0
- 1041c: R_FRV_32 \.got
- 10420: 00 00 00 08 add\.p gr0,gr8,gr0
- 10420: R_FRV_32 \.text
- 10424: 00 00 00 08 add\.p gr0,gr8,gr0
- 10424: R_FRV_32 \.text
- 10428: 00 00 00 20 add\.p gr0,gr32,gr0
- 10428: R_FRV_32 \.got
- 1042c: 00 00 00 18 add\.p gr0,gr24,gr0
- 1042c: R_FRV_32 \.got
- 10430: 00 00 00 08 add\.p gr0,gr8,gr0
- 10430: R_FRV_32 \.data
- 10434: 00 00 00 08 add\.p gr0,gr8,gr0
- 10434: R_FRV_32 \.text
+ 441c: 00 00 00 08 add\.p gr0,gr8,gr0
+ 441c: R_FRV_32 \.got
+ 4420: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4420: R_FRV_32 \.text
+ 4424: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4424: R_FRV_32 \.text
+ 4428: 00 00 00 20 add\.p gr0,gr32,gr0
+ 4428: R_FRV_32 \.got
+ 442c: 00 00 00 18 add\.p gr0,gr24,gr0
+ 442c: R_FRV_32 \.got
+ 4430: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4430: R_FRV_32 \.data
+ 4434: 00 00 00 08 add\.p gr0,gr8,gr0
+ 4434: R_FRV_32 \.text
diff --git a/ld/testsuite/ld-frv/fdpic-static-1.d b/ld/testsuite/ld-frv/fdpic-static-1.d
index 246e24e..dd3a498 100644
--- a/ld/testsuite/ld-frv/fdpic-static-1.d
+++ b/ld/testsuite/ld-frv/fdpic-static-1.d
@@ -33,31 +33,31 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 24 sub\.p gr32,gr36,gr0
- 100e4: 00 02 01 28 sub\.p gr32,gr40,gr0
- 100e8: 00 02 01 10 sub\.p gr32,gr16,gr0
- 100ec: 00 02 01 14 sub\.p gr32,gr20,gr0
- 100f0: 00 02 01 2c sub\.p gr32,gr44,gr0
- 100f4: 00 02 01 04 sub\.p gr32,gr4,gr0
- 100f8: 00 02 01 08 sub\.p gr32,gr8,gr0
- 100fc: 00 02 01 0c sub\.p gr32,gr12,gr0
- 10100: 00 02 01 18 sub\.p gr32,gr24,gr0
+ 100e0: 00 01 41 24 sub\.p gr20,gr36,gr0
+ 100e4: 00 01 41 28 sub\.p gr20,gr40,gr0
+ 100e8: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 100ec: 00 01 41 14 sub\.p gr20,gr20,gr0
+ 100f0: 00 01 41 2c sub\.p gr20,gr44,gr0
+ 100f4: 00 01 41 04 sub\.p gr20,gr4,gr0
+ 100f8: 00 01 41 08 sub\.p gr20,gr8,gr0
+ 100fc: 00 01 41 0c sub\.p gr20,gr12,gr0
+ 10100: 00 01 41 18 sub\.p gr20,gr24,gr0
Disassembly of section \.data:
-00020104 <D1>:
- 20104: 00 02 01 08 sub\.p gr32,gr8,gr0
+00014104 <D1>:
+ 14104: 00 01 41 08 sub\.p gr20,gr8,gr0
-00020108 <\.D0>:
- 20108: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2010c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+00014108 <\.D0>:
+ 14108: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1410c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
Disassembly of section \.got:
-00020110 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 20110: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20114: 00 02 01 18 sub\.p gr32,gr24,gr0
+00014110 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 14110: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14114: 00 01 41 18 sub\.p gr20,gr24,gr0
-00020118 <_GLOBAL_OFFSET_TABLE_>:
+00014118 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20124: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20128: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2012c: 00 02 01 08 sub\.p gr32,gr8,gr0
+ 14124: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14128: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1412c: 00 01 41 08 sub\.p gr20,gr8,gr0
diff --git a/ld/testsuite/ld-frv/fdpic-static-2.d b/ld/testsuite/ld-frv/fdpic-static-2.d
index 1c6b371..26003b3 100644
--- a/ld/testsuite/ld-frv/fdpic-static-2.d
+++ b/ld/testsuite/ld-frv/fdpic-static-2.d
@@ -33,63 +33,63 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 98 subx\.p gr32,gr24,gr0,icc0
- 100e4: 00 02 01 ac subx\.p gr32,gr44,gr0,icc0
- 100e8: 00 02 01 a8 subx\.p gr32,gr40,gr0,icc0
- 100ec: 00 02 01 94 subx\.p gr32,gr20,gr0,icc0
- 100f0: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 100f4: 00 02 01 64 subcc\.p gr32,gr36,gr0,icc0
- 100f8: 00 02 01 a0 subx\.p gr32,gr32,gr0,icc0
- 100fc: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 10100: 00 02 01 74 subcc\.p gr32,gr52,gr0,icc0
- 10104: 00 02 01 9c subx\.p gr32,gr28,gr0,icc0
- 10108: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 1010c: 00 02 01 7c subcc\.p gr32,gr60,gr0,icc0
- 10110: 00 02 01 80 subx\.p gr32,gr0,gr0,icc0
- 10114: 00 02 01 84 subx\.p gr32,gr4,gr0,icc0
- 10118: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 1011c: 00 02 01 5c subcc\.p gr32,gr28,gr0,icc0
- 10120: 00 02 01 50 subcc\.p gr32,gr16,gr0,icc0
- 10124: 00 02 01 54 subcc\.p gr32,gr20,gr0,icc0
- 10128: 00 02 01 a4 subx\.p gr32,gr36,gr0,icc0
- 1012c: 00 02 01 44 subcc\.p gr32,gr4,gr0,icc0
- 10130: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 10134: 00 02 01 6c subcc\.p gr32,gr44,gr0,icc0
- 10138: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 1013c: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 10140: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+ 100e0: 00 01 41 98 subx\.p gr20,gr24,gr0,icc0
+ 100e4: 00 01 41 ac subx\.p gr20,gr44,gr0,icc0
+ 100e8: 00 01 41 a8 subx\.p gr20,gr40,gr0,icc0
+ 100ec: 00 01 41 94 subx\.p gr20,gr20,gr0,icc0
+ 100f0: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 100f4: 00 01 41 64 subcc\.p gr20,gr36,gr0,icc0
+ 100f8: 00 01 41 a0 subx\.p gr20,gr32,gr0,icc0
+ 100fc: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 10100: 00 01 41 74 subcc\.p gr20,gr52,gr0,icc0
+ 10104: 00 01 41 9c subx\.p gr20,gr28,gr0,icc0
+ 10108: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 1010c: 00 01 41 7c subcc\.p gr20,gr60,gr0,icc0
+ 10110: 00 01 41 80 subx\.p gr20,gr0,gr0,icc0
+ 10114: 00 01 41 84 subx\.p gr20,gr4,gr0,icc0
+ 10118: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 1011c: 00 01 41 5c subcc\.p gr20,gr28,gr0,icc0
+ 10120: 00 01 41 50 subcc\.p gr20,gr16,gr0,icc0
+ 10124: 00 01 41 54 subcc\.p gr20,gr20,gr0,icc0
+ 10128: 00 01 41 a4 subx\.p gr20,gr36,gr0,icc0
+ 1012c: 00 01 41 44 subcc\.p gr20,gr4,gr0,icc0
+ 10130: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 10134: 00 01 41 6c subcc\.p gr20,gr44,gr0,icc0
+ 10138: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 1013c: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 10140: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
Disassembly of section \.data:
-00020144 <D2>:
- 20144: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
+00014144 <D2>:
+ 14144: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
-00020148 <GD0>:
- 20148: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 2014c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+00014148 <GD0>:
+ 14148: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 1414c: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
Disassembly of section \.got:
-00020150 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 20150: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20154: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20158: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2015c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20160: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20164: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20168: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2016c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20170: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20174: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20178: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2017c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20180: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 20184: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+00014150 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 14150: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14154: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14158: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1415c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14160: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14164: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14168: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1416c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14170: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14174: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14178: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1417c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14180: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14184: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
-00020188 <_GLOBAL_OFFSET_TABLE_>:
+00014188 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20194: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 20198: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 2019c: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 201a0: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 201a4: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 201a8: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
- 201ac: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 14194: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 14198: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 1419c: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 141a0: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 141a4: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 141a8: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
+ 141ac: 00 01 00 98 addx\.p gr16,gr24,gr0,icc0
diff --git a/ld/testsuite/ld-frv/fdpic-static-6.d b/ld/testsuite/ld-frv/fdpic-static-6.d
index 5b59947..54a225b 100644
--- a/ld/testsuite/ld-frv/fdpic-static-6.d
+++ b/ld/testsuite/ld-frv/fdpic-static-6.d
@@ -1,4 +1,4 @@
-#name: FRV uClinux PIC relocs to undefined symbols, static linking
+#name: FRV uClinux PIC relocs to weak undefined symbols, static linking
#source: fdpic6.s
#objdump: -D
#as: -mfdpic
diff --git a/ld/testsuite/ld-frv/fdpic-static-7.d b/ld/testsuite/ld-frv/fdpic-static-7.d
index b8eba61..0363a67 100644
--- a/ld/testsuite/ld-frv/fdpic-static-7.d
+++ b/ld/testsuite/ld-frv/fdpic-static-7.d
@@ -33,31 +33,31 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 24 sub\.p gr32,gr36,gr0
- 100e4: 00 02 01 28 sub\.p gr32,gr40,gr0
- 100e8: 00 02 01 10 sub\.p gr32,gr16,gr0
- 100ec: 00 02 01 14 sub\.p gr32,gr20,gr0
- 100f0: 00 02 01 2c sub\.p gr32,gr44,gr0
- 100f4: 00 02 01 04 sub\.p gr32,gr4,gr0
- 100f8: 00 02 01 08 sub\.p gr32,gr8,gr0
- 100fc: 00 02 01 0c sub\.p gr32,gr12,gr0
- 10100: 00 02 01 18 sub\.p gr32,gr24,gr0
+ 100e0: 00 01 41 24 sub\.p gr20,gr36,gr0
+ 100e4: 00 01 41 28 sub\.p gr20,gr40,gr0
+ 100e8: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 100ec: 00 01 41 14 sub\.p gr20,gr20,gr0
+ 100f0: 00 01 41 2c sub\.p gr20,gr44,gr0
+ 100f4: 00 01 41 04 sub\.p gr20,gr4,gr0
+ 100f8: 00 01 41 08 sub\.p gr20,gr8,gr0
+ 100fc: 00 01 41 0c sub\.p gr20,gr12,gr0
+ 10100: 00 01 41 18 sub\.p gr20,gr24,gr0
Disassembly of section \.data:
-00020104 <D7>:
- 20104: 00 02 01 0c sub\.p gr32,gr12,gr0
+00014104 <D7>:
+ 14104: 00 01 41 0c sub\.p gr20,gr12,gr0
-00020108 <\.D0>:
- 20108: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2010c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+00014108 <\.D0>:
+ 14108: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1410c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
Disassembly of section \.got:
-00020110 <_GLOBAL_OFFSET_TABLE_-0x8>:
- 20110: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20114: 00 02 01 18 sub\.p gr32,gr24,gr0
+00014110 <_GLOBAL_OFFSET_TABLE_-0x8>:
+ 14110: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14114: 00 01 41 18 sub\.p gr20,gr24,gr0
-00020118 <_GLOBAL_OFFSET_TABLE_>:
+00014118 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20124: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20128: 00 02 01 10 sub\.p gr32,gr16,gr0
- 2012c: 00 02 01 0c sub\.p gr32,gr12,gr0
+ 14124: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14128: 00 01 41 10 sub\.p gr20,gr16,gr0
+ 1412c: 00 01 41 0c sub\.p gr20,gr12,gr0
diff --git a/ld/testsuite/ld-frv/fdpic-static-8.d b/ld/testsuite/ld-frv/fdpic-static-8.d
index cbebb17..804c56e 100644
--- a/ld/testsuite/ld-frv/fdpic-static-8.d
+++ b/ld/testsuite/ld-frv/fdpic-static-8.d
@@ -33,63 +33,63 @@ Disassembly of section \.text:
Disassembly of section \.rofixup:
000100e0 <__ROFIXUP_LIST__>:
- 100e0: 00 02 01 98 subx\.p gr32,gr24,gr0,icc0
- 100e4: 00 02 01 9c subx\.p gr32,gr28,gr0,icc0
- 100e8: 00 02 01 ac subx\.p gr32,gr44,gr0,icc0
- 100ec: 00 02 01 94 subx\.p gr32,gr20,gr0,icc0
- 100f0: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 100f4: 00 02 01 5c subcc\.p gr32,gr28,gr0,icc0
- 100f8: 00 02 01 a4 subx\.p gr32,gr36,gr0,icc0
- 100fc: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 10100: 00 02 01 6c subcc\.p gr32,gr44,gr0,icc0
- 10104: 00 02 01 a0 subx\.p gr32,gr32,gr0,icc0
- 10108: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 1010c: 00 02 01 74 subcc\.p gr32,gr52,gr0,icc0
- 10110: 00 02 01 80 subx\.p gr32,gr0,gr0,icc0
- 10114: 00 02 01 84 subx\.p gr32,gr4,gr0,icc0
- 10118: 00 02 01 78 subcc\.p gr32,gr56,gr0,icc0
- 1011c: 00 02 01 7c subcc\.p gr32,gr60,gr0,icc0
- 10120: 00 02 01 50 subcc\.p gr32,gr16,gr0,icc0
- 10124: 00 02 01 54 subcc\.p gr32,gr20,gr0,icc0
- 10128: 00 02 01 a8 subx\.p gr32,gr40,gr0,icc0
- 1012c: 00 02 01 44 subcc\.p gr32,gr4,gr0,icc0
- 10130: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 10134: 00 02 01 64 subcc\.p gr32,gr36,gr0,icc0
- 10138: 00 02 01 48 subcc\.p gr32,gr8,gr0,icc0
- 1013c: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 10140: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+ 100e0: 00 01 41 98 subx\.p gr20,gr24,gr0,icc0
+ 100e4: 00 01 41 9c subx\.p gr20,gr28,gr0,icc0
+ 100e8: 00 01 41 ac subx\.p gr20,gr44,gr0,icc0
+ 100ec: 00 01 41 94 subx\.p gr20,gr20,gr0,icc0
+ 100f0: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 100f4: 00 01 41 5c subcc\.p gr20,gr28,gr0,icc0
+ 100f8: 00 01 41 a4 subx\.p gr20,gr36,gr0,icc0
+ 100fc: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 10100: 00 01 41 6c subcc\.p gr20,gr44,gr0,icc0
+ 10104: 00 01 41 a0 subx\.p gr20,gr32,gr0,icc0
+ 10108: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 1010c: 00 01 41 74 subcc\.p gr20,gr52,gr0,icc0
+ 10110: 00 01 41 80 subx\.p gr20,gr0,gr0,icc0
+ 10114: 00 01 41 84 subx\.p gr20,gr4,gr0,icc0
+ 10118: 00 01 41 78 subcc\.p gr20,gr56,gr0,icc0
+ 1011c: 00 01 41 7c subcc\.p gr20,gr60,gr0,icc0
+ 10120: 00 01 41 50 subcc\.p gr20,gr16,gr0,icc0
+ 10124: 00 01 41 54 subcc\.p gr20,gr20,gr0,icc0
+ 10128: 00 01 41 a8 subx\.p gr20,gr40,gr0,icc0
+ 1012c: 00 01 41 44 subcc\.p gr20,gr4,gr0,icc0
+ 10130: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 10134: 00 01 41 64 subcc\.p gr20,gr36,gr0,icc0
+ 10138: 00 01 41 48 subcc\.p gr20,gr8,gr0,icc0
+ 1013c: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 10140: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
Disassembly of section \.data:
-00020144 <D8>:
- 20144: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
+00014144 <D8>:
+ 14144: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
-00020148 <GD0>:
- 20148: 00 02 01 60 subcc\.p gr32,gr32,gr0,icc0
- 2014c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+00014148 <GD0>:
+ 14148: 00 01 41 60 subcc\.p gr20,gr32,gr0,icc0
+ 1414c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
Disassembly of section \.got:
-00020150 <_GLOBAL_OFFSET_TABLE_-0x38>:
- 20150: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20154: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20158: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2015c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20160: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20164: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20168: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2016c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20170: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20174: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20178: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2017c: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
- 20180: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 20184: 00 02 01 88 subx\.p gr32,gr8,gr0,icc0
+00014150 <_GLOBAL_OFFSET_TABLE_-0x38>:
+ 14150: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14154: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14158: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1415c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14160: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14164: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14168: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1416c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14170: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14174: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14178: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1417c: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
+ 14180: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14184: 00 01 41 88 subx\.p gr20,gr8,gr0,icc0
-00020188 <_GLOBAL_OFFSET_TABLE_>:
+00014188 <_GLOBAL_OFFSET_TABLE_>:
\.\.\.
- 20194: 00 02 01 58 subcc\.p gr32,gr24,gr0,icc0
- 20198: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 2019c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
- 201a0: 00 02 01 70 subcc\.p gr32,gr48,gr0,icc0
- 201a4: 00 02 01 68 subcc\.p gr32,gr40,gr0,icc0
- 201a8: 00 02 01 4c subcc\.p gr32,gr12,gr0,icc0
- 201ac: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 14194: 00 01 41 58 subcc\.p gr20,gr24,gr0,icc0
+ 14198: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 1419c: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
+ 141a0: 00 01 41 70 subcc\.p gr20,gr48,gr0,icc0
+ 141a4: 00 01 41 68 subcc\.p gr20,gr40,gr0,icc0
+ 141a8: 00 01 41 4c subcc\.p gr20,gr12,gr0,icc0
+ 141ac: 00 01 00 9c addx\.p gr16,gr28,gr0,icc0
diff --git a/ld/testsuite/ld-frv/fdpic.exp b/ld/testsuite/ld-frv/fdpic.exp
index dc06d4e..1367cb0 100644
--- a/ld/testsuite/ld-frv/fdpic.exp
+++ b/ld/testsuite/ld-frv/fdpic.exp
@@ -42,7 +42,9 @@ run_dump_test "fdpic-pie-5"
run_dump_test "fdpic-shared-5"
run_dump_test "fdpic-static-6"
+run_dump_test "fdpic-pie-6-fail"
run_dump_test "fdpic-pie-6"
+run_dump_test "fdpic-shared-6-fail"
run_dump_test "fdpic-shared-6"
run_dump_test "fdpic-static-7"
@@ -50,7 +52,6 @@ run_dump_test "fdpic-pie-7"
run_dump_test "fdpic-shared-7"
run_dump_test "fdpic-static-8"
-run_dump_test "fdpic-pie-8-fail"
run_dump_test "fdpic-pie-8"
run_dump_test "fdpic-shared-8-fail"
run_dump_test "fdpic-shared-8"
diff --git a/ld/testsuite/ld-frv/fr450-link.d b/ld/testsuite/ld-frv/fr450-link.d
new file mode 100644
index 0000000..7aab6f0
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-link.d
@@ -0,0 +1,11 @@
+#source: fr450-linka.s -mcpu=fr400
+#source: fr450-linkb.s -mcpu=fr405
+#source: fr450-linkc.s -mcpu=fr450
+#source: fr450-linkb.s -mcpu=fr405
+#source: fr450-linka.s -mcpu=fr400
+#ld: -r
+#objdump: -p
+
+.*: file format elf32-frv
+private flags = 0x8000000: -mcpu=fr450
+
diff --git a/ld/testsuite/ld-frv/fr450-linka.s b/ld/testsuite/ld-frv/fr450-linka.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linka.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/fr450-linkb.s b/ld/testsuite/ld-frv/fr450-linkb.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linkb.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/fr450-linkc.s b/ld/testsuite/ld-frv/fr450-linkc.s
new file mode 100644
index 0000000..4e7fe2f
--- /dev/null
+++ b/ld/testsuite/ld-frv/fr450-linkc.s
@@ -0,0 +1 @@
+ nop
diff --git a/ld/testsuite/ld-frv/frv-elf.exp b/ld/testsuite/ld-frv/frv-elf.exp
new file mode 100644
index 0000000..1d63e03
--- /dev/null
+++ b/ld/testsuite/ld-frv/frv-elf.exp
@@ -0,0 +1,3 @@
+if [istarget frv*-*-*] {
+ run_dump_test "fr450-link"
+}
diff --git a/ld/testsuite/ld-i386/tlspic.dd b/ld/testsuite/ld-i386/tlspic.dd
index 60bcfaa..7f1690c 100644
--- a/ld/testsuite/ld-i386/tlspic.dd
+++ b/ld/testsuite/ld-i386/tlspic.dd
@@ -24,7 +24,7 @@ Disassembly of section .text:
# GD
[0-9a-f]+: 8d 04 1d 5c 00 00 00 lea 0x5c\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 sg1
- [0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -57,7 +57,7 @@ Disassembly of section .text:
# GD against local variable
[0-9a-f]+: 8d 04 1d 10 00 00 00 lea 0x10\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x20000000]
- [0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -90,7 +90,7 @@ Disassembly of section .text:
# GD against hidden and local variable
[0-9a-f]+: 8d 04 1d 7c 00 00 00 lea 0x7c\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x40000000]
- [0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -123,7 +123,7 @@ Disassembly of section .text:
# GD against hidden but not local variable
[0-9a-f]+: 8d 04 1d 34 00 00 00 lea 0x34\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x60000000]
- [0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -156,7 +156,7 @@ Disassembly of section .text:
# LD
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -173,7 +173,7 @@ Disassembly of section .text:
# LD against hidden and local variables
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -190,7 +190,7 @@ Disassembly of section .text:
# LD against hidden but not local variables
[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
- [0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
+ [0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt>
# ->R_386_JUMP_SLOT ___tls_get_addr
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
diff --git a/ld/testsuite/ld-mips-elf/empic1-ln.d b/ld/testsuite/ld-mips-elf/empic1-ln.d
deleted file mode 100644
index eb78478..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-ln.d
+++ /dev/null
@@ -1,27 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-ln (large negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-space.s
-#source: empic1-space.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+410020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
- ...
- ...
-0+410020 <[^>]*> 00000000 nop
-0+410024 <[^>]*> 3c02ffff lui v0,0xffff
-0+410028 <[^>]*> 6442ffe0 daddiu v0,v0,-32
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-lp.d b/ld/testsuite/ld-mips-elf/empic1-lp.d
deleted file mode 100644
index bd11e52..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-lp.d
+++ /dev/null
@@ -1,26 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-lp (large positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-space.s
-#source: empic1-space.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+410020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020001 lui v0,0x1
-0+400008 <[^>]*> 64420020 daddiu v0,v0,32
- ...
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-mn.d b/ld/testsuite/ld-mips-elf/empic1-mn.d
deleted file mode 100644
index fa43abf..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-mn.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-mn (medium negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-space.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+408020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
- ...
-0+408020 <[^>]*> 00000000 nop
-0+408024 <[^>]*> 3c02ffff lui v0,0xffff
-0+408028 <[^>]*> 64427fe0 daddiu v0,v0,32736
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-mp.d b/ld/testsuite/ld-mips-elf/empic1-mp.d
deleted file mode 100644
index 27d1574..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-mp.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-mp (medium positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-space.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+408020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020001 lui v0,0x1
-0+400008 <[^>]*> 64428020 daddiu v0,v0,-32736
- ...
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-ref.s b/ld/testsuite/ld-mips-elf/empic1-ref.s
deleted file mode 100644
index dfa345e..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-ref.s
+++ /dev/null
@@ -1,9 +0,0 @@
-
- .globl foo
- .ent foo
-foo:
- nop
- la $2, bar - foo
- .end foo
-
- .p2align 5
diff --git a/ld/testsuite/ld-mips-elf/empic1-sn.d b/ld/testsuite/ld-mips-elf/empic1-sn.d
deleted file mode 100644
index 6d041ed..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-sn.d
+++ /dev/null
@@ -1,23 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-sn (small negative)
-#as: -membedded-pic -mips3
-#source: empic1-tgt.s
-#source: empic1-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400020 g F .text [0-9a-f]+ foo
-#...
-0+400000 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+400020 <[^>]*> 00000000 nop
-0+400024 <[^>]*> 3c020000 lui v0,0x0
-0+400028 <[^>]*> 6442ffe0 daddiu v0,v0,-32
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-sp.d b/ld/testsuite/ld-mips-elf/empic1-sp.d
deleted file mode 100644
index f91d625..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-sp.d
+++ /dev/null
@@ -1,23 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #1-sp (small positive)
-#as: -membedded-pic -mips3
-#source: empic1-ref.s
-#source: empic1-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-SYMBOL TABLE:
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+400020 g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 00000000 nop
-0+400004 <[^>]*> 3c020000 lui v0,0x0
-0+400008 <[^>]*> 64420020 daddiu v0,v0,32
- ...
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic1-space.s b/ld/testsuite/ld-mips-elf/empic1-space.s
deleted file mode 100644
index 9c30cfb..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-space.s
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .ent space
-space:
- .space (32 * 1024)
- .end space
diff --git a/ld/testsuite/ld-mips-elf/empic1-tgt.s b/ld/testsuite/ld-mips-elf/empic1-tgt.s
deleted file mode 100644
index 909488c..0000000
--- a/ld/testsuite/ld-mips-elf/empic1-tgt.s
+++ /dev/null
@@ -1,8 +0,0 @@
-
- .globl bar
- .ent bar
-bar:
- nop
- .end bar
-
- .p2align 5
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-0.d b/ld/testsuite/ld-mips-elf/empic2-fwd-0.d
deleted file mode 100644
index e53f1fa..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-0.d
+++ /dev/null
@@ -1,20 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-fwd-0 (0x7ffc forward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-ref.s
-#source: empic2-fwd-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 3c020000 lui v0,0x0
-0+400004 <[^>]*> 64427ffc daddiu v0,v0,32764
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-1.d b/ld/testsuite/ld-mips-elf/empic2-fwd-1.d
deleted file mode 100644
index e720852..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-1.d
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-fwd-1 (0xfffc forward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-ref.s
-#source: empic2-space.s
-#source: empic2-fwd-tgt.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+400000 g F .text [0-9a-f]+ foo
-#...
-0+40fffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
-0+400000 <[^>]*> 3c020001 lui v0,0x1
-0+400004 <[^>]*> 6442fffc daddiu v0,v0,-4
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s b/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
deleted file mode 100644
index 915cf45..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
+++ /dev/null
@@ -1,7 +0,0 @@
-
- .space (32768 - 16 - 4) # 16..32764
-
- .globl bar
- .ent bar
-bar:
- .end bar
diff --git a/ld/testsuite/ld-mips-elf/empic2-ref.s b/ld/testsuite/ld-mips-elf/empic2-ref.s
deleted file mode 100644
index 7048887..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-ref.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .globl foo
- .ent foo
-foo:
- la $2,bar-foo
- .end foo
-
- .p2align 4
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-0.d b/ld/testsuite/ld-mips-elf/empic2-rev-0.d
deleted file mode 100644
index 9bd9acc..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-0.d
+++ /dev/null
@@ -1,22 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-rev-0 (0x0004 backward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-rev-tgt.s
-#source: empic2-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+408000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+407ffc <[^>]*> 00000000 nop
-0+408000 <[^>]*> 3c020000 lui v0,0x0
-0+408004 <[^>]*> 6442fffc daddiu v0,v0,-4
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-1.d b/ld/testsuite/ld-mips-elf/empic2-rev-1.d
deleted file mode 100644
index 1a38ec2..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-1.d
+++ /dev/null
@@ -1,24 +0,0 @@
-#name: MIPS 32-bit ELF embedded-pic relocs #2-rev-1 (0x8004 backward edge case)
-#as: -membedded-pic -mips3
-#source: empic2-rev-tgt.s
-#source: empic2-space.s
-#source: empic2-ref.s
-#objdump: --prefix-addresses -tdr --show-raw-insn -mmips:4000
-#ld: -Ttext 0x400000 -e 0x400000
-
-.*: file format elf.*mips.*
-
-#...
-0+410000 g F .text [0-9a-f]+ foo
-#...
-0+407ffc g F .text [0-9a-f]+ bar
-#...
-
-Disassembly of section \.text:
- ...
-0+407ffc <[^>]*> 00000000 nop
- ...
-0+410000 <[^>]*> 3c02ffff lui v0,0xffff
-0+410004 <[^>]*> 64427ffc daddiu v0,v0,32764
- ...
-#pass
diff --git a/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s b/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
deleted file mode 100644
index 8124cfe..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
+++ /dev/null
@@ -1,8 +0,0 @@
-
- .space (32768 - 4)
-
- .globl bar
- .ent bar
-bar:
- .space 4
- .end bar
diff --git a/ld/testsuite/ld-mips-elf/empic2-space.s b/ld/testsuite/ld-mips-elf/empic2-space.s
deleted file mode 100644
index 9c30cfb..0000000
--- a/ld/testsuite/ld-mips-elf/empic2-space.s
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .ent space
-space:
- .space (32 * 1024)
- .end space
diff --git a/ld/testsuite/ld-mips-elf/emrelocs-eb.d b/ld/testsuite/ld-mips-elf/emrelocs-eb.d
deleted file mode 100644
index dd79bdd..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs-eb.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded relocs (big endian)
-#source: emrelocs1.s -EB
-#source: emrelocs2.s -EB
-#ld: -EB --embedded-relocs -T $srcdir/$subdir/emrelocs.ld
-#objdump: -s
-
-.*: file format elf.*mips.*
-
-Contents of section \.text:
- 100000 00000000 00000001 00000000 00000000 .*
- 100010 00000000 00000000 00000003 00000000 .*
-Contents of section \.data:
- 200000 00000000 00000002 00000000 00000000 .*
- 200010 00000000 00000000 00000004 00000000 .*
- 200020 00100004 00200004 00100018 00200018 .*
- 200030 00000000 00100004 00000000 00200004 .*
- 200040 00000000 00100018 00000000 00200018 .*
-Contents of section \.rel\.sdata:
- 300000 00000020 2e746578 74000000 00000024 .*
- 300010 2e646174 61000000 00000028 2e746578 .*
- 300020 74000000 0000002c 2e646174 61000000 .*
- 300030 00000031 2e746578 74000000 00000039 .*
- 300040 2e646174 61000000 00000041 2e746578 .*
- 300050 74000000 00000049 2e646174 61000000 .*
-#pass
diff --git a/ld/testsuite/ld-mips-elf/emrelocs-el.d b/ld/testsuite/ld-mips-elf/emrelocs-el.d
deleted file mode 100644
index ad1e495..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs-el.d
+++ /dev/null
@@ -1,25 +0,0 @@
-#name: MIPS 32-bit ELF embedded relocs (little endian)
-#source: emrelocs1.s -EL
-#source: emrelocs2.s -EL
-#ld: -EL --embedded-relocs -T $srcdir/$subdir/emrelocs.ld
-#objdump: -s
-
-.*: file format elf.*mips.*
-
-Contents of section \.text:
- 100000 00000000 01000000 00000000 00000000 .*
- 100010 00000000 00000000 03000000 00000000 .*
-Contents of section \.data:
- 200000 00000000 02000000 00000000 00000000 .*
- 200010 00000000 00000000 04000000 00000000 .*
- 200020 04001000 04002000 18001000 18002000 .*
- 200030 04001000 00000000 04002000 00000000 .*
- 200040 18001000 00000000 18002000 00000000 .*
-Contents of section \.rel\.sdata:
- 300000 20000000 2e746578 74000000 24000000 .*
- 300010 2e646174 61000000 28000000 2e746578 .*
- 300020 74000000 2c000000 2e646174 61000000 .*
- 300030 31000000 2e746578 74000000 39000000 .*
- 300040 2e646174 61000000 41000000 2e746578 .*
- 300050 74000000 49000000 2e646174 61000000 .*
-#pass
diff --git a/ld/testsuite/ld-mips-elf/emrelocs.ld b/ld/testsuite/ld-mips-elf/emrelocs.ld
deleted file mode 100644
index 557f139..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs.ld
+++ /dev/null
@@ -1,16 +0,0 @@
-ENTRY(ext_fun)
-SECTIONS
-{
- .text 0x00100000:
- {
- *(.text)
- }
- .data 0x00200000:
- {
- *(.sdata)
- }
- .rel.sdata 0x00300000:
- {
- *(.rel.sdata)
- }
-}
diff --git a/ld/testsuite/ld-mips-elf/emrelocs1.s b/ld/testsuite/ld-mips-elf/emrelocs1.s
deleted file mode 100644
index 3e679ae..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs1.s
+++ /dev/null
@@ -1,23 +0,0 @@
-# emrelocs1.s: some external symbols to be used in relocations.
-
- .text
- .p2align 4
-
- # Pad things so addresses which are used for relocations
- # are non-zero. Zero simply isn't as much fun.
- .word 0
-
- .globl ext_fun
- .ent ext_fun
-ext_fun: .word 1
- .end ext_fun
-
-
- .sdata
- .p2align 4
-
- # Padding here, for same reason.
- .word 0
-
- .globl ext_var
-ext_var: .word 2
diff --git a/ld/testsuite/ld-mips-elf/emrelocs2.s b/ld/testsuite/ld-mips-elf/emrelocs2.s
deleted file mode 100644
index 77570f1..0000000
--- a/ld/testsuite/ld-mips-elf/emrelocs2.s
+++ /dev/null
@@ -1,30 +0,0 @@
-# emrelocs2.s: local symbols and data which causes relocations.
-
- .text
- .p2align 4
-
- .word 0, 0
-
- .ent lcl_fun
-lcl_fun: .word 3
- .end lcl_fun
-
-
- .sdata
- .p2align 4
-
- .word 0, 0
-
-lcl_var: .word 4
-
- .p2align 4
-
- .word ext_fun
- .word ext_var
- .word lcl_fun
- .word lcl_var
-
- .dword ext_fun
- .dword ext_var
- .dword lcl_fun
- .dword lcl_var
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index f2194a1..36fae9b 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -58,25 +58,6 @@ if { $linux_gnu } {
}
if { $embedded_elf } {
- # Check basic Embedded-PIC PC-relative HI/LO relocs.
- run_dump_test "empic1-ln"
- run_dump_test "empic1-lp"
- run_dump_test "empic1-mn"
- run_dump_test "empic1-mp"
- run_dump_test "empic1-sn"
- run_dump_test "empic1-sp"
-
- # Embedded-PIC PC-relative HI/LO reloc edge-case regression tests.
- # As of 2001-12-26, the linker botches the fwd-0 and rev-1 tests.
- run_dump_test "empic2-fwd-0"
- run_dump_test "empic2-fwd-1"
- run_dump_test "empic2-rev-0"
- run_dump_test "empic2-rev-1"
-
- # Check generation of embedded relocs section.
- run_dump_test "emrelocs-eb"
- run_dump_test "emrelocs-el"
-
run_dump_test "region1"
}
@@ -93,7 +74,3 @@ if $has_newabi {
}
}
run_dump_test "reloc-2"
-if $embedded_elf {
- run_dump_test "reloc-3-r"
- run_dump_test "reloc-3-srec"
-}
diff --git a/ld/testsuite/ld-mips-elf/reloc-3-r.d b/ld/testsuite/ld-mips-elf/reloc-3-r.d
deleted file mode 100644
index 9624e6e..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3-r.d
+++ /dev/null
@@ -1,83 +0,0 @@
-#source: reloc-3a.s -mabi=32 -membedded-pic
-#source: reloc-3b.s -mabi=32 -membedded-pic
-#ld: -r
-#objdump: -dr
-
-.*: file format .*
-
-Disassembly of section \.text:
-
-.* <.*>:
-#
-# Relocations against lda
-#
-.*: 3c04ffff lui a0,0xffff
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24847ffc addiu a0,a0,32764
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848014 addiu a0,a0,-32748
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484001c addiu a0,a0,28
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848014 addiu a0,a0,-32748
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484803c addiu a0,a0,-32708
- .*: R_MIPS_GNU_REL_LO16 \.text2
- \.\.\.
-
-.* <.*>:
-#
-# Relocations against gd
-#
-.*: 3c04ffff lui a0,0xffff
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24847ff4 addiu a0,a0,32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 2484800c addiu a0,a0,-32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24840014 addiu a0,a0,20
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 2484800c addiu a0,a0,-32756
- .*: R_MIPS_GNU_REL_LO16 gd
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 gd
-.*: 24848034 addiu a0,a0,-32716
- .*: R_MIPS_GNU_REL_LO16 gd
-#
-# Relocations against ldb
-#
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484802c addiu a0,a0,-32724
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848044 addiu a0,a0,-32700
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040000 lui a0,0x0
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484004c addiu a0,a0,76
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 24848044 addiu a0,a0,-32700
- .*: R_MIPS_GNU_REL_LO16 \.text2
-.*: 3c040001 lui a0,0x1
- .*: R_MIPS_GNU_REL_HI16 \.text2
-.*: 2484806c addiu a0,a0,-32660
- .*: R_MIPS_GNU_REL_LO16 \.text2
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/reloc-3-srec.d b/ld/testsuite/ld-mips-elf/reloc-3-srec.d
deleted file mode 100644
index a4a7d24..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3-srec.d
+++ /dev/null
@@ -1,54 +0,0 @@
-#source: reloc-3a.s -mabi=32 -membedded-pic -EB
-#source: reloc-3b.s -mabi=32 -membedded-pic -EB
-#ld: --oformat=srec -Treloc-3.ld
-#objdump: -D -mmips:4000 --endian=big
-
-.*: file format .*
-
-Disassembly of section .*:
-
-.* <.*>:
-# .text2 - tstarta = 0x108000
-# .text2 - tstartb = 0x098010
-#
-# Relocations against lda
-#
-.*: 3c040010 lui a0,0x10
-.*: 2484fff8 addiu a0,a0,-8
-.*: 3c040010 lui a0,0x10
-.*: 24840008 addiu a0,a0,8
-.*: 3c040011 lui a0,0x11
-.*: 24848008 addiu a0,a0,-32760
-.*: 3c040011 lui a0,0x11
-.*: 2484fff8 addiu a0,a0,-8
-.*: 3c040011 lui a0,0x11
-.*: 24840018 addiu a0,a0,24
- \.\.\.
-#
-# Relocations against gd
-#
-.*: 3c04000f lui a0,0xf
-.*: 24840004 addiu a0,a0,4
-.*: 3c04000f lui a0,0xf
-.*: 24840014 addiu a0,a0,20
-.*: 3c040010 lui a0,0x10
-.*: 24848014 addiu a0,a0,-32748
-.*: 3c040010 lui a0,0x10
-.*: 24840004 addiu a0,a0,4
-.*: 3c040010 lui a0,0x10
-.*: 24840024 addiu a0,a0,36
-#
-# Relocations against ldb
-#
-.*: 3c04000f lui a0,0xf
-.*: 24840010 addiu a0,a0,16
-.*: 3c04000f lui a0,0xf
-.*: 24840020 addiu a0,a0,32
-.*: 3c040010 lui a0,0x10
-.*: 24848020 addiu a0,a0,-32736
-.*: 3c040010 lui a0,0x10
-.*: 24840010 addiu a0,a0,16
-.*: 3c040010 lui a0,0x10
-.*: 24840030 addiu a0,a0,48
- \.\.\.
-#pass
diff --git a/ld/testsuite/ld-mips-elf/reloc-3.ld b/ld/testsuite/ld-mips-elf/reloc-3.ld
deleted file mode 100644
index a918bf9..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3.ld
+++ /dev/null
@@ -1,8 +0,0 @@
-SECTIONS
-{
- . = 0x208000;
- .text : { *(.text) }
- . = 0x310000;
- .text2 : { *(.text2) }
- /DISCARD/ : { *(*) }
-}
diff --git a/ld/testsuite/ld-mips-elf/reloc-3a.s b/ld/testsuite/ld-mips-elf/reloc-3a.s
deleted file mode 100644
index f0cdabd..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3a.s
+++ /dev/null
@@ -1,38 +0,0 @@
- .globl _start
- .globl gd
- .ent tstarta
-tstarta:
-_start:
- la $4,lda-tstarta-0x8010
- # (.text2+8-0x8010) - tstarta [+ (tstarta+0x4)]
- # relocation: .text2 - 0x8004
- # final value: .text2 - tstarta - 0x8008
-
- la $4,lda-tstarta-0x8000
- # (.text2+8-0x8000) - tstarta [+ (tstarta+0xc)]
- # relocation: .text2 - 0x7fec
- # final value: .text2 - tstarta - 0x7ff8
-
- la $4,lda-tstarta
- # (.text2+8) - tstarta [+ (tstarta+0x14)]
- # relocation: .text2 + 0x1c
- # final value: .text2 - tstarta + 0x8
-
- la $4,lda-tstarta+0x7ff0
- # (.text2+8+0x7ff0) - tstarta [+ (tstarta+0x1c)]
- # relocation: .text2 + 0x8014
- # final value: .text2 - tstarta + 0x7ff8
-
- la $4,lda-tstarta+0x8010 # (.text2+8)-(tstarta+0x8010)+0x24
- # (.text2+8+0x8010) - tstarta [+ (tstarta+0x24)]
- # relocation: .text2 + 0x803c
- # final value: .text2 - tstarta + 0x8018
-
- .end tstarta
-
- .org 0xfff0
- .section .text2
- .word 1
-gd: .word 2
-lda: .word 3
- .word 4
diff --git a/ld/testsuite/ld-mips-elf/reloc-3b.s b/ld/testsuite/ld-mips-elf/reloc-3b.s
deleted file mode 100644
index 8d50334..0000000
--- a/ld/testsuite/ld-mips-elf/reloc-3b.s
+++ /dev/null
@@ -1,58 +0,0 @@
- .globl _start
- .globl gd
- .ent tstartb
-tstartb:
- la $4,gd-tstartb-0x8010
- # (gd-0x8010) - tstartb [+ (tstartb+0x4)]
- # relocation: gd - 0x800c
- # final value: gd - tstartb - 0x8010
-
- la $4,gd-tstartb-0x8000
- # (gd-0x8000) - tstartb [+ (tstartb+0xc)]
- # relocation: gd - 0x7ff4
- # final value: gd - tstartb - 0x8000
-
- la $4,gd-tstartb
- # (gd) - tstartb [+ (tstartb+0x14)]
- # relocation: gd + 0x14
- # final value: gd - tstartb
-
- la $4,gd-tstartb+0x7ff0
- # (gd+0x7ff0) - tstartb [+ (tstartb+0x1c)]
- # relocation: gd + 0x800c
- # final value: gd - tstartb + 0x7ff0
-
- la $4,gd-tstartb+0x8010
- # (gd+0x8010) - tstartb [+ (tstartb+0x24)]
- # relocation: gd + 0x8034
- # final value: gd - tstartb + 0x8010
-
- la $4,ldb-tstartb-0x8010
- # (.text2+0x10-0x8010) - tstartb [+ (tstartb+0x2c)]
- # relocation: .text2 - 0x7fd4
- # final value: .text2 - tstartb - 0x8000
-
- la $4,ldb-tstartb-0x8000
- # (.text2+0x10-0x8000) - tstartb [+ (tstartb+0x34)]
- # relocation: .text2 - 0x7fbc
- # final value: .text2 - tstartb - 0x7ff0
-
- la $4,ldb-tstartb
- # (.text2+0x10) - tstartb [+ (tstartb+0x3c)]
- # relocation: .text2 + 0x4c
- # final value: .text2 - tstartb + 0x10
-
- la $4,ldb-tstartb+0x7ff0
- # (.text2+0x10+0x7ff0) - tstartb [+ (tstartb+0x44)]
- # relocation: .text2 + 0x8044
- # final value: .text2 - tstartb + 0x8000
-
- la $4,ldb-tstartb+0x8010
- # (.text2+0x10+0x8010) - tstartb [+ (tstartb+0x4c)]
- # relocation: .text2 + 0x806c
- # final value: .text2 - tstartb + 0x8020
-
- .end tstartb
- .space 16
- .section .text2
-ldb: .word 5
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index 06ad8a3..e4a61d2 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -69,7 +69,7 @@ Symbol table '\.dynsym' contains 10 entries:
+0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND
+1: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+2: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +3: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
+6: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2
@@ -109,7 +109,7 @@ Symbol table '\.symtab' contains 43 entries:
+27: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+28: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
+29: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
- +30: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +30: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+31: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+32: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
+33: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.d b/ld/testsuite/ld-powerpc/tlsexe32.d
index 4aea8f0..c2cf43f 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.d
+++ b/ld/testsuite/ld-powerpc/tlsexe32.d
@@ -43,7 +43,3 @@ Disassembly of section \.got:
18103b8: 4e 80 00 21 blrl
18103bc: 01 81 03 18 \.long 0x1810318
\.\.\.
-Disassembly of section \.plt:
-
-018103d4 <\.plt>:
- \.\.\.
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index e3c4e8e..4daae33 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -68,7 +68,7 @@ Symbol table '\.dynsym' contains 9 entries:
+0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND
+1: 0+10010448 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+2: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +3: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
+6: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
@@ -108,7 +108,7 @@ Symbol table '\.symtab' contains 44 entries:
+28: 0+10010448 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+29: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
+30: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
- +31: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +31: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+32: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
+33: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
+34: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
diff --git a/ld/testsuite/ld-powerpc/tlsso32.d b/ld/testsuite/ld-powerpc/tlsso32.d
index 3cf6a76..5e321a4 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.d
+++ b/ld/testsuite/ld-powerpc/tlsso32.d
@@ -43,7 +43,3 @@ Disassembly of section \.got:
10664: 4e 80 00 21 blrl
10668: 00 01 05 c4 \.long 0x105c4
\.\.\.
-Disassembly of section \.plt:
-
-00010698 <\.plt>:
- \.\.\.
diff --git a/ld/testsuite/ld-scripts/align.exp b/ld/testsuite/ld-scripts/align.exp
index 3959e6d..f7664ca 100644
--- a/ld/testsuite/ld-scripts/align.exp
+++ b/ld/testsuite/ld-scripts/align.exp
@@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
set testname "ALIGN"
if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] {
diff --git a/ld/testsuite/ld-scripts/assert.s b/ld/testsuite/ld-scripts/assert.s
index 0517ffe..8b13789 100644
--- a/ld/testsuite/ld-scripts/assert.s
+++ b/ld/testsuite/ld-scripts/assert.s
@@ -1 +1 @@
-#nothing here
+
diff --git a/ld/testsuite/ld-scripts/data.d b/ld/testsuite/ld-scripts/data.d
index 6284686..10b3d08 100644
--- a/ld/testsuite/ld-scripts/data.d
+++ b/ld/testsuite/ld-scripts/data.d
@@ -5,5 +5,5 @@
.*: file format .*
Contents of section .text:
- 1000 (0410)?0000(1004)? (0810)?0000(1008)? +........ *
+ [0-9a-f]* (04)?000000(04)? (0020)?0000(2000)? .*
#pass
diff --git a/ld/testsuite/ld-scripts/data.s b/ld/testsuite/ld-scripts/data.s
index 0517ffe..8b13789 100644
--- a/ld/testsuite/ld-scripts/data.s
+++ b/ld/testsuite/ld-scripts/data.s
@@ -1 +1 @@
-#nothing here
+
diff --git a/ld/testsuite/ld-scripts/data.t b/ld/testsuite/ld-scripts/data.t
index 359a02f..f56d10f 100644
--- a/ld/testsuite/ld-scripts/data.t
+++ b/ld/testsuite/ld-scripts/data.t
@@ -1,10 +1,11 @@
SECTIONS
{
- .text 0x1000 :
+ . = 0x1000 + SIZEOF_HEADERS;
+ .text ALIGN (0x20) :
{
- LONG (label)
+ LONG (label - .)
label = .;
LONG (ADDR (.other))
}
- .other : {}
+ .other 0x2000 : {}
}
diff --git a/ld/testsuite/ld-scripts/defined2.d b/ld/testsuite/ld-scripts/defined2.d
index 6bb0682..6e6e068 100644
--- a/ld/testsuite/ld-scripts/defined2.d
+++ b/ld/testsuite/ld-scripts/defined2.d
@@ -10,8 +10,11 @@
#...
0+1 [AT] defined1
+#...
0+11 A defined2
+#...
0+100 A defined3
+#...
0+1ff A defined4
#...
0+3 T sym1
diff --git a/ld/testsuite/ld-scripts/defined3.d b/ld/testsuite/ld-scripts/defined3.d
index 1a7946d..0b3831c 100644
--- a/ld/testsuite/ld-scripts/defined3.d
+++ b/ld/testsuite/ld-scripts/defined3.d
@@ -11,15 +11,24 @@
#...
0+1 [AT] defined
+#...
0+200 A defined1
+#...
0+201 A defined2
+#...
0+100 A defined3
+#...
0+ [AT] defined4
+#...
0+2a A defined5
+#...
0+ [AT] defined6
+#...
0+1 [AT] defined7
+#...
0+1 [AT] defined8
#...
0+2a A sym1
+#...
[0-9a-f]+ T sym2
#pass
diff --git a/ld/testsuite/ld-scripts/provide-1.d b/ld/testsuite/ld-scripts/provide-1.d
index bec3982..ac8719a 100644
--- a/ld/testsuite/ld-scripts/provide-1.d
+++ b/ld/testsuite/ld-scripts/provide-1.d
@@ -5,4 +5,5 @@
.*: file format .*
Contents of section .data:
- 0000 (08)?000000(08)? (0c)?000000(0c)? 00000000 ............
+ [0-9a-f]* (1020)?0000(2010)? (2020)?0000(2020)? 00000000 .*
+#pass
diff --git a/ld/testsuite/ld-scripts/provide-1.s b/ld/testsuite/ld-scripts/provide-1.s
index 6395f3a..1e33540 100644
--- a/ld/testsuite/ld-scripts/provide-1.s
+++ b/ld/testsuite/ld-scripts/provide-1.s
@@ -1,3 +1,4 @@
.data
.globl foo
foo: .long 0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide-1.t b/ld/testsuite/ld-scripts/provide-1.t
index dd30956..6b96b33 100644
--- a/ld/testsuite/ld-scripts/provide-1.t
+++ b/ld/testsuite/ld-scripts/provide-1.t
@@ -1,9 +1,10 @@
SECTIONS
{
- .data :
+ .data 0x2000 :
{
LONG (foo)
LONG (bar)
+ . = ALIGN (0x10);
*(.data)
}
PROVIDE (foo = .);
diff --git a/ld/testsuite/ld-scripts/provide-2.d b/ld/testsuite/ld-scripts/provide-2.d
index 3b59e32..f8bd0cf 100644
--- a/ld/testsuite/ld-scripts/provide-2.d
+++ b/ld/testsuite/ld-scripts/provide-2.d
@@ -1,6 +1,7 @@
#source: provide-2.s
#ld: -T provide-2.t
#nm: -B
+#...
0+3 A baz
0+0 D foo
-
+#pass
diff --git a/ld/testsuite/ld-scripts/provide-2.s b/ld/testsuite/ld-scripts/provide-2.s
index 6fa93e4..f9138db 100644
--- a/ld/testsuite/ld-scripts/provide-2.s
+++ b/ld/testsuite/ld-scripts/provide-2.s
@@ -4,3 +4,5 @@ foo: .long 0
.globl baz
.long baz
+
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide-3.d b/ld/testsuite/ld-scripts/provide-3.d
index 1ee38e3..c8b12da 100644
--- a/ld/testsuite/ld-scripts/provide-3.d
+++ b/ld/testsuite/ld-scripts/provide-3.d
@@ -1,3 +1,3 @@
-#source: provide-2.s
-#ld: -T provide-2.t
+#source: provide-3.s
+#ld: -T provide-3.t
#error: symbol defined in linker script and object file
diff --git a/ld/testsuite/ld-scripts/provide-3.s b/ld/testsuite/ld-scripts/provide-3.s
index 6395f3a..1e33540 100644
--- a/ld/testsuite/ld-scripts/provide-3.s
+++ b/ld/testsuite/ld-scripts/provide-3.s
@@ -1,3 +1,4 @@
.data
.globl foo
foo: .long 0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/provide.exp b/ld/testsuite/ld-scripts/provide.exp
index 0092674..4e34501 100644
--- a/ld/testsuite/ld-scripts/provide.exp
+++ b/ld/testsuite/ld-scripts/provide.exp
@@ -17,6 +17,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
set testname "provide"
run_dump_test provide-1
diff --git a/ld/testsuite/ld-scripts/size-1.d b/ld/testsuite/ld-scripts/size-1.d
index 667f531..641fbca 100644
--- a/ld/testsuite/ld-scripts/size-1.d
+++ b/ld/testsuite/ld-scripts/size-1.d
@@ -4,13 +4,11 @@
.*: file format .*
+#...
Contents of section \.text:
- 0+00 (01)?000000(01)? (02)?000000(02)? ........
+ [0-9a-f]* (01)?000000(01)? (02)?000000(02)? .*
+#...
Contents of section \.data:
- 0+08 (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? ............
-Contents of section \.tdata:
- 0+24 (06)?000000 07000000 08000000 09000000 ................
- 0+34 (0a)?000000 ....
-Contents of section \.map:
- 0+38 (08)?000000(08)? (0c)?000000(0c)? (10)?000000(10)? (14)?000000(14)? ................
- 0+48 (18)?000000(18)? ....
+ [0-9a-f]* (03)?000000(03)? (04)?000000(04)? (05)?000000(05)? 00000000 .*
+ [0-9a-f]* (20)?000000(20)? (18)?000000(18)? .*
+#pass
diff --git a/ld/testsuite/ld-scripts/size-1.s b/ld/testsuite/ld-scripts/size-1.s
index 53721fa..7f5a5fd 100644
--- a/ld/testsuite/ld-scripts/size-1.s
+++ b/ld/testsuite/ld-scripts/size-1.s
@@ -1,15 +1,7 @@
- .section .text,"ax",@progbits
+ .text
.long 1,2
+ .p2align 5
- .section .data,"aw",@progbits
+ .data
.long 3,4,5
-
- .section .bss,"aw",@nobits
- .long 0,0,0,0
-
- # thread local storage sections
- .section .tdata,"awT",@progbits
- .long 6,7,8,9,10
-
- .section .tbss,"awT",@nobits
- .long 0,0,0,0,0,0
+ .p2align 4
diff --git a/ld/testsuite/ld-scripts/size-1.t b/ld/testsuite/ld-scripts/size-1.t
index 8582840..bb48665 100644
--- a/ld/testsuite/ld-scripts/size-1.t
+++ b/ld/testsuite/ld-scripts/size-1.t
@@ -1,15 +1,10 @@
SECTIONS
{
- .text : { *(.text) }
- .data : { *(.data) }
- .bss : { *(.bss) }
- .tdata : { *(.tdata) }
- .tbss : { *(.tbss) }
- .map : {
+ . = 0x1000 + SIZEOF_HEADERS;
+ .text ALIGN (0x20) : { *(.text) }
+ .data 0x2000 : {
+ *(.data)
LONG (SIZEOF (.text))
LONG (SIZEOF (.data))
- LONG (SIZEOF (.bss))
- LONG (SIZEOF (.tdata))
- LONG (SIZEOF (.tbss))
}
}
diff --git a/ld/testsuite/ld-scripts/size-2.d b/ld/testsuite/ld-scripts/size-2.d
index 3cbfb44..dfcc3e4 100644
--- a/ld/testsuite/ld-scripts/size-2.d
+++ b/ld/testsuite/ld-scripts/size-2.d
@@ -1,20 +1,17 @@
#source: size-2.s
#ld: -T size-2.t
-#readelf: -l
+#readelf: -l --wide
#...
Program Headers:
- Type Offset VirtAddr PhysAddr
- FileSiz MemSiz Flags Align
- PHDR 0x[0-9a-f]+ 0x0+0000 0x0+0000
- 0x[0-9a-f]+ 0x[0-9a-f]+ R .
- LOAD 0x[0-9a-f]+ 0x0+0000 0x0+0000
- 0x0+0030 0x0+0030 R [0-9a-f]+
- TLS 0x[0-9a-f]+ 0x0+0008 0x0+0008
- 0x0+0014 0x0+002c R [0-9a-f]+
+ +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
+ +PHDR +0x[0-9a-f]+ 0x0+0000 0x0+0000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x[0-9a-f]+
+#...
+ +LOAD +0x[0-9a-f]+ 0x0+0100 0x0+0100 0x0+0030 0x0+0030 R E +0x[0-9a-f]+
+ +TLS +0x[0-9a-f]+ 0x0+0108 0x0+0108 0x0+0014 0x0+002c R +0x[0-9a-f]+
Section to Segment mapping:
- Segment Sections...
- 00 \.text \.tdata \.tbss \.map
- 01 \.text \.tdata \.map
- 02 \.tdata \.tbss \.map
+ +Segment Sections\.\.\.
+ +00 .*
+ +01 +\.text \.tdata \.map
+ +02 +\.tdata \.tbss \.map
diff --git a/ld/testsuite/ld-scripts/size-2.s b/ld/testsuite/ld-scripts/size-2.s
index eba3224..6b10250 100644
--- a/ld/testsuite/ld-scripts/size-2.s
+++ b/ld/testsuite/ld-scripts/size-2.s
@@ -1,9 +1,8 @@
- .section .text,"ax",@progbits
+ .text
.long 1,2
- # thread local storage sections
- .section .tdata,"awT",@progbits
+ .section .tdata
.long 6,7,8,9,10
- .section .tbss,"awT",@nobits
+ .section .tbss
.long 0,0,0,0,0,0
diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t
index 3549321..e67b3fa 100644
--- a/ld/testsuite/ld-scripts/size-2.t
+++ b/ld/testsuite/ld-scripts/size-2.t
@@ -2,13 +2,13 @@ PHDRS
{
header PT_PHDR FILEHDR PHDRS ;
- image PT_LOAD FLAGS (4);
+ image PT_LOAD FLAGS (5);
tls PT_TLS FLAGS (4);
}
SECTIONS
{
- .text : { *(.text) } :image
+ .text 0x100 : { *(.text) } :image
.tdata : { *(.tdata) } :image :tls
.tbss : { *(.tbss) } :image : tls
.map : {
diff --git a/ld/testsuite/ld-scripts/size.exp b/ld/testsuite/ld-scripts/size.exp
index 5fff2bd..42e4e47 100644
--- a/ld/testsuite/ld-scripts/size.exp
+++ b/ld/testsuite/ld-scripts/size.exp
@@ -16,8 +16,20 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
+if [istarget "rs6000-*-aix*"] {
+ # Target maps .text and .data to other sections.
+ return
+}
+
run_dump_test size-1
-if { [istarget "*-*-elf*"] } {
- run_dump_test size-2
+if ![is_elf_format] {
+ return
}
+
+if [istarget "mips*-*-*"] {
+ # MIPS inserts a REGINFO PHDR
+ return
+}
+
+run_dump_test size-2
diff --git a/ld/testsuite/ld-sh/tlsbin-1.d b/ld/testsuite/ld-sh/tlsbin-1.d
index 9f6d84f..e3f4834 100644
--- a/ld/testsuite/ld-sh/tlsbin-1.d
+++ b/ld/testsuite/ld-sh/tlsbin-1.d
@@ -21,7 +21,7 @@ Disassembly of section \.text:
401010: 09 00 nop
401012: 09 00 nop
401014: 09 00 nop
- 401016: 04 d0 mov\.l 401028 <fn2\+0x28>,r0 ! 0x1c
+ 401016: 04 d0 mov\.l 401028 <fn2\+0x28>,r0 ! 0x1c .*
401018: 12 04 stc gbr,r4
40101a: ce 00 mov\.l @\(r0,r12\),r0
40101c: 4c 30 add r4,r0
@@ -38,7 +38,7 @@ Disassembly of section \.text:
401032: 09 00 nop
401034: 09 00 nop
401036: 09 00 nop
- 401038: 03 d0 mov\.l 401048 <fn2\+0x48>,r0 ! 0x14
+ 401038: 03 d0 mov\.l 401048 <fn2\+0x48>,r0 ! 0x14 .*
40103a: 12 04 stc gbr,r4
40103c: ce 00 mov\.l @\(r0,r12\),r0
40103e: 4c 30 add r4,r0
@@ -54,7 +54,7 @@ Disassembly of section \.text:
401052: 09 00 nop
401054: 09 00 nop
401056: 09 00 nop
- 401058: 03 d4 mov\.l 401068 <fn2\+0x68>,r4 ! 0x8
+ 401058: 03 d4 mov\.l 401068 <fn2\+0x68>,r4 ! 0x8 .*
40105a: 12 00 stc gbr,r0
40105c: 4c 30 add r4,r0
40105e: 09 00 nop
@@ -70,7 +70,7 @@ Disassembly of section \.text:
401072: 09 00 nop
401074: 09 00 nop
401076: 09 00 nop
- 401078: 03 d4 mov\.l 401088 <fn2\+0x88>,r4 ! 0x10
+ 401078: 03 d4 mov\.l 401088 <fn2\+0x88>,r4 ! 0x10 .*
40107a: 12 00 stc gbr,r0
40107c: 4c 30 add r4,r0
40107e: 09 00 nop
@@ -86,7 +86,7 @@ Disassembly of section \.text:
401092: 09 00 nop
401094: 09 00 nop
401096: 09 00 nop
- 401098: 03 d4 mov\.l 4010a8 <fn2\+0xa8>,r4 ! 0x18
+ 401098: 03 d4 mov\.l 4010a8 <fn2\+0xa8>,r4 ! 0x18 .*
40109a: 12 00 stc gbr,r0
40109c: 4c 30 add r4,r0
40109e: 09 00 nop
@@ -116,11 +116,11 @@ Disassembly of section \.text:
4010ce: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
4010d0: 09 00 nop
4010d2: 09 00 nop
- 4010d4: 2c d1 mov\.l 401188 <fn2\+0x188>,r1 ! 0x10
+ 4010d4: 2c d1 mov\.l 401188 <fn2\+0x188>,r1 ! 0x10 .*
4010d6: 0c 31 add r0,r1
4010d8: 09 00 nop
4010da: 09 00 nop
- 4010dc: 2b d2 mov\.l 40118c <fn2\+0x18c>,r2 ! 0x14
+ 4010dc: 2b d2 mov\.l 40118c <fn2\+0x18c>,r2 ! 0x14 .*
4010de: 0c 32 add r0,r2
4010e0: 09 00 nop
4010e2: 09 00 nop
@@ -140,17 +140,17 @@ Disassembly of section \.text:
4010fe: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
401100: 09 00 nop
401102: 09 00 nop
- 401104: 22 d1 mov\.l 401190 <fn2\+0x190>,r1 ! 0x18
+ 401104: 22 d1 mov\.l 401190 <fn2\+0x190>,r1 ! 0x18 .*
401106: 0c 31 add r0,r1
401108: 09 00 nop
40110a: 09 00 nop
- 40110c: 21 d2 mov\.l 401194 <fn2\+0x194>,r2 ! 0x1c
+ 40110c: 21 d2 mov\.l 401194 <fn2\+0x194>,r2 ! 0x1c .*
40110e: 0c 32 add r0,r2
401110: 09 00 nop
401112: 09 00 nop
401114: 09 00 nop
401116: 09 00 nop
- 401118: 02 d0 mov\.l 401124 <fn2\+0x124>,r0 ! 0x14
+ 401118: 02 d0 mov\.l 401124 <fn2\+0x124>,r0 ! 0x14 .*
40111a: 12 01 stc gbr,r1
40111c: ce 00 mov\.l @\(r0,r12\),r0
40111e: 03 a0 bra 401128 <fn2\+0x128>
@@ -162,7 +162,7 @@ Disassembly of section \.text:
40112a: 09 00 nop
40112c: 09 00 nop
40112e: 09 00 nop
- 401130: 02 d0 mov\.l 40113c <fn2\+0x13c>,r0 ! 0x18
+ 401130: 02 d0 mov\.l 40113c <fn2\+0x13c>,r0 ! 0x18 .*
401132: 12 01 stc gbr,r1
401134: ce 00 mov\.l @\(r0,r12\),r0
401136: 03 a0 bra 401140 <fn2\+0x140>
@@ -174,7 +174,7 @@ Disassembly of section \.text:
401142: 09 00 nop
401144: 09 00 nop
401146: 09 00 nop
- 401148: 02 d0 mov\.l 401154 <fn2\+0x154>,r0 ! 0x8
+ 401148: 02 d0 mov\.l 401154 <fn2\+0x154>,r0 ! 0x8 .*
40114a: 12 01 stc gbr,r1
40114c: 09 00 nop
40114e: 03 a0 bra 401158 <fn2\+0x158>
@@ -186,7 +186,7 @@ Disassembly of section \.text:
40115a: 09 00 nop
40115c: 09 00 nop
40115e: 09 00 nop
- 401160: 02 d0 mov\.l 40116c <fn2\+0x16c>,r0 ! 0x18
+ 401160: 02 d0 mov\.l 40116c <fn2\+0x16c>,r0 ! 0x18 .*
401162: 12 01 stc gbr,r1
401164: 09 00 nop
401166: 03 a0 bra 401170 <fn2\+0x170>
@@ -226,7 +226,7 @@ Disassembly of section \.text:
40200e: 09 00 nop
402010: 09 00 nop
402012: 09 00 nop
- 402014: 02 d0 mov\.l 402020 <_start\+0x20>,r0 ! 0x10
+ 402014: 02 d0 mov\.l 402020 <_start\+0x20>,r0 ! 0x10 .*
402016: 12 01 stc gbr,r1
402018: ce 00 mov\.l @\(r0,r12\),r0
40201a: 03 a0 bra 402024 <_start\+0x24>
@@ -238,7 +238,7 @@ Disassembly of section \.text:
402026: 09 00 nop
402028: 09 00 nop
40202a: 09 00 nop
- 40202c: 02 d0 mov\.l 402038 <_start\+0x38>,r0 ! 0x20
+ 40202c: 02 d0 mov\.l 402038 <_start\+0x38>,r0 ! 0x20 .*
40202e: 12 01 stc gbr,r1
402030: 09 00 nop
402032: 03 a0 bra 40203c <_start\+0x3c>
@@ -262,7 +262,7 @@ Disassembly of section \.text:
402056: 09 00 nop
402058: 09 00 nop
40205a: 09 00 nop
- 40205c: 02 d0 mov\.l 402068 <_start\+0x68>,r0 ! 0x1c
+ 40205c: 02 d0 mov\.l 402068 <_start\+0x68>,r0 ! 0x1c .*
40205e: 12 01 stc gbr,r1
402060: 09 00 nop
402062: 03 a0 bra 40206c <_start\+0x6c>
@@ -275,7 +275,7 @@ Disassembly of section \.text:
402070: 09 00 nop
402072: 09 00 nop
402074: 12 01 stc gbr,r1
- 402076: 0c d0 mov\.l 4020a8 <_start\+0xa8>,r0 ! 0x8
+ 402076: 0c d0 mov\.l 4020a8 <_start\+0xa8>,r0 ! 0x8 .*
402078: 1c 30 add r1,r0
40207a: 09 00 nop
40207c: 09 00 nop
@@ -289,7 +289,7 @@ Disassembly of section \.text:
40208c: 09 00 nop
40208e: 09 00 nop
402090: 12 01 stc gbr,r1
- 402092: 07 d0 mov\.l 4020b0 <_start\+0xb0>,r0 ! 0x18
+ 402092: 07 d0 mov\.l 4020b0 <_start\+0xb0>,r0 ! 0x18 .*
402094: 1c 30 add r1,r0
402096: 09 00 nop
402098: 09 00 nop
diff --git a/ld/testsuite/ld-sh/tlspic-1.d b/ld/testsuite/ld-sh/tlspic-1.d
index bca0853..5310cd0 100644
--- a/ld/testsuite/ld-sh/tlspic-1.d
+++ b/ld/testsuite/ld-sh/tlspic-1.d
@@ -54,7 +54,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x68>,r4 ! 0x10
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x68>,r4 ! 0x10 .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x6c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x6c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -70,7 +70,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d0 mov\.l [0-9a-f]+ <fn1\+0x88>,r0 ! 0x18
+ [0-9a-f]+: 03 d0 mov\.l [0-9a-f]+ <fn1\+0x88>,r0 ! 0x18 .*
[0-9a-f]+: 12 04 stc gbr,r4
[0-9a-f]+: ce 00 mov\.l @\(r0,r12\),r0
[0-9a-f]+: 4c 30 add r4,r0
@@ -150,7 +150,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x128>,r4 ! 0x1c
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x128>,r4 ! 0x1c .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x12c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x12c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -164,11 +164,11 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 38 d1 mov\.l [0-9a-f]+ <fn1\+0x218>,r1 ! 0x8
+ [0-9a-f]+: 38 d1 mov\.l [0-9a-f]+ <fn1\+0x218>,r1 ! 0x8 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 37 d2 mov\.l [0-9a-f]+ <fn1\+0x21c>,r2 ! 0xc
+ [0-9a-f]+: 37 d2 mov\.l [0-9a-f]+ <fn1\+0x21c>,r2 ! 0xc .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
@@ -188,17 +188,17 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 2e d1 mov\.l [0-9a-f]+ <fn1\+0x220>,r1 ! 0x10
+ [0-9a-f]+: 2e d1 mov\.l [0-9a-f]+ <fn1\+0x220>,r1 ! 0x10 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 2d d2 mov\.l [0-9a-f]+ <fn1\+0x224>,r2 ! 0x14
+ [0-9a-f]+: 2d d2 mov\.l [0-9a-f]+ <fn1\+0x224>,r2 ! 0x14 .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x188>,r4 ! 0x1c
+ [0-9a-f]+: 03 d4 mov\.l [0-9a-f]+ <fn1\+0x188>,r4 ! 0x1c .*
[0-9a-f]+: 04 c7 mova [0-9a-f]+ <fn1\+0x18c>,r0
[0-9a-f]+: 03 d1 mov\.l [0-9a-f]+ <fn1\+0x18c>,r1 ! 0x[0-9a-f]+
[0-9a-f]+: 0c 31 add r0,r1
@@ -212,11 +212,11 @@ Disassembly of section \.text:
[0-9a-f]+: [0-9a-f]+ [0-9a-f]+ .*[ ]*.*
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 24 d1 mov\.l [0-9a-f]+ <fn1\+0x228>,r1 ! 0x18
+ [0-9a-f]+: 24 d1 mov\.l [0-9a-f]+ <fn1\+0x228>,r1 ! 0x18 .*
[0-9a-f]+: 0c 31 add r0,r1
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 23 d2 mov\.l [0-9a-f]+ <fn1\+0x22c>,r2 ! 0x1c
+ [0-9a-f]+: 23 d2 mov\.l [0-9a-f]+ <fn1\+0x22c>,r2 ! 0x1c .*
[0-9a-f]+: 0c 32 add r0,r2
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
@@ -234,7 +234,7 @@ Disassembly of section \.text:
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
[0-9a-f]+: 09 00 nop
- [0-9a-f]+: 02 d0 mov\.l [0-9a-f]+ <fn1\+0x1cc>,r0 ! 0x18
+ [0-9a-f]+: 02 d0 mov\.l [0-9a-f]+ <fn1\+0x1cc>,r0 ! 0x18 .*
[0-9a-f]+: 12 01 stc gbr,r1
[0-9a-f]+: ce 00 mov\.l @\(r0,r12\),r0
[0-9a-f]+: 03 a0 bra [0-9a-f]+ <fn1\+0x1d0>
diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp
index 339d3a3..a88cd1c 100644
--- a/ld/testsuite/ld-shared/shared.exp
+++ b/ld/testsuite/ld-shared/shared.exp
@@ -203,6 +203,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
setup_xfail "s390x-*-linux*"
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
@@ -220,6 +223,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
shared_test shnp "shared (non PIC, load offset)" \
mainnp.o sh1np.o sh2np.o shared \
@@ -265,6 +271,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
+ if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } {
+ setup_xfail "sparc*-*-linux*"
+ }
setup_xfail "x86_64-*-linux*"
setup_xfail "s390x-*-linux*"
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 08b7d5b..82547e2 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,122 @@
+2004-04-29 Douglas B Rupp <rupp@gnat.com>
+
+ * mkstemps.c (mkstemps) [VMS]: Remove special open option. Update
+ copyright.
+
+2004-04-26 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
+ * configure: Regenerate.
+
+2004-04-22 Richard Henderson <rth@redhat.com>
+
+ * hashtab.c: Include limits.h, stdint.h, ansidecl.h.
+ (CHAR_BIT): Provide default.
+ (struct prime_ent, prime_tab): New.
+ (higher_prime_index): Rename from higher_prime_number, return index.
+ (htab_mod_1): New.
+ (htab_mod, htab_mod_m2): Use it.
+ (htab_create_alloc, htab_create_alloc_ex): Store prime index.
+ (htab_expand): Likewise.
+ * configure.ac: Check for stdint.h.
+ (UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
+ * config.in, configure: Rebuild.
+
+2004-04-13 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * strerror.c: Include config.h, and redefine sys_nerr and
+ sys_errlist, before including ansidecl.h and libiberty.h.
+
+2004-04-13 Jeff Law <law@redhat.com>
+
+ * hashtab.c (htab_remove_elt_with_hash): New function.
+ (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.
+
+2004-03-31 Richard Henderson <rth@redhat.com>
+
+ * hashtab.c (htab_size): Move to top of file; mark inline.
+ (htab_elements): Likewise.
+ (htab_mod, htab_mod_m2): New.
+ (htab_delete): Refactor htab->size and htab->entries.
+ (htab_empty): Likewise.
+ (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
+ (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
+ (htab_clear_slot): Use htab_size, htab_elements.
+ (htab_traverse_noresize, htab_traverse): Likewise.
+
+2004-03-17 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * pex-unix.c (pexecute): Use vfork instead of fork, with
+ appropriate changes to make this safe.
+ * pex-common.h (STDERR_FILE_NO): Define.
+
+ * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for
+ an 80 column screen. Run maint-deps.
+
+2004-03-09 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.ac: Bump version to 2.59. Apply suggested autoupdates.
+ * acconfig.h: Delete redundant file.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2004-03-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * configure: Regenerate for config/accross.m4 correction.
+
+2004-03-07 Andreas Jaeger <aj@suse.de>
+
+ * testsuite/test-demangle.c: Include <string.h> and <stdlib.h> for
+ prototypes.
+ (main): Initialize style.
+
+2004-02-24 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
+ D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
+ D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
+ * cp-demangle.c (cplus_demangle_builtin_types): Change char and
+ short types to D_PRINT_DEFAULT. Change other integer types to use
+ new D_PRINT_* values where appropriate. Change float types to
+ D_PRINT_FLOAT.
+ (d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
+ values.
+ * testsuite/demangle-expected: Adjust two test cases.
+
+ * cp-demangle.c (d_print_function_type): Print a space before the
+ parenthesis around the function type in more cases.
+ * testsuite/demangle-expected: Adjust one test case.
+
+ * cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
+ parentheses around a cast.
+ * testsuite/demangle-expected: Adjust two test cases to match new
+ output.
+
+ * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
+
+ * cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
+ push more than one of the same CV-qualifier on the top of the
+ stack.
+ (d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
+ move the CV-qualifiers to apply to the element type instead.
+ (d_print_array_type): When checking the modifiers, keep looking
+ past ones which have been printed already.
+ * testsuite/demangle-expected: Add three test cases.
+
+2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (__cxa_demangle): Adjust last patch to handle
+ empty string correctly.
+
+ * cp-demangle.c (__cxa_demangle): It is not an error if status is
+ not NULL. It is an error if the mangled name is the same as a
+ built-in type name.
+ (main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
+ than cplus_demangle_v3.
+
+ * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
+ the associated #define of RETURN_ON_ALLOCATION_FAILURE.
+
2004-02-16 Matt Kraai <kraai@alumni.cmu.edu>
* regex.c: Include <ansidecl.h>.
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index bbb5c2a..78cc4bc 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -157,44 +157,46 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
# These are always included in the library. The first four are listed
# first and by compile time to optimize parallel builds.
-REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./cp-demint.o ./md5.o \
- ./alloca.o ./argv.o \
- ./choose-temp.o ./concat.o \
+REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o \
+ ./alloca.o ./argv.o \
+ ./choose-temp.o ./concat.o ./cp-demint.o \
./dyn-string.o \
- ./fdmatch.o ./fibheap.o ./floatformat.o ./fnmatch.o \
- ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o \
- ./hashtab.o ./hex.o \
- ./lbasename.o \
- ./lrealpath.o \
- ./make-relative-prefix.o \
- ./make-temp-file.o \
- ./objalloc.o ./obstack.o \
- ./partition.o ./physmem.o @pexecute@ \
- ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o \
+ ./fdmatch.o ./fibheap.o ./floatformat.o ./fnmatch.o \
+ ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o \
+ ./hashtab.o ./hex.o \
+ ./lbasename.o ./lrealpath.o \
+ ./make-relative-prefix.o ./make-temp-file.o \
+ ./objalloc.o ./obstack.o \
+ ./partition.o ./physmem.o @pexecute@ \
+ ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o \
./strsignal.o \
./ternary.o \
- ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o
+ ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o \
+ ./xstrerror.o
# These are all the objects that configure may add to the library via
# $funcs or EXTRA_OFILES. This list exists here only for "make
# maint-missing" and "make check".
-CONFIGURED_OFILES = ./asprintf.o ./atexit.o \
- ./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o \
- ./calloc.o ./clock.o ./copysign.o \
+CONFIGURED_OFILES = ./asprintf.o ./atexit.o \
+ ./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o \
+ ./calloc.o ./clock.o ./copysign.o \
./_doprnt.o \
./ffs.o \
- ./getcwd.o ./getpagesize.o \
+ ./getcwd.o ./getpagesize.o \
./index.o ./insque.o \
- ./memchr.o ./memcmp.o ./memcpy.o ./memmove.o ./mempcpy.o ./memset.o ./mkstemps.o \
- ./pex-djgpp.o ./pex-mpw.o ./pex-msdos.o ./pex-os2.o \
- ./pex-unix.o ./pex-win32.o \
+ ./memchr.o ./memcmp.o ./memcpy.o ./memmove.o ./mempcpy.o \
+ ./memset.o ./mkstemps.o \
+ ./pex-djgpp.o ./pex-mpw.o ./pex-msdos.o ./pex-os2.o \
+ ./pex-unix.o ./pex-win32.o \
./putenv.o \
- ./random.o ./rename.o ./rindex.o \
- ./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o ./strcasecmp.o \
- ./strchr.o ./strdup.o ./strncasecmp.o ./strncmp.o ./strrchr.o ./strstr.o \
- ./strtod.o ./strtol.o ./strtoul.o \
+ ./random.o ./rename.o ./rindex.o \
+ ./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o \
+ ./strcasecmp.o ./strchr.o ./strdup.o ./strncasecmp.o \
+ ./strncmp.o ./strrchr.o ./strstr.o \
+ ./strtod.o ./strtol.o ./strtoul.o \
./tmpnam.o \
- ./vasprintf.o ./vfork.o ./vfprintf.o ./vprintf.o ./vsnprintf.o ./vsprintf.o \
+ ./vasprintf.o ./vfork.o ./vfprintf.o ./vprintf.o ./vsnprintf.o \
+ ./vsprintf.o \
./waitpid.o
# These files are installed if the library has been configured to do so.
@@ -807,7 +809,8 @@ $(CONFIGURED_OFILES): stamp-picdir
else true; fi
$(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
-./regex.o: $(srcdir)/regex.c config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
+./regex.o: $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/xregex.h \
+ $(INCDIR)/xregex2.h
if [ x"$(PICFLAG)" != x ]; then \
$(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; \
else true; fi
diff --git a/libiberty/acconfig.h b/libiberty/acconfig.h
deleted file mode 100644
index 364cb41..0000000
--- a/libiberty/acconfig.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Define to `unsigned long' if <sys/types.h> doesn't define. */
-#undef uintptr_t
-
diff --git a/libiberty/config.in b/libiberty/config.in
index 8e5071a..3cce9aa 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -1,7 +1,4 @@
/* config.in. Generated from configure.ac by autoheader. */
-/* Define to `unsigned long' if <sys/types.h> doesn't define. */
-#undef uintptr_t
-
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
#undef BYTEORDER
@@ -356,15 +353,20 @@
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
+/* Define to an unsigned 64-bit type available in the compiler. */
+#undef UNSIGNED_64BIT_TYPE
+
/* whether byteorder is bigendian */
#undef WORDS_BIGENDIAN
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
- if it is not supported. */
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
#undef inline
+#endif
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
diff --git a/libiberty/configure b/libiberty/configure
index 2f65976..e44984c 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -1,9 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57.
+# Generated by GNU Autoconf 2.59.
#
-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
+# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -20,9 +19,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
@@ -41,7 +41,7 @@ for as_var in \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
LC_TELEPHONE LC_TIME
do
- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
$as_unset $as_var
@@ -218,16 +218,17 @@ rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
+ test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
# IFS
@@ -667,7 +668,7 @@ done
# Be sure to have absolute paths.
for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
+ localstatedir libdir includedir oldincludedir infodir mandir
do
eval ac_val=$`echo $ac_var`
case $ac_val in
@@ -707,10 +708,10 @@ if test -z "$srcdir"; then
# Try the directory containing this script, then its parent.
ac_confdir=`(dirname "$0") 2>/dev/null ||
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$0" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
@@ -802,9 +803,9 @@ _ACEOF
cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -901,12 +902,45 @@ case $srcdir in
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
cd $ac_dir
# Check for guested configure; otherwise get Cygnus style configure.
@@ -917,7 +951,7 @@ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
echo
$SHELL $ac_srcdir/configure --help=recursive
elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
+ test -f $ac_srcdir/configure.in; then
echo
$ac_configure --help
else
@@ -931,8 +965,7 @@ test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -944,7 +977,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.57. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1021,19 +1054,19 @@ do
2)
ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
+ ac_must_keep_next=false # Got value, back to normal.
else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
fi
ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
# Get rid of the leading space.
@@ -1067,12 +1100,12 @@ _ASBOX
case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
*ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
;;
*)
sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
esac;
}
@@ -1101,7 +1134,7 @@ _ASBOX
for ac_var in $ac_subst_files
do
eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
fi
@@ -1120,7 +1153,7 @@ _ASBOX
echo "$as_me: caught signal $ac_signal"
echo "$as_me: exit $exit_status"
} >&5
- rm -f core core.* *.core &&
+ rm -f core *.core &&
rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
@@ -1200,7 +1233,7 @@ fi
# value.
ac_cache_corrupted=false
for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val="\$ac_cv_env_${ac_var}_value"
@@ -1217,13 +1250,13 @@ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ ac_cache_corrupted=:
fi;;
esac
# Pass precious variables to config.status.
@@ -1272,6 +1305,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
# This works around the fact that libtool configuration may change LD
# for this particular configuration, but some shells, instead of
# keeping the changes in LD private, export them just because LD is
@@ -2030,7 +2064,6 @@ ac_compiler=`set X $ac_compile; echo $2`
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2064,7 +2097,6 @@ if test x$gcc_no_link = xyes; then
EXEEXT=
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2084,8 +2116,8 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output" >&5
-echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
(eval $ac_link_default) 2>&5
@@ -2105,23 +2137,23 @@ do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
+ ;;
conftest.$ac_ext )
- # This is the source file.
- ;;
+ # This is the source file.
+ ;;
[ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool,
+ # but it would be cool to find out if it's true. Does anybody
+ # maintain Libtool? --akim.
+ export ac_cv_exeext
+ break;;
* )
- break;;
+ break;;
esac
done
else
@@ -2195,8 +2227,8 @@ for ac_file in conftest.exe conftest conftest.*; do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
+ export ac_cv_exeext
+ break;;
* ) break;;
esac
done
@@ -2222,7 +2254,6 @@ if test "${ac_cv_objext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2273,7 +2304,6 @@ if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2293,11 +2323,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2310,7 +2350,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
@@ -2326,7 +2366,6 @@ if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2343,11 +2382,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2360,7 +2409,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_prog_cc_g=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
@@ -2387,7 +2436,6 @@ else
ac_cv_prog_cc_stdc=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2415,6 +2463,16 @@ static char *f (char * (*g) (char **, int), char **p, ...)
va_end (v);
return s;
}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std1 is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std1. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2441,11 +2499,21 @@ do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2458,7 +2526,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext
+rm -f conftest.err conftest.$ac_objext
done
rm -f conftest.$ac_ext conftest.$ac_objext
CC=$ac_save_CC
@@ -2486,19 +2554,28 @@ cat >conftest.$ac_ext <<_ACEOF
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
for ac_declaration in \
- ''\
- '#include <stdlib.h>' \
+ '' \
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
@@ -2506,14 +2583,13 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
'void exit (int);'
do
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <stdlib.h>
$ac_declaration
+#include <stdlib.h>
int
main ()
{
@@ -2524,11 +2600,21 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2541,9 +2627,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
continue
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2560,11 +2645,21 @@ exit (42);
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2576,7 +2671,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
done
rm -f conftest*
if test -n "$ac_declaration"; then
@@ -2590,7 +2685,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2625,7 +2720,6 @@ do
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2636,7 +2730,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#else
# include <assert.h>
#endif
- Syntax error
+ Syntax error
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -2648,6 +2742,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -2668,7 +2763,6 @@ rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2686,6 +2780,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -2732,7 +2827,6 @@ do
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2743,7 +2837,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#else
# include <assert.h>
#endif
- Syntax error
+ Syntax error
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -2755,6 +2849,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -2775,7 +2870,6 @@ rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2793,6 +2887,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -2852,7 +2947,6 @@ if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2903,11 +2997,11 @@ then
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); };
then
- # cc works too.
- :
+ # cc works too.
+ :
else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
fi
fi
fi
@@ -2946,7 +3040,6 @@ if test "${ac_cv_c_const+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3009,11 +3102,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3026,7 +3129,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_c_const=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
echo "${ECHO_T}$ac_cv_c_const" >&6
@@ -3046,7 +3149,6 @@ else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3061,11 +3163,21 @@ $ac_kw foo_t foo () {return 0; }
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3077,23 +3189,27 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
done
fi
echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
echo "${ECHO_T}$ac_cv_c_inline" >&6
+
+
case $ac_cv_c_inline in
inline | yes) ;;
- no)
-cat >>confdefs.h <<\_ACEOF
-#define inline
-_ACEOF
- ;;
- *) cat >>confdefs.h <<_ACEOF
-#define inline $ac_cv_c_inline
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
_ACEOF
- ;;
+ ;;
esac
echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
@@ -3104,7 +3220,6 @@ else
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3125,11 +3240,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3137,7 +3262,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(exit $ac_status); }; }; then
# It does; now see whether it defined to BIG_ENDIAN or not.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3158,11 +3282,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3175,19 +3309,18 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_c_bigendian=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_c_bigendian = unknown; then
if test "$cross_compiling" = yes; then
echo $ac_n "cross-compiling... " 2>&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3224,7 +3357,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_c_bigendian=yes
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
@@ -3244,7 +3377,7 @@ void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
int main() { _ascii (); _ebcdic (); return 0; }
EOF
if test -f conftest.c ; then
- if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
+ if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then
if test `grep -l BIGenDianSyS conftest.o` ; then
echo $ac_n ' big endian probe OK, ' 1>&6
ac_cv_c_bigendian=yes
@@ -3284,9 +3417,9 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
if test $ac_cv_c_bigendian = unknown; then
- { { echo "$as_me:$LINENO: error: unknown endianess - sorry" >&5
-echo "$as_me: error: unknown endianess - sorry" >&2;}
- { (exit please pre-set ac_cv_c_bigendian); exit please pre-set ac_cv_c_bigendian; }; }
+ { { echo "$as_me:$LINENO: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&5
+echo "$as_me: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&2;}
+ { (exit 1); exit 1; }; }
fi
@@ -3307,6 +3440,7 @@ fi
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
@@ -3323,6 +3457,7 @@ do
case $as_dir/ in
./ | .// | /cC/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
@@ -3330,20 +3465,20 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
done
done
;;
@@ -3404,7 +3539,8 @@ host_makefile_frag=${frag}
-for ac_header in sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h
+
+for ac_header in sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_header" >&5
@@ -3413,7 +3549,6 @@ if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3431,6 +3566,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -3463,7 +3599,6 @@ if test "${ac_cv_header_sys_wait_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3490,11 +3625,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3507,7 +3652,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_sys_wait_h=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
@@ -3525,7 +3670,6 @@ if test "${ac_cv_header_time+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3546,11 +3690,21 @@ return 0;
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3563,7 +3717,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_time=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
echo "${ECHO_T}$ac_cv_header_time" >&6
@@ -3582,7 +3736,6 @@ if test "${libiberty_cv_declare_errno+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3599,11 +3752,21 @@ int x = errno;
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3616,7 +3779,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
libiberty_cv_declare_errno=yes
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $libiberty_cv_declare_errno" >&5
echo "${ECHO_T}$libiberty_cv_declare_errno" >&6
@@ -3650,7 +3813,6 @@ if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3671,11 +3833,21 @@ main ()
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3688,12 +3860,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3715,7 +3886,6 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3740,7 +3910,6 @@ if test $ac_cv_header_stdc = yes; then
:
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3752,9 +3921,9 @@ cat >>conftest.$ac_ext <<_ACEOF
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
@@ -3765,7 +3934,7 @@ main ()
int i;
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
+ || toupper (i) != TOUPPER (i))
exit(2);
exit (0);
}
@@ -3790,7 +3959,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
@@ -3815,7 +3984,7 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
+ inttypes.h stdint.h unistd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_header" >&5
@@ -3824,7 +3993,6 @@ if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3842,6 +4010,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -3875,7 +4044,6 @@ if test "${ac_cv_type_uintptr_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3895,11 +4063,21 @@ if (sizeof (uintptr_t))
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3912,7 +4090,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_type_uintptr_t=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6
@@ -3926,6 +4104,170 @@ _ACEOF
fi
+
+# Look for a 64-bit type.
+echo "$as_me:$LINENO: checking for a 64-bit type" >&5
+echo $ECHO_N "checking for a 64-bit type... $ECHO_C" >&6
+if test "${liberty_cv_uint64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+int
+main ()
+{
+extern uint64_t foo;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ liberty_cv_uint64=uint64_t
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
+#endif
+int
+main ()
+{
+extern char foo[sizeof(long) * CHAR_BIT >= 64 ? 1 : -1];
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ liberty_cv_uint64="unsigned long"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
+#endif
+int
+main ()
+{
+extern char foo[sizeof(long long) * CHAR_BIT >= 64 ? 1 : -1];
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ liberty_cv_uint64="unsigned long long"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+liberty_cv_uint64=none
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+echo "$as_me:$LINENO: result: $liberty_cv_uint64" >&5
+echo "${ECHO_T}$liberty_cv_uint64" >&6
+if test "$liberty_cv_uint64" != none; then
+
+cat >>confdefs.h <<_ACEOF
+#define UNSIGNED_64BIT_TYPE $liberty_cv_uint64
+_ACEOF
+
+fi
+
# Given the above check, we always have uintptr_t or a fallback
# definition. So define HAVE_UINTPTR_T in case any imported code
# relies on it.
@@ -3941,7 +4283,6 @@ if test "${ac_cv_type_pid_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -3961,11 +4302,21 @@ if (sizeof (pid_t))
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3978,7 +4329,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_type_pid_t=no
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
echo "${ECHO_T}$ac_cv_type_pid_t" >&6
@@ -4139,7 +4490,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4186,11 +4536,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4203,7 +4563,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -4250,12 +4611,54 @@ if test -n "${with_target_subdir}"; then
# newlib provide and which ones we will be expected to provide.
if test "x${with_newlib}" = "xyes"; then
- LIBOBJS="$LIBOBJS asprintf.$ac_objext"
- LIBOBJS="$LIBOBJS basename.$ac_objext"
- LIBOBJS="$LIBOBJS insque.$ac_objext"
- LIBOBJS="$LIBOBJS random.$ac_objext"
- LIBOBJS="$LIBOBJS strdup.$ac_objext"
- LIBOBJS="$LIBOBJS vasprintf.$ac_objext"
+ case $LIBOBJS in
+ "asprintf.$ac_objext" | \
+ *" asprintf.$ac_objext" | \
+ "asprintf.$ac_objext "* | \
+ *" asprintf.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS asprintf.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "basename.$ac_objext" | \
+ *" basename.$ac_objext" | \
+ "basename.$ac_objext "* | \
+ *" basename.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS basename.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "insque.$ac_objext" | \
+ *" insque.$ac_objext" | \
+ "insque.$ac_objext "* | \
+ *" insque.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS insque.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "random.$ac_objext" | \
+ *" random.$ac_objext" | \
+ "random.$ac_objext "* | \
+ *" random.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS random.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "strdup.$ac_objext" | \
+ *" strdup.$ac_objext" | \
+ "strdup.$ac_objext "* | \
+ *" strdup.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strdup.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "vasprintf.$ac_objext" | \
+ *" vasprintf.$ac_objext" | \
+ "vasprintf.$ac_objext "* | \
+ *" vasprintf.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS vasprintf.$ac_objext" ;;
+esac
+
for f in $funcs; do
case "$f" in
@@ -4337,16 +4740,86 @@ if test -z "${setobjs}"; then
# Handle VxWorks configuration specially, since on VxWorks the
# libraries are actually on the target board, not in the file
# system.
- LIBOBJS="$LIBOBJS basename.$ac_objext"
- LIBOBJS="$LIBOBJS getpagesize.$ac_objext"
- LIBOBJS="$LIBOBJS insque.$ac_objext"
- LIBOBJS="$LIBOBJS random.$ac_objext"
- LIBOBJS="$LIBOBJS strcasecmp.$ac_objext"
- LIBOBJS="$LIBOBJS strncasecmp.$ac_objext"
- LIBOBJS="$LIBOBJS strdup.$ac_objext"
- LIBOBJS="$LIBOBJS vfork.$ac_objext"
- LIBOBJS="$LIBOBJS waitpid.$ac_objext"
- LIBOBJS="$LIBOBJS vasprintf.$ac_objext"
+ case $LIBOBJS in
+ "basename.$ac_objext" | \
+ *" basename.$ac_objext" | \
+ "basename.$ac_objext "* | \
+ *" basename.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS basename.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "getpagesize.$ac_objext" | \
+ *" getpagesize.$ac_objext" | \
+ "getpagesize.$ac_objext "* | \
+ *" getpagesize.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS getpagesize.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "insque.$ac_objext" | \
+ *" insque.$ac_objext" | \
+ "insque.$ac_objext "* | \
+ *" insque.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS insque.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "random.$ac_objext" | \
+ *" random.$ac_objext" | \
+ "random.$ac_objext "* | \
+ *" random.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS random.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "strcasecmp.$ac_objext" | \
+ *" strcasecmp.$ac_objext" | \
+ "strcasecmp.$ac_objext "* | \
+ *" strcasecmp.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "strncasecmp.$ac_objext" | \
+ *" strncasecmp.$ac_objext" | \
+ "strncasecmp.$ac_objext "* | \
+ *" strncasecmp.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strncasecmp.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "strdup.$ac_objext" | \
+ *" strdup.$ac_objext" | \
+ "strdup.$ac_objext "* | \
+ *" strdup.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strdup.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "vfork.$ac_objext" | \
+ *" vfork.$ac_objext" | \
+ "vfork.$ac_objext "* | \
+ *" vfork.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS vfork.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "waitpid.$ac_objext" | \
+ *" waitpid.$ac_objext" | \
+ "waitpid.$ac_objext "* | \
+ *" waitpid.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS waitpid.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "vasprintf.$ac_objext" | \
+ *" vasprintf.$ac_objext" | \
+ "vasprintf.$ac_objext "* | \
+ *" vasprintf.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS vasprintf.$ac_objext" ;;
+esac
+
for f in $funcs; do
case "$f" in
basename | getpagesize | insque | random | strcasecmp)
@@ -4399,7 +4872,14 @@ if test -z "${setobjs}"; then
if test -n "${with_target_subdir}"
then
funcs="`echo $funcs | sed -e 's/random//'`"
- LIBOBJS="$LIBOBJS random.$ac_objext"
+ case $LIBOBJS in
+ "random.$ac_objext" | \
+ *" random.$ac_objext" | \
+ "random.$ac_objext "* | \
+ *" random.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS random.$ac_objext" ;;
+esac
+
vars="`echo $vars | sed -e 's/sys_siglist//'`"
checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`"
fi
@@ -4448,7 +4928,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4472,11 +4951,21 @@ strerror ();
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4488,7 +4977,8 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
if test "$ac_cv_search_strerror" = no; then
for ac_lib in cposix; do
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
@@ -4498,7 +4988,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4522,11 +5011,21 @@ strerror ();
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4539,7 +5038,8 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
done
fi
LIBS=$ac_func_search_save_LIBS
@@ -4566,7 +5066,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4613,11 +5112,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4630,7 +5139,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -4640,7 +5150,14 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then
_ACEOF
else
- LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ case $LIBOBJS in
+ "$ac_func.$ac_objext" | \
+ *" $ac_func.$ac_objext" | \
+ "$ac_func.$ac_objext "* | \
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
+esac
+
fi
done
@@ -4651,7 +5168,6 @@ if test "${ac_cv_os_cray+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4689,7 +5205,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4736,11 +5251,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4753,7 +5278,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -4777,7 +5303,6 @@ else
ac_cv_c_stack_direction=0
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4820,7 +5345,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_c_stack_direction=-1
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
@@ -4842,7 +5367,6 @@ if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4860,6 +5384,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -4902,7 +5427,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4949,11 +5473,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4966,7 +5500,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -4996,9 +5531,9 @@ else
/* Some systems only have a dummy stub for fork() */
int main ()
{
- if (fork() < 0)
- exit (1);
- exit (0);
+ if (fork() < 0)
+ exit (1);
+ exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
@@ -5021,7 +5556,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_func_fork_works=no
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
@@ -5054,7 +5589,6 @@ else
ac_cv_func_vfork_works=cross
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5176,7 +5710,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_func_vfork_works=no
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
@@ -5184,7 +5718,7 @@ echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
fi;
if test "x$ac_cv_func_fork_works" = xcross; then
- ac_cv_func_vfork_works=ac_cv_func_vfork
+ ac_cv_func_vfork_works=$ac_cv_func_vfork
{ echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
fi
@@ -5211,7 +5745,14 @@ _ACEOF
fi
if test $ac_cv_func_vfork_works = no; then
- LIBOBJS="$LIBOBJS vfork.$ac_objext"
+ case $LIBOBJS in
+ "vfork.$ac_objext" | \
+ *" vfork.$ac_objext" | \
+ "vfork.$ac_objext "* | \
+ *" vfork.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS vfork.$ac_objext" ;;
+esac
+
fi
# We only need _doprnt if we might use it to implement v*printf.
if test $ac_cv_func_vprintf != yes \
@@ -5232,7 +5773,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5279,11 +5819,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5296,7 +5846,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -5306,7 +5857,14 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then
_ACEOF
else
- LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ case $LIBOBJS in
+ "$ac_func.$ac_objext" | \
+ *" $ac_func.$ac_objext" | \
+ "$ac_func.$ac_objext "* | \
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
+esac
+
fi
done
@@ -5327,7 +5885,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5374,11 +5931,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5391,7 +5958,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -5417,7 +5985,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5434,11 +6001,21 @@ extern int $v []; p = $v;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5451,7 +6028,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "libiberty_cv_var_$v=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
@@ -5473,7 +6051,6 @@ echo "${ECHO_T}no" >&6
echo "$as_me:$LINENO: checking for external symbol _system_configuration" >&5
echo $ECHO_N "checking for external symbol _system_configuration... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5490,11 +6067,21 @@ double x = _system_configuration.physmem;
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5514,7 +6101,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
for ac_func in $checkfuncs
@@ -5531,7 +6118,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5578,11 +6164,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5595,7 +6191,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -5613,7 +6210,6 @@ if test "${libiberty_cv_decl_needed_canonicalize_file_name+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5645,11 +6241,21 @@ char *(*pfn) = (char *(*)) canonicalize_file_name
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+ (eval $ac_compile) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5662,7 +6268,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
libiberty_cv_decl_needed_canonicalize_file_name=yes
fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $libiberty_cv_decl_needed_canonicalize_file_name" >&5
@@ -5704,7 +6310,6 @@ if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5722,6 +6327,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
@@ -5763,7 +6369,6 @@ echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5810,11 +6415,21 @@ return f != $ac_func;
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5827,7 +6442,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
@@ -5848,7 +6464,6 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -5956,9 +6571,9 @@ main ()
data2 = (char *) malloc (2 * pagesize);
if (!data2)
exit (1);
- data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
+ data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1);
if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
exit (1);
for (i = 0; i < pagesize; ++i)
if (*(data + i) != *(data2 + i))
@@ -6001,7 +6616,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_func_mmap_fixed_mapped=no
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
@@ -6026,7 +6641,6 @@ else
ac_cv_func_strncmp_works=no
else
cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -6114,14 +6728,21 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_func_strncmp_works=no
fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
rm -f core core.* *.core
fi
echo "$as_me:$LINENO: result: $ac_cv_func_strncmp_works" >&5
echo "${ECHO_T}$ac_cv_func_strncmp_works" >&6
if test $ac_cv_func_strncmp_works = no ; then
- LIBOBJS="$LIBOBJS strncmp.$ac_objext"
+ case $LIBOBJS in
+ "strncmp.$ac_objext" | \
+ *" strncmp.$ac_objext" | \
+ "strncmp.$ac_objext "* | \
+ *" strncmp.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strncmp.$ac_objext" ;;
+esac
+
fi
@@ -6146,7 +6767,9 @@ LIBOBJS="$L"
# We need multilib support, but only if configuring for the target.
ac_config_files="$ac_config_files Makefile testsuite/Makefile"
+
ac_config_commands="$ac_config_commands default"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -6175,13 +6798,13 @@ _ACEOF
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
esac;
} |
@@ -6211,13 +6834,13 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
s/:*\$(srcdir):*/:/;
s/:*\${srcdir}:*/:/;
s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
+s/^\([^=]*=[ ]*\):*/\1/;
s/:*$//;
-s/^[^=]*=[ ]*$//;
+s/^[^=]*=[ ]*$//;
}'
fi
@@ -6228,7 +6851,7 @@ ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
# 2. Add them.
ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
@@ -6272,9 +6895,10 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
@@ -6293,7 +6917,7 @@ for as_var in \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
LC_TELEPHONE LC_TIME
do
- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
eval $as_var=C; export $as_var
else
$as_unset $as_var
@@ -6472,16 +7096,17 @@ rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
+ test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
# IFS
@@ -6508,7 +7133,7 @@ _ASBOX
cat >&5 <<_CSEOF
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.57. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -6552,9 +7177,9 @@ Usage: $0 [OPTIONS] [FILE]...
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -6571,11 +7196,10 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.57,
+configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
srcdir=$srcdir
@@ -6851,9 +7475,9 @@ _ACEOF
(echo ':t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
fi
ac_sed_frag=`expr $ac_sed_frag + 1`
ac_beg=$ac_end
@@ -6871,21 +7495,21 @@ for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case $ac_file in
- | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
*:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
* ) ac_file_in=$ac_file.in ;;
esac
# Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
ac_dir=`(dirname "$ac_file") 2>/dev/null ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
@@ -6901,10 +7525,10 @@ echo X"$ac_file" |
as_dirs="$as_dir $as_dirs"
as_dir=`(dirname "$as_dir") 2>/dev/null ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
@@ -6942,12 +7566,45 @@ case $srcdir in
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
case $INSTALL in
@@ -6969,7 +7626,7 @@ echo "$as_me: creating $ac_file" >&6;}
configure_input="$ac_file. "
fi
configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
+ sed 's,.*/,,'` by configure."
# First look for the input files in the build tree, otherwise in the
# src tree.
@@ -6978,24 +7635,24 @@ echo "$as_me: creating $ac_file" >&6;}
case $f in
-) echo $tmp/stdin ;;
[\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
- echo $f;;
+ echo "$f";;
*) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
- fi;;
+ fi;;
esac
done` || { (exit 1); exit 1; }
_ACEOF
@@ -7037,12 +7694,12 @@ cat >>$CONFIG_STATUS <<\_ACEOF
# NAME is the cpp macro being defined and VALUE is the value it is being given.
#
# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
ac_dC=' '
ac_dD=',;t'
# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
ac_uB='$,\1#\2define\3'
ac_uC=' '
ac_uD=',;t'
@@ -7051,11 +7708,11 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case $ac_file in
- | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
*:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
* ) ac_file_in=$ac_file.in ;;
esac
@@ -7069,28 +7726,29 @@ echo "$as_me: creating $ac_file" >&6;}
case $f in
-) echo $tmp/stdin ;;
[\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
- echo $f;;
+ # Do quote $f, to prevent DOS paths from being IFS'd.
+ echo "$f";;
*) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
- fi;;
+ fi;;
esac
done` || { (exit 1); exit 1; }
# Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
_ACEOF
@@ -7113,9 +7771,9 @@ s/[\\&,]/\\&/g
s,[\\$`],\\&,g
t clear
: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
: end
_ACEOF
# If some macros were called several times there might be several times
@@ -7129,13 +7787,13 @@ rm -f confdef2sed.sed
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
_ACEOF
# Break up conftest.defines because some shells have a limit on the size
# of here documents, and old seds have small limits too (100 cmds).
echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
echo ' :' >>$CONFIG_STATUS
rm -f conftest.tail
@@ -7144,7 +7802,7 @@ do
# Write a limited-size here document to $tmp/defines.sed.
echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
# Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
# Work around the forget-to-reset-the-flag bug.
echo 't clr' >>$CONFIG_STATUS
echo ': clr' >>$CONFIG_STATUS
@@ -7171,7 +7829,7 @@ do
# Write a limited-size here document to $tmp/undefs.sed.
echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
# Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
# Work around the forget-to-reset-the-flag bug.
echo 't clr' >>$CONFIG_STATUS
echo ': clr' >>$CONFIG_STATUS
@@ -7205,10 +7863,10 @@ echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`(dirname "$ac_file") 2>/dev/null ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
@@ -7224,10 +7882,10 @@ echo X"$ac_file" |
as_dirs="$as_dir $as_dirs"
as_dir=`(dirname "$as_dir") 2>/dev/null ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
@@ -7259,16 +7917,41 @@ for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
+ X"$ac_dest" : 'X\(//\)[^/]' \| \
+ X"$ac_dest" : 'X\(//\)$' \| \
+ X"$ac_dest" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
echo X"$ac_dest" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
/^X\(\/\/\)$/{ s//\1/; q; }
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
ac_builddir=.
if test "$ac_dir" != .; then
@@ -7294,12 +7977,45 @@ case $srcdir in
ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
{ echo "$as_me:$LINENO: executing $ac_dest commands" >&5
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index e8907e7..42fe85d 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -1,7 +1,8 @@
dnl Process this file with autoconf to produce a configure script
-AC_PREREQ(2.57)
-AC_INIT(xmalloc.c)
+AC_PREREQ(2.59)
+AC_INIT
+AC_CONFIG_SRCDIR([xmalloc.c])
# This works around the fact that libtool configuration may change LD
# for this particular configuration, but some shells, instead of
@@ -158,13 +159,47 @@ AC_SUBST_FILE(host_makefile_frag)
# It's OK to check for header files. Although the compiler may not be
# able to link anything, it had better be able to at least compile
# something.
-AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h)
+AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h)
AC_HEADER_SYS_WAIT
AC_HEADER_TIME
libiberty_AC_DECLARE_ERRNO
AC_CHECK_TYPE(uintptr_t, unsigned long)
+
+# Look for a 64-bit type.
+AC_MSG_CHECKING([for a 64-bit type])
+AC_CACHE_VAL(liberty_cv_uint64,
+[AC_TRY_COMPILE(
+[#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif],
+[extern uint64_t foo;],
+liberty_cv_uint64=uint64_t,
+[AC_TRY_COMPILE(
+[#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
+#endif],
+[extern char foo[sizeof(long) * CHAR_BIT >= 64 ? 1 : -1];],
+liberty_cv_uint64="unsigned long",
+[AC_TRY_COMPILE(
+[#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
+#endif],
+[extern char foo[sizeof(long long) * CHAR_BIT >= 64 ? 1 : -1];],
+liberty_cv_uint64="unsigned long long", liberty_cv_uint64=none)])])])
+AC_MSG_RESULT($liberty_cv_uint64)
+if test "$liberty_cv_uint64" != none; then
+ AC_DEFINE_UNQUOTED(UNSIGNED_64BIT_TYPE, $liberty_cv_uint64,
+ [Define to an unsigned 64-bit type available in the compiler.])
+fi
+
# Given the above check, we always have uintptr_t or a fallback
# definition. So define HAVE_UINTPTR_T in case any imported code
# relies on it.
@@ -433,7 +468,7 @@ if test -z "${setobjs}"; then
AC_ISC_POSIX
AC_REPLACE_FUNCS($funcs)
libiberty_AC_FUNC_C_ALLOCA
- AC_FUNC_VFORK
+ AC_FUNC_FORK
if test $ac_cv_func_vfork_works = no; then
AC_LIBOBJ([vfork])
fi
@@ -449,9 +484,9 @@ if test -z "${setobjs}"; then
for v in $vars; do
AC_MSG_CHECKING([for $v])
AC_CACHE_VAL(libiberty_cv_var_$v,
- [AC_TRY_LINK([int *p;], [extern int $v []; p = $v;],
- [eval "libiberty_cv_var_$v=yes"],
- [eval "libiberty_cv_var_$v=no"])])
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])],
+ [eval "libiberty_cv_var_$v=yes"],
+ [eval "libiberty_cv_var_$v=no"])])
if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
AC_MSG_RESULT(yes)
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
@@ -464,11 +499,11 @@ if test -z "${setobjs}"; then
# special check for _system_configuration because AIX <4.3.2 do not
# contain the `physmem' member.
AC_MSG_CHECKING([for external symbol _system_configuration])
- AC_TRY_COMPILE([#include <sys/systemcfg.h>],
- [double x = _system_configuration.physmem;],
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/systemcfg.h>]],
+ [[double x = _system_configuration.physmem;]])],
[AC_MSG_RESULT([yes])
AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
- [Define if you have the _system_configuration variable.])],
+ [Define if you have the _system_configuration variable.])],
[AC_MSG_RESULT([no])])
AC_CHECK_FUNCS($checkfuncs)
@@ -507,8 +542,9 @@ done
LIBOBJS="$L"
# We need multilib support, but only if configuring for the target.
-AC_OUTPUT(Makefile testsuite/Makefile,
-[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+AC_CONFIG_FILES([Makefile testsuite/Makefile])
+AC_CONFIG_COMMANDS([default],
+ [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
if test -n "$CONFIG_FILES"; then
if test -n "${with_build_subdir}" || test -n "${with_target_subdir}"; then
# FIXME: We shouldn't need to set ac_file
@@ -516,8 +552,8 @@ if test -n "$CONFIG_FILES"; then
LD="${ORIGINAL_LD_FOR_MULTILIBS}"
. ${libiberty_topdir}/config-ml.in
fi
-fi],
-srcdir=${srcdir}
+fi]],
+[[srcdir=${srcdir}
host=${host}
target=${target}
with_target_subdir=${with_target_subdir}
@@ -527,4 +563,5 @@ ac_configure_args="--enable-multilib ${ac_configure_args}"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
libiberty_topdir=${libiberty_topdir}
-)
+]])
+AC_OUTPUT
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 19f191e..fe4b367 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1748,31 +1748,33 @@ CP_STATIC_IF_GLIBCPP_V3
const struct demangle_builtin_type_info
cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT] =
{
- /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_INT },
+ /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_DEFAULT },
/* b */ { NL ("bool"), NL ("boolean"), D_PRINT_BOOL },
- /* c */ { NL ("char"), NL ("byte"), D_PRINT_INT },
- /* d */ { NL ("double"), NL ("double"), D_PRINT_DEFAULT },
- /* e */ { NL ("long double"), NL ("long double"), D_PRINT_DEFAULT },
- /* f */ { NL ("float"), NL ("float"), D_PRINT_DEFAULT },
- /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_DEFAULT },
- /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_INT },
+ /* c */ { NL ("char"), NL ("byte"), D_PRINT_DEFAULT },
+ /* d */ { NL ("double"), NL ("double"), D_PRINT_FLOAT },
+ /* e */ { NL ("long double"), NL ("long double"), D_PRINT_FLOAT },
+ /* f */ { NL ("float"), NL ("float"), D_PRINT_FLOAT },
+ /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_FLOAT },
+ /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_DEFAULT },
/* i */ { NL ("int"), NL ("int"), D_PRINT_INT },
- /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_INT },
+ /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_UNSIGNED },
/* k */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
/* l */ { NL ("long"), NL ("long"), D_PRINT_LONG },
- /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_LONG },
+ /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_UNSIGNED_LONG },
/* n */ { NL ("__int128"), NL ("__int128"), D_PRINT_DEFAULT },
- /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), D_PRINT_DEFAULT },
+ /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"),
+ D_PRINT_DEFAULT },
/* p */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
/* q */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
/* r */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
- /* s */ { NL ("short"), NL ("short"), D_PRINT_INT },
- /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_INT },
+ /* s */ { NL ("short"), NL ("short"), D_PRINT_DEFAULT },
+ /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_DEFAULT },
/* u */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
/* v */ { NL ("void"), NL ("void"), D_PRINT_VOID },
- /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_INT },
- /* x */ { NL ("long long"), NL ("long"), D_PRINT_DEFAULT },
- /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), D_PRINT_DEFAULT },
+ /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_DEFAULT },
+ /* x */ { NL ("long long"), NL ("long"), D_PRINT_LONG_LONG },
+ /* y */ { NL ("unsigned long long"), NL ("unsigned long long"),
+ D_PRINT_UNSIGNED_LONG_LONG },
/* z */ { NL ("..."), NL ("..."), D_PRINT_DEFAULT },
};
@@ -3050,6 +3052,30 @@ d_print_comp (dpi, dc)
case DEMANGLE_COMPONENT_RESTRICT:
case DEMANGLE_COMPONENT_VOLATILE:
case DEMANGLE_COMPONENT_CONST:
+ {
+ struct d_print_mod *pdpm;
+
+ /* When printing arrays, it's possible to have cases where the
+ same CV-qualifier gets pushed on the stack multiple times.
+ We only need to print it once. */
+
+ for (pdpm = dpi->modifiers; pdpm != NULL; pdpm = pdpm->next)
+ {
+ if (! pdpm->printed)
+ {
+ if (pdpm->mod->type != DEMANGLE_COMPONENT_RESTRICT
+ && pdpm->mod->type != DEMANGLE_COMPONENT_VOLATILE
+ && pdpm->mod->type != DEMANGLE_COMPONENT_CONST)
+ break;
+ if (pdpm->mod->type == dc->type)
+ {
+ d_print_comp (dpi, d_left (dc));
+ return;
+ }
+ }
+ }
+ }
+ /* Fall through. */
case DEMANGLE_COMPONENT_RESTRICT_THIS:
case DEMANGLE_COMPONENT_VOLATILE_THIS:
case DEMANGLE_COMPONENT_CONST_THIS:
@@ -3125,24 +3151,65 @@ d_print_comp (dpi, dc)
case DEMANGLE_COMPONENT_ARRAY_TYPE:
{
- struct d_print_mod dpm;
+ struct d_print_mod *hold_modifiers;
+ struct d_print_mod adpm[4];
+ unsigned int i;
+ struct d_print_mod *pdpm;
/* We must pass this type down as a modifier in order to print
- multi-dimensional arrays correctly. */
+ multi-dimensional arrays correctly. If the array itself is
+ CV-qualified, we act as though the element type were
+ CV-qualified. We do this by copying the modifiers down
+ rather than fiddling pointers, so that we don't wind up
+ with a d_print_mod higher on the stack pointing into our
+ stack frame after we return. */
- dpm.next = dpi->modifiers;
- dpi->modifiers = &dpm;
- dpm.mod = dc;
- dpm.printed = 0;
- dpm.templates = dpi->templates;
+ hold_modifiers = dpi->modifiers;
+
+ adpm[0].next = hold_modifiers;
+ dpi->modifiers = &adpm[0];
+ adpm[0].mod = dc;
+ adpm[0].printed = 0;
+ adpm[0].templates = dpi->templates;
+
+ i = 1;
+ pdpm = hold_modifiers;
+ while (pdpm != NULL
+ && (pdpm->mod->type == DEMANGLE_COMPONENT_RESTRICT
+ || pdpm->mod->type == DEMANGLE_COMPONENT_VOLATILE
+ || pdpm->mod->type == DEMANGLE_COMPONENT_CONST))
+ {
+ if (! pdpm->printed)
+ {
+ if (i >= sizeof adpm / sizeof adpm[0])
+ {
+ d_print_error (dpi);
+ return;
+ }
+
+ adpm[i] = *pdpm;
+ adpm[i].next = dpi->modifiers;
+ dpi->modifiers = &adpm[i];
+ pdpm->printed = 1;
+ ++i;
+ }
+
+ pdpm = pdpm->next;
+ }
d_print_comp (dpi, d_right (dc));
- dpi->modifiers = dpm.next;
+ dpi->modifiers = hold_modifiers;
- if (dpm.printed)
+ if (adpm[0].printed)
return;
+ while (i > 1)
+ {
+ --i;
+ d_print_mod (dpi, adpm[i].mod);
+ }
+
d_print_array_type (dpi, dc, dpi->modifiers);
return;
@@ -3212,15 +3279,13 @@ d_print_comp (dpi, dc)
d_print_expr_op (dpi, d_left (dc));
else
{
- d_append_string_constant (dpi, "((");
+ d_append_char (dpi, '(');
d_print_cast (dpi, d_left (dc));
d_append_char (dpi, ')');
}
d_append_char (dpi, '(');
d_print_comp (dpi, d_right (dc));
d_append_char (dpi, ')');
- if (d_left (dc)->type == DEMANGLE_COMPONENT_CAST)
- d_append_char (dpi, ')');
return;
case DEMANGLE_COMPONENT_BINARY:
@@ -3284,62 +3349,86 @@ d_print_comp (dpi, dc)
case DEMANGLE_COMPONENT_LITERAL:
case DEMANGLE_COMPONENT_LITERAL_NEG:
- /* For some builtin types, produce simpler output. */
- if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE)
- {
- switch (d_left (dc)->u.s_builtin.type->print)
- {
- case D_PRINT_INT:
- if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
- {
- if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
- d_append_char (dpi, '-');
- d_print_comp (dpi, d_right (dc));
- return;
- }
- break;
+ {
+ enum d_builtin_type_print tp;
- case D_PRINT_LONG:
- if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
- {
- if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
- d_append_char (dpi, '-');
- d_print_comp (dpi, d_right (dc));
- d_append_char (dpi, 'l');
- return;
- }
- break;
+ /* For some builtin types, produce simpler output. */
+ tp = D_PRINT_DEFAULT;
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE)
+ {
+ tp = d_left (dc)->u.s_builtin.type->print;
+ switch (tp)
+ {
+ case D_PRINT_INT:
+ case D_PRINT_UNSIGNED:
+ case D_PRINT_LONG:
+ case D_PRINT_UNSIGNED_LONG:
+ case D_PRINT_LONG_LONG:
+ case D_PRINT_UNSIGNED_LONG_LONG:
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
+ {
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
+ d_append_char (dpi, '-');
+ d_print_comp (dpi, d_right (dc));
+ switch (tp)
+ {
+ default:
+ break;
+ case D_PRINT_UNSIGNED:
+ d_append_char (dpi, 'u');
+ break;
+ case D_PRINT_LONG:
+ d_append_char (dpi, 'l');
+ break;
+ case D_PRINT_UNSIGNED_LONG:
+ d_append_string_constant (dpi, "ul");
+ break;
+ case D_PRINT_LONG_LONG:
+ d_append_string_constant (dpi, "ll");
+ break;
+ case D_PRINT_UNSIGNED_LONG_LONG:
+ d_append_string_constant (dpi, "ull");
+ break;
+ }
+ return;
+ }
+ break;
- case D_PRINT_BOOL:
- if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME
- && d_right (dc)->u.s_name.len == 1
- && dc->type == DEMANGLE_COMPONENT_LITERAL)
- {
- switch (d_right (dc)->u.s_name.s[0])
- {
- case '0':
- d_append_string_constant (dpi, "false");
- return;
- case '1':
- d_append_string_constant (dpi, "true");
- return;
- default:
- break;
- }
- }
- break;
+ case D_PRINT_BOOL:
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME
+ && d_right (dc)->u.s_name.len == 1
+ && dc->type == DEMANGLE_COMPONENT_LITERAL)
+ {
+ switch (d_right (dc)->u.s_name.s[0])
+ {
+ case '0':
+ d_append_string_constant (dpi, "false");
+ return;
+ case '1':
+ d_append_string_constant (dpi, "true");
+ return;
+ default:
+ break;
+ }
+ }
+ break;
- default:
- break;
- }
- }
+ default:
+ break;
+ }
+ }
- d_append_char (dpi, '(');
- d_print_comp (dpi, d_left (dc));
- d_append_char (dpi, ')');
- if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
- d_append_char (dpi, '-');
- d_print_comp (dpi, d_right (dc));
+ d_append_char (dpi, '(');
+ d_print_comp (dpi, d_left (dc));
+ d_append_char (dpi, ')');
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
+ d_append_char (dpi, '-');
+ if (tp == D_PRINT_FLOAT)
+ d_append_char (dpi, '[');
+ d_print_comp (dpi, d_right (dc));
+ if (tp == D_PRINT_FLOAT)
+ d_append_char (dpi, ']');
+ }
return;
default:
@@ -3549,11 +3638,13 @@ d_print_function_type (dpi, dc, mods)
{
int need_paren;
int saw_mod;
+ int need_space;
struct d_print_mod *p;
struct d_print_mod *hold_modifiers;
need_paren = 0;
saw_mod = 0;
+ need_space = 0;
for (p = mods; p != NULL; p = p->next)
{
if (p->printed)
@@ -3562,15 +3653,18 @@ d_print_function_type (dpi, dc, mods)
saw_mod = 1;
switch (p->mod->type)
{
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ need_paren = 1;
+ break;
case DEMANGLE_COMPONENT_RESTRICT:
case DEMANGLE_COMPONENT_VOLATILE:
case DEMANGLE_COMPONENT_CONST:
case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
- case DEMANGLE_COMPONENT_POINTER:
- case DEMANGLE_COMPONENT_REFERENCE:
case DEMANGLE_COMPONENT_COMPLEX:
case DEMANGLE_COMPONENT_IMAGINARY:
case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+ need_space = 1;
need_paren = 1;
break;
case DEMANGLE_COMPONENT_RESTRICT_THIS:
@@ -3589,18 +3683,14 @@ d_print_function_type (dpi, dc, mods)
if (need_paren)
{
- switch (d_last_char (dpi))
+ if (! need_space)
{
- case ' ':
- case '(':
- case '*':
- break;
-
- default:
- d_append_char (dpi, ' ');
- break;
+ if (d_last_char (dpi) != '('
+ && d_last_char (dpi) != '*')
+ need_space = 1;
}
-
+ if (need_space && d_last_char (dpi) != ' ')
+ d_append_char (dpi, ' ');
d_append_char (dpi, '(');
}
@@ -3643,19 +3733,19 @@ d_print_array_type (dpi, dc, mods)
need_paren = 0;
for (p = mods; p != NULL; p = p->next)
{
- if (p->printed)
- break;
-
- if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
- {
- need_space = 0;
- break;
- }
- else
+ if (! p->printed)
{
- need_paren = 1;
- need_space = 1;
- break;
+ if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
+ {
+ need_space = 0;
+ break;
+ }
+ else
+ {
+ need_paren = 1;
+ need_space = 1;
+ break;
+ }
}
}
@@ -3944,29 +4034,46 @@ __cxa_demangle (mangled_name, output_buffer, length, status)
char *demangled;
size_t alc;
- if (status == NULL)
- return NULL;
-
if (mangled_name == NULL)
{
- *status = -3;
+ if (status != NULL)
+ *status = -3;
return NULL;
}
if (output_buffer != NULL && length == NULL)
{
- *status = -3;
+ if (status != NULL)
+ *status = -3;
+ return NULL;
+ }
+
+ /* The specification for __cxa_demangle() is that if the mangled
+ name could be either an extern "C" identifier, or an internal
+ built-in type name, then we resolve it as the identifier. All
+ internal built-in type names are a single lower case character.
+ Frankly, this simplistic disambiguation doesn't make sense to me,
+ but it is documented, so we implement it here. */
+ if (IS_LOWER (mangled_name[0])
+ && mangled_name[1] == '\0'
+ && cplus_demangle_builtin_types[mangled_name[0] - 'a'].name != NULL)
+ {
+ if (status != NULL)
+ *status = -2;
return NULL;
}
- demangled = d_demangle (mangled_name, DMGL_TYPES, &alc);
+ demangled = d_demangle (mangled_name, DMGL_PARAMS | DMGL_TYPES, &alc);
if (demangled == NULL)
{
- if (alc == 1)
- *status = -1;
- else
- *status = -2;
+ if (status != NULL)
+ {
+ if (alc == 1)
+ *status = -1;
+ else
+ *status = -2;
+ }
return NULL;
}
@@ -3990,7 +4097,8 @@ __cxa_demangle (mangled_name, output_buffer, length, status)
}
}
- *status = 0;
+ if (status != NULL)
+ *status = 0;
return demangled;
}
@@ -4296,7 +4404,11 @@ main (argc, argv)
if (dyn_string_length (mangled) > 0)
{
+#ifdef IN_GLIBCPP_V3
+ s = __cxa_demangle (dyn_string_buf (mangled), NULL, NULL, NULL);
+#else
s = cplus_demangle_v3 (dyn_string_buf (mangled), options);
+#endif
if (s != NULL)
{
@@ -4328,9 +4440,16 @@ main (argc, argv)
for (i = optind; i < argc; ++i)
{
char *s;
+#ifdef IN_GLIBCPP_V3
+ int status;
+#endif
/* Attempt to demangle. */
+#ifdef IN_GLIBCPP_V3
+ s = __cxa_demangle (argv[i], NULL, NULL, &status);
+#else
s = cplus_demangle_v3 (argv[i], options);
+#endif
/* If it worked, print the demangled name. */
if (s != NULL)
@@ -4339,7 +4458,13 @@ main (argc, argv)
free (s);
}
else
- fprintf (stderr, "Failed: %s\n", argv[i]);
+ {
+#ifdef IN_GLIBCPP_V3
+ fprintf (stderr, "Failed: %s (status %d)\n", argv[i], status);
+#else
+ fprintf (stderr, "Failed: %s\n", argv[i]);
+#endif
+ }
}
}
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
index d3c57ce..eea0868 100644
--- a/libiberty/cp-demangle.h
+++ b/libiberty/cp-demangle.h
@@ -53,10 +53,20 @@ enum d_builtin_type_print
D_PRINT_DEFAULT,
/* Print as integer. */
D_PRINT_INT,
- /* Print as long, with trailing `l'. */
+ /* Print as unsigned integer, with trailing "u". */
+ D_PRINT_UNSIGNED,
+ /* Print as long, with trailing "l". */
D_PRINT_LONG,
+ /* Print as unsigned long, with trailing "ul". */
+ D_PRINT_UNSIGNED_LONG,
+ /* Print as long long, with trailing "ll". */
+ D_PRINT_LONG_LONG,
+ /* Print as unsigned long long, with trailing "ull". */
+ D_PRINT_UNSIGNED_LONG_LONG,
/* Print as bool. */
D_PRINT_BOOL,
+ /* Print as float--put value in square brackets. */
+ D_PRINT_FLOAT,
/* Print in usual way, but here to detect void. */
D_PRINT_VOID
};
diff --git a/libiberty/dyn-string.c b/libiberty/dyn-string.c
index 1da76c2..5d48cdc 100644
--- a/libiberty/dyn-string.c
+++ b/libiberty/dyn-string.c
@@ -1,5 +1,5 @@
/* An abstract string datatype.
- Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
This file is part of GNU CC.
@@ -45,15 +45,6 @@ Boston, MA 02111-1307, USA. */
#include "libiberty.h"
#include "dyn-string.h"
-/* If this file is being compiled for inclusion in the C++ runtime
- library, as part of the demangler implementation, we don't want to
- abort if an allocation fails. Instead, percolate an error code up
- through the call chain. */
-
-#if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3)
-#define RETURN_ON_ALLOCATION_FAILURE
-#endif
-
/* Performs in-place initialization of a dyn_string struct. This
function can be used with a dyn_string struct on the stack or
embedded in another object. The contents of of the string itself
diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
index 231fbc0..6e7a44b 100644
--- a/libiberty/hashtab.c
+++ b/libiberty/hashtab.c
@@ -1,5 +1,6 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
This file is part of the libiberty library.
@@ -40,20 +41,29 @@ Boston, MA 02111-1307, USA. */
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
-
#ifdef HAVE_STRING_H
#include <string.h>
#endif
-
#ifdef HAVE_MALLOC_H
#include <malloc.h>
#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
#include <stdio.h>
#include "libiberty.h"
+#include "ansidecl.h"
#include "hashtab.h"
+#ifndef CHAR_BIT
+#define CHAR_BIT 8
+#endif
+
/* This macro defines reserved value for empty table entry. */
#define EMPTY_ENTRY ((PTR) 0)
@@ -63,7 +73,10 @@ Boston, MA 02111-1307, USA. */
#define DELETED_ENTRY ((PTR) 1)
-static unsigned long higher_prime_number PARAMS ((unsigned long));
+static unsigned int higher_prime_index PARAMS ((unsigned long));
+static hashval_t htab_mod_1 PARAMS ((hashval_t, hashval_t, hashval_t, int));
+static hashval_t htab_mod PARAMS ((hashval_t, htab_t));
+static hashval_t htab_mod_m2 PARAMS ((hashval_t, htab_t));
static hashval_t hash_pointer PARAMS ((const void *));
static int eq_pointer PARAMS ((const void *, const void *));
static int htab_expand PARAMS ((htab_t));
@@ -75,69 +88,117 @@ static PTR *find_empty_slot_for_expand PARAMS ((htab_t, hashval_t));
htab_hash htab_hash_pointer = hash_pointer;
htab_eq htab_eq_pointer = eq_pointer;
-/* The following function returns a nearest prime number which is
- greater than N, and near a power of two. */
+/* Table of primes and multiplicative inverses.
+
+ Note that these are not minimally reduced inverses. Unlike when generating
+ code to divide by a constant, we want to be able to use the same algorithm
+ all the time. All of these inverses (are implied to) have bit 32 set.
+
+ For the record, here's the function that computed the table; it's a
+ vastly simplified version of the function of the same name from gcc. */
+
+#if 0
+unsigned int
+ceil_log2 (unsigned int x)
+{
+ int i;
+ for (i = 31; i >= 0 ; --i)
+ if (x > (1u << i))
+ return i+1;
+ abort ();
+}
+
+unsigned int
+choose_multiplier (unsigned int d, unsigned int *mlp, unsigned char *shiftp)
+{
+ unsigned long long mhigh;
+ double nx;
+ int lgup, post_shift;
+ int pow, pow2;
+ int n = 32, precision = 32;
+
+ lgup = ceil_log2 (d);
+ pow = n + lgup;
+ pow2 = n + lgup - precision;
+
+ nx = ldexp (1.0, pow) + ldexp (1.0, pow2);
+ mhigh = nx / d;
+
+ *shiftp = lgup - 1;
+ *mlp = mhigh;
+ return mhigh >> 32;
+}
+#endif
-static unsigned long
-higher_prime_number (n)
+struct prime_ent
+{
+ hashval_t prime;
+ hashval_t inv;
+ hashval_t inv_m2; /* inverse of prime-2 */
+ hashval_t shift;
+};
+
+static struct prime_ent const prime_tab[] = {
+ { 7, 0x24924925, 0x9999999b, 2 },
+ { 13, 0x3b13b13c, 0x745d1747, 3 },
+ { 31, 0x08421085, 0x1a7b9612, 4 },
+ { 61, 0x0c9714fc, 0x15b1e5f8, 5 },
+ { 127, 0x02040811, 0x0624dd30, 6 },
+ { 251, 0x05197f7e, 0x073260a5, 7 },
+ { 509, 0x01824366, 0x02864fc8, 8 },
+ { 1021, 0x00c0906d, 0x014191f7, 9 },
+ { 2039, 0x0121456f, 0x0161e69e, 10 },
+ { 4093, 0x00300902, 0x00501908, 11 },
+ { 8191, 0x00080041, 0x00180241, 12 },
+ { 16381, 0x000c0091, 0x00140191, 13 },
+ { 32749, 0x002605a5, 0x002a06e6, 14 },
+ { 65521, 0x000f00e2, 0x00110122, 15 },
+ { 131071, 0x00008001, 0x00018003, 16 },
+ { 262139, 0x00014002, 0x0001c004, 17 },
+ { 524287, 0x00002001, 0x00006001, 18 },
+ { 1048573, 0x00003001, 0x00005001, 19 },
+ { 2097143, 0x00004801, 0x00005801, 20 },
+ { 4194301, 0x00000c01, 0x00001401, 21 },
+ { 8388593, 0x00001e01, 0x00002201, 22 },
+ { 16777213, 0x00000301, 0x00000501, 23 },
+ { 33554393, 0x00001381, 0x00001481, 24 },
+ { 67108859, 0x00000141, 0x000001c1, 25 },
+ { 134217689, 0x000004e1, 0x00000521, 26 },
+ { 268435399, 0x00000391, 0x000003b1, 27 },
+ { 536870909, 0x00000019, 0x00000029, 28 },
+ { 1073741789, 0x0000008d, 0x00000095, 29 },
+ { 2147483647, 0x00000003, 0x00000007, 30 },
+ /* Avoid "decimal constant so large it is unsigned" for 4294967291. */
+ { 0xfffffffb, 0x00000006, 0x00000008, 31 }
+};
+
+/* The following function returns an index into the above table of the
+ nearest prime number which is greater than N, and near a power of two. */
+
+static unsigned int
+higher_prime_index (n)
unsigned long n;
{
- /* These are primes that are near, but slightly smaller than, a
- power of two. */
- static const unsigned long primes[] = {
- (unsigned long) 7,
- (unsigned long) 13,
- (unsigned long) 31,
- (unsigned long) 61,
- (unsigned long) 127,
- (unsigned long) 251,
- (unsigned long) 509,
- (unsigned long) 1021,
- (unsigned long) 2039,
- (unsigned long) 4093,
- (unsigned long) 8191,
- (unsigned long) 16381,
- (unsigned long) 32749,
- (unsigned long) 65521,
- (unsigned long) 131071,
- (unsigned long) 262139,
- (unsigned long) 524287,
- (unsigned long) 1048573,
- (unsigned long) 2097143,
- (unsigned long) 4194301,
- (unsigned long) 8388593,
- (unsigned long) 16777213,
- (unsigned long) 33554393,
- (unsigned long) 67108859,
- (unsigned long) 134217689,
- (unsigned long) 268435399,
- (unsigned long) 536870909,
- (unsigned long) 1073741789,
- (unsigned long) 2147483647,
- /* 4294967291L */
- ((unsigned long) 2147483647) + ((unsigned long) 2147483644),
- };
-
- const unsigned long *low = &primes[0];
- const unsigned long *high = &primes[sizeof(primes) / sizeof(primes[0])];
+ unsigned int low = 0;
+ unsigned int high = sizeof(prime_tab) / sizeof(prime_tab[0]);
while (low != high)
{
- const unsigned long *mid = low + (high - low) / 2;
- if (n > *mid)
+ unsigned int mid = low + (high - low) / 2;
+ if (n > prime_tab[mid].prime)
low = mid + 1;
else
high = mid;
}
/* If we've run out of primes, abort. */
- if (n > *low)
+ if (n > prime_tab[low].prime)
{
fprintf (stderr, "Cannot find prime bigger than %lu\n", n);
abort ();
}
- return *low;
+ return low;
}
/* Returns a hash code for P. */
@@ -159,6 +220,76 @@ eq_pointer (p1, p2)
return p1 == p2;
}
+/* Return the current size of given hash table. */
+
+inline size_t
+htab_size (htab)
+ htab_t htab;
+{
+ return htab->size;
+}
+
+/* Return the current number of elements in given hash table. */
+
+inline size_t
+htab_elements (htab)
+ htab_t htab;
+{
+ return htab->n_elements - htab->n_deleted;
+}
+
+/* Return X % Y. */
+
+static inline hashval_t
+htab_mod_1 (x, y, inv, shift)
+ hashval_t x, y, inv;
+ int shift;
+{
+ /* The multiplicative inverses computed above are for 32-bit types, and
+ requires that we be able to compute a highpart multiply. */
+#ifdef UNSIGNED_64BIT_TYPE
+ __extension__ typedef UNSIGNED_64BIT_TYPE ull;
+ if (sizeof (hashval_t) * CHAR_BIT <= 32)
+ {
+ hashval_t t1, t2, t3, t4, q, r;
+
+ t1 = ((ull)x * inv) >> 32;
+ t2 = x - t1;
+ t3 = t2 >> 1;
+ t4 = t1 + t3;
+ q = t4 >> shift;
+ r = x - (q * y);
+
+ return r;
+ }
+#endif
+
+ /* Otherwise just use the native division routines. */
+ return x % y;
+}
+
+/* Compute the primary hash for HASH given HTAB's current size. */
+
+static inline hashval_t
+htab_mod (hash, htab)
+ hashval_t hash;
+ htab_t htab;
+{
+ const struct prime_ent *p = &prime_tab[htab->size_prime_index];
+ return htab_mod_1 (hash, p->prime, p->inv, p->shift);
+}
+
+/* Compute the secondary hash for HASH given HTAB's current size. */
+
+static inline hashval_t
+htab_mod_m2 (hash, htab)
+ hashval_t hash;
+ htab_t htab;
+{
+ const struct prime_ent *p = &prime_tab[htab->size_prime_index];
+ return 1 + htab_mod_1 (hash, p->prime - 2, p->inv_m2, p->shift);
+}
+
/* This function creates table with length slightly longer than given
source length. Created hash table is initiated as empty (all the
hash table entries are EMPTY_ENTRY). The function returns the
@@ -174,8 +305,11 @@ htab_create_alloc (size, hash_f, eq_f, del_f, alloc_f, free_f)
htab_free free_f;
{
htab_t result;
+ unsigned int size_prime_index;
+
+ size_prime_index = higher_prime_index (size);
+ size = prime_tab[size_prime_index].prime;
- size = higher_prime_number (size);
result = (htab_t) (*alloc_f) (1, sizeof (struct htab));
if (result == NULL)
return NULL;
@@ -187,6 +321,7 @@ htab_create_alloc (size, hash_f, eq_f, del_f, alloc_f, free_f)
return NULL;
}
result->size = size;
+ result->size_prime_index = size_prime_index;
result->hash_f = hash_f;
result->eq_f = eq_f;
result->del_f = del_f;
@@ -210,8 +345,11 @@ htab_create_alloc_ex (size, hash_f, eq_f, del_f, alloc_arg, alloc_f,
htab_free_with_arg free_f;
{
htab_t result;
+ unsigned int size_prime_index;
+
+ size_prime_index = higher_prime_index (size);
+ size = prime_tab[size_prime_index].prime;
- size = higher_prime_number (size);
result = (htab_t) (*alloc_f) (alloc_arg, 1, sizeof (struct htab));
if (result == NULL)
return NULL;
@@ -223,6 +361,7 @@ htab_create_alloc_ex (size, hash_f, eq_f, del_f, alloc_arg, alloc_f,
return NULL;
}
result->size = size;
+ result->size_prime_index = size_prime_index;
result->hash_f = hash_f;
result->eq_f = eq_f;
result->del_f = del_f;
@@ -282,22 +421,23 @@ void
htab_delete (htab)
htab_t htab;
{
+ size_t size = htab_size (htab);
+ PTR *entries = htab->entries;
int i;
if (htab->del_f)
- for (i = htab->size - 1; i >= 0; i--)
- if (htab->entries[i] != EMPTY_ENTRY
- && htab->entries[i] != DELETED_ENTRY)
- (*htab->del_f) (htab->entries[i]);
+ for (i = size - 1; i >= 0; i--)
+ if (entries[i] != EMPTY_ENTRY && entries[i] != DELETED_ENTRY)
+ (*htab->del_f) (entries[i]);
if (htab->free_f != NULL)
{
- (*htab->free_f) (htab->entries);
+ (*htab->free_f) (entries);
(*htab->free_f) (htab);
}
else if (htab->free_with_arg_f != NULL)
{
- (*htab->free_with_arg_f) (htab->alloc_arg, htab->entries);
+ (*htab->free_with_arg_f) (htab->alloc_arg, entries);
(*htab->free_with_arg_f) (htab->alloc_arg, htab);
}
}
@@ -308,15 +448,16 @@ void
htab_empty (htab)
htab_t htab;
{
+ size_t size = htab_size (htab);
+ PTR *entries = htab->entries;
int i;
if (htab->del_f)
- for (i = htab->size - 1; i >= 0; i--)
- if (htab->entries[i] != EMPTY_ENTRY
- && htab->entries[i] != DELETED_ENTRY)
- (*htab->del_f) (htab->entries[i]);
+ for (i = size - 1; i >= 0; i--)
+ if (entries[i] != EMPTY_ENTRY && entries[i] != DELETED_ENTRY)
+ (*htab->del_f) (entries[i]);
- memset (htab->entries, 0, htab->size * sizeof (PTR));
+ memset (entries, 0, size * sizeof (PTR));
}
/* Similar to htab_find_slot, but without several unwanted side effects:
@@ -331,8 +472,8 @@ find_empty_slot_for_expand (htab, hash)
htab_t htab;
hashval_t hash;
{
- size_t size = htab->size;
- unsigned int index = hash % size;
+ hashval_t index = htab_mod (hash, htab);
+ size_t size = htab_size (htab);
PTR *slot = htab->entries + index;
hashval_t hash2;
@@ -341,7 +482,7 @@ find_empty_slot_for_expand (htab, hash)
else if (*slot == DELETED_ENTRY)
abort ();
- hash2 = 1 + hash % (size - 2);
+ hash2 = htab_mod_m2 (hash, htab);
for (;;)
{
index += hash2;
@@ -372,19 +513,27 @@ htab_expand (htab)
PTR *olimit;
PTR *p;
PTR *nentries;
- size_t nsize;
+ size_t nsize, osize, elts;
+ unsigned int oindex, nindex;
oentries = htab->entries;
- olimit = oentries + htab->size;
+ oindex = htab->size_prime_index;
+ osize = htab->size;
+ olimit = oentries + osize;
+ elts = htab_elements (htab);
/* Resize only when table after removal of unused elements is either
too full or too empty. */
- if ((htab->n_elements - htab->n_deleted) * 2 > htab->size
- || ((htab->n_elements - htab->n_deleted) * 8 < htab->size
- && htab->size > 32))
- nsize = higher_prime_number ((htab->n_elements - htab->n_deleted) * 2);
+ if (elts * 2 > osize || (elts * 8 < osize && osize > 32))
+ {
+ nindex = higher_prime_index (elts * 2);
+ nsize = prime_tab[nindex].prime;
+ }
else
- nsize = htab->size;
+ {
+ nindex = oindex;
+ nsize = osize;
+ }
if (htab->alloc_with_arg_f != NULL)
nentries = (PTR *) (*htab->alloc_with_arg_f) (htab->alloc_arg, nsize,
@@ -395,7 +544,7 @@ htab_expand (htab)
return 0;
htab->entries = nentries;
htab->size = nsize;
-
+ htab->size_prime_index = nindex;
htab->n_elements -= htab->n_deleted;
htab->n_deleted = 0;
@@ -431,22 +580,20 @@ htab_find_with_hash (htab, element, hash)
const PTR element;
hashval_t hash;
{
- unsigned int index;
- hashval_t hash2;
+ hashval_t index, hash2;
size_t size;
PTR entry;
htab->searches++;
- size = htab->size;
- index = hash % size;
+ size = htab_size (htab);
+ index = htab_mod (hash, htab);
entry = htab->entries[index];
if (entry == EMPTY_ENTRY
|| (entry != DELETED_ENTRY && (*htab->eq_f) (entry, element)))
return entry;
- hash2 = 1 + hash % (size - 2);
-
+ hash2 = htab_mod_m2 (hash, htab);
for (;;)
{
htab->collisions++;
@@ -488,17 +635,19 @@ htab_find_slot_with_hash (htab, element, hash, insert)
enum insert_option insert;
{
PTR *first_deleted_slot;
- unsigned int index;
- hashval_t hash2;
+ hashval_t index, hash2;
size_t size;
PTR entry;
- if (insert == INSERT && htab->size * 3 <= htab->n_elements * 4
- && htab_expand (htab) == 0)
- return NULL;
+ size = htab_size (htab);
+ if (insert == INSERT && size * 3 <= htab->n_elements * 4)
+ {
+ if (htab_expand (htab) == 0)
+ return NULL;
+ size = htab_size (htab);
+ }
- size = htab->size;
- index = hash % size;
+ index = htab_mod (hash, htab);
htab->searches++;
first_deleted_slot = NULL;
@@ -511,7 +660,7 @@ htab_find_slot_with_hash (htab, element, hash, insert)
else if ((*htab->eq_f) (entry, element))
return &htab->entries[index];
- hash2 = 1 + hash % (size - 2);
+ hash2 = htab_mod_m2 (hash, htab);
for (;;)
{
htab->collisions++;
@@ -560,17 +709,31 @@ htab_find_slot (htab, element, insert)
}
/* This function deletes an element with the given value from hash
+ table (the hash is computed from the element). If there is no matching
+ element in the hash table, this function does nothing. */
+
+void
+htab_remove_elt (htab, element)
+ htab_t htab;
+ PTR element;
+{
+ htab_remove_elt_with_hash (htab, element, (*htab->hash_f) (element));
+}
+
+
+/* This function deletes an element with the given value from hash
table. If there is no matching element in the hash table, this
function does nothing. */
void
-htab_remove_elt (htab, element)
+htab_remove_elt_with_hash (htab, element, hash)
htab_t htab;
PTR element;
+ hashval_t hash;
{
PTR *slot;
- slot = htab_find_slot (htab, element, NO_INSERT);
+ slot = htab_find_slot_with_hash (htab, element, hash, NO_INSERT);
if (*slot == EMPTY_ENTRY)
return;
@@ -590,7 +753,7 @@ htab_clear_slot (htab, slot)
htab_t htab;
PTR *slot;
{
- if (slot < htab->entries || slot >= htab->entries + htab->size
+ if (slot < htab->entries || slot >= htab->entries + htab_size (htab)
|| *slot == EMPTY_ENTRY || *slot == DELETED_ENTRY)
abort ();
@@ -616,7 +779,7 @@ htab_traverse_noresize (htab, callback, info)
PTR *limit;
slot = htab->entries;
- limit = slot + htab->size;
+ limit = slot + htab_size (htab);
do
{
@@ -638,30 +801,12 @@ htab_traverse (htab, callback, info)
htab_trav callback;
PTR info;
{
- if ((htab->n_elements - htab->n_deleted) * 8 < htab->size)
+ if (htab_elements (htab) * 8 < htab_size (htab))
htab_expand (htab);
htab_traverse_noresize (htab, callback, info);
}
-/* Return the current size of given hash table. */
-
-size_t
-htab_size (htab)
- htab_t htab;
-{
- return htab->size;
-}
-
-/* Return the current number of elements in given hash table. */
-
-size_t
-htab_elements (htab)
- htab_t htab;
-{
- return htab->n_elements - htab->n_deleted;
-}
-
/* Return the fraction of fixed collisions during all work with given
hash table. */
diff --git a/libiberty/mkstemps.c b/libiberty/mkstemps.c
index 1f6600a..94edf78 100644
--- a/libiberty/mkstemps.c
+++ b/libiberty/mkstemps.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996, 1998, 2004 Free Software Foundation, Inc.
This file is derived from mkstemp.c from the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -121,11 +121,7 @@ mkstemps (template, suffix_len)
v /= 62;
XXXXXX[5] = letters[v % 62];
-#ifdef VMS
- fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600, "fop=tmd");
-#else
fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
-#endif
if (fd >= 0)
/* The file does not exist. */
return fd;
diff --git a/libiberty/pex-common.h b/libiberty/pex-common.h
index da2f71e..df3c0f6 100644
--- a/libiberty/pex-common.h
+++ b/libiberty/pex-common.h
@@ -1,6 +1,6 @@
/* Utilities to execute a program in a subprocess (possibly linked by pipes
with other subprocesses), and wait for it. Shared logic.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
Free Software Foundation, Inc.
This file is part of the libiberty library.
@@ -33,6 +33,9 @@ Boston, MA 02111-1307, USA. */
/* stdout file number. */
#define STDOUT_FILE_NO 1
+/* stderr file number. */
+#define STDERR_FILE_NO 2
+
/* value of `pipe': port index for reading. */
#define READ_PORT 0
diff --git a/libiberty/pex-unix.c b/libiberty/pex-unix.c
index 14fe71e..ddbed8f 100644
--- a/libiberty/pex-unix.c
+++ b/libiberty/pex-unix.c
@@ -1,7 +1,7 @@
/* Utilities to execute a program in a subprocess (possibly linked by pipes
with other subprocesses), and wait for it. Generic Unix version
(also used for UWIN and VMS).
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
Free Software Foundation, Inc.
This file is part of the libiberty library.
@@ -44,28 +44,66 @@ extern int errno;
#define waitpid(pid, status, flags) wait(status)
#endif
-extern int execv ();
-extern int execvp ();
+#ifdef vfork /* Autoconf may define this to fork for us. */
+# define VFORK_STRING "fork"
+#else
+# define VFORK_STRING "vfork"
+#endif
+#ifdef HAVE_VFORK_H
+#include <vfork.h>
+#endif
+#ifdef VMS
+#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
+ lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
+#endif /* VMS */
+
+/* Execute a program, possibly setting up pipes to programs executed
+ via other calls to this function.
+
+ This version of the function uses vfork. In general vfork is
+ similar to setjmp/longmp, in that any variable which is modified by
+ the child process has an indeterminate value in the parent process.
+ We follow a safe approach here by not modifying any variables at
+ all in the child process (with the possible exception of variables
+ modified by xstrerror if exec fails, but this is unlikely to be
+ detectable).
+
+ We work a little bit harder to avoid gcc warnings. gcc will warn
+ about any automatic variable which is live at the time of the
+ vfork, which is non-volatile, and which is either set more than
+ once or is an argument to the function. This warning isn't quite
+ right, since what we really care about is whether the variable is
+ live at the time of the vfork and set afterward by the child
+ process, but gcc only checks whether the variable is set more than
+ once. To avoid this warning, we ensure that any variable which is
+ live at the time of the vfork (i.e., used after the vfork) is set
+ exactly once and is not an argument, or is marked volatile. */
int
-pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags)
+pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg,
+ flagsarg)
const char *program;
char * const *argv;
const char *this_pname;
const char *temp_base ATTRIBUTE_UNUSED;
char **errmsg_fmt, **errmsg_arg;
- int flags;
+ int flagsarg;
{
- int (*func)() = (flags & PEXECUTE_SEARCH ? execvp : execv);
int pid;
int pdes[2];
+ int out;
int input_desc, output_desc;
- int retries, sleep_interval;
+ int flags;
+ /* We declare these to be volatile to avoid warnings from gcc about
+ them being clobbered by vfork. */
+ volatile int retries, sleep_interval;
/* Pipe waiting from last process, to be used as input for the next one.
Value is STDIN_FILE_NO if no pipe is waiting
(i.e. the next command is the first of a group). */
static int last_pipe_input;
+ flags = flagsarg;
+
/* If this is the first process, initialize. */
if (flags & PEXECUTE_FIRST)
last_pipe_input = STDIN_FILE_NO;
@@ -82,22 +120,24 @@ pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags)
*errmsg_arg = NULL;
return -1;
}
- output_desc = pdes[WRITE_PORT];
+ out = pdes[WRITE_PORT];
last_pipe_input = pdes[READ_PORT];
}
else
{
/* Last process. */
- output_desc = STDOUT_FILE_NO;
+ out = STDOUT_FILE_NO;
last_pipe_input = STDIN_FILE_NO;
}
+ output_desc = out;
+
/* Fork a subprocess; wait and retry if it fails. */
sleep_interval = 1;
pid = -1;
for (retries = 0; retries < 4; retries++)
{
- pid = fork ();
+ pid = vfork ();
if (pid >= 0)
break;
sleep (sleep_interval);
@@ -131,12 +171,21 @@ pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags)
close (last_pipe_input);
/* Exec the program. */
- (*func) (program, argv);
-
- fprintf (stderr, "%s: ", this_pname);
- fprintf (stderr, install_error_msg, program);
- fprintf (stderr, ": %s\n", xstrerror (errno));
- exit (-1);
+ if (flags & PEXECUTE_SEARCH)
+ execvp (program, argv);
+ else
+ execv (program, argv);
+
+ /* We don't want to call fprintf after vfork. */
+#define writeerr(s) write (STDERR_FILE_NO, s, strlen (s))
+ writeerr (this_pname);
+ writeerr (": ");
+ writeerr ("installation problem, cannot exec '");
+ writeerr (program);
+ writeerr ("': ");
+ writeerr (xstrerror (errno));
+ writeerr ("\n");
+ _exit (-1);
/* NOTREACHED */
return 0;
diff --git a/libiberty/strerror.c b/libiberty/strerror.c
index 83a5992..c0edb47 100644
--- a/libiberty/strerror.c
+++ b/libiberty/strerror.c
@@ -2,9 +2,6 @@
Written by Fred Fish. fnf@cygnus.com
This file is in the public domain. --Per Bothner. */
-#include "ansidecl.h"
-#include "libiberty.h"
-
#include "config.h"
#ifdef HAVE_SYS_ERRLIST
@@ -17,6 +14,9 @@
#define sys_errlist sys_errlist__
#endif
+#include "ansidecl.h"
+#include "libiberty.h"
+
#include <stdio.h>
#include <errno.h>
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index 25e8830..9a3f0b9 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -3591,13 +3591,13 @@ hairyfunc5
# This is from gcc PR 8861
--format=gnu-v3 --no-params
_Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE
-void f<1, 120>(A<(1) + (((int)((double)810000000000000000703DAD7A370C5)))>)
-f<1, 120>
+void f<1, (char)120>(A<(1) + ((int)((double)[810000000000000000703DAD7A370C5]))>)
+f<1, (char)120>
#
# This is also from gcc PR 8861
--format=gnu-v3 --no-params
_Z1fILi1EEv1AIXplT_cvingLf3f800000EEE
-void f<1>(A<(1) + (((int)(-((float)3f800000))))>)
+void f<1>(A<(1) + ((int)(-((float)[3f800000])))>)
f<1>
#
# This is from a libstdc++ debug mode patch.
@@ -3635,7 +3635,7 @@ std::operator< <file_path, std::string>
# More hairy qualifier handling.
--format=gnu-v3 --no-params
_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE
-hairyfunc(int (* const (X::** (* restrict (* volatile*(Y::*)(int) const)(char*)) [2])(long) const) [3])
+hairyfunc(int (* const (X::** (* restrict (* volatile* (Y::*)(int) const)(char*)) [2])(long) const) [3])
hairyfunc
#
# Check that negative numbers are handled correctly.
@@ -3681,6 +3681,24 @@ _ZNK5boost6spirit5matchI13rcs_deltatextEcvMNS0_4impl5dummyEFvvEEv
boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()() const
boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()
#
+# Multi-dimensional arrays with qualifiers on the inner dimensions.
+--format=gnu-v3 --no-params
+_Z3fooIA6_KiEvA9_KT_rVPrS4_
+void foo<int const [6]>(int const [9][6], int restrict const (* volatile restrict) [9][6])
+foo<int const [6]>
+#
+# From PR libstdc++/12736
+--format=gnu-v3 --no-params
+_Z3fooIA3_iEvRKT_
+void foo<int [3]>(int const (&) [3])
+foo<int [3]>
+#
+# Related to PR libstdc++/12736
+--format=gnu-v3 --no-params
+_Z3fooIPA3_iEvRKT_
+void foo<int (*) [3]>(int (* const&) [3])
+foo<int (*) [3]>
+#
# Test GNU V3 constructor and destructor identification.
# 0 means it is not a constructor/destructor.
# Other integers correspond to enum gnu_v3_{c,d}tor_kinds in demangle.h.
diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index 6e00d14..4d515fa 100644
--- a/libiberty/testsuite/test-demangle.c
+++ b/libiberty/testsuite/test-demangle.c
@@ -26,6 +26,12 @@
#include <stdio.h>
#include "libiberty.h"
#include "demangle.h"
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
struct line
{
@@ -119,7 +125,7 @@ main(argc, argv)
int argc;
char **argv;
{
- enum demangling_styles style;
+ enum demangling_styles style = auto_demangling;
int no_params;
int is_v3_ctor;
int is_v3_dtor;
diff --git a/mkinstalldirs b/mkinstalldirs
index d2d5f21..6fbe5e1 100755
--- a/mkinstalldirs
+++ b/mkinstalldirs
@@ -1,20 +1,32 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+
+scriptversion=2004-02-15.20
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
-# Public domain
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
errstatus=0
dirmode=""
usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
- echo "$usage" 1>&2
+ echo "$usage"
exit 0
;;
-m) # -m PERM arg
@@ -23,6 +35,10 @@ while test $# -gt 0 ; do
dirmode=$1
shift
;;
+ --version)
+ echo "$0 $scriptversion"
+ exit 0
+ ;;
--) # stop option processing
shift
break
@@ -50,17 +66,37 @@ case $# in
0) exit 0 ;;
esac
+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error. This is a problem when calling mkinstalldirs
+# from a parallel make. We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in
'')
- if mkdir -p -- . 2>/dev/null; then
+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
+ else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ test -d ./-p && rmdir ./-p
+ test -d ./--version && rmdir ./--version
fi
;;
*)
- if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+ test ! -d ./--version; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
+ else
+ # Clean up after NextStep and OpenStep mkdir.
+ for d in ./-m ./-p ./--version "./$dirmode";
+ do
+ test -d $d && rmdir $d
+ done
fi
;;
esac
@@ -84,17 +120,17 @@ do
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
- errstatus=$lasterr
+ errstatus=$lasterr
else
- if test ! -z "$dirmode"; then
+ if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
- lasterr=""
- chmod "$dirmode" "$pathcomp" || lasterr=$?
+ lasterr=""
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
fi
fi
@@ -107,5 +143,8 @@ exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
# End:
-# mkinstalldirs ends here
diff --git a/mpw-README b/mpw-README
deleted file mode 100644
index 767140b..0000000
--- a/mpw-README
+++ /dev/null
@@ -1,376 +0,0 @@
-This is basic information about the Macintosh(tm) MPW(tm) port of the
-GNU tools. The information below applies to both native and cross
-compilers.
-
-(Please note that there are two versions of this file; "mpw-README"
-is the source form, and "Read Me for MPW" is the distribution form.
-"Read Me for MPW" has 8-bit chars such as \Option-d embedded in it.)
-
-INSTALLING GNU TOOLS
-
-* System Requirements
-
-To use these tools, you will need a Mac with a 68020 or better or else
-any PowerMac, System 7.1 or later, and MPW 3.3 or 3.4. You will *not*
-need any other MPW compiler unless you want to rebuild from sources,
-nor even any include files, unless you are building actual Mac
-applications. For PowerMac native you will need PPCLink, however;
-also the executables are PowerPC-only.
-
-* Automated Installation
-
-The simplest way to install GNU tools is to run the Install script.
-The script will copy things to where you want to keep them, will build
-a UserStartup file with settings corresponding to where things were
-copied, and offer to put that UserStartup file in your MPW folder.
-
-The Install script does not alter anything in the System Folder, and
-it does not take any action without confirmation.
-
-The Install script will be at the top level of the binary
-distribution, or at the top level of the object directory if
-rebuilding from source. (The sources include a file called
-"mpw-install" at the top level, but it is the source to the Install
-script and cannot be run directly.)
-
-* Manual Installation
-
-If you don't want to run the Install script, you can do installation
-manually; this section describes the steps involved.
-
-The GNU tools can go in any directory that is in your {Commands} list.
-We generally put all the tools somewhere like {Boot}Cygnus:latest:bin,
-and then add to a UserStartup file:
-
- set Commands "{Boot}Cygnus:latest:bin:,{Commands}"
-
-However, the cpp and cc1 programs of GCC are not normally stored here.
-Instead, they will be in a "lib" directory that is alongside "bin",
-and organized by target and version underneath, with names like
-
- :lib:gcc-lib:<target>:cygnus-<version>:
-
-If you build and install everything yourself according to the build
-instructions below, then you will not have any problems. However, you
-may discover that GCC seems unable to find the right cpp and cc1;
-usually this will be because directory names have changed. (Even
-renaming your hard disk will make this happen.) In such cases, you
-have several choices. One is just to add this directory to
-{Commands}, but then you will not be able to get any other cpp or cc1,
-such as those used by a different target or version. Another way is
-to rename your disk and directories to match the prefix used when the
-tools were compiled. Finally, you can set the variable
-GCC_EXEC_PREFIX to point to the library directory:
-
- set GCC_EXEC_PREFIX MyDisk:Stuff:lib:gcc-lib:
- export GCC_EXEC_PREFIX
-
-You may also want to edit MPW's HEXA 128 resource. When GCC is built
-using a native GCC, it is compiled to use a special stack allocator
-function alloca(). While this is very efficient, it means that GCC
-will need considerable stack space to run, especially when compiling
-large programs with optimization turned on. You give MPW more stack
-by editing the HEXA 128 resource of the MPW Shell. A value of "0008
-0000" gives 512K of stack size, which is usually sufficient.
-
-USING GNU TOOLS
-
-* Using Native PowerMac GCC
-
-Using a native PowerMac GCC to produce MPW tools or MacOS applications
-is more complicated than just "gC foo.c", although no more complicated
-than with other Mac compilers.
-
-To build a native PowerMac MPW tool, use this sequence, where hello.c
-is the usual "hello world" program, and genericcfrg.r is the Rez file
-with the code fragment resource:
-
-gC -I{CIncludes} -fno-builtin -Dpascal= -c -g hello.c
-PPCLink hello.o -o hello \Option-d
- "{PPCLibraries}"StdCRuntime.o \Option-d
- "{SharedLibraries}"InterfaceLib \Option-d
- "{SharedLibraries}"StdCLib \Option-d
- "{PPCLibraries}"PPCToolLibs.o \Option-d
- "{PPCLibraries}"PPCCRuntime.o \Option-d
- "{GCCPPCLibraries}"libgcc.xcoff
-rez -d APPNAME='"'hello'"' GenericCFRG.r -o hello
-setfile -t 'MPST' -c 'MPS ' hello
-
-The same sequence works to build a MacOS application, but you set the file
-type to 'APPL' and don't link in PPCToolLibs.o. For further details on
-using MPW to build Mac applications, see the general MPW documentation.
-
-Recent versions of PPCLink have an option to generate the code
-fragment resource and automatically set creator and file type;
-here is what GenericCFRG.r should look like if you have an older
-PPCLink or are using GNU ld:
-
-#include "CodeFragmentTypes.r"
-
-resource 'cfrg' (0) {
- {
- kPowerPC,
- kFullLib,
- kNoVersionNum,kNoVersionNum,
- 0,0,
- kIsApp,kOnDiskFlat,kZeroOffset,kWholeFork,
- APPNAME // must be defined on Rez command line with -d option
- }
-};
-
-In general this port of GCC supports the same option syntax and
-behavior as its Unix counterpart. It also has similar compilation
-rules, so it will run the assembler on .s files and so forth.
-
-The GCC manual includes full information on the available options.
-One option that may be especially useful is "-v", which shows you what
-tools and options are being used; unlike most Mac C compilers, GCC
-directs assembly and linking in addition to compilation.
-
-MPW GCC does feature two extensions to the option syntax; '-d macro=name'
-works just as '-Dmacro=name' does in Unix, and '-i directory' works the
-same as '-Idirectory'.
-
-MPW GCC supports the usual Pascal-style strings and alignment pragmas.
-
-To find standard include files you can set the variable GCCIncludes:
-
- set GCCIncludes MyDisk:MyIncludes:
- export GCCIncludes
-
-GCCIncludes is similar to MPW's CIncludes or CW's MWCIncludes. In
-order to use MPW's usual include files, just say:
-
- set GCCIncludes "{CIncludes}"
- export GCCIncludes
-
-* Using GCC as a Cross-Compiler
-
-If you have a cross-compiler, and you have all of the correct
-target-side crt0 and libraries available, then to compile and link a
-file "foo.c", you can say just
-
- gC foo.c
-
-The output file will be an MPW binary file named "a.out"; the format
-of the contents will depend on which target is in use, so for instance
-a MIPS-targeting GCC will produce ECOFF or ELF executables.
-
-Note that using MPW include files with a cross-compiler is somewhat
-dangerous.
-
-* Using the Assembler and Friends
-
-The assembler ("as") and linker ("ld") are faithful ports of their
-Unix counterparts. Similarly, the binutils "ar", "cplusfilt", "nm",
-"objcopy", "objdump", "ranlib", "size", "strings", and "strip" are all
-like they are under Unix. (Note that "cplusfilt" is usually called
-"c++filt" under Unix.)
-
-* Using GDB
-
-There are two flavors of GDB. "gdb" is an MPW tool that works very
-much like it does in Unix; put a command into the MPW worksheet and
-type the <enter> key to send it to GDB. While "gdb" is running, you
-cannot do anything else in MPW, although you can switch to other
-Mac applications and use them.
-
-"SiowGDB" is also a Mac application, but it is GDB using the SIOW
-package to provide console emulation. Commands are exactly as for the
-MPW tool, but since this is its own application, you can switch
-between it and MPW.
-
-BUILDING GNU TOOLS
-
-This port of the GNU tools uses a configure script similar to
-that used for GNU tools under Unix, but rewritten for MPW. As with
-Unix configuration, there is an "object" directory that may be
-different from the "source" directory. In the example commands below,
-we will assume that we are currently in the object directory, and that
-the source directory is "{Boot}Cygnus:src:".
-
-* Requirements for Building
-
-In addition to the sources, you will need a set of tools that the
-configure and build scripts assume to be available. These tools
-(and their versions, if relevant) are as follows:
-
- byacc tool
- flex (2.3.7) tool (and Flex.skel file)
- forward-include script
- MoveIfChange script
- mpw-touch script
- mpw-true script
- NewFolderRecursive script
- null-command script
- open-brace script
- sed (1.13) tool
- tr-7to8 script
- true script
-
-The scripts are in the sources, under utils:mpw:. You must arrange to
-get the other tools yourself (they are readily available from the
-"usual" net sites, and are also on many CDROMS). In addition, there
-will usually be a set of these available at ftp.cygnus.com, in pub/mac.
-
-You may put the build tools in your usual Tools or Scripts
-directories, or keep them in a separate directories. We prefer to
-make a directory called "buildtools" and we put this in one of our
-UserStartup files:
-
- set Commands "{Boot}Cygnus:buildtools:,{Commands}"
-
-Flex uses an environment variable FLEX_SKELETON to locate its skeleton
-file, so you need to do something like this, preferably in a UserStartup:
-
- Set FLEX_SKELETON "{Boot}"Cygnus:buildtools:Flex.skel
- Export FLEX_SKELETON
-
-* Configuring
-
-Before you can build anything, you must configure. You do this by
-creating an directory where object files will be stored, setdirectory
-to that directory and do a configure command:
-
- {Boot}Cygnus:src:mpw-configure --target <name> --cc <compiler> --srcdir {Boot}Cygnus:src: --prefix <whatever>
-
-If the source directory is not in your {Commands} list, then you must
-supply a full pathname to mpw-configure, since mpw-configure invokes
-itself after switching into each subdirectory. Using a relative
-pathname, even something like ':mpw-configure', will therefore not work.
-
-<name> must be a known target. Valid ones include "m68k-apple-macos",
-"powerpc-apple-macos", "i386-unknown-go32", "mips-idt-ecoff", and
-"sh-hitachi-hms". Not all target types are accepted for all of the
-tools yet.
-
-<compiler> must be the name of the compiler to use. It defaults to "mpwc".
-
- (m68k)
- mpwc MPW C
- sc68k Symantec C
- mwc68k Metrowerks C (Codewarrior)
- gcc68k GCC
-
- (powerpc)
- ppcc PPCC
- mrc Macintosh on RisC (Mister C, aka(?) Frankenstein)
- scppc Symantec C
- mwcppc Metrowerks C (Codewarrior)
- gccppc GCC
-
-Not all compilers will compile all tools equally well! For m68k Macs,
-MPW C has the best record so far (it has problems, but they can be
-worked around), while for PowerMacs, CodeWarrior is the only compiler
-that has successfully compiled everything into running code.
-
-<prefix> is the path that "gcc" will prepend when looking for tools
-to execute. GCC_EXEC_PREFIX overrides this value, so you need not
-include it if you plan to use GCC_EXEC_PREFIX.
-
-As an example, here is the configure line that you could use to build
-native PowerMac GCC:
-
-"{Boot}"Cygnus:src:mpw-configure --cc mwcppc --target powerpc-apple-macos --srcdir "{Boot}"Cygnus:src: --prefix "{Boot}"GNUTools:
-
-* Building
-
-If you use CodeWarrior, you *must* first set MWCIncludes to
-{CIncludes}. This is because you will be building MPW tools, and
-their standard I/O works by making references to data that is part of
-the MPW Shell, which means that the code must be compiled and linked
-with macros that refer to that data, and those macros are in
-{CIncludes}, not the default {MWCIncludes}. Without this change, you
-will encounter problems compiling libiberty/mpw.c, but tweaking that
-file only masks the real problem, and does not fix it.
-
-The command
-
- mpw-build
-
-will build everything. Building will take over an hour on a Quadra 800
-or PowerMac 8100/110, longer if the sources are on a shared volume.
-
-You may see some warnings; these are mostly likely benign, typically
-disagreements about declarations of library and system functions.
-
-* Installing
-
-To install the just-built tools, use the command
-
- mpw-build install
-
-This part of the installation procedure just copies files to the
-location specified at configure time by <prefix>, and, in some cases,
-renames them from temporary internal names to their usual names. This
-install process is *not* the same as what the Install script does;
-Install can copy tools from the installation location chosen at
-configuration time to a user-chosen place, and sets up a UserStartup
-file. Note that while the Install script is optional, the install
-build action performs some tasks would be very hard to replicate
-manually, so you should always do it before using the tools.
-
-* Known Problems With Using Various Compilers to Build
-
-Most versions of MPW C have problems with compiling GNU software.
-
-MPW C 3.2.x has preprocessing bugs that render it incapable of
-compiling the BFD library, so it can't be used at all for building BFD.
-
-MPW C 3.3, 3.3.1, and 3.3.2 will spontaneously claim to have found
-errors in the source code, but in fact the code is perfectly fine. If
-this happens, just set the working directory back to the top-level
-objdir (where the configure command above was performed), and type
-"mpw-build all" again. If it goes on through the supposed error, then
-you got one of the spurious errors. A full build may require a number
-of these restarts.
-
-MPW C 3.3.3 seems to work OK, at least with the aid of a number of
-workarounds that are in the sources (look for #ifdef MPW_C).
-
-Versions of MPW Make earlier than 4.0d2 have exhibited bizarre behavior,
-failure to substitute variables and the like.
-
-Metrowerks CW6 PPC linker (MWLinkPPC) seems to do bad things with memory
-if the "Modern Memory Manager" is turned on (in the Memory control panel),
-but works OK if it is turned off.
-
-Metrowerks CW6 loses bigtime compiling opcodes:ppc-opc.c, which has
-some deeply nested macros. (CW7 is OK.) There is a way to patch the
-file, by substituting constant values. If you need to do this,
-contact shebs@cygnus.com for details.
-
-<Gestalt.h> is missing from {CIncludes} in the MPW version that comes
-with CW7. You can just copy the one in CW7's {MWCIncludes}.
-
-CW8 and later have changes to headers and such that will require changes
-to the source in order to be able to use them to rebuild.
-
-KNOWN BUGS
-
-The declarations for memcpy and memcmp in some versions of header files
-may conflict with GCC's builtin definition. Either use -fno-builtin
-or ignore the warnings.
-
-This is not a bug, but - watch out for cr/nl translation! For instance,
-if config/mpw-mh-mpw is not properly translated because it has been
-copied or updated separately, then everything will almost build, but
-you will get puzzling error messages from make or the compiler.
-
-'/' or ' ' embedded in any device, directory, or file name may or may
-not work.
-
-objcopy -O srec foo.o makes random output filenames.
-
-Mac-x-mips requires -mgas but Unix hosts don't.
-
-GDB will frequently require a '/' on the front of a device name in order
-to recognize it as an absolute rather than a relative pathname.
-
-GDB doesn't seem to use the printer port correctly, although it tries.
-
-The cursor doesn't always spin as much as it should. To get elaborate
-statistics and warnings about spin rates, add this to UserStartup:
-
- set MEASURE_SPIN all
- export MEASURE_SPIN
diff --git a/mpw-build.in b/mpw-build.in
deleted file mode 100644
index 86d9530..0000000
--- a/mpw-build.in
+++ /dev/null
@@ -1,204 +0,0 @@
-# Top-level script fragment to build everything for MPW.
-
-Set savedir "`Directory`"
-
-#Set Echo 1
-
-Set ThisScript "{0}"
-
-Set objdir ":"
-
-Set verify 0
-
-Set BuildTarget "none"
-
-# Parse arguments.
-
-Loop
- Break If {#} == 0
- If "{BuildTarget}" =~ /none/
- Set BuildTarget "{1}"
- Else
- Echo Only one build target allowed, ignoring "{1}"
- End If
- Shift 1
-End Loop
-
-If "{BuildTarget}" =~ /none/
- Set BuildTarget "all"
-End If
-
-If {verify} == 1
- Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ...
-End If
-
-Set ranmake 0
-
-If "`Exists Makefile`" != ""
- Echo "Set Echo 1" >{BuildTarget}.makeout
- Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
- {BuildTarget}.makeout
- Delete {BuildTarget}.makeout
- Set ranmake 1
-End If
-
-If "`Exists Makefile.PPC`" != ""
- Echo "Set Echo 1" >{BuildTarget}.makeout.ppc
- Make -f Makefile.PPC {BuildTarget} >>{BuildTarget}.makeout.ppc
- {BuildTarget}.makeout.ppc
- Delete {BuildTarget}.makeout.ppc
- Set ranmake 1
-End If
-
-If {ranmake} == 1
- Exit
-End If
-
-# Dispatch on various pseudo-targets.
-
-If "{BuildTarget}" =~ /all/
- Echo Started `Date`
- "{ThisScript}" all-gcc
- "{ThisScript}" all-gdb
- Echo Finished `Date`
-Else If "{BuildTarget}" =~ /all-libiberty/
- "{ThisScript}" do-libiberty
-Else If "{BuildTarget}" =~ /all-bfd/
- "{ThisScript}" do-bfd
-Else If "{BuildTarget}" =~ /all-opcodes/
- "{ThisScript}" do-opcodes
-Else If "{BuildTarget}" =~ /all-byacc/
- "{ThisScript}" do-byacc
-Else If "{BuildTarget}" =~ /all-flex/
- "{ThisScript}" all-libiberty
- "{ThisScript}" do-flex
-Else If "{BuildTarget}" =~ /all-binutils/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-bfd
- "{ThisScript}" all-opcodes
- "{ThisScript}" do-binutils
-Else If "{BuildTarget}" =~ /all-gas/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-bfd
- "{ThisScript}" all-opcodes
- "{ThisScript}" do-gas
-Else If "{BuildTarget}" =~ /all-gcc/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-gas
- "{ThisScript}" all-binutils
- "{ThisScript}" all-ld
- "{ThisScript}" do-gcc
-Else If "{BuildTarget}" =~ /all-gdb/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-bfd
- "{ThisScript}" all-opcodes
- "{ThisScript}" do-gdb
-Else If "{BuildTarget}" =~ /all-grez/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-bfd
- "{ThisScript}" do-grez
-Else If "{BuildTarget}" =~ /all-ld/
- "{ThisScript}" all-libiberty
- "{ThisScript}" all-bfd
- "{ThisScript}" all-opcodes
- "{ThisScript}" do-ld
-Else If "{BuildTarget}" =~ /do-byacc/
- SetDirectory :byacc:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-flex/
- SetDirectory :flex:
- ::mpw-build _bootstrap
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-bfd/
- SetDirectory :bfd:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-libiberty/
- SetDirectory :libiberty:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-opcodes/
- SetDirectory :opcodes:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-binutils/
- SetDirectory :binutils:
- ::mpw-build stamps
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-gas/
- SetDirectory :gas:
- ::mpw-build stamps
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-gcc/
- SetDirectory :gcc:
- :mpw-build all
-Else If "{BuildTarget}" =~ /do-gdb/
- SetDirectory :gdb:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-grez/
- SetDirectory :grez:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-ld/
- SetDirectory :ld:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /do-newlib/
- SetDirectory :newlib:
- ::mpw-build all
-Else If "{BuildTarget}" =~ /install/
- "{ThisScript}" install-only-top
- "{ThisScript}" install-binutils
- "{ThisScript}" install-gas
- "{ThisScript}" install-gcc
- "{ThisScript}" install-ld
- "{ThisScript}" install-gdb
-Else If "{BuildTarget}" =~ /install-binutils/
- SetDirectory :binutils:
- ::mpw-build install
-Else If "{BuildTarget}" =~ /install-gas/
- SetDirectory :gas:
- ::mpw-build install
-Else If "{BuildTarget}" =~ /install-gcc/
- SetDirectory :gcc:
- :mpw-build install
-Else If "{BuildTarget}" =~ /install-gdb/
- SetDirectory :gdb:
- ::mpw-build install
-Else If "{BuildTarget}" =~ /install-grez/
- SetDirectory :grez:
- ::mpw-build install
-Else If "{BuildTarget}" =~ /install-ld/
- SetDirectory :ld:
- ::mpw-build install
-Else If "{BuildTarget}" =~ /install-only/
- "{ThisScript}" install-only-top
- "{ThisScript}" install-only-binutils
- "{ThisScript}" install-only-gas
- "{ThisScript}" install-only-gcc
- "{ThisScript}" install-only-gdb
- "{ThisScript}" install-only-ld
-Else If "{BuildTarget}" =~ /install-only-binutils/
- SetDirectory :binutils:
- ::mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-gas/
- SetDirectory :gas:
- ::mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-gcc/
- SetDirectory :gcc:
- :mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-gdb/
- SetDirectory :gdb:
- ::mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-grez/
- SetDirectory :grez:
- ::mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-ld/
- SetDirectory :ld:
- ::mpw-build install-only
-Else If "{BuildTarget}" =~ /install-only-top/
- NewFolderRecursive "{prefix}"
- If "{prefix}" != "`Directory`"
- Duplicate -y 'Read Me for MPW' "{prefix}"'Read Me for MPW'
- Duplicate -y Install "{prefix}"Install
- End If
-Else
- Echo {BuildTarget} not understood, ignoring
-End If
-
-SetDirectory "{savedir}"
diff --git a/mpw-config.in b/mpw-config.in
deleted file mode 100644
index 8028737..0000000
--- a/mpw-config.in
+++ /dev/null
@@ -1,113 +0,0 @@
-# Configuration fragment for Cygnus source tree.
-
-# Check that we can find all the special tools that we will need.
-# The test for sed is semi-pointless, because it's already been invoked
-# by the calculation of target_cpu in the main configure script, but
-# the test will also show which one is being used.
-
-Set Exit 0
-Echo byacc is `Which byacc`
-Echo flex is `Which flex`
-Echo forward-include is `Which forward-include`
-Echo MoveIfChange is `Which MoveIfChange`
-Echo mpw-touch is `Which mpw-touch`
-Echo mpw-true is `Which mpw-true`
-Echo NewFolderRecursive is `Which NewFolderRecursive`
-Echo null-command is `Which null-command`
-Echo open-brace is `Which open-brace`
-Echo sed is `Which sed`
-Echo 'tr-7to8' is `Which tr-7to8`
-Echo true is `Which true`
-Set Exit 1
-
-Set host_libs "mmalloc libiberty opcodes bfd readline gash tcl tk tclX"
-
-Set host_tools "texinfo byacc flex bison binutils ld gas gcc gdb make patch \Option-d
- prms send-pr gprof gdbtest tgas etc expect dejagnu sim bash \Option-d
- m4 autoconf ispell grep diff rcs cvs fileutils shellutils time \Option-d
- textutils wdiff find emacs emacs19 uudecode hello tar gzip indent \Option-d
- recode release sed utils guile perl apache inet gawk"
-
-Set target_libs "newlib"
-
-Set target_tools "examples"
-
-# Configure the resource compiler if targeting Macs.
-If {target_os} =~ /macos/ || {target_os} =~ /mpw/
- Set host_tools "{host_tools} grez"
-End If
-
-Set configdirs "{host_libs} {host_tools} {target_libs} {target_tools}"
-Export configdirs
-
-# Make up a special include directory that tools will share.
-
-If "`Exists "{objdir}"extra-include`" == ""
- NewFolder "{objdir}"extra-include
-End If
-
-Set edir "{objdir}extra-include:"
-
-forward-include "{srcdir}"include:mpw:sys:file.h "{edir}"'sys/file.h'
-forward-include "{srcdir}"include:mpw:sys:ioctl.h "{edir}"'sys/ioctl.h'
-forward-include "{srcdir}"include:mpw:sys:param.h "{edir}"'sys/param.h'
-forward-include "{srcdir}"include:mpw:sys:resource.h "{edir}"'sys/resource.h'
-forward-include "{srcdir}"include:mpw:sys:stat.h "{edir}"'sys/stat.h'
-forward-include "{srcdir}"include:mpw:sys:time.h "{edir}"'sys/time.h'
-forward-include "{srcdir}"include:mpw:sys:types.h "{edir}"'sys/types.h'
-
-forward-include "{srcroot}"include:aout:aout64.h "{edir}"'aout/aout64.h'
-forward-include "{srcroot}"include:aout:ar.h "{edir}"'aout/ar.h'
-forward-include "{srcroot}"include:aout:ranlib.h "{edir}"'aout/ranlib.h'
-forward-include "{srcroot}"include:aout:reloc.h "{edir}"'aout/reloc.h'
-forward-include "{srcroot}"include:aout:stab.def "{edir}"'aout/stab.def'
-forward-include "{srcroot}"include:aout:stab_gnu.h "{edir}"'aout/stab_gnu.h'
-
-If "`Exists "{srcroot}"include:aout:"{target_cpu}".h`" != ""
- forward-include "{srcroot}"include:aout:"{target_cpu}".h "{edir}"'aout/'"{target_cpu}"'.h'
-End If
-
-forward-include "{srcroot}"include:coff:ecoff.h "{edir}"'coff/ecoff.h'
-forward-include "{srcroot}"include:coff:internal.h "{edir}"'coff/internal.h'
-forward-include "{srcroot}"include:coff:sym.h "{edir}"'coff/sym.h'
-forward-include "{srcroot}"include:coff:symconst.h "{edir}"'coff/symconst.h'
-
-If "`Exists "{srcroot}"include:coff:"{target_cpu}".h`" != ""
- forward-include "{srcroot}"include:coff:"{target_cpu}".h "{edir}"'coff/'"{target_cpu}"'.h'
-End If
-If "{target_cpu}" =~ /powerpc/
- forward-include "{srcroot}"include:coff:rs6000.h "{edir}"'coff/rs6000.h'
-End If
-
-forward-include "{srcroot}"include:elf:common.h "{edir}"'elf/common.h'
-forward-include "{srcroot}"include:elf:dwarf.h "{edir}"'elf/dwarf.h'
-forward-include "{srcroot}"include:elf:dwarf2.h "{edir}"'elf/dwarf2.h'
-forward-include "{srcroot}"include:elf:external.h "{edir}"'elf/external.h'
-forward-include "{srcroot}"include:elf:internal.h "{edir}"'elf/internal.h'
-
-# Believe it or not, GDB needs this for all targets.
-forward-include "{srcroot}"include:elf:mips.h "{edir}"'elf/mips.h'
-
-If "`Exists "{srcroot}"include:elf:"{target_cpu}".h`" != ""
- forward-include "{srcroot}"include:elf:"{target_cpu}".h "{edir}"'elf/'"{target_cpu}"'.h'
-End If
-If "{target_cpu}" =~ /powerpc/
- forward-include "{srcroot}"include:elf:ppc.h "{edir}"'elf/ppc.h'
-End If
-
-If "`Exists "{srcroot}"include:opcode:"{target_cpu}".h`" != ""
- forward-include "{srcroot}"include:opcode:"{target_cpu}".h "{edir}"'opcode/'"{target_cpu}"'.h'
-End If
-If "{target_cpu}" =~ /powerpc/
- forward-include "{srcroot}"include:opcode:ppc.h "{edir}"'opcode/ppc.h'
-End If
-
-# Add some bfd includes that get mentioned outside the bfd dir.
-
-forward-include "{srcroot}"bfd:libcoff.h "{edir}"'bfd/libcoff.h'
-forward-include "{srcroot}"bfd:libecoff.h "{edir}"'bfd/libecoff.h'
-
-# Translate random files into MPW-only character set.
-
-tr-7to8 "{srcdir}"mpw-README > "{objdir}Read Me for MPW"
-tr-7to8 "{srcdir}"mpw-install > "{objdir}"Install
diff --git a/mpw-configure b/mpw-configure
deleted file mode 100644
index cf45148..0000000
--- a/mpw-configure
+++ /dev/null
@@ -1,448 +0,0 @@
-# Configuration script
-# Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
-
-# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-### WARNING
-### This script must NOT use any 8-bit chars!
-### WARNING
-
-# This is an MPW Shell script that sets everything up for compilation,
-# mainly creating directories, and editing copies of files.
-
-Set savedir "`Directory`"
-
-#Set Echo 1
-
-Set ThisScript "{0}"
-
-Set srcroot "--------"
-
-Set srcdir ":"
-
-Set objdir ":"
-
-Set prefix "{MPW}":GNUTools:
-
-Set exec_prefix ""
-
-Set bindir ""
-
-Set host_alias "m68k-apple-mpw"
-
-Set target_alias {host_alias}
-
-Set host_cc "mpwc"
-
-Set with_gnu_ld 0
-
-Set helpoutput 0
-
-Set recurse 1
-
-Set verify 0
-Set verifystr ""
-
-Set enable_options ""
-Set disable_options ""
-
-# Parse arguments.
-
-Loop
- Break If {#} == 0
- If "{1}" =~ /--cc/
- Set host_cc "{2}"
- Shift 1
- Else If "{1}" =~ /--bindir/
- Set bindir "{2}"
- Shift 1
- Else If "{1}" =~ /--disable-?+/
- Set `Echo {1} | sed -e 's/--disable-/enable_/'` no
- Set disable_options "{disable_options} '{1}'"
- Else If "{1}" =~ /--enable-?+/
- Set `Echo {1} | sed -e 's/--enable-/enable_/'` yes
- Set enable_options "{enable_options} '{1}'"
- Else If "{1}" =~ /--exec-prefix/
- Set exec_prefix "{2}"
- Shift 1
- Else If "{1}" =~ /--help/
- Set helpoutput 1
- Else If "{1}" =~ /--host/
- Set host_alias "{2}"
- Shift 1
- Else If "{1}" =~ /--norecursion/
- Set recurse 0
- Else If "{1}" =~ /--prefix/
- Set prefix "{2}"
- Shift 1
- Else If "{1}" =~ /--srcdir/
- Set srcdir "{2}"
- Shift 1
- Else If "{1}" =~ /--srcroot/
- Set srcroot "{2}"
- Shift 1
- Else If "{1}" =~ /--target/
- Set target_alias "{2}"
- Shift 1
- Else If "{1}" =~ /-v/
- Set verify 1
- Set verifystr "-v"
- Else If "{1}" =~ /--with-gnu-ld/
- Set with_gnu_ld 1
- Else
- Echo -n 'mpw-configure: Unrecognized option: "'
- Echo -n "{1}"
- Echo '"; use --help for usage.'
- Exit 1
- End If
- Shift 1
-End Loop
-
-If {helpoutput} == 1
- Echo "Usage: mpw-configure [OPTIONS]"
- Echo ""
- Echo "Options: [defaults in brackets]"
- Echo "--bindir DIR directory for binaries []"
- Echo "--cc CC use C compiler CC [mpwc]"
- Echo "--disable-FOO do not include feature FOO"
- Echo "--enable-FOO include feature FOO"
- Echo "--exec-prefix DIR install host-dependent files into DIR []"
- Echo "--help print this message"
- Echo "--host HOST configure for HOST [m68k-apple-mpw]"
- Echo "--norecursion configure this directory only [recurse]"
- Echo "--prefix DIR install into DIR [{MPW}:GNUTools:]"
- Echo "--srcdir DIR find the sources in DIR [:]"
- Echo "--srcroot DIR find the toplevel sources in DIR [:]"
- Echo "--target TARGET configure for TARGET [TARGET=HOST]"
- Echo "-v verbose"
- Echo "--with-gnu-ld link using GNU ld [no]"
- Exit 0
-End If
-
-Set Exit 0
-
-# Default exec_prefix from prefix.
-
-If "{exec_prefix}" == ""
- Set exec_prefix "{prefix}"
-End If
-
-If "{bindir}" == ""
- Set bindir "{prefix}"bin:
-End If
-
-# Point to the correct set of tools to use with the chosen compiler.
-
-If "{host_cc}" =~ /mpwc/
- Set host_alias "m68k-apple-mpw"
- Set cc_name '{CC_MPW_C}'
- Set segment_flag '-s '
- Set ar_name '{AR_LIB}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_LINK}'
- Set prog_ext_name '{PROG_EXT_68K}'
- Set extralibs_name '{EXTRALIBS_C}'
- Set makepef_name '{MAKEPEF_NULL}'
- Set rez_name '{REZ_68K}'
-Else If "{host_cc}" =~ /sc68k/
- Set host_alias "m68k-apple-mpw"
- Set cc_name '{CC_SC}'
- Set segment_flag '-s '
- Set ar_name '{AR_LIB}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_LINK}'
- Set prog_ext_name '{PROG_EXT_68K}'
- Set extralibs_name '{EXTRALIBS_C}'
- Set makepef_name '{MAKEPEF_NULL}'
- Set rez_name '{REZ_68K}'
-Else If "{host_cc}" =~ /mwc68k/
- Set host_alias "m68k-apple-mpw"
- Set cc_name '{CC_MWC68K}'
- Set segment_flag '-s '
- Set ar_name '{AR_MWLINK68K}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_MWLINK68K}'
- Set prog_ext_name '{PROG_EXT_68K}'
- Set extralibs_name '{EXTRALIBS_MWC68K}'
- Set makepef_name '{MAKEPEF_NULL}'
- Set rez_name '{REZ_68K}'
-Else If "{host_cc}" =~ /gcc68k/
- Set host_alias "m68k-apple-mpw"
- Set cc_name '{CC_68K_GCC}'
- Set segment_flag '-s '
- Set ar_name '{AR_68K_AR}'
- Set ranlib_name '{RANLIB_RANLIB}'
- Set cc_ld_name '{CC_68K_GCC}'
- Set prog_ext_name '{PROG_EXT_68K}'
- Set extralibs_name '{EXTRALIBS_C}'
- Set makepef_name '{MAKEPEF_NULL}'
- Set rez_name '{REZ_68K}'
-Else If "{host_cc}" =~ /ppcc/
- Set host_alias "powerpc-apple-mpw"
- Set cc_name '{CC_PPCC}'
- Set segment_flag '-d ___s_e_g___='
- Set ar_name '{AR_PPCLINK}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_PPCLINK}'
- Set prog_ext_name '{PROG_EXT_XCOFF}'
- Set extralibs_name '{EXTRALIBS_PPC}'
- Set makepef_name '{MAKEPEF_PPC}'
- Set rez_name '{REZ_PPC}'
-Else If "{host_cc}" =~ /mrc/
- Set host_alias "powerpc-apple-mpw"
- Set cc_name '{CC_MRC}'
- Set segment_flag '-d ___s_e_g___='
- Set ar_name '{AR_PPCLINK}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_PPCLINK}'
- Set prog_ext_name '{PROG_EXT_XCOFF}'
- Set extralibs_name '{EXTRALIBS_PPC}'
- Set makepef_name '{MAKEPEF_PPC}'
- Set rez_name '{REZ_PPC}'
-Else If "{host_cc}" =~ /scppc/
- Set host_alias "powerpc-apple-mpw"
- Set cc_name '{CC_SC}'
- Set segment_flag '-d ___s_e_g___='
- Set ar_name '{AR_PPCLINK}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_PPCLINK}'
- Set prog_ext_name '{PROG_EXT_XCOFF}'
- Set extralibs_name '{EXTRALIBS_PPC}'
- Set makepef_name '{MAKEPEF_PPC}'
- Set rez_name '{REZ_PPC}'
-Else If "{host_cc}" =~ /mwcppc/
- Set host_alias "powerpc-apple-mpw"
- Set cc_name '{CC_MWCPPC}'
- Set segment_flag '-d ___s_e_g___='
- Set ar_name '{AR_MWLINKPPC}'
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_MWLINKPPC}'
- # Misleading, but we don't need a PEF step.
- Set prog_ext_name '{PROG_EXT_68K}'
- Set extralibs_name '{EXTRALIBS_MWCPPC}'
- Set makepef_name '{MAKEPEF_NULL}'
- Set rez_name '{REZ_PPC}'
-Else If "{host_cc}" =~ /gccppc/
- Set host_alias "powerpc-apple-mpw"
- Set cc_name '{CC_PPC_GCC}'
- Set segment_flag '-d ___s_e_g___='
- Set ar_name '{AR_PPCLINK}'
- If {with_gnu_ld} == 1
- Set ranlib_name '{RANLIB_RANLIB}'
- Set cc_ld_name '{CC_LD_GLD}'
- Else
- Set ranlib_name '{RANLIB_NULL}'
- Set cc_ld_name '{CC_LD_PPCLINK}'
- End If
- Set prog_ext_name '{PROG_EXT_XCOFF}'
- Set extralibs_name '{EXTRALIBS_PPC}'
- Set makepef_name '{MAKEPEF_PPC}'
- Set rez_name '{REZ_PPC}'
-Else
- Echo "{host_cc}" is not a known MPW compiler type
-End If
-
-Set dash_c_flag ''
-If "{host_cc}" =~ /gcc68k/
- Set dash_c_flag '-c'
-Else If "{host_cc}" =~ /gccppc/
- Set dash_c_flag '-c'
-End If
-
-# (should interpret aliases if not in canonical form)
-
-Set host_canonical "{host_alias}"
-
-Set target_canonical "{target_alias}"
-
-Set configdirs ""
-
-If "{srcroot}" =~ /--------/
- Set srcroot "{srcdir}"
-End If
-If "`Exists "{srcdir}"`" == ""
- Echo Source directory {srcdir} does not exist!
- Exit 1
-End If
-If "`Exists "{srcroot}"`" == ""
- Echo Top-level source directory {srcroot} does not exist!
- Exit 1
-End If
-
-Set target_cpu "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`"
-Set target_vendor "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`"
-Set target_os "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`"
-
-# Create a file that is guaranteed to be older than any other here.
-
-If "`Exists "{objdir}"_oldest`" == ""
- mpw-touch _oldest
-End If
-
-# Record this before creating any files, makefiles sometimes mention
-# dependencies on config.status.
-
-Echo "# This directory was configured as follows:" >config.new
-Echo "{ThisScript} --host {host_alias} --target {target_alias} --srcdir {srcdir} --srcroot {srcroot} --prefix {prefix} --cc {host_cc} {verifystr} {enable_options} {disable_options} --norecursion" >>config.new
-MoveIfChange config.new config.status
-
-If "`Exists "{srcdir}"mpw-config.in`" != ""
- tr-7to8 "{srcdir}"mpw-config.in >"{objdir}"mpw-config.in
- Execute "{objdir}"mpw-config.in
-End If
-
-# Start Makefile construction by defining all the variables chosen by
-# configuration.
-
-Echo "# This Makefile produced by mpw-configure. Changes may get lost!" > "{objdir}"Makefile.tem
-Echo "srcroot = " {srcroot} >> "{objdir}"Makefile.tem
-Echo "topsrcdir = " {srcroot} >> "{objdir}"Makefile.tem
-Echo "srcdir = " {srcdir} >> "{objdir}"Makefile.tem
-Echo "mpw_prefix = " {prefix} >> "{objdir}"Makefile.tem
-Echo "mpw_exec_prefix = " {exec_prefix} >> "{objdir}"Makefile.tem
-Echo "mpw_bindir = " {bindir} >> "{objdir}"Makefile.tem
-Echo "host_alias = " {host_alias} >> "{objdir}"Makefile.tem
-Echo "target_alias = " {target_alias} >> "{objdir}"Makefile.tem
-Echo "target_cpu = " {target_cpu} >> "{objdir}"Makefile.tem
-Echo "target_vendor = " {target_vendor} >> "{objdir}"Makefile.tem
-Echo "target_os = " {target_os} >> "{objdir}"Makefile.tem
-Echo "target_canonical = " {target_canonical} >> "{objdir}"Makefile.tem
-Echo "host_makefile_frag = " >> "{objdir}"Makefile.tem
-Echo "target_makefile_frag = " >> "{objdir}"Makefile.tem
-Echo "CC = " {cc_name} >> "{objdir}"Makefile.tem
-Echo "AR = " {ar_name} >> "{objdir}"Makefile.tem
-Echo "RANLIB = " {ranlib_name} >> "{objdir}"Makefile.tem
-Echo "CC_LD = " {cc_ld_name} >> "{objdir}"Makefile.tem
-Echo "PROG_EXT = " {prog_ext_name} >> "{objdir}"Makefile.tem
-Echo "EXTRALIBS = " {extralibs_name} >> "{objdir}"Makefile.tem
-Echo "MAKEPEF = " {makepef_name} >> "{objdir}"Makefile.tem
-Echo "REZ = " {rez_name} >> "{objdir}"Makefile.tem
-
-If {host_cc} =~ /gccppc/
- Echo -n "dq =\Option-d\Option-d\Option-d" > "{objdir}"Makefile.tem0
- Echo '"' >> "{objdir}"Makefile.tem0
- tr-7to8 "{objdir}"Makefile.tem0 >>"{objdir}"Makefile.tem
-Else
- Echo -n "dq ='" >> "{objdir}"Makefile.tem
- Echo -n '"' >> "{objdir}"Makefile.tem
- Echo "'" >> "{objdir}"Makefile.tem
-End If
-
-# Append the master set of definitions for the various compilers.
-
-If "`Exists "{srcdir}"config:mpw-mh-mpw`" != ""
- tr-7to8 "{srcdir}"config:mpw-mh-mpw >>"{objdir}"Makefile.tem
-Else If "`Exists "{srcroot}"config:mpw-mh-mpw`" != ""
- tr-7to8 "{srcroot}"config:mpw-mh-mpw >>"{objdir}"Makefile.tem
-Else
- Echo "can't find a host config file!"
- Exit 0
-End If
-
-# Append anything produced by the directory's mpw-config.in.
-
-If "`Exists "{objdir}"mk.tmp`" != ""
- Catenate "{objdir}"mk.tmp >>"{objdir}"Makefile.tem
- # An mpw-config.in might change so as not to create this
- # anymore, so get rid of it now to be safe.
- Delete -i -y "{objdir}"mk.tmp
-End If
-
-# If there are sed scripts to edit the Unix Makefile.in, use them; otherwise
-# use an mpw-make.in if present.
-
-If "`Exists "{srcdir}"mpw-make.sed`" != ""
- If "`Exists "{objdir}"hacked_Makefile.in`" != ""
- Set MakefileIn "{objdir}"hacked_Makefile.in
- Else
- Set MakefileIn "{srcdir}"Makefile.in
- End If
- # Find the generic makefile editing script.
- If "`Exists "{srcroot}"config:mpw:g-mpw-make.sed`" != ""
- sed -f "{srcroot}"config:mpw:g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
- Else If "`Exists "{srcroot}"utils:mpw:g-mpw-make.sed`" != ""
- sed -f "{srcroot}"utils:mpw:g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
- Else If "`Exists "{srcdir}"g-mpw-make.sed`" != ""
- sed -f "{srcdir}"g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
- Else
- Echo Warning: g-mpw-make.sed not found, copying "{MakefileIn}" verbatim...
- Catenate "{MakefileIn}" >"{objdir}"Makefile.tem1
- End If
- sed -f "{srcdir}"mpw-make.sed "{objdir}"Makefile.tem1 >"{objdir}"Makefile.tem2
- sed -e 's/^prefix = .*$/prefix = {mpw_prefix}/g' -e 's/^exec_prefix = .*$/exec_prefix = {mpw_exec_prefix}/g' -e 's/^bindir = @bindir@/bindir = {mpw_bindir}/g' "{objdir}"Makefile.tem2 >"{objdir}"Makefile.tem3
- sed -e "s/@DASH_C_FLAG@/{dash_c_flag}/" -e "s/@SEGMENT_FLAG(\([^)]*\))@/{segment_flag}\1/" "{objdir}"Makefile.tem3 >"{objdir}"mpw-make.in
- tr-7to8 "{objdir}"mpw-make.in >>"{objdir}"Makefile.tem
- If "`Exists "{objdir}"mk.sed`" != ""
- sed -f "{objdir}"mk.sed "{objdir}"Makefile.tem >"{objdir}"Makefile.tem2
- Rename -y "{objdir}"Makefile.tem2 "{objdir}"Makefile.tem
- End If
- MoveIfChange "{objdir}"Makefile.tem "{objdir}"Makefile
- Delete -i -y "{objdir}"Makefile.tem[12]
- If {verify} == 1
- Echo Created Makefile in "`Directory`"
- End If
-Else If "`Exists "{srcdir}"mpw-make.in`" != ""
- sed -e 's/^prefix = .*$/prefix = {mpw_prefix}/g' "{srcdir}"mpw-make.in >"{objdir}"Makefile.tem1
- sed -e "s/@DASH_C_FLAG@/{dash_c_flag}/" -e "s/@SEGMENT_FLAG(\([^)]*\))@/{segment_flag}}\1/" "{objdir}"Makefile.tem1 >"{objdir}"Makefile.tem2
- tr-7to8 "{objdir}"Makefile.tem2 >>"{objdir}"Makefile.tem
- If "`Exists "{objdir}"mk.sed`" != ""
- sed -f "{objdir}"mk.sed "{objdir}"Makefile.tem >"{objdir}"Makefile.tem2
- Rename -y "{objdir}"Makefile.tem2 "{objdir}"Makefile.tem
- End If
- MoveIfChange "{objdir}"Makefile.tem "{objdir}"Makefile
- Delete -i -y "{objdir}"Makefile.tem[12]
- If {verify} == 1
- Echo Created Makefile in "`Directory`"
- End If
-End If
-
-# Produce a build script if the source is defined.
-
-If "`Exists "{srcdir}"mpw-build.in`" != ""
- Echo "Set srcroot " {srcroot} > "{objdir}"mpw-build.tem
- Echo "Set srcdir " {srcdir} >> "{objdir}"mpw-build.tem
- Echo "Set target_canonical " {target_canonical} >> "{objdir}"mpw-build.tem
- Echo "Set prefix " {prefix} >> "{objdir}"mpw-build.tem
- tr-7to8 "{srcdir}"mpw-build.in >>"{objdir}"mpw-build.tem
- MoveIfChange "{objdir}"mpw-build.tem "{objdir}"mpw-build
- If {verify} == 1
- Echo Created mpw-build in "`Directory`"
- End If
-End If
-
-# Apply ourselves recursively to the list of subdirectories to configure.
-
-If {recurse} == 1
- For subdir In {configdirs}
- Set savedir "`Directory`"
- If "`Exists "{srcdir}{subdir}:"`" == ""
- If {verify} == 1
- Echo No "{srcdir}{subdir}:" found, skipping
- End If
- Continue
- End If
- If {verify} == 1
- Echo Configuring {subdir}...
- End If
- If "`Exists "{objdir}{subdir}:"`" == ""
- NewFolder "{objdir}{subdir}"
- End If
- SetDirectory "{objdir}{subdir}:"
- "{ThisScript}" --target "{target_canonical}" --srcdir "{srcdir}{subdir}:" --srcroot "{srcroot}" --prefix "{prefix}" --cc "{host_cc}" {verifystr} {enable_options} {disable_options}
- SetDirectory "{savedir}"
- End For
-End If
-
-SetDirectory "{savedir}"
diff --git a/mpw-install b/mpw-install
deleted file mode 100644
index 04c5aac..0000000
--- a/mpw-install
+++ /dev/null
@@ -1,122 +0,0 @@
-# GNU Install script for MPW.
-
-Set OldExit "{Exit}"
-Set Exit 0
-
-Set TempUserStartup "{TempFolder}"__temp__UserStartup
-
-Echo '# UserStartup generated by GNU Install script' > "{TempUserStartup}"
-Echo '' >> "{TempUserStartup}"
-
-# (should) Check that disk space is sufficient for installation.
-
-# Assume that the install script is where everything else is.
-
-Set thisdir "`Directory`"
-
-# Copy the binaries to the desired place.
-
-Confirm -t "Copy the binaries to somewhere else?"
-Set TmpStatus {Status}
-If {TmpStatus} == 0
- Set bindest "`GetFileName -d -m "Where to install the binaries?"`"
- If {Status} == 0
- If "`Exists "{thisdir}bin"`" != ""
- For afile In "{thisdir}"bin:\Option-x
- Duplicate -y "{afile}" "{bindest}"
- End For
- Else
- Echo "bin directory not found, exiting"
- Exit 1
- End If
- Else
- Echo "No destination supplied, exiting"
- Exit 1
- End If
-Else If {TmpStatus} == 4
- # Use the existing directory.
- Set bindest "{thisdir}bin:"
-Else
- # Cancelled from confirmation, escape altogether.
- Exit 1
-End If
-
-# Copy the libraries to the desired place.
-
-Confirm -t "Copy the libraries to somewhere else?"
-Set TmpStatus {Status}
-If {TmpStatus} == 0
- Set libdest "`GetFileName -d -m "Where to install the libraries?"`"
- If {Status} == 0
- If "`Exists "{thisdir}lib:"`" != ""
- For afile In "{thisdir}"lib:\Option-x
- Duplicate -y "{afile}" "{libdest}"
- End For
- Else
- Echo "lib directory not found, exiting"
- Exit 1
- End If
- Else
- Echo "No destination supplied, exiting"
- Exit 1
- End If
-Else If {TmpStatus} == 4
- # Use the existing directory.
- Set libdest "{thisdir}lib:"
-Else
- # Cancelled from confirmation, escape altogether.
- Exit 1
-End If
-
-
-# Add the location of the binaries to the command path.
-
-Echo -n 'Set Commands "' >> "{TempUserStartup}"
-Echo -n "{bindest}" >> "{TempUserStartup}"
-Echo ',{Commands}"' >> "{TempUserStartup}"
-Echo '' >> "{TempUserStartup}"
-
-# Set up GCC exec prefix.
-
-Set gcclibdir "{libdest}"gcc-lib:
-
-Echo -n 'Set GCC_EXEC_PREFIX "' >> "{TempUserStartup}"
-Echo -n "{gcclibdir}" >> "{TempUserStartup}"
-Echo '"' >> "{TempUserStartup}"
-Echo "Export GCC_EXEC_PREFIX" >> "{TempUserStartup}"
-Echo '' >> "{TempUserStartup}"
-
-# Set up path to libgcc.xcoff etc.
-
-Echo -n 'Set GCCPPCLibraries "' >> "{TempUserStartup}"
-Echo -n "{libdest}" >> "{TempUserStartup}"
-Echo '"' >> "{TempUserStartup}"
-Echo "Export GCCPPCLibraries" >> "{TempUserStartup}"
-Echo '' >> "{TempUserStartup}"
-
-# Display contents of UserStartup, confirm installation.
-
-Set UserStartupName "UserStartup\Option-8GNU"
-
-Echo "Contents of" {UserStartupName} "will be:"
-Catenate "{TempUserStartup}"
-
-Confirm "Install {UserStartupName} into the MPW folder {MPW} ?"
-If {Status} == 0
- Duplicate "{TempUserStartup}" "{MPW}{UserStartupName}"
- Delete -y "{TempUserStartup}"
-Else
- Echo "{UserStartupName} file not installed"
-End If
-
-# (should) Check HEXA resource, warn if low.
-
-# (should) Check for spaces in pathnames, warn if found.
-
-Echo "Installation was successful."
-Echo ""
-Echo "Be sure to review the usage notes in 'Read Me for MPW' before proceeding!"
-
-# Restore previous settings.
-
-Set Exit "{OldExit}"
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 63c17a5..0ef4661 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,6 +1,51 @@
-2004-03-15 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c (powerpc_opcodes): Add BOOKE versions of mfsprg.
+2004-04-29 Ben Elliston <bje@au.ibm.com>
+
+ * ppc-opc.c (XCMPL): Renmame to XOPL. Update users.
+ (powerpc_opcodes): Add "dbczl" instruction for PPC970.
+
+2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sh-dis.c (print_insn_sh): Print the value in constant pool
+ as a symbol if it looks like a symbol.
+
+2004-04-22 Peter Barada <peter@the-baradas.com>
+
+ * m68k-dis.c(print_insn_m68k): Set mfcmac/mcfemac on
+ appropriate ColdFire architectures.
+ (print_insn_m68k): Handle EMAC, MAC/EMAC scalefactor, and MAC/EMAC
+ mask addressing.
+ Add EMAC instructions, fix MAC instructions. Remove
+ macmw/macml/msacmw/msacml instructions since mask addressing now
+ supported.
+
+2004-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-opc.c (fmoviccx, fmovfccx, fmovccx): Define.
+ (fmovicc, fmovfcc, fmovcc): Remove fpsize argument, change opcode to
+ suffix. Use fmov*x macros, create all 3 fpsize variants in one
+ macro. Adjust all users.
+
+2004-04-15 Anil Paranjpe <anilp1@kpitcummins.com>
+
+ * h8300-dis.c (bfd_h8_disassemble) : Treat "adds" & "subs"
+ separately.
+
+2004-03-30 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r-asm.c: Regenerate.
+
+2004-03-29 Stan Shebs <shebs@apple.com>
+
+ * mpw-config.in, mpw-make.sed: Remove MPW support files, no longer
+ used.
+
+2004-03-19 Alan Modra <amodra@bigpond.net.au>
+
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
2004-03-16 Alan Modra <amodra@bigpond.net.au>
@@ -11,18 +56,21 @@
(RAOPT): Rename from RAO. Update all uses.
(powerpc_opcodes): Use RA0 as appropriate.
+2004-03-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add BOOKE versions of mfsprg.
+
2004-03-15 Alan Modra <amodra@bigpond.net.au>
* sparc-dis.c (print_insn_sparc): Update getword prototype.
-2004-03-13 Alan Modra <amodra@bigpond.net.au>
+2004-03-12 Michal Ludvig <mludvig@suse.cz>
- Apply the following patches from mainline
- 2004-03-12 Michal Ludvig <mludvig@suse.cz>
* i386-dis.c (GRPPLOCK): Delete.
(grps): Delete GRPPLOCK entry.
- 2004-03-12 Alan Modra <amodra@bigpond.net.au>
+2004-03-12 Alan Modra <amodra@bigpond.net.au>
+
* i386-dis.c (OP_M, OP_0f0e, OP_0fae, NOP_Fixup): New functions.
(M, Mp): Use OP_M.
(None, PADLOCK_SPECIAL, PADLOCK_0): Delete.
@@ -36,15 +84,12 @@
(print_insn): Revert PADLOCK_SPECIAL code.
(OP_E): Delete sfence, lfence, mfence checks.
- 2004-03-12 Jakub Jelinek <jakub@redhat.com>
+2004-03-12 Jakub Jelinek <jakub@redhat.com>
+
* i386-dis.c (grps): Use INVLPG_Fixup instead of OP_E for invlpg.
(INVLPG_Fixup): New function.
(PNI_Fixup): Remove ATTRIBUTE_UNUSED from sizeflag.
- 2004-03-12 Alan Modra <amodra@bigpond.net.au>
- * i386-dis.c (grps): Use clflush by default for 0x0fae/7.
- (OP_E): Twiddle clflush to sfence here.
-
2004-03-12 Michal Ludvig <mludvig@suse.cz>
* i386-dis.c (PADLOCK_SPECIAL, PADLOCK_0): New defines.
@@ -52,6 +97,79 @@
(padlock_table): New struct with PadLock instructions.
(print_insn): Handle PADLOCK_SPECIAL.
+2004-03-12 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Use clflush by default for 0x0fae/7.
+ (OP_E): Twiddle clflush to sfence here.
+
+2004-03-08 Nick Clifton <nickc@redhat.com>
+
+ * po/de.po: Updated German translation.
+
+2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * sh-dis.c (print_insn_sh): Don't disassemble fp instructions in
+ nofpu mode. Add BFD type bfd_mach_sh4_nommu_nofpu.
+ * sh-opc.h: Add sh4_nommu_nofpu architecture and adjust instructions
+ accordingly.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv-asm.c: Regenerate.
+ * frv-desc.c: Regenerate.
+ * frv-desc.h: Regenerate.
+ * frv-dis.c: Regenerate.
+ * frv-ibld.c: Regenerate.
+ * frv-opc.c: Regenerate.
+ * frv-opc.h: Regenerate.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv-desc.c, frv-opc.c: Regenerate.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv-desc.c, frv-opc.c, frv-opc.h: Regenerate.
+
+2004-02-26 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * sh-opc.h: Move fsca and fsrra instructions from sh4a to sh4.
+ Also correct mistake in the comment.
+
+2004-02-26 Andrew Stubbs <andrew.stubbs@superh.com>
+
+ * sh-dis.c (print_insn_sh): Add REG_N_D nibble type to
+ ensure that double registers have even numbers.
+ Add REG_N_B01 for nn01 (binary 01) nibble to ensure
+ that reserved instruction 0xfffd does not decode the same
+ as 0xfdfd (ftrv).
+ * sh-opc.h: Add REG_N_D nibble type and use it whereever
+ REG_N refers to a double register.
+ Add REG_N_B01 nibble type and use it instead of REG_NM
+ in ftrv.
+ Adjust the bit patterns in a few comments.
+
+2004-02-25 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Change mask for dcbt and dcbtst.
+
+2004-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Move mfmcsrr0 before mfdc_dat.
+
+2004-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add m*ivor35.
+
+2004-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add mfivor32, mfivor33, mfivor34,
+ mtivor32, mtivor33, mtivor34.
+
+2004-02-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add mfmcar.
+
2004-02-10 Petko Manolov <petkan@nucleusys.com>
* arm-opc.h Maverick accumulator register opcode fixes.
diff --git a/opcodes/aclocal.m4 b/opcodes/aclocal.m4
index 92732d3..a9b0b29 100644
--- a/opcodes/aclocal.m4
+++ b/opcodes/aclocal.m4
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+dnl aclocal.m4 generated automatically by aclocal 1.4-p6
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
@@ -35,7 +35,16 @@ AC_SUBST(bfdlibdir)
AC_SUBST(bfdincludedir)
])
-#serial 1
+# isc-posix.m4 serial 2 (gettext-0.11.2)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
+
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
@@ -63,7 +72,8 @@ dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AC_PROG_INSTALL])
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
@@ -79,13 +89,42 @@ AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
+# Copyright 2002 Free Software Foundation, Inc.
+
+# 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, 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., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.4-p6])])
+
#
# Check to make sure that the build environment is sane.
#
diff --git a/opcodes/config.in b/opcodes/config.in
index 5caef55..1185e89 100644
--- a/opcodes/config.in
+++ b/opcodes/config.in
@@ -106,6 +106,12 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/opcodes/configure b/opcodes/configure
index 4a95a9a..6cff4e7 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -57,7 +57,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -172,7 +171,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -343,11 +341,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -513,16 +506,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -561,12 +550,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:565: checking for Cygwin environment" >&5
+echo "configure:554: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 570 "configure"
+#line 559 "configure"
#include "confdefs.h"
int main() {
@@ -577,7 +566,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -594,19 +583,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:598: checking for mingw32 environment" >&5
+echo "configure:587: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 603 "configure"
+#line 592 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:599: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -671,7 +660,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:675: checking host system type" >&5
+echo "configure:664: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -692,7 +681,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:696: checking target system type" >&5
+echo "configure:685: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -710,7 +699,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:714: checking build system type" >&5
+echo "configure:703: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -734,7 +723,7 @@ test "$host_alias" != "$target_alias" &&
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:738: checking for strerror in -lcposix" >&5
+echo "configure:727: checking for strerror in -lcposix" >&5
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -742,7 +731,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 746 "configure"
+#line 735 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -753,7 +742,7 @@ int main() {
strerror()
; return 0; }
EOF
-if { (eval echo configure:757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -781,6 +770,7 @@ fi
# number that BFD is using.
BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
+am__api_version="1.4"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -793,7 +783,7 @@ BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:797: checking for a BSD compatible install" >&5
+echo "configure:787: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -846,7 +836,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:850: checking whether build environment is sane" >&5
+echo "configure:840: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -903,7 +893,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:907: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:897: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -948,21 +938,21 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:953: checking for working aclocal" >&5
+echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6
+echo "configure:943: checking for working aclocal-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
+if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal-${am__api_version}
echo "$ac_t""found" 1>&6
else
- ACLOCAL="$missing_dir/missing aclocal"
+ ACLOCAL="$missing_dir/missing aclocal-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:966: checking for working autoconf" >&5
+echo "configure:956: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -974,21 +964,21 @@ else
echo "$ac_t""missing" 1>&6
fi
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:979: checking for working automake" >&5
+echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6
+echo "configure:969: checking for working automake-${am__api_version}" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
+if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-${am__api_version}
echo "$ac_t""found" 1>&6
else
- AUTOMAKE="$missing_dir/missing automake"
+ AUTOMAKE="$missing_dir/missing automake-${am__api_version}"
echo "$ac_t""missing" 1>&6
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:992: checking for working autoheader" >&5
+echo "configure:982: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1001,7 +991,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1005: checking for working makeinfo" >&5
+echo "configure:995: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -1024,7 +1014,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1028: checking for $ac_word" >&5
+echo "configure:1018: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1056,7 +1046,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1060: checking for $ac_word" >&5
+echo "configure:1050: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1088,7 +1078,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1092: checking for $ac_word" >&5
+echo "configure:1082: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1194,7 +1184,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1198: checking for $ac_word" >&5
+echo "configure:1188: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1224,7 +1214,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1228: checking for $ac_word" >&5
+echo "configure:1218: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1275,7 +1265,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1279: checking for $ac_word" >&5
+echo "configure:1269: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1307,7 +1297,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1311: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1301: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1318,12 +1308,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1322 "configure"
+#line 1312 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1349,12 +1339,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1353: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1343: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1358: checking whether we are using GNU C" >&5
+echo "configure:1348: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1363,7 +1353,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1357: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1382,7 +1372,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1386: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1376: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1425,7 +1415,7 @@ ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1429: checking for ld used by GCC" >&5
+echo "configure:1419: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1455,10 +1445,10 @@ echo "configure:1429: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1459: checking for GNU ld" >&5
+echo "configure:1449: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1462: checking for non-GNU ld" >&5
+echo "configure:1452: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1493,7 +1483,7 @@ else
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1497: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1487: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1510,7 +1500,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1514: checking for $LD option to reload object files" >&5
+echo "configure:1504: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1522,7 +1512,7 @@ reload_flag=$lt_cv_ld_reload_flag
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1526: checking for BSD-compatible nm" >&5
+echo "configure:1516: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1560,7 +1550,7 @@ NM="$lt_cv_path_NM"
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1564: checking whether ln -s works" >&5
+echo "configure:1554: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1581,7 +1571,7 @@ else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1585: checking how to recognise dependant libraries" >&5
+echo "configure:1575: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1754,13 +1744,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1758: checking for object suffix" >&5
+echo "configure:1748: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1754: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1780,7 +1770,7 @@ ac_objext=$ac_cv_objext
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1784: checking for executable suffix" >&5
+echo "configure:1774: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1790,10 +1780,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -1817,7 +1807,7 @@ case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1821: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1811: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1879,7 +1869,7 @@ fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1883: checking for file" >&5
+echo "configure:1873: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1950,7 +1940,7 @@ esac
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1954: checking for $ac_word" >&5
+echo "configure:1944: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1982,7 +1972,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1986: checking for $ac_word" >&5
+echo "configure:1976: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2017,7 +2007,7 @@ fi
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2021: checking for $ac_word" >&5
+echo "configure:2011: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2049,7 +2039,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2053: checking for $ac_word" >&5
+echo "configure:2043: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2116,8 +2106,8 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 2120 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2110 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
@@ -2150,7 +2140,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2168,7 +2158,7 @@ ia64-*-hpux*)
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2172: checking whether the C compiler needs -belf" >&5
+echo "configure:2162: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2181,14 +2171,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 2185 "configure"
+#line 2175 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
@@ -2356,7 +2346,7 @@ if test -z "$target" ; then
fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:2360: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:2350: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -2379,7 +2369,7 @@ fi
echo $ac_n "checking whether to install libbfd""... $ac_c" 1>&6
-echo "configure:2383: checking whether to install libbfd" >&5
+echo "configure:2373: checking whether to install libbfd" >&5
# Check whether --enable-install-libbfd or --disable-install-libbfd was given.
if test "${enable_install_libbfd+set}" = set; then
enableval="$enable_install_libbfd"
@@ -2416,7 +2406,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2420: checking for executable suffix" >&5
+echo "configure:2410: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2426,10 +2416,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:2430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:2420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@@ -2452,7 +2442,7 @@ ac_exeext=$EXEEXT
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2456: checking for $ac_word" >&5
+echo "configure:2446: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2482,7 +2472,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2486: checking for $ac_word" >&5
+echo "configure:2476: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2533,7 +2523,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2537: checking for $ac_word" >&5
+echo "configure:2527: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2565,7 +2555,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2569: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2559: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2576,12 +2566,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 2580 "configure"
+#line 2570 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -2607,12 +2597,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2611: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2601: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2616: checking whether we are using GNU C" >&5
+echo "configure:2606: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2621,7 +2611,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2640,7 +2630,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2644: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2634: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2674,7 +2664,7 @@ fi
ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl"
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2678: checking how to run the C preprocessor" >&5
+echo "configure:2668: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2689,13 +2679,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 2693 "configure"
+#line 2683 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2706,13 +2696,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2710 "configure"
+#line 2700 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2723,13 +2713,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2727 "configure"
+#line 2717 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2723: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -2756,7 +2746,7 @@ echo "$ac_t""$CPP" 1>&6
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2760: checking for $ac_word" >&5
+echo "configure:2750: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2784,12 +2774,12 @@ else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2788: checking for ANSI C header files" >&5
+echo "configure:2778: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2793 "configure"
+#line 2783 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2797,7 +2787,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2791: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2814,7 +2804,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2818 "configure"
+#line 2808 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2832,7 +2822,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2836 "configure"
+#line 2826 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2853,7 +2843,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2857 "configure"
+#line 2847 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2864,7 +2854,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2888,12 +2878,12 @@ EOF
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2892: checking for working const" >&5
+echo "configure:2882: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2897 "configure"
+#line 2887 "configure"
#include "confdefs.h"
int main() {
@@ -2942,7 +2932,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:2946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -2963,21 +2953,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:2967: checking for inline" >&5
+echo "configure:2957: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 2974 "configure"
+#line 2964 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:2981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -3003,12 +2993,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3007: checking for off_t" >&5
+echo "configure:2997: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3012 "configure"
+#line 3002 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3036,12 +3026,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3040: checking for size_t" >&5
+echo "configure:3030: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3045 "configure"
+#line 3035 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3071,19 +3061,19 @@ fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:3075: checking for working alloca.h" >&5
+echo "configure:3065: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3080 "configure"
+#line 3070 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:3087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -3104,12 +3094,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:3108: checking for alloca" >&5
+echo "configure:3098: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3113 "configure"
+#line 3103 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -3137,7 +3127,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:3141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -3169,12 +3159,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:3173: checking whether alloca needs Cray hooks" >&5
+echo "configure:3163: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3178 "configure"
+#line 3168 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -3199,12 +3189,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3203: checking for $ac_func" >&5
+echo "configure:3193: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3208 "configure"
+#line 3198 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3227,7 +3217,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3254,7 +3244,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:3258: checking stack direction for C alloca" >&5
+echo "configure:3248: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3262,7 +3252,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 3266 "configure"
+#line 3256 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -3281,7 +3271,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:3285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -3302,21 +3292,21 @@ EOF
fi
-for ac_hdr in unistd.h
+for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3310: checking for $ac_hdr" >&5
+echo "configure:3300: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3315 "configure"
+#line 3305 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3320: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3345,12 +3335,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3349: checking for $ac_func" >&5
+echo "configure:3339: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3354 "configure"
+#line 3344 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3373,7 +3363,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3398,7 +3388,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3402: checking for working mmap" >&5
+echo "configure:3392: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3406,7 +3396,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3410 "configure"
+#line 3400 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3434,11 +3424,24 @@ else
#include <fcntl.h>
#include <sys/mman.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
/* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
/* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H
@@ -3546,7 +3549,7 @@ main()
}
EOF
-if { (eval echo configure:3550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3574,17 +3577,17 @@ unistd.h values.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3578: checking for $ac_hdr" >&5
+echo "configure:3581: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3583 "configure"
+#line 3586 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3614,12 +3617,12 @@ done
__argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3618: checking for $ac_func" >&5
+echo "configure:3621: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3623 "configure"
+#line 3626 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3642,7 +3645,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3671,12 +3674,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3675: checking for $ac_func" >&5
+echo "configure:3678: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3680 "configure"
+#line 3683 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3699,7 +3702,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3733,19 +3736,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3737: checking for LC_MESSAGES" >&5
+echo "configure:3740: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3742 "configure"
+#line 3745 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -3766,7 +3769,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3770: checking whether NLS is requested" >&5
+echo "configure:3773: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3786,7 +3789,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3790: checking whether included gettext is requested" >&5
+echo "configure:3793: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3805,17 +3808,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3809: checking for libintl.h" >&5
+echo "configure:3812: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3814 "configure"
+#line 3817 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3822: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3832,19 +3835,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3836: checking for gettext in libc" >&5
+echo "configure:3839: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3841 "configure"
+#line 3844 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3860,7 +3863,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3864: checking for bindtextdomain in -lintl" >&5
+echo "configure:3867: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3868,7 +3871,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3872 "configure"
+#line 3875 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3879,7 +3882,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3895,19 +3898,19 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:3899: checking for gettext in libintl" >&5
+echo "configure:3902: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3904 "configure"
+#line 3907 "configure"
#include "confdefs.h"
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libintl=yes
else
@@ -3935,7 +3938,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3939: checking for $ac_word" >&5
+echo "configure:3942: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3969,12 +3972,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3973: checking for $ac_func" >&5
+echo "configure:3976: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3978 "configure"
+#line 3981 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3997,7 +4000,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4024,7 +4027,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4028: checking for $ac_word" >&5
+echo "configure:4031: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4060,7 +4063,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4064: checking for $ac_word" >&5
+echo "configure:4067: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4092,7 +4095,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 4096 "configure"
+#line 4099 "configure"
#include "confdefs.h"
int main() {
@@ -4100,7 +4103,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:4104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4132,7 +4135,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4136: checking for $ac_word" >&5
+echo "configure:4139: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4166,7 +4169,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4170: checking for $ac_word" >&5
+echo "configure:4173: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4202,7 +4205,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4206: checking for $ac_word" >&5
+echo "configure:4209: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4292,7 +4295,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4296: checking for catalogs to be installed" >&5
+echo "configure:4299: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4320,17 +4323,17 @@ echo "configure:4296: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:4324: checking for linux/version.h" >&5
+echo "configure:4327: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4329 "configure"
+#line 4332 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4408,7 +4411,7 @@ if test "x$cross_compiling" = "xno"; then
EXEEXT_FOR_BUILD='$(EXEEXT)'
else
echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6
-echo "configure:4412: checking for build system executable suffix" >&5
+echo "configure:4415: checking for build system executable suffix" >&5
if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4445,7 +4448,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:4449: checking for a BSD compatible install" >&5
+echo "configure:4452: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4502,17 +4505,17 @@ for ac_hdr in string.h strings.h stdlib.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4506: checking for $ac_hdr" >&5
+echo "configure:4509: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4511 "configure"
+#line 4514 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
diff --git a/opcodes/frv-asm.c b/opcodes/frv-asm.c
index 145b56a..98df36b 100644
--- a/opcodes/frv-asm.c
+++ b/opcodes/frv-asm.c
@@ -860,6 +860,21 @@ frv_cgen_parse_operand (cd, opindex, strp, fields)
case FRV_OPERAND_LI :
errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_LI, &fields->f_LI);
break;
+ case FRV_OPERAND_LRAD :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_LRAD, &fields->f_LRAD);
+ break;
+ case FRV_OPERAND_LRAE :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_LRAE, &fields->f_LRAE);
+ break;
+ case FRV_OPERAND_LRAS :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_LRAS, &fields->f_LRAS);
+ break;
+ case FRV_OPERAND_TLBPRL :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_TLBPRL, &fields->f_TLBPRL);
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_TLBPROPX, &fields->f_TLBPRopx);
+ break;
case FRV_OPERAND_AE :
errmsg = cgen_parse_unsigned_integer (cd, strp, FRV_OPERAND_AE, &fields->f_ae);
break;
diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c
index 35659c7..7e0b3b4 100644
--- a/opcodes/frv-desc.c
+++ b/opcodes/frv-desc.c
@@ -49,6 +49,7 @@ static const CGEN_ATTR_ENTRY MACH_attr[] =
{ "frv", MACH_FRV },
{ "fr550", MACH_FR550 },
{ "fr500", MACH_FR500 },
+ { "fr450", MACH_FR450 },
{ "fr400", MACH_FR400 },
{ "tomcat", MACH_TOMCAT },
{ "simple", MACH_SIMPLE },
@@ -90,6 +91,7 @@ static const CGEN_ATTR_ENTRY UNIT_attr[] =
{ "SCAN", UNIT_SCAN },
{ "DCPL", UNIT_DCPL },
{ "MDUALACC", UNIT_MDUALACC },
+ { "MDCUTSSI", UNIT_MDCUTSSI },
{ "MCLRACC_1", UNIT_MCLRACC_1 },
{ "NUM_UNITS", UNIT_NUM_UNITS },
{ 0, 0 }
@@ -116,6 +118,31 @@ static const CGEN_ATTR_ENTRY FR400_MAJOR_attr[] =
{ 0, 0 }
};
+static const CGEN_ATTR_ENTRY FR450_MAJOR_attr[] =
+{
+ { "NONE", FR450_MAJOR_NONE },
+ { "I_1", FR450_MAJOR_I_1 },
+ { "I_2", FR450_MAJOR_I_2 },
+ { "I_3", FR450_MAJOR_I_3 },
+ { "I_4", FR450_MAJOR_I_4 },
+ { "I_5", FR450_MAJOR_I_5 },
+ { "B_1", FR450_MAJOR_B_1 },
+ { "B_2", FR450_MAJOR_B_2 },
+ { "B_3", FR450_MAJOR_B_3 },
+ { "B_4", FR450_MAJOR_B_4 },
+ { "B_5", FR450_MAJOR_B_5 },
+ { "B_6", FR450_MAJOR_B_6 },
+ { "C_1", FR450_MAJOR_C_1 },
+ { "C_2", FR450_MAJOR_C_2 },
+ { "M_1", FR450_MAJOR_M_1 },
+ { "M_2", FR450_MAJOR_M_2 },
+ { "M_3", FR450_MAJOR_M_3 },
+ { "M_4", FR450_MAJOR_M_4 },
+ { "M_5", FR450_MAJOR_M_5 },
+ { "M_6", FR450_MAJOR_M_6 },
+ { 0, 0 }
+};
+
static const CGEN_ATTR_ENTRY FR500_MAJOR_attr[] =
{
{ "NONE", FR500_MAJOR_NONE },
@@ -225,6 +252,7 @@ const CGEN_ATTR_TABLE frv_cgen_insn_attr_table[] =
{ "MACH", & MACH_attr[0], & MACH_attr[0] },
{ "UNIT", & UNIT_attr[0], & UNIT_attr[0] },
{ "FR400-MAJOR", & FR400_MAJOR_attr[0], & FR400_MAJOR_attr[0] },
+ { "FR450-MAJOR", & FR450_MAJOR_attr[0], & FR450_MAJOR_attr[0] },
{ "FR500-MAJOR", & FR500_MAJOR_attr[0], & FR500_MAJOR_attr[0] },
{ "FR550-MAJOR", & FR550_MAJOR_attr[0], & FR550_MAJOR_attr[0] },
{ "ALIAS", &bool_attr[0], &bool_attr[0] },
@@ -242,6 +270,7 @@ const CGEN_ATTR_TABLE frv_cgen_insn_attr_table[] =
{ "CONDITIONAL", &bool_attr[0], &bool_attr[0] },
{ "FR-ACCESS", &bool_attr[0], &bool_attr[0] },
{ "PRESERVE-OVF", &bool_attr[0], &bool_attr[0] },
+ { "AUDIO", &bool_attr[0], &bool_attr[0] },
{ 0, 0, 0 }
};
@@ -260,6 +289,7 @@ static const CGEN_MACH frv_cgen_mach_table[] = {
{ "fr500", "fr500", MACH_FR500, 0 },
{ "tomcat", "tomcat", MACH_TOMCAT, 0 },
{ "fr400", "fr400", MACH_FR400, 0 },
+ { "fr450", "fr450", MACH_FR450, 0 },
{ "simple", "simple", MACH_SIMPLE, 0 },
{ 0, 0, 0, 0 }
};
@@ -804,6 +834,10 @@ static CGEN_KEYWORD_ENTRY frv_cgen_opval_spr_names_entries[] =
{ "sr1", 769, {0, {0}}, 0, 0 },
{ "sr2", 770, {0, {0}}, 0, 0 },
{ "sr3", 771, {0, {0}}, 0, 0 },
+ { "scr0", 832, {0, {0}}, 0, 0 },
+ { "scr1", 833, {0, {0}}, 0, 0 },
+ { "scr2", 834, {0, {0}}, 0, 0 },
+ { "scr3", 835, {0, {0}}, 0, 0 },
{ "fsr0", 1024, {0, {0}}, 0, 0 },
{ "fsr1", 1025, {0, {0}}, 0, 0 },
{ "fsr2", 1026, {0, {0}}, 0, 0 },
@@ -1449,9 +1483,20 @@ static CGEN_KEYWORD_ENTRY frv_cgen_opval_spr_names_entries[] =
{ "amcr", 1920, {0, {0}}, 0, 0 },
{ "stbar", 1921, {0, {0}}, 0, 0 },
{ "mmcr", 1922, {0, {0}}, 0, 0 },
+ { "iamvr1", 1925, {0, {0}}, 0, 0 },
+ { "damvr1", 1927, {0, {0}}, 0, 0 },
+ { "cxnr", 1936, {0, {0}}, 0, 0 },
+ { "ttbr", 1937, {0, {0}}, 0, 0 },
+ { "tplr", 1938, {0, {0}}, 0, 0 },
+ { "tppr", 1939, {0, {0}}, 0, 0 },
+ { "tpxr", 1940, {0, {0}}, 0, 0 },
+ { "timerh", 1952, {0, {0}}, 0, 0 },
+ { "timerl", 1953, {0, {0}}, 0, 0 },
+ { "timerd", 1954, {0, {0}}, 0, 0 },
{ "dcr", 2048, {0, {0}}, 0, 0 },
{ "brr", 2049, {0, {0}}, 0, 0 },
{ "nmar", 2050, {0, {0}}, 0, 0 },
+ { "btbr", 2051, {0, {0}}, 0, 0 },
{ "ibar0", 2052, {0, {0}}, 0, 0 },
{ "ibar1", 2053, {0, {0}}, 0, 0 },
{ "ibar2", 2054, {0, {0}}, 0, 0 },
@@ -1505,7 +1550,7 @@ static CGEN_KEYWORD_ENTRY frv_cgen_opval_spr_names_entries[] =
CGEN_KEYWORD frv_cgen_opval_spr_names =
{
& frv_cgen_opval_spr_names_entries[0],
- 1007,
+ 1022,
0, 0, 0, 0, ""
};
@@ -1817,7 +1862,7 @@ const CGEN_HW_ENTRY frv_cgen_hw_table[] =
{ "h-accg", HW_H_ACCG, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_accg_names, { 0|A(VIRTUAL)|A(PROFILE), { (1<<MACH_BASE) } } },
{ "h-acc40S", HW_H_ACC40S, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_acc_names, { 0|A(VIRTUAL)|A(PROFILE), { (1<<MACH_BASE) } } },
{ "h-acc40U", HW_H_ACC40U, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_acc_names, { 0|A(VIRTUAL)|A(PROFILE), { (1<<MACH_BASE) } } },
- { "h-iacc0", HW_H_IACC0, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_iacc0_names, { 0|A(VIRTUAL)|A(PROFILE), { (1<<MACH_FR400) } } },
+ { "h-iacc0", HW_H_IACC0, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_iacc0_names, { 0|A(VIRTUAL)|A(PROFILE), { (1<<MACH_FR400)|(1<<MACH_FR450) } } },
{ "h-iccr", HW_H_ICCR, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_iccr_names, { 0|A(PROFILE), { (1<<MACH_BASE) } } },
{ "h-fccr", HW_H_FCCR, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_fccr_names, { 0|A(PROFILE), { (1<<MACH_BASE) } } },
{ "h-cccr", HW_H_CCCR, CGEN_ASM_KEYWORD, (PTR) & frv_cgen_opval_cccr_names, { 0|A(PROFILE), { (1<<MACH_BASE) } } },
@@ -1906,6 +1951,11 @@ const CGEN_IFLD frv_cgen_ifld_table[] =
{ FRV_F_LABELH6, "f-labelH6", 0, 32, 30, 6, { 0, { (1<<MACH_BASE) } } },
{ FRV_F_LABELL18, "f-labelL18", 0, 32, 17, 18, { 0, { (1<<MACH_BASE) } } },
{ FRV_F_LABEL24, "f-label24", 0, 0, 0, 0,{ 0|A(PCREL_ADDR)|A(VIRTUAL), { (1<<MACH_BASE) } } },
+ { FRV_F_LRAE, "f-LRAE", 0, 32, 5, 1, { 0, { (1<<MACH_BASE) } } },
+ { FRV_F_LRAD, "f-LRAD", 0, 32, 4, 1, { 0, { (1<<MACH_BASE) } } },
+ { FRV_F_LRAS, "f-LRAS", 0, 32, 3, 1, { 0, { (1<<MACH_BASE) } } },
+ { FRV_F_TLBPROPX, "f-TLBPRopx", 0, 32, 28, 3, { 0, { (1<<MACH_BASE) } } },
+ { FRV_F_TLBPRL, "f-TLBPRL", 0, 32, 25, 1, { 0, { (1<<MACH_BASE) } } },
{ FRV_F_ICCI_1_NULL, "f-ICCi_1-null", 0, 32, 11, 2, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_ICCI_2_NULL, "f-ICCi_2-null", 0, 32, 26, 2, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_ICCI_3_NULL, "f-ICCi_3-null", 0, 32, 1, 2, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
@@ -1935,6 +1985,8 @@ const CGEN_IFLD frv_cgen_ifld_table[] =
{ FRV_F_MISC_NULL_9, "f-misc-null-9", 0, 32, 5, 4, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_MISC_NULL_10, "f-misc-null-10", 0, 32, 16, 5, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_MISC_NULL_11, "f-misc-null-11", 0, 32, 5, 1, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
+ { FRV_F_LRA_NULL, "f-LRA-null", 0, 32, 2, 3, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
+ { FRV_F_TLBPR_NULL, "f-TLBPR-null", 0, 32, 30, 2, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_LI_OFF, "f-LI-off", 0, 32, 25, 1, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ FRV_F_LI_ON, "f-LI-on", 0, 32, 25, 1, { 0|A(RESERVED), { (1<<MACH_BASE) } } },
{ 0, 0, 0, 0, 0, 0, {0, {0}} }
@@ -2231,6 +2283,26 @@ const CGEN_OPERAND frv_cgen_operand_table[] =
{ "label24", FRV_OPERAND_LABEL24, HW_H_IADDR, 17, 24,
{ 2, { (const PTR) &FRV_F_LABEL24_MULTI_IFIELD[0] } },
{ 0|A(PCREL_ADDR)|A(VIRTUAL), { (1<<MACH_BASE) } } },
+/* LRAE: Load Real Address E flag */
+ { "LRAE", FRV_OPERAND_LRAE, HW_H_UINT, 5, 1,
+ { 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_LRAE] } },
+ { 0, { (1<<MACH_BASE) } } },
+/* LRAD: Load Real Address D flag */
+ { "LRAD", FRV_OPERAND_LRAD, HW_H_UINT, 4, 1,
+ { 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_LRAD] } },
+ { 0, { (1<<MACH_BASE) } } },
+/* LRAS: Load Real Address S flag */
+ { "LRAS", FRV_OPERAND_LRAS, HW_H_UINT, 3, 1,
+ { 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_LRAS] } },
+ { 0, { (1<<MACH_BASE) } } },
+/* TLBPRopx: TLB Probe operation number */
+ { "TLBPRopx", FRV_OPERAND_TLBPROPX, HW_H_UINT, 28, 3,
+ { 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_TLBPROPX] } },
+ { 0, { (1<<MACH_BASE) } } },
+/* TLBPRL: TLB Probe L flag */
+ { "TLBPRL", FRV_OPERAND_TLBPRL, HW_H_UINT, 25, 1,
+ { 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_TLBPRL] } },
+ { 0, { (1<<MACH_BASE) } } },
/* A0: A==0 operand of mclracc */
{ "A0", FRV_OPERAND_A0, HW_H_UINT, 17, 1,
{ 0, { (const PTR) &frv_cgen_ifld_table[FRV_F_A] } },
@@ -2338,3732 +2410,3717 @@ static const CGEN_IBASE frv_cgen_insn_table[MAX_INSNS] =
/* add$pack $GRi,$GRj,$GRk */
{
FRV_INSN_ADD, "add", "add", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sub$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SUB, "sub", "sub", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* and$pack $GRi,$GRj,$GRk */
{
FRV_INSN_AND, "and", "and", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* or$pack $GRi,$GRj,$GRk */
{
FRV_INSN_OR, "or", "or", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* xor$pack $GRi,$GRj,$GRk */
{
FRV_INSN_XOR, "xor", "xor", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* not$pack $GRj,$GRk */
{
FRV_INSN_NOT, "not", "not", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sdiv$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SDIV, "sdiv", "sdiv", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* nsdiv$pack $GRi,$GRj,$GRk */
{
FRV_INSN_NSDIV, "nsdiv", "nsdiv", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* udiv$pack $GRi,$GRj,$GRk */
{
FRV_INSN_UDIV, "udiv", "udiv", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* nudiv$pack $GRi,$GRj,$GRk */
{
FRV_INSN_NUDIV, "nudiv", "nudiv", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* smul$pack $GRi,$GRj,$GRdoublek */
{
FRV_INSN_SMUL, "smul", "smul", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* umul$pack $GRi,$GRj,$GRdoublek */
{
FRV_INSN_UMUL, "umul", "umul", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* smu$pack $GRi,$GRj */
{
FRV_INSN_SMU, "smu", "smu", 32,
- { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IACC, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* smass$pack $GRi,$GRj */
{
FRV_INSN_SMASS, "smass", "smass", 32,
- { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IACC, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* smsss$pack $GRi,$GRj */
{
FRV_INSN_SMSSS, "smsss", "smsss", 32,
- { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IACC, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* sll$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SLL, "sll", "sll", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* srl$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SRL, "srl", "srl", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sra$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SRA, "sra", "sra", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* slass$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SLASS, "slass", "slass", 32,
- { 0, { (1<<MACH_FR400), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* scutss$pack $GRj,$GRk */
{
FRV_INSN_SCUTSS, "scutss", "scutss", 32,
- { 0, { (1<<MACH_FR400), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_I0, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* scan$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SCAN, "scan", "scan", 32,
- { 0, { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cadd$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CADD, "cadd", "cadd", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csub$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSUB, "csub", "csub", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cand$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CAND, "cand", "cand", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cor$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_COR, "cor", "cor", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cxor$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CXOR, "cxor", "cxor", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cnot$pack $GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CNOT, "cnot", "cnot", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csmul$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
{
FRV_INSN_CSMUL, "csmul", "csmul", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* csdiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSDIV, "csdiv", "csdiv", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* cudiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CUDIV, "cudiv", "cudiv", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* csll$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSLL, "csll", "csll", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csrl$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSRL, "csrl", "csrl", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csra$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSRA, "csra", "csra", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cscan$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSCAN, "cscan", "cscan", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_ADDCC, "addcc", "addcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SUBCC, "subcc", "subcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* andcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_ANDCC, "andcc", "andcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* orcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_ORCC, "orcc", "orcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* xorcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_XORCC, "xorcc", "xorcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sllcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SLLCC, "sllcc", "sllcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* srlcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SRLCC, "srlcc", "srlcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sracc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SRACC, "sracc", "sracc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* smulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
{
FRV_INSN_SMULCC, "smulcc", "smulcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* umulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
{
FRV_INSN_UMULCC, "umulcc", "umulcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* caddcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CADDCC, "caddcc", "caddcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csubcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSUBCC, "csubcc", "csubcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csmulcc$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
{
FRV_INSN_CSMULCC, "csmulcc", "csmulcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* candcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CANDCC, "candcc", "candcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* corcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CORCC, "corcc", "corcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cxorcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CXORCC, "cxorcc", "cxorcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csllcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSLLCC, "csllcc", "csllcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csrlcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSRLCC, "csrlcc", "csrlcc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* csracc$pack $GRi,$GRj,$GRk,$CCi,$cond */
{
FRV_INSN_CSRACC, "csracc", "csracc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addx$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_ADDX, "addx", "addx", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subx$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SUBX, "subx", "subx", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_ADDXCC, "addxcc", "addxcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
{
FRV_INSN_SUBXCC, "subxcc", "subxcc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addss$pack $GRi,$GRj,$GRk */
{
FRV_INSN_ADDSS, "addss", "addss", 32,
- { 0, { (1<<MACH_FR400), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* subss$pack $GRi,$GRj,$GRk */
{
FRV_INSN_SUBSS, "subss", "subss", 32,
- { 0, { (1<<MACH_FR400), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0|A(AUDIO), { (1<<MACH_FR400)|(1<<MACH_FR450), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* addi$pack $GRi,$s12,$GRk */
{
FRV_INSN_ADDI, "addi", "addi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subi$pack $GRi,$s12,$GRk */
{
FRV_INSN_SUBI, "subi", "subi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* andi$pack $GRi,$s12,$GRk */
{
FRV_INSN_ANDI, "andi", "andi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* ori$pack $GRi,$s12,$GRk */
{
FRV_INSN_ORI, "ori", "ori", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* xori$pack $GRi,$s12,$GRk */
{
FRV_INSN_XORI, "xori", "xori", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sdivi$pack $GRi,$s12,$GRk */
{
FRV_INSN_SDIVI, "sdivi", "sdivi", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* nsdivi$pack $GRi,$s12,$GRk */
{
FRV_INSN_NSDIVI, "nsdivi", "nsdivi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* udivi$pack $GRi,$s12,$GRk */
{
FRV_INSN_UDIVI, "udivi", "udivi", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* nudivi$pack $GRi,$s12,$GRk */
{
FRV_INSN_NUDIVI, "nudivi", "nudivi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_MULT_DIV, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* smuli$pack $GRi,$s12,$GRdoublek */
{
FRV_INSN_SMULI, "smuli", "smuli", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* umuli$pack $GRi,$s12,$GRdoublek */
{
FRV_INSN_UMULI, "umuli", "umuli", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* slli$pack $GRi,$s12,$GRk */
{
FRV_INSN_SLLI, "slli", "slli", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* srli$pack $GRi,$s12,$GRk */
{
FRV_INSN_SRLI, "srli", "srli", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* srai$pack $GRi,$s12,$GRk */
{
FRV_INSN_SRAI, "srai", "srai", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* scani$pack $GRi,$s12,$GRk */
{
FRV_INSN_SCANI, "scani", "scani", 32,
- { 0, { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_SCAN, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_ADDICC, "addicc", "addicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SUBICC, "subicc", "subicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* andicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_ANDICC, "andicc", "andicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* oricc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_ORICC, "oricc", "oricc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* xoricc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_XORICC, "xoricc", "xoricc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* smulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
{
FRV_INSN_SMULICC, "smulicc", "smulicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* umulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
{
FRV_INSN_UMULICC, "umulicc", "umulicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_2 } }
},
/* sllicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SLLICC, "sllicc", "sllicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* srlicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SRLICC, "srlicc", "srlicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sraicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SRAICC, "sraicc", "sraicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addxi$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_ADDXI, "addxi", "addxi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subxi$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SUBXI, "subxi", "subxi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* addxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_ADDXICC, "addxicc", "addxicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* subxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
{
FRV_INSN_SUBXICC, "subxicc", "subxicc", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* cmpb$pack $GRi,$GRj,$ICCi_1 */
{
FRV_INSN_CMPB, "cmpb", "cmpb", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_I_1 } }
},
/* cmpba$pack $GRi,$GRj,$ICCi_1 */
{
FRV_INSN_CMPBA, "cmpba", "cmpba", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_I_1 } }
},
/* setlo$pack $ulo16,$GRklo */
{
FRV_INSN_SETLO, "setlo", "setlo", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* sethi$pack $uhi16,$GRkhi */
{
FRV_INSN_SETHI, "sethi", "sethi", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* setlos$pack $slo16,$GRk */
{
FRV_INSN_SETLOS, "setlos", "setlos", 32,
- { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_I_1 } }
},
/* ldsb$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDSB, "ldsb", "ldsb", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldub$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDUB, "ldub", "ldub", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldsh$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDSH, "ldsh", "ldsh", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lduh$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDUH, "lduh", "lduh", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ld$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LD, "ld", "ld", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldbf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDBF, "ldbf", "ldbf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldhf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDHF, "ldhf", "ldhf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDF, "ldf", "ldf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldc$pack @($GRi,$GRj),$CPRk */
{
FRV_INSN_LDC, "ldc", "ldc", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldsb$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDSB, "nldsb", "nldsb", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldub$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDUB, "nldub", "nldub", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldsh$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDSH, "nldsh", "nldsh", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlduh$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDUH, "nlduh", "nlduh", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nld$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLD, "nld", "nld", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldbf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDBF, "nldbf", "nldbf", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldhf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDHF, "nldhf", "nldhf", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDF, "nldf", "nldf", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldd$pack @($GRi,$GRj),$GRdoublek */
{
FRV_INSN_LDD, "ldd", "ldd", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddf$pack @($GRi,$GRj),$FRdoublek */
{
FRV_INSN_LDDF, "lddf", "lddf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddc$pack @($GRi,$GRj),$CPRdoublek */
{
FRV_INSN_LDDC, "lddc", "lddc", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldd$pack @($GRi,$GRj),$GRdoublek */
{
FRV_INSN_NLDD, "nldd", "nldd", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlddf$pack @($GRi,$GRj),$FRdoublek */
{
FRV_INSN_NLDDF, "nlddf", "nlddf", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldq$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDQ, "ldq", "ldq", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldqf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDQF, "ldqf", "ldqf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldqc$pack @($GRi,$GRj),$CPRk */
{
FRV_INSN_LDQC, "ldqc", "ldqc", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldq$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDQ, "nldq", "nldq", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldqf$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDQF, "nldqf", "nldqf", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldsbu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDSBU, "ldsbu", "ldsbu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldubu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDUBU, "ldubu", "ldubu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldshu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDSHU, "ldshu", "ldshu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lduhu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDUHU, "lduhu", "lduhu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDU, "ldu", "ldu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldsbu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDSBU, "nldsbu", "nldsbu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldubu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDUBU, "nldubu", "nldubu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldshu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDSHU, "nldshu", "nldshu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlduhu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDUHU, "nlduhu", "nlduhu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDU, "nldu", "nldu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldbfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDBFU, "ldbfu", "ldbfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldhfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDHFU, "ldhfu", "ldhfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDFU, "ldfu", "ldfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldcu$pack @($GRi,$GRj),$CPRk */
{
FRV_INSN_LDCU, "ldcu", "ldcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldbfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDBFU, "nldbfu", "nldbfu", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldhfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDHFU, "nldhfu", "nldhfu", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDFU, "nldfu", "nldfu", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddu$pack @($GRi,$GRj),$GRdoublek */
{
FRV_INSN_LDDU, "lddu", "lddu", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlddu$pack @($GRi,$GRj),$GRdoublek */
{
FRV_INSN_NLDDU, "nlddu", "nlddu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddfu$pack @($GRi,$GRj),$FRdoublek */
{
FRV_INSN_LDDFU, "lddfu", "lddfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddcu$pack @($GRi,$GRj),$CPRdoublek */
{
FRV_INSN_LDDCU, "lddcu", "lddcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlddfu$pack @($GRi,$GRj),$FRdoublek */
{
FRV_INSN_NLDDFU, "nlddfu", "nlddfu", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldqu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_LDQU, "ldqu", "ldqu", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldqu$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_NLDQU, "nldqu", "nldqu", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldqfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_LDQFU, "ldqfu", "ldqfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldqcu$pack @($GRi,$GRj),$CPRk */
{
FRV_INSN_LDQCU, "ldqcu", "ldqcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldqfu$pack @($GRi,$GRj),$FRintk */
{
FRV_INSN_NLDQFU, "nldqfu", "nldqfu", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldsbi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDSBI, "ldsbi", "ldsbi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldshi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDSHI, "ldshi", "ldshi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDI, "ldi", "ldi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldubi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDUBI, "ldubi", "ldubi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lduhi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDUHI, "lduhi", "lduhi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldbfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_LDBFI, "ldbfi", "ldbfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldhfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_LDHFI, "ldhfi", "ldhfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_LDFI, "ldfi", "ldfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldsbi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_NLDSBI, "nldsbi", "nldsbi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldubi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_NLDUBI, "nldubi", "nldubi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldshi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_NLDSHI, "nldshi", "nldshi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlduhi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_NLDUHI, "nlduhi", "nlduhi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_NLDI, "nldi", "nldi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldbfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_NLDBFI, "nldbfi", "nldbfi", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldhfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_NLDHFI, "nldhfi", "nldhfi", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nldfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_NLDFI, "nldfi", "nldfi", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddi$pack @($GRi,$d12),$GRdoublek */
{
FRV_INSN_LDDI, "lddi", "lddi", 32,
- { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* lddfi$pack @($GRi,$d12),$FRdoublek */
{
FRV_INSN_LDDFI, "lddfi", "lddfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlddi$pack @($GRi,$d12),$GRdoublek */
{
FRV_INSN_NLDDI, "nlddi", "nlddi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* nlddfi$pack @($GRi,$d12),$FRdoublek */
{
FRV_INSN_NLDDFI, "nlddfi", "nlddfi", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* ldqi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_LDQI, "ldqi", "ldqi", 32,
- { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* ldqfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_LDQFI, "ldqfi", "ldqfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* nldqfi$pack @($GRi,$d12),$FRintk */
{
FRV_INSN_NLDQFI, "nldqfi", "nldqfi", 32,
- { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS)|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* stb$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STB, "stb", "stb", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sth$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STH, "sth", "sth", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* st$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_ST, "st", "st", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stbf$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STBF, "stbf", "stbf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sthf$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STHF, "sthf", "sthf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stf$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STF, "stf", "stf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stc$pack $CPRk,@($GRi,$GRj) */
{
FRV_INSN_STC, "stc", "stc", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
- },
-/* rstb$pack $GRk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTB, "rstb", "rstb", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rsth$pack $GRk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTH, "rsth", "rsth", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rst$pack $GRk,@($GRi,$GRj) */
- {
- FRV_INSN_RST, "rst", "rst", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rstbf$pack $FRintk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTBF, "rstbf", "rstbf", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rsthf$pack $FRintk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTHF, "rsthf", "rsthf", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rstf$pack $FRintk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTF, "rstf", "rstf", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* std$pack $GRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STD, "std", "std", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdf$pack $FRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STDF, "stdf", "stdf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdc$pack $CPRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STDC, "stdc", "stdc", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
- },
-/* rstd$pack $GRdoublek,@($GRi,$GRj) */
- {
- FRV_INSN_RSTD, "rstd", "rstd", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rstdf$pack $FRdoublek,@($GRi,$GRj) */
- {
- FRV_INSN_RSTDF, "rstdf", "rstdf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stq$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STQ, "stq", "stq", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stqf$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STQF, "stqf", "stqf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stqc$pack $CPRk,@($GRi,$GRj) */
{
FRV_INSN_STQC, "stqc", "stqc", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rstq$pack $GRk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTQ, "rstq", "rstq", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
- },
-/* rstqf$pack $FRintk,@($GRi,$GRj) */
- {
- FRV_INSN_RSTQF, "rstqf", "rstqf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stbu$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STBU, "stbu", "stbu", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sthu$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STHU, "sthu", "sthu", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stu$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STU, "stu", "stu", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stbfu$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STBFU, "stbfu", "stbfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sthfu$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STHFU, "sthfu", "sthfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stfu$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STFU, "stfu", "stfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stcu$pack $CPRk,@($GRi,$GRj) */
{
FRV_INSN_STCU, "stcu", "stcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdu$pack $GRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STDU, "stdu", "stdu", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdfu$pack $FRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STDFU, "stdfu", "stdfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdcu$pack $CPRdoublek,@($GRi,$GRj) */
{
FRV_INSN_STDCU, "stdcu", "stdcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stqu$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_STQU, "stqu", "stqu", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stqfu$pack $FRintk,@($GRi,$GRj) */
{
FRV_INSN_STQFU, "stqfu", "stqfu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stqcu$pack $CPRk,@($GRi,$GRj) */
{
FRV_INSN_STQCU, "stqcu", "stqcu", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* cldsb$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDSB, "cldsb", "cldsb", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldub$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDUB, "cldub", "cldub", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldsh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDSH, "cldsh", "cldsh", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* clduh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDUH, "clduh", "clduh", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cld$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLD, "cld", "cld", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldbf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDBF, "cldbf", "cldbf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldhf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDHF, "cldhf", "cldhf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDF, "cldf", "cldf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldd$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
{
FRV_INSN_CLDD, "cldd", "cldd", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* clddf$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
{
FRV_INSN_CLDDF, "clddf", "clddf", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldq$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDQ, "cldq", "cldq", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* cldsbu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDSBU, "cldsbu", "cldsbu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldubu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDUBU, "cldubu", "cldubu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldshu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDSHU, "cldshu", "cldshu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* clduhu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDUHU, "clduhu", "clduhu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDU, "cldu", "cldu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldbfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDBFU, "cldbfu", "cldbfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldhfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDHFU, "cldhfu", "cldhfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
{
FRV_INSN_CLDFU, "cldfu", "cldfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* clddu$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
{
FRV_INSN_CLDDU, "clddu", "clddu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* clddfu$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
{
FRV_INSN_CLDDFU, "clddfu", "clddfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_LOAD, FR400_MAJOR_I_2, FR450_MAJOR_I_2, FR500_MAJOR_I_2, FR550_MAJOR_I_3 } }
},
/* cldqu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CLDQU, "cldqu", "cldqu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_LOAD, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_2, FR550_MAJOR_NONE } }
},
/* cstb$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTB, "cstb", "cstb", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* csth$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTH, "csth", "csth", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cst$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CST, "cst", "cst", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstbf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTBF, "cstbf", "cstbf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* csthf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTHF, "csthf", "csthf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTF, "cstf", "cstf", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstd$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTD, "cstd", "cstd", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstdf$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTDF, "cstdf", "cstdf", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstq$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTQ, "cstq", "cstq", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* cstbu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTBU, "cstbu", "cstbu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* csthu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTHU, "csthu", "csthu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTU, "cstu", "cstu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstbfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTBFU, "cstbfu", "cstbfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* csthfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTHFU, "csthfu", "csthfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTFU, "cstfu", "cstfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstdu$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTDU, "cstdu", "cstdu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* cstdfu$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CSTDFU, "cstdfu", "cstdfu", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stbi$pack $GRk,@($GRi,$d12) */
{
FRV_INSN_STBI, "stbi", "stbi", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sthi$pack $GRk,@($GRi,$d12) */
{
FRV_INSN_STHI, "sthi", "sthi", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sti$pack $GRk,@($GRi,$d12) */
{
FRV_INSN_STI, "sti", "sti", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stbfi$pack $FRintk,@($GRi,$d12) */
{
FRV_INSN_STBFI, "stbfi", "stbfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* sthfi$pack $FRintk,@($GRi,$d12) */
{
FRV_INSN_STHFI, "sthfi", "sthfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stfi$pack $FRintk,@($GRi,$d12) */
{
FRV_INSN_STFI, "stfi", "stfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdi$pack $GRdoublek,@($GRi,$d12) */
{
FRV_INSN_STDI, "stdi", "stdi", 32,
- { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stdfi$pack $FRdoublek,@($GRi,$d12) */
{
FRV_INSN_STDFI, "stdfi", "stdfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_STORE, FR400_MAJOR_I_3, FR450_MAJOR_I_3, FR500_MAJOR_I_3, FR550_MAJOR_I_4 } }
},
/* stqi$pack $GRk,@($GRi,$d12) */
{
FRV_INSN_STQI, "stqi", "stqi", 32,
- { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* stqfi$pack $FRintk,@($GRi,$d12) */
{
FRV_INSN_STQFI, "stqfi", "stqfi", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_STORE, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_3, FR550_MAJOR_NONE } }
},
/* swap$pack @($GRi,$GRj),$GRk */
{
FRV_INSN_SWAP, "swap", "swap", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* swapi$pack @($GRi,$d12),$GRk */
{
FRV_INSN_SWAPI, "swapi", "swapi", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* cswap$pack @($GRi,$GRj),$GRk,$CCi,$cond */
{
FRV_INSN_CSWAP, "cswap", "cswap", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* movgf$pack $GRj,$FRintk */
{
FRV_INSN_MOVGF, "movgf", "movgf", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* movfg$pack $FRintk,$GRj */
{
FRV_INSN_MOVFG, "movfg", "movfg", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* movgfd$pack $GRj,$FRintk */
{
FRV_INSN_MOVGFD, "movgfd", "movgfd", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* movfgd$pack $FRintk,$GRj */
{
FRV_INSN_MOVFGD, "movfgd", "movfgd", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* movgfq$pack $GRj,$FRintk */
{
FRV_INSN_MOVGFQ, "movgfq", "movgfq", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_I0, FR400_MAJOR_NONE, FR500_MAJOR_I_4, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_I0, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_4, FR550_MAJOR_NONE } }
},
/* movfgq$pack $FRintk,$GRj */
{
FRV_INSN_MOVFGQ, "movfgq", "movfgq", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_I0, FR400_MAJOR_NONE, FR500_MAJOR_I_4, FR550_MAJOR_NONE } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV), UNIT_I0, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_4, FR550_MAJOR_NONE } }
},
/* cmovgf$pack $GRj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMOVGF, "cmovgf", "cmovgf", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* cmovfg$pack $FRintk,$GRj,$CCi,$cond */
{
FRV_INSN_CMOVFG, "cmovfg", "cmovfg", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* cmovgfd$pack $GRj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMOVGFD, "cmovgfd", "cmovgfd", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* cmovfgd$pack $FRintk,$GRj,$CCi,$cond */
{
FRV_INSN_CMOVFGD, "cmovfgd", "cmovfgd", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_4, FR450_MAJOR_I_4, FR500_MAJOR_I_4, FR550_MAJOR_I_5 } }
},
/* movgs$pack $GRj,$spr */
{
FRV_INSN_MOVGS, "movgs", "movgs", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* movsg$pack $spr,$GRj */
{
FRV_INSN_MOVSG, "movsg", "movsg", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* bra$pack $hint_taken$label16 */
{
FRV_INSN_BRA, "bra", "bra", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bno$pack$hint_not_taken */
{
FRV_INSN_BNO, "bno", "bno", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* beq$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BEQ, "beq", "beq", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bne$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BNE, "bne", "bne", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* ble$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BLE, "ble", "ble", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bgt$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BGT, "bgt", "bgt", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* blt$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BLT, "blt", "blt", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bge$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BGE, "bge", "bge", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bls$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BLS, "bls", "bls", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bhi$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BHI, "bhi", "bhi", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bc$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BC, "bc", "bc", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bnc$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BNC, "bnc", "bnc", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bn$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BN, "bn", "bn", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bp$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BP, "bp", "bp", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bv$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BV, "bv", "bv", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bnv$pack $ICCi_2,$hint,$label16 */
{
FRV_INSN_BNV, "bnv", "bnv", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbra$pack $hint_taken$label16 */
{
FRV_INSN_FBRA, "fbra", "fbra", 32,
- { 0|A(FR_ACCESS)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbno$pack$hint_not_taken */
{
FRV_INSN_FBNO, "fbno", "fbno", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbne$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBNE, "fbne", "fbne", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbeq$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBEQ, "fbeq", "fbeq", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fblg$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBLG, "fblg", "fblg", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbue$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBUE, "fbue", "fbue", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbul$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBUL, "fbul", "fbul", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbge$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBGE, "fbge", "fbge", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fblt$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBLT, "fblt", "fblt", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbuge$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBUGE, "fbuge", "fbuge", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbug$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBUG, "fbug", "fbug", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fble$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBLE, "fble", "fble", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbgt$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBGT, "fbgt", "fbgt", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbule$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBULE, "fbule", "fbule", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbu$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBU, "fbu", "fbu", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* fbo$pack $FCCi_2,$hint,$label16 */
{
FRV_INSN_FBO, "fbo", "fbo", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_1, FR450_MAJOR_B_1, FR500_MAJOR_B_1, FR550_MAJOR_B_1 } }
},
/* bctrlr$pack $ccond,$hint */
{
FRV_INSN_BCTRLR, "bctrlr", "bctrlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bralr$pack$hint_taken */
{
FRV_INSN_BRALR, "bralr", "bralr", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bnolr$pack$hint_not_taken */
{
FRV_INSN_BNOLR, "bnolr", "bnolr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* beqlr$pack $ICCi_2,$hint */
{
FRV_INSN_BEQLR, "beqlr", "beqlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bnelr$pack $ICCi_2,$hint */
{
FRV_INSN_BNELR, "bnelr", "bnelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* blelr$pack $ICCi_2,$hint */
{
FRV_INSN_BLELR, "blelr", "blelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bgtlr$pack $ICCi_2,$hint */
{
FRV_INSN_BGTLR, "bgtlr", "bgtlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bltlr$pack $ICCi_2,$hint */
{
FRV_INSN_BLTLR, "bltlr", "bltlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bgelr$pack $ICCi_2,$hint */
{
FRV_INSN_BGELR, "bgelr", "bgelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* blslr$pack $ICCi_2,$hint */
{
FRV_INSN_BLSLR, "blslr", "blslr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bhilr$pack $ICCi_2,$hint */
{
FRV_INSN_BHILR, "bhilr", "bhilr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bclr$pack $ICCi_2,$hint */
{
FRV_INSN_BCLR, "bclr", "bclr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bnclr$pack $ICCi_2,$hint */
{
FRV_INSN_BNCLR, "bnclr", "bnclr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bnlr$pack $ICCi_2,$hint */
{
FRV_INSN_BNLR, "bnlr", "bnlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bplr$pack $ICCi_2,$hint */
{
FRV_INSN_BPLR, "bplr", "bplr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bvlr$pack $ICCi_2,$hint */
{
FRV_INSN_BVLR, "bvlr", "bvlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bnvlr$pack $ICCi_2,$hint */
{
FRV_INSN_BNVLR, "bnvlr", "bnvlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbralr$pack$hint_taken */
{
FRV_INSN_FBRALR, "fbralr", "fbralr", 32,
- { 0|A(FR_ACCESS)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbnolr$pack$hint_not_taken */
{
FRV_INSN_FBNOLR, "fbnolr", "fbnolr", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbeqlr$pack $FCCi_2,$hint */
{
FRV_INSN_FBEQLR, "fbeqlr", "fbeqlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbnelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBNELR, "fbnelr", "fbnelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fblglr$pack $FCCi_2,$hint */
{
FRV_INSN_FBLGLR, "fblglr", "fblglr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbuelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBUELR, "fbuelr", "fbuelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbullr$pack $FCCi_2,$hint */
{
FRV_INSN_FBULLR, "fbullr", "fbullr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbgelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBGELR, "fbgelr", "fbgelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbltlr$pack $FCCi_2,$hint */
{
FRV_INSN_FBLTLR, "fbltlr", "fbltlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbugelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBUGELR, "fbugelr", "fbugelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbuglr$pack $FCCi_2,$hint */
{
FRV_INSN_FBUGLR, "fbuglr", "fbuglr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fblelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBLELR, "fblelr", "fblelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbgtlr$pack $FCCi_2,$hint */
{
FRV_INSN_FBGTLR, "fbgtlr", "fbgtlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbulelr$pack $FCCi_2,$hint */
{
FRV_INSN_FBULELR, "fbulelr", "fbulelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbulr$pack $FCCi_2,$hint */
{
FRV_INSN_FBULR, "fbulr", "fbulr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* fbolr$pack $FCCi_2,$hint */
{
FRV_INSN_FBOLR, "fbolr", "fbolr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_B_3 } }
},
/* bcralr$pack $ccond$hint_taken */
{
FRV_INSN_BCRALR, "bcralr", "bcralr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcnolr$pack$hint_not_taken */
{
FRV_INSN_BCNOLR, "bcnolr", "bcnolr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bceqlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCEQLR, "bceqlr", "bceqlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcnelr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCNELR, "bcnelr", "bcnelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bclelr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCLELR, "bclelr", "bclelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcgtlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCGTLR, "bcgtlr", "bcgtlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcltlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCLTLR, "bcltlr", "bcltlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcgelr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCGELR, "bcgelr", "bcgelr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bclslr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCLSLR, "bclslr", "bclslr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bchilr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCHILR, "bchilr", "bchilr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcclr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCCLR, "bcclr", "bcclr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcnclr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCNCLR, "bcnclr", "bcnclr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcnlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCNLR, "bcnlr", "bcnlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcplr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCPLR, "bcplr", "bcplr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcvlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCVLR, "bcvlr", "bcvlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* bcnvlr$pack $ICCi_2,$ccond,$hint */
{
FRV_INSN_BCNVLR, "bcnvlr", "bcnvlr", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbralr$pack $ccond$hint_taken */
{
FRV_INSN_FCBRALR, "fcbralr", "fcbralr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbnolr$pack$hint_not_taken */
{
FRV_INSN_FCBNOLR, "fcbnolr", "fcbnolr", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbeqlr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBEQLR, "fcbeqlr", "fcbeqlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbnelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBNELR, "fcbnelr", "fcbnelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcblglr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBLGLR, "fcblglr", "fcblglr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbuelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBUELR, "fcbuelr", "fcbuelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbullr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBULLR, "fcbullr", "fcbullr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbgelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBGELR, "fcbgelr", "fcbgelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbltlr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBLTLR, "fcbltlr", "fcbltlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbugelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBUGELR, "fcbugelr", "fcbugelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbuglr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBUGLR, "fcbuglr", "fcbuglr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcblelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBLELR, "fcblelr", "fcblelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbgtlr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBGTLR, "fcbgtlr", "fcbgtlr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbulelr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBULELR, "fcbulelr", "fcbulelr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbulr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBULR, "fcbulr", "fcbulr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* fcbolr$pack $FCCi_2,$ccond,$hint */
{
FRV_INSN_FCBOLR, "fcbolr", "fcbolr", 32,
- { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
+ { 0|A(FR_ACCESS)|A(COND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_2, FR450_MAJOR_B_2, FR500_MAJOR_B_2, FR550_MAJOR_B_2 } }
},
/* jmpl$pack @($GRi,$GRj) */
{
FRV_INSN_JMPL, "jmpl", "jmpl", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* calll$pack @($GRi,$GRj) */
{
FRV_INSN_CALLL, "calll", "calll", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_NONE } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* jmpil$pack @($GRi,$s12) */
{
FRV_INSN_JMPIL, "jmpil", "jmpil", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* callil$pack @($GRi,$s12) */
{
FRV_INSN_CALLIL, "callil", "callil", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_NONE } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* call$pack $label24 */
{
FRV_INSN_CALL, "call", "call", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_4, FR500_MAJOR_B_4, FR550_MAJOR_B_4 } }
+ { 0|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_B0, FR400_MAJOR_B_4, FR450_MAJOR_B_4, FR500_MAJOR_B_4, FR550_MAJOR_B_4 } }
},
/* rett$pack $debug */
{
FRV_INSN_RETT, "rett", "rett", 32,
- { 0|A(PRIVILEGED)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0|A(PRIVILEGED)|A(UNCOND_CTI), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* rei$pack $eir */
{
FRV_INSN_REI, "rei", "rei", 32,
- { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_1, FR550_MAJOR_NONE } }
+ { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_1, FR550_MAJOR_NONE } }
},
/* tra$pack $GRi,$GRj */
{
FRV_INSN_TRA, "tra", "tra", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tno$pack */
{
FRV_INSN_TNO, "tno", "tno", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* teq$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TEQ, "teq", "teq", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tne$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TNE, "tne", "tne", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tle$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TLE, "tle", "tle", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tgt$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TGT, "tgt", "tgt", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tlt$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TLT, "tlt", "tlt", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tge$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TGE, "tge", "tge", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tls$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TLS, "tls", "tls", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* thi$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_THI, "thi", "thi", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tc$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TC, "tc", "tc", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tnc$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TNC, "tnc", "tnc", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tn$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TN, "tn", "tn", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tp$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TP, "tp", "tp", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tv$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TV, "tv", "tv", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tnv$pack $ICCi_2,$GRi,$GRj */
{
FRV_INSN_TNV, "tnv", "tnv", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftra$pack $GRi,$GRj */
{
FRV_INSN_FTRA, "ftra", "ftra", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftno$pack */
{
FRV_INSN_FTNO, "ftno", "ftno", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftne$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTNE, "ftne", "ftne", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* fteq$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTEQ, "fteq", "fteq", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftlg$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTLG, "ftlg", "ftlg", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftue$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTUE, "ftue", "ftue", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftul$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTUL, "ftul", "ftul", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftge$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTGE, "ftge", "ftge", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftlt$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTLT, "ftlt", "ftlt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftuge$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTUGE, "ftuge", "ftuge", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftug$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTUG, "ftug", "ftug", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftle$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTLE, "ftle", "ftle", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftgt$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTGT, "ftgt", "ftgt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftule$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTULE, "ftule", "ftule", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftu$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTU, "ftu", "ftu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* fto$pack $FCCi_2,$GRi,$GRj */
{
FRV_INSN_FTO, "fto", "fto", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tira$pack $GRi,$s12 */
{
FRV_INSN_TIRA, "tira", "tira", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tino$pack */
{
FRV_INSN_TINO, "tino", "tino", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tieq$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIEQ, "tieq", "tieq", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tine$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TINE, "tine", "tine", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tile$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TILE, "tile", "tile", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tigt$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIGT, "tigt", "tigt", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tilt$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TILT, "tilt", "tilt", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tige$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIGE, "tige", "tige", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tils$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TILS, "tils", "tils", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tihi$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIHI, "tihi", "tihi", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tic$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIC, "tic", "tic", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tinc$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TINC, "tinc", "tinc", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tin$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIN, "tin", "tin", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tip$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIP, "tip", "tip", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tiv$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TIV, "tiv", "tiv", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* tinv$pack $ICCi_2,$GRi,$s12 */
{
FRV_INSN_TINV, "tinv", "tinv", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftira$pack $GRi,$s12 */
{
FRV_INSN_FTIRA, "ftira", "ftira", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftino$pack */
{
FRV_INSN_FTINO, "ftino", "ftino", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftine$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTINE, "ftine", "ftine", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftieq$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIEQ, "ftieq", "ftieq", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftilg$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTILG, "ftilg", "ftilg", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiue$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIUE, "ftiue", "ftiue", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiul$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIUL, "ftiul", "ftiul", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftige$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIGE, "ftige", "ftige", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftilt$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTILT, "ftilt", "ftilt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiuge$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIUGE, "ftiuge", "ftiuge", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiug$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIUG, "ftiug", "ftiug", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftile$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTILE, "ftile", "ftile", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftigt$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIGT, "ftigt", "ftigt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiule$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIULE, "ftiule", "ftiule", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftiu$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIU, "ftiu", "ftiu", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* ftio$pack $FCCi_2,$GRi,$s12 */
{
FRV_INSN_FTIO, "ftio", "ftio", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* break$pack */
{
FRV_INSN_BREAK, "break", "break", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* mtrap$pack */
{
FRV_INSN_MTRAP, "mtrap", "mtrap", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_1, FR450_MAJOR_C_1, FR500_MAJOR_C_1, FR550_MAJOR_C_1 } }
},
/* andcr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_ANDCR, "andcr", "andcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* orcr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_ORCR, "orcr", "orcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* xorcr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_XORCR, "xorcr", "xorcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* nandcr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_NANDCR, "nandcr", "nandcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* norcr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_NORCR, "norcr", "norcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* andncr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_ANDNCR, "andncr", "andncr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* orncr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_ORNCR, "orncr", "orncr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* nandncr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_NANDNCR, "nandncr", "nandncr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* norncr$pack $CRi,$CRj,$CRk */
{
FRV_INSN_NORNCR, "norncr", "norncr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* notcr$pack $CRj,$CRk */
{
FRV_INSN_NOTCR, "notcr", "notcr", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_6, FR450_MAJOR_B_6, FR500_MAJOR_B_6, FR550_MAJOR_B_6 } }
},
/* ckra$pack $CRj_int */
{
FRV_INSN_CKRA, "ckra", "ckra", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckno$pack $CRj_int */
{
FRV_INSN_CKNO, "ckno", "ckno", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckeq$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKEQ, "ckeq", "ckeq", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckne$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKNE, "ckne", "ckne", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckle$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKLE, "ckle", "ckle", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckgt$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKGT, "ckgt", "ckgt", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cklt$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKLT, "cklt", "cklt", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckge$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKGE, "ckge", "ckge", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckls$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKLS, "ckls", "ckls", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckhi$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKHI, "ckhi", "ckhi", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckc$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKC, "ckc", "ckc", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cknc$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKNC, "cknc", "cknc", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckn$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKN, "ckn", "ckn", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckp$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKP, "ckp", "ckp", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ckv$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKV, "ckv", "ckv", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cknv$pack $ICCi_3,$CRj_int */
{
FRV_INSN_CKNV, "cknv", "cknv", 32,
- { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0, { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckra$pack $CRj_float */
{
FRV_INSN_FCKRA, "fckra", "fckra", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckno$pack $CRj_float */
{
FRV_INSN_FCKNO, "fckno", "fckno", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckne$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKNE, "fckne", "fckne", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckeq$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKEQ, "fckeq", "fckeq", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fcklg$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKLG, "fcklg", "fcklg", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckue$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKUE, "fckue", "fckue", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckul$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKUL, "fckul", "fckul", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckge$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKGE, "fckge", "fckge", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fcklt$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKLT, "fcklt", "fcklt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckuge$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKUGE, "fckuge", "fckuge", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckug$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKUG, "fckug", "fckug", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckle$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKLE, "fckle", "fckle", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckgt$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKGT, "fckgt", "fckgt", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fckule$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKULE, "fckule", "fckule", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fcku$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKU, "fcku", "fcku", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* fcko$pack $FCCi_3,$CRj_float */
{
FRV_INSN_FCKO, "fcko", "fcko", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckra$pack $CRj_int,$CCi,$cond */
{
FRV_INSN_CCKRA, "cckra", "cckra", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckno$pack $CRj_int,$CCi,$cond */
{
FRV_INSN_CCKNO, "cckno", "cckno", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckeq$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKEQ, "cckeq", "cckeq", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckne$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKNE, "cckne", "cckne", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckle$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKLE, "cckle", "cckle", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckgt$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKGT, "cckgt", "cckgt", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ccklt$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKLT, "ccklt", "ccklt", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckge$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKGE, "cckge", "cckge", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckls$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKLS, "cckls", "cckls", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckhi$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKHI, "cckhi", "cckhi", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckc$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKC, "cckc", "cckc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ccknc$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKNC, "ccknc", "ccknc", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckn$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKN, "cckn", "cckn", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckp$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKP, "cckp", "cckp", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cckv$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKV, "cckv", "cckv", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* ccknv$pack $ICCi_3,$CRj_int,$CCi,$cond */
{
FRV_INSN_CCKNV, "ccknv", "ccknv", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckra$pack $CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKRA, "cfckra", "cfckra", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckno$pack $CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKNO, "cfckno", "cfckno", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckne$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKNE, "cfckne", "cfckne", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckeq$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKEQ, "cfckeq", "cfckeq", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfcklg$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKLG, "cfcklg", "cfcklg", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckue$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKUE, "cfckue", "cfckue", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckul$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKUL, "cfckul", "cfckul", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckge$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKGE, "cfckge", "cfckge", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfcklt$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKLT, "cfcklt", "cfcklt", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckuge$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKUGE, "cfckuge", "cfckuge", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckug$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKUG, "cfckug", "cfckug", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckle$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKLE, "cfckle", "cfckle", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckgt$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKGT, "cfckgt", "cfckgt", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfckule$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKULE, "cfckule", "cfckule", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfcku$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKU, "cfcku", "cfcku", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cfcko$pack $FCCi_3,$CRj_float,$CCi,$cond */
{
FRV_INSN_CFCKO, "cfcko", "cfcko", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_5, FR450_MAJOR_B_5, FR500_MAJOR_B_5, FR550_MAJOR_B_5 } }
},
/* cjmpl$pack @($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CJMPL, "cjmpl", "cjmpl", 32,
- { 0|A(CONDITIONAL)|A(COND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
+ { 0|A(CONDITIONAL)|A(COND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* ccalll$pack @($GRi,$GRj),$CCi,$cond */
{
FRV_INSN_CCALLL, "ccalll", "ccalll", 32,
- { 0|A(CONDITIONAL)|A(COND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL)|A(COND_CTI), { (1<<MACH_BASE), UNIT_I0, FR400_MAJOR_I_5, FR450_MAJOR_I_5, FR500_MAJOR_I_5, FR550_MAJOR_I_6 } }
},
/* ici$pack @($GRi,$GRj) */
{
FRV_INSN_ICI, "ici", "ici", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* dci$pack @($GRi,$GRj) */
{
FRV_INSN_DCI, "dci", "dci", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* icei$pack @($GRi,$GRj),$ae */
{
FRV_INSN_ICEI, "icei", "icei", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
},
/* dcei$pack @($GRi,$GRj),$ae */
{
FRV_INSN_DCEI, "dcei", "dcei", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
},
/* dcf$pack @($GRi,$GRj) */
{
FRV_INSN_DCF, "dcf", "dcf", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* dcef$pack @($GRi,$GRj),$ae */
{
FRV_INSN_DCEF, "dcef", "dcef", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_C_2 } }
},
/* witlb$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_WITLB, "witlb", "witlb", 32,
- { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* wdtlb$pack $GRk,@($GRi,$GRj) */
{
FRV_INSN_WDTLB, "wdtlb", "wdtlb", 32,
- { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* itlbi$pack @($GRi,$GRj) */
{
FRV_INSN_ITLBI, "itlbi", "itlbi", 32,
- { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* dtlbi$pack @($GRi,$GRj) */
{
FRV_INSN_DTLBI, "dtlbi", "dtlbi", 32,
- { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0|A(PRIVILEGED), { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* icpl$pack $GRi,$GRj,$lock */
{
FRV_INSN_ICPL, "icpl", "icpl", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* dcpl$pack $GRi,$GRj,$lock */
{
FRV_INSN_DCPL, "dcpl", "dcpl", 32,
- { 0, { (1<<MACH_BASE), UNIT_DCPL, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_I_8 } }
+ { 0, { (1<<MACH_BASE), UNIT_DCPL, FR400_MAJOR_C_2, FR450_MAJOR_I_2, FR500_MAJOR_C_2, FR550_MAJOR_I_8 } }
},
/* icul$pack $GRi */
{
FRV_INSN_ICUL, "icul", "icul", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* dcul$pack $GRi */
{
FRV_INSN_DCUL, "dcul", "dcul", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* bar$pack */
{
FRV_INSN_BAR, "bar", "bar", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
},
/* membar$pack */
{
FRV_INSN_MEMBAR, "membar", "membar", 32,
- { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_C, FR400_MAJOR_C_2, FR450_MAJOR_C_2, FR500_MAJOR_C_2, FR550_MAJOR_C_2 } }
+ },
+/* lrai$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+ {
+ FRV_INSN_LRAI, "lrai", "lrai", 32,
+ { 0, { (1<<MACH_FR450), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ },
+/* lrad$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+ {
+ FRV_INSN_LRAD, "lrad", "lrad", 32,
+ { 0, { (1<<MACH_FR450), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ },
+/* tlbpr$pack $GRi,$GRj,$TLBPRopx,$TLBPRL */
+ {
+ FRV_INSN_TLBPR, "tlbpr", "tlbpr", 32,
+ { 0, { (1<<MACH_FR450), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_C_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
{
FRV_INSN_COP1, "cop1", "cop1", 32,
- { 0, { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* cop2$pack $s6_1,$CPRi,$CPRj,$CPRk */
{
FRV_INSN_COP2, "cop2", "cop2", 32,
- { 0, { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_C, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_C_2, FR550_MAJOR_NONE } }
},
/* clrgr$pack $GRk */
{
FRV_INSN_CLRGR, "clrgr", "clrgr", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* clrfr$pack $FRk */
{
FRV_INSN_CLRFR, "clrfr", "clrfr", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* clrga$pack */
{
FRV_INSN_CLRGA, "clrga", "clrga", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* clrfa$pack */
{
FRV_INSN_CLRFA, "clrfa", "clrfa", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* commitgr$pack $GRk */
{
FRV_INSN_COMMITGR, "commitgr", "commitgr", 32,
- { 0, { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0, { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* commitfr$pack $FRk */
{
FRV_INSN_COMMITFR, "commitfr", "commitfr", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* commitga$pack */
{
FRV_INSN_COMMITGA, "commitga", "commitga", 32,
- { 0, { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0, { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* commitfa$pack */
{
FRV_INSN_COMMITFA, "commitfa", "commitfa", 32,
- { 0|A(FR_ACCESS), { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
+ { 0|A(FR_ACCESS), { (1<<MACH_FRV)|(1<<MACH_FR500)|(1<<MACH_FR550), UNIT_I01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_I_6, FR550_MAJOR_I_7 } }
},
/* fitos$pack $FRintj,$FRk */
{
FRV_INSN_FITOS, "fitos", "fitos", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fstoi$pack $FRj,$FRintk */
{
FRV_INSN_FSTOI, "fstoi", "fstoi", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fitod$pack $FRintj,$FRdoublek */
{
FRV_INSN_FITOD, "fitod", "fitod", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fdtoi$pack $FRdoublej,$FRintk */
{
FRV_INSN_FDTOI, "fdtoi", "fdtoi", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fditos$pack $FRintj,$FRk */
{
FRV_INSN_FDITOS, "fditos", "fditos", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fdstoi$pack $FRj,$FRintk */
{
FRV_INSN_FDSTOI, "fdstoi", "fdstoi", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* nfditos$pack $FRintj,$FRk */
{
FRV_INSN_NFDITOS, "nfditos", "nfditos", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* nfdstoi$pack $FRj,$FRintk */
{
FRV_INSN_NFDSTOI, "nfdstoi", "nfdstoi", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* cfitos$pack $FRintj,$FRk,$CCi,$cond */
{
FRV_INSN_CFITOS, "cfitos", "cfitos", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* cfstoi$pack $FRj,$FRintk,$CCi,$cond */
{
FRV_INSN_CFSTOI, "cfstoi", "cfstoi", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* nfitos$pack $FRintj,$FRk */
{
FRV_INSN_NFITOS, "nfitos", "nfitos", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* nfstoi$pack $FRj,$FRintk */
{
FRV_INSN_NFSTOI, "nfstoi", "nfstoi", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fmovs$pack $FRj,$FRk */
{
FRV_INSN_FMOVS, "fmovs", "fmovs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fmovd$pack $FRdoublej,$FRdoublek */
{
FRV_INSN_FMOVD, "fmovd", "fmovd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fdmovs$pack $FRj,$FRk */
{
FRV_INSN_FDMOVS, "fdmovs", "fdmovs", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* cfmovs$pack $FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMOVS, "cfmovs", "cfmovs", 32,
- { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0|A(FR_ACCESS)|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fnegs$pack $FRj,$FRk */
{
FRV_INSN_FNEGS, "fnegs", "fnegs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fnegd$pack $FRdoublej,$FRdoublek */
{
FRV_INSN_FNEGD, "fnegd", "fnegd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fdnegs$pack $FRj,$FRk */
{
FRV_INSN_FDNEGS, "fdnegs", "fdnegs", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* cfnegs$pack $FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFNEGS, "cfnegs", "cfnegs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fabss$pack $FRj,$FRk */
{
FRV_INSN_FABSS, "fabss", "fabss", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fabsd$pack $FRdoublej,$FRdoublek */
{
FRV_INSN_FABSD, "fabsd", "fabsd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* fdabss$pack $FRj,$FRk */
{
FRV_INSN_FDABSS, "fdabss", "fdabss", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_NONE } }
},
/* cfabss$pack $FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFABSS, "cfabss", "cfabss", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_1, FR550_MAJOR_F_2 } }
},
/* fsqrts$pack $FRj,$FRk */
{
FRV_INSN_FSQRTS, "fsqrts", "fsqrts", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* fdsqrts$pack $FRj,$FRk */
{
FRV_INSN_FDSQRTS, "fdsqrts", "fdsqrts", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
},
/* nfdsqrts$pack $FRj,$FRk */
{
FRV_INSN_NFDSQRTS, "nfdsqrts", "nfdsqrts", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
},
/* fsqrtd$pack $FRdoublej,$FRdoublek */
{
FRV_INSN_FSQRTD, "fsqrtd", "fsqrtd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
},
/* cfsqrts$pack $FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFSQRTS, "cfsqrts", "cfsqrts", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* nfsqrts$pack $FRj,$FRk */
{
FRV_INSN_NFSQRTS, "nfsqrts", "nfsqrts", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* fadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FADDS, "fadds", "fadds", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* fsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FSUBS, "fsubs", "fsubs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* fmuls$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMULS, "fmuls", "fmuls", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
},
/* fdivs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDIVS, "fdivs", "fdivs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* faddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FADDD, "faddd", "faddd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
},
/* fsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FSUBD, "fsubd", "fsubd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
},
/* fmuld$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FMULD, "fmuld", "fmuld", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_NONE } }
},
/* fdivd$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FDIVD, "fdivd", "fdivd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_NONE } }
},
/* cfadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFADDS, "cfadds", "cfadds", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* cfsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFSUBS, "cfsubs", "cfsubs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* cfmuls$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMULS, "cfmuls", "cfmuls", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
},
/* cfdivs$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFDIVS, "cfdivs", "cfdivs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* nfadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFADDS, "nfadds", "nfadds", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* nfsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFSUBS, "nfsubs", "nfsubs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* nfmuls$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFMULS, "nfmuls", "nfmuls", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_3, FR550_MAJOR_F_3 } }
},
/* nfdivs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDIVS, "nfdivs", "nfdivs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_4, FR550_MAJOR_F_3 } }
},
/* fcmps$pack $FRi,$FRj,$FCCi_2 */
{
FRV_INSN_FCMPS, "fcmps", "fcmps", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* fcmpd$pack $FRdoublei,$FRdoublej,$FCCi_2 */
{
FRV_INSN_FCMPD, "fcmpd", "fcmpd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_NONE } }
},
/* cfcmps$pack $FRi,$FRj,$FCCi_2,$CCi,$cond */
{
FRV_INSN_CFCMPS, "cfcmps", "cfcmps", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_2, FR550_MAJOR_F_2 } }
},
/* fdcmps$pack $FRi,$FRj,$FCCi_2 */
{
FRV_INSN_FDCMPS, "fdcmps", "fdcmps", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* fmadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMADDS, "fmadds", "fmadds", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fmsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMSUBS, "fmsubs", "fmsubs", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fmaddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FMADDD, "fmaddd", "fmaddd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fmsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
{
FRV_INSN_FMSUBD, "fmsubd", "fmsubd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fdmadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDMADDS, "fdmadds", "fdmadds", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfdmadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDMADDS, "nfdmadds", "nfdmadds", 32,
- { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* cfmadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMADDS, "cfmadds", "cfmadds", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* cfmsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMSUBS, "cfmsubs", "cfmsubs", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfmadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFMADDS, "nfmadds", "nfmadds", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfmsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFMSUBS, "nfmsubs", "nfmsubs", 32,
- { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0|A(NON_EXCEPTING), { (1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fmas$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMAS, "fmas", "fmas", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* fmss$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMSS, "fmss", "fmss", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* fdmas$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDMAS, "fdmas", "fdmas", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fdmss$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDMSS, "fdmss", "fdmss", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfdmas$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDMAS, "nfdmas", "nfdmas", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfdmss$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDMSS, "nfdmss", "nfdmss", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* cfmas$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMAS, "cfmas", "cfmas", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* cfmss$pack $FRi,$FRj,$FRk,$CCi,$cond */
{
FRV_INSN_CFMSS, "cfmss", "cfmss", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* fmad$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMAD, "fmad", "fmad", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* fmsd$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FMSD, "fmsd", "fmsd", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_NONE } }
},
/* nfmas$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFMAS, "nfmas", "nfmas", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* nfmss$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFMSS, "nfmss", "nfmss", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_5, FR550_MAJOR_F_4 } }
},
/* fdadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDADDS, "fdadds", "fdadds", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* fdsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDSUBS, "fdsubs", "fdsubs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* fdmuls$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDMULS, "fdmuls", "fdmuls", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
},
/* fddivs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDDIVS, "fddivs", "fddivs", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_NONE } }
},
/* fdsads$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDSADS, "fdsads", "fdsads", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* fdmulcs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_FDMULCS, "fdmulcs", "fdmulcs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
},
/* nfdmulcs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDMULCS, "nfdmulcs", "nfdmulcs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
},
/* nfdadds$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDADDS, "nfdadds", "nfdadds", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* nfdsubs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDSUBS, "nfdsubs", "nfdsubs", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* nfdmuls$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDMULS, "nfdmuls", "nfdmuls", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_F_4 } }
},
/* nfddivs$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDDIVS, "nfddivs", "nfddivs", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_7, FR550_MAJOR_NONE } }
},
/* nfdsads$pack $FRi,$FRj,$FRk */
{
FRV_INSN_NFDSADS, "nfdsads", "nfdsads", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_F_4 } }
},
/* nfdcmps$pack $FRi,$FRj,$FCCi_2 */
{
FRV_INSN_NFDCMPS, "nfdcmps", "nfdcmps", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_6, FR550_MAJOR_NONE } }
},
/* mhsetlos$pack $u12,$FRklo */
{
FRV_INSN_MHSETLOS, "mhsetlos", "mhsetlos", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mhsethis$pack $u12,$FRkhi */
{
FRV_INSN_MHSETHIS, "mhsethis", "mhsethis", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mhdsets$pack $u12,$FRintk */
{
FRV_INSN_MHDSETS, "mhdsets", "mhdsets", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mhsetloh$pack $s5,$FRklo */
{
FRV_INSN_MHSETLOH, "mhsetloh", "mhsetloh", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mhsethih$pack $s5,$FRkhi */
{
FRV_INSN_MHSETHIH, "mhsethih", "mhsethih", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mhdseth$pack $s5,$FRintk */
{
FRV_INSN_MHDSETH, "mhdseth", "mhdseth", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_5 } }
},
/* mand$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MAND, "mand", "mand", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mor$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MOR, "mor", "mor", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mxor$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MXOR, "mxor", "mxor", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmand$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMAND, "cmand", "cmand", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMOR, "cmor", "cmor", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmxor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMXOR, "cmxor", "cmxor", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mnot$pack $FRintj,$FRintk */
{
FRV_INSN_MNOT, "mnot", "mnot", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmnot$pack $FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMNOT, "cmnot", "cmnot", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mrotli$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MROTLI, "mrotli", "mrotli", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mrotri$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MROTRI, "mrotri", "mrotri", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mwcut$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MWCUT, "mwcut", "mwcut", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mwcuti$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MWCUTI, "mwcuti", "mwcuti", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mcut$pack $ACC40Si,$FRintj,$FRintk */
{
FRV_INSN_MCUT, "mcut", "mcut", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mcuti$pack $ACC40Si,$s6,$FRintk */
{
FRV_INSN_MCUTI, "mcuti", "mcuti", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_5, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mcutss$pack $ACC40Si,$FRintj,$FRintk */
{
FRV_INSN_MCUTSS, "mcutss", "mcutss", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mcutssi$pack $ACC40Si,$s6,$FRintk */
{
FRV_INSN_MCUTSSI, "mcutssi", "mcutssi", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_5, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mdcutssi$pack $ACC40Si,$s6,$FRintkeven */
{
FRV_INSN_MDCUTSSI, "mdcutssi", "mdcutssi", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_MDCUTSSI, FR400_MAJOR_M_2, FR450_MAJOR_M_6, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
},
/* maveh$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MAVEH, "maveh", "maveh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* msllhi$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MSLLHI, "msllhi", "msllhi", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* msrlhi$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MSRLHI, "msrlhi", "msrlhi", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* msrahi$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MSRAHI, "msrahi", "msrahi", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mdrotli$pack $FRintieven,$s6,$FRintkeven */
{
FRV_INSN_MDROTLI, "mdrotli", "mdrotli", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
},
/* mcplhi$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MCPLHI, "mcplhi", "mcplhi", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
},
/* mcpli$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MCPLI, "mcpli", "mcpli", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMLOW, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_3 } }
},
/* msaths$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MSATHS, "msaths", "msaths", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mqsaths$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MQSATHS, "mqsaths", "mqsaths", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_2 } }
},
/* msathu$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MSATHU, "msathu", "msathu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mcmpsh$pack $FRinti,$FRintj,$FCCk */
{
FRV_INSN_MCMPSH, "mcmpsh", "mcmpsh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mcmpuh$pack $FRinti,$FRintj,$FCCk */
{
FRV_INSN_MCMPUH, "mcmpuh", "mcmpuh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mabshs$pack $FRintj,$FRintk */
{
FRV_INSN_MABSHS, "mabshs", "mabshs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_2 } }
},
/* maddhss$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MADDHSS, "maddhss", "maddhss", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* maddhus$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MADDHUS, "maddhus", "maddhus", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* msubhss$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MSUBHSS, "msubhss", "msubhss", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* msubhus$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MSUBHUS, "msubhus", "msubhus", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmaddhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMADDHSS, "cmaddhss", "cmaddhss", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmaddhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMADDHUS, "cmaddhus", "cmaddhus", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmsubhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMSUBHSS, "cmsubhss", "cmsubhss", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmsubhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMSUBHUS, "cmsubhus", "cmsubhus", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MQADDHSS, "mqaddhss", "mqaddhss", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MQADDHUS, "mqaddhus", "mqaddhus", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MQSUBHSS, "mqsubhss", "mqsubhss", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* mqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MQSUBHUS, "mqsubhus", "mqsubhus", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMQADDHSS, "cmqaddhss", "cmqaddhss", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMQADDHUS, "cmqaddhus", "cmqaddhus", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMQSUBHSS, "cmqsubhss", "cmqsubhss", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
},
/* cmqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMQSUBHUS, "cmqsubhus", "cmqsubhus", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_1, FR550_MAJOR_M_2 } }
+ },
+/* mqlclrhs$pack $FRintieven,$FRintjeven,$FRintkeven */
+ {
+ FRV_INSN_MQLCLRHS, "mqlclrhs", "mqlclrhs", 32,
+ { 0, { (1<<MACH_FR450), UNIT_FM0, FR400_MAJOR_NONE, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ },
+/* mqlmths$pack $FRintieven,$FRintjeven,$FRintkeven */
+ {
+ FRV_INSN_MQLMTHS, "mqlmths", "mqlmths", 32,
+ { 0, { (1<<MACH_FR450), UNIT_FM0, FR400_MAJOR_NONE, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ },
+/* mqsllhi$pack $FRintieven,$u6,$FRintkeven */
+ {
+ FRV_INSN_MQSLLHI, "mqsllhi", "mqsllhi", 32,
+ { 0, { (1<<MACH_FR450), UNIT_FM0, FR400_MAJOR_NONE, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ },
+/* mqsrahi$pack $FRintieven,$u6,$FRintkeven */
+ {
+ FRV_INSN_MQSRAHI, "mqsrahi", "mqsrahi", 32,
+ { 0, { (1<<MACH_FR450), UNIT_FM0, FR400_MAJOR_NONE, FR450_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* maddaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MADDACCS, "maddaccs", "maddaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* msubaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MSUBACCS, "msubaccs", "msubaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mdaddaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MDADDACCS, "mdaddaccs", "mdaddaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mdsubaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MDSUBACCS, "mdsubaccs", "mdsubaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* masaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MASACCS, "masaccs", "masaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mdasaccs$pack $ACC40Si,$ACC40Sk */
{
FRV_INSN_MDASACCS, "mdasaccs", "mdasaccs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mmulhs$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMULHS, "mmulhs", "mmulhs", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmulhu$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMULHU, "mmulhu", "mmulhu", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmulxhs$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMULXHS, "mmulxhs", "mmulxhs", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmulxhu$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMULXHU, "mmulxhu", "mmulxhu", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmmulhs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMMULHS, "cmmulhs", "cmmulhs", 32,
- { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmmulhu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMMULHU, "cmmulhu", "cmmulhu", 32,
- { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMULHS, "mqmulhs", "mqmulhs", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMULHU, "mqmulhu", "mqmulhu", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmulxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMULXHS, "mqmulxhs", "mqmulxhs", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmulxhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMULXHU, "mqmulxhu", "mqmulxhu", 32,
- { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMQMULHS, "cmqmulhs", "cmqmulhs", 32,
- { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMQMULHU, "cmqmulhu", "cmqmulhu", 32,
- { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL)|A(PRESERVE_OVF), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmachs$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMACHS, "mmachs", "mmachs", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmachu$pack $FRinti,$FRintj,$ACC40Uk */
{
FRV_INSN_MMACHU, "mmachu", "mmachu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmrdhs$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MMRDHS, "mmrdhs", "mmrdhs", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mmrdhu$pack $FRinti,$FRintj,$ACC40Uk */
{
FRV_INSN_MMRDHU, "mmrdhu", "mmrdhu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmmachs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMMACHS, "cmmachs", "cmmachs", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmmachu$pack $FRinti,$FRintj,$ACC40Uk,$CCi,$cond */
{
FRV_INSN_CMMACHU, "cmmachu", "cmmachu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMACHS, "mqmachs", "mqmachs", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk */
{
FRV_INSN_MQMACHU, "mqmachu", "mqmachu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMQMACHS, "cmqmachs", "cmqmachs", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk,$CCi,$cond */
{
FRV_INSN_CMQMACHU, "cmqmachu", "cmqmachu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqxmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQXMACHS, "mqxmachs", "mqxmachs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mqxmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQXMACXHS, "mqxmacxhs", "mqxmacxhs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mqmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQMACXHS, "mqmacxhs", "mqmacxhs", 32,
- { 0, { (1<<MACH_FR400)|(1<<MACH_FR550), UNIT_MDUALACC, FR400_MAJOR_M_2, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_FR400)|(1<<MACH_FR450)|(1<<MACH_FR550), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_NONE, FR550_MAJOR_M_4 } }
},
/* mcpxrs$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MCPXRS, "mcpxrs", "mcpxrs", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mcpxru$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MCPXRU, "mcpxru", "mcpxru", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mcpxis$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MCPXIS, "mcpxis", "mcpxis", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mcpxiu$pack $FRinti,$FRintj,$ACC40Sk */
{
FRV_INSN_MCPXIU, "mcpxiu", "mcpxiu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmcpxrs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMCPXRS, "cmcpxrs", "cmcpxrs", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmcpxru$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMCPXRU, "cmcpxru", "cmcpxru", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmcpxis$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMCPXIS, "cmcpxis", "cmcpxis", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* cmcpxiu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
{
FRV_INSN_CMCPXIU, "cmcpxiu", "cmcpxiu", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqcpxrs$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQCPXRS, "mqcpxrs", "mqcpxrs", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqcpxru$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQCPXRU, "mqcpxru", "mqcpxru", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqcpxis$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQCPXIS, "mqcpxis", "mqcpxis", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mqcpxiu$pack $FRintieven,$FRintjeven,$ACC40Sk */
{
FRV_INSN_MQCPXIU, "mqcpxiu", "mqcpxiu", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_4, FR550_MAJOR_M_4 } }
},
/* mexpdhw$pack $FRinti,$u6,$FRintk */
{
FRV_INSN_MEXPDHW, "mexpdhw", "mexpdhw", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* cmexpdhw$pack $FRinti,$u6,$FRintk,$CCi,$cond */
{
FRV_INSN_CMEXPDHW, "cmexpdhw", "cmexpdhw", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mexpdhd$pack $FRinti,$u6,$FRintkeven */
{
FRV_INSN_MEXPDHD, "mexpdhd", "mexpdhd", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* cmexpdhd$pack $FRinti,$u6,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMEXPDHD, "cmexpdhd", "cmexpdhd", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mpackh$pack $FRinti,$FRintj,$FRintk */
{
FRV_INSN_MPACKH, "mpackh", "mpackh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mdpackh$pack $FRintieven,$FRintjeven,$FRintkeven */
{
FRV_INSN_MDPACKH, "mdpackh", "mdpackh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_5, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_5, FR550_MAJOR_M_3 } }
},
/* munpackh$pack $FRinti,$FRintkeven */
{
FRV_INSN_MUNPACKH, "munpackh", "munpackh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mdunpackh$pack $FRintieven,$FRintk */
{
FRV_INSN_MDUNPACKH, "mdunpackh", "mdunpackh", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
},
/* mbtoh$pack $FRintj,$FRintkeven */
{
FRV_INSN_MBTOH, "mbtoh", "mbtoh", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* cmbtoh$pack $FRintj,$FRintkeven,$CCi,$cond */
{
FRV_INSN_CMBTOH, "cmbtoh", "cmbtoh", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mhtob$pack $FRintjeven,$FRintk */
{
FRV_INSN_MHTOB, "mhtob", "mhtob", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* cmhtob$pack $FRintjeven,$FRintk,$CCi,$cond */
{
FRV_INSN_CMHTOB, "cmhtob", "cmhtob", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0|A(CONDITIONAL), { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_2, FR450_MAJOR_M_2, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mbtohe$pack $FRintj,$FRintk */
{
FRV_INSN_MBTOHE, "mbtohe", "mbtohe", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
},
/* cmbtohe$pack $FRintj,$FRintk,$CCi,$cond */
{
FRV_INSN_CMBTOHE, "cmbtohe", "cmbtohe", 32,
- { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL), { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_M_7, FR550_MAJOR_NONE } }
},
/* mnop$pack */
{
FRV_INSN_MNOP, "mnop", "mnop", 32,
- { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_1 } }
+ { 0, { (1<<MACH_BASE), UNIT_FMALL, FR400_MAJOR_M_1, FR450_MAJOR_M_1, FR500_MAJOR_M_1, FR550_MAJOR_M_1 } }
},
/* mclracc$pack $ACC40Sk,$A0 */
{
FRV_INSN_MCLRACC_0, "mclracc-0", "mclracc", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
},
/* mclracc$pack $ACC40Sk,$A1 */
{
FRV_INSN_MCLRACC_1, "mclracc-1", "mclracc", 32,
- { 0, { (1<<MACH_BASE), UNIT_MCLRACC_1, FR400_MAJOR_M_2, FR500_MAJOR_M_6, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_MCLRACC_1, FR400_MAJOR_M_2, FR450_MAJOR_M_4, FR500_MAJOR_M_6, FR550_MAJOR_M_3 } }
},
/* mrdacc$pack $ACC40Si,$FRintk */
{
FRV_INSN_MRDACC, "mrdacc", "mrdacc", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_5, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mrdaccg$pack $ACCGi,$FRintk */
{
FRV_INSN_MRDACCG, "mrdaccg", "mrdaccg", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_5, FR500_MAJOR_M_2, FR550_MAJOR_M_3 } }
},
/* mwtacc$pack $FRinti,$ACC40Sk */
{
FRV_INSN_MWTACC, "mwtacc", "mwtacc", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
},
/* mwtaccg$pack $FRinti,$ACCGk */
{
FRV_INSN_MWTACCG, "mwtaccg", "mwtaccg", 32,
- { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
+ { 0, { (1<<MACH_BASE), UNIT_FM01, FR400_MAJOR_M_1, FR450_MAJOR_M_3, FR500_MAJOR_M_3, FR550_MAJOR_M_3 } }
},
/* mcop1$pack $FRi,$FRj,$FRk */
{
FRV_INSN_MCOP1, "mcop1", "mcop1", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_M_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_M_1, FR550_MAJOR_NONE } }
},
/* mcop2$pack $FRi,$FRj,$FRk */
{
FRV_INSN_MCOP2, "mcop2", "mcop2", 32,
- { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR500_MAJOR_M_1, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FRV), UNIT_FM01, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_M_1, FR550_MAJOR_NONE } }
},
/* fnop$pack */
{
FRV_INSN_FNOP, "fnop", "fnop", 32,
- { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR500_MAJOR_F_8, FR550_MAJOR_F_1 } }
+ { 0, { (1<<MACH_SIMPLE)|(1<<MACH_TOMCAT)|(1<<MACH_FR500)|(1<<MACH_FR550)|(1<<MACH_FRV), UNIT_FMALL, FR400_MAJOR_NONE, FR450_MAJOR_NONE, FR500_MAJOR_F_8, FR550_MAJOR_F_1 } }
},
};
diff --git a/opcodes/frv-desc.h b/opcodes/frv-desc.h
index f46c3f9..5a11f8d 100644
--- a/opcodes/frv-desc.h
+++ b/opcodes/frv-desc.h
@@ -292,7 +292,8 @@ typedef enum spr_names {
, H_SPR_EIR23 = 663, H_SPR_EIR24 = 664, H_SPR_EIR25 = 665, H_SPR_EIR26 = 666
, H_SPR_EIR27 = 667, H_SPR_EIR28 = 668, H_SPR_EIR29 = 669, H_SPR_EIR30 = 670
, H_SPR_EIR31 = 671, H_SPR_ESFR0 = 672, H_SPR_ESFR1 = 673, H_SPR_SR0 = 768
- , H_SPR_SR1 = 769, H_SPR_SR2 = 770, H_SPR_SR3 = 771, H_SPR_FSR0 = 1024
+ , H_SPR_SR1 = 769, H_SPR_SR2 = 770, H_SPR_SR3 = 771, H_SPR_SCR0 = 832
+ , H_SPR_SCR1 = 833, H_SPR_SCR2 = 834, H_SPR_SCR3 = 835, H_SPR_FSR0 = 1024
, H_SPR_FSR1 = 1025, H_SPR_FSR2 = 1026, H_SPR_FSR3 = 1027, H_SPR_FSR4 = 1028
, H_SPR_FSR5 = 1029, H_SPR_FSR6 = 1030, H_SPR_FSR7 = 1031, H_SPR_FSR8 = 1032
, H_SPR_FSR9 = 1033, H_SPR_FSR10 = 1034, H_SPR_FSR11 = 1035, H_SPR_FSR12 = 1036
@@ -454,19 +455,22 @@ typedef enum spr_names {
, H_SPR_DAMPR55 = 1911, H_SPR_DAMPR56 = 1912, H_SPR_DAMPR57 = 1913, H_SPR_DAMPR58 = 1914
, H_SPR_DAMPR59 = 1915, H_SPR_DAMPR60 = 1916, H_SPR_DAMPR61 = 1917, H_SPR_DAMPR62 = 1918
, H_SPR_DAMPR63 = 1919, H_SPR_AMCR = 1920, H_SPR_STBAR = 1921, H_SPR_MMCR = 1922
- , H_SPR_DCR = 2048, H_SPR_BRR = 2049, H_SPR_NMAR = 2050, H_SPR_IBAR0 = 2052
- , H_SPR_IBAR1 = 2053, H_SPR_IBAR2 = 2054, H_SPR_IBAR3 = 2055, H_SPR_DBAR0 = 2056
- , H_SPR_DBAR1 = 2057, H_SPR_DBAR2 = 2058, H_SPR_DBAR3 = 2059, H_SPR_DBDR00 = 2060
- , H_SPR_DBDR01 = 2061, H_SPR_DBDR02 = 2062, H_SPR_DBDR03 = 2063, H_SPR_DBDR10 = 2064
- , H_SPR_DBDR11 = 2065, H_SPR_DBDR12 = 2066, H_SPR_DBDR13 = 2067, H_SPR_DBDR20 = 2068
- , H_SPR_DBDR21 = 2069, H_SPR_DBDR22 = 2070, H_SPR_DBDR23 = 2071, H_SPR_DBDR30 = 2072
- , H_SPR_DBDR31 = 2073, H_SPR_DBDR32 = 2074, H_SPR_DBDR33 = 2075, H_SPR_DBMR00 = 2076
- , H_SPR_DBMR01 = 2077, H_SPR_DBMR02 = 2078, H_SPR_DBMR03 = 2079, H_SPR_DBMR10 = 2080
- , H_SPR_DBMR11 = 2081, H_SPR_DBMR12 = 2082, H_SPR_DBMR13 = 2083, H_SPR_DBMR20 = 2084
- , H_SPR_DBMR21 = 2085, H_SPR_DBMR22 = 2086, H_SPR_DBMR23 = 2087, H_SPR_DBMR30 = 2088
- , H_SPR_DBMR31 = 2089, H_SPR_DBMR32 = 2090, H_SPR_DBMR33 = 2091, H_SPR_CPCFR = 2092
- , H_SPR_CPCR = 2093, H_SPR_CPSR = 2094, H_SPR_CPESR0 = 2096, H_SPR_CPESR1 = 2097
- , H_SPR_CPEMR0 = 2098, H_SPR_CPEMR1 = 2099, H_SPR_IHSR8 = 3848
+ , H_SPR_IAMVR1 = 1925, H_SPR_DAMVR1 = 1927, H_SPR_CXNR = 1936, H_SPR_TTBR = 1937
+ , H_SPR_TPLR = 1938, H_SPR_TPPR = 1939, H_SPR_TPXR = 1940, H_SPR_TIMERH = 1952
+ , H_SPR_TIMERL = 1953, H_SPR_TIMERD = 1954, H_SPR_DCR = 2048, H_SPR_BRR = 2049
+ , H_SPR_NMAR = 2050, H_SPR_BTBR = 2051, H_SPR_IBAR0 = 2052, H_SPR_IBAR1 = 2053
+ , H_SPR_IBAR2 = 2054, H_SPR_IBAR3 = 2055, H_SPR_DBAR0 = 2056, H_SPR_DBAR1 = 2057
+ , H_SPR_DBAR2 = 2058, H_SPR_DBAR3 = 2059, H_SPR_DBDR00 = 2060, H_SPR_DBDR01 = 2061
+ , H_SPR_DBDR02 = 2062, H_SPR_DBDR03 = 2063, H_SPR_DBDR10 = 2064, H_SPR_DBDR11 = 2065
+ , H_SPR_DBDR12 = 2066, H_SPR_DBDR13 = 2067, H_SPR_DBDR20 = 2068, H_SPR_DBDR21 = 2069
+ , H_SPR_DBDR22 = 2070, H_SPR_DBDR23 = 2071, H_SPR_DBDR30 = 2072, H_SPR_DBDR31 = 2073
+ , H_SPR_DBDR32 = 2074, H_SPR_DBDR33 = 2075, H_SPR_DBMR00 = 2076, H_SPR_DBMR01 = 2077
+ , H_SPR_DBMR02 = 2078, H_SPR_DBMR03 = 2079, H_SPR_DBMR10 = 2080, H_SPR_DBMR11 = 2081
+ , H_SPR_DBMR12 = 2082, H_SPR_DBMR13 = 2083, H_SPR_DBMR20 = 2084, H_SPR_DBMR21 = 2085
+ , H_SPR_DBMR22 = 2086, H_SPR_DBMR23 = 2087, H_SPR_DBMR30 = 2088, H_SPR_DBMR31 = 2089
+ , H_SPR_DBMR32 = 2090, H_SPR_DBMR33 = 2091, H_SPR_CPCFR = 2092, H_SPR_CPCR = 2093
+ , H_SPR_CPSR = 2094, H_SPR_CPESR0 = 2096, H_SPR_CPESR1 = 2097, H_SPR_CPEMR0 = 2098
+ , H_SPR_CPEMR1 = 2099, H_SPR_IHSR8 = 3848
} SPR_NAMES;
/* Enum declaration for . */
@@ -535,7 +539,8 @@ typedef enum cccr_names {
/* Enum declaration for machine type selection. */
typedef enum mach_attr {
MACH_BASE, MACH_FRV, MACH_FR550, MACH_FR500
- , MACH_FR400, MACH_TOMCAT, MACH_SIMPLE, MACH_MAX
+ , MACH_FR450, MACH_FR400, MACH_TOMCAT, MACH_SIMPLE
+ , MACH_MAX
} MACH_ATTR;
/* Enum declaration for instruction set selection. */
@@ -551,7 +556,7 @@ typedef enum unit_attr {
, UNIT_FMALL, UNIT_FMLOW, UNIT_B0, UNIT_B1
, UNIT_B01, UNIT_C, UNIT_MULT_DIV, UNIT_IACC
, UNIT_LOAD, UNIT_STORE, UNIT_SCAN, UNIT_DCPL
- , UNIT_MDUALACC, UNIT_MCLRACC_1, UNIT_NUM_UNITS
+ , UNIT_MDUALACC, UNIT_MDCUTSSI, UNIT_MCLRACC_1, UNIT_NUM_UNITS
} UNIT_ATTR;
/* Enum declaration for fr400 major insn categories. */
@@ -562,6 +567,15 @@ typedef enum fr400_major_attr {
, FR400_MAJOR_C_1, FR400_MAJOR_C_2, FR400_MAJOR_M_1, FR400_MAJOR_M_2
} FR400_MAJOR_ATTR;
+/* Enum declaration for fr450 major insn categories. */
+typedef enum fr450_major_attr {
+ FR450_MAJOR_NONE, FR450_MAJOR_I_1, FR450_MAJOR_I_2, FR450_MAJOR_I_3
+ , FR450_MAJOR_I_4, FR450_MAJOR_I_5, FR450_MAJOR_B_1, FR450_MAJOR_B_2
+ , FR450_MAJOR_B_3, FR450_MAJOR_B_4, FR450_MAJOR_B_5, FR450_MAJOR_B_6
+ , FR450_MAJOR_C_1, FR450_MAJOR_C_2, FR450_MAJOR_M_1, FR450_MAJOR_M_2
+ , FR450_MAJOR_M_3, FR450_MAJOR_M_4, FR450_MAJOR_M_5, FR450_MAJOR_M_6
+} FR450_MAJOR_ATTR;
+
/* Enum declaration for fr500 major insn categories. */
typedef enum fr500_major_attr {
FR500_MAJOR_NONE, FR500_MAJOR_I_1, FR500_MAJOR_I_2, FR500_MAJOR_I_3
@@ -623,15 +637,17 @@ typedef enum ifield_type {
, FRV_F_CCOND, FRV_F_HINT, FRV_F_LI, FRV_F_LOCK
, FRV_F_DEBUG, FRV_F_A, FRV_F_AE, FRV_F_SPR_H
, FRV_F_SPR_L, FRV_F_SPR, FRV_F_LABEL16, FRV_F_LABELH6
- , FRV_F_LABELL18, FRV_F_LABEL24, FRV_F_ICCI_1_NULL, FRV_F_ICCI_2_NULL
- , FRV_F_ICCI_3_NULL, FRV_F_FCCI_1_NULL, FRV_F_FCCI_2_NULL, FRV_F_FCCI_3_NULL
- , FRV_F_RS_NULL, FRV_F_GRI_NULL, FRV_F_GRJ_NULL, FRV_F_GRK_NULL
- , FRV_F_FRI_NULL, FRV_F_FRJ_NULL, FRV_F_ACCJ_NULL, FRV_F_RD_NULL
- , FRV_F_COND_NULL, FRV_F_CCOND_NULL, FRV_F_S12_NULL, FRV_F_LABEL16_NULL
- , FRV_F_MISC_NULL_1, FRV_F_MISC_NULL_2, FRV_F_MISC_NULL_3, FRV_F_MISC_NULL_4
- , FRV_F_MISC_NULL_5, FRV_F_MISC_NULL_6, FRV_F_MISC_NULL_7, FRV_F_MISC_NULL_8
- , FRV_F_MISC_NULL_9, FRV_F_MISC_NULL_10, FRV_F_MISC_NULL_11, FRV_F_LI_OFF
- , FRV_F_LI_ON, FRV_F_MAX
+ , FRV_F_LABELL18, FRV_F_LABEL24, FRV_F_LRAE, FRV_F_LRAD
+ , FRV_F_LRAS, FRV_F_TLBPROPX, FRV_F_TLBPRL, FRV_F_ICCI_1_NULL
+ , FRV_F_ICCI_2_NULL, FRV_F_ICCI_3_NULL, FRV_F_FCCI_1_NULL, FRV_F_FCCI_2_NULL
+ , FRV_F_FCCI_3_NULL, FRV_F_RS_NULL, FRV_F_GRI_NULL, FRV_F_GRJ_NULL
+ , FRV_F_GRK_NULL, FRV_F_FRI_NULL, FRV_F_FRJ_NULL, FRV_F_ACCJ_NULL
+ , FRV_F_RD_NULL, FRV_F_COND_NULL, FRV_F_CCOND_NULL, FRV_F_S12_NULL
+ , FRV_F_LABEL16_NULL, FRV_F_MISC_NULL_1, FRV_F_MISC_NULL_2, FRV_F_MISC_NULL_3
+ , FRV_F_MISC_NULL_4, FRV_F_MISC_NULL_5, FRV_F_MISC_NULL_6, FRV_F_MISC_NULL_7
+ , FRV_F_MISC_NULL_8, FRV_F_MISC_NULL_9, FRV_F_MISC_NULL_10, FRV_F_MISC_NULL_11
+ , FRV_F_LRA_NULL, FRV_F_TLBPR_NULL, FRV_F_LI_OFF, FRV_F_LI_ON
+ , FRV_F_MAX
} IFIELD_TYPE;
#define MAX_IFLD ((int) FRV_F_MAX)
@@ -696,16 +712,17 @@ typedef enum cgen_operand_type {
, FRV_OPERAND_U6, FRV_OPERAND_S5, FRV_OPERAND_COND, FRV_OPERAND_CCOND
, FRV_OPERAND_HINT, FRV_OPERAND_HINT_TAKEN, FRV_OPERAND_HINT_NOT_TAKEN, FRV_OPERAND_LI
, FRV_OPERAND_LOCK, FRV_OPERAND_DEBUG, FRV_OPERAND_AE, FRV_OPERAND_LABEL16
- , FRV_OPERAND_LABEL24, FRV_OPERAND_A0, FRV_OPERAND_A1, FRV_OPERAND_FRINTIEVEN
- , FRV_OPERAND_FRINTJEVEN, FRV_OPERAND_FRINTKEVEN, FRV_OPERAND_D12, FRV_OPERAND_S12
- , FRV_OPERAND_U12, FRV_OPERAND_SPR, FRV_OPERAND_ULO16, FRV_OPERAND_SLO16
- , FRV_OPERAND_UHI16, FRV_OPERAND_PSR_ESR, FRV_OPERAND_PSR_S, FRV_OPERAND_PSR_PS
- , FRV_OPERAND_PSR_ET, FRV_OPERAND_BPSR_BS, FRV_OPERAND_BPSR_BET, FRV_OPERAND_TBR_TBA
- , FRV_OPERAND_TBR_TT, FRV_OPERAND_MAX
+ , FRV_OPERAND_LABEL24, FRV_OPERAND_LRAE, FRV_OPERAND_LRAD, FRV_OPERAND_LRAS
+ , FRV_OPERAND_TLBPROPX, FRV_OPERAND_TLBPRL, FRV_OPERAND_A0, FRV_OPERAND_A1
+ , FRV_OPERAND_FRINTIEVEN, FRV_OPERAND_FRINTJEVEN, FRV_OPERAND_FRINTKEVEN, FRV_OPERAND_D12
+ , FRV_OPERAND_S12, FRV_OPERAND_U12, FRV_OPERAND_SPR, FRV_OPERAND_ULO16
+ , FRV_OPERAND_SLO16, FRV_OPERAND_UHI16, FRV_OPERAND_PSR_ESR, FRV_OPERAND_PSR_S
+ , FRV_OPERAND_PSR_PS, FRV_OPERAND_PSR_ET, FRV_OPERAND_BPSR_BS, FRV_OPERAND_BPSR_BET
+ , FRV_OPERAND_TBR_TBA, FRV_OPERAND_TBR_TT, FRV_OPERAND_MAX
} CGEN_OPERAND_TYPE;
/* Number of operands types. */
-#define MAX_OPERANDS 81
+#define MAX_OPERANDS 86
/* Maximum number of operands referenced by any insn. */
#define MAX_OPERAND_INSTANCES 8
@@ -717,9 +734,10 @@ typedef enum cgen_insn_attr {
CGEN_INSN_ALIAS, CGEN_INSN_VIRTUAL, CGEN_INSN_UNCOND_CTI, CGEN_INSN_COND_CTI
, CGEN_INSN_SKIP_CTI, CGEN_INSN_DELAY_SLOT, CGEN_INSN_RELAXABLE, CGEN_INSN_RELAXED
, CGEN_INSN_NO_DIS, CGEN_INSN_PBB, CGEN_INSN_PRIVILEGED, CGEN_INSN_NON_EXCEPTING
- , CGEN_INSN_CONDITIONAL, CGEN_INSN_FR_ACCESS, CGEN_INSN_PRESERVE_OVF, CGEN_INSN_END_BOOLS
- , CGEN_INSN_START_NBOOLS = 31, CGEN_INSN_MACH, CGEN_INSN_UNIT, CGEN_INSN_FR400_MAJOR
- , CGEN_INSN_FR500_MAJOR, CGEN_INSN_FR550_MAJOR, CGEN_INSN_END_NBOOLS
+ , CGEN_INSN_CONDITIONAL, CGEN_INSN_FR_ACCESS, CGEN_INSN_PRESERVE_OVF, CGEN_INSN_AUDIO
+ , CGEN_INSN_END_BOOLS, CGEN_INSN_START_NBOOLS = 31, CGEN_INSN_MACH, CGEN_INSN_UNIT
+ , CGEN_INSN_FR400_MAJOR, CGEN_INSN_FR450_MAJOR, CGEN_INSN_FR500_MAJOR, CGEN_INSN_FR550_MAJOR
+ , CGEN_INSN_END_NBOOLS
} CGEN_INSN_ATTR;
/* Number of non-boolean elements in cgen_insn_attr. */
diff --git a/opcodes/frv-dis.c b/opcodes/frv-dis.c
index b0f51bc..81af343 100644
--- a/opcodes/frv-dis.c
+++ b/opcodes/frv-dis.c
@@ -289,6 +289,21 @@ frv_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length)
case FRV_OPERAND_LI :
print_normal (cd, info, fields->f_LI, 0, pc, length);
break;
+ case FRV_OPERAND_LRAD :
+ print_normal (cd, info, fields->f_LRAD, 0, pc, length);
+ break;
+ case FRV_OPERAND_LRAE :
+ print_normal (cd, info, fields->f_LRAE, 0, pc, length);
+ break;
+ case FRV_OPERAND_LRAS :
+ print_normal (cd, info, fields->f_LRAS, 0, pc, length);
+ break;
+ case FRV_OPERAND_TLBPRL :
+ print_normal (cd, info, fields->f_TLBPRL, 0, pc, length);
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ print_normal (cd, info, fields->f_TLBPRopx, 0, pc, length);
+ break;
case FRV_OPERAND_AE :
print_normal (cd, info, fields->f_ae, 0|(1<<CGEN_OPERAND_HASH_PREFIX), pc, length);
break;
diff --git a/opcodes/frv-ibld.c b/opcodes/frv-ibld.c
index 565f4f4..03686f8 100644
--- a/opcodes/frv-ibld.c
+++ b/opcodes/frv-ibld.c
@@ -713,6 +713,21 @@ frv_cgen_insert_operand (cd, opindex, fields, buffer, pc)
case FRV_OPERAND_LI :
errmsg = insert_normal (cd, fields->f_LI, 0, 0, 25, 1, 32, total_length, buffer);
break;
+ case FRV_OPERAND_LRAD :
+ errmsg = insert_normal (cd, fields->f_LRAD, 0, 0, 4, 1, 32, total_length, buffer);
+ break;
+ case FRV_OPERAND_LRAE :
+ errmsg = insert_normal (cd, fields->f_LRAE, 0, 0, 5, 1, 32, total_length, buffer);
+ break;
+ case FRV_OPERAND_LRAS :
+ errmsg = insert_normal (cd, fields->f_LRAS, 0, 0, 3, 1, 32, total_length, buffer);
+ break;
+ case FRV_OPERAND_TLBPRL :
+ errmsg = insert_normal (cd, fields->f_TLBPRL, 0, 0, 25, 1, 32, total_length, buffer);
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ errmsg = insert_normal (cd, fields->f_TLBPRopx, 0, 0, 28, 3, 32, total_length, buffer);
+ break;
case FRV_OPERAND_AE :
errmsg = insert_normal (cd, fields->f_ae, 0, 0, 25, 1, 32, total_length, buffer);
break;
@@ -1016,6 +1031,21 @@ frv_cgen_extract_operand (cd, opindex, ex_info, insn_value, fields, pc)
case FRV_OPERAND_LI :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 1, 32, total_length, pc, & fields->f_LI);
break;
+ case FRV_OPERAND_LRAD :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 1, 32, total_length, pc, & fields->f_LRAD);
+ break;
+ case FRV_OPERAND_LRAE :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 1, 32, total_length, pc, & fields->f_LRAE);
+ break;
+ case FRV_OPERAND_LRAS :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 3, 1, 32, total_length, pc, & fields->f_LRAS);
+ break;
+ case FRV_OPERAND_TLBPRL :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 1, 32, total_length, pc, & fields->f_TLBPRL);
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ length = extract_normal (cd, ex_info, insn_value, 0, 0, 28, 3, 32, total_length, pc, & fields->f_TLBPRopx);
+ break;
case FRV_OPERAND_AE :
length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 1, 32, total_length, pc, & fields->f_ae);
break;
@@ -1302,6 +1332,21 @@ frv_cgen_get_int_operand (cd, opindex, fields)
case FRV_OPERAND_LI :
value = fields->f_LI;
break;
+ case FRV_OPERAND_LRAD :
+ value = fields->f_LRAD;
+ break;
+ case FRV_OPERAND_LRAE :
+ value = fields->f_LRAE;
+ break;
+ case FRV_OPERAND_LRAS :
+ value = fields->f_LRAS;
+ break;
+ case FRV_OPERAND_TLBPRL :
+ value = fields->f_TLBPRL;
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ value = fields->f_TLBPRopx;
+ break;
case FRV_OPERAND_AE :
value = fields->f_ae;
break;
@@ -1539,6 +1584,21 @@ frv_cgen_get_vma_operand (cd, opindex, fields)
case FRV_OPERAND_LI :
value = fields->f_LI;
break;
+ case FRV_OPERAND_LRAD :
+ value = fields->f_LRAD;
+ break;
+ case FRV_OPERAND_LRAE :
+ value = fields->f_LRAE;
+ break;
+ case FRV_OPERAND_LRAS :
+ value = fields->f_LRAS;
+ break;
+ case FRV_OPERAND_TLBPRL :
+ value = fields->f_TLBPRL;
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ value = fields->f_TLBPRopx;
+ break;
case FRV_OPERAND_AE :
value = fields->f_ae;
break;
@@ -1785,6 +1845,21 @@ frv_cgen_set_int_operand (cd, opindex, fields, value)
case FRV_OPERAND_LI :
fields->f_LI = value;
break;
+ case FRV_OPERAND_LRAD :
+ fields->f_LRAD = value;
+ break;
+ case FRV_OPERAND_LRAE :
+ fields->f_LRAE = value;
+ break;
+ case FRV_OPERAND_LRAS :
+ fields->f_LRAS = value;
+ break;
+ case FRV_OPERAND_TLBPRL :
+ fields->f_TLBPRL = value;
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ fields->f_TLBPRopx = value;
+ break;
case FRV_OPERAND_AE :
fields->f_ae = value;
break;
@@ -2019,6 +2094,21 @@ frv_cgen_set_vma_operand (cd, opindex, fields, value)
case FRV_OPERAND_LI :
fields->f_LI = value;
break;
+ case FRV_OPERAND_LRAD :
+ fields->f_LRAD = value;
+ break;
+ case FRV_OPERAND_LRAE :
+ fields->f_LRAE = value;
+ break;
+ case FRV_OPERAND_LRAS :
+ fields->f_LRAS = value;
+ break;
+ case FRV_OPERAND_TLBPRL :
+ fields->f_TLBPRL = value;
+ break;
+ case FRV_OPERAND_TLBPROPX :
+ fields->f_TLBPRopx = value;
+ break;
case FRV_OPERAND_AE :
fields->f_ae = value;
break;
diff --git a/opcodes/frv-opc.c b/opcodes/frv-opc.c
index 1560d20..2e307e0 100644
--- a/opcodes/frv-opc.c
+++ b/opcodes/frv-opc.c
@@ -44,6 +44,8 @@ static int find_major_in_vliw
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr400_check_insn_major_constraints
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
+static int fr450_check_insn_major_constraints
+ PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr500_check_insn_major_constraints
PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
static int fr550_check_insn_major_constraints
@@ -60,6 +62,10 @@ frv_is_branch_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
if (major >= FR400_MAJOR_B_1 && major <= FR400_MAJOR_B_6)
return 1; /* is a branch */
break;
+ case bfd_mach_fr450:
+ if (major >= FR450_MAJOR_B_1 && major <= FR450_MAJOR_B_6)
+ return 1; /* is a branch */
+ break;
default:
if (major >= FR500_MAJOR_B_1 && major <= FR500_MAJOR_B_6)
return 1; /* is a branch */
@@ -75,6 +81,7 @@ frv_is_float_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
switch (mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
return 0; /* No float insns */
default:
if (major >= FR500_MAJOR_F_1 && major <= FR500_MAJOR_F_8)
@@ -94,6 +101,10 @@ frv_is_media_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
if (major >= FR400_MAJOR_M_1 && major <= FR400_MAJOR_M_2)
return 1; /* is a media insn */
break;
+ case bfd_mach_fr450:
+ if (major >= FR450_MAJOR_M_1 && major <= FR450_MAJOR_M_6)
+ return 1; /* is a media insn */
+ break;
default:
if (major >= FR500_MAJOR_M_1 && major <= FR500_MAJOR_M_8)
return 1; /* is a media insn */
@@ -109,6 +120,9 @@ frv_is_branch_insn (const CGEN_INSN *insn)
if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -122,6 +136,9 @@ frv_is_float_insn (const CGEN_INSN *insn)
if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -135,6 +152,9 @@ frv_is_media_insn (const CGEN_INSN *insn)
if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
bfd_mach_fr400))
return 1;
+ if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
+ bfd_mach_fr450))
+ return 1;
if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
bfd_mach_fr500))
return 1;
@@ -245,6 +265,42 @@ static CGEN_ATTR_VALUE_TYPE fr400_unit_mapping[] =
/* SCAN */ UNIT_I0, /* scan only in I0 unit. */
/* DCPL */ UNIT_C, /* dcpl only in C unit. */
/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM0, /* mdcutssi only in FM0 unit. */
+/* MCLRACC-1*/ UNIT_FM0 /* mclracc,A==1 insn only in FM0 unit. */
+};
+
+/* Some insns are assigned specialized implementation units which map to
+ different actual implementation units on different machines. These
+ tables perform that mapping. */
+static CGEN_ATTR_VALUE_TYPE fr450_unit_mapping[] =
+{
+/* unit in insn actual unit */
+/* NIL */ UNIT_NIL,
+/* I0 */ UNIT_I0,
+/* I1 */ UNIT_I1,
+/* I01 */ UNIT_I01,
+/* I2 */ UNIT_NIL, /* no I2 or I3 unit */
+/* I3 */ UNIT_NIL,
+/* IALL */ UNIT_I01, /* only I0 and I1 units */
+/* FM0 */ UNIT_FM0,
+/* FM1 */ UNIT_FM1,
+/* FM01 */ UNIT_FM01,
+/* FM2 */ UNIT_NIL, /* no F2 or M2 units */
+/* FM3 */ UNIT_NIL, /* no F3 or M3 units */
+/* FMALL */ UNIT_FM01,/* Only F0,F1,M0,M1 units */
+/* FMLOW */ UNIT_FM0, /* Only F0,M0 units */
+/* B0 */ UNIT_B0, /* branches only in B0 unit. */
+/* B1 */ UNIT_B0,
+/* B01 */ UNIT_B0,
+/* C */ UNIT_C,
+/* MULT-DIV */ UNIT_I0, /* multiply and divide only in I0 unit. */
+/* IACC */ UNIT_I01, /* iacc multiply in I0 or I1 unit. */
+/* LOAD */ UNIT_I0, /* load only in I0 unit. */
+/* STORE */ UNIT_I0, /* store only in I0 unit. */
+/* SCAN */ UNIT_I0, /* scan only in I0 unit. */
+/* DCPL */ UNIT_I0, /* dcpl only in I0 unit. */
+/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM01, /* mdcutssi in FM0 or FM1. */
/* MCLRACC-1*/ UNIT_FM0 /* mclracc,A==1 insn only in FM0 unit. */
};
@@ -276,6 +332,7 @@ static CGEN_ATTR_VALUE_TYPE fr500_unit_mapping[] =
/* SCAN */ UNIT_I01, /* scan in I0 or I1 unit. */
/* DCPL */ UNIT_C, /* dcpl only in C unit. */
/* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
+/* MDCUTSSI */ UNIT_FM0, /* mdcutssi only in FM0 unit. */
/* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
};
@@ -307,6 +364,7 @@ static CGEN_ATTR_VALUE_TYPE fr550_unit_mapping[] =
/* SCAN */ UNIT_IALL, /* scan in any integer unit. */
/* DCPL */ UNIT_I0, /* dcpl only in I0 unit. */
/* MDUALACC */ UNIT_FMALL,/* media dual acc insn in all media units */
+/* MDCUTSSI */ UNIT_FM01, /* mdcutssi in FM0 or FM1 unit. */
/* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
};
@@ -324,6 +382,10 @@ frv_vliw_reset (FRV_VLIW *vliw, unsigned long mach, unsigned long elf_flags)
vliw->current_vliw = fr400_allowed_vliw;
vliw->unit_mapping = fr400_unit_mapping;
break;
+ case bfd_mach_fr450:
+ vliw->current_vliw = fr400_allowed_vliw;
+ vliw->unit_mapping = fr450_unit_mapping;
+ break;
case bfd_mach_fr550:
vliw->current_vliw = fr550_allowed_vliw;
vliw->unit_mapping = fr550_unit_mapping;
@@ -453,6 +515,8 @@ fr400_check_insn_major_constraints (
case FR400_MAJOR_M_2:
return ! find_major_in_vliw (vliw, FR400_MAJOR_M_1)
&& ! find_major_in_vliw (vliw, FR400_MAJOR_M_2);
+ case FR400_MAJOR_M_1:
+ return !find_major_in_vliw (vliw, FR400_MAJOR_M_2);
default:
break;
}
@@ -460,6 +524,43 @@ fr400_check_insn_major_constraints (
}
static int
+fr450_check_insn_major_constraints (
+ FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major
+)
+{
+ CGEN_ATTR_VALUE_TYPE other_major;
+
+ /* Our caller guarantees there's at least one other instruction. */
+ other_major = CGEN_INSN_ATTR_VALUE (vliw->insn[0], CGEN_INSN_FR450_MAJOR);
+
+ /* (M4, M5) and (M4, M6) are allowed. */
+ if (other_major == FR450_MAJOR_M_4)
+ if (major == FR450_MAJOR_M_5 || major == FR450_MAJOR_M_6)
+ return 1;
+
+ /* Otherwise, instructions in even-numbered media categories cannot be
+ executed in parallel with other media instructions. */
+ switch (major)
+ {
+ case FR450_MAJOR_M_2:
+ case FR450_MAJOR_M_4:
+ case FR450_MAJOR_M_6:
+ return !(other_major >= FR450_MAJOR_M_1
+ && other_major <= FR450_MAJOR_M_6);
+
+ case FR450_MAJOR_M_1:
+ case FR450_MAJOR_M_3:
+ case FR450_MAJOR_M_5:
+ return !(other_major == FR450_MAJOR_M_2
+ || other_major == FR450_MAJOR_M_4
+ || other_major == FR450_MAJOR_M_6);
+
+ default:
+ return 1;
+ }
+}
+
+static int
find_unit_in_vliw (
FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE unit
)
@@ -696,6 +797,9 @@ check_insn_major_constraints (
case bfd_mach_fr400:
rc = fr400_check_insn_major_constraints (vliw, major);
break;
+ case bfd_mach_fr450:
+ rc = fr450_check_insn_major_constraints (vliw, major);
+ break;
case bfd_mach_fr550:
rc = fr550_check_insn_major_constraints (vliw, major, insn);
break;
@@ -736,6 +840,9 @@ frv_vliw_add_insn (FRV_VLIW *vliw, const CGEN_INSN *insn)
case bfd_mach_fr400:
major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR);
break;
+ case bfd_mach_fr450:
+ major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR);
+ break;
case bfd_mach_fr550:
major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR550_MAJOR);
break;
@@ -1149,6 +1256,14 @@ static const CGEN_IFMT ifmt_bar = {
32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
};
+static const CGEN_IFMT ifmt_lrai = {
+ 32, 32, 0x1fc0fc7, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_LRAE) }, { F (F_LRAD) }, { F (F_LRAS) }, { F (F_LRA_NULL) }, { 0 } }
+};
+
+static const CGEN_IFMT ifmt_tlbpr = {
+ 32, 32, 0x61fc0fc0, { { F (F_PACK) }, { F (F_TLBPR_NULL) }, { F (F_TLBPROPX) }, { F (F_TLBPRL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
+};
+
static const CGEN_IFMT ifmt_cop1 = {
32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_CPRI) }, { F (F_S6_1) }, { F (F_CPRJ) }, { 0 } }
};
@@ -1297,6 +1412,10 @@ static const CGEN_IFMT ifmt_cmqaddhss = {
32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
};
+static const CGEN_IFMT ifmt_mqsllhi = {
+ 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
+};
+
static const CGEN_IFMT ifmt_maddaccs = {
32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_ACCJ_NULL) }, { 0 } }
};
@@ -2486,42 +2605,6 @@ static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
& ifmt_ldc, { 0xc0940 }
},
-/* rstb$pack $GRk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_slass, { 0xc0800 }
- },
-/* rsth$pack $GRk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_slass, { 0xc0840 }
- },
-/* rst$pack $GRk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_slass, { 0xc0880 }
- },
-/* rstbf$pack $FRintk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_ldbf, { 0xc0a00 }
- },
-/* rsthf$pack $FRintk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_ldbf, { 0xc0a40 }
- },
-/* rstf$pack $FRintk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_ldbf, { 0xc0a80 }
- },
/* std$pack $GRdoublek,@($GRi,$GRj) */
{
{ 0, 0, 0, 0 },
@@ -2540,18 +2623,6 @@ static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, OP (PACK), ' ', OP (CPRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
& ifmt_lddc, { 0xc0980 }
},
-/* rstd$pack $GRdoublek,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_ldd, { 0xc08c0 }
- },
-/* rstdf$pack $FRdoublek,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_lddf, { 0xc0ac0 }
- },
/* stq$pack $GRk,@($GRi,$GRj) */
{
{ 0, 0, 0, 0 },
@@ -2570,18 +2641,6 @@ static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
& ifmt_ldc, { 0xc09c0 }
},
-/* rstq$pack $GRk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_slass, { 0xc0900 }
- },
-/* rstqf$pack $FRintk,@($GRi,$GRj) */
- {
- { 0, 0, 0, 0 },
- { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
- & ifmt_ldbf, { 0xc0b00 }
- },
/* stbu$pack $GRk,@($GRi,$GRj) */
{
{ 0, 0, 0, 0 },
@@ -4616,6 +4675,24 @@ static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, OP (PACK), 0 } },
& ifmt_bar, { 0xc0fc0 }
},
+/* lrai$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (LRAE), ',', OP (LRAD), ',', OP (LRAS), 0 } },
+ & ifmt_lrai, { 0xc0800 }
+ },
+/* lrad$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (LRAE), ',', OP (LRAD), ',', OP (LRAS), 0 } },
+ & ifmt_lrai, { 0xc0840 }
+ },
+/* tlbpr$pack $GRi,$GRj,$TLBPRopx,$TLBPRL */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (TLBPROPX), ',', OP (TLBPRL), 0 } },
+ & ifmt_tlbpr, { 0xc0900 }
+ },
/* cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
{
{ 0, 0, 0, 0 },
@@ -5498,6 +5575,30 @@ static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
& ifmt_cmqaddhss, { 0x1cc00c0 }
},
+/* mqlclrhs$pack $FRintieven,$FRintjeven,$FRintkeven */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
+ & ifmt_mqsaths, { 0x1e00400 }
+ },
+/* mqlmths$pack $FRintieven,$FRintjeven,$FRintkeven */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
+ & ifmt_mqsaths, { 0x1e00500 }
+ },
+/* mqsllhi$pack $FRintieven,$u6,$FRintkeven */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
+ & ifmt_mqsllhi, { 0x1e00440 }
+ },
+/* mqsrahi$pack $FRintieven,$u6,$FRintkeven */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
+ & ifmt_mqsllhi, { 0x1e004c0 }
+ },
/* maddaccs$pack $ACC40Si,$ACC40Sk */
{
{ 0, 0, 0, 0 },
@@ -5966,37 +6067,37 @@ static const CGEN_IBASE frv_cgen_macro_insn_table[] =
/* nop$pack */
{
-1, "nop", "nop", 32,
- { 0|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
/* ret$pack */
{
-1, "ret", "ret", 32,
- { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_NONE } }
+ { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR450_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_NONE } }
},
/* cmp$pack $GRi,$GRj,$ICCi_1 */
{
-1, "cmp", "cmp", 32,
- { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
/* cmpi$pack $GRi,$s10,$ICCi_1 */
{
-1, "cmpi", "cmpi", 32,
- { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
/* ccmp$pack $GRi,$GRj,$CCi,$cond */
{
-1, "ccmp", "ccmp", 32,
- { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
/* mov$pack $GRi,$GRk */
{
-1, "mov", "mov", 32,
- { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
/* cmov$pack $GRi,$GRk,$CCi,$cond */
{
-1, "cmov", "cmov", 32,
- { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
+ { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR450_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
},
};
diff --git a/opcodes/frv-opc.h b/opcodes/frv-opc.h
index e166fa2..dd343de 100644
--- a/opcodes/frv-opc.h
+++ b/opcodes/frv-opc.h
@@ -108,149 +108,148 @@ typedef enum cgen_insn_type {
, FRV_INSN_LDDI, FRV_INSN_LDDFI, FRV_INSN_NLDDI, FRV_INSN_NLDDFI
, FRV_INSN_LDQI, FRV_INSN_LDQFI, FRV_INSN_NLDQFI, FRV_INSN_STB
, FRV_INSN_STH, FRV_INSN_ST, FRV_INSN_STBF, FRV_INSN_STHF
- , FRV_INSN_STF, FRV_INSN_STC, FRV_INSN_RSTB, FRV_INSN_RSTH
- , FRV_INSN_RST, FRV_INSN_RSTBF, FRV_INSN_RSTHF, FRV_INSN_RSTF
- , FRV_INSN_STD, FRV_INSN_STDF, FRV_INSN_STDC, FRV_INSN_RSTD
- , FRV_INSN_RSTDF, FRV_INSN_STQ, FRV_INSN_STQF, FRV_INSN_STQC
- , FRV_INSN_RSTQ, FRV_INSN_RSTQF, FRV_INSN_STBU, FRV_INSN_STHU
- , FRV_INSN_STU, FRV_INSN_STBFU, FRV_INSN_STHFU, FRV_INSN_STFU
- , FRV_INSN_STCU, FRV_INSN_STDU, FRV_INSN_STDFU, FRV_INSN_STDCU
- , FRV_INSN_STQU, FRV_INSN_STQFU, FRV_INSN_STQCU, FRV_INSN_CLDSB
- , FRV_INSN_CLDUB, FRV_INSN_CLDSH, FRV_INSN_CLDUH, FRV_INSN_CLD
- , FRV_INSN_CLDBF, FRV_INSN_CLDHF, FRV_INSN_CLDF, FRV_INSN_CLDD
- , FRV_INSN_CLDDF, FRV_INSN_CLDQ, FRV_INSN_CLDSBU, FRV_INSN_CLDUBU
- , FRV_INSN_CLDSHU, FRV_INSN_CLDUHU, FRV_INSN_CLDU, FRV_INSN_CLDBFU
- , FRV_INSN_CLDHFU, FRV_INSN_CLDFU, FRV_INSN_CLDDU, FRV_INSN_CLDDFU
- , FRV_INSN_CLDQU, FRV_INSN_CSTB, FRV_INSN_CSTH, FRV_INSN_CST
- , FRV_INSN_CSTBF, FRV_INSN_CSTHF, FRV_INSN_CSTF, FRV_INSN_CSTD
- , FRV_INSN_CSTDF, FRV_INSN_CSTQ, FRV_INSN_CSTBU, FRV_INSN_CSTHU
- , FRV_INSN_CSTU, FRV_INSN_CSTBFU, FRV_INSN_CSTHFU, FRV_INSN_CSTFU
- , FRV_INSN_CSTDU, FRV_INSN_CSTDFU, FRV_INSN_STBI, FRV_INSN_STHI
- , FRV_INSN_STI, FRV_INSN_STBFI, FRV_INSN_STHFI, FRV_INSN_STFI
- , FRV_INSN_STDI, FRV_INSN_STDFI, FRV_INSN_STQI, FRV_INSN_STQFI
- , FRV_INSN_SWAP, FRV_INSN_SWAPI, FRV_INSN_CSWAP, FRV_INSN_MOVGF
- , FRV_INSN_MOVFG, FRV_INSN_MOVGFD, FRV_INSN_MOVFGD, FRV_INSN_MOVGFQ
- , FRV_INSN_MOVFGQ, FRV_INSN_CMOVGF, FRV_INSN_CMOVFG, FRV_INSN_CMOVGFD
- , FRV_INSN_CMOVFGD, FRV_INSN_MOVGS, FRV_INSN_MOVSG, FRV_INSN_BRA
- , FRV_INSN_BNO, FRV_INSN_BEQ, FRV_INSN_BNE, FRV_INSN_BLE
- , FRV_INSN_BGT, FRV_INSN_BLT, FRV_INSN_BGE, FRV_INSN_BLS
- , FRV_INSN_BHI, FRV_INSN_BC, FRV_INSN_BNC, FRV_INSN_BN
- , FRV_INSN_BP, FRV_INSN_BV, FRV_INSN_BNV, FRV_INSN_FBRA
- , FRV_INSN_FBNO, FRV_INSN_FBNE, FRV_INSN_FBEQ, FRV_INSN_FBLG
- , FRV_INSN_FBUE, FRV_INSN_FBUL, FRV_INSN_FBGE, FRV_INSN_FBLT
- , FRV_INSN_FBUGE, FRV_INSN_FBUG, FRV_INSN_FBLE, FRV_INSN_FBGT
- , FRV_INSN_FBULE, FRV_INSN_FBU, FRV_INSN_FBO, FRV_INSN_BCTRLR
- , FRV_INSN_BRALR, FRV_INSN_BNOLR, FRV_INSN_BEQLR, FRV_INSN_BNELR
- , FRV_INSN_BLELR, FRV_INSN_BGTLR, FRV_INSN_BLTLR, FRV_INSN_BGELR
- , FRV_INSN_BLSLR, FRV_INSN_BHILR, FRV_INSN_BCLR, FRV_INSN_BNCLR
- , FRV_INSN_BNLR, FRV_INSN_BPLR, FRV_INSN_BVLR, FRV_INSN_BNVLR
- , FRV_INSN_FBRALR, FRV_INSN_FBNOLR, FRV_INSN_FBEQLR, FRV_INSN_FBNELR
- , FRV_INSN_FBLGLR, FRV_INSN_FBUELR, FRV_INSN_FBULLR, FRV_INSN_FBGELR
- , FRV_INSN_FBLTLR, FRV_INSN_FBUGELR, FRV_INSN_FBUGLR, FRV_INSN_FBLELR
- , FRV_INSN_FBGTLR, FRV_INSN_FBULELR, FRV_INSN_FBULR, FRV_INSN_FBOLR
- , FRV_INSN_BCRALR, FRV_INSN_BCNOLR, FRV_INSN_BCEQLR, FRV_INSN_BCNELR
- , FRV_INSN_BCLELR, FRV_INSN_BCGTLR, FRV_INSN_BCLTLR, FRV_INSN_BCGELR
- , FRV_INSN_BCLSLR, FRV_INSN_BCHILR, FRV_INSN_BCCLR, FRV_INSN_BCNCLR
- , FRV_INSN_BCNLR, FRV_INSN_BCPLR, FRV_INSN_BCVLR, FRV_INSN_BCNVLR
- , FRV_INSN_FCBRALR, FRV_INSN_FCBNOLR, FRV_INSN_FCBEQLR, FRV_INSN_FCBNELR
- , FRV_INSN_FCBLGLR, FRV_INSN_FCBUELR, FRV_INSN_FCBULLR, FRV_INSN_FCBGELR
- , FRV_INSN_FCBLTLR, FRV_INSN_FCBUGELR, FRV_INSN_FCBUGLR, FRV_INSN_FCBLELR
- , FRV_INSN_FCBGTLR, FRV_INSN_FCBULELR, FRV_INSN_FCBULR, FRV_INSN_FCBOLR
- , FRV_INSN_JMPL, FRV_INSN_CALLL, FRV_INSN_JMPIL, FRV_INSN_CALLIL
- , FRV_INSN_CALL, FRV_INSN_RETT, FRV_INSN_REI, FRV_INSN_TRA
- , FRV_INSN_TNO, FRV_INSN_TEQ, FRV_INSN_TNE, FRV_INSN_TLE
- , FRV_INSN_TGT, FRV_INSN_TLT, FRV_INSN_TGE, FRV_INSN_TLS
- , FRV_INSN_THI, FRV_INSN_TC, FRV_INSN_TNC, FRV_INSN_TN
- , FRV_INSN_TP, FRV_INSN_TV, FRV_INSN_TNV, FRV_INSN_FTRA
- , FRV_INSN_FTNO, FRV_INSN_FTNE, FRV_INSN_FTEQ, FRV_INSN_FTLG
- , FRV_INSN_FTUE, FRV_INSN_FTUL, FRV_INSN_FTGE, FRV_INSN_FTLT
- , FRV_INSN_FTUGE, FRV_INSN_FTUG, FRV_INSN_FTLE, FRV_INSN_FTGT
- , FRV_INSN_FTULE, FRV_INSN_FTU, FRV_INSN_FTO, FRV_INSN_TIRA
- , FRV_INSN_TINO, FRV_INSN_TIEQ, FRV_INSN_TINE, FRV_INSN_TILE
- , FRV_INSN_TIGT, FRV_INSN_TILT, FRV_INSN_TIGE, FRV_INSN_TILS
- , FRV_INSN_TIHI, FRV_INSN_TIC, FRV_INSN_TINC, FRV_INSN_TIN
- , FRV_INSN_TIP, FRV_INSN_TIV, FRV_INSN_TINV, FRV_INSN_FTIRA
- , FRV_INSN_FTINO, FRV_INSN_FTINE, FRV_INSN_FTIEQ, FRV_INSN_FTILG
- , FRV_INSN_FTIUE, FRV_INSN_FTIUL, FRV_INSN_FTIGE, FRV_INSN_FTILT
- , FRV_INSN_FTIUGE, FRV_INSN_FTIUG, FRV_INSN_FTILE, FRV_INSN_FTIGT
- , FRV_INSN_FTIULE, FRV_INSN_FTIU, FRV_INSN_FTIO, FRV_INSN_BREAK
- , FRV_INSN_MTRAP, FRV_INSN_ANDCR, FRV_INSN_ORCR, FRV_INSN_XORCR
- , FRV_INSN_NANDCR, FRV_INSN_NORCR, FRV_INSN_ANDNCR, FRV_INSN_ORNCR
- , FRV_INSN_NANDNCR, FRV_INSN_NORNCR, FRV_INSN_NOTCR, FRV_INSN_CKRA
- , FRV_INSN_CKNO, FRV_INSN_CKEQ, FRV_INSN_CKNE, FRV_INSN_CKLE
- , FRV_INSN_CKGT, FRV_INSN_CKLT, FRV_INSN_CKGE, FRV_INSN_CKLS
- , FRV_INSN_CKHI, FRV_INSN_CKC, FRV_INSN_CKNC, FRV_INSN_CKN
- , FRV_INSN_CKP, FRV_INSN_CKV, FRV_INSN_CKNV, FRV_INSN_FCKRA
- , FRV_INSN_FCKNO, FRV_INSN_FCKNE, FRV_INSN_FCKEQ, FRV_INSN_FCKLG
- , FRV_INSN_FCKUE, FRV_INSN_FCKUL, FRV_INSN_FCKGE, FRV_INSN_FCKLT
- , FRV_INSN_FCKUGE, FRV_INSN_FCKUG, FRV_INSN_FCKLE, FRV_INSN_FCKGT
- , FRV_INSN_FCKULE, FRV_INSN_FCKU, FRV_INSN_FCKO, FRV_INSN_CCKRA
- , FRV_INSN_CCKNO, FRV_INSN_CCKEQ, FRV_INSN_CCKNE, FRV_INSN_CCKLE
- , FRV_INSN_CCKGT, FRV_INSN_CCKLT, FRV_INSN_CCKGE, FRV_INSN_CCKLS
- , FRV_INSN_CCKHI, FRV_INSN_CCKC, FRV_INSN_CCKNC, FRV_INSN_CCKN
- , FRV_INSN_CCKP, FRV_INSN_CCKV, FRV_INSN_CCKNV, FRV_INSN_CFCKRA
- , FRV_INSN_CFCKNO, FRV_INSN_CFCKNE, FRV_INSN_CFCKEQ, FRV_INSN_CFCKLG
- , FRV_INSN_CFCKUE, FRV_INSN_CFCKUL, FRV_INSN_CFCKGE, FRV_INSN_CFCKLT
- , FRV_INSN_CFCKUGE, FRV_INSN_CFCKUG, FRV_INSN_CFCKLE, FRV_INSN_CFCKGT
- , FRV_INSN_CFCKULE, FRV_INSN_CFCKU, FRV_INSN_CFCKO, FRV_INSN_CJMPL
- , FRV_INSN_CCALLL, FRV_INSN_ICI, FRV_INSN_DCI, FRV_INSN_ICEI
- , FRV_INSN_DCEI, FRV_INSN_DCF, FRV_INSN_DCEF, FRV_INSN_WITLB
- , FRV_INSN_WDTLB, FRV_INSN_ITLBI, FRV_INSN_DTLBI, FRV_INSN_ICPL
- , FRV_INSN_DCPL, FRV_INSN_ICUL, FRV_INSN_DCUL, FRV_INSN_BAR
- , FRV_INSN_MEMBAR, FRV_INSN_COP1, FRV_INSN_COP2, FRV_INSN_CLRGR
- , FRV_INSN_CLRFR, FRV_INSN_CLRGA, FRV_INSN_CLRFA, FRV_INSN_COMMITGR
- , FRV_INSN_COMMITFR, FRV_INSN_COMMITGA, FRV_INSN_COMMITFA, FRV_INSN_FITOS
- , FRV_INSN_FSTOI, FRV_INSN_FITOD, FRV_INSN_FDTOI, FRV_INSN_FDITOS
- , FRV_INSN_FDSTOI, FRV_INSN_NFDITOS, FRV_INSN_NFDSTOI, FRV_INSN_CFITOS
- , FRV_INSN_CFSTOI, FRV_INSN_NFITOS, FRV_INSN_NFSTOI, FRV_INSN_FMOVS
- , FRV_INSN_FMOVD, FRV_INSN_FDMOVS, FRV_INSN_CFMOVS, FRV_INSN_FNEGS
- , FRV_INSN_FNEGD, FRV_INSN_FDNEGS, FRV_INSN_CFNEGS, FRV_INSN_FABSS
- , FRV_INSN_FABSD, FRV_INSN_FDABSS, FRV_INSN_CFABSS, FRV_INSN_FSQRTS
- , FRV_INSN_FDSQRTS, FRV_INSN_NFDSQRTS, FRV_INSN_FSQRTD, FRV_INSN_CFSQRTS
- , FRV_INSN_NFSQRTS, FRV_INSN_FADDS, FRV_INSN_FSUBS, FRV_INSN_FMULS
- , FRV_INSN_FDIVS, FRV_INSN_FADDD, FRV_INSN_FSUBD, FRV_INSN_FMULD
- , FRV_INSN_FDIVD, FRV_INSN_CFADDS, FRV_INSN_CFSUBS, FRV_INSN_CFMULS
- , FRV_INSN_CFDIVS, FRV_INSN_NFADDS, FRV_INSN_NFSUBS, FRV_INSN_NFMULS
- , FRV_INSN_NFDIVS, FRV_INSN_FCMPS, FRV_INSN_FCMPD, FRV_INSN_CFCMPS
- , FRV_INSN_FDCMPS, FRV_INSN_FMADDS, FRV_INSN_FMSUBS, FRV_INSN_FMADDD
- , FRV_INSN_FMSUBD, FRV_INSN_FDMADDS, FRV_INSN_NFDMADDS, FRV_INSN_CFMADDS
- , FRV_INSN_CFMSUBS, FRV_INSN_NFMADDS, FRV_INSN_NFMSUBS, FRV_INSN_FMAS
- , FRV_INSN_FMSS, FRV_INSN_FDMAS, FRV_INSN_FDMSS, FRV_INSN_NFDMAS
- , FRV_INSN_NFDMSS, FRV_INSN_CFMAS, FRV_INSN_CFMSS, FRV_INSN_FMAD
- , FRV_INSN_FMSD, FRV_INSN_NFMAS, FRV_INSN_NFMSS, FRV_INSN_FDADDS
- , FRV_INSN_FDSUBS, FRV_INSN_FDMULS, FRV_INSN_FDDIVS, FRV_INSN_FDSADS
- , FRV_INSN_FDMULCS, FRV_INSN_NFDMULCS, FRV_INSN_NFDADDS, FRV_INSN_NFDSUBS
- , FRV_INSN_NFDMULS, FRV_INSN_NFDDIVS, FRV_INSN_NFDSADS, FRV_INSN_NFDCMPS
- , FRV_INSN_MHSETLOS, FRV_INSN_MHSETHIS, FRV_INSN_MHDSETS, FRV_INSN_MHSETLOH
- , FRV_INSN_MHSETHIH, FRV_INSN_MHDSETH, FRV_INSN_MAND, FRV_INSN_MOR
- , FRV_INSN_MXOR, FRV_INSN_CMAND, FRV_INSN_CMOR, FRV_INSN_CMXOR
- , FRV_INSN_MNOT, FRV_INSN_CMNOT, FRV_INSN_MROTLI, FRV_INSN_MROTRI
- , FRV_INSN_MWCUT, FRV_INSN_MWCUTI, FRV_INSN_MCUT, FRV_INSN_MCUTI
- , FRV_INSN_MCUTSS, FRV_INSN_MCUTSSI, FRV_INSN_MDCUTSSI, FRV_INSN_MAVEH
- , FRV_INSN_MSLLHI, FRV_INSN_MSRLHI, FRV_INSN_MSRAHI, FRV_INSN_MDROTLI
- , FRV_INSN_MCPLHI, FRV_INSN_MCPLI, FRV_INSN_MSATHS, FRV_INSN_MQSATHS
- , FRV_INSN_MSATHU, FRV_INSN_MCMPSH, FRV_INSN_MCMPUH, FRV_INSN_MABSHS
- , FRV_INSN_MADDHSS, FRV_INSN_MADDHUS, FRV_INSN_MSUBHSS, FRV_INSN_MSUBHUS
- , FRV_INSN_CMADDHSS, FRV_INSN_CMADDHUS, FRV_INSN_CMSUBHSS, FRV_INSN_CMSUBHUS
- , FRV_INSN_MQADDHSS, FRV_INSN_MQADDHUS, FRV_INSN_MQSUBHSS, FRV_INSN_MQSUBHUS
- , FRV_INSN_CMQADDHSS, FRV_INSN_CMQADDHUS, FRV_INSN_CMQSUBHSS, FRV_INSN_CMQSUBHUS
- , FRV_INSN_MADDACCS, FRV_INSN_MSUBACCS, FRV_INSN_MDADDACCS, FRV_INSN_MDSUBACCS
- , FRV_INSN_MASACCS, FRV_INSN_MDASACCS, FRV_INSN_MMULHS, FRV_INSN_MMULHU
- , FRV_INSN_MMULXHS, FRV_INSN_MMULXHU, FRV_INSN_CMMULHS, FRV_INSN_CMMULHU
- , FRV_INSN_MQMULHS, FRV_INSN_MQMULHU, FRV_INSN_MQMULXHS, FRV_INSN_MQMULXHU
- , FRV_INSN_CMQMULHS, FRV_INSN_CMQMULHU, FRV_INSN_MMACHS, FRV_INSN_MMACHU
- , FRV_INSN_MMRDHS, FRV_INSN_MMRDHU, FRV_INSN_CMMACHS, FRV_INSN_CMMACHU
- , FRV_INSN_MQMACHS, FRV_INSN_MQMACHU, FRV_INSN_CMQMACHS, FRV_INSN_CMQMACHU
- , FRV_INSN_MQXMACHS, FRV_INSN_MQXMACXHS, FRV_INSN_MQMACXHS, FRV_INSN_MCPXRS
- , FRV_INSN_MCPXRU, FRV_INSN_MCPXIS, FRV_INSN_MCPXIU, FRV_INSN_CMCPXRS
- , FRV_INSN_CMCPXRU, FRV_INSN_CMCPXIS, FRV_INSN_CMCPXIU, FRV_INSN_MQCPXRS
- , FRV_INSN_MQCPXRU, FRV_INSN_MQCPXIS, FRV_INSN_MQCPXIU, FRV_INSN_MEXPDHW
- , FRV_INSN_CMEXPDHW, FRV_INSN_MEXPDHD, FRV_INSN_CMEXPDHD, FRV_INSN_MPACKH
- , FRV_INSN_MDPACKH, FRV_INSN_MUNPACKH, FRV_INSN_MDUNPACKH, FRV_INSN_MBTOH
- , FRV_INSN_CMBTOH, FRV_INSN_MHTOB, FRV_INSN_CMHTOB, FRV_INSN_MBTOHE
- , FRV_INSN_CMBTOHE, FRV_INSN_MNOP, FRV_INSN_MCLRACC_0, FRV_INSN_MCLRACC_1
- , FRV_INSN_MRDACC, FRV_INSN_MRDACCG, FRV_INSN_MWTACC, FRV_INSN_MWTACCG
- , FRV_INSN_MCOP1, FRV_INSN_MCOP2, FRV_INSN_FNOP
+ , FRV_INSN_STF, FRV_INSN_STC, FRV_INSN_STD, FRV_INSN_STDF
+ , FRV_INSN_STDC, FRV_INSN_STQ, FRV_INSN_STQF, FRV_INSN_STQC
+ , FRV_INSN_STBU, FRV_INSN_STHU, FRV_INSN_STU, FRV_INSN_STBFU
+ , FRV_INSN_STHFU, FRV_INSN_STFU, FRV_INSN_STCU, FRV_INSN_STDU
+ , FRV_INSN_STDFU, FRV_INSN_STDCU, FRV_INSN_STQU, FRV_INSN_STQFU
+ , FRV_INSN_STQCU, FRV_INSN_CLDSB, FRV_INSN_CLDUB, FRV_INSN_CLDSH
+ , FRV_INSN_CLDUH, FRV_INSN_CLD, FRV_INSN_CLDBF, FRV_INSN_CLDHF
+ , FRV_INSN_CLDF, FRV_INSN_CLDD, FRV_INSN_CLDDF, FRV_INSN_CLDQ
+ , FRV_INSN_CLDSBU, FRV_INSN_CLDUBU, FRV_INSN_CLDSHU, FRV_INSN_CLDUHU
+ , FRV_INSN_CLDU, FRV_INSN_CLDBFU, FRV_INSN_CLDHFU, FRV_INSN_CLDFU
+ , FRV_INSN_CLDDU, FRV_INSN_CLDDFU, FRV_INSN_CLDQU, FRV_INSN_CSTB
+ , FRV_INSN_CSTH, FRV_INSN_CST, FRV_INSN_CSTBF, FRV_INSN_CSTHF
+ , FRV_INSN_CSTF, FRV_INSN_CSTD, FRV_INSN_CSTDF, FRV_INSN_CSTQ
+ , FRV_INSN_CSTBU, FRV_INSN_CSTHU, FRV_INSN_CSTU, FRV_INSN_CSTBFU
+ , FRV_INSN_CSTHFU, FRV_INSN_CSTFU, FRV_INSN_CSTDU, FRV_INSN_CSTDFU
+ , FRV_INSN_STBI, FRV_INSN_STHI, FRV_INSN_STI, FRV_INSN_STBFI
+ , FRV_INSN_STHFI, FRV_INSN_STFI, FRV_INSN_STDI, FRV_INSN_STDFI
+ , FRV_INSN_STQI, FRV_INSN_STQFI, FRV_INSN_SWAP, FRV_INSN_SWAPI
+ , FRV_INSN_CSWAP, FRV_INSN_MOVGF, FRV_INSN_MOVFG, FRV_INSN_MOVGFD
+ , FRV_INSN_MOVFGD, FRV_INSN_MOVGFQ, FRV_INSN_MOVFGQ, FRV_INSN_CMOVGF
+ , FRV_INSN_CMOVFG, FRV_INSN_CMOVGFD, FRV_INSN_CMOVFGD, FRV_INSN_MOVGS
+ , FRV_INSN_MOVSG, FRV_INSN_BRA, FRV_INSN_BNO, FRV_INSN_BEQ
+ , FRV_INSN_BNE, FRV_INSN_BLE, FRV_INSN_BGT, FRV_INSN_BLT
+ , FRV_INSN_BGE, FRV_INSN_BLS, FRV_INSN_BHI, FRV_INSN_BC
+ , FRV_INSN_BNC, FRV_INSN_BN, FRV_INSN_BP, FRV_INSN_BV
+ , FRV_INSN_BNV, FRV_INSN_FBRA, FRV_INSN_FBNO, FRV_INSN_FBNE
+ , FRV_INSN_FBEQ, FRV_INSN_FBLG, FRV_INSN_FBUE, FRV_INSN_FBUL
+ , FRV_INSN_FBGE, FRV_INSN_FBLT, FRV_INSN_FBUGE, FRV_INSN_FBUG
+ , FRV_INSN_FBLE, FRV_INSN_FBGT, FRV_INSN_FBULE, FRV_INSN_FBU
+ , FRV_INSN_FBO, FRV_INSN_BCTRLR, FRV_INSN_BRALR, FRV_INSN_BNOLR
+ , FRV_INSN_BEQLR, FRV_INSN_BNELR, FRV_INSN_BLELR, FRV_INSN_BGTLR
+ , FRV_INSN_BLTLR, FRV_INSN_BGELR, FRV_INSN_BLSLR, FRV_INSN_BHILR
+ , FRV_INSN_BCLR, FRV_INSN_BNCLR, FRV_INSN_BNLR, FRV_INSN_BPLR
+ , FRV_INSN_BVLR, FRV_INSN_BNVLR, FRV_INSN_FBRALR, FRV_INSN_FBNOLR
+ , FRV_INSN_FBEQLR, FRV_INSN_FBNELR, FRV_INSN_FBLGLR, FRV_INSN_FBUELR
+ , FRV_INSN_FBULLR, FRV_INSN_FBGELR, FRV_INSN_FBLTLR, FRV_INSN_FBUGELR
+ , FRV_INSN_FBUGLR, FRV_INSN_FBLELR, FRV_INSN_FBGTLR, FRV_INSN_FBULELR
+ , FRV_INSN_FBULR, FRV_INSN_FBOLR, FRV_INSN_BCRALR, FRV_INSN_BCNOLR
+ , FRV_INSN_BCEQLR, FRV_INSN_BCNELR, FRV_INSN_BCLELR, FRV_INSN_BCGTLR
+ , FRV_INSN_BCLTLR, FRV_INSN_BCGELR, FRV_INSN_BCLSLR, FRV_INSN_BCHILR
+ , FRV_INSN_BCCLR, FRV_INSN_BCNCLR, FRV_INSN_BCNLR, FRV_INSN_BCPLR
+ , FRV_INSN_BCVLR, FRV_INSN_BCNVLR, FRV_INSN_FCBRALR, FRV_INSN_FCBNOLR
+ , FRV_INSN_FCBEQLR, FRV_INSN_FCBNELR, FRV_INSN_FCBLGLR, FRV_INSN_FCBUELR
+ , FRV_INSN_FCBULLR, FRV_INSN_FCBGELR, FRV_INSN_FCBLTLR, FRV_INSN_FCBUGELR
+ , FRV_INSN_FCBUGLR, FRV_INSN_FCBLELR, FRV_INSN_FCBGTLR, FRV_INSN_FCBULELR
+ , FRV_INSN_FCBULR, FRV_INSN_FCBOLR, FRV_INSN_JMPL, FRV_INSN_CALLL
+ , FRV_INSN_JMPIL, FRV_INSN_CALLIL, FRV_INSN_CALL, FRV_INSN_RETT
+ , FRV_INSN_REI, FRV_INSN_TRA, FRV_INSN_TNO, FRV_INSN_TEQ
+ , FRV_INSN_TNE, FRV_INSN_TLE, FRV_INSN_TGT, FRV_INSN_TLT
+ , FRV_INSN_TGE, FRV_INSN_TLS, FRV_INSN_THI, FRV_INSN_TC
+ , FRV_INSN_TNC, FRV_INSN_TN, FRV_INSN_TP, FRV_INSN_TV
+ , FRV_INSN_TNV, FRV_INSN_FTRA, FRV_INSN_FTNO, FRV_INSN_FTNE
+ , FRV_INSN_FTEQ, FRV_INSN_FTLG, FRV_INSN_FTUE, FRV_INSN_FTUL
+ , FRV_INSN_FTGE, FRV_INSN_FTLT, FRV_INSN_FTUGE, FRV_INSN_FTUG
+ , FRV_INSN_FTLE, FRV_INSN_FTGT, FRV_INSN_FTULE, FRV_INSN_FTU
+ , FRV_INSN_FTO, FRV_INSN_TIRA, FRV_INSN_TINO, FRV_INSN_TIEQ
+ , FRV_INSN_TINE, FRV_INSN_TILE, FRV_INSN_TIGT, FRV_INSN_TILT
+ , FRV_INSN_TIGE, FRV_INSN_TILS, FRV_INSN_TIHI, FRV_INSN_TIC
+ , FRV_INSN_TINC, FRV_INSN_TIN, FRV_INSN_TIP, FRV_INSN_TIV
+ , FRV_INSN_TINV, FRV_INSN_FTIRA, FRV_INSN_FTINO, FRV_INSN_FTINE
+ , FRV_INSN_FTIEQ, FRV_INSN_FTILG, FRV_INSN_FTIUE, FRV_INSN_FTIUL
+ , FRV_INSN_FTIGE, FRV_INSN_FTILT, FRV_INSN_FTIUGE, FRV_INSN_FTIUG
+ , FRV_INSN_FTILE, FRV_INSN_FTIGT, FRV_INSN_FTIULE, FRV_INSN_FTIU
+ , FRV_INSN_FTIO, FRV_INSN_BREAK, FRV_INSN_MTRAP, FRV_INSN_ANDCR
+ , FRV_INSN_ORCR, FRV_INSN_XORCR, FRV_INSN_NANDCR, FRV_INSN_NORCR
+ , FRV_INSN_ANDNCR, FRV_INSN_ORNCR, FRV_INSN_NANDNCR, FRV_INSN_NORNCR
+ , FRV_INSN_NOTCR, FRV_INSN_CKRA, FRV_INSN_CKNO, FRV_INSN_CKEQ
+ , FRV_INSN_CKNE, FRV_INSN_CKLE, FRV_INSN_CKGT, FRV_INSN_CKLT
+ , FRV_INSN_CKGE, FRV_INSN_CKLS, FRV_INSN_CKHI, FRV_INSN_CKC
+ , FRV_INSN_CKNC, FRV_INSN_CKN, FRV_INSN_CKP, FRV_INSN_CKV
+ , FRV_INSN_CKNV, FRV_INSN_FCKRA, FRV_INSN_FCKNO, FRV_INSN_FCKNE
+ , FRV_INSN_FCKEQ, FRV_INSN_FCKLG, FRV_INSN_FCKUE, FRV_INSN_FCKUL
+ , FRV_INSN_FCKGE, FRV_INSN_FCKLT, FRV_INSN_FCKUGE, FRV_INSN_FCKUG
+ , FRV_INSN_FCKLE, FRV_INSN_FCKGT, FRV_INSN_FCKULE, FRV_INSN_FCKU
+ , FRV_INSN_FCKO, FRV_INSN_CCKRA, FRV_INSN_CCKNO, FRV_INSN_CCKEQ
+ , FRV_INSN_CCKNE, FRV_INSN_CCKLE, FRV_INSN_CCKGT, FRV_INSN_CCKLT
+ , FRV_INSN_CCKGE, FRV_INSN_CCKLS, FRV_INSN_CCKHI, FRV_INSN_CCKC
+ , FRV_INSN_CCKNC, FRV_INSN_CCKN, FRV_INSN_CCKP, FRV_INSN_CCKV
+ , FRV_INSN_CCKNV, FRV_INSN_CFCKRA, FRV_INSN_CFCKNO, FRV_INSN_CFCKNE
+ , FRV_INSN_CFCKEQ, FRV_INSN_CFCKLG, FRV_INSN_CFCKUE, FRV_INSN_CFCKUL
+ , FRV_INSN_CFCKGE, FRV_INSN_CFCKLT, FRV_INSN_CFCKUGE, FRV_INSN_CFCKUG
+ , FRV_INSN_CFCKLE, FRV_INSN_CFCKGT, FRV_INSN_CFCKULE, FRV_INSN_CFCKU
+ , FRV_INSN_CFCKO, FRV_INSN_CJMPL, FRV_INSN_CCALLL, FRV_INSN_ICI
+ , FRV_INSN_DCI, FRV_INSN_ICEI, FRV_INSN_DCEI, FRV_INSN_DCF
+ , FRV_INSN_DCEF, FRV_INSN_WITLB, FRV_INSN_WDTLB, FRV_INSN_ITLBI
+ , FRV_INSN_DTLBI, FRV_INSN_ICPL, FRV_INSN_DCPL, FRV_INSN_ICUL
+ , FRV_INSN_DCUL, FRV_INSN_BAR, FRV_INSN_MEMBAR, FRV_INSN_LRAI
+ , FRV_INSN_LRAD, FRV_INSN_TLBPR, FRV_INSN_COP1, FRV_INSN_COP2
+ , FRV_INSN_CLRGR, FRV_INSN_CLRFR, FRV_INSN_CLRGA, FRV_INSN_CLRFA
+ , FRV_INSN_COMMITGR, FRV_INSN_COMMITFR, FRV_INSN_COMMITGA, FRV_INSN_COMMITFA
+ , FRV_INSN_FITOS, FRV_INSN_FSTOI, FRV_INSN_FITOD, FRV_INSN_FDTOI
+ , FRV_INSN_FDITOS, FRV_INSN_FDSTOI, FRV_INSN_NFDITOS, FRV_INSN_NFDSTOI
+ , FRV_INSN_CFITOS, FRV_INSN_CFSTOI, FRV_INSN_NFITOS, FRV_INSN_NFSTOI
+ , FRV_INSN_FMOVS, FRV_INSN_FMOVD, FRV_INSN_FDMOVS, FRV_INSN_CFMOVS
+ , FRV_INSN_FNEGS, FRV_INSN_FNEGD, FRV_INSN_FDNEGS, FRV_INSN_CFNEGS
+ , FRV_INSN_FABSS, FRV_INSN_FABSD, FRV_INSN_FDABSS, FRV_INSN_CFABSS
+ , FRV_INSN_FSQRTS, FRV_INSN_FDSQRTS, FRV_INSN_NFDSQRTS, FRV_INSN_FSQRTD
+ , FRV_INSN_CFSQRTS, FRV_INSN_NFSQRTS, FRV_INSN_FADDS, FRV_INSN_FSUBS
+ , FRV_INSN_FMULS, FRV_INSN_FDIVS, FRV_INSN_FADDD, FRV_INSN_FSUBD
+ , FRV_INSN_FMULD, FRV_INSN_FDIVD, FRV_INSN_CFADDS, FRV_INSN_CFSUBS
+ , FRV_INSN_CFMULS, FRV_INSN_CFDIVS, FRV_INSN_NFADDS, FRV_INSN_NFSUBS
+ , FRV_INSN_NFMULS, FRV_INSN_NFDIVS, FRV_INSN_FCMPS, FRV_INSN_FCMPD
+ , FRV_INSN_CFCMPS, FRV_INSN_FDCMPS, FRV_INSN_FMADDS, FRV_INSN_FMSUBS
+ , FRV_INSN_FMADDD, FRV_INSN_FMSUBD, FRV_INSN_FDMADDS, FRV_INSN_NFDMADDS
+ , FRV_INSN_CFMADDS, FRV_INSN_CFMSUBS, FRV_INSN_NFMADDS, FRV_INSN_NFMSUBS
+ , FRV_INSN_FMAS, FRV_INSN_FMSS, FRV_INSN_FDMAS, FRV_INSN_FDMSS
+ , FRV_INSN_NFDMAS, FRV_INSN_NFDMSS, FRV_INSN_CFMAS, FRV_INSN_CFMSS
+ , FRV_INSN_FMAD, FRV_INSN_FMSD, FRV_INSN_NFMAS, FRV_INSN_NFMSS
+ , FRV_INSN_FDADDS, FRV_INSN_FDSUBS, FRV_INSN_FDMULS, FRV_INSN_FDDIVS
+ , FRV_INSN_FDSADS, FRV_INSN_FDMULCS, FRV_INSN_NFDMULCS, FRV_INSN_NFDADDS
+ , FRV_INSN_NFDSUBS, FRV_INSN_NFDMULS, FRV_INSN_NFDDIVS, FRV_INSN_NFDSADS
+ , FRV_INSN_NFDCMPS, FRV_INSN_MHSETLOS, FRV_INSN_MHSETHIS, FRV_INSN_MHDSETS
+ , FRV_INSN_MHSETLOH, FRV_INSN_MHSETHIH, FRV_INSN_MHDSETH, FRV_INSN_MAND
+ , FRV_INSN_MOR, FRV_INSN_MXOR, FRV_INSN_CMAND, FRV_INSN_CMOR
+ , FRV_INSN_CMXOR, FRV_INSN_MNOT, FRV_INSN_CMNOT, FRV_INSN_MROTLI
+ , FRV_INSN_MROTRI, FRV_INSN_MWCUT, FRV_INSN_MWCUTI, FRV_INSN_MCUT
+ , FRV_INSN_MCUTI, FRV_INSN_MCUTSS, FRV_INSN_MCUTSSI, FRV_INSN_MDCUTSSI
+ , FRV_INSN_MAVEH, FRV_INSN_MSLLHI, FRV_INSN_MSRLHI, FRV_INSN_MSRAHI
+ , FRV_INSN_MDROTLI, FRV_INSN_MCPLHI, FRV_INSN_MCPLI, FRV_INSN_MSATHS
+ , FRV_INSN_MQSATHS, FRV_INSN_MSATHU, FRV_INSN_MCMPSH, FRV_INSN_MCMPUH
+ , FRV_INSN_MABSHS, FRV_INSN_MADDHSS, FRV_INSN_MADDHUS, FRV_INSN_MSUBHSS
+ , FRV_INSN_MSUBHUS, FRV_INSN_CMADDHSS, FRV_INSN_CMADDHUS, FRV_INSN_CMSUBHSS
+ , FRV_INSN_CMSUBHUS, FRV_INSN_MQADDHSS, FRV_INSN_MQADDHUS, FRV_INSN_MQSUBHSS
+ , FRV_INSN_MQSUBHUS, FRV_INSN_CMQADDHSS, FRV_INSN_CMQADDHUS, FRV_INSN_CMQSUBHSS
+ , FRV_INSN_CMQSUBHUS, FRV_INSN_MQLCLRHS, FRV_INSN_MQLMTHS, FRV_INSN_MQSLLHI
+ , FRV_INSN_MQSRAHI, FRV_INSN_MADDACCS, FRV_INSN_MSUBACCS, FRV_INSN_MDADDACCS
+ , FRV_INSN_MDSUBACCS, FRV_INSN_MASACCS, FRV_INSN_MDASACCS, FRV_INSN_MMULHS
+ , FRV_INSN_MMULHU, FRV_INSN_MMULXHS, FRV_INSN_MMULXHU, FRV_INSN_CMMULHS
+ , FRV_INSN_CMMULHU, FRV_INSN_MQMULHS, FRV_INSN_MQMULHU, FRV_INSN_MQMULXHS
+ , FRV_INSN_MQMULXHU, FRV_INSN_CMQMULHS, FRV_INSN_CMQMULHU, FRV_INSN_MMACHS
+ , FRV_INSN_MMACHU, FRV_INSN_MMRDHS, FRV_INSN_MMRDHU, FRV_INSN_CMMACHS
+ , FRV_INSN_CMMACHU, FRV_INSN_MQMACHS, FRV_INSN_MQMACHU, FRV_INSN_CMQMACHS
+ , FRV_INSN_CMQMACHU, FRV_INSN_MQXMACHS, FRV_INSN_MQXMACXHS, FRV_INSN_MQMACXHS
+ , FRV_INSN_MCPXRS, FRV_INSN_MCPXRU, FRV_INSN_MCPXIS, FRV_INSN_MCPXIU
+ , FRV_INSN_CMCPXRS, FRV_INSN_CMCPXRU, FRV_INSN_CMCPXIS, FRV_INSN_CMCPXIU
+ , FRV_INSN_MQCPXRS, FRV_INSN_MQCPXRU, FRV_INSN_MQCPXIS, FRV_INSN_MQCPXIU
+ , FRV_INSN_MEXPDHW, FRV_INSN_CMEXPDHW, FRV_INSN_MEXPDHD, FRV_INSN_CMEXPDHD
+ , FRV_INSN_MPACKH, FRV_INSN_MDPACKH, FRV_INSN_MUNPACKH, FRV_INSN_MDUNPACKH
+ , FRV_INSN_MBTOH, FRV_INSN_CMBTOH, FRV_INSN_MHTOB, FRV_INSN_CMHTOB
+ , FRV_INSN_MBTOHE, FRV_INSN_CMBTOHE, FRV_INSN_MNOP, FRV_INSN_MCLRACC_0
+ , FRV_INSN_MCLRACC_1, FRV_INSN_MRDACC, FRV_INSN_MRDACCG, FRV_INSN_MWTACC
+ , FRV_INSN_MWTACCG, FRV_INSN_MCOP1, FRV_INSN_MCOP2, FRV_INSN_FNOP
} CGEN_INSN_TYPE;
/* Index of `invalid' insn place holder. */
@@ -329,6 +328,11 @@ struct cgen_fields
long f_labelH6;
long f_labelL18;
long f_label24;
+ long f_LRAE;
+ long f_LRAD;
+ long f_LRAS;
+ long f_TLBPRopx;
+ long f_TLBPRL;
long f_ICCi_1_null;
long f_ICCi_2_null;
long f_ICCi_3_null;
@@ -358,6 +362,8 @@ struct cgen_fields
long f_misc_null_9;
long f_misc_null_10;
long f_misc_null_11;
+ long f_LRA_null;
+ long f_TLBPR_null;
long f_LI_off;
long f_LI_on;
};
diff --git a/opcodes/h8300-dis.c b/opcodes/h8300-dis.c
index 895a9ef..2587919 100644
--- a/opcodes/h8300-dis.c
+++ b/opcodes/h8300-dis.c
@@ -716,6 +716,17 @@ bfd_h8_disassemble (addr, info, mach)
int hadone = 0;
int nargs;
+ /* Special case handling for the adds and subs instructions
+ since in H8 mode thay can only take the r0-r7 registers but
+ in other (higher) modes they can take the er0-er7 registers
+ as well. */
+ if (strcmp (qi->opcode->name, "adds") == 0
+ || strcmp (qi->opcode->name, "subs") == 0)
+ {
+ outfn (stream, "#%d,%s", cst[0], pregnames[regno[1] & 0x7]);
+ return qi->length;
+ }
+
for (nargs = 0;
nargs < 3 && args[nargs] != (op_type) E;
nargs++)
diff --git a/opcodes/m32r-asm.c b/opcodes/m32r-asm.c
index 8c2cc81..87c33f0 100644
--- a/opcodes/m32r-asm.c
+++ b/opcodes/m32r-asm.c
@@ -4,7 +4,7 @@
THIS FILE IS MACHINE GENERATED WITH CGEN.
- the resultant file is machine generated, cgen-asm.in isn't
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
This file is part of the GNU Binutils and GDB, the GNU debugger.
@@ -111,7 +111,10 @@ parse_hi16 (cd, strp, opindex, valuep)
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value = (value >> 16) + (value & 0x8000 ? 1 : 0);
+ {
+ value = value + (value & 0x8000 ? 0x10000 : 0);
+ value >>= 16;
+ }
*valuep = value;
return errmsg;
}
diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c
index bfd8c89..365d54a 100644
--- a/opcodes/m68k-dis.c
+++ b/opcodes/m68k-dis.c
@@ -1,6 +1,6 @@
/* Print Motorola 68k instructions.
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify
@@ -264,16 +264,19 @@ print_insn_m68k (memaddr, info)
arch_mask = mcf5200;
break;
case bfd_mach_mcf528x:
- arch_mask = mcf528x;
+ arch_mask = mcf528x | mcfmac;
break;
case bfd_mach_mcf5206e:
- arch_mask = mcf5206e;
+ arch_mask = mcf5206e | mcfmac;
break;
case bfd_mach_mcf5307:
- arch_mask = mcf5307;
+ arch_mask = mcf5307 | mcfmac;
break;
case bfd_mach_mcf5407:
- arch_mask = mcf5407;
+ arch_mask = mcf5407 | mcfmac;
+ break;
+ case bfd_mach_mcfv4e:
+ arch_mask = mcfv4e | mcfemac;
break;
}
@@ -736,6 +739,24 @@ print_insn_arg (d, buffer, p0, addr, info)
fpcr_names[fetch_arg (buffer, place, 3, info)]);
break;
+ case 'e':
+ val = fetch_arg(buffer, place, 2, info);
+ (*info->fprintf_func) (info->stream, "%%acc%d", val);
+ break;
+
+ case 'g':
+ val = fetch_arg(buffer, place, 2, info);
+ (*info->fprintf_func) (info->stream, "%%accext%s", val==0 ? "01" : "23");
+ break;
+
+ case 'i':
+ val = fetch_arg(buffer, place, 2, info);
+ if (val == 1)
+ (*info->fprintf_func) (info->stream, "<<");
+ else if (val == 3)
+ (*info->fprintf_func) (info->stream, ">>");
+ break;
+
case 'I':
/* Get coprocessor ID... */
val = fetch_arg (buffer, 'd', 3, info);
@@ -744,6 +765,7 @@ print_insn_arg (d, buffer, p0, addr, info)
(*info->fprintf_func) (info->stream, "(cpid=%d) ", val);
break;
+ case '4':
case '*':
case '~':
case '%':
@@ -881,6 +903,16 @@ print_insn_arg (d, buffer, p0, addr, info)
return -1;
}
}
+
+ /* If place is '/', then this is the case of the mask bit for
+ mac/emac loads. Now that the arg has been printed, grab the
+ mask bit and if set, add a '&' to the arg. */
+ if (place == '/')
+ {
+ val = fetch_arg (buffer, place, 1, info);
+ if (val)
+ (*info->fprintf_func) (info->stream, "&");
+ }
break;
case 'L':
@@ -1075,6 +1107,34 @@ fetch_arg (buffer, code, bits, info)
register int val = 0;
switch (code)
{
+ case '/': /* MAC/EMAC mask bit. */
+ val = buffer[3] >> 5;
+ break;
+
+ case 'G': /* EMAC ACC load. */
+ val = ((buffer[3] >> 3) & 0x2) | ((~buffer[2] >> 7) & 0x1);
+ break;
+
+ case 'H': /* EMAC ACC !load. */
+ val = ((buffer[3] >> 3) & 0x2) | ((buffer[2] >> 7) & 0x1);
+ break;
+
+ case ']': /* EMAC ACCEXT bit. */
+ val = buffer[0] >> 2;
+ break;
+
+ case 'I': /* MAC/EMAC scale factor. */
+ val = buffer[0] >> 1;
+ break;
+
+ case 'F': /* EMAC ACCx. */
+ val = buffer[0] >> 1;
+ break;
+
+ case 'f':
+ val = buffer[0];
+ break;
+
case 's':
val = buffer[1];
break;
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c
index 8fa6c0e..805a0fb 100644
--- a/opcodes/m68k-opc.c
+++ b/opcodes/m68k-opc.c
@@ -1,6 +1,6 @@
/* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2003
+ 2000, 2001, 2003, 2004
Free Software Foundation, Inc.
This file is part of GDB, GAS, and the GNU binutils.
@@ -1459,44 +1459,33 @@ const struct m68k_opcode m68k_opcodes[] =
{"lsrl", one(0160210), one(0170770), "QdDs", m68000up | mcf },
{"lsrl", one(0160250), one(0170770), "DdDs", m68000up | mcf },
- /* FIXME: add MAM mode (`&' after <ea> operand) / remove MACM */
-{"macw", two(0120000, 0000000), two(0170660, 0005400), "uMum", mcf5206eup },
-{"macw", two(0120000, 0001000), two(0170660, 0005400), "uMumMh",mcf5206eup },
-{"macw", two(0120220, 0000000), two(0170670, 0005460), "uNuoasRn", mcf5206eup },
-{"macw", two(0120230, 0000000), two(0170670, 0005460), "uNuo+sRn", mcf5206eup },
-{"macw", two(0120240, 0000000), two(0170670, 0005460), "uNuo-sRn", mcf5206eup },
-{"macw", two(0120250, 0000000), two(0170670, 0005460), "uNuodsRn", mcf5206eup },
-{"macw", two(0120220, 0001000), two(0170670, 0005460), "uNuoMhasRn", mcf5206eup },
-{"macw", two(0120230, 0001000), two(0170670, 0005460), "uNuoMh+sRn", mcf5206eup },
-{"macw", two(0120240, 0001000), two(0170670, 0005460), "uNuoMh-sRn", mcf5206eup },
-{"macw", two(0120250, 0001000), two(0170670, 0005460), "uNuoMhdsRn", mcf5206eup },
-{"macmw", two(0120220, 0000040), two(0170670, 0005460), "uNuoasRn", mcf5206eup },
-{"macmw", two(0120230, 0000040), two(0170670, 0005460), "uNuo+sRn", mcf5206eup },
-{"macmw", two(0120240, 0000040), two(0170670, 0005460), "uNuo-sRn", mcf5206eup },
-{"macmw", two(0120250, 0000040), two(0170670, 0005460), "uNuodsRn", mcf5206eup },
-{"macmw", two(0120220, 0001040), two(0170670, 0005460), "uNuoMhasRn", mcf5206eup },
-{"macmw", two(0120230, 0001040), two(0170670, 0005460), "uNuoMh+sRn", mcf5206eup },
-{"macmw", two(0120240, 0001040), two(0170670, 0005460), "uNuoMh-sRn", mcf5206eup },
-{"macmw", two(0120250, 0001040), two(0170670, 0005460), "uNuoMhdsRn", mcf5206eup },
-
-{"macl", two(0120000, 0004000), two(0170660, 0005400), "RsRm", mcf5206eup },
-{"macl", two(0120000, 0005000), two(0170660, 0005400), "RsRmMh", mcf5206eup },
-{"macl", two(0120220, 0004000), two(0170670, 0005460), "R3R1asRn", mcf5206eup },
-{"macl", two(0120230, 0004000), two(0170670, 0005460), "R3R1+sRn", mcf5206eup },
-{"macl", two(0120240, 0004000), two(0170670, 0005460), "R3R1-sRn", mcf5206eup },
-{"macl", two(0120250, 0004000), two(0170670, 0005460), "R3R1dsRn", mcf5206eup },
-{"macl", two(0120220, 0005000), two(0170670, 0005460), "R3R1MhasRn", mcf5206eup },
-{"macl", two(0120230, 0005000), two(0170670, 0005460), "R3R1Mh+sRn", mcf5206eup },
-{"macl", two(0120240, 0005000), two(0170670, 0005460), "R3R1Mh-sRn", mcf5206eup },
-{"macl", two(0120250, 0005000), two(0170670, 0005460), "R3R1MhdsRn", mcf5206eup },
-{"macml", two(0120220, 0004040), two(0170670, 0005460), "R3R1asRn", mcf5206eup },
-{"macml", two(0120230, 0004040), two(0170670, 0005460), "R3R1+sRn", mcf5206eup },
-{"macml", two(0120240, 0004040), two(0170670, 0005460), "R3R1-sRn", mcf5206eup },
-{"macml", two(0120250, 0004040), two(0170670, 0005460), "R3R1dsRn", mcf5206eup },
-{"macml", two(0120220, 0005040), two(0170670, 0005460), "R3R1MhasRn", mcf5206eup },
-{"macml", two(0120230, 0005040), two(0170670, 0005460), "R3R1Mh+sRn", mcf5206eup },
-{"macml", two(0120240, 0005040), two(0170670, 0005460), "R3R1Mh-sRn", mcf5206eup },
-{"macml", two(0120250, 0005040), two(0170670, 0005460), "R3R1MhdsRn", mcf5206eup },
+{"macw", two(0xa000, 0x0000), two(0xf1b0, 0x0800), "uMum", mcfmac },
+{"macw", two(0xa000, 0x0000), two(0xf1b0, 0x0b00), "uMumiI", mcfmac },
+{"macw", two(0xa000, 0x0200), two(0xf1b0, 0x0b00), "uMumMh", mcfmac },
+{"macw", two(0xa080, 0x0000), two(0xf180, 0x0f30), "uNuo4/Rn", mcfmac },
+{"macw", two(0xa080, 0x0000), two(0xf180, 0x0910), "uNuoiI4/Rn", mcfmac },
+{"macw", two(0xa080, 0x0200), two(0xf180, 0x0910), "uNuoMh4/Rn", mcfmac },
+
+{"macw", two(0xa000, 0x0000), two(0xf130, 0x0f00), "uMumeH", mcfemac }, /* Ry,Rx,accX. */
+{"macw", two(0xa000, 0x0000), two(0xf130, 0x0900), "uMumiIeH", mcfemac },/* Ry,Rx,SF,accX. */
+{"macw", two(0xa000, 0x0200), two(0xf130, 0x0900), "uMumMheH", mcfemac },/* Ry,Rx,+1/-1,accX. */
+{"macw", two(0xa000, 0x0000), two(0xf100, 0x0f00), "uMum4/RneG", mcfemac },/* Ry,Rx,<ea>,accX. */
+{"macw", two(0xa000, 0x0000), two(0xf100, 0x0900), "uMumiI4/RneG", mcfemac },/* Ry,Rx,SF,<ea>,accX. */
+{"macw", two(0xa000, 0x0200), two(0xf100, 0x0900), "uMumMh4/RneG", mcfemac },/* Ry,Rx,+1/-1,<ea>,accX. */
+
+{"macl", two(0xa000, 0x0800), two(0xf1b0, 0x0800), "RMRm", mcfmac },
+{"macl", two(0xa000, 0x0800), two(0xf1b0, 0x0b00), "RMRmiI", mcfmac },
+{"macl", two(0xa000, 0x0a00), two(0xf1b0, 0x0b00), "RMRmMh", mcfmac },
+{"macl", two(0xa080, 0x0800), two(0xf180, 0x0f30), "RNRo4/Rn", mcfmac },
+{"macl", two(0xa080, 0x0800), two(0xf180, 0x0910), "RNRoiI4/Rn", mcfmac },
+{"macl", two(0xa080, 0x0a00), two(0xf180, 0x0910), "RNRoMh4/Rn", mcfmac },
+
+{"macl", two(0xa000, 0x0800), two(0xf130, 0x0f00), "RMRmeH", mcfemac },
+{"macl", two(0xa000, 0x0800), two(0xf130, 0x0900), "RMRmiIeH", mcfemac },
+{"macl", two(0xa000, 0x0a00), two(0xf130, 0x0900), "RMRmMheH", mcfemac },
+{"macl", two(0xa000, 0x0800), two(0xf100, 0x0f00), "R3R14/RneG", mcfemac },
+{"macl", two(0xa000, 0x0800), two(0xf100, 0x0900), "R3R1iI4/RneG", mcfemac },
+{"macl", two(0xa000, 0x0a00), two(0xf100, 0x0900), "R3R1Mh4/RneG", mcfemac },
/* NOTE: The mcf5200 family programmer's reference manual does not
indicate the byte form of the movea instruction is invalid (as it
@@ -1518,6 +1507,8 @@ const struct m68k_opcode m68k_opcodes[] =
{"moveal", one(0020100), one(0170700), "*lAd", m68000up | mcf },
{"moveaw", one(0030100), one(0170700), "*wAd", m68000up | mcf },
+{"movclrl", one(0xA1C0), one(0xf9f0), "eFRs", mcfemac },
+
{"movec", one(0047173), one(0177777), "R1Jj", m68010up | mcf },
{"movec", one(0047173), one(0177777), "R1#j", m68010up | mcf },
{"movec", one(0047172), one(0177777), "JjR1", m68010up },
@@ -1588,16 +1579,31 @@ const struct m68k_opcode m68k_opcodes[] =
{"movel", one(0020000), one(0170000), "olnd", mcfv4up },
{"movel", one(0047140), one(0177770), "AsUd", m68000up | mcfv4e },
{"movel", one(0047150), one(0177770), "UdAs", m68000up | mcfv4e },
-{"movel", one(0120600), one(0177760), "EsRs", mcf5206eup },
-{"movel", one(0120400), one(0177760), "RsEs", mcf5206eup },
-{"movel", one(0120474), one(0177777), "#lEs", mcf5206eup },
-{"movel", one(0124600), one(0177760), "GsRs", mcf5206eup },
-{"movel", one(0124400), one(0177760), "RsGs", mcf5206eup },
-{"movel", one(0124474), one(0177777), "#lGs", mcf5206eup },
-{"movel", one(0126600), one(0177760), "HsRs", mcf5206eup },
-{"movel", one(0126400), one(0177760), "RsHs", mcf5206eup },
-{"movel", one(0126474), one(0177777), "#lHs", mcf5206eup },
-{"movel", one(0124700), one(0177777), "GsCs", mcf5206eup },
+{"movel", one(0120600), one(0177760), "EsRs", mcfmac },
+{"movel", one(0120400), one(0177760), "RsEs", mcfmac },
+{"movel", one(0120474), one(0177777), "#lEs", mcfmac },
+{"movel", one(0124600), one(0177760), "GsRs", mcfmac },
+{"movel", one(0124400), one(0177760), "RsGs", mcfmac },
+{"movel", one(0124474), one(0177777), "#lGs", mcfmac },
+{"movel", one(0126600), one(0177760), "HsRs", mcfmac },
+{"movel", one(0126400), one(0177760), "RsHs", mcfmac },
+{"movel", one(0126474), one(0177777), "#lHs", mcfmac },
+{"movel", one(0124700), one(0177777), "GsCs", mcfmac },
+
+{"movel", one(0xa180), one(0xf9f0), "eFRs", mcfemac }, /* ACCx,Rx. */
+{"movel", one(0xab80), one(0xfbf0), "g]Rs", mcfemac }, /* ACCEXTx,Rx. */
+{"movel", one(0xa980), one(0xfff0), "G-Rs", mcfemac }, /* macsr,Rx. */
+{"movel", one(0xad80), one(0xfff0), "H-Rs", mcfemac }, /* mask,Rx. */
+{"movel", one(0xa110), one(0xf9fc), "efeF", mcfemac }, /* ACCy,ACCx. */
+{"movel", one(0xa9c0), one(0xffff), "G-C-", mcfemac }, /* macsr,ccr. */
+{"movel", one(0xa100), one(0xf9f0), "RseF", mcfemac }, /* Rx,ACCx. */
+{"movel", one(0xa13c), one(0xf9ff), "#leF", mcfemac }, /* #,ACCx. */
+{"movel", one(0xab00), one(0xfbc0), "Rsg]", mcfemac }, /* Rx,ACCEXTx. */
+{"movel", one(0xab3c), one(0xfbff), "#lg]", mcfemac }, /* #,ACCEXTx. */
+{"movel", one(0xa900), one(0xffc0), "RsG-", mcfemac }, /* Rx,macsr. */
+{"movel", one(0xa93c), one(0xffff), "#lG-", mcfemac }, /* #,macsr. */
+{"movel", one(0xad00), one(0xffc0), "RsH-", mcfemac }, /* Rx,mask. */
+{"movel", one(0xad3c), one(0xffff), "#lH-", mcfemac }, /* #,mask. */
{"move", one(0030000), one(0170000), "*w%d", m68000up },
{"move", one(0030000), one(0170000), "ms%d", mcf },
@@ -1637,44 +1643,33 @@ const struct m68k_opcode m68k_opcodes[] =
{"move16", one(0xf610), one(0xfff8), "as_L", m68040up },
{"move16", one(0xf618), one(0xfff8), "_Las", m68040up },
- /* FIXME: add MAM mode (`&' after <ea> operand) / remove MSACM */
-{"msacw", two(0120000, 0000400), two(0170660, 0005400), "uMum", mcf5206eup },
-{"msacw", two(0120000, 0001400), two(0170660, 0005400), "uMumMh", mcf5206eup },
-{"msacw", two(0120220, 0000400), two(0170670, 0005460), "uNuoasRn", mcf5206eup },
-{"msacw", two(0120230, 0000400), two(0170670, 0005460), "uNuo+sRn", mcf5206eup },
-{"msacw", two(0120240, 0000400), two(0170670, 0005460), "uNuo-sRn", mcf5206eup },
-{"msacw", two(0120250, 0000400), two(0170670, 0005460), "uNuodsRn", mcf5206eup },
-{"msacw", two(0120220, 0001400), two(0170670, 0005460), "uNuoMhasRn", mcf5206eup },
-{"msacw", two(0120230, 0001400), two(0170670, 0005460), "uNuoMh+sRn", mcf5206eup },
-{"msacw", two(0120240, 0001400), two(0170670, 0005460), "uNuoMh-sRn", mcf5206eup },
-{"msacw", two(0120250, 0001400), two(0170670, 0005460), "uNuoMhdsRn", mcf5206eup },
-{"msacmw", two(0120220, 0000440), two(0170670, 0005460), "uNuoasRn", mcf5206eup },
-{"msacmw", two(0120230, 0000440), two(0170670, 0005460), "uNuo+sRn", mcf5206eup },
-{"msacmw", two(0120240, 0000440), two(0170670, 0005460), "uNuo-sRn", mcf5206eup },
-{"msacmw", two(0120250, 0000440), two(0170670, 0005460), "uNuodsRn", mcf5206eup },
-{"msacmw", two(0120220, 0001440), two(0170670, 0005460), "uNuoMhasRn", mcf5206eup },
-{"msacmw", two(0120230, 0001440), two(0170670, 0005460), "uNuoMh+sRn", mcf5206eup },
-{"msacmw", two(0120240, 0001440), two(0170670, 0005460), "uNuoMh-sRn", mcf5206eup },
-{"msacmw", two(0120250, 0001440), two(0170670, 0005460), "uNuoMhdsRn", mcf5206eup },
-
-{"msacl", two(0120000, 0004400), two(0170660, 0005400), "RsRm", mcf5206eup },
-{"msacl", two(0120000, 0005400), two(0170660, 0005400), "RsRmMh", mcf5206eup },
-{"msacl", two(0120220, 0004400), two(0170670, 0005460), "R3R1asRn", mcf5206eup },
-{"msacl", two(0120230, 0004400), two(0170670, 0005460), "R3R1+sRn", mcf5206eup },
-{"msacl", two(0120240, 0004400), two(0170670, 0005460), "R3R1-sRn", mcf5206eup },
-{"msacl", two(0120250, 0004400), two(0170670, 0005460), "R3R1dsRn", mcf5206eup },
-{"msacl", two(0120220, 0005400), two(0170670, 0005460), "R3R1MhasRn", mcf5206eup },
-{"msacl", two(0120230, 0005400), two(0170670, 0005460), "R3R1Mh+sRn", mcf5206eup },
-{"msacl", two(0120240, 0005400), two(0170670, 0005460), "R3R1Mh-sRn", mcf5206eup },
-{"msacl", two(0120250, 0005400), two(0170670, 0005460), "R3R1MhdsRn", mcf5206eup },
-{"msacml", two(0120220, 0004440), two(0170670, 0005460), "R3R1asRn", mcf5206eup },
-{"msacml", two(0120230, 0004440), two(0170670, 0005460), "R3R1+sRn", mcf5206eup },
-{"msacml", two(0120240, 0004440), two(0170670, 0005460), "R3R1-sRn", mcf5206eup },
-{"msacml", two(0120250, 0004440), two(0170670, 0005460), "R3R1dsRn", mcf5206eup },
-{"msacml", two(0120220, 0005440), two(0170670, 0005460), "R3R1MhasRn", mcf5206eup },
-{"msacml", two(0120230, 0005440), two(0170670, 0005460), "R3R1Mh+sRn", mcf5206eup },
-{"msacml", two(0120240, 0005440), two(0170670, 0005460), "R3R1Mh-sRn", mcf5206eup },
-{"msacml", two(0120250, 0005440), two(0170670, 0005460), "R3R1MhdsRn", mcf5206eup },
+{"msacw", two(0xa000, 0x0100), two(0xf1b0, 0x0800), "uMum", mcfmac },
+{"msacw", two(0xa000, 0x0100), two(0xf1b0, 0x0b00), "uMumiI", mcfmac },
+{"msacw", two(0xa000, 0x0300), two(0xf1b0, 0x0b00), "uMumMh", mcfmac },
+{"msacw", two(0xa080, 0x0100), two(0xf180, 0x0f30), "uNuo4/Rn", mcfmac },
+{"msacw", two(0xa080, 0x0100), two(0xf180, 0x0910), "uNuoiI4/Rn", mcfmac },
+{"msacw", two(0xa080, 0x0300), two(0xf180, 0x0910), "uNuoMh4/Rn", mcfmac },
+
+{"msacw", two(0xa000, 0x0100), two(0xf130, 0x0f00), "uMumeH", mcfemac }, /* Ry,Rx,accX. */
+{"msacw", two(0xa000, 0x0100), two(0xf130, 0x0900), "uMumiIeH", mcfemac },/* Ry,Rx,SF,accX. */
+{"msacw", two(0xa000, 0x0300), two(0xf130, 0x0900), "uMumMheH", mcfemac },/* Ry,Rx,+1/-1,accX. */
+{"msacw", two(0xa000, 0x0100), two(0xf100, 0x0f00), "uMum4/RneG", mcfemac },/* Ry,Rx,<ea>,accX. */
+{"msacw", two(0xa000, 0x0100), two(0xf100, 0x0900), "uMumiI4/RneG", mcfemac },/* Ry,Rx,SF,<ea>,accX. */
+{"msacw", two(0xa000, 0x0300), two(0xf100, 0x0900), "uMumMh4/RneG", mcfemac },/* Ry,Rx,+1/-1,<ea>,accX. */
+
+{"msacl", two(0xa000, 0x0900), two(0xf1b0, 0x0800), "RMRm", mcfmac },
+{"msacl", two(0xa000, 0x0900), two(0xf1b0, 0x0b00), "RMRmiI", mcfmac },
+{"msacl", two(0xa000, 0x0b00), two(0xf1b0, 0x0b00), "RMRmMh", mcfmac },
+{"msacl", two(0xa080, 0x0900), two(0xf180, 0x0f30), "RNRo4/Rn", mcfmac },
+{"msacl", two(0xa080, 0x0900), two(0xf180, 0x0910), "RNRoiI4/Rn", mcfmac },
+{"msacl", two(0xa080, 0x0b00), two(0xf180, 0x0910), "RNRoMh4/Rn", mcfmac },
+
+{"msacl", two(0xa000, 0x0900), two(0xf130, 0x0f00), "RMRmeH", mcfemac },
+{"msacl", two(0xa000, 0x0900), two(0xf130, 0x0900), "RMRmiIeH", mcfemac },
+{"msacl", two(0xa000, 0x0b00), two(0xf130, 0x0900), "RMRmMheH", mcfemac },
+{"msacl", two(0xa000, 0x0900), two(0xf100, 0x0f00), "R3R14/RneG", mcfemac },
+{"msacl", two(0xa000, 0x0900), two(0xf100, 0x0900), "R3R1iI4/RneG", mcfemac },
+{"msacl", two(0xa000, 0x0b00), two(0xf100, 0x0900), "R3R1Mh4/RneG", mcfemac },
{"mulsw", one(0140700), one(0170700), ";wDd", m68000up|mcf },
{"mulsl", two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32 },
diff --git a/opcodes/mpw-config.in b/opcodes/mpw-config.in
deleted file mode 100644
index ff9be9d..0000000
--- a/opcodes/mpw-config.in
+++ /dev/null
@@ -1,27 +0,0 @@
-# Configuration fragment for opcodes.
-
-Set target_arch `echo {target_canonical} | sed -e 's/-.*-.*//'`
-
-Set archname ARCH_{target_arch}
-
-If "{target_arch}" =~ /m68k/
- Set BFD_MACHINES '"{o}"m68k-dis.c.o "{o}"m68k-opc.c.o'
-Else If "{target_arch}" =~ /powerpc/
- Set BFD_MACHINES '"{o}"ppc-dis.c.o "{o}"ppc-opc.c.o'
-Else If "{target_arch}" =~ /i386/
- Set BFD_MACHINES '"{o}"i386-dis.c.o'
-Else If "{target_arch}" =~ /mips/
- Set BFD_MACHINES '"{o}"mips-dis.c.o "{o}"mips-opc.c.o'
-Else If "{target_arch}" =~ /sh/
- Set BFD_MACHINES '"{o}"sh-dis.c.o'
-End If
-
-Echo '# Start from mpw-config.in' > "{o}"mk.tmp
-Echo "BFD_MACHINES = " {BFD_MACHINES} >> "{o}"mk.tmp
-Echo "ARCHDEFS = -d" {archname} >> "{o}"mk.tmp
-Echo '# End from mpw-config.in' >> "{o}"mk.tmp
-
-Echo '/* config.h. Generated by mpw-configure. */' > "{o}"config.new
-Echo '#include "mpw.h"' >> "{o}"config.new
-
-MoveIfChange "{o}"config.new "{o}"config.h
diff --git a/opcodes/mpw-make.sed b/opcodes/mpw-make.sed
deleted file mode 100644
index ee60486..0000000
--- a/opcodes/mpw-make.sed
+++ /dev/null
@@ -1,25 +0,0 @@
-# Sed commands to finish translating the opcodes Makefile.in into MPW syntax.
-
-# Empty HDEFINES.
-/HDEFINES/s/@HDEFINES@//
-
-# Fix pathnames to include directories.
-/^INCDIR = /s/^INCDIR = .*$/INCDIR = "{topsrcdir}"include/
-/^CSEARCH = /s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
-
-/BFD_MACHINES/s/@BFD_MACHINES@/{BFD_MACHINES}/
-/archdefs/s/@archdefs@/{ARCHDEFS}/
-
-# No PIC foolery in this environment.
-/@ALLLIBS@/s/@ALLLIBS@/{TARGETLIB}/
-/@PICLIST@/s/@PICLIST@//
-/@PICFLAG@/s/@PICFLAG@//
-/^{OFILES} \\Option-f stamp-picdir/,/^$/d
-
-# Remove the pic trickery from the default build rule.
-/^\.c\.o \\Option-f /,/End If/c\
-.c.o \\Option-f .c
-
-# Remove pic trickery from other rules - aimed at the rule
-# for disassemble.o in particular.
-/-n "{PICFLAG}"/,/End If/d
diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in
index f16a87b..333c612 100644
--- a/opcodes/po/POTFILES.in
+++ b/opcodes/po/POTFILES.in
@@ -18,6 +18,7 @@ d30v-dis.c
d30v-opc.c
disassemble.c
dis-buf.c
+dis-init.c
dlx-dis.c
fr30-asm.c
fr30-desc.c
diff --git a/opcodes/po/de.po b/opcodes/po/de.po
index 2914776..e802823 100644
--- a/opcodes/po/de.po
+++ b/opcodes/po/de.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: opcodes 2.12.91\n"
-"POT-Creation-Date: 2002-07-23 15:55-0400\n"
-"PO-Revision-Date: 2002-09-24 07:13+0200\n"
-"Last-Translator: Martin v. Löwis <martin@v.loewis.de>\n"
+"Project-Id-Version: opcodes 2.14rel030712\n"
+"POT-Creation-Date: 2003-07-11 13:56+0930\n"
+"PO-Revision-Date: 2004-02-28 12:30+0100\n"
+"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@@ -25,56 +25,60 @@ msgstr "Sprunghinweis ist nicht ausgerichtet (unaligned)."
msgid "Illegal limm reference in last instruction!\n"
msgstr "Ungültige limm-Referenz in der letzten Anweisung!\n"
-#: arm-dis.c:507
+#: arm-dis.c:554
msgid "<illegal precision>"
-msgstr "<ungültige Präzision>"
+msgstr "<ungültige Genauigkeit>"
-#: arm-dis.c:1010
+#: arm-dis.c:1162
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr "Unbekannte Registernamensmenge: %s\n"
-#: arm-dis.c:1017
+#: arm-dis.c:1169
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Unbekannte Disassembler-Option: %s\n"
-#: arm-dis.c:1191
+#: arm-dis.c:1343
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""
+"\n"
+"Die folgenden ARM-spezifischen Disassembleroptionen werden in Kombination\n"
+"mit dem Schalter »-M« unterstützt:\n"
-#: avr-dis.c:118 avr-dis.c:128
+#: avr-dis.c:117 avr-dis.c:127
msgid "undefined"
msgstr "undefiniert"
-#: avr-dis.c:180
+#: avr-dis.c:179
msgid "Internal disassembler error"
msgstr "Interner Disassemblerfehler."
-#: avr-dis.c:228
+#: avr-dis.c:227
#, c-format
msgid "unknown constraint `%c'"
-msgstr ""
+msgstr "Unbekannte Einschränkung »%c«"
-#: cgen-asm.c:346 fr30-ibld.c:195 frv-ibld.c:195 m32r-ibld.c:195
-#: openrisc-ibld.c:195 xstormy16-ibld.c:195
+#: cgen-asm.c:348 fr30-ibld.c:195 frv-ibld.c:195 ip2k-ibld.c:195
+#: iq2000-ibld.c:195 m32r-ibld.c:195 openrisc-ibld.c:195 xstormy16-ibld.c:195
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
-msgstr ""
+msgstr "Operand außerhalb des gültigen Bereichs (%ld ist nicht zwischen %ld und %ld)"
-#: cgen-asm.c:367
+#: cgen-asm.c:369
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
-msgstr ""
+msgstr "Operand außerhalb des gültigen Bereichs (%lu ist nicht zwischen %lu und %lu)"
#: d30v-dis.c:312
#, c-format
msgid "<unknown register %d>"
msgstr "<unbekanntes Register %d>"
+# Can't happen.
#. Can't happen.
#: dis-buf.c:57
#, c-format
@@ -84,286 +88,641 @@ msgstr "Unbekannter Fehler %d\n"
#: dis-buf.c:62
#, c-format
msgid "Address 0x%x is out of bounds.\n"
-msgstr ""
+msgstr "Adresse 0x%x ist außerhalb des gültigen Bereichs.\n"
-#: fr30-asm.c:323 frv-asm.c:595 m32r-asm.c:325 openrisc-asm.c:244
-#: xstormy16-asm.c:231
+#: fr30-asm.c:323 frv-asm.c:626 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:325
+#: openrisc-asm.c:261 xstormy16-asm.c:284
#, c-format
msgid "Unrecognized field %d while parsing.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Parsen entdeckt.\n"
-#: fr30-asm.c:373 frv-asm.c:645 m32r-asm.c:375 openrisc-asm.c:294
-#: xstormy16-asm.c:281
+#: fr30-asm.c:373 frv-asm.c:676 ip2k-asm.c:624 iq2000-asm.c:510 m32r-asm.c:375
+#: openrisc-asm.c:311 xstormy16-asm.c:334
msgid "missing mnemonic in syntax string"
-msgstr ""
+msgstr "Fehlender Mnemonic im Syntaxstring"
+# We couldn't parse it.
#. We couldn't parse it.
-#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:781
-#: frv-asm.c:785 frv-asm.c:872 frv-asm.c:974 m32r-asm.c:511 m32r-asm.c:515
-#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:430 openrisc-asm.c:434
-#: openrisc-asm.c:521 openrisc-asm.c:623 xstormy16-asm.c:417
-#: xstormy16-asm.c:421 xstormy16-asm.c:508 xstormy16-asm.c:610
+#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:812
+#: frv-asm.c:816 frv-asm.c:903 frv-asm.c:1005 ip2k-asm.c:760 ip2k-asm.c:764
+#: ip2k-asm.c:851 ip2k-asm.c:953 iq2000-asm.c:646 iq2000-asm.c:650
+#: iq2000-asm.c:737 iq2000-asm.c:839 m32r-asm.c:511 m32r-asm.c:515
+#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:447 openrisc-asm.c:451
+#: openrisc-asm.c:538 openrisc-asm.c:640 xstormy16-asm.c:470
+#: xstormy16-asm.c:474 xstormy16-asm.c:561 xstormy16-asm.c:663
msgid "unrecognized instruction"
-msgstr ""
+msgstr "Unbekannter Befehl"
-#: fr30-asm.c:556 frv-asm.c:828 m32r-asm.c:558 openrisc-asm.c:477
-#: xstormy16-asm.c:464
+#: fr30-asm.c:556 frv-asm.c:859 ip2k-asm.c:807 iq2000-asm.c:693 m32r-asm.c:558
+#: openrisc-asm.c:494 xstormy16-asm.c:517
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr "Syntaxfehler (erwartetes Zeichen »%c«, gefunden »%c«)"
-#: fr30-asm.c:566 frv-asm.c:838 m32r-asm.c:568 openrisc-asm.c:487
-#: xstormy16-asm.c:474
+#: fr30-asm.c:566 frv-asm.c:869 ip2k-asm.c:817 iq2000-asm.c:703 m32r-asm.c:568
+#: openrisc-asm.c:504 xstormy16-asm.c:527
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
-msgstr ""
+msgstr "Syntaxfehler (Zeichen »%c« erwartet, Befehlsende bekommen)"
-#: fr30-asm.c:594 frv-asm.c:866 m32r-asm.c:596 openrisc-asm.c:515
-#: xstormy16-asm.c:502
+#: fr30-asm.c:594 frv-asm.c:897 ip2k-asm.c:845 iq2000-asm.c:731 m32r-asm.c:596
+#: openrisc-asm.c:532 xstormy16-asm.c:555
msgid "junk at end of line"
-msgstr ""
+msgstr "Müll am Ende der Zeile"
-#: fr30-asm.c:701 frv-asm.c:973 m32r-asm.c:703 openrisc-asm.c:622
-#: xstormy16-asm.c:609
+#: fr30-asm.c:701 frv-asm.c:1004 ip2k-asm.c:952 iq2000-asm.c:838
+#: m32r-asm.c:703 openrisc-asm.c:639 xstormy16-asm.c:662
msgid "unrecognized form of instruction"
-msgstr ""
+msgstr "Unbekannte Befehlsform"
-#: fr30-asm.c:713 frv-asm.c:985 m32r-asm.c:715 openrisc-asm.c:634
-#: xstormy16-asm.c:621
+#: fr30-asm.c:713 frv-asm.c:1016 ip2k-asm.c:964 iq2000-asm.c:850
+#: m32r-asm.c:715 openrisc-asm.c:651 xstormy16-asm.c:674
#, c-format
msgid "bad instruction `%.50s...'"
-msgstr ""
+msgstr "Falscher Befehl »%.50s...«"
-#: fr30-asm.c:716 frv-asm.c:988 m32r-asm.c:718 openrisc-asm.c:637
-#: xstormy16-asm.c:624
+#: fr30-asm.c:716 frv-asm.c:1019 ip2k-asm.c:967 iq2000-asm.c:853
+#: m32r-asm.c:718 openrisc-asm.c:654 xstormy16-asm.c:677
#, c-format
msgid "bad instruction `%.50s'"
-msgstr ""
+msgstr "Falscher Befehl »%.50s«"
+# Default text to print if an instruction isn't recognized.
#. Default text to print if an instruction isn't recognized.
-#: fr30-dis.c:39 frv-dis.c:39 m32r-dis.c:39 mmix-dis.c:282 openrisc-dis.c:39
-#: xstormy16-dis.c:39
+#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41
+#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
-msgstr ""
+msgstr "*unbekannt*"
-#: fr30-dis.c:318 frv-dis.c:360 m32r-dis.c:249 openrisc-dis.c:136
-#: xstormy16-dis.c:169
+#: fr30-dis.c:320 frv-dis.c:371 ip2k-dis.c:329 iq2000-dis.c:192 m32r-dis.c:251
+#: openrisc-dis.c:138 xstormy16-dis.c:171
#, c-format
msgid "Unrecognized field %d while printing insn.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Schreiben des Befehls.\n"
-#: fr30-ibld.c:166 frv-ibld.c:166 m32r-ibld.c:166 openrisc-ibld.c:166
-#: xstormy16-ibld.c:166
+#: fr30-ibld.c:166 frv-ibld.c:166 ip2k-ibld.c:166 iq2000-ibld.c:166
+#: m32r-ibld.c:166 openrisc-ibld.c:166 xstormy16-ibld.c:166
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
-msgstr ""
+msgstr "Operand außerhalb des gültigen Bereichs (%ld ist nicht zwischen %ld und %lu)"
-#: fr30-ibld.c:179 frv-ibld.c:179 m32r-ibld.c:179 openrisc-ibld.c:179
-#: xstormy16-ibld.c:179
+#: fr30-ibld.c:179 frv-ibld.c:179 ip2k-ibld.c:179 iq2000-ibld.c:179
+#: m32r-ibld.c:179 openrisc-ibld.c:179 xstormy16-ibld.c:179
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
-msgstr ""
+msgstr "Operand außerhalb des gültigen Bereichs (%lu ist nicht zwischen 0 und %lu)"
-#: fr30-ibld.c:730 frv-ibld.c:820 m32r-ibld.c:659 openrisc-ibld.c:633
-#: xstormy16-ibld.c:678
+#: fr30-ibld.c:730 frv-ibld.c:829 ip2k-ibld.c:607 iq2000-ibld.c:713
+#: m32r-ibld.c:659 openrisc-ibld.c:633 xstormy16-ibld.c:678
#, c-format
msgid "Unrecognized field %d while building insn.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Erzeugen des Befehls.\n"
-#: fr30-ibld.c:937 frv-ibld.c:1103 m32r-ibld.c:792 openrisc-ibld.c:735
-#: xstormy16-ibld.c:826
+#: fr30-ibld.c:937 frv-ibld.c:1121 ip2k-ibld.c:684 iq2000-ibld.c:890
+#: m32r-ibld.c:792 openrisc-ibld.c:735 xstormy16-ibld.c:826
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
-msgstr ""
+msgstr "Unbekannted Feld %d beim Decodieren des Befehls.\n"
-#: fr30-ibld.c:1086 frv-ibld.c:1348 m32r-ibld.c:902 openrisc-ibld.c:815
-#: xstormy16-ibld.c:939
+#: fr30-ibld.c:1086 frv-ibld.c:1375 ip2k-ibld.c:761 iq2000-ibld.c:1024
+#: m32r-ibld.c:902 openrisc-ibld.c:815 xstormy16-ibld.c:939
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Holen des int-Operanden.\n"
-#: fr30-ibld.c:1215 frv-ibld.c:1573 m32r-ibld.c:992 openrisc-ibld.c:875
-#: xstormy16-ibld.c:1032
+#: fr30-ibld.c:1215 frv-ibld.c:1609 ip2k-ibld.c:818 iq2000-ibld.c:1138
+#: m32r-ibld.c:992 openrisc-ibld.c:875 xstormy16-ibld.c:1032
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
-#: fr30-ibld.c:1349 frv-ibld.c:1807 m32r-ibld.c:1090 openrisc-ibld.c:944
-#: xstormy16-ibld.c:1134
+#: fr30-ibld.c:1349 frv-ibld.c:1852 ip2k-ibld.c:880 iq2000-ibld.c:1261
+#: m32r-ibld.c:1090 openrisc-ibld.c:944 xstormy16-ibld.c:1134
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Setzen des int-Operanden.\n"
-#: fr30-ibld.c:1471 frv-ibld.c:2029 m32r-ibld.c:1176 openrisc-ibld.c:1001
-#: xstormy16-ibld.c:1224
+#: fr30-ibld.c:1471 frv-ibld.c:2083 ip2k-ibld.c:930 iq2000-ibld.c:1372
+#: m32r-ibld.c:1176 openrisc-ibld.c:1001 xstormy16-ibld.c:1224
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr ""
+msgstr "Unbekanntes Feld %d beim Holen des vma-Operanden.\n"
+
+#: frv-asm.c:365
+msgid "register number must be even"
+msgstr "Die Registernummer muss gerade sein."
-#: h8300-dis.c:385
+#: h8300-dis.c:377
#, c-format
-msgid "Hmmmm %x"
-msgstr ""
+msgid "Hmmmm 0x%x"
+msgstr "Hmmmm 0x%x"
-#: h8300-dis.c:396
+#: h8300-dis.c:760
#, c-format
-msgid "Don't understand %x \n"
-msgstr ""
+msgid "Don't understand 0x%x \n"
+msgstr "Ich verstehe »0x%x« nicht.\n"
#: h8500-dis.c:143
#, c-format
msgid "can't cope with insert %d\n"
-msgstr ""
+msgstr "Kann nicht mit »inserv %d« umgehen.\n"
+# Couldn't understand anything.
#. Couldn't understand anything.
#: h8500-dis.c:350
#, c-format
msgid "%02x\t\t*unknown*"
-msgstr ""
+msgstr "%02x\t\t*unbekannt*"
-#: i386-dis.c:1649
+#: i386-dis.c:1699
msgid "<internal disassembler error>"
-msgstr ""
+msgstr "<interner Disassemblerfehler>"
+
+#: ia64-gen.c:295
+#, c-format
+msgid "%s: Error: "
+msgstr "%s: Fehler:"
+
+#: ia64-gen.c:308
+#, c-format
+msgid "%s: Warning: "
+msgstr "%s: Warnung:"
+
+#: ia64-gen.c:494 ia64-gen.c:728
+#, c-format
+msgid "multiple note %s not handled\n"
+msgstr "Mehrfache Bemerkung »%s« nicht verarbeitet.\n"
+
+#: ia64-gen.c:605
+msgid "can't find ia64-ic.tbl for reading\n"
+msgstr "Kann »ia64-ic.tbl« nicht zum Lesen finden\n"
+
+#: ia64-gen.c:810
+#, c-format
+msgid "can't find %s for reading\n"
+msgstr "Kann »%s« nicht zum Lesen finden\n"
+
+#: ia64-gen.c:1034
+#, c-format
+msgid ""
+"most recent format '%s'\n"
+"appears more restrictive than '%s'\n"
+msgstr "Das letzte Format »%s« scheint strenger zu sein als »%s«.\n"
+
+#: ia64-gen.c:1045
+#, c-format
+msgid "overlapping field %s->%s\n"
+msgstr "Überlappendes Feld »%s->%s«.\n"
+
+#: ia64-gen.c:1236
+#, c-format
+msgid "overwriting note %d with note %d (IC:%s)\n"
+msgstr "Ãœberschreibe Bemerkung %d mit Bemerkung %d (IC:%s)\n"
+
+#: ia64-gen.c:1435
+#, c-format
+msgid "don't know how to specify %% dependency %s\n"
+msgstr "Keine Ahnung, wie ich die Abhängigkeit »%% %s« angeben soll.\n"
+
+#: ia64-gen.c:1457
+#, c-format
+msgid "Don't know how to specify # dependency %s\n"
+msgstr "Keine Ahnung, wie ich die Abhängigkeit »# %s« angeben soll.\n"
+
+#: ia64-gen.c:1496
+#, c-format
+msgid "IC:%s [%s] has no terminals or sub-classes\n"
+msgstr "IC:%s [%s] hat weder Terminale noch Unterklassen\n"
+
+#: ia64-gen.c:1499
+#, c-format
+msgid "IC:%s has no terminals or sub-classes\n"
+msgstr "IC:%s hat weder Terminale noch Unterklassen\n"
+
+#: ia64-gen.c:1508
+#, c-format
+msgid "no insns mapped directly to terminal IC %s [%s]"
+msgstr "Kein Befehl ist dem Terminal-IC »%s [%s]« direkt zugeordnet"
+
+#: ia64-gen.c:1511
+#, c-format
+msgid "no insns mapped directly to terminal IC %s\n"
+msgstr "Kein Befehl ist dem Terminal-IC »%s« direkt zugeordnet.\n"
+
+#: ia64-gen.c:1522
+#, c-format
+msgid "class %s is defined but not used\n"
+msgstr "Die Klasse »%s« wurde definiert, aber nicht benutzt.\n"
+
+#: ia64-gen.c:1533
+#, c-format
+msgid "Warning: rsrc %s (%s) has no chks%s\n"
+msgstr "Warnung: Die Ressource »%s (%s)« hat keine »chks%s«.\n"
+
+#: ia64-gen.c:1537
+#, c-format
+msgid "rsrc %s (%s) has no regs\n"
+msgstr "Die Ressource »%s (%s)« hat keine Register\n"
+
+#: ia64-gen.c:2436
+#, c-format
+msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
+msgstr "IC Bemerkung %d in Opcode »%s (IC:%s)« verträgt sich nicht mit Ressource %s Bemerkung %d.\n"
+
+#: ia64-gen.c:2464
+#, c-format
+msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
+msgstr "IC Bemerkung %d für Opcode »%s (IC:%s)« verträgt sich nicht mit Ressource %s Bemerkung %d.\n"
+
+#: ia64-gen.c:2478
+#, c-format
+msgid "opcode %s has no class (ops %d %d %d)\n"
+msgstr "Opcode %s hat keine Klasse (Operanden %d %d %d)\n"
+
+#: ia64-gen.c:2789
+#, c-format
+msgid "unable to change directory to \"%s\", errno = %s\n"
+msgstr "Kann nicht in das Verzeichnis »%s« wechseln, errno = %s\n"
+
+# We've been passed a w. Return with an error message so that
+# cgen will try the next parsing option.
+#. We've been passed a w. Return with an error message so that
+#. cgen will try the next parsing option.
+#: ip2k-asm.c:92
+msgid "W keyword invalid in FR operand slot."
+msgstr "Schlüsselwort »W« ist im Operandenplatz »FR« ungültig."
+
+# Invalid offset present.
+#. Invalid offset present.
+#: ip2k-asm.c:122
+msgid "offset(IP) is not a valid form"
+msgstr "»offset(IP)« ist keine gültige Form."
+
+# Found something there in front of (DP) but it's out
+# of range.
+#. Found something there in front of (DP) but it's out
+#. of range.
+#: ip2k-asm.c:175
+msgid "(DP) offset out of range."
+msgstr "(DP) Offset außerhalb des gültigen Bereichs."
+
+# Found something there in front of (SP) but it's out
+# of range.
+#. Found something there in front of (SP) but it's out
+#. of range.
+#: ip2k-asm.c:221
+msgid "(SP) offset out of range."
+msgstr "(SP) Offset außerhalb des gültigen Bereichs."
+
+#: ip2k-asm.c:241
+msgid "illegal use of parentheses"
+msgstr "Unerlaubte Benutzung von Klammern."
+
+#: ip2k-asm.c:248
+msgid "operand out of range (not between 1 and 255)"
+msgstr "Operand außerhalb des gültigen Bereichs (1 bis 255)."
+
+# Something is very wrong. opindex has to be one of the above.
+#. Something is very wrong. opindex has to be one of the above.
+#: ip2k-asm.c:273
+msgid "parse_addr16: invalid opindex."
+msgstr "parse_addr16: Ungültiger Operatorindex."
+
+#: ip2k-asm.c:353
+msgid "Byte address required. - must be even."
+msgstr "Byteadresse benötigt -- muss gerade sein."
+
+#: ip2k-asm.c:362
+msgid "cgen_parse_address returned a symbol. Literal required."
+msgstr "cgen_parse_address: Gebe Symbol zurück. Sollte eigentlich ein Literal sein."
+
+#: ip2k-asm.c:420
+#, c-format
+msgid "%operator operand is not a symbol"
+msgstr "Der Operand %operator muss ein Symbol sein."
+
+#: ip2k-asm.c:474
+msgid "Attempt to find bit index of 0"
+msgstr "Versuch, ein gesetztes Bit von 0 zu bestimmen"
+
+#: iq2000-asm.c:110 iq2000-asm.c:141
+msgid "immediate value cannot be register"
+msgstr "Ein Direktoperand kann kein Register sein."
+
+#: iq2000-asm.c:120 iq2000-asm.c:151
+msgid "immediate value out of range"
+msgstr "Direktoperand außerhalb des gültigen Bereichs."
+
+#: iq2000-asm.c:180
+msgid "21-bit offset out of range"
+msgstr "21-Bit-Offset außerhalb des gültigen Bereichs"
+
+#: iq2000-asm.c:205 iq2000-asm.c:235 iq2000-asm.c:272 iq2000-asm.c:305
+#: openrisc-asm.c:96 openrisc-asm.c:155
+msgid "missing `)'"
+msgstr "Fehlende »)«."
#: m10200-dis.c:199
#, c-format
msgid "unknown\t0x%02x"
-msgstr ""
+msgstr "unbekannt\t0x%02x"
#: m10200-dis.c:339
#, c-format
msgid "unknown\t0x%04lx"
-msgstr ""
+msgstr "unbekannt\t0x%04lx"
-#: m10300-dis.c:685
+#: m10300-dis.c:766
#, c-format
msgid "unknown\t0x%04x"
-msgstr ""
+msgstr "unbekannt\t0x%04x"
#: m68k-dis.c:429
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
-msgstr ""
+msgstr "<interner Fehler in der Opcode-Tabelle: %s %s>\n"
#: m68k-dis.c:1007
#, c-format
msgid "<function code %d>"
-msgstr ""
+msgstr "<Funktionscode %d>"
-#: m88k-dis.c:255
+#: m88k-dis.c:746
#, c-format
msgid "# <dis error: %08x>"
-msgstr ""
+msgstr "# <Disassemblierungsfehler: %08x>"
+
+#: mips-dis.c:699
+msgid "# internal error, incomplete extension sequence (+)"
+msgstr "# Interner Fehler, unvollständige Erweiterungsfolge (+)"
+
+#: mips-dis.c:742
+#, c-format
+msgid "# internal error, undefined extension sequence (+%c)"
+msgstr "# Interner Fehler, undefinierte Erweiterungsfolge (+%c)"
-#: mips-dis.c:337
+#: mips-dis.c:1000
#, c-format
msgid "# internal error, undefined modifier(%c)"
-msgstr ""
+msgstr "# Interner Fehler, undefinierter Modifikator (%c)"
-#: mips-dis.c:1209
+#: mips-dis.c:1751
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
+msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (%c)"
+
+#: mips-dis.c:1763
+msgid ""
+"\n"
+"The following MIPS specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Die folgenden MIPS-spezifischen Disassembleroptionen werden zusammen\n"
+"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n"
+"Kommata getrennt werden):\n"
+
+#: mips-dis.c:1767
+msgid ""
+"\n"
+" gpr-names=ABI Print GPR names according to specified ABI.\n"
+" Default: based on binary being disassembled.\n"
msgstr ""
+"\n"
+" gpr-names=ABI Gib GPR-Namen entsprechend des angegebenen ABI aus.\n"
+" Standard: abhängig von der Binärdatei, die\n"
+" disassembliert wird.\n"
+
+#: mips-dis.c:1771
+msgid ""
+"\n"
+" fpr-names=ABI Print FPR names according to specified ABI.\n"
+" Default: numeric.\n"
+msgstr ""
+"\n"
+" fpr-names=ABI Gib FPR-Namen entsprechend des angegebenen ABI aus.\n"
+" Standard: numerisch.\n"
+
+#: mips-dis.c:1775
+msgid ""
+"\n"
+" cp0-names=ARCH Print CP0 register names according to\n"
+" specified architecture.\n"
+" Default: based on binary being disassembled.\n"
+msgstr ""
+"\n"
+" cp0-names=ARCH Gib CP0-Registernamen entsprechend der angegebenen\n"
+" Architektur aus.\n"
+" Standard: abhängig von der Binärdatei, die\n"
+" disassembliert wird.\n"
+
+#: mips-dis.c:1780
+msgid ""
+"\n"
+" hwr-names=ARCH Print HWR names according to specified \n"
+"\t\t\t architecture.\n"
+" Default: based on binary being disassembled.\n"
+msgstr ""
+"\n"
+" hwr-names=ARCH Gib HWR-Namen entsprechend der angegebenen\n"
+" Architektur aus.\n"
+" Standard: abhängig von der Binärdatei, die\n"
+" verarbeitet wird.\n"
+
+#: mips-dis.c:1785
+msgid ""
+"\n"
+" reg-names=ABI Print GPR and FPR names according to\n"
+" specified ABI.\n"
+msgstr ""
+"\n"
+" reg-names=ABI Gib GPR- und FPR-Namen entsprechend des\n"
+" angegebenen ABI aus.\n"
+
+#: mips-dis.c:1789
+msgid ""
+"\n"
+" reg-names=ARCH Print CP0 register and HWR names according to\n"
+" specified architecture.\n"
+msgstr ""
+"\n"
+" reg-names=ARCH Gib CP0-Register und HWR-Namen entsprechend der\n"
+" angegebenen Architektur aus.\n"
+
+#: mips-dis.c:1793
+msgid ""
+"\n"
+" For the options above, the following values are supported for \"ABI\":\n"
+" "
+msgstr ""
+"\n"
+" Für die obigen Optionen werden die folgenden Werte für »ABI« unterstützt:\n"
+" "
+
+#: mips-dis.c:1798 mips-dis.c:1806 mips-dis.c:1808
+msgid "\n"
+msgstr "\n"
+
+#: mips-dis.c:1800
+msgid ""
+"\n"
+" For the options above, The following values are supported for \"ARCH\":\n"
+" "
+msgstr ""
+"\n"
+" Für die obigen Optionen werden die folgenden Werte für »ARCH« unterstützt:\n"
+" "
#: mmix-dis.c:34
#, c-format
msgid "Bad case %d (%s) in %s:%d\n"
-msgstr ""
+msgstr "Interner Fehler: case %d (%s) in %s:%d\n"
#: mmix-dis.c:44
#, c-format
msgid "Internal: Non-debugged code (test-case missing): %s:%d"
-msgstr ""
+msgstr "Intern: Nicht gedebuggter Code (Testfall fehlt): %s:%d"
#: mmix-dis.c:53
msgid "(unknown)"
-msgstr ""
+msgstr "(unbekannt)"
-#: mmix-dis.c:517
+#: mmix-dis.c:519
#, c-format
msgid "*unknown operands type: %d*"
-msgstr ""
+msgstr "Unbekannter Operandentyp: %d*"
+# I and Z are output operands and can`t be immediate
+# * A is an address and we can`t have the address of
+# * an immediate either. We don't know how much to increase
+# * aoffsetp by since whatever generated this is broken
+# * anyway!
#. I and Z are output operands and can`t be immediate
#. * A is an address and we can`t have the address of
#. * an immediate either. We don't know how much to increase
#. * aoffsetp by since whatever generated this is broken
#. * anyway!
#.
-#: ns32k-dis.c:628
+#: ns32k-dis.c:631
msgid "$<undefined>"
-msgstr ""
+msgstr "$<undefiniert>"
-#: ppc-opc.c:777 ppc-opc.c:810
+#: ppc-opc.c:781 ppc-opc.c:809
msgid "invalid conditional option"
-msgstr ""
+msgstr "Ungültige bedingte Option"
-#: ppc-opc.c:812
+#: ppc-opc.c:811
msgid "attempt to set y bit when using + or - modifier"
-msgstr ""
+msgstr "Versuch, das y-Bit zusammen mit dem Modifikator »+« oder »-« zu setzen."
+
+#: ppc-opc.c:840
+msgid "offset not a multiple of 16"
+msgstr "Offset muss ein Vielfaches von 16 sein"
+
+#: ppc-opc.c:860
+msgid "offset not a multiple of 2"
+msgstr "Offset muss ein Vielfaches von 2 sein"
-#: ppc-opc.c:844 ppc-opc.c:896
+#: ppc-opc.c:862
+msgid "offset greater than 62"
+msgstr "Offset darf nicht größer als 62 sein"
+
+#: ppc-opc.c:881 ppc-opc.c:927 ppc-opc.c:975
msgid "offset not a multiple of 4"
-msgstr ""
+msgstr "Offset muss ein Vielfaches von 4 sein"
+
+#: ppc-opc.c:883
+msgid "offset greater than 124"
+msgstr "Offset darf nicht größer als 124 sein"
-#: ppc-opc.c:869
+#: ppc-opc.c:902
+msgid "offset not a multiple of 8"
+msgstr "Offset muss ein Vielfaches von 8 sein"
+
+#: ppc-opc.c:904
+msgid "offset greater than 248"
+msgstr "Offset darf nicht größer als 248 sein"
+
+#: ppc-opc.c:950
msgid "offset not between -2048 and 2047"
-msgstr ""
+msgstr "Offset muss im Bereich von -2048 bis 2047 liegen"
-#: ppc-opc.c:894
+#: ppc-opc.c:973
msgid "offset not between -8192 and 8191"
-msgstr ""
+msgstr "Offset muss im Bereich von -8192 bis 8191 liegen"
+
+#: ppc-opc.c:1011
+msgid "ignoring invalid mfcr mask"
+msgstr "Ignoriere ungültige mfcr-Maske."
-#: ppc-opc.c:922
+#: ppc-opc.c:1059
msgid "ignoring least significant bits in branch offset"
-msgstr ""
+msgstr "Ignoriere niedrigste Bits im Verzweigungsoffset"
-#: ppc-opc.c:956 ppc-opc.c:993
+#: ppc-opc.c:1090 ppc-opc.c:1125
msgid "illegal bitmask"
-msgstr ""
+msgstr "Ungültige Bitmaske"
-#: ppc-opc.c:1066
+#: ppc-opc.c:1192
msgid "value out of range"
-msgstr ""
+msgstr "Wert außerhalb des gültigen Bereichs"
-#: ppc-opc.c:1142
+#: ppc-opc.c:1262
msgid "index register in load range"
-msgstr ""
+msgstr "Indexregister im Ladebereich (load range)"
-#: ppc-opc.c:1158
+#: ppc-opc.c:1279
+msgid "source and target register operands must be different"
+msgstr "Die Operanden für das Quell- und Zielregister müssen verschieden sein"
+
+#: ppc-opc.c:1294
msgid "invalid register operand when updating"
-msgstr ""
+msgstr "Ungültiger Registeroperand beim Aktualisieren"
+
+#: ppc-opc.c:1335
+msgid "target register operand must be even"
+msgstr "Der Zielregisteroperand muss gerade sein"
-#. Mark as non-valid instruction
-#: sparc-dis.c:750
+#: ppc-opc.c:1350
+msgid "source register operand must be even"
+msgstr "Der Quellregisteroperand muss gerade sein"
+
+# Mark as non-valid instruction.
+#. Mark as non-valid instruction.
+#: sparc-dis.c:760
msgid "unknown"
-msgstr ""
+msgstr "unbekannt"
-#: sparc-dis.c:825
+#: sparc-dis.c:835
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr ""
+msgstr "Interner Fehler: Ungültiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
-#: sparc-dis.c:836
+#: sparc-dis.c:846
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr ""
+msgstr "Interner Fehler: Ungültiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n"
-#: sparc-dis.c:885
+#: sparc-dis.c:895
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr ""
+msgstr "Interner Fehler: Ungültiger SPARC-Opcode: \"%s\" == \"%s\"\n"
-#: v850-dis.c:224
+#: v850-dis.c:221
#, c-format
msgid "unknown operand shift: %x\n"
-msgstr ""
+msgstr "Unbekannte Operandenverschiebung: %x\n"
-#: v850-dis.c:236
+#: v850-dis.c:233
#, c-format
msgid "unknown pop reg: %d\n"
-msgstr ""
+msgstr "Unbekanntes pop-Register: %d\n"
+# The functions used to insert and extract complicated operands.
+# Note: There is a conspiracy between these functions and
+# v850_insert_operand() in gas/config/tc-v850.c. Error messages
+# containing the string 'out of range' will be ignored unless a
+# specific command line option is given to GAS.
#. The functions used to insert and extract complicated operands.
#. Note: There is a conspiracy between these functions and
#. v850_insert_operand() in gas/config/tc-v850.c. Error messages
@@ -371,72 +730,84 @@ msgstr ""
#. specific command line option is given to GAS.
#: v850-opc.c:68
msgid "displacement value is not in range and is not aligned"
-msgstr ""
+msgstr "Der Abstandswert ist außerhalb des gültigen Bereichs und nicht ausgerichtet"
#: v850-opc.c:69
msgid "displacement value is out of range"
-msgstr ""
+msgstr "Der Abstandswert ist außerhalb des fültigen Bereichs."
#: v850-opc.c:70
msgid "displacement value is not aligned"
-msgstr ""
+msgstr "Der Abstandswert ist nicht ausgerichtet."
#: v850-opc.c:72
msgid "immediate value is out of range"
-msgstr ""
+msgstr "Direktwert außerhalb des gültigen Bereichs"
#: v850-opc.c:83
msgid "branch value not in range and to odd offset"
-msgstr ""
+msgstr "Verzweigungswert außerhalb des gültigen Bereichs und zu einem ungeraden Offset."
#: v850-opc.c:85 v850-opc.c:117
msgid "branch value out of range"
-msgstr ""
+msgstr "Verzweigungswert außerhalb des gültigen Bereichs."
#: v850-opc.c:88 v850-opc.c:120
msgid "branch to odd offset"
-msgstr ""
+msgstr "Verzweigung auf ungeraden Offset"
#: v850-opc.c:115
msgid "branch value not in range and to an odd offset"
-msgstr ""
+msgstr "Verzweigungswert außerhalb des gültigen Bereichs und zu einem ungeraden Offset."
#: v850-opc.c:346
msgid "invalid register for stack adjustment"
-msgstr ""
+msgstr "Ungültiges Register für Stackanpassung."
#: v850-opc.c:370
msgid "immediate value not in range and not even"
-msgstr ""
+msgstr "Direktwert außerhalb des gültigen Bereichs und nicht gerade"
#: v850-opc.c:375
msgid "immediate value must be even"
msgstr "Der Direktoperand muss gerade sein."
-#: xstormy16-asm.c:74
+#: xstormy16-asm.c:76
msgid "Bad register in preincrement"
-msgstr ""
+msgstr "Ungültiges Register beim Pre-Increment"
-#: xstormy16-asm.c:79
+#: xstormy16-asm.c:81
msgid "Bad register in postincrement"
-msgstr ""
+msgstr "Ungültiges Register beim Post-Increment"
-#: xstormy16-asm.c:81
+#: xstormy16-asm.c:83
msgid "Bad register name"
msgstr "Falscher Registername."
-#: xstormy16-asm.c:85
+#: xstormy16-asm.c:87
msgid "Label conflicts with register name"
-msgstr ""
+msgstr "Sprungmarke verträgt sich nicht mit dem Registername"
-#: xstormy16-asm.c:89
+#: xstormy16-asm.c:91
msgid "Label conflicts with `Rx'"
-msgstr ""
+msgstr "Sprungmarke verträgt sich nicht mit »Rx«"
-#: xstormy16-asm.c:91
+#: xstormy16-asm.c:93
msgid "Bad immediate expression"
-msgstr ""
+msgstr "Ungültiger Direktausdruck"
+
+#: xstormy16-asm.c:115
+msgid "No relocation for small immediate"
+msgstr "Keine Verlagerung für kleine Direktwerte"
-#: xstormy16-asm.c:120
+#: xstormy16-asm.c:125
msgid "Small operand was not an immediate number"
-msgstr ""
+msgstr "Kleiner Operand war keine Direktzahl."
+
+#: xstormy16-asm.c:164
+msgid "Operand is not a symbol"
+msgstr "Operand muss ein Symbol sein"
+
+#: xstormy16-asm.c:172
+msgid "Syntax error: No trailing ')'"
+msgstr "Syntaxfehler: Kein abschließendes »)«"
diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot
index 15fdff0..9ab8790 100644
--- a/opcodes/po/opcodes.pot
+++ b/opcodes/po/opcodes.pot
@@ -1,12 +1,14 @@
# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-07-17 14:54+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-19 14:59+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,11 +16,11 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: alpha-opc.c:335
+#: alpha-opc.c:330
msgid "branch operand unaligned"
msgstr ""
-#: alpha-opc.c:358 alpha-opc.c:380
+#: alpha-opc.c:352 alpha-opc.c:373
msgid "jump hint unaligned"
msgstr ""
@@ -26,21 +28,24 @@ msgstr ""
msgid "Illegal limm reference in last instruction!\n"
msgstr ""
-#: arm-dis.c:554
+#: arm-dis.c:563
msgid "<illegal precision>"
msgstr ""
-#: arm-dis.c:1162
+#. XXX - should break 'option' at following delimiter.
+#: arm-dis.c:1199
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr ""
-#: arm-dis.c:1169
+#. XXX - should break 'option' at following delimiter.
+#: arm-dis.c:1207
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr ""
-#: arm-dis.c:1343
+#: arm-dis.c:1376
+#, c-format
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
@@ -48,10 +53,12 @@ msgid ""
msgstr ""
#: avr-dis.c:117 avr-dis.c:127
+#, c-format
msgid "undefined"
msgstr ""
#: avr-dis.c:179
+#, c-format
msgid "Internal disassembler error"
msgstr ""
@@ -60,13 +67,13 @@ msgstr ""
msgid "unknown constraint `%c'"
msgstr ""
-#: cgen-asm.c:348 fr30-ibld.c:195 frv-ibld.c:195 ip2k-ibld.c:195
-#: iq2000-ibld.c:195 m32r-ibld.c:195 openrisc-ibld.c:195 xstormy16-ibld.c:195
+#: cgen-asm.c:335 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197
+#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr ""
-#: cgen-asm.c:369
+#: cgen-asm.c:357
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr ""
@@ -87,58 +94,58 @@ msgstr ""
msgid "Address 0x%x is out of bounds.\n"
msgstr ""
-#: fr30-asm.c:323 frv-asm.c:626 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:325
-#: openrisc-asm.c:244 xstormy16-asm.c:284
+#: fr30-asm.c:323 frv-asm.c:967 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:335
+#: openrisc-asm.c:261 xstormy16-asm.c:284
#, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr ""
-#: fr30-asm.c:373 frv-asm.c:676 ip2k-asm.c:624 iq2000-asm.c:510 m32r-asm.c:375
-#: openrisc-asm.c:294 xstormy16-asm.c:334
+#: fr30-asm.c:372 frv-asm.c:1016 ip2k-asm.c:623 iq2000-asm.c:509
+#: m32r-asm.c:384 openrisc-asm.c:310 xstormy16-asm.c:333
msgid "missing mnemonic in syntax string"
msgstr ""
#. We couldn't parse it.
-#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:812
-#: frv-asm.c:816 frv-asm.c:903 frv-asm.c:1005 ip2k-asm.c:760 ip2k-asm.c:764
-#: ip2k-asm.c:851 ip2k-asm.c:953 iq2000-asm.c:646 iq2000-asm.c:650
-#: iq2000-asm.c:737 iq2000-asm.c:839 m32r-asm.c:511 m32r-asm.c:515
-#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:430 openrisc-asm.c:434
-#: openrisc-asm.c:521 openrisc-asm.c:623 xstormy16-asm.c:470
-#: xstormy16-asm.c:474 xstormy16-asm.c:561 xstormy16-asm.c:663
+#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1151
+#: frv-asm.c:1155 frv-asm.c:1242 frv-asm.c:1343 ip2k-asm.c:758 ip2k-asm.c:762
+#: ip2k-asm.c:849 ip2k-asm.c:950 iq2000-asm.c:644 iq2000-asm.c:648
+#: iq2000-asm.c:735 iq2000-asm.c:836 m32r-asm.c:519 m32r-asm.c:523
+#: m32r-asm.c:610 m32r-asm.c:711 openrisc-asm.c:445 openrisc-asm.c:449
+#: openrisc-asm.c:536 openrisc-asm.c:637 xstormy16-asm.c:468
+#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660
msgid "unrecognized instruction"
msgstr ""
-#: fr30-asm.c:556 frv-asm.c:859 ip2k-asm.c:807 iq2000-asm.c:693 m32r-asm.c:558
-#: openrisc-asm.c:477 xstormy16-asm.c:517
+#: fr30-asm.c:554 frv-asm.c:1198 ip2k-asm.c:805 iq2000-asm.c:691
+#: m32r-asm.c:566 openrisc-asm.c:492 xstormy16-asm.c:515
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr ""
-#: fr30-asm.c:566 frv-asm.c:869 ip2k-asm.c:817 iq2000-asm.c:703 m32r-asm.c:568
-#: openrisc-asm.c:487 xstormy16-asm.c:527
+#: fr30-asm.c:564 frv-asm.c:1208 ip2k-asm.c:815 iq2000-asm.c:701
+#: m32r-asm.c:576 openrisc-asm.c:502 xstormy16-asm.c:525
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
msgstr ""
-#: fr30-asm.c:594 frv-asm.c:897 ip2k-asm.c:845 iq2000-asm.c:731 m32r-asm.c:596
-#: openrisc-asm.c:515 xstormy16-asm.c:555
+#: fr30-asm.c:592 frv-asm.c:1236 ip2k-asm.c:843 iq2000-asm.c:729
+#: m32r-asm.c:604 openrisc-asm.c:530 xstormy16-asm.c:553
msgid "junk at end of line"
msgstr ""
-#: fr30-asm.c:701 frv-asm.c:1004 ip2k-asm.c:952 iq2000-asm.c:838
-#: m32r-asm.c:703 openrisc-asm.c:622 xstormy16-asm.c:662
+#: fr30-asm.c:698 frv-asm.c:1342 ip2k-asm.c:949 iq2000-asm.c:835
+#: m32r-asm.c:710 openrisc-asm.c:636 xstormy16-asm.c:659
msgid "unrecognized form of instruction"
msgstr ""
-#: fr30-asm.c:713 frv-asm.c:1016 ip2k-asm.c:964 iq2000-asm.c:850
-#: m32r-asm.c:715 openrisc-asm.c:634 xstormy16-asm.c:674
+#: fr30-asm.c:710 frv-asm.c:1354 ip2k-asm.c:961 iq2000-asm.c:847
+#: m32r-asm.c:722 openrisc-asm.c:648 xstormy16-asm.c:671
#, c-format
msgid "bad instruction `%.50s...'"
msgstr ""
-#: fr30-asm.c:716 frv-asm.c:1019 ip2k-asm.c:967 iq2000-asm.c:853
-#: m32r-asm.c:718 openrisc-asm.c:637 xstormy16-asm.c:677
+#: fr30-asm.c:713 frv-asm.c:1357 ip2k-asm.c:964 iq2000-asm.c:850
+#: m32r-asm.c:725 openrisc-asm.c:651 xstormy16-asm.c:674
#, c-format
msgid "bad instruction `%.50s'"
msgstr ""
@@ -149,70 +156,70 @@ msgstr ""
msgid "*unknown*"
msgstr ""
-#: fr30-dis.c:320 frv-dis.c:371 ip2k-dis.c:329 iq2000-dis.c:192 m32r-dis.c:251
-#: openrisc-dis.c:138 xstormy16-dis.c:171
+#: fr30-dis.c:319 frv-dis.c:388 ip2k-dis.c:328 iq2000-dis.c:191 m32r-dis.c:262
+#: openrisc-dis.c:137 xstormy16-dis.c:170
#, c-format
msgid "Unrecognized field %d while printing insn.\n"
msgstr ""
-#: fr30-ibld.c:166 frv-ibld.c:166 ip2k-ibld.c:166 iq2000-ibld.c:166
-#: m32r-ibld.c:166 openrisc-ibld.c:166 xstormy16-ibld.c:166
+#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168
+#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
msgstr ""
-#: fr30-ibld.c:179 frv-ibld.c:179 ip2k-ibld.c:179 iq2000-ibld.c:179
-#: m32r-ibld.c:179 openrisc-ibld.c:179 xstormy16-ibld.c:179
+#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181
+#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
msgstr ""
-#: fr30-ibld.c:730 frv-ibld.c:829 ip2k-ibld.c:607 iq2000-ibld.c:713
-#: m32r-ibld.c:659 openrisc-ibld.c:633 xstormy16-ibld.c:678
+#: fr30-ibld.c:732 frv-ibld.c:849 ip2k-ibld.c:609 iq2000-ibld.c:715
+#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680
#, c-format
msgid "Unrecognized field %d while building insn.\n"
msgstr ""
-#: fr30-ibld.c:937 frv-ibld.c:1121 ip2k-ibld.c:684 iq2000-ibld.c:890
-#: m32r-ibld.c:792 openrisc-ibld.c:735 xstormy16-ibld.c:826
+#: fr30-ibld.c:939 frv-ibld.c:1159 ip2k-ibld.c:686 iq2000-ibld.c:892
+#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
msgstr ""
-#: fr30-ibld.c:1086 frv-ibld.c:1375 ip2k-ibld.c:761 iq2000-ibld.c:1024
-#: m32r-ibld.c:902 openrisc-ibld.c:815 xstormy16-ibld.c:939
+#: fr30-ibld.c:1088 frv-ibld.c:1431 ip2k-ibld.c:763 iq2000-ibld.c:1026
+#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
msgstr ""
-#: fr30-ibld.c:1215 frv-ibld.c:1609 ip2k-ibld.c:818 iq2000-ibld.c:1138
-#: m32r-ibld.c:992 openrisc-ibld.c:875 xstormy16-ibld.c:1032
+#: fr30-ibld.c:1217 frv-ibld.c:1683 ip2k-ibld.c:820 iq2000-ibld.c:1140
+#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
msgstr ""
-#: fr30-ibld.c:1349 frv-ibld.c:1852 ip2k-ibld.c:880 iq2000-ibld.c:1261
-#: m32r-ibld.c:1090 openrisc-ibld.c:944 xstormy16-ibld.c:1134
+#: fr30-ibld.c:1351 frv-ibld.c:1944 ip2k-ibld.c:882 iq2000-ibld.c:1263
+#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
msgstr ""
-#: fr30-ibld.c:1471 frv-ibld.c:2083 ip2k-ibld.c:930 iq2000-ibld.c:1372
-#: m32r-ibld.c:1176 openrisc-ibld.c:1001 xstormy16-ibld.c:1224
+#: fr30-ibld.c:1473 frv-ibld.c:2193 ip2k-ibld.c:932 iq2000-ibld.c:1374
+#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
msgstr ""
-#: frv-asm.c:365
+#: frv-asm.c:688
msgid "register number must be even"
msgstr ""
-#: h8300-dis.c:377
+#: h8300-dis.c:358
#, c-format
msgid "Hmmmm 0x%x"
msgstr ""
-#: h8300-dis.c:760
+#: h8300-dis.c:741
#, c-format
msgid "Don't understand 0x%x \n"
msgstr ""
@@ -228,7 +235,7 @@ msgstr ""
msgid "%02x\t\t*unknown*"
msgstr ""
-#: i386-dis.c:1699
+#: i386-dis.c:1712
msgid "<internal disassembler error>"
msgstr ""
@@ -404,6 +411,7 @@ msgid "21-bit offset out of range"
msgstr ""
#: iq2000-asm.c:205 iq2000-asm.c:235 iq2000-asm.c:272 iq2000-asm.c:305
+#: openrisc-asm.c:96 openrisc-asm.c:155
msgid "missing `)'"
msgstr ""
@@ -422,12 +430,12 @@ msgstr ""
msgid "unknown\t0x%04x"
msgstr ""
-#: m68k-dis.c:429
+#: m68k-dis.c:432
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr ""
-#: m68k-dis.c:1007
+#: m68k-dis.c:1025
#, c-format
msgid "<function code %d>"
msgstr ""
@@ -437,47 +445,51 @@ msgstr ""
msgid "# <dis error: %08x>"
msgstr ""
-#: mips-dis.c:703
+#: mips-dis.c:709
msgid "# internal error, incomplete extension sequence (+)"
msgstr ""
-#: mips-dis.c:746
+#: mips-dis.c:768
#, c-format
msgid "# internal error, undefined extension sequence (+%c)"
msgstr ""
-#: mips-dis.c:1004
+#: mips-dis.c:1026
#, c-format
msgid "# internal error, undefined modifier(%c)"
msgstr ""
-#: mips-dis.c:1755
+#: mips-dis.c:1777
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr ""
-#: mips-dis.c:1767
+#: mips-dis.c:1789
+#, c-format
msgid ""
"\n"
"The following MIPS specific disassembler options are supported for use\n"
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
-#: mips-dis.c:1771
+#: mips-dis.c:1793
+#, c-format
msgid ""
"\n"
" gpr-names=ABI Print GPR names according to specified ABI.\n"
" Default: based on binary being disassembled.\n"
msgstr ""
-#: mips-dis.c:1775
+#: mips-dis.c:1797
+#, c-format
msgid ""
"\n"
" fpr-names=ABI Print FPR names according to specified ABI.\n"
" Default: numeric.\n"
msgstr ""
-#: mips-dis.c:1779
+#: mips-dis.c:1801
+#, c-format
msgid ""
"\n"
" cp0-names=ARCH Print CP0 register names according to\n"
@@ -485,7 +497,8 @@ msgid ""
" Default: based on binary being disassembled.\n"
msgstr ""
-#: mips-dis.c:1784
+#: mips-dis.c:1806
+#, c-format
msgid ""
"\n"
" hwr-names=ARCH Print HWR names according to specified \n"
@@ -493,32 +506,37 @@ msgid ""
" Default: based on binary being disassembled.\n"
msgstr ""
-#: mips-dis.c:1789
+#: mips-dis.c:1811
+#, c-format
msgid ""
"\n"
" reg-names=ABI Print GPR and FPR names according to\n"
" specified ABI.\n"
msgstr ""
-#: mips-dis.c:1793
+#: mips-dis.c:1815
+#, c-format
msgid ""
"\n"
" reg-names=ARCH Print CP0 register and HWR names according to\n"
" specified architecture.\n"
msgstr ""
-#: mips-dis.c:1797
+#: mips-dis.c:1819
+#, c-format
msgid ""
"\n"
" For the options above, the following values are supported for \"ABI\":\n"
" "
msgstr ""
-#: mips-dis.c:1802 mips-dis.c:1810 mips-dis.c:1812
+#: mips-dis.c:1824 mips-dis.c:1832 mips-dis.c:1834
+#, c-format
msgid "\n"
msgstr ""
-#: mips-dis.c:1804
+#: mips-dis.c:1826
+#, c-format
msgid ""
"\n"
" For the options above, The following values are supported for \"ARCH\":\n"
@@ -551,86 +569,87 @@ msgstr ""
#. * anyway!
#.
#: ns32k-dis.c:631
+#, c-format
msgid "$<undefined>"
msgstr ""
-#: ppc-opc.c:781 ppc-opc.c:809
+#: ppc-opc.c:791 ppc-opc.c:819
msgid "invalid conditional option"
msgstr ""
-#: ppc-opc.c:811
+#: ppc-opc.c:821
msgid "attempt to set y bit when using + or - modifier"
msgstr ""
-#: ppc-opc.c:840
+#: ppc-opc.c:849
msgid "offset not a multiple of 16"
msgstr ""
-#: ppc-opc.c:860
+#: ppc-opc.c:868
msgid "offset not a multiple of 2"
msgstr ""
-#: ppc-opc.c:862
+#: ppc-opc.c:870
msgid "offset greater than 62"
msgstr ""
-#: ppc-opc.c:881 ppc-opc.c:927 ppc-opc.c:975
+#: ppc-opc.c:889 ppc-opc.c:934 ppc-opc.c:978
msgid "offset not a multiple of 4"
msgstr ""
-#: ppc-opc.c:883
+#: ppc-opc.c:891
msgid "offset greater than 124"
msgstr ""
-#: ppc-opc.c:902
+#: ppc-opc.c:910
msgid "offset not a multiple of 8"
msgstr ""
-#: ppc-opc.c:904
+#: ppc-opc.c:912
msgid "offset greater than 248"
msgstr ""
-#: ppc-opc.c:950
+#: ppc-opc.c:955
msgid "offset not between -2048 and 2047"
msgstr ""
-#: ppc-opc.c:973
+#: ppc-opc.c:976
msgid "offset not between -8192 and 8191"
msgstr ""
-#: ppc-opc.c:1011
+#: ppc-opc.c:1014
msgid "ignoring invalid mfcr mask"
msgstr ""
-#: ppc-opc.c:1059
+#: ppc-opc.c:1061
msgid "ignoring least significant bits in branch offset"
msgstr ""
-#: ppc-opc.c:1090 ppc-opc.c:1125
+#: ppc-opc.c:1091 ppc-opc.c:1126
msgid "illegal bitmask"
msgstr ""
-#: ppc-opc.c:1192
+#: ppc-opc.c:1191
msgid "value out of range"
msgstr ""
-#: ppc-opc.c:1262
+#: ppc-opc.c:1259
msgid "index register in load range"
msgstr ""
-#: ppc-opc.c:1279
+#: ppc-opc.c:1275
msgid "source and target register operands must be different"
msgstr ""
-#: ppc-opc.c:1294
+#: ppc-opc.c:1290
msgid "invalid register operand when updating"
msgstr ""
-#: ppc-opc.c:1335
+#: ppc-opc.c:1329
msgid "target register operand must be even"
msgstr ""
-#: ppc-opc.c:1350
+#: ppc-opc.c:1343
msgid "source register operand must be even"
msgstr ""
@@ -654,12 +673,12 @@ msgstr ""
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr ""
-#: v850-dis.c:221
+#: v850-dis.c:225
#, c-format
msgid "unknown operand shift: %x\n"
msgstr ""
-#: v850-dis.c:233
+#: v850-dis.c:237
#, c-format
msgid "unknown pop reg: %d\n"
msgstr ""
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index c513cb8..8c7f5c6 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -1585,8 +1585,8 @@ extract_tbr (unsigned long insn,
/* An XRTRA_MASK, but with L bit clear. */
#define XRTLRA_MASK (XRTRA_MASK & ~((unsigned long) 1 << 21))
-/* An X form comparison instruction. */
-#define XCMPL(op, xop, l) (X ((op), (xop)) | ((((unsigned long)(l)) & 1) << 21))
+/* An X form instruction with the L bit specified. */
+#define XOPL(op, xop, l) (X ((op), (xop)) | ((((unsigned long)(l)) & 1) << 21))
/* The mask for an X form comparison instruction. */
#define XCMP_MASK (X_MASK | (((unsigned long)1) << 22))
@@ -3146,8 +3146,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "rldcr", MDS(30,9,0), MDS_MASK, PPC64, { RA, RS, RB, ME6 } },
{ "rldcr.", MDS(30,9,1), MDS_MASK, PPC64, { RA, RS, RB, ME6 } },
-{ "cmpw", XCMPL(31,0,0), XCMPL_MASK, PPCCOM, { OBF, RA, RB } },
-{ "cmpd", XCMPL(31,0,1), XCMPL_MASK, PPC64, { OBF, RA, RB } },
+{ "cmpw", XOPL(31,0,0), XCMPL_MASK, PPCCOM, { OBF, RA, RB } },
+{ "cmpd", XOPL(31,0,1), XCMPL_MASK, PPC64, { OBF, RA, RB } },
{ "cmp", X(31,0), XCMP_MASK, PPC, { BF, L, RA, RB } },
{ "cmp", X(31,0), XCMPL_MASK, PWRCOM, { BF, RA, RB } },
@@ -3252,8 +3252,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "lwzxe", X(31,31), X_MASK, BOOKE64, { RT, RA0, RB } },
-{ "cmplw", XCMPL(31,32,0), XCMPL_MASK, PPCCOM, { OBF, RA, RB } },
-{ "cmpld", XCMPL(31,32,1), XCMPL_MASK, PPC64, { OBF, RA, RB } },
+{ "cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM, { OBF, RA, RB } },
+{ "cmpld", XOPL(31,32,1), XCMPL_MASK, PPC64, { OBF, RA, RB } },
{ "cmpl", X(31,32), XCMP_MASK, PPC, { BF, L, RA, RB } },
{ "cmpl", X(31,32), XCMPL_MASK, PWRCOM, { BF, RA, RB } },
@@ -3480,7 +3480,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mtsrin", X(31,242), XRA_MASK, PPC32, { RS, RB } },
{ "mtsri", X(31,242), XRA_MASK, POWER32, { RS, RB } },
-{ "dcbtst", X(31,246), XRT_MASK, PPC, { CT, RA, RB } },
+{ "dcbtst", X(31,246), X_MASK, PPC, { CT, RA, RB } },
{ "stbux", X(31,247), X_MASK, COM, { RS, RAS, RB } },
@@ -3514,7 +3514,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "lscbx", XRC(31,277,0), X_MASK, M601, { RT, RA, RB } },
{ "lscbx.", XRC(31,277,1), X_MASK, M601, { RT, RA, RB } },
-{ "dcbt", X(31,278), XRT_MASK, PPC, { CT, RA, RB } },
+{ "dcbt", X(31,278), X_MASK, PPC, { CT, RA, RB } },
{ "lhzx", X(31,279), X_MASK, COM, { RT, RA0, RB } },
@@ -3691,6 +3691,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfspefscr", XSPR(31,339,512), XSPR_MASK, PPCSPE, { RT } },
{ "mfbbear", XSPR(31,339,513), XSPR_MASK, PPCBRLK, { RT } },
{ "mfbbtar", XSPR(31,339,514), XSPR_MASK, PPCBRLK, { RT } },
+{ "mfivor32", XSPR(31,339,528), XSPR_MASK, PPCSPE, { RT } },
+{ "mfivor33", XSPR(31,339,529), XSPR_MASK, PPCSPE, { RT } },
+{ "mfivor34", XSPR(31,339,530), XSPR_MASK, PPCSPE, { RT } },
+{ "mfivor35", XSPR(31,339,531), XSPR_MASK, PPCPMR, { RT } },
{ "mfibatu", XSPR(31,339,528), XSPRBAT_MASK, PPC, { RT, SPRBAT } },
{ "mfibatl", XSPR(31,339,529), XSPRBAT_MASK, PPC, { RT, SPRBAT } },
{ "mfdbatu", XSPR(31,339,536), XSPRBAT_MASK, PPC, { RT, SPRBAT } },
@@ -3700,10 +3704,11 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfic_dat", XSPR(31,339,562), XSPR_MASK, PPC860, { RT } },
{ "mfdc_cst", XSPR(31,339,568), XSPR_MASK, PPC860, { RT } },
{ "mfdc_adr", XSPR(31,339,569), XSPR_MASK, PPC860, { RT } },
-{ "mfdc_dat", XSPR(31,339,570), XSPR_MASK, PPC860, { RT } },
{ "mfmcsrr0", XSPR(31,339,570), XSPR_MASK, PPCRFMCI, { RT } },
+{ "mfdc_dat", XSPR(31,339,570), XSPR_MASK, PPC860, { RT } },
{ "mfmcsrr1", XSPR(31,339,571), XSPR_MASK, PPCRFMCI, { RT } },
{ "mfmcsr", XSPR(31,339,572), XSPR_MASK, PPCRFMCI, { RT } },
+{ "mfmcar", XSPR(31,339,573), XSPR_MASK, PPCRFMCI, { RT } },
{ "mfdpdr", XSPR(31,339,630), XSPR_MASK, PPC860, { RT } },
{ "mfdpir", XSPR(31,339,631), XSPR_MASK, PPC860, { RT } },
{ "mfimmr", XSPR(31,339,638), XSPR_MASK, PPC860, { RT } },
@@ -3997,6 +4002,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mtspefscr", XSPR(31,467,512), XSPR_MASK, PPCSPE, { RS } },
{ "mtbbear", XSPR(31,467,513), XSPR_MASK, PPCBRLK, { RS } },
{ "mtbbtar", XSPR(31,467,514), XSPR_MASK, PPCBRLK, { RS } },
+{ "mtivor32", XSPR(31,467,528), XSPR_MASK, PPCSPE, { RS } },
+{ "mtivor33", XSPR(31,467,529), XSPR_MASK, PPCSPE, { RS } },
+{ "mtivor34", XSPR(31,467,530), XSPR_MASK, PPCSPE, { RS } },
+{ "mtivor35", XSPR(31,467,531), XSPR_MASK, PPCPMR, { RS } },
{ "mtibatu", XSPR(31,467,528), XSPRBAT_MASK, PPC, { SPRBAT, RS } },
{ "mtibatl", XSPR(31,467,529), XSPRBAT_MASK, PPC, { SPRBAT, RS } },
{ "mtdbatu", XSPR(31,467,536), XSPRBAT_MASK, PPC, { SPRBAT, RS } },
@@ -4294,6 +4303,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "tlbli", X(31,1010), XRTRA_MASK, PPC, { RB } },
+{ "dcbzl", XOPL(31,1014,1), XRT_MASK,POWER4, { RA, RB } },
{ "dcbz", X(31,1014), XRT_MASK, PPC, { RA, RB } },
{ "dclz", X(31,1014), XRT_MASK, PPC, { RA, RB } },
diff --git a/opcodes/sh-dis.c b/opcodes/sh-dis.c
index 70fdffb..527eb75 100644
--- a/opcodes/sh-dis.c
+++ b/opcodes/sh-dis.c
@@ -1,5 +1,5 @@
/* Disassemble SH instructions.
- Copyright 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -433,8 +433,10 @@ print_insn_sh (memaddr, info)
case bfd_mach_sh3e:
target_arch = arch_sh3e;
break;
- case bfd_mach_sh4:
case bfd_mach_sh4_nofpu:
+ target_arch = arch_sh4_nofpu;
+ break;
+ case bfd_mach_sh4:
target_arch = arch_sh4;
break;
case bfd_mach_sh4a:
@@ -444,6 +446,9 @@ print_insn_sh (memaddr, info)
case bfd_mach_sh4al_dsp:
target_arch = arch_sh4al_dsp;
break;
+ case bfd_mach_sh4_nommu_nofpu:
+ target_arch = arch_sh4_nommu_nofpu;
+ break;
case bfd_mach_sh5:
#ifdef INCLUDE_SHMEDIA
status = print_insn_sh64 (memaddr, info);
@@ -577,12 +582,21 @@ print_insn_sh (memaddr, info)
case IMM1_8BY4:
imm = ((nibs[2] << 4) | nibs[3]) << 2;
goto ok;
+ case REG_N_D:
+ if ((nibs[n] & 1) != 0)
+ goto fail;
+ /* fall through */
case REG_N:
rn = nibs[n];
break;
case REG_M:
rm = nibs[n];
break;
+ case REG_N_B01:
+ if ((nibs[n] & 0x3) != 1 /* binary 01 */)
+ goto fail;
+ rn = (nibs[n] & 0xc) >> 2;
+ break;
case REG_NM:
rn = (nibs[n] & 0xc) >> 2;
rm = (nibs[n] & 0x3);
@@ -841,7 +855,13 @@ print_insn_sh (memaddr, info)
else
val = bfd_getb32 (bytes);
}
- fprintf_fn (stream, "\t! 0x%x", val);
+ if ((*info->symbol_at_address_func) (val, info))
+ {
+ fprintf_fn (stream, "\t! 0x");
+ (*info->print_address_func) (val, info);
+ }
+ else
+ fprintf_fn (stream, "\t! 0x%x", val);
}
}
diff --git a/opcodes/sh-opc.h b/opcodes/sh-opc.h
index 4b0b0a8..a1877b3 100644
--- a/opcodes/sh-opc.h
+++ b/opcodes/sh-opc.h
@@ -1,5 +1,5 @@
/* Definitions for SH opcodes.
- Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2003
+ Copyright 1993, 1994, 1995, 1997, 1999, 2000, 2003, 2004
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -37,6 +37,8 @@ typedef enum
HEX_XX00,
HEX_00YY,
REG_N,
+ REG_N_D, /* nnn0 */
+ REG_N_B01, /* nn01 */
REG_M,
SDT_REG_N,
REG_NM,
@@ -186,12 +188,13 @@ sh_dsp_reg_nums;
#define arch_sh4al_dsp 0x0400
#define arch_sh4_nofpu 0x1000
#define arch_sh4a_nofpu 0x2000
+#define arch_sh4_nommu_nofpu 0x4000 /* no mmu nor fpu */
#define arch_sh1_up (arch_sh1 | arch_sh2_up)
#define arch_sh2_up (arch_sh2 | arch_sh2e_up | arch_sh3_up | arch_sh_dsp)
#define arch_sh2e_up (arch_sh2e | arch_sh3e_up)
#define arch_sh3_up (arch_sh3 | arch_sh3e_up | arch_sh3_dsp_up \
- | arch_sh4_nofp_up)
+ | arch_sh4_nommu_nofpu_up)
#define arch_sh3e_up (arch_sh3e | arch_sh4_up)
#define arch_sh4_up (arch_sh4 | arch_sh4a_up)
#define arch_sh4a_up (arch_sh4a)
@@ -200,9 +203,14 @@ sh_dsp_reg_nums;
#define arch_sh3_dsp_up (arch_sh3_dsp | arch_sh4al_dsp_up)
#define arch_sh4al_dsp_up (arch_sh4al_dsp)
+#define arch_sh4_nommu_nofpu_up (arch_sh4_nommu_nofpu | arch_sh4_nofp_up)
+
#define arch_sh4_nofp_up (arch_sh4_nofpu | arch_sh4_up | arch_sh4a_nofp_up)
#define arch_sh4a_nofp_up (arch_sh4a_nofpu | arch_sh4a_up | arch_sh4al_dsp_up)
+#define arch_sh_any_with_mmu (arch_sh3 | arch_sh3e_up | arch_sh3_dsp_up \
+ | arch_sh4_nofp_up) /* arch _sh3_up omitting arch_sh4_nommu_nofpu */
+
typedef struct
{
char *name;
@@ -295,6 +303,8 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn00011110 ldc <REG_N>,GBR */{"ldc",{A_REG_N,A_GBR},{HEX_4,REG_N,HEX_1,HEX_E}, arch_sh1_up},
+/* 0100nnnn00111010 ldc <REG_N>,SGR */{"ldc",{A_REG_N,A_SGR},{HEX_4,REG_N,HEX_3,HEX_A}, arch_sh4_nommu_nofpu_up},
+
/* 0100nnnn00101110 ldc <REG_N>,VBR */{"ldc",{A_REG_N,A_VBR},{HEX_4,REG_N,HEX_2,HEX_E}, arch_sh1_up},
/* 0100nnnn01011110 ldc <REG_N>,MOD */{"ldc",{A_REG_N,A_MOD},{HEX_4,REG_N,HEX_5,HEX_E}, arch_sh_dsp_up},
@@ -307,7 +317,7 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn01001110 ldc <REG_N>,SPC */{"ldc",{A_REG_N,A_SPC},{HEX_4,REG_N,HEX_4,HEX_E}, arch_sh3_up},
-/* 0100nnnn11111010 ldc <REG_N>,DBR */{"ldc",{A_REG_N,A_DBR},{HEX_4,REG_N,HEX_F,HEX_A}, arch_sh4_nofp_up},
+/* 0100nnnn11111010 ldc <REG_N>,DBR */{"ldc",{A_REG_N,A_DBR},{HEX_4,REG_N,HEX_F,HEX_A}, arch_sh4_nommu_nofpu_up},
/* 0100nnnn1xxx1110 ldc <REG_N>,Rn_BANK */{"ldc",{A_REG_N,A_REG_B},{HEX_4,REG_N,REG_B,HEX_E}, arch_sh3_up},
@@ -317,6 +327,8 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn00100111 ldc.l @<REG_N>+,VBR */{"ldc.l",{A_INC_N,A_VBR},{HEX_4,REG_N,HEX_2,HEX_7}, arch_sh1_up},
+/* 0100nnnn00110110 ldc.l @<REG_N>+,SGR */{"ldc.l",{A_INC_N,A_SGR},{HEX_4,REG_N,HEX_3,HEX_6}, arch_sh4_nommu_nofpu_up},
+
/* 0100nnnn01010111 ldc.l @<REG_N>+,MOD */{"ldc.l",{A_INC_N,A_MOD},{HEX_4,REG_N,HEX_5,HEX_7}, arch_sh_dsp_up},
/* 0100nnnn01110111 ldc.l @<REG_N>+,RE */{"ldc.l",{A_INC_N,A_RE},{HEX_4,REG_N,HEX_7,HEX_7}, arch_sh_dsp_up},
@@ -327,7 +339,7 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn01000111 ldc.l @<REG_N>+,SPC */{"ldc.l",{A_INC_N,A_SPC},{HEX_4,REG_N,HEX_4,HEX_7}, arch_sh3_up},
-/* 0100nnnn11110110 ldc.l @<REG_N>+,DBR */{"ldc.l",{A_INC_N,A_DBR},{HEX_4,REG_N,HEX_F,HEX_6}, arch_sh4_nofp_up},
+/* 0100nnnn11110110 ldc.l @<REG_N>+,DBR */{"ldc.l",{A_INC_N,A_DBR},{HEX_4,REG_N,HEX_F,HEX_6}, arch_sh4_nommu_nofpu_up},
/* 0100nnnn1xxx0111 ldc.l <REG_N>,Rn_BANK */{"ldc.l",{A_INC_N,A_REG_B},{HEX_4,REG_N,REG_B,HEX_7}, arch_sh3_up},
@@ -382,7 +394,7 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn01100110 lds.l @<REG_M>+,FPSCR*/{"lds.l",{A_INC_M,FPSCR_N},{HEX_4,REG_M,HEX_6,HEX_6}, arch_sh2e_up},
-/* 0000000000111000 ldtlb */{"ldtlb",{0},{HEX_0,HEX_0,HEX_3,HEX_8}, arch_sh3_up},
+/* 0000000000111000 ldtlb */{"ldtlb",{0},{HEX_0,HEX_0,HEX_3,HEX_8}, arch_sh_any_with_mmu},
/* 0100nnnnmmmm1111 mac.w @<REG_M>+,@<REG_N>+*/{"mac.w",{A_INC_M,A_INC_N},{HEX_4,REG_N,REG_M,HEX_F}, arch_sh1_up},
@@ -455,7 +467,7 @@ const sh_opcode_info sh_table[] =
/* 11000001i8*2.... mov.w R0,@(<disp>,GBR)*/{"mov.w",{A_R0,A_DISP_GBR},{HEX_C,HEX_1,IMM1_8BY2}, arch_sh1_up},
/* 11000111i8p4.... mova @(<disp>,PC),R0*/{"mova",{A_DISP_PC,A_R0},{HEX_C,HEX_7,PCRELIMM_8BY4}, arch_sh1_up},
-/* 0000nnnn11000011 movca.l R0,@<REG_N> */{"movca.l",{A_R0,A_IND_N},{HEX_0,REG_N,HEX_C,HEX_3}, arch_sh4_nofp_up},
+/* 0000nnnn11000011 movca.l R0,@<REG_N> */{"movca.l",{A_R0,A_IND_N},{HEX_0,REG_N,HEX_C,HEX_3}, arch_sh4_nommu_nofpu_up},
/* 0000nnnn01110011 movco.l r0,@<REG_N> */{"movco.l",{A_R0,A_IND_N},{HEX_0,REG_N,HEX_7,HEX_3}, arch_sh4a_nofp_up},
/* 0000mmmm01100011 movli.l @<REG_M>,r0 */{"movli.l",{A_IND_M,A_R0},{HEX_0,REG_M,HEX_6,HEX_3}, arch_sh4a_nofp_up},
@@ -480,11 +492,11 @@ const sh_opcode_info sh_table[] =
/* 0000000000001001 nop */{"nop",{0},{HEX_0,HEX_0,HEX_0,HEX_9}, arch_sh1_up},
/* 0110nnnnmmmm0111 not <REG_M>,<REG_N> */{"not",{ A_REG_M,A_REG_N},{HEX_6,REG_N,REG_M,HEX_7}, arch_sh1_up},
-/* 0000nnnn10010011 ocbi @<REG_N> */{"ocbi",{A_IND_N},{HEX_0,REG_N,HEX_9,HEX_3}, arch_sh4_nofp_up},
+/* 0000nnnn10010011 ocbi @<REG_N> */{"ocbi",{A_IND_N},{HEX_0,REG_N,HEX_9,HEX_3}, arch_sh4_nommu_nofpu_up},
-/* 0000nnnn10100011 ocbp @<REG_N> */{"ocbp",{A_IND_N},{HEX_0,REG_N,HEX_A,HEX_3}, arch_sh4_nofp_up},
+/* 0000nnnn10100011 ocbp @<REG_N> */{"ocbp",{A_IND_N},{HEX_0,REG_N,HEX_A,HEX_3}, arch_sh4_nommu_nofpu_up},
-/* 0000nnnn10110011 ocbwb @<REG_N> */{"ocbwb",{A_IND_N},{HEX_0,REG_N,HEX_B,HEX_3}, arch_sh4_nofp_up},
+/* 0000nnnn10110011 ocbwb @<REG_N> */{"ocbwb",{A_IND_N},{HEX_0,REG_N,HEX_B,HEX_3}, arch_sh4_nommu_nofpu_up},
/* 11001011i8*1.... or #<imm>,R0 */{"or",{A_IMM,A_R0},{HEX_C,HEX_B,IMM0_8}, arch_sh1_up},
@@ -493,7 +505,7 @@ const sh_opcode_info sh_table[] =
/* 11001111i8*1.... or.b #<imm>,@(R0,GBR)*/{"or.b",{A_IMM,A_R0_GBR},{HEX_C,HEX_F,IMM0_8}, arch_sh1_up},
-/* 0000nnnn10000011 pref @<REG_N> */{"pref",{A_IND_N},{HEX_0,REG_N,HEX_8,HEX_3}, arch_sh4_nofp_up},
+/* 0000nnnn10000011 pref @<REG_N> */{"pref",{A_IND_N},{HEX_0,REG_N,HEX_8,HEX_3}, arch_sh4_nommu_nofpu_up},
/* 0000nnnn11010011 prefi @<REG_N> */{"prefi",{A_IND_N},{HEX_0,REG_N,HEX_D,HEX_3}, arch_sh4a_nofp_up},
@@ -565,9 +577,9 @@ const sh_opcode_info sh_table[] =
/* 0000nnnn01000010 stc SPC,<REG_N> */{"stc",{A_SPC,A_REG_N},{HEX_0,REG_N,HEX_4,HEX_2}, arch_sh3_up},
-/* 0000nnnn00111010 stc SGR,<REG_N> */{"stc",{A_SGR,A_REG_N},{HEX_0,REG_N,HEX_3,HEX_A}, arch_sh4_nofp_up},
+/* 0000nnnn00111010 stc SGR,<REG_N> */{"stc",{A_SGR,A_REG_N},{HEX_0,REG_N,HEX_3,HEX_A}, arch_sh4_nommu_nofpu_up},
-/* 0000nnnn11111010 stc DBR,<REG_N> */{"stc",{A_DBR,A_REG_N},{HEX_0,REG_N,HEX_F,HEX_A}, arch_sh4_nofp_up},
+/* 0000nnnn11111010 stc DBR,<REG_N> */{"stc",{A_DBR,A_REG_N},{HEX_0,REG_N,HEX_F,HEX_A}, arch_sh4_nommu_nofpu_up},
/* 0000nnnn1xxx0010 stc Rn_BANK,<REG_N> */{"stc",{A_REG_B,A_REG_N},{HEX_0,REG_N,REG_B,HEX_2}, arch_sh3_up},
@@ -587,9 +599,9 @@ const sh_opcode_info sh_table[] =
/* 0100nnnn00010011 stc.l GBR,@-<REG_N> */{"stc.l",{A_GBR,A_DEC_N},{HEX_4,REG_N,HEX_1,HEX_3}, arch_sh1_up},
-/* 0100nnnn00110010 stc.l SGR,@-<REG_N> */{"stc.l",{A_SGR,A_DEC_N},{HEX_4,REG_N,HEX_3,HEX_2}, arch_sh4_nofp_up},
+/* 0100nnnn00110010 stc.l SGR,@-<REG_N> */{"stc.l",{A_SGR,A_DEC_N},{HEX_4,REG_N,HEX_3,HEX_2}, arch_sh4_nommu_nofpu_up},
-/* 0100nnnn11110010 stc.l DBR,@-<REG_N> */{"stc.l",{A_DBR,A_DEC_N},{HEX_4,REG_N,HEX_F,HEX_2}, arch_sh4_nofp_up},
+/* 0100nnnn11110010 stc.l DBR,@-<REG_N> */{"stc.l",{A_DBR,A_DEC_N},{HEX_4,REG_N,HEX_F,HEX_2}, arch_sh4_nommu_nofpu_up},
/* 0100nnnn1xxx0011 stc.l Rn_BANK,@-<REG_N> */{"stc.l",{A_REG_B,A_DEC_N},{HEX_4,REG_N,REG_B,HEX_3}, arch_sh3_up},
@@ -842,7 +854,7 @@ const sh_opcode_info sh_table[] =
{"pswap", {DSP_REG_Y,DSP_REG_N},{PPI,PPIC,HEX_B,HEX_D,HEX_4}, arch_sh4al_dsp_up},
/* 1111nnnn01011101 fabs <F_REG_N> */{"fabs",{F_REG_N},{HEX_F,REG_N,HEX_5,HEX_D}, arch_sh2e_up},
-/* 1111nnnn01011101 fabs <D_REG_N> */{"fabs",{D_REG_N},{HEX_F,REG_N,HEX_5,HEX_D}, arch_sh4_up},
+/* 1111nnn001011101 fabs <D_REG_N> */{"fabs",{D_REG_N},{HEX_F,REG_N,HEX_5,HEX_D}, arch_sh4_up},
/* 1111nnnnmmmm0000 fadd <F_REG_M>,<F_REG_N>*/{"fadd",{F_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_0}, arch_sh2e_up},
/* 1111nnn0mmm00000 fadd <D_REG_M>,<D_REG_N>*/{"fadd",{D_REG_M,D_REG_N},{HEX_F,REG_N,REG_M,HEX_0}, arch_sh4_up},
@@ -853,9 +865,9 @@ const sh_opcode_info sh_table[] =
/* 1111nnnnmmmm0101 fcmp/gt <F_REG_M>,<F_REG_N>*/{"fcmp/gt",{F_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_5}, arch_sh2e_up},
/* 1111nnn0mmm00101 fcmp/gt <D_REG_M>,<D_REG_N>*/{"fcmp/gt",{D_REG_M,D_REG_N},{HEX_F,REG_N,REG_M,HEX_5}, arch_sh4_up},
-/* 1111nnn010111101 fcnvds <D_REG_N>,FPUL*/{"fcnvds",{D_REG_N,FPUL_M},{HEX_F,REG_N,HEX_B,HEX_D}, arch_sh4_up},
+/* 1111nnn010111101 fcnvds <D_REG_N>,FPUL*/{"fcnvds",{D_REG_N,FPUL_M},{HEX_F,REG_N_D,HEX_B,HEX_D}, arch_sh4_up},
-/* 1111nnn010101101 fcnvsd FPUL,<D_REG_N>*/{"fcnvsd",{FPUL_M,D_REG_N},{HEX_F,REG_N,HEX_A,HEX_D}, arch_sh4_up},
+/* 1111nnn010101101 fcnvsd FPUL,<D_REG_N>*/{"fcnvsd",{FPUL_M,D_REG_N},{HEX_F,REG_N_D,HEX_A,HEX_D}, arch_sh4_up},
/* 1111nnnnmmmm0011 fdiv <F_REG_M>,<F_REG_N>*/{"fdiv",{F_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_3}, arch_sh2e_up},
/* 1111nnn0mmm00011 fdiv <D_REG_M>,<D_REG_N>*/{"fdiv",{D_REG_M,D_REG_N},{HEX_F,REG_N,REG_M,HEX_3}, arch_sh4_up},
@@ -869,42 +881,42 @@ const sh_opcode_info sh_table[] =
/* 1111nnnn00011101 flds <F_REG_N>,FPUL*/{"flds",{F_REG_N,FPUL_M},{HEX_F,REG_N,HEX_1,HEX_D}, arch_sh2e_up},
/* 1111nnnn00101101 float FPUL,<F_REG_N>*/{"float",{FPUL_M,F_REG_N},{HEX_F,REG_N,HEX_2,HEX_D}, arch_sh2e_up},
-/* 1111nnnn00101101 float FPUL,<D_REG_N>*/{"float",{FPUL_M,D_REG_N},{HEX_F,REG_N,HEX_2,HEX_D}, arch_sh4_up},
+/* 1111nnn000101101 float FPUL,<D_REG_N>*/{"float",{FPUL_M,D_REG_N},{HEX_F,REG_N,HEX_2,HEX_D}, arch_sh4_up},
/* 1111nnnnmmmm1110 fmac FR0,<F_REG_M>,<F_REG_N>*/{"fmac",{F_FR0,F_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_E}, arch_sh2e_up},
/* 1111nnnnmmmm1100 fmov <F_REG_M>,<F_REG_N>*/{"fmov",{F_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_C}, arch_sh2e_up},
-/* 1111nnnnmmmm1100 fmov <DX_REG_M>,<DX_REG_N>*/{"fmov",{DX_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_C}, arch_sh4_up},
+/* 1111nnn1mmmm1100 fmov <DX_REG_M>,<DX_REG_N>*/{"fmov",{DX_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_C}, arch_sh4_up},
/* 1111nnnnmmmm1000 fmov @<REG_M>,<F_REG_N>*/{"fmov",{A_IND_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh2e_up},
-/* 1111nnnnmmmm1000 fmov @<REG_M>,<DX_REG_N>*/{"fmov",{A_IND_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh4_up},
+/* 1111nnn1mmmm1000 fmov @<REG_M>,<DX_REG_N>*/{"fmov",{A_IND_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh4_up},
/* 1111nnnnmmmm1010 fmov <F_REG_M>,@<REG_N>*/{"fmov",{F_REG_M,A_IND_N},{HEX_F,REG_N,REG_M,HEX_A}, arch_sh2e_up},
-/* 1111nnnnmmmm1010 fmov <DX_REG_M>,@<REG_N>*/{"fmov",{DX_REG_M,A_IND_N},{HEX_F,REG_N,REG_M,HEX_A}, arch_sh4_up},
+/* 1111nnnnmmm11010 fmov <DX_REG_M>,@<REG_N>*/{"fmov",{DX_REG_M,A_IND_N},{HEX_F,REG_N,REG_M,HEX_A}, arch_sh4_up},
/* 1111nnnnmmmm1001 fmov @<REG_M>+,<F_REG_N>*/{"fmov",{A_INC_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_9}, arch_sh2e_up},
-/* 1111nnnnmmmm1001 fmov @<REG_M>+,<DX_REG_N>*/{"fmov",{A_INC_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_9}, arch_sh4_up},
+/* 1111nnn1mmmm1001 fmov @<REG_M>+,<DX_REG_N>*/{"fmov",{A_INC_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_9}, arch_sh4_up},
/* 1111nnnnmmmm1011 fmov <F_REG_M>,@-<REG_N>*/{"fmov",{F_REG_M,A_DEC_N},{HEX_F,REG_N,REG_M,HEX_B}, arch_sh2e_up},
-/* 1111nnnnmmmm1011 fmov <DX_REG_M>,@-<REG_N>*/{"fmov",{DX_REG_M,A_DEC_N},{HEX_F,REG_N,REG_M,HEX_B}, arch_sh4_up},
+/* 1111nnnnmmm11011 fmov <DX_REG_M>,@-<REG_N>*/{"fmov",{DX_REG_M,A_DEC_N},{HEX_F,REG_N,REG_M,HEX_B}, arch_sh4_up},
/* 1111nnnnmmmm0110 fmov @(R0,<REG_M>),<F_REG_N>*/{"fmov",{A_IND_R0_REG_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_6}, arch_sh2e_up},
-/* 1111nnnnmmmm0110 fmov @(R0,<REG_M>),<DX_REG_N>*/{"fmov",{A_IND_R0_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_6}, arch_sh4_up},
+/* 1111nnn1mmmm0110 fmov @(R0,<REG_M>),<DX_REG_N>*/{"fmov",{A_IND_R0_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_6}, arch_sh4_up},
/* 1111nnnnmmmm0111 fmov <F_REG_M>,@(R0,<REG_N>)*/{"fmov",{F_REG_M,A_IND_R0_REG_N},{HEX_F,REG_N,REG_M,HEX_7}, arch_sh2e_up},
-/* 1111nnnnmmmm0111 fmov <DX_REG_M>,@(R0,<REG_N>)*/{"fmov",{DX_REG_M,A_IND_R0_REG_N},{HEX_F,REG_N,REG_M,HEX_7}, arch_sh4_up},
+/* 1111nnnnmmm10111 fmov <DX_REG_M>,@(R0,<REG_N>)*/{"fmov",{DX_REG_M,A_IND_R0_REG_N},{HEX_F,REG_N,REG_M,HEX_7}, arch_sh4_up},
-/* 1111nnnnmmmm1000 fmov.d @<REG_M>,<DX_REG_N>*/{"fmov.d",{A_IND_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh4_up},
+/* 1111nnn1mmmm1000 fmov.d @<REG_M>,<DX_REG_N>*/{"fmov.d",{A_IND_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh4_up},
-/* 1111nnnnmmmm1010 fmov.d <DX_REG_M>,@<REG_N>*/{"fmov.d",{DX_REG_M,A_IND_N},{HEX_F,REG_N,REG_M,HEX_A}, arch_sh4_up},
+/* 1111nnnnmmm11010 fmov.d <DX_REG_M>,@<REG_N>*/{"fmov.d",{DX_REG_M,A_IND_N},{HEX_F,REG_N,REG_M,HEX_A}, arch_sh4_up},
-/* 1111nnnnmmmm1001 fmov.d @<REG_M>+,<DX_REG_N>*/{"fmov.d",{A_INC_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_9}, arch_sh4_up},
+/* 1111nnn1mmmm1001 fmov.d @<REG_M>+,<DX_REG_N>*/{"fmov.d",{A_INC_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_9}, arch_sh4_up},
-/* 1111nnnnmmmm1011 fmov.d <DX_REG_M>,@-<REG_N>*/{"fmov.d",{DX_REG_M,A_DEC_N},{HEX_F,REG_N,REG_M,HEX_B}, arch_sh4_up},
+/* 1111nnnnmmm11011 fmov.d <DX_REG_M>,@-<REG_N>*/{"fmov.d",{DX_REG_M,A_DEC_N},{HEX_F,REG_N,REG_M,HEX_B}, arch_sh4_up},
-/* 1111nnnnmmmm0110 fmov.d @(R0,<REG_M>),<DX_REG_N>*/{"fmov.d",{A_IND_R0_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_6}, arch_sh4_up},
+/* 1111nnn1mmmm0110 fmov.d @(R0,<REG_M>),<DX_REG_N>*/{"fmov.d",{A_IND_R0_REG_M,DX_REG_N},{HEX_F,REG_N,REG_M,HEX_6}, arch_sh4_up},
-/* 1111nnnnmmmm0111 fmov.d <DX_REG_M>,@(R0,<REG_N>)*/{"fmov.d",{DX_REG_M,A_IND_R0_REG_N},{HEX_F,REG_N,REG_M,HEX_7}, arch_sh4_up},
+/* 1111nnnnmmm10111 fmov.d <DX_REG_M>,@(R0,<REG_N>)*/{"fmov.d",{DX_REG_M,A_IND_R0_REG_N},{HEX_F,REG_N,REG_M,HEX_7}, arch_sh4_up},
/* 1111nnnnmmmm1000 fmov.s @<REG_M>,<F_REG_N>*/{"fmov.s",{A_IND_M,F_REG_N},{HEX_F,REG_N,REG_M,HEX_8}, arch_sh2e_up},
@@ -922,20 +934,20 @@ const sh_opcode_info sh_table[] =
/* 1111nnn0mmm00010 fmul <D_REG_M>,<D_REG_N>*/{"fmul",{D_REG_M,D_REG_N},{HEX_F,REG_N,REG_M,HEX_2}, arch_sh4_up},
/* 1111nnnn01001101 fneg <F_REG_N> */{"fneg",{F_REG_N},{HEX_F,REG_N,HEX_4,HEX_D}, arch_sh2e_up},
-/* 1111nnnn01001101 fneg <D_REG_N> */{"fneg",{D_REG_N},{HEX_F,REG_N,HEX_4,HEX_D}, arch_sh4_up},
+/* 1111nnn001001101 fneg <D_REG_N> */{"fneg",{D_REG_N},{HEX_F,REG_N,HEX_4,HEX_D}, arch_sh4_up},
/* 1111011111111101 fpchg */{"fpchg",{0},{HEX_F,HEX_7,HEX_F,HEX_D}, arch_sh4a_up},
/* 1111101111111101 frchg */{"frchg",{0},{HEX_F,HEX_B,HEX_F,HEX_D}, arch_sh4_up},
-/* 1111nnn011111101 fsca FPUL,<F_REG_N> */{"fsca",{FPUL_M,D_REG_N},{HEX_F,REG_N,HEX_F,HEX_D}, arch_sh4a_up},
+/* 1111nnn011111101 fsca FPUL,<D_REG_N> */{"fsca",{FPUL_M,D_REG_N},{HEX_F,REG_N_D,HEX_F,HEX_D}, arch_sh4_up},
/* 1111001111111101 fschg */{"fschg",{0},{HEX_F,HEX_3,HEX_F,HEX_D}, arch_sh4_up},
/* 1111nnnn01101101 fsqrt <F_REG_N> */{"fsqrt",{F_REG_N},{HEX_F,REG_N,HEX_6,HEX_D}, arch_sh3e_up},
-/* 1111nnnn01101101 fsqrt <D_REG_N> */{"fsqrt",{D_REG_N},{HEX_F,REG_N,HEX_6,HEX_D}, arch_sh4_up},
+/* 1111nnn001101101 fsqrt <D_REG_N> */{"fsqrt",{D_REG_N},{HEX_F,REG_N,HEX_6,HEX_D}, arch_sh4_up},
-/* 1111nnnn01111101 fsrra <F_REG_N> */{"fsrra",{F_REG_N},{HEX_F,REG_N,HEX_7,HEX_D}, arch_sh4a_up},
+/* 1111nnnn01111101 fsrra <F_REG_N> */{"fsrra",{F_REG_N},{HEX_F,REG_N,HEX_7,HEX_D}, arch_sh4_up},
/* 1111nnnn00001101 fsts FPUL,<F_REG_N>*/{"fsts",{FPUL_M,F_REG_N},{HEX_F,REG_N,HEX_0,HEX_D}, arch_sh2e_up},
@@ -945,7 +957,7 @@ const sh_opcode_info sh_table[] =
/* 1111nnnn00111101 ftrc <F_REG_N>,FPUL*/{"ftrc",{F_REG_N,FPUL_M},{HEX_F,REG_N,HEX_3,HEX_D}, arch_sh2e_up},
/* 1111nnnn00111101 ftrc <D_REG_N>,FPUL*/{"ftrc",{D_REG_N,FPUL_M},{HEX_F,REG_N,HEX_3,HEX_D}, arch_sh4_up},
-/* 1111nn0111111101 ftrv XMTRX_M4,<V_REG_n>*/{"ftrv",{XMTRX_M4,V_REG_N},{HEX_F,REG_NM,HEX_F,HEX_D}, arch_sh4_up},
+/* 1111nn0111111101 ftrv XMTRX_M4,<V_REG_n>*/{"ftrv",{XMTRX_M4,V_REG_N},{HEX_F,REG_N_B01,HEX_F,HEX_D}, arch_sh4_up},
{ 0, {0}, {0}, 0 }
};
diff --git a/opcodes/sparc-opc.c b/opcodes/sparc-opc.c
index 22f18fa..9470898 100644
--- a/opcodes/sparc-opc.c
+++ b/opcodes/sparc-opc.c
@@ -1273,110 +1273,72 @@ cond ("bz", "tz", CONDZ, F_CONDBR|F_ALIAS), /* for e */
#define FM_DF 2 /* v9 */
#define FM_QF 3 /* v9 */
-#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
-{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
-#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
-{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
-{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
-{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
/* FIXME: use fmovicc/fmovfcc? */ /* v9 */
-#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
-{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
-{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
-{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
-{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
-{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
-{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
-
-/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
-/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
-/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
-/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
-/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
-/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
-/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
-/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
-/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
-/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
-/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
-/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
-/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
-/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
-/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
-/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
-/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
-/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
-/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
-/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
-/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
-/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
-/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
-/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
-/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
-/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
-/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
-/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
-/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
-/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
-/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
-/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
-/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
-/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
-/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
-/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
-/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
-/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
-/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
-/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
-/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
-/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
-/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
-/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
-/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
-/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
-/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
-/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
-/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
-/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
-/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
-/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
-/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
-/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
-/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
-/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
-/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
-/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
-/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
-/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
-/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
-/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
-/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
-/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
-/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
-/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
-/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
-/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
-/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
-/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
-/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
-/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
-/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
-/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
-/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
-/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
-/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
-/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
-/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
-/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
-/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
-/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
-/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
-/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
-
+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
+
+#define fmovicc(suffix, cond, flags) /* v9 */ \
+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
+
+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
+
+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
+
+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
+/* v9 */ fmovicc ("cc", CONDCC, 0),
+/* v9 */ fmovicc ("cs", CONDCS, 0),
+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
+/* v9 */ fmovicc ("gu", CONDGU, 0),
+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
+/* v9 */ fmovicc ("leu", CONDLEU, 0),
+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
+/* v9 */ fmovicc ("neg", CONDNEG, 0),
+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
+/* v9 */ fmovfcc ("o", FCONDO, 0),
+/* v9 */ fmovicc ("pos", CONDPOS, 0),
+/* v9 */ fmovfcc ("u", FCONDU, 0),
+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
+/* v9 */ fmovicc ("vc", CONDVC, 0),
+/* v9 */ fmovicc ("vs", CONDVS, 0),
+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
+
+#undef fmoviccx /* v9 */
+#undef fmovfccx /* v9 */
+#undef fmovccx /* v9 */
#undef fmovicc /* v9 */
#undef fmovfcc /* v9 */
#undef fmovcc /* v9 */
diff --git a/src-release b/src-release
index 403ce14..42d5c20 100644
--- a/src-release
+++ b/src-release
@@ -45,7 +45,6 @@ PWD = $${PWDCMD-pwd}
# distribution (perhaps it would be better to include it anyway).
DEVO_SUPPORT= README Makefile.in configure configure.in \
config.guess config.if config.sub config move-if-change \
- mpw-README mpw-build.in mpw-config.in mpw-configure mpw-install \
COPYING COPYING.LIB install-sh config-ml.in symlink-tree \
mkinstalldirs ltconfig ltmain.sh missing ylwrap \
libtool.m4 gettext.m4 ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh \
@@ -208,11 +207,14 @@ do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
-rm -f $(PACKAGE)-$(VER)
ln -s proto-toplev $(PACKAGE)-$(VER)
+CVS_NAMES= \( -name CVS -o -name '.cvsignore' \)
+
.PHONY: do-tar
do-tar:
echo "==> Making $(PACKAGE)-$(VER).tar"
-rm -f $(PACKAGE)-$(VER).tar
- find $(PACKAGE)-$(VER) -follow -name CVS -prune -o -type f -print \
+ find $(PACKAGE)-$(VER) -follow $(CVS_NAMES) -prune \
+ -o -type f -print \
| tar cTfh - $(PACKAGE)-$(VER).tar
.PHONY: do-bz2
@@ -224,7 +226,8 @@ do-bz2:
.PHONY: do-md5sum
do-md5sum:
echo "==> Adding md5 checksum to top-level directory"
- cd proto-toplev && find * -follow -name CVS -prune -o -type f -print \
+ cd proto-toplev && find * -follow $(CVS_NAMES) -prune \
+ -o -type f -print \
| xargs $(MD5PROG) > ../md5.sum
mv md5.sum proto-toplev
diff --git a/texinfo/texinfo.tex b/texinfo/texinfo.tex
index 555a077..6f322ea 100644
--- a/texinfo/texinfo.tex
+++ b/texinfo/texinfo.tex
@@ -3,10 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2003-02-03.16}
+\def\texinfoversion{2004-02-19.09}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+% Foundation, Inc.
%
% This texinfo.tex file is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -23,23 +24,18 @@
% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA 02111-1307, USA.
%
-% In other words, you are welcome to use, share and improve this program.
-% You are forbidden to forbid anyone else to use, share and improve
-% what you give them. Help stamp out software-hoarding!
-%
+% As a special exception, when this file is read by TeX when processing
+% a Texinfo source document, you may use the result without
+% restriction. (This has been our intent since Texinfo was invented.)
+%
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
-% ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex
-% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
+% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org),
-% and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-%
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-%
-% The texinfo.tex in any given Texinfo distribution could well be out
+% (and all CTAN mirrors, see http://www.ctan.org).
+% The texinfo.tex in any given distribution could well be out
% of date, so if that's what you're using, please check.
-%
+%
% Send bug reports to bug-texinfo@gnu.org. Please include including a
% complete document in each bug report with which we can reproduce the
% problem. Patches are, of course, greatly appreciated.
@@ -55,10 +51,13 @@
% The extra TeX runs get the cross-reference information correct.
% Sometimes one run after texindex suffices, and sometimes you need more
% than two; texi2dvi does it as many times as necessary.
-%
+%
% It is possible to adapt texinfo.tex for other languages, to some
% extent. You can get the existing language-specific files from the
% full Texinfo distribution.
+%
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+
\message{Loading texinfo [version \texinfoversion]:}
@@ -71,11 +70,11 @@
\message{Basics,}
\chardef\other=12
-% We never want plain's outer \+ definition in Texinfo.
+% We never want plain's \outer definition of \+ in Texinfo.
% For @tex, we can use \tabalign.
\let\+ = \relax
-% Save some parts of plain tex whose names we will redefine.
+% Save some plain tex macros whose names we will redefine.
\let\ptexb=\b
\let\ptexbullet=\bullet
\let\ptexc=\c
@@ -85,13 +84,18 @@
\let\ptexend=\end
\let\ptexequiv=\equiv
\let\ptexexclam=\!
+\let\ptexfootnote=\footnote
\let\ptexgtr=>
\let\ptexhat=^
\let\ptexi=\i
+\let\ptexindent=\indent
+\let\ptexnoindent=\noindent
+\let\ptexinsert=\insert
\let\ptexlbrace=\{
\let\ptexless=<
\let\ptexplus=+
\let\ptexrbrace=\}
+\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
@@ -99,6 +103,15 @@
% starts a new line in the output.
\newlinechar = `^^J
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+ \let\linenumber = \empty % Pre-3.0.
+\else
+ \def\linenumber{l.\the\inputlineno:\space}
+\fi
+
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
@@ -137,42 +150,79 @@
\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi
\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
-\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi
% In some macros, we cannot use the `\? notation---the left quote is
% in some cases the escape char.
\chardef\colonChar = `\:
\chardef\commaChar = `\,
\chardef\dotChar = `\.
-\chardef\equalChar = `\=
\chardef\exclamChar= `\!
\chardef\questChar = `\?
\chardef\semiChar = `\;
-\chardef\spaceChar = `\ %
\chardef\underChar = `\_
+\chardef\spaceChar = `\ %
+\chardef\spacecat = 10
+\def\spaceisspace{\catcode\spaceChar=\spacecat}
+
% Ignore a token.
%
\def\gobble#1{}
-% True if #1 is the empty string, i.e., called like `\ifempty{}'.
-%
-\def\ifempty#1{\ifemptyx #1\emptymarkA\emptymarkB}%
-\def\ifemptyx#1#2\emptymarkB{\ifx #1\emptymarkA}%
+% The following is used inside several \edef's.
+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
% Hyphenation fixes.
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-\hyphenation{white-space}
+\hyphenation{
+ Flor-i-da Ghost-script Ghost-view Mac-OS ap-pen-dix bit-map bit-maps
+ data-base data-bases eshell fall-ing half-way long-est man-u-script
+ man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
+ par-a-digms rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
+ stand-alone strong-est time-stamp time-stamps which-ever white-space
+ wide-spread wrap-around
+}
% Margin to add to right of even pages, to left of odd pages.
\newdimen\bindingoffset
\newdimen\normaloffset
\newdimen\pagewidth \newdimen\pageheight
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
+
% Sometimes it is convenient to have everything in the transcript file
% and nothing on the terminal. We don't just call \tracingall here,
% since that produces some useless output on the terminal. We also make
@@ -197,12 +247,12 @@
\tracingassigns1
\fi
\tracingcommands3 % 3 gives us more in etex
- \errorcontextlines\maxdimen
+ \errorcontextlines16
}%
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
-%
+%
\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
\removelastskip\penalty-50\smallskip\fi\fi}
\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
@@ -255,7 +305,7 @@
% the page break happens to be in the middle of an example.
\shipout\vbox{%
% Do this early so pdf references go to the beginning of the page.
- \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
+ \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
%
\ifcropmarks \vbox to \outervsize\bgroup
\hsize = \outerhsize
@@ -336,132 +386,162 @@
% the input line (except we remove a trailing comment). #1 should be a
% macro which expects an ordinary undelimited TeX argument.
%
-\def\parsearg#1{%
- \let\next = #1%
+\def\parsearg{\parseargusing{}}
+\def\parseargusing#1#2{%
+ \def\next{#2}%
\begingroup
\obeylines
- \futurelet\temp\parseargx
-}
-
-% If the next token is an obeyed space (from an @example environment or
-% the like), remove it and recurse. Otherwise, we're done.
-\def\parseargx{%
- % \obeyedspace is defined far below, after the definition of \sepspaces.
- \ifx\obeyedspace\temp
- \expandafter\parseargdiscardspace
- \else
- \expandafter\parseargline
- \fi
+ \spaceisspace
+ #1%
+ \parseargline\empty% Insert the \empty token, see \finishparsearg below.
}
-% Remove a single space (as the delimiter token to the macro call).
-{\obeyspaces %
- \gdef\parseargdiscardspace {\futurelet\temp\parseargx}}
-
{\obeylines %
\gdef\parseargline#1^^M{%
\endgroup % End of the group started in \parsearg.
- %
- % First remove any @c comment, then any @comment.
- % Result of each macro is put in \toks0.
- \argremovec #1\c\relax %
- \expandafter\argremovecomment \the\toks0 \comment\relax %
- %
- % Call the caller's macro, saved as \next in \parsearg.
- \expandafter\next\expandafter{\the\toks0}%
+ \argremovecomment #1\comment\ArgTerm%
}%
}
-% Since all \c{,omment} does is throw away the argument, we can let TeX
-% do that for us. The \relax here is matched by the \relax in the call
-% in \parseargline; it could be more or less anything, its purpose is
-% just to delimit the argument to the \c.
-\def\argremovec#1\c#2\relax{\toks0 = {#1}}
-\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}}
+% First remove any @comment, then any @c comment.
+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-% \argremovec{,omment} might leave us with trailing spaces, though; e.g.,
+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+%
+% \argremovec might leave us with trailing space, e.g.,
% @end itemize @c foo
-% will have two active spaces as part of the argument with the
-% `itemize'. Here we remove all active spaces from #1, and assign the
-% result to \toks0.
-%
-% This loses if there are any *other* active characters besides spaces
-% in the argument -- _ ^ +, for example -- since they get expanded.
-% Fortunately, Texinfo does not define any such commands. (If it ever
-% does, the catcode of the characters in questionwill have to be changed
-% here.) But this means we cannot call \removeactivespaces as part of
-% \argremovec{,omment}, since @c uses \parsearg, and thus the argument
-% that \parsearg gets might well have any character at all in it.
-%
-\def\removeactivespaces#1{%
- \begingroup
- \ignoreactivespaces
- \edef\temp{#1}%
- \global\toks0 = \expandafter{\temp}%
- \endgroup
+% This space token undergoes the same procedure and is eventually removed
+% by \finishparsearg.
+%
+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
+ \def\temp{#3}%
+ \ifx\temp\empty
+ % We cannot use \next here, as it holds the macro to run;
+ % thus we reuse \temp.
+ \let\temp\finishparsearg
+ \else
+ \let\temp\argcheckspaces
+ \fi
+ % Put the space token in:
+ \temp#1 #3\ArgTerm
}
-% Change the active space to expand to nothing.
+% If a _delimited_ argument is enclosed in braces, they get stripped; so
+% to get _exactly_ the rest of the line, we had to prevent such situation.
+% We prepended an \empty token at the very beginning and we expand it now,
+% just before passing the control to \next.
+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% either the null string, or it ends with \^^M---thus there is no danger
+% that a pair of braces would be stripped.
%
-\begingroup
+% But first, we have to remove the trailing space token.
+%
+\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
+
+% \parseargdef\foo{...}
+% is roughly equivalent to
+% \def\foo{\parsearg\Xfoo}
+% \def\Xfoo#1{...}
+%
+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
+% favourite TeX trick. --kasal, 16nov03
+
+\def\parseargdef#1{%
+ \expandafter \doparseargdef \csname\string#1\endcsname #1%
+}
+\def\doparseargdef#1#2{%
+ \def#2{\parsearg#1}%
+ \def#1##1%
+}
+
+% Several utility definitions with active space:
+{
\obeyspaces
- \gdef\ignoreactivespaces{\obeyspaces\let =\empty}
-\endgroup
+ \gdef\obeyedspace{ }
+
+ % Make each space character in the input produce a normal interword
+ % space in the output. Don't allow a line break at this space, as this
+ % is used only in environments like @example, where each line of input
+ % should produce a line of output anyway.
+ %
+ \gdef\sepspaces{\obeyspaces\let =\tie}
+
+ % If an index command is used in an @example environment, any spaces
+ % therein should become regular spaces in the raw index file, not the
+ % expansion of \tie (\leavevmode \penalty \@M \ ).
+ \gdef\unsepspaces{\let =\space}
+}
\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment; press RETURN to continue}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
+% Define the framework for environments in texinfo.tex. It's used like this:
+%
+% \envdef\foo{...}
+% \def\Efoo{...}
+%
+% It's the responsibility of \envdef to insert \begingroup before the
+% actual body; @end closes the group after calling \Efoo. \envdef also
+% defines \thisenv, so the current environment is known; @end checks
+% whether the environment name matches. The \checkenv macro can also be
+% used to check whether the current environment is the one expected.
+%
+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
+% are not treated as enviroments; they don't open a group. (The
+% implementation of @end takes care not to call \endgroup in this
+% special case.)
-% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Press RETURN to continue.}
-\outer\def\begin{\parsearg\beginxxx}
+% At runtime, environments start with this:
+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
+% initialize
+\let\thisenv\empty
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
+% ... but they get defined via ``\envdef\foo{...}'':
+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-% @end foo executes the definition of \Efoo.
-%
-\def\end{\parsearg\endxxx}
-\def\endxxx #1{%
- \removeactivespaces{#1}%
- \edef\endthing{\the\toks0}%
- %
- \expandafter\ifx\csname E\endthing\endcsname\relax
- \expandafter\ifx\csname \endthing\endcsname\relax
- % There's no \foo, i.e., no ``environment'' foo.
- \errhelp = \EMsimple
- \errmessage{Undefined command `@end \endthing'}%
- \else
- \unmatchedenderror\endthing
- \fi
+% Check whether we're in the right environment:
+\def\checkenv#1{%
+ \def\temp{#1}%
+ \ifx\thisenv\temp
\else
- % Everything's ok; the right environment has been started.
- \csname E\endthing\endcsname
+ \badenverr
\fi
}
-% There is an environment #1, but it hasn't been started. Give an error.
-%
-\def\unmatchedenderror#1{%
+% Evironment mismatch, #1 expected:
+\def\badenverr{%
\errhelp = \EMsimple
- \errmessage{This `@end #1' doesn't have a matching `@#1'}%
+ \errmessage{This command can appear only \inenvironment\temp,
+ not \inenvironment\thisenv}%
+}
+\def\inenvironment#1{%
+ \ifx#1\empty
+ out of any environment%
+ \else
+ in environment \expandafter\string#1%
+ \fi
}
-% Define the control sequence \E#1 to give an unmatched @end error.
+% @end foo executes the definition of \Efoo.
+% But first, it executes a specialized version of \checkenv
%
-\def\defineunmatchedend#1{%
- \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}%
+\parseargdef\end{%
+ \if 1\csname iscond.#1\endcsname
+ \else
+ % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+ \expandafter\checkenv\csname#1\endcsname
+ \csname E#1\endcsname
+ \endgroup
+ \fi
}
+\newhelp\EMsimple{Press RETURN to continue.}
+
%% Simple single-character @ commands
@@ -493,6 +573,9 @@
!gdef!rbraceatcmd[@}]%
!endgroup
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
\let\, = \c
@@ -502,10 +585,12 @@
\let\ubaraccent = \b
\let\udotaccent = \d
-% Other special characters: @questiondown @exclamdown
+% Other special characters: @questiondown @exclamdown @ordf @ordm
% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
\def\questiondown{?`}
\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
% Dotless i and dotless j, used for accents.
\def\imacro{i}
@@ -518,6 +603,25 @@
\fi\fi
}
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence. (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=3000 }
+
+% @LaTeX{} logo. Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+ L\kern-.36em
+ {\setbox0=\hbox{T}%
+ \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+ \kern-.15em
+ \TeX
+}
+
% Be sure we're in horizontal mode when doing a tie, since we make space
% equivalent to this in @example-like environments. Otherwise, a space
% at the beginning of a line will start with \penalty -- and
@@ -536,6 +640,9 @@
% @* forces a line break.
\def\*{\hfil\break\hbox{}\ignorespaces}
+% @/ allows a line break.
+\let\/=\allowbreak
+
% @. is an end-of-sentence period.
\def\.{.\spacefactor=3000 }
@@ -564,63 +671,18 @@
% explicit \vfill so that the extra space is at the bottom. The
% threshold for doing this is if the group is more than \vfilllimit
% percent of a page (\vfilllimit can be changed inside of @tex).
-%
+%
\newbox\groupbox
\def\vfilllimit{0.7}
%
-\def\group{\begingroup
- \ifnum\catcode13=\active \else
+\envdef\group{%
+ \ifnum\catcode`\^^M=\active \else
\errhelp = \groupinvalidhelp
\errmessage{@group invalid in context where filling is enabled}%
\fi
- %
- % The \vtop we start below produces a box with normal height and large
- % depth; thus, TeX puts \baselineskip glue before it, and (when the
- % next line of text is done) \lineskip glue after it. (See p.82 of
- % the TeXbook.) Thus, space below is not quite equal to space
- % above. But it's pretty close.
- \def\Egroup{%
- \egroup % End the \vtop.
- % \dimen0 is the vertical size of the group's box.
- \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
- % \dimen2 is how much space is left on the page (more or less).
- \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
- % if the group doesn't fit on the current page, and it's a big big
- % group, force a page break.
- \ifdim \dimen0 > \dimen2
- \ifdim \pagetotal < \vfilllimit\pageheight
- \page
- \fi
- \fi
- \copy\groupbox
- \endgroup % End the \group.
- }%
+ \startsavinginserts
%
\setbox\groupbox = \vtop\bgroup
- % We have to put a strut on the last line in case the @group is in
- % the midst of an example, rather than completely enclosing it.
- % Otherwise, the interline space between the last line of the group
- % and the first line afterwards is too small. But we can't put the
- % strut in \Egroup, since there it would be on a line by itself.
- % Hence this just inserts a strut at the beginning of each line.
- \everypar = {\strut}%
- %
- % Since we have a strut on every line, we don't need any of TeX's
- % normal interline spacing.
- \offinterlineskip
- %
- % OK, but now we have to do something about blank
- % lines in the input in @example-like environments, which normally
- % just turn into \lisppar, which will insert no space now that we've
- % turned off the interline space. Simplest is to make them be an
- % empty paragraph.
- \ifx\par\lisppar
- \edef\par{\leavevmode \par}%
- %
- % Reset ^^M's definition to new definition of \par.
- \obeylines
- \fi
- %
% Do @comment since we are called inside an environment such as
% @example, where each end-of-line in the input causes an
% end-of-line in the output. We don't want the end-of-line after
@@ -630,6 +692,32 @@
\comment
}
%
+% The \vtop produces a box with normal height and large depth; thus, TeX puts
+% \baselineskip glue before it, and (when the next line of text is done)
+% \lineskip glue after it. Thus, space below is not quite equal to space
+% above. But it's pretty close.
+\def\Egroup{%
+ % To get correct interline space between the last line of the group
+ % and the first line afterwards, we have to propagate \prevdepth.
+ \endgraf % Not \par, as it may have been set to \lisppar.
+ \global\dimen1 = \prevdepth
+ \egroup % End the \vtop.
+ % \dimen0 is the vertical size of the group's box.
+ \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
+ % \dimen2 is how much space is left on the page (more or less).
+ \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
+ % if the group doesn't fit on the current page, and it's a big big
+ % group, force a page break.
+ \ifdim \dimen0 > \dimen2
+ \ifdim \pagetotal < \vfilllimit\pageheight
+ \page
+ \fi
+ \fi
+ \box\groupbox
+ \prevdepth = \dimen1
+ \checkinserts
+}
+%
% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
% message, so this ends up printing `@group can only ...'.
%
@@ -642,10 +730,8 @@ where each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
-\def\need{\parsearg\needx}
-
% Old definition--didn't work.
-%\def\needx #1{\par %
+%\parseargdef\need{\par %
%% This method tries to make TeX break the page naturally
%% if the depth of the box does not fit.
%{\baselineskip=0pt%
@@ -653,7 +739,7 @@ where each line of input produces a line of output.}
%\prevdepth=-1000pt
%}}
-\def\needx#1{%
+\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
\par
@@ -692,37 +778,11 @@ where each line of input produces a line of output.}
\fi
}
-% @br forces paragraph break
+% @br forces paragraph break (and is undocumented).
\let\br = \par
-% @dots{} output an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
- \leavevmode
- \hbox to 1.5em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \leavevmode
- \hbox to 2em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
- \spacefactor=3000
-}
-
-
-% @page forces the start of a new page
+% @page forces the start of a new page.
%
\def\page{\par\vfill\supereject}
@@ -734,13 +794,11 @@ where each line of input produces a line of output.}
\newskip\exdentamount
% This defn is used inside fill environments such as @defun.
-\def\exdent{\parsearg\exdentyyy}
-\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
% This defn is used inside nofill environments such as @example.
-\def\nofillexdent{\parsearg\nofillexdentyyy}
-\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
-\leftline{\hskip\leftskip{\rm#1}}}}
+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
+ \leftline{\hskip\leftskip{\rm#1}}}}
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
@@ -771,10 +829,10 @@ where each line of input produces a line of output.}
% @inmargin{TEXT [, RIGHT-TEXT]}
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
% else use TEXT for both).
-%
+%
\def\inmargin#1{\parseinmargin #1,,\finish}
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}%
\ifdim\wd0 > 0pt
\def\lefttext{#1}% have both texts
\def\righttext{#2}%
@@ -792,8 +850,19 @@ where each line of input produces a line of output.}
}
% @include file insert text of that file as input.
-% Allow normal characters that we make active in the argument (a file name).
-\def\include{\begingroup
+%
+\def\include{\parseargusing\filenamecatcodes\includezzz}
+\def\includezzz#1{%
+ \pushthisfilestack
+ \def\thisfile{#1}%
+ {%
+ \makevalueexpandable
+ \def\temp{\input #1 }%
+ \expandafter
+ }\temp
+ \popthisfilestack
+}
+\def\filenamecatcodes{%
\catcode`\\=\other
\catcode`~=\other
\catcode`^=\other
@@ -802,33 +871,50 @@ where each line of input produces a line of output.}
\catcode`<=\other
\catcode`>=\other
\catcode`+=\other
- \parsearg\includezzz}
-% Restore active chars for included file.
-\def\includezzz#1{\endgroup\begingroup
- % Read the included file in a group so nested @include's work.
- \def\thisfile{#1}%
- \let\value=\expandablevalue
- \input\thisfile
-\endgroup}
+ \catcode`-=\other
+}
+
+\def\pushthisfilestack{%
+ \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
+}
+\def\pushthisfilestackX{%
+ \expandafter\pushthisfilestackY\thisfile\StackTerm
+}
+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
+ \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
+}
+
+\def\popthisfilestack{\errthisfilestackempty}
+\def\errthisfilestackempty{\errmessage{Internal error:
+ the stack of filenames is empty.}}
\def\thisfile{}
% @center line
% outputs that line, centered.
%
-\def\center{\parsearg\docenter}
-\def\docenter#1{{%
- \ifhmode \hfil\break \fi
- \advance\hsize by -\leftskip
- \advance\hsize by -\rightskip
- \line{\hfil \ignorespaces#1\unskip \hfil}%
- \ifhmode \break \fi
-}}
+\parseargdef\center{%
+ \ifhmode
+ \let\next\centerH
+ \else
+ \let\next\centerV
+ \fi
+ \next{\hfil \ignorespaces#1\unskip \hfil}%
+}
+\def\centerH#1{%
+ {%
+ \hfil\break
+ \advance\hsize by -\leftskip
+ \advance\hsize by -\rightskip
+ \line{#1}%
+ \break
+ }%
+}
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
% @sp n outputs n lines of vertical space
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\vskip #1\baselineskip}
+\parseargdef\sp{\vskip #1\baselineskip}
% @comment ...line which is ignored...
% @c is the same as @comment
@@ -843,13 +929,13 @@ where each line of input produces a line of output.}
% @paragraphindent NCHARS
% We'll use ems for NCHARS, close enough.
-% We cannot implement @paragraphindent asis, though.
-%
+% NCHARS can also be the word `asis' or `none'.
+% We cannot feasibly implement @paragraphindent asis, though.
+%
\def\asisword{asis} % no translation, these are keywords
\def\noneword{none}
%
-\def\paragraphindent{\parsearg\doparagraphindent}
-\def\doparagraphindent#1{%
+\parseargdef\paragraphindent{%
\def\temp{#1}%
\ifx\temp\asisword
\else
@@ -866,8 +952,7 @@ where each line of input produces a line of output.}
% We'll use ems for NCHARS like @paragraphindent.
% It seems @exampleindent asis isn't necessary, but
% I preserve it to make it similar to @paragraphindent.
-\def\exampleindent{\parsearg\doexampleindent}
-\def\doexampleindent#1{%
+\parseargdef\exampleindent{%
\def\temp{#1}%
\ifx\temp\asisword
\else
@@ -879,48 +964,97 @@ where each line of input produces a line of output.}
\fi
}
+% @firstparagraphindent WORD
+% If WORD is `none', then suppress indentation of the first paragraph
+% after a section heading. If WORD is `insert', then do indent at such
+% paragraphs.
+%
+% The paragraph indentation is suppressed or not by calling
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
+%
+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
+\def\insertword{insert}
+%
+\parseargdef\firstparagraphindent{%
+ \def\temp{#1}%
+ \ifx\temp\noneword
+ \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
+ \else\ifx\temp\insertword
+ \let\suppressfirstparagraphindent = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @firstparagraphindent option `\temp'}%
+ \fi\fi
+}
+
+% Here is how we actually suppress indentation. Redefine \everypar to
+% \kern backwards by \parindent, and then reset itself to empty.
+%
+% We also make \indent itself not actually do anything until the next
+% paragraph.
+%
+\gdef\dosuppressfirstparagraphindent{%
+ \gdef\indent{%
+ \restorefirstparagraphindent
+ \indent
+ }%
+ \gdef\noindent{%
+ \restorefirstparagraphindent
+ \noindent
+ }%
+ \global\everypar = {%
+ \kern -\parindent
+ \restorefirstparagraphindent
+ }%
+}
+
+\gdef\restorefirstparagraphindent{%
+ \global \let \indent = \ptexindent
+ \global \let \noindent = \ptexnoindent
+ \global \everypar = {}%
+}
+
+
% @asis just yields its argument. Used with @table, for example.
%
\def\asis#1{#1}
% @math outputs its argument in math mode.
-% We don't use $'s directly in the definition of \math because we need
-% to set catcodes according to plain TeX first, to allow for subscripts,
-% superscripts, special math chars, etc.
-%
-\let\implicitmath = $%$ font-lock fix
%
% One complication: _ usually means subscripts, but it could also mean
% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ within @math be active (mathcode "8000), and distinguish by seeing
-% if the current family is \slfam, which is what @var uses.
-%
-{\catcode\underChar = \active
-\gdef\mathunderscore{%
- \catcode\underChar=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
-}}
-%
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+ \catcode\underChar = \active
+ \gdef\mathunderscore{%
+ \catcode\underChar=\active
+ \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+ }
+}
% Another complication: we want \\ (and @\) to output a \ character.
% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
% this is not advertised and we don't care. Texinfo does not
% otherwise define @\.
-%
+%
% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
%
\def\math{%
\tex
- \mathcode`\_="8000 \mathunderscore
+ \mathunderscore
\let\\ = \mathbackslash
\mathactive
- \implicitmath\finishmath}
-\def\finishmath#1{#1\implicitmath\Etex}
+ $\finishmath
+}
+\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an
-% argument to a command which set the catcodes (such as @item or @section).
-%
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
{
\catcode`^ = \active
\catcode`< = \active
@@ -935,8 +1069,33 @@ where each line of input produces a line of output.}
}
% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{\implicitmath\ptexbullet\implicitmath}
-\def\minus{\implicitmath-\implicitmath}
+\def\bullet{$\ptexbullet$}
+\def\minus{$-$}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in a typewriter
+% font as three actual period characters.
+%
+\def\dots{%
+ \leavevmode
+ \hbox to 1.5em{%
+ \hskip 0pt plus 0.25fil
+ .\hfil.\hfil.%
+ \hskip 0pt plus 0.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \dots
+ \spacefactor=3000
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
% @refill is a no-op.
\let\refill=\relax
@@ -952,20 +1111,20 @@ where each line of input produces a line of output.}
% So open here the files we need to have open while reading the input.
% This makes it possible to make a .fmt file for texinfo.
\def\setfilename{%
+ \fixbackslash % Turn off hack to swallow `\input texinfo'.
\iflinks
- \readauxfile
+ \tryauxfile
+ % Open the new aux file. TeX will close it automatically at exit.
+ \immediate\openout\auxfile=\jobname.aux
\fi % \openindices needs to do some work in any case.
\openindices
- \fixbackslash % Turn off hack to swallow `\input texinfo'.
- \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
+ \let\setfilename=\comment % Ignore extra @setfilename cmds.
%
% If texinfo.cnf is present on the system, read it.
% Useful for site-wide @afourpaper, etc.
- % Just to be on the safe side, close the input stream before the \input.
\openin 1 texinfo.cnf
- \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi
- \closein1
- \temp
+ \ifeof 1 \else \input texinfo.cnf \fi
+ \closein 1
%
\comment % Ignore the actual filename.
}
@@ -1012,6 +1171,7 @@ where each line of input produces a line of output.}
\pdftrue
\pdfoutput = 1
\input pdfcolor
+ \pdfcatalog{/PageMode /UseOutlines}%
\def\dopdfimage#1#2#3{%
\def\imagewidth{#2}%
\def\imageheight{#3}%
@@ -1032,7 +1192,13 @@ where each line of input produces a line of output.}
\ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage
\fi}
- \def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}}
+ \def\pdfmkdest#1{{%
+ % We have to set dummies so commands such as @code in a section title
+ % aren't expanded.
+ \atdummies
+ \normalturnoffactive
+ \pdfdest name{#1} xyz%
+ }}
\def\pdfmkpgn#1{#1}
\let\linkcolor = \Blue % was Cyan, but that seems light?
\def\endlink{\Black\pdfendlink}
@@ -1041,48 +1207,94 @@ where each line of input produces a line of output.}
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
\else \csname#1\endcsname \fi}
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
- \advance\tempnum by1
+ \advance\tempnum by 1
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
- \def\pdfmakeoutlines{{%
- \openin 1 \jobname.toc
- \ifeof 1\else\begingroup
- \closein 1
- % Thanh's hack / proper braces in bookmarks
+ %
+ % #1 is the section text. #2 is the pdf expression for the number
+ % of subentries (or empty, for subsubsections). #3 is the node
+ % text, which might be empty if this toc entry had no
+ % corresponding node. #4 is the page number.
+ %
+ \def\dopdfoutline#1#2#3#4{%
+ % Generate a link to the node text if that exists; else, use the
+ % page number. We could generate a destination for the section
+ % text in the case where a section has no node, but it doesn't
+ % seem worthwhile, since most documents are normally structured.
+ \def\pdfoutlinedest{#3}%
+ \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi
+ %
+ \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}%
+ }
+ %
+ \def\pdfmakeoutlines{%
+ \begingroup
+ % Thanh's hack / proper braces in bookmarks
\edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
%
- \def\chapentry ##1##2##3{}
- \def\secentry ##1##2##3##4{\advancenumber{chap##2}}
- \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
- \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
- \let\appendixentry = \chapentry
- \let\unnumbchapentry = \chapentry
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
+ % Read toc silently, to get counts of subentries for \pdfoutline.
+ \def\numchapentry##1##2##3##4{%
+ \def\thischapnum{##2}%
+ \let\thissecnum\empty
+ \let\thissubsecnum\empty
+ }%
+ \def\numsecentry##1##2##3##4{%
+ \advancenumber{chap\thischapnum}%
+ \def\thissecnum{##2}%
+ \let\thissubsecnum\empty
+ }%
+ \def\numsubsecentry##1##2##3##4{%
+ \advancenumber{sec\thissecnum}%
+ \def\thissubsecnum{##2}%
+ }%
+ \def\numsubsubsecentry##1##2##3##4{%
+ \advancenumber{subsec\thissubsecnum}%
+ }%
+ \let\thischapnum\empty
+ \let\thissecnum\empty
+ \let\thissubsecnum\empty
+ %
+ % use \def rather than \let here because we redefine \chapentry et
+ % al. a second time, below.
+ \def\appentry{\numchapentry}%
+ \def\appsecentry{\numsecentry}%
+ \def\appsubsecentry{\numsubsecentry}%
+ \def\appsubsubsecentry{\numsubsubsecentry}%
+ \def\unnchapentry{\numchapentry}%
+ \def\unnsecentry{\numsecentry}%
+ \def\unnsubsecentry{\numsubsecentry}%
+ \def\unnsubsubsecentry{\numsubsubsecentry}%
\input \jobname.toc
- \def\chapentry ##1##2##3{%
- \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
- \def\secentry ##1##2##3##4{%
- \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
- \def\subsecentry ##1##2##3##4##5{%
- \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
- \def\subsubsecentry ##1##2##3##4##5##6{%
- \pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
- \let\appendixentry = \chapentry
- \let\unnumbchapentry = \chapentry
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
%
- % Make special characters normal for writing to the pdf file.
+ % Read toc second time, this time actually producing the outlines.
+ % The `-' means take the \expnumber as the absolute number of
+ % subentries, which we calculated on our first read of the .toc above.
%
+ % We use the node names as the destinations.
+ \def\numchapentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+ \def\numsecentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
+ \def\numsubsecentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+ \def\numsubsubsecentry##1##2##3##4{% count is always zero
+ \dopdfoutline{##1}{}{##3}{##4}}%
+ %
+ % PDF outlines are displayed using system fonts, instead of
+ % document fonts. Therefore we cannot use special characters,
+ % since the encoding is unknown. For example, the eogonek from
+ % Latin 2 (0xea) gets translated to a | character. Info from
+ % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+ %
+ % xx to do this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Right
+ % now, I guess we'll just let the pdf reader have its way.
\indexnofonts
- \let\tt=\relax
\turnoffactive
\input \jobname.toc
- \endgroup\fi
- }}
+ \endgroup
+ }
+ %
\def\makelinks #1,{%
\def\params{#1}\def\E{END}%
\ifx\params\E
@@ -1091,7 +1303,7 @@ where each line of input produces a line of output.}
\let\nextmakelinks=\makelinks
\ifnum\lnkcount>0,\fi
\picknum{#1}%
- \startlink attr{/Border [0 0 0]}
+ \startlink attr{/Border [0 0 0]}
goto name{\pdfmkpgn{\the\pgn}}%
\linkcolor #1%
\advance\lnkcount by 1%
@@ -1113,7 +1325,6 @@ where each line of input produces a line of output.}
\def\ppn#1{\pgn=#1\gobble}
\def\ppnn{\pgn=\first}
\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
@@ -1131,22 +1342,21 @@ where each line of input produces a line of output.}
\def\pdfurl#1{%
\begingroup
\normalturnoffactive\def\@{@}%
- \let\value=\expandablevalue
+ \makevalueexpandable
\leavevmode\Red
\startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
- % #1
\endgroup}
\def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
\def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
\def\maketoks{%
- \expandafter\poptoks\the\toksA|ENDTOKS|
+ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
\ifx\first0\adn0
\else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
\else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
\else
\ifnum0=\countA\else\makelink\fi
\ifx\first.\let\next=\done\else
@@ -1166,16 +1376,34 @@ where each line of input produces a line of output.}
\message{fonts,}
-% Font-change commands.
+
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+ \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+ \csname ten#1\endcsname % change the current font
+}
+
+% Select #1 fonts with the current style.
+%
+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf analogous to plain's \rm, etc.
+% So we set up a \sf.
\newfam\sffam
-\def\sf{\fam=\sffam \tensf}
+\def\sf{\fam=\sffam \setfontstyle{sf}}
\let\li = \sf % Sometimes we call it \li, not \sf.
-% We don't need math for this one.
-\def\ttsl{\tenttsl}
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
% Default leading.
\newdimen\textleading \textleading = 13.2pt
@@ -1226,6 +1454,7 @@ where each line of input produces a line of output.}
\def\scshape{csc}
\def\scbshape{csc}
+% Text fonts (11.2pt, magstep1).
\newcount\mainmagstep
\ifx\bigger\relax
% not really supported.
@@ -1237,10 +1466,6 @@ where each line of input produces a line of output.}
\setfont\textrm\rmshape{10}{\mainmagstep}
\setfont\texttt\ttshape{10}{\mainmagstep}
\fi
-% Instead of cmb10, you may want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10
-% (in Bob's opinion).
\setfont\textbf\bfshape{10}{\mainmagstep}
\setfont\textit\itshape{10}{\mainmagstep}
\setfont\textsl\slshape{10}{\mainmagstep}
@@ -1250,10 +1475,11 @@ where each line of input produces a line of output.}
\font\texti=cmmi10 scaled \mainmagstep
\font\textsy=cmsy10 scaled \mainmagstep
-% A few fonts for @defun, etc.
-\setfont\defbf\bxshape{10}{\magstep1} %was 1314
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstep1}
\setfont\deftt\ttshape{10}{\magstep1}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
+\setfont\defttsl\ttslshape{10}{\magstep1}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
% Fonts for indices, footnotes, small examples (9pt).
\setfont\smallrm\rmshape{9}{1000}
@@ -1279,7 +1505,7 @@ where each line of input produces a line of output.}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
-% Fonts for title page:
+% Fonts for title page (20.4pt):
\setfont\titlerm\rmbshape{12}{\magstep3}
\setfont\titleit\itbshape{10}{\magstep4}
\setfont\titlesl\slbshape{10}{\magstep4}
@@ -1325,11 +1551,21 @@ where each line of input produces a line of output.}
\setfont\ssecttsl\ttslshape{10}{1315}
\setfont\ssecsf\sfbshape{12}{\magstephalf}
\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{\magstep1}
+\setfont\ssecsc\scbshape{10}{1315}
\font\sseci=cmmi12 scaled \magstephalf
\font\ssecsy=cmsy10 scaled 1315
-% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
-% but that is not a standard magnification.
+
+% Reduced fonts for @acro in text (10pt).
+\setfont\reducedrm\rmshape{10}{1000}
+\setfont\reducedtt\ttshape{10}{1000}
+\setfont\reducedbf\bfshape{10}{1000}
+\setfont\reducedit\itshape{10}{1000}
+\setfont\reducedsl\slshape{10}{1000}
+\setfont\reducedsf\sfshape{10}{1000}
+\setfont\reducedsc\scshape{10}{1000}
+\setfont\reducedttsl\ttslshape{10}{1000}
+\font\reducedi=cmmi10
+\font\reducedsy=cmsy10
% In order for the font changes to affect most math symbols and letters,
% we have to define the \textfont of the standard families. Since
@@ -1344,50 +1580,72 @@ where each line of input produces a line of output.}
}
% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE. We do this so that font changes will continue to work
-% in math mode, where it is the current \fam that is relevant in most
-% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam
-% \tenbf}, for example. By redefining \tenbf, we obviate the need to
-% redefine \bf itself.
+% of just \STYLE. We do this because \STYLE needs to also set the
+% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire
+% \tenSTYLE to set the current font.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower). These relative commands are used in
+% the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
\def\textfonts{%
\let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
+ \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
+ \let\tenttsl=\textttsl
+ \def\lsize{reduced}\def\lllsize{smaller}%
\resetmathfonts \setleading{\textleading}}
\def\titlefonts{%
\let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
+ \def\lsize{chap}\def\lllsize{subsec}%
\resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts\rm #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
\let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl
+ \def\lsize{sec}\def\lllsize{text}%
\resetmathfonts \setleading{19pt}}
\def\secfonts{%
\let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
\let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl
+ \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
+ \let\tenttsl=\secttsl
+ \def\lsize{subsec}\def\lllsize{reduced}%
\resetmathfonts \setleading{16pt}}
\def\subsecfonts{%
\let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
+ \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
+ \let\tenttsl=\ssecttsl
+ \def\lsize{text}\def\lllsize{small}%
\resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
+\let\subsubsecfonts = \subsecfonts
+\def\reducedfonts{%
+ \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
+ \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
+ \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
+ \let\tenttsl=\reducedttsl
+ \def\lsize{small}\def\lllsize{smaller}%
+ \resetmathfonts \setleading{10.5pt}}
\def\smallfonts{%
\let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl
+ \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{%
\let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
+ \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}}
% Set the fonts to use with the @small... environments.
@@ -1396,22 +1654,21 @@ where each line of input produces a line of output.}
% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample
% can fit this many characters:
% 8.5x11=86 smallbook=72 a4=90 a5=69
-% If we use \smallerfonts (8pt), then we can fit this many characters:
+% If we use \scriptfonts (8pt), then we can fit this many characters:
% 8.5x11=90+ smallbook=80 a4=90+ a5=77
% For me, subjectively, the few extra characters that fit aren't worth
% the additional smallness of 8pt. So I'm making the default 9pt.
-%
+%
% By the way, for comparison, here's what fits with @example (10pt):
% 8.5x11=71 smallbook=60 a4=75 a5=58
-%
-% I wish we used A4 paper on this side of the Atlantic.
-%
+%
+% I wish the USA used A4 paper.
% --karl, 24jan03.
% Set up the default fonts, so we can use them for creating boxes.
%
-\textfonts
+\textfonts \rm
% Define these so they can be easily changed for other fonts.
\def\angleleft{$\langle$}
@@ -1422,7 +1679,7 @@ where each line of input produces a line of output.}
% Fonts for short table of contents.
\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bxshape{12}{1000}
+\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12
\setfont\shortcontsl\slshape{12}{1000}
\setfont\shortconttt\ttshape{12}{1000}
@@ -1431,15 +1688,23 @@ where each line of input produces a line of output.}
% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+ \ptexslash\fi\fi\fi}
\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+% like \smartslanted except unconditionally uses \ttsl.
+% @var is set to this for defun arguments.
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally use \sl. We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+
\let\i=\smartitalic
\let\var=\smartslanted
\let\dfn=\smartslanted
\let\emph=\smartitalic
-\let\cite=\smartslanted
\def\b#1{{\bf #1}}
\let\strong=\b
@@ -1454,7 +1719,7 @@ where each line of input produces a line of output.}
% Set sfcode to normal for the chars that usually have another value.
% Can't use plain's \frenchspacing because it uses the `\x notation, and
% sometimes \x has an active definition that messes things up.
-%
+%
\catcode`@=11
\def\frenchspacing{%
\sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
@@ -1466,7 +1731,6 @@ where each line of input produces a line of output.}
{\tt \rawbackslash \frenchspacing #1}%
\null
}
-\let\ttfont=\t
\def\samp#1{`\tclose{#1}'\null}
\setfont\keyrm\rmshape{8}{1000}
\font\keysy=cmsy9
@@ -1507,7 +1771,7 @@ where each line of input produces a line of output.}
\null
}
-% We *must* turn on hyphenation at `-' and `_' in \code.
+% We *must* turn on hyphenation at `-' and `_' in @code.
% Otherwise, it is too hard to avoid overfull hboxes
% in the Emacs manual, the Library manual, etc.
@@ -1525,10 +1789,6 @@ where each line of input produces a line of output.}
\catcode`\_=\active \let_\codeunder
\codex
}
- %
- % If we end up with any active - characters when handling the index,
- % just treat them as a normal -.
- \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
}
\def\realdash{-}
@@ -1552,8 +1812,7 @@ where each line of input produces a line of output.}
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
% `example' (@kbd uses ttsl only inside of @example and friends),
% or `code' (@kbd uses normal tty font always).
-\def\kbdinputstyle{\parsearg\kbdinputstylexxx}
-\def\kbdinputstylexxx#1{%
+\parseargdef\kbdinputstyle{%
\def\arg{#1}%
\ifx\arg\worddistinct
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
@@ -1563,7 +1822,7 @@ where each line of input produces a line of output.}
\gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
\else
\errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle `\arg'}%
+ \errmessage{Unknown @kbdinputstyle option `\arg'}%
\fi\fi\fi
}
\def\worddistinct{distinct}
@@ -1614,7 +1873,7 @@ where each line of input produces a line of output.}
% rms does not like angle brackets --karl, 17may97.
% So now @email is just like @uref, unless we are pdf.
-%
+%
%\def\email#1{\angleleft{\tt #1}\angleright}
\ifpdf
\def\email#1{\doemail#1,,\finish}
@@ -1653,12 +1912,29 @@ where each line of input produces a line of output.}
\def\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic font
-% @acronym downcases the argument and prints in smallcaps.
-\def\acronym#1{{\smallcaps \lowercase{#1}}}
+\def\acronym#1{\doacronym #1,,\finish}
+\def\doacronym#1,#2,#3\finish{%
+ {\selectfonts\lsize #1}%
+ \def\temp{#2}%
+ \ifx\temp\empty \else
+ \space ({\unsepspaces \ignorespaces \temp \unskip})%
+ \fi
+}
-% @pounds{} is a sterling sign.
+% @pounds{} is a sterling sign, which is in the CM italic font.
+%
\def\pounds{{\it\$}}
+% @registeredsymbol - R in a circle. The font for the R should really
+% be smaller yet, but lllsize is the best we can do for now.
+% Adapted from the plain.tex definition of \copyright.
+%
+\def\registeredsymbol{%
+ $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+ \hfil\crcr\Orb}}%
+ }$%
+}
+
\message{page headings,}
@@ -1677,87 +1953,103 @@ where each line of input produces a line of output.}
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\def\shorttitlepage{\parsearg\shorttitlepagezzz}
-\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
\endgroup\page\hbox{}\page}
-\def\titlepage{\begingroup \parindent=0pt \textfonts
- \let\subtitlerm=\tenrm
- \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
- %
- \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
- \let\tt=\authortt}%
- %
- % Leave some space at the very top of the page.
- \vglue\titlepagetopglue
- %
- % Now you can print the title using @title.
- \def\title{\parsearg\titlezzz}%
- \def\titlezzz##1{\leftline{\titlefonts\rm ##1}
- % print a rule at the page bottom also.
- \finishedtitlepagefalse
- \vskip4pt \hrule height 4pt width \hsize \vskip4pt}%
- % No rule at page bottom unless we print one at the top with @title.
- \finishedtitlepagetrue
- %
- % Now you can put text using @subtitle.
- \def\subtitle{\parsearg\subtitlezzz}%
- \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
- %
- % @author should come last, but may come many times.
- \def\author{\parsearg\authorzzz}%
- \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
- {\authorfont \leftline{##1}}}%
- %
- % Most title ``pages'' are actually two pages long, with space
- % at the top of the second. We don't want the ragged left on the second.
- \let\oldpage = \page
- \def\page{%
+\envdef\titlepage{%
+ % Open one extra group, as we want to close it in the middle of \Etitlepage.
+ \begingroup
+ \parindent=0pt \textfonts
+ % Leave some space at the very top of the page.
+ \vglue\titlepagetopglue
+ % No rule at page bottom unless we print one at the top with @title.
+ \finishedtitlepagetrue
+ %
+ % Most title ``pages'' are actually two pages long, with space
+ % at the top of the second. We don't want the ragged left on the second.
+ \let\oldpage = \page
+ \def\page{%
\iffinishedtitlepage\else
- \finishtitlepage
+ \finishtitlepage
\fi
- \oldpage
\let\page = \oldpage
- \hbox{}}%
-% \def\page{\oldpage \hbox{}}
+ \page
+ \null
+ }%
}
\def\Etitlepage{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- % It is important to do the page break before ending the group,
- % because the headline and footline are only empty inside the group.
- % If we use the new definition of \page, we always get a blank page
- % after the title page, which we certainly don't want.
- \oldpage
- \endgroup
- %
- % Need this before the \...aftertitlepage checks so that if they are
- % in effect the toc pages will come out with page numbers.
- \HEADINGSon
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
+ \iffinishedtitlepage\else
+ \finishtitlepage
+ \fi
+ % It is important to do the page break before ending the group,
+ % because the headline and footline are only empty inside the group.
+ % If we use the new definition of \page, we always get a blank page
+ % after the title page, which we certainly don't want.
+ \oldpage
+ \endgroup
+ %
+ % Need this before the \...aftertitlepage checks so that if they are
+ % in effect the toc pages will come out with page numbers.
+ \HEADINGSon
+ %
+ % If they want short, they certainly want long too.
+ \ifsetshortcontentsaftertitlepage
+ \shortcontents
+ \contents
+ \global\let\shortcontents = \relax
+ \global\let\contents = \relax
+ \fi
+ %
+ \ifsetcontentsaftertitlepage
+ \contents
+ \global\let\contents = \relax
+ \global\let\shortcontents = \relax
+ \fi
}
\def\finishtitlepage{%
- \vskip4pt \hrule height 2pt width \hsize
- \vskip\titlepagebottomglue
- \finishedtitlepagetrue
+ \vskip4pt \hrule height 2pt width \hsize
+ \vskip\titlepagebottomglue
+ \finishedtitlepagetrue
+}
+
+%%% Macros to be used within @titlepage:
+
+\let\subtitlerm=\tenrm
+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
+\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
+ \let\tt=\authortt}
+
+\parseargdef\title{%
+ \checkenv\titlepage
+ \leftline{\titlefonts\rm #1}
+ % print a rule at the page bottom also.
+ \finishedtitlepagefalse
+ \vskip4pt \hrule height 4pt width \hsize \vskip4pt
}
+\parseargdef\subtitle{%
+ \checkenv\titlepage
+ {\subtitlefont \rightline{#1}}%
+}
+
+% @author should come last, but may come many times.
+% It can also be used inside @quotation.
+%
+\parseargdef\author{%
+ \def\temp{\quotation}%
+ \ifx\thisenv\temp
+ \def\quotationauthor{#1}% printed in \Equotation.
+ \else
+ \checkenv\titlepage
+ \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+ {\authorfont \leftline{#1}}%
+ \fi
+}
+
+
%%% Set up page headings and footings.
\let\thispage=\folio
@@ -1767,7 +2059,7 @@ where each line of input produces a line of output.}
\newtoks\evenfootline % footline on even pages
\newtoks\oddfootline % footline on odd pages
-% Now make Tex use those variables
+% Now make TeX use those variables
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
\else \the\evenheadline \fi}}
\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
@@ -1781,32 +2073,27 @@ where each line of input produces a line of output.}
% @evenfooting @thisfile||
% @oddfooting ||@thisfile
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
\global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
%
% Leave some space for the footline. Hopefully ok to assume
@@ -1815,9 +2102,8 @@ where each line of input produces a line of output.}
\global\advance\vsize by -\baselineskip
}
-\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-%
-}% unbind the catcode of @.
+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+
% @headings double turns headings on for double-sided printing.
% @headings single turns headings on for single-sided printing.
@@ -1831,7 +2117,7 @@ where each line of input produces a line of output.}
\def\headings #1 {\csname HEADINGS#1\endcsname}
-\def\HEADINGSoff{
+\def\HEADINGSoff{%
\global\evenheadline={\hfil} \global\evenfootline={\hfil}
\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
\HEADINGSoff
@@ -1840,7 +2126,7 @@ where each line of input produces a line of output.}
% chapter name on inside top of right hand pages, document
% title on inside top of left hand pages, and page numbers on outside top
% edge of all pages.
-\def\HEADINGSdouble{
+\def\HEADINGSdouble{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
@@ -1852,7 +2138,7 @@ where each line of input produces a line of output.}
% For single-sided printing, chapter title goes across top left of page,
% page number on top right.
-\def\HEADINGSsingle{
+\def\HEADINGSsingle{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
@@ -1899,12 +2185,11 @@ where each line of input produces a line of output.}
% @settitle line... specifies the title of the document, for headings.
% It generates no output of its own.
\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
+\def\settitle{\parsearg{\gdef\thistitle}}
\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
+% Tables -- @table, @ftable, @vtable, @item(x).
% default indentation of table text
\newdimen\tableindent \tableindent=.8in
@@ -1916,7 +2201,7 @@ where each line of input produces a line of output.}
% used internally for \itemindent minus \itemmargin
\newdimen\itemmax
-% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
% these defs.
% They also define \itemindex
% to index the item name in whatever manner is desired (perhaps none).
@@ -1928,22 +2213,10 @@ where each line of input produces a line of output.}
\def\internalBitem{\smallbreak \parsearg\itemzzz}
\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
- \itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
- \itemzzz {#1}}
-
\def\itemzzz #1{\begingroup %
\advance\hsize by -\rightskip
\advance\hsize by -\tableindent
- \setbox0=\hbox{\itemfont{#1}}%
+ \setbox0=\hbox{\itemindicate{#1}}%
\itemindex{#1}%
\nobreak % This prevents a break before @itemx.
%
@@ -1997,92 +2270,95 @@ where each line of input produces a line of output.}
\fi
}
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-% Contains a kludge to get @end[description] to work.
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
+\def\item{\errmessage{@item while not in a list environment}}
+\def\itemx{\errmessage{@itemx while not in a list environment}}
% @table, @ftable, @vtable.
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1 \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1 \endtabley
-\def\Eftable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
-{\obeylines\obeyspaces%
-\gdef\vtablex #1^^M{%
-\tabley\vritemindex#1 \endtabley
-\def\Evtable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-\def\vritemindex #1{\doind {vr}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Necessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\exdentamount=\tableindent
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\afterenvbreak\endgroup}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
+\envdef\table{%
+ \let\itemindex\gobble
+ \tablex
+}
+\envdef\ftable{%
+ \def\itemindex ##1{\doind {fn}{\code{##1}}}%
+ \tablex
+}
+\envdef\vtable{%
+ \def\itemindex ##1{\doind {vr}{\code{##1}}}%
+ \tablex
+}
+\def\tablex#1{%
+ \def\itemindicate{#1}%
+ \parsearg\tabley
+}
+\def\tabley#1{%
+ {%
+ \makevalueexpandable
+ \edef\temp{\noexpand\tablez #1\space\space\space}%
+ \expandafter
+ }\temp \endtablez
}
+\def\tablez #1 #2 #3 #4\endtablez{%
+ \aboveenvbreak
+ \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
+ \ifnum 0#2>0 \tableindent=#2\mil \fi
+ \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
+ \itemmax=\tableindent
+ \advance \itemmax by -\itemmargin
+ \advance \leftskip by \tableindent
+ \exdentamount=\tableindent
+ \parindent = 0pt
+ \parskip = \smallskipamount
+ \ifdim \parskip=0pt \parskip=2pt \fi
+ \let\item = \internalBitem
+ \let\itemx = \internalBitemx
+}
+\def\Etable{\endgraf\afterenvbreak}
+\let\Eftable\Etable
+\let\Evtable\Etable
+\let\Eitemize\Etable
+\let\Eenumerate\Etable
% This is the counter used by @enumerate, which is really @itemize
\newcount \itemno
-\def\itemize{\parsearg\itemizezzz}
+\envdef\itemize{\parsearg\doitemize}
-\def\itemizezzz #1{%
- \begingroup % ended by the @end itemize
- \itemizey {#1}{\Eitemize}
+\def\doitemize#1{%
+ \aboveenvbreak
+ \itemmax=\itemindent
+ \advance\itemmax by -\itemmargin
+ \advance\leftskip by \itemindent
+ \exdentamount=\itemindent
+ \parindent=0pt
+ \parskip=\smallskipamount
+ \ifdim\parskip=0pt \parskip=2pt \fi
+ \def\itemcontents{#1}%
+ % @itemize with no arg is equivalent to @itemize @bullet.
+ \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+ \let\item=\itemizeitem
}
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\exdentamount=\itemindent
-\parindent = 0pt %
-\parskip = \smallskipamount %
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\afterenvbreak\endgroup}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
+% Definition of @item while inside @itemize and @enumerate.
+%
+\def\itemizeitem{%
+ \advance\itemno by 1 % for enumerations
+ {\let\par=\endgraf \smallbreak}% reasonable place to break
+ {%
+ % If the document has an @itemize directly after a section title, a
+ % \nobreak will be last on the list, and \sectionheading will have
+ % done a \vskip-\parskip. In that case, we don't want to zero
+ % parskip, or the item text will crash with the heading. On the
+ % other hand, when there is normal text preceding the item (as there
+ % usually is), we do want to zero parskip, or there would be too much
+ % space. In that case, we won't have a \nobreak before. At least
+ % that's the theory.
+ \ifnum\lastpenalty<10000 \parskip=0in \fi
+ \noindent
+ \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+ \vadjust{\penalty 1200}}% not good to break after first line of item.
+ \flushcr
+}
% \splitoff TOKENS\endmark defines \first to be the first token in
% TOKENS, and \rest to be the remainder.
@@ -2093,11 +2369,8 @@ where each line of input produces a line of output.}
% or number, to specify the first label in the enumerated list. No
% argument is the same as `1'.
%
-\def\enumerate{\parsearg\enumeratezzz}
-\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
+\envparseargdef\enumerate{\enumeratey #1 \endenumeratey}
\def\enumeratey #1 #2\endenumeratey{%
- \begingroup % ended by the @end enumerate
- %
% If we were given no argument, pretend we were given `1'.
\def\thearg{#1}%
\ifx\thearg\empty \def\thearg{1}\fi
@@ -2168,13 +2441,13 @@ where each line of input produces a line of output.}
}%
}
-% Call itemizey, adding a period to the first argument and supplying the
+% Call \doitemize, adding a period to the first argument and supplying the
% common last two arguments. Also subtract one from the initial value in
% \itemno, since @item increments \itemno.
%
\def\startenumeration#1{%
\advance\itemno by -1
- \itemizey{#1.}\Eenumerate\flushcr
+ \doitemize{#1.}\flushcr
}
% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
@@ -2185,16 +2458,6 @@ where each line of input produces a line of output.}
\def\Ealphaenumerate{\Eenumerate}
\def\Ecapsenumerate{\Eenumerate}
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{In hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 1200}}%
-\flushcr}
% @multitable macros
% Amy Hendrickson, 8/18/94, 3/6/96
@@ -2221,24 +2484,14 @@ where each line of input produces a line of output.}
% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
% @item ...
% using the widest term desired in each column.
-%
-% For those who want to use more than one line's worth of words in
-% the preamble, break the line within one argument and it
-% will parse correctly, i.e.,
-%
-% @multitable {Column 1 template} {Column 2 template} {Column 3
-% template}
-% Not:
-% @multitable {Column 1 template} {Column 2 template}
-% {Column 3 template}
% Each new table line starts with @item, each subsequent new column
% starts with @tab. Empty columns may be produced by supplying @tab's
% with nothing between them for as many times as empty columns are needed,
% ie, @tab@tab@tab will produce two empty columns.
-% @item, @tab, @multitable or @end multitable do not need to be on their
-% own lines, but it will not hurt if they are.
+% @item, @tab do not need to be on their own lines, but it will not hurt
+% if they are.
% Sample multitable:
@@ -2282,13 +2535,12 @@ where each line of input produces a line of output.}
\def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent
-% #1 is the part of the @columnfraction before the decimal point, which
-% is presumably either 0 or the empty string (but we don't check, we
-% just throw it away). #2 is the decimal part, which we use as the
-% percent of \hsize for this column.
-\def\pickupwholefraction#1.#2 {%
+% #1 is the @columnfraction, usually a decimal number like .5, but might
+% be just 1. We just use it, whatever it is.
+%
+\def\pickupwholefraction#1 {%
\global\advance\colcount by 1
- \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}%
+ \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
\setuptable
}
@@ -2321,18 +2573,30 @@ where each line of input produces a line of output.}
\go
}
+% multitable-only commands.
+%
+% @headitem starts a heading row, which we typeset in bold.
+% Assignments have to be global since we are inside the implicit group
+% of an alignment entry. Note that \everycr resets \everytab.
+\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
+%
+% A \tab used to include \hskip1sp. But then the space in a template
+% line is not enough. That is bad. So let's go back to just `&' until
+% we encounter the problem it was intended to solve again.
+% --karl, nathan@acm.org, 20apr99.
+\def\tab{\checkenv\multitable &\the\everytab}%
+
% @multitable ... @end multitable definitions:
%
-\def\multitable{\parsearg\dotable}
-\def\dotable#1{\bgroup
+\newtoks\everytab % insert after every tab.
+%
+\envdef\multitable{%
\vskip\parskip
- \let\item=\crcrwithfootnotes
- % A \tab used to include \hskip1sp. But then the space in a template
- % line is not enough. That is bad. So let's go back to just & until
- % we encounter the problem it was intended to solve again. --karl,
- % nathan@acm.org, 20apr99.
- \let\tab=&%
- \let\startfootins=\startsavedfootnote
+ \startsavinginserts
+ %
+ % @item within a multitable starts a normal row.
+ \let\item\crcr
+ %
\tolerance=9500
\hbadness=9500
\setmultitablespacing
@@ -2340,70 +2604,80 @@ where each line of input produces a line of output.}
\parindent=\multitableparindent
\overfullrule=0pt
\global\colcount=0
- \def\Emultitable{%
- \global\setpercentfalse
- \crcrwithfootnotes\crcr
- \egroup\egroup
+ %
+ \everycr = {%
+ \noalign{%
+ \global\everytab={}%
+ \global\colcount=0 % Reset the column counter.
+ % Check for saved footnotes, etc.
+ \checkinserts
+ % Keeps underfull box messages off when table breaks over pages.
+ %\filbreak
+ % Maybe so, but it also creates really weird page breaks when the
+ % table breaks over pages. Wouldn't \vfil be better? Wait until the
+ % problem manifests itself, so it can be fixed for real --karl.
+ }%
}%
%
+ \parsearg\domultitable
+}
+\def\domultitable#1{%
% To parse everything between @multitable and @item:
\setuptable#1 \endsetuptable
%
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
- \everycr{\noalign{%
- %
- % \filbreak%% keeps underfull box messages off when table breaks over pages.
- % Maybe so, but it also creates really weird page breaks when the table
- % breaks over pages. Wouldn't \vfil be better? Wait until the problem
- % manifests itself, so it can be fixed for real --karl.
- \global\colcount=0\relax}}%
- %
% This preamble sets up a generic column definition, which will
% be used as many times as user calls for columns.
% \vtop will set a single line and will also let text wrap and
% continue for many paragraphs if desired.
- \halign\bgroup&\global\advance\colcount by 1\relax
- \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
- \else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
- \fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively marking
- % characters.
- \noindent\ignorespaces##\unskip\multistrut}\cr
+ \halign\bgroup &%
+ \global\advance\colcount by 1
+ \multistrut
+ \vtop{%
+ % Use the current \colcount to find the correct column width:
+ \hsize=\expandafter\csname col\the\colcount\endcsname
+ %
+ % In order to keep entries from bumping into each other
+ % we will add a \leftskip of \multitablecolspace to all columns after
+ % the first one.
+ %
+ % If a template has been used, we will add \multitablecolspace
+ % to the width of each template entry.
+ %
+ % If the user has set preamble in terms of percent of \hsize we will
+ % use that dimension as the width of the column, and the \leftskip
+ % will keep entries from bumping into each other. Table will start at
+ % left margin and final column will justify at right margin.
+ %
+ % Make sure we don't inherit \rightskip from the outer environment.
+ \rightskip=0pt
+ \ifnum\colcount=1
+ % The first column will be indented with the surrounding text.
+ \advance\hsize by\leftskip
+ \else
+ \ifsetpercent \else
+ % If user has not set preamble in terms of percent of \hsize
+ % we will advance \hsize by \multitablecolspace.
+ \advance\hsize by \multitablecolspace
+ \fi
+ % In either case we will make \leftskip=\multitablecolspace:
+ \leftskip=\multitablecolspace
+ \fi
+ % Ignoring space at the beginning and end avoids an occasional spurious
+ % blank line, when TeX decides to break the line at the space before the
+ % box from the multistrut, so the strut ends up on a line by itself.
+ % For example:
+ % @multitable @columnfractions .11 .89
+ % @item @code{#}
+ % @tab Legal holiday which is valid in major parts of the whole country.
+ % Is automatically provided with highlighting sequences respectively
+ % marking characters.
+ \noindent\ignorespaces##\unskip\multistrut
+ }\cr
+}
+\def\Emultitable{%
+ \crcr
+ \egroup % end the \halign
+ \global\setpercentfalse
}
\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
@@ -2433,163 +2707,33 @@ width0pt\relax} \fi
%% than skip between lines in the table.
\fi}
-% In case a @footnote appears inside an alignment, save the footnote
-% text to a box and make the \insert when a row of the table is
-% finished. Otherwise, the insertion is lost, it never migrates to the
-% main vertical list. --kasal, 22jan03.
-%
-\newbox\savedfootnotes
-%
-% \dotable \let's \startfootins to this, so that \dofootnote will call
-% it instead of starting the insertion right away.
-\def\startsavedfootnote{%
- \global\setbox\savedfootnotes = \vbox\bgroup
- \unvbox\savedfootnotes
-}
-\def\crcrwithfootnotes{%
- \crcr
- \ifvoid\savedfootnotes \else
- \noalign{\insert\footins{\box\savedfootnotes}}%
- \fi
-}
\message{conditionals,}
-% Prevent errors for section commands.
-% Used in @ignore and in failing conditionals.
-\def\ignoresections{%
- \let\chapter=\relax
- \let\unnumbered=\relax
- \let\top=\relax
- \let\unnumberedsec=\relax
- \let\unnumberedsection=\relax
- \let\unnumberedsubsec=\relax
- \let\unnumberedsubsection=\relax
- \let\unnumberedsubsubsec=\relax
- \let\unnumberedsubsubsection=\relax
- \let\section=\relax
- \let\subsec=\relax
- \let\subsubsec=\relax
- \let\subsection=\relax
- \let\subsubsection=\relax
- \let\appendix=\relax
- \let\appendixsec=\relax
- \let\appendixsection=\relax
- \let\appendixsubsec=\relax
- \let\appendixsubsection=\relax
- \let\appendixsubsubsec=\relax
- \let\appendixsubsubsection=\relax
- \let\contents=\relax
- \let\smallbook=\relax
- \let\titlepage=\relax
-}
-
-% Used in nested conditionals, where we have to parse the Texinfo source
-% and so want to turn off most commands, in case they are used
-% incorrectly.
-%
-% We use \empty instead of \relax for the @def... commands, so that \end
-% doesn't throw an error. For instance:
-% @ignore
-% @deffn ...
-% @end deffn
-% @end ignore
-%
-% The @end deffn is going to get expanded, because we're trying to allow
-% nested conditionals. But we don't want to expand the actual @deffn,
-% since it might be syntactically correct and intended to be ignored.
-% Since \end checks for \relax, using \empty does not cause an error.
-%
-\def\ignoremorecommands{%
- \let\defcodeindex = \relax
- \let\defcv = \empty
- \let\defcvx = \empty
- \let\Edefcv = \empty
- \let\deffn = \empty
- \let\deffnx = \empty
- \let\Edeffn = \empty
- \let\defindex = \relax
- \let\defivar = \empty
- \let\defivarx = \empty
- \let\Edefivar = \empty
- \let\defmac = \empty
- \let\defmacx = \empty
- \let\Edefmac = \empty
- \let\defmethod = \empty
- \let\defmethodx = \empty
- \let\Edefmethod = \empty
- \let\defop = \empty
- \let\defopx = \empty
- \let\Edefop = \empty
- \let\defopt = \empty
- \let\defoptx = \empty
- \let\Edefopt = \empty
- \let\defspec = \empty
- \let\defspecx = \empty
- \let\Edefspec = \empty
- \let\deftp = \empty
- \let\deftpx = \empty
- \let\Edeftp = \empty
- \let\deftypefn = \empty
- \let\deftypefnx = \empty
- \let\Edeftypefn = \empty
- \let\deftypefun = \empty
- \let\deftypefunx = \empty
- \let\Edeftypefun = \empty
- \let\deftypeivar = \empty
- \let\deftypeivarx = \empty
- \let\Edeftypeivar = \empty
- \let\deftypemethod = \empty
- \let\deftypemethodx = \empty
- \let\Edeftypemethod = \empty
- \let\deftypeop = \empty
- \let\deftypeopx = \empty
- \let\Edeftypeop = \empty
- \let\deftypevar = \empty
- \let\deftypevarx = \empty
- \let\Edeftypevar = \empty
- \let\deftypevr = \empty
- \let\deftypevrx = \empty
- \let\Edeftypevr = \empty
- \let\defun = \empty
- \let\defunx = \empty
- \let\Edefun = \empty
- \let\defvar = \empty
- \let\defvarx = \empty
- \let\Edefvar = \empty
- \let\defvr = \empty
- \let\defvrx = \empty
- \let\Edefvr = \empty
- \let\clear = \relax
- \let\down = \relax
- \let\evenfooting = \relax
- \let\evenheading = \relax
- \let\everyfooting = \relax
- \let\everyheading = \relax
- \let\headings = \relax
- \let\include = \relax
- \let\item = \relax
- \let\lowersections = \relax
- \let\oddfooting = \relax
- \let\oddheading = \relax
- \let\printindex = \relax
- \let\pxref = \relax
- \let\raisesections = \relax
- \let\ref = \relax
- \let\set = \relax
- \let\setchapternewpage = \relax
- \let\setchapterstyle = \relax
- \let\settitle = \relax
- \let\up = \relax
- \let\verbatiminclude = \relax
- \let\xref = \relax
+
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @ifnotxml always succeed. They currently do nothing; we don't
+% attempt to check whether the conditionals are properly nested. But we
+% have to remember that they are conditionals, so that @end doesn't
+% attempt to close an environment group.
+%
+\def\makecond#1{%
+ \expandafter\let\csname #1\endcsname = \relax
+ \expandafter\let\csname iscond.#1\endcsname = 1
}
+\makecond{iftex}
+\makecond{ifnotdocbook}
+\makecond{ifnothtml}
+\makecond{ifnotinfo}
+\makecond{ifnotplaintext}
+\makecond{ifnotxml}
% Ignore @ignore, @ifhtml, @ifinfo, and the like.
%
\def\direntry{\doignore{direntry}}
-\def\documentdescriptionword{documentdescription}
\def\documentdescription{\doignore{documentdescription}}
+\def\docbook{\doignore{docbook}}
\def\html{\doignore{html}}
+\def\ifdocbook{\doignore{ifdocbook}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifinfo{\doignore{ifinfo}}
\def\ifnottex{\doignore{ifnottex}}
@@ -2599,198 +2743,133 @@ width0pt\relax} \fi
\def\menu{\doignore{menu}}
\def\xml{\doignore{xml}}
-% @dircategory CATEGORY -- specify a category of the dir file
-% which this file should belong to. Ignore this in TeX.
-\let\dircategory = \comment
-
-% Ignore text until a line `@end #1'.
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
%
+% A count to remember the depth of nesting.
+\newcount\doignorecount
+
\def\doignore#1{\begingroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define a command to swallow text until we reach `@end #1'.
- % This @ is a catcode 12 token (that is the normal catcode of @ in
- % this texinfo.tex file). We change the catcode of @ below to match.
- \long\def\doignoretext##1@end #1{\enddoignore}%
+ % Scan in ``verbatim'' mode:
+ \catcode`\@ = \other
+ \catcode`\{ = \other
+ \catcode`\} = \other
%
% Make sure that spaces turn into tokens that match what \doignoretext wants.
- \catcode\spaceChar = 10
- %
- % Ignore braces, too, so mismatched braces don't cause trouble.
- \catcode`\{ = 9
- \catcode`\} = 9
+ \spaceisspace
%
- % We must not have @c interpreted as a control sequence.
- \catcode`\@ = 12
+ % Count number of #1's that we've seen.
+ \doignorecount = 0
%
- \def\ignoreword{#1}%
- \ifx\ignoreword\documentdescriptionword
- % The c kludge breaks documentdescription, since
- % `documentdescription' contains a `c'. Means not everything will
- % be ignored inside @documentdescription, but oh well...
- \else
- % Make the letter c a comment character so that the rest of the line
- % will be ignored. This way, the document can have (for example)
- % @c @end ifinfo
- % and the @end ifinfo will be properly ignored.
- % (We've just changed @ to catcode 12.)
- \catcode`\c = 14
- \fi
- %
- % And now expand the command defined above.
- \doignoretext
-}
-
-% What we do to finish off ignored text.
-%
-\def\enddoignore{\endgroup\ignorespaces}%
-
-\newif\ifwarnedobs\warnedobsfalse
-\def\obstexwarn{%
- \ifwarnedobs\relax\else
- % We need to warn folks that they may have trouble with TeX 3.0.
- % This uses \immediate\write16 rather than \message to get newlines.
- \immediate\write16{}
- \immediate\write16{WARNING: for users of Unix TeX 3.0!}
- \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
- \immediate\write16{If you are running another version of TeX, relax.}
- \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
- \immediate\write16{ Then upgrade your TeX installation if you can.}
- \immediate\write16{ (See ftp://ftp.gnu.org/non-gnu/TeX.README.)}
- \immediate\write16{If you are stuck with version 3.0, run the}
- \immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
- \immediate\write16{ to use a workaround.}
- \immediate\write16{}
- \global\warnedobstrue
- \fi
+ % Swallow text until we reach the matching `@end #1'.
+ \dodoignore {#1}%
}
-% **In TeX 3.0, setting text in \nullfont hangs tex. For a
-% workaround (which requires the file ``dummy.tfm'' to be installed),
-% uncomment the following line:
-%%%%%\font\nullfont=dummy\let\obstexwarn=\relax
-
-% Ignore text, except that we keep track of conditional commands for
-% purposes of nesting, up to an `@end #1' command.
-%
-\def\nestedignore#1{%
- \obstexwarn
- % We must actually expand the ignored text to look for the @end
- % command, so that nested ignore constructs work. Thus, we put the
- % text into a \vbox and then do nothing with the result. To minimize
- % the chance of memory overflow, we follow the approach outlined on
- % page 401 of the TeXbook.
+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
+ \obeylines %
%
- \setbox0 = \vbox\bgroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define `@end #1' to end the box, which will in turn undefine the
- % @end command again.
- \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
- %
- % We are going to be parsing Texinfo commands. Most cause no
- % trouble when they are used incorrectly, but some commands do
- % complicated argument parsing or otherwise get confused, so we
- % undefine them.
- %
- % We can't do anything about stray @-signs, unfortunately;
- % they'll produce `undefined control sequence' errors.
- \ignoremorecommands
- %
- % Set the current font to be \nullfont, a TeX primitive, and define
- % all the font commands to also use \nullfont. We don't use
- % dummy.tfm, as suggested in the TeXbook, because some sites
- % might not have that installed. Therefore, math mode will still
- % produce output, but that should be an extremely small amount of
- % stuff compared to the main input.
- %
- \nullfont
- \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
- \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
- \let\tensf=\nullfont
- % Similarly for index fonts.
- \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
- \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
- \let\smallsf=\nullfont
- % Similarly for smallexample fonts.
- \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont
- \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont
- \let\smallersf=\nullfont
- %
- % Don't complain when characters are missing from the fonts.
- \tracinglostchars = 0
+ \gdef\dodoignore#1{%
+ % #1 contains the string `ifinfo'.
%
- % Don't bother to do space factor calculations.
- \frenchspacing
- %
- % Don't report underfull hboxes.
- \hbadness = 10000
- %
- % Do minimal line-breaking.
- \pretolerance = 10000
+ % Define a command to find the next `@end #1', which must be on a line
+ % by itself.
+ \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
+ % And this command to find another #1 command, at the beginning of a
+ % line. (Otherwise, we would consider a line `@c @ifset', for
+ % example, to count as an @ifset for nesting.)
+ \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
%
- % Do not execute instructions in @tex.
- \def\tex{\doignore{tex}}%
- % Do not execute macro definitions.
- % `c' is a comment character, so the word `macro' will get cut off.
- \def\macro{\doignore{ma}}%
+ % And now expand that command.
+ \obeylines %
+ \doignoretext ^^M%
+ }%
}
+\def\doignoreyyy#1{%
+ \def\temp{#1}%
+ \ifx\temp\empty % Nothing found.
+ \let\next\doignoretextzzz
+ \else % Found a nested condition, ...
+ \advance\doignorecount by 1
+ \let\next\doignoretextyyy % ..., look for another.
+ % If we're here, #1 ends with ^^M\ifinfo (for example).
+ \fi
+ \next #1% the token \_STOP_ is present just after this macro.
+}
+
+% We have to swallow the remaining "\_STOP_".
+%
+\def\doignoretextzzz#1{%
+ \ifnum\doignorecount = 0 % We have just found the outermost @end.
+ \let\next\enddoignore
+ \else % Still inside a nested condition.
+ \advance\doignorecount by -1
+ \let\next\doignoretext % Look for the next @end.
+ \fi
+ \next
+}
+
+% Finish off ignored text.
+\def\enddoignore{\endgroup\ignorespaces}
+
+
% @set VAR sets the variable VAR to an empty value.
% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
%
% Since we want to separate VAR from REST-OF-LINE (which might be
% empty), we can't just use \parsearg; we have to insert a space of our
% own to delimit the rest of the line, and then take it out again if we
-% didn't need it. Make sure the catcode of space is correct to avoid
-% losing inside @example, for instance.
+% didn't need it.
+% We rely on the fact that \parsearg sets \catcode`\ =10.
%
-\def\set{\begingroup\catcode` =10
- \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
- \parsearg\setxxx}
-\def\setxxx#1{\setyyy#1 \endsetyyy}
+\parseargdef\set{\setyyy#1 \endsetyyy}
\def\setyyy#1 #2\endsetyyy{%
- \def\temp{#2}%
- \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
- \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
- \fi
- \endgroup
+ {%
+ \makevalueexpandable
+ \def\temp{#2}%
+ \edef\next{\gdef\makecsname{SET#1}}%
+ \ifx\temp\empty
+ \next{}%
+ \else
+ \setzzz#2\endsetzzz
+ \fi
+ }%
}
-% Can't use \xdef to pre-expand #2 and save some time, since \temp or
-% \next or other control sequences that we've defined might get us into
-% an infinite loop. Consider `@set foo @cite{bar}'.
-\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}}
+% Remove the trailing space \setxxx inserted.
+\def\setzzz#1 \endsetzzz{\next{#1}}
% @clear VAR clears (i.e., unsets) the variable VAR.
%
-\def\clear{\parsearg\clearxxx}
-\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}
+\parseargdef\clear{%
+ {%
+ \makevalueexpandable
+ \global\expandafter\let\csname SET#1\endcsname=\relax
+ }%
+}
% @value{foo} gets the text saved in variable foo.
+\def\value{\begingroup\makevalueexpandable\valuexxx}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
- \catcode`\_ = \active
+ \catcode`\- = \active \catcode`\_ = \active
%
- % We might end up with active _ or - characters in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}. So \let any
- % such active characters to their normal equivalents.
- \gdef\value{\begingroup
+ \gdef\makevalueexpandable{%
+ \let\value = \expandablevalue
+ % We don't want these characters active, ...
\catcode`\-=\other \catcode`\_=\other
- \indexbreaks \let_\normalunderscore
- \valuexxx}
+ % ..., but we might end up with active ones in the argument if
+ % we're called from @code, as @code{@value{foo-bar_}}, though.
+ % So \let them to their normal equivalents.
+ \let-\realdash \let_\normalunderscore
+ }
}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we \let\value to this in \indexdummies). Ones
-% whose names contain - or _ still won't work, but we can't do anything
-% about that. The command has to be fully expandable (if the variable
-% is set), since the result winds up in the index file. This means that
-% if the variable's value contains other Texinfo commands, it's almost
-% certain it will fail (although perhaps we could fix that with
-% sufficient work to do a one-level expansion on the result, instead of
-% complete).
+% properly in indexes (we call \makevalueexpandable in \indexdummies).
+% The command has to be fully expandable (if the variable is set), since
+% the result winds up in the index file. This means that if the
+% variable's value contains other Texinfo commands, it's almost certain
+% it will fail (although perhaps we could fix that with sufficient work
+% to do a one-level expansion on the result, instead of complete).
%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
@@ -2804,55 +2883,36 @@ width0pt\relax} \fi
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
%
-\def\ifset{\parsearg\doifset}
-\def\doifset#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \let\next=\ifsetfail
- \else
- \let\next=\ifsetsucceed
- \fi
- \next
+% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+\makecond{ifset}
+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
+\def\doifset#1#2{%
+ {%
+ \makevalueexpandable
+ \let\next=\empty
+ \expandafter\ifx\csname SET#2\endcsname\relax
+ #1% If not set, redefine \next.
+ \fi
+ \expandafter
+ }\next
}
-\def\ifsetsucceed{\conditionalsucceed{ifset}}
-\def\ifsetfail{\nestedignore{ifset}}
-\defineunmatchedend{ifset}
+\def\ifsetfail{\doignore{ifset}}
% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
% defined with @set, or has been undefined with @clear.
%
-\def\ifclear{\parsearg\doifclear}
-\def\doifclear#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \let\next=\ifclearsucceed
- \else
- \let\next=\ifclearfail
- \fi
- \next
-}
-\def\ifclearsucceed{\conditionalsucceed{ifclear}}
-\def\ifclearfail{\nestedignore{ifclear}}
-\defineunmatchedend{ifclear}
-
-% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we
-% read the text following, through the first @end iftex (etc.). Make
-% `@end iftex' (etc.) valid only after an @iftex.
+% The `\else' inside the `\doifset' parameter is a trick to reuse the
+% above code: if the variable is not set, do nothing, if it is set,
+% then redefine \next to \ifclearfail.
%
-\def\iftex{\conditionalsucceed{iftex}}
-\def\ifnothtml{\conditionalsucceed{ifnothtml}}
-\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}
-\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}}
-\defineunmatchedend{iftex}
-\defineunmatchedend{ifnothtml}
-\defineunmatchedend{ifnotinfo}
-\defineunmatchedend{ifnotplaintext}
+\makecond{ifclear}
+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
+\def\ifclearfail{\doignore{ifclear}}
-% True conditional. Since \set globally defines its variables, we can
-% just start and end a group (to keep the @end definition undefined at
-% the outer level).
-%
-\def\conditionalsucceed#1{\begingroup
- \expandafter\def\csname E#1\endcsname{\endgroup}%
-}
+% @dircategory CATEGORY -- specify a category of the dir file
+% which this file should belong to. Ignore this in TeX.
+\let\dircategory=\comment
% @defininfoenclose.
\let\definfoenclose=\comment
@@ -2903,10 +2963,10 @@ width0pt\relax} \fi
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
-%
+%
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
-%
+%
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
@@ -2948,13 +3008,13 @@ width0pt\relax} \fi
% Take care of Texinfo commands that can appear in an index entry.
% Since there are some commands we want to expand, and others we don't,
% we have to laboriously prevent expansion for those that we don't.
-%
+%
\def\indexdummies{%
\def\@{@}% change to @@ when we switch to @ as escape char in index files.
\def\ {\realbackslash\space }%
% Need these in case \tex is in effect and \{ is a \delimiter again.
% But can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters.
+ % braces and backslashes are used only as delimiters.
\let\{ = \mylbrace
\let\} = \myrbrace
%
@@ -2963,14 +3023,14 @@ width0pt\relax} \fi
% words, not control letters, because the \space would be incorrect
% for control characters, but is needed to separate the control word
% from whatever follows.
- %
+ %
% For control letters, we have \definedummyletter, which omits the
% space.
- %
+ %
% These can be used both for control words that take an argument and
% those that do not. If it is followed by {arg} in the input, then
% that will dutifully get written to the index (or wherever).
- %
+ %
\def\definedummyword##1{%
\expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}%
}%
@@ -2983,9 +3043,9 @@ width0pt\relax} \fi
}
% For the aux file, @ is the escape character. So we want to redefine
-% everything using @ instead of \realbackslash. When everything uses
+% everything using @ instead of \realbackslash. When everything uses
% @, this will be simpler.
-%
+%
\def\atdummies{%
\def\@{@@}%
\def\ {@ }%
@@ -3006,31 +3066,16 @@ width0pt\relax} \fi
% Called from \indexdummies and \atdummies. \definedummyword and
% \definedummyletter must be defined first.
-%
+%
\def\commondummies{%
%
\normalturnoffactive
%
- % Control letters and accents.
+ \commondummiesnofonts
+ %
\definedummyletter{_}%
- \definedummyletter{,}%
- \definedummyletter{"}%
- \definedummyletter{`}%
- \definedummyletter{'}%
- \definedummyletter{^}%
- \definedummyletter{~}%
- \definedummyletter{=}%
- \definedummyword{u}%
- \definedummyword{v}%
- \definedummyword{H}%
- \definedummyword{dotaccent}%
- \definedummyword{ringaccent}%
- \definedummyword{tieaccent}%
- \definedummyword{ubaraccent}%
- \definedummyword{udotaccent}%
- \definedummyword{dotless}%
- %
- % Other non-English letters.
+ %
+ % Non-English letters.
\definedummyword{AA}%
\definedummyword{AE}%
\definedummyword{L}%
@@ -3042,6 +3087,10 @@ width0pt\relax} \fi
\definedummyword{oe}%
\definedummyword{o}%
\definedummyword{ss}%
+ \definedummyword{exclamdown}%
+ \definedummyword{questiondown}%
+ \definedummyword{ordf}%
+ \definedummyword{ordm}%
%
% Although these internal commands shouldn't show up, sometimes they do.
\definedummyword{bf}%
@@ -3053,37 +3102,13 @@ width0pt\relax} \fi
\definedummyword{tclose}%
\definedummyword{tt}%
%
- % Texinfo font commands.
- \definedummyword{b}%
- \definedummyword{i}%
- \definedummyword{r}%
- \definedummyword{sc}%
- \definedummyword{t}%
- %
+ \definedummyword{LaTeX}%
\definedummyword{TeX}%
- \definedummyword{acronym}%
- \definedummyword{cite}%
- \definedummyword{code}%
- \definedummyword{command}%
- \definedummyword{dfn}%
- \definedummyword{dots}%
- \definedummyword{emph}%
- \definedummyword{env}%
- \definedummyword{file}%
- \definedummyword{kbd}%
- \definedummyword{key}%
- \definedummyword{math}%
- \definedummyword{option}%
- \definedummyword{samp}%
- \definedummyword{strong}%
- \definedummyword{uref}%
- \definedummyword{url}%
- \definedummyword{var}%
- \definedummyword{w}%
%
% Assorted special characters.
\definedummyword{bullet}%
\definedummyword{copyright}%
+ \definedummyword{registeredsymbol}%
\definedummyword{dots}%
\definedummyword{enddots}%
\definedummyword{equiv}%
@@ -3095,10 +3120,9 @@ width0pt\relax} \fi
\definedummyword{print}%
\definedummyword{result}%
%
- % Handle some cases of @value -- where the variable name does not
- % contain - or _, and the value does not contain any
+ % Handle some cases of @value -- where it does not contain any
% (non-fully-expandable) commands.
- \let\value = \expandablevalue
+ \makevalueexpandable
%
% Normal spaces, not active ones.
\unsepspaces
@@ -3107,45 +3131,91 @@ width0pt\relax} \fi
\turnoffmacros
}
-% If an index command is used in an @example environment, any spaces
-% therein should become regular spaces in the raw index file, not the
-% expansion of \tie (\leavevmode \penalty \@M \ ).
-{\obeyspaces
- \gdef\unsepspaces{\obeyspaces\let =\space}}
-
+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+%
+% Better have this without active chars.
+{
+ \catcode`\~=\other
+ \gdef\commondummiesnofonts{%
+ % Control letters and accents.
+ \definedummyletter{!}%
+ \definedummyletter{"}%
+ \definedummyletter{'}%
+ \definedummyletter{*}%
+ \definedummyletter{,}%
+ \definedummyletter{.}%
+ \definedummyletter{/}%
+ \definedummyletter{:}%
+ \definedummyletter{=}%
+ \definedummyletter{?}%
+ \definedummyletter{^}%
+ \definedummyletter{`}%
+ \definedummyletter{~}%
+ \definedummyword{u}%
+ \definedummyword{v}%
+ \definedummyword{H}%
+ \definedummyword{dotaccent}%
+ \definedummyword{ringaccent}%
+ \definedummyword{tieaccent}%
+ \definedummyword{ubaraccent}%
+ \definedummyword{udotaccent}%
+ \definedummyword{dotless}%
+ %
+ % Texinfo font commands.
+ \definedummyword{b}%
+ \definedummyword{i}%
+ \definedummyword{r}%
+ \definedummyword{sc}%
+ \definedummyword{t}%
+ %
+ % Commands that take arguments.
+ \definedummyword{acronym}%
+ \definedummyword{cite}%
+ \definedummyword{code}%
+ \definedummyword{command}%
+ \definedummyword{dfn}%
+ \definedummyword{emph}%
+ \definedummyword{env}%
+ \definedummyword{file}%
+ \definedummyword{kbd}%
+ \definedummyword{key}%
+ \definedummyword{math}%
+ \definedummyword{option}%
+ \definedummyword{samp}%
+ \definedummyword{strong}%
+ \definedummyword{tie}%
+ \definedummyword{uref}%
+ \definedummyword{url}%
+ \definedummyword{var}%
+ \definedummyword{verb}%
+ \definedummyword{w}%
+ }
+}
% \indexnofonts is used when outputting the strings to sort the index
% by, and when constructing control sequence names. It eliminates all
% control sequences and just writes whatever the best ASCII sort string
% would be for a given command (usually its argument).
%
-\def\indexdummytex{TeX}
-\def\indexdummydots{...}
-%
\def\indexnofonts{%
+ \def\definedummyword##1{%
+ \expandafter\let\csname ##1\endcsname\asis
+ }%
+ \let\definedummyletter=\definedummyword
+ %
+ \commondummiesnofonts
+ %
+ % Don't no-op \tt, since it isn't a user-level command
+ % and is used in the definitions of the active chars like <, >, |, etc.
+ % Likewise with the other plain tex font commands.
+ %\let\tt=\asis
+ %
\def\ { }%
\def\@{@}%
% how to handle braces?
\def\_{\normalunderscore}%
%
- \let\,=\asis
- \let\"=\asis
- \let\`=\asis
- \let\'=\asis
- \let\^=\asis
- \let\~=\asis
- \let\==\asis
- \let\u=\asis
- \let\v=\asis
- \let\H=\asis
- \let\dotaccent=\asis
- \let\ringaccent=\asis
- \let\tieaccent=\asis
- \let\ubaraccent=\asis
- \let\udotaccent=\asis
- \let\dotless=\asis
- %
- % Other non-English letters.
+ % Non-English letters.
\def\AA{AA}%
\def\AE{AE}%
\def\L{L}%
@@ -3159,130 +3229,164 @@ width0pt\relax} \fi
\def\ss{ss}%
\def\exclamdown{!}%
\def\questiondown{?}%
+ \def\ordf{a}%
+ \def\ordm{o}%
%
- % Don't no-op \tt, since it isn't a user-level command
- % and is used in the definitions of the active chars like <, >, |, etc.
- % Likewise with the other plain tex font commands.
- %\let\tt=\asis
+ \def\LaTeX{LaTeX}%
+ \def\TeX{TeX}%
%
- % Texinfo font commands.
- \let\b=\asis
- \let\i=\asis
- \let\r=\asis
- \let\sc=\asis
- \let\t=\asis
- %
- \let\TeX=\indexdummytex
- \let\acronym=\asis
- \let\cite=\asis
- \let\code=\asis
- \let\command=\asis
- \let\dfn=\asis
- \let\dots=\indexdummydots
- \let\emph=\asis
- \let\env=\asis
- \let\file=\asis
- \let\kbd=\asis
- \let\key=\asis
- \let\math=\asis
- \let\option=\asis
- \let\samp=\asis
- \let\strong=\asis
- \let\uref=\asis
- \let\url=\asis
- \let\var=\asis
- \let\w=\asis
+ % Assorted special characters.
+ % (The following {} will end up in the sort string, but that's ok.)
+ \def\bullet{bullet}%
+ \def\copyright{copyright}%
+ \def\registeredsymbol{R}%
+ \def\dots{...}%
+ \def\enddots{...}%
+ \def\equiv{==}%
+ \def\error{error}%
+ \def\expansion{==>}%
+ \def\minus{-}%
+ \def\pounds{pounds}%
+ \def\point{.}%
+ \def\print{-|}%
+ \def\result{=>}%
}
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-% For \ifx comparisons.
-\def\emptymacro{\empty}
-
% Most index entries go through here, but \dosubind is the general case.
-%
-\def\doind#1#2{\dosubind{#1}{#2}\empty}
+% #1 is the index name, #2 is the entry text.
+\def\doind#1#2{\dosubind{#1}{#2}{}}
% Workhorse for all \fooindexes.
% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% \empty if called from \doind, as we usually are. The main exception
-% is with defuns, which call us directly.
+% empty if called from \doind, as we usually are (the main exception
+% is with most defuns, which call us directly).
%
\def\dosubind#1#2#3{%
+ \iflinks
+ {%
+ % Store the main index entry text (including the third arg).
+ \toks0 = {#2}%
+ % If third arg is present, precede it with a space.
+ \def\thirdarg{#3}%
+ \ifx\thirdarg\empty \else
+ \toks0 = \expandafter{\the\toks0 \space #3}%
+ \fi
+ %
+ \edef\writeto{\csname#1indfile\endcsname}%
+ %
+ \ifvmode
+ \dosubindsanitize
+ \else
+ \dosubindwrite
+ \fi
+ }%
+ \fi
+}
+
+% Write the entry in \toks0 to the index file:
+%
+\def\dosubindwrite{%
% Put the index entry in the margin if desired.
\ifx\SETmarginindex\relax\else
- \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
+ \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
\fi
- {%
- \count255=\lastpenalty
- {%
- \indexdummies % Must do this here, since \bf, etc expand at this stage
- \escapechar=`\\
- {%
- \let\folio = 0% We will expand all macros now EXCEPT \folio.
- \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
- % so it will be output as is; and it will print as backslash.
- %
- % The main index entry text.
- \toks0 = {#2}%
- %
- % If third arg is present, precede it with space in sort key.
- \def\thirdarg{#3}%
- \ifx\thirdarg\emptymacro \else
- % If the third (subentry) arg is present, add it to the index
- % line to write.
- \toks0 = \expandafter{\the\toks0 \space #3}%
- \fi
- %
- % Process the index entry with all font commands turned off, to
- % get the string to sort by.
- {\indexnofonts
- \edef\temp{\the\toks0}% need full expansion
- \xdef\indexsorttmp{\temp}%
- }%
- %
- % Set up the complete index entry, with both the sort key and
- % the original text, including any font commands. We write
- % three arguments to \entry to the .?? file (four in the
- % subentry case), texindex reduces to two when writing the .??s
- % sorted result.
- \edef\temp{%
- \write\csname#1indfile\endcsname{%
- \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
- }%
- %
- % If a skip is the last thing on the list now, preserve it
- % by backing up by \lastskip, doing the \write, then inserting
- % the skip again. Otherwise, the whatsit generated by the
- % \write will make \lastskip zero. The result is that sequences
- % like this:
- % @end defun
- % @tindex whatever
- % @defun ...
- % will have extra space inserted, because the \medbreak in the
- % start of the @defun won't see the skip inserted by the @end of
- % the previous defun.
- %
- % But don't do any of this if we're not in vertical mode. We
- % don't want to do a \vskip and prematurely end a paragraph.
- %
- % Avoid page breaks due to these extra skips, too.
- %
- \iflinks
- \ifvmode
- \skip0 = \lastskip
- \ifdim\lastskip = 0pt \else \nobreak\vskip-\skip0 \fi
- \fi
- %
- \temp % do the write
- %
- \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
- \fi
- }%
- }%
- \penalty\count255
+ %
+ % Remember, we are within a group.
+ \indexdummies % Must do this here, since \bf, etc expand at this stage
+ \escapechar=`\\
+ \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
+ % so it will be output as is; and it will print as backslash.
+ %
+ % Process the index entry with all font commands turned off, to
+ % get the string to sort by.
+ {\indexnofonts
+ \edef\temp{\the\toks0}% need full expansion
+ \xdef\indexsorttmp{\temp}%
+ }%
+ %
+ % Set up the complete index entry, with both the sort key and
+ % the original text, including any font commands. We write
+ % three arguments to \entry to the .?? file (four in the
+ % subentry case), texindex reduces to two when writing the .??s
+ % sorted result.
+ \edef\temp{%
+ \write\writeto{%
+ \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
}%
+ \temp
+}
+
+% Take care of unwanted page breaks:
+%
+% If a skip is the last thing on the list now, preserve it
+% by backing up by \lastskip, doing the \write, then inserting
+% the skip again. Otherwise, the whatsit generated by the
+% \write will make \lastskip zero. The result is that sequences
+% like this:
+% @end defun
+% @tindex whatever
+% @defun ...
+% will have extra space inserted, because the \medbreak in the
+% start of the @defun won't see the skip inserted by the @end of
+% the previous defun.
+%
+% But don't do any of this if we're not in vertical mode. We
+% don't want to do a \vskip and prematurely end a paragraph.
+%
+% Avoid page breaks due to these extra skips, too.
+%
+% But wait, there is a catch there:
+% We'll have to check whether \lastskip is zero skip. \ifdim is not
+% sufficient for this purpose, as it ignores stretch and shrink parts
+% of the skip. The only way seems to be to check the textual
+% representation of the skip.
+%
+% The following is almost like \def\zeroskipmacro{0.0pt} except that
+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
+%
+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
+%
+% ..., ready, GO:
+%
+\def\dosubindsanitize{%
+ % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
+ \skip0 = \lastskip
+ \edef\lastskipmacro{\the\lastskip}%
+ \count255 = \lastpenalty
+ %
+ % If \lastskip is nonzero, that means the last item was a
+ % skip. And since a skip is discardable, that means this
+ % -\skip0 glue we're inserting is preceded by a
+ % non-discardable item, therefore it is not a potential
+ % breakpoint, therefore no \nobreak needed.
+ \ifx\lastskipmacro\zeroskipmacro
+ \else
+ \vskip-\skip0
+ \fi
+ %
+ \dosubindwrite
+ %
+ \ifx\lastskipmacro\zeroskipmacro
+ % if \lastskip was zero, perhaps the last item was a
+ % penalty, and perhaps it was >=10000, e.g., a \nobreak.
+ % In that case, we want to re-insert the penalty; since we
+ % just inserted a non-discardable item, any following glue
+ % (such as a \parskip) would be a breakpoint. For example:
+ % @deffn deffn-whatever
+ % @vindex index-whatever
+ % Description.
+ % would allow a break between the index-whatever whatsit
+ % and the "Description." paragraph.
+ \ifnum\count255>9999 \nobreak \fi
+ \else
+ % On the other hand, if we had a nonzero \lastskip,
+ % this make-up glue would be preceded by a non-discardable item
+ % (the whatsit from the \write), so we must insert a \nobreak.
+ \nobreak\vskip\skip0
+ \fi
}
% The index entry written in the file actually looks like
@@ -3320,13 +3424,12 @@ width0pt\relax} \fi
% @printindex causes a particular index (the ??s file) to get printed.
% It does not print any chapter heading (usually an @unnumbered).
%
-\def\printindex{\parsearg\doprintindex}
-\def\doprintindex#1{\begingroup
+\parseargdef\printindex{\begingroup
\dobreak \chapheadingskip{10000}%
%
\smallfonts \rm
\tolerance = 9500
- \indexbreaks
+ \everypar = {}% don't want the \kern\-parindent from indentation suppression.
%
% See if the index file exists and is nonempty.
% Change catcode of @ here so that if the index file contains
@@ -3353,7 +3456,7 @@ width0pt\relax} \fi
% Index files are almost Texinfo source, but we use \ as the escape
% character. It would be better to use @, but that's too big a change
% to make right now.
- \def\indexbackslash{\rawbackslashxx}%
+ \def\indexbackslash{\backslashcurfont}%
\catcode`\\ = 0
\escapechar = `\\
\begindoublecolumns
@@ -3391,74 +3494,95 @@ width0pt\relax} \fi
\nobreak
}}
-% This typesets a paragraph consisting of #1, dot leaders, and then #2
-% flush to the right margin. It is used for index and table of contents
-% entries. The paragraph is indented by \leftskip.
+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+% then page number (#2) flushed to the right margin. It is used for index
+% and table of contents entries. The paragraph is indented by \leftskip.
%
-\def\entry#1#2{\begingroup
- %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
- % Do not fill out the last line with white space.
- \parfillskip = 0in
- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
- % Do not prefer a separate line ending with a hyphen to fewer lines.
- \finalhyphendemerits = 0
- %
- % \hangindent is only relevant when the entry text and page number
- % don't both fit on one line. In that case, bob suggests starting the
- % dots pretty far over on the line. Unfortunately, a large
- % indentation looks wrong when the entry text itself is broken across
- % lines. So we use a small indentation and put up with long leaders.
- %
- % \hangafter is reset to 1 (which is the value we want) at the start
- % of each paragraph, so we need not do anything with that.
- \hangindent = 2em
- %
- % When the entry text needs to be broken, just fill out the first line
- % with blank space.
- \rightskip = 0pt plus1fil
- %
- % A bit of stretch before each entry for the benefit of balancing columns.
- \vskip 0pt plus1pt
- %
- % Start a ``paragraph'' for the index entry so the line breaking
- % parameters we've set above will have an effect.
- \noindent
- %
- % Insert the text of the index entry. TeX will do line-breaking on it.
- #1%
- % The following is kludged to not output a line of dots in the index if
- % there are no page numbers. The next person who breaks this will be
- % cursed by a Unix daemon.
- \def\tempa{{\rm }}%
- \def\tempb{#2}%
- \edef\tempc{\tempa}%
- \edef\tempd{\tempb}%
- \ifx\tempc\tempd\ \else%
+% A straightforward implementation would start like this:
+% \def\entry#1#2{...
+% But this frozes the catcodes in the argument, and can cause problems to
+% @code, which sets - active. This problem was fixed by a kludge---
+% ``-'' was active throughout whole index, but this isn't really right.
+%
+% The right solution is to prevent \entry from swallowing the whole text.
+% --kasal, 21nov03
+\def\entry{%
+ \begingroup
+ %
+ % Start a new paragraph if necessary, so our assignments below can't
+ % affect previous text.
+ \par
+ %
+ % Do not fill out the last line with white space.
+ \parfillskip = 0in
+ %
+ % No extra space above this paragraph.
+ \parskip = 0in
+ %
+ % Do not prefer a separate line ending with a hyphen to fewer lines.
+ \finalhyphendemerits = 0
+ %
+ % \hangindent is only relevant when the entry text and page number
+ % don't both fit on one line. In that case, bob suggests starting the
+ % dots pretty far over on the line. Unfortunately, a large
+ % indentation looks wrong when the entry text itself is broken across
+ % lines. So we use a small indentation and put up with long leaders.
+ %
+ % \hangafter is reset to 1 (which is the value we want) at the start
+ % of each paragraph, so we need not do anything with that.
+ \hangindent = 2em
%
- % If we must, put the page number on a line of its own, and fill out
- % this line with blank space. (The \hfil is overwhelmed with the
- % fill leaders glue in \indexdotfill if the page number does fit.)
- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
+ % When the entry text needs to be broken, just fill out the first line
+ % with blank space.
+ \rightskip = 0pt plus1fil
%
- % The `\ ' here is removed by the implicit \unskip that TeX does as
- % part of (the primitive) \par. Without it, a spurious underfull
- % \hbox ensues.
- \ifpdf
- \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+ % A bit of stretch before each entry for the benefit of balancing
+ % columns.
+ \vskip 0pt plus1pt
+ %
+ % Swallow the left brace of the text (first parameter):
+ \afterassignment\doentry
+ \let\temp =
+}
+\def\doentry{%
+ \bgroup % Instead of the swallowed brace.
+ \noindent
+ \aftergroup\finishentry
+ % And now comes the text of the entry.
+}
+\def\finishentry#1{%
+ % #1 is the page number.
+ %
+ % The following is kludged to not output a line of dots in the index if
+ % there are no page numbers. The next person who breaks this will be
+ % cursed by a Unix daemon.
+ \def\tempa{{\rm }}%
+ \def\tempb{#1}%
+ \edef\tempc{\tempa}%
+ \edef\tempd{\tempb}%
+ \ifx\tempc\tempd
+ \ %
\else
- \ #2% The page number ends the paragraph.
+ %
+ % If we must, put the page number on a line of its own, and fill out
+ % this line with blank space. (The \hfil is overwhelmed with the
+ % fill leaders glue in \indexdotfill if the page number does fit.)
+ \hfil\penalty50
+ \null\nobreak\indexdotfill % Have leaders before the page number.
+ %
+ % The `\ ' here is removed by the implicit \unskip that TeX does as
+ % part of (the primitive) \par. Without it, a spurious underfull
+ % \hbox ensues.
+ \ifpdf
+ \pdfgettoks#1.%
+ \ \the\toksA
+ \else
+ \ #1%
+ \fi
\fi
- \fi%
- \par
-\endgroup}
+ \par
+ \endgroup
+}
% Like \dotfill except takes at least 1 em.
\def\indexdotfill{\cleaders
@@ -3569,7 +3693,7 @@ width0pt\relax} \fi
\wd0=\hsize \wd2=\hsize
\hbox to\pagewidth{\box0\hfil\box2}%
}
-%
+%
% All done with double columns.
\def\enddoublecolumns{%
\output = {%
@@ -3627,6 +3751,12 @@ width0pt\relax} \fi
\message{sectioning,}
% Chapters, sections, etc.
+% \unnumberedno is an oxymoron, of course. But we count the unnumbered
+% sections so that we can refer to them unambiguously in the pdf
+% outlines by their "section number". We avoid collisions with chapter
+% numbers by starting them at 10000. (If a document ever has 10000
+% chapters, we're in trouble anyway, I'm sure.)
+\newcount\unnumberedno \unnumberedno = 10000
\newcount\chapno
\newcount\secno \secno=0
\newcount\subsecno \subsecno=0
@@ -3634,9 +3764,12 @@ width0pt\relax} \fi
% This counter is funny since it counts through charcodes of letters A, B, ...
\newcount\appendixno \appendixno = `\@
+%
% \def\appendixletter{\char\the\appendixno}
-% We do the following for the sake of pdftex, which needs the actual
+% We do the following ugly conditional instead of the above simple
+% construct for the sake of pdftex, which needs the actual
% letter in the expansion, not just typeset.
+%
\def\appendixletter{%
\ifnum\appendixno=`A A%
\else\ifnum\appendixno=`B B%
@@ -3674,11 +3807,12 @@ width0pt\relax} \fi
% Each @chapter defines this as the name of the chapter.
% page headings and footings can use it. @section does likewise.
+% However, they are not reliable, because we don't use marks.
\def\thischapter{}
\def\thissection{}
\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raise/lowersections modify this count
+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
% @raisesections: treat @section as chapter, @subsection as section, etc.
\def\raisesections{\global\advance\secbase by -1}
@@ -3693,113 +3827,105 @@ width0pt\relax} \fi
% #2 is text for heading
\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
\ifcase\absseclevel
- \chapterzzz{#2}
-\or
- \seczzz{#2}
-\or
- \numberedsubseczzz{#2}
-\or
- \numberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \chapterzzz{#2}
+ \chapterzzz{#2}%
+ \or \seczzz{#2}%
+ \or \numberedsubseczzz{#2}%
+ \or \numberedsubsubseczzz{#2}%
\else
- \numberedsubsubseczzz{#2}
+ \ifnum \absseclevel<0 \chapterzzz{#2}%
+ \else \numberedsubsubseczzz{#2}%
+ \fi
\fi
-\fi
+ \suppressfirstparagraphindent
}
% like \numhead, but chooses appendix heading levels
\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
\ifcase\absseclevel
- \appendixzzz{#2}
-\or
- \appendixsectionzzz{#2}
-\or
- \appendixsubseczzz{#2}
-\or
- \appendixsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \appendixzzz{#2}
+ \appendixzzz{#2}%
+ \or \appendixsectionzzz{#2}%
+ \or \appendixsubseczzz{#2}%
+ \or \appendixsubsubseczzz{#2}%
\else
- \appendixsubsubseczzz{#2}
+ \ifnum \absseclevel<0 \appendixzzz{#2}%
+ \else \appendixsubsubseczzz{#2}%
+ \fi
\fi
-\fi
+ \suppressfirstparagraphindent
}
% like \numhead, but chooses numberless heading levels
\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \unnumberedzzz{#2}
-\or
- \unnumberedseczzz{#2}
-\or
- \unnumberedsubseczzz{#2}
-\or
- \unnumberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \unnumberedzzz{#2}
+ \ifcase\absseclevel
+ \unnumberedzzz{#2}%
+ \or \unnumberedseczzz{#2}%
+ \or \unnumberedsubseczzz{#2}%
+ \or \unnumberedsubsubseczzz{#2}%
\else
- \unnumberedsubsubseczzz{#2}
+ \ifnum \absseclevel<0 \unnumberedzzz{#2}%
+ \else \unnumberedsubsubseczzz{#2}%
+ \fi
\fi
-\fi
+ \suppressfirstparagraphindent
}
-% @chapter, @appendix, @unnumbered.
-\def\thischaptername{No Chapter Title}
-\outer\def\chapter{\parsearg\chapteryyy}
-\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
- \global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
- \chapmacro {#1}{\the\chapno}%
- \gdef\thissection{#1}%
- \gdef\thischaptername{#1}%
- % We don't substitute the actual chapter name into \thischapter
- % because we don't want its macros evaluated now.
- \xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
- \writetocentry{chap}{#1}{{\the\chapno}}
- \donoderef
+% @chapter, @appendix, @unnumbered. Increment top-level counter, reset
+% all lower-level sectioning counters to zero.
+%
+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
+% (e.g., figures), q.v. By default (before any chapter), that is empty.
+\let\chaplevelprefix = \empty
+%
+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz#1{%
+ % section resetting is \global in case the chapter is in a group, such
+ % as an @include file.
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\chapno by 1
+ %
+ % Used for \float.
+ \gdef\chaplevelprefix{\the\chapno.}%
+ \resetallfloatnos
+ %
+ \message{\putwordChapter\space \the\chapno}%
+ %
+ % Write the actual heading.
+ \chapmacro{#1}{Ynumbered}{\the\chapno}%
+ %
+ % So @section and the like are numbered underneath this chapter.
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
}
-% we use \chapno to avoid indenting back
-\def\appendixbox#1{%
- \setbox0 = \hbox{\putwordAppendix{} \the\chapno}%
- \hbox to \wd0{#1\hss}}
-
-\outer\def\appendix{\parsearg\appendixyyy}
-\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
- \global\advance \appendixno by 1
- \message{\putwordAppendix\space \appendixletter}%
- \chapmacro {#1}{\appendixbox{\putwordAppendix{} \appendixletter}}%
- \gdef\thissection{#1}%
- \gdef\thischaptername{#1}%
- \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
- \writetocentry{appendix}{#1}{{\appendixletter}}
- \appendixnoderef
+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz#1{%
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\appendixno by 1
+ \gdef\chaplevelprefix{\appendixletter.}%
+ \resetallfloatnos
+ %
+ \def\appendixnum{\putwordAppendix\space \appendixletter}%
+ \message{\appendixnum}%
+ %
+ \chapmacro{#1}{Yappendix}{\appendixletter}%
+ %
\global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
}
% @centerchap is like @unnumbered, but the heading is centered.
-\outer\def\centerchap{\parsearg\centerchapyyy}
-\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
+\outer\parseargdef\centerchap{{\unnumberedyyy{#1}}}
-% @top is like @unnumbered.
-\outer\def\top{\parsearg\unnumberedyyy}
-
-\outer\def\unnumbered{\parsearg\unnumberedyyy}
-\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz#1{%
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\unnumberedno by 1
+ %
+ % Since an unnumbered has no number, no prefix for figures.
+ \global\let\chaplevelprefix = \empty
+ \resetallfloatnos
%
% This used to be simply \message{#1}, but TeX fully expands the
% argument to \message. Therefore, if #1 contained @-commands, TeX
@@ -3812,112 +3938,84 @@ width0pt\relax} \fi
% \the<toks register> to achieve this: TeX expands \the<toks> only once,
% simply yielding the contents of <toks register>. (We also do this for
% the toc entries.)
- \toks0 = {#1}\message{(\the\toks0)}%
+ \toks0 = {#1}%
+ \message{(\the\toks0)}%
+ %
+ \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
%
- \unnumbchapmacro {#1}%
- \gdef\thischapter{#1}\gdef\thissection{#1}%
- \writetocentry{unnumbchap}{#1}{{\the\chapno}}
- \unnumbnoderef
\global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
}
+% @top is like @unnumbered.
+\let\top\unnumbered
+
% Sections.
-\outer\def\numberedsec{\parsearg\secyyy}
-\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{%
- \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
- \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
- \writetocentry{sec}{#1}{{\the\chapno}{\the\secno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+\def\seczzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-\outer\def\appendixsection{\parsearg\appendixsecyyy}
-\outer\def\appendixsec{\parsearg\appendixsecyyy}
-\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{%
- \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
- \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
- \writetocentry{sec}{#1}{{\appendixletter}{\the\secno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
+\let\appendixsec\appendixsection
-\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
-\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{%
- \plainsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsec}{#1}{{\the\chapno}{\the\secno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
-\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{%
- \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
- \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
- \writetocentry{subsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
-\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{%
- \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
- \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
- \writetocentry{subsec}{#1}{{\appendixletter}{\the\secno}{\the\subsecno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Yappendix}%
+ {\appendixletter.\the\secno.\the\subsecno}%
}
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
-\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{%
- \plainsubsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Ynothing}%
+ {\the\unnumberedno.\the\secno.\the\subsecno}%
}
% Subsubsections.
-\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
-\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{%
- \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
- \subsubsecheading {#1}
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
- \writetocentry{subsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Ynumbered}%
+ {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
-\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{%
- \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
- \subsubsecheading {#1}
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
- \writetocentry{subsubsec}{#1}{{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Yappendix}%
+ {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
-\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{%
- \plainsubsubsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsubsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Ynothing}%
+ {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
% These are variants which are not "outer", so they can appear in @ifinfo.
-% Actually, they should now be obsolete; ordinary section commands should work.
+% Actually, they are now be obsolete; ordinary section commands should work.
\def\infotop{\parsearg\unnumberedzzz}
\def\infounnumbered{\parsearg\unnumberedzzz}
\def\infounnumberedsec{\parsearg\unnumberedseczzz}
@@ -3937,9 +4035,9 @@ width0pt\relax} \fi
% These macros control what the section commands do, according
% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
% Define them by default for a numbered chapter.
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
+\let\section = \numberedsec
+\let\subsection = \numberedsubsec
+\let\subsubsection = \numberedsubsubsec
% Define @majorheading, @heading and @subheading
@@ -3952,23 +4050,27 @@ width0pt\relax} \fi
% if justification is not attempted. Hence \raggedright.
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
+\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
+ \parsearg\chapheadingzzz
+}
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz#1{%
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
+ \rm #1\hfill}}%
+ \bigskip \par\penalty 200\relax
+ \suppressfirstparagraphindent
+}
% @heading, @subheading, @subsubheading.
-\def\heading{\parsearg\plainsecheading}
-\def\subheading{\parsearg\plainsubsecheading}
-\def\subsubheading{\parsearg\plainsubsubsecheading}
+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
% These macros generate a chapter, section, etc. heading only
% (including whitespace, linebreaking, etc. around it),
@@ -4001,7 +4103,7 @@ width0pt\relax} \fi
\global\let\pagealignmacro=\chappager
\global\def\HEADINGSon{\HEADINGSsingle}}
-\def\CHAPPAGodd{
+\def\CHAPPAGodd{%
\global\let\contentsalignmacro = \chapoddpage
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage
@@ -4009,30 +4111,79 @@ width0pt\relax} \fi
\CHAPPAGon
-\def\CHAPFplain{
+\def\CHAPFplain{%
\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain
\global\let\centerchapmacro=\centerchfplain}
-% Plain chapter opening.
-% #1 is the text, #2 the chapter number or empty if unnumbered.
-\def\chfplain#1#2{%
+% Normal chapter opening.
+%
+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
+% Yappendix, Yomitfromtoc), #3 the chapter number.
+%
+% To test against our argument.
+\def\Ynothingkeyword{Ynothing}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+\def\Yappendixkeyword{Yappendix}
+%
+\def\chfplain#1#2#3{%
\pchapsepmacro
{%
\chapfonts \rm
- \def\chapnum{#2}%
- \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}%
+ %
+ % Have to define \thissection before calling \donoderef, because the
+ % xref code eventually uses it. On the other hand, it has to be called
+ % after \pchapsepmacro, or the headline will change too soon.
+ \gdef\thissection{#1}%
+ \gdef\thischaptername{#1}%
+ %
+ % Only insert the separating space if we have a chapter/appendix
+ % number, and don't print the unnumbered ``number''.
+ \def\temptype{#2}%
+ \ifx\temptype\Ynothingkeyword
+ \setbox0 = \hbox{}%
+ \def\toctype{unnchap}%
+ \def\thischapter{#1}%
+ \else\ifx\temptype\Yomitfromtockeyword
+ \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
+ \def\toctype{omit}%
+ \xdef\thischapter{}%
+ \else\ifx\temptype\Yappendixkeyword
+ \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
+ \def\toctype{app}%
+ % We don't substitute the actual chapter name into \thischapter
+ % because we don't want its macros evaluated now. And we don't
+ % use \thissection because that changes with each section.
+ %
+ \xdef\thischapter{\putwordAppendix{} \appendixletter:
+ \noexpand\thischaptername}%
+ \else
+ \setbox0 = \hbox{#3\enspace}%
+ \def\toctype{numchap}%
+ \xdef\thischapter{\putwordChapter{} \the\chapno:
+ \noexpand\thischaptername}%
+ \fi\fi\fi
+ %
+ % Write the toc entry for this chapter. Must come before the
+ % \donoderef, because we include the current node name in the toc
+ % entry, and \donoderef resets it to empty.
+ \writetocentry{\toctype}{#1}{#3}%
+ %
+ % For pdftex, we have to write out the node definition (aka, make
+ % the pdfdest) after any page break, but before the actual text has
+ % been typeset. If the destination for the pdf outline is after the
+ % text, then jumping from the outline may wind up with the text not
+ % being visible, for instance under high magnification.
+ \donoderef{#2}%
+ %
+ % Typeset the actual heading.
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 \centerparametersmaybe
+ \hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
\nobreak\bigskip % no page break after a chapter title
\nobreak
}
-% Plain opening for unnumbered.
-\def\unnchfplain#1{\chfplain{#1}{}}
-
% @centerchap -- centered and unnumbered.
\let\centerparametersmaybe = \relax
\def\centerchfplain#1{{%
@@ -4041,11 +4192,14 @@ width0pt\relax} \fi
\leftskip = \rightskip
\parfillskip = 0pt
}%
- \chfplain{#1}{}%
+ \chfplain{#1}{Ynothing}{}%
}}
\CHAPFplain % The default
+% I don't think this chapter style is supported any more, so I'm not
+% updating it with the new noderef stuff. We'll see. --karl, 11aug03.
+%
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
@@ -4063,61 +4217,95 @@ width0pt\relax} \fi
\hfill {\rm #1}\hfill}}\bigskip \par\nobreak
}
-\def\CHAPFopen{
+\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen
\global\let\centerchapmacro=\centerchfopen}
-% Section titles.
+% Section titles. These macros combine the section number parts and
+% call the generic \sectionheading to do the printing.
+%
\newskip\secheadingskip
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}}
-\def\plainsecheading#1{\sectionheading{sec}{}{#1}}
+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
% Subsection titles.
-\newskip \subsecheadingskip
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}}
-\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}}
+\newskip\subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
% Subsubsection titles.
-\let\subsubsecheadingskip = \subsecheadingskip
-\let\subsubsecheadingbreak = \subsecheadingbreak
-\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}}
-\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}}
+\def\subsubsecheadingskip{\subsecheadingskip}
+\def\subsubsecheadingbreak{\subsecheadingbreak}
-% Print any size section title.
-%
-% #1 is the section type (sec/subsec/subsubsec), #2 is the section
-% number (maybe empty), #3 the text.
-\def\sectionheading#1#2#3{%
- {%
- \expandafter\advance\csname #1headingskip\endcsname by \parskip
- \csname #1headingbreak\endcsname
- }%
+% Print any size, any type, section title.
+%
+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
+% section number.
+%
+\def\sectionheading#1#2#3#4{%
{%
% Switch to the right set of fonts.
- \csname #1fonts\endcsname \rm
+ \csname #2fonts\endcsname \rm
+ %
+ % Insert space above the heading.
+ \csname #2headingbreak\endcsname
%
- % Only insert the separating space if we have a section number.
- \def\secnum{#2}%
- \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}%
+ % Only insert the space after the number if we have a section number.
+ \def\sectionlevel{#2}%
+ \def\temptype{#3}%
%
+ \ifx\temptype\Ynothingkeyword
+ \setbox0 = \hbox{}%
+ \def\toctype{unn}%
+ \gdef\thissection{#1}%
+ \else\ifx\temptype\Yomitfromtockeyword
+ % for @headings -- no section number, don't include in toc,
+ % and don't redefine \thissection.
+ \setbox0 = \hbox{}%
+ \def\toctype{omit}%
+ \let\sectionlevel=\empty
+ \else\ifx\temptype\Yappendixkeyword
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{app}%
+ \gdef\thissection{#1}%
+ \else
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{num}%
+ \gdef\thissection{#1}%
+ \fi\fi\fi
+ %
+ % Write the toc entry (before \donoderef). See comments in \chfplain.
+ \writetocentry{\toctype\sectionlevel}{#1}{#4}%
+ %
+ % Write the node reference (= pdf destination for pdftex).
+ % Again, see comments in \chfplain.
+ \donoderef{#3}%
+ %
+ % Output the actual section heading.
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 % zero if no section number
- \unhbox0 #3}%
+ \hangindent=\wd0 % zero if no section number
+ \unhbox0 #1}%
}%
- % Add extra space after the heading -- either a line space or a
- % paragraph space, whichever is more. (Some people like to set
- % \parskip to large values for some reason.) Don't allow stretch, though.
+ % Add extra space after the heading -- half of whatever came above it.
+ % Don't allow stretch, though.
+ \kern .5 \csname #2headingskip\endcsname
+ %
+ % Do not let the kern be a potential breakpoint, as it would be if it
+ % was followed by glue.
\nobreak
- \ifdim\parskip>\normalbaselineskip
- \kern\parskip
- \else
- \kern\normalbaselineskip
- \fi
+ %
+ % We'll almost certainly start a paragraph next, so don't let that
+ % glue accumulate. (Not a breakpoint because it's preceded by a
+ % discardable item.)
+ \vskip-\parskip
+ %
+ % This \nobreak is purely so the last item on the list is a \penalty
+ % of 10000. This is so other code, for instance \parsebodycommon, can
+ % check for and avoid allowing breakpoints. Otherwise, it would
+ % insert a valid breakpoint between:
+ % @section sec-whatever
+ % @deffn def-whatever
\nobreak
}
@@ -4127,119 +4315,152 @@ width0pt\relax} \fi
\newwrite\tocfile
% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc. We supply {\folio} at the end of the
-% argument, which will end up as the last argument to the \...entry macro.
-%
-% Usage: \writetocentry{chap}{The Name of The Game}{{\the\chapno}}
+% Called from @chapter, etc.
+%
+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
+% We append the current node name (if any) and page number as additional
+% arguments for the \{chap,sec,...}entry macros which will eventually
+% read this. The node name is used in the pdf outlines as the
+% destination to jump to.
+%
% We open the .toc file for writing here instead of at @setfilename (or
% any other fixed time) so that @contents can be anywhere in the document.
+% But if #1 is `omit', then we don't do anything. This is used for the
+% table of contents chapter openings themselves.
%
\newif\iftocfileopened
+\def\omitkeyword{omit}%
+%
\def\writetocentry#1#2#3{%
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- %
- \iflinks
- \toks0 = {#2}%
- \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}#3{\folio}}}%
- \temp
+ \edef\writetoctype{#1}%
+ \ifx\writetoctype\omitkeyword \else
+ \iftocfileopened\else
+ \immediate\openout\tocfile = \jobname.toc
+ \global\tocfileopenedtrue
+ \fi
+ %
+ \iflinks
+ \toks0 = {#2}%
+ \toks2 = \expandafter{\lastnode}%
+ \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}%
+ {\the\toks2}{\noexpand\folio}}}%
+ \temp
+ \fi
\fi
%
- % Tell \shipout to create a page destination if we're doing pdf, which
- % will be the target of the links in the table of contents. We can't
- % just do it on every page because the title pages are numbered 1 and
- % 2 (the page numbers aren't printed), and so are the first two pages
- % of the document. Thus, we'd have two destinations named `1', and
- % two named `2'.
- \ifpdf \pdfmakepagedesttrue \fi
+ % Tell \shipout to create a pdf destination on each page, if we're
+ % writing pdf. These are used in the table of contents. We can't
+ % just write one on every page because the title pages are numbered
+ % 1 and 2 (the page numbers aren't printed), and so are the first
+ % two pages of the document. Thus, we'd have two destinations named
+ % `1', and two named `2'.
+ \ifpdf \global\pdfmakepagedesttrue \fi
}
\newskip\contentsrightmargin \contentsrightmargin=1in
\newcount\savepageno
\newcount\lastnegativepageno \lastnegativepageno = -1
-% Finish up the main text and prepare to read what we've written
-% to \tocfile.
+% Prepare to read what we've written to \tocfile.
%
\def\startcontents#1{%
- % If @setchapternewpage on, and @headings double, the contents should
- % start on an odd page, unlike chapters. Thus, we maintain
- % \contentsalignmacro in parallel with \pagealignmacro.
- % From: Torbjorn Granlund <tege@matematik.su.se>
- \contentsalignmacro
- \immediate\closeout\tocfile
- %
- % Don't need to put `Contents' or `Short Contents' in the headline.
- % It is abundantly clear what they are.
- \unnumbchapmacro{#1}\def\thischapter{}%
- \savepageno = \pageno
- \begingroup % Set up to handle contents files properly.
- \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
- % We can't do this, because then an actual ^ in a section
- % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97.
- %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
- \raggedbottom % Worry more about breakpoints than the bottom.
- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+ % If @setchapternewpage on, and @headings double, the contents should
+ % start on an odd page, unlike chapters. Thus, we maintain
+ % \contentsalignmacro in parallel with \pagealignmacro.
+ % From: Torbjorn Granlund <tege@matematik.su.se>
+ \contentsalignmacro
+ \immediate\closeout\tocfile
+ %
+ % Don't need to put `Contents' or `Short Contents' in the headline.
+ % It is abundantly clear what they are.
+ \def\thischapter{}%
+ \chapmacro{#1}{Yomitfromtoc}{}%
+ %
+ \savepageno = \pageno
+ \begingroup % Set up to handle contents files properly.
+ \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
+ % We can't do this, because then an actual ^ in a section
+ % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97.
+ %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
+ \raggedbottom % Worry more about breakpoints than the bottom.
+ \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+ %
+ % Roman numerals for page numbers.
+ \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
}
% Normal (long) toc.
\def\contents{%
- \startcontents{\putwordTOC}%
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \pdfmakeoutlines
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
+ \startcontents{\putwordTOC}%
+ \openin 1 \jobname.toc
+ \ifeof 1 \else
+ \input \jobname.toc
+ \fi
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \ifeof 1 \else
+ \pdfmakeoutlines
+ \fi
+ \closein 1
+ \endgroup
+ \lastnegativepageno = \pageno
+ \global\pageno = \savepageno
}
% And just the chapters.
\def\summarycontents{%
- \startcontents{\putwordShortTOC}%
- %
- \let\chapentry = \shortchapentry
- \let\appendixentry = \shortappendixentry
- \let\unnumbchapentry = \shortunnumberedentry
- % We want a true roman here for the page numbers.
- \secfonts
- \let\rm=\shortcontrm \let\bf=\shortcontbf
- \let\sl=\shortcontsl \let\tt=\shortconttt
- \rm
- \hyphenpenalty = 10000
- \advance\baselineskip by 1pt % Open it up a little.
- \def\secentry ##1##2##3##4{}
- \def\subsecentry ##1##2##3##4##5{}
- \def\subsubsecentry ##1##2##3##4##5##6{}
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
+ \startcontents{\putwordShortTOC}%
+ %
+ \let\numchapentry = \shortchapentry
+ \let\appentry = \shortchapentry
+ \let\unnchapentry = \shortunnchapentry
+ % We want a true roman here for the page numbers.
+ \secfonts
+ \let\rm=\shortcontrm \let\bf=\shortcontbf
+ \let\sl=\shortcontsl \let\tt=\shortconttt
+ \rm
+ \hyphenpenalty = 10000
+ \advance\baselineskip by 1pt % Open it up a little.
+ \def\numsecentry##1##2##3##4{}
+ \let\appsecentry = \numsecentry
+ \let\unnsecentry = \numsecentry
+ \let\numsubsecentry = \numsecentry
+ \let\appsubsecentry = \numsecentry
+ \let\unnsubsecentry = \numsecentry
+ \let\numsubsubsecentry = \numsecentry
+ \let\appsubsubsecentry = \numsecentry
+ \let\unnsubsubsecentry = \numsecentry
+ \openin 1 \jobname.toc
+ \ifeof 1 \else
+ \input \jobname.toc
+ \fi
+ \closein 1
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \endgroup
+ \lastnegativepageno = \pageno
+ \global\pageno = \savepageno
}
\let\shortcontents = \summarycontents
-\ifpdf
- \pdfcatalog{/PageMode /UseOutlines}%
-\fi
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
+%
+\def\shortchaplabel#1{%
+ % This space should be enough, since a single number is .5em, and the
+ % widest letter (M) is 1em, at least in the Computer Modern fonts.
+ % But use \hss just in case.
+ % (This space doesn't include the extra space that gets added after
+ % the label; that gets put in by \shortchapentry above.)
+ %
+ % We'd like to right-justify chapter numbers, but that looks strange
+ % with appendix letters. And right-justifying numbers and
+ % left-justifying letters looks strange when there is less than 10
+ % chapters. Have to read the whole toc once to know how many chapters
+ % there are before deciding ...
+ \hbox to 1em{#1\hss}%
+}
% These macros generate individual entries in the table of contents.
% The first argument is the chapter or section name.
@@ -4247,58 +4468,46 @@ width0pt\relax} \fi
% The arguments in between are the chapter number, section number, ...
% Chapters, in the main contents.
-\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
%
% Chapters, in the short toc.
% See comments in \dochapentry re vbox and related settings.
-\def\shortchapentry#1#2#3{%
- \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}%
+\def\shortchapentry#1#2#3#4{%
+ \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
}
% Appendices, in the main contents.
-\def\appendixentry#1#2#3{%
- \dochapentry{\appendixbox{\putwordAppendix{} #2}\labelspace#1}{#3}}
-%
-% Appendices, in the short toc.
-\let\shortappendixentry = \shortchapentry
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter.
-% We could simplify the code here by writing out an \appendixentry
-% command in the toc file for appendices, instead of using \chapentry
-% for both, but it doesn't seem worth it.
-%
-\newdimen\shortappendixwidth
+% Need the word Appendix, and a fixed-size box.
+%
+\def\appendixbox#1{%
+ % We use M since it's probably the widest letter.
+ \setbox0 = \hbox{\putwordAppendix{} M}%
+ \hbox to \wd0{\putwordAppendix{} #1\hss}}
%
-\def\shortchaplabel#1{%
- % This space should be enough, since a single number is .5em, and the
- % widest letter (M) is 1em, at least in the Computer Modern fonts.
- % But use \hss just in case.
- % (This space doesn't include the extra space that gets added after
- % the label; that gets put in by \shortchapentry above.)
- \dimen0 = 1em
- \hbox to \dimen0{#1\hss}%
-}
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
% Unnumbered chapters.
-\def\unnumbchapentry#1#2#3{\dochapentry{#1}{#3}}
-\def\shortunnumberedentry#1#2#3{\tocentry{#1}{\doshortpageno\bgroup#3\egroup}}
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
% Sections.
-\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\let\appsecentry=\numsecentry
+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
% Subsections.
-\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2#3#4#5{\dosubsecentry{#1}{#5}}
+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsecentry=\numsubsecentry
+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
% And subsubsections.
-\def\subsubsecentry#1#2#3#4#5#6{%
- \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2#3#4#5#6{\dosubsubsecentry{#1}{#6}}
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsubsecentry=\numsubsubsecentry
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
% This parameter controls the indentation of the various levels.
-\newdimen\tocindent \tocindent = 3pc
+% Same as \defaultparindent.
+\newdimen\tocindent \tocindent = 15pt
% Now for the actual typesetting. In all these, #1 is the text and #2 is the
% page number.
@@ -4329,17 +4538,8 @@ width0pt\relax} \fi
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
\endgroup}
-% Final typesetting of a toc entry; we use the same \entry macro as for
-% the index entries, but we want to suppress hyphenation here. (We
-% can't do that in the \entry macro, since index entries might consist
-% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
-\def\tocentry#1#2{\begingroup
- \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
- % Do not use \turnoffactive in these arguments. Since the toc is
- % typeset in cmr, characters such as _ would come out wrong; we
- % have to do the usual translation tricks.
- \entry{#1}{#2}%
-\endgroup}
+% We use the same \entry macro as for the index entries.
+\let\tocentry = \entry
% Space between chapter (or whatever) number and the title.
\def\labelspace{\hskip1em \relax}
@@ -4349,15 +4549,15 @@ width0pt\relax} \fi
\def\chapentryfonts{\secfonts \rm}
\def\secentryfonts{\textfonts}
-\let\subsecentryfonts = \textfonts
-\let\subsubsecentryfonts = \textfonts
+\def\subsecentryfonts{\textfonts}
+\def\subsubsecentryfonts{\textfonts}
\message{environments,}
% @foo ... @end foo.
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
+%
% Since these characters are used in examples, it should be an even number of
% \tt widths. Each \tt character is 1en, so two makes it 1em.
%
@@ -4369,7 +4569,7 @@ width0pt\relax} \fi
% The @error{} command.
% Adapted from the TeXbook's \boxit.
-%
+%
\newbox\errorbox
%
{\tentt \global\dimen0 = 3em}% Width of the box.
@@ -4377,10 +4577,10 @@ width0pt\relax} \fi
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
%
-\global\setbox\errorbox=\hbox to \dimen0{\hfil
+\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
\advance\hsize by -2\dimen2 % Rules.
- \vbox{
+ \vbox{%
\hrule height\dimen2
\hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
\vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
@@ -4394,14 +4594,13 @@ width0pt\relax} \fi
% One exception: @ is still an escape character, so that @end tex works.
% But \@ or @@ will get a plain tex @ character.
-\def\tex{\begingroup
+\envdef\tex{%
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
\catcode `\%=14
\catcode `\+=\other
\catcode `\"=\other
- \catcode `\==\other
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
@@ -4416,19 +4615,23 @@ width0pt\relax} \fi
\let\equiv=\ptexequiv
\let\!=\ptexexclam
\let\i=\ptexi
+ \let\indent=\ptexindent
+ \let\noindent=\ptexnoindent
\let\{=\ptexlbrace
\let\+=\tabalign
\let\}=\ptexrbrace
+ \let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
\def\@{@}%
-\let\Etex=\endgroup}
+}
+% There is no need to define \Etex.
% Define @lisp ... @end lisp.
-% @lisp does a \begingroup so it can rebind things,
+% @lisp environment forms a group so it can rebind things,
% including the definition of @end lisp (which normally is erroneous).
% Amount to narrow the margins by for @lisp.
@@ -4439,19 +4642,6 @@ width0pt\relax} \fi
% have any width.
\def\lisppar{\null\endgraf}
-% Make each space character in the input produce a normal interword
-% space in the output. Don't allow a line break at this space, as this
-% is used only in environments like @example, where each line of input
-% should produce a line of output anyway.
-%
-{\obeyspaces %
-\gdef\sepspaces{\obeyspaces\let =\tie}}
-
-% Define \obeyedspace to be our active space, whatever it is. This is
-% for use in \parsearg.
-{\sepspaces%
-\global\let\obeyedspace= }
-
% This space is always present above and below environments.
\newskip\envskipamount \envskipamount = 0pt
@@ -4469,7 +4659,7 @@ width0pt\relax} \fi
\removelastskip
% it's not a good place to break if the last penalty was \nobreak
% or better ...
- \ifnum\lastpenalty>10000 \else \penalty-50 \fi
+ \ifnum\lastpenalty<10000 \penalty-50 \fi
\vskip\envskipamount
\fi
\fi
@@ -4501,52 +4691,52 @@ width0pt\relax} \fi
%
\newskip\lskip\newskip\rskip
-\def\cartouche{%
-\par % can't be in the midst of a paragraph.
-\begingroup
- \lskip=\leftskip \rskip=\rightskip
- \leftskip=0pt\rightskip=0pt %we want these *outside*.
- \cartinner=\hsize \advance\cartinner by-\lskip
- \advance\cartinner by-\rskip
- \cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
-% side, and for 6pt waste from
-% each corner char, and rule thickness
- \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing=\comment
- \vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
- \hskip\lskip
- \vrule\kern3pt
- \vbox\bgroup
- \hsize=\cartinner
- \kern3pt
- \begingroup
- \baselineskip=\normbskip
- \lineskip=\normlskip
- \parskip=\normpskip
- \vskip -\parskip
+\envdef\cartouche{%
+ \ifhmode\par\fi % can't be in the midst of a paragraph.
+ \startsavinginserts
+ \lskip=\leftskip \rskip=\rightskip
+ \leftskip=0pt\rightskip=0pt % we want these *outside*.
+ \cartinner=\hsize \advance\cartinner by-\lskip
+ \advance\cartinner by-\rskip
+ \cartouter=\hsize
+ \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+ % side, and for 6pt waste from
+ % each corner char, and rule thickness
+ \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+ % Flag to tell @lisp, etc., not to narrow margin.
+ \let\nonarrowing=\comment
+ \vbox\bgroup
+ \baselineskip=0pt\parskip=0pt\lineskip=0pt
+ \carttop
+ \hbox\bgroup
+ \hskip\lskip
+ \vrule\kern3pt
+ \vbox\bgroup
+ \kern3pt
+ \hsize=\cartinner
+ \baselineskip=\normbskip
+ \lineskip=\normlskip
+ \parskip=\normpskip
+ \vskip -\parskip
+ \comment % For explanation, see the end of \def\group.
+}
\def\Ecartouche{%
- \endgroup
- \kern3pt
- \egroup
- \kern3pt\vrule
- \hskip\rskip
- \egroup
- \cartbot
- \egroup
-\endgroup
-}}
+ \ifhmode\par\fi
+ \kern3pt
+ \egroup
+ \kern3pt\vrule
+ \hskip\rskip
+ \egroup
+ \cartbot
+ \egroup
+ \checkinserts
+}
% This macro is called at the beginning of all the @example variants,
% inside a group.
\def\nonfillstart{%
\aboveenvbreak
- \inENV % This group ends at the end of the body
\hfuzz = 12pt % Don't be fussy
\sepspaces % Make spaces be word-separators rather than space tokens.
\let\par = \lisppar % don't ignore blank lines
@@ -4559,103 +4749,99 @@ width0pt\relax} \fi
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
- \let\exdent=\nofillexdent
- \let\nonarrowing=\relax
\fi
+ \let\exdent=\nofillexdent
}
-% Define the \E... control sequence only if we are inside the particular
-% environment, so the error checking in \end will work.
+% If you want all examples etc. small: @set dispenvsize small.
+% If you want even small examples the full size: @set dispenvsize nosmall.
+% This affects the following displayed environments:
+% @example, @display, @format, @lisp
%
-% To end an @example-like environment, we first end the paragraph (via
-% \afterenvbreak's vertical glue), and then the group. That way we keep
-% the zero \parskip that the environments set -- \parskip glue will be
-% inserted at the beginning of the next paragraph in the document, after
-% the environment.
-%
-\def\nonfillfinish{\afterenvbreak\endgroup}
+\def\smallword{small}
+\def\nosmallword{nosmall}
+\let\SETdispenvsize\relax
+\def\setnormaldispenv{%
+ \ifx\SETdispenvsize\smallword
+ \smallexamplefonts \rm
+ \fi
+}
+\def\setsmalldispenv{%
+ \ifx\SETdispenvsize\nosmallword
+ \else
+ \smallexamplefonts \rm
+ \fi
+}
-% @lisp: indented, narrowed, typewriter font.
-\def\lisp{\begingroup
- \nonfillstart
- \let\Elisp = \nonfillfinish
- \tt
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+% We often define two environments, @foo and @smallfoo.
+% Let's do it by one command:
+\def\makedispenv #1#2{
+ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+ \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+ \expandafter\let\csname E#1\endcsname \afterenvbreak
+ \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
-% @example: Same as @lisp.
-\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+ \makedispenv{#1}{#3}
+ \makedispenv{#2}{#3}
+}
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
% @smallexample and @smalllisp: use smaller fonts.
% Originally contributed by Pavel@xerox.
-\def\smalllisp{\begingroup
- \def\Esmalllisp{\nonfillfinish\endgroup}%
- \def\Esmallexample{\nonfillfinish\endgroup}%
- \smallexamplefonts
- \lisp
+%
+\maketwodispenvs {lisp}{example}{%
+ \nonfillstart
+ \tt
+ \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+ \gobble % eat return
}
-\let\smallexample = \smalllisp
-
-% @display: same as @lisp except keep current font.
+% @display/@smalldisplay: same as @lisp except keep current font.
%
-\def\display{\begingroup
+\makedispenv {display}{%
\nonfillstart
- \let\Edisplay = \nonfillfinish
\gobble
}
-%
-% @smalldisplay: @display plus smaller fonts.
-%
-\def\smalldisplay{\begingroup
- \def\Esmalldisplay{\nonfillfinish\endgroup}%
- \smallexamplefonts \rm
- \display
-}
-% @format: same as @display except don't narrow margins.
+% @format/@smallformat: same as @display except don't narrow margins.
%
-\def\format{\begingroup
- \let\nonarrowing = t
+\makedispenv{format}{%
+ \let\nonarrowing = t%
\nonfillstart
- \let\Eformat = \nonfillfinish
\gobble
}
-%
-% @smallformat: @format plus smaller fonts.
-%
-\def\smallformat{\begingroup
- \def\Esmallformat{\nonfillfinish\endgroup}%
- \smallexamplefonts \rm
- \format
-}
-% @flushleft (same as @format).
-%
-\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
+\envdef\flushleft{%
+ \let\nonarrowing = t%
+ \nonfillstart
+ \gobble
+}
+\let\Eflushleft = \afterenvbreak
% @flushright.
%
-\def\flushright{\begingroup
- \let\nonarrowing = t
+\envdef\flushright{%
+ \let\nonarrowing = t%
\nonfillstart
- \let\Eflushright = \nonfillfinish
\advance\leftskip by 0pt plus 1fill
\gobble
}
+\let\Eflushright = \afterenvbreak
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins.
+% and narrows the margins. We keep \parskip nonzero in general, since
+% we're doing normal filling. So, when using \aboveenvbreak and
+% \afterenvbreak, temporarily make \parskip 0.
%
-\def\quotation{%
- \begingroup\inENV %This group ends at the end of the @quotation body
+\envdef\quotation{%
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
\parindent=0pt
- % We have retained a nonzero parskip for the environment, since we're
- % doing normal filling. So to avoid extra space below the environment...
- \def\Equotation{\parskip = 0pt \nonfillfinish}%
%
% @cartouche defines \nonarrowing to inhibit narrowing at next level down.
\ifx\nonarrowing\relax
@@ -4664,11 +4850,32 @@ width0pt\relax} \fi
\exdentamount = \lispnarrowing
\let\nonarrowing = \relax
\fi
+ \parsearg\quotationlabel
+}
+
+% We have retained a nonzero parskip for the environment, since we're
+% doing normal filling.
+%
+\def\Equotation{%
+ \par
+ \ifx\quotationauthor\undefined\else
+ % indent a bit.
+ \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
+ \fi
+ {\parskip=0pt \afterenvbreak}%
+}
+
+% If we're given an argument, typeset it in bold with a colon after.
+\def\quotationlabel#1{%
+ \def\temp{#1}%
+ \ifx\temp\empty \else
+ {\bf #1: }%
+ \fi
}
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter,
+% If we want to allow any <char> as delimiter,
% we need the curly braces so that makeinfo sees the @verb command, eg:
% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
%
@@ -4685,7 +4892,7 @@ width0pt\relax} \fi
%
% [Knuth] p. 380
\def\uncatcodespecials{%
- \def\do##1{\catcode`##1=12}\dospecials}
+ \def\do##1{\catcode`##1=\other}\dospecials}
%
% [Knuth] pp. 380,381,391
% Disable Spanish ligatures ?` and !` of \tt font
@@ -4733,6 +4940,8 @@ width0pt\relax} \fi
}
\endgroup
\def\setupverbatim{%
+ \nonfillstart
+ \advance\leftskip by -\defbodyindent
% Easiest (and conventionally used) font for verbatim
\tt
\def\par{\leavevmode\egroup\box0\endgraf}%
@@ -4746,15 +4955,15 @@ width0pt\relax} \fi
\everypar{\starttabbox}%
}
-% Do the @verb magic: verbatim text is quoted by unique
-% delimiter characters. Before first delimiter expect a
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters. Before first delimiter expect a
% right brace, after last delimiter expect closing brace:
%
% \def\doverb'{'<char>#1<char>'}'{#1}
%
% [Knuth] p. 382; only eat outer {}
\begingroup
- \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
+ \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
\endgroup
%
@@ -4766,18 +4975,11 @@ width0pt\relax} \fi
%
% \def\doverbatim#1@end verbatim{#1}
%
-% For Texinfo it's a lot easier than for LaTeX,
+% For Texinfo it's a lot easier than for LaTeX,
% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
% we need not redefine '\', '{' and '}'.
%
% Inspired by LaTeX's verbatim command set [latex.ltx]
-%% Include LaTeX hack for completeness -- never know
-%% \begingroup
-%% \catcode`|=0 \catcode`[=1
-%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
-%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
-%% #1|endgroup|def|Everbatim[]|end[verbatim]]
-%% |endgroup
%
\begingroup
\catcode`\ =\active
@@ -4785,62 +4987,41 @@ width0pt\relax} \fi
% ignore everything up to the first ^^M, that's the newline at the end
% of the @verbatim input line itself. Otherwise we get an extra blank
% line in the output.
- \gdef\doverbatim#1^^M#2@end verbatim{#2\end{verbatim}}%
+ \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+ % We really want {...\end verbatim} in the body of the macro, but
+ % without the active space; thus we have to use \xdef and \gobble.
\endgroup
%
-\def\verbatim{%
- \def\Everbatim{\nonfillfinish\endgroup}%
- \begingroup
- \nonfillstart
- \advance\leftskip by -\defbodyindent
- \begingroup\setupverbatim\doverbatim
+\envdef\verbatim{%
+ \setupverbatim\doverbatim
}
+\let\Everbatim = \afterenvbreak
+
% @verbatiminclude FILE - insert text of file in verbatim environment.
%
-% Allow normal characters that we make active in the argument (a file name).
-\def\verbatiminclude{%
- \begingroup
- \catcode`\\=\other
- \catcode`~=\other
- \catcode`^=\other
- \catcode`_=\other
- \catcode`|=\other
- \catcode`<=\other
- \catcode`>=\other
- \catcode`+=\other
- \parsearg\doverbatiminclude
-}
-\def\setupverbatiminclude{%
- \begingroup
- \nonfillstart
- \advance\leftskip by -\defbodyindent
- \begingroup\setupverbatim
-}
+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
%
\def\doverbatiminclude#1{%
- % Restore active chars for included file.
- \endgroup
- \begingroup
- \let\value=\expandablevalue
- \def\thisfile{#1}%
- \expandafter\expandafter\setupverbatiminclude\input\thisfile
- \endgroup
- \nonfillfinish
- \endgroup
+ {%
+ \makevalueexpandable
+ \setupverbatim
+ \input #1
+ \afterenvbreak
+ }%
}
% @copying ... @end copying.
% Save the text away for @insertcopying later. Many commands won't be
% allowed in this context, but that's ok.
-%
+%
% We save the uninterpreted tokens, rather than creating a box.
% Saving the text in a box would be much easier, but then all the
% typesetting commands (@smallbook, font changes, etc.) have to be done
% beforehand -- and a) we want @copying to be done first in the source
% file; b) letting users define the frontmatter in as flexible order as
% possible is very desirable.
-%
+%
\def\copying{\begingroup
% Define a command to swallow text until we reach `@end copying'.
% \ is the escape char in this texinfo.tex file, so it is the
@@ -4863,15 +5044,15 @@ width0pt\relax} \fi
% end-of-line to be a \par, as would happen with the normal active
% definition of ^^M. On the third hand, two ^^M's in a row should still
% generate a \par.
-%
+%
% Our approach is to make ^^M insert a space and a penalty1 normally;
% then it can also check if \lastpenalty=1. If it does, then manually
% do \par.
-%
+%
% This messes up the normal definitions of @c[omment], so we redefine
% it. Similarly for @ignore. (These commands are used in the gcc
% manual for man page generation.)
-%
+%
% Seems pretty fragile, most line-oriented commands will presumably
% fail, but for the limited use of getting the copying text (which
% should be quite simple) inserted, we can hope it's ok.
@@ -4902,581 +5083,336 @@ width0pt\relax} \fi
\message{defuns,}
% @defun etc.
-% Allow user to change definition object font (\df) internally
-\def\setdeffont#1 {\csname DEF#1\endcsname}
-
\newskip\defbodyindent \defbodyindent=.4in
\newskip\defargsindent \defargsindent=50pt
\newskip\deflastargmargin \deflastargmargin=18pt
-\newcount\parencount
-
-% We want ()&[] to print specially on the defun line.
-%
-\def\activeparens{%
- \catcode`\(=\active \catcode`\)=\active
- \catcode`\&=\active
- \catcode`\[=\active \catcode`\]=\active
-}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-
-% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-\global\let(=\lparen \global\let)=\rparen
-\global\let[=\lbrack \global\let]=\rbrack
-
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-% This is used to turn on special parens
-% but make & act ordinary (given that it's active).
-\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested
- \global\advance\parencount by 1
-}
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
- % also in that case restore the outer-level definition of (.
- \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
- \global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text. This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 }
-\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 }
-\let\ampnr = \&
-\def\lbrb{{\bf\char`\[}}
-\def\rbrb{{\bf\char`\]}}
-
-% Active &'s sneak into the index arguments, so make sure it's defined.
-{
- \catcode`& = \active
- \global\let& = \ampnr
-}
-
-% \defname, which formats the name of the @def (not the args).
-% #1 is the function name.
-% #2 is the type of definition, such as "Function".
-%
-\def\defname#1#2{%
- % How we'll output the type name. Putting it in brackets helps
- % distinguish it from the body text that may end up on the next line
- % just below it.
- \ifempty{#2}%
- \def\defnametype{}%
+% Start the processing of @deffn:
+\def\startdefun{%
+ \ifnum\lastpenalty<10000
+ \medbreak
\else
- \def\defnametype{[\rm #2]}%
+ % If there are two @def commands in a row, we'll have a \nobreak,
+ % which is there to keep the function description together with its
+ % header. But if there's nothing but headers, we need to allow a
+ % break somewhere. Check for penalty 10002 (inserted by
+ % \defargscommonending) instead of 10000, since the sectioning
+ % commands insert a \penalty10000, and we don't want to allow a break
+ % between a section heading and a defun.
+ \ifnum\lastpenalty=10002 \penalty2000 \fi
+ %
+ % Similarly, after a section heading, do not allow a break.
+ % But do insert the glue.
+ \medskip % preceded by discardable penalty, so not a breakpoint
\fi
%
- % Get the values of \leftskip and \rightskip as they were outside the @def...
- \dimen2=\leftskip
- \advance\dimen2 by -\defbodyindent
- %
- % Figure out values for the paragraph shape.
- \setbox0=\hbox{\hskip \deflastargmargin{\defnametype}}%
- \dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
- \dimen1=\hsize \advance \dimen1 by -\defargsindent % size for continuations
- \parshape 2 0in \dimen0 \defargsindent \dimen1
- %
- % Output arg 2 ("Function" or some such) but stuck inside a box of
- % width 0 so it does not interfere with linebreaking.
- \noindent
- %
- {% Adjust \hsize to exclude the ambient margins,
- % so that \rightline will obey them.
- \advance \hsize by -\dimen2
- \dimen3 = 0pt % was -1.25pc
- \rlap{\rightline{\defnametype\kern\dimen3}}%
- }%
- %
- % Allow all lines to be underfull without complaint:
- \tolerance=10000 \hbadness=10000
- \advance\leftskip by -\defbodyindent
- \exdentamount=\defbodyindent
- {\df #1}\enskip % output function name
- % \defunargs will be called next to output the arguments, if any.
-}
-
-% Common pieces to start any @def...
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence (which our caller defines).
-% #3 is the control sequence to process the header, such as \defunheader.
-%
-\def\parsebodycommon#1#2#3{%
- \begingroup\inENV
- % If there are two @def commands in a row, we'll have a \nobreak,
- % which is there to keep the function description together with its
- % header. But if there's nothing but headers, we want to allow a
- % break after all. Check for penalty 10002 (inserted by
- % \defargscommonending) instead of 10000, since the sectioning
- % commands insert a \penalty10000, and we don't want to allow a break
- % between a section heading and a defun.
- \ifnum\lastpenalty=10002 \penalty0 \fi
- \medbreak
- %
- % Define the \E... end token that this defining construct specifies
- % so that it will exit this group.
- \def#1{\endgraf\endgroup\medbreak}%
- %
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
}
-% Common part of the \...x definitions.
-%
-\def\defxbodycommon{%
- % As with \parsebodycommon above, allow line break if we have multiple
- % x headers in a row. It's not a great place, though.
- \ifnum\lastpenalty=10000 \penalty1000 \fi
+\def\dodefunx#1{%
+ % First, check whether we are in the right environment:
+ \checkenv#1%
%
- \begingroup\obeylines
+ % As above, allow line break if we have multiple x headers in a row.
+ % It's not a great place, though.
+ \ifnum\lastpenalty=10002 \penalty3000 \fi
+ %
+ % And now, it's time to reuse the body of the original defun:
+ \expandafter\gobbledefun#1%
}
+\def\gobbledefun#1\startdefun{}
-% Process body of @defun, @deffn, @defmac, etc.
+% \printdefunline \deffnheader{text}
%
-\def\defparsebody#1#2#3{%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2{\defxbodycommon \activeparens \spacesplit#3}%
- \catcode\equalChar=\active
- \begingroup\obeylines\activeparens
- \spacesplit#3%
+\def\printdefunline#1#2{%
+ \begingroup
+ % call \deffnheader:
+ #1#2 \endheader
+ % common ending:
+ \interlinepenalty = 10000
+ \advance\rightskip by 0pt plus 1fil
+ \endgraf
+ \nobreak\vskip -\parskip
+ \penalty 10002 % signal to \startdefun and \dodefunx
+ % Some of the @defun-type tags do not enable magic parentheses,
+ % rendering the following check redundant. But we don't optimize.
+ \checkparencounts
+ \endgroup
}
-% #1, #2, #3 are the common arguments (see \parsebodycommon above).
-% #4, delimited by the space, is the class name.
+\def\Edefun{\endgraf\medbreak}
+
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remainnig is to define \deffnheader.
%
-\def\defmethparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \activeparens \spacesplit{#3{##1}}}%
- \begingroup\obeylines\activeparens
- % The \empty here prevents misinterpretation of a construct such as
- % @deffn {whatever} {Enharmonic comma}
- % See comments at \deftpparsebody, although in our case we don't have
- % to remove the \empty afterwards, since it is empty.
- \spacesplit{#3{#4}}\empty
+\def\makedefun#1{%
+ \expandafter\let\csname E#1\endcsname = \Edefun
+ \edef\temp{\noexpand\domakedefun
+ \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
+ \temp
}
-% Used for @deftypemethod and @deftypeivar.
-% #1, #2, #3 are the common arguments (see \defparsebody).
-% #4, delimited by a space, is the class name.
-% #5 is the method's return type.
+% \domakedefun \deffn \deffnx \deffnheader
+%
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
%
-\def\deftypemethparsebody#1#2#3#4 #5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\defxbodycommon \activeparens \spacesplit{#3{##1}{##2}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#4}{#5}}%
+\def\domakedefun#1#2#3{%
+ \envdef#1{%
+ \startdefun
+ \parseargusing\activeparens{\printdefunline#3}%
+ }%
+ \def#2{\dodefunx#1}%
+ \def#3%
}
-% Used for @deftypeop. The change from \deftypemethparsebody is an
-% extra argument at the beginning which is the `category', instead of it
-% being the hardwired string `Method' or `Instance Variable'. We have
-% to account for this both in the \...x definition and in parsing the
-% input at hand. Thus also need a control sequence (passed as #5) for
-% the \E... definition to assign the category name to.
-%
-\def\deftypeopparsebody#1#2#3#4#5 #6 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 ##3 {\def#4{##1}%
- \defxbodycommon \activeparens \spacesplit{#3{##2}{##3}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#5}{#6}}%
-}
+%%% Untyped functions:
-% For @defop.
-\def\defopparsebody #1#2#3#4#5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\def#4{##1}%
- \defxbodycommon \activeparens \spacesplit{#3{##2}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#5}}%
-}
+% @deffn category name args
+\makedefun{deffn}{\deffngeneral{}}
-% These parsing functions are similar to the preceding ones
-% except that they do not make parens into active characters.
-% These are used for "variables" since they have no arguments.
-%
-\def\defvarparsebody #1#2#3{%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2{\defxbodycommon \spacesplit#3}%
- \catcode\equalChar=\active
- \begingroup\obeylines
- \spacesplit#3%
-}
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-% @defopvar.
-\def\defopvarparsebody #1#2#3#4#5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\def#4{##1}%
- \defxbodycommon \spacesplit{#3{##2}}}%
- \begingroup\obeylines
- \spacesplit{#3{#5}}%
-}
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-\def\defvrparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
- \begingroup\obeylines
- \spacesplit{#3{#4}}%
-}
-
-% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the
-% type is just `struct', because we lose the braces in `{struct
-% termios}' when \spacesplit reads its undelimited argument. Sigh.
-% \let\deftpparsebody=\defvrparsebody
-%
-% So, to get around this, we put \empty in with the type name. That
-% way, TeX won't find exactly `{...}' as an undelimited argument, and
-% won't strip off the braces.
+% \deffngeneral {subind}category name args
%
-\def\deftpparsebody #1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
- \begingroup\obeylines
- \spacesplit{\parsetpheaderline{#3{#4}}}\empty
+\def\deffngeneral#1#2 #3 #4\endheader{%
+ % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
+ \dosubind{fn}{\code{#3}}{#1}%
+ \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-% Fine, but then we have to eventually remove the \empty *and* the
-% braces (if any). That's what this does.
-%
-\def\removeemptybraces\empty#1\relax{#1}
+%%% Typed functions:
-% After \spacesplit has done its work, this is called -- #1 is the final
-% thing to call, #2 the type name (which starts with \empty), and #3
-% (which might be empty) the arguments.
-%
-\def\parsetpheaderline#1#2#3{%
- #1{\removeemptybraces#2\relax}{#3}%
-}%
+% @deftypefn category type name args
+\makedefun{deftypefn}{\deftypefngeneral{}}
-% Split up #2 (the rest of the input line) at the first space token.
-% call #1 with two arguments:
-% the first is all of #2 before the space token,
-% the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-%
-{\obeylines %
- \gdef\spacesplit#1#2^^M{\endgroup\spacesplitx{#1}#2 \relax\spacesplitx}%
- \long\gdef\spacesplitx#1#2 #3#4\spacesplitx{%
- \ifx\relax #3%
- #1{#2}{}%
- \else %
- #1{#2}{#3#4}%
- \fi}%
-}
+% @deftypeop category class type name args
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-% Define @defun.
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-% This is called to end the arguments processing for all the @def... commands.
+% \deftypefngeneral {subind}category type name args
%
-\def\defargscommonending{%
- \interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil
- \endgraf
- \nobreak\vskip -\parskip
- \penalty 10002 % signal to \parsebodycommon.
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{fn}{\code{#4}}{#1}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% This expands the args and terminates the paragraph they comprise.
-%
-\def\defunargs#1{\functionparens \sl
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Set the font temporarily and use \font in case \setfont made \tensl a macro.
-{\tensl\hyphenchar\font=0}%
-#1%
-{\tensl\hyphenchar\font=45}%
-\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
- \defargscommonending
-}
+%%% Typed variables:
-\def\deftypefunargs #1{%
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Use \boldbraxnoamp, not \functionparens, so that & is not special.
-\boldbraxnoamp
-\tclose{#1}% avoid \code because of side effects on active chars
- \defargscommonending
-}
+% @deftypevr category type var args
+\makedefun{deftypevr}{\deftypecvgeneral{}}
-% Do complete processing of one @defun or @defunx line already parsed.
+% @deftypecv category class type var args
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-% @deffn Command forward-char nchars
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{vr}{\code{#4}}{#1}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% @defun == @deffn Function
+%%% Untyped variables:
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
+% @defvr category var args
+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDeffunc}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefun int foobar (int @var{foo}, float @var{bar})
+% @defcv category class var args
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-% #1 is the data type. #2 is the name and args.
-\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
-% #1 is the data type, #2 the name, #3 the args.
-\def\deftypefunheaderx #1#2 #3\relax{%
-\doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}%
-\deftypefunargs {#3}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+%%% Type:
+% @deftp category name args
+\makedefun{deftp}#1 #2 #3\endheader{%
+ \doind{tp}{\code{#2}}%
+ \defname{#1}{}{#2}\defunargs{#3\unskip}%
}
-% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
-
-% \defheaderxcond#1\relax$.$
-% puts #1 in @code, followed by a space, but does nothing if #1 is null.
-\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi}
+% Remaining @defun-like shortcuts:
+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
-% #1 is the classification. #2 is the data type. #3 is the name and args.
-\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
-% #1 is the classification, #2 the data type, #3 the name, #4 the args.
-\def\deftypefnheaderx #1#2#3 #4\relax{%
-\doind {fn}{\code{#3}}% Make entry in function index
-\begingroup
-\normalparens % notably, turn off `&' magic, which prevents
-% at least some C++ text from working
-\defname {\defheaderxcond#2\relax$.$#3}{#1}%
-\deftypefunargs {#4}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+% \defname, which formats the name of the @def (not the args).
+% #1 is the category, such as "Function".
+% #2 is the return type, if any.
+% #3 is the function name.
+%
+% We are followed by (but not passed) the arguments, if any.
+%
+\def\defname#1#2#3{%
+ % Get the values of \leftskip and \rightskip as they were outside the @def...
+ \advance\leftskip by -\defbodyindent
+ %
+ % How we'll format the type name. Putting it in brackets helps
+ % distinguish it from the body text that may end up on the next line
+ % just below it.
+ \def\temp{#1}%
+ \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
+ %
+ % Figure out line sizes for the paragraph shape.
+ % The first line needs space for \box0; but if \rightskip is nonzero,
+ % we need only space for the part of \box0 which exceeds it:
+ \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
+ % The continuations:
+ \dimen2=\hsize \advance\dimen2 by -\defargsindent
+ % (plain.tex says that \dimen1 should be used only as global.)
+ \parshape 2 0in \dimen0 \defargsindent \dimen2
+ %
+ % Put the type name to the right margin.
+ \noindent
+ \hbox to 0pt{%
+ \hfil\box0 \kern-\hsize
+ % \hsize has to be shortened this way:
+ \kern\leftskip
+ % Intentionally do not respect \rightskip, since we need the space.
+ }%
+ %
+ % Allow all lines to be underfull without complaint:
+ \tolerance=10000 \hbadness=10000
+ \exdentamount=\defbodyindent
+ {%
+ % defun fonts. We use typewriter by default (used to be bold) because:
+ % . we're printing identifiers, they should be in tt in principle.
+ % . in languages with many accents, such as Czech or French, it's
+ % common to leave accents off identifiers. The result looks ok in
+ % tt, but exceedingly strange in rm.
+ % . we don't want -- and --- to be treated as ligatures.
+ % . this still does not fix the ?` and !` ligatures, but so far no
+ % one has made identifiers using them :).
+ \df \tt
+ \def\temp{#2}% return value type
+ \ifx\temp\empty\else \tclose{\temp} \fi
+ #3% output function name
+ }%
+ {\rm\enskip}% hskip 0.5 em of \tenrm
+ %
+ \boldbrax
+ % arguments will be output next, if any.
}
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name. This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable. Prevent hyphenation at `-' chars.
+%
+\def\defunargs#1{%
+ % use sl by default (not ttsl),
+ % tt for the names.
+ \df \sl \hyphenchar\font=0
+ %
+ % On the other hand, if an argument has two dashes (for instance), we
+ % want a way to get ttsl. Let's try @var for that.
+ \let\var=\ttslanted
+ #1%
+ \sl\hyphenchar\font=45
+}
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefmac}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+% We want ()&[] to print specially on the defun line.
+%
+\def\activeparens{%
+ \catcode`\(=\active \catcode`\)=\active
+ \catcode`\[=\active \catcode`\]=\active
+ \catcode`\&=\active
}
-% @defspec == @deffn Special Form
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
+% Be sure that we always have a definition for `(', etc. For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+{
+ \activeparens
+ \global\let(=\lparen \global\let)=\rparen
+ \global\let[=\lbrack \global\let]=\rbrack
+ \global\let& = \&
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefspec}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+ \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+ \gdef\magicamp{\let&=\amprm}
}
-% @defop CATEGORY CLASS OPERATION ARG...
-%
-\def\defop #1 {\def\defoptype{#1}%
-\defopparsebody\Edefop\defopx\defopheader\defoptype}
-%
-\def\defopheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% function index entry
- \begingroup
- \defname{#2}{\defoptype\ \putwordon\ #1}%
- \defunargs{#3}%
- \endgroup
-}
+\newcount\parencount
-% @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
-%
-\def\deftypeop #1 {\def\deftypeopcategory{#1}%
- \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader
- \deftypeopcategory}
-%
-% #1 is the class name, #2 the data type, #3 the operation name, #4 the args.
-\def\deftypeopheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}
- {\deftypeopcategory\ \putwordon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+% If we encounter &foo, then turn on ()-hacking afterwards
+\newif\ifampseen
+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+
+\def\parenfont{%
+ \ifampseen
+ % At the first level, print parens in roman,
+ % otherwise use the default font.
+ \ifnum \parencount=1 \rm \fi
+ \else
+ % The \sf parens (in \boldbrax) actually are a little bolder than
+ % the contained text. This is especially needed for [ and ] .
+ \sf
+ \fi
}
-
-% @deftypemethod CLASS TYPE METHOD ARG...
-%
-\def\deftypemethod{%
- \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
-%
-% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
-\def\deftypemethodheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+\def\infirstlevel#1{%
+ \ifampseen
+ \ifnum\parencount=1
+ #1%
+ \fi
+ \fi
}
+\def\bfafterword#1 {#1 \bf}
-% @deftypeivar CLASS TYPE VARNAME
-%
-\def\deftypeivar{%
- \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader}
-%
-% #1 is the class name, #2 the data type, #3 the variable name.
-\def\deftypeivarheader#1#2#3{%
- \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}
- {\putwordInstanceVariableof\ \code{#1}}%
- \defvarargs{#3}%
- \endgroup
+\def\opnr{%
+ \global\advance\parencount by 1
+ {\parenfont(}%
+ \infirstlevel \bfafterword
}
-
-% @defmethod == @defop Method
-%
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-%
-% #1 is the class name, #2 the method name, #3 the args.
-\def\defmethodheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{#2}{\putwordMethodon\ \code{#1}}%
- \defunargs{#3}%
- \endgroup
+\def\clnr{%
+ {\parenfont)}%
+ \infirstlevel \sl
+ \global\advance\parencount by -1
}
-% @defcv {Class Option} foo-class foo-flag
-
-\def\defcv #1 {\def\defcvtype{#1}%
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
-
-\def\defcvarheader #1#2#3{%
- \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% variable index entry
- \begingroup
- \defname{#2}{\defcvtype\ \putwordof\ #1}%
- \defvarargs{#3}%
- \endgroup
+\newcount\brackcount
+\def\lbrb{%
+ \global\advance\brackcount by 1
+ {\bf[}%
}
-
-% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
-%
-\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
-%
-\def\defivarheader#1#2#3{%
- \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% entry in var index
- \begingroup
- \defname{#2}{\putwordInstanceVariableof\ #1}%
- \defvarargs{#3}%
- \endgroup
+\def\rbrb{%
+ {\bf]}%
+ \global\advance\brackcount by -1
}
-% @defvar
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
- \defargscommonending
+\def\checkparencounts{%
+ \ifnum\parencount=0 \else \badparencount \fi
+ \ifnum\brackcount=0 \else \badbrackcount \fi
}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefvar}%
-\defvarargs {#2}\endgroup %
+\def\badparencount{%
+ \errmessage{Unbalanced parentheses in @def}%
+ \global\parencount=0
}
-
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefopt}%
-\defvarargs {#2}\endgroup %
+\def\badbrackcount{%
+ \errmessage{Unbalanced square braces in @def}%
+ \global\brackcount=0
}
-% @deftypevar int foobar
-
-\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
-
-% #1 is the data type. #2 is the name, perhaps followed by text that
-% is actually part of the data type, which should not be put into the index.
-\def\deftypevarheader #1#2{%
-\dovarind#2 \relax% Make entry in variables index
-\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}%
- \defargscommonending
-\endgroup}
-\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
-
-% @deftypevr {Global Flag} int enable
-
-\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
-
-\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
-\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1}
- \defargscommonending
-\endgroup}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% These definitions are used if you use @defunx (etc.)
-% anywhere other than immediately after a @defun or @defunx.
-%
-\def\defcvx#1 {\errmessage{@defcvx in invalid context}}
-\def\deffnx#1 {\errmessage{@deffnx in invalid context}}
-\def\defivarx#1 {\errmessage{@defivarx in invalid context}}
-\def\defmacx#1 {\errmessage{@defmacx in invalid context}}
-\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-\def\defopx#1 {\errmessage{@defopx in invalid context}}
-\def\defspecx#1 {\errmessage{@defspecx in invalid context}}
-\def\deftpx#1 {\errmessage{@deftpx in invalid context}}
-\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}}
-\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
-\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
-\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
-\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}}
-\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
-\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
-\def\defunx#1 {\errmessage{@defunx in invalid context}}
-\def\defvarx#1 {\errmessage{@defvarx in invalid context}}
-\def\defvrx#1 {\errmessage{@defvrx in invalid context}}
-
\message{macros,}
% @macro.
@@ -5484,28 +5420,33 @@ width0pt\relax} \fi
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scanmacro#1{%
- \begingroup \newlinechar`\^^M
- % Undo catcode changes of \startcontents and \doprintindex
- \catcode`\@=0 \catcode`\\=\other \escapechar=`\@
- % Append \endinput to make sure that TeX does not see the ending newline.
- \toks0={#1\endinput}%
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{\the\toks0}%
- \immediate\closeout\macscribble
- \let\xeatspaces\eatspaces
- \input \jobname.tmp
- \endgroup
-}
-\else
-\def\scanmacro#1{%
-\begingroup \newlinechar`\^^M
-% Undo catcode changes of \startcontents and \doprintindex
-\catcode`\@=0 \catcode`\\=\other \escapechar=`\@
-\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup}
+ \newwrite\macscribble
+ \def\scantokens#1{%
+ \toks0={#1\endinput}%
+ \immediate\openout\macscribble=\jobname.tmp
+ \immediate\write\macscribble{\the\toks0}%
+ \immediate\closeout\macscribble
+ \input \jobname.tmp
+ }
\fi
+\def\scanmacro#1{%
+ \begingroup
+ \newlinechar`\^^M
+ \let\xeatspaces\eatspaces
+ % Undo catcode changes of \startcontents and \doprintindex
+ \catcode`\@=0 \catcode`\\=\other \escapechar=`\@
+ % ... and \example
+ \spaceisspace
+ %
+ % Append \endinput to make sure that TeX does not see the ending newline.
+ %
+ % I've verified that it is necessary both for e-TeX and for ordinary TeX
+ % --kasal, 29nov03
+ \scantokens{#1\endinput}%
+ \endgroup
+}
+
\newcount\paramno % Count of parameters
\newtoks\macname % Macro name
\newif\ifrecursive % Is it recursive?
@@ -5513,7 +5454,7 @@ width0pt\relax} \fi
% \do\macro1\do\macro2...
% Utility routines.
-% Thisdoes \let #1 = #2, except with \csnames.
+% This does \let #1 = #2, except with \csnames.
\def\cslet#1#2{%
\expandafter\expandafter
\expandafter\let
@@ -5610,8 +5551,7 @@ width0pt\relax} \fi
\else \expandafter\parsemacbody
\fi}
-\def\unmacro{\parsearg\dounmacro}
-\def\dounmacro#1{%
+\parseargdef\unmacro{%
\if1\csname ismacro.#1\endcsname
\global\cslet{#1}{macsave.#1}%
\global\expandafter\let \csname ismacro.#1\endcsname=0%
@@ -5628,7 +5568,7 @@ width0pt\relax} \fi
% Called by \do from \dounmacro on each macro. The idea is to omit any
% macro definitions that have been changed to \relax.
-%
+%
\def\unmacrodo#1{%
\ifx#1\relax
% remove this
@@ -5761,16 +5701,18 @@ width0pt\relax} \fi
% @alias.
% We need some trickery to remove the optional spaces around the equal
% sign. Just make them active and then expand them all to nothing.
-\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx}
+\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
-\def\aliasyyy #1=#2\relax{\ignoreactivespaces
-\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=%
- \expandafter\noexpand\csname#2\endcsname}%
-\expandafter\endgroup\next}
+\def\aliasyyy #1=#2\relax{%
+ {%
+ \expandafter\let\obeyedspace=\empty
+ \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
+ }%
+ \next
+}
\message{cross references,}
-% @xref etc.
\newwrite\auxfile
@@ -5782,64 +5724,61 @@ width0pt\relax} \fi
\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
-% @node's job is to define \lastnode.
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+% @node's only job in TeX is to define \lastnode, which is used in
+% cross-references.
+\parseargdef\node{\checkenv{}\nodexxx #1,\finishnodeparse}
+\def\nodexxx#1,#2\finishnodeparse{\gdef\lastnode{#1}}
\let\nwnode=\node
-\let\lastnode=\relax
-
-% The sectioning commands (@chapter, etc.) call these.
-\def\donoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Ysectionnumberandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\unnumbnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\appendixnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Yappendixletterandtype}%
- \global\let\lastnode=\relax
+\let\lastnode=\empty
+
+% Write a cross-reference definition for the current node. #1 is the
+% type (Ynumbered, Yappendix, Ynothing).
+%
+\def\donoderef#1{%
+ \ifx\lastnode\empty\else
+ \setref{\lastnode}{#1}%
+ \global\let\lastnode=\empty
\fi
}
-
% @anchor{NAME} -- define xref target at arbitrary point.
%
\newcount\savesfregister
-\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
-\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
-\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+%
+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
-% anchor), namely NAME-title (the corresponding @chapter/etc. name),
-% NAME-pg (the page number), and NAME-snt (section number and type).
-% Called from \foonoderef.
+% anchor), which consists of three parts:
+% 1) NAME-title - the current sectioning name taken from \thissection,
+% or the anchor name.
+% 2) NAME-snt - section number and type, passed as the SNT arg, or
+% empty for anchors.
+% 3) NAME-pg - the page number.
%
-% We have to set \indexdummies so commands such as @code in a section
-% title aren't expanded. It would be nicer not to expand the titles in
-% the first place, but there's so many layers that that is hard to do.
-%
-% Likewise, use \turnoffactive so that punctuation chars such as underscore
-% and backslash work in node names.
+% This is called from \donoderef, \anchor, and \dofloat. In the case of
+% floats, there is an additional part, which is not written here:
+% 4) NAME-lof - the text as it should appear in a @listoffloats.
%
-\def\setref#1#2{{%
- \atdummies
+\def\setref#1#2{%
\pdfmkdest{#1}%
- %
- \turnoffactive
- \dosetq{#1-title}{Ytitle}%
- \dosetq{#1-pg}{Ypagenumber}%
- \dosetq{#1-snt}{#2}%
-}}
+ \iflinks
+ {%
+ \atdummies % preserve commands, but don't expand them
+ \turnoffactive
+ \otherbackslash
+ \edef\writexrdef##1##2{%
+ \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+ ##1}{##2}}% these are parameters of \writexrdef
+ }%
+ \toks0 = \expandafter{\thissection}%
+ \immediate \writexrdef{title}{\the\toks0 }%
+ \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+ \writexrdef{pg}{\folio}% will be written later, during \shipout
+ }%
+ \fi
+}
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
@@ -5852,38 +5791,33 @@ width0pt\relax} \fi
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
\def\printedmanual{\ignorespaces #5}%
- \def\printednodename{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual}%
- \setbox0=\hbox{\printednodename}%
+ \def\printedrefname{\ignorespaces #3}%
+ \setbox1=\hbox{\printedmanual\unskip}%
+ \setbox0=\hbox{\printedrefname\unskip}%
\ifdim \wd0 = 0pt
% No printed node name was explicitly given.
\expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
% Use the node name inside the square brackets.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\else
% Use the actual chapter/section title appear inside
% the square brackets. Use the real section title if we have it.
\ifdim \wd1 > 0pt
% It is in another manual, so we don't have it.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\else
\ifhavexrefs
% We know the real title if we have the xref values.
- \def\printednodename{\refx{#1-title}{}}%
+ \def\printedrefname{\refx{#1-title}{}}%
\else
% Otherwise just copy the Info node name.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\fi%
\fi
\fi
\fi
%
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
+ % Make link in pdf output.
\ifpdf
\leavevmode
\getfilename{#4}%
@@ -5893,53 +5827,86 @@ width0pt\relax} \fi
goto file{\the\filename.pdf} name{#1}%
\else
\startlink attr{/Border [0 0 0]}%
- goto name{#1}%
+ goto name{\pdfmkpgn{#1}}%
\fi
}%
\linkcolor
\fi
%
- \ifdim \wd1 > 0pt
- \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}%
+ % Float references are printed completely differently: "Figure 1.2"
+ % instead of "[somenode], p.3". We distinguish them by the
+ % LABEL-title being set to a magic string.
+ {%
+ % Have to otherify everything special to allow the \csname to
+ % include an _ in the xref name, etc.
+ \indexnofonts
+ \turnoffactive
+ \otherbackslash
+ \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+ \csname XR#1-title\endcsname
+ }%
+ \iffloat\Xthisreftitle
+ % If the user specified the print name (third arg) to the ref,
+ % print it instead of our usual "Figure 1.2".
+ \ifdim\wd0 = 0pt
+ \refx{#1-snt}%
+ \else
+ \printedrefname
+ \fi
+ %
+ % if the user also gave the printed manual name (fifth arg), append
+ % "in MANUALNAME".
+ \ifdim \wd1 > 0pt
+ \space \putwordin{} \cite{\printedmanual}%
+ \fi
\else
- % _ (for example) has to be the character _ for the purposes of the
- % control sequence corresponding to the node, but it has to expand
- % into the usual \leavevmode...\vrule stuff for purposes of
- % printing. So we \turnoffactive for the \refx-snt, back on for the
- % printing, back off for the \refx-pg.
- {\turnoffactive \otherbackslash
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % [mynode],
- [\printednodename],\space
- % page 3
- \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}%
+ % node/anchor (non-float) references.
+ %
+ % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+ % insert empty discretionaries after hyphens, which means that it will
+ % not find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens, this
+ % is a loss. Therefore, we give the text of the node name again, so it
+ % is as if TeX is seeing it for the first time.
+ \ifdim \wd1 > 0pt
+ \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+ \else
+ % _ (for example) has to be the character _ for the purposes of the
+ % control sequence corresponding to the node, but it has to expand
+ % into the usual \leavevmode...\vrule stuff for purposes of
+ % printing. So we \turnoffactive for the \refx-snt, back on for the
+ % printing, back off for the \refx-pg.
+ {\turnoffactive \otherbackslash
+ % Only output a following space if the -snt ref is nonempty; for
+ % @unnumbered and @anchor, it won't be.
+ \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+ \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+ }%
+ % output the `[mynode]' via a macro so it can be overridden.
+ \xrefprintnodename\printedrefname
+ %
+ % But we always want a comma and a space:
+ ,\space
+ %
+ % output the `page 3'.
+ \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}%
+ \fi
\fi
\endlink
\endgroup}
-% \dosetq is called from \setref to do the actual \write (\iflinks).
+% This macro is called from \xrefX for the `[nodename]' part of xref
+% output. It's a separate macro only so it can be changed more easily,
+% since square brackets don't work well in some documents. Particularly
+% one that Bob is working on :).
%
-\def\dosetq#1#2{%
- {\let\folio=0%
- \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
- \iflinks \next \fi
- }%
-}
-
-% \internalsetq{foo}{page} expands into
-% CHARACTERS @xrdef{foo}{...expansion of \page...}
-\def\internalsetq#1#2{@xrdef{#1}{\csname #2\endcsname}}
+\def\xrefprintnodename#1{[#1]}
-% Things to be expanded by \internalsetq.
-%
-\def\Ypagenumber{\folio}
-\def\Ytitle{\thissection}
+% Things referred to by \setref.
+%
\def\Ynothing{}
-\def\Ysectionnumberandtype{%
+\def\Yomitfromtoc{}
+\def\Ynumbered{%
\ifnum\secno=0
\putwordChapter@tie \the\chapno
\else \ifnum\subsecno=0
@@ -5950,8 +5917,7 @@ width0pt\relax} \fi
\putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
\fi\fi\fi
}
-
-\def\Yappendixletterandtype{%
+\def\Yappendix{%
\ifnum\secno=0
\putwordAppendix@tie @char\the\appendixno{}%
\else \ifnum\subsecno=0
@@ -5964,15 +5930,6 @@ width0pt\relax} \fi
\fi\fi\fi
}
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
- \let\linenumber = \empty % Pre-3.0.
-\else
- \def\linenumber{\the\inputlineno:\space}
-\fi
-
% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
% If its value is nonempty, SUFFIX is output afterward.
%
@@ -5981,7 +5938,7 @@ width0pt\relax} \fi
\indexnofonts
\otherbackslash
\expandafter\global\expandafter\let\expandafter\thisrefX
- \csname X#1\endcsname
+ \csname XR#1\endcsname
}%
\ifx\thisrefX\relax
% If not defined, say something at least.
@@ -6003,11 +5960,44 @@ width0pt\relax} \fi
#2% Output the suffix in any case.
}
-% This is the macro invoked by entries in the aux file.
+% This is the macro invoked by entries in the aux file. Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions). But if this is a float type, we have more work to do.
%
-\def\xrdef#1{\expandafter\gdef\csname X#1\endcsname}
+\def\xrdef#1#2{%
+ \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
+ %
+ % Was that xref control sequence that we just defined for a float?
+ \expandafter\iffloat\csname XR#1\endcsname
+ % it was a float, and we have the (safe) float type in \iffloattype.
+ \expandafter\let\expandafter\floatlist
+ \csname floatlist\iffloattype\endcsname
+ %
+ % Is this the first time we've seen this float type?
+ \expandafter\ifx\floatlist\relax
+ \toks0 = {\do}% yes, so just \do
+ \else
+ % had it before, so preserve previous elements in list.
+ \toks0 = \expandafter{\floatlist\do}%
+ \fi
+ %
+ % Remember this xref in the control sequence \floatlistFLOATTYPE,
+ % for later use in \listoffloats.
+ \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
+ \fi
+}
% Read the last existing aux file, if any. No error if none exists.
+%
+\def\tryauxfile{%
+ \openin 1 \jobname.aux
+ \ifeof 1 \else
+ \readauxfile
+ \global\havexrefstrue
+ \fi
+ \closein 1
+}
+
\def\readauxfile{\begingroup
\catcode`\^^@=\other
\catcode`\^^A=\other
@@ -6066,7 +6056,16 @@ width0pt\relax} \fi
\catcode`\%=\other
\catcode`+=\other % avoid \+ for paranoia even though we've turned it off
%
- % Make the characters 128-255 be printing characters
+ % This is to support \ in node names and titles, since the \
+ % characters end up in a \csname. It's easier than
+ % leaving it active and making its active definition an actual \
+ % character. What I don't understand is why it works in the *value*
+ % of the xrdef. Seems like it should be a catcode12 \, and that
+ % should not typeset properly. But it works, so I'm moving on for
+ % now. --karl, 15jan04.
+ \catcode`\\=\other
+ %
+ % Make the characters 128-255 be printing characters.
{%
\count 1=128
\def\loop{%
@@ -6076,31 +6075,17 @@ width0pt\relax} \fi
}%
}%
%
- % Turn off \ as an escape so we do not lose on
- % entries which were dumped with control sequences in their names.
- % For example, @xrdef{$\leq $-fun}{page ...} made by @defun ^^
- % Reference to such entries still does not work the way one would wish,
- % but at least they do not bomb out when the aux file is read in.
- \catcode`\\=\other
- %
- % @ is our escape character in .aux files.
+ % @ is our escape character in .aux files, and we need braces.
\catcode`\{=1
\catcode`\}=2
\catcode`\@=0
%
- \openin 1 \jobname.aux
- \ifeof 1 \else
- \closein 1
- \input \jobname.aux
- \global\havexrefstrue
- \global\warnedobstrue
- \fi
- % Open the new aux file. TeX will close it automatically at exit.
- \openout\auxfile=\jobname.aux
+ \input \jobname.aux
\endgroup}
-% Footnotes.
+\message{insertions,}
+% including footnotes.
\newcount \footnoteno
@@ -6114,19 +6099,19 @@ width0pt\relax} \fi
% @footnotestyle is meaningful for info output only.
\let\footnotestyle=\comment
-\let\ptexfootnote=\footnote
-
{\catcode `\@=11
%
% Auto-number footnotes. Otherwise like plain.
\gdef\footnote{%
+ \let\indent=\ptexindent
+ \let\noindent=\ptexnoindent
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
% In case the footnote comes at the end of a sentence, preserve the
% extra spacing after we do the footnote number.
\let\@sf\empty
- \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
%
% Remove inadvertent blank space before typesetting the footnote number.
\unskip
@@ -6137,17 +6122,12 @@ width0pt\relax} \fi
% Don't bother with the trickery in plain.tex to not require the
% footnote text as a parameter. Our footnotes don't need to be so general.
%
-% Oh yes, they do; otherwise, @ifset and anything else that uses
-% \parseargline fail inside footnotes because the tokens are fixed when
+% Oh yes, they do; otherwise, @ifset (and anything else that uses
+% \parseargline) fails inside footnotes because the tokens are fixed when
% the footnote is read. --karl, 16nov96.
%
-% The start of the footnote looks usually like this:
-\gdef\startfootins{\insert\footins\bgroup}
-%
-% ... but this macro is redefined inside @multitable.
-%
\gdef\dofootnote{%
- \startfootins
+ \insert\footins\bgroup
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
@@ -6183,40 +6163,66 @@ width0pt\relax} \fi
}
}%end \catcode `\@=11
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
+% In case a @footnote appears in a vbox, save the footnote text and create
+% the real \insert just after the vbox finished. Otherwise, the insertion
+% would be lost.
+% Similarily, if a @footnote appears inside an alignment, save the footnote
+% text to a box and make the \insert when a row of the table is finished.
+% And the same can be done for other insert classes. --kasal, 16nov03.
+
+% Replace the \insert primitive by a cheating macro.
+% Deeper inside, just make sure that the saved insertions are not spilled
+% out prematurely.
%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
+\def\startsavinginserts{%
+ \ifx \insert\ptexinsert
+ \let\insert\saveinsert
+ \else
+ \let\checkinserts\relax
+ \fi
}
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
+% This \insert replacement works for both \insert\footins{foo} and
+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
%
-\def\finalout{\overfullrule=0pt}
+\def\saveinsert#1{%
+ \edef\next{\noexpand\savetobox \makeSAVEname#1}%
+ \afterassignment\next
+ % swallow the left brace
+ \let\temp =
+}
+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
+
+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
+
+\def\placesaveins#1{%
+ \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
+ {\box#1}%
+}
+
+% eat @SAVE -- beware, all of them have catcode \other:
+{
+ \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-)
+ \gdef\gobblesave @SAVE{}
+}
+
+% initialization:
+\def\newsaveins #1{%
+ \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
+ \next
+}
+\def\newsaveinsX #1{%
+ \csname newbox\endcsname #1%
+ \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
+ \checksaveins #1}%
+}
+
+% initialize:
+\let\checkinserts\empty
+\newsaveins\footins
+\newsaveins\margin
+
% @image. We use the macros from epsf.tex to support this.
% If epsf.tex is not installed and @image is used, we complain.
@@ -6226,12 +6232,12 @@ width0pt\relax} \fi
% undone and the next image would fail.
\openin 1 = epsf.tex
\ifeof 1 \else
- \closein 1
% Do not bother showing banner with epsf.tex v2.7k (available in
% doc/epsf.tex and on ctan).
\def\epsfannounce{\toks0 = }%
\input epsf.tex
\fi
+\closein 1
%
% We will only complain once about lack of epsf.tex.
\newif\ifwarnednoepsf
@@ -6267,7 +6273,7 @@ width0pt\relax} \fi
\nobreak\bigskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
- % above and below.
+ % above and below.
\nobreak\vskip\parskip
\nobreak
\line\bgroup\hss
@@ -6287,6 +6293,249 @@ width0pt\relax} \fi
\endgroup}
+% @float FLOATTYPE,LOC ... @end float for displayed figures, tables, etc.
+% We don't actually implement floating yet, we just plop the float "here".
+% But it seemed the best name for the future.
+%
+\envparseargdef\float{\dofloat #1,,,\finish}
+
+% #1 is the optional FLOATTYPE, the text label for this float, typically
+% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
+% this float will not be numbered and cannot be referred to.
+%
+% #2 is the optional xref label. Also must be present for the float to
+% be referable.
+%
+% #3 is the optional positioning argument; for now, it is ignored. It
+% will somehow specify the positions allowed to float to (here, top, bottom).
+%
+% We keep a separate counter for each FLOATTYPE, which we reset at each
+% chapter-level command.
+\let\resetallfloatnos=\empty
+%
+\def\dofloat#1,#2,#3,#4\finish{%
+ \let\thiscaption=\empty
+ \let\thisshortcaption=\empty
+ %
+ % don't lose footnotes inside @float.
+ \startsavinginserts
+ %
+ \vtop\bgroup
+ \def\floattype{#1}%
+ \def\floatlabel{#2}%
+ \def\floatloc{#3}% we do nothing with this yet.
+ %
+ \ifx\floattype\empty
+ \let\safefloattype=\empty
+ \else
+ {%
+ % the floattype might have accents or other special characters,
+ % but we need to use it in a control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safefloattype{\floattype}%
+ }%
+ \fi
+ %
+ % If label is given but no type, we handle that as the empty type.
+ \ifx\floatlabel\empty \else
+ % We want each FLOATTYPE to be numbered separately (Figure 1,
+ % Table 1, Figure 2, ...). (And if no label, no number.)
+ %
+ \expandafter\getfloatno\csname\safefloattype floatno\endcsname
+ \global\advance\floatno by 1
+ %
+ {%
+ % This magic value for \thissection is output by \setref as the
+ % XREFLABEL-title value. \xrefX uses it to distinguish float
+ % labels (which have a completely different output format) from
+ % node and anchor labels. And \xrdef uses it to construct the
+ % lists of floats.
+ %
+ \edef\thissection{\floatmagic=\safefloattype}%
+ \setref{\floatlabel}{Yfloat}%
+ }%
+ \fi
+ %
+ % start with \parskip glue, I guess.
+ \vskip\parskip
+ %
+ % Don't suppress indentation if a float happens to start a section.
+ \restorefirstparagraphindent
+}
+
+% we have these possibilities:
+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
+% @float Foo,lbl & no caption: Foo 1.1
+% @float Foo & @caption{Cap}: Foo: Cap
+% @float Foo & no caption: Foo
+% @float ,lbl & Caption{Cap}: 1.1: Cap
+% @float ,lbl & no caption: 1.1
+% @float & @caption{Cap}: Cap
+% @float & no caption:
+%
+\def\Efloat{%
+ \let\floatident = \empty
+ %
+ % In all cases, if we have a float type, it comes first.
+ \ifx\floattype\empty \else \def\floatident{\floattype}\fi
+ %
+ % If we have an xref label, the number comes next.
+ \ifx\floatlabel\empty \else
+ \ifx\floattype\empty \else % if also had float type, need tie first.
+ \appendtomacro\floatident{\tie}%
+ \fi
+ % the number.
+ \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
+ \fi
+ %
+ % Start the printed caption with what we've constructed in
+ % \floatident, but keep it separate; we need \floatident again.
+ \let\captionline = \floatident
+ %
+ \ifx\thiscaption\empty \else
+ \ifx\floatident\empty \else
+ \appendtomacro\captionline{: }% had ident, so need a colon between
+ \fi
+ %
+ % caption text.
+ \appendtomacro\captionline\thiscaption
+ \fi
+ %
+ % If we have anything to print, print it, with space before.
+ % Eventually this needs to become an \insert.
+ \ifx\captionline\empty \else
+ \vskip.5\parskip
+ \captionline
+ \fi
+ %
+ % If have an xref label, write the list of floats info. Do this
+ % after the caption, to avoid chance of it being a breakpoint.
+ \ifx\floatlabel\empty \else
+ % Write the text that goes in the lof to the aux file as
+ % \floatlabel-lof. Besides \floatident, we include the short
+ % caption if specified, else the full caption if specified, else nothing.
+ {%
+ \atdummies \turnoffactive \otherbackslash
+ \immediate\write\auxfile{@xrdef{\floatlabel-lof}{%
+ \floatident
+ \ifx\thisshortcaption\empty
+ \ifx\thiscaption\empty \else : \thiscaption \fi
+ \else
+ : \thisshortcaption
+ \fi
+ }}%
+ }%
+ \fi
+ %
+ % Space below caption, if we printed anything.
+ \ifx\printedsomething\empty \else \vskip\parskip \fi
+ \egroup % end of \vtop
+ \checkinserts
+}
+
+% Append the tokens #2 to the definition of macro #1, not expanding either.
+%
+\newtoks\appendtomacroAtoks
+\newtoks\appendtomacroBtoks
+\def\appendtomacro#1#2{%
+ \appendtomacroAtoks = \expandafter{#1}%
+ \appendtomacroBtoks = {#2}%
+ \edef#1{\the\appendtomacroAtoks \the\appendtomacroBtoks}%
+}
+
+% @caption, @shortcaption are easy.
+%
+\long\def\caption#1{\checkenv\float \def\thiscaption{#1}}
+\def\shortcaption#1{\checkenv\float \def\thisshortcaption{#1}}
+
+% The parameter is the control sequence identifying the counter we are
+% going to use. Create it if it doesn't exist and assign it to \floatno.
+\def\getfloatno#1{%
+ \ifx#1\relax
+ % Haven't seen this figure type before.
+ \csname newcount\endcsname #1%
+ %
+ % Remember to reset this floatno at the next chap.
+ \expandafter\gdef\expandafter\resetallfloatnos
+ \expandafter{\resetallfloatnos #1=0 }%
+ \fi
+ \let\floatno#1%
+}
+
+% \setref calls this to get the XREFLABEL-snt value. We want an @xref
+% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we
+% first read the @float command.
+%
+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
+
+% Magic string used for the XREFLABEL-title value, so \xrefX can
+% distinguish floats from other xref types.
+\def\floatmagic{!!float!!}
+
+% #1 is the control sequence we are passed; we expand into a conditional
+% which is true if #1 represents a float ref. That is, the magic
+% \thissection value which we \setref above.
+%
+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
+%
+% #1 is (maybe) the \floatmagic string. If so, #2 will be the
+% (safe) float type for this float. We set \iffloattype to #2.
+%
+\def\doiffloat#1=#2=#3\finish{%
+ \def\temp{#1}%
+ \def\iffloattype{#2}%
+ \ifx\temp\floatmagic
+}
+
+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
+%
+\parseargdef\listoffloats{%
+ \def\floattype{#1}% floattype
+ {%
+ % the floattype might have accents or other special characters,
+ % but we need to use it in a control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safefloattype{\floattype}%
+ }%
+ %
+ % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
+ \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
+ \ifhavexrefs
+ % if the user said @listoffloats foo but never @float foo.
+ \message{\linenumber No `\safefloattype' floats to list.}%
+ \fi
+ \else
+ \begingroup
+ \leftskip=\tocindent % indent these entries like a toc
+ \let\do=\listoffloatsdo
+ \csname floatlist\safefloattype\endcsname
+ \endgroup
+ \fi
+}
+
+% This is called on each entry in a list of floats. We're passed the
+% xref label, in the form LABEL-title, which is how we save it in the
+% aux file. We strip off the -title and look up \XRLABEL-lof, which
+% has the text we're supposed to typeset here.
+%
+% Figures without xref labels will not be included in the list (since
+% they won't appear in the aux file).
+%
+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
+\def\listoffloatsdoentry#1-title\finish{{%
+ % Can't fully expand XR#1-lof because it can contain anything. Just
+ % pass the control sequence. On the other hand, XR#1-pg is just the
+ % page number, and we want to fully expand that so we can get a link
+ % in pdf output.
+ \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+ %
+ % use the same \entry macro we use to generate the TOC and index.
+ \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+ \writeentry
+}}
+
\message{localization,}
% and i18n.
@@ -6295,19 +6544,17 @@ width0pt\relax} \fi
% properly. Single argument is the language abbreviation.
% It would be nice if we could set up a hyphenation file here.
%
-\def\documentlanguage{\parsearg\dodocumentlanguage}
-\def\dodocumentlanguage#1{%
+\parseargdef\documentlanguage{%
\tex % read txi-??.tex file in plain TeX.
- % Read the file if it exists.
- \openin 1 txi-#1.tex
- \ifeof1
- \errhelp = \nolanghelp
- \errmessage{Cannot read language file txi-#1.tex}%
- \let\temp = \relax
- \else
- \def\temp{\input txi-#1.tex }%
- \fi
- \temp
+ % Read the file if it exists.
+ \openin 1 txi-#1.tex
+ \ifeof 1
+ \errhelp = \nolanghelp
+ \errmessage{Cannot read language file txi-#1.tex}%
+ \else
+ \input txi-#1.tex
+ \fi
+ \closein 1
\endgroup
}
\newhelp\nolanghelp{The given language definition file cannot be found or
@@ -6355,7 +6602,7 @@ should work if nowhere else does.}
% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)
% physical page width.
-%
+%
% We also call \setleading{\textleading}, so the caller should define
% \textleading. The caller should also set \parskip.
%
@@ -6423,7 +6670,7 @@ should work if nowhere else does.}
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
%
- % Double-side printing via postscript on Laserjet 4050
+ % Double-side printing via postscript on Laserjet 4050
% prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
% To change the settings for a different printer or situation, adjust
% \normaloffset until the front-side and back-side texts align. Then
@@ -6464,7 +6711,7 @@ should work if nowhere else does.}
\tableindent = 12mm
}}
-% A specific text layout, 24x15cm overall, intended for A4 paper.
+% A specific text layout, 24x15cm overall, intended for A4 paper.
\def\afourlatex{{\globaldefs = 1
\afourpaper
\internalpagesizes{237mm}{150mm}%
@@ -6490,8 +6737,7 @@ should work if nowhere else does.}
% Perhaps we should allow setting the margins, \topskip, \parskip,
% and/or leading, also. Or perhaps we should compute them somehow.
%
-\def\pagesizes{\parsearg\pagesizesxxx}
-\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
\def\pagesizesyyy#1,#2,#3\finish{{%
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
\globaldefs = 1
@@ -6538,8 +6784,8 @@ should work if nowhere else does.}
\def\normalplus{+}
\def\normaldollar{$}%$ font-lock fix
-% This macro is used to make a character print one way in ttfont
-% where it can probably just be output, and another way in other fonts,
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
% where something hairier probably needs to be done.
%
% #1 is what to print if we are indeed using \tt; #2 is what to print
@@ -6587,13 +6833,6 @@ should work if nowhere else does.}
\catcode`\$=\active
\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-% Set up an active definition for =, but don't enable it most of the time.
-{\catcode`\==\active
-\global\def={{\tt \char 61}}}
-
-\catcode`+=\active
-\catcode`\_=\active
-
% If a .fmt file is being used, characters that might appear in a file
% name cannot be active until we have parsed the command line.
% So turn them off again, and have \everyjob (or @setfilename) turn them on.
@@ -6602,15 +6841,16 @@ should work if nowhere else does.}
\catcode`\@=0
-% \rawbackslashxx outputs one backslash character in current font,
+% \backslashcurfont outputs one backslash character in current font,
% as in \char`\\.
-\global\chardef\rawbackslashxx=`\\
+\global\chardef\backslashcurfont=`\\
+\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work
-% \rawbackslash defines an active \ to do \rawbackslashxx.
+% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
% catcode other.
{\catcode`\\=\active
- @gdef@rawbackslash{@let\=@rawbackslashxx}
+ @gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
}
@@ -6618,7 +6858,7 @@ should work if nowhere else does.}
{\catcode`\\=\other @gdef@realbackslash{\}}
% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
+\def\normalbackslash{{\tt\backslashcurfont}}
\catcode`\\=\active
@@ -6635,12 +6875,13 @@ should work if nowhere else does.}
@let>=@normalgreater
@let+=@normalplus
@let$=@normaldollar %$ font-lock fix
+ @unsepspaces
}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
% the literal character `\'. (Thus, \ is not expandable when this is in
% effect.)
-%
+%
@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
% Make _ and + \other characters, temporarily.
@@ -6669,15 +6910,11 @@ should work if nowhere else does.}
% Say @foo, not \foo, in error messages.
@escapechar = `@@
-% These look ok in all fonts, so just make them not special.
+% These look ok in all fonts, so just make them not special.
@catcode`@& = @other
@catcode`@# = @other
@catcode`@% = @other
-@c Set initial fonts.
-@textfonts
-@rm
-
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)
@@ -6686,3 +6923,9 @@ should work if nowhere else does.}
@c time-stamp-format: "%:y-%02m-%02d.%02H"
@c time-stamp-end: "}"
@c End:
+
+@c vim:sw=2:
+
+@ignore
+ arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore