aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <>2004-03-23 23:05:53 +0000
committernobody <>2004-03-23 23:05:53 +0000
commit58d880d7dc46ef22215df77fa468d76cad99a900 (patch)
treefce9429309a4e5745ddd79402c973d2915569175
parent51550d1a9e579cc2163fc6f09744867302f12fb5 (diff)
This commit was manufactured by cvs2svn to create branchezannoni_pie-20040323-branchpoint
'ezannoni_pie-20040323-branch'. Sprout from gdb_6_1-branch 2004-03-12 17:46:28 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'gdb_6_1-branch'.' Cherrypick from gdb_6_1-branch 2004-03-09 17:34:40 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'gdb_6_1-branch'.': gdb/testsuite/gdb.cp/classes.cc Cherrypick from master 2004-03-23 23:05:52 UTC Paul Brook <paul@codesourcery.com> ' * bfd/elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.': ChangeLog Makefile.in Makefile.tpl bfd/ChangeLog bfd/Makefile.am bfd/Makefile.in bfd/aclocal.m4 bfd/aix386-core.c bfd/archive.c bfd/archures.c bfd/bfd-in.h bfd/bfd-in2.h bfd/coff-tic54x.c bfd/config.bfd bfd/config.in bfd/configure bfd/configure.in bfd/cpu-frv.c bfd/cpu-sh.c bfd/doc/ChangeLog bfd/doc/Makefile.in bfd/dwarf2.c bfd/elf-bfd.h bfd/elf-hppa.h bfd/elf-m10200.c bfd/elf-m10300.c bfd/elf.c bfd/elf32-arm.h bfd/elf32-avr.c bfd/elf32-cris.c bfd/elf32-d10v.c bfd/elf32-fr30.c bfd/elf32-frv.c bfd/elf32-h8300.c bfd/elf32-hppa.c bfd/elf32-i370.c bfd/elf32-i386.c bfd/elf32-i860.c bfd/elf32-ip2k.c bfd/elf32-iq2000.c bfd/elf32-m32r.c bfd/elf32-m68hc1x.c bfd/elf32-m68k.c bfd/elf32-mcore.c bfd/elf32-msp430.c bfd/elf32-openrisc.c bfd/elf32-ppc.c bfd/elf32-s390.c bfd/elf32-sh.c bfd/elf32-sparc.c bfd/elf32-v850.c bfd/elf32-vax.c bfd/elf32-xstormy16.c bfd/elf32-xtensa.c bfd/elf64-alpha.c bfd/elf64-hppa.c bfd/elf64-mmix.c bfd/elf64-ppc.c bfd/elf64-s390.c bfd/elf64-sh64.c bfd/elf64-sparc.c bfd/elf64-x86-64.c bfd/elflink.c bfd/elflink.h bfd/elfxx-ia64.c bfd/elfxx-mips.c bfd/hppabsd-core.c bfd/hpux-core.c bfd/irix-core.c bfd/libaout.h bfd/libbfd.c bfd/linker.c bfd/mach-o.c bfd/netbsd-core.c bfd/osf-core.c bfd/pdp11.c bfd/po/bfd.pot bfd/ptrace-core.c bfd/sco5-core.c bfd/targets.c bfd/trad-core.c bfd/version.h config/ChangeLog config/accross.m4 config/acx.m4 configure configure.in cpu/ChangeLog cpu/frv.cpu cpu/frv.opc gdb/ChangeLog gdb/MAINTAINERS gdb/Makefile.in gdb/NEWS gdb/PROBLEMS gdb/alpha-linux-tdep.c gdb/alpha-osf1-tdep.c gdb/alpha-tdep.c gdb/alphafbsd-tdep.c gdb/alphanbsd-tdep.c gdb/amd64-linux-nat.c gdb/amd64-linux-tdep.c gdb/amd64-nat.c gdb/amd64-tdep.c gdb/amd64-tdep.h gdb/amd64bsd-nat.c gdb/amd64fbsd-nat.c gdb/amd64nbsd-tdep.c gdb/amd64obsd-tdep.c gdb/arch-utils.c gdb/arch-utils.h gdb/arm-tdep.c gdb/bcache.c gdb/blockframe.c gdb/breakpoint.c gdb/config/alpha/fbsd.mt gdb/config/alpha/nm-fbsd.h gdb/config/arm/tm-embed.h gdb/config/arm/tm-linux.h gdb/config/frv/frv.mt gdb/config/frv/tm-frv.h gdb/config/i386/nm-fbsd.h gdb/config/i386/nm-fbsd64.h gdb/config/i386/nm-obsd.h gdb/config/ia64/tm-aix.h gdb/config/ia64/tm-linux.h gdb/config/m68k/tm-nbsd.h gdb/config/mips/tm-irix5.h gdb/config/mips/tm-irix6.h gdb/config/mips/tm-linux.h gdb/config/mips/tm-nbsd.h gdb/config/nm-bsd.h gdb/config/pa/tm-hppa.h gdb/config/pa/tm-hppa64.h gdb/config/powerpc/tm-linux.h gdb/config/rs6000/tm-rs6000.h gdb/config/sparc/nm-fbsd.h gdb/config/vax/tm-vaxbsd.h gdb/cp-namespace.c gdb/cris-tdep.c gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/dummy-frame.c gdb/dummy-frame.h gdb/dwarf2-frame.c gdb/dwarf2read.c gdb/frame-base.c gdb/frame-unwind.c gdb/frame-unwind.h gdb/frame.c gdb/frame.h gdb/frv-linux-tdep.c gdb/frv-tdep.c gdb/frv-tdep.h gdb/gdb_obstack.h gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbserver/ChangeLog gdb/gdbserver/Makefile.in gdb/gdbserver/gdbreplay.c gdb/gdbserver/linux-low.c gdb/gdbserver/server.c gdb/gdbserver/server.h gdb/gdbserver/target.c gdb/gdbserver/target.h gdb/gdbserver/utils.c gdb/gdbtypes.c gdb/gnu-v3-abi.c gdb/h8300-tdep.c gdb/hppa-hpux-tdep.c gdb/hppa-tdep.c gdb/i386-interix-tdep.c gdb/i386-linux-tdep.c gdb/i386-nat.c gdb/i386-nto-tdep.c gdb/i386-sol2-tdep.c gdb/i386-tdep.c gdb/i386-tdep.h gdb/i386bsd-nat.c gdb/i386bsd-tdep.c gdb/i386nbsd-tdep.c gdb/i386obsd-tdep.c gdb/i387-tdep.c gdb/i387-tdep.h gdb/ia64-tdep.c gdb/infcall.c gdb/infcmd.c gdb/inferior.h gdb/infrun.c gdb/libunwind-frame.c gdb/lin-lwp.c gdb/m68hc11-tdep.c gdb/m68k-tdep.c gdb/m68klinux-tdep.c gdb/mcore-tdep.c gdb/mips-linux-tdep.c gdb/mips-tdep.c gdb/mipsnbsd-tdep.c gdb/mn10300-tdep.c gdb/ppc-linux-nat.c gdb/ppc-linux-tdep.c gdb/ppc-tdep.h gdb/ppcnbsd-tdep.c gdb/regcache.c gdb/reggroups.c gdb/remote-m32r-sdi.c gdb/remote.c gdb/rs6000-tdep.c gdb/s390-tdep.c gdb/sh-tdep.c gdb/sh64-tdep.c gdb/shnbsd-tdep.c gdb/solib-frv.c gdb/solib-svr4.c gdb/solib-svr4.h gdb/solib.c gdb/solist.h gdb/sparc-linux-tdep.c gdb/sparc-sol2-tdep.c gdb/sparc-tdep.c gdb/sparc64-sol2-tdep.c gdb/sparc64fbsd-tdep.c gdb/sparc64nbsd-tdep.c gdb/sparc64obsd-tdep.c gdb/sparcnbsd-tdep.c gdb/sparcobsd-tdep.c gdb/stabsread.c gdb/stack.c gdb/symtab.h gdb/target.c gdb/testsuite/ChangeLog gdb/testsuite/gdb.asm/openbsd.inc gdb/testsuite/gdb.base/auxv.c gdb/testsuite/gdb.base/auxv.exp gdb/testsuite/gdb.base/pc-fp.exp gdb/testsuite/gdb.base/watchpoint.exp gdb/testsuite/gdb.cp/classes.exp gdb/testsuite/gdb.cp/local.exp gdb/testsuite/gdb.cp/misc.cc gdb/testsuite/gdb.cp/rtti.exp gdb/testsuite/gdb.cp/rtti.h gdb/testsuite/gdb.cp/rtti1.cc gdb/testsuite/gdb.cp/rtti2.cc gdb/testsuite/gdb.cp/templates.exp gdb/trad-frame.c gdb/trad-frame.h gdb/tramp-frame.c gdb/tramp-frame.h gdb/tui/tui-data.c gdb/tui/tui-data.h gdb/tui/tui-layout.c gdb/tui/tui-regs.c gdb/tui/tui-regs.h gdb/tui/tui-win.c gdb/tui/tui-win.h gdb/user-regs.c gdb/v850-tdep.c gdb/version.in gdb/xstormy16-tdep.c include/ChangeLog include/bfdlink.h include/elf/ChangeLog include/elf/arm.h include/elf/frv.h include/elf/sh.h include/opcode/ChangeLog include/opcode/i386.h include/opcode/ppc.h libiberty/ChangeLog libiberty/Makefile.in libiberty/config.in libiberty/configure libiberty/configure.ac libiberty/pex-common.h libiberty/pex-unix.c libiberty/testsuite/test-demangle.c opcodes/ChangeLog opcodes/aclocal.m4 opcodes/config.in opcodes/configure opcodes/frv-asm.c opcodes/frv-desc.c opcodes/frv-desc.h opcodes/frv-dis.c opcodes/frv-ibld.c opcodes/frv-opc.c opcodes/frv-opc.h opcodes/i386-dis.c opcodes/po/POTFILES.in opcodes/po/de.po opcodes/po/opcodes.pot opcodes/ppc-dis.c opcodes/ppc-opc.c opcodes/sh-dis.c opcodes/sh-opc.h opcodes/sparc-dis.c sim/ChangeLog sim/MAINTAINERS sim/frv/ChangeLog sim/frv/Makefile.in sim/frv/arch.c sim/frv/arch.h sim/frv/cache.c sim/frv/cpu.h sim/frv/cpuall.h sim/frv/decode.c sim/frv/decode.h sim/frv/frv-sim.h sim/frv/frv.c sim/frv/interrupts.c sim/frv/memory.c sim/frv/mloop.in sim/frv/model.c sim/frv/profile-fr450.c sim/frv/profile.c sim/frv/registers.c sim/frv/sem.c sim/frv/traps.c sim/testsuite/ChangeLog sim/testsuite/sim/frv/allinsn.exp sim/testsuite/sim/frv/fr400/addss.cgs sim/testsuite/sim/frv/fr400/allinsn.exp sim/testsuite/sim/frv/fr400/scutss.cgs sim/testsuite/sim/frv/fr400/slass.cgs sim/testsuite/sim/frv/fr400/smass.cgs sim/testsuite/sim/frv/fr400/smsss.cgs sim/testsuite/sim/frv/fr400/smu.cgs sim/testsuite/sim/frv/fr400/subss.cgs sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs sim/testsuite/sim/frv/interrupts/fp_exception.cgs sim/testsuite/sim/frv/mqlclrhs.cgs sim/testsuite/sim/frv/mqlmths.cgs sim/testsuite/sim/frv/mqsllhi.cgs sim/testsuite/sim/frv/mqsrahi.cgs Delete: gdb/amd64-linux-tdep.h gdb/config/alpha/tm-fbsd.h libiberty/acconfig.h
-rw-r--r--ChangeLog84
-rw-r--r--Makefile.in25250
-rw-r--r--Makefile.tpl463
-rw-r--r--bfd/ChangeLog345
-rw-r--r--bfd/Makefile.am2
-rw-r--r--bfd/Makefile.in8
-rw-r--r--bfd/aclocal.m410
-rw-r--r--bfd/aix386-core.c15
-rw-r--r--bfd/archive.c2
-rw-r--r--bfd/archures.c4
-rw-r--r--bfd/bfd-in.h79
-rw-r--r--bfd/bfd-in2.h183
-rw-r--r--bfd/coff-tic54x.c31
-rw-r--r--bfd/config.bfd12
-rw-r--r--bfd/config.in6
-rwxr-xr-xbfd/configure666
-rw-r--r--bfd/configure.in35
-rw-r--r--bfd/cpu-frv.c5
-rw-r--r--bfd/cpu-sh.c19
-rw-r--r--bfd/doc/ChangeLog3
-rw-r--r--bfd/doc/Makefile.in4
-rw-r--r--bfd/dwarf2.c14
-rw-r--r--bfd/elf-bfd.h158
-rw-r--r--bfd/elf-hppa.h49
-rw-r--r--bfd/elf-m10200.c30
-rw-r--r--bfd/elf-m10300.c15
-rw-r--r--bfd/elf.c11
-rw-r--r--bfd/elf32-arm.h38
-rw-r--r--bfd/elf32-avr.c35
-rw-r--r--bfd/elf32-cris.c96
-rw-r--r--bfd/elf32-d10v.c30
-rw-r--r--bfd/elf32-fr30.c47
-rw-r--r--bfd/elf32-frv.c227
-rw-r--r--bfd/elf32-h8300.c28
-rw-r--r--bfd/elf32-hppa.c25
-rw-r--r--bfd/elf32-i370.c20
-rw-r--r--bfd/elf32-i386.c9
-rw-r--r--bfd/elf32-i860.c34
-rw-r--r--bfd/elf32-ip2k.c7
-rw-r--r--bfd/elf32-iq2000.c9
-rw-r--r--bfd/elf32-m32r.c292
-rw-r--r--bfd/elf32-m68hc1x.c56
-rw-r--r--bfd/elf32-m68k.c9
-rw-r--r--bfd/elf32-mcore.c30
-rw-r--r--bfd/elf32-msp430.c33
-rw-r--r--bfd/elf32-openrisc.c33
-rw-r--r--bfd/elf32-ppc.c17
-rw-r--r--bfd/elf32-s390.c10
-rw-r--r--bfd/elf32-sh.c11
-rw-r--r--bfd/elf32-sparc.c10
-rw-r--r--bfd/elf32-v850.c43
-rw-r--r--bfd/elf32-vax.c12
-rw-r--r--bfd/elf32-xstormy16.c34
-rw-r--r--bfd/elf32-xtensa.c76
-rw-r--r--bfd/elf64-alpha.c14
-rw-r--r--bfd/elf64-hppa.c9
-rw-r--r--bfd/elf64-mmix.c39
-rw-r--r--bfd/elf64-ppc.c11
-rw-r--r--bfd/elf64-s390.c10
-rw-r--r--bfd/elf64-sh64.c9
-rw-r--r--bfd/elf64-sparc.c8
-rw-r--r--bfd/elf64-x86-64.c10
-rw-r--r--bfd/elflink.c224
-rw-r--r--bfd/elflink.h219
-rw-r--r--bfd/elfxx-ia64.c15
-rw-r--r--bfd/elfxx-mips.c28
-rw-r--r--bfd/hppabsd-core.c42
-rw-r--r--bfd/hpux-core.c43
-rw-r--r--bfd/irix-core.c43
-rw-r--r--bfd/libaout.h54
-rw-r--r--bfd/libbfd.c226
-rw-r--r--bfd/linker.c18
-rw-r--r--bfd/mach-o.c2
-rw-r--r--bfd/netbsd-core.c82
-rw-r--r--bfd/osf-core.c43
-rw-r--r--bfd/pdp11.c49
-rw-r--r--bfd/po/bfd.pot1085
-rw-r--r--bfd/ptrace-core.c61
-rw-r--r--bfd/sco5-core.c44
-rw-r--r--bfd/targets.c38
-rw-r--r--bfd/trad-core.c61
-rw-r--r--bfd/version.h2
-rw-r--r--config/ChangeLog12
-rw-r--r--config/accross.m44
-rw-r--r--config/acx.m435
-rwxr-xr-xconfigure1462
-rw-r--r--configure.in936
-rw-r--r--cpu/ChangeLog49
-rw-r--r--cpu/frv.cpu1953
-rw-r--r--cpu/frv.opc107
-rw-r--r--gdb/ChangeLog841
-rw-r--r--gdb/MAINTAINERS7
-rw-r--r--gdb/Makefile.in51
-rw-r--r--gdb/NEWS13
-rw-r--r--gdb/PROBLEMS41
-rw-r--r--gdb/alpha-linux-tdep.c2
-rw-r--r--gdb/alpha-osf1-tdep.c2
-rw-r--r--gdb/alpha-tdep.c2
-rw-r--r--gdb/alphafbsd-tdep.c2
-rw-r--r--gdb/alphanbsd-tdep.c2
-rw-r--r--gdb/amd64-linux-nat.c119
-rw-r--r--gdb/amd64-linux-tdep.c151
-rw-r--r--gdb/amd64-linux-tdep.h38
-rw-r--r--gdb/amd64-tdep.c13
-rw-r--r--gdb/amd64-tdep.h7
-rw-r--r--gdb/amd64bsd-nat.c2
-rw-r--r--gdb/amd64fbsd-nat.c2
-rw-r--r--gdb/amd64nbsd-tdep.c2
-rw-r--r--gdb/amd64obsd-tdep.c2
-rw-r--r--gdb/arch-utils.c9
-rw-r--r--gdb/arch-utils.h2
-rw-r--r--gdb/arm-tdep.c10
-rw-r--r--gdb/bcache.c2
-rw-r--r--gdb/blockframe.c68
-rw-r--r--gdb/breakpoint.c37
-rw-r--r--gdb/config/alpha/fbsd.mt4
-rw-r--r--gdb/config/alpha/nm-fbsd.h13
-rw-r--r--gdb/config/arm/tm-embed.h4
-rw-r--r--gdb/config/arm/tm-linux.h2
-rw-r--r--gdb/config/frv/frv.mt2
-rw-r--r--gdb/config/frv/tm-frv.h2
-rw-r--r--gdb/config/i386/nm-fbsd.h10
-rw-r--r--gdb/config/i386/nm-fbsd64.h10
-rw-r--r--gdb/config/i386/nm-obsd.h11
-rw-r--r--gdb/config/ia64/tm-aix.h2
-rw-r--r--gdb/config/ia64/tm-linux.h2
-rw-r--r--gdb/config/m68k/tm-nbsd.h4
-rw-r--r--gdb/config/mips/tm-irix5.h4
-rw-r--r--gdb/config/mips/tm-irix6.h4
-rw-r--r--gdb/config/mips/tm-linux.h4
-rw-r--r--gdb/config/mips/tm-nbsd.h2
-rw-r--r--gdb/config/nm-bsd.h (renamed from gdb/config/alpha/tm-fbsd.h)14
-rw-r--r--gdb/config/pa/tm-hppa.h108
-rw-r--r--gdb/config/pa/tm-hppa64.h46
-rw-r--r--gdb/config/powerpc/tm-linux.h4
-rw-r--r--gdb/config/rs6000/tm-rs6000.h6
-rw-r--r--gdb/config/sparc/nm-fbsd.h13
-rw-r--r--gdb/config/vax/tm-vaxbsd.h4
-rw-r--r--gdb/cris-tdep.c38
-rw-r--r--gdb/doc/ChangeLog25
-rw-r--r--gdb/doc/gdb.texinfo4
-rw-r--r--gdb/doc/gdbint.texinfo163
-rw-r--r--gdb/dummy-frame.c28
-rw-r--r--gdb/dummy-frame.h25
-rw-r--r--gdb/dwarf2-frame.c26
-rw-r--r--gdb/dwarf2read.c733
-rw-r--r--gdb/frame-base.c64
-rw-r--r--gdb/frame-unwind.c81
-rw-r--r--gdb/frame-unwind.h24
-rw-r--r--gdb/frame.c34
-rw-r--r--gdb/frame.h9
-rw-r--r--gdb/frv-linux-tdep.c273
-rw-r--r--gdb/frv-tdep.c325
-rw-r--r--gdb/frv-tdep.h105
-rw-r--r--gdb/gdb_obstack.h6
-rw-r--r--gdb/gdbarch.c257
-rw-r--r--gdb/gdbarch.h135
-rwxr-xr-xgdb/gdbarch.sh116
-rw-r--r--gdb/gdbserver/ChangeLog13
-rw-r--r--gdb/gdbserver/gdbreplay.c2
-rw-r--r--gdb/gdbserver/linux-low.c9
-rw-r--r--gdb/gdbserver/server.h2
-rw-r--r--gdb/gdbserver/utils.c2
-rw-r--r--gdb/gnu-v3-abi.c2
-rw-r--r--gdb/h8300-tdep.c2
-rw-r--r--gdb/hppa-hpux-tdep.c2
-rw-r--r--gdb/hppa-tdep.c2815
-rw-r--r--gdb/i386-interix-tdep.c2
-rw-r--r--gdb/i386-linux-tdep.c62
-rw-r--r--gdb/i386-nat.c4
-rw-r--r--gdb/i386-nto-tdep.c2
-rw-r--r--gdb/i386-sol2-tdep.c2
-rw-r--r--gdb/i386-tdep.c8
-rw-r--r--gdb/i386bsd-nat.c81
-rw-r--r--gdb/i386bsd-tdep.c11
-rw-r--r--gdb/i386nbsd-tdep.c8
-rw-r--r--gdb/i386obsd-tdep.c8
-rw-r--r--gdb/i387-tdep.c20
-rw-r--r--gdb/i387-tdep.h8
-rw-r--r--gdb/ia64-tdep.c2
-rw-r--r--gdb/infcall.c5
-rw-r--r--gdb/infcmd.c5
-rw-r--r--gdb/inferior.h17
-rw-r--r--gdb/infrun.c162
-rw-r--r--gdb/libunwind-frame.c4
-rw-r--r--gdb/lin-lwp.c3
-rw-r--r--gdb/m68hc11-tdep.c2
-rw-r--r--gdb/m68k-tdep.c2
-rw-r--r--gdb/m68klinux-tdep.c2
-rw-r--r--gdb/mcore-tdep.c2
-rw-r--r--gdb/mips-linux-tdep.c4
-rw-r--r--gdb/mips-tdep.c48
-rw-r--r--gdb/mipsnbsd-tdep.c5
-rw-r--r--gdb/mn10300-tdep.c12
-rw-r--r--gdb/ppc-linux-nat.c50
-rw-r--r--gdb/ppc-linux-tdep.c371
-rw-r--r--gdb/ppc-tdep.h23
-rw-r--r--gdb/ppcnbsd-tdep.c2
-rw-r--r--gdb/regcache.c2
-rw-r--r--gdb/reggroups.c4
-rw-r--r--gdb/remote.c5
-rw-r--r--gdb/rs6000-tdep.c717
-rw-r--r--gdb/s390-tdep.c68
-rw-r--r--gdb/sh-tdep.c32
-rw-r--r--gdb/sh64-tdep.c2
-rw-r--r--gdb/shnbsd-tdep.c2
-rw-r--r--gdb/solib-frv.c1230
-rw-r--r--gdb/solib-svr4.c26
-rw-r--r--gdb/solib-svr4.h5
-rw-r--r--gdb/solib.c8
-rw-r--r--gdb/solist.h4
-rw-r--r--gdb/sparc-linux-tdep.c2
-rw-r--r--gdb/sparc-sol2-tdep.c2
-rw-r--r--gdb/sparc-tdep.c13
-rw-r--r--gdb/sparc64-sol2-tdep.c2
-rw-r--r--gdb/sparc64fbsd-tdep.c2
-rw-r--r--gdb/sparc64nbsd-tdep.c2
-rw-r--r--gdb/sparc64obsd-tdep.c2
-rw-r--r--gdb/sparcnbsd-tdep.c2
-rw-r--r--gdb/sparcobsd-tdep.c2
-rw-r--r--gdb/stabsread.c6
-rw-r--r--gdb/stack.c12
-rw-r--r--gdb/symtab.h3
-rw-r--r--gdb/target.c16
-rw-r--r--gdb/testsuite/ChangeLog354
-rw-r--r--gdb/testsuite/gdb.asm/openbsd.inc2
-rw-r--r--gdb/testsuite/gdb.base/auxv.c58
-rw-r--r--gdb/testsuite/gdb.base/auxv.exp187
-rw-r--r--gdb/testsuite/gdb.base/pc-fp.exp4
-rw-r--r--gdb/testsuite/gdb.base/watchpoint.exp25
-rw-r--r--gdb/testsuite/gdb.cp/classes.exp4
-rw-r--r--gdb/testsuite/gdb.cp/local.exp10
-rw-r--r--gdb/trad-frame.c54
-rw-r--r--gdb/trad-frame.h26
-rw-r--r--gdb/tramp-frame.c162
-rw-r--r--gdb/tramp-frame.h64
-rw-r--r--gdb/tui/tui-data.c3
-rw-r--r--gdb/tui/tui-data.h2
-rw-r--r--gdb/tui/tui-layout.c5
-rw-r--r--gdb/tui/tui-regs.c963
-rw-r--r--gdb/tui/tui-regs.h4
-rw-r--r--gdb/tui/tui-win.c31
-rw-r--r--gdb/tui/tui-win.h3
-rw-r--r--gdb/user-regs.c4
-rw-r--r--gdb/v850-tdep.c2
-rw-r--r--gdb/version.in2
-rw-r--r--gdb/xstormy16-tdep.c2
-rw-r--r--include/ChangeLog50
-rw-r--r--include/bfdlink.h15
-rw-r--r--include/elf/ChangeLog12
-rw-r--r--include/elf/arm.h5
-rw-r--r--include/elf/frv.h2
-rw-r--r--include/elf/sh.h3
-rw-r--r--include/opcode/ChangeLog18
-rw-r--r--include/opcode/i386.h15
-rw-r--r--include/opcode/ppc.h27
-rw-r--r--libiberty/ChangeLog26
-rw-r--r--libiberty/Makefile.in57
-rw-r--r--libiberty/acconfig.h3
-rw-r--r--libiberty/config.in9
-rwxr-xr-xlibiberty/configure1286
-rw-r--r--libiberty/configure.ac31
-rw-r--r--libiberty/pex-common.h5
-rw-r--r--libiberty/pex-unix.c81
-rw-r--r--libiberty/testsuite/test-demangle.c8
-rw-r--r--opcodes/ChangeLog106
-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/i386-dis.c111
-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-dis.c10
-rw-r--r--opcodes/ppc-opc.c245
-rw-r--r--opcodes/sh-dis.c9
-rw-r--r--opcodes/sh-opc.h38
-rw-r--r--opcodes/sparc-dis.c4
-rw-r--r--sim/ChangeLog4
-rw-r--r--sim/MAINTAINERS2
-rw-r--r--sim/frv/ChangeLog54
-rw-r--r--sim/frv/Makefile.in5
-rw-r--r--sim/frv/arch.c3
-rw-r--r--sim/frv/arch.h16
-rw-r--r--sim/frv/cache.c7
-rw-r--r--sim/frv/cpu.h91
-rw-r--r--sim/frv/cpuall.h1
-rw-r--r--sim/frv/decode.c217
-rw-r--r--sim/frv/decode.h357
-rw-r--r--sim/frv/frv-sim.h7
-rw-r--r--sim/frv/frv.c91
-rw-r--r--sim/frv/interrupts.c5
-rw-r--r--sim/frv/memory.c16
-rw-r--r--sim/frv/mloop.in1
-rw-r--r--sim/frv/model.c18756
-rw-r--r--sim/frv/profile-fr450.c607
-rw-r--r--sim/frv/profile.c11
-rw-r--r--sim/frv/registers.c1059
-rw-r--r--sim/frv/sem.c560
-rw-r--r--sim/frv/traps.c13
-rw-r--r--sim/testsuite/ChangeLog28
-rw-r--r--sim/testsuite/sim/frv/allinsn.exp2
-rw-r--r--sim/testsuite/sim/frv/fr400/addss.cgs2
-rw-r--r--sim/testsuite/sim/frv/fr400/allinsn.exp2
-rw-r--r--sim/testsuite/sim/frv/fr400/scutss.cgs140
-rw-r--r--sim/testsuite/sim/frv/fr400/slass.cgs2
-rw-r--r--sim/testsuite/sim/frv/fr400/smass.cgs2
-rw-r--r--sim/testsuite/sim/frv/fr400/smsss.cgs2
-rw-r--r--sim/testsuite/sim/frv/fr400/smu.cgs2
-rw-r--r--sim/testsuite/sim/frv/fr400/subss.cgs2
-rw-r--r--sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs2
-rw-r--r--sim/testsuite/sim/frv/interrupts/fp_exception.cgs2
-rw-r--r--sim/testsuite/sim/frv/mqlclrhs.cgs74
-rw-r--r--sim/testsuite/sim/frv/mqlmths.cgs74
-rw-r--r--sim/testsuite/sim/frv/mqsllhi.cgs40
-rw-r--r--sim/testsuite/sim/frv/mqsrahi.cgs40
323 files changed, 49591 insertions, 26525 deletions
diff --git a/ChangeLog b/ChangeLog
index de6ebae1c77..56ba3dc4e75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,87 @@
+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
diff --git a/Makefile.in b/Makefile.in
index 91c19d9ea4b..68f43e6acb0 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@
@@ -799,28 +798,1246 @@ 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; \
+ 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 +2061,263 @@ 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; \
+ 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 +2326,263 @@ 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; \
+ 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 +2591,263 @@ 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; \
+ 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 +2856,263 @@ 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; \
+ 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 +3121,263 @@ 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; \
+ 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: check-opcodes maybe-check-opcodes
+maybe-check-opcodes:
-.PHONY: maybe-info-gdb info-gdb
-maybe-info-gdb:
+check-opcodes:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check)
-info-gdb: \
- configure-gdb
- @[ -f ./gdb/Makefile ] || exit 0; \
+
+.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 +3386,263 @@ 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; \
+ 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 +3651,266 @@ 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; \
+ 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 +3919,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 +3940,250 @@ 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; \
+ 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 +4209,263 @@ 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; \
+ 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 +4474,263 @@ 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; \
+ 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 +4739,263 @@ 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; \
+ 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 +5004,259 @@ 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; \
+ 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 +5265,263 @@ 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; \
+ 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:
-# Target modules.
+check-etc:
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(SET_LIB_PATH) \
+ (cd etc && $(MAKE) $(FLAGS_TO_PASS) check)
-.PHONY: maybe-dvi-target-libstdc++-v3 dvi-target-libstdc++-v3
-maybe-dvi-target-libstdc++-v3:
-dvi-target-libstdc++-v3: \
- configure-target-libstdc++-v3
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
- r=`${PWD_COMMAND}`; export r; \
+.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) \
- 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 +5530,266 @@ 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; \
+ 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 +5798,285 @@ 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; \
+ 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 +6085,246 @@ 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; \
+ 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 +6350,263 @@ 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; \
+ 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 +6615,266 @@ 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; \
+ 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 +6883,263 @@ 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; \
+ 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 +7148,263 @@ 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; \
+ 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 +7413,263 @@ 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; \
+ 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 +7678,286 @@ 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; \
+ 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 +7966,263 @@ 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; \
+ 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: maybe-install-info-dejagnu install-info-dejagnu
-maybe-install-info-dejagnu:
+.PHONY: check-gprof maybe-check-gprof
+maybe-check-gprof:
-install-info-dejagnu: \
- configure-dejagnu \
- info-dejagnu
- @[ -f ./dejagnu/Makefile ] || exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+check-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 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) check)
-.PHONY: maybe-install-info-diff install-info-diff
-maybe-install-info-diff:
+.PHONY: install-gprof maybe-install-gprof
+maybe-install-gprof:
-install-info-diff: \
- configure-diff \
- info-diff
- @[ -f ./diff/Makefile ] || exit 0; \
+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)
+
+
+# Other targets (info, dvi, etc.)
+
+.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 +8231,245 @@ 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; \
+ 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 +8496,263 @@ 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; \
+ 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 +8761,263 @@ 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; \
+ 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 +9026,263 @@ 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; \
+ 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 +9291,263 @@ 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; \
+ 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 +9556,249 @@ 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; \
+ 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 +9807,285 @@ 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; \
+ 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 +10094,263 @@ 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; \
+ 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 +10359,263 @@ 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; \
+ 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: maybe-installcheck-gas installcheck-gas
-maybe-installcheck-gas:
+.PHONY: check-libiberty maybe-check-libiberty
+maybe-check-libiberty:
-installcheck-gas: \
- configure-gas
- @[ -f ./gas/Makefile ] || exit 0; \
+check-libiberty:
+ @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:
+
+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 +10624,246 @@ 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; \
+ 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 +10889,263 @@ 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; \
+ 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 +11154,263 @@ 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; \
+ 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 +11419,259 @@ 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; \
+ 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:
-.PHONY: maybe-installcheck-guile installcheck-guile
-maybe-installcheck-guile:
+check-mmalloc:
-installcheck-guile: \
- configure-guile
- @[ -f ./guile/Makefile ] || exit 0; \
+
+.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 +11680,263 @@ 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; \
+ 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 +11945,284 @@ 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; \
+ 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 +12231,263 @@ 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; \
+ 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 +12496,263 @@ 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; \
+ 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 +12761,247 @@ 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; \
+ 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 +13026,255 @@ 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; \
+ 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:
-.PHONY: maybe-mostlyclean-shellutils mostlyclean-shellutils
-maybe-mostlyclean-shellutils:
+check-release:
-mostlyclean-shellutils:
- @[ -f ./shellutils/Makefile ] || exit 0; \
+
+.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 +13283,263 @@ 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; \
+ 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 +13548,263 @@ 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; \
+ 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 +13813,284 @@ 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; \
+ 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 +14099,263 @@ 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; \
+ 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 +14364,263 @@ 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; \
+ 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 +14629,263 @@ 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; \
+ 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 +14894,247 @@ 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; \
+ 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 +15159,259 @@ 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; \
+ 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 +15420,263 @@ 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; \
+ 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:
+
+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)
-# Target modules.
-.PHONY: maybe-clean-target-libstdc++-v3 clean-target-libstdc++-v3
-maybe-clean-target-libstdc++-v3:
+# Other targets (info, dvi, etc.)
-clean-target-libstdc++-v3:
- @[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
+.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 +15685,284 @@ 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; \
+ 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 +15971,263 @@ 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; \
+ 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 +16236,263 @@ 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; \
+ 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 +16501,266 @@ 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; \
+ 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: maybe-distclean-itcl distclean-itcl
-maybe-distclean-itcl:
+.PHONY: check-zip maybe-check-zip
+maybe-check-zip:
-distclean-itcl:
- @[ -f ./itcl/Makefile ] || exit 0; \
+# 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:
+
+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 +16769,255 @@ 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; \
+ 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 +17026,263 @@ 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; \
+ 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 +17291,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 +17302,91 @@ 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; \
+ 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 +17394,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 +17556,263 @@ 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; \
+ 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 +17821,284 @@ 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; \
+ 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 +18107,263 @@ 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; \
+ 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 +18372,464 @@ 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; \
+ 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; \
+ 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 +18838,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: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
+maybe-check-target-libstdc++-v3:
-.PHONY: maybe-maintainer-clean-rcs maintainer-clean-rcs
-maybe-maintainer-clean-rcs:
+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)
-maintainer-clean-rcs:
- @[ -f ./rcs/Makefile ] || exit 0; \
+
+.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 +19122,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 +19400,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 +19611,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 +19678,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 +19957,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 +20019,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: 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)
+.PHONY: maybe-mostlyclean-target-libtermcap mostlyclean-target-libtermcap
+maybe-mostlyclean-target-libtermcap:
-.PHONY: check-dosutils maybe-check-dosutils
-maybe-check-dosutils:
+# libtermcap doesn't support mostlyclean.
+mostlyclean-target-libtermcap:
-check-dosutils:
+.PHONY: maybe-clean-target-libtermcap clean-target-libtermcap
+maybe-clean-target-libtermcap:
-.PHONY: install-dosutils maybe-install-dosutils
-maybe-install-dosutils:
+# libtermcap doesn't support clean.
+clean-target-libtermcap:
-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)
-
+ 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
-.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)
+.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:
-
-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
-.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)
-
-
-.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
+ (cd $(TARGET_SUBDIR)/libiberty && \
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
-.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)
-
+ 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
-.PHONY: install-prms maybe-install-prms
-maybe-install-prms:
-
-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)
-
-
-.PHONY: install-rcs maybe-install-rcs
-maybe-install-rcs:
+ 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
-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
-
-.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)
+# Other targets (info, dvi, etc.)
-.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)
-
+ 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
-.PHONY: install-textutils maybe-install-textutils
-maybe-install-textutils:
-
-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:
+ 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
-check-zlib:
-.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 +21884,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 +21895,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 +22162,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 +22175,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 +22194,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 +22203,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 +22462,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 +22473,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 +22740,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 +22751,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 +23068,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:
@@ -23542,6 +23346,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
@@ -23555,10 +23557,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; \
@@ -23601,14 +23606,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
@@ -23746,6 +23751,475 @@ 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; \
+ 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)" \
+ || exit 1 ; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ $(STAMP) all-stage1-gcc
+
+# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
+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; \
+ 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; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 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} ; \
+ 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)" \
+ WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
+ STRICT_WARN="\$$(STRICT2_WARN)" \
+ OUTPUT_OPTION="-o \$$@"
+
+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) || exit 1 ; \
+ cd .. ; \
+ mv prev-gcc stage1-gcc ; \
+ mv gcc stage2-gcc ; \
+ $(STAMP) all-stage2-gcc
+
+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 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; \
+ 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; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 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} ; \
+ 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) || exit 1 ; \
+ cd .. ; \
+ mv prev-gcc stage2-gcc ; \
+ mv gcc stage3-gcc ; \
+ $(STAMP) all-stage3-gcc
+
+# 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 \
+ cmp --ignore-initial=16 $$r/stage2-gcc/$$file $$r/stage3-gcc/$$file \
+ > /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
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
diff --git a/Makefile.tpl b/Makefile.tpl
index 6a30f45941b..91fdae2d285 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@
@@ -516,89 +515,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.
@@ -932,6 +848,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 +1004,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 +1048,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; \
@@ -1118,14 +1097,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 +1242,312 @@ 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; \
+ 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)" \
+ || exit 1 ; \
+ cd .. ; \
+ mv gcc stage1-gcc ; \
+ $(STAMP) all-stage1-gcc
+
+# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
+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; \
+ 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; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 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} ; \
+ 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)" \
+ WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
+ STRICT_WARN="\$$(STRICT2_WARN)" \
+ OUTPUT_OPTION="-o \$$@"
+
+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) || exit 1 ; \
+ cd .. ; \
+ mv prev-gcc stage1-gcc ; \
+ mv gcc stage2-gcc ; \
+ $(STAMP) all-stage2-gcc
+
+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 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; \
+ 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; \
+ NM="$(NM)"; export NM; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ WINDRES="$(WINDRES)"; export WINDRES; \
+ OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
+ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 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} ; \
+ 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) || exit 1 ; \
+ cd .. ; \
+ mv prev-gcc stage2-gcc ; \
+ mv gcc stage3-gcc ; \
+ $(STAMP) all-stage3-gcc
+
+# 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 \
+ cmp --ignore-initial=16 $$r/stage2-gcc/$$file $$r/stage3-gcc/$$file \
+ > /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
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d091b86f39a..6560ebc5d1b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,344 @@
+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
+ NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
+ (_bfd_elf_link_read_relocs): ..to here.
+ * elf32-ppc.c (ppc_elf_relax_section): Formatting.
+
+2004-03-16 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
+ values selected in configure.host. Require both to be defined
+ before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
+ corresponding BFD_HOST vars with quotes.
+ <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
+ Always require BFD_HOST_64_BIT_DEFINED.
+ <file_ptr type>: Find off_t size before emitting message. Combine
+ off_t and ftello64 conditional.
+ * configure: Regenerate.
+
+2004-03-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
+ aliasing warning. Remove trailing whitespace throughout file.
+
+2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
+ input_section in calls to get_dyn_name.
+ * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
+ local symbols.
+ (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
+
+2004-03-15 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
+ (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
+ (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
+ (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
+ (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
+ * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
+ (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
+ when using long.
+ * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
+ (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
+ (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+ (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
+ (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
+ * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
+ (read_8_bytes, read_indirect_string, read_address): Likewise.
+ (read_abbrevs, parse_comp_unit): Likewise.
+ * targets.c (struct bfd_target): Likewise.
+ * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
+ * hppabsd-core.c: Likewise. Formatting.
+ * hpux-core.c: Likewise.
+ * irix-core.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * osf-core.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * trad-core.c: Likewise.
+ * configure: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2004-03-15 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
+ (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
+ (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+ (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
+ (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
+ (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
+ (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
+ * libbfd.c: Likewise in function definitions.
+ (bfd_put_8): Mask with 0xff rather than casting to char.
+ (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
+ (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
+ (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
+ (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
+ (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
+ (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
+ * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
+ (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
+ (H_GET_64, H_GET_32, H_GET_16): Likewise.
+ (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
+ * archive.c (do_slurp_coff_armap): Update swap prototype.
+ * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
+ (tic54x_getl_signed_32): Likewise.
+ (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
+ * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
+ * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
+ (bfd_getp_signed_32, bfd_putp32): Likewise.
+ * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
+ bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
+ bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
+ bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
+ bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
+ bfd_h_getx_signed_16, bfd_h_putx16.
+ * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
+ * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
+ * hpux-core.c: Likewise.
+ * irix-core.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * osf-core.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * trad-core.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2004-03-15 Matt Thomas <matt@3am-software.com>
+
+ * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
+ selected.
+
+2004-03-13 Mark Kettenis <kettenis@gnu.org>
+
+ * config.bfd: Add x86_64-*-openbsd*.
+ * configure.in (x86_64-*-openbsd*): Set COREFILE to
+ 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.
@@ -119,7 +460,7 @@
* configure: Regenerate.
2004-02-17 Daniel Jacobowitz <drow@mvista.com>
- Richard Sandiford <rsandifo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
* elfxx-mips.c (mips_elf_calculate_relocation): Use
_bfd_elf_symbol_refs_local_p to decide whether to decay
@@ -169,7 +510,7 @@
fseeko and fseeko64. Determine bfd_file_ptr.
* configure: Re-generate.
* config.in: Re-generate.
-
+
2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
* coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 3a2d43e2d63..315ede09993 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -1160,7 +1160,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
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index b3bf65b17c0..2aef7e4dce6 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -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@
@@ -941,7 +943,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 +963,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"; \
@@ -1695,7 +1697,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
diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4
index 9d27670a0f1..a97b35f49e7 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/aix386-core.c b/bfd/aix386-core.c
index 7725b342652..22d045ae124 100644
--- a/bfd/aix386-core.c
+++ b/bfd/aix386-core.c
@@ -2,7 +2,7 @@
This was based on trad-core.c, which was written by John Gilmore of
Cygnus Support.
Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1996, 1998, 1999, 2000,
- 2001, 2002
+ 2001, 2002, 2004
Free Software Foundation, Inc.
Written by Minh Tran-Le <TRANLE@INTELLICORP.COM>.
Converted to back end form by Ian Lance Taylor <ian@cygnus.com>.
@@ -222,9 +222,12 @@ swap_abort ()
abort ();
}
-#define NO_GET ((bfd_vma (*) PARAMS ((const bfd_byte *))) swap_abort)
-#define NO_GETS ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort)
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort)
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target aix386_core_vec = {
"aix386-core",
@@ -239,10 +242,10 @@ const bfd_target aix386_core_vec = {
0, /* leading underscore */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_GETS, NO_PUT,
+ NO_GET64, NO_GETS64, NO_PUT64,
NO_GET, NO_GETS, NO_PUT,
NO_GET, NO_GETS, NO_PUT, /* data */
- NO_GET, NO_GETS, NO_PUT,
+ NO_GET64, NO_GETS64, NO_PUT64,
NO_GET, NO_GETS, NO_PUT,
NO_GET, NO_GETS, NO_PUT, /* hdrs */
diff --git a/bfd/archive.c b/bfd/archive.c
index c4171e7bc83..ba6e684ee23 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -753,7 +753,7 @@ do_slurp_coff_armap (bfd *abfd)
unsigned int parsed_size;
carsym *carsyms;
bfd_size_type nsymz; /* Number of symbols in armap. */
- bfd_vma (*swap) (const bfd_byte *);
+ bfd_vma (*swap) (const void *);
char int_buf[sizeof (long)];
bfd_size_type carsym_size, ptrsize;
unsigned int i;
diff --git a/bfd/archures.c b/bfd/archures.c
index f8aeeef8838..0e2a08b831f 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.
@@ -230,6 +230,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 +286,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
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 30bc844b1b8..fedcb372b32 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -55,6 +55,8 @@ extern "C" {
#if @BFD_HOST_64_BIT_DEFINED@
#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@
#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@
+typedef BFD_HOST_64_BIT bfd_int64_t;
+typedef BFD_HOST_U_64_BIT bfd_uint64_t;
#endif
#if BFD_ARCH_SIZE >= 64
@@ -95,24 +97,6 @@ typedef int bfd_boolean;
#define true dont_use_true_in_bfd
#endif
-/* Support for different sizes of target format ints and addresses.
- If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be
- set to 1 above. Otherwise, if the host compiler used during
- configuration supports long long, this code will use it.
- Otherwise, BFD_HOST_64_BIT must be defined above. */
-
-#ifndef BFD_HOST_64_BIT
-# if BFD_HOST_64BIT_LONG
-# define BFD_HOST_64_BIT long
-# define BFD_HOST_U_64_BIT unsigned long
-# else
-# if BFD_HOST_LONG_LONG
-# define BFD_HOST_64_BIT long long
-# define BFD_HOST_U_64_BIT unsigned long long
-# endif /* ! BFD_HOST_LONG_LONG */
-# endif /* ! BFD_HOST_64BIT_LONG */
-#endif /* ! defined (BFD_HOST_64_BIT) */
-
#ifdef BFD64
#ifndef BFD_HOST_64_BIT
@@ -160,6 +144,15 @@ typedef unsigned long bfd_size_type;
#endif /* not BFD64 */
+#ifndef BFD_HOST_64_BIT
+/* Fall back on a 32 bit type. The idea is to make these types always
+ available for function return types, but in the case that
+ BFD_HOST_64_BIT is undefined such a function should abort or
+ otherwise signal an error. */
+typedef bfd_signed_vma bfd_int64_t;
+typedef bfd_vma bfd_uint64_t;
+#endif
+
/* An offset into a file. BFD always uses the largest possible offset
based on the build time availability of fseek, fseeko, or fseeko64. */
typedef @bfd_file_ptr@ file_ptr;
@@ -518,29 +511,29 @@ extern bfd_boolean bfd_record_phdr
/* Byte swapping routines. */
-bfd_vma bfd_getb64 (const unsigned char *);
-bfd_vma bfd_getl64 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_64 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_64 (const unsigned char *);
-bfd_vma bfd_getb32 (const unsigned char *);
-bfd_vma bfd_getl32 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_32 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_32 (const unsigned char *);
-bfd_vma bfd_getb16 (const unsigned char *);
-bfd_vma bfd_getl16 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_16 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_16 (const unsigned char *);
-void bfd_putb64 (bfd_vma, unsigned char *);
-void bfd_putl64 (bfd_vma, unsigned char *);
-void bfd_putb32 (bfd_vma, unsigned char *);
-void bfd_putl32 (bfd_vma, unsigned char *);
-void bfd_putb16 (bfd_vma, unsigned char *);
-void bfd_putl16 (bfd_vma, unsigned char *);
+bfd_uint64_t bfd_getb64 (const void *);
+bfd_uint64_t bfd_getl64 (const void *);
+bfd_int64_t bfd_getb_signed_64 (const void *);
+bfd_int64_t bfd_getl_signed_64 (const void *);
+bfd_vma bfd_getb32 (const void *);
+bfd_vma bfd_getl32 (const void *);
+bfd_signed_vma bfd_getb_signed_32 (const void *);
+bfd_signed_vma bfd_getl_signed_32 (const void *);
+bfd_vma bfd_getb16 (const void *);
+bfd_vma bfd_getl16 (const void *);
+bfd_signed_vma bfd_getb_signed_16 (const void *);
+bfd_signed_vma bfd_getl_signed_16 (const void *);
+void bfd_putb64 (bfd_uint64_t, void *);
+void bfd_putl64 (bfd_uint64_t, void *);
+void bfd_putb32 (bfd_vma, void *);
+void bfd_putl32 (bfd_vma, void *);
+void bfd_putb16 (bfd_vma, void *);
+void bfd_putl16 (bfd_vma, void *);
/* Byte swapping routines which take size and endiannes as arguments. */
-bfd_vma bfd_get_bits (bfd_byte *, int, bfd_boolean);
-void bfd_put_bits (bfd_vma, bfd_byte *, int, bfd_boolean);
+bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
+void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
/* Externally visible ECOFF routines. */
@@ -606,6 +599,12 @@ 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
@@ -620,10 +619,10 @@ extern bfd_boolean bfd_elf64_size_dynamic_sections
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
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 74bbccdac48..5e53956477e 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -62,6 +62,8 @@ extern "C" {
#if @BFD_HOST_64_BIT_DEFINED@
#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@
#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@
+typedef BFD_HOST_64_BIT bfd_int64_t;
+typedef BFD_HOST_U_64_BIT bfd_uint64_t;
#endif
#if BFD_ARCH_SIZE >= 64
@@ -102,24 +104,6 @@ typedef int bfd_boolean;
#define true dont_use_true_in_bfd
#endif
-/* Support for different sizes of target format ints and addresses.
- If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be
- set to 1 above. Otherwise, if the host compiler used during
- configuration supports long long, this code will use it.
- Otherwise, BFD_HOST_64_BIT must be defined above. */
-
-#ifndef BFD_HOST_64_BIT
-# if BFD_HOST_64BIT_LONG
-# define BFD_HOST_64_BIT long
-# define BFD_HOST_U_64_BIT unsigned long
-# else
-# if BFD_HOST_LONG_LONG
-# define BFD_HOST_64_BIT long long
-# define BFD_HOST_U_64_BIT unsigned long long
-# endif /* ! BFD_HOST_LONG_LONG */
-# endif /* ! BFD_HOST_64BIT_LONG */
-#endif /* ! defined (BFD_HOST_64_BIT) */
-
#ifdef BFD64
#ifndef BFD_HOST_64_BIT
@@ -167,6 +151,15 @@ typedef unsigned long bfd_size_type;
#endif /* not BFD64 */
+#ifndef BFD_HOST_64_BIT
+/* Fall back on a 32 bit type. The idea is to make these types always
+ available for function return types, but in the case that
+ BFD_HOST_64_BIT is undefined such a function should abort or
+ otherwise signal an error. */
+typedef bfd_signed_vma bfd_int64_t;
+typedef bfd_vma bfd_uint64_t;
+#endif
+
/* An offset into a file. BFD always uses the largest possible offset
based on the build time availability of fseek, fseeko, or fseeko64. */
typedef @bfd_file_ptr@ file_ptr;
@@ -525,29 +518,29 @@ extern bfd_boolean bfd_record_phdr
/* Byte swapping routines. */
-bfd_vma bfd_getb64 (const unsigned char *);
-bfd_vma bfd_getl64 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_64 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_64 (const unsigned char *);
-bfd_vma bfd_getb32 (const unsigned char *);
-bfd_vma bfd_getl32 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_32 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_32 (const unsigned char *);
-bfd_vma bfd_getb16 (const unsigned char *);
-bfd_vma bfd_getl16 (const unsigned char *);
-bfd_signed_vma bfd_getb_signed_16 (const unsigned char *);
-bfd_signed_vma bfd_getl_signed_16 (const unsigned char *);
-void bfd_putb64 (bfd_vma, unsigned char *);
-void bfd_putl64 (bfd_vma, unsigned char *);
-void bfd_putb32 (bfd_vma, unsigned char *);
-void bfd_putl32 (bfd_vma, unsigned char *);
-void bfd_putb16 (bfd_vma, unsigned char *);
-void bfd_putl16 (bfd_vma, unsigned char *);
+bfd_uint64_t bfd_getb64 (const void *);
+bfd_uint64_t bfd_getl64 (const void *);
+bfd_int64_t bfd_getb_signed_64 (const void *);
+bfd_int64_t bfd_getl_signed_64 (const void *);
+bfd_vma bfd_getb32 (const void *);
+bfd_vma bfd_getl32 (const void *);
+bfd_signed_vma bfd_getb_signed_32 (const void *);
+bfd_signed_vma bfd_getl_signed_32 (const void *);
+bfd_vma bfd_getb16 (const void *);
+bfd_vma bfd_getl16 (const void *);
+bfd_signed_vma bfd_getb_signed_16 (const void *);
+bfd_signed_vma bfd_getl_signed_16 (const void *);
+void bfd_putb64 (bfd_uint64_t, void *);
+void bfd_putl64 (bfd_uint64_t, void *);
+void bfd_putb32 (bfd_vma, void *);
+void bfd_putl32 (bfd_vma, void *);
+void bfd_putb16 (bfd_vma, void *);
+void bfd_putl16 (bfd_vma, void *);
/* Byte swapping routines which take size and endiannes as arguments. */
-bfd_vma bfd_get_bits (bfd_byte *, int, bfd_boolean);
-void bfd_put_bits (bfd_vma, bfd_byte *, int, bfd_boolean);
+bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
+void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
/* Externally visible ECOFF routines. */
@@ -613,6 +606,12 @@ 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
@@ -627,10 +626,10 @@ extern bfd_boolean bfd_elf64_size_dynamic_sections
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
@@ -873,7 +872,7 @@ bfd_boolean bfd_fill_in_gnu_debuglink_section
/* Byte swapping macros for user section data. */
#define bfd_put_8(abfd, val, ptr) \
- ((void) (*((unsigned char *) (ptr)) = (unsigned char) (val)))
+ ((void) (*((unsigned char *) (ptr)) = (val) & 0xff))
#define bfd_put_signed_8 \
bfd_put_8
#define bfd_get_8(abfd, ptr) \
@@ -961,52 +960,24 @@ bfd_boolean bfd_fill_in_gnu_debuglink_section
#define bfd_h_get_signed_64(abfd, ptr) \
BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr))
-/* Refinements on the above, which should eventually go away. Save
- cluttering the source with (bfd_vma) and (bfd_byte *) casts. */
-
-#define H_PUT_64(abfd, val, where) \
- bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_32(abfd, val, where) \
- bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_16(abfd, val, where) \
- bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_8 bfd_h_put_8
-
-#define H_PUT_S64(abfd, val, where) \
- bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_S32(abfd, val, where) \
- bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_S16(abfd, val, where) \
- bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_S8 bfd_h_put_signed_8
-
-#define H_GET_64(abfd, where) \
- bfd_h_get_64 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_32(abfd, where) \
- bfd_h_get_32 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_16(abfd, where) \
- bfd_h_get_16 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_8 bfd_h_get_8
-
-#define H_GET_S64(abfd, where) \
- bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_S32(abfd, where) \
- bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_S16(abfd, where) \
- bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_S8 bfd_h_get_signed_8
+/* Aliases for the above, which should eventually go away. */
+
+#define H_PUT_64 bfd_h_put_64
+#define H_PUT_32 bfd_h_put_32
+#define H_PUT_16 bfd_h_put_16
+#define H_PUT_8 bfd_h_put_8
+#define H_PUT_S64 bfd_h_put_signed_64
+#define H_PUT_S32 bfd_h_put_signed_32
+#define H_PUT_S16 bfd_h_put_signed_16
+#define H_PUT_S8 bfd_h_put_signed_8
+#define H_GET_64 bfd_h_get_64
+#define H_GET_32 bfd_h_get_32
+#define H_GET_16 bfd_h_get_16
+#define H_GET_8 bfd_h_get_8
+#define H_GET_S64 bfd_h_get_signed_64
+#define H_GET_S32 bfd_h_get_signed_32
+#define H_GET_S16 bfd_h_get_signed_16
+#define H_GET_S8 bfd_h_get_signed_8
/* Extracted from bfdio.c. */
@@ -1662,6 +1633,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
@@ -1717,6 +1689,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
@@ -4128,26 +4101,26 @@ typedef struct bfd_target
/* Entries for byte swapping for data. These are different from the
other entry points, since they don't take a BFD asthe first argument.
Certain other handlers could do the same. */
- bfd_vma (*bfd_getx64) (const bfd_byte *);
- bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *);
- void (*bfd_putx64) (bfd_vma, bfd_byte *);
- bfd_vma (*bfd_getx32) (const bfd_byte *);
- bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *);
- void (*bfd_putx32) (bfd_vma, bfd_byte *);
- bfd_vma (*bfd_getx16) (const bfd_byte *);
- bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *);
- void (*bfd_putx16) (bfd_vma, bfd_byte *);
+ bfd_uint64_t (*bfd_getx64) (const void *);
+ bfd_int64_t (*bfd_getx_signed_64) (const void *);
+ void (*bfd_putx64) (bfd_uint64_t, void *);
+ bfd_vma (*bfd_getx32) (const void *);
+ bfd_signed_vma (*bfd_getx_signed_32) (const void *);
+ void (*bfd_putx32) (bfd_vma, void *);
+ bfd_vma (*bfd_getx16) (const void *);
+ bfd_signed_vma (*bfd_getx_signed_16) (const void *);
+ void (*bfd_putx16) (bfd_vma, void *);
/* Byte swapping for the headers. */
- bfd_vma (*bfd_h_getx64) (const bfd_byte *);
- bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *);
- void (*bfd_h_putx64) (bfd_vma, bfd_byte *);
- bfd_vma (*bfd_h_getx32) (const bfd_byte *);
- bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *);
- void (*bfd_h_putx32) (bfd_vma, bfd_byte *);
- bfd_vma (*bfd_h_getx16) (const bfd_byte *);
- bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *);
- void (*bfd_h_putx16) (bfd_vma, bfd_byte *);
+ bfd_uint64_t (*bfd_h_getx64) (const void *);
+ bfd_int64_t (*bfd_h_getx_signed_64) (const void *);
+ void (*bfd_h_putx64) (bfd_uint64_t, void *);
+ bfd_vma (*bfd_h_getx32) (const void *);
+ bfd_signed_vma (*bfd_h_getx_signed_32) (const void *);
+ void (*bfd_h_putx32) (bfd_vma, void *);
+ bfd_vma (*bfd_h_getx16) (const void *);
+ bfd_signed_vma (*bfd_h_getx_signed_16) (const void *);
+ void (*bfd_h_putx16) (bfd_vma, void *);
/* Format dependent routines: these are vectors of entry points
within the target vector structure, one for each format to check. */
diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c
index 5d8ccc20817..316768e2dc6 100644
--- a/bfd/coff-tic54x.c
+++ b/bfd/coff-tic54x.c
@@ -38,12 +38,6 @@ static bfd_boolean tic54x_set_section_contents
PARAMS ((bfd *, sec_ptr, const PTR, file_ptr, bfd_size_type));
static reloc_howto_type *coff_tic54x_rtype_to_howto
PARAMS ((bfd *, asection *, struct internal_reloc *, struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *));
-static bfd_vma tic54x_getl32
- PARAMS ((const bfd_byte *));
-static void tic54x_putl32
- PARAMS ((bfd_vma, bfd_byte *));
-static bfd_signed_vma tic54x_getl_signed_32
- PARAMS ((const bfd_byte *));
static bfd_boolean tic54x_set_arch_mach
PARAMS ((bfd *, enum bfd_architecture, unsigned long));
static reloc_howto_type * tic54x_coff_reloc_type_lookup
@@ -61,33 +55,32 @@ static bfd_boolean ticoff_bfd_is_local_label_name
Don't bother with 64-bits, as there aren't any. */
static bfd_vma
-tic54x_getl32 (addr)
- const bfd_byte *addr;
+tic54x_getl32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[2];
v |= (unsigned long) addr[3] << 8;
v |= (unsigned long) addr[0] << 16;
v |= (unsigned long) addr[1] << 24;
- return (bfd_vma) v;
+ return v;
}
static void
-tic54x_putl32 (data, addr)
- bfd_vma data;
- bfd_byte *addr;
+tic54x_putl32 (bfd_vma data, void *p)
{
- addr[2] = (bfd_byte)data;
- addr[3] = (bfd_byte) (data >> 8);
- addr[0] = (bfd_byte) (data >> 16);
- addr[1] = (bfd_byte) (data >> 24);
+ bfd_byte *addr = p;
+ addr[2] = data & 0xff;
+ addr[3] = (data >> 8) & 0xff;
+ addr[0] = (data >> 16) & 0xff;
+ addr[1] = (data >> 24) & 0xff;
}
-bfd_signed_vma
-tic54x_getl_signed_32 (addr)
- register const bfd_byte *addr;
+static bfd_signed_vma
+tic54x_getl_signed_32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[2];
diff --git a/bfd/config.bfd b/bfd/config.bfd
index da8d94684b7..2f9c197a90f 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -459,6 +459,7 @@ case "${targ}" in
i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
targ_defvec=bfd_elf32_i386_vec
targ_selvecs=i386netbsd_vec
+ targ64_selvecs=bfd_elf64_x86_64_vec
;;
i[3-7]86-*-netbsdpe*)
targ_defvec=i386pe_vec
@@ -493,7 +494,7 @@ case "${targ}" in
targ_defvec=bfd_elf64_x86_64_vec
targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec"
;;
- x86_64-*-netbsd*)
+ x86_64-*-netbsd* | x86_64-*-openbsd*)
targ_defvec=bfd_elf64_x86_64_vec
targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
;;
@@ -1089,7 +1090,12 @@ case "${targ}" in
#endif
targ_underscore=yes
;;
- sh-*-elf* | sh[1234]*-elf* | sh-*-rtemself* | sh-*-kaos*)
+ sh-*-rtemscoff*)
+ targ_defvec=shcoff_vec
+ targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+ targ_underscore=yes
+ ;;
+ sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
targ_defvec=bfd_elf32_sh_vec
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
#ifdef BFD64
@@ -1115,7 +1121,7 @@ case "${targ}" in
# compiled correctly.
targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
;;
- sh-*-* | sh-*-rtems*)
+ sh-*-*)
targ_defvec=shcoff_vec
targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
targ_underscore=yes
diff --git a/bfd/config.in b/bfd/config.in
index ef9eca414fb..32245393fce 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 90df6550589..ab9049b058d 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -59,7 +59,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -174,7 +173,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
@@ -345,11 +343,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=*)
@@ -515,16 +508,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
@@ -563,12 +552,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:567: checking for Cygwin environment" >&5
+echo "configure:556: 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 572 "configure"
+#line 561 "configure"
#include "confdefs.h"
int main() {
@@ -579,7 +568,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:572: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -596,19 +585,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:600: checking for mingw32 environment" >&5
+echo "configure:589: 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 605 "configure"
+#line 594 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:612: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -673,7 +662,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:677: checking host system type" >&5
+echo "configure:666: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -694,7 +683,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:698: checking target system type" >&5
+echo "configure:687: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -712,7 +701,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:716: checking build system type" >&5
+echo "configure:705: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -736,7 +725,7 @@ test "$host_alias" != "$target_alias" &&
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:740: checking for strerror in -lcposix" >&5
+echo "configure:729: 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
@@ -744,7 +733,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 748 "configure"
+#line 737 "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
@@ -755,7 +744,7 @@ int main() {
strerror()
; return 0; }
EOF
-if { (eval echo configure:759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:748: \"$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
@@ -791,7 +780,7 @@ am__api_version="1.4"
# 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:795: checking for a BSD compatible install" >&5
+echo "configure:784: 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
@@ -844,7 +833,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:848: checking whether build environment is sane" >&5
+echo "configure:837: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -901,7 +890,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:905: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:894: 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
@@ -947,7 +936,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6
-echo "configure:951: checking for working aclocal-${am__api_version}" >&5
+echo "configure:940: 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.
@@ -960,7 +949,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:964: checking for working autoconf" >&5
+echo "configure:953: 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.
@@ -973,7 +962,7 @@ else
fi
echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6
-echo "configure:977: checking for working automake-${am__api_version}" >&5
+echo "configure:966: 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.
@@ -986,7 +975,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:990: checking for working autoheader" >&5
+echo "configure:979: 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.
@@ -999,7 +988,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1003: checking for working makeinfo" >&5
+echo "configure:992: 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.
@@ -1034,7 +1023,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:1038: checking for $ac_word" >&5
+echo "configure:1027: 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
@@ -1066,7 +1055,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:1070: checking for $ac_word" >&5
+echo "configure:1059: 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
@@ -1098,7 +1087,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:1102: checking for $ac_word" >&5
+echo "configure:1091: 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
@@ -1204,7 +1193,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:1208: checking for $ac_word" >&5
+echo "configure:1197: 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
@@ -1234,7 +1223,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:1238: checking for $ac_word" >&5
+echo "configure:1227: 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
@@ -1285,7 +1274,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:1289: checking for $ac_word" >&5
+echo "configure:1278: 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
@@ -1317,7 +1306,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1321: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1310: 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.
@@ -1328,12 +1317,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1332 "configure"
+#line 1321 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1326: \"$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
@@ -1359,12 +1348,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:1363: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1352: 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:1368: checking whether we are using GNU C" >&5
+echo "configure:1357: 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
@@ -1373,7 +1362,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1377: \"$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:1366: \"$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
@@ -1392,7 +1381,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:1396: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1385: 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
@@ -1435,7 +1424,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:1439: checking for ld used by GCC" >&5
+echo "configure:1428: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -1465,10 +1454,10 @@ echo "configure:1439: 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:1469: checking for GNU ld" >&5
+echo "configure:1458: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1472: checking for non-GNU ld" >&5
+echo "configure:1461: 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
@@ -1503,7 +1492,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:1507: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1496: 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
@@ -1520,7 +1509,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:1524: checking for $LD option to reload object files" >&5
+echo "configure:1513: 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
@@ -1532,7 +1521,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:1536: checking for BSD-compatible nm" >&5
+echo "configure:1525: 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
@@ -1570,7 +1559,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:1574: checking whether ln -s works" >&5
+echo "configure:1563: 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
@@ -1591,7 +1580,7 @@ else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1595: checking how to recognise dependant libraries" >&5
+echo "configure:1584: 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
@@ -1764,13 +1753,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:1768: checking for object suffix" >&5
+echo "configure:1757: 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:1774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
@@ -1790,7 +1779,7 @@ ac_objext=$ac_cv_objext
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1794: checking for executable suffix" >&5
+echo "configure:1783: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1800,10 +1789,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1793: \"$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
@@ -1827,7 +1816,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:1831: checking for ${ac_tool_prefix}file" >&5
+echo "configure:1820: 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
@@ -1889,7 +1878,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:1893: checking for file" >&5
+echo "configure:1882: 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
@@ -1960,7 +1949,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:1964: checking for $ac_word" >&5
+echo "configure:1953: 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
@@ -1992,7 +1981,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:1996: checking for $ac_word" >&5
+echo "configure:1985: 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
@@ -2027,7 +2016,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:2031: checking for $ac_word" >&5
+echo "configure:2020: 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
@@ -2059,7 +2048,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:2063: checking for $ac_word" >&5
+echo "configure:2052: 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
@@ -2126,8 +2115,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 2130 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 2119 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:2120: \"$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*)
@@ -2160,7 +2149,7 @@ case $host in
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo configure:2164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*ELF-32*)
HPUX_IA64_MODE="32"
@@ -2178,7 +2167,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:2182: checking whether the C compiler needs -belf" >&5
+echo "configure:2171: 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
@@ -2191,14 +2180,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 2195 "configure"
+#line 2184 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2191: \"$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
@@ -2388,7 +2377,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:2392: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:2381: 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"
@@ -2411,7 +2400,7 @@ fi
echo $ac_n "checking whether to install libbfd""... $ac_c" 1>&6
-echo "configure:2415: checking whether to install libbfd" >&5
+echo "configure:2404: 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"
@@ -2448,7 +2437,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2452: checking for executable suffix" >&5
+echo "configure:2441: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2458,10 +2447,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:2462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:2451: \"$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
@@ -2488,7 +2477,7 @@ bfd_default_target_size=32
# 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:2492: checking for $ac_word" >&5
+echo "configure:2481: 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
@@ -2518,7 +2507,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:2522: checking for $ac_word" >&5
+echo "configure:2511: 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
@@ -2569,7 +2558,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:2573: checking for $ac_word" >&5
+echo "configure:2562: 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
@@ -2601,7 +2590,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2605: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2594: 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.
@@ -2612,12 +2601,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 2616 "configure"
+#line 2605 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2610: \"$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
@@ -2643,12 +2632,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:2647: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2636: 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:2652: checking whether we are using GNU C" >&5
+echo "configure:2641: 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
@@ -2657,7 +2646,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2661: \"$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:2650: \"$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
@@ -2676,7 +2665,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:2680: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2669: 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
@@ -2710,7 +2699,7 @@ fi
ALL_LINGUAS="fr tr ja es sv da zh_CN ro"
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2714: checking how to run the C preprocessor" >&5
+echo "configure:2703: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -2725,13 +2714,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 2729 "configure"
+#line 2718 "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:2735: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2724: \"$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
:
@@ -2742,13 +2731,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2746 "configure"
+#line 2735 "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:2752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2741: \"$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
:
@@ -2759,13 +2748,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2763 "configure"
+#line 2752 "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:2769: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2758: \"$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
:
@@ -2792,7 +2781,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:2796: checking for $ac_word" >&5
+echo "configure:2785: 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
@@ -2820,12 +2809,12 @@ else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2824: checking for ANSI C header files" >&5
+echo "configure:2813: 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 2829 "configure"
+#line 2818 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2833,7 +2822,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2826: \"$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*
@@ -2850,7 +2839,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 2854 "configure"
+#line 2843 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2868,7 +2857,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 2872 "configure"
+#line 2861 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2889,7 +2878,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2893 "configure"
+#line 2882 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2900,7 +2889,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2924,12 +2913,12 @@ EOF
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2928: checking for working const" >&5
+echo "configure:2917: 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 2933 "configure"
+#line 2922 "configure"
#include "confdefs.h"
int main() {
@@ -2978,7 +2967,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:2982: \"$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_const=yes
else
@@ -2999,21 +2988,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:3003: checking for inline" >&5
+echo "configure:2992: 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 3010 "configure"
+#line 2999 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:3017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -3039,12 +3028,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3043: checking for off_t" >&5
+echo "configure:3032: 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 3048 "configure"
+#line 3037 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3072,12 +3061,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3076: checking for size_t" >&5
+echo "configure:3065: 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 3081 "configure"
+#line 3070 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3107,19 +3096,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:3111: checking for working alloca.h" >&5
+echo "configure:3100: 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 3116 "configure"
+#line 3105 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:3123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3112: \"$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
@@ -3140,12 +3129,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:3144: checking for alloca" >&5
+echo "configure:3133: 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 3149 "configure"
+#line 3138 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -3173,7 +3162,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:3177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3166: \"$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
@@ -3205,12 +3194,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:3209: checking whether alloca needs Cray hooks" >&5
+echo "configure:3198: 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 3214 "configure"
+#line 3203 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -3235,12 +3224,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:3239: checking for $ac_func" >&5
+echo "configure:3228: 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 3244 "configure"
+#line 3233 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3263,7 +3252,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3256: \"$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
@@ -3290,7 +3279,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:3294: checking stack direction for C alloca" >&5
+echo "configure:3283: 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
@@ -3298,7 +3287,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 3302 "configure"
+#line 3291 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -3317,7 +3306,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:3321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3310: \"$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
@@ -3338,21 +3327,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:3346: checking for $ac_hdr" >&5
+echo "configure:3335: 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 3351 "configure"
+#line 3340 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3345: \"$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*
@@ -3381,12 +3370,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3385: checking for $ac_func" >&5
+echo "configure:3374: 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 3390 "configure"
+#line 3379 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3409,7 +3398,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3402: \"$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
@@ -3434,7 +3423,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3438: checking for working mmap" >&5
+echo "configure:3427: 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
@@ -3442,7 +3431,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3446 "configure"
+#line 3435 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3470,11 +3459,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
@@ -3582,7 +3584,7 @@ main()
}
EOF
-if { (eval echo configure:3586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3588: \"$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
@@ -3610,17 +3612,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:3614: checking for $ac_hdr" >&5
+echo "configure:3616: 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 3619 "configure"
+#line 3621 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3624: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3626: \"$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*
@@ -3650,12 +3652,12 @@ done
__argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3654: checking for $ac_func" >&5
+echo "configure:3656: 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 3659 "configure"
+#line 3661 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3678,7 +3680,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3684: \"$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
@@ -3707,12 +3709,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3711: checking for $ac_func" >&5
+echo "configure:3713: 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 3716 "configure"
+#line 3718 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3735,7 +3737,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3741: \"$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
@@ -3769,19 +3771,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3773: checking for LC_MESSAGES" >&5
+echo "configure:3775: 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 3778 "configure"
+#line 3780 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3787: \"$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
@@ -3802,7 +3804,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3806: checking whether NLS is requested" >&5
+echo "configure:3808: 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"
@@ -3822,7 +3824,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3826: checking whether included gettext is requested" >&5
+echo "configure:3828: 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"
@@ -3841,17 +3843,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3845: checking for libintl.h" >&5
+echo "configure:3847: 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 3850 "configure"
+#line 3852 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3857: \"$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*
@@ -3868,19 +3870,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:3872: checking for gettext in libc" >&5
+echo "configure:3874: 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 3877 "configure"
+#line 3879 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3884: \"$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*
gt_cv_func_gettext_libc=yes
else
@@ -3896,7 +3898,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:3900: checking for bindtextdomain in -lintl" >&5
+echo "configure:3902: 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
@@ -3904,7 +3906,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3908 "configure"
+#line 3910 "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
@@ -3915,7 +3917,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3921: \"$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
@@ -3931,19 +3933,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:3935: checking for gettext in libintl" >&5
+echo "configure:3937: 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 3940 "configure"
+#line 3942 "configure"
#include "confdefs.h"
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3949: \"$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
@@ -3971,7 +3973,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:3975: checking for $ac_word" >&5
+echo "configure:3977: 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
@@ -4005,12 +4007,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4009: checking for $ac_func" >&5
+echo "configure:4011: 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 4014 "configure"
+#line 4016 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4033,7 +4035,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4039: \"$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
@@ -4060,7 +4062,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:4064: checking for $ac_word" >&5
+echo "configure:4066: 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
@@ -4096,7 +4098,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:4100: checking for $ac_word" >&5
+echo "configure:4102: 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
@@ -4128,7 +4130,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 4132 "configure"
+#line 4134 "configure"
#include "confdefs.h"
int main() {
@@ -4136,7 +4138,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:4140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4168,7 +4170,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:4172: checking for $ac_word" >&5
+echo "configure:4174: 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
@@ -4202,7 +4204,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:4206: checking for $ac_word" >&5
+echo "configure:4208: 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
@@ -4238,7 +4240,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:4242: checking for $ac_word" >&5
+echo "configure:4244: 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
@@ -4328,7 +4330,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4332: checking for catalogs to be installed" >&5
+echo "configure:4334: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4356,17 +4358,17 @@ echo "configure:4332: 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:4360: checking for linux/version.h" >&5
+echo "configure:4362: 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 4365 "configure"
+#line 4367 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4372: \"$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*
@@ -4444,7 +4446,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:4448: checking for a BSD compatible install" >&5
+echo "configure:4450: 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
@@ -4504,19 +4506,19 @@ BFD_HOST_64_BIT=
BFD_HOST_U_64_BIT=
echo $ac_n "checking for long long""... $ac_c" 1>&6
-echo "configure:4508: checking for long long" >&5
+echo "configure:4510: 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 4513 "configure"
+#line 4515 "configure"
#include "confdefs.h"
int main() {
unsigned long long ll = 18446744073709551615ULL;
; return 0; }
EOF
-if { (eval echo configure:4520: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4522: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_has_long_long=yes
else
@@ -4532,13 +4534,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:4536: checking size of long long" >&5
+echo "configure:4538: 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 4542 "configure"
+#line 4544 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -4548,7 +4550,7 @@ int main() {
switch (0) case 0: case (sizeof (long long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:4552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long_long=$ac_size
else
@@ -4573,13 +4575,13 @@ EOF
fi
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4577: checking size of long" >&5
+echo "configure:4579: 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 4583 "configure"
+#line 4585 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@@ -4589,7 +4591,7 @@ int main() {
switch (0) case 0: case (sizeof (long) == $ac_size):;
; return 0; }
EOF
-if { (eval echo configure:4593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long=$ac_size
else
@@ -4613,18 +4615,18 @@ EOF
if test "x${ac_cv_sizeof_long}" = "x8"; then
host64=true
- HOST_64BIT_TYPE="long"
+ BFD_HOST_64BIT_LONG=1
+ test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
+ test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
- HOST_64BIT_TYPE="long long"
- HOST_U_64BIT_TYPE="unsigned long long"
+ test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
+ test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
fi
-if test "x${HOST_64BIT_TYPE}" = "xlong"; then
- BFD_HOST_64BIT_LONG=1
-elif test "x${HOST_64BIT_TYPE}" != "x"; then
+if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
BFD_HOST_64_BIT_DEFINED=1
- BFD_HOST_64_BIT=${HOST_64BIT_TYPE}
- BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE}
+ BFD_HOST_64_BIT="${HOST_64BIT_TYPE}"
+ BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}"
fi
@@ -4647,7 +4649,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:4651: checking for build system executable suffix" >&5
+echo "configure:4653: 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
@@ -4675,17 +4677,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:4679: checking for $ac_hdr" >&5
+echo "configure:4681: 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 4684 "configure"
+#line 4686 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4691: \"$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*
@@ -4715,17 +4717,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:4719: checking for $ac_hdr" >&5
+echo "configure:4721: 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 4724 "configure"
+#line 4726 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4731: \"$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*
@@ -4752,12 +4754,12 @@ fi
done
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:4756: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:4758: 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 4761 "configure"
+#line 4763 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -4766,7 +4768,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:4770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -4791,12 +4793,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:4795: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4797: 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 4800 "configure"
+#line 4802 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -4804,7 +4806,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:4808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -4829,7 +4831,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:4833: checking for opendir in -ldir" >&5
+echo "configure:4835: 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
@@ -4837,7 +4839,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4841 "configure"
+#line 4843 "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
@@ -4848,7 +4850,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4854: \"$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
@@ -4870,7 +4872,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4874: checking for opendir in -lx" >&5
+echo "configure:4876: 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
@@ -4878,7 +4880,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4882 "configure"
+#line 4884 "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
@@ -4889,7 +4891,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:4893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4895: \"$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
@@ -4914,12 +4916,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:4918: checking for $ac_func" >&5
+echo "configure:4920: 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 4923 "configure"
+#line 4925 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4942,7 +4944,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4948: \"$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
@@ -4969,12 +4971,12 @@ done
for ac_func in strtoull
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4973: checking for $ac_func" >&5
+echo "configure:4975: 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 4978 "configure"
+#line 4980 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4997,7 +4999,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:5001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5003: \"$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
@@ -5032,12 +5034,12 @@ EOF
esac
echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6
-echo "configure:5036: checking whether strstr must be declared" >&5
+echo "configure:5038: 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 5041 "configure"
+#line 5043 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5058,7 +5060,7 @@ int main() {
char *(*pfn) = (char *(*)) strstr
; return 0; }
EOF
-if { (eval echo configure:5062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_strstr=no
else
@@ -5079,12 +5081,12 @@ EOF
fi
echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6
-echo "configure:5083: checking whether malloc must be declared" >&5
+echo "configure:5085: 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 5088 "configure"
+#line 5090 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5105,7 +5107,7 @@ int main() {
char *(*pfn) = (char *(*)) malloc
; return 0; }
EOF
-if { (eval echo configure:5109: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_malloc=no
else
@@ -5126,12 +5128,12 @@ EOF
fi
echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6
-echo "configure:5130: checking whether realloc must be declared" >&5
+echo "configure:5132: 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 5135 "configure"
+#line 5137 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5152,7 +5154,7 @@ int main() {
char *(*pfn) = (char *(*)) realloc
; return 0; }
EOF
-if { (eval echo configure:5156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_realloc=no
else
@@ -5173,12 +5175,12 @@ EOF
fi
echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6
-echo "configure:5177: checking whether free must be declared" >&5
+echo "configure:5179: 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 5182 "configure"
+#line 5184 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5199,7 +5201,7 @@ int main() {
char *(*pfn) = (char *(*)) free
; return 0; }
EOF
-if { (eval echo configure:5203: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_free=no
else
@@ -5220,12 +5222,12 @@ EOF
fi
echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6
-echo "configure:5224: checking whether getenv must be declared" >&5
+echo "configure:5226: 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 5229 "configure"
+#line 5231 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -5246,7 +5248,7 @@ int main() {
char *(*pfn) = (char *(*)) getenv
; return 0; }
EOF
-if { (eval echo configure:5250: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_decl_needed_getenv=no
else
@@ -5434,16 +5436,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:5438: checking for c_impl in struct core_dumpx" >&5
+echo "configure:5440: checking for c_impl in struct core_dumpx" >&5
cat > conftest.$ac_ext <<EOF
-#line 5440 "configure"
+#line 5442 "configure"
#include "confdefs.h"
#include <core.h>
int main() {
struct core_dumpx c; c.c_impl = 0;
; return 0; }
EOF
-if { (eval echo configure:5447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ST_C_IMPL 1
@@ -5495,7 +5497,9 @@ rm -f conftest*
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/vaxbsd.h"'
;;
- x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;;
+ x86_64-*-netbsd* | x86_64-*-openbsd*)
+ COREFILE=netbsd-core.lo
+ ;;
esac
case "$COREFILE" in
@@ -5518,17 +5522,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:5522: checking for $ac_hdr" >&5
+echo "configure:5526: 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 5527 "configure"
+#line 5531 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5532: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5536: \"$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*
@@ -5556,12 +5560,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:5560: checking for prstatus_t in sys/procfs.h" >&5
+echo "configure:5564: 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 5565 "configure"
+#line 5569 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5570,7 +5574,7 @@ int main() {
prstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prstatus_t=yes
else
@@ -5592,12 +5596,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:5596: checking for prstatus32_t in sys/procfs.h" >&5
+echo "configure:5600: 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 5601 "configure"
+#line 5605 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5606,7 +5610,7 @@ int main() {
prstatus32_t avar
; return 0; }
EOF
-if { (eval echo configure:5610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prstatus32_t=yes
else
@@ -5628,12 +5632,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:5632: checking for prstatus_t.pr_who in sys/procfs.h" >&5
+echo "configure:5636: 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 5637 "configure"
+#line 5641 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5642,7 +5646,7 @@ int main() {
prstatus_t avar; void* aref = (void*) &avar.pr_who
; return 0; }
EOF
-if { (eval echo configure:5646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5650: \"$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
@@ -5664,12 +5668,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:5668: checking for prstatus32_t.pr_who in sys/procfs.h" >&5
+echo "configure:5672: 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 5673 "configure"
+#line 5677 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5678,7 +5682,7 @@ int main() {
prstatus32_t avar; void* aref = (void*) &avar.pr_who
; return 0; }
EOF
-if { (eval echo configure:5682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5686: \"$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
@@ -5700,12 +5704,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:5704: checking for pstatus_t in sys/procfs.h" >&5
+echo "configure:5708: 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 5709 "configure"
+#line 5713 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5714,7 +5718,7 @@ int main() {
pstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pstatus_t=yes
else
@@ -5736,12 +5740,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:5740: checking for pxstatus_t in sys/procfs.h" >&5
+echo "configure:5744: 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 5745 "configure"
+#line 5749 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5750,7 +5754,7 @@ int main() {
pxstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5754: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pxstatus_t=yes
else
@@ -5772,12 +5776,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:5776: checking for pstatus32_t in sys/procfs.h" >&5
+echo "configure:5780: 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 5781 "configure"
+#line 5785 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5786,7 +5790,7 @@ int main() {
pstatus32_t avar
; return 0; }
EOF
-if { (eval echo configure:5790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_pstatus32_t=yes
else
@@ -5808,12 +5812,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:5812: checking for prpsinfo_t in sys/procfs.h" >&5
+echo "configure:5816: 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 5817 "configure"
+#line 5821 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5822,7 +5826,7 @@ int main() {
prpsinfo_t avar
; return 0; }
EOF
-if { (eval echo configure:5826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prpsinfo_t=yes
else
@@ -5844,12 +5848,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:5848: checking for prpsinfo32_t in sys/procfs.h" >&5
+echo "configure:5852: 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 5853 "configure"
+#line 5857 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5858,7 +5862,7 @@ int main() {
prpsinfo32_t avar
; return 0; }
EOF
-if { (eval echo configure:5862: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5866: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes
else
@@ -5880,12 +5884,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:5884: checking for psinfo_t in sys/procfs.h" >&5
+echo "configure:5888: 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 5889 "configure"
+#line 5893 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5894,7 +5898,7 @@ int main() {
psinfo_t avar
; return 0; }
EOF
-if { (eval echo configure:5898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_psinfo_t=yes
else
@@ -5916,12 +5920,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:5920: checking for psinfo32_t in sys/procfs.h" >&5
+echo "configure:5924: 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 5925 "configure"
+#line 5929 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5930,7 +5934,7 @@ int main() {
psinfo32_t avar
; return 0; }
EOF
-if { (eval echo configure:5934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_psinfo32_t=yes
else
@@ -5952,12 +5956,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:5956: checking for lwpstatus_t in sys/procfs.h" >&5
+echo "configure:5960: 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 5961 "configure"
+#line 5965 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -5966,7 +5970,7 @@ int main() {
lwpstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:5970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_lwpstatus_t=yes
else
@@ -5988,12 +5992,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:5992: checking for lwpxstatus_t in sys/procfs.h" >&5
+echo "configure:5996: 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 5997 "configure"
+#line 6001 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6002,7 +6006,7 @@ int main() {
lwpxstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:6006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes
else
@@ -6024,12 +6028,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:6028: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5
+echo "configure:6032: 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 6033 "configure"
+#line 6037 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6038,7 +6042,7 @@ int main() {
lwpstatus_t avar; void* aref = (void*) &avar.pr_context
; return 0; }
EOF
-if { (eval echo configure:6042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6046: \"$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
@@ -6060,12 +6064,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:6064: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5
+echo "configure:6068: 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 6069 "configure"
+#line 6073 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6074,7 +6078,7 @@ int main() {
lwpstatus_t avar; void* aref = (void*) &avar.pr_reg
; return 0; }
EOF
-if { (eval echo configure:6078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6082: \"$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
@@ -6096,12 +6100,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:6100: checking for win32_pstatus_t in sys/procfs.h" >&5
+echo "configure:6104: 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 6105 "configure"
+#line 6109 "configure"
#include "confdefs.h"
#define _SYSCALL32
@@ -6110,7 +6114,7 @@ int main() {
win32_pstatus_t avar
; return 0; }
EOF
-if { (eval echo configure:6114: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes
else
@@ -6575,17 +6579,17 @@ case ${host64}-${target64}-${want64} in
wordsize=64
bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)'
all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
- if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then
+ if test $BFD_HOST_64_BIT_DEFINED = 0; then
echo "configure: warning: You have requested a 64 bit BFD configuration, but" 1>&2
echo "configure: warning: your compiler may not have a 64 bit integral type" 1>&2
fi
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:6586: checking for gcc version with buggy 64-bit support" >&5
+echo "configure:6590: 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 6589 "configure"
+#line 6593 "configure"
#include "confdefs.h"
:__GNUC__:__GNUC_MINOR__:__i386__:
EOF
@@ -6627,12 +6631,12 @@ esac
for ac_func in ftello ftello64 fseeko fseeko64
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6631: checking for $ac_func" >&5
+echo "configure:6635: 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 6636 "configure"
+#line 6640 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6655,7 +6659,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6663: \"$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
@@ -6679,10 +6683,6 @@ else
fi
done
-echo $ac_n "checking file_ptr type""... $ac_c" 1>&6
-echo "configure:6684: checking file_ptr type" >&5
-bfd_file_ptr="long"
-bfd_ufile_ptr="unsigned long"
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
@@ -6723,12 +6723,13 @@ cat >> confdefs.h <<EOF
EOF
- if test "x${ac_cv_sizeof_off_t}" = "x8"; then
- bfd_file_ptr=BFD_HOST_64_BIT
- bfd_ufile_ptr=BFD_HOST_U_64_BIT
- fi
fi
-if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes; then
+echo $ac_n "checking file_ptr type""... $ac_c" 1>&6
+echo "configure:6729: 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 \
+ -o x"${ac_cv_sizeof_off_t}" = x8; then
bfd_file_ptr=BFD_HOST_64_BIT
bfd_ufile_ptr=BFD_HOST_U_64_BIT
fi
@@ -6745,21 +6746,21 @@ test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selar
test -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
-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:6753: checking for $ac_hdr" >&5
+echo "configure:6754: 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 6758 "configure"
+#line 6759 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6764: \"$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*
@@ -6788,12 +6789,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6792: checking for $ac_func" >&5
+echo "configure:6793: 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 6797 "configure"
+#line 6798 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6816,7 +6817,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6821: \"$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
@@ -6841,7 +6842,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6845: checking for working mmap" >&5
+echo "configure:6846: 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
@@ -6849,7 +6850,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 6853 "configure"
+#line 6854 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6877,11 +6878,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
@@ -6989,7 +7003,7 @@ main()
}
EOF
-if { (eval echo configure:6993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7007: \"$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
@@ -7014,12 +7028,12 @@ fi
for ac_func in madvise mprotect
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7018: checking for $ac_func" >&5
+echo "configure:7032: 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 7023 "configure"
+#line 7037 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7042,7 +7056,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7060: \"$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 f1962653908..e08a663dcdb 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -132,18 +132,18 @@ fi
AC_COMPILE_CHECK_SIZEOF(long)
if test "x${ac_cv_sizeof_long}" = "x8"; then
host64=true
- HOST_64BIT_TYPE="long"
+ BFD_HOST_64BIT_LONG=1
+ test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
+ test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
- HOST_64BIT_TYPE="long long"
- HOST_U_64BIT_TYPE="unsigned long long"
+ test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
+ test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
fi
-if test "x${HOST_64BIT_TYPE}" = "xlong"; then
- BFD_HOST_64BIT_LONG=1
-elif test "x${HOST_64BIT_TYPE}" != "x"; then
+if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
BFD_HOST_64_BIT_DEFINED=1
- BFD_HOST_64_BIT=${HOST_64BIT_TYPE}
- BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE}
+ BFD_HOST_64_BIT="${HOST_64BIT_TYPE}"
+ BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}"
fi
AC_SUBST(BFD_HOST_64BIT_LONG)
@@ -405,7 +405,9 @@ changequote([,])dnl
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/vaxbsd.h"'
;;
- x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;;
+ x86_64-*-netbsd* | x86_64-*-openbsd*)
+ COREFILE=netbsd-core.lo
+ ;;
esac
case "$COREFILE" in
@@ -886,7 +888,7 @@ case ${host64}-${target64}-${want64} in
wordsize=64
bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)'
all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
- if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then
+ if test $BFD_HOST_64_BIT_DEFINED = 0; then
AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
AC_MSG_WARN([your compiler may not have a 64 bit integral type])
fi
@@ -923,17 +925,14 @@ AC_SUBST(bfd_default_target_size)
# Hopefully a reasonable assumption since fseeko et.al. should be
# upward compatible.
AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64)
-AC_MSG_CHECKING([file_ptr type])
-bfd_file_ptr="long"
-bfd_ufile_ptr="unsigned long"
if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then
AC_COMPILE_CHECK_SIZEOF(off_t)
- if test "x${ac_cv_sizeof_off_t}" = "x8"; then
- bfd_file_ptr=BFD_HOST_64_BIT
- bfd_ufile_ptr=BFD_HOST_U_64_BIT
- fi
fi
-if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes; then
+AC_MSG_CHECKING([file_ptr type])
+bfd_file_ptr="long"
+bfd_ufile_ptr="unsigned long"
+if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \
+ -o x"${ac_cv_sizeof_off_t}" = x8; then
bfd_file_ptr=BFD_HOST_64_BIT
bfd_ufile_ptr=BFD_HOST_U_64_BIT
fi
diff --git a/bfd/cpu-frv.c b/bfd/cpu-frv.c
index f911881a505..499c66d48da 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-sh.c b/bfd/cpu-sh.c
index 2f33240bb07..be359df7090 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 33163834229..c2ab8aafec4 100644
--- a/bfd/doc/ChangeLog
+++ b/bfd/doc/ChangeLog
@@ -1,3 +1,6 @@
+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 1c1fce9b1ff..85d64277e3c 100644
--- a/bfd/doc/Makefile.in
+++ b/bfd/doc/Makefile.in
@@ -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@
@@ -255,7 +257,7 @@ DIST_COMMON = ChangeLog Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index c109fa7e3fb..ceb28af4791 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -61,8 +61,8 @@ struct attribute
{
char *str;
struct dwarf_block *blk;
- bfd_vma val;
- bfd_signed_vma sval;
+ bfd_uint64_t val;
+ bfd_int64_t sval;
}
u;
};
@@ -230,7 +230,7 @@ read_4_bytes (bfd *abfd, char *buf)
return bfd_get_32 (abfd, buf);
}
-static bfd_vma
+static bfd_uint64_t
read_8_bytes (bfd *abfd, char *buf)
{
return bfd_get_64 (abfd, buf);
@@ -268,7 +268,7 @@ read_indirect_string (struct comp_unit* unit,
char *buf,
unsigned int *bytes_read_ptr)
{
- bfd_vma offset;
+ bfd_uint64_t offset;
struct dwarf2_debug *stash = unit->stash;
if (unit->offset_size == 4)
@@ -378,7 +378,7 @@ read_signed_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
/* END VERBATIM */
-static bfd_vma
+static bfd_uint64_t
read_address (struct comp_unit *unit, char *buf)
{
switch (unit->addr_size)
@@ -422,7 +422,7 @@ lookup_abbrev (unsigned int number, struct abbrev_info **abbrevs)
in a hash table. */
static struct abbrev_info**
-read_abbrevs (bfd *abfd, bfd_vma offset, struct dwarf2_debug *stash)
+read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash)
{
struct abbrev_info **abbrevs;
char *abbrev_ptr;
@@ -1436,7 +1436,7 @@ parse_comp_unit (bfd *abfd,
{
struct comp_unit* unit;
unsigned int version;
- bfd_vma abbrev_offset = 0;
+ bfd_uint64_t abbrev_offset = 0;
unsigned int addr_size;
struct abbrev_info** abbrevs;
unsigned int abbrev_number, bytes_read, i;
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 5f4bcd8469f..cd51e3265bb 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.
@@ -1132,9 +1132,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;
@@ -1142,10 +1139,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. */
@@ -1171,21 +1164,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;
@@ -1213,8 +1191,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;
@@ -1237,6 +1215,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)
@@ -1263,7 +1260,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)
@@ -1479,12 +1476,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 *);
@@ -1722,58 +1719,59 @@ extern bfd_boolean _sh_elf_set_mach_from_flags
/* 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 \
+ { \
+ 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)) \
+ )) \
+ return FALSE; \
+ warned = TRUE; \
+ } \
+ } \
while (0)
#endif /* _LIBELF_H_ */
diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h
index 29579a46102..f5aba51e55f 100644
--- a/bfd/elf-hppa.h
+++ b/bfd/elf-hppa.h
@@ -812,6 +812,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;
}
@@ -1096,8 +1118,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 +1152,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
@@ -1350,7 +1370,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
/* If this symbol has an entry in the PA64 dynamic hash
table, then get it. */
- dyn_name = get_dyn_name (input_section, h, rel,
+ dyn_name = get_dyn_name (input_bfd, h, rel,
&dynh_buf, &dynh_buflen);
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
dyn_name, FALSE, FALSE);
@@ -1373,7 +1393,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
/* If this symbol has an entry in the PA64 dynamic hash
table, then get it. */
- dyn_name = get_dyn_name (input_section, h, rel,
+ dyn_name = get_dyn_name (input_bfd, h, rel,
&dynh_buf, &dynh_buflen);
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
dyn_name, FALSE, FALSE);
@@ -1398,19 +1418,12 @@ 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_section, h, rel,
+ dyn_name = get_dyn_name (input_bfd, h, rel,
&dynh_buf, &dynh_buflen);
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
dyn_name, FALSE, FALSE);
@@ -1426,7 +1439,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
}
else if (h->root.type == bfd_link_hash_undefweak)
{
- dyn_name = get_dyn_name (input_section, h, rel,
+ dyn_name = get_dyn_name (input_bfd, h, rel,
&dynh_buf, &dynh_buflen);
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
dyn_name, FALSE, FALSE);
@@ -1449,7 +1462,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 133d2a9befb..52685253062 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 f628e760bd5..a1327944e6b 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.
@@ -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;
diff --git a/bfd/elf.c b/bfd/elf.c
index 5e31f893583..afde13e8d94 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1479,8 +1479,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 +1490,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
@@ -3360,7 +3359,9 @@ map_sections_to_segments (bfd *abfd)
{
if ((hdr->flags & SEC_READONLY) == 0)
writable = TRUE;
- last_hdr = hdr;
+ /* Ignore .tbss section for segment layout purposes. */
+ if ((hdr->flags & (SEC_THREAD_LOCAL | SEC_LOAD)) != SEC_THREAD_LOCAL)
+ last_hdr = hdr;
continue;
}
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index 7c284c17474..33f85bd609a 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.
@@ -2124,10 +2125,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 +2431,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 +2448,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 +2679,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;
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 44f2b38167c..06e398b542d 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-cris.c b/bfd/elf32-cris.c
index e2a51f64181..b8513928e42 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
@@ -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. */
@@ -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;
@@ -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,
diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c
index f9454ffe9f3..4bdaffcd578 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).
@@ -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-fr30.c b/bfd/elf32-fr30.c
index 472a07a92b2..80408fa6ff2 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,
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index a813ddcd8cc..eedc55d6e7d 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -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
@@ -1089,7 +1162,7 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
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),
@@ -1100,7 +1173,7 @@ _frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
+ entry->fdgot_entry)
+ frv_got_section (info)->output_section->vma
+ frv_got_section (info)->output_offset,
- reloc, idx, ad);
+ reloc, idx, ad, entry);
}
bfd_put_32 (output_bfd, ad,
@@ -1142,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
@@ -1170,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
@@ -1885,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;
}
@@ -1922,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;
@@ -2092,7 +2165,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);
}
}
else if ((bfd_get_section_flags (output_bfd,
@@ -2114,7 +2188,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);
}
}
@@ -2192,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,
@@ -2201,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);
}
}
}
@@ -2226,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
@@ -2806,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)
@@ -2862,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;
}
@@ -3210,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)
@@ -3218,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
@@ -3581,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?",
@@ -3931,12 +4034,12 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
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;
@@ -4032,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;
@@ -4082,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. */
@@ -4266,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
@@ -4284,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;
@@ -4296,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;
@@ -4363,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;
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 547adfaa935..69433913312 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,
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index cf6c6303743..63b98e568e3 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;
@@ -2792,8 +2793,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))
@@ -3145,6 +3145,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 +3239,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 +3432,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;
}
diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c
index 80c45f6fd1f..57854c88edd 100644
--- a/bfd/elf32-i370.c
+++ b/bfd/elf32-i370.c
@@ -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;
}
}
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 0a3d83fb5a8..8f30bb2c231 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.
@@ -2179,7 +2179,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)
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
index 8ab3c9251c4..f156bc51e1a 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 7606e0d8a15..6493be69959 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 f85ffac8431..67be1755f13 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.
@@ -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 3edf4a9738f..e3c6ffb1ca2 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -1,5 +1,5 @@
/* M32R-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.
@@ -93,11 +93,11 @@ static bfd_boolean m32r_elf_create_dynamic_sections
static bfd_boolean m32r_elf_finish_dynamic_sections
PARAMS ((bfd *, struct bfd_link_info *));
-
+
static bfd_boolean m32r_elf_finish_dynamic_symbol
PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
Elf_Internal_Sym *));
-
+
static bfd_boolean allocate_dynrelocs
PARAMS ((struct elf_link_hash_entry *, PTR));
static bfd_boolean readonly_dynrelocs
@@ -122,39 +122,39 @@ static bfd_boolean m32r_elf_fake_sections
/* Use RELA. But use REL to link old objects for backwords compatibility. */
/* Functions for the M32R ELF linker. */
-
+
/* The name of the dynamic interpreter. This is put in the .interp
section. */
-
+
#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-
+
/* The nop opcode we use. */
-
+
#define M32R_NOP 0x7000f000
-
+
#define PLT_EMPTY 0x10101010 /* RIE -> RIE */
-
+
/* The size in bytes of an entry in the procedure linkage table. */
#define PLT_ENTRY_SIZE 20
#define PLT_HEADER_SIZE 20
-
+
/* The first one entries in a procedure linkage table are reserved,
and the initial contents are unimportant (we zero them out).
Subsequent entries look like this. */
-
+
#define PLT0_ENTRY_WORD0 0xd6c00000 /* seth r6, #high(.got+4) */
#define PLT0_ENTRY_WORD1 0x86e60000 /* or3 r6, r6, #low(.got)+4) */
#define PLT0_ENTRY_WORD2 0x24e626c6 /* ld r4, @r6+ -> ld r6, @r6 */
#define PLT0_ENTRY_WORD3 0x1fc6f000 /* jmp r6 || pnop */
#define PLT0_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */
-
+
#define PLT0_PIC_ENTRY_WORD0 0xa4cc0004 /* ld r4, @(4,r12) */
#define PLT0_PIC_ENTRY_WORD1 0xa6cc0008 /* ld r6, @(8,r12) */
#define PLT0_PIC_ENTRY_WORD2 0x1fc6f000 /* jmp r6 || nop */
#define PLT0_PIC_ENTRY_WORD3 PLT_EMPTY /* RIE -> RIE */
#define PLT0_PIC_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */
-
+
#define PLT_ENTRY_WORD0 0xe6000000 /* ld24 r6, .name_in_GOT */
#define PLT_ENTRY_WORD1 0x06acf000 /* add r6, r12 || nop */
#define PLT_ENTRY_WORD0b 0xd6c00000 /* seth r6, #high(.name_in_GOT) */
@@ -1248,7 +1248,7 @@ static const struct m32r_reloc_map m32r_reloc_map[] =
{ BFD_RELOC_M32R_SDA16, R_M32R_SDA16_RELA },
{ BFD_RELOC_VTABLE_INHERIT, R_M32R_RELA_GNU_VTINHERIT },
{ BFD_RELOC_VTABLE_ENTRY, R_M32R_RELA_GNU_VTENTRY },
-
+
{ BFD_RELOC_M32R_GOT24, R_M32R_GOT24 },
{ BFD_RELOC_M32R_26_PLTREL, R_M32R_26_PLTREL },
{ BFD_RELOC_M32R_COPY, R_M32R_COPY },
@@ -1596,7 +1596,7 @@ m32r_elf_link_hash_newfunc (entry, table, string)
{
struct elf_m32r_link_hash_entry *ret =
(struct elf_m32r_link_hash_entry *) entry;
-
+
/* Allocate the structure if it has not already been allocated by a
subclass. */
if (ret == (struct elf_m32r_link_hash_entry *) NULL)
@@ -1605,7 +1605,7 @@ m32r_elf_link_hash_newfunc (entry, table, string)
sizeof (struct elf_m32r_link_hash_entry)));
if (ret == (struct elf_m32r_link_hash_entry *) NULL)
return (struct bfd_hash_entry *) ret;
-
+
/* Call the allocation method of the superclass. */
ret = ((struct elf_m32r_link_hash_entry *)
_bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret,
@@ -1613,13 +1613,13 @@ m32r_elf_link_hash_newfunc (entry, table, string)
if (ret != (struct elf_m32r_link_hash_entry *) NULL)
{
struct elf_m32r_link_hash_entry *eh;
-
+
eh = (struct elf_m32r_link_hash_entry *) ret;
eh->dyn_relocs = NULL;
// eh->gotplt_refcount = 0;
/* eh->pcrel_relocs_copied = NULL; FIXME */
}
-
+
return (struct bfd_hash_entry *) ret;
}
@@ -1632,18 +1632,18 @@ m32r_elf_link_hash_table_create (abfd)
{
struct elf_m32r_link_hash_table *ret;
bfd_size_type amt = sizeof (struct elf_m32r_link_hash_table);
-
+
ret = (struct elf_m32r_link_hash_table *) bfd_malloc (amt);
if (ret == (struct elf_m32r_link_hash_table *) NULL)
return NULL;
-
+
if (! _bfd_elf_link_hash_table_init (&ret->root, abfd,
m32r_elf_link_hash_newfunc))
{
free (ret);
return NULL;
}
-
+
ret->sgot = NULL;
ret->sgotplt = NULL;
ret->srelgot = NULL;
@@ -1652,7 +1652,7 @@ m32r_elf_link_hash_table_create (abfd)
ret->sdynbss = NULL;
ret->srelbss = NULL;
ret->sym_sec.abfd = NULL;
-
+
return &ret->root.root;
}
@@ -1730,13 +1730,14 @@ m32r_elf_create_dynamic_sections (abfd, info)
{
/* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
.plt section. */
- struct elf_link_hash_entry *h = NULL;
+ struct bfd_link_hash_entry *bh = NULL;
+ struct elf_link_hash_entry *h;
if (! (_bfd_generic_link_add_one_symbol
(info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s,
(bfd_vma) 0, (const char *) NULL, FALSE,
- get_elf_backend_data (abfd)->collect,
- (struct bfd_link_hash_entry **) &h)))
+ get_elf_backend_data (abfd)->collect, &bh)))
return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
h->type = STT_OBJECT;
@@ -1827,33 +1828,33 @@ m32r_elf_create_dynamic_sections (abfd, info)
static void m32r_elf_copy_indirect_symbol (const struct elf_backend_data *,
struct elf_link_hash_entry *,
struct elf_link_hash_entry *);
-
+
static void
m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed,
struct elf_link_hash_entry *dir,
struct elf_link_hash_entry *ind)
{
struct elf_m32r_link_hash_entry *edir, *eind;
-
+
edir = (struct elf_m32r_link_hash_entry *) dir;
eind = (struct elf_m32r_link_hash_entry *) ind;
-
+
if (eind->dyn_relocs != NULL)
{
if (edir->dyn_relocs != NULL)
{
struct elf_m32r_dyn_relocs **pp;
struct elf_m32r_dyn_relocs *p;
-
+
if (ind->root.type == bfd_link_hash_indirect)
abort ();
-
+
/* Add reloc counts against the weak sym to the strong sym
list. Merge any entries against the same section. */
for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
{
struct elf_m32r_dyn_relocs *q;
-
+
for (q = edir->dyn_relocs; q != NULL; q = q->next)
if (q->sec == p->sec)
{
@@ -1867,11 +1868,11 @@ m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed,
}
*pp = edir->dyn_relocs;
}
-
+
edir->dyn_relocs = eind->dyn_relocs;
eind->dyn_relocs = NULL;
}
-
+
// if (ind->root.type == bfd_link_hash_indirect
// && dir->got.refcount <= 0)
// {
@@ -1887,7 +1888,7 @@ m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed,
dynamic object, but we're not including those sections. We have to
change the definition to something the rest of the link can
understand. */
-
+
static bfd_boolean
m32r_elf_adjust_dynamic_symbol (info, h)
struct bfd_link_info *info;
@@ -1903,9 +1904,9 @@ m32r_elf_adjust_dynamic_symbol (info, h)
#ifdef DEBUG_PIC
printf("m32r_elf_adjust_dynamic_symbol()\n");
#endif
-
+
dynobj = elf_hash_table (info)->dynobj;
-
+
/* Make sure we know what is going on here. */
BFD_ASSERT (dynobj != NULL
&& ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT)
@@ -1917,7 +1918,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
&& (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_REGULAR) == 0)));
-
+
/* If this is a function, put it in the procedure linkage table. We
will fill in the contents of the procedure linkage table later,
when we know the address of the .got section. */
@@ -1943,7 +1944,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
}
else
h->plt.offset = (bfd_vma) -1;
-
+
/* If this is a weak symbol, and there is a real definition, the
processor independent code will have arranged for us to see the
real definition first, and we can just use the same value. */
@@ -1955,17 +1956,17 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
h->root.u.def.value = h->weakdef->root.u.def.value;
return TRUE;
}
-
+
/* This is a reference to a symbol defined by a dynamic object which
is not a function. */
-
+
/* If we are creating a shared library, we must presume that the
only references to the symbol are via the global offset table.
For such cases we need not do anything here; the relocations will
be handled correctly by relocate_section. */
if (info->shared)
return TRUE;
-
+
/* If there are no references to this symbol that do not use the
GOT, we don't need to generate a copy reloc. */
if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0)
@@ -2004,11 +2005,11 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
determine the address it must put in the global offset table, so
both the dynamic object and the regular object will refer to the
same memory location for the variable. */
-
+
htab = m32r_elf_hash_table (info);
s = htab->sdynbss;
BFD_ASSERT (s != NULL);
-
+
/* We must generate a R_M32R_COPY reloc to tell the dynamic linker
to copy the initial value out of the dynamic object and into the
runtime process image. We need to remember the offset into the
@@ -2016,19 +2017,19 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
if ((h->root.u.def.section->flags & SEC_ALLOC) != 0)
{
asection *srel;
-
+
srel = htab->srelbss;
BFD_ASSERT (srel != NULL);
srel->_raw_size += sizeof (Elf32_External_Rela);
h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY;
}
-
+
/* We need to figure out the alignment required for this symbol. I
have no idea how ELF linkers handle this. */
power_of_two = bfd_log2 (h->size);
if (power_of_two > 3)
power_of_two = 3;
-
+
/* Apply the required alignment. */
s->_raw_size = BFD_ALIGN (s->_raw_size,
(bfd_size_type) (1 << power_of_two));
@@ -2037,14 +2038,14 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
if (! bfd_set_section_alignment (dynobj, s, power_of_two))
return FALSE;
}
-
+
/* Define the symbol as being at this point in the section. */
h->root.u.def.section = s;
h->root.u.def.value = s->_raw_size;
-
+
/* Increment the section size to make room for the symbol. */
s->_raw_size += h->size;
-
+
return TRUE;
}
@@ -2061,7 +2062,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n");
/* Allocate space in .plt, .got and associated reloc sections for
dynamic relocs. */
-
+
static bfd_boolean
allocate_dynrelocs (h, inf)
struct elf_link_hash_entry *h;
@@ -2071,19 +2072,19 @@ allocate_dynrelocs (h, inf)
struct elf_m32r_link_hash_table *htab;
struct elf_m32r_link_hash_entry *eh;
struct elf_m32r_dyn_relocs *p;
-
+
if (h->root.type == bfd_link_hash_indirect)
return TRUE;
-
+
if (h->root.type == bfd_link_hash_warning)
/* When warning symbols are created, they **replace** the "real"
entry in the hash table, thus we never get to see the real
symbol in a hash traversal. So look at it now. */
h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
+
info = (struct bfd_link_info *) inf;
htab = m32r_elf_hash_table (info);
-
+
eh = (struct elf_m32r_link_hash_entry *) h;
// if ((h->got.refcount > 0
// || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))
@@ -2095,7 +2096,7 @@ allocate_dynrelocs (h, inf)
// if (h->plt.refcount >= eh->gotplt_refcount)
// h->plt.refcount -= eh->gotplt_refcount;
// }
-
+
if (htab->root.dynamic_sections_created
&& h->plt.refcount > 0)
{
@@ -2107,18 +2108,18 @@ allocate_dynrelocs (h, inf)
if (! bfd_elf32_link_record_dynamic_symbol (info, h))
return FALSE;
}
-
+
if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
{
asection *s = htab->splt;
-
+
/* If this is the first .plt entry, make room for the special
first entry. */
if (s->_raw_size == 0)
s->_raw_size += PLT_ENTRY_SIZE;
-
+
h->plt.offset = s->_raw_size;
-
+
/* If this symbol is not defined in a regular file, and we are
not generating a shared library, then set the symbol to this
location in the .plt. This is required to make function
@@ -2130,14 +2131,14 @@ allocate_dynrelocs (h, inf)
h->root.u.def.section = s;
h->root.u.def.value = h->plt.offset;
}
-
+
/* Make room for this entry. */
s->_raw_size += PLT_ENTRY_SIZE;
-
+
/* We also need to make an entry in the .got.plt section, which
will be placed in the .got section by the linker script. */
htab->sgotplt->_raw_size += 4;
-
+
/* We also need to make an entry in the .rel.plt section. */
htab->srelplt->_raw_size += sizeof (Elf32_External_Rela);
}
@@ -2152,12 +2153,12 @@ allocate_dynrelocs (h, inf)
h->plt.offset = (bfd_vma) -1;
h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
}
-
+
if (h->got.refcount > 0)
{
asection *s;
bfd_boolean dyn;
-
+
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
if (h->dynindx == -1
@@ -2166,7 +2167,7 @@ allocate_dynrelocs (h, inf)
if (! bfd_elf32_link_record_dynamic_symbol (info, h))
return FALSE;
}
-
+
s = htab->sgot;
h->got.offset = s->_raw_size;
@@ -2177,10 +2178,10 @@ allocate_dynrelocs (h, inf)
}
else
h->got.offset = (bfd_vma) -1;
-
+
if (eh->dyn_relocs == NULL)
return TRUE;
-
+
/* In the shared -Bsymbolic case, discard space allocated for
dynamic pc-relative relocs against symbols which turn out to be
defined in regular objects. For the normal shared case, discard
@@ -2210,7 +2211,7 @@ allocate_dynrelocs (h, inf)
/* For the non-shared case, discard space for relocs against
symbols which turn out to need copy relocs or are not
dynamic. */
-
+
if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
&& (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
@@ -2226,29 +2227,29 @@ allocate_dynrelocs (h, inf)
if (! bfd_elf32_link_record_dynamic_symbol (info, h))
return FALSE;
}
-
+
/* If that succeeded, we know we'll be keeping all the
relocs. */
if (h->dynindx != -1)
goto keep;
}
-
+
eh->dyn_relocs = NULL;
-
+
keep: ;
}
-
+
/* Finally, allocate space. */
for (p = eh->dyn_relocs; p != NULL; p = p->next)
{
asection *sreloc = elf_section_data (p->sec)->sreloc;
sreloc->_raw_size += p->count * sizeof (Elf32_External_Rela);
}
-
+
return TRUE;
}
/* Find any dynamic relocs that apply to read-only sections. */
-
+
static bfd_boolean
readonly_dynrelocs (h, inf)
struct elf_link_hash_entry *h;
@@ -2279,7 +2280,7 @@ readonly_dynrelocs (h, inf)
}
/* Set the sizes of the dynamic sections. */
-
+
static bfd_boolean
m32r_elf_size_dynamic_sections (output_bfd, info)
bfd *output_bfd ATTRIBUTE_UNUSED;
@@ -2541,7 +2542,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
dynobj = htab->root.dynobj;
local_got_offsets = elf_local_got_offsets (input_bfd);
-
+
sgot = htab->sgot;
splt = htab->splt;
sreloc = NULL;
@@ -2681,7 +2682,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
section symbol winds up in the output section. */
if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
rel->r_addend += sec->output_offset + sym->st_value;
-
+
continue;
}
}
@@ -2744,7 +2745,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|| r_type == R_M32R_26_PCREL_RELA)
&& ((input_section->flags & SEC_ALLOC) != 0
/* DWARF will emit R_M32R_16(24,32) relocations
- in its sections against symbols defined
+ in its sections against symbols defined
externally in shared libraries. We can't do
anything with them here. */
|| ((input_section->flags & SEC_DEBUGGING) != 0
@@ -2772,8 +2773,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
@@ -2781,7 +2781,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;
@@ -2806,7 +2806,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
case R_M32R_GOTPC_HI_ULO:
case R_M32R_GOTPC_HI_SLO:
- case R_M32R_GOTPC_LO:
+ case R_M32R_GOTPC_LO:
{
/* .got(_GLOBAL_OFFSET_TABLE_) - pc relocation
bl .+4
@@ -2821,7 +2821,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
relocation -= (input_section->output_section->vma
+ input_section->output_offset
+ rel->r_offset);
- if ((r_type == R_M32R_GOTPC_HI_SLO)
+ if ((r_type == R_M32R_GOTPC_HI_SLO)
&& ((relocation + rel->r_addend) & 0x8000))
rel->r_addend += 0x10000;
@@ -2829,18 +2829,18 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
case R_M32R_GOT16_HI_ULO:
case R_M32R_GOT16_HI_SLO:
- case R_M32R_GOT16_LO:
+ case R_M32R_GOT16_LO:
/* Fall through. */
case R_M32R_GOT24:
/* Relocation is to the entry for this symbol in the global
offset table. */
BFD_ASSERT (sgot != NULL);
-
+
if (h != NULL)
{
bfd_boolean dyn;
bfd_vma off;
-
+
off = h->got.offset;
BFD_ASSERT (off != (bfd_vma) -1);
@@ -2860,7 +2860,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
offset must always be a multiple of 4, we use the
least significant bit to record whether we have
initialized it already.
-
+
When doing a dynamic link, we create a .rela.got
relocation entry to initialize the value. This
is done in the finish_dynamic_symbol routine. */
@@ -2873,19 +2873,19 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
h->got.offset |= 1;
}
}
-
+
relocation = sgot->output_offset + off;
}
else
{
bfd_vma off;
bfd_byte *loc;
-
+
BFD_ASSERT (local_got_offsets != NULL
&& local_got_offsets[r_symndx] != (bfd_vma) -1);
-
+
off = local_got_offsets[r_symndx];
-
+
/* The offset must always be a multiple of 4. We use
the least significant bit to record whether we have
already processed this entry. */
@@ -2894,17 +2894,17 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
else
{
bfd_put_32 (output_bfd, relocation, sgot->contents + off);
-
+
if (info->shared)
{
asection *srelgot;
Elf_Internal_Rela outrel;
-
+
/* We need to generate a R_M32R_RELATIVE reloc
for the dynamic linker. */
srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
BFD_ASSERT (srelgot != NULL);
-
+
outrel.r_offset = (sgot->output_section->vma
+ sgot->output_offset
+ off);
@@ -2915,10 +2915,10 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_elf32_swap_reloca_out (output_bfd, &outrel,loc);
++srelgot->reloc_count;
}
-
+
local_got_offsets[r_symndx] |= 1;
}
-
+
relocation = sgot->output_offset + off;
}
if ((r_type == R_M32R_GOT16_HI_SLO)
@@ -2926,11 +2926,11 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
rel->r_addend += 0x10000;
break;
-
+
case R_M32R_26_PLTREL:
/* Relocation is to the entry for this symbol in the
procedure linkage table. */
-
+
/* The native assembler will generate a 26_PLTREL reloc
for a local symbol if you assemble a call from one
section to another when using -K pic. */
@@ -2950,12 +2950,12 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
using -Bsymbolic. */
break;
}
-
+
relocation = (splt->output_section->vma
+ splt->output_offset
+ h->plt.offset);
break;
-
+
case R_M32R_HI16_SLO_RELA:
{
if ((relocation + rel->r_addend) & 0x8000)
@@ -2986,34 +2986,34 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
Elf_Internal_Rela outrel;
bfd_boolean skip, relocate;
bfd_byte *loc;
-
+
/* When generating a shared object, these relocations
are copied into the output file to be resolved at run
time. */
-
+
if (sreloc == NULL)
{
const char *name;
-
+
name = (bfd_elf_string_from_elf_section
(input_bfd,
elf_elfheader (input_bfd)->e_shstrndx,
elf_section_data (input_section)->rel_hdr.sh_name));
if (name == NULL)
return FALSE;
-
+
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
-
+
sreloc = bfd_get_section_by_name (dynobj, name);
BFD_ASSERT (sreloc != NULL);
}
-
+
skip = FALSE;
relocate = FALSE;
-
+
outrel.r_offset = _bfd_elf_section_offset (output_bfd,
info,
input_section,
@@ -3024,7 +3024,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
skip = TRUE, relocate = TRUE;
outrel.r_offset += (input_section->output_section->vma
+ input_section->output_offset);
-
+
if (skip)
memset (&outrel, 0, sizeof outrel);
else if (r_type == R_M32R_18_PCREL_RELA
@@ -3068,7 +3068,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
continue;
}
break;
-
+
case (int) R_M32R_10_PCREL :
r = m32r_elf_do_10_pcrel_reloc (input_bfd, howto, input_section,
contents, offset,
@@ -3238,11 +3238,11 @@ m32r_elf_finish_dynamic_symbol (output_bfd, info, h, sym)
struct elf_m32r_link_hash_table *htab;
bfd *dynobj;
bfd_byte *loc;
-
+
#ifdef DEBUG_PIC
printf("m32r_elf_finish_dynamic_symbol()\n");
#endif
-
+
htab = m32r_elf_hash_table (info);
dynobj = htab->root.dynobj;
@@ -3255,12 +3255,12 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
bfd_vma plt_index;
bfd_vma got_offset;
Elf_Internal_Rela rela;
-
+
/* This symbol has an entry in the procedure linkage table. Set
it up. */
-
+
BFD_ASSERT (h->dynindx != -1);
-
+
splt = htab->splt;
sgot = htab->sgotplt;
srela = htab->srelplt;
@@ -3321,7 +3321,7 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
+ (((unsigned int) ((- (h->plt.offset + 16)) >> 2)) & 0xffffff)),
splt->contents + h->plt.offset + 16);
}
-
+
/* Fill in the entry in the global offset table. */
bfd_put_32 (output_bfd,
(splt->output_section->vma
@@ -3339,7 +3339,7 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
loc = srela->contents;
loc += plt_index * sizeof(Elf32_External_Rela);
bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
-
+
if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
{
/* Mark the symbol as undefined, rather than as defined in
@@ -3353,18 +3353,18 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
asection *sgot;
asection *srela;
Elf_Internal_Rela rela;
-
+
/* This symbol has an entry in the global offset table. Set it
up. */
-
+
sgot = htab->sgot;
srela = htab->srelgot;
BFD_ASSERT (sgot != NULL && srela != NULL);
-
+
rela.r_offset = (sgot->output_section->vma
+ sgot->output_offset
+ (h->got.offset &~ 1));
-
+
/* If this is a -Bsymbolic link, and the symbol is defined
locally, we just want to emit a RELATIVE reloc. Likewise if
the symbol was forced to be local because of a version file.
@@ -3388,28 +3388,28 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
rela.r_info = ELF32_R_INFO (h->dynindx, R_M32R_GLOB_DAT);
rela.r_addend = 0;
}
-
+
loc = srela->contents;
loc += srela->reloc_count * sizeof(Elf32_External_Rela);
bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
++srela->reloc_count;
}
-
+
if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0)
{
asection *s;
Elf_Internal_Rela rela;
-
+
/* This symbols needs a copy reloc. Set it up. */
-
+
BFD_ASSERT (h->dynindx != -1
&& (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak));
-
+
s = bfd_get_section_by_name (h->root.u.def.section->owner,
".rela.bss");
BFD_ASSERT (s != NULL);
-
+
rela.r_offset = (h->root.u.def.value
+ h->root.u.def.section->output_section->vma
+ h->root.u.def.section->output_offset);
@@ -3420,18 +3420,18 @@ printf("m32r_elf_finish_dynamic_symbol()\n");
bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
++s->reloc_count;
}
-
+
/* Mark some specially defined symbols as absolute. */
if (strcmp (h->root.root.string, "_DYNAMIC") == 0
|| strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
sym->st_shndx = SHN_ABS;
-
+
return TRUE;
}
/* Finish up the dynamic sections. */
-
+
static bfd_boolean
m32r_elf_finish_dynamic_sections (output_bfd, info)
bfd *output_bfd;
@@ -3445,20 +3445,20 @@ m32r_elf_finish_dynamic_sections (output_bfd, info)
#ifdef DEBUG_PIC
printf("m32r_elf_finish_dynamic_sections()\n");
#endif
-
+
htab = m32r_elf_hash_table (info);
dynobj = htab->root.dynobj;
sgot = htab->sgotplt;
sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
-
+
if (htab->root.dynamic_sections_created)
{
asection *splt;
Elf32_External_Dyn *dyncon, *dynconend;
-
+
BFD_ASSERT (sgot != NULL && sdyn != NULL);
-
+
dyncon = (Elf32_External_Dyn *) sdyn->contents;
dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size);
@@ -3467,9 +3467,9 @@ printf("m32r_elf_finish_dynamic_sections()\n");
Elf_Internal_Dyn dyn;
const char *name;
asection *s;
-
+
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
-
+
switch (dyn.d_tag)
{
default:
@@ -3477,7 +3477,7 @@ printf("m32r_elf_finish_dynamic_sections()\n");
case DT_PLTGOT:
name = ".got";
- s = htab->sgot->output_section;
+ s = htab->sgot->output_section;
goto get_vma;
case DT_JMPREL:
name = ".rela.plt";
@@ -3520,7 +3520,7 @@ printf("m32r_elf_finish_dynamic_sections()\n");
break;
}
}
-
+
/* Fill in the first entry in the procedure linkage table. */
splt = htab->splt;
if (splt && splt->_raw_size > 0)
@@ -3541,7 +3541,7 @@ printf("m32r_elf_finish_dynamic_sections()\n");
bfd_put_32 (output_bfd,
PLT0_ENTRY_WORD0 | ((addr >> 16) & 0xffff),
splt->contents);
- bfd_put_32 (output_bfd,
+ bfd_put_32 (output_bfd,
PLT0_ENTRY_WORD1 | (addr & 0xffff),
splt->contents + 4);
bfd_put_32 (output_bfd, PLT0_ENTRY_WORD2, splt->contents + 8);
@@ -3568,7 +3568,7 @@ printf("m32r_elf_finish_dynamic_sections()\n");
elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
}
-
+
return TRUE;
}
@@ -4473,7 +4473,7 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
{
case R_M32R_GOT16_HI_ULO:
case R_M32R_GOT16_HI_SLO:
- case R_M32R_GOT16_LO:
+ case R_M32R_GOT16_LO:
case R_M32R_GOT24:
if (h != NULL)
@@ -4507,7 +4507,7 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
because this might be a case of linking PIC code without
linking in any dynamic objects, in which case we don't
need to generate a procedure linkage table after all. */
-
+
/* If this is a local symbol, we resolve it directly without
creating a procedure linkage table entry. */
if (h == NULL)
@@ -4583,23 +4583,23 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
if (sreloc == NULL)
{
const char *name;
-
+
name = (bfd_elf_string_from_elf_section
(abfd,
elf_elfheader (abfd)->e_shstrndx,
elf_section_data (sec)->rel_hdr.sh_name));
if (name == NULL)
return FALSE;
-
+
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
-
+
sreloc = bfd_get_section_by_name (dynobj, name);
if (sreloc == NULL)
{
flagword flags;
-
+
sreloc = bfd_make_section (dynobj, name);
flags = (SEC_HAS_CONTENTS | SEC_READONLY
| SEC_IN_MEMORY | SEC_LINKER_CREATED);
@@ -4612,7 +4612,7 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
}
elf_section_data (sec)->sreloc = sreloc;
}
-
+
/* If this is a global symbol, we count the number of
relocations we need for this symbol. */
if (h != NULL)
diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
index 709b8f45edc..00b75df0a7a 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
@@ -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-m68k.c b/bfd/elf32-m68k.c
index 1c7fed92baa..f1bdd1a8f1b 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.
@@ -1410,7 +1410,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)
diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c
index 0fc9768ddd1..fd13ea897c9 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)
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index 306a79889bc..dfe33bd246f 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 62f86d419a1..5513ad66b0a 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,
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 8bd7115bf90..5798ecaf20f 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -1,6 +1,6 @@
/* PowerPC-specific support for 32-bit ELF
- 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 BFD, the Binary File Descriptor library.
@@ -1816,10 +1816,7 @@ ppc_elf_relax_section (bfd *abfd,
symaddr = tsec->output_section->vma + tsec->output_offset + toff;
roff = irel->r_offset;
-
- reladdr = (isec->output_section->vma
- + isec->output_offset
- + roff);
+ reladdr = isec->output_section->vma + isec->output_offset + roff;
/* If the branch is in range, no need to do anything. */
if (symaddr - reladdr + max_branch_offset < 2 * max_branch_offset)
@@ -4704,10 +4701,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;
}
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 53b3fe4db94..bb88dff781f 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.
@@ -2322,10 +2322,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)
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index c8a091d53ce..28a2fcc5ad4 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.
@@ -4938,8 +4938,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 +4946,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;
@@ -6876,6 +6874,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;
}
diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
index 74b0782d1d1..0f8afe0cfa3 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.
@@ -2215,10 +2215,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)
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index 45bb4f6eb7c..747095213e7 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.
@@ -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. */
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index e085e3509fc..d2d5905e3e3 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.
@@ -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)
diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c
index 1377ff2517b..985a43a5226 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.
@@ -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 44450c52e5b..c376a170151 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.
@@ -619,8 +619,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 +626,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 +662,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 +677,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 +719,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;
@@ -774,7 +749,6 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs)
}
}
- free (lit_table);
return TRUE;
}
@@ -1044,7 +1018,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 +1037,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;
}
@@ -1391,12 +1359,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 +1813,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 +1832,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 +1965,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 +2040,21 @@ 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,
+ input_section->vma
+ + rel->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 +2142,9 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd,
}
}
+ if (lit_table)
+ free (lit_table);
+
return TRUE;
}
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 8bd03c20fc3..22c12c0602a 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>.
@@ -4399,12 +4399,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;
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
index 06aff7b014e..5bc9309cb31 100644
--- a/bfd/elf64-hppa.c
+++ b/bfd/elf64-hppa.c
@@ -173,7 +173,7 @@ static void elf64_hppa_dyn_hash_traverse
PTR info));
static const char *get_dyn_name
- PARAMS ((asection *, struct elf_link_hash_entry *,
+ PARAMS ((bfd *, struct elf_link_hash_entry *,
const Elf_Internal_Rela *, char **, size_t *));
/* This must follow the definitions of the various derived linker
@@ -446,13 +446,14 @@ elf64_hppa_section_from_shdr (abfd, hdr, name)
allocate memory as necessary, possibly reusing PBUF/PLEN. */
static const char *
-get_dyn_name (sec, h, rel, pbuf, plen)
- asection *sec;
+get_dyn_name (abfd, h, rel, pbuf, plen)
+ bfd *abfd;
struct elf_link_hash_entry *h;
const Elf_Internal_Rela *rel;
char **pbuf;
size_t *plen;
{
+ asection *sec = abfd->sections;
size_t nlen, tlen;
char *buf;
size_t len;
@@ -858,7 +859,7 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs)
continue;
/* Collect a canonical name for this address. */
- addr_name = get_dyn_name (sec, h, rel, &buf, &buf_len);
+ addr_name = get_dyn_name (abfd, h, rel, &buf, &buf_len);
/* Collect the canonical entry data for this address. */
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c
index ca627ef2c05..0e1da0650ec 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.
@@ -1480,39 +1480,12 @@ mmix_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else
{
- h = sym_hashes [r_symndx - symtab_hdr->sh_info];
+ bfd_boolean unresolved_reloc;
- 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->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;
- }
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, undefined_signalled);
}
r = mmix_final_link_relocate (howto, input_section,
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 304a635856d..d8f0b5e4220 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>
@@ -7480,10 +7481,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 8a919c454fe..3bf26bc3af3 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.
@@ -2292,10 +2292,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)
diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
index 15c29924d96..03196c57d97 100644
--- a/bfd/elf64-sh64.c
+++ b/bfd/elf64-sh64.c
@@ -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;
}
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c
index 42243102675..001f3a5a77b 100644
--- a/bfd/elf64-sparc.c
+++ b/bfd/elf64-sparc.c
@@ -2079,10 +2079,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
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index a6886201d3c..528f7a84ebb 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.
@@ -1820,10 +1820,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. */
diff --git a/bfd/elflink.c b/bfd/elflink.c
index b992c39cb18..39bf46f769e 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -1,5 +1,5 @@
/* ELF linking support for BFD.
- 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 BFD, the Binary File Descriptor library.
@@ -430,6 +430,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;
@@ -646,8 +653,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 +666,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 +674,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 +812,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;
}
@@ -875,48 +880,39 @@ _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 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 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 (!newdyn && olddyn)
+ newweak = FALSE;
+ if (newdyn)
+ oldweak = FALSE;
- 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;
+ /* 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
@@ -943,11 +939,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
@@ -965,28 +960,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. */
@@ -1024,24 +997,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;
@@ -1085,20 +1048,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
@@ -1187,57 +1147,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,
@@ -1248,8 +1164,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;
@@ -1310,7 +1225,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)
@@ -1377,12 +1292,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);
@@ -1423,7 +1332,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)
@@ -1455,12 +1364,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
@@ -1873,10 +1776,6 @@ elf_link_read_relocs_from_section (bfd *abfd,
Elf_Internal_Shdr *symtab_hdr;
size_t nsyms;
- /* If there aren't any relocations, that's OK. */
- if (!shdr)
- return TRUE;
-
/* Position ourselves at the start of the section. */
if (bfd_seek (abfd, shdr->sh_offset, SEEK_SET) != 0)
return FALSE;
@@ -1902,7 +1801,7 @@ elf_link_read_relocs_from_section (bfd *abfd,
}
erela = external_relocs;
- erelaend = erela + NUM_SHDR_ENTRIES (shdr) * shdr->sh_entsize;
+ erelaend = erela + shdr->sh_size;
irela = internal_relocs;
while (erela < erelaend)
{
@@ -1988,12 +1887,13 @@ _bfd_elf_link_read_relocs (bfd *abfd,
external_relocs,
internal_relocs))
goto error_return;
- if (!elf_link_read_relocs_from_section
- (abfd, o,
- elf_section_data (o)->rel_hdr2,
- ((bfd_byte *) external_relocs) + rel_hdr->sh_size,
- internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr)
- * bed->s->int_rels_per_ext_rel)))
+ if (elf_section_data (o)->rel_hdr2
+ && (!elf_link_read_relocs_from_section
+ (abfd, o,
+ elf_section_data (o)->rel_hdr2,
+ ((bfd_byte *) external_relocs) + rel_hdr->sh_size,
+ internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr)
+ * bed->s->int_rels_per_ext_rel))))
goto error_return;
/* Cache the results for next time, if we can. */
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 05f7c682b2f..adecd808cf0 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -1,5 +1,5 @@
/* ELF linker support.
- 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 BFD, the Binary File Descriptor library.
@@ -68,6 +68,59 @@ sort_symbol (const void *arg1, const void *arg2)
}
}
+/* Add a DT_NEEDED entry for this dynamic object. Returns -1 on error,
+ 1 if a DT_NEEDED tag already exists, and 0 on success. */
+
+static int
+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;
+ 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);
+ 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 (! 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;
+}
+
/* Add symbols from an ELF object file to the linker hash table. */
static bfd_boolean
@@ -94,7 +147,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
const struct elf_backend_data *bed;
- bfd_boolean dt_needed;
+ bfd_boolean add_needed;
struct elf_link_hash_table * hash_table;
bfd_size_type amt;
@@ -200,7 +253,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
}
}
- dt_needed = FALSE;
+ add_needed = TRUE;
if (! dynamic)
{
/* If we are creating a shared library, create all the dynamic
@@ -222,11 +275,9 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
else
{
asection *s;
- bfd_boolean add_needed;
- const char *name;
- bfd_size_type oldsize;
- bfd_size_type strindex;
+ 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
@@ -235,26 +286,12 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
&& 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;
+ /* 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;
- add_needed = FALSE;
- }
- }
s = bfd_get_section_by_name (abfd, ".dynamic");
if (s != NULL)
{
@@ -286,8 +323,8 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
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)
+ soname = bfd_elf_string_from_elf_section (abfd, shlink, tagv);
+ if (soname == NULL)
goto error_free_dyn;
}
if (dyn.d_tag == DT_NEEDED)
@@ -404,53 +441,31 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
goto error_return;
- if (add_needed)
+ /* 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')
{
- /* 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;
+ soname = elf_dt_name (abfd);
+ if (soname == NULL || *soname == '\0')
+ soname = bfd_get_filename (abfd);
+ }
- 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;
- }
- }
- }
+ /* Save the SONAME because sometimes the linker emulation code
+ will need to know it. */
+ elf_dt_name (abfd) = soname;
- if (! elf_add_dynamic_entry (info, DT_NEEDED, strindex))
- goto error_return;
- }
+ ret = add_dt_needed_tag (info, soname, add_needed);
+ if (ret < 0)
+ 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 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
@@ -748,8 +763,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec, &value,
sym_hash, &skip, &override,
- &type_change_ok, &size_change_ok,
- dt_needed))
+ &type_change_ok, &size_change_ok))
goto error_free_vers;
if (skip)
@@ -778,7 +792,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
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;
@@ -1006,7 +1020,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
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))
+ override))
goto error_free_vers;
if (definition && !dynamic)
@@ -1050,49 +1064,21 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
break;
}
- if (dt_needed && definition
+ if (!add_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)
+ int ret;
+
+ /* 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 = add_dt_needed_tag (info, elf_dt_name (abfd), add_needed);
+ if (ret < 0)
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;
+ BFD_ASSERT (ret == 0);
}
}
}
@@ -1357,7 +1343,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
&& (info->strip != strip_all && info->strip != strip_debugger))
{
asection *stabstr;
-
+
stabstr = bfd_get_section_by_name (abfd, ".stabstr");
if (stabstr != NULL)
{
@@ -1372,7 +1358,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
&& !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,
@@ -3949,7 +3935,8 @@ elf_link_check_versioned_symbol (struct bfd_link_info *info,
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)
+ if ((abfd->flags & DYNAMIC) == 0
+ || elf_dyn_lib_class (abfd) != DYN_DT_NEEDED)
return FALSE;
break;
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index 878511bb828..47b4eae338b 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.
@@ -635,7 +636,7 @@ static const bfd_byte plt_min_entry[PLT_MIN_ENTRY_SIZE] =
static const bfd_byte plt_full_entry[PLT_FULL_ENTRY_SIZE] =
{
0x0b, 0x78, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r15=0,r1;; */
- 0x00, 0x41, 0x3c, 0x30, 0x28, 0xc0, /* ld8 r16=[r15],8 */
+ 0x00, 0x41, 0x3c, 0x70, 0x29, 0xc0, /* ld8.acq r16=[r15],8*/
0x01, 0x08, 0x00, 0x84, /* mov r14=r1;; */
0x11, 0x08, 0x00, 0x1e, 0x18, 0x10, /* [MIB] ld8 r1=[r15] */
0x60, 0x80, 0x04, 0x80, 0x03, 0x00, /* mov b6=r16 */
@@ -3974,12 +3975,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;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index f072f2627dd..76b37326aba 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>.
@@ -3156,8 +3156,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 +3177,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;
}
@@ -4891,9 +4889,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;
}
@@ -6814,9 +6811,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;
}
@@ -9030,10 +9026,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/hppabsd-core.c b/bfd/hppabsd-core.c
index 4d17ba567c0..ff88f9d2273 100644
--- a/bfd/hppabsd-core.c
+++ b/bfd/hppabsd-core.c
@@ -1,5 +1,5 @@
/* BFD back-end for HPPA BSD core files.
- Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002
+ Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -236,10 +236,12 @@ swap_abort ()
abort ();
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target hppabsd_core_vec =
{
@@ -254,26 +256,26 @@ const bfd_target hppabsd_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- hppabsd_core_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ hppabsd_core_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -289,5 +291,5 @@ const bfd_target hppabsd_core_vec =
NULL,
(PTR) 0 /* backend_data */
-};
+ };
#endif
diff --git a/bfd/hpux-core.c b/bfd/hpux-core.c
index 04d29117d09..30967c9fc30 100644
--- a/bfd/hpux-core.c
+++ b/bfd/hpux-core.c
@@ -1,5 +1,5 @@
/* BFD back-end for HP/UX core files.
- Copyright 1993, 1994, 1996, 1998, 1999, 2001, 2002
+ Copyright 1993, 1994, 1996, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Stu Grossman, Cygnus Support.
Converted to back-end form by Ian Lance Taylor, Cygnus SUpport
@@ -348,10 +348,13 @@ swap_abort ()
{
abort(); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target hpux_core_vec =
{
@@ -366,26 +369,26 @@ const bfd_target hpux_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- hpux_core_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ hpux_core_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -401,4 +404,4 @@ const bfd_target hpux_core_vec =
NULL,
(PTR) 0 /* backend_data */
-};
+ };
diff --git a/bfd/irix-core.c b/bfd/irix-core.c
index 1dd35fe7507..486842214f4 100644
--- a/bfd/irix-core.c
+++ b/bfd/irix-core.c
@@ -1,5 +1,5 @@
/* BFD back-end for Irix core files.
- Copyright 1993, 1994, 1996, 1999, 2001, 2002
+ Copyright 1993, 1994, 1996, 1999, 2001, 2002, 2004
Free Software Foundation, Inc.
Written by Stu Grossman, Cygnus Support.
Converted to back-end form by Ian Lance Taylor, Cygnus Support
@@ -299,10 +299,13 @@ swap_abort()
{
abort(); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target irix_core_vec =
{
@@ -317,26 +320,26 @@ const bfd_target irix_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- irix_core_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ irix_core_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -352,6 +355,6 @@ const bfd_target irix_core_vec =
NULL,
(PTR) 0 /* backend_data */
-};
+ };
#endif /* IRIX_CORE */
diff --git a/bfd/libaout.h b/bfd/libaout.h
index 960f9d0f285..87b49e5dbd0 100644
--- a/bfd/libaout.h
+++ b/bfd/libaout.h
@@ -29,51 +29,23 @@
#include "bfdlink.h"
-/* Macros for accessing components in an aout header. Saves cluttering
- the source with (bfd_vma) and (bfd_byte *) casts. */
-
-#define H_PUT_64(abfd, val, where) \
- bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_32(abfd, val, where) \
- bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_16(abfd, val, where) \
- bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
+/* Macros for accessing components in an aout header. */
+#define H_PUT_64 bfd_h_put_64
+#define H_PUT_32 bfd_h_put_32
+#define H_PUT_16 bfd_h_put_16
#define H_PUT_8 bfd_h_put_8
-
-#define H_PUT_S64(abfd, val, where) \
- bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_S32(abfd, val, where) \
- bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
-#define H_PUT_S16(abfd, val, where) \
- bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-
+#define H_PUT_S64 bfd_h_put_signed_64
+#define H_PUT_S32 bfd_h_put_signed_32
+#define H_PUT_S16 bfd_h_put_signed_16
#define H_PUT_S8 bfd_h_put_signed_8
-
-#define H_GET_64(abfd, where) \
- bfd_h_get_64 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_32(abfd, where) \
- bfd_h_get_32 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_16(abfd, where) \
- bfd_h_get_16 ((abfd), (bfd_byte *) (where))
-
+#define H_GET_64 bfd_h_get_64
+#define H_GET_32 bfd_h_get_32
+#define H_GET_16 bfd_h_get_16
#define H_GET_8 bfd_h_get_8
-
-#define H_GET_S64(abfd, where) \
- bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_S32(abfd, where) \
- bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where))
-
-#define H_GET_S16(abfd, where) \
- bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where))
-
+#define H_GET_S64 bfd_h_get_signed_64
+#define H_GET_S32 bfd_h_get_signed_32
+#define H_GET_S16 bfd_h_get_signed_16
#define H_GET_S8 bfd_h_get_signed_8
/* Parameterize the a.out code based on whether it is being built
diff --git a/bfd/libbfd.c b/bfd/libbfd.c
index abcf44fc382..be090e9b069 100644
--- a/bfd/libbfd.c
+++ b/bfd/libbfd.c
@@ -1,6 +1,6 @@
/* Assorted BFD support routines, only used internally.
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.
@@ -266,7 +266,7 @@ DESCRIPTION
.{* Byte swapping macros for user section data. *}
.
.#define bfd_put_8(abfd, val, ptr) \
-. ((void) (*((unsigned char *) (ptr)) = (unsigned char) (val)))
+. ((void) (*((unsigned char *) (ptr)) = (val) & 0xff))
.#define bfd_put_signed_8 \
. bfd_put_8
.#define bfd_get_8(abfd, ptr) \
@@ -367,103 +367,82 @@ DESCRIPTION
.#define bfd_h_get_signed_64(abfd, ptr) \
. BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr))
.
-.{* Refinements on the above, which should eventually go away. Save
-. cluttering the source with (bfd_vma) and (bfd_byte *) casts. *}
+.{* Aliases for the above, which should eventually go away. *}
.
-.#define H_PUT_64(abfd, val, where) \
-. bfd_h_put_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_32(abfd, val, where) \
-. bfd_h_put_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_16(abfd, val, where) \
-. bfd_h_put_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_8 bfd_h_put_8
-.
-.#define H_PUT_S64(abfd, val, where) \
-. bfd_h_put_signed_64 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_S32(abfd, val, where) \
-. bfd_h_put_signed_32 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_S16(abfd, val, where) \
-. bfd_h_put_signed_16 ((abfd), (bfd_vma) (val), (bfd_byte *) (where))
-.
-.#define H_PUT_S8 bfd_h_put_signed_8
-.
-.#define H_GET_64(abfd, where) \
-. bfd_h_get_64 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_32(abfd, where) \
-. bfd_h_get_32 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_16(abfd, where) \
-. bfd_h_get_16 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_8 bfd_h_get_8
-.
-.#define H_GET_S64(abfd, where) \
-. bfd_h_get_signed_64 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_S32(abfd, where) \
-. bfd_h_get_signed_32 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_S16(abfd, where) \
-. bfd_h_get_signed_16 ((abfd), (bfd_byte *) (where))
-.
-.#define H_GET_S8 bfd_h_get_signed_8
+.#define H_PUT_64 bfd_h_put_64
+.#define H_PUT_32 bfd_h_put_32
+.#define H_PUT_16 bfd_h_put_16
+.#define H_PUT_8 bfd_h_put_8
+.#define H_PUT_S64 bfd_h_put_signed_64
+.#define H_PUT_S32 bfd_h_put_signed_32
+.#define H_PUT_S16 bfd_h_put_signed_16
+.#define H_PUT_S8 bfd_h_put_signed_8
+.#define H_GET_64 bfd_h_get_64
+.#define H_GET_32 bfd_h_get_32
+.#define H_GET_16 bfd_h_get_16
+.#define H_GET_8 bfd_h_get_8
+.#define H_GET_S64 bfd_h_get_signed_64
+.#define H_GET_S32 bfd_h_get_signed_32
+.#define H_GET_S16 bfd_h_get_signed_16
+.#define H_GET_S8 bfd_h_get_signed_8
.
.*/
/* Sign extension to bfd_signed_vma. */
#define COERCE16(x) (((bfd_signed_vma) (x) ^ 0x8000) - 0x8000)
#define COERCE32(x) (((bfd_signed_vma) (x) ^ 0x80000000) - 0x80000000)
-#define EIGHT_GAZILLION ((BFD_HOST_64_BIT) 1 << 63)
+#define EIGHT_GAZILLION ((bfd_int64_t) 1 << 63)
#define COERCE64(x) \
- (((bfd_signed_vma) (x) ^ EIGHT_GAZILLION) - EIGHT_GAZILLION)
+ (((bfd_int64_t) (x) ^ EIGHT_GAZILLION) - EIGHT_GAZILLION)
bfd_vma
-bfd_getb16 (const bfd_byte *addr)
+bfd_getb16 (const void *p)
{
+ const bfd_byte *addr = p;
return (addr[0] << 8) | addr[1];
}
bfd_vma
-bfd_getl16 (const bfd_byte *addr)
+bfd_getl16 (const void *p)
{
+ const bfd_byte *addr = p;
return (addr[1] << 8) | addr[0];
}
bfd_signed_vma
-bfd_getb_signed_16 (const bfd_byte *addr)
+bfd_getb_signed_16 (const void *p)
{
+ const bfd_byte *addr = p;
return COERCE16 ((addr[0] << 8) | addr[1]);
}
bfd_signed_vma
-bfd_getl_signed_16 (const bfd_byte *addr)
+bfd_getl_signed_16 (const void *p)
{
+ const bfd_byte *addr = p;
return COERCE16 ((addr[1] << 8) | addr[0]);
}
void
-bfd_putb16 (bfd_vma data, bfd_byte *addr)
+bfd_putb16 (bfd_vma data, void *p)
{
- addr[0] = (bfd_byte) (data >> 8);
- addr[1] = (bfd_byte) data;
+ bfd_byte *addr = p;
+ addr[0] = (data >> 8) & 0xff;
+ addr[1] = data & 0xff;
}
void
-bfd_putl16 (bfd_vma data, bfd_byte *addr)
+bfd_putl16 (bfd_vma data, void *p)
{
- addr[0] = (bfd_byte) data;
- addr[1] = (bfd_byte) (data >> 8);
+ bfd_byte *addr = p;
+ addr[0] = data & 0xff;
+ addr[1] = (data >> 8) & 0xff;
}
bfd_vma
-bfd_getb32 (const bfd_byte *addr)
+bfd_getb32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[0] << 24;
@@ -474,8 +453,9 @@ bfd_getb32 (const bfd_byte *addr)
}
bfd_vma
-bfd_getl32 (const bfd_byte *addr)
+bfd_getl32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[0];
@@ -486,8 +466,9 @@ bfd_getl32 (const bfd_byte *addr)
}
bfd_signed_vma
-bfd_getb_signed_32 (const bfd_byte *addr)
+bfd_getb_signed_32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[0] << 24;
@@ -498,8 +479,9 @@ bfd_getb_signed_32 (const bfd_byte *addr)
}
bfd_signed_vma
-bfd_getl_signed_32 (const bfd_byte *addr)
+bfd_getl_signed_32 (const void *p)
{
+ const bfd_byte *addr = p;
unsigned long v;
v = (unsigned long) addr[0];
@@ -509,11 +491,12 @@ bfd_getl_signed_32 (const bfd_byte *addr)
return COERCE32 (v);
}
-bfd_vma
-bfd_getb64 (const bfd_byte *addr ATTRIBUTE_UNUSED)
+bfd_uint64_t
+bfd_getb64 (const void *p ATTRIBUTE_UNUSED)
{
-#ifdef BFD64
- bfd_vma v;
+#ifdef BFD_HOST_64_BIT
+ const bfd_byte *addr = p;
+ bfd_uint64_t v;
v = addr[0]; v <<= 8;
v |= addr[1]; v <<= 8;
@@ -531,11 +514,12 @@ bfd_getb64 (const bfd_byte *addr ATTRIBUTE_UNUSED)
#endif
}
-bfd_vma
-bfd_getl64 (const bfd_byte *addr ATTRIBUTE_UNUSED)
+bfd_uint64_t
+bfd_getl64 (const void *p ATTRIBUTE_UNUSED)
{
-#ifdef BFD64
- bfd_vma v;
+#ifdef BFD_HOST_64_BIT
+ const bfd_byte *addr = p;
+ bfd_uint64_t v;
v = addr[7]; v <<= 8;
v |= addr[6]; v <<= 8;
@@ -554,12 +538,12 @@ bfd_getl64 (const bfd_byte *addr ATTRIBUTE_UNUSED)
}
-bfd_signed_vma
-bfd_getb_signed_64 (addr)
- register const bfd_byte *addr ATTRIBUTE_UNUSED;
+bfd_int64_t
+bfd_getb_signed_64 (const void *p ATTRIBUTE_UNUSED)
{
-#ifdef BFD64
- bfd_vma v;
+#ifdef BFD_HOST_64_BIT
+ const bfd_byte *addr = p;
+ bfd_uint64_t v;
v = addr[0]; v <<= 8;
v |= addr[1]; v <<= 8;
@@ -577,12 +561,12 @@ bfd_getb_signed_64 (addr)
#endif
}
-bfd_signed_vma
-bfd_getl_signed_64 (addr)
- register const bfd_byte *addr ATTRIBUTE_UNUSED;
+bfd_int64_t
+bfd_getl_signed_64 (const void *p ATTRIBUTE_UNUSED)
{
-#ifdef BFD64
- bfd_vma v;
+#ifdef BFD_HOST_64_BIT
+ const bfd_byte *addr = p;
+ bfd_uint64_t v;
v = addr[7]; v <<= 8;
v |= addr[6]; v <<= 8;
@@ -601,60 +585,65 @@ bfd_getl_signed_64 (addr)
}
void
-bfd_putb32 (bfd_vma data, bfd_byte *addr)
+bfd_putb32 (bfd_vma data, void *p)
{
- addr[0] = (bfd_byte) (data >> 24);
- addr[1] = (bfd_byte) (data >> 16);
- addr[2] = (bfd_byte) (data >> 8);
- addr[3] = (bfd_byte) data;
+ bfd_byte *addr = p;
+ addr[0] = (data >> 24) & 0xff;
+ addr[1] = (data >> 16) & 0xff;
+ addr[2] = (data >> 8) & 0xff;
+ addr[3] = data & 0xff;
}
void
-bfd_putl32 (bfd_vma data, bfd_byte *addr)
+bfd_putl32 (bfd_vma data, void *p)
{
- addr[0] = (bfd_byte) data;
- addr[1] = (bfd_byte) (data >> 8);
- addr[2] = (bfd_byte) (data >> 16);
- addr[3] = (bfd_byte) (data >> 24);
+ bfd_byte *addr = p;
+ addr[0] = data & 0xff;
+ addr[1] = (data >> 8) & 0xff;
+ addr[2] = (data >> 16) & 0xff;
+ addr[3] = (data >> 24) & 0xff;
}
void
-bfd_putb64 (bfd_vma data ATTRIBUTE_UNUSED, bfd_byte *addr ATTRIBUTE_UNUSED)
-{
-#ifdef BFD64
- addr[0] = (bfd_byte) (data >> (7*8));
- addr[1] = (bfd_byte) (data >> (6*8));
- addr[2] = (bfd_byte) (data >> (5*8));
- addr[3] = (bfd_byte) (data >> (4*8));
- addr[4] = (bfd_byte) (data >> (3*8));
- addr[5] = (bfd_byte) (data >> (2*8));
- addr[6] = (bfd_byte) (data >> (1*8));
- addr[7] = (bfd_byte) (data >> (0*8));
+bfd_putb64 (bfd_uint64_t data ATTRIBUTE_UNUSED, void *p ATTRIBUTE_UNUSED)
+{
+#ifdef BFD_HOST_64_BIT
+ bfd_byte *addr = p;
+ addr[0] = (data >> (7*8)) & 0xff;
+ addr[1] = (data >> (6*8)) & 0xff;
+ addr[2] = (data >> (5*8)) & 0xff;
+ addr[3] = (data >> (4*8)) & 0xff;
+ addr[4] = (data >> (3*8)) & 0xff;
+ addr[5] = (data >> (2*8)) & 0xff;
+ addr[6] = (data >> (1*8)) & 0xff;
+ addr[7] = (data >> (0*8)) & 0xff;
#else
BFD_FAIL();
#endif
}
void
-bfd_putl64 (bfd_vma data ATTRIBUTE_UNUSED, bfd_byte *addr ATTRIBUTE_UNUSED)
-{
-#ifdef BFD64
- addr[7] = (bfd_byte) (data >> (7*8));
- addr[6] = (bfd_byte) (data >> (6*8));
- addr[5] = (bfd_byte) (data >> (5*8));
- addr[4] = (bfd_byte) (data >> (4*8));
- addr[3] = (bfd_byte) (data >> (3*8));
- addr[2] = (bfd_byte) (data >> (2*8));
- addr[1] = (bfd_byte) (data >> (1*8));
- addr[0] = (bfd_byte) (data >> (0*8));
+bfd_putl64 (bfd_uint64_t data ATTRIBUTE_UNUSED, void *p ATTRIBUTE_UNUSED)
+{
+#ifdef BFD_HOST_64_BIT
+ bfd_byte *addr = p;
+ addr[7] = (data >> (7*8)) & 0xff;
+ addr[6] = (data >> (6*8)) & 0xff;
+ addr[5] = (data >> (5*8)) & 0xff;
+ addr[4] = (data >> (4*8)) & 0xff;
+ addr[3] = (data >> (3*8)) & 0xff;
+ addr[2] = (data >> (2*8)) & 0xff;
+ addr[1] = (data >> (1*8)) & 0xff;
+ addr[0] = (data >> (0*8)) & 0xff;
#else
BFD_FAIL();
#endif
}
void
-bfd_put_bits (bfd_vma data, bfd_byte *addr, int bits, bfd_boolean big_p)
+bfd_put_bits (bfd_uint64_t data, void *p, int bits, bfd_boolean big_p)
{
+ bfd_byte *addr = p;
int i;
int bytes;
@@ -666,15 +655,16 @@ bfd_put_bits (bfd_vma data, bfd_byte *addr, int bits, bfd_boolean big_p)
{
int index = big_p ? bytes - i - 1 : i;
- addr[index] = (bfd_byte) data;
+ addr[index] = data & 0xff;
data >>= 8;
}
}
-bfd_vma
-bfd_get_bits (bfd_byte *addr, int bits, bfd_boolean big_p)
+bfd_uint64_t
+bfd_get_bits (const void *p, int bits, bfd_boolean big_p)
{
- bfd_vma data;
+ const bfd_byte *addr = p;
+ bfd_uint64_t data;
int i;
int bytes;
diff --git a/bfd/linker.c b/bfd/linker.c
index c55fb9338ad..58befc3632e 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 2dc807361d2..b5d6a728d08 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -522,7 +522,7 @@ bfd_mach_o_read_header (abfd, header)
bfd_mach_o_header *header;
{
unsigned char buf[28];
- bfd_vma (*get32) PARAMS ((const bfd_byte *)) = NULL;
+ bfd_vma (*get32) (const void *) = NULL;
bfd_seek (abfd, 0, SEEK_SET);
diff --git a/bfd/netbsd-core.c b/bfd/netbsd-core.c
index adadead8d10..250c6f4f1d5 100644
--- a/bfd/netbsd-core.c
+++ b/bfd/netbsd-core.c
@@ -1,6 +1,6 @@
/* BFD back end for NetBSD style core files
Copyright 1988, 1989, 1991, 1992, 1993, 1996, 1998, 1999, 2000, 2001,
- 2002, 2004
+ 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Paul Kranenburg, EUR
@@ -34,8 +34,6 @@
NetBSD/sparc64 overlaps with M_MIPS1. */
#define M_SPARC64_OPENBSD M_MIPS1
-/* FIXME: On NetBSD/sparc CORE_FPU_OFFSET should be (sizeof (struct trapframe)). */
-
struct netbsd_core_struct
{
struct core core;
@@ -63,7 +61,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;
@@ -143,24 +141,6 @@ netbsd_core_file_p (abfd)
asect->alignment_power = 2;
offset += coreseg.c_size;
-
-#ifdef CORE_FPU_OFFSET
- switch (CORE_GETFLAG (coreseg))
- {
- case CORE_CPU:
- /* Hackish... */
- asect->_raw_size = CORE_FPU_OFFSET;
- asect2 = bfd_make_section_anyway (abfd, ".reg2");
- if (asect2 == 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;
- }
-#endif
}
/* Set architecture from machine ID. */
@@ -228,10 +208,12 @@ swap_abort ()
abort ();
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target netbsd_core_vec =
{
@@ -246,39 +228,39 @@ const bfd_target netbsd_core_vec =
0, /* Symbol prefix. */
' ', /* ar_pad_char. */
16, /* ar_max_namelen. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs. */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs. */
+ 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. */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs. */
+ 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_dummy_target, /* Unknown format. */
+ _bfd_dummy_target, /* Object file. */
+ _bfd_dummy_target, /* Archive. */
+ netbsd_core_file_p /* A core file. */
},
{ /* bfd_set_format. */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents. */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
- BFD_JUMP_TABLE_GENERIC (_bfd_generic),
- BFD_JUMP_TABLE_COPY (_bfd_generic),
- BFD_JUMP_TABLE_CORE (netbsd),
- BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
- BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
- BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
- BFD_JUMP_TABLE_WRITE (_bfd_generic),
- BFD_JUMP_TABLE_LINK (_bfd_nolink),
- BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+ BFD_JUMP_TABLE_GENERIC (_bfd_generic),
+ BFD_JUMP_TABLE_COPY (_bfd_generic),
+ BFD_JUMP_TABLE_CORE (netbsd),
+ BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
+ BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
+ BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
+ BFD_JUMP_TABLE_WRITE (_bfd_generic),
+ BFD_JUMP_TABLE_LINK (_bfd_nolink),
+ BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
NULL,
(PTR) 0 /* Backend_data. */
-};
+ };
diff --git a/bfd/osf-core.c b/bfd/osf-core.c
index 9ba0d189af9..8273504e59a 100644
--- a/bfd/osf-core.c
+++ b/bfd/osf-core.c
@@ -1,5 +1,5 @@
/* BFD back-end for OSF/1 core files.
- Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002
+ Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -185,10 +185,13 @@ swap_abort()
{
abort(); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target osf_core_vec =
{
@@ -203,26 +206,26 @@ const bfd_target osf_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- osf_core_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ osf_core_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -238,4 +241,4 @@ const bfd_target osf_core_vec =
NULL,
(PTR) 0 /* backend_data */
-};
+ };
diff --git a/bfd/pdp11.c b/bfd/pdp11.c
index a4af824e459..95d2ccd30be 100644
--- a/bfd/pdp11.c
+++ b/bfd/pdp11.c
@@ -134,9 +134,9 @@ struct pdp11_external_nlist
static bfd_boolean MY(write_object_contents) PARAMS ((bfd *abfd));
#define MY_text_includes_header 1
-bfd_vma bfd_getp32 PARAMS ((const bfd_byte *));
-bfd_signed_vma bfd_getp_signed_32 PARAMS ((const bfd_byte *));
-void bfd_putp32 PARAMS ((bfd_vma, bfd_byte *));
+static bfd_vma bfd_getp32 (const void *);
+static bfd_signed_vma bfd_getp_signed_32 (const void *);
+static void bfd_putp32 (bfd_vma, void *);
#define MY_BFD_TARGET
@@ -5004,31 +5004,38 @@ aout_link_reloc_link_order (finfo, o, p)
}
/* end of modified aoutx.h */
-bfd_vma
-bfd_getp32 (addr)
- const bfd_byte *addr;
+static bfd_vma
+bfd_getp32 (const void *p)
{
- return (((((bfd_vma)addr[1] << 8) | addr[0]) << 8)
- | addr[3]) << 8 | addr[2];
+ const bfd_byte *addr = p;
+ unsigned long v;
+ v = (unsigned long) addr[1] << 24;
+ v |= (unsigned long) addr[0] << 16;
+ v |= (unsigned long) addr[3] << 8;
+ v |= (unsigned long) addr[2];
+ return v;
}
#define COERCE32(x) (((bfd_signed_vma) (x) ^ 0x80000000) - 0x80000000)
-bfd_signed_vma
-bfd_getp_signed_32 (addr)
- const bfd_byte *addr;
+static bfd_signed_vma
+bfd_getp_signed_32 (const void *p)
{
- return COERCE32((((((bfd_vma)addr[1] << 8) | addr[0]) << 8)
- | addr[3]) << 8 | addr[2]);
+ const bfd_byte *addr = p;
+ unsigned long v;
+ v = (unsigned long) addr[1] << 24;
+ v |= (unsigned long) addr[0] << 16;
+ v |= (unsigned long) addr[3] << 8;
+ v |= (unsigned long) addr[2];
+ return COERCE32 (v);
}
-void
-bfd_putp32 (data, addr)
- bfd_vma data;
- bfd_byte *addr;
+static void
+bfd_putp32 (bfd_vma data, void *p)
{
- addr[0] = (bfd_byte)(data >> 16);
- addr[1] = (bfd_byte)(data >> 24);
- addr[2] = (bfd_byte)data;
- addr[3] = (bfd_byte)(data >> 8);
+ bfd_byte *addr = p;
+ addr[0] = (data >> 16) & 0xff;
+ addr[1] = (data >> 24) & 0xff;
+ addr[2] = (data >> 0) & 0xff;
+ addr[3] = (data >> 8) & 0xff;
}
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index 5d4f2349a02..3396c4f7138 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-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"
@@ -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:2494
#, 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:2499
#, 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:2571
#, 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:2578
#, 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:2633
+#, 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:2636
+#, 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:2298
#, 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:2302
#, 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.h:945
#, 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:2153 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,269 +612,324 @@ msgid ""
" Type: %s"
msgstr ""
-#: elf32-arm.h:1228
+#: elf32-arm.h:1428
#, c-format
msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr ""
-#: elf32-arm.h:1424
+#: elf32-arm.h:1624
#, 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:2092 elf32-sh.c:4819 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:2184
#, 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:2236 elf32-avr.c:812 elf32-cris.c:1352 elf32-d10v.c:579
+#: elf32-fr30.c:634 elf32-frv.c:2499 elf32-h8300.c:509 elf32-i860.c:1218
+#: elf32-ip2k.c:1565 elf32-iq2000.c:665 elf32-m32r.c:3202 elf32-m68hc1x.c:1214
+#: elf32-msp430.c:510 elf32-openrisc.c:436 elf32-v850.c:1777
+#: elf32-xstormy16.c:976 elf64-mmix.c:1545 elf-m10200.c:442 elf-m10300.c:1677
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:2240 elf32-avr.c:816 elf32-cris.c:1356 elf32-d10v.c:583
+#: elf32-fr30.c:638 elf32-frv.c:2503 elf32-h8300.c:513 elf32-i860.c:1222
+#: elf32-iq2000.c:669 elf32-m32r.c:3206 elf32-m68hc1x.c:1218
+#: elf32-msp430.c:514 elf32-openrisc.c:440 elf32-v850.c:1781
+#: elf32-xstormy16.c:980 elf64-mmix.c:1549 elf-m10200.c:446 elf-m10300.c:1681
+#: elfxx-mips.c:6470
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:2244 elf32-d10v.c:587 elf32-h8300.c:517 elf32-m32r.c:3210
+#: elf32-m68hc1x.c:1222 elf-m10200.c:450 elf-m10300.c:1685
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:2248 elf32-avr.c:824 elf32-cris.c:1364 elf32-d10v.c:591
+#: elf32-fr30.c:646 elf32-frv.c:2511 elf32-h8300.c:521 elf32-i860.c:1230
+#: elf32-ip2k.c:1580 elf32-iq2000.c:677 elf32-m32r.c:3214 elf32-m68hc1x.c:1226
+#: elf32-msp430.c:522 elf32-openrisc.c:448 elf32-v850.c:1801
+#: elf32-xstormy16.c:988 elf64-mmix.c:1557 elf-m10200.c:454 elf-m10300.c:1689
msgid "internal error: unknown error"
msgstr ""
-#: elf32-arm.h:2202
+#: elf32-arm.h:2350
#, 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:2468
#, 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:2482
#, c-format
msgid "ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d"
msgstr ""
-#: elf32-arm.h:2344
+#: elf32-arm.h:2510
#, c-format
msgid "ERROR: %s uses VFP instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2349
+#: elf32-arm.h:2515
#, c-format
msgid "ERROR: %s uses FPA instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2360 elf32-arm.h:2365
+#: elf32-arm.h:2526
#, c-format
msgid "ERROR: %s uses Maverick instructions, whereas %s does not"
msgstr ""
-#: elf32-arm.h:2385
+#: elf32-arm.h:2531
+#, c-format
+msgid "ERROR: %s does not use Maverick instructions, whereas %s does"
+msgstr ""
+
+#: elf32-arm.h:2551
#, c-format
msgid "ERROR: %s uses software FP, whereas %s uses hardware FP"
msgstr ""
-#: elf32-arm.h:2390
+#: elf32-arm.h:2556
#, 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:2609 elf32-cris.c:2938 elf32-m68hc1x.c:1362 elf32-m68k.c:397
+#: elf32-vax.c:546 elfxx-mips.c:9179
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.h:2452
+#: elf32-arm.h:2618
+#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.h:2460
+#: elf32-arm.h:2626
+#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.h:2462
+#: elf32-arm.h:2628
+#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.h:2464
+#: elf32-arm.h:2630
+#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.h:2473
+#: elf32-arm.h:2639
+#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.h:2476
+#: elf32-arm.h:2642
+#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.h:2479
+#: elf32-arm.h:2645
+#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.h:2488
+#: elf32-arm.h:2654
+#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.h:2491 elf32-arm.h:2502
+#: elf32-arm.h:2657 elf32-arm.h:2668
+#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.h:2493 elf32-arm.h:2504
+#: elf32-arm.h:2659 elf32-arm.h:2670
+#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.h:2499
+#: elf32-arm.h:2665
+#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.h:2507
+#: elf32-arm.h:2673
+#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.h:2510
+#: elf32-arm.h:2676
+#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.h:2517
+#: 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-avr.c:820 elf32-cris.c:1360 elf32-fr30.c:642 elf32-frv.c:2507
+#: elf32-i860.c:1226 elf32-ip2k.c:1576 elf32-iq2000.c:673 elf32-msp430.c:518
#: elf32-openrisc.c:444 elf32-v850.c:1785 elf32-xstormy16.c:984
-#: elf64-mmix.c:1340
+#: elf64-mmix.c:1553
msgid "internal error: dangerous relocation"
msgstr ""
-#: elf32-cris.c:931
+#: elf32-cris.c:918
#, c-format
msgid "%s: unresolvable relocation %s against symbol `%s' from %s section"
msgstr ""
-#: elf32-cris.c:993
+#: elf32-cris.c:964
#, 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:967 elf32-cris.c:1093
msgid "[whose name is lost]"
msgstr ""
-#: elf32-cris.c:1111
+#: elf32-cris.c:1082
#, 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:1089
#, 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:1114
#, c-format
msgid ""
"%s: relocation %s is not allowed for global symbol: `%s' from %s section"
msgstr ""
-#: elf32-cris.c:1158
+#: elf32-cris.c:1129
#, c-format
msgid "%s: relocation %s in section %s with no GOT created"
msgstr ""
-#: elf32-cris.c:1277
+#: elf32-cris.c:1248
#, c-format
msgid "%s: Internal inconsistency; no relocation section %s"
msgstr ""
-#: elf32-cris.c:2500
+#: elf32-cris.c:2463
#, 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:2941
+#, c-format
msgid " [symbols have a _ prefix]"
msgstr ""
-#: elf32-cris.c:3017
+#: elf32-cris.c:2980
#, c-format
msgid "%s: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr ""
-#: elf32-cris.c:3018
+#: elf32-cris.c:2981
#, 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:861
#, 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:899
#, c-format
msgid "private flags = 0x%lx:"
msgstr ""
@@ -864,51 +939,57 @@ msgstr ""
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:170 elf64-ppc.c:3186
#, 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:3326
#, 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:1166 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:1186
#, 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:1378
#, c-format
msgid "Could not find relocation section for %s"
msgstr ""
-#: elf32-hppa.c:2828
+#: elf32-hppa.c:2584
#, c-format
msgid "%s: duplicate export stub %s"
msgstr ""
-#: elf32-hppa.c:3416
+#: elf32-hppa.c:3174
+#, 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:3204
#, c-format
msgid "%s(%s+0x%lx): fixing %s"
msgstr ""
-#: elf32-hppa.c:4039
+#: elf32-hppa.c:3820
#, c-format
msgid "%s(%s+0x%lx): cannot handle %s for %s"
msgstr ""
-#: elf32-hppa.c:4357
+#: elf32-hppa.c:4113
msgid ".got section not immediately after .plt section"
msgstr ""
@@ -917,33 +998,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:648
+#: 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:6603 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:4018 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:2897 elf32-m68k.c:1717 elf32-s390.c:3007 elf32-sparc.c:2868
+#: elf32-xtensa.c:2119 elf64-s390.c:3003 elf64-sparc.c:2631
+#: elf64-x86-64.c:2400
#, 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:2936 elf32-m68k.c:1756 elf32-s390.c:3057 elf64-s390.c:3053
+#: elf64-x86-64.c:2438
#, c-format
msgid "%s(%s+0x%lx): reloc against `%s': error %d"
msgstr ""
@@ -968,130 +1049,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:1572
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:873 elf32-m68hc1x.c:1336 elf32-ppc.c:2293 elf64-sparc.c:3039
+#: elfxx-mips.c:9140
#, 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:2575 elf64-alpha.c:4199 elf64-alpha.c:4325 elf32-ia64.c:3920
+#: elf64-ia64.c:3920
#, c-format
msgid "%s: unknown relocation type %d"
msgstr ""
-#: elf32-m32r.c:1226
+#: elf32-m32r.c:2763 elf64-sh64.c:1689 elf-hppa.h:1387 elf-hppa.h:1421
+#: elf-hppa.h:1437 elf-m10300.c:1632
+#, c-format
+msgid ""
+"%s: warning: unresolvable relocation against symbol `%s' from %s section"
+msgstr ""
+
+#: elf32-m32r.c:3139
#, 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:4222
#, c-format
msgid "%s: Instruction set mismatch with previous modules"
msgstr ""
-#: elf32-m32r.c:1975
+#: elf32-m32r.c:4245
#, c-format
msgid "private flags = %lx"
msgstr ""
-#: elf32-m32r.c:1980
+#: elf32-m32r.c:4250
+#, c-format
msgid ": m32r instructions"
msgstr ""
-#: elf32-m32r.c:1981
+#: elf32-m32r.c:4251
+#, c-format
msgid ": m32rx instructions"
msgstr ""
-#: elf32-m68hc1x.c:1217
+#: elf32-m32r.c:4252
+#, c-format
+msgid ": m32r2 instructions"
+msgstr ""
+
+#: elf32-m68hc1x.c:1126
#, 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:1149
#, 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:1168
#, 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:1301
#, 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:1309
#, 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:1319
#, c-format
msgid "%s: linking files compiled for HCS12 with others compiled for HC12"
msgstr ""
-#: elf32-m68hc1x.c:1462
+#: elf32-m68hc1x.c:1365
+#, c-format
msgid "[abi=32-bit int, "
msgstr ""
-#: elf32-m68hc1x.c:1464
+#: elf32-m68hc1x.c:1367
+#, c-format
msgid "[abi=16-bit int, "
msgstr ""
-#: elf32-m68hc1x.c:1467
+#: elf32-m68hc1x.c:1370
+#, c-format
msgid "64-bit double, "
msgstr ""
-#: elf32-m68hc1x.c:1469
+#: elf32-m68hc1x.c:1372
+#, c-format
msgid "32-bit double, "
msgstr ""
-#: elf32-m68hc1x.c:1472
+#: elf32-m68hc1x.c:1375
+#, c-format
msgid "cpu=HC11]"
msgstr ""
-#: elf32-m68hc1x.c:1474
+#: elf32-m68hc1x.c:1377
+#, c-format
msgid "cpu=HCS12]"
msgstr ""
-#: elf32-m68hc1x.c:1476
+#: elf32-m68hc1x.c:1379
+#, c-format
msgid "cpu=HC12]"
msgstr ""
-#: elf32-m68hc1x.c:1479
+#: elf32-m68hc1x.c:1382
+#, c-format
msgid " [memory=bank-model]"
msgstr ""
-#: elf32-m68hc1x.c:1481
+#: elf32-m68hc1x.c:1384
+#, 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 +1211,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:3545
#, 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:3751
#, c-format
msgid "%s(%s+0x%lx): %s reloc against local symbol"
msgstr ""
-#: elf32-ppc.c:4862 elf64-ppc.c:7789
+#: elf32-ppc.c:4956 elf64-ppc.c:8015
#, c-format
msgid "%s: unknown relocation type %d for symbol %s"
msgstr ""
-#: elf32-ppc.c:5113
+#: elf32-ppc.c:5207
#, 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:5518 elf32-ppc.c:5544 elf32-ppc.c:5603
#, 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:5658
#, 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:5713 elf64-ppc.c:8687
#, 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:5763 elf64-ppc.c:8733
#, c-format
msgid "%s(%s+0x%lx): %s reloc against `%s': error %d"
msgstr ""
-#: elf32-ppc.c:5888
+#: elf32-ppc.c:6007
#, c-format
msgid "corrupt or empty %s section in %s"
msgstr ""
-#: elf32-ppc.c:5895
+#: elf32-ppc.c:6014
#, c-format
msgid "unable to read in %s section from %s"
msgstr ""
-#: elf32-ppc.c:5901
+#: elf32-ppc.c:6020
#, c-format
msgid "corrupt %s section in %s"
msgstr ""
-#: elf32-ppc.c:5944
+#: elf32-ppc.c:6063
#, c-format
msgid "warning: unable to set size of %s section in %s"
msgstr ""
-#: elf32-ppc.c:5994
+#: elf32-ppc.c:6113
msgid "failed to allocate space for new APUinfo section."
msgstr ""
-#: elf32-ppc.c:6013
+#: elf32-ppc.c:6132
msgid "failed to compute new APUinfo section."
msgstr ""
-#: elf32-ppc.c:6016
+#: elf32-ppc.c:6135
msgid "failed to install new APUinfo section."
msgstr ""
-#: elf32-s390.c:2256 elf64-s390.c:2226
+#: elf32-s390.c:2245 elf64-s390.c:2215
#, 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:2382
#, 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:2385
#, 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:2387
#, 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:2954
#, 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:1735
#, 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:4767 elf64-sh64.c:1568
msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled"
msgstr ""
-#: elf32-sh.c:4809
+#: elf32-sh.c:4924
#, c-format
msgid "%s: unresolvable relocation against symbol `%s' from %s section"
msgstr ""
-#: elf32-sh.c:4881
+#: elf32-sh.c:4997
#, 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:5030 elf32-sh.c:5045
+#, c-format
+msgid "%s: 0x%lx: fatal: unaligned %s relocation 0x%lx"
+msgstr ""
+
+#: elf32-sh.c:5059
+#, c-format
+msgid "%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:5073
+#, c-format
+msgid "%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"
+msgstr ""
+
+#: elf32-sh.c:6815 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:2510 elf64-sparc.c:2281
#, c-format
msgid "%s: probably compiled without -fPIC?"
msgstr ""
-#: elf32-sparc.c:3348
+#: elf32-sparc.c:3336
#, c-format
msgid "%s: compiled for a 64 bit system and target is 32 bit"
msgstr ""
-#: elf32-sparc.c:3362
+#: elf32-sparc.c:3350
#, c-format
msgid "%s: linking little endian files with big endian files"
msgstr ""
@@ -1363,6 +1478,7 @@ msgid ""
msgstr ""
#: elf32-v850.c:1144
+#, c-format
msgid "FAILED to find previous HI16 reloc\n"
msgstr ""
@@ -1378,33 +1494,43 @@ msgstr ""
msgid "could not locate special linker symbol __ctbp"
msgstr ""
-#: elf32-v850.c:1963
+#: elf32-v850.c:1982
#, c-format
msgid "%s: Architecture mismatch with previous modules"
msgstr ""
-#: elf32-v850.c:1983
+#: elf32-v850.c:2003
#, c-format
msgid "private flags = %lx: "
msgstr ""
-#: elf32-v850.c:1988
+#: elf32-v850.c:2008
+#, c-format
msgid "v850 architecture"
msgstr ""
-#: elf32-v850.c:1989
+#: elf32-v850.c:2009
+#, c-format
msgid "v850e architecture"
msgstr ""
+#: elf32-v850.c:2010
+#, 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 +1541,88 @@ 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:2417 elf64-ia64.c:2417
msgid "non-zero addend in @fptr reloc"
msgstr ""
-#: elf64-alpha.c:1108
+#: 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:2082
#, 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 +1630,113 @@ msgid ""
"08lx\n"
msgstr ""
-#: elf64-mmix.c:1416
+#: elf64-mmix.c:1630
#, c-format
msgid ""
"%s: base-plus-offset relocation against register symbol: (unknown) in %s"
msgstr ""
-#: elf64-mmix.c:1421
+#: elf64-mmix.c:1635
#, c-format
msgid "%s: base-plus-offset relocation against register symbol: %s in %s"
msgstr ""
-#: elf64-mmix.c:1465
+#: elf64-mmix.c:1679
#, c-format
msgid "%s: register relocation against non-register symbol: (unknown) in %s"
msgstr ""
-#: elf64-mmix.c:1470
+#: elf64-mmix.c:1684
#, c-format
msgid "%s: register relocation against non-register symbol: %s in %s"
msgstr ""
-#: elf64-mmix.c:1507
+#: elf64-mmix.c:1721
#, c-format
msgid "%s: directive LOCAL valid only with a register or absolute value"
msgstr ""
-#: elf64-mmix.c:1535
+#: elf64-mmix.c:1749
#, 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:2229
#, 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:2288
msgid "Register section has contents\n"
msgstr ""
-#: elf64-mmix.c:2216
+#: elf64-mmix.c:2494
#, 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:2431 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:2434 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:4638
#, 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:5009
#, c-format
msgid "%s: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:4897
+#: elf64-ppc.c:5019
+#, c-format
+msgid "%s: unexpected reloc type %u in .opd section"
+msgstr ""
+
+#: elf64-ppc.c:5039
#, c-format
msgid "%s: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:6136
+#: elf64-ppc.c:6265
#, c-format
msgid "can't find branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:6175 elf64-ppc.c:6250
+#: elf64-ppc.c:6304 elf64-ppc.c:6379
#, c-format
msgid "linkage table error against `%s'"
msgstr ""
-#: elf64-ppc.c:6340
+#: elf64-ppc.c:6496
#, c-format
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:7047
+#: elf64-ppc.c:7215
msgid ".glink and .plt too far apart"
msgstr ""
-#: elf64-ppc.c:7135
+#: elf64-ppc.c:7327
msgid "stubs don't match calculated size"
msgstr ""
-#: elf64-ppc.c:7147
+#: elf64-ppc.c:7339
#, c-format
msgid ""
"linker stubs in %u groups\n"
@@ -1605,14 +1747,24 @@ msgid ""
" plt call %lu"
msgstr ""
-#: elf64-ppc.c:7723
+#: elf64-ppc.c:7537
+#, c-format
+msgid "%s(%s+0x%lx): %s used with TLS symbol %s"
+msgstr ""
+
+#: elf64-ppc.c:7538
+#, c-format
+msgid "%s(%s+0x%lx): %s used with non-TLS symbol %s"
+msgstr ""
+
+#: elf64-ppc.c:7949
#, 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:7957
#, c-format
msgid ""
"%s(%s+0x%lx): sibling call optimization to `%s' does not allow automatic "
@@ -1620,107 +1772,105 @@ msgid ""
"or make `%s' extern"
msgstr ""
-#: elf64-ppc.c:8329
+#: elf64-ppc.c:8555
#, c-format
msgid "%s: relocation %s is not supported for symbol %s."
msgstr ""
-#: elf64-ppc.c:8408
+#: elf64-ppc.c:8634
#, 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:3020
#, 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 +1880,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:1068
#, c-format
msgid "%s: version count (%ld) does not match symbol count (%ld)"
msgstr ""
-#: elfcode.h:1342
+#: elfcode.h:1294
#, c-format
msgid "%s(%s): relocation %d has invalid symbol index %ld"
msgstr ""
-#: elflink.c:1456
+#: elflink.c:1349
#, c-format
msgid "%s: warning: unexpected redefinition of indirect versioned symbol `%s'"
msgstr ""
-#: elflink.c:1807
+#: elflink.c:1668
#, c-format
msgid "%s: undefined versioned symbol name %s"
msgstr ""
-#: elflink.c:2142
+#: elflink.c:1817
+#, c-format
+msgid ""
+"%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'"
+msgstr ""
+
+#: elflink.c:2006
#, c-format
msgid "%s: relocation size mismatch in %s section %s"
msgstr ""
-#: elflink.c:2434
+#: elflink.c:2295
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
msgstr ""
-#: elflink.h:1022
+#: elflink.h:196
+msgid "warning: "
+msgstr ""
+
+#: elflink.h:691
#, c-format
msgid "%s: %s: invalid version %u (max %d)"
msgstr ""
-#: elflink.h:1063
+#: elflink.h:732
#, c-format
msgid "%s: %s: invalid needed version %d"
msgstr ""
-#: elflink.h:1238
+#: elflink.h:907
#, c-format
msgid "Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"
msgstr ""
-#: elflink.h:1252
+#: elflink.h:921
#, c-format
msgid "Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"
msgstr ""
-#: elflink.h:2160
+#: elflink.h:1858
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.h:2226
+#: elflink.h:1924
#, c-format
msgid "%s: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.h:3078
+#: elflink.h:2750
msgid "Not enough memory to sort relocations"
msgstr ""
-#: elflink.h:3958 elflink.h:4001
+#: elflink.h:3609 elflink.h:3652
#, c-format
msgid "%s: could not find output section %s"
msgstr ""
-#: elflink.h:3964
+#: elflink.h:3615
#, c-format
msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.h:4483
+#: elflink.h:4124
#, c-format
msgid "%s: %s symbol `%s' in %s is referenced by DSO"
msgstr ""
-#: elflink.h:4564
+#: elflink.h:4205
#, c-format
msgid "%s: could not find output section %s for input section %s"
msgstr ""
-#: elflink.h:4666
+#: elflink.h:4307
#, c-format
msgid "%s: %s symbol `%s' isn't defined"
msgstr ""
-#: elflink.h:5053 elflink.h:5095
+#: elflink.h:4691 elflink.h:4733
msgid "%T: discarded in section `%s' from %s\n"
msgstr ""
-#: elfxx-mips.c:887
+#: elflink.h:5542
+msgid "Warning: gc-sections option ignored"
+msgstr ""
+
+#: elfxx-mips.c:899
msgid "static procedure (no name)"
msgstr ""
-#: elfxx-mips.c:1897
+#: elfxx-mips.c:2037
msgid "not enough GOT space for local GOT entries"
msgstr ""
-#: elfxx-mips.c:3691
+#: elfxx-mips.c:3786
#, c-format
msgid "%s: %s+0x%lx: jump to stub routine which is not jal"
msgstr ""
-#: elfxx-mips.c:5192
+#: elfxx-mips.c:5271
#, c-format
msgid "%s: Malformed reloc detected for section %s"
msgstr ""
-#: elfxx-mips.c:5266
+#: elfxx-mips.c:5345
#, c-format
msgid "%s: CALL16 reloc at 0x%lx not against global symbol"
msgstr ""
-#: elfxx-mips.c:8693
+#: elfxx-mips.c:8642
#, c-format
msgid "%s: illegal section name `%s'"
msgstr ""
-#: elfxx-mips.c:9027
+#: elfxx-mips.c:8965
#, c-format
msgid "%s: endianness incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:9039
+#: elfxx-mips.c:8977
#, c-format
msgid "%s: ABI is incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:9106
+#: elfxx-mips.c:9049
#, c-format
msgid "%s: warning: linking PIC files with non-PIC files"
msgstr ""
-#: elfxx-mips.c:9123
+#: elfxx-mips.c:9066
#, c-format
msgid "%s: linking 32-bit code with 64-bit code"
msgstr ""
-#: elfxx-mips.c:9151
+#: elfxx-mips.c:9094
#, c-format
msgid "%s: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:9174
+#: elfxx-mips.c:9117
#, c-format
msgid "%s: ABI mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:9243
+#: elfxx-mips.c:9182
+#, c-format
msgid " [abi=O32]"
msgstr ""
-#: elfxx-mips.c:9245
+#: elfxx-mips.c:9184
+#, c-format
msgid " [abi=O64]"
msgstr ""
-#: elfxx-mips.c:9247
+#: elfxx-mips.c:9186
+#, c-format
msgid " [abi=EABI32]"
msgstr ""
-#: elfxx-mips.c:9249
+#: elfxx-mips.c:9188
+#, c-format
msgid " [abi=EABI64]"
msgstr ""
-#: elfxx-mips.c:9251
+#: elfxx-mips.c:9190
+#, c-format
msgid " [abi unknown]"
msgstr ""
-#: elfxx-mips.c:9253
+#: elfxx-mips.c:9192
+#, c-format
msgid " [abi=N32]"
msgstr ""
-#: elfxx-mips.c:9255
+#: elfxx-mips.c:9194
+#, c-format
msgid " [abi=64]"
msgstr ""
-#: elfxx-mips.c:9257
+#: elfxx-mips.c:9196
+#, c-format
msgid " [no abi set]"
msgstr ""
-#: elfxx-mips.c:9260
+#: elfxx-mips.c:9199
+#, c-format
msgid " [mips1]"
msgstr ""
-#: elfxx-mips.c:9262
+#: elfxx-mips.c:9201
+#, c-format
msgid " [mips2]"
msgstr ""
-#: elfxx-mips.c:9264
+#: elfxx-mips.c:9203
+#, c-format
msgid " [mips3]"
msgstr ""
-#: elfxx-mips.c:9266
+#: elfxx-mips.c:9205
+#, c-format
msgid " [mips4]"
msgstr ""
-#: elfxx-mips.c:9268
+#: elfxx-mips.c:9207
+#, c-format
msgid " [mips5]"
msgstr ""
-#: elfxx-mips.c:9270
+#: elfxx-mips.c:9209
+#, c-format
msgid " [mips32]"
msgstr ""
-#: elfxx-mips.c:9272
+#: elfxx-mips.c:9211
+#, c-format
msgid " [mips64]"
msgstr ""
-#: elfxx-mips.c:9274
+#: elfxx-mips.c:9213
+#, c-format
msgid " [mips32r2]"
msgstr ""
-#: elfxx-mips.c:9276
+#: elfxx-mips.c:9215
+#, c-format
+msgid " [mips64r2]"
+msgstr ""
+
+#: elfxx-mips.c:9217
+#, c-format
msgid " [unknown ISA]"
msgstr ""
-#: elfxx-mips.c:9279
+#: elfxx-mips.c:9220
+#, c-format
msgid " [mdmx]"
msgstr ""
-#: elfxx-mips.c:9282
+#: elfxx-mips.c:9223
+#, c-format
msgid " [mips16]"
msgstr ""
-#: elfxx-mips.c:9285
+#: elfxx-mips.c:9226
+#, c-format
msgid " [32bitmode]"
msgstr ""
-#: elfxx-mips.c:9287
+#: elfxx-mips.c:9228
+#, c-format
msgid " [not 32bitmode]"
msgstr ""
@@ -2093,12 +2283,12 @@ 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 ""
@@ -2113,7 +2303,7 @@ msgstr ""
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 +2476,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 +2524,7 @@ msgid "%s: bad pair/reflo after refhi\n"
msgstr ""
#: ppcboot.c:416
+#, c-format
msgid ""
"\n"
"ppcboot header:\n"
@@ -2390,7 +2581,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 +2833,230 @@ msgstr ""
msgid "%s: loader reloc in read-only section %s"
msgstr ""
-#: elf32-ia64.c:2271 elf64-ia64.c:2271
+#: elf32-ia64.c:2362 elf64-ia64.c:2362
msgid "@pltoff reloc against local symbol"
msgstr ""
-#: elf32-ia64.c:3663 elf64-ia64.c:3663
+#: elf32-ia64.c:3767 elf64-ia64.c:3767
#, c-format
msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
msgstr ""
-#: elf32-ia64.c:3674 elf64-ia64.c:3674
+#: elf32-ia64.c:3778 elf64-ia64.c:3778
#, c-format
msgid "%s: __gp does not cover short data segment"
msgstr ""
-#: elf32-ia64.c:3986 elf64-ia64.c:3986
+#: elf32-ia64.c:4026 elf64-ia64.c:4026
#, 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:4091 elf64-ia64.c:4091
#, c-format
msgid "%s: @gprel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4077 elf64-ia64.c:4077
+#: elf32-ia64.c:4151 elf64-ia64.c:4151
#, 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:4288 elf64-ia64.c:4288
#, c-format
msgid "%s: @internal branch to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4216 elf64-ia64.c:4216
+#: elf32-ia64.c:4290 elf64-ia64.c:4290
#, c-format
msgid "%s: speculation fixup to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4218 elf64-ia64.c:4218
+#: elf32-ia64.c:4292 elf64-ia64.c:4292
#, c-format
msgid "%s: @pcrel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4430 elf64-ia64.c:4430
+#: elf32-ia64.c:4504 elf64-ia64.c:4504
msgid "unsupported reloc"
msgstr ""
-#: elf32-ia64.c:4709 elf64-ia64.c:4709
+#: elf32-ia64.c:4783 elf64-ia64.c:4783
#, 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:4792 elf64-ia64.c:4792
#, c-format
msgid "%s: linking big-endian files with little-endian files"
msgstr ""
-#: elf32-ia64.c:4727 elf64-ia64.c:4727
+#: elf32-ia64.c:4801 elf64-ia64.c:4801
#, c-format
msgid "%s: linking 64-bit files with 32-bit files"
msgstr ""
-#: elf32-ia64.c:4736 elf64-ia64.c:4736
+#: elf32-ia64.c:4810 elf64-ia64.c:4810
#, 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:4820 elf64-ia64.c:4820
#, 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 +3064,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 +3208,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/ptrace-core.c b/bfd/ptrace-core.c
index 4f441ce6c90..15b6777e121 100644
--- a/bfd/ptrace-core.c
+++ b/bfd/ptrace-core.c
@@ -1,5 +1,5 @@
/* BFD backend for core files which use the ptrace_user structure
- Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002
+ Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
The structure of this file is based on trad-core.c written by John Gilmore
of Cygnus Support.
@@ -167,10 +167,13 @@ swap_abort ()
{
abort (); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target ptrace_core_vec =
{
@@ -185,41 +188,41 @@ const bfd_target ptrace_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- ptrace_unix_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ ptrace_unix_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
- BFD_JUMP_TABLE_GENERIC (_bfd_generic),
- BFD_JUMP_TABLE_COPY (_bfd_generic),
- BFD_JUMP_TABLE_CORE (ptrace_unix),
- BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
- BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
- BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
- BFD_JUMP_TABLE_WRITE (_bfd_generic),
- BFD_JUMP_TABLE_LINK (_bfd_nolink),
- BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+ BFD_JUMP_TABLE_GENERIC (_bfd_generic),
+ BFD_JUMP_TABLE_COPY (_bfd_generic),
+ BFD_JUMP_TABLE_CORE (ptrace_unix),
+ BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
+ BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
+ BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
+ BFD_JUMP_TABLE_WRITE (_bfd_generic),
+ BFD_JUMP_TABLE_LINK (_bfd_nolink),
+ BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
NULL,
(PTR) 0 /* backend_data */
-};
+ };
#endif /* PTRACE_CORE */
diff --git a/bfd/sco5-core.c b/bfd/sco5-core.c
index 311de704f62..5c34ff1b556 100644
--- a/bfd/sco5-core.c
+++ b/bfd/sco5-core.c
@@ -1,5 +1,6 @@
/* BFD back end for SCO5 core files (U-area and raw sections)
- Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Written by Jouke Numan <jnuman@hiscom.nl>
This file is part of BFD, the Binary File Descriptor library.
@@ -360,10 +361,13 @@ swap_abort ()
{
abort (); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target sco5_core_vec =
{
@@ -378,26 +382,26 @@ const bfd_target sco5_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- sco5_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ sco5_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -413,4 +417,4 @@ const bfd_target sco5_core_vec =
NULL,
(PTR) 0 /* backend_data */
-};
+ };
diff --git a/bfd/targets.c b/bfd/targets.c
index de4284eb80e..9d81c56431c 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -1,6 +1,6 @@
/* Generic target-file-type 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.
@@ -203,26 +203,26 @@ DESCRIPTION
. {* Entries for byte swapping for data. These are different from the
. other entry points, since they don't take a BFD asthe first argument.
. Certain other handlers could do the same. *}
-. bfd_vma (*bfd_getx64) (const bfd_byte *);
-. bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *);
-. void (*bfd_putx64) (bfd_vma, bfd_byte *);
-. bfd_vma (*bfd_getx32) (const bfd_byte *);
-. bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *);
-. void (*bfd_putx32) (bfd_vma, bfd_byte *);
-. bfd_vma (*bfd_getx16) (const bfd_byte *);
-. bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *);
-. void (*bfd_putx16) (bfd_vma, bfd_byte *);
+. bfd_uint64_t (*bfd_getx64) (const void *);
+. bfd_int64_t (*bfd_getx_signed_64) (const void *);
+. void (*bfd_putx64) (bfd_uint64_t, void *);
+. bfd_vma (*bfd_getx32) (const void *);
+. bfd_signed_vma (*bfd_getx_signed_32) (const void *);
+. void (*bfd_putx32) (bfd_vma, void *);
+. bfd_vma (*bfd_getx16) (const void *);
+. bfd_signed_vma (*bfd_getx_signed_16) (const void *);
+. void (*bfd_putx16) (bfd_vma, void *);
.
. {* Byte swapping for the headers. *}
-. bfd_vma (*bfd_h_getx64) (const bfd_byte *);
-. bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *);
-. void (*bfd_h_putx64) (bfd_vma, bfd_byte *);
-. bfd_vma (*bfd_h_getx32) (const bfd_byte *);
-. bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *);
-. void (*bfd_h_putx32) (bfd_vma, bfd_byte *);
-. bfd_vma (*bfd_h_getx16) (const bfd_byte *);
-. bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *);
-. void (*bfd_h_putx16) (bfd_vma, bfd_byte *);
+. bfd_uint64_t (*bfd_h_getx64) (const void *);
+. bfd_int64_t (*bfd_h_getx_signed_64) (const void *);
+. void (*bfd_h_putx64) (bfd_uint64_t, void *);
+. bfd_vma (*bfd_h_getx32) (const void *);
+. bfd_signed_vma (*bfd_h_getx_signed_32) (const void *);
+. void (*bfd_h_putx32) (bfd_vma, void *);
+. bfd_vma (*bfd_h_getx16) (const void *);
+. bfd_signed_vma (*bfd_h_getx_signed_16) (const void *);
+. void (*bfd_h_putx16) (bfd_vma, void *);
.
. {* Format dependent routines: these are vectors of entry points
. within the target vector structure, one for each format to check. *}
diff --git a/bfd/trad-core.c b/bfd/trad-core.c
index 06031509f52..f8c03d739a8 100644
--- a/bfd/trad-core.c
+++ b/bfd/trad-core.c
@@ -1,6 +1,6 @@
/* BFD back end for traditional Unix core files (U-area and raw sections)
Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
- 2000, 2001, 2002
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by John Gilmore of Cygnus Support.
@@ -272,10 +272,13 @@ swap_abort ()
{
abort (); /* This way doesn't require any declaration for ANSI to fuck up */
}
-#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
-#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define NO_SIGNED_GET \
- ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) swap_abort )
+
+#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
+#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
+#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
const bfd_target trad_core_vec =
{
@@ -290,39 +293,39 @@ const bfd_target trad_core_vec =
0, /* symbol prefix */
' ', /* ar_pad_char */
16, /* ar_max_namelen */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
- NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
+ 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 */
+ NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit hdrs */
+ 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 */
- trad_unix_core_file_p /* a core file */
+ _bfd_dummy_target, /* unknown format */
+ _bfd_dummy_target, /* object file */
+ _bfd_dummy_target, /* archive */
+ trad_unix_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ bfd_false, bfd_false,
+ bfd_false, bfd_false
},
- BFD_JUMP_TABLE_GENERIC (_bfd_generic),
- BFD_JUMP_TABLE_COPY (_bfd_generic),
- BFD_JUMP_TABLE_CORE (trad_unix),
- BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
- BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
- BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
- BFD_JUMP_TABLE_WRITE (_bfd_generic),
- BFD_JUMP_TABLE_LINK (_bfd_nolink),
- BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+ BFD_JUMP_TABLE_GENERIC (_bfd_generic),
+ BFD_JUMP_TABLE_COPY (_bfd_generic),
+ BFD_JUMP_TABLE_CORE (trad_unix),
+ BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
+ BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols),
+ BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
+ BFD_JUMP_TABLE_WRITE (_bfd_generic),
+ BFD_JUMP_TABLE_LINK (_bfd_nolink),
+ BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
NULL,
(PTR) 0 /* backend_data */
-};
+ };
diff --git a/bfd/version.h b/bfd/version.h
index 7a3a027d926..2b599705011 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,3 +1,3 @@
-#define BFD_VERSION_DATE 20040301
+#define BFD_VERSION_DATE 20040324
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_string@
diff --git a/config/ChangeLog b/config/ChangeLog
index 85868b4246a..7a970b70993 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,15 @@
+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 a4cebf692e1..535a6f5c036 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 96b7c8a5cad..ab7f98a216c 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -155,3 +155,38 @@ 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.
+errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+if test x"$errors" = x; then
+ acx_cv_cc_gcc_supports_ada=yes
+ break
+fi
+rm -f conftest.*])
+
+if test x$GNATBIND != xno && test x$acx_cv_gcc_supports_ada != xno; then
+ have_gnat=yes
+else
+ have_gnat=no
+fi
+])
diff --git a/configure b/configure
index 13384a42ba8..a884c3281bf 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,14 @@ 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
@@ -1429,6 +1439,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 +1524,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 +1675,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 +1694,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 +1845,869 @@ 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
-# Make the links.
-configlinks="${links}"
-if test -r ./config.status ; then
- mv -f ./config.status ./config.back
+# 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:1858: 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
-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
+ # 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:1888: 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
+
+ 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:1939: 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:1971: 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 1982 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:1987: \"$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:2013: 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:2018: 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:2027: \"$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
- ${remove} -f ${link}
- # Make a symlink if possible, otherwise try a hard link
- if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
- true
+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:2046: 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
- # 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}
+ CFLAGS="-g"
fi
- if test ! -r ${link} ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
+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:2082: 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:2114: 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:2147: 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.
+errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+if test x"$errors" = x; 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_gcc_supports_ada != xno; then
+ have_gnat=yes
+else
+ have_gnat=no
+fi
+
+
+# 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
+ 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 $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
+
+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:2612: 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:2647: 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
- echo "Linked \"${link}\" to \"${srcfile}\"."
+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:2682: 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.
@@ -2820,7 +3210,6 @@ ospace_frag=${srcdir}/${ospace_frag}
-
# Build module lists & subconfigure args.
@@ -2852,7 +3241,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:3245: 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 +3274,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:3278: 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 +3313,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:3317: 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 +3346,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:3350: 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 +3385,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:3389: 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 +3418,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:3422: 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 +3457,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:3461: 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 +3490,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:3494: 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 +3529,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:3533: 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 +3562,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:3566: 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 +3601,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:3605: 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 +3634,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:3638: 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 +3673,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:3677: 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 +3706,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:3710: 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 +3745,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:3749: 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 +3778,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:3782: 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 +3817,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:3821: 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 +3850,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:3854: 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,7 +3899,7 @@ 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
+echo "configure:3903: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3543,7 +3932,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET" ; 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:3547: checking for $ac_word" >&5
+echo "configure:3936: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3582,7 +3971,7 @@ fi
# 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
+echo "configure:3975: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3615,7 +4004,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET" ; 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:3619: checking for $ac_word" >&5
+echo "configure:4008: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3654,7 +4043,7 @@ fi
# 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
+echo "configure:4047: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3687,7 +4076,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; 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:3691: checking for $ac_word" >&5
+echo "configure:4080: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3726,7 +4115,7 @@ fi
# 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
+echo "configure:4119: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3759,7 +4148,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; 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:3763: checking for $ac_word" >&5
+echo "configure:4152: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3798,7 +4187,7 @@ fi
# 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
+echo "configure:4191: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3831,7 +4220,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; 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:3835: checking for $ac_word" >&5
+echo "configure:4224: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3870,7 +4259,7 @@ fi
# 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
+echo "configure:4263: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3903,7 +4292,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; 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:3907: checking for $ac_word" >&5
+echo "configure:4296: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3942,7 +4331,7 @@ fi
# 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
+echo "configure:4335: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3975,7 +4364,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; 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:3979: checking for $ac_word" >&5
+echo "configure:4368: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4042,7 +4431,7 @@ 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:4435: 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 +4452,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_error} in
+ yes) WERROR=-Werror ;;
+ *) WERROR= ;;
+esac
+
+
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@@ -4230,6 +4657,12 @@ 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%@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 +4679,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,12 +4717,8 @@ 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
@@ -4316,6 +4744,8 @@ s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE
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%@WERROR@%$WERROR%g
CEOF
EOF
diff --git a/configure.in b/configure.in
index bfbb6a1b0e7..0a9f05fd8fc 100644
--- a/configure.in
+++ b/configure.in
@@ -662,6 +662,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 +747,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 +898,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 +917,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 +1068,442 @@ 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
-# 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
+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
- if test ! -r ${link} ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
+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
- echo "Linked \"${link}\" to \"${srcfile}\"."
+ # 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.
@@ -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)
@@ -2151,4 +2102,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_error} in
+ yes) WERROR=-Werror ;;
+ *) WERROR= ;;
+esac
+AC_SUBST(WERROR)
+
AC_OUTPUT(Makefile)
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 2a7b8c4de02..ce4468bac77 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,52 @@
+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:
diff --git a/cpu/frv.cpu b/cpu/frv.cpu
index 28e78338387..75b034c6edc 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 03c0f3e1437..46985b6110a 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/gdb/ChangeLog b/gdb/ChangeLog
index d7fdb75b7ab..9eb781581ea 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,8 +1,672 @@
-2004-03-10 J. Brobecker <brobecker@gnat.com>
+2004-03-23 Andrew Cagney <cagney@redhat.com>
- * hppa-tdep.c (hppa_frame_cache): Avoid undefined return value.
+ * MAINTAINERS (Past Maintainers): Add Mark Salter and Fernando
+ Nasser as past testsuite/lib/ (and other) maintainers.
-2004-03-10 Kei Sakamoto <sakamoto.kei@renesas.com>
+2004-03-23 Daniel Jacobowitz <drow@mvista.com>
+
+ * infcmd.c (attach_command): Reread symbols if we already have
+ an exec file.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (frame_get_saved_regs): Delete unused function.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (SIGTRAMP_START, SIGTRAMP_END): Deprecate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * i386obsd-tdep.c (i386obsd_init_abi): Update.
+ * i386nbsd-tdep.c (i386nbsd_init_abi): Update.
+ * i386bsd-tdep.c (i386bsd_init_abi): Update.
+ * config/vax/tm-vaxbsd.h (DEPRECATED_SIGTRAMP_END)
+ (DEPRECATED_SIGTRAMP_START): Update.
+ * config/m68k/tm-nbsd.h (DEPRECATED_SIGTRAMP_END)
+ (DEPRECATED_SIGTRAMP_START): Update.
+ * blockframe.c (find_pc_sect_partial_function): Update.
+ * arch-utils.c (legacy_pc_in_sigtramp): Update.
+
+2004-03-23 Daniel Jacobowitz <drow@mvista.com>
+
+ * remote.c (remote_open_1): Reopen the exec file and reread symbols
+ if necessary.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (PC_IN_SIGTRAMP): Change to a function with
+ predicate, deprecate.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * alpha-linux-tdep.c (alpha_linux_init_abi): Update.
+ * alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
+ * alpha-tdep.c (alpha_sigtramp_frame_sniffer): Update.
+ * alphafbsd-tdep.c (alphafbsd_init_abi): Update.
+ * alphanbsd-tdep.c (alphanbsd_init_abi): Update.
+ * amd64-linux-tdep.c (amd64_linux_init_abi): Update.
+ * amd64-tdep.c (amd64_sigtramp_frame_sniffer): Update.
+ * amd64nbsd-tdep.c (amd64nbsd_init_abi): Update.
+ * amd64obsd-tdep.c (amd64obsd_init_abi): Update.
+ * arm-tdep.c (arm_sigtramp_unwind_sniffer): Update.
+ * blockframe.c (find_pc_partial_function): Update.
+ * breakpoint.c (bpstat_what): Update.
+ * frame.c (frame_type_from_pc, legacy_get_prev_frame): Update.
+ * frv-linux-tdep.c (frv_linux_init_abi): Update.
+ * frv-tdep.c (frv_sigtramp_frame_sniffer): Update.
+ * hppa-hpux-tdep.c (hppa_hpux_init_abi): Update.
+ * i386-interix-tdep.c (i386_interix_init_abi): Update.
+ * i386-linux-tdep.c (i386_linux_init_abi): Update.
+ * i386-nto-tdep.c (i386nto_init_abi): Update.
+ * i386-sol2-tdep.c (i386_sol2_init_abi): Update.
+ * i386-tdep.c (i386_sigtramp_frame_sniffer)
+ (i386_svr4_init_abi, i386_go32_init_abi, i386_gdbarch_init): Update.
+ * i386bsd-tdep.c (i386bsd_init_abi): Update.
+ * i386nbsd-tdep.c (i386nbsd_init_abi): Update.
+ * i386obsd-tdep.c (i386obsd_init_abi): Update.
+ * ia64-tdep.c (ia64_sigtramp_frame_sniffer): Update.
+ * infrun.c (pc_in_sigtramp): Update.
+ * m68k-tdep.c (m68k_sigtramp_frame_sniffer): Update.
+ * m68klinux-tdep.c (m68k_linux_init_abi): Update.
+ * mips-tdep.c (mips_gdbarch_init): Update.
+ * mipsnbsd-tdep.c (mipsnbsd_init_abi): Update.
+ * ppc-linux-tdep.c: Update comment.
+ * ppcnbsd-tdep.c (ppcnbsd_init_abi): Update.
+ * shnbsd-tdep.c (shnbsd_init_abi): Update.
+ * sparc-linux-tdep.c (sparc32_linux_init_abi): Update.
+ * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Update.
+ * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Update.
+ * sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Update.
+ * sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Update.
+ * sparc64obsd-tdep.c (sparc64obsd_init_abi): Update.
+ * sparcnbsd-tdep.c (sparc32nbsd_init_abi): Update.
+ * sparcobsd-tdep.c (sparc32obsd_init_abi): Update.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * tramp-frame.h, tramp-frame.h: New files.
+ * Makefile.in (SFILES, tramp_frame_h, COMMON_OBS, tramp-frame.o):
+ Update rules to include "tramp-frame.h" and "tramp-frame.c".
+
+ * Makefile.in: Update all dependencies.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (trad_frame_h): Add $(frame_h).
+ * trad-frame.h: Update copyright. Include "frame.h".
+ (struct trad_frame_cache, trad_frame_cache_zalloc): Declare.
+ (trad_frame_set_id, trad_frame_get_id): Declare.
+ (trad_frame_set_reg_addr, trad_frame_get_register): Declare.
+ * trad-frame.c: Update copyright.
+ (struct trad_frame_cache): Define.
+ (trad_frame_cache_zalloc): New function.
+ (trad_frame_set_id, trad_frame_get_id): New functions.
+ (trad_frame_set_reg_addr, trad_frame_get_register): New functions.
+
+2004-03-22 Andrew Cagney <cagney@redhat.com>
+
+ * s390-tdep.c (struct s390_stub_unwind_cache): Rename
+ s390_pltstub_unwind_cache.
+ (s390_stub_frame_unwind_cache): Rename
+ s390_pltstub_frame_unwind_cache.
+ (s390_stub_frame_this_id): Rename s390_pltstub_frame_this_id.
+ (s390_stub_frame_prev_register): Rename
+ s390_pltstub_frame_prev_register.
+ (s390_stub_frame_unwind): Rename s390_pltstub_frame_unwind.
+ (s390_stub_frame_sniffer): Rename s390_stub_frame_sniffer.
+
+ From Ulrich Weigand:
+ * s390-tdep.c (s390_pltstub_frame_sniffer): Handle invalid function
+ pointer calls like PLT calls.
+
+2004-03-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * mips-tdep.c (non_heuristic_proc_desc): Search using the specified
+ PC rather than the partial function start address. Use the start
+ address to sanity check the found PDR.
+
+2004-03-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * lin-lwp.c (lin_lwp_wait): Pass the LWP ID to
+ linux_handle_extended_wait.
+
+2004-03-22 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (frame_initial_stack_address): Delete unused
+ function.
+
+ * frame.h (generic_pop_current_frame): Delete declaration.
+ (deprecate_pop_dummy_frame): Deprecate
+ generic_pop_dummy_frame.
+ * dummy-frame.c (deprecated_pop_dummy_frame): Update.
+ (generic_pop_current_frame): Delete function.
+ * mn10300-tdep.c (mn10300_pop_frame): Eliminate call to
+ generic_pop_current_frame.
+ * v850-tdep.c (v850_pop_frame): Update.
+ * mcore-tdep.c (mcore_pop_frame): Update.
+ * sh64-tdep.c (sh64_pop_frame): Update.
+ * h8300-tdep.c (h8300_pop_frame): Update.
+
+2004-03-22 Andrew Cagney <cagney@redhat.com>
+
+ * frame.h (deprecated_pc_in_call_dummy): Rename
+ generic_pc_in_call_dummy.
+ * dummy-frame.h (pc_in_dummy_frame): Delete declaration.
+ * dummy-frame.c (deprecated_pc_in_call_dummy): Rename
+ generic_pc_in_call_dummy.
+ (pc_in_dummy_frame): Make static.
+ * gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * dummy-frame.c (dummy_frame_sniffer): Simplify.
+ * frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy.
+ (legacy_get_prev_frame): Ditto.
+ * inferior.h: Delete reference to generic_pc_in_call_dummy in
+ comment.
+
+2004-03-21 Andrew Cagney <cagney@redhat.com>
+
+ * inferior.h (deprecated_pc_in_call_dummy_at_entry_point): Delete
+ declaration and out-of-date comment.
+ * blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
+ Delete function.
+ * mn10300-tdep.c (mn10300_gdbarch_init): Do not set
+ deprecated_pc_in_call_dummy.
+
+ * infrun.c (handle_inferior_event): For non legacy frames, use the
+ frame ID and frame type to identify a signal trampoline. Update
+ comments.
+
+2004-03-21 Nathan J. Williams <nathanw@wasabisystems.com>
+
+ * mipsnbsd-tdep.c: Update copyright. Include "mips-tdep.h".
+ * Makefile.in (mipsnbsd-tdep.o): Update dependencies.
+
+2004-03-21 Andrew Cagney <cagney@redhat.com>
+
+ * frame-unwind.h: Update copyright.
+ (struct frame_data): Add opaque declaration.
+ (frame_sniffer_ftype): Declare.
+ (struct frame_unwind): Add "unwind_data" and "sniffer".
+ (frame_unwind_register_unwinder): Declare.
+ (frame_unwind_find_by_frame): Add parameter "this_cache".
+ * frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame)
+ (legacy_get_prev_frame, legacy_get_prev_frame)
+ (get_frame_type): Pass the prologue_cache to
+ frame_unwind_find_by_frame.
+ * frame-unwind.c (struct frame_unwind_table_entry): Add field
+ "unwinder".
+ (frame_unwind_register_unwinder): New function.
+ (frame_unwind_find_by_frame): Handle an unwind sniffer.
+
+2004-03-20 Paul Hilfinger <hilfingr@nile.gnat.com>
+
+ * bcache.c (print_percentage): Use floating point to avoid
+ incorrect results when portion*100 overflows.
+
+2004-03-19 Kevin Buettner <kevinb@redhat.com>
+
+ * ppc_tdep.h (ppc_linux_frame_saved_pc)
+ (ppc_linux_init_extra_frame_info)
+ (ppc_linux_frameless_function_invocation)
+ (ppc_linux_frame_init_saved_regs, ppc_linux_frame_chain)
+ (rs6000_frame_saved_pc, rs6000_init_extra_frame_info)
+ (rs6000_frameless_function_invocation, rs6000_frame_init_saved_regs)
+ (rs6000_frame_chain): Delete declarations.
+ * ppc-linux-tdep.c (ppc_linux_frame_saved_pc)
+ (ppc_linux_init_extra_frame_info)
+ (ppc_linux_frameless_function_invocation)
+ (ppc_linux_frame_init_saved_regs, ppc_linux_frame_chain): Delete.
+ (ppc_linux_init_abi): Remove registration of above deleted functions.
+ * rs6000-tdep.c (rs6000_init_extra_frame_info)
+ (rs6000_frame_init_saved_regs, rs6000_init_frame_pc_first)
+ (rs6000_frame_args_address, rs6000_saved_pc_after_call)
+ (rs6000_pop_frame, rs6000_frameless_function_invocation)
+ (rs6000_frame_saved_pc, rs6000_frame_chain): Delete.
+ (rs6000_gdbarch_init): Remove registration of above deleted functions.
+ Use rs6000_unwind_pc(), rs6000_frame_sniffer(),
+ rs6000_unwind_dummy_id(), and rs6000_frame_base_sniffer() for
+ frame management for all OSABIs.
+
+2004-03-19 Andrew Cagney <cagney@redhat.com>
+
+ Committed by Kevin Buettner <kevinb@redhat.com>.
+
+ * ppc-linux-tdep.c: Include "trad-frame.h", and "frame-unwind.h".
+ Update copyright.
+ (struct ppc_linux_sigtramp_cache, ppc_linux_sigtramp_cache)
+ (ppc_linux_sigtramp_this_id, ppc_linux_sigtramp_prev_register)
+ (ppc_linux_sigtramp_unwind, ppc_linux_sigtramp_sniffer)
+ (ppc_linux_init_abi): Add both 32- and 64-bit signal trampoline
+ unwinders. #ifdef legacy frame code.
+ * rs6000-tdep.c: Include "trad-frame.h", "frame-unwind.h", and
+ "frame-base.h".
+ (rs6000_unwind_pc, rs6000_unwind_dummy_id)
+ (struct rs6000_frame_cache, rs6000_frame_cache)
+ (rs6000_frame_this_id, rs6000_frame_prev_register)
+ (rs6000_frame_sniffer, rs6000_frame_unwind)
+ (rs6000_frame_base_address, rs6000_frame_base_sniffer)
+ (rs6000_frame_base): Implement a traditional frame unwinder.
+ (rs6000_gdbarch_init): When unknown, NetBSD, or GNU/Linux use the
+ frame unwinder.
+
+2004-03-19 Kevin Buettner <kevinb@redhat.com>
+
+ * breakpoint.c (adjust_breakpoint_address): Don't adjust
+ breakpoint address for watchpoints or the catch eventpoints.
+ Add new paramter ``bptype''. Adjust all callers.
+
+2004-03-19 Andrew Cagney <cagney@redhat.com>
+
+ * config/pa/tm-hppa.h (GDB_TARGET_IS_HPPA): Delete unused macro.
+
+ * PROBLEMS: Delete note that ARM does not use frame code, problem
+ fixed.
+
+2004-03-18 Andrew Cagney <cagney@redhat.com>
+
+ * stack.c (return_command): Delete code wrapped in #ifdef
+ DEPRECATED_CALL_DUMMY_HAS_COMPLETED, macro no longer defined.
+
+ * rs6000-tdep.c (skip_prologue): Record only the first LR save.
+
+2004-03-18 Andrew Cagney <cagney@redhat.com>
+
+ * config/mips/tm-nbsd.h: Replace IN_SIGTRAMP with
+ DEPRECATED_IN_SIGTRAMP.
+ * config/powerpc/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/mips/tm-linux.h (DEPRECATED_IN_SIGTRAMP) Ditto.
+ * config/mips/tm-irix6.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/mips/tm-irix5.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/ia64/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/ia64/tm-aix.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/arm/tm-linux.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * config/arm/tm-embed.h (DEPRECATED_IN_SIGTRAMP): Ditto.
+ * arch-utils.c (legacy_pc_in_sigtramp): Ditto.
+ * arch-utils.h: Remove reference to IN_SIGTRAMP in comment.
+
+2004-03-18 Andrew Cagney <cagney@redhat.com>
+
+ * frame-base.c: Update copyright. Include "gdb_obstack.h".
+ (struct frame_base_table_entry): Define.
+ (struct frame_base_table): Re-implement as a linked list.
+ (frame_base_init): Re-implement.
+ (frame_base_table): Delete function.
+ (append_predicate): Delete function.
+ (frame_base_append_sniffer): Update.
+ (frame_base_set_default): Update.
+ (frame_base_find_by_frame): Update.
+ (_initialize_frame_base): Use gdbarch_data_register_pre_init.
+ * Makefile.in (frame-base.o): Update dependencies.
+
+2004-03-17 Andrew Cagney <cagney@redhat.com>
+
+ * frame.c (legacy_get_prev_frame): Pass correct frame to
+ frame_unwind_find_by_frame.
+
+2004-03-17 David Carlton <carlton@kealia.com>
+
+ * NEWS: Mention C++ nested types and namespaces
+
+2004-03-16 Michael Chastain <mec.gnu@mindspring.com>
+
+ * PROBLEMS: Add section headers, "Regressions since gdb 6.0"
+ and "Regressions since gdb 5.3.". Add known regressions since
+ gdb 6.0.
+
+2004-03-16 David Carlton <carlton@kealia.com>
+
+ * dwarf2read.c (process_structure_scope): Process children even
+ when we're a declaration.
+
+2004-03-16 Andrew Cagney <cagney@redhat.com>
+
+ * symtab.h (find_pc_sect_partial_function): Delete declaration.
+ * blockframe.c (find_pc_partial_function)
+ (find_pc_sect_partial_function): Merge into a single
+ find_pc_partial_function.
+
+2004-03-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-nat.c: s/regno/regnum/g.
+ (fetch_inferior_registers): Use I386_ST0_REGNUM instead of
+ FP0_REGNUM.
+ (store_inferior_registers): Likewise.
+
+2004-03-16 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-nat.c (fill_fpregset): Call i387_collect_fsave instead
+ of i387_fill_fsave.
+ (store_inferior_registers): Call i387_collect_fsave and
+ i387_collect_fxsave instead of i387_fill_fsave and
+ i387_fill_fxsave.
+
+2004-03-15 Andrew Cagney <cagney@redhat.com>
+
+ * Makefile.in (frame-unwind.o): Update dependencies.
+ * frame-unwind.c: Include "gdb_obstack.h".
+ (frame_unwind_init): Replace "gdbarch" parameter with an "obstack"
+ parameter.
+ (append_predicate): Delete function.
+ (struct frame_unwind_table_entry): New structure.
+ (struct frame_unwind_table): Replace "sniffer" with "head" and
+ "tail".
+ (frame_unwind_append_sniffer): Update.
+ (frame_unwind_find_by_frame): Update.
+ (_initialize_frame_unwind): Registe frame_unwind_init using
+ gdbarch_data_register_pre_init.
+
+2004-03-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-nat.c: Update copyright year.
+ (CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER): Undefine and then
+ define unconditionally.
+
+2004-03-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i387-tdep.h (i387_collect_fsave): New prototype.
+ * i387-tdep.c (i387_collect_fsave): New function containing most
+ of the code from i387_fill_fsave.
+ (i387_fill_fsave): Call i387_collect_fsave.
+
+2004-03-15 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-tdep.c: Update copyright year.
+ (i386_linux_svr4_fetch_link_map_offsets): Remove function.
+ (i386_linux_init_abi): Set solib_svr4_fetch_link_maop_offsets to
+ svr4_ilp32_link_map_offsets instead of
+ i386_linux_svr4_fetch_link_map_offsets.
+
+2004-03-15 David Carlton <carlton@kealia.com>
+
+ Fix for PR c++/1553:
+ * dwarf2read.c (read_structure_type): Determine type name by
+ calling determine_class_name.
+ (determine_class_name): New.
+ (determine_prefix): Look at TYPE_TAG_NAME and call
+ determine_class_name when appropriate.
+ (determine_prefix_aux, class_name): Delete.
+
+2004-03-15 Kevin Buettner <kevinb@redhat.com>
+
+ * breakpoint.c (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete
+ unused macro definition. The definition in target.h (or perhaps
+ elsewhere) takes precedence.
+
+2004-03-15 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-tdep.h: Update copyright.
+ (ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Change
+ function signatures to match "regsets.h".
+ * ppc-linux-tdep.c: Include "regset.h".
+ (ELF_GREGSET_SIZE): Delete.
+ (right_supply_register): New function.
+ (ppc_linux_supply_fpregset, ppc_linux_supply_gregset): Rewrite
+ using right_supply_register.
+ (ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): New
+ functions.
+ (ppc64_linux_gregset, ppc32_linux_gregset): Define.
+ (ppc_linux_init_abi): Register ppc_linux_regset_from_core_section.
+ (_initialize_ppc_linux_tdep): Do not register
+ ppc_linux_regset_core_fns.
+ (ppc_linux_regset_from_core_section): Replace
+ fetch_core_registers.
+ (ppc_linux_regset_core_fns): Delete.
+ * ppc-linux-nat.c: (right_fill_reg): New function.
+ (supply_gregset): Update call to ppc_linux_supply_gregset.
+ (fill_gregset): Clear the register set, use right_fill_reg.
+ (supply_fpregset): Update call to ppc_linux_supply_fpregset.
+ (fill_fpregset): Use right_fill_reg, correctly compute FP offsets.
+
+ * rs6000-tdep.c (rs6000_register_virtual_type): Make registers
+ unsigned.
+
+2004-03-15 Andrew Cagney <cagney@redhat.com>
+
+ * gdbarch.sh (gdbarch_data_pre_init_fytpe)
+ (gdbarch_data_register_pre_init, gdbarch_data_post_init_fytpe)
+ (gdbarch_data_register_post_init): Replace gdbarch_data_init_ftype
+ and register_gdbarch_data.
+ (deprecated_set_gdbarch_data): Rename set_gdbarch_data.
+ (struct gdbarch_data): Replace "init" by "pre_init" and
+ "post_init".
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * dwarf2-frame.c (dwarf2_frame_init): Replace "gdbarch" paramter
+ with"obstack", use OBSTACK_ZALLOC.
+ (dwarf2_frame_ops): Delete.
+ (dwarf2_frame_set_init_reg): Use gdbarch_data.
+ (dwarf2_frame_init_reg): Use gdbarch_data.
+ (_initialize_dwarf2_frame): Use gdbarch_data_register_pre_init.
+ * solib-svr4.c (set_solib_svr4_fetch_link_map_offsets)
+ (_initialize_svr4_solib): Update.
+ * user-regs.c (_initialize_user_regs): Update.
+ * reggroups.c (_initialize_reggroup): Update.
+ * regcache.c (_initialize_regcache): Update.
+ * mips-linux-tdep.c (_initialize_mips_linux_tdep): Update.
+ * libunwind-frame.c (_initialize_libunwind_frame): Update.
+ * gnu-v3-abi.c (init_gnuv3_ops): Update.
+ * frame-unwind.c (_initialize_frame_unwind): Update.
+ * frame-base.c (_initialize_frame_base): Update.
+ * user-regs.c (user_reg_add): Update.
+ * reggroups.c (reggroup_add): Update.
+ * mips-linux-tdep.c (set_mips_linux_register_addr): Update.
+ * libunwind-frame.c (libunwind_frame_set_descr): Update.
+ * frame-unwind.c (frame_unwind_append_sniffer): Update.
+ * frame-base.c (frame_base_table): Update.
+ * remote.c (_initialize_remote): Update.
+ * gdb_obstack.h (OBSTACK_ZALLOC, OBSTACK_CALLOC): Define.
+
+2004-03-15 Andrew Cagney <cagney@redhat.com>
+
+ * cris-tdep.c (bfd_lookup_symbol): Delete unused function.
+
+2004-03-15 Kevin Buettner <kevinb@redhat.com>
+
+ * Makefile.in (frv-linux-tdep.o): Add dependencies.
+ * frv-linux-tdep.c: New file.
+ * frv-tdep.c (struct gdbarch_tdep): Add new field
+ ``sigcontext_reg_addr''.
+ (frv_set_sigcontext_reg_addr, frv_sigtramp,frame_cache)
+ (frv_sigtramp_frame_this_id, frv_sigtramp_frame_prev_register)
+ (frv_sigramp_frame_sniffer): New functions.
+ (frv_sigtramp_frame_unwind): New static global.
+ (frv_gdbarch_init): Hook in ABI-specific overrides. Hook up frame
+ sniffers.
+ * frv-tdep.h (frv_set_sigcontext_reg_addr): New function.
+ * config/frv/frv.mt (TDEPFILES): Add frv-linux-tdep.o.
+
+2004-03-15 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_analyze_prologue): Terminate prologue scan,
+ but not via a call to error(), when unable to read memory.
+
+2004-03-15 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (frv_call_dummy_words): Delete.
+ (frv_frame_unwind_cache): Delete unused variable, ``prev_sp''.
+
+2004-03-15 Andrew Cagney <cagney@redhat.com>
+
+ * infrun.c (handle_step_into_function, step_over_function): Only
+ update and use STEP_FRAME_ID when the system is using legacy
+ frames. Update comments.
+
+2004-03-14 Mark Kettenis <kettenis@gnu.org>
+
+ * amd64-linux-tdep.h: Remove file.
+ * amd64-linux-tdep.c: Don't include "inferior.h" and
+ "amd64-linux-tdep.h". Include "frame.h" and "solib-svr4.h".
+ (USER_R15, USER_R14, USER_R13, USER_R12, USER_RBP, USER_RBX)
+ (USER_R11, USER_R10, USER_R9, USER_R8, USER_RAX, USER_RCX)
+ (USER_RDX, USER_RSI, USER_RDI, USER_RIP, USER_CS, USER_EFLAGS)
+ (USER_RSP, USER_SS, USER_DS, USER_ES, USER_FS, USER_GS): Remove
+ macros.
+ (user_to_gdb_regmap): Remove variable.
+ (amd64_linux_gregset_reg_offset): New variable.
+ (amd64_core_fns): Remove variable.
+ (fetch_core_registers): Remove function.
+ (amd64_linux_supply_gregset, amd64_linux_fill_gregset): Remove
+ functions.
+ (_initialize_amd64_linux_tdep): Don't set add_core_fns.
+ * amd64-linux-nat.c: Don't include "amd64-linux-tdep.h".
+ * Makefile.in (amd64_linux_tdep_h): Remove.
+ (amd64-linux-nat.o): Update dependencies.
+ (amd64-linux-tdep.o): Update dependencies.
+
+ * amd64-linux-nat.c (GETFPREGS_SUPPLIES): Remove macro.
+ (fetch_regs, fetch_fpregs, store_regs, store_fpregs): Remove
+ functions.
+ (fetch_inferior_registers, store_inferior_registers): Rewrite.
+
+ * amd64-tdep.h (amd64_fill_fxsave): Remove prototype.
+ * amd64-tdep.c (amd64_fill_fxsave): Remove function.
+
+2004-03-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c (read_structure_type): Rename from
+ read_structure_scope. Don't create a symbol or call process_die.
+ Return immediately if die->type is set. Call read_type_die before
+ dwarf2_add_member_fn.
+ (process_structure_scope): New function.
+ (read_enumeration_type, process_enumeration_scope): New functions,
+ broken out from read_enumeration. Don't create the enumeration
+ type if it has already been created.
+ (read_enumeration): Removed.
+ (process_die): Call read_structure_type, process_structure_scope,
+ read_enumeration_type, and process_enumeration_scope. Just call
+ new_symbol for base and subrange types. Add a comment about other
+ type dies.
+ (read_type_die): Call read_enumeration_type.
+ (add_partial_structure, new_symbol): Update comments.
+
+2004-03-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-tdep.c (m68hc11_register_name): Get soft reg information.
+
+2004-03-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * tui/tui-win.h (tui_get_cmd_list): Declare.
+ * tui/tui-win.c (tui_command): New function.
+ (tui_get_cmd_list): New function.
+ (_initialize_tui_win): Moved initialization of tui command in
+ tui_get_cmd_list.
+
+ * tui/tui-data.c (init_content_element): Setup new data members.
+ (init_win_info): Likewise.
+ (free_content_elements): Free it.
+ * tui/tui-data.h (struct tui_data_element): Store the register
+ content to print.
+ (struct tui_data_info): Keep the current register group.
+
+ * tui/tui-layout.c (tui_set_layout): Update call to tui_show_registers.
+
+ * tui/tui-regs.h (tui_show_registers): Update prototype.
+ (tui_toggle_float_regs, tui_calculate_regs_column_count): Remove.
+ (tui_resize_all): No need to calculate anything for register window.
+ * tui/tui-regs.c (tui_calculate_regs_column_count): Remove.
+ (tui_set_register_element, tui_set_general_regs_content): Remove.
+ (tui_set_special_regs_content): Remove.
+ (tui_set_general_and_special_regs_content): Remove.
+ (tui_set_float_regs_content): Remove.
+ (tui_reg_value_has_changed, tui_get_register_raw_value): Remove.
+ (tui_set_regs_content): Remove.
+ (tui_toggle_float_regs, _tui_toggle_float_regs_command): Remove.
+ (tui_v_show_registers_command_support): Remove.
+ (tui_show_registers): Use a reggroup to specify the registers to show.
+ (tui_show_register_group): New function.
+ (tui_display_registers_from): Compute the layout of register window
+ and refresh with new API; be sure to delete old register windows.
+ (tui_check_register_values): Update to use tui_get_register and
+ tui_display_data.
+ (tui_display_register): Just refresh the register window part.
+ (tui_register_format): Format registers and save in tui_data_element.
+ (tui_get_register): New to combine tui_reg_value_has_changed and
+ tui_get_register_raw_value; fix to use the new gdb API.
+ (tui_show_float_command): Renamed tui_reg_float_command.
+ (tui_show_general_command): Renamed tui_reg_general_command.
+ (tui_show_special_command): Renamed tui_reg_system_command.
+ (_initialize_tui_regs): Remove unused commands.
+
+2004-03-13 Mark Kettenis <kettenis@gnu.org>
+
+ * NEWS (New native configurations): Mention OpenBSD/amd64.
+
+ * config/i386/nm-fbsd.h: Include "config/nm-bsd.h".
+ (PTRACE_ARG3_TYPE, FETCH_INFERIOR_REGISTERS, ATTACH_DETACH):
+ Remove defines.
+ * config/i386/nm-fbsd64.h: Likewise.
+ * config/i386/nm-obsd.h: Likewise.
+ * config/sparc/nm-fbsd.h: Likewise. Update copyright year.
+ * config/alpha/nm-fbsd.h: Likewise. Update copyright year.
+
+2004-03-12 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c (set_variant_scratch_registers): New function.
+ * frv-tdep.h (scr0_regnum, scr1_regnum, scr2_regnum, scr3_regnum):
+ New constants.
+
+ From Richard Sandiford <rsandifo@redhat.com>:
+ * frv-tdep.c (frv_gdbarch_init): Add FR450 support.
+
+2004-03-12 Kevin Buettner <kevinb@redhat.com>
+
+ * frv-tdep.c, frv-tdep.h (first_gpr_regnum, sp_regnum, fp_regnum)
+ (struct_return_regnum, last_gpr_regnum, first_fpr_regnum)
+ (last_fpr_regnum, pc_regnum, first_spr_regnum, psr_regnum, ccr_regnum)
+ (cccr_regnum, fdpic_loadmap_exec_regnum, fdpic_loadmap_interp_regnum)
+ (tbr_regnum, brr_regnum, dbar0_regnum, dbar1_regnum, dbar2_regnum)
+ (dbar3_regnum, lr_regnum, lcr_regnum, iacc0h_regnum, iacc0l_regnum)
+ (last_spr_regnum, frv_num_regs, first_pseudo_regnum, iacc0_regnum)
+ (last_pseudo_regnum, frv_num_pseudo_regs): Move constant (enum)
+ definitions from frv-tdep.c to frv-tdep.h.
+
+2004-03-12 Kevin Buettner <kevinb@redhat.com>
+
+ Add shared library support for FR-V FDPIC ABI:
+ * Makefile.in (solib-frv.o): Add dependencies.
+ * frv-tdep.c (find_func_descr, frv_convert_from_func_ptr_addr):
+ New functions.
+ (frv_push_dummy_call): Add support for FDPIC ABI.
+ (frv_gdbarch_init): Call set_gdbarch_convert_from_func_ptr_addr()
+ for FDPIC ABI.
+ * frv-tdep.h (frv_fdpic_find_global_pointer): Declare.
+ (frv_fdpic_find_canonical_descriptor): Declare.
+ * solib-frv.c: New file.
+ * config/frv/frv.mt (TDEPFILES): Add solib.o and solib-frv.o.
+ * config/frv/tm-frv.h (solib.h): Include.
+
+2004-03-12 Kevin Buettner <kevinb@redhat.com>
+
+ * Makefile.in (elf_frv_h, frv_tdep_h): Define.
+ (frv-tdep.o): Update dependencies.
+ * frv-tdep.h: New file.
+ * frv-tdep.c (elf-bfd.h, elf/frv.h, osabi.h, frv-tdep.h): Include.
+ (fdpic_loadmap_exec_regnum, fdpic_loadmap_interp_regnum): New
+ constants.
+ (struct gdbarch_tdep): Add new member ``frv_abi''.
+ (frv_abi, frv_fdpic_loadmap_addresses, set_variant_abi_fdpic): New
+ functions.
+ (new_variant): Set ``frv_abi'' field.
+ (gdb_arch_init): Detect FDPIC executables.
+
+2004-03-12 Mark Kettenis <kettenis@gnu.org>
+
+ * solib-svr4.h: Change SOLIB_SVR4 wrapper into SOLIB_SVR4_H
+ wrapper.
+
+2004-03-11 Andrew Cagney <cagney@redhat.com>
+
+ * solib-svr4.h: Add #ifndef SOLIB_SVR4 wrapper.
+
+2004-03-11 Kevin Buettner <kevinb@redhat.com>
+
+ * solist.h (master_so_list): New function.
+ * solib.c (master_so_list): Likewise.
+ * solib-svr4.c (enable_break): Iterate over so_list entries
+ obtained from master list instead of entries obtained directly
+ via svr4_current_sos().
+
+2004-03-10 Ben Elliston <bje@gnu.org>
+
+ * MAINTAINERS: Update my mail address.
+
+2004-03-10 Kei Sakamoto <sakamoto.kei@renesas.com>
* remote-m32r-sdi.c: Support hardware watchpoint.
@@ -16,25 +680,178 @@
2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+ * dwarf2read.c (skip_leb128, peek_die_abbrev, skip_one_die)
+ (skip_children): New functions.
+ (locate_pdi_sibling): Call skip_children.
+
+2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+
* arm-tdep.c (arm_use_struct_convention): Look through typedefs.
* gdbtypes.c (check_typedef): Update comments.
2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+ * dwarf2read.c (struct comp_unit_head): Remove dwarf2_abbrevs array.
+ (struct dwarf2_cu): Add abbrev_obstack and dwarf2_abbrevs
+ pointer. Update comment about comp_unit_head.
+ (struct abbrev_info): Shorten two int flags.
+ (dwarf_alloc_abbrev): Take a CU argument.
+ (dwarf2_build_psymtabs_hard): Call dwarf2_free_abbrev_table
+ each time through the loop. Update cleanup argument.
+ (psymtab_to_symtab_1): Update cleanup call.
+ (dwarf2_read_abbrevs, dwarf2_alloc_abbrev): Allocate on the
+ abbrev_obstack.
+ (dwarf2_free_abbrev_table): Renamed from dwarf2_empty_abbrev_table.
+ Just call obstack_free and clear the pointer.
+
+2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * infrun.c (handle_inferior_event): Remove short-circuit code for
+ events in a different thread.
+
+2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * target.c (debug_to_xfer_memory): If targetdebug is 1, don't
+ print the whole transfer.
+ (initialize_targets): Update description of "set debug target".
+
+2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+
* arm-tdep.c (thumb_get_next_pc): Handle Thumb BLX.
+2004-03-08 Nathan J. Williams <nathanw@wasabisystems.com>
+
+ * MAINTAINERS (write after approval): Add myself.
+
+2004-03-08 Corinna Vinschen <vinschen@redhat.com>
+
+ * sh-tdep.c (sh_print_registers_info): Use for loop.
+ Don't skip multiple registers when a float register is encountered.
+
+2004-03-08 Corinna Vinschen <vinschen@redhat.com>
+
+ Fix PR tdep/1291.
+ * sh-tdep.c (sh_analyze_prologue): Align PC relative addressing
+ to official SH documentation.
+
+2004-03-07 Andrew Cagney <cagney@redhat.com>
+
+ * ppc-linux-nat.c (ppc_ptrace_cannot_fetch_store_register): Delete
+ unused function.
+
2004-03-07 Daniel Jacobowitz <drow@mvista.com>
* arm-tdep.c (thumb_get_next_pc): Handle BX.
(arm_get_next_pc): Handle BX and BLX.
+2004-03-07 Andrew Cagney <cagney@redhat.com>
+
+ * hppa-tdep.c: Replace DEPRECATED_FP_REGNUM with HPPA_FP_REGNUM,
+ FP0_REGNUM with HPPA_FP0_REGNUM, and SP_REGNUM with
+ HPPA_SP_REGNUM.
+ (hppa_register_raw_size, hppa_register_byte, hppa_read_fp)
+ (hppa_target_read_fp): Delete.
+ (hppa_gdbarch_init): Do not set deprecated register_raw_size,
+ register_virtual_size, max_register_raw_size,
+ max_register_virtual_size, register_byte, register_size,
+ target_read_fp, fp_regnum, and register_bytes. Set register_type
+ instead of register_virtual_type.
+ (hppa32_register_type, hppa64_register_type): Replace
+ hppa32_register_virtual_type and hppa64_register_virtual_type.
+ * config/pa/tm-hppa.h (HPPA_FP0_REGNUM, HPPA_SP_REGNUM)
+ (HPPA_FP_REGNUM): Define.
+
+ * hppa-tdep.c (hppa_gdbarch_init): Add missing "break".
+
+ * config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO)
+ (pa_do_registers_info): Delete.
+ * hppa-tdep.c (pa_do_registers_info, pa_do_strcat_registers_info)
+ (pa_print_registers, pa_print_fp_reg, pa_strcat_registers)
+ (pa_strcat_fp_reg, pa_register_look_aside): Delete.
+
+ * infcall.c (legacy_push_dummy_code): Delete #ifdef
+ GDB_TARGET_IS_HPPA code.
+ * config/pa/tm-hppa.h (DEPRECATED_FIX_CALL_DUMMY)
+ (hppa_fix_call_dummy, DEPRECATED_CALL_DUMMY_HAS_COMPLETED)
+ (DEPRECATED_DUMMY_WRITE_SP, CALL_DUMMY): Delete.
+ * config/pa/tm-hppa64.h (CALL_DUMMY): Delete.
+ * hppa-tdep.c (hppa_frame_chain, hppa_frame_chain_valid)
+ (hppa_push_dummy_frame, hppa_pop_frame, hppa_push_arguments)
+ (hppa_fix_call_dummy, hppa64_stack_align, hppa_frame_saved_pc)
+ (hppa_init_extra_frame_info, hppa_saved_pc_after_call)
+ (hppa64_call_dummy_breakpoint_offset, hppa_frame_init_saved_regs)
+ (hppa_frameless_function_invocation, hppa64_store_return_value)
+ (hppa_store_struct_return, hppa64_extract_return_value)
+ (hppa64_use_struct_convention, hppa_frame_find_saved_regs)
+ (hppa32_call_dummy_length, hppa64_call_dummy_length)
+ (find_dummy_frame_regs, FUNC_LDIL_OFFSET, FUNC_LDO_OFFSET)
+ (find_proc_framesize, deposit_21, restore_pc_queue)
+ (find_return_regnum, pc_in_interrupt_handler, deposit_14)
+ (rp_saved, pc_in_linker_stub): Delete.
+
+ Unconditionally enable 64-bit frame and ABI code.
+ * hppa-tdep.c (hppa_gdbarch_init): Do not set deprecated
+ call_dummy_breakpoint_offset, call_dummy_length, stack_align,
+ push_dummy_frame, fix_call_dummy, push_arguments,
+ call_dummy_location, extract_return_value, use_struct_convention,
+ store_return_value, store_struct_return, saved_pc_after_call,
+ init_frame_pc, frame_init_saved_regs, init_extra_frame_info,
+ frame_chain, frame_chain_valid, frameless_function_invocation,
+ frame_saved_pc, and pop_frame.
+
+ * hppa-tdep.c: Replace PC_REGNUM with PCOQ_HEAD_REGNUM.
+ (hppa64_return_value, hppa64_push_dummy_call): Rewrite.
+ (hppa_gdbarch_init): Do not set PC_REGNUM.
+
+2004-03-06 Mark Kettenis <kettenis@gnu.org>
+
+ * config/alpha/tm-fbsd.h: Remove file.
+ * config/alpha/fbsd.mt: Tweak comment.
+ (TM_FILE): Set to tm-alpha.h.
+
+2004-03-05 Andrew Cagney <cagney@redhat.com>
+
+ * infrun.c (step_over_function): When non-legacy code, and no
+ step_frame_id, use the unwinder to get the caller's frame ID.
+
+2004-03-05 Mark Kettenis <kettenis@gnu.org>
+
+ * i386bsd-tdep.c (_initialize_i386bsd_tdep): Register
+ i386bsd_core_osabi_sniffer for bfd_arch_i386 instead of
+ bfd_arch_unknown. Adjust comment.
+
+ * i386-nat.c: Fix typo in comment. Re-introduce paranoiac.
+ * i386obsd-tdep.c: Correct spelling in comment.
+ * i386nbsd-tdep.c: Correct spelling in comment.
+ * sparc-tdep.c: Correct spelling in comments.
+
2004-03-05 David Carlton <carlton@kealia.com>
* cp-namespace.c (cp_lookup_transparent_type_loop): Fix recursion
bug.
+2004-03-05 Mark Kettenis <kettenis@gnu.org>
+
+ * sparc-tdep.c: Fix typo in comment.
+
+2004-03-04 J. Brobecker <brobecker@gnat.com>
+
+ * hppa-tdep.c (hppa_frame_cache): Avoid undefined return value.
+
+2004-03-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2read.c: Add comment describing memory lifetimes.
+ (struct dwarf2_pinfo): Update comment.
+ (dwarf2_add_field, dwarf2_add_member_fn, read_structure_scope)
+ (read_enumeration, new_symbol): Don't use obsavestring.
+
2004-03-04 Mark Kettenis <kettenis@gnu.org>
+ * amd64-linux-nat.c (fill_fpregset): Call amd64_colletc_fxsave
+ instead of amd64_fill_fxsave.
+ * amd64bsd-nat.c (store_inferior_registers): Likewise.
+ * amd64fbsd-nat.c (fill_fpregset): Likewise.
+
* sparc-tdep.c (sparc_frame_cache): Don't bail out if %fp is zero.
Reorganize code a bit.
@@ -49,6 +866,11 @@
(cris_gdbarch_init): Clear deprecated store_return_value,
extract_return_value.
+2004-03-02 Jim Blandy <jimb@redhat.com>
+
+ * stabsread.c (reg_value_complaint): The maximum register number
+ is one less than the number of registers.
+
2004-03-02 Andrew Cagney <cagney@redhat.com>
* i386-tdep.h (enum i386_regnum): Add I386_DS_REGNUM,
@@ -57,10 +879,17 @@
* amd64-nat.c (amd64_collect_native_gregset): Zero-extend the
32-bit segment registers.
-2004-03-01 GDB Administrator <gdbadmin@sourceware.org>
+2004-03-01 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_init_frame_pc_first): Fix compiler error,
+ use frame_relative_level and get_next_frame.
- GDB 6.1 branch created.
- * version.in: Bump to version 6.0.90.
+2004-02-29 Andrew Cagney <cagney@redhat.com>
+
+ * rs6000-tdep.c (rs6000_init_frame_pc_first): New function.
+ (rs6000_gdbarch_init): Set deprecated_init_frame_pc_first.
+ * config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST):
+ Delete macro.
2004-02-29 Daniel Jacobowitz <drow@mvista.com>
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 59249867a8b..53b3a115903 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -250,8 +250,6 @@ rdi/adp protocol (vacant)
documentation Eli Zaretskii eliz@gnu.org
testsuite (Global Maintainers)
config Mark Salter msalter@redhat.com
- lib Fernando Nasser fnasser@redhat.com
- Mark Salter msalter@redhat.com
gdbtk (gdb.gdbtk) Keith Seitz keiths@redhat.com
c++ (gdb.cp) Michael Chastain mec.gnu@mindspring.com
David Carlton carlton@kealia.com
@@ -332,7 +330,7 @@ Dhananjay Deshpande dhananjayd@kpitcummins.com
Klee Dienes kdienes@apple.com
Richard Earnshaw rearnsha@arm.com
Frank Ch. Eigler fche@redhat.com
-Ben Elliston bje@wasabisystems.com
+Ben Elliston bje@gnu.org
Raoul Gough RaoulGough@yahoo.co.uk
Anthony Green green@redhat.com
Matthew Green mrg@eterna.com.au
@@ -405,6 +403,7 @@ D Venkatasubramanian dvenkat@noida.hcltech.com
Corinna Vinschen vinschen@redhat.com
Keith Walker keith.walker@arm.com
Kris Warkentin kewarken@qnx.com
+Nathan Williams nathanw@wasabisystems.com
Jim Wilson wilson@specifixinc.com
Elena Zannoni ezannoni@redhat.com
Eli Zaretskii eliz@gnu.org
@@ -423,6 +422,8 @@ J.T. Conklin (dcache, NetBSD, remote) jtc at redback dot com
Frank Ch. Eigler (sim) fche at redhat dot com
Per Bothner (Java) per at bothner dot com
Anthony Green (Java) green at redhat dot com
+Fernando Nasser (testsuite/, mi, cli) fnasser at redhat dot com
+Mark Salter (testsuite/lib/) msalter at redhat dot com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 83a4484f331..e2105e58b4b 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -541,6 +541,7 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
stabsread.c stack.c std-regs.c symfile.c symmisc.c symtab.c \
target.c thread.c top.c tracepoint.c \
trad-frame.c \
+ tramp-frame.c \
typeprint.c \
ui-out.c utils.c ui-file.h ui-file.c \
user-regs.c \
@@ -569,6 +570,7 @@ elf_reloc_macros_h = $(INCLUDE_DIR)/elf/reloc-macros.h
elf_sh_h = $(INCLUDE_DIR)/elf/sh.h
elf_arm_h = $(INCLUDE_DIR)/elf/arm.h $(elf_reloc_macros_h)
elf_bfd_h = $(BFD_SRC)/elf-bfd.h
+elf_frv_h = $(INCLUDE_DIR)/elf/frv.h $(elf_reloc_macros_h)
libaout_h = $(BFD_SRC)/libaout.h
libbfd_h = $(BFD_SRC)/libbfd.h
remote_sim_h = $(INCLUDE_DIR)/gdb/remote-sim.h
@@ -613,7 +615,6 @@ nm_h = @nm_h@
ada_lang_h = ada-lang.h $(value_h) $(gdbtypes_h)
alphabsd_tdep_h = alphabsd-tdep.h
alpha_tdep_h = alpha-tdep.h
-amd64_linux_tdep_h = amd64-linux-tdep.h
amd64_nat_h = amd64-nat.h
amd64_tdep_h = amd64-tdep.h $(i386_tdep_h)
annotate_h = annotate.h $(symtab_h) $(gdbtypes_h)
@@ -658,6 +659,7 @@ f_lang_h = f-lang.h
frame_base_h = frame-base.h
frame_h = frame.h
frame_unwind_h = frame-unwind.h $(frame_h)
+frv_tdep_h = frv-tdep.h
gdbarch_h = gdbarch.h
gdb_assert_h = gdb_assert.h
gdbcmd_h = gdbcmd.h $(command_h) $(ui_out_h)
@@ -755,7 +757,8 @@ target_h = target.h $(bfd_h) $(symtab_h) $(dcache_h) $(memattr_h)
terminal_h = terminal.h
top_h = top.h
tracepoint_h = tracepoint.h
-trad_frame_h = trad-frame.h
+trad_frame_h = trad-frame.h $(frame_h)
+tramp_frame_h = tramp-frame.h
typeprint_h = typeprint.h
ui_file_h = ui-file.h
ui_out_h = ui-out.h
@@ -904,7 +907,8 @@ COMMON_OBS = $(DEPFILES) $(YYOBJ) \
gnu-v2-abi.o gnu-v3-abi.o hpacc-abi.o cp-abi.o cp-support.o \
cp-namespace.o \
reggroups.o \
- trad-frame.o
+ trad-frame.o \
+ tramp-frame.o
TSOBS = inflow.o
@@ -1527,12 +1531,12 @@ amd64fbsd-tdep.o: amd64fbsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
amd64-linux-nat.o: amd64-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
$(regcache_h) $(linux_nat_h) $(gdb_assert_h) $(gdb_string_h) \
$(gdb_proc_service_h) $(gregset_h) $(amd64_tdep_h) \
- $(amd64_linux_tdep_h) $(i386_linux_tdep_h) $(amd64_nat_h)
-amd64-linux-tdep.o: amd64-linux-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) \
+ $(i386_linux_tdep_h) $(amd64_nat_h)
+amd64-linux-tdep.o: amd64-linux-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \
$(regcache_h) $(osabi_h) $(gdb_string_h) $(amd64_tdep_h) \
- $(amd64_linux_tdep_h)
+ $(solib_svr4_h)
amd64-nat.o: amd64-nat.c $(defs_h) $(gdbarch_h) $(regcache_h) \
- $(gdb_assert_h) $(i386_tdep_h) $(amd64_tdep_h)
+ $(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(amd64_tdep_h)
amd64nbsd-nat.o: amd64nbsd-nat.c $(defs_h) $(gdb_assert_h) $(amd64_tdep_h) \
$(amd64_nat_h)
amd64nbsd-tdep.o: amd64nbsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
@@ -1757,18 +1761,22 @@ f-lang.o: f-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
fork-child.o: fork-child.c $(defs_h) $(gdb_string_h) $(frame_h) \
$(inferior_h) $(target_h) $(gdb_wait_h) $(gdb_vfork_h) $(gdbcore_h) \
$(terminal_h) $(gdbthread_h) $(command_h)
-frame-base.o: frame-base.c $(defs_h) $(frame_base_h) $(frame_h)
+frame-base.o: frame-base.c $(defs_h) $(frame_base_h) $(frame_h) \
+ $(gdb_obstack_h)
frame.o: frame.c $(defs_h) $(frame_h) $(target_h) $(value_h) $(inferior_h) \
$(regcache_h) $(gdb_assert_h) $(gdb_string_h) $(user_regs_h) \
$(gdb_obstack_h) $(dummy_frame_h) $(sentinel_frame_h) $(gdbcore_h) \
$(annotate_h) $(language_h) $(frame_unwind_h) $(frame_base_h) \
$(command_h) $(gdbcmd_h)
frame-unwind.o: frame-unwind.c $(defs_h) $(frame_h) $(frame_unwind_h) \
- $(gdb_assert_h) $(dummy_frame_h)
+ $(gdb_assert_h) $(dummy_frame_h) $(gdb_obstack_h)
+frv-linux-tdep.o: frv-linux-tdep.c $(defs_h) $(target_h) $(frame_h) \
+ $(osabi_h) $(elf_bfd_h) $(elf_frv_h) $(frv_tdep_h)
frv-tdep.o: frv-tdep.c $(defs_h) $(gdb_string_h) $(inferior_h) $(gdbcore_h) \
$(arch_utils_h) $(regcache_h) $(frame_h) $(frame_unwind_h) \
$(frame_base_h) $(trad_frame_h) $(dis_asm_h) $(gdb_assert_h) \
- $(sim_regno_h) $(gdb_sim_frv_h) $(opcodes_frv_desc_h) $(symtab_h)
+ $(sim_regno_h) $(gdb_sim_frv_h) $(opcodes_frv_desc_h) $(symtab_h) \
+ $(elf_bfd_h) $(elf_frv_h) $(osabi_h) $(frv_tdep_h)
f-typeprint.o: f-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \
$(f_lang_h) $(gdb_string_h)
@@ -1850,8 +1858,8 @@ i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
$(gdb_proc_service_h)
i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \
$(value_h) $(regcache_h) $(inferior_h) $(osabi_h) $(reggroups_h) \
- $(solib_svr4_h) $(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) \
- $(glibc_tdep_h)
+ $(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) $(glibc_tdep_h) \
+ $(solib_svr4_h)
i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
$(regcache_h) $(target_h) $(osabi_h) $(i386_tdep_h)
i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h)
@@ -2050,7 +2058,7 @@ mipsnbsd-nat.o: mipsnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
$(mipsnbsd_tdep_h)
mipsnbsd-tdep.o: mipsnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \
$(target_h) $(value_h) $(osabi_h) $(nbsd_tdep_h) $(mipsnbsd_tdep_h) \
- $(solib_svr4_h)
+ $(mips_tdep_h) $(solib_svr4_h)
mipsread.o: mipsread.c $(defs_h) $(gdb_string_h) $(bfd_h) $(symtab_h) \
$(objfiles_h) $(buildsym_h) $(stabsread_h) $(coff_sym_h) \
$(coff_internal_h) $(coff_ecoff_h) $(libcoff_h) $(libecoff_h) \
@@ -2132,8 +2140,8 @@ ppc-linux-nat.o: ppc-linux-nat.c $(defs_h) $(gdb_string_h) $(frame_h) \
$(ppc_tdep_h)
ppc-linux-tdep.o: ppc-linux-tdep.c $(defs_h) $(frame_h) $(inferior_h) \
$(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \
- $(objfiles_h) $(regcache_h) $(value_h) $(osabi_h) $(solib_svr4_h) \
- $(ppc_tdep_h)
+ $(objfiles_h) $(regcache_h) $(value_h) $(osabi_h) $(regset_h) \
+ $(solib_svr4_h) $(ppc_tdep_h) $(trad_frame_h) $(frame_unwind_h)
ppcnbsd-nat.o: ppcnbsd-nat.c $(defs_h) $(inferior_h) $(ppc_tdep_h) \
$(ppcnbsd_tdep_h)
ppcnbsd-tdep.o: ppcnbsd-tdep.c $(defs_h) $(gdbcore_h) $(regcache_h) \
@@ -2239,7 +2247,8 @@ rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
$(regcache_h) $(doublest_h) $(value_h) $(parser_defs_h) $(osabi_h) \
$(libbfd_h) $(coff_internal_h) $(libcoff_h) $(coff_xcoff_h) \
$(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) $(ppc_tdep_h) \
- $(gdb_assert_h) $(dis_asm_h)
+ $(gdb_assert_h) $(dis_asm_h) $(trad_frame_h) $(frame_unwind_h) \
+ $(frame_base_h)
s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
$(s390_tdep_h)
s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
@@ -2295,6 +2304,9 @@ solib.o: solib.c $(defs_h) $(gdb_string_h) $(symtab_h) $(bfd_h) $(symfile_h) \
$(objfiles_h) $(gdbcore_h) $(command_h) $(target_h) $(frame_h) \
$(gdb_regex_h) $(inferior_h) $(environ_h) $(language_h) $(gdbcmd_h) \
$(completer_h) $(filenames_h) $(exec_h) $(solist_h) $(readline_h)
+solib-frv.o: solib-frv.c $(defs_h) $(gdb_string_h) $(inferior_h) \
+ $(gdbcore_h) $(solist_h) $(frv_tdep_h) $(objfiles_h) $(symtab_h) \
+ $(language_h) $(command_h) $(gdbcmd_h) $(elf_frv_h)
solib-irix.o: solib-irix.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
$(objfiles_h) $(gdbcore_h) $(target_h) $(inferior_h) $(solist_h)
solib-legacy.o: solib-legacy.c $(defs_h) $(gdbcore_h) $(solib_svr4_h)
@@ -2404,7 +2416,7 @@ symfile.o: symfile.c $(defs_h) $(bfdlink_h) $(symtab_h) $(gdbtypes_h) \
symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \
$(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \
$(gdb_obstack_h) $(language_h) $(bcache_h) $(block_h) $(gdb_regex_h) \
- $(dictionary_h) $(gdb_string_h)
+ $(dictionary_h) $(gdb_string_h) $(readline_h)
symtab.o: symtab.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
$(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \
$(gdbcmd_h) $(call_cmds_h) $(gdb_regex_h) $(expression_h) \
@@ -2435,6 +2447,9 @@ tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \
$(readline_history_h)
trad-frame.o: trad-frame.c $(defs_h) $(frame_h) $(trad_frame_h) \
$(regcache_h)
+tramp-frame.o: tramp-frame.c $(defs_h) $(tramp_frame_h) $(frame_unwind_h) \
+ $(gdbcore_h) $(symtab_h) $(objfiles_h) $(target_h) $(trad_frame_h) \
+ $(frame_base_h)
typeprint.o: typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(command_h) \
$(gdbcmd_h) $(target_h) $(language_h) $(cp_abi_h) $(typeprint_h) \
@@ -2828,7 +2843,7 @@ tui-regs.o: $(srcdir)/tui/tui-regs.c $(defs_h) $(tui_h) $(tui_data_h) \
$(symtab_h) $(gdbtypes_h) $(gdbcmd_h) $(frame_h) $(regcache_h) \
$(inferior_h) $(target_h) $(gdb_string_h) $(tui_layout_h) \
$(tui_win_h) $(tui_windata_h) $(tui_wingeneral_h) $(tui_file_h) \
- $(gdb_curses_h)
+ $(reggroups_h) $(gdb_curses_h)
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-regs.c
tui-source.o: $(srcdir)/tui/tui-source.c $(defs_h) $(symtab_h) $(frame_h) \
$(breakpoint_h) $(source_h) $(symtab_h) $(tui_h) $(tui_data_h) \
diff --git a/gdb/NEWS b/gdb/NEWS
index 3671288fb03..5d4ef067185 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -38,9 +38,22 @@ GDB support for location expressions has been extended to support function
arguments and frame bases. Older versions of GDB could crash when they
encountered these.
+* C++ nested types and namespaces
+
+GDB's support for nested types and namespaces in C++ has been
+improved, especially if you use the DWARF 2 debugging format. (This
+is the default for recent versions of GCC on most platforms.)
+Specifically, if you have a class "Inner" defined within a class or
+namespace "Outer", then GDB realizes that the class's name is
+"Outer::Inner", not simply "Inner". This should greatly reduce the
+frequency of complaints about not finding RTTI symbols. In addition,
+if you are stopped at inside of a function defined within a namespace,
+GDB modifies its name lookup accordingly.
+
* New native configurations
NetBSD/amd64 x86_64-*-netbsd*
+OpenBSD/amd64 x86_64-*-openbsd*
OpenBSD/alpha alpha*-*-openbsd*
OpenBSD/sparc sparc-*-openbsd*
OpenBSD/sparc64 sparc64-*-openbsd*
diff --git a/gdb/PROBLEMS b/gdb/PROBLEMS
index d3b4f845266..5455f22bb01 100644
--- a/gdb/PROBLEMS
+++ b/gdb/PROBLEMS
@@ -14,14 +14,29 @@ People encountering problems with these targets should consult GDB's
web pages and mailing lists (http://www.gnu.org/software/gdb/) to see
if there is an update.
-arm-*-*
+*** Regressions since gdb 6.0
-GDB's ARM target, in 6.0, has not been updated to use the new frame
-mechanism.
+gdb/826: variables in C++ namespaces have to be enclosed in quotes
-Fortunately the ARM target, in the GDB's mainline sources, has been
-updated so people encountering problems should consider downloading a
-more current GDB (http://www.gnu.org/software/gdb/current).
+When referring to a variable in C++ code that is inside a
+namespace, you have to put it inside single quotes.
+
+gdb/931: GDB could be more generous when reading types C++ templates on input
+
+When the user types a template, GDB frequently requires the type to be
+typed in a certain way (e.g. "const char*" as opposed to "const char *"
+or "char const *" or "char const*").
+
+gdb/1505: [regression] gdb prints a bad backtrace for a thread
+
+When backtracing a thread, gdb doesn't stop until it hits garbage.
+This is sensitive to the operating system and thread library.
+
+gdb/1512: no canonical way to output names of C++ types
+
+We currently don't have any canonical way to output names of C++ types.
+E.g. "const char *" versus "char const *"; more subtleties arise when
+dealing with templates.
gdb/1516: [regression] local classes, gcc 2.95.3, dwarf-2
@@ -35,6 +50,15 @@ This applies only to classes where the class type is defined inside a
function, not to variables defined with types that are defined somewhere
outside any function (which most types are).
+gdb/1560: Control-C does not always interrupt GDB.
+
+When GDB is busy processing a command which takes a long time to
+complete, hitting Control-C does not have the expected effect.
+The command execution is not aborted, and the "QUIT" message confirming
+the abortion is displayed only after the command has been completed.
+
+*** Regressions since gdb 5.3
+
gdb/1091: Constructor breakpoints ignored
gdb/1193: g++ 3.3 creates multiple constructors: gdb 5.3 can't set breakpoints
@@ -52,8 +76,3 @@ implement virtual base classes. gcc 2.x generated just one object code
function with a hidden parameter, but gcc 3.x conforms to a multi-vendor
ABI for C++ which requires multiple object code functions.
-gdb/1560: Control-C does not always interrupt GDB.
-When GDB is busy processing a command which takes a long time to
-complete, hitting Control-C does not have the expected effect.
-The command execution is not aborted, and the "QUIT" message confirming
-the abortion is displayed only after the command has been completed.
diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c
index de53b3e71b3..344195eee49 100644
--- a/gdb/alpha-linux-tdep.c
+++ b/gdb/alpha-linux-tdep.c
@@ -134,7 +134,7 @@ alpha_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, alpha_linux_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, alpha_linux_pc_in_sigtramp);
tdep = gdbarch_tdep (gdbarch);
tdep->dynamic_sigtramp_offset = alpha_linux_sigtramp_offset;
diff --git a/gdb/alpha-osf1-tdep.c b/gdb/alpha-osf1-tdep.c
index c1011c5109f..1fc988956f6 100644
--- a/gdb/alpha-osf1-tdep.c
+++ b/gdb/alpha-osf1-tdep.c
@@ -54,7 +54,7 @@ alpha_osf1_init_abi (struct gdbarch_info info,
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, alpha_osf1_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, alpha_osf1_pc_in_sigtramp);
/* The next/step support via procfs on OSF1 is broken when running
on multi-processor machines. We need to use software single stepping
instead. */
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index 44b85d1c300..8777afc4176 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -870,7 +870,7 @@ alpha_sigtramp_frame_sniffer (struct frame_info *next_frame)
/* Otherwise we should be in a signal frame. */
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
return &alpha_sigtramp_frame_unwind;
return NULL;
diff --git a/gdb/alphafbsd-tdep.c b/gdb/alphafbsd-tdep.c
index cc5f0e00e55..77bd6eaac34 100644
--- a/gdb/alphafbsd-tdep.c
+++ b/gdb/alphafbsd-tdep.c
@@ -100,7 +100,7 @@ alphafbsd_init_abi (struct gdbarch_info info,
set_gdbarch_use_struct_convention (gdbarch, alphafbsd_use_struct_convention);
- set_gdbarch_pc_in_sigtramp (gdbarch, alphafbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, alphafbsd_pc_in_sigtramp);
tdep->dynamic_sigtramp_offset = alphafbsd_sigtramp_offset;
tdep->sigcontext_addr = alphafbsd_sigcontext_addr;
diff --git a/gdb/alphanbsd-tdep.c b/gdb/alphanbsd-tdep.c
index 28d1bb506b7..6fe92524d21 100644
--- a/gdb/alphanbsd-tdep.c
+++ b/gdb/alphanbsd-tdep.c
@@ -205,7 +205,7 @@ alphanbsd_init_abi (struct gdbarch_info info,
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, alphanbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, alphanbsd_pc_in_sigtramp);
/* NetBSD/alpha does not provide single step support via ptrace(2); we
must use software single-stepping. */
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index ec0bfb92812..72aa73ccd3d 100644
--- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c
@@ -48,7 +48,6 @@
#include "gregset.h"
#include "amd64-tdep.h"
-#include "amd64-linux-tdep.h"
#include "i386-linux-tdep.h"
#include "amd64-nat.h"
@@ -96,12 +95,6 @@ static int amd64_linux_gregset32_reg_offset[] =
-1, -1, -1, -1, -1, -1, -1, -1, -1,
ORIG_RAX * 8 /* "orig_eax" */
};
-
-/* Which ptrace request retrieves which registers?
- These apply to the corresponding SET requests as well. */
-
-#define GETFPREGS_SUPPLIES(regno) \
- (FP0_REGNUM <= (regno) && (regno) <= MXCSR_REGNUM)
/* Transfering the general-purpose registers between GDB, inferiors
@@ -126,38 +119,6 @@ fill_gregset (elf_gregset_t *gregsetp, int regnum)
amd64_collect_native_gregset (current_regcache, gregsetp, regnum);
}
-/* Fetch all general-purpose registers from process/thread TID and
- store their values in GDB's register cache. */
-
-static void
-fetch_regs (int tid)
-{
- elf_gregset_t regs;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (long) &regs) < 0)
- perror_with_name ("Couldn't get registers");
-
- supply_gregset (&regs);
-}
-
-/* Store all valid general-purpose registers in GDB's register cache
- into the process/thread specified by TID. */
-
-static void
-store_regs (int tid, int regnum)
-{
- elf_gregset_t regs;
-
- if (ptrace (PTRACE_GETREGS, tid, 0, (long) &regs) < 0)
- perror_with_name ("Couldn't get registers");
-
- fill_gregset (&regs, regnum);
-
- if (ptrace (PTRACE_SETREGS, tid, 0, (long) &regs) < 0)
- perror_with_name ("Couldn't write registers");
-}
-
-
/* Transfering floating-point registers between GDB, inferiors and cores. */
/* Fill GDB's register cache with the floating-point and SSE register
@@ -176,38 +137,7 @@ supply_fpregset (elf_fpregset_t *fpregsetp)
void
fill_fpregset (elf_fpregset_t *fpregsetp, int regnum)
{
- amd64_fill_fxsave ((char *) fpregsetp, regnum);
-}
-
-/* Fetch all floating-point registers from process/thread TID and store
- thier values in GDB's register cache. */
-
-static void
-fetch_fpregs (int tid)
-{
- elf_fpregset_t fpregs;
-
- if (ptrace (PTRACE_GETFPREGS, tid, 0, (long) &fpregs) < 0)
- perror_with_name ("Couldn't get floating point status");
-
- supply_fpregset (&fpregs);
-}
-
-/* Store all valid floating-point registers in GDB's register cache
- into the process/thread specified by TID. */
-
-static void
-store_fpregs (int tid, int regnum)
-{
- elf_fpregset_t fpregs;
-
- if (ptrace (PTRACE_GETFPREGS, tid, 0, (long) &fpregs) < 0)
- perror_with_name ("Couldn't get floating point status");
-
- fill_fpregset (&fpregs, regnum);
-
- if (ptrace (PTRACE_SETFPREGS, tid, 0, (long) &fpregs) < 0)
- perror_with_name ("Couldn't write floating point status");
+ amd64_collect_fxsave (current_regcache, regnum, fpregsetp);
}
@@ -229,19 +159,25 @@ fetch_inferior_registers (int regnum)
if (regnum == -1 || amd64_native_gregset_supplies_p (regnum))
{
- fetch_regs (tid);
+ elf_gregset_t regs;
+
+ if (ptrace (PTRACE_GETREGS, tid, 0, (long) &regs) < 0)
+ perror_with_name ("Couldn't get registers");
+
+ amd64_supply_native_gregset (current_regcache, &regs, -1);
if (regnum != -1)
return;
}
- if (regnum == -1 || GETFPREGS_SUPPLIES (regnum))
+ if (regnum == -1 || regnum >= AMD64_ST0_REGNUM)
{
- fetch_fpregs (tid);
- return;
- }
+ elf_fpregset_t fpregs;
+
+ if (ptrace (PTRACE_GETFPREGS, tid, 0, (long) &fpregs) < 0)
+ perror_with_name ("Couldn't get floating point status");
- internal_error (__FILE__, __LINE__,
- "Got request for bad register number %d.", regnum);
+ amd64_supply_fxsave (current_regcache, -1, &fpregs);
+ }
}
/* Store register REGNUM back into the child process. If REGNUM is
@@ -260,19 +196,34 @@ store_inferior_registers (int regnum)
if (regnum == -1 || amd64_native_gregset_supplies_p (regnum))
{
- store_regs (tid, regnum);
+ elf_gregset_t regs;
+
+ if (ptrace (PTRACE_GETREGS, tid, 0, (long) &regs) < 0)
+ perror_with_name ("Couldn't get registers");
+
+ amd64_collect_native_gregset (current_regcache, &regs, regnum);
+
+ if (ptrace (PTRACE_SETREGS, tid, 0, (long) &regs) < 0)
+ perror_with_name ("Couldn't write registers");
+
if (regnum != -1)
return;
}
- if (regnum == -1 || GETFPREGS_SUPPLIES (regnum))
+ if (regnum == -1 || regnum >= AMD64_ST0_REGNUM)
{
- store_fpregs (tid, regnum);
+ elf_fpregset_t fpregs;
+
+ if (ptrace (PTRACE_GETFPREGS, tid, 0, (long) &fpregs) < 0)
+ perror_with_name ("Couldn't get floating point status");
+
+ amd64_collect_fxsave (current_regcache, regnum, &fpregs);
+
+ if (ptrace (PTRACE_SETFPREGS, tid, 0, (long) &fpregs) < 0)
+ perror_with_name ("Couldn't write floating point status");
+
return;
}
-
- internal_error (__FILE__, __LINE__,
- "Got request to store bad register number %d.", regnum);
}
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index 9a1636a8998..843a84e01b7 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -21,7 +21,7 @@
Boston, MA 02111-1307, USA. */
#include "defs.h"
-#include "inferior.h"
+#include "frame.h"
#include "gdbcore.h"
#include "regcache.h"
#include "osabi.h"
@@ -29,117 +29,42 @@
#include "gdb_string.h"
#include "amd64-tdep.h"
-#include "amd64-linux-tdep.h"
-
-/* Register indexes to 'struct user' come from <sys/reg.h>. */
-
-#define USER_R15 0
-#define USER_R14 1
-#define USER_R13 2
-#define USER_R12 3
-#define USER_RBP 4
-#define USER_RBX 5
-#define USER_R11 6
-#define USER_R10 7
-#define USER_R9 8
-#define USER_R8 9
-#define USER_RAX 10
-#define USER_RCX 11
-#define USER_RDX 12
-#define USER_RSI 13
-#define USER_RDI 14
-#define USER_RIP 16
-#define USER_CS 17
-#define USER_EFLAGS 18
-#define USER_RSP 19
-#define USER_SS 20
-#define USER_DS 23
-#define USER_ES 24
-#define USER_FS 25
-#define USER_GS 26
+#include "solib-svr4.h"
/* Mapping between the general-purpose registers in `struct user'
- format and GDB's register array layout. */
+ format and GDB's register cache layout. */
-static int user_to_gdb_regmap[] =
+/* From <sys/reg.h>. */
+static int amd64_linux_gregset_reg_offset[] =
{
- USER_RAX, USER_RBX, USER_RCX, USER_RDX,
- USER_RSI, USER_RDI, USER_RBP, USER_RSP,
- USER_R8, USER_R9, USER_R10, USER_R11,
- USER_R12, USER_R13, USER_R14, USER_R15,
- USER_RIP, USER_EFLAGS,
- USER_CS, USER_SS,
- USER_DS, USER_ES, USER_FS, USER_GS
+ 10 * 8, /* %rax */
+ 5 * 8, /* %rbx */
+ 11 * 8, /* %rcx */
+ 12 * 8, /* %rdx */
+ 13 * 8, /* %rsi */
+ 14 * 8, /* %rdi */
+ 4 * 8, /* %rbp */
+ 19 * 8, /* %rsp */
+ 9 * 8, /* %r8 ... */
+ 8 * 8,
+ 7 * 8,
+ 6 * 8,
+ 3 * 8,
+ 2 * 8,
+ 1 * 8,
+ 0 * 8, /* ... %r15 */
+ 16 * 8, /* %rip */
+ 18 * 8, /* %eflags */
+ 17 * 8, /* %cs */
+ 20 * 8, /* %ss */
+ 23 * 8, /* %ds */
+ 24 * 8, /* %es */
+ 25 * 8, /* %fs */
+ 26 * 8 /* %gs */
};
+
-/* Fill GDB's register array with the general-purpose register values
- in *GREGSETP. */
-
-void
-amd64_linux_supply_gregset (char *regp)
-{
- int i;
-
- for (i = 0; i < AMD64_NUM_GREGS; i++)
- supply_register (i, regp + (user_to_gdb_regmap[i] * 8));
-}
-
-/* Fill register REGNO (if it is a general-purpose register) in
- *GREGSETPS with the value in GDB's register array. If REGNO is -1,
- do this for all registers. */
-
-void
-amd64_linux_fill_gregset (char *regp, int regno)
-{
- int i;
-
- for (i = 0; i < AMD64_NUM_GREGS; i++)
- if (regno == -1 || regno == i)
- regcache_collect (i, regp + (user_to_gdb_regmap[i] * 8));
-}
-
-/* The register sets used in GNU/Linux ELF core-dumps are identical to
- the register sets used by `ptrace'. The corresponding types are
- `elf_gregset_t' for the general-purpose registers (with
- `elf_greg_t' the type of a single GP register) and `elf_fpregset_t'
- for the floating-point registers. */
-
-static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size,
- int which, CORE_ADDR ignore)
-{
- switch (which)
- {
- case 0: /* Integer registers. */
- if (core_reg_size != 216)
- warning ("Wrong size register set in core file.");
- else
- amd64_linux_supply_gregset (core_reg_sect);
- break;
-
- case 2: /* Floating point registers. */
- case 3: /* "Extended" floating point registers. This is gdb-speak
- for SSE/SSE2. */
- if (core_reg_size != 512)
- warning ("Wrong size XMM register set in core file.");
- else
- amd64_supply_fxsave (current_regcache, -1, core_reg_sect);
- break;
-
- default:
- /* Don't know what kind of register request this is; just ignore it. */
- break;
- }
-}
-
-static struct core_fns amd64_core_fns =
-{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
+/* Support for signal handlers. */
#define LINUX_SIGTRAMP_INSN0 0x48 /* mov $NNNNNNNN, %rax */
#define LINUX_SIGTRAMP_OFFSET0 0
@@ -271,13 +196,21 @@ static void
amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- amd64_init_abi (info, gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, amd64_linux_pc_in_sigtramp);
+ tdep->gregset_reg_offset = amd64_linux_gregset_reg_offset;
+ tdep->gregset_num_regs = ARRAY_SIZE (amd64_linux_gregset_reg_offset);
+ tdep->sizeof_gregset = 27 * 8;
+ amd64_init_abi (info, gdbarch);
+
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, amd64_linux_pc_in_sigtramp);
tdep->sigcontext_addr = amd64_linux_sigcontext_addr;
tdep->sc_reg_offset = amd64_linux_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (amd64_linux_sc_reg_offset);
+
+ /* GNU/Linux uses SVR4-style shared libraries. */
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, svr4_lp64_fetch_link_map_offsets);
}
@@ -287,8 +220,6 @@ extern void _initialize_amd64_linux_tdep (void);
void
_initialize_amd64_linux_tdep (void)
{
- add_core_fns (&amd64_core_fns);
-
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_LINUX, amd64_linux_init_abi);
}
diff --git a/gdb/amd64-linux-tdep.h b/gdb/amd64-linux-tdep.h
deleted file mode 100644
index 5b960201f82..00000000000
--- a/gdb/amd64-linux-tdep.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Target-dependent definitions for GNU/Linux x86-64.
-
- Copyright 2003, 2004 Free Software Foundation, Inc.
-
- Contributed by Michal Ludvig, SuSE AG.
-
- This file is part of GDB.
-
- 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 AMD64_LINUX_TDEP_H
-#define AMD64_LINUX_TDEP_H
-
-/* Fill GDB's register array with the general-purpose register values
- in *GREGSETP. */
-
-void amd64_linux_supply_gregset (char *regp);
-
-/* Fill register REGNO (if it is a general-purpose register) in
- *GREGSETPS with the value in GDB's register array. If REGNO is -1,
- do this for all registers. */
-
-void amd64_linux_fill_gregset (char *regp, int regno);
-
-#endif /* amd64-linux-tdep.h */
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index e0b2ca046f5..6d291632618 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -968,7 +968,7 @@ amd64_sigtramp_frame_sniffer (struct frame_info *next_frame)
char *name;
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
{
gdb_assert (gdbarch_tdep (current_gdbarch)->sigcontext_addr);
@@ -1186,14 +1186,3 @@ amd64_collect_fxsave (const struct regcache *regcache, int regnum,
if (regnum == -1 || regnum == I387_FOSEG_REGNUM)
regcache_raw_collect (regcache, I387_FOSEG_REGNUM, regs + 20);
}
-
-/* Fill register REGNUM (if it is a floating-point or SSE register) in
- *FXSAVE with the value in GDB's register cache. If REGNUM is -1, do
- this for all registers. This function doesn't touch any of the
- reserved bits in *FXSAVE. */
-
-void
-amd64_fill_fxsave (char *fxsave, int regnum)
-{
- amd64_collect_fxsave (current_regcache, regnum, fxsave);
-}
diff --git a/gdb/amd64-tdep.h b/gdb/amd64-tdep.h
index 042618b3e09..bfc549bd58e 100644
--- a/gdb/amd64-tdep.h
+++ b/gdb/amd64-tdep.h
@@ -70,13 +70,6 @@ extern void amd64_supply_fxsave (struct regcache *regcache, int regnum,
extern void amd64_collect_fxsave (const struct regcache *regcache, int regnum,
void *fxsave);
-
-/* Fill register REGNUM (if it is a floating-point or SSE register) in
- *FXSAVE with the value in GDB's register cache. If REGNUM is -1, do
- this for all registers. This function doesn't touch any of the
- reserved bits in *FXSAVE. */
-
-extern void amd64_fill_fxsave (char *fxsave, int regnum);
/* Variables exported from amd64nbsd-tdep.c. */
diff --git a/gdb/amd64bsd-nat.c b/gdb/amd64bsd-nat.c
index 4c7c04a881d..777fd690b39 100644
--- a/gdb/amd64bsd-nat.c
+++ b/gdb/amd64bsd-nat.c
@@ -98,7 +98,7 @@ store_inferior_registers (int regnum)
(PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
perror_with_name ("Couldn't get floating point status");
- amd64_fill_fxsave ((char *) &fpregs, regnum);
+ amd64_collect_fxsave (current_regcache, regnum, &fpregs);
if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
(PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
diff --git a/gdb/amd64fbsd-nat.c b/gdb/amd64fbsd-nat.c
index f08373422c2..61ce73cce9d 100644
--- a/gdb/amd64fbsd-nat.c
+++ b/gdb/amd64fbsd-nat.c
@@ -141,7 +141,7 @@ supply_fpregset (fpregset_t *fpregsetp)
void
fill_fpregset (fpregset_t *fpregsetp, int regnum)
{
- amd64_fill_fxsave ((char *) fpregsetp, regnum);
+ amd64_collect_fxsave (current_regcache, regnum, fpregsetp);
}
diff --git a/gdb/amd64nbsd-tdep.c b/gdb/amd64nbsd-tdep.c
index a04e04fa34b..cb413f02e16 100644
--- a/gdb/amd64nbsd-tdep.c
+++ b/gdb/amd64nbsd-tdep.c
@@ -98,7 +98,7 @@ amd64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc_offset = 7 * 8;
/* NetBSD has its own convention for signal trampolines. */
- set_gdbarch_pc_in_sigtramp (gdbarch, nbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, nbsd_pc_in_sigtramp);
tdep->sigcontext_addr = amd64nbsd_sigcontext_addr;
/* Initialize the array with register offsets in `struct
diff --git a/gdb/amd64obsd-tdep.c b/gdb/amd64obsd-tdep.c
index 198c87e4a28..70a9da873c3 100644
--- a/gdb/amd64obsd-tdep.c
+++ b/gdb/amd64obsd-tdep.c
@@ -195,7 +195,7 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc_offset = 7 * 8;
- set_gdbarch_pc_in_sigtramp (gdbarch, amd64obsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, amd64obsd_pc_in_sigtramp);
tdep->sigcontext_addr = amd64obsd_sigcontext_addr;
tdep->sc_reg_offset = amd64obsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (amd64obsd_sc_reg_offset);
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index 94ba59be853..d76a8e40a7f 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -298,13 +298,14 @@ generic_register_byte (int regnum)
int
legacy_pc_in_sigtramp (CORE_ADDR pc, char *name)
{
-#if !defined (IN_SIGTRAMP)
- if (SIGTRAMP_START_P ())
- return (pc) >= SIGTRAMP_START (pc) && (pc) < SIGTRAMP_END (pc);
+#if !defined (DEPRECATED_IN_SIGTRAMP)
+ if (DEPRECATED_SIGTRAMP_START_P ())
+ return ((pc) >= DEPRECATED_SIGTRAMP_START (pc)
+ && (pc) < DEPRECATED_SIGTRAMP_END (pc));
else
return name && strcmp ("_sigtramp", name) == 0;
#else
- return IN_SIGTRAMP (pc, name);
+ return DEPRECATED_IN_SIGTRAMP (pc, name);
#endif
}
diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
index 0f7a23d517b..8f2e6012f67 100644
--- a/gdb/arch-utils.h
+++ b/gdb/arch-utils.h
@@ -114,7 +114,7 @@ extern int generic_register_size (int regnum);
/* Assume that the world is sane, the registers are all adjacent. */
extern int generic_register_byte (int regnum);
-/* Prop up old targets that use various IN_SIGTRAMP() macros. */
+/* Prop up old targets that use various sigtramp macros. */
extern int legacy_pc_in_sigtramp (CORE_ADDR pc, char *name);
/* The orginal register_convert*() functions were overloaded. They
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index bf54a318d19..91a200d77c7 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -1144,13 +1144,13 @@ struct frame_unwind arm_sigtramp_unwind = {
static const struct frame_unwind *
arm_sigtramp_unwind_sniffer (struct frame_info *next_frame)
{
- /* Note: If an ARM PC_IN_SIGTRAMP method ever needs to compare
- against the name of the function, the code below will have to be
- changed to first fetch the name of the function and then pass
- this name to PC_IN_SIGTRAMP. */
+ /* Note: If an ARM DEPRECATED_PC_IN_SIGTRAMP method ever needs to
+ compare against the name of the function, the code below will
+ have to be changed to first fetch the name of the function and
+ then pass this name to DEPRECATED_PC_IN_SIGTRAMP. */
if (SIGCONTEXT_REGISTER_ADDRESS_P ()
- && PC_IN_SIGTRAMP (frame_pc_unwind (next_frame), (char *) 0))
+ && DEPRECATED_PC_IN_SIGTRAMP (frame_pc_unwind (next_frame), (char *) 0))
return &arm_sigtramp_unwind;
return NULL;
diff --git a/gdb/bcache.c b/gdb/bcache.c
index cadadb5cce6..0bc533ebfef 100644
--- a/gdb/bcache.c
+++ b/gdb/bcache.c
@@ -303,7 +303,7 @@ print_percentage (int portion, int total)
if (total == 0)
printf_filtered ("(not applicable)\n");
else
- printf_filtered ("%3d%%\n", portion * 100 / total);
+ printf_filtered ("%3d%%\n", (int) (portion * 100.0 / total));
}
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 265bd2e82f1..5fd20f0e43d 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -343,10 +343,13 @@ clear_pc_function_cache (void)
If it fails, it sets *NAME, *ADDRESS, and *ENDADDR to zero and
returns 0. */
+/* Backward compatibility, no section argument. */
+
int
-find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
- CORE_ADDR *address, CORE_ADDR *endaddr)
+find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
+ CORE_ADDR *endaddr)
{
+ struct bfd_section *section;
struct partial_symtab *pst;
struct symbol *f;
struct minimal_symbol *msymbol;
@@ -355,6 +358,21 @@ find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
int i;
CORE_ADDR mapped_pc;
+ /* To ensure that the symbol returned belongs to the correct setion
+ (and that the last [random] symbol from the previous section
+ isn't returned) try to find the section containing PC. First try
+ the overlay code (which by default returns NULL); and second try
+ the normal section code (which almost always succeeds). */
+ section = find_pc_overlay (pc);
+ if (section == NULL)
+ {
+ struct obj_section *obj_section = find_pc_section (pc);
+ if (obj_section == NULL)
+ section = NULL;
+ else
+ section = obj_section->the_bfd_section;
+ }
+
mapped_pc = overlay_mapped_address (pc, section);
if (mapped_pc >= cache_pc_function_low
@@ -364,10 +382,16 @@ find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
/* If sigtramp is in the u area, it counts as a function (especially
important for step_1). */
- if (SIGTRAMP_START_P () && PC_IN_SIGTRAMP (mapped_pc, (char *) NULL))
+ /* NOTE: cagney/2004-03-16: Determining if the PC is in a signal
+ trampoline typically depends on the detailed analysis of dynamic
+ information obtained from the inferior yet this function is
+ expected to work using static information obtained from the
+ symbol table. */
+ if (DEPRECATED_SIGTRAMP_START_P ()
+ && DEPRECATED_PC_IN_SIGTRAMP (mapped_pc, (char *) NULL))
{
- cache_pc_function_low = SIGTRAMP_START (mapped_pc);
- cache_pc_function_high = SIGTRAMP_END (mapped_pc);
+ cache_pc_function_low = DEPRECATED_SIGTRAMP_START (mapped_pc);
+ cache_pc_function_high = DEPRECATED_SIGTRAMP_END (mapped_pc);
cache_pc_function_name = "<sigtramp>";
cache_pc_function_section = section;
goto return_cached_value;
@@ -507,32 +531,6 @@ find_pc_sect_partial_function (CORE_ADDR pc, asection *section, char **name,
return 1;
}
-/* Backward compatibility, no section argument. */
-
-int
-find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
- CORE_ADDR *endaddr)
-{
- struct bfd_section *bfd_section;
-
- /* To ensure that the symbol returned belongs to the correct setion
- (and that the last [random] symbol from the previous section
- isn't returned) try to find the section containing PC. First try
- the overlay code (which by default returns NULL); and second try
- the normal section code (which almost always succeeds). */
- bfd_section = find_pc_overlay (pc);
- if (bfd_section == NULL)
- {
- struct obj_section *obj_section = find_pc_section (pc);
- if (obj_section == NULL)
- bfd_section = NULL;
- else
- bfd_section = obj_section->the_bfd_section;
- }
- return find_pc_sect_partial_function (pc, bfd_section, name, address,
- endaddr);
-}
-
/* Return the innermost stack frame executing inside of BLOCK,
or NULL if there is no such frame. If BLOCK is NULL, just return NULL. */
@@ -593,14 +591,6 @@ deprecated_pc_in_call_dummy_on_stack (CORE_ADDR pc, CORE_ADDR sp,
&& INNER_THAN ((pc), (frame_address)));
}
-int
-deprecated_pc_in_call_dummy_at_entry_point (CORE_ADDR pc, CORE_ADDR sp,
- CORE_ADDR frame_address)
-{
- CORE_ADDR addr = entry_point_address ();
- return ((pc) >= addr && (pc) <= (addr + DECR_PC_AFTER_BREAK));
-}
-
/* Returns true for a user frame or a call_function_by_hand dummy
frame, and false for the CRT0 start-up frame. Purpose is to
terminate backtrace. */
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 01a46b39f41..61b72255a0a 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -99,7 +99,8 @@ static void check_duplicates (struct breakpoint *);
static void breakpoint_adjustment_warning (CORE_ADDR, CORE_ADDR, int, int);
-static CORE_ADDR adjust_breakpoint_address (CORE_ADDR bpaddr);
+static CORE_ADDR adjust_breakpoint_address (CORE_ADDR bpaddr,
+ enum bptype bptype);
static void describe_other_breakpoints (CORE_ADDR, asection *);
@@ -3016,7 +3017,8 @@ bpstat_what (bpstat bs)
/* step_resume entries: a step resume breakpoint overrides another
breakpoint of signal handling (see comment in wait_for_inferior
- at first PC_IN_SIGTRAMP where we set the step_resume breakpoint). */
+ at first DEPRECATED_PC_IN_SIGTRAMP where we set the step_resume
+ breakpoint). */
/* We handle the through_sigtramp_breakpoint the same way; having both
one of those and a step_resume_breakpoint is probably very rare (?). */
@@ -3947,13 +3949,25 @@ breakpoint_adjustment_warning (CORE_ADDR from_addr, CORE_ADDR to_addr,
this function is simply the identity function. */
static CORE_ADDR
-adjust_breakpoint_address (CORE_ADDR bpaddr)
+adjust_breakpoint_address (CORE_ADDR bpaddr, enum bptype bptype)
{
if (!gdbarch_adjust_breakpoint_address_p (current_gdbarch))
{
/* Very few targets need any kind of breakpoint adjustment. */
return bpaddr;
}
+ else if (bptype == bp_watchpoint
+ || bptype == bp_hardware_watchpoint
+ || bptype == bp_read_watchpoint
+ || bptype == bp_access_watchpoint
+ || bptype == bp_catch_fork
+ || bptype == bp_catch_vfork
+ || bptype == bp_catch_exec)
+ {
+ /* Watchpoints and the various bp_catch_* eventpoints should not
+ have their addresses modified. */
+ return bpaddr;
+ }
else
{
CORE_ADDR adjusted_bpaddr;
@@ -4062,7 +4076,8 @@ set_raw_breakpoint (struct symtab_and_line sal, enum bptype bptype)
memset (b, 0, sizeof (*b));
b->loc = allocate_bp_location (b, bptype);
b->loc->requested_address = sal.pc;
- b->loc->address = adjust_breakpoint_address (b->loc->requested_address);
+ b->loc->address = adjust_breakpoint_address (b->loc->requested_address,
+ bptype);
if (sal.symtab == NULL)
b->source_file = NULL;
else
@@ -4622,7 +4637,8 @@ set_longjmp_resume_breakpoint (CORE_ADDR pc, struct frame_id frame_id)
if (b->type == bp_longjmp_resume)
{
b->loc->requested_address = pc;
- b->loc->address = adjust_breakpoint_address (b->loc->requested_address);
+ b->loc->address = adjust_breakpoint_address (b->loc->requested_address,
+ b->type);
b->enable_state = bp_enabled;
b->frame_id = frame_id;
check_duplicates (b);
@@ -5879,7 +5895,8 @@ watch_command_1 (char *arg, int accessflag, int from_tty)
scope_breakpoint->loc->requested_address
= get_frame_pc (prev_frame);
scope_breakpoint->loc->address
- = adjust_breakpoint_address (scope_breakpoint->loc->requested_address);
+ = adjust_breakpoint_address (scope_breakpoint->loc->requested_address,
+ scope_breakpoint->type);
/* The scope breakpoint is related to the watchpoint. We
will need to act on them together. */
@@ -5894,11 +5911,6 @@ watch_command_1 (char *arg, int accessflag, int from_tty)
in hardware. If the watchpoint can not be handled
in hardware return zero. */
-#if !defined(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT)
-#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(BYTE_SIZE) \
- ((BYTE_SIZE) <= (DEPRECATED_REGISTER_SIZE))
-#endif
-
#if !defined(TARGET_REGION_OK_FOR_HW_WATCHPOINT)
#define TARGET_REGION_OK_FOR_HW_WATCHPOINT(ADDR,LEN) \
(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(LEN))
@@ -7190,7 +7202,8 @@ breakpoint_re_set_one (void *bint)
b->line_number = sals.sals[i].line;
b->loc->requested_address = sals.sals[i].pc;
b->loc->address
- = adjust_breakpoint_address (b->loc->requested_address);
+ = adjust_breakpoint_address (b->loc->requested_address,
+ b->type);
/* Used to check for duplicates here, but that can
cause trouble, as it doesn't check for disabled
diff --git a/gdb/config/alpha/fbsd.mt b/gdb/config/alpha/fbsd.mt
index 24d2fd80b84..b126c682292 100644
--- a/gdb/config/alpha/fbsd.mt
+++ b/gdb/config/alpha/fbsd.mt
@@ -1,3 +1,3 @@
-# Target: FreeBSD/Alpha
+# Target: FreeBSD/alpha
TDEPFILES= alpha-tdep.o alpha-mdebug-tdep.o alphabsd-tdep.o alphafbsd-tdep.o
-TM_FILE= tm-fbsd.h
+TM_FILE= tm-alpha.h
diff --git a/gdb/config/alpha/nm-fbsd.h b/gdb/config/alpha/nm-fbsd.h
index 2b3975a76f8..5eec1853f33 100644
--- a/gdb/config/alpha/nm-fbsd.h
+++ b/gdb/config/alpha/nm-fbsd.h
@@ -1,5 +1,6 @@
/* Native-dependent definitions for FreeBSD/Alpha.
- Copyright 1986, 1987, 1989, 1992, 1996, 2000
+
+ Copyright 1986, 1987, 1989, 1992, 1996, 2000, 2004
Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,14 +23,8 @@
#ifndef NM_FBSD_H
#define NM_FBSD_H
-/* Type of the third argument to the `ptrace' system call. */
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
-#define FETCH_INFERIOR_REGISTERS
-
-/* We can attach and detach. */
-#define ATTACH_DETACH
+/* Get generic BSD native definitions. */
+#include "config/nm-bsd.h"
/* The Alpha does not step over a breakpoint. */
#define CANNOT_STEP_BREAKPOINT 1
diff --git a/gdb/config/arm/tm-embed.h b/gdb/config/arm/tm-embed.h
index 5990311e4a6..7ad6b688e0b 100644
--- a/gdb/config/arm/tm-embed.h
+++ b/gdb/config/arm/tm-embed.h
@@ -46,7 +46,7 @@
extern int arm_in_call_stub (CORE_ADDR pc, char *name);
extern CORE_ADDR arm_skip_stub (CORE_ADDR pc);
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc, name) 0
+#undef DEPRECATED_IN_SIGTRAMP
+#define DEPRECATED_IN_SIGTRAMP(pc, name) 0
#endif /* TM_ARMEMBED_H */
diff --git a/gdb/config/arm/tm-linux.h b/gdb/config/arm/tm-linux.h
index 306f837c3b8..9ae6e9f8e99 100644
--- a/gdb/config/arm/tm-linux.h
+++ b/gdb/config/arm/tm-linux.h
@@ -57,7 +57,7 @@ extern CORE_ADDR in_svr4_dynsym_resolve_code (CORE_ADDR pc, char *name);
through calls to signal handlers. */
int arm_linux_in_sigtramp (CORE_ADDR pc, char *name);
-#define IN_SIGTRAMP(pc, name) arm_linux_in_sigtramp (pc, name)
+#define DEPRECATED_IN_SIGTRAMP(pc, name) arm_linux_in_sigtramp (pc, name)
/* Each OS has different mechanisms for accessing the various
registers stored in the sigcontext structure. These definitions
diff --git a/gdb/config/frv/frv.mt b/gdb/config/frv/frv.mt
index ae5521eb409..5849f0413c3 100644
--- a/gdb/config/frv/frv.mt
+++ b/gdb/config/frv/frv.mt
@@ -1,5 +1,5 @@
# Target: Fujitsu FRV processor
-TDEPFILES= frv-tdep.o
+TDEPFILES= frv-tdep.o frv-linux-tdep.o solib.o solib-frv.o
TM_FILE= tm-frv.h
SIM_OBS = remote-sim.o
SIM = ../sim/frv/libsim.a
diff --git a/gdb/config/frv/tm-frv.h b/gdb/config/frv/tm-frv.h
index a08f2d3d4bc..1215c582b74 100644
--- a/gdb/config/frv/tm-frv.h
+++ b/gdb/config/frv/tm-frv.h
@@ -43,3 +43,5 @@ extern CORE_ADDR frv_stopped_data_address(void);
/* Use these macros for watchpoint insertion/deletion. */
#define target_stopped_data_address() frv_stopped_data_address()
+
+#include "solib.h" /* Include support for shared libraries. */
diff --git a/gdb/config/i386/nm-fbsd.h b/gdb/config/i386/nm-fbsd.h
index 314e3a0f2f1..4c5683bcbd9 100644
--- a/gdb/config/i386/nm-fbsd.h
+++ b/gdb/config/i386/nm-fbsd.h
@@ -52,20 +52,14 @@ extern void i386bsd_dr_reset_addr (int regnum);
extern unsigned long i386bsd_dr_get_status (void);
-/* Type of the third argument to the `ptrace' system call. */
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
-#define FETCH_INFERIOR_REGISTERS
+/* Get generic BSD native definitions. */
+#include "config/nm-bsd.h"
/* Override child_resume in `infptrace.c' to work around a kernel bug. */
#define CHILD_RESUME
/* Override child_pid_to_exec_file in 'inftarg.c'. */
#define CHILD_PID_TO_EXEC_FILE
-
-/* We can attach and detach. */
-#define ATTACH_DETACH
/* Support for the user struct. */
diff --git a/gdb/config/i386/nm-fbsd64.h b/gdb/config/i386/nm-fbsd64.h
index 4c27aff6d74..061e77e1374 100644
--- a/gdb/config/i386/nm-fbsd64.h
+++ b/gdb/config/i386/nm-fbsd64.h
@@ -22,16 +22,10 @@
#ifndef NM_FBSD64_H
#define NM_FBSD64_H
-/* Type of the third argument to the `ptrace' system call. */
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
-#define FETCH_INFERIOR_REGISTERS
+/* Get generic BSD native definitions. */
+#include "config/nm-bsd.h"
/* Override child_pid_to_exec_file in 'inftarg.c'. */
#define CHILD_PID_TO_EXEC_FILE
-/* We can attach and detach. */
-#define ATTACH_DETACH
-
#endif /* nm-fbsd64.h */
diff --git a/gdb/config/i386/nm-obsd.h b/gdb/config/i386/nm-obsd.h
index 4d10b539d86..7fd32ca7c43 100644
--- a/gdb/config/i386/nm-obsd.h
+++ b/gdb/config/i386/nm-obsd.h
@@ -22,15 +22,8 @@
#ifndef NM_OBSD_H
#define NM_OBSD_H
-/* Type of the third argument to the `ptrace' system call. */
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
-#define FETCH_INFERIOR_REGISTERS
-
-/* We can attach and detach. */
-#define ATTACH_DETACH
-
+/* Get generic BSD native definitions. */
+#include "config/nm-bsd.h"
/* Support for the user struct. */
diff --git a/gdb/config/ia64/tm-aix.h b/gdb/config/ia64/tm-aix.h
index b59d6dd11cd..186cd93ae75 100644
--- a/gdb/config/ia64/tm-aix.h
+++ b/gdb/config/ia64/tm-aix.h
@@ -27,6 +27,6 @@
#define TARGET_ELF64
extern int ia64_aix_in_sigtramp (CORE_ADDR pc, char *func_name);
-#define IN_SIGTRAMP(pc,func_name) ia64_aix_in_sigtramp (pc, func_name)
+#define DEPRECATED_IN_SIGTRAMP(pc,func_name) ia64_aix_in_sigtramp (pc, func_name)
#endif /* #ifndef TM_AIX_H */
diff --git a/gdb/config/ia64/tm-linux.h b/gdb/config/ia64/tm-linux.h
index 60517525467..4aa6d8598c3 100644
--- a/gdb/config/ia64/tm-linux.h
+++ b/gdb/config/ia64/tm-linux.h
@@ -29,6 +29,6 @@
#define TARGET_ELF64
extern int ia64_linux_in_sigtramp (CORE_ADDR pc, char *func_name);
-#define IN_SIGTRAMP(pc,func_name) ia64_linux_in_sigtramp (pc, func_name)
+#define DEPRECATED_IN_SIGTRAMP(pc,func_name) ia64_linux_in_sigtramp (pc, func_name)
#endif /* #ifndef TM_LINUX_H */
diff --git a/gdb/config/m68k/tm-nbsd.h b/gdb/config/m68k/tm-nbsd.h
index 62f008c7249..05deff7cc57 100644
--- a/gdb/config/m68k/tm-nbsd.h
+++ b/gdb/config/m68k/tm-nbsd.h
@@ -33,8 +33,8 @@
#define STACK_END_ADDR USRSTACK
/* For NetBSD, sigtramp is 32 bytes before STACK_END_ADDR. */
-#define SIGTRAMP_START(pc) (STACK_END_ADDR - 32)
-#define SIGTRAMP_END(pc) (STACK_END_ADDR)
+#define DEPRECATED_SIGTRAMP_START(pc) (STACK_END_ADDR - 32)
+#define DEPRECATED_SIGTRAMP_END(pc) (STACK_END_ADDR)
#include "m68k/tm-m68k.h"
diff --git a/gdb/config/mips/tm-irix5.h b/gdb/config/mips/tm-irix5.h
index fdc17567af5..ff40d66e735 100644
--- a/gdb/config/mips/tm-irix5.h
+++ b/gdb/config/mips/tm-irix5.h
@@ -30,8 +30,8 @@
#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 3 * 4 + 32 * 4 + 4)
/* The signal handler trampoline is called _sigtramp. */
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc, name) ((name) && DEPRECATED_STREQ ("_sigtramp", name))
+#undef DEPRECATED_IN_SIGTRAMP
+#define DEPRECATED_IN_SIGTRAMP(pc, name) ((name) && DEPRECATED_STREQ ("_sigtramp", name))
/* Irix 5 saves a full 64 bits for each register. We skip 2 * 4 to
get to the saved PC (the register mask and status register are both
diff --git a/gdb/config/mips/tm-irix6.h b/gdb/config/mips/tm-irix6.h
index 272cafeac07..88abf806c4d 100644
--- a/gdb/config/mips/tm-irix6.h
+++ b/gdb/config/mips/tm-irix6.h
@@ -23,8 +23,8 @@
#include "solib.h"
/* The signal handler trampoline is called _sigtramp. */
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc, name) ((name) && DEPRECATED_STREQ ("_sigtramp", name))
+#undef DEPRECATED_IN_SIGTRAMP
+#define DEPRECATED_IN_SIGTRAMP(pc, name) ((name) && DEPRECATED_STREQ ("_sigtramp", name))
/* Offsets for register values in _sigtramp frame.
sigcontext is immediately above the _sigtramp frame on Irix. */
diff --git a/gdb/config/mips/tm-linux.h b/gdb/config/mips/tm-linux.h
index fc3270779d7..4227cd3e426 100644
--- a/gdb/config/mips/tm-linux.h
+++ b/gdb/config/mips/tm-linux.h
@@ -46,8 +46,8 @@
/* FIXME: This still needs to be implemented. */
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc, name) (0)
+#undef DEPRECATED_IN_SIGTRAMP
+#define DEPRECATED_IN_SIGTRAMP(pc, name) (0)
#undef IN_SOLIB_DYNSYM_RESOLVE_CODE
#define IN_SOLIB_DYNSYM_RESOLVE_CODE(PC) mips_linux_in_dynsym_resolve_code (PC)
diff --git a/gdb/config/mips/tm-nbsd.h b/gdb/config/mips/tm-nbsd.h
index fb30761111c..eb8e292e2dc 100644
--- a/gdb/config/mips/tm-nbsd.h
+++ b/gdb/config/mips/tm-nbsd.h
@@ -32,6 +32,6 @@
#undef IGNORE_HELPER_CALL
/* XXX undef a bunch of stuff we want to use multi-arch */
-#undef IN_SIGTRAMP
+#undef DEPRECATED_IN_SIGTRAMP
#endif /* TM_NBSD_H */
diff --git a/gdb/config/alpha/tm-fbsd.h b/gdb/config/nm-bsd.h
index c154366cc19..b44dd5eff1d 100644
--- a/gdb/config/alpha/tm-fbsd.h
+++ b/gdb/config/nm-bsd.h
@@ -1,6 +1,6 @@
-/* Target-dependent definitions for FreeBSD/Alpha.
+/* Native-dependent definitions for *BSD.
- Copyright 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+ Copyright 2001, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,9 +19,11 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef TM_FBSD_H
-#define TM_FBSD_H
+/* Type of the third argument to the `ptrace' system call. */
+#define PTRACE_ARG3_TYPE caddr_t
-#include "alpha/tm-alpha.h"
+/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
+#define FETCH_INFERIOR_REGISTERS
-#endif /* TM_FBSD_H */
+/* We can attach and detach. */
+#define ATTACH_DETACH
diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h
index 9924ffa9678..1a78c6ceb6f 100644
--- a/gdb/config/pa/tm-hppa.h
+++ b/gdb/config/pa/tm-hppa.h
@@ -26,9 +26,6 @@
#include "regcache.h"
-/* Wonder if this is correct? Should be using push_dummy_call(). */
-#define DEPRECATED_DUMMY_WRITE_SP(SP) deprecated_write_sp (SP)
-
#define GDB_MULTI_ARCH 1
/* Hack, get around problem with including "arch-utils.h". */
@@ -62,6 +59,8 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc);
other r registers. */
#define FLAGS_REGNUM 0 /* Various status flags */
#define RP_REGNUM 2 /* return pointer */
+#define HPPA_FP_REGNUM 3 /* The ABI's frame pointer, when used */
+#define HPPA_SP_REGNUM 30 /* Stack pointer. */
#define SAR_REGNUM 32 /* Shift Amount Register */
#define IPSW_REGNUM 41 /* Interrupt Processor Status Word */
#define PCOQ_HEAD_REGNUM 33 /* instruction offset queue head */
@@ -76,6 +75,7 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc);
#define CCR_REGNUM 54 /* Coprocessor Configuration Register */
#define TR0_REGNUM 57 /* Temporary Registers (cr24 -> cr31) */
#define CR27_REGNUM 60 /* Base register for thread-local storage, cr27 */
+#define HPPA_FP0_REGNUM 64 /* First floating-point. */
#define FP4_REGNUM 72
#define ARG0_REGNUM 26 /* The first argument of a callee. */
@@ -93,12 +93,6 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc);
(buf)[sizeof(CORE_ADDR) -1] &= ~0x3; \
} while (0)
-/* Define DEPRECATED_DO_REGISTERS_INFO() to do machine-specific
- formatting of register dumps. */
-
-#define DEPRECATED_DO_REGISTERS_INFO(_regnum, fp) pa_do_registers_info (_regnum, fp)
-extern void pa_do_registers_info (int, int);
-
/* PA specific macro to see if the current instruction is nullified. */
#ifndef INSTRUCTION_NULLIFIED
extern int hppa_instruction_nullified (void);
@@ -107,104 +101,8 @@ extern int hppa_instruction_nullified (void);
#define INSTRUCTION_SIZE 4
-/* This sequence of words is the instructions
-
- ; Call stack frame has already been built by gdb. Since we could be calling
- ; a varargs function, and we do not have the benefit of a stub to put things in
- ; the right place, we load the first 4 word of arguments into both the general
- ; and fp registers.
- call_dummy
- ldw -36(sp), arg0
- ldw -40(sp), arg1
- ldw -44(sp), arg2
- ldw -48(sp), arg3
- ldo -36(sp), r1
- fldws 0(0, r1), fr4
- fldds -4(0, r1), fr5
- fldws -8(0, r1), fr6
- fldds -12(0, r1), fr7
- ldil 0, r22 ; FUNC_LDIL_OFFSET must point here
- ldo 0(r22), r22 ; FUNC_LDO_OFFSET must point here
- ldsid (0,r22), r4
- ldil 0, r1 ; SR4EXPORT_LDIL_OFFSET must point here
- ldo 0(r1), r1 ; SR4EXPORT_LDO_OFFSET must point here
- ldsid (0,r1), r20
- combt,=,n r4, r20, text_space ; If target is in data space, do a
- ble 0(sr5, r22) ; "normal" procedure call
- copy r31, r2
- break 4, 8
- mtsp r21, sr0
- ble,n 0(sr0, r22)
- text_space ; Otherwise, go through _sr4export,
- ble (sr4, r1) ; which will return back here.
- stw r31,-24(r30)
- break 4, 8
- mtsp r21, sr0
- ble,n 0(sr0, r22)
- nop ; To avoid kernel bugs
- nop ; and keep the dummy 8 byte aligned
-
- The dummy decides if the target is in text space or data space. If
- it's in data space, there's no problem because the target can
- return back to the dummy. However, if the target is in text space,
- the dummy calls the secret, undocumented routine _sr4export, which
- calls a function in text space and can return to any space. Instead
- of including fake instructions to represent saved registers, we
- know that the frame is associated with the call dummy and treat it
- specially.
-
- The trailing NOPs are needed to avoid a bug in HPUX, BSD and OSF1
- kernels. If the memory at the location pointed to by the PC is
- 0xffffffff then a ptrace step call will fail (even if the instruction
- is nullified).
-
- The code to pop a dummy frame single steps three instructions
- starting with the last mtsp. This includes the nullified "instruction"
- following the ble (which is uninitialized junk). If the
- "instruction" following the last BLE is 0xffffffff, then the ptrace
- will fail and the dummy frame is not correctly popped.
-
- By placing a NOP in the delay slot of the BLE instruction we can be
- sure that we never try to execute a 0xffffffff instruction and
- avoid the kernel bug. The second NOP is needed to keep the call
- dummy 8 byte aligned. */
-
-#define CALL_DUMMY {0x4BDA3FB9, 0x4BD93FB1, 0x4BD83FA9, 0x4BD73FA1,\
- 0x37C13FB9, 0x24201004, 0x2C391005, 0x24311006,\
- 0x2C291007, 0x22C00000, 0x36D60000, 0x02C010A4,\
- 0x20200000, 0x34210000, 0x002010b4, 0x82842022,\
- 0xe6c06000, 0x081f0242, 0x00010004, 0x00151820,\
- 0xe6c00002, 0xe4202000, 0x6bdf3fd1, 0x00010004,\
- 0x00151820, 0xe6c00002, 0x08000240, 0x08000240}
-
#define REG_PARM_STACK_SPACE 16
-/* If we've reached a trap instruction within the call dummy, then
- we'll consider that to mean that we've reached the call dummy's
- end after its successful completion. */
-#define DEPRECATED_CALL_DUMMY_HAS_COMPLETED(pc, sp, frame_address) \
- (DEPRECATED_PC_IN_CALL_DUMMY((pc), (sp), (frame_address)) && \
- (read_memory_integer((pc), 4) == BREAKPOINT32))
-
-/* Insert the specified number of args and function address into a
- call sequence of the above form stored at DUMMYNAME.
-
- On the hppa we need to call the stack dummy through $$dyncall.
- Therefore our version of DEPRECATED_FIX_CALL_DUMMY takes an extra
- argument, real_pc, which is the location where gdb should start up
- the inferior to do the function call. */
-
-/* FIXME: brobecker 2002-12-26. This macro is going to cause us some
- problems before we can go to multiarch partial as it has been
- diverted on HPUX to return the value of the PC! */
-/* NOTE: cagney/2003-05-03: This has been replaced by push_dummy_code.
- Hopefully that has all the parameters HP/UX needs. */
-#define DEPRECATED_FIX_CALL_DUMMY hppa_fix_call_dummy
-extern CORE_ADDR hppa_fix_call_dummy (char *, CORE_ADDR, CORE_ADDR, int,
- struct value **, struct type *, int);
-
-#define GDB_TARGET_IS_HPPA
-
/*
* Unwind table and descriptor.
*/
diff --git a/gdb/config/pa/tm-hppa64.h b/gdb/config/pa/tm-hppa64.h
index 62bcebc7423..79fd15cea1c 100644
--- a/gdb/config/pa/tm-hppa64.h
+++ b/gdb/config/pa/tm-hppa64.h
@@ -57,52 +57,6 @@ extern int hpread_adjust_stack_address (CORE_ADDR);
/* jimb: omitted dynamic linking stuff here */
-/* This sequence of words is the instructions
-
-; Call stack frame has already been built by gdb. Since we could be calling
-; a varargs function, and we do not have the benefit of a stub to put things in
-; the right place, we load the first 8 word of arguments into both the general
-; and fp registers.
-call_dummy
- nop
- copy %r4,%r29
- copy %r5,%r22
- copy %r6,%r27
- fldd -64(0,%r29),%fr4
- fldd -56(0,%r29),%fr5
- fldd -48(0,%r29),%fr6
- fldd -40(0,%r29),%fr7
- fldd -32(0,%r29),%fr8
- fldd -24(0,%r29),%fr9
- fldd -16(0,%r29),%fr10
- fldd -8(0,%r29),%fr11
- copy %r22,%r1
- ldd -64(%r29), %r26
- ldd -56(%r29), %r25
- ldd -48(%r29), %r24
- ldd -40(%r29), %r23
- ldd -32(%r29), %r22
- ldd -24(%r29), %r21
- ldd -16(%r29), %r20
- bve,l (%r1),%r2
- ldd -8(%r29), %r19
- break 4, 8
- mtsp %r21, %sr0
- ble 0(%sr0, %r22)
- nop
-*/
-
-/* Call dummys are sized and written out in word sized hunks. So we have
- to pack the instructions into words. Ugh. */
-#undef CALL_DUMMY
-#define CALL_DUMMY {0x08000240349d0000LL, 0x34b6000034db0000LL, \
- 0x53a43f8353a53f93LL, 0x53a63fa353a73fb3LL,\
- 0x53a83fc353a93fd3LL, 0x2fa1100a2fb1100bLL,\
- 0x36c1000053ba3f81LL, 0x53b93f9153b83fa1LL,\
- 0x53b73fb153b63fc1LL, 0x53b53fd10fa110d4LL,\
- 0xe820f0000fb110d3LL, 0x0001000400151820LL,\
- 0xe6c0000008000240LL}
-
/* The PA64 ABI reserves 64 bytes of stack space for outgoing register
parameters. */
#undef REG_PARM_STACK_SPACE
diff --git a/gdb/config/powerpc/tm-linux.h b/gdb/config/powerpc/tm-linux.h
index 364e1f96280..e34363194ff 100644
--- a/gdb/config/powerpc/tm-linux.h
+++ b/gdb/config/powerpc/tm-linux.h
@@ -35,8 +35,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
without symbols */
extern int ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name);
-#undef IN_SIGTRAMP
-#define IN_SIGTRAMP(pc,func_name) ppc_linux_in_sigtramp (pc,func_name)
+#undef DEPRECATED_IN_SIGTRAMP
+#define DEPRECATED_IN_SIGTRAMP(pc,func_name) ppc_linux_in_sigtramp (pc,func_name)
#if 0
#define CANNOT_FETCH_REGISTER(regno) ((regno) >= MQ_REGNUM)
diff --git a/gdb/config/rs6000/tm-rs6000.h b/gdb/config/rs6000/tm-rs6000.h
index 4b8a09dc3c2..4422fcbf3c8 100644
--- a/gdb/config/rs6000/tm-rs6000.h
+++ b/gdb/config/rs6000/tm-rs6000.h
@@ -74,12 +74,6 @@ extern void aix_process_linenos (void);
#define FP0_REGNUM 32 /* Floating point register 0 */
#define FPLAST_REGNUM 63 /* Last floating point register */
-/* Define other aspects of the stack frame. */
-
-#define DEPRECATED_INIT_FRAME_PC_FIRST(fromleaf, prev) \
- (fromleaf ? DEPRECATED_SAVED_PC_AFTER_CALL (prev->next) : \
- prev->next ? DEPRECATED_FRAME_SAVED_PC (prev->next) : read_pc ())
-
/* Notice when a new child process is started. */
#define TARGET_CREATE_INFERIOR_HOOK rs6000_create_inferior
diff --git a/gdb/config/sparc/nm-fbsd.h b/gdb/config/sparc/nm-fbsd.h
index 917cc49bf07..459764f03ad 100644
--- a/gdb/config/sparc/nm-fbsd.h
+++ b/gdb/config/sparc/nm-fbsd.h
@@ -1,6 +1,6 @@
/* Native-dependent definitions for FreeBSD/sparc64.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org>.
This file is part of GDB.
@@ -22,15 +22,8 @@
#ifndef NM_FBSD_H
#define NM_FBSD_H
-/* Type of the third argument to the `ptrace' system call. */
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
-#define FETCH_INFERIOR_REGISTERS
-
-/* We can attach and detach. */
-#define ATTACH_DETACH
-
+/* Get generic BSD native definitions. */
+#include "config/nm-bsd.h"
/* Shared library support. */
diff --git a/gdb/config/vax/tm-vaxbsd.h b/gdb/config/vax/tm-vaxbsd.h
index aa34107e02d..16f08d44655 100644
--- a/gdb/config/vax/tm-vaxbsd.h
+++ b/gdb/config/vax/tm-vaxbsd.h
@@ -29,7 +29,7 @@
/* On the VAX, sigtramp is in the u area. Can't check the exact
addresses because for cross-debugging we don't have VAX include
files around. This should be close enough. */
-#define SIGTRAMP_START(pc) STACK_END_ADDR
-#define SIGTRAMP_END(pc) 0x80000000
+#define DEPRECATED_SIGTRAMP_START(pc) STACK_END_ADDR
+#define DEPRECATED_SIGTRAMP_END(pc) 0x80000000
#endif /* TM_VAXBSD_H */
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index 5ac40b02553..0ebfedac865 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -351,8 +351,6 @@ static void cris_version_update (char *ignore_args, int from_tty,
static void cris_mode_update (char *ignore_args, int from_tty,
struct cmd_list_element *c);
-static CORE_ADDR bfd_lookup_symbol (bfd *, const char *);
-
static CORE_ADDR cris_scan_prologue (CORE_ADDR pc,
struct frame_info *next_frame,
struct cris_unwind_cache *info);
@@ -3720,42 +3718,6 @@ cris_mode_update (char *ignore_args, int from_tty,
}
}
-/* Copied from pa64solib.c, with a couple of minor changes. */
-
-static CORE_ADDR
-bfd_lookup_symbol (bfd *abfd, const char *symname)
-{
- unsigned int storage_needed;
- asymbol *sym;
- asymbol **symbol_table;
- unsigned int number_of_symbols;
- unsigned int i;
- struct cleanup *back_to;
- CORE_ADDR symaddr = 0;
-
- storage_needed = bfd_get_symtab_upper_bound (abfd);
-
- if (storage_needed > 0)
- {
- symbol_table = (asymbol **) xmalloc (storage_needed);
- back_to = make_cleanup (free, symbol_table);
- number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
-
- for (i = 0; i < number_of_symbols; i++)
- {
- sym = *symbol_table++;
- if (!strcmp (sym->name, symname))
- {
- /* Bfd symbols are section relative. */
- symaddr = sym->value + sym->section->vma;
- break;
- }
- }
- do_cleanups (back_to);
- }
- return (symaddr);
-}
-
static struct gdbarch *
cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 6fbd7662892..196c1fc598a 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,28 @@
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * gdbint.texinfo (Target Architecture Definition): Deprecate
+ references to SIGTRAMP_START and SIGTRAMP_END.
+
+2004-03-23 Andrew Cagney <cagney@redhat.com>
+
+ * gdbint.texinfo (Target Architecture Definition): Deprecate
+ references to PC_IN_SIGTRAMP.
+
+2004-03-19 Andrew Cagney <cagney@redhat.com>
+
+ * gdbint.texinfo (Target Architecture Definition): Delete
+ reference to GDB_TARGET_IS_HPPA.
+
+2004-03-18 Andrew Cagney <cagney@redhat.com>
+
+ * gdbint.texinfo (Coding): Update section on gdbarch_data,
+ describe pre_init and post_init.
+
+2004-03-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * gdb.texinfo (Debugging Output): Document values for "set debug
+ target".
+
2004-02-28 Andrew Cagney <cagney@redhat.com>
* gdb.texinfo (Contributors): Mention GDB 6.1 release engineer.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 77b96a067e3..dac02de0ef2 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -13434,7 +13434,9 @@ info.
@item set debug target
Turns on or off display of @value{GDBN} target debugging info. This info
includes what is going on at the target level of GDB, as it happens. The
-default is off.
+default is 0. Set it to 1 to track events, and to 2 to also track the
+value of large memory transfers. Changes to this flag do not take effect
+until the next time you connect to a target or use the @code{run} command.
@kindex show debug target
@item show debug target
Displays the current state of displaying @value{GDBN} target debugging
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index 10710993fe6..0013a41434c 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -3411,10 +3411,10 @@ The epilogue of a function is defined as the part of a function where
the stack frame of the function already has been destroyed up to the
final `return from function call' instruction.
-@item SIGTRAMP_START (@var{pc})
-@findex SIGTRAMP_START
-@itemx SIGTRAMP_END (@var{pc})
-@findex SIGTRAMP_END
+@item DEPRECATED_SIGTRAMP_START (@var{pc})
+@findex DEPRECATED_SIGTRAMP_START
+@itemx DEPRECATED_SIGTRAMP_END (@var{pc})
+@findex DEPRECATED_SIGTRAMP_END
Define these to be the start and end address of the @code{sigtramp} for the
given @var{pc}. On machines where the address is just a compile time
constant, the macro expansion will typically just ignore the supplied
@@ -3636,8 +3636,8 @@ them.
@findex PCC_SOL_BROKEN
(Used only in the Convex target.)
-@item PC_IN_SIGTRAMP (@var{pc}, @var{name})
-@findex PC_IN_SIGTRAMP
+@item DEPRECATED_PC_IN_SIGTRAMP (@var{pc}, @var{name})
+@findex DEPRECATED_PC_IN_SIGTRAMP
@cindex sigtramp
The @dfn{sigtramp} is a routine that the kernel calls (which then calls
the signal handler). On most machines it is a library routine that is
@@ -3725,7 +3725,6 @@ reserved for that breakpoint, and @var{real_pc} set to @var{funaddr}.
This method replaces @code{DEPRECATED_CALL_DUMMY_WORDS},
@code{DEPRECATED_SIZEOF_CALL_DUMMY_WORDS}, @code{CALL_DUMMY},
@code{CALL_DUMMY_LOCATION}, @code{DEPRECATED_REGISTER_SIZE},
-@code{GDB_TARGET_IS_HPPA},
@code{DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET}, and
@code{DEPRECATED_FIX_CALL_DUMMY}.
@@ -4872,134 +4871,104 @@ functions, since they might never return to your code (they
@cindex multi-arch data
@cindex data-pointer, per-architecture/per-module
-The multi-arch framework includes a mechanism for adding module specific
-per-architecture data-pointers to the @code{struct gdbarch} architecture
-object.
+The multi-arch framework includes a mechanism for adding module
+specific per-architecture data-pointers to the @code{struct gdbarch}
+architecture object.
-A module registers one or more per-architecture data-pointers using the
-function @code{register_gdbarch_data}:
+A module registers one or more per-architecture data-pointers using:
-@deftypefun struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *@var{init})
+@deftypefun struct gdbarch_data *gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *@var{pre_init})
+@var{pre_init} is used to, on-demand, allocate an initial value for a
+per-architecture data-pointer using the architecture's obstack (passed
+in as a parameter). Since @var{pre_init} can be called during
+architecture creation, it is not parameterized with the architecture.
+and must not call modules that use per-architecture data.
+@end deftypefun
-The @var{init} function is used to obtain an initial value for a
-per-architecture data-pointer. The function is called, after the
-architecture has been created, when the data-pointer is still
-uninitialized (@code{NULL}) and its value has been requested via a call
-to @code{gdbarch_data}. A data-pointer can also be initialize
-explicitly using @code{set_gdbarch_data}.
+@deftypefun struct gdbarch_data *gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *@var{post_init})
+@var{post_init} is used to obtain an initial value for a
+per-architecture data-pointer @emph{after}. Since @var{post_init} is
+always called after architecture creation, it both receives the fully
+initialized architecture and is free to call modules that use
+per-architecture data (care needs to be taken to ensure that those
+other modules do not try to call back to this module as that will
+create in cycles in the initialization call graph).
+@end deftypefun
-Any memory required by the @var{init} function should be allocated
-using @code{GDBARCH_OBSTACK_ZALLOC}. That memory is automatically
-released when the corresponding architecture is deleted.
+These functions return a @code{struct gdbarch_data} that is used to
+identify the per-architecture data-pointer added for that module.
-The function @code{register_gdbarch_data} returns a @code{struct
-gdbarch_data} that is used to identify the data-pointer that was added
-to the module.
+The per-architecture data-pointer is accessed using the function:
+@deftypefun void *gdbarch_data (struct gdbarch *@var{gdbarch}, struct gdbarch_data *@var{data_handle})
+Given the architecture @var{arch} and module data handle
+@var{data_handle} (returned by @code{gdbarch_data_register_pre_init}
+or @code{gdbarch_data_register_post_init}), this function returns the
+current value of the per-architecture data-pointer. If the data
+pointer is @code{NULL}, it is first initialized by calling the
+corresponding @var{pre_init} or @var{post_init} method.
@end deftypefun
-A typical module has an @code{init} function of the form:
+The examples below assume the following definitions:
@smallexample
struct nozel @{ int total; @};
static struct gdbarch_data *nozel_handle;
-static void *
-nozel_init (struct gdbarch *gdbarch)
-@{
- struct nozel *data = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct nozel);
- @dots{}
- return data;
-@}
@end smallexample
-Since uninitialized (@code{NULL}) data-pointers are initialized
-on-demand, an @code{init} function is free to call other modules that
-use data-pointers. Those modules data-pointers will be initialized as
-needed. Care should be taken to ensure that the @code{init} call graph
-does not contain cycles.
+A module can extend the architecture vector, adding additional
+per-architecture data, using the @var{pre_init} method. The module's
+per-architecture data is then initialized during architecture
+creation.
-The data-pointer is registered with the call:
+In the below, the module's per-architecture @emph{nozel} is added. An
+architecture can specify its nozel by calling @code{set_gdbarch_nozel}
+from @code{gdbarch_init}.
@smallexample
-void
-_initialize_nozel (void)
+static void *
+nozel_pre_init (struct obstack *obstack)
@{
- nozel_handle = register_gdbarch_data (nozel_init);
-@dots{}
+ struct nozel *data = OBSTACK_ZALLOC (obstack, struct nozel);
+ return data;
+@}
@end smallexample
-The per-architecture data-pointer is accessed using the function:
-
-@deftypefun void *gdbarch_data (struct gdbarch *@var{gdbarch}, struct gdbarch_data *@var{data_handle})
-Given the architecture @var{arch} and module data handle
-@var{data_handle} (returned by @code{register_gdbarch_data}, this
-function returns the current value of the per-architecture data-pointer.
-@end deftypefun
-
-The non-@code{NULL} data-pointer returned by @code{gdbarch_data} should
-be saved in a local variable and then used directly:
-
@smallexample
-int
-nozel_total (struct gdbarch *gdbarch)
+extern void
+set_gdbarch_nozel (struct gdbarch *gdbarch, int total)
@{
- int total;
struct nozel *data = gdbarch_data (gdbarch, nozel_handle);
- @dots{}
- return total;
+ data->total = nozel;
@}
@end smallexample
-It is also possible to directly initialize the data-pointer using:
+A module can on-demand create architecture dependant data structures
+using @code{post_init}.
-@deftypefun void set_gdbarch_data (struct gdbarch *@var{gdbarch}, struct gdbarch_data *@var{handle}, void *@var{pointer})
-Set the still @code{NULL} data-pointer corresponding to @var{handle}
-to the non-@code{NULL} @var{pointer} value.
-@end deftypefun
-
-This function is used by modules that require a mechanism for explicitly
-setting the per-architecture data-pointer during architecture creation:
+In the below, the nozel's total is computed on-demand by
+@code{nozel_post_init} using information obtained from the
+architecture.
@smallexample
-/* Always return a non-NULL nozel. */
-static struct nozel *
-gdbarch_nozel (struct gdbarch *gdbarch)
+static void *
+nozel_post_init (struct gdbarch *gdbarch)
@{
- struct nozel *nozel = gdbarch_data (gdbarch, nozel_handle);
- if (nozel == NULL)
- @{
- nozel = nozel_init (gdbarch);
- set_gdbarch_data (gdbarch, nozel_handle, nozel);
- @}
- return nozel;
+ struct nozel *data = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct nozel);
+ nozel->total = gdbarch@dots{} (gdbarch);
+ return data;
@}
@end smallexample
@smallexample
-/* Called during architecture creation. */
-extern void
-set_gdbarch_nozel (struct gdbarch *gdbarch, int total)
+extern int
+nozel_total (struct gdbarch *gdbarch)
@{
- struct nozel *data = gdbarch_nozel (gdbarch);
- @dots{}
- data->total = total;
+ struct nozel *data = gdbarch_data (gdbarch, nozel_handle);
+ return data->total;
@}
@end smallexample
-@smallexample
-void
-_initialize_nozel (void)
-@{
- nozel_handle = register_gdbarch_data (nozel_init);
- @dots{}
-@end smallexample
-
-@noindent
-Note that an @code{init} function still needs to be registered. It is
-used to initialize the data-pointer when the architecture creation phase
-fail to set an initial value.
-
-
@section Wrapping Output Lines
@cindex line wrap in output
diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c
index 3b10c51640b..2c5153ebe20 100644
--- a/gdb/dummy-frame.c
+++ b/gdb/dummy-frame.c
@@ -36,6 +36,8 @@ static void dummy_frame_this_id (struct frame_info *next_frame,
void **this_prologue_cache,
struct frame_id *this_id);
+static int pc_in_dummy_frame (CORE_ADDR pc);
+
/* Dummy frame. This saves the processor state just prior to setting
up the inferior function call. Older targets save the registers
on the target stack (but that really slows down function calls). */
@@ -137,7 +139,7 @@ deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp)
subtracted out. */
int
-generic_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp)
+deprecated_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp)
{
return pc_in_dummy_frame (pc);
}
@@ -155,7 +157,7 @@ generic_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR fp)
!DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET_P yet generic dummy
targets set DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET. True?). */
-int
+static int
pc_in_dummy_frame (CORE_ADDR pc)
{
struct dummy_frame *dummyframe;
@@ -254,21 +256,6 @@ generic_save_call_dummy_addr (CORE_ADDR lo, CORE_ADDR hi)
dummy_frame_stack->call_hi = hi;
}
-/* Restore the machine state from either the saved dummy stack or a
- real stack frame. */
-
-void
-generic_pop_current_frame (void (*popper) (struct frame_info * frame))
-{
- struct frame_info *frame = get_current_frame ();
- if (get_frame_type (frame) == DUMMY_FRAME)
- /* NOTE: cagney/2002-22-23: Does this ever occure? Surely a dummy
- frame will have already been poped by the "infrun.c" code. */
- generic_pop_dummy_frame ();
- else
- (*popper) (frame);
-}
-
/* Discard the innermost dummy frame from the dummy frame stack
(passed in as a parameter). */
@@ -282,7 +269,7 @@ discard_innermost_dummy (struct dummy_frame **stack)
}
void
-generic_pop_dummy_frame (void)
+deprecated_pop_dummy_frame (void)
{
struct dummy_frame *dummy_frame = dummy_frame_stack;
@@ -411,9 +398,8 @@ const struct frame_unwind *
dummy_frame_sniffer (struct frame_info *next_frame)
{
CORE_ADDR pc = frame_pc_unwind (next_frame);
- if (DEPRECATED_PC_IN_CALL_DUMMY_P ()
- ? DEPRECATED_PC_IN_CALL_DUMMY (pc, 0, 0)
- : pc_in_dummy_frame (pc))
+ gdb_assert (DEPRECATED_USE_GENERIC_DUMMY_FRAMES);
+ if (pc_in_dummy_frame (pc))
return &dummy_frame_unwind;
else
return NULL;
diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h
index cde9eb7f12f..6d565d1091a 100644
--- a/gdb/dummy-frame.h
+++ b/gdb/dummy-frame.h
@@ -50,31 +50,6 @@ struct frame_id;
extern const struct frame_unwind *dummy_frame_sniffer (struct frame_info *next_frame);
-/* Does the PC fall in a dummy frame?
-
- This function is used by "frame.c" when creating a new `struct
- frame_info'.
-
- Note that there is also very similar code in breakpoint.c (where
- the bpstat stop reason is computed). It is looking for a PC
- falling on a dummy_frame breakpoint. Perhaphs this, and that code
- should be combined?
-
- Architecture dependant code, that has access to a frame, should not
- use this function. Instead (get_frame_type() == DUMMY_FRAME)
- should be used.
-
- Hmm, but what about threads? When the dummy-frame code tries to
- relocate a dummy frame's saved registers it definitly needs to
- differentiate between threads (otherwize it will do things like
- clean-up the wrong threads frames). However, when just trying to
- identify a dummy-frame that shouldn't matter. The wost that can
- happen is that a thread is marked as sitting in a dummy frame when,
- in reality, its corrupted its stack, to the point that a PC is
- pointing into a dummy frame. */
-
-extern int pc_in_dummy_frame (CORE_ADDR pc);
-
/* Return the regcache that belongs to the dummy-frame identifed by PC
and FP, or NULL if no such frame exists. */
/* FIXME: cagney/2002-11-08: The function only exists because of
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index 8c624198453..13c836e7dc4 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -509,29 +509,15 @@ dwarf2_frame_default_init_reg (struct gdbarch *gdbarch, int regnum,
/* Return a default for the architecture-specific operations. */
static void *
-dwarf2_frame_init (struct gdbarch *gdbarch)
+dwarf2_frame_init (struct obstack *obstack)
{
struct dwarf2_frame_ops *ops;
- ops = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct dwarf2_frame_ops);
+ ops = OBSTACK_ZALLOC (obstack, struct dwarf2_frame_ops);
ops->init_reg = dwarf2_frame_default_init_reg;
return ops;
}
-static struct dwarf2_frame_ops *
-dwarf2_frame_ops (struct gdbarch *gdbarch)
-{
- struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data);
- if (ops == NULL)
- {
- /* ULGH, called during architecture initialization. Patch
- things up. */
- ops = dwarf2_frame_init (gdbarch);
- set_gdbarch_data (gdbarch, dwarf2_frame_data, ops);
- }
- return ops;
-}
-
/* Set the architecture-specific register state initialization
function for GDBARCH to INIT_REG. */
@@ -540,9 +526,8 @@ dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
void (*init_reg) (struct gdbarch *, int,
struct dwarf2_frame_state_reg *))
{
- struct dwarf2_frame_ops *ops;
+ struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data);
- ops = dwarf2_frame_ops (gdbarch);
ops->init_reg = init_reg;
}
@@ -552,9 +537,8 @@ static void
dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg)
{
- struct dwarf2_frame_ops *ops;
+ struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data);
- ops = dwarf2_frame_ops (gdbarch);
ops->init_reg (gdbarch, regnum, reg);
}
@@ -1608,6 +1592,6 @@ void _initialize_dwarf2_frame (void);
void
_initialize_dwarf2_frame (void)
{
- dwarf2_frame_data = register_gdbarch_data (dwarf2_frame_init);
+ dwarf2_frame_data = gdbarch_data_register_pre_init (dwarf2_frame_init);
dwarf2_frame_objfile_data = register_objfile_data ();
}
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 46c3cf4ed7e..285eb6bd7aa 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -50,6 +50,20 @@
#include "gdb_assert.h"
#include <sys/types.h>
+/* A note on memory usage for this file.
+
+ At the present time, this code reads the debug info sections into
+ the objfile's objfile_obstack. A definite improvement for startup
+ time, on platforms which do not emit relocations for debug
+ sections, would be to use mmap instead. The object's complete
+ debug information is loaded into memory, partly to simplify
+ absolute DIE references.
+
+ Whether using obstacks or mmap, the sections should remain loaded
+ until the objfile is released, and pointers into the section data
+ can be used for any other data associated to the objfile (symbol
+ names, type names, location expressions to name a few). */
+
#ifndef DWARF2_REG_TO_REGNUM
#define DWARF2_REG_TO_REGNUM(REG) (REG)
#endif
@@ -205,10 +219,6 @@ struct comp_unit_head
struct comp_unit_head *next;
- /* DWARF abbreviation table associated with this compilation unit */
-
- struct abbrev_info *dwarf2_abbrevs[ABBREV_HASH_SIZE];
-
/* Base address of this compilation unit. */
CORE_ADDR base_address;
@@ -227,8 +237,7 @@ struct dwarf2_cu
/* The header of the compilation unit.
FIXME drow/2003-11-10: Some of the things from the comp_unit_head
- should be moved to the dwarf2_cu structure; for instance the abbrevs
- hash table. */
+ should logically be moved to the dwarf2_cu structure. */
struct comp_unit_head header;
struct function_range *first_fn, *last_fn, *cached_fn;
@@ -258,6 +267,12 @@ struct dwarf2_cu
FT_NUM_MEMBERS compile time constant, which is the number of predefined
fundamental types gdb knows how to construct. */
struct type *ftypes[FT_NUM_MEMBERS]; /* Fundamental types */
+
+ /* DWARF abbreviation table associated with this compilation unit. */
+ struct abbrev_info **dwarf2_abbrevs;
+
+ /* Storage for the abbrev table. */
+ struct obstack abbrev_obstack;
};
/* The line number information for a compilation unit (found in the
@@ -329,8 +344,8 @@ struct abbrev_info
{
unsigned int number; /* number identifying abbrev */
enum dwarf_tag tag; /* dwarf tag */
- int has_children; /* boolean */
- unsigned int num_attrs; /* number of attributes */
+ unsigned short has_children; /* boolean */
+ unsigned short num_attrs; /* number of attributes */
struct attr_abbrev *attrs; /* an array of attribute descriptions */
struct abbrev_info *next; /* next in chain */
};
@@ -444,12 +459,11 @@ static int isreg; /* Object lives in register.
/* We put a pointer to this structure in the read_symtab_private field
of the psymtab.
- The complete dwarf information for an objfile is kept in the
- objfile_obstack, so that absolute die references can be handled.
+
Most of the information in this structure is related to an entire
- object file and could be passed via the sym_private field of the objfile.
- It is however conceivable that dwarf2 might not be the only type
- of symbols read from an object file. */
+ object file and could be passed via the sym_private field of the
+ objfile. It is possible to have both dwarf2 and some other form
+ of debug symbols in one object file. */
struct dwarf2_pinfo
{
@@ -673,7 +687,7 @@ char *dwarf2_read_section (struct objfile *, asection *);
static void dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu);
-static void dwarf2_empty_abbrev_table (void *);
+static void dwarf2_free_abbrev_table (void *);
static struct abbrev_info *dwarf2_lookup_abbrev (unsigned int,
struct dwarf2_cu *);
@@ -720,6 +734,8 @@ static unsigned long read_unsigned_leb128 (bfd *, char *, unsigned int *);
static long read_signed_leb128 (bfd *, char *, unsigned int *);
+static char *skip_leb128 (bfd *, char *);
+
static void set_cu_language (unsigned int, struct dwarf2_cu *);
static struct attribute *dwarf2_attr (struct die_info *, unsigned int,
@@ -766,12 +782,8 @@ static void read_type_die (struct die_info *, struct dwarf2_cu *);
static char *determine_prefix (struct die_info *die, struct dwarf2_cu *);
-static char *determine_prefix_aux (struct die_info *die, struct dwarf2_cu *);
-
static char *typename_concat (const char *prefix, const char *suffix);
-static char *class_name (struct die_info *die, struct dwarf2_cu *);
-
static void read_typedef (struct die_info *, struct dwarf2_cu *);
static void read_base_type (struct die_info *, struct dwarf2_cu *);
@@ -804,7 +816,11 @@ static void dwarf2_add_member_fn (struct field_info *,
static void dwarf2_attach_fn_fields_to_type (struct field_info *,
struct type *, struct dwarf2_cu *);
-static void read_structure_scope (struct die_info *, struct dwarf2_cu *);
+static void read_structure_type (struct die_info *, struct dwarf2_cu *);
+
+static void process_structure_scope (struct die_info *, struct dwarf2_cu *);
+
+static char *determine_class_name (struct die_info *die, struct dwarf2_cu *cu);
static void read_common_block (struct die_info *, struct dwarf2_cu *);
@@ -813,7 +829,9 @@ static void read_namespace (struct die_info *die, struct dwarf2_cu *);
static const char *namespace_name (struct die_info *die,
int *is_anonymous, struct dwarf2_cu *);
-static void read_enumeration (struct die_info *, struct dwarf2_cu *);
+static void read_enumeration_type (struct die_info *, struct dwarf2_cu *);
+
+static void process_enumeration_scope (struct die_info *, struct dwarf2_cu *);
static struct type *dwarf_base_type (int, int, struct dwarf2_cu *);
@@ -905,7 +923,7 @@ static void dwarf2_free_tmp_obstack (void *);
static struct dwarf_block *dwarf_alloc_block (void);
-static struct abbrev_info *dwarf_alloc_abbrev (void);
+static struct abbrev_info *dwarf_alloc_abbrev (struct dwarf2_cu *);
static struct die_info *dwarf_alloc_die (void);
@@ -923,6 +941,9 @@ static void
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu);
+static char *skip_one_die (char *info_ptr, struct abbrev_info *abbrev,
+ struct dwarf2_cu *cu);
+
/* Try to locate the sections we need for DWARF 2 debugging
information and return true if we have enough to do something. */
@@ -1201,6 +1222,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline)
left at all should be sufficient. */
while (info_ptr < dwarf_info_buffer + dwarf_info_size)
{
+ struct cleanup *back_to_inner;
struct dwarf2_cu cu;
beg_of_comp_unit = info_ptr;
@@ -1238,7 +1260,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline)
/* Read the abbrevs for this compilation unit into a table */
dwarf2_read_abbrevs (abfd, &cu);
- make_cleanup (dwarf2_empty_abbrev_table, cu.header.dwarf2_abbrevs);
+ back_to_inner = make_cleanup (dwarf2_free_abbrev_table, &cu);
/* Read the compilation unit die */
info_ptr = read_partial_die (&comp_unit_die, abfd, info_ptr,
@@ -1315,6 +1337,8 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline)
info_ptr = beg_of_comp_unit + cu.header.length
+ cu.header.initial_length_size;
+
+ do_cleanups (back_to_inner);
}
do_cleanups (back_to);
}
@@ -1673,7 +1697,7 @@ add_partial_structure (struct partial_die_info *struct_pdi, char *info_ptr,
what template types look like, because the demangler
frequently doesn't give the same name as the debug info. We
could fix this by only using the demangled name to get the
- prefix (but see comment in read_structure_scope). */
+ prefix (but see comment in read_structure_type). */
/* FIXME: carlton/2004-01-23: If NAMESPACE equals "", we have
the appropriate debug information, so it would be nice to be
@@ -1748,8 +1772,154 @@ add_partial_enumeration (struct partial_die_info *enum_pdi, char *info_ptr,
return info_ptr;
}
-/* Locate ORIG_PDI's sibling; INFO_PTR should point to the next DIE
- after ORIG_PDI. */
+/* Read the initial uleb128 in the die at INFO_PTR in compilation unit CU.
+ Return the corresponding abbrev, or NULL if the number is zero (indicating
+ an empty DIE). In either case *BYTES_READ will be set to the length of
+ the initial number. */
+
+static struct abbrev_info *
+peek_die_abbrev (char *info_ptr, int *bytes_read, struct dwarf2_cu *cu)
+{
+ bfd *abfd = cu->objfile->obfd;
+ unsigned int abbrev_number;
+ struct abbrev_info *abbrev;
+
+ abbrev_number = read_unsigned_leb128 (abfd, info_ptr, bytes_read);
+
+ if (abbrev_number == 0)
+ return NULL;
+
+ abbrev = dwarf2_lookup_abbrev (abbrev_number, cu);
+ if (!abbrev)
+ {
+ error ("Dwarf Error: Could not find abbrev number %d [in module %s]", abbrev_number,
+ bfd_get_filename (abfd));
+ }
+
+ return abbrev;
+}
+
+/* Scan the debug information for CU starting at INFO_PTR. Returns a
+ pointer to the end of a series of DIEs, terminated by an empty
+ DIE. Any children of the skipped DIEs will also be skipped. */
+
+static char *
+skip_children (char *info_ptr, struct dwarf2_cu *cu)
+{
+ struct abbrev_info *abbrev;
+ unsigned int bytes_read;
+
+ while (1)
+ {
+ abbrev = peek_die_abbrev (info_ptr, &bytes_read, cu);
+ if (abbrev == NULL)
+ return info_ptr + bytes_read;
+ else
+ info_ptr = skip_one_die (info_ptr + bytes_read, abbrev, cu);
+ }
+}
+
+/* Scan the debug information for CU starting at INFO_PTR. INFO_PTR
+ should point just after the initial uleb128 of a DIE, and the
+ abbrev corresponding to that skipped uleb128 should be passed in
+ ABBREV. Returns a pointer to this DIE's sibling, skipping any
+ children. */
+
+static char *
+skip_one_die (char *info_ptr, struct abbrev_info *abbrev,
+ struct dwarf2_cu *cu)
+{
+ unsigned int bytes_read;
+ struct attribute attr;
+ bfd *abfd = cu->objfile->obfd;
+ unsigned int form, i;
+
+ for (i = 0; i < abbrev->num_attrs; i++)
+ {
+ /* The only abbrev we care about is DW_AT_sibling. */
+ if (abbrev->attrs[i].name == DW_AT_sibling)
+ {
+ read_attribute (&attr, &abbrev->attrs[i],
+ abfd, info_ptr, cu);
+ if (attr.form == DW_FORM_ref_addr)
+ complaint (&symfile_complaints, "ignoring absolute DW_AT_sibling");
+ else
+ return dwarf_info_buffer + dwarf2_get_ref_die_offset (&attr, cu);
+ }
+
+ /* If it isn't DW_AT_sibling, skip this attribute. */
+ form = abbrev->attrs[i].form;
+ skip_attribute:
+ switch (form)
+ {
+ case DW_FORM_addr:
+ case DW_FORM_ref_addr:
+ info_ptr += cu->header.addr_size;
+ break;
+ case DW_FORM_data1:
+ case DW_FORM_ref1:
+ case DW_FORM_flag:
+ info_ptr += 1;
+ break;
+ case DW_FORM_data2:
+ case DW_FORM_ref2:
+ info_ptr += 2;
+ break;
+ case DW_FORM_data4:
+ case DW_FORM_ref4:
+ info_ptr += 4;
+ break;
+ case DW_FORM_data8:
+ case DW_FORM_ref8:
+ info_ptr += 8;
+ break;
+ case DW_FORM_string:
+ read_string (abfd, info_ptr, &bytes_read);
+ info_ptr += bytes_read;
+ break;
+ case DW_FORM_strp:
+ info_ptr += cu->header.offset_size;
+ break;
+ case DW_FORM_block:
+ info_ptr += read_unsigned_leb128 (abfd, info_ptr, &bytes_read);
+ info_ptr += bytes_read;
+ break;
+ case DW_FORM_block1:
+ info_ptr += 1 + read_1_byte (abfd, info_ptr);
+ break;
+ case DW_FORM_block2:
+ info_ptr += 2 + read_2_bytes (abfd, info_ptr);
+ break;
+ case DW_FORM_block4:
+ info_ptr += 4 + read_4_bytes (abfd, info_ptr);
+ break;
+ case DW_FORM_sdata:
+ case DW_FORM_udata:
+ case DW_FORM_ref_udata:
+ info_ptr = skip_leb128 (abfd, info_ptr);
+ break;
+ case DW_FORM_indirect:
+ form = read_unsigned_leb128 (abfd, info_ptr, &bytes_read);
+ info_ptr += bytes_read;
+ /* We need to continue parsing from here, so just go back to
+ the top. */
+ goto skip_attribute;
+
+ default:
+ error ("Dwarf Error: Cannot handle %s in DWARF reader [in module %s]",
+ dwarf_form_name (form),
+ bfd_get_filename (abfd));
+ }
+ }
+
+ if (abbrev->has_children)
+ return skip_children (info_ptr, cu);
+ else
+ return info_ptr;
+}
+
+/* Locate ORIG_PDI's sibling; INFO_PTR should point to the start of
+ the next DIE after ORIG_PDI. */
static char *
locate_pdi_sibling (struct partial_die_info *orig_pdi, char *info_ptr,
@@ -1765,21 +1935,9 @@ locate_pdi_sibling (struct partial_die_info *orig_pdi, char *info_ptr,
if (!orig_pdi->has_children)
return info_ptr;
- /* Okay, we don't know the sibling, but we have children that we
- want to skip. So read children until we run into one without a
- tag; return whatever follows it. */
-
- while (1)
- {
- struct partial_die_info pdi;
-
- info_ptr = read_partial_die (&pdi, abfd, info_ptr, cu);
+ /* Skip the children the long way. */
- if (pdi.tag == 0)
- return info_ptr;
- else
- info_ptr = locate_pdi_sibling (&pdi, info_ptr, abfd, cu);
- }
+ return skip_children (info_ptr, cu);
}
/* Expand this partial symbol table into a full symbol table. */
@@ -1861,7 +2019,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst)
/* Read the abbrevs for this compilation unit */
dwarf2_read_abbrevs (abfd, &cu);
- make_cleanup (dwarf2_empty_abbrev_table, cu.header.dwarf2_abbrevs);
+ make_cleanup (dwarf2_free_abbrev_table, &cu);
cu.header.offset = offset;
@@ -1949,11 +2107,17 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
case DW_TAG_class_type:
case DW_TAG_structure_type:
case DW_TAG_union_type:
- read_structure_scope (die, cu);
+ read_structure_type (die, cu);
+ process_structure_scope (die, cu);
break;
case DW_TAG_enumeration_type:
- read_enumeration (die, cu);
+ read_enumeration_type (die, cu);
+ process_enumeration_scope (die, cu);
break;
+
+ /* FIXME drow/2004-03-14: These initialize die->type, but do not create
+ a symbol or process any children. Therefore it doesn't do anything
+ that won't be done on-demand by read_type_die. */
case DW_TAG_subroutine_type:
read_subroutine_type (die, cu);
break;
@@ -1972,21 +2136,19 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
case DW_TAG_string_type:
read_tag_string_type (die, cu);
break;
+ /* END FIXME */
+
case DW_TAG_base_type:
read_base_type (die, cu);
- if (dwarf2_attr (die, DW_AT_name, cu))
- {
- /* Add a typedef symbol for the base type definition. */
- new_symbol (die, die->type, cu);
- }
+ /* Add a typedef symbol for the type definition, if it has a
+ DW_AT_name. */
+ new_symbol (die, die->type, cu);
break;
case DW_TAG_subrange_type:
read_subrange_type (die, cu);
- if (dwarf2_attr (die, DW_AT_name, cu))
- {
- /* Add a typedef symbol for the base type definition. */
- new_symbol (die, die->type, cu);
- }
+ /* Add a typedef symbol for the type definition, if it has a
+ DW_AT_name. */
+ new_symbol (die, die->type, cu);
break;
case DW_TAG_common_block:
read_common_block (die, cu);
@@ -2664,8 +2826,10 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
attr = dwarf2_attr (die, DW_AT_name, cu);
if (attr && DW_STRING (attr))
fieldname = DW_STRING (attr);
- fp->name = obsavestring (fieldname, strlen (fieldname),
- &objfile->objfile_obstack);
+
+ /* The name is already allocated along with this objfile, so we don't
+ need to duplicate it for the type. */
+ fp->name = fieldname;
/* Change accessibility for artificial fields (e.g. virtual table
pointer or virtual base class pointer) to private. */
@@ -2696,11 +2860,11 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
/* Get physical name. */
physname = dwarf2_linkage_name (die, cu);
- SET_FIELD_PHYSNAME (*fp, obsavestring (physname, strlen (physname),
- &objfile->objfile_obstack));
+ /* The name is already allocated along with this objfile, so we don't
+ need to duplicate it for the type. */
+ SET_FIELD_PHYSNAME (*fp, physname ? physname : "");
FIELD_TYPE (*fp) = die_type (die, cu);
- FIELD_NAME (*fp) = obsavestring (fieldname, strlen (fieldname),
- &objfile->objfile_obstack);
+ FIELD_NAME (*fp) = fieldname;
}
else if (die->tag == DW_TAG_inheritance)
{
@@ -2868,8 +3032,9 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
/* Fill in the member function field info. */
fnp = &new_fnfield->fnfield;
- fnp->physname = obsavestring (physname, strlen (physname),
- &objfile->objfile_obstack);
+ /* The name is already allocated along with this objfile, so we don't
+ need to duplicate it for the type. */
+ fnp->physname = physname ? physname : "";
fnp->type = alloc_type (objfile);
if (die->type && TYPE_CODE (die->type) == TYPE_CODE_FUNC)
{
@@ -2995,18 +3160,16 @@ dwarf2_attach_fn_fields_to_type (struct field_info *fip, struct type *type,
suppresses creating a symbol table entry itself). */
static void
-read_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
+read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct objfile *objfile = cu->objfile;
struct type *type;
struct attribute *attr;
- const char *name = NULL;
const char *previous_prefix = processing_current_prefix;
struct cleanup *back_to = NULL;
- /* This says whether or not we want to try to update the structure's
- name to include enclosing namespace/class information, if
- any. */
- int need_to_update_name = 0;
+
+ if (die->type)
+ return;
type = alloc_type (objfile);
@@ -3014,40 +3177,20 @@ read_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_name, cu);
if (attr && DW_STRING (attr))
{
- name = DW_STRING (attr);
-
if (cu->language == language_cplus)
{
- struct die_info *spec_die = die_specification (die, cu);
-
- if (spec_die != NULL)
- {
- char *specification_prefix = determine_prefix (spec_die, cu);
- processing_current_prefix = specification_prefix;
- back_to = make_cleanup (xfree, specification_prefix);
- }
- }
-
- if (processing_has_namespace_info)
- {
- /* FIXME: carlton/2003-11-10: This variable exists only for
- const-correctness reasons. When I tried to change
- TYPE_TAG_NAME to be a const char *, I ran into a cascade
- of changes which would have forced decode_line_1 to take
- a const char **. */
- char *new_prefix = obconcat (&objfile->objfile_obstack,
- processing_current_prefix,
- processing_current_prefix[0] == '\0'
- ? "" : "::",
- name);
- TYPE_TAG_NAME (type) = new_prefix;
+ char *new_prefix = determine_class_name (die, cu);
+ TYPE_TAG_NAME (type) = obsavestring (new_prefix,
+ strlen (new_prefix),
+ &objfile->objfile_obstack);
+ back_to = make_cleanup (xfree, new_prefix);
processing_current_prefix = new_prefix;
}
else
{
- TYPE_TAG_NAME (type) = obsavestring (name, strlen (name),
- &objfile->objfile_obstack);
- need_to_update_name = (cu->language == language_cplus);
+ /* The name is already allocated along with this objfile, so
+ we don't need to duplicate it for the type. */
+ TYPE_TAG_NAME (type) = DW_STRING (attr);
}
}
@@ -3106,53 +3249,14 @@ read_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
else if (child_die->tag == DW_TAG_subprogram)
{
/* C++ member function. */
- process_die (child_die, cu);
+ read_type_die (child_die, cu);
dwarf2_add_member_fn (&fi, child_die, type, cu);
- if (need_to_update_name)
- {
- /* The demangled names of member functions contain
- information about enclosing namespaces/classes,
- if any. */
-
- /* FIXME: carlton/2003-11-10: The excessive
- demangling here is a bit wasteful, as is the
- memory usage for names. */
-
- /* NOTE: carlton/2003-11-10: As commented in
- add_partial_structure, the demangler sometimes
- prints the type info in a different form from the
- debug info. We could solve this by using the
- demangled name to get the prefix; if doing so,
- however, we'd need to be careful when reading a
- class that's nested inside a template class.
- That would also cause problems when trying to
- determine RTTI information, since we use the
- demangler to determine the appropriate class
- name. */
- char *actual_class_name
- = class_name_from_physname (dwarf2_linkage_name
- (child_die, cu));
- if (actual_class_name != NULL
- && strcmp (actual_class_name, name) != 0)
- {
- TYPE_TAG_NAME (type)
- = obsavestring (actual_class_name,
- strlen (actual_class_name),
- &objfile->objfile_obstack);
- }
- xfree (actual_class_name);
- need_to_update_name = 0;
- }
}
else if (child_die->tag == DW_TAG_inheritance)
{
/* C++ base class field. */
dwarf2_add_field (&fi, child_die, cu);
}
- else
- {
- process_die (child_die, cu);
- }
child_die = sibling_die (child_die);
}
@@ -3209,8 +3313,6 @@ read_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
}
}
- new_symbol (die, type, cu);
-
do_cleanups (back_to);
}
else
@@ -3224,26 +3326,55 @@ read_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
do_cleanups (back_to);
}
-/* Given a pointer to a die which begins an enumeration, process all
- the dies that define the members of the enumeration.
+static void
+process_structure_scope (struct die_info *die, struct dwarf2_cu *cu)
+{
+ struct objfile *objfile = cu->objfile;
+ const char *previous_prefix = processing_current_prefix;
+ struct die_info *child_die = die->child;
- This will be much nicer in draft 6 of the DWARF spec when our
- members will be dies instead squished into the DW_AT_element_list
- attribute.
+ if (TYPE_TAG_NAME (die->type) != NULL)
+ processing_current_prefix = TYPE_TAG_NAME (die->type);
- NOTE: We reverse the order of the element list. */
+ /* NOTE: carlton/2004-03-16: GCC 3.4 (or at least one of its
+ snapshots) has been known to create a die giving a declaration
+ for a class that has, as a child, a die giving a definition for a
+ nested class. So we have to process our children even if the
+ current die is a declaration. Normally, of course, a declaration
+ won't have any children at all. */
+
+ while (child_die != NULL && child_die->tag)
+ {
+ if (child_die->tag == DW_TAG_member
+ || child_die->tag == DW_TAG_variable
+ || child_die->tag == DW_TAG_inheritance)
+ {
+ /* Do nothing. */
+ }
+ else
+ process_die (child_die, cu);
+
+ child_die = sibling_die (child_die);
+ }
+
+ if (die->child != NULL && ! die_is_declaration (die, cu))
+ new_symbol (die, die->type, cu);
+
+ processing_current_prefix = previous_prefix;
+}
+
+/* Given a DW_AT_enumeration_type die, set its type. We do not
+ complete the type's fields yet, or create any symbols. */
static void
-read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
+read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct objfile *objfile = cu->objfile;
- struct die_info *child_die;
struct type *type;
- struct field *fields;
struct attribute *attr;
- struct symbol *sym;
- int num_fields;
- int unsigned_enum = 1;
+
+ if (die->type)
+ return;
type = alloc_type (objfile);
@@ -3251,7 +3382,7 @@ read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_name, cu);
if (attr && DW_STRING (attr))
{
- const char *name = DW_STRING (attr);
+ char *name = DW_STRING (attr);
if (processing_has_namespace_info)
{
@@ -3263,8 +3394,9 @@ read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
}
else
{
- TYPE_TAG_NAME (type) = obsavestring (name, strlen (name),
- &objfile->objfile_obstack);
+ /* The name is already allocated along with this objfile, so
+ we don't need to duplicate it for the type. */
+ TYPE_TAG_NAME (type) = name;
}
}
@@ -3278,6 +3410,82 @@ read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
TYPE_LENGTH (type) = 0;
}
+ die->type = type;
+}
+
+/* Determine the name of the type represented by DIE, which should be
+ a named C++ compound type. Return the name in question; the caller
+ is responsible for xfree()'ing it. */
+
+static char *
+determine_class_name (struct die_info *die, struct dwarf2_cu *cu)
+{
+ struct cleanup *back_to = NULL;
+ struct die_info *spec_die = die_specification (die, cu);
+ char *new_prefix = NULL;
+
+ /* If this is the definition of a class that is declared by another
+ die, then processing_current_prefix may not be accurate; see
+ read_func_scope for a similar example. */
+ if (spec_die != NULL)
+ {
+ char *specification_prefix = determine_prefix (spec_die, cu);
+ processing_current_prefix = specification_prefix;
+ back_to = make_cleanup (xfree, specification_prefix);
+ }
+
+ /* If we don't have namespace debug info, guess the name by trying
+ to demangle the names of members, just like we did in
+ add_partial_structure. */
+ if (!processing_has_namespace_info)
+ {
+ struct die_info *child;
+
+ for (child = die->child;
+ child != NULL && child->tag != 0;
+ child = sibling_die (child))
+ {
+ if (child->tag == DW_TAG_subprogram)
+ {
+ new_prefix = class_name_from_physname (dwarf2_linkage_name
+ (child, cu));
+
+ if (new_prefix != NULL)
+ break;
+ }
+ }
+ }
+
+ if (new_prefix == NULL)
+ {
+ const char *name = dwarf2_name (die, cu);
+ new_prefix = typename_concat (processing_current_prefix,
+ name ? name : "<<anonymous>>");
+ }
+
+ if (back_to != NULL)
+ do_cleanups (back_to);
+
+ return new_prefix;
+}
+
+/* Given a pointer to a die which begins an enumeration, process all
+ the dies that define the members of the enumeration, and create the
+ symbol for the enumeration type.
+
+ NOTE: We reverse the order of the element list. */
+
+static void
+process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
+{
+ struct objfile *objfile = cu->objfile;
+ struct die_info *child_die;
+ struct field *fields;
+ struct attribute *attr;
+ struct symbol *sym;
+ int num_fields;
+ int unsigned_enum = 1;
+
num_fields = 0;
fields = NULL;
if (die->child != NULL)
@@ -3294,7 +3502,7 @@ read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (child_die, DW_AT_name, cu);
if (attr)
{
- sym = new_symbol (child_die, type, cu);
+ sym = new_symbol (child_die, die->type, cu);
if (SYMBOL_VALUE (sym) < 0)
unsigned_enum = 0;
@@ -3321,18 +3529,18 @@ read_enumeration (struct die_info *die, struct dwarf2_cu *cu)
if (num_fields)
{
- TYPE_NFIELDS (type) = num_fields;
- TYPE_FIELDS (type) = (struct field *)
- TYPE_ALLOC (type, sizeof (struct field) * num_fields);
- memcpy (TYPE_FIELDS (type), fields,
+ TYPE_NFIELDS (die->type) = num_fields;
+ TYPE_FIELDS (die->type) = (struct field *)
+ TYPE_ALLOC (die->type, sizeof (struct field) * num_fields);
+ memcpy (TYPE_FIELDS (die->type), fields,
sizeof (struct field) * num_fields);
xfree (fields);
}
if (unsigned_enum)
- TYPE_FLAGS (type) |= TYPE_FLAG_UNSIGNED;
+ TYPE_FLAGS (die->type) |= TYPE_FLAG_UNSIGNED;
}
- die->type = type;
- new_symbol (die, type, cu);
+
+ new_symbol (die, die->type, cu);
}
/* Extract all information from a DW_TAG_array_type DIE and put it in
@@ -3511,6 +3719,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
TYPE_TAG_NAME (type) = TYPE_NAME (type);
new_symbol (die, type, cu);
+ die->type = type;
if (is_anonymous)
cp_add_using_directive (processing_current_prefix,
@@ -4170,19 +4379,28 @@ dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu)
struct abbrev_info *cur_abbrev;
unsigned int abbrev_number, bytes_read, abbrev_name;
unsigned int abbrev_form, hash_number;
+ struct attr_abbrev *cur_attrs;
+ unsigned int allocated_attrs;
/* Initialize dwarf2 abbrevs */
- memset (cu_header->dwarf2_abbrevs, 0,
- ABBREV_HASH_SIZE*sizeof (struct abbrev_info *));
+ obstack_init (&cu->abbrev_obstack);
+ cu->dwarf2_abbrevs = obstack_alloc (&cu->abbrev_obstack,
+ (ABBREV_HASH_SIZE
+ * sizeof (struct abbrev_info *)));
+ memset (cu->dwarf2_abbrevs, 0,
+ ABBREV_HASH_SIZE * sizeof (struct abbrev_info *));
abbrev_ptr = dwarf_abbrev_buffer + cu_header->abbrev_offset;
abbrev_number = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
abbrev_ptr += bytes_read;
+ allocated_attrs = ATTR_ALLOC_CHUNK;
+ cur_attrs = xmalloc (allocated_attrs * sizeof (struct attr_abbrev));
+
/* loop until we reach an abbrev number of 0 */
while (abbrev_number)
{
- cur_abbrev = dwarf_alloc_abbrev ();
+ cur_abbrev = dwarf_alloc_abbrev (cu);
/* read in abbrev header */
cur_abbrev->number = abbrev_number;
@@ -4198,24 +4416,30 @@ dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu)
abbrev_ptr += bytes_read;
while (abbrev_name)
{
- if ((cur_abbrev->num_attrs % ATTR_ALLOC_CHUNK) == 0)
+ if (cur_abbrev->num_attrs == allocated_attrs)
{
- cur_abbrev->attrs = (struct attr_abbrev *)
- xrealloc (cur_abbrev->attrs,
- (cur_abbrev->num_attrs + ATTR_ALLOC_CHUNK)
- * sizeof (struct attr_abbrev));
+ allocated_attrs += ATTR_ALLOC_CHUNK;
+ cur_attrs
+ = xrealloc (cur_attrs, (allocated_attrs
+ * sizeof (struct attr_abbrev)));
}
- cur_abbrev->attrs[cur_abbrev->num_attrs].name = abbrev_name;
- cur_abbrev->attrs[cur_abbrev->num_attrs++].form = abbrev_form;
+ cur_attrs[cur_abbrev->num_attrs].name = abbrev_name;
+ cur_attrs[cur_abbrev->num_attrs++].form = abbrev_form;
abbrev_name = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
abbrev_ptr += bytes_read;
abbrev_form = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
abbrev_ptr += bytes_read;
}
+ cur_abbrev->attrs = obstack_alloc (&cu->abbrev_obstack,
+ (cur_abbrev->num_attrs
+ * sizeof (struct attr_abbrev)));
+ memcpy (cur_abbrev->attrs, cur_attrs,
+ cur_abbrev->num_attrs * sizeof (struct attr_abbrev));
+
hash_number = abbrev_number % ABBREV_HASH_SIZE;
- cur_abbrev->next = cu_header->dwarf2_abbrevs[hash_number];
- cu_header->dwarf2_abbrevs[hash_number] = cur_abbrev;
+ cur_abbrev->next = cu->dwarf2_abbrevs[hash_number];
+ cu->dwarf2_abbrevs[hash_number] = cur_abbrev;
/* Get next abbreviation.
Under Irix6 the abbreviations for a compilation unit are not
@@ -4232,32 +4456,19 @@ dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu)
if (dwarf2_lookup_abbrev (abbrev_number, cu) != NULL)
break;
}
+
+ xfree (cur_attrs);
}
-/* Empty the abbrev table for a new compilation unit. */
+/* Release the memory used by the abbrev table for a compilation unit. */
static void
-dwarf2_empty_abbrev_table (void *ptr_to_abbrevs_table)
+dwarf2_free_abbrev_table (void *ptr_to_cu)
{
- int i;
- struct abbrev_info *abbrev, *next;
- struct abbrev_info **abbrevs;
+ struct dwarf2_cu *cu = ptr_to_cu;
- abbrevs = (struct abbrev_info **)ptr_to_abbrevs_table;
-
- for (i = 0; i < ABBREV_HASH_SIZE; ++i)
- {
- next = NULL;
- abbrev = abbrevs[i];
- while (abbrev)
- {
- next = abbrev->next;
- xfree (abbrev->attrs);
- xfree (abbrev);
- abbrev = next;
- }
- abbrevs[i] = NULL;
- }
+ obstack_free (&cu->abbrev_obstack, NULL);
+ cu->dwarf2_abbrevs = NULL;
}
/* Lookup an abbrev_info structure in the abbrev hash table. */
@@ -4265,12 +4476,11 @@ dwarf2_empty_abbrev_table (void *ptr_to_abbrevs_table)
static struct abbrev_info *
dwarf2_lookup_abbrev (unsigned int number, struct dwarf2_cu *cu)
{
- struct comp_unit_head *cu_header = &cu->header;
unsigned int hash_number;
struct abbrev_info *abbrev;
hash_number = number % ABBREV_HASH_SIZE;
- abbrev = cu_header->dwarf2_abbrevs[hash_number];
+ abbrev = cu->dwarf2_abbrevs[hash_number];
while (abbrev)
{
@@ -4927,6 +5137,22 @@ read_signed_leb128 (bfd *abfd, char *buf, unsigned int *bytes_read_ptr)
return result;
}
+/* Return a pointer to just past the end of an LEB128 number in BUF. */
+
+static char *
+skip_leb128 (bfd *abfd, char *buf)
+{
+ int byte;
+
+ while (1)
+ {
+ byte = bfd_get_8 (abfd, (bfd_byte *) buf);
+ buf++;
+ if ((byte & 128) == 0)
+ return buf;
+ }
+}
+
static void
set_cu_language (unsigned int lang, struct dwarf2_cu *cu)
{
@@ -5666,7 +5892,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
/* Make sure that the symbol includes appropriate enclosing
classes/namespaces in its name. These are calculated in
- read_structure_scope, and the correct name is saved in
+ read_structure_type, and the correct name is saved in
the type. */
if (cu->language == language_cplus)
@@ -5677,11 +5903,11 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
{
/* FIXME: carlton/2003-11-10: Should this use
SYMBOL_SET_NAMES instead? (The same problem also
- arises a further down in the function.) */
- SYMBOL_LINKAGE_NAME (sym)
- = obsavestring (TYPE_TAG_NAME (type),
- strlen (TYPE_TAG_NAME (type)),
- &objfile->objfile_obstack);
+ arises further down in this function.) */
+ /* The type's name is already allocated along with
+ this objfile, so we don't need to duplicate it
+ for the symbol. */
+ SYMBOL_LINKAGE_NAME (sym) = TYPE_TAG_NAME (type);
}
}
@@ -5712,11 +5938,11 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
sizeof (struct symbol));
*typedef_sym = *sym;
SYMBOL_DOMAIN (typedef_sym) = VAR_DOMAIN;
+ /* The symbol's name is already allocated along with
+ this objfile, so we don't need to duplicate it for
+ the type. */
if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
- TYPE_NAME (SYMBOL_TYPE (sym)) =
- obsavestring (SYMBOL_NATURAL_NAME (sym),
- strlen (SYMBOL_NATURAL_NAME (sym)),
- &objfile->objfile_obstack);
+ TYPE_NAME (SYMBOL_TYPE (sym)) = SYMBOL_NATURAL_NAME (sym);
add_symbol_to_list (typedef_sym, list_to_add);
}
}
@@ -6009,10 +6235,10 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
case DW_TAG_class_type:
case DW_TAG_structure_type:
case DW_TAG_union_type:
- read_structure_scope (die, cu);
+ read_structure_type (die, cu);
break;
case DW_TAG_enumeration_type:
- read_enumeration (die, cu);
+ read_enumeration_type (die, cu);
break;
case DW_TAG_subprogram:
case DW_TAG_subroutine_type:
@@ -6068,18 +6294,6 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
static char *
determine_prefix (struct die_info *die, struct dwarf2_cu *cu)
{
- char *prefix = determine_prefix_aux (die, cu);
-
- return prefix ? prefix : xstrdup ("");
-}
-
-/* Return the name of the namespace/class that DIE is defined
- within, or NULL if we can't tell. The caller should xfree the
- result. */
-
-static char *
-determine_prefix_aux (struct die_info *die, struct dwarf2_cu *cu)
-{
struct die_info *parent;
if (cu->language != language_cplus)
@@ -6089,49 +6303,55 @@ determine_prefix_aux (struct die_info *die, struct dwarf2_cu *cu)
if (parent == NULL)
{
- return (processing_has_namespace_info ? xstrdup ("") : NULL);
+ return xstrdup ("");
}
else
{
- char *parent_prefix = determine_prefix_aux (parent, cu);
- char *retval;
-
switch (parent->tag) {
case DW_TAG_namespace:
{
- int dummy;
-
- retval = typename_concat (parent_prefix,
- namespace_name (parent, &dummy, cu));
+ /* FIXME: carlton/2004-03-05: Should I follow extension dies
+ before doing this check? */
+ if (parent->type != NULL && TYPE_TAG_NAME (parent->type) != NULL)
+ {
+ return xstrdup (TYPE_TAG_NAME (parent->type));
+ }
+ else
+ {
+ int dummy;
+ char *parent_prefix = determine_prefix (parent, cu);
+ char *retval = typename_concat (parent_prefix,
+ namespace_name (parent, &dummy,
+ cu));
+ xfree (parent_prefix);
+ return retval;
+ }
}
break;
case DW_TAG_class_type:
case DW_TAG_structure_type:
{
- if (parent_prefix != NULL)
+ if (parent->type != NULL && TYPE_TAG_NAME (parent->type) != NULL)
{
- const char *parent_name = dwarf2_name (parent, cu);
-
- if (parent_name != NULL)
- retval = typename_concat (parent_prefix, dwarf2_name (parent, cu));
- else
- /* FIXME: carlton/2003-11-10: I'm not sure what the
- best thing to do here is. */
- retval = typename_concat (parent_prefix,
- "<<anonymous class>>");
+ return xstrdup (TYPE_TAG_NAME (parent->type));
}
else
- retval = class_name (parent, cu);
+ {
+ const char *old_prefix = processing_current_prefix;
+ char *new_prefix = determine_prefix (parent, cu);
+ char *retval;
+
+ processing_current_prefix = new_prefix;
+ retval = determine_class_name (parent, cu);
+ processing_current_prefix = old_prefix;
+
+ xfree (new_prefix);
+ return retval;
+ }
}
- break;
default:
- retval = parent_prefix;
- break;
+ return determine_prefix (parent, cu);
}
-
- if (retval != parent_prefix)
- xfree (parent_prefix);
- return retval;
}
}
@@ -6156,28 +6376,6 @@ typename_concat (const char *prefix, const char *suffix)
}
}
-/* Return a newly-allocated string giving the name of the class given
- by DIE. */
-
-static char *
-class_name (struct die_info *die, struct dwarf2_cu *cu)
-{
- struct die_info *child;
- const char *name;
-
- for (child = die->child; child != NULL; child = sibling_die (child))
- {
- if (child->tag == DW_TAG_subprogram)
- return class_name_from_physname (dwarf2_linkage_name (child, cu));
- }
-
- name = dwarf2_name (die, cu);
- if (name != NULL)
- return xstrdup (name);
- else
- return xstrdup ("");
-}
-
static struct type *
dwarf_base_type (int encoding, int size, struct dwarf2_cu *cu)
{
@@ -7585,11 +7783,12 @@ dwarf_alloc_block (void)
}
static struct abbrev_info *
-dwarf_alloc_abbrev (void)
+dwarf_alloc_abbrev (struct dwarf2_cu *cu)
{
struct abbrev_info *abbrev;
- abbrev = (struct abbrev_info *) xmalloc (sizeof (struct abbrev_info));
+ abbrev = (struct abbrev_info *)
+ obstack_alloc (&cu->abbrev_obstack, sizeof (struct abbrev_info));
memset (abbrev, 0, sizeof (struct abbrev_info));
return (abbrev);
}
diff --git a/gdb/frame-base.c b/gdb/frame-base.c
index 66a0106aa0b..0fce6bcfce9 100644
--- a/gdb/frame-base.c
+++ b/gdb/frame-base.c
@@ -1,6 +1,6 @@
/* Definitions for frame address handler, for GDB, the GNU debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,6 +22,7 @@
#include "defs.h"
#include "frame-base.h"
#include "frame.h"
+#include "gdb_obstack.h"
/* A default frame base implementations. If it wasn't for the old
DEPRECATED_FRAME_LOCALS_ADDRESS and DEPRECATED_FRAME_ARGS_ADDRESS,
@@ -68,60 +69,44 @@ const struct frame_base default_frame_base = {
static struct gdbarch_data *frame_base_data;
+struct frame_base_table_entry
+{
+ frame_base_sniffer_ftype *sniffer;
+ struct frame_base_table_entry *next;
+};
+
struct frame_base_table
{
- frame_base_sniffer_ftype **sniffer;
+ struct frame_base_table_entry *head;
+ struct frame_base_table_entry **tail;
const struct frame_base *default_base;
- int nr;
};
static void *
-frame_base_init (struct gdbarch *gdbarch)
+frame_base_init (struct obstack *obstack)
{
- struct frame_base_table *table = XCALLOC (1, struct frame_base_table);
+ struct frame_base_table *table
+ = OBSTACK_ZALLOC (obstack, struct frame_base_table);
+ table->tail = &table->head;
table->default_base = &default_frame_base;
return table;
}
-static struct frame_base_table *
-frame_base_table (struct gdbarch *gdbarch)
-{
- struct frame_base_table *table = gdbarch_data (gdbarch, frame_base_data);
- if (table == NULL)
- {
- /* ULGH, called during architecture initialization. Patch
- things up. */
- table = frame_base_init (gdbarch);
- set_gdbarch_data (gdbarch, frame_base_data, table);
- }
- return table;
-}
-
-/* Append a predicate to the end of the table. */
-static void
-append_predicate (struct frame_base_table *table,
- frame_base_sniffer_ftype *sniffer)
-{
- table->sniffer = xrealloc (table->sniffer,
- ((table->nr + 1)
- * sizeof (frame_base_sniffer_ftype *)));
- table->sniffer[table->nr] = sniffer;
- table->nr++;
-}
-
void
frame_base_append_sniffer (struct gdbarch *gdbarch,
frame_base_sniffer_ftype *sniffer)
{
- struct frame_base_table *table = frame_base_table (gdbarch);
- append_predicate (table, sniffer);
+ struct frame_base_table *table = gdbarch_data (gdbarch, frame_base_data);
+ (*table->tail) = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct frame_base_table_entry);
+ (*table->tail)->sniffer = sniffer;
+ table->tail = &(*table->tail)->next;
}
void
frame_base_set_default (struct gdbarch *gdbarch,
const struct frame_base *default_base)
{
- struct frame_base_table *table = frame_base_table (gdbarch);
+ struct frame_base_table *table = gdbarch_data (gdbarch, frame_base_data);
table->default_base = default_base;
}
@@ -129,12 +114,13 @@ const struct frame_base *
frame_base_find_by_frame (struct frame_info *next_frame)
{
struct gdbarch *gdbarch = get_frame_arch (next_frame);
- struct frame_base_table *table = frame_base_table (gdbarch);
- int i;
- for (i = 0; i < table->nr; i++)
+ struct frame_base_table *table = gdbarch_data (gdbarch, frame_base_data);
+ struct frame_base_table_entry *entry;
+
+ for (entry = table->head; entry != NULL; entry = entry->next)
{
const struct frame_base *desc = NULL;
- desc = table->sniffer[i] (next_frame);
+ desc = entry->sniffer (next_frame);
if (desc != NULL)
return desc;
}
@@ -146,5 +132,5 @@ extern initialize_file_ftype _initialize_frame_base; /* -Wmissing-prototypes */
void
_initialize_frame_base (void)
{
- frame_base_data = register_gdbarch_data (frame_base_init);
+ frame_base_data = gdbarch_data_register_pre_init (frame_base_init);
}
diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c
index 82eaf7c0aec..cacb2ed4160 100644
--- a/gdb/frame-unwind.c
+++ b/gdb/frame-unwind.c
@@ -1,6 +1,6 @@
/* Definitions for frame unwinder, for GDB, the GNU debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -24,31 +24,31 @@
#include "frame-unwind.h"
#include "gdb_assert.h"
#include "dummy-frame.h"
+#include "gdb_obstack.h"
static struct gdbarch_data *frame_unwind_data;
-struct frame_unwind_table
+struct frame_unwind_table_entry
{
- frame_unwind_sniffer_ftype **sniffer;
- int nr;
+ frame_unwind_sniffer_ftype *sniffer;
+ const struct frame_unwind *unwinder;
+ struct frame_unwind_table_entry *next;
};
-/* Append a predicate to the end of the table. */
-static void
-append_predicate (struct frame_unwind_table *table,
- frame_unwind_sniffer_ftype *sniffer)
+struct frame_unwind_table
{
- table->sniffer = xrealloc (table->sniffer, ((table->nr + 1)
- * sizeof (frame_unwind_sniffer_ftype *)));
- table->sniffer[table->nr] = sniffer;
- table->nr++;
-}
+ struct frame_unwind_table_entry *head;
+ struct frame_unwind_table_entry **tail;
+};
static void *
-frame_unwind_init (struct gdbarch *gdbarch)
+frame_unwind_init (struct obstack *obstack)
{
- struct frame_unwind_table *table = XCALLOC (1, struct frame_unwind_table);
- append_predicate (table, dummy_frame_sniffer);
+ struct frame_unwind_table *table
+ = OBSTACK_ZALLOC (obstack, struct frame_unwind_table);
+ table->head = OBSTACK_ZALLOC (obstack, struct frame_unwind_table_entry);
+ table->head->sniffer = dummy_frame_sniffer;
+ table->tail = &table->head->next;
return table;
}
@@ -56,36 +56,51 @@ void
frame_unwind_append_sniffer (struct gdbarch *gdbarch,
frame_unwind_sniffer_ftype *sniffer)
{
- struct frame_unwind_table *table =
- gdbarch_data (gdbarch, frame_unwind_data);
- if (table == NULL)
- {
- /* ULGH, called during architecture initialization. Patch
- things up. */
- table = frame_unwind_init (gdbarch);
- set_gdbarch_data (gdbarch, frame_unwind_data, table);
- }
- append_predicate (table, sniffer);
+ struct frame_unwind_table *table = gdbarch_data (gdbarch, frame_unwind_data);
+ (*table->tail) = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct frame_unwind_table_entry);
+ (*table->tail)->sniffer = sniffer;
+ table->tail = &((*table->tail)->next);
+}
+
+void
+frame_unwind_register_unwinder (struct gdbarch *gdbarch,
+ const struct frame_unwind *unwinder)
+{
+ struct frame_unwind_table *table = gdbarch_data (gdbarch, frame_unwind_data);
+ (*table->tail) = GDBARCH_OBSTACK_ZALLOC (gdbarch,
+ struct frame_unwind_table_entry);
+ (*table->tail)->unwinder = unwinder;
+ table->tail = &((*table->tail)->next);
}
const struct frame_unwind *
-frame_unwind_find_by_frame (struct frame_info *next_frame)
+frame_unwind_find_by_frame (struct frame_info *next_frame, void **this_cache)
{
int i;
struct gdbarch *gdbarch = get_frame_arch (next_frame);
struct frame_unwind_table *table = gdbarch_data (gdbarch, frame_unwind_data);
+ struct frame_unwind_table_entry *entry;
if (!DEPRECATED_USE_GENERIC_DUMMY_FRAMES && legacy_frame_p (gdbarch))
/* Seriously old code. Don't even try to use this new mechanism.
(Note: The variable USE_GENERIC_DUMMY_FRAMES is deprecated, not
the dummy frame mechanism. All architectures should be using
generic dummy frames). */
return legacy_saved_regs_unwind;
- for (i = 0; i < table->nr; i++)
+ for (entry = table->head; entry != NULL; entry = entry->next)
{
- const struct frame_unwind *desc;
- desc = table->sniffer[i] (next_frame);
- if (desc != NULL)
- return desc;
+ if (entry->sniffer != NULL)
+ {
+ const struct frame_unwind *desc = NULL;
+ desc = entry->sniffer (next_frame);
+ if (desc != NULL)
+ return desc;
+ }
+ if (entry->unwinder != NULL)
+ {
+ if (entry->unwinder->sniffer (entry->unwinder, next_frame,
+ this_cache))
+ return entry->unwinder;
+ }
}
return legacy_saved_regs_unwind;
}
@@ -95,5 +110,5 @@ extern initialize_file_ftype _initialize_frame_unwind; /* -Wmissing-prototypes *
void
_initialize_frame_unwind (void)
{
- frame_unwind_data = register_gdbarch_data (frame_unwind_init);
+ frame_unwind_data = gdbarch_data_register_pre_init (frame_unwind_init);
}
diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h
index 8d17280fc9a..49f28896ffe 100644
--- a/gdb/frame-unwind.h
+++ b/gdb/frame-unwind.h
@@ -1,6 +1,6 @@
/* Definitions for a frame unwinder, for GDB, the GNU debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,6 +22,7 @@
#if !defined (FRAME_UNWIND_H)
#define FRAME_UNWIND_H 1
+struct frame_data;
struct frame_info;
struct frame_id;
struct frame_unwind;
@@ -42,6 +43,14 @@ struct regcache;
as where this frame's prologue stores the previous frame's
registers. */
+/* Given the NEXT frame, take a wiff of THIS frame's registers (namely
+ the PC and attributes) and if SELF is the applicable unwinder,
+ return non-zero. Possibly also initialize THIS_PROLOGUE_CACHE. */
+
+typedef int (frame_sniffer_ftype) (const struct frame_unwind *self,
+ struct frame_info *next_frame,
+ void **this_prologue_cache);
+
/* Assuming the frame chain: (outer) prev <-> this <-> next (inner);
use the NEXT frame, and its register unwind method, to determine
the frame ID of THIS frame.
@@ -118,8 +127,16 @@ struct frame_unwind
here? */
frame_this_id_ftype *this_id;
frame_prev_register_ftype *prev_register;
+ const struct frame_data *unwind_data;
+ frame_sniffer_ftype *sniffer;
};
+/* Register a frame unwinder, _appending_ it to the end of the search
+ list. */
+extern void frame_unwind_register_unwinder (struct gdbarch *gdbarch,
+ const struct frame_unwind *unwinder);
+
+
/* Given the NEXT frame, take a wiff of THIS frame's registers (namely
the PC and attributes) and if it is the applicable unwinder return
the unwind methods, or NULL if it is not. */
@@ -134,8 +151,9 @@ extern void frame_unwind_append_sniffer (struct gdbarch *gdbarch,
frame_unwind_sniffer_ftype *sniffer);
/* Iterate through the next frame's sniffers until one returns with an
- unwinder implementation. */
+ unwinder implementation. Possibly initialize THIS_CACHE. */
-extern const struct frame_unwind *frame_unwind_find_by_frame (struct frame_info *next_frame);
+extern const struct frame_unwind *frame_unwind_find_by_frame (struct frame_info *next_frame,
+ void **this_cache);
#endif
diff --git a/gdb/frame.c b/gdb/frame.c
index a032c47e92b..f6aa5cf440f 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -228,7 +228,8 @@ get_frame_id (struct frame_info *fi)
/* Find the unwinder. */
if (fi->unwind == NULL)
{
- fi->unwind = frame_unwind_find_by_frame (fi->next);
+ fi->unwind = frame_unwind_find_by_frame (fi->next,
+ &fi->prologue_cache);
/* FIXME: cagney/2003-04-02: Rather than storing the frame's
type in the frame, the unwinder's type should be returned
directly. Unfortunately, legacy code, called by
@@ -532,7 +533,8 @@ frame_register_unwind (struct frame_info *frame, int regnum,
/* Find the unwinder. */
if (frame->unwind == NULL)
{
- frame->unwind = frame_unwind_find_by_frame (frame->next);
+ frame->unwind = frame_unwind_find_by_frame (frame->next,
+ &frame->prologue_cache);
/* FIXME: cagney/2003-04-02: Rather than storing the frame's
type in the frame, the unwinder's type should be returned
directly. Unfortunately, legacy code, called by
@@ -1152,18 +1154,14 @@ deprecated_generic_get_saved_register (char *raw_buffer, int *optimized,
static enum frame_type
frame_type_from_pc (CORE_ADDR pc)
{
- /* FIXME: cagney/2002-11-24: Can't yet directly call
- pc_in_dummy_frame() as some architectures don't set
- PC_IN_CALL_DUMMY() to generic_pc_in_call_dummy() (remember the
- latter is implemented by simply calling pc_in_dummy_frame). */
if (DEPRECATED_USE_GENERIC_DUMMY_FRAMES
- && DEPRECATED_PC_IN_CALL_DUMMY (pc, 0, 0))
+ && deprecated_pc_in_call_dummy (pc, 0, 0))
return DUMMY_FRAME;
else
{
char *name;
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
return SIGTRAMP_FRAME;
else
return NORMAL_FRAME;
@@ -1191,7 +1189,7 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
/* Select/initialize both the unwind function and the frame's type
based on the PC. */
- fi->unwind = frame_unwind_find_by_frame (fi->next);
+ fi->unwind = frame_unwind_find_by_frame (fi->next, &fi->prologue_cache);
if (fi->unwind->type != UNKNOWN_FRAME)
fi->type = fi->unwind->type;
else
@@ -1344,7 +1342,8 @@ legacy_get_prev_frame (struct frame_info *this_frame)
/* Set the unwind functions based on that identified PC. Ditto
for the "type" but strongly prefer the unwinder's frame type. */
- prev->unwind = frame_unwind_find_by_frame (prev->next);
+ prev->unwind = frame_unwind_find_by_frame (prev->next,
+ &prev->prologue_cache);
if (prev->unwind->type == UNKNOWN_FRAME)
prev->type = frame_type_from_pc (get_frame_pc (prev));
else
@@ -1493,7 +1492,8 @@ legacy_get_prev_frame (struct frame_info *this_frame)
to the new frame code. Implement FRAME_CHAIN the way the
new frame will. */
/* Find PREV frame's unwinder. */
- prev->unwind = frame_unwind_find_by_frame (this_frame->next);
+ prev->unwind = frame_unwind_find_by_frame (this_frame,
+ &prev->prologue_cache);
/* FIXME: cagney/2003-04-02: Rather than storing the frame's
type in the frame, the unwinder's type should be returned
directly. Unfortunately, legacy code, called by
@@ -1654,7 +1654,8 @@ legacy_get_prev_frame (struct frame_info *this_frame)
If there isn't a FRAME_CHAIN, the code above will have already
done this. */
if (prev->unwind == NULL)
- prev->unwind = frame_unwind_find_by_frame (prev->next);
+ prev->unwind = frame_unwind_find_by_frame (prev->next,
+ &prev->prologue_cache);
/* If the unwinder provides a frame type, use it. Otherwize
continue on to that heuristic mess. */
@@ -1683,9 +1684,7 @@ legacy_get_prev_frame (struct frame_info *this_frame)
initialization, as seen in create_new_frame(), should occur
before the INIT function has been called. */
if (DEPRECATED_USE_GENERIC_DUMMY_FRAMES
- && (DEPRECATED_PC_IN_CALL_DUMMY_P ()
- ? DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (prev), 0, 0)
- : pc_in_dummy_frame (get_frame_pc (prev))))
+ && deprecated_pc_in_call_dummy (get_frame_pc (prev), 0, 0))
prev->type = DUMMY_FRAME;
else
{
@@ -1697,7 +1696,7 @@ legacy_get_prev_frame (struct frame_info *this_frame)
22). */
char *name;
find_pc_partial_function (get_frame_pc (prev), &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (get_frame_pc (prev), name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (get_frame_pc (prev), name))
prev->type = SIGTRAMP_FRAME;
/* FIXME: cagney/2002-11-11: Leave prev->type alone. Some
architectures are forcing the frame's type in INIT so we
@@ -2124,7 +2123,8 @@ get_frame_type (struct frame_info *frame)
{
/* Initialize the frame's unwinder because it is that which
provides the frame's type. */
- frame->unwind = frame_unwind_find_by_frame (frame->next);
+ frame->unwind = frame_unwind_find_by_frame (frame->next,
+ &frame->prologue_cache);
/* FIXME: cagney/2003-04-02: Rather than storing the frame's
type in the frame, the unwinder's type should be returned
directly. Unfortunately, legacy code, called by
diff --git a/gdb/frame.h b/gdb/frame.h
index 0cdae6d31dc..028167d4bde 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -360,7 +360,7 @@ extern enum frame_type get_frame_type (struct frame_info *);
/* FIXME: cagney/2002-11-10: Some targets want to directly mark a
frame as being of a specific type. This shouldn't be necessary.
- PC_IN_SIGTRAMP() indicates a SIGTRAMP_FRAME and
+ DEPRECATED_PC_IN_SIGTRAMP() indicates a SIGTRAMP_FRAME and
DEPRECATED_PC_IN_CALL_DUMMY() indicates a DUMMY_FRAME. I suspect
the real problem here is that get_prev_frame() only sets
initialized after DEPRECATED_INIT_EXTRA_FRAME_INFO as been called.
@@ -565,11 +565,10 @@ extern struct frame_info *block_innermost_frame (struct block *);
extern CORE_ADDR deprecated_read_register_dummy (CORE_ADDR pc,
CORE_ADDR fp, int);
extern void generic_push_dummy_frame (void);
-extern void generic_pop_current_frame (void (*)(struct frame_info *));
-extern void generic_pop_dummy_frame (void);
+extern void deprecated_pop_dummy_frame (void);
-extern int generic_pc_in_call_dummy (CORE_ADDR pc,
- CORE_ADDR sp, CORE_ADDR fp);
+extern int deprecated_pc_in_call_dummy (CORE_ADDR pc, CORE_ADDR sp,
+ CORE_ADDR fp);
/* NOTE: cagney/2002-06-26: Targets should no longer use this
function. Instead, the contents of a dummy frames registers can be
diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c
new file mode 100644
index 00000000000..e8626259530
--- /dev/null
+++ b/gdb/frv-linux-tdep.c
@@ -0,0 +1,273 @@
+/* Target-dependent code for GNU/Linux running on the Fujitsu FR-V,
+ for GDB.
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 "defs.h"
+#include "target.h"
+#include "frame.h"
+#include "osabi.h"
+#include "elf-bfd.h"
+#include "elf/frv.h"
+#include "frv-tdep.h"
+
+/* Define the size (in bytes) of an FR-V instruction. */
+static const int frv_instr_size = 4;
+
+enum {
+ NORMAL_SIGTRAMP = 1,
+ RT_SIGTRAMP = 2
+};
+
+static int
+frv_linux_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+ char buf[frv_instr_size];
+ LONGEST instr;
+ int retval = 0;
+
+ if (target_read_memory (pc, buf, sizeof buf) != 0)
+ return 0;
+
+ instr = extract_unsigned_integer (buf, sizeof buf);
+
+ if (instr == 0x8efc0077) /* setlos #__NR_sigreturn, gr7 */
+ retval = NORMAL_SIGTRAMP;
+ else if (instr -= 0x8efc00ad) /* setlos #__NR_rt_sigreturn, gr7 */
+ retval = RT_SIGTRAMP;
+ else
+ return 0;
+
+ if (target_read_memory (pc + frv_instr_size, buf, sizeof buf) != 0)
+ return 0;
+ instr = extract_unsigned_integer (buf, sizeof buf);
+ if (instr != 0xc0700000) /* tira gr0, 0 */
+ return 0;
+
+ /* If we get this far, we'll return a non-zero value, either
+ NORMAL_SIGTRAMP (1) or RT_SIGTRAMP (2). */
+ return retval;
+}
+
+/* Given NEXT_FRAME, "callee" frame of the sigtramp frame that we
+ wish to decode, and REGNO, one of the frv register numbers defined
+ in frv-tdep.h, return the address of the saved register (corresponding
+ to REGNO) in the sigtramp frame. Return -1 if the register is not
+ found in the sigtramp frame. The magic numbers in the code below
+ were computed by examining the following kernel structs:
+
+ From arch/frvnommu/signal.c:
+
+ struct sigframe
+ {
+ void (*pretcode)(void);
+ int sig;
+ struct sigcontext sc;
+ unsigned long extramask[_NSIG_WORDS-1];
+ uint32_t retcode[2];
+ };
+
+ struct rt_sigframe
+ {
+ void (*pretcode)(void);
+ int sig;
+ struct siginfo *pinfo;
+ void *puc;
+ struct siginfo info;
+ struct ucontext uc;
+ uint32_t retcode[2];
+ };
+
+ From include/asm-frvnommu/ucontext.h:
+
+ struct ucontext {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ struct sigcontext uc_mcontext;
+ sigset_t uc_sigmask;
+ };
+
+ From include/asm-frvnommu/sigcontext.h:
+
+ struct sigcontext {
+ struct user_context sc_context;
+ unsigned long sc_oldmask;
+ } __attribute__((aligned(8)));
+
+ From include/asm-frvnommu/registers.h:
+ struct user_int_regs
+ {
+ unsigned long psr;
+ unsigned long isr;
+ unsigned long ccr;
+ unsigned long cccr;
+ unsigned long lr;
+ unsigned long lcr;
+ unsigned long pc;
+ unsigned long __status;
+ unsigned long syscallno;
+ unsigned long orig_gr8;
+ unsigned long gner[2];
+ unsigned long long iacc[1];
+
+ union {
+ unsigned long tbr;
+ unsigned long gr[64];
+ };
+ };
+
+ struct user_fpmedia_regs
+ {
+ unsigned long fr[64];
+ unsigned long fner[2];
+ unsigned long msr[2];
+ unsigned long acc[8];
+ unsigned char accg[8];
+ unsigned long fsr[1];
+ };
+
+ struct user_context
+ {
+ struct user_int_regs i;
+ struct user_fpmedia_regs f;
+
+ void *extension;
+ } __attribute__((aligned(8))); */
+
+static CORE_ADDR
+frv_linux_sigcontext_reg_addr (struct frame_info *next_frame, int regno,
+ CORE_ADDR *sc_addr_cache_ptr)
+{
+ CORE_ADDR sc_addr;
+
+ if (sc_addr_cache_ptr && *sc_addr_cache_ptr)
+ {
+ sc_addr = *sc_addr_cache_ptr;
+ }
+ else
+ {
+ CORE_ADDR pc, sp;
+ char buf[4];
+ int tramp_type;
+
+ pc = frame_pc_unwind (next_frame);
+ tramp_type = frv_linux_pc_in_sigtramp (pc, 0);
+
+ frame_unwind_register (next_frame, sp_regnum, buf);
+ sp = extract_unsigned_integer (buf, sizeof buf);
+
+ if (tramp_type == NORMAL_SIGTRAMP)
+ {
+ /* For a normal sigtramp frame, the sigcontext struct starts
+ at SP + 8. */
+ sc_addr = sp + 8;
+ }
+ else if (tramp_type == RT_SIGTRAMP)
+ {
+ /* For a realtime sigtramp frame, SP + 12 contains a pointer
+ to the a ucontext struct. The ucontext struct contains
+ a sigcontext struct starting 12 bytes in. */
+ if (target_read_memory (sp + 12, buf, sizeof buf) != 0)
+ {
+ warning ("Can't read realtime sigtramp frame.");
+ return 0;
+ }
+ sc_addr = extract_unsigned_integer (buf, sizeof buf);
+ sc_addr += 12;
+ }
+ else
+ internal_error (__FILE__, __LINE__, "not a signal trampoline");
+
+ if (sc_addr_cache_ptr)
+ *sc_addr_cache_ptr = sc_addr;
+ }
+
+ switch (regno)
+ {
+ case psr_regnum :
+ return sc_addr + 0;
+ /* sc_addr + 4 has "isr", the Integer Status Register. */
+ case ccr_regnum :
+ return sc_addr + 8;
+ case cccr_regnum :
+ return sc_addr + 12;
+ case lr_regnum :
+ return sc_addr + 16;
+ case lcr_regnum :
+ return sc_addr + 20;
+ case pc_regnum :
+ return sc_addr + 24;
+ /* sc_addr + 28 is __status, the exception status.
+ sc_addr + 32 is syscallno, the syscall number or -1.
+ sc_addr + 36 is orig_gr8, the original syscall arg #1.
+ sc_addr + 40 is gner[0].
+ sc_addr + 44 is gner[1]. */
+ case iacc0h_regnum :
+ return sc_addr + 48;
+ case iacc0l_regnum :
+ return sc_addr + 52;
+ default :
+ if (first_gpr_regnum <= regno && regno <= last_gpr_regnum)
+ return sc_addr + 56 + 4 * (regno - first_gpr_regnum);
+ else if (first_fpr_regnum <= regno && regno <= last_fpr_regnum)
+ return sc_addr + 312 + 4 * (regno - first_fpr_regnum);
+ else
+ return -1; /* not saved. */
+ }
+}
+
+static void
+frv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ /* When the FR-V Linux kernel calls a signal handler, the return
+ address points to a bit of code on the stack. This function is
+ used to identify this bit of code as a signal trampoline in order
+ to support backtracing through calls to signal handlers. */
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, frv_linux_pc_in_sigtramp);
+ frv_set_sigcontext_reg_addr (gdbarch, frv_linux_sigcontext_reg_addr);
+}
+
+static enum gdb_osabi
+frv_linux_elf_osabi_sniffer (bfd *abfd)
+{
+ int elf_flags;
+
+ elf_flags = elf_elfheader (abfd)->e_flags;
+
+ /* Assume GNU/Linux if using the FDPIC ABI. If/when another OS shows
+ up that uses this ABI, we'll need to start using .note sections
+ or some such. */
+ if (elf_flags & EF_FRV_FDPIC)
+ return GDB_OSABI_LINUX;
+ else
+ return GDB_OSABI_UNKNOWN;
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+void _initialize_frv_linux_tdep (void);
+
+void
+_initialize_frv_linux_tdep (void)
+{
+ gdbarch_register_osabi (bfd_arch_frv, 0, GDB_OSABI_LINUX, frv_linux_init_abi);
+ gdbarch_register_osabi_sniffer (bfd_arch_frv,
+ bfd_target_elf_flavour,
+ frv_linux_elf_osabi_sniffer);
+}
diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c
index b7936e7e454..8028e46c80d 100644
--- a/gdb/frv-tdep.c
+++ b/gdb/frv-tdep.c
@@ -34,6 +34,10 @@
#include "gdb/sim-frv.h"
#include "opcodes/frv-desc.h" /* for the H_SPR_... enums */
#include "symtab.h"
+#include "elf-bfd.h"
+#include "elf/frv.h"
+#include "osabi.h"
+#include "frv-tdep.h"
extern void _initialize_frv_tdep (void);
@@ -44,59 +48,6 @@ static gdbarch_breakpoint_from_pc_ftype frv_breakpoint_from_pc;
static gdbarch_adjust_breakpoint_address_ftype frv_gdbarch_adjust_breakpoint_address;
static gdbarch_skip_prologue_ftype frv_skip_prologue;
-/* Register numbers. The order in which these appear define the
- remote protocol, so take care in changing them. */
-enum {
- /* Register numbers 0 -- 63 are always reserved for general-purpose
- registers. The chip at hand may have less. */
- first_gpr_regnum = 0,
- sp_regnum = 1,
- fp_regnum = 2,
- struct_return_regnum = 3,
- last_gpr_regnum = 63,
-
- /* Register numbers 64 -- 127 are always reserved for floating-point
- registers. The chip at hand may have less. */
- first_fpr_regnum = 64,
- last_fpr_regnum = 127,
-
- /* The PC register. */
- pc_regnum = 128,
-
- /* Register numbers 129 on up are always reserved for special-purpose
- registers. */
- first_spr_regnum = 129,
- psr_regnum = 129,
- ccr_regnum = 130,
- cccr_regnum = 131,
- tbr_regnum = 135,
- brr_regnum = 136,
- dbar0_regnum = 137,
- dbar1_regnum = 138,
- dbar2_regnum = 139,
- dbar3_regnum = 140,
- lr_regnum = 145,
- lcr_regnum = 146,
- iacc0h_regnum = 147,
- iacc0l_regnum = 148,
- last_spr_regnum = 148,
-
- /* The total number of registers we know exist. */
- frv_num_regs = last_spr_regnum + 1,
-
- /* Pseudo registers */
- first_pseudo_regnum = frv_num_regs,
-
- /* iacc0 - the 64-bit concatenation of iacc0h and iacc0l. */
- iacc0_regnum = first_pseudo_regnum + 0,
-
- last_pseudo_regnum = iacc0_regnum,
- frv_num_pseudo_regs = last_pseudo_regnum - first_pseudo_regnum + 1,
-};
-
-static LONGEST frv_call_dummy_words[] =
-{0};
-
struct frv_unwind_cache /* was struct frame_extra_info */
{
@@ -111,7 +62,6 @@ struct frv_unwind_cache /* was struct frame_extra_info */
struct trad_frame_saved_reg *saved_regs;
};
-
/* A structure describing a particular variant of the FRV.
We allocate and initialize one of these structures when we create
the gdbarch object for a variant.
@@ -129,6 +79,9 @@ struct frv_unwind_cache /* was struct frame_extra_info */
Fortran. */
struct gdbarch_tdep
{
+ /* Which ABI is in use? */
+ enum frv_abi frv_abi;
+
/* How many general-purpose registers does this variant have? */
int num_gprs;
@@ -143,10 +96,59 @@ struct gdbarch_tdep
/* Register names. */
char **register_names;
+
+ /* Given NEXT_FRAME, determine the address of register REGNO saved in
+ the calling sigtramp frame. */
+ CORE_ADDR (*sigcontext_reg_addr) (struct frame_info *next_frame, int regno,
+ CORE_ADDR *);
};
#define CURRENT_VARIANT (gdbarch_tdep (current_gdbarch))
+/* Return the FR-V ABI associated with GDBARCH. */
+enum frv_abi
+frv_abi (struct gdbarch *gdbarch)
+{
+ return gdbarch_tdep (gdbarch)->frv_abi;
+}
+
+/* Set sigcontext_reg_addr. */
+void
+frv_set_sigcontext_reg_addr (struct gdbarch *gdbarch,
+ CORE_ADDR (*sigcontext_reg_addr)
+ (struct frame_info *, int, CORE_ADDR *))
+{
+ gdbarch_tdep (gdbarch)->sigcontext_reg_addr = sigcontext_reg_addr;
+}
+
+/* Fetch the interpreter and executable loadmap addresses (for shared
+ library support) for the FDPIC ABI. Return 0 if successful, -1 if
+ not. (E.g, -1 will be returned if the ABI isn't the FDPIC ABI.) */
+int
+frv_fdpic_loadmap_addresses (struct gdbarch *gdbarch, CORE_ADDR *interp_addr,
+ CORE_ADDR *exec_addr)
+{
+ if (frv_abi (gdbarch) != FRV_ABI_FDPIC)
+ return -1;
+ else
+ {
+ if (interp_addr != NULL)
+ {
+ ULONGEST val;
+ regcache_cooked_read_unsigned (current_regcache,
+ fdpic_loadmap_interp_regnum, &val);
+ *interp_addr = val;
+ }
+ if (exec_addr != NULL)
+ {
+ ULONGEST val;
+ regcache_cooked_read_unsigned (current_regcache,
+ fdpic_loadmap_exec_regnum, &val);
+ *exec_addr = val;
+ }
+ return 0;
+ }
+}
/* Allocate a new variant structure, and set up default values for all
the fields. */
@@ -160,6 +162,7 @@ new_variant (void)
var = xmalloc (sizeof (*var));
memset (var, 0, sizeof (*var));
+ var->frv_abi = FRV_ABI_EABI;
var->num_gprs = 64;
var->num_fprs = 64;
var->num_hw_watchpoints = 0;
@@ -238,6 +241,22 @@ set_variant_num_fprs (struct gdbarch_tdep *var, int num_fprs)
}
}
+static void
+set_variant_abi_fdpic (struct gdbarch_tdep *var)
+{
+ var->frv_abi = FRV_ABI_FDPIC;
+ var->register_names[fdpic_loadmap_exec_regnum] = xstrdup ("loadmap_exec");
+ var->register_names[fdpic_loadmap_interp_regnum] = xstrdup ("loadmap_interp");
+}
+
+static void
+set_variant_scratch_registers (struct gdbarch_tdep *var)
+{
+ var->register_names[scr0_regnum] = xstrdup ("scr0");
+ var->register_names[scr1_regnum] = xstrdup ("scr1");
+ var->register_names[scr2_regnum] = xstrdup ("scr2");
+ var->register_names[scr3_regnum] = xstrdup ("scr3");
+}
static const char *
frv_register_name (int reg)
@@ -506,7 +525,13 @@ frv_analyze_prologue (CORE_ADDR pc, struct frame_info *next_frame,
/* Scan the prologue. */
while (pc < lim_pc)
{
- LONGEST op = read_memory_integer (pc, 4);
+ char buf[frv_instr_size];
+ LONGEST op;
+
+ if (target_read_memory (pc, buf, sizeof buf) != 0)
+ break;
+ op = extract_signed_integer (buf, sizeof buf);
+
next_pc = pc + 4;
/* The tests in this chain of ifs should be in order of
@@ -916,7 +941,6 @@ frv_frame_unwind_cache (struct frame_info *next_frame,
{
struct gdbarch *gdbarch = get_frame_arch (next_frame);
CORE_ADDR pc;
- ULONGEST prev_sp;
ULONGEST this_base;
struct frv_unwind_cache *info;
@@ -985,6 +1009,45 @@ frv_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
}
static CORE_ADDR
+find_func_descr (struct gdbarch *gdbarch, CORE_ADDR entry_point)
+{
+ CORE_ADDR descr;
+ char valbuf[4];
+
+ descr = frv_fdpic_find_canonical_descriptor (entry_point);
+
+ if (descr != 0)
+ return descr;
+
+ /* Construct a non-canonical descriptor from space allocated on
+ the stack. */
+
+ descr = value_as_long (value_allocate_space_in_inferior (8));
+ store_unsigned_integer (valbuf, 4, entry_point);
+ write_memory (descr, valbuf, 4);
+ store_unsigned_integer (valbuf, 4,
+ frv_fdpic_find_global_pointer (entry_point));
+ write_memory (descr + 4, valbuf, 4);
+ return descr;
+}
+
+static CORE_ADDR
+frv_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr,
+ struct target_ops *targ)
+{
+ CORE_ADDR entry_point;
+ CORE_ADDR got_address;
+
+ entry_point = get_target_memory_unsigned (targ, addr, 4);
+ got_address = get_target_memory_unsigned (targ, addr + 4, 4);
+
+ if (got_address == frv_fdpic_find_global_pointer (entry_point))
+ return entry_point;
+ else
+ return addr;
+}
+
+static CORE_ADDR
frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
struct regcache *regcache, CORE_ADDR bp_addr,
int nargs, struct value **args, CORE_ADDR sp,
@@ -1001,6 +1064,7 @@ frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
CORE_ADDR regval;
int stack_space;
int stack_offset;
+ enum frv_abi abi = frv_abi (gdbarch);
#if 0
printf("Push %d args at sp = %x, struct_return=%d (%x)\n",
@@ -1040,6 +1104,22 @@ frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
len = 4;
val = valbuf;
}
+ else if (abi == FRV_ABI_FDPIC
+ && len == 4
+ && typecode == TYPE_CODE_PTR
+ && TYPE_CODE (TYPE_TARGET_TYPE (arg_type)) == TYPE_CODE_FUNC)
+ {
+ /* The FDPIC ABI requires function descriptors to be passed instead
+ of entry points. */
+ store_unsigned_integer
+ (valbuf, 4,
+ find_func_descr (gdbarch,
+ extract_unsigned_integer (VALUE_CONTENTS (arg),
+ 4)));
+ typecode = TYPE_CODE_PTR;
+ len = 4;
+ val = valbuf;
+ }
else
{
val = (char *) VALUE_CONTENTS (arg);
@@ -1077,6 +1157,14 @@ frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
always at BP_ADDR. */
regcache_cooked_write_unsigned (regcache, lr_regnum, bp_addr);
+ if (abi == FRV_ABI_FDPIC)
+ {
+ /* Set the GOT register for the FDPIC ABI. */
+ regcache_cooked_write_unsigned
+ (regcache, first_gpr_regnum + 15,
+ frv_fdpic_find_global_pointer (func_addr));
+ }
+
/* Finally, update the SP register. */
regcache_cooked_write_unsigned (regcache, sp_regnum, sp);
@@ -1270,12 +1358,108 @@ frv_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
frame_pc_unwind (next_frame));
}
+/* Signal trampolines. */
+
+static struct frv_unwind_cache *
+frv_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
+{
+ struct frv_unwind_cache *cache;
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ CORE_ADDR addr;
+ char buf[4];
+ int regno;
+ CORE_ADDR sc_addr_cache_val = 0;
+
+ if (*this_cache)
+ return *this_cache;
+
+ cache = FRAME_OBSTACK_ZALLOC (struct frv_unwind_cache);
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ frame_unwind_register (next_frame, sp_regnum, buf);
+ cache->base = extract_unsigned_integer (buf, sizeof buf);
+
+ for (regno = 0; regno < frv_num_regs; regno++)
+ {
+ cache->saved_regs[regno].addr
+ = tdep->sigcontext_reg_addr (next_frame, regno, &sc_addr_cache_val);
+ }
+
+
+ if (cache->saved_regs[sp_regnum].addr != -1
+ && target_read_memory (cache->saved_regs[sp_regnum].addr,
+ buf, sizeof buf) == 0)
+ {
+ cache->prev_sp = extract_unsigned_integer (buf, sizeof buf);
+
+ /* Now that we've bothered to read it out of memory, save the
+ prev frame's SP value in the cache. */
+ trad_frame_set_value (cache->saved_regs, sp_regnum, cache->prev_sp);
+ }
+ else
+ {
+ warning ("Can't read SP value from sigtramp frame");
+ }
+
+ *this_cache = cache;
+ return cache;
+}
+
+static void
+frv_sigtramp_frame_this_id (struct frame_info *next_frame, void **this_cache,
+ struct frame_id *this_id)
+{
+ struct frv_unwind_cache *cache =
+ frv_sigtramp_frame_cache (next_frame, this_cache);
+
+ (*this_id) = frame_id_build (cache->base, frame_pc_unwind (next_frame));
+}
+
+static void
+frv_sigtramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ /* Make sure we've initialized the cache. */
+ frv_sigtramp_frame_cache (next_frame, this_cache);
+
+ frv_frame_prev_register (next_frame, this_cache, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind frv_sigtramp_frame_unwind =
+{
+ SIGTRAMP_FRAME,
+ frv_sigtramp_frame_this_id,
+ frv_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+frv_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ char *name;
+
+ /* We shouldn't even bother to try if the OSABI didn't register
+ a sigcontext_reg_addr handler. */
+ if (!gdbarch_tdep (current_gdbarch)->sigcontext_reg_addr)
+ return NULL;
+
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
+ return &frv_sigtramp_frame_unwind;
+
+ return NULL;
+}
static struct gdbarch *
frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
struct gdbarch *gdbarch;
struct gdbarch_tdep *var;
+ int elf_flags = 0;
/* Check to see if we've already built an appropriate architecture
object for this executable. */
@@ -1297,6 +1481,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
case bfd_mach_fr400:
+ case bfd_mach_fr450:
set_variant_num_gprs (var, 32);
set_variant_num_fprs (var, 32);
break;
@@ -1305,7 +1490,17 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Never heard of this variant. */
return 0;
}
-
+
+ /* Extract the ELF flags, if available. */
+ if (info.abfd && bfd_get_flavour (info.abfd) == bfd_target_elf_flavour)
+ elf_flags = elf_elfheader (info.abfd)->e_flags;
+
+ if (elf_flags & EF_FRV_FDPIC)
+ set_variant_abi_fdpic (var);
+
+ if (elf_flags & EF_FRV_CPU_FR450)
+ set_variant_scratch_registers (var);
+
gdbarch = gdbarch_alloc (&info, var);
set_gdbarch_short_bit (gdbarch, 16);
@@ -1348,8 +1543,9 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_unwind_pc (gdbarch, frv_unwind_pc);
set_gdbarch_unwind_sp (gdbarch, frv_unwind_sp);
set_gdbarch_frame_align (gdbarch, frv_frame_align);
- frame_unwind_append_sniffer (gdbarch, frv_frame_sniffer);
frame_base_set_default (gdbarch, &frv_frame_base);
+ /* We set the sniffer lower down after the OSABI hooks have been
+ established. */
/* Settings for calling functions in the inferior. */
set_gdbarch_push_dummy_call (gdbarch, frv_push_dummy_call);
@@ -1376,6 +1572,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
case bfd_mach_fr400:
+ case bfd_mach_fr450:
/* fr400-style hardware debugging support. */
var->num_hw_watchpoints = 2;
var->num_hw_breakpoints = 4;
@@ -1389,6 +1586,18 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
}
set_gdbarch_print_insn (gdbarch, print_insn_frv);
+ if (frv_abi (gdbarch) == FRV_ABI_FDPIC)
+ set_gdbarch_convert_from_func_ptr_addr (gdbarch,
+ frv_convert_from_func_ptr_addr);
+
+ /* Hook in ABI-specific overrides, if they have been registered. */
+ gdbarch_init_osabi (info, gdbarch);
+
+ /* Set the sigtramp frame sniffer. */
+ frame_unwind_append_sniffer (gdbarch, frv_sigtramp_frame_sniffer);
+
+ /* Set the fallback (prologue based) frame sniffer. */
+ frame_unwind_append_sniffer (gdbarch, frv_frame_sniffer);
return gdbarch;
}
diff --git a/gdb/frv-tdep.h b/gdb/frv-tdep.h
new file mode 100644
index 00000000000..5b9b88b93a5
--- /dev/null
+++ b/gdb/frv-tdep.h
@@ -0,0 +1,105 @@
+/* Architecture-dependent code for the Fujitsu FR-V, for GDB, the GNU Debugger.
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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. */
+
+/* Enumerate the possible ABIs for FR-V. */
+enum frv_abi
+ {
+ FRV_ABI_EABI,
+ FRV_ABI_FDPIC
+ };
+
+/* Register numbers. The order in which these appear define the
+ remote protocol, so take care in changing them. */
+enum {
+ /* Register numbers 0 -- 63 are always reserved for general-purpose
+ registers. The chip at hand may have less. */
+ first_gpr_regnum = 0,
+ sp_regnum = 1,
+ fp_regnum = 2,
+ struct_return_regnum = 3,
+ last_gpr_regnum = 63,
+
+ /* Register numbers 64 -- 127 are always reserved for floating-point
+ registers. The chip at hand may have less. */
+ first_fpr_regnum = 64,
+ last_fpr_regnum = 127,
+
+ /* The PC register. */
+ pc_regnum = 128,
+
+ /* Register numbers 129 on up are always reserved for special-purpose
+ registers. */
+ first_spr_regnum = 129,
+ psr_regnum = 129,
+ ccr_regnum = 130,
+ cccr_regnum = 131,
+ fdpic_loadmap_exec_regnum = 132,
+ fdpic_loadmap_interp_regnum = 133,
+ tbr_regnum = 135,
+ brr_regnum = 136,
+ dbar0_regnum = 137,
+ dbar1_regnum = 138,
+ dbar2_regnum = 139,
+ dbar3_regnum = 140,
+ scr0_regnum = 141,
+ scr1_regnum = 142,
+ scr2_regnum = 143,
+ scr3_regnum = 144,
+ lr_regnum = 145,
+ lcr_regnum = 146,
+ iacc0h_regnum = 147,
+ iacc0l_regnum = 148,
+ last_spr_regnum = 148,
+
+ /* The total number of registers we know exist. */
+ frv_num_regs = last_spr_regnum + 1,
+
+ /* Pseudo registers */
+ first_pseudo_regnum = frv_num_regs,
+
+ /* iacc0 - the 64-bit concatenation of iacc0h and iacc0l. */
+ iacc0_regnum = first_pseudo_regnum + 0,
+
+ last_pseudo_regnum = iacc0_regnum,
+ frv_num_pseudo_regs = last_pseudo_regnum - first_pseudo_regnum + 1,
+};
+
+/* Return the FR-V ABI associated with GDBARCH. */
+enum frv_abi frv_abi (struct gdbarch *gdbarch);
+
+/* Associate a sigcontext address fetcher with GDBARCH. */
+void frv_set_sigcontext_reg_addr (struct gdbarch *gdbarch,
+ CORE_ADDR (*sigcontext_reg_addr)
+ (struct frame_info *, int, CORE_ADDR *));
+
+/* Fetch the interpreter and executable loadmap addresses (for shared
+ library support) for the FDPIC ABI. Return 0 if successful, -1 if
+ not. (E.g, -1 will be returned if the ABI isn't the FDPIC ABI.) */
+int frv_fdpic_loadmap_addresses (struct gdbarch *gdbarch,
+ CORE_ADDR *interp_addr, CORE_ADDR *exec_addr);
+
+/* Given a function entry point, find and return the GOT address for the
+ containing load module. */
+CORE_ADDR frv_fdpic_find_global_pointer (CORE_ADDR addr);
+
+/* Given a function entry point, find and return the canonical descriptor
+ for that function, if one exists. If no canonical descriptor could
+ be found, return 0. */
+CORE_ADDR frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point);
diff --git a/gdb/gdb_obstack.h b/gdb/gdb_obstack.h
index 0dcfc4ff780..253fd199b0d 100644
--- a/gdb/gdb_obstack.h
+++ b/gdb/gdb_obstack.h
@@ -24,6 +24,12 @@
#include "obstack.h"
+/* Utility macros - wrap obstack alloc into something more robust. */
+
+#define OBSTACK_ZALLOC(OBSTACK,TYPE) (memset (obstack_alloc ((OBSTACK), sizeof (TYPE)), 0, sizeof (TYPE)))
+
+#define OBSTACK_CALLOC(OBSTACK,NUMBER,TYPE) (memset (obstack_alloc ((OBSTACK), (NUMBER) * sizeof (TYPE)), 0, (NUMBER) * sizeof (TYPE)))
+
/* Unless explicitly specified, GDB obstacks always use xmalloc() and
xfree(). */
/* Note: ezannoni 2004-02-09: One could also specify the allocation
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 1ee401f7d81..d6246af2a80 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -245,9 +245,9 @@ struct gdbarch
gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline;
gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
- gdbarch_pc_in_sigtramp_ftype *pc_in_sigtramp;
- gdbarch_sigtramp_start_ftype *sigtramp_start;
- gdbarch_sigtramp_end_ftype *sigtramp_end;
+ gdbarch_deprecated_pc_in_sigtramp_ftype *deprecated_pc_in_sigtramp;
+ gdbarch_deprecated_sigtramp_start_ftype *deprecated_sigtramp_start;
+ gdbarch_deprecated_sigtramp_end_ftype *deprecated_sigtramp_end;
gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
@@ -347,7 +347,7 @@ struct gdbarch startup_gdbarch =
0, /* cannot_fetch_register */
0, /* cannot_store_register */
0, /* get_longjmp_target */
- generic_pc_in_call_dummy, /* deprecated_pc_in_call_dummy */
+ deprecated_pc_in_call_dummy, /* deprecated_pc_in_call_dummy */
0, /* deprecated_init_frame_pc_first */
0, /* deprecated_init_frame_pc */
0, /* believe_pcc_promotion */
@@ -412,9 +412,9 @@ struct gdbarch startup_gdbarch =
generic_skip_solib_resolver, /* skip_solib_resolver */
0, /* in_solib_call_trampoline */
0, /* in_solib_return_trampoline */
- 0, /* pc_in_sigtramp */
- 0, /* sigtramp_start */
- 0, /* sigtramp_end */
+ 0, /* deprecated_pc_in_sigtramp */
+ 0, /* deprecated_sigtramp_start */
+ 0, /* deprecated_sigtramp_end */
generic_in_function_epilogue_p, /* in_function_epilogue_p */
construct_inferior_arguments, /* construct_inferior_arguments */
0, /* elf_make_msymbol_special */
@@ -499,7 +499,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
current_gdbarch->register_sim_regno = legacy_register_sim_regno;
current_gdbarch->cannot_fetch_register = cannot_register_not;
current_gdbarch->cannot_store_register = cannot_register_not;
- current_gdbarch->deprecated_pc_in_call_dummy = generic_pc_in_call_dummy;
+ current_gdbarch->deprecated_pc_in_call_dummy = deprecated_pc_in_call_dummy;
current_gdbarch->convert_register_p = legacy_convert_register_p;
current_gdbarch->register_to_value = legacy_register_to_value;
current_gdbarch->value_to_register = legacy_value_to_register;
@@ -522,7 +522,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
current_gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
- current_gdbarch->pc_in_sigtramp = legacy_pc_in_sigtramp;
+ current_gdbarch->deprecated_pc_in_sigtramp = legacy_pc_in_sigtramp;
current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
current_gdbarch->construct_inferior_arguments = construct_inferior_arguments;
current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
@@ -720,9 +720,9 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
/* Skip verify of skip_solib_resolver, invalid_p == 0 */
/* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
/* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
- /* Skip verify of pc_in_sigtramp, invalid_p == 0 */
- /* Skip verify of sigtramp_start, has predicate */
- /* Skip verify of sigtramp_end, has predicate */
+ /* Skip verify of deprecated_pc_in_sigtramp, has predicate */
+ /* Skip verify of deprecated_sigtramp_start, has predicate */
+ /* Skip verify of deprecated_sigtramp_end, has predicate */
/* Skip verify of in_function_epilogue_p, invalid_p == 0 */
/* Skip verify of construct_inferior_arguments, invalid_p == 0 */
/* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
@@ -1340,6 +1340,25 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
(long) current_gdbarch->deprecated_pc_in_call_dummy
/*DEPRECATED_PC_IN_CALL_DUMMY ()*/);
#endif
+#ifdef DEPRECATED_PC_IN_SIGTRAMP_P
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_PC_IN_SIGTRAMP_P()",
+ XSTRING (DEPRECATED_PC_IN_SIGTRAMP_P ()));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_PC_IN_SIGTRAMP_P() = %d\n",
+ DEPRECATED_PC_IN_SIGTRAMP_P ());
+#endif
+#ifdef DEPRECATED_PC_IN_SIGTRAMP
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_PC_IN_SIGTRAMP(pc, name)",
+ XSTRING (DEPRECATED_PC_IN_SIGTRAMP (pc, name)));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_PC_IN_SIGTRAMP = <0x%08lx>\n",
+ (long) current_gdbarch->deprecated_pc_in_sigtramp
+ /*DEPRECATED_PC_IN_SIGTRAMP ()*/);
+#endif
#ifdef DEPRECATED_POP_FRAME_P
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
@@ -1604,6 +1623,44 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
(long) current_gdbarch->deprecated_save_dummy_frame_tos
/*DEPRECATED_SAVE_DUMMY_FRAME_TOS ()*/);
#endif
+#ifdef DEPRECATED_SIGTRAMP_END_P
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_SIGTRAMP_END_P()",
+ XSTRING (DEPRECATED_SIGTRAMP_END_P ()));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_SIGTRAMP_END_P() = %d\n",
+ DEPRECATED_SIGTRAMP_END_P ());
+#endif
+#ifdef DEPRECATED_SIGTRAMP_END
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_SIGTRAMP_END(pc)",
+ XSTRING (DEPRECATED_SIGTRAMP_END (pc)));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_SIGTRAMP_END = <0x%08lx>\n",
+ (long) current_gdbarch->deprecated_sigtramp_end
+ /*DEPRECATED_SIGTRAMP_END ()*/);
+#endif
+#ifdef DEPRECATED_SIGTRAMP_START_P
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_SIGTRAMP_START_P()",
+ XSTRING (DEPRECATED_SIGTRAMP_START_P ()));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_SIGTRAMP_START_P() = %d\n",
+ DEPRECATED_SIGTRAMP_START_P ());
+#endif
+#ifdef DEPRECATED_SIGTRAMP_START
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "DEPRECATED_SIGTRAMP_START(pc)",
+ XSTRING (DEPRECATED_SIGTRAMP_START (pc)));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: DEPRECATED_SIGTRAMP_START = <0x%08lx>\n",
+ (long) current_gdbarch->deprecated_sigtramp_start
+ /*DEPRECATED_SIGTRAMP_START ()*/);
+#endif
#ifdef DEPRECATED_SIZEOF_CALL_DUMMY_WORDS
fprintf_unfiltered (file,
"gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # %s\n",
@@ -1935,16 +1992,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
"gdbarch_dump: PARM_BOUNDARY = %d\n",
PARM_BOUNDARY);
#endif
-#ifdef PC_IN_SIGTRAMP
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "PC_IN_SIGTRAMP(pc, name)",
- XSTRING (PC_IN_SIGTRAMP (pc, name)));
- fprintf_unfiltered (file,
- "gdbarch_dump: PC_IN_SIGTRAMP = <0x%08lx>\n",
- (long) current_gdbarch->pc_in_sigtramp
- /*PC_IN_SIGTRAMP ()*/);
-#endif
#ifdef PC_REGNUM
fprintf_unfiltered (file,
"gdbarch_dump: PC_REGNUM # %s\n",
@@ -2076,44 +2123,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
(long) current_gdbarch->sdb_reg_to_regnum
/*SDB_REG_TO_REGNUM ()*/);
#endif
-#ifdef SIGTRAMP_END_P
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SIGTRAMP_END_P()",
- XSTRING (SIGTRAMP_END_P ()));
- fprintf_unfiltered (file,
- "gdbarch_dump: SIGTRAMP_END_P() = %d\n",
- SIGTRAMP_END_P ());
-#endif
-#ifdef SIGTRAMP_END
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SIGTRAMP_END(pc)",
- XSTRING (SIGTRAMP_END (pc)));
- fprintf_unfiltered (file,
- "gdbarch_dump: SIGTRAMP_END = <0x%08lx>\n",
- (long) current_gdbarch->sigtramp_end
- /*SIGTRAMP_END ()*/);
-#endif
-#ifdef SIGTRAMP_START_P
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SIGTRAMP_START_P()",
- XSTRING (SIGTRAMP_START_P ()));
- fprintf_unfiltered (file,
- "gdbarch_dump: SIGTRAMP_START_P() = %d\n",
- SIGTRAMP_START_P ());
-#endif
-#ifdef SIGTRAMP_START
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SIGTRAMP_START(pc)",
- XSTRING (SIGTRAMP_START (pc)));
- fprintf_unfiltered (file,
- "gdbarch_dump: SIGTRAMP_START = <0x%08lx>\n",
- (long) current_gdbarch->sigtramp_start
- /*SIGTRAMP_START ()*/);
-#endif
#ifdef SKIP_PROLOGUE
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
@@ -3767,7 +3776,7 @@ int
gdbarch_deprecated_pc_in_call_dummy_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- return gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy;
+ return gdbarch->deprecated_pc_in_call_dummy != deprecated_pc_in_call_dummy;
}
int
@@ -3775,7 +3784,7 @@ gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc, CORE
{
gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->deprecated_pc_in_call_dummy != NULL);
- /* Do not check predicate: gdbarch->deprecated_pc_in_call_dummy != generic_pc_in_call_dummy, allow call. */
+ /* Do not check predicate: gdbarch->deprecated_pc_in_call_dummy != deprecated_pc_in_call_dummy, allow call. */
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_call_dummy called\n");
return gdbarch->deprecated_pc_in_call_dummy (pc, sp, frame_address);
@@ -5054,68 +5063,76 @@ set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
}
int
-gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
+gdbarch_deprecated_pc_in_sigtramp_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->pc_in_sigtramp != NULL);
+ return gdbarch->deprecated_pc_in_sigtramp != legacy_pc_in_sigtramp;
+}
+
+int
+gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->deprecated_pc_in_sigtramp != NULL);
+ /* Do not check predicate: gdbarch->deprecated_pc_in_sigtramp != legacy_pc_in_sigtramp, allow call. */
if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_in_sigtramp called\n");
- return gdbarch->pc_in_sigtramp (pc, name);
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_sigtramp called\n");
+ return gdbarch->deprecated_pc_in_sigtramp (pc, name);
}
void
-set_gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch,
- gdbarch_pc_in_sigtramp_ftype pc_in_sigtramp)
+set_gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch,
+ gdbarch_deprecated_pc_in_sigtramp_ftype deprecated_pc_in_sigtramp)
{
- gdbarch->pc_in_sigtramp = pc_in_sigtramp;
+ gdbarch->deprecated_pc_in_sigtramp = deprecated_pc_in_sigtramp;
}
int
-gdbarch_sigtramp_start_p (struct gdbarch *gdbarch)
+gdbarch_deprecated_sigtramp_start_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- return gdbarch->sigtramp_start != NULL;
+ return gdbarch->deprecated_sigtramp_start != NULL;
}
CORE_ADDR
-gdbarch_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc)
+gdbarch_deprecated_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc)
{
gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->sigtramp_start != NULL);
+ gdb_assert (gdbarch->deprecated_sigtramp_start != NULL);
if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_start called\n");
- return gdbarch->sigtramp_start (pc);
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_sigtramp_start called\n");
+ return gdbarch->deprecated_sigtramp_start (pc);
}
void
-set_gdbarch_sigtramp_start (struct gdbarch *gdbarch,
- gdbarch_sigtramp_start_ftype sigtramp_start)
+set_gdbarch_deprecated_sigtramp_start (struct gdbarch *gdbarch,
+ gdbarch_deprecated_sigtramp_start_ftype deprecated_sigtramp_start)
{
- gdbarch->sigtramp_start = sigtramp_start;
+ gdbarch->deprecated_sigtramp_start = deprecated_sigtramp_start;
}
int
-gdbarch_sigtramp_end_p (struct gdbarch *gdbarch)
+gdbarch_deprecated_sigtramp_end_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- return gdbarch->sigtramp_end != NULL;
+ return gdbarch->deprecated_sigtramp_end != NULL;
}
CORE_ADDR
-gdbarch_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc)
+gdbarch_deprecated_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc)
{
gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->sigtramp_end != NULL);
+ gdb_assert (gdbarch->deprecated_sigtramp_end != NULL);
if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_sigtramp_end called\n");
- return gdbarch->sigtramp_end (pc);
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_sigtramp_end called\n");
+ return gdbarch->deprecated_sigtramp_end (pc);
}
void
-set_gdbarch_sigtramp_end (struct gdbarch *gdbarch,
- gdbarch_sigtramp_end_ftype sigtramp_end)
+set_gdbarch_deprecated_sigtramp_end (struct gdbarch *gdbarch,
+ gdbarch_deprecated_sigtramp_end_ftype deprecated_sigtramp_end)
{
- gdbarch->sigtramp_end = sigtramp_end;
+ gdbarch->deprecated_sigtramp_end = deprecated_sigtramp_end;
}
int
@@ -5382,7 +5399,8 @@ struct gdbarch_data
{
unsigned index;
int init_p;
- gdbarch_data_init_ftype *init;
+ gdbarch_data_pre_init_ftype *pre_init;
+ gdbarch_data_post_init_ftype *post_init;
};
struct gdbarch_data_registration
@@ -5402,8 +5420,9 @@ struct gdbarch_data_registry gdbarch_data_registry =
0, NULL,
};
-struct gdbarch_data *
-register_gdbarch_data (gdbarch_data_init_ftype *init)
+static struct gdbarch_data *
+gdbarch_data_register (gdbarch_data_pre_init_ftype *pre_init,
+ gdbarch_data_post_init_ftype *post_init)
{
struct gdbarch_data_registration **curr;
/* Append the new registraration. */
@@ -5414,11 +5433,23 @@ register_gdbarch_data (gdbarch_data_init_ftype *init)
(*curr)->next = NULL;
(*curr)->data = XMALLOC (struct gdbarch_data);
(*curr)->data->index = gdbarch_data_registry.nr++;
- (*curr)->data->init = init;
+ (*curr)->data->pre_init = pre_init;
+ (*curr)->data->post_init = post_init;
(*curr)->data->init_p = 1;
return (*curr)->data;
}
+struct gdbarch_data *
+gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *pre_init)
+{
+ return gdbarch_data_register (pre_init, NULL);
+}
+
+struct gdbarch_data *
+gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *post_init)
+{
+ return gdbarch_data_register (NULL, post_init);
+}
/* Create/delete the gdbarch data vector. */
@@ -5434,12 +5465,13 @@ alloc_gdbarch_data (struct gdbarch *gdbarch)
data-pointer. */
void
-set_gdbarch_data (struct gdbarch *gdbarch,
- struct gdbarch_data *data,
- void *pointer)
+deprecated_set_gdbarch_data (struct gdbarch *gdbarch,
+ struct gdbarch_data *data,
+ void *pointer)
{
gdb_assert (data->index < gdbarch->nr_data);
gdb_assert (gdbarch->data[data->index] == NULL);
+ gdb_assert (data->pre_init == NULL);
gdbarch->data[data->index] = pointer;
}
@@ -5450,18 +5482,33 @@ void *
gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
{
gdb_assert (data->index < gdbarch->nr_data);
- /* The data-pointer isn't initialized, call init() to get a value but
- only if the architecture initializaiton has completed. Otherwise
- punt - hope that the caller knows what they are doing. */
- if (gdbarch->data[data->index] == NULL
- && gdbarch->initialized_p)
+ if (gdbarch->data[data->index] == NULL)
{
- /* Be careful to detect an initialization cycle. */
- gdb_assert (data->init_p);
- data->init_p = 0;
- gdb_assert (data->init != NULL);
- gdbarch->data[data->index] = data->init (gdbarch);
- data->init_p = 1;
+ /* The data-pointer isn't initialized, call init() to get a
+ value. */
+ if (data->pre_init != NULL)
+ /* Mid architecture creation: pass just the obstack, and not
+ the entire architecture, as that way it isn't possible for
+ pre-init code to refer to undefined architecture
+ fields. */
+ gdbarch->data[data->index] = data->pre_init (gdbarch->obstack);
+ else if (gdbarch->initialized_p
+ && data->post_init != NULL)
+ /* Post architecture creation: pass the entire architecture
+ (as all fields are valid), but be careful to also detect
+ recursive references. */
+ {
+ gdb_assert (data->init_p);
+ data->init_p = 0;
+ gdbarch->data[data->index] = data->post_init (gdbarch);
+ data->init_p = 1;
+ }
+ else
+ /* The architecture initialization hasn't completed - punt -
+ hope that the caller knows what they are doing. Once
+ deprecated_set_gdbarch_data has been initialized, this can be
+ changed to an internal error. */
+ return NULL;
gdb_assert (gdbarch->data[data->index] != NULL);
}
return gdbarch->data[data->index];
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 3f01249ad3d..8585b701a4a 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -48,6 +48,7 @@ struct reggroup;
struct regset;
struct disassemble_info;
struct target_ops;
+struct obstack;
extern struct gdbarch *current_gdbarch;
@@ -2108,85 +2109,83 @@ extern void set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, gdb
#define IN_SOLIB_RETURN_TRAMPOLINE(pc, name) (gdbarch_in_solib_return_trampoline (current_gdbarch, pc, name))
#endif
-/* Sigtramp is a routine that the kernel calls (which then calls the
- signal handler). On most machines it is a library routine that is
- linked into the executable.
-
- This macro, given a program counter value and the name of the
- function in which that PC resides (which can be null if the name is
- not known), returns nonzero if the PC and name show that we are in
- sigtramp.
-
- On most machines just see if the name is sigtramp (and if we have
- no name, assume we are not in sigtramp).
-
- FIXME: cagney/2002-04-21: The function find_pc_partial_function
- calls find_pc_sect_partial_function() which calls PC_IN_SIGTRAMP.
- This means PC_IN_SIGTRAMP function can't be implemented by doing its
- own local NAME lookup.
-
- FIXME: cagney/2002-04-21: PC_IN_SIGTRAMP is something of a mess.
- Some code also depends on SIGTRAMP_START and SIGTRAMP_END but other
- does not. */
+/* NOTE: cagney/2004-03-23: DEPRECATED_SIGTRAMP_START,
+ DEPRECATED_SIGTRAMP_END, and DEPRECATED_PC_IN_SIGTRAMP have all been
+ superseeded by signal trampoline frame sniffers. */
-typedef int (gdbarch_pc_in_sigtramp_ftype) (CORE_ADDR pc, char *name);
-extern int gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name);
-extern void set_gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, gdbarch_pc_in_sigtramp_ftype *pc_in_sigtramp);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (PC_IN_SIGTRAMP)
-#error "Non multi-arch definition of PC_IN_SIGTRAMP"
+#if defined (DEPRECATED_PC_IN_SIGTRAMP)
+/* Legacy for systems yet to multi-arch DEPRECATED_PC_IN_SIGTRAMP */
+#if !defined (DEPRECATED_PC_IN_SIGTRAMP_P)
+#define DEPRECATED_PC_IN_SIGTRAMP_P() (1)
#endif
-#if !defined (PC_IN_SIGTRAMP)
-#define PC_IN_SIGTRAMP(pc, name) (gdbarch_pc_in_sigtramp (current_gdbarch, pc, name))
#endif
-#if defined (SIGTRAMP_START)
-/* Legacy for systems yet to multi-arch SIGTRAMP_START */
-#if !defined (SIGTRAMP_START_P)
-#define SIGTRAMP_START_P() (1)
+extern int gdbarch_deprecated_pc_in_sigtramp_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_PC_IN_SIGTRAMP_P)
+#error "Non multi-arch definition of DEPRECATED_PC_IN_SIGTRAMP"
#endif
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_PC_IN_SIGTRAMP_P)
+#define DEPRECATED_PC_IN_SIGTRAMP_P() (gdbarch_deprecated_pc_in_sigtramp_p (current_gdbarch))
#endif
-extern int gdbarch_sigtramp_start_p (struct gdbarch *gdbarch);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SIGTRAMP_START_P)
-#error "Non multi-arch definition of SIGTRAMP_START"
+typedef int (gdbarch_deprecated_pc_in_sigtramp_ftype) (CORE_ADDR pc, char *name);
+extern int gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name);
+extern void set_gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch, gdbarch_deprecated_pc_in_sigtramp_ftype *deprecated_pc_in_sigtramp);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_PC_IN_SIGTRAMP)
+#error "Non multi-arch definition of DEPRECATED_PC_IN_SIGTRAMP"
#endif
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (SIGTRAMP_START_P)
-#define SIGTRAMP_START_P() (gdbarch_sigtramp_start_p (current_gdbarch))
+#if !defined (DEPRECATED_PC_IN_SIGTRAMP)
+#define DEPRECATED_PC_IN_SIGTRAMP(pc, name) (gdbarch_deprecated_pc_in_sigtramp (current_gdbarch, pc, name))
#endif
-typedef CORE_ADDR (gdbarch_sigtramp_start_ftype) (CORE_ADDR pc);
-extern CORE_ADDR gdbarch_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc);
-extern void set_gdbarch_sigtramp_start (struct gdbarch *gdbarch, gdbarch_sigtramp_start_ftype *sigtramp_start);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SIGTRAMP_START)
-#error "Non multi-arch definition of SIGTRAMP_START"
+#if defined (DEPRECATED_SIGTRAMP_START)
+/* Legacy for systems yet to multi-arch DEPRECATED_SIGTRAMP_START */
+#if !defined (DEPRECATED_SIGTRAMP_START_P)
+#define DEPRECATED_SIGTRAMP_START_P() (1)
#endif
-#if !defined (SIGTRAMP_START)
-#define SIGTRAMP_START(pc) (gdbarch_sigtramp_start (current_gdbarch, pc))
#endif
-#if defined (SIGTRAMP_END)
-/* Legacy for systems yet to multi-arch SIGTRAMP_END */
-#if !defined (SIGTRAMP_END_P)
-#define SIGTRAMP_END_P() (1)
+extern int gdbarch_deprecated_sigtramp_start_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SIGTRAMP_START_P)
+#error "Non multi-arch definition of DEPRECATED_SIGTRAMP_START"
#endif
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_SIGTRAMP_START_P)
+#define DEPRECATED_SIGTRAMP_START_P() (gdbarch_deprecated_sigtramp_start_p (current_gdbarch))
#endif
-extern int gdbarch_sigtramp_end_p (struct gdbarch *gdbarch);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SIGTRAMP_END_P)
-#error "Non multi-arch definition of SIGTRAMP_END"
+typedef CORE_ADDR (gdbarch_deprecated_sigtramp_start_ftype) (CORE_ADDR pc);
+extern CORE_ADDR gdbarch_deprecated_sigtramp_start (struct gdbarch *gdbarch, CORE_ADDR pc);
+extern void set_gdbarch_deprecated_sigtramp_start (struct gdbarch *gdbarch, gdbarch_deprecated_sigtramp_start_ftype *deprecated_sigtramp_start);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SIGTRAMP_START)
+#error "Non multi-arch definition of DEPRECATED_SIGTRAMP_START"
#endif
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (SIGTRAMP_END_P)
-#define SIGTRAMP_END_P() (gdbarch_sigtramp_end_p (current_gdbarch))
+#if !defined (DEPRECATED_SIGTRAMP_START)
+#define DEPRECATED_SIGTRAMP_START(pc) (gdbarch_deprecated_sigtramp_start (current_gdbarch, pc))
#endif
-typedef CORE_ADDR (gdbarch_sigtramp_end_ftype) (CORE_ADDR pc);
-extern CORE_ADDR gdbarch_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc);
-extern void set_gdbarch_sigtramp_end (struct gdbarch *gdbarch, gdbarch_sigtramp_end_ftype *sigtramp_end);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SIGTRAMP_END)
-#error "Non multi-arch definition of SIGTRAMP_END"
+#if defined (DEPRECATED_SIGTRAMP_END)
+/* Legacy for systems yet to multi-arch DEPRECATED_SIGTRAMP_END */
+#if !defined (DEPRECATED_SIGTRAMP_END_P)
+#define DEPRECATED_SIGTRAMP_END_P() (1)
#endif
-#if !defined (SIGTRAMP_END)
-#define SIGTRAMP_END(pc) (gdbarch_sigtramp_end (current_gdbarch, pc))
+#endif
+
+extern int gdbarch_deprecated_sigtramp_end_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SIGTRAMP_END_P)
+#error "Non multi-arch definition of DEPRECATED_SIGTRAMP_END"
+#endif
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_SIGTRAMP_END_P)
+#define DEPRECATED_SIGTRAMP_END_P() (gdbarch_deprecated_sigtramp_end_p (current_gdbarch))
+#endif
+
+typedef CORE_ADDR (gdbarch_deprecated_sigtramp_end_ftype) (CORE_ADDR pc);
+extern CORE_ADDR gdbarch_deprecated_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc);
+extern void set_gdbarch_deprecated_sigtramp_end (struct gdbarch *gdbarch, gdbarch_deprecated_sigtramp_end_ftype *deprecated_sigtramp_end);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SIGTRAMP_END)
+#error "Non multi-arch definition of DEPRECATED_SIGTRAMP_END"
+#endif
+#if !defined (DEPRECATED_SIGTRAMP_END)
+#define DEPRECATED_SIGTRAMP_END(pc) (gdbarch_deprecated_sigtramp_end (current_gdbarch, pc))
#endif
/* A target might have problems with watchpoints as soon as the stack
@@ -2517,10 +2516,6 @@ extern void deprecated_current_gdbarch_select_hack (struct gdbarch *gdbarch);
for the reserved data-pointer is returned. That identifer should
be saved in a local static variable.
- The per-architecture data-pointer is either initialized explicitly
- (set_gdbarch_data()) or implicitly (by INIT() via a call to
- gdbarch_data()).
-
Memory for the per-architecture data shall be allocated using
gdbarch_obstack_zalloc. That memory will be deleted when the
corresponding architecture object is deleted.
@@ -2534,11 +2529,13 @@ extern void deprecated_current_gdbarch_select_hack (struct gdbarch *gdbarch);
struct gdbarch_data;
-typedef void *(gdbarch_data_init_ftype) (struct gdbarch *gdbarch);
-extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init);
-extern void set_gdbarch_data (struct gdbarch *gdbarch,
- struct gdbarch_data *data,
- void *pointer);
+typedef void *(gdbarch_data_pre_init_ftype) (struct obstack *obstack);
+extern struct gdbarch_data *gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *init);
+typedef void *(gdbarch_data_post_init_ftype) (struct gdbarch *gdbarch);
+extern struct gdbarch_data *gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *init);
+extern void deprecated_set_gdbarch_data (struct gdbarch *gdbarch,
+ struct gdbarch_data *data,
+ void *pointer);
extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *);
@@ -2554,7 +2551,7 @@ extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *);
Memory regions are swapped / initialized in the order that they are
registered. NULL DATA and/or INIT values can be specified.
- New code should use register_gdbarch_data(). */
+ New code should use gdbarch_data_register_*(). */
typedef void (gdbarch_swap_ftype) (void);
extern void deprecated_register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_ftype *init);
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index df3b10265cc..7292a0bb0c5 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -562,7 +562,7 @@ F:2:GET_LONGJMP_TARGET:int:get_longjmp_target:CORE_ADDR *pc:pc
# is false, the corresponding function works. This simplifies the
# migration process - old code, calling DEPRECATED_PC_IN_CALL_DUMMY(),
# doesn't need to be modified.
-F::DEPRECATED_PC_IN_CALL_DUMMY:int:deprecated_pc_in_call_dummy:CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address:pc, sp, frame_address::generic_pc_in_call_dummy:generic_pc_in_call_dummy
+F::DEPRECATED_PC_IN_CALL_DUMMY:int:deprecated_pc_in_call_dummy:CORE_ADDR pc, CORE_ADDR sp, CORE_ADDR frame_address:pc, sp, frame_address::deprecated_pc_in_call_dummy:deprecated_pc_in_call_dummy
F:2:DEPRECATED_INIT_FRAME_PC_FIRST:CORE_ADDR:deprecated_init_frame_pc_first:int fromleaf, struct frame_info *prev:fromleaf, prev
F:2:DEPRECATED_INIT_FRAME_PC:CORE_ADDR:deprecated_init_frame_pc:int fromleaf, struct frame_info *prev:fromleaf, prev
#
@@ -723,29 +723,12 @@ f:2:IN_SOLIB_CALL_TRAMPOLINE:int:in_solib_call_trampoline:CORE_ADDR pc, char *na
# Some systems also have trampoline code for returning from shared libs.
f:2:IN_SOLIB_RETURN_TRAMPOLINE:int:in_solib_return_trampoline:CORE_ADDR pc, char *name:pc, name:::generic_in_solib_return_trampoline::0
-# Sigtramp is a routine that the kernel calls (which then calls the
-# signal handler). On most machines it is a library routine that is
-# linked into the executable.
-#
-# This macro, given a program counter value and the name of the
-# function in which that PC resides (which can be null if the name is
-# not known), returns nonzero if the PC and name show that we are in
-# sigtramp.
-#
-# On most machines just see if the name is sigtramp (and if we have
-# no name, assume we are not in sigtramp).
-#
-# FIXME: cagney/2002-04-21: The function find_pc_partial_function
-# calls find_pc_sect_partial_function() which calls PC_IN_SIGTRAMP.
-# This means PC_IN_SIGTRAMP function can't be implemented by doing its
-# own local NAME lookup.
-#
-# FIXME: cagney/2002-04-21: PC_IN_SIGTRAMP is something of a mess.
-# Some code also depends on SIGTRAMP_START and SIGTRAMP_END but other
-# does not.
-f:2:PC_IN_SIGTRAMP:int:pc_in_sigtramp:CORE_ADDR pc, char *name:pc, name:::legacy_pc_in_sigtramp::0
-F:2:SIGTRAMP_START:CORE_ADDR:sigtramp_start:CORE_ADDR pc:pc
-F:2:SIGTRAMP_END:CORE_ADDR:sigtramp_end:CORE_ADDR pc:pc
+# NOTE: cagney/2004-03-23: DEPRECATED_SIGTRAMP_START,
+# DEPRECATED_SIGTRAMP_END, and DEPRECATED_PC_IN_SIGTRAMP have all been
+# superseeded by signal trampoline frame sniffers.
+F::DEPRECATED_PC_IN_SIGTRAMP:int:deprecated_pc_in_sigtramp:CORE_ADDR pc, char *name:pc, name:::legacy_pc_in_sigtramp
+F:2:DEPRECATED_SIGTRAMP_START:CORE_ADDR:deprecated_sigtramp_start:CORE_ADDR pc:pc
+F:2:DEPRECATED_SIGTRAMP_END:CORE_ADDR:deprecated_sigtramp_end:CORE_ADDR pc:pc
# A target might have problems with watchpoints as soon as the stack
# frame of the current function has been destroyed. This mostly happens
# as the first action in a funtion's epilogue. in_function_epilogue_p()
@@ -890,6 +873,7 @@ struct reggroup;
struct regset;
struct disassemble_info;
struct target_ops;
+struct obstack;
extern struct gdbarch *current_gdbarch;
@@ -1201,10 +1185,6 @@ extern void deprecated_current_gdbarch_select_hack (struct gdbarch *gdbarch);
for the reserved data-pointer is returned. That identifer should
be saved in a local static variable.
- The per-architecture data-pointer is either initialized explicitly
- (set_gdbarch_data()) or implicitly (by INIT() via a call to
- gdbarch_data()).
-
Memory for the per-architecture data shall be allocated using
gdbarch_obstack_zalloc. That memory will be deleted when the
corresponding architecture object is deleted.
@@ -1218,11 +1198,13 @@ extern void deprecated_current_gdbarch_select_hack (struct gdbarch *gdbarch);
struct gdbarch_data;
-typedef void *(gdbarch_data_init_ftype) (struct gdbarch *gdbarch);
-extern struct gdbarch_data *register_gdbarch_data (gdbarch_data_init_ftype *init);
-extern void set_gdbarch_data (struct gdbarch *gdbarch,
- struct gdbarch_data *data,
- void *pointer);
+typedef void *(gdbarch_data_pre_init_ftype) (struct obstack *obstack);
+extern struct gdbarch_data *gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *init);
+typedef void *(gdbarch_data_post_init_ftype) (struct gdbarch *gdbarch);
+extern struct gdbarch_data *gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *init);
+extern void deprecated_set_gdbarch_data (struct gdbarch *gdbarch,
+ struct gdbarch_data *data,
+ void *pointer);
extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *);
@@ -1238,7 +1220,7 @@ extern void *gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *);
Memory regions are swapped / initialized in the order that they are
registered. NULL DATA and/or INIT values can be specified.
- New code should use register_gdbarch_data(). */
+ New code should use gdbarch_data_register_*(). */
typedef void (gdbarch_swap_ftype) (void);
extern void deprecated_register_gdbarch_swap (void *data, unsigned long size, gdbarch_swap_ftype *init);
@@ -1811,7 +1793,8 @@ struct gdbarch_data
{
unsigned index;
int init_p;
- gdbarch_data_init_ftype *init;
+ gdbarch_data_pre_init_ftype *pre_init;
+ gdbarch_data_post_init_ftype *post_init;
};
struct gdbarch_data_registration
@@ -1831,8 +1814,9 @@ struct gdbarch_data_registry gdbarch_data_registry =
0, NULL,
};
-struct gdbarch_data *
-register_gdbarch_data (gdbarch_data_init_ftype *init)
+static struct gdbarch_data *
+gdbarch_data_register (gdbarch_data_pre_init_ftype *pre_init,
+ gdbarch_data_post_init_ftype *post_init)
{
struct gdbarch_data_registration **curr;
/* Append the new registraration. */
@@ -1843,11 +1827,23 @@ register_gdbarch_data (gdbarch_data_init_ftype *init)
(*curr)->next = NULL;
(*curr)->data = XMALLOC (struct gdbarch_data);
(*curr)->data->index = gdbarch_data_registry.nr++;
- (*curr)->data->init = init;
+ (*curr)->data->pre_init = pre_init;
+ (*curr)->data->post_init = post_init;
(*curr)->data->init_p = 1;
return (*curr)->data;
}
+struct gdbarch_data *
+gdbarch_data_register_pre_init (gdbarch_data_pre_init_ftype *pre_init)
+{
+ return gdbarch_data_register (pre_init, NULL);
+}
+
+struct gdbarch_data *
+gdbarch_data_register_post_init (gdbarch_data_post_init_ftype *post_init)
+{
+ return gdbarch_data_register (NULL, post_init);
+}
/* Create/delete the gdbarch data vector. */
@@ -1863,12 +1859,13 @@ alloc_gdbarch_data (struct gdbarch *gdbarch)
data-pointer. */
void
-set_gdbarch_data (struct gdbarch *gdbarch,
- struct gdbarch_data *data,
- void *pointer)
+deprecated_set_gdbarch_data (struct gdbarch *gdbarch,
+ struct gdbarch_data *data,
+ void *pointer)
{
gdb_assert (data->index < gdbarch->nr_data);
gdb_assert (gdbarch->data[data->index] == NULL);
+ gdb_assert (data->pre_init == NULL);
gdbarch->data[data->index] = pointer;
}
@@ -1879,18 +1876,33 @@ void *
gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
{
gdb_assert (data->index < gdbarch->nr_data);
- /* The data-pointer isn't initialized, call init() to get a value but
- only if the architecture initializaiton has completed. Otherwise
- punt - hope that the caller knows what they are doing. */
- if (gdbarch->data[data->index] == NULL
- && gdbarch->initialized_p)
+ if (gdbarch->data[data->index] == NULL)
{
- /* Be careful to detect an initialization cycle. */
- gdb_assert (data->init_p);
- data->init_p = 0;
- gdb_assert (data->init != NULL);
- gdbarch->data[data->index] = data->init (gdbarch);
- data->init_p = 1;
+ /* The data-pointer isn't initialized, call init() to get a
+ value. */
+ if (data->pre_init != NULL)
+ /* Mid architecture creation: pass just the obstack, and not
+ the entire architecture, as that way it isn't possible for
+ pre-init code to refer to undefined architecture
+ fields. */
+ gdbarch->data[data->index] = data->pre_init (gdbarch->obstack);
+ else if (gdbarch->initialized_p
+ && data->post_init != NULL)
+ /* Post architecture creation: pass the entire architecture
+ (as all fields are valid), but be careful to also detect
+ recursive references. */
+ {
+ gdb_assert (data->init_p);
+ data->init_p = 0;
+ gdbarch->data[data->index] = data->post_init (gdbarch);
+ data->init_p = 1;
+ }
+ else
+ /* The architecture initialization hasn't completed - punt -
+ hope that the caller knows what they are doing. Once
+ deprecated_set_gdbarch_data has been initialized, this can be
+ changed to an internal error. */
+ return NULL;
gdb_assert (gdbarch->data[data->index] != NULL);
}
return gdbarch->data[data->index];
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 8baf82e9f6e..3168606c938 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,16 @@
+2004-03-23 Daniel Jacobowitz <drow@mvista.com>
+
+ * linux-low.c (linux_wait): Clear all_processes list also.
+
+2004-03-12 Daniel Jacobowitz <drow@mvista.com>
+
+ * linux-low.c: Include <errno.h>. Remove extern declaration of
+ errno.
+
+2004-03-12 Daniel Jacobowitz <drow@mvista.com>
+
+ * gdbreplay.c, server.h, utils.c: Update copyright years.
+
2004-03-04 Nathan J. Williams <nathanw@wasabisystems.com>
* server.c (main): Print child status or termination signal from
diff --git a/gdb/gdbserver/gdbreplay.c b/gdb/gdbserver/gdbreplay.c
index ec7a2b851fa..7c9064bf2d7 100644
--- a/gdb/gdbserver/gdbreplay.c
+++ b/gdb/gdbserver/gdbreplay.c
@@ -1,5 +1,5 @@
/* Replay a remote debug session logfile for GDB.
- Copyright 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1996, 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
Written by Fred Fish (fnf@cygnus.com) from pieces of gdbserver.
This file is part of GDB.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 69b35c1032b..5733180e997 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -34,6 +34,7 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
+#include <errno.h>
/* ``all_threads'' is keyed by the LWP ID - it should be the thread ID instead,
however. This requires changing the ID in place when we go from !using_threads
@@ -69,8 +70,6 @@ struct pending_signals
static int use_regsets_p = 1;
#endif
-extern int errno;
-
int debug_threads = 0;
#define pid_of(proc) ((proc)->head.id)
@@ -686,13 +685,17 @@ retry:
fprintf (stderr, "\nChild exited with retcode = %x \n", WEXITSTATUS (w));
*status = 'W';
clear_inferiors ();
+ free (all_processes.head);
+ all_processes.head = all_processes.tail = NULL;
return ((unsigned char) WEXITSTATUS (w));
}
else if (!WIFSTOPPED (w))
{
fprintf (stderr, "\nChild terminated with signal = %x \n", WTERMSIG (w));
- clear_inferiors ();
*status = 'X';
+ clear_inferiors ();
+ free (all_processes.head);
+ all_processes.head = all_processes.tail = NULL;
return ((unsigned char) WTERMSIG (w));
}
}
diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
index 4896afb5856..59dbcf97e1c 100644
--- a/gdb/gdbserver/server.h
+++ b/gdb/gdbserver/server.h
@@ -1,5 +1,5 @@
/* Common definitions for remote server for GDB.
- Copyright 1993, 1995, 1997, 1998, 1999, 2000, 2002
+ Copyright 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GDB.
diff --git a/gdb/gdbserver/utils.c b/gdb/gdbserver/utils.c
index 20244d6cf83..44bdccfb160 100644
--- a/gdb/gdbserver/utils.c
+++ b/gdb/gdbserver/utils.c
@@ -1,5 +1,5 @@
/* General utility routines for the remote server for GDB.
- Copyright 1986, 1989, 1993, 1995, 1996, 1997, 1999, 2000, 2002
+ Copyright 1986, 1989, 1993, 1995, 1996, 1997, 1999, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GDB.
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index 0fbdd6eefbf..195af26400b 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -422,7 +422,7 @@ gnuv3_baseclass_offset (struct type *type, int index, char *valaddr,
static void
init_gnuv3_ops (void)
{
- vtable_type_gdbarch_data = register_gdbarch_data (build_gdb_vtable_type);
+ vtable_type_gdbarch_data = gdbarch_data_register_post_init (build_gdb_vtable_type);
gnu_v3_abi_ops.shortname = "gnu-v3";
gnu_v3_abi_ops.longname = "GNU G++ Version 3 ABI";
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index d15c43582be..c6f55f887fd 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -743,7 +743,7 @@ h8300_pop_frame (void)
get_frame_base (frame),
get_frame_base (frame)))
{
- generic_pop_dummy_frame ();
+ deprecated_pop_dummy_frame ();
}
else
{
diff --git a/gdb/hppa-hpux-tdep.c b/gdb/hppa-hpux-tdep.c
index f9757c97699..9be842bf319 100644
--- a/gdb/hppa-hpux-tdep.c
+++ b/gdb/hppa-hpux-tdep.c
@@ -151,7 +151,7 @@ hppa64_hpux_frame_find_saved_regs_in_sigtramp (struct frame_info *fi,
static void
hppa_hpux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- set_gdbarch_pc_in_sigtramp (gdbarch, hppa_hpux_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, hppa_hpux_pc_in_sigtramp);
}
static void
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 549a81127f2..f96a21132d1 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -76,26 +76,12 @@
static const int hppa32_num_regs = 128;
static const int hppa64_num_regs = 96;
-static const int hppa64_call_dummy_breakpoint_offset = 22 * 4;
-
-/* DEPRECATED_CALL_DUMMY_LENGTH is computed based on the size of a
- word on the target machine, not the size of an instruction. Since
- a word on this target holds two instructions we have to divide the
- instruction size by two to get the word size of the dummy. */
-static const int hppa32_call_dummy_length = INSTRUCTION_SIZE * 28;
-static const int hppa64_call_dummy_length = INSTRUCTION_SIZE * 26 / 2;
-
/* Get at various relevent fields of an instruction word. */
#define MASK_5 0x1f
#define MASK_11 0x7ff
#define MASK_14 0x3fff
#define MASK_21 0x1fffff
-/* Define offsets into the call dummy for the target function address.
- See comments related to CALL_DUMMY for more info. */
-#define FUNC_LDIL_OFFSET (INSTRUCTION_SIZE * 9)
-#define FUNC_LDO_OFFSET (INSTRUCTION_SIZE * 10)
-
/* Define offsets into the call dummy for the _sr4export address.
See comments related to CALL_DUMMY for more info. */
#define SR4EXPORT_LDIL_OFFSET (INSTRUCTION_SIZE * 12)
@@ -118,24 +104,12 @@ static unsigned extract_5R_store (unsigned int);
static unsigned extract_5r_store (unsigned int);
-static void hppa_frame_init_saved_regs (struct frame_info *frame);
-
-static void find_dummy_frame_regs (struct frame_info *, CORE_ADDR *);
-
-static int find_proc_framesize (CORE_ADDR);
-
-static int find_return_regnum (CORE_ADDR);
-
struct unwind_table_entry *find_unwind_entry (CORE_ADDR);
static int extract_17 (unsigned int);
-static unsigned deposit_21 (unsigned int, unsigned int);
-
static int extract_21 (unsigned);
-static unsigned deposit_14 (int, unsigned int);
-
static int extract_14 (unsigned);
static void unwind_command (char *, int);
@@ -144,8 +118,6 @@ static int low_sign_extend (unsigned int, unsigned int);
static int sign_extend (unsigned int, unsigned int);
-static int restore_pc_queue (CORE_ADDR *);
-
static int hppa_alignof (struct type *);
static int prologue_inst_adjust_sp (unsigned long);
@@ -156,10 +128,6 @@ static int inst_saves_gr (unsigned long);
static int inst_saves_fr (unsigned long);
-static int pc_in_interrupt_handler (CORE_ADDR);
-
-static int pc_in_linker_stub (CORE_ADDR);
-
static int compare_unwind_entries (const void *, const void *);
static void read_unwind_info (struct objfile *);
@@ -168,11 +136,6 @@ static void internalize_unwinds (struct objfile *,
struct unwind_table_entry *,
asection *, unsigned int,
unsigned int, CORE_ADDR);
-static void pa_print_registers (char *, int, int);
-static void pa_strcat_registers (char *, int, int, struct ui_file *);
-static void pa_register_look_aside (char *, int, long *);
-static void pa_print_fp_reg (int);
-static void pa_strcat_fp_reg (int, struct ui_file *, enum precision_type);
static void record_text_segment_lowaddr (bfd *, asection *, void *);
/* FIXME: brobecker 2002-11-07: We will likely be able to make the
following functions static, once we hppa is partially multiarched. */
@@ -181,39 +144,13 @@ CORE_ADDR hppa_skip_prologue (CORE_ADDR pc);
CORE_ADDR hppa_skip_trampoline_code (CORE_ADDR pc);
int hppa_in_solib_call_trampoline (CORE_ADDR pc, char *name);
int hppa_in_solib_return_trampoline (CORE_ADDR pc, char *name);
-CORE_ADDR hppa_saved_pc_after_call (struct frame_info *frame);
int hppa_inner_than (CORE_ADDR lhs, CORE_ADDR rhs);
-CORE_ADDR hppa64_stack_align (CORE_ADDR sp);
int hppa_pc_requires_run_before_use (CORE_ADDR pc);
int hppa_instruction_nullified (void);
-int hppa_register_raw_size (int reg_nr);
-int hppa_register_byte (int reg_nr);
-struct type * hppa32_register_virtual_type (int reg_nr);
-struct type * hppa64_register_virtual_type (int reg_nr);
-void hppa_store_struct_return (CORE_ADDR addr, CORE_ADDR sp);
-void hppa64_extract_return_value (struct type *type, char *regbuf,
- char *valbuf);
-int hppa64_use_struct_convention (int gcc_p, struct type *type);
-void hppa64_store_return_value (struct type *type, char *valbuf);
int hppa_cannot_store_register (int regnum);
-void hppa_init_extra_frame_info (int fromleaf, struct frame_info *frame);
-CORE_ADDR hppa_frame_chain (struct frame_info *frame);
-int hppa_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe);
-int hppa_frameless_function_invocation (struct frame_info *frame);
-CORE_ADDR hppa_frame_saved_pc (struct frame_info *frame);
-CORE_ADDR hppa_frame_args_address (struct frame_info *fi);
-int hppa_frame_num_args (struct frame_info *frame);
-void hppa_push_dummy_frame (void);
-void hppa_pop_frame (void);
-CORE_ADDR hppa_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun,
- int nargs, struct value **args,
- struct type *type, int gcc_p);
-CORE_ADDR hppa_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr);
CORE_ADDR hppa_smash_text_address (CORE_ADDR addr);
CORE_ADDR hppa_target_read_pc (ptid_t ptid);
void hppa_target_write_pc (CORE_ADDR v, ptid_t ptid);
-CORE_ADDR hppa_target_read_fp (void);
typedef struct
{
@@ -233,15 +170,6 @@ extern int hp_som_som_object_present;
/* In breakpoint.c */
extern int exception_catchpoints_are_fragile;
-/* Should call_function allocate stack space for a struct return? */
-
-int
-hppa64_use_struct_convention (int gcc_p, struct type *type)
-{
- /* RM: struct upto 128 bits are returned in registers */
- return TYPE_LENGTH (type) > 16;
-}
-
/* Handle 32/64-bit struct return conventions. */
static enum return_value_convention
@@ -303,7 +231,8 @@ hppa64_return_value (struct gdbarch *gdbarch,
are in r28, padded on the left. Aggregates less that 65 bits are
in r28, right padded. Aggregates upto 128 bits are in r28 and
r29, right padded. */
- if (TYPE_CODE (type) == TYPE_CODE_FLT)
+ if (TYPE_CODE (type) == TYPE_CODE_FLT
+ && TYPE_LENGTH (type) <= 8)
{
/* Floats are right aligned? */
int offset = register_size (gdbarch, FP4_REGNUM) - TYPE_LENGTH (type);
@@ -333,15 +262,15 @@ hppa64_return_value (struct gdbarch *gdbarch,
int b;
for (b = 0; b < TYPE_LENGTH (type); b += 8)
{
- int part = (TYPE_LENGTH (type) - b - 1) % 8 + 1;
+ int part = min (8, TYPE_LENGTH (type) - b);
if (readbuf != NULL)
- regcache_cooked_read_part (regcache, 28, 0, part,
+ regcache_cooked_read_part (regcache, 28 + b / 8, 0, part,
(char *) readbuf + b);
if (writebuf != NULL)
- regcache_cooked_write_part (regcache, 28, 0, part,
+ regcache_cooked_write_part (regcache, 28 + b / 8, 0, part,
(const char *) writebuf + b);
}
- return RETURN_VALUE_REGISTER_CONVENTION;
+ return RETURN_VALUE_REGISTER_CONVENTION;
}
else
return RETURN_VALUE_STRUCT_CONVENTION;
@@ -408,16 +337,6 @@ extract_14 (unsigned word)
return low_sign_extend (word & MASK_14, 14);
}
-/* deposit a 14 bit constant in a word */
-
-static unsigned
-deposit_14 (int opnd, unsigned word)
-{
- unsigned sign = (opnd < 0 ? 1 : 0);
-
- return word | ((unsigned) opnd << 1 & MASK_14) | sign;
-}
-
/* extract a 21 bit constant */
static int
@@ -439,27 +358,6 @@ extract_21 (unsigned word)
return sign_extend (val, 21) << 11;
}
-/* deposit a 21 bit constant in a word. Although 21 bit constants are
- usually the top 21 bits of a 32 bit constant, we assume that only
- the low 21 bits of opnd are relevant */
-
-static unsigned
-deposit_21 (unsigned opnd, unsigned word)
-{
- unsigned val = 0;
-
- val |= get_field (opnd, 11 + 14, 11 + 18);
- val <<= 2;
- val |= get_field (opnd, 11 + 12, 11 + 13);
- val <<= 2;
- val |= get_field (opnd, 11 + 19, 11 + 20);
- val <<= 11;
- val |= get_field (opnd, 11 + 1, 11 + 11);
- val <<= 1;
- val |= get_field (opnd, 11 + 0, 11 + 0);
- return word | val;
-}
-
/* extract a 17 bit constant from branch instructions, returning the
19 bit signed value. */
@@ -902,1262 +800,6 @@ hpread_adjust_stack_address (CORE_ADDR func_addr)
return u->Total_frame_size << 3;
}
-/* Called to determine if PC is in an interrupt handler of some
- kind. */
-
-static int
-pc_in_interrupt_handler (CORE_ADDR pc)
-{
- struct unwind_table_entry *u;
- struct minimal_symbol *msym_us;
-
- u = find_unwind_entry (pc);
- if (!u)
- return 0;
-
- /* Oh joys. HPUX sets the interrupt bit for _sigreturn even though
- its frame isn't a pure interrupt frame. Deal with this. */
- msym_us = lookup_minimal_symbol_by_pc (pc);
-
- return (u->HP_UX_interrupt_marker
- && !PC_IN_SIGTRAMP (pc, DEPRECATED_SYMBOL_NAME (msym_us)));
-}
-
-/* Called when no unwind descriptor was found for PC. Returns 1 if it
- appears that PC is in a linker stub.
-
- ?!? Need to handle stubs which appear in PA64 code. */
-
-static int
-pc_in_linker_stub (CORE_ADDR pc)
-{
- int found_magic_instruction = 0;
- int i;
- char buf[4];
-
- /* If unable to read memory, assume pc is not in a linker stub. */
- if (target_read_memory (pc, buf, 4) != 0)
- return 0;
-
- /* We are looking for something like
-
- ; $$dyncall jams RP into this special spot in the frame (RP')
- ; before calling the "call stub"
- ldw -18(sp),rp
-
- ldsid (rp),r1 ; Get space associated with RP into r1
- mtsp r1,sp ; Move it into space register 0
- be,n 0(sr0),rp) ; back to your regularly scheduled program */
-
- /* Maximum known linker stub size is 4 instructions. Search forward
- from the given PC, then backward. */
- for (i = 0; i < 4; i++)
- {
- /* If we hit something with an unwind, stop searching this direction. */
-
- if (find_unwind_entry (pc + i * 4) != 0)
- break;
-
- /* Check for ldsid (rp),r1 which is the magic instruction for a
- return from a cross-space function call. */
- if (read_memory_integer (pc + i * 4, 4) == 0x004010a1)
- {
- found_magic_instruction = 1;
- break;
- }
- /* Add code to handle long call/branch and argument relocation stubs
- here. */
- }
-
- if (found_magic_instruction != 0)
- return 1;
-
- /* Now look backward. */
- for (i = 0; i < 4; i++)
- {
- /* If we hit something with an unwind, stop searching this direction. */
-
- if (find_unwind_entry (pc - i * 4) != 0)
- break;
-
- /* Check for ldsid (rp),r1 which is the magic instruction for a
- return from a cross-space function call. */
- if (read_memory_integer (pc - i * 4, 4) == 0x004010a1)
- {
- found_magic_instruction = 1;
- break;
- }
- /* Add code to handle long call/branch and argument relocation stubs
- here. */
- }
- return found_magic_instruction;
-}
-
-static int
-find_return_regnum (CORE_ADDR pc)
-{
- struct unwind_table_entry *u;
-
- u = find_unwind_entry (pc);
-
- if (!u)
- return RP_REGNUM;
-
- if (u->Millicode)
- return 31;
-
- return RP_REGNUM;
-}
-
-/* Return size of frame, or -1 if we should use a frame pointer. */
-static int
-find_proc_framesize (CORE_ADDR pc)
-{
- struct unwind_table_entry *u;
- struct minimal_symbol *msym_us;
-
- /* This may indicate a bug in our callers... */
- if (pc == (CORE_ADDR) 0)
- return -1;
-
- u = find_unwind_entry (pc);
-
- if (!u)
- {
- if (pc_in_linker_stub (pc))
- /* Linker stubs have a zero size frame. */
- return 0;
- else
- return -1;
- }
-
- msym_us = lookup_minimal_symbol_by_pc (pc);
-
- /* If Save_SP is set, and we're not in an interrupt or signal caller,
- then we have a frame pointer. Use it. */
- if (u->Save_SP
- && !pc_in_interrupt_handler (pc)
- && msym_us
- && !PC_IN_SIGTRAMP (pc, DEPRECATED_SYMBOL_NAME (msym_us)))
- return -1;
-
- return u->Total_frame_size << 3;
-}
-
-/* Return offset from sp at which rp is saved, or 0 if not saved. */
-static int rp_saved (CORE_ADDR);
-
-static int
-rp_saved (CORE_ADDR pc)
-{
- struct unwind_table_entry *u;
-
- /* A function at, and thus a return PC from, address 0? Not in HP-UX! */
- if (pc == (CORE_ADDR) 0)
- return 0;
-
- u = find_unwind_entry (pc);
-
- if (!u)
- {
- if (pc_in_linker_stub (pc))
- /* This is the so-called RP'. */
- return -24;
- else
- return 0;
- }
-
- if (u->Save_RP)
- return (TARGET_PTR_BIT == 64 ? -16 : -20);
- else if (u->stub_unwind.stub_type != 0)
- {
- switch (u->stub_unwind.stub_type)
- {
- case EXPORT:
- case IMPORT:
- return -24;
- case PARAMETER_RELOCATION:
- return -8;
- default:
- return 0;
- }
- }
- else
- return 0;
-}
-
-int
-hppa_frameless_function_invocation (struct frame_info *frame)
-{
- struct unwind_table_entry *u;
-
- u = find_unwind_entry (get_frame_pc (frame));
-
- if (u == 0)
- return 0;
-
- return (u->Total_frame_size == 0 && u->stub_unwind.stub_type == 0);
-}
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-
-CORE_ADDR
-hppa_saved_pc_after_call (struct frame_info *frame)
-{
- int ret_regnum;
- CORE_ADDR pc;
- struct unwind_table_entry *u;
-
- ret_regnum = find_return_regnum (get_frame_pc (frame));
- pc = read_register (ret_regnum) & ~0x3;
-
- /* If PC is in a linker stub, then we need to dig the address
- the stub will return to out of the stack. */
- u = find_unwind_entry (pc);
- if (u && u->stub_unwind.stub_type != 0)
- return DEPRECATED_FRAME_SAVED_PC (frame);
- else
- return pc;
-}
-
-CORE_ADDR
-hppa_frame_saved_pc (struct frame_info *frame)
-{
- CORE_ADDR pc = get_frame_pc (frame);
- struct unwind_table_entry *u;
- CORE_ADDR old_pc = 0;
- int spun_around_loop = 0;
- int rp_offset = 0;
-
- /* BSD, HPUX & OSF1 all lay out the hardware state in the same manner
- at the base of the frame in an interrupt handler. Registers within
- are saved in the exact same order as GDB numbers registers. How
- convienent. */
- if (pc_in_interrupt_handler (pc))
- return read_memory_integer (get_frame_base (frame) + PC_REGNUM * 4,
- TARGET_PTR_BIT / 8) & ~0x3;
-
- if ((get_frame_pc (frame) >= get_frame_base (frame)
- && (get_frame_pc (frame)
- <= (get_frame_base (frame)
- /* A call dummy is sized in words, but it is actually a
- series of instructions. Account for that scaling
- factor. */
- + ((DEPRECATED_REGISTER_SIZE / INSTRUCTION_SIZE)
- * DEPRECATED_CALL_DUMMY_LENGTH)
- /* Similarly we have to account for 64bit wide register
- saves. */
- + (32 * DEPRECATED_REGISTER_SIZE)
- /* We always consider FP regs 8 bytes long. */
- + (NUM_REGS - FP0_REGNUM) * 8
- /* Similarly we have to account for 64bit wide register
- saves. */
- + (6 * DEPRECATED_REGISTER_SIZE)))))
- {
- return read_memory_integer ((get_frame_base (frame)
- + (TARGET_PTR_BIT == 64 ? -16 : -20)),
- TARGET_PTR_BIT / 8) & ~0x3;
- }
-
-#ifdef FRAME_SAVED_PC_IN_SIGTRAMP
- /* Deal with signal handler caller frames too. */
- if ((get_frame_type (frame) == SIGTRAMP_FRAME))
- {
- CORE_ADDR rp;
- FRAME_SAVED_PC_IN_SIGTRAMP (frame, &rp);
- return rp & ~0x3;
- }
-#endif
-
- if (hppa_frameless_function_invocation (frame))
- {
- int ret_regnum;
-
- ret_regnum = find_return_regnum (pc);
-
- /* If the next frame is an interrupt frame or a signal
- handler caller, then we need to look in the saved
- register area to get the return pointer (the values
- in the registers may not correspond to anything useful). */
- if (get_next_frame (frame)
- && ((get_frame_type (get_next_frame (frame)) == SIGTRAMP_FRAME)
- || pc_in_interrupt_handler (get_frame_pc (get_next_frame (frame)))))
- {
- CORE_ADDR *saved_regs;
- hppa_frame_init_saved_regs (get_next_frame (frame));
- saved_regs = deprecated_get_frame_saved_regs (get_next_frame (frame));
- if (read_memory_integer (saved_regs[FLAGS_REGNUM],
- TARGET_PTR_BIT / 8) & 0x2)
- {
- pc = read_memory_integer (saved_regs[31],
- TARGET_PTR_BIT / 8) & ~0x3;
-
- /* Syscalls are really two frames. The syscall stub itself
- with a return pointer in %rp and the kernel call with
- a return pointer in %r31. We return the %rp variant
- if %r31 is the same as frame->pc. */
- if (pc == get_frame_pc (frame))
- pc = read_memory_integer (saved_regs[RP_REGNUM],
- TARGET_PTR_BIT / 8) & ~0x3;
- }
- else
- pc = read_memory_integer (saved_regs[RP_REGNUM],
- TARGET_PTR_BIT / 8) & ~0x3;
- }
- else
- pc = read_register (ret_regnum) & ~0x3;
- }
- else
- {
- spun_around_loop = 0;
- old_pc = pc;
-
- restart:
- rp_offset = rp_saved (pc);
-
- /* Similar to code in frameless function case. If the next
- frame is a signal or interrupt handler, then dig the right
- information out of the saved register info. */
- if (rp_offset == 0
- && get_next_frame (frame)
- && ((get_frame_type (get_next_frame (frame)) == SIGTRAMP_FRAME)
- || pc_in_interrupt_handler (get_frame_pc (get_next_frame (frame)))))
- {
- CORE_ADDR *saved_regs;
- hppa_frame_init_saved_regs (get_next_frame (frame));
- saved_regs = deprecated_get_frame_saved_regs (get_next_frame (frame));
- if (read_memory_integer (saved_regs[FLAGS_REGNUM],
- TARGET_PTR_BIT / 8) & 0x2)
- {
- pc = read_memory_integer (saved_regs[31],
- TARGET_PTR_BIT / 8) & ~0x3;
-
- /* Syscalls are really two frames. The syscall stub itself
- with a return pointer in %rp and the kernel call with
- a return pointer in %r31. We return the %rp variant
- if %r31 is the same as frame->pc. */
- if (pc == get_frame_pc (frame))
- pc = read_memory_integer (saved_regs[RP_REGNUM],
- TARGET_PTR_BIT / 8) & ~0x3;
- }
- else
- pc = read_memory_integer (saved_regs[RP_REGNUM],
- TARGET_PTR_BIT / 8) & ~0x3;
- }
- else if (rp_offset == 0)
- {
- old_pc = pc;
- pc = read_register (RP_REGNUM) & ~0x3;
- }
- else
- {
- old_pc = pc;
- pc = read_memory_integer (get_frame_base (frame) + rp_offset,
- TARGET_PTR_BIT / 8) & ~0x3;
- }
- }
-
- /* If PC is inside a linker stub, then dig out the address the stub
- will return to.
-
- Don't do this for long branch stubs. Why? For some unknown reason
- _start is marked as a long branch stub in hpux10. */
- u = find_unwind_entry (pc);
- if (u && u->stub_unwind.stub_type != 0
- && u->stub_unwind.stub_type != LONG_BRANCH)
- {
- unsigned int insn;
-
- /* If this is a dynamic executable, and we're in a signal handler,
- then the call chain will eventually point us into the stub for
- _sigreturn. Unlike most cases, we'll be pointed to the branch
- to the real sigreturn rather than the code after the real branch!.
-
- Else, try to dig the address the stub will return to in the normal
- fashion. */
- insn = read_memory_integer (pc, 4);
- if ((insn & 0xfc00e000) == 0xe8000000)
- return (pc + extract_17 (insn) + 8) & ~0x3;
- else
- {
- if (old_pc == pc)
- spun_around_loop++;
-
- if (spun_around_loop > 1)
- {
- /* We're just about to go around the loop again with
- no more hope of success. Die. */
- error ("Unable to find return pc for this frame");
- }
- else
- goto restart;
- }
- }
-
- return pc;
-}
-
-/* We need to correct the PC and the FP for the outermost frame when we are
- in a system call. */
-
-void
-hppa_init_extra_frame_info (int fromleaf, struct frame_info *frame)
-{
- int flags;
- int framesize;
-
- if (get_next_frame (frame) && !fromleaf)
- return;
-
- /* If the next frame represents a frameless function invocation then
- we have to do some adjustments that are normally done by
- DEPRECATED_FRAME_CHAIN. (DEPRECATED_FRAME_CHAIN is not called in
- this case.) */
- if (fromleaf)
- {
- /* Find the framesize of *this* frame without peeking at the PC
- in the current frame structure (it isn't set yet). */
- framesize = find_proc_framesize (DEPRECATED_FRAME_SAVED_PC (get_next_frame (frame)));
-
- /* Now adjust our base frame accordingly. If we have a frame pointer
- use it, else subtract the size of this frame from the current
- frame. (we always want frame->frame to point at the lowest address
- in the frame). */
- if (framesize == -1)
- deprecated_update_frame_base_hack (frame, deprecated_read_fp ());
- else
- deprecated_update_frame_base_hack (frame, get_frame_base (frame) - framesize);
- return;
- }
-
- flags = read_register (FLAGS_REGNUM);
- if (flags & 2) /* In system call? */
- deprecated_update_frame_pc_hack (frame, read_register (31) & ~0x3);
-
- /* The outermost frame is always derived from PC-framesize
-
- One might think frameless innermost frames should have
- a frame->frame that is the same as the parent's frame->frame.
- That is wrong; frame->frame in that case should be the *high*
- address of the parent's frame. It's complicated as hell to
- explain, but the parent *always* creates some stack space for
- the child. So the child actually does have a frame of some
- sorts, and its base is the high address in its parent's frame. */
- framesize = find_proc_framesize (get_frame_pc (frame));
- if (framesize == -1)
- deprecated_update_frame_base_hack (frame, deprecated_read_fp ());
- else
- deprecated_update_frame_base_hack (frame, read_register (SP_REGNUM) - framesize);
-}
-
-/* Given a GDB frame, determine the address of the calling function's
- frame. This will be used to create a new GDB frame struct, and
- then DEPRECATED_INIT_EXTRA_FRAME_INFO and DEPRECATED_INIT_FRAME_PC
- will be called for the new frame.
-
- This may involve searching through prologues for several functions
- at boundaries where GCC calls HP C code, or where code which has
- a frame pointer calls code without a frame pointer. */
-
-CORE_ADDR
-hppa_frame_chain (struct frame_info *frame)
-{
- int my_framesize, caller_framesize;
- struct unwind_table_entry *u;
- CORE_ADDR frame_base;
- struct frame_info *tmp_frame;
-
- /* A frame in the current frame list, or zero. */
- struct frame_info *saved_regs_frame = 0;
- /* Where the registers were saved in saved_regs_frame. If
- saved_regs_frame is zero, this is garbage. */
- CORE_ADDR *saved_regs = NULL;
-
- CORE_ADDR caller_pc;
-
- struct minimal_symbol *min_frame_symbol;
- struct symbol *frame_symbol;
- char *frame_symbol_name;
-
- /* If this is a threaded application, and we see the
- routine "__pthread_exit", treat it as the stack root
- for this thread. */
- min_frame_symbol = lookup_minimal_symbol_by_pc (get_frame_pc (frame));
- frame_symbol = find_pc_function (get_frame_pc (frame));
-
- if ((min_frame_symbol != 0) /* && (frame_symbol == 0) */ )
- {
- /* The test above for "no user function name" would defend
- against the slim likelihood that a user might define a
- routine named "__pthread_exit" and then try to debug it.
-
- If it weren't commented out, and you tried to debug the
- pthread library itself, you'd get errors.
-
- So for today, we don't make that check. */
- frame_symbol_name = DEPRECATED_SYMBOL_NAME (min_frame_symbol);
- if (frame_symbol_name != 0)
- {
- if (0 == strncmp (frame_symbol_name,
- THREAD_INITIAL_FRAME_SYMBOL,
- THREAD_INITIAL_FRAME_SYM_LEN))
- {
- /* Pretend we've reached the bottom of the stack. */
- return (CORE_ADDR) 0;
- }
- }
- } /* End of hacky code for threads. */
-
- /* Handle HPUX, BSD, and OSF1 style interrupt frames first. These
- are easy; at *sp we have a full save state strucutre which we can
- pull the old stack pointer from. Also see frame_saved_pc for
- code to dig a saved PC out of the save state structure. */
- if (pc_in_interrupt_handler (get_frame_pc (frame)))
- frame_base = read_memory_integer (get_frame_base (frame) + SP_REGNUM * 4,
- TARGET_PTR_BIT / 8);
-#ifdef FRAME_BASE_BEFORE_SIGTRAMP
- else if ((get_frame_type (frame) == SIGTRAMP_FRAME))
- {
- FRAME_BASE_BEFORE_SIGTRAMP (frame, &frame_base);
- }
-#endif
- else
- frame_base = get_frame_base (frame);
-
- /* Get frame sizes for the current frame and the frame of the
- caller. */
- my_framesize = find_proc_framesize (get_frame_pc (frame));
- caller_pc = DEPRECATED_FRAME_SAVED_PC (frame);
-
- /* If we can't determine the caller's PC, then it's not likely we can
- really determine anything meaningful about its frame. We'll consider
- this to be stack bottom. */
- if (caller_pc == (CORE_ADDR) 0)
- return (CORE_ADDR) 0;
-
- caller_framesize = find_proc_framesize (DEPRECATED_FRAME_SAVED_PC (frame));
-
- /* If caller does not have a frame pointer, then its frame
- can be found at current_frame - caller_framesize. */
- if (caller_framesize != -1)
- {
- return frame_base - caller_framesize;
- }
- /* Both caller and callee have frame pointers and are GCC compiled
- (SAVE_SP bit in unwind descriptor is on for both functions.
- The previous frame pointer is found at the top of the current frame. */
- if (caller_framesize == -1 && my_framesize == -1)
- {
- return read_memory_integer (frame_base, TARGET_PTR_BIT / 8);
- }
- /* Caller has a frame pointer, but callee does not. This is a little
- more difficult as GCC and HP C lay out locals and callee register save
- areas very differently.
-
- The previous frame pointer could be in a register, or in one of
- several areas on the stack.
-
- Walk from the current frame to the innermost frame examining
- unwind descriptors to determine if %r3 ever gets saved into the
- stack. If so return whatever value got saved into the stack.
- If it was never saved in the stack, then the value in %r3 is still
- valid, so use it.
-
- We use information from unwind descriptors to determine if %r3
- is saved into the stack (Entry_GR field has this information). */
-
- for (tmp_frame = frame; tmp_frame; tmp_frame = get_next_frame (tmp_frame))
- {
- u = find_unwind_entry (get_frame_pc (tmp_frame));
-
- if (!u)
- {
- /* We could find this information by examining prologues. I don't
- think anyone has actually written any tools (not even "strip")
- which leave them out of an executable, so maybe this is a moot
- point. */
- /* ??rehrauer: Actually, it's quite possible to stepi your way into
- code that doesn't have unwind entries. For example, stepping into
- the dynamic linker will give you a PC that has none. Thus, I've
- disabled this warning. */
-#if 0
- warning ("Unable to find unwind for PC 0x%x -- Help!", get_frame_pc (tmp_frame));
-#endif
- return (CORE_ADDR) 0;
- }
-
- if (u->Save_SP
- || (get_frame_type (tmp_frame) == SIGTRAMP_FRAME)
- || pc_in_interrupt_handler (get_frame_pc (tmp_frame)))
- break;
-
- /* Entry_GR specifies the number of callee-saved general registers
- saved in the stack. It starts at %r3, so %r3 would be 1. */
- if (u->Entry_GR >= 1)
- {
- /* The unwind entry claims that r3 is saved here. However,
- in optimized code, GCC often doesn't actually save r3.
- We'll discover this if we look at the prologue. */
- hppa_frame_init_saved_regs (tmp_frame);
- saved_regs = deprecated_get_frame_saved_regs (tmp_frame);
- saved_regs_frame = tmp_frame;
-
- /* If we have an address for r3, that's good. */
- if (saved_regs[DEPRECATED_FP_REGNUM])
- break;
- }
- }
-
- if (tmp_frame)
- {
- /* We may have walked down the chain into a function with a frame
- pointer. */
- if (u->Save_SP
- && !(get_frame_type (tmp_frame) == SIGTRAMP_FRAME)
- && !pc_in_interrupt_handler (get_frame_pc (tmp_frame)))
- {
- return read_memory_integer (get_frame_base (tmp_frame), TARGET_PTR_BIT / 8);
- }
- /* %r3 was saved somewhere in the stack. Dig it out. */
- else
- {
- /* Sick.
-
- For optimization purposes many kernels don't have the
- callee saved registers into the save_state structure upon
- entry into the kernel for a syscall; the optimization
- is usually turned off if the process is being traced so
- that the debugger can get full register state for the
- process.
-
- This scheme works well except for two cases:
-
- * Attaching to a process when the process is in the
- kernel performing a system call (debugger can't get
- full register state for the inferior process since
- the process wasn't being traced when it entered the
- system call).
-
- * Register state is not complete if the system call
- causes the process to core dump.
-
-
- The following heinous code is an attempt to deal with
- the lack of register state in a core dump. It will
- fail miserably if the function which performs the
- system call has a variable sized stack frame. */
-
- if (tmp_frame != saved_regs_frame)
- {
- hppa_frame_init_saved_regs (tmp_frame);
- saved_regs = deprecated_get_frame_saved_regs (tmp_frame);
- }
-
- /* Abominable hack. */
- if (current_target.to_has_execution == 0
- && ((saved_regs[FLAGS_REGNUM]
- && (read_memory_integer (saved_regs[FLAGS_REGNUM],
- TARGET_PTR_BIT / 8)
- & 0x2))
- || (saved_regs[FLAGS_REGNUM] == 0
- && read_register (FLAGS_REGNUM) & 0x2)))
- {
- u = find_unwind_entry (DEPRECATED_FRAME_SAVED_PC (frame));
- if (!u)
- {
- return read_memory_integer (saved_regs[DEPRECATED_FP_REGNUM],
- TARGET_PTR_BIT / 8);
- }
- else
- {
- return frame_base - (u->Total_frame_size << 3);
- }
- }
-
- return read_memory_integer (saved_regs[DEPRECATED_FP_REGNUM],
- TARGET_PTR_BIT / 8);
- }
- }
- else
- {
- /* Get the innermost frame. */
- tmp_frame = frame;
- while (get_next_frame (tmp_frame) != NULL)
- tmp_frame = get_next_frame (tmp_frame);
-
- if (tmp_frame != saved_regs_frame)
- {
- hppa_frame_init_saved_regs (tmp_frame);
- saved_regs = deprecated_get_frame_saved_regs (tmp_frame);
- }
-
- /* Abominable hack. See above. */
- if (current_target.to_has_execution == 0
- && ((saved_regs[FLAGS_REGNUM]
- && (read_memory_integer (saved_regs[FLAGS_REGNUM],
- TARGET_PTR_BIT / 8)
- & 0x2))
- || (saved_regs[FLAGS_REGNUM] == 0
- && read_register (FLAGS_REGNUM) & 0x2)))
- {
- u = find_unwind_entry (DEPRECATED_FRAME_SAVED_PC (frame));
- if (!u)
- {
- return read_memory_integer (saved_regs[DEPRECATED_FP_REGNUM],
- TARGET_PTR_BIT / 8);
- }
- else
- {
- return frame_base - (u->Total_frame_size << 3);
- }
- }
-
- /* The value in %r3 was never saved into the stack (thus %r3 still
- holds the value of the previous frame pointer). */
- return deprecated_read_fp ();
- }
-}
-
-
-/* To see if a frame chain is valid, see if the caller looks like it
- was compiled with gcc. */
-
-int
-hppa_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe)
-{
- struct minimal_symbol *msym_us;
- struct minimal_symbol *msym_start;
- struct unwind_table_entry *u, *next_u = NULL;
- struct frame_info *next;
-
- u = find_unwind_entry (get_frame_pc (thisframe));
-
- if (u == NULL)
- return 1;
-
- /* We can't just check that the same of msym_us is "_start", because
- someone idiotically decided that they were going to make a Ltext_end
- symbol with the same address. This Ltext_end symbol is totally
- indistinguishable (as nearly as I can tell) from the symbol for a function
- which is (legitimately, since it is in the user's namespace)
- named Ltext_end, so we can't just ignore it. */
- msym_us = lookup_minimal_symbol_by_pc (DEPRECATED_FRAME_SAVED_PC (thisframe));
- msym_start = lookup_minimal_symbol ("_start", NULL, NULL);
- if (msym_us
- && msym_start
- && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start))
- return 0;
-
- /* Grrrr. Some new idiot decided that they don't want _start for the
- PRO configurations; $START$ calls main directly.... Deal with it. */
- msym_start = lookup_minimal_symbol ("$START$", NULL, NULL);
- if (msym_us
- && msym_start
- && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start))
- return 0;
-
- next = get_next_frame (thisframe);
- if (next)
- next_u = find_unwind_entry (get_frame_pc (next));
-
- /* If this frame does not save SP, has no stack, isn't a stub,
- and doesn't "call" an interrupt routine or signal handler caller,
- then its not valid. */
- if (u->Save_SP || u->Total_frame_size || u->stub_unwind.stub_type != 0
- || (get_next_frame (thisframe) && (get_frame_type (get_next_frame (thisframe)) == SIGTRAMP_FRAME))
- || (next_u && next_u->HP_UX_interrupt_marker))
- return 1;
-
- if (pc_in_linker_stub (get_frame_pc (thisframe)))
- return 1;
-
- return 0;
-}
-
-/* These functions deal with saving and restoring register state
- around a function call in the inferior. They keep the stack
- double-word aligned; eventually, on an hp700, the stack will have
- to be aligned to a 64-byte boundary. */
-
-void
-hppa_push_dummy_frame (void)
-{
- CORE_ADDR sp, pc, pcspace;
- int regnum;
- CORE_ADDR int_buffer;
- double freg_buffer;
-
- pc = hppa_target_read_pc (inferior_ptid);
- int_buffer = read_register (FLAGS_REGNUM);
- if (int_buffer & 0x2)
- {
- const unsigned int sid = (pc >> 30) & 0x3;
- if (sid == 0)
- pcspace = read_register (SR4_REGNUM);
- else
- pcspace = read_register (SR4_REGNUM + 4 + sid);
- }
- else
- pcspace = read_register (PCSQ_HEAD_REGNUM);
-
- /* Space for "arguments"; the RP goes in here. */
- sp = read_register (SP_REGNUM) + 48;
- int_buffer = read_register (RP_REGNUM) | 0x3;
-
- /* The 32bit and 64bit ABIs save the return pointer into different
- stack slots. */
- if (DEPRECATED_REGISTER_SIZE == 8)
- write_memory (sp - 16, (char *) &int_buffer, DEPRECATED_REGISTER_SIZE);
- else
- write_memory (sp - 20, (char *) &int_buffer, DEPRECATED_REGISTER_SIZE);
-
- int_buffer = deprecated_read_fp ();
- write_memory (sp, (char *) &int_buffer, DEPRECATED_REGISTER_SIZE);
-
- write_register (DEPRECATED_FP_REGNUM, sp);
-
- sp += 2 * DEPRECATED_REGISTER_SIZE;
-
- for (regnum = 1; regnum < 32; regnum++)
- if (regnum != RP_REGNUM && regnum != DEPRECATED_FP_REGNUM)
- sp = push_word (sp, read_register (regnum));
-
- /* This is not necessary for the 64bit ABI. In fact it is dangerous. */
- if (DEPRECATED_REGISTER_SIZE != 8)
- sp += 4;
-
- for (regnum = FP0_REGNUM; regnum < NUM_REGS; regnum++)
- {
- deprecated_read_register_bytes (DEPRECATED_REGISTER_BYTE (regnum),
- (char *) &freg_buffer, 8);
- sp = push_bytes (sp, (char *) &freg_buffer, 8);
- }
- sp = push_word (sp, read_register (IPSW_REGNUM));
- sp = push_word (sp, read_register (SAR_REGNUM));
- sp = push_word (sp, pc);
- sp = push_word (sp, pcspace);
- sp = push_word (sp, pc + 4);
- sp = push_word (sp, pcspace);
- write_register (SP_REGNUM, sp);
-}
-
-static void
-find_dummy_frame_regs (struct frame_info *frame,
- CORE_ADDR frame_saved_regs[])
-{
- CORE_ADDR fp = get_frame_base (frame);
- int i;
-
- /* The 32bit and 64bit ABIs save RP into different locations. */
- if (DEPRECATED_REGISTER_SIZE == 8)
- frame_saved_regs[RP_REGNUM] = (fp - 16) & ~0x3;
- else
- frame_saved_regs[RP_REGNUM] = (fp - 20) & ~0x3;
-
- frame_saved_regs[DEPRECATED_FP_REGNUM] = fp;
-
- frame_saved_regs[1] = fp + (2 * DEPRECATED_REGISTER_SIZE);
-
- for (fp += 3 * DEPRECATED_REGISTER_SIZE, i = 3; i < 32; i++)
- {
- if (i != DEPRECATED_FP_REGNUM)
- {
- frame_saved_regs[i] = fp;
- fp += DEPRECATED_REGISTER_SIZE;
- }
- }
-
- /* This is not necessary or desirable for the 64bit ABI. */
- if (DEPRECATED_REGISTER_SIZE != 8)
- fp += 4;
-
- for (i = FP0_REGNUM; i < NUM_REGS; i++, fp += 8)
- frame_saved_regs[i] = fp;
-
- frame_saved_regs[IPSW_REGNUM] = fp;
- frame_saved_regs[SAR_REGNUM] = fp + DEPRECATED_REGISTER_SIZE;
- frame_saved_regs[PCOQ_HEAD_REGNUM] = fp + 2 * DEPRECATED_REGISTER_SIZE;
- frame_saved_regs[PCSQ_HEAD_REGNUM] = fp + 3 * DEPRECATED_REGISTER_SIZE;
- frame_saved_regs[PCOQ_TAIL_REGNUM] = fp + 4 * DEPRECATED_REGISTER_SIZE;
- frame_saved_regs[PCSQ_TAIL_REGNUM] = fp + 5 * DEPRECATED_REGISTER_SIZE;
-}
-
-void
-hppa_pop_frame (void)
-{
- struct frame_info *frame = get_current_frame ();
- CORE_ADDR fp, npc, target_pc;
- int regnum;
- CORE_ADDR *fsr;
- double freg_buffer;
-
- fp = get_frame_base (frame);
- hppa_frame_init_saved_regs (frame);
- fsr = deprecated_get_frame_saved_regs (frame);
-
-#ifndef NO_PC_SPACE_QUEUE_RESTORE
- if (fsr[IPSW_REGNUM]) /* Restoring a call dummy frame */
- restore_pc_queue (fsr);
-#endif
-
- for (regnum = 31; regnum > 0; regnum--)
- if (fsr[regnum])
- write_register (regnum, read_memory_integer (fsr[regnum],
- DEPRECATED_REGISTER_SIZE));
-
- for (regnum = NUM_REGS - 1; regnum >= FP0_REGNUM; regnum--)
- if (fsr[regnum])
- {
- read_memory (fsr[regnum], (char *) &freg_buffer, 8);
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (regnum),
- (char *) &freg_buffer, 8);
- }
-
- if (fsr[IPSW_REGNUM])
- write_register (IPSW_REGNUM,
- read_memory_integer (fsr[IPSW_REGNUM],
- DEPRECATED_REGISTER_SIZE));
-
- if (fsr[SAR_REGNUM])
- write_register (SAR_REGNUM,
- read_memory_integer (fsr[SAR_REGNUM],
- DEPRECATED_REGISTER_SIZE));
-
- /* If the PC was explicitly saved, then just restore it. */
- if (fsr[PCOQ_TAIL_REGNUM])
- {
- npc = read_memory_integer (fsr[PCOQ_TAIL_REGNUM],
- DEPRECATED_REGISTER_SIZE);
- write_register (PCOQ_TAIL_REGNUM, npc);
- }
- /* Else use the value in %rp to set the new PC. */
- else
- {
- npc = read_register (RP_REGNUM);
- write_pc (npc);
- }
-
- write_register (DEPRECATED_FP_REGNUM, read_memory_integer (fp, DEPRECATED_REGISTER_SIZE));
-
- if (fsr[IPSW_REGNUM]) /* call dummy */
- write_register (SP_REGNUM, fp - 48);
- else
- write_register (SP_REGNUM, fp);
-
- /* The PC we just restored may be inside a return trampoline. If so
- we want to restart the inferior and run it through the trampoline.
-
- Do this by setting a momentary breakpoint at the location the
- trampoline returns to.
-
- Don't skip through the trampoline if we're popping a dummy frame. */
- target_pc = SKIP_TRAMPOLINE_CODE (npc & ~0x3) & ~0x3;
- if (target_pc && !fsr[IPSW_REGNUM])
- {
- struct symtab_and_line sal;
- struct breakpoint *breakpoint;
- struct cleanup *old_chain;
-
- /* Set up our breakpoint. Set it to be silent as the MI code
- for "return_command" will print the frame we returned to. */
- sal = find_pc_line (target_pc, 0);
- sal.pc = target_pc;
- breakpoint = set_momentary_breakpoint (sal, null_frame_id, bp_finish);
- breakpoint->silent = 1;
-
- /* So we can clean things up. */
- old_chain = make_cleanup_delete_breakpoint (breakpoint);
-
- /* Start up the inferior. */
- clear_proceed_status ();
- proceed_to_finish = 1;
- proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0);
-
- /* Perform our cleanups. */
- do_cleanups (old_chain);
- }
- flush_cached_frames ();
-}
-
-/* After returning to a dummy on the stack, restore the instruction
- queue space registers. */
-
-static int
-restore_pc_queue (CORE_ADDR *fsr)
-{
- CORE_ADDR pc = read_pc ();
- CORE_ADDR new_pc = read_memory_integer (fsr[PCOQ_HEAD_REGNUM],
- TARGET_PTR_BIT / 8);
- struct target_waitstatus w;
- int insn_count;
-
- /* Advance past break instruction in the call dummy. */
- write_register (PCOQ_HEAD_REGNUM, pc + 4);
- write_register (PCOQ_TAIL_REGNUM, pc + 8);
-
- /* HPUX doesn't let us set the space registers or the space
- registers of the PC queue through ptrace. Boo, hiss.
- Conveniently, the call dummy has this sequence of instructions
- after the break:
- mtsp r21, sr0
- ble,n 0(sr0, r22)
-
- So, load up the registers and single step until we are in the
- right place. */
-
- write_register (21, read_memory_integer (fsr[PCSQ_HEAD_REGNUM],
- DEPRECATED_REGISTER_SIZE));
- write_register (22, new_pc);
-
- for (insn_count = 0; insn_count < 3; insn_count++)
- {
- /* FIXME: What if the inferior gets a signal right now? Want to
- merge this into wait_for_inferior (as a special kind of
- watchpoint? By setting a breakpoint at the end? Is there
- any other choice? Is there *any* way to do this stuff with
- ptrace() or some equivalent?). */
- resume (1, 0);
- target_wait (inferior_ptid, &w);
-
- if (w.kind == TARGET_WAITKIND_SIGNALLED)
- {
- stop_signal = w.value.sig;
- terminal_ours_for_output ();
- printf_unfiltered ("\nProgram terminated with signal %s, %s.\n",
- target_signal_to_name (stop_signal),
- target_signal_to_string (stop_signal));
- gdb_flush (gdb_stdout);
- return 0;
- }
- }
- target_terminal_ours ();
- target_fetch_registers (-1);
- return 1;
-}
-
-
-#ifdef PA20W_CALLING_CONVENTIONS
-
-/* This function pushes a stack frame with arguments as part of the
- inferior function calling mechanism.
-
- This is the version for the PA64, in which later arguments appear
- at higher addresses. (The stack always grows towards higher
- addresses.)
-
- We simply allocate the appropriate amount of stack space and put
- arguments into their proper slots. The call dummy code will copy
- arguments into registers as needed by the ABI.
-
- This ABI also requires that the caller provide an argument pointer
- to the callee, so we do that too. */
-
-CORE_ADDR
-hppa_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr)
-{
- /* array of arguments' offsets */
- int *offset = (int *) alloca (nargs * sizeof (int));
-
- /* array of arguments' lengths: real lengths in bytes, not aligned to
- word size */
- int *lengths = (int *) alloca (nargs * sizeof (int));
-
- /* The value of SP as it was passed into this function after
- aligning. */
- CORE_ADDR orig_sp = DEPRECATED_STACK_ALIGN (sp);
-
- /* The number of stack bytes occupied by the current argument. */
- int bytes_reserved;
-
- /* The total number of bytes reserved for the arguments. */
- int cum_bytes_reserved = 0;
-
- /* Similarly, but aligned. */
- int cum_bytes_aligned = 0;
- int i;
-
- /* Iterate over each argument provided by the user. */
- for (i = 0; i < nargs; i++)
- {
- struct type *arg_type = VALUE_TYPE (args[i]);
-
- /* Integral scalar values smaller than a register are padded on
- the left. We do this by promoting them to full-width,
- although the ABI says to pad them with garbage. */
- if (is_integral_type (arg_type)
- && TYPE_LENGTH (arg_type) < DEPRECATED_REGISTER_SIZE)
- {
- args[i] = value_cast ((TYPE_UNSIGNED (arg_type)
- ? builtin_type_unsigned_long
- : builtin_type_long),
- args[i]);
- arg_type = VALUE_TYPE (args[i]);
- }
-
- lengths[i] = TYPE_LENGTH (arg_type);
-
- /* Align the size of the argument to the word size for this
- target. */
- bytes_reserved = (lengths[i] + DEPRECATED_REGISTER_SIZE - 1) & -DEPRECATED_REGISTER_SIZE;
-
- offset[i] = cum_bytes_reserved;
-
- /* Aggregates larger than eight bytes (the only types larger
- than eight bytes we have) are aligned on a 16-byte boundary,
- possibly padded on the right with garbage. This may leave an
- empty word on the stack, and thus an unused register, as per
- the ABI. */
- if (bytes_reserved > 8)
- {
- /* Round up the offset to a multiple of two slots. */
- int new_offset = ((offset[i] + 2*DEPRECATED_REGISTER_SIZE-1)
- & -(2*DEPRECATED_REGISTER_SIZE));
-
- /* Note the space we've wasted, if any. */
- bytes_reserved += new_offset - offset[i];
- offset[i] = new_offset;
- }
-
- cum_bytes_reserved += bytes_reserved;
- }
-
- /* CUM_BYTES_RESERVED already accounts for all the arguments
- passed by the user. However, the ABIs mandate minimum stack space
- allocations for outgoing arguments.
-
- The ABIs also mandate minimum stack alignments which we must
- preserve. */
- cum_bytes_aligned = DEPRECATED_STACK_ALIGN (cum_bytes_reserved);
- sp += max (cum_bytes_aligned, REG_PARM_STACK_SPACE);
-
- /* Now write each of the args at the proper offset down the stack. */
- for (i = 0; i < nargs; i++)
- write_memory (orig_sp + offset[i], VALUE_CONTENTS (args[i]), lengths[i]);
-
- /* If a structure has to be returned, set up register 28 to hold its
- address */
- if (struct_return)
- write_register (28, struct_addr);
-
- /* For the PA64 we must pass a pointer to the outgoing argument list.
- The ABI mandates that the pointer should point to the first byte of
- storage beyond the register flushback area.
-
- However, the call dummy expects the outgoing argument pointer to
- be passed in register %r4. */
- write_register (4, orig_sp + REG_PARM_STACK_SPACE);
-
- /* ?!? This needs further work. We need to set up the global data
- pointer for this procedure. This assumes the same global pointer
- for every procedure. The call dummy expects the dp value to
- be passed in register %r6. */
- write_register (6, read_register (27));
-
- /* The stack will have 64 bytes of additional space for a frame marker. */
- return sp + 64;
-}
-
-#else
-
-/* This function pushes a stack frame with arguments as part of the
- inferior function calling mechanism.
-
- This is the version of the function for the 32-bit PA machines, in
- which later arguments appear at lower addresses. (The stack always
- grows towards higher addresses.)
-
- We simply allocate the appropriate amount of stack space and put
- arguments into their proper slots. The call dummy code will copy
- arguments into registers as needed by the ABI. */
-
-CORE_ADDR
-hppa_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr)
-{
- /* array of arguments' offsets */
- int *offset = (int *) alloca (nargs * sizeof (int));
-
- /* array of arguments' lengths: real lengths in bytes, not aligned to
- word size */
- int *lengths = (int *) alloca (nargs * sizeof (int));
-
- /* The number of stack bytes occupied by the current argument. */
- int bytes_reserved;
-
- /* The total number of bytes reserved for the arguments. */
- int cum_bytes_reserved = 0;
-
- /* Similarly, but aligned. */
- int cum_bytes_aligned = 0;
- int i;
-
- /* Iterate over each argument provided by the user. */
- for (i = 0; i < nargs; i++)
- {
- lengths[i] = TYPE_LENGTH (VALUE_TYPE (args[i]));
-
- /* Align the size of the argument to the word size for this
- target. */
- bytes_reserved = (lengths[i] + DEPRECATED_REGISTER_SIZE - 1) & -DEPRECATED_REGISTER_SIZE;
-
- offset[i] = (cum_bytes_reserved
- + (lengths[i] > 4 ? bytes_reserved : lengths[i]));
-
- /* If the argument is a double word argument, then it needs to be
- double word aligned. */
- if ((bytes_reserved == 2 * DEPRECATED_REGISTER_SIZE)
- && (offset[i] % 2 * DEPRECATED_REGISTER_SIZE))
- {
- int new_offset = 0;
- /* BYTES_RESERVED is already aligned to the word, so we put
- the argument at one word more down the stack.
-
- This will leave one empty word on the stack, and one unused
- register as mandated by the ABI. */
- new_offset = ((offset[i] + 2 * DEPRECATED_REGISTER_SIZE - 1)
- & -(2 * DEPRECATED_REGISTER_SIZE));
-
- if ((new_offset - offset[i]) >= 2 * DEPRECATED_REGISTER_SIZE)
- {
- bytes_reserved += DEPRECATED_REGISTER_SIZE;
- offset[i] += DEPRECATED_REGISTER_SIZE;
- }
- }
-
- cum_bytes_reserved += bytes_reserved;
-
- }
-
- /* CUM_BYTES_RESERVED already accounts for all the arguments passed
- by the user. However, the ABI mandates minimum stack space
- allocations for outgoing arguments.
-
- The ABI also mandates minimum stack alignments which we must
- preserve. */
- cum_bytes_aligned = DEPRECATED_STACK_ALIGN (cum_bytes_reserved);
- sp += max (cum_bytes_aligned, REG_PARM_STACK_SPACE);
-
- /* Now write each of the args at the proper offset down the stack.
- ?!? We need to promote values to a full register instead of skipping
- words in the stack. */
- for (i = 0; i < nargs; i++)
- write_memory (sp - offset[i], VALUE_CONTENTS (args[i]), lengths[i]);
-
- /* If a structure has to be returned, set up register 28 to hold its
- address */
- if (struct_return)
- write_register (28, struct_addr);
-
- /* The stack will have 32 bytes of additional space for a frame marker. */
- return sp + 32;
-}
-
-#endif
-
/* This function pushes a stack frame with arguments as part of the
inferior function calling mechanism.
@@ -2292,111 +934,106 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
int nargs, struct value **args, CORE_ADDR sp,
int struct_return, CORE_ADDR struct_addr)
{
- /* Array of arguments' offsets. */
- int *offset = (int *) alloca (nargs * sizeof (int));
-
- /* Array of arguments' lengths: real lengths in bytes, not aligned
- to word size. */
- int *lengths = (int *) alloca (nargs * sizeof (int));
-
- /* The value of SP as it was passed into this function. */
- CORE_ADDR orig_sp = sp;
-
- /* The number of stack bytes occupied by the current argument. */
- int bytes_reserved;
+ /* NOTE: cagney/2004-02-27: This is a guess - its implemented by
+ reverse engineering testsuite failures. */
- /* The total number of bytes reserved for the arguments. */
- int cum_bytes_reserved = 0;
+ /* Stack base address at which any pass-by-reference parameters are
+ stored. */
+ CORE_ADDR struct_end = 0;
+ /* Stack base address at which the first parameter is stored. */
+ CORE_ADDR param_end = 0;
- /* Similarly, but aligned. */
- int cum_bytes_aligned = 0;
- int i;
+ /* The inner most end of the stack after all the parameters have
+ been pushed. */
+ CORE_ADDR new_sp = 0;
- /* Iterate over each argument provided by the user. */
- for (i = 0; i < nargs; i++)
+ /* Two passes. First pass computes the location of everything,
+ second pass writes the bytes out. */
+ int write_pass;
+ for (write_pass = 0; write_pass < 2; write_pass++)
{
- struct type *arg_type = VALUE_TYPE (args[i]);
-
- /* Integral scalar values smaller than a register are padded on
- the left. We do this by promoting them to full-width,
- although the ABI says to pad them with garbage. */
- if (is_integral_type (arg_type)
- && TYPE_LENGTH (arg_type) < DEPRECATED_REGISTER_SIZE)
+ CORE_ADDR struct_ptr = 0;
+ CORE_ADDR param_ptr = 0;
+ int i;
+ for (i = 0; i < nargs; i++)
{
- args[i] = value_cast ((TYPE_UNSIGNED (arg_type)
- ? builtin_type_unsigned_long
- : builtin_type_long),
- args[i]);
- arg_type = VALUE_TYPE (args[i]);
+ struct value *arg = args[i];
+ struct type *type = check_typedef (VALUE_TYPE (arg));
+ if ((TYPE_CODE (type) == TYPE_CODE_INT
+ || TYPE_CODE (type) == TYPE_CODE_ENUM)
+ && TYPE_LENGTH (type) <= 8)
+ {
+ /* Integer value store, right aligned. "unpack_long"
+ takes care of any sign-extension problems. */
+ param_ptr += 8;
+ if (write_pass)
+ {
+ ULONGEST val = unpack_long (type, VALUE_CONTENTS (arg));
+ int reg = 27 - param_ptr / 8;
+ write_memory_unsigned_integer (param_end - param_ptr,
+ val, 8);
+ if (reg >= 19)
+ regcache_cooked_write_unsigned (regcache, reg, val);
+ }
+ }
+ else
+ {
+ /* Small struct value, store left aligned? */
+ int reg;
+ if (TYPE_LENGTH (type) > 8)
+ {
+ param_ptr = align_up (param_ptr, 16);
+ reg = 26 - param_ptr / 8;
+ param_ptr += align_up (TYPE_LENGTH (type), 16);
+ }
+ else
+ {
+ param_ptr = align_up (param_ptr, 8);
+ reg = 26 - param_ptr / 8;
+ param_ptr += align_up (TYPE_LENGTH (type), 8);
+ }
+ if (write_pass)
+ {
+ int byte;
+ write_memory (param_end - param_ptr, VALUE_CONTENTS (arg),
+ TYPE_LENGTH (type));
+ for (byte = 0; byte < TYPE_LENGTH (type); byte += 8)
+ {
+ if (reg >= 19)
+ {
+ int len = min (8, TYPE_LENGTH (type) - byte);
+ regcache_cooked_write_part (regcache, reg, 0, len,
+ VALUE_CONTENTS (arg) + byte);
+ }
+ reg--;
+ }
+ }
+ }
}
-
- lengths[i] = TYPE_LENGTH (arg_type);
-
- /* Align the size of the argument to the word size for this
- target. */
- bytes_reserved = (lengths[i] + DEPRECATED_REGISTER_SIZE - 1) & -DEPRECATED_REGISTER_SIZE;
-
- offset[i] = cum_bytes_reserved;
-
- /* Aggregates larger than eight bytes (the only types larger
- than eight bytes we have) are aligned on a 16-byte boundary,
- possibly padded on the right with garbage. This may leave an
- empty word on the stack, and thus an unused register, as per
- the ABI. */
- if (bytes_reserved > 8)
+ /* Update the various stack pointers. */
+ if (!write_pass)
{
- /* Round up the offset to a multiple of two slots. */
- int new_offset = ((offset[i] + 2*DEPRECATED_REGISTER_SIZE-1)
- & -(2*DEPRECATED_REGISTER_SIZE));
-
- /* Note the space we've wasted, if any. */
- bytes_reserved += new_offset - offset[i];
- offset[i] = new_offset;
+ struct_end = sp + struct_ptr;
+ /* PARAM_PTR already accounts for all the arguments passed
+ by the user. However, the ABI mandates minimum stack
+ space allocations for outgoing arguments. The ABI also
+ mandates minimum stack alignments which we must
+ preserve. */
+ param_end = struct_end + max (align_up (param_ptr, 16),
+ REG_PARM_STACK_SPACE);
}
-
- cum_bytes_reserved += bytes_reserved;
}
- /* CUM_BYTES_RESERVED already accounts for all the arguments passed
- by the user. However, the ABIs mandate minimum stack space
- allocations for outgoing arguments.
-
- The ABIs also mandate minimum stack alignments which we must
- preserve. */
- cum_bytes_aligned = align_up (cum_bytes_reserved, 16);
- sp += max (cum_bytes_aligned, REG_PARM_STACK_SPACE);
-
- /* Now write each of the args at the proper offset down the
- stack. */
- for (i = 0; i < nargs; i++)
- write_memory (orig_sp + offset[i], VALUE_CONTENTS (args[i]), lengths[i]);
-
/* If a structure has to be returned, set up register 28 to hold its
address */
if (struct_return)
write_register (28, struct_addr);
- /* For the PA64 we must pass a pointer to the outgoing argument
- list. The ABI mandates that the pointer should point to the
- first byte of storage beyond the register flushback area.
-
- However, the call dummy expects the outgoing argument pointer to
- be passed in register %r4. */
- write_register (4, orig_sp + REG_PARM_STACK_SPACE);
-
- /* ?!? This needs further work. We need to set up the global data
- pointer for this procedure. This assumes the same global pointer
- for every procedure. The call dummy expects the dp value to be
- passed in register %r6. */
- write_register (6, read_register (27));
-
/* Set the return address. */
regcache_cooked_write_unsigned (regcache, RP_REGNUM, bp_addr);
- /* The stack will have 64 bytes of additional space for a frame
- marker. */
- return sp + 64;
-
+ /* The stack will have 32 bytes of additional space for a frame marker. */
+ return param_end + 64;
}
static CORE_ADDR
@@ -2513,425 +1150,6 @@ cover_find_stub_with_shl_get (void *args_untyped)
return 0;
}
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME.
-
- On the hppa we need to call the stack dummy through $$dyncall.
- Therefore our version of DEPRECATED_FIX_CALL_DUMMY takes an extra
- argument, real_pc, which is the location where gdb should start up
- the inferior to do the function call.
-
- This has to work across several versions of hpux, bsd, osf1. It has to
- work regardless of what compiler was used to build the inferior program.
- It should work regardless of whether or not end.o is available. It has
- to work even if gdb can not call into the dynamic loader in the inferior
- to query it for symbol names and addresses.
-
- Yes, all those cases should work. Luckily code exists to handle most
- of them. The complexity is in selecting exactly what scheme should
- be used to perform the inferior call.
-
- At the current time this routine is known not to handle cases where
- the program was linked with HP's compiler without including end.o.
-
- Please contact Jeff Law (law@cygnus.com) before changing this code. */
-
-CORE_ADDR
-hppa_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs,
- struct value **args, struct type *type, int gcc_p)
-{
- CORE_ADDR dyncall_addr;
- struct minimal_symbol *msymbol;
- struct minimal_symbol *trampoline;
- int flags = read_register (FLAGS_REGNUM);
- struct unwind_table_entry *u = NULL;
- CORE_ADDR new_stub = 0;
- CORE_ADDR solib_handle = 0;
-
- /* Nonzero if we will use GCC's PLT call routine. This routine must be
- passed an import stub, not a PLABEL. It is also necessary to set %r19
- (the PIC register) before performing the call.
-
- If zero, then we are using __d_plt_call (HP's PLT call routine) or we
- are calling the target directly. When using __d_plt_call we want to
- use a PLABEL instead of an import stub. */
- int using_gcc_plt_call = 1;
-
-#ifdef GDB_TARGET_IS_HPPA_20W
- /* We currently use completely different code for the PA2.0W inferior
- function call sequences. This needs to be cleaned up. */
- {
- CORE_ADDR pcsqh, pcsqt, pcoqh, pcoqt, sr5;
- struct target_waitstatus w;
- int inst1, inst2;
- char buf[4];
- int status;
- struct objfile *objfile;
-
- /* We can not modify the PC space queues directly, so we start
- up the inferior and execute a couple instructions to set the
- space queues so that they point to the call dummy in the stack. */
- pcsqh = read_register (PCSQ_HEAD_REGNUM);
- sr5 = read_register (SR5_REGNUM);
- if (1)
- {
- pcoqh = read_register (PCOQ_HEAD_REGNUM);
- pcoqt = read_register (PCOQ_TAIL_REGNUM);
- if (target_read_memory (pcoqh, buf, 4) != 0)
- error ("Couldn't modify space queue\n");
- inst1 = extract_unsigned_integer (buf, 4);
-
- if (target_read_memory (pcoqt, buf, 4) != 0)
- error ("Couldn't modify space queue\n");
- inst2 = extract_unsigned_integer (buf, 4);
-
- /* BVE (r1) */
- *((int *) buf) = 0xe820d000;
- if (target_write_memory (pcoqh, buf, 4) != 0)
- error ("Couldn't modify space queue\n");
-
- /* NOP */
- *((int *) buf) = 0x08000240;
- if (target_write_memory (pcoqt, buf, 4) != 0)
- {
- *((int *) buf) = inst1;
- target_write_memory (pcoqh, buf, 4);
- error ("Couldn't modify space queue\n");
- }
-
- write_register (1, pc);
-
- /* Single step twice, the BVE instruction will set the space queue
- such that it points to the PC value written immediately above
- (ie the call dummy). */
- resume (1, 0);
- target_wait (inferior_ptid, &w);
- resume (1, 0);
- target_wait (inferior_ptid, &w);
-
- /* Restore the two instructions at the old PC locations. */
- *((int *) buf) = inst1;
- target_write_memory (pcoqh, buf, 4);
- *((int *) buf) = inst2;
- target_write_memory (pcoqt, buf, 4);
- }
-
- /* The call dummy wants the ultimate destination address initially
- in register %r5. */
- write_register (5, fun);
-
- /* We need to see if this objfile has a different DP value than our
- own (it could be a shared library for example). */
- ALL_OBJFILES (objfile)
- {
- struct obj_section *s;
- obj_private_data_t *obj_private;
-
- /* See if FUN is in any section within this shared library. */
- for (s = objfile->sections; s < objfile->sections_end; s++)
- if (s->addr <= fun && fun < s->endaddr)
- break;
-
- if (s >= objfile->sections_end)
- continue;
-
- obj_private = (obj_private_data_t *) objfile->obj_private;
-
- /* The DP value may be different for each objfile. But within an
- objfile each function uses the same dp value. Thus we do not need
- to grope around the opd section looking for dp values.
-
- ?!? This is not strictly correct since we may be in a shared library
- and want to call back into the main program. To make that case
- work correctly we need to set obj_private->dp for the main program's
- objfile, then remove this conditional. */
- if (obj_private->dp)
- write_register (27, obj_private->dp);
- break;
- }
- return pc;
- }
-#endif
-
-#ifndef GDB_TARGET_IS_HPPA_20W
- /* Prefer __gcc_plt_call over the HP supplied routine because
- __gcc_plt_call works for any number of arguments. */
- trampoline = NULL;
- if (lookup_minimal_symbol ("__gcc_plt_call", NULL, NULL) == NULL)
- using_gcc_plt_call = 0;
-
- msymbol = lookup_minimal_symbol ("$$dyncall", NULL, NULL);
- if (msymbol == NULL)
- error ("Can't find an address for $$dyncall trampoline");
-
- dyncall_addr = SYMBOL_VALUE_ADDRESS (msymbol);
-
- /* FUN could be a procedure label, in which case we have to get
- its real address and the value of its GOT/DP if we plan to
- call the routine via gcc_plt_call. */
- if ((fun & 0x2) && using_gcc_plt_call)
- {
- /* Get the GOT/DP value for the target function. It's
- at *(fun+4). Note the call dummy is *NOT* allowed to
- trash %r19 before calling the target function. */
- write_register (19, read_memory_integer ((fun & ~0x3) + 4,
- DEPRECATED_REGISTER_SIZE));
-
- /* Now get the real address for the function we are calling, it's
- at *fun. */
- fun = (CORE_ADDR) read_memory_integer (fun & ~0x3,
- TARGET_PTR_BIT / 8);
- }
- else
- {
-
-#ifndef GDB_TARGET_IS_PA_ELF
- /* FUN could be an export stub, the real address of a function, or
- a PLABEL. When using gcc's PLT call routine we must call an import
- stub rather than the export stub or real function for lazy binding
- to work correctly
-
- If we are using the gcc PLT call routine, then we need to
- get the import stub for the target function. */
- if (using_gcc_plt_call && som_solib_get_got_by_pc (fun))
- {
- struct objfile *objfile;
- struct minimal_symbol *funsymbol, *stub_symbol;
- CORE_ADDR newfun = 0;
-
- funsymbol = lookup_minimal_symbol_by_pc (fun);
- if (!funsymbol)
- error ("Unable to find minimal symbol for target function.\n");
-
- /* Search all the object files for an import symbol with the
- right name. */
- ALL_OBJFILES (objfile)
- {
- stub_symbol
- = lookup_minimal_symbol_solib_trampoline
- (DEPRECATED_SYMBOL_NAME (funsymbol), objfile);
-
- if (!stub_symbol)
- stub_symbol = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (funsymbol),
- NULL, objfile);
-
- /* Found a symbol with the right name. */
- if (stub_symbol)
- {
- struct unwind_table_entry *u;
- /* It must be a shared library trampoline. */
- if (MSYMBOL_TYPE (stub_symbol) != mst_solib_trampoline)
- continue;
-
- /* It must also be an import stub. */
- u = find_unwind_entry (SYMBOL_VALUE (stub_symbol));
- if (u == NULL
- || (u->stub_unwind.stub_type != IMPORT
-#ifdef GDB_NATIVE_HPUX_11
- /* Sigh. The hpux 10.20 dynamic linker will blow
- chunks if we perform a call to an unbound function
- via the IMPORT_SHLIB stub. The hpux 11.00 dynamic
- linker will blow chunks if we do not call the
- unbound function via the IMPORT_SHLIB stub.
-
- We currently have no way to select bevahior on just
- the target. However, we only support HPUX/SOM in
- native mode. So we conditinalize on a native
- #ifdef. Ugly. Ugly. Ugly */
- && u->stub_unwind.stub_type != IMPORT_SHLIB
-#endif
- ))
- continue;
-
- /* OK. Looks like the correct import stub. */
- newfun = SYMBOL_VALUE (stub_symbol);
- fun = newfun;
-
- /* If we found an IMPORT stub, then we want to stop
- searching now. If we found an IMPORT_SHLIB, we want
- to continue the search in the hopes that we will find
- an IMPORT stub. */
- if (u->stub_unwind.stub_type == IMPORT)
- break;
- }
- }
-
- /* Ouch. We did not find an import stub. Make an attempt to
- do the right thing instead of just croaking. Most of the
- time this will actually work. */
- if (newfun == 0)
- write_register (19, som_solib_get_got_by_pc (fun));
-
- u = find_unwind_entry (fun);
- if (u
- && (u->stub_unwind.stub_type == IMPORT
- || u->stub_unwind.stub_type == IMPORT_SHLIB))
- trampoline = lookup_minimal_symbol ("__gcc_plt_call", NULL, NULL);
-
- /* If we found the import stub in the shared library, then we have
- to set %r19 before we call the stub. */
- if (u && u->stub_unwind.stub_type == IMPORT_SHLIB)
- write_register (19, som_solib_get_got_by_pc (fun));
- }
-#endif
- }
-
- /* If we are calling into another load module then have sr4export call the
- magic __d_plt_call routine which is linked in from end.o.
-
- You can't use _sr4export to make the call as the value in sp-24 will get
- fried and you end up returning to the wrong location. You can't call the
- target as the code to bind the PLT entry to a function can't return to a
- stack address.
-
- Also, query the dynamic linker in the inferior to provide a suitable
- PLABEL for the target function. */
- if (!using_gcc_plt_call)
- {
- CORE_ADDR new_fun;
-
- /* Get a handle for the shared library containing FUN. Given the
- handle we can query the shared library for a PLABEL. */
- solib_handle = som_solib_get_solib_by_pc (fun);
-
- if (solib_handle)
- {
- struct minimal_symbol *fmsymbol = lookup_minimal_symbol_by_pc (fun);
-
- trampoline = lookup_minimal_symbol ("__d_plt_call", NULL, NULL);
-
- if (trampoline == NULL)
- {
- error ("Can't find an address for __d_plt_call or __gcc_plt_call trampoline\nSuggest linking executable with -g or compiling with gcc.");
- }
-
- /* This is where sr4export will jump to. */
- new_fun = SYMBOL_VALUE_ADDRESS (trampoline);
-
- /* If the function is in a shared library, then call __d_shl_get to
- get a PLABEL for the target function. */
- new_stub = find_stub_with_shl_get (fmsymbol, solib_handle);
-
- if (new_stub == 0)
- error ("Can't find an import stub for %s", DEPRECATED_SYMBOL_NAME (fmsymbol));
-
- /* We have to store the address of the stub in __shlib_funcptr. */
- msymbol = lookup_minimal_symbol ("__shlib_funcptr", NULL,
- (struct objfile *) NULL);
-
- if (msymbol == NULL)
- error ("Can't find an address for __shlib_funcptr");
- target_write_memory (SYMBOL_VALUE_ADDRESS (msymbol),
- (char *) &new_stub, 4);
-
- /* We want sr4export to call __d_plt_call, so we claim it is
- the final target. Clear trampoline. */
- fun = new_fun;
- trampoline = NULL;
- }
- }
-
- /* Store upper 21 bits of function address into ldil. fun will either be
- the final target (most cases) or __d_plt_call when calling into a shared
- library and __gcc_plt_call is not available. */
- store_unsigned_integer
- (&dummy[FUNC_LDIL_OFFSET],
- INSTRUCTION_SIZE,
- deposit_21 (fun >> 11,
- extract_unsigned_integer (&dummy[FUNC_LDIL_OFFSET],
- INSTRUCTION_SIZE)));
-
- /* Store lower 11 bits of function address into ldo */
- store_unsigned_integer
- (&dummy[FUNC_LDO_OFFSET],
- INSTRUCTION_SIZE,
- deposit_14 (fun & MASK_11,
- extract_unsigned_integer (&dummy[FUNC_LDO_OFFSET],
- INSTRUCTION_SIZE)));
-#ifdef SR4EXPORT_LDIL_OFFSET
-
- {
- CORE_ADDR trampoline_addr;
-
- /* We may still need sr4export's address too. */
-
- if (trampoline == NULL)
- {
- msymbol = lookup_minimal_symbol ("_sr4export", NULL, NULL);
- if (msymbol == NULL)
- error ("Can't find an address for _sr4export trampoline");
-
- trampoline_addr = SYMBOL_VALUE_ADDRESS (msymbol);
- }
- else
- trampoline_addr = SYMBOL_VALUE_ADDRESS (trampoline);
-
-
- /* Store upper 21 bits of trampoline's address into ldil */
- store_unsigned_integer
- (&dummy[SR4EXPORT_LDIL_OFFSET],
- INSTRUCTION_SIZE,
- deposit_21 (trampoline_addr >> 11,
- extract_unsigned_integer (&dummy[SR4EXPORT_LDIL_OFFSET],
- INSTRUCTION_SIZE)));
-
- /* Store lower 11 bits of trampoline's address into ldo */
- store_unsigned_integer
- (&dummy[SR4EXPORT_LDO_OFFSET],
- INSTRUCTION_SIZE,
- deposit_14 (trampoline_addr & MASK_11,
- extract_unsigned_integer (&dummy[SR4EXPORT_LDO_OFFSET],
- INSTRUCTION_SIZE)));
- }
-#endif
-
- write_register (22, pc);
-
- /* If we are in a syscall, then we should call the stack dummy
- directly. $$dyncall is not needed as the kernel sets up the
- space id registers properly based on the value in %r31. In
- fact calling $$dyncall will not work because the value in %r22
- will be clobbered on the syscall exit path.
-
- Similarly if the current PC is in a shared library. Note however,
- this scheme won't work if the shared library isn't mapped into
- the same space as the stack. */
- if (flags & 2)
- return pc;
-#ifndef GDB_TARGET_IS_PA_ELF
- else if (som_solib_get_got_by_pc (hppa_target_read_pc (inferior_ptid)))
- return pc;
-#endif
- else
- return dyncall_addr;
-#endif
-}
-
-/* If the pid is in a syscall, then the FP register is not readable.
- We'll return zero in that case, rather than attempting to read it
- and cause a warning. */
-
-CORE_ADDR
-hppa_read_fp (int pid)
-{
- int flags = read_register (FLAGS_REGNUM);
-
- if (flags & 2)
- {
- return (CORE_ADDR) 0;
- }
-
- /* This is the only site that may directly read_register () the FP
- register. All others must use deprecated_read_fp (). */
- return read_register (DEPRECATED_FP_REGNUM);
-}
-
-CORE_ADDR
-hppa_target_read_fp (void)
-{
- return hppa_read_fp (PIDGET (inferior_ptid));
-}
-
/* Get the PC from %r31 if currently in a syscall. Also mask out privilege
bits. */
@@ -2946,7 +1164,7 @@ hppa_target_read_pc (ptid_t ptid)
if (flags & 2)
return read_register_pid (31, ptid) & ~0x3;
- return read_register_pid (PC_REGNUM, ptid) & ~0x3;
+ return read_register_pid (PCOQ_HEAD_REGNUM, ptid) & ~0x3;
}
/* Write out the PC. If currently in a syscall, then also write the new
@@ -2965,7 +1183,7 @@ hppa_target_write_pc (CORE_ADDR v, ptid_t ptid)
if (flags & 2)
write_register_pid (31, v | 0x3, ptid);
- write_register_pid (PC_REGNUM, v, ptid);
+ write_register_pid (PCOQ_HEAD_REGNUM, v, ptid);
write_register_pid (PCOQ_TAIL_REGNUM, v + 4, ptid);
}
@@ -3004,390 +1222,6 @@ hppa_alignof (struct type *type)
}
}
-/* Print the register regnum, or all registers if regnum is -1 */
-
-void
-pa_do_registers_info (int regnum, int fpregs)
-{
- char *raw_regs = alloca (DEPRECATED_REGISTER_BYTES);
- int i;
-
- /* Make a copy of gdb's save area (may cause actual
- reads from the target). */
- for (i = 0; i < NUM_REGS; i++)
- frame_register_read (deprecated_selected_frame, i,
- raw_regs + DEPRECATED_REGISTER_BYTE (i));
-
- if (regnum == -1)
- pa_print_registers (raw_regs, regnum, fpregs);
- else if (regnum < FP4_REGNUM)
- {
- long reg_val[2];
-
- /* Why is the value not passed through "extract_signed_integer"
- as in "pa_print_registers" below? */
- pa_register_look_aside (raw_regs, regnum, &reg_val[0]);
-
- if (!is_pa_2)
- {
- printf_unfiltered ("%s %lx\n", REGISTER_NAME (regnum), reg_val[1]);
- }
- else
- {
- /* Fancy % formats to prevent leading zeros. */
- if (reg_val[0] == 0)
- printf_unfiltered ("%s %lx\n", REGISTER_NAME (regnum), reg_val[1]);
- else
- printf_unfiltered ("%s %lx%8.8lx\n", REGISTER_NAME (regnum),
- reg_val[0], reg_val[1]);
- }
- }
- else
- /* Note that real floating point values only start at
- FP4_REGNUM. FP0 and up are just status and error
- registers, which have integral (bit) values. */
- pa_print_fp_reg (regnum);
-}
-
-/********** new function ********************/
-void
-pa_do_strcat_registers_info (int regnum, int fpregs, struct ui_file *stream,
- enum precision_type precision)
-{
- char *raw_regs = alloca (DEPRECATED_REGISTER_BYTES);
- int i;
-
- /* Make a copy of gdb's save area (may cause actual
- reads from the target). */
- for (i = 0; i < NUM_REGS; i++)
- frame_register_read (deprecated_selected_frame, i,
- raw_regs + DEPRECATED_REGISTER_BYTE (i));
-
- if (regnum == -1)
- pa_strcat_registers (raw_regs, regnum, fpregs, stream);
-
- else if (regnum < FP4_REGNUM)
- {
- long reg_val[2];
-
- /* Why is the value not passed through "extract_signed_integer"
- as in "pa_print_registers" below? */
- pa_register_look_aside (raw_regs, regnum, &reg_val[0]);
-
- if (!is_pa_2)
- {
- fprintf_unfiltered (stream, "%s %lx", REGISTER_NAME (regnum), reg_val[1]);
- }
- else
- {
- /* Fancy % formats to prevent leading zeros. */
- if (reg_val[0] == 0)
- fprintf_unfiltered (stream, "%s %lx", REGISTER_NAME (regnum),
- reg_val[1]);
- else
- fprintf_unfiltered (stream, "%s %lx%8.8lx", REGISTER_NAME (regnum),
- reg_val[0], reg_val[1]);
- }
- }
- else
- /* Note that real floating point values only start at
- FP4_REGNUM. FP0 and up are just status and error
- registers, which have integral (bit) values. */
- pa_strcat_fp_reg (regnum, stream, precision);
-}
-
-/* If this is a PA2.0 machine, fetch the real 64-bit register
- value. Otherwise use the info from gdb's saved register area.
-
- Note that reg_val is really expected to be an array of longs,
- with two elements. */
-static void
-pa_register_look_aside (char *raw_regs, int regnum, long *raw_val)
-{
- static int know_which = 0; /* False */
-
- int regaddr;
- unsigned int offset;
- int i;
- int start;
-
-
- char buf[MAX_REGISTER_SIZE];
- long long reg_val;
-
- if (!know_which)
- {
- if (CPU_PA_RISC2_0 == sysconf (_SC_CPU_VERSION))
- {
- is_pa_2 = (1 == 1);
- }
-
- know_which = 1; /* True */
- }
-
- raw_val[0] = 0;
- raw_val[1] = 0;
-
- if (!is_pa_2)
- {
- raw_val[1] = *(long *) (raw_regs + DEPRECATED_REGISTER_BYTE (regnum));
- return;
- }
-
- /* Code below copied from hppah-nat.c, with fixes for wide
- registers, using different area of save_state, etc. */
- if (regnum == FLAGS_REGNUM || regnum >= FP0_REGNUM ||
- !HAVE_STRUCT_SAVE_STATE_T || !HAVE_STRUCT_MEMBER_SS_WIDE)
- {
- /* Use narrow regs area of save_state and default macro. */
- offset = U_REGS_OFFSET;
- regaddr = register_addr (regnum, offset);
- start = 1;
- }
- else
- {
- /* Use wide regs area, and calculate registers as 8 bytes wide.
-
- We'd like to do this, but current version of "C" doesn't
- permit "offsetof":
-
- offset = offsetof(save_state_t, ss_wide);
-
- Note that to avoid "C" doing typed pointer arithmetic, we
- have to cast away the type in our offset calculation:
- otherwise we get an offset of 1! */
-
- /* NB: save_state_t is not available before HPUX 9.
- The ss_wide field is not available previous to HPUX 10.20,
- so to avoid compile-time warnings, we only compile this for
- PA 2.0 processors. This control path should only be followed
- if we're debugging a PA 2.0 processor, so this should not cause
- problems. */
-
- /* #if the following code out so that this file can still be
- compiled on older HPUX boxes (< 10.20) which don't have
- this structure/structure member. */
-#if HAVE_STRUCT_SAVE_STATE_T == 1 && HAVE_STRUCT_MEMBER_SS_WIDE == 1
- save_state_t temp;
-
- offset = ((int) &temp.ss_wide) - ((int) &temp);
- regaddr = offset + regnum * 8;
- start = 0;
-#endif
- }
-
- for (i = start; i < 2; i++)
- {
- errno = 0;
- raw_val[i] = call_ptrace (PT_RUREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) regaddr, 0);
- if (errno != 0)
- {
- /* Warning, not error, in case we are attached; sometimes the
- kernel doesn't let us at the registers. */
- char *err = safe_strerror (errno);
- char *msg = alloca (strlen (err) + 128);
- sprintf (msg, "reading register %s: %s", REGISTER_NAME (regnum), err);
- warning (msg);
- goto error_exit;
- }
-
- regaddr += sizeof (long);
- }
-
- if (regnum == PCOQ_HEAD_REGNUM || regnum == PCOQ_TAIL_REGNUM)
- raw_val[1] &= ~0x3; /* I think we're masking out space bits */
-
-error_exit:
- ;
-}
-
-/* "Info all-reg" command */
-
-static void
-pa_print_registers (char *raw_regs, int regnum, int fpregs)
-{
- int i, j;
- /* Alas, we are compiled so that "long long" is 32 bits */
- long raw_val[2];
- long long_val;
- int rows = 48, columns = 2;
-
- for (i = 0; i < rows; i++)
- {
- for (j = 0; j < columns; j++)
- {
- /* We display registers in column-major order. */
- int regnum = i + j * rows;
-
- /* Q: Why is the value passed through "extract_signed_integer",
- while above, in "pa_do_registers_info" it isn't?
- A: ? */
- pa_register_look_aside (raw_regs, regnum, &raw_val[0]);
-
- /* Even fancier % formats to prevent leading zeros
- and still maintain the output in columns. */
- if (!is_pa_2)
- {
- /* Being big-endian, on this machine the low bits
- (the ones we want to look at) are in the second longword. */
- long_val = extract_signed_integer (&raw_val[1], 4);
- printf_filtered ("%10.10s: %8lx ",
- REGISTER_NAME (regnum), long_val);
- }
- else
- {
- /* raw_val = extract_signed_integer(&raw_val, 8); */
- if (raw_val[0] == 0)
- printf_filtered ("%10.10s: %8lx ",
- REGISTER_NAME (regnum), raw_val[1]);
- else
- printf_filtered ("%10.10s: %8lx%8.8lx ",
- REGISTER_NAME (regnum),
- raw_val[0], raw_val[1]);
- }
- }
- printf_unfiltered ("\n");
- }
-
- if (fpregs)
- for (i = FP4_REGNUM; i < NUM_REGS; i++) /* FP4_REGNUM == 72 */
- pa_print_fp_reg (i);
-}
-
-/************* new function ******************/
-static void
-pa_strcat_registers (char *raw_regs, int regnum, int fpregs,
- struct ui_file *stream)
-{
- int i, j;
- long raw_val[2]; /* Alas, we are compiled so that "long long" is 32 bits */
- long long_val;
- enum precision_type precision;
-
- precision = unspecified_precision;
-
- for (i = 0; i < 18; i++)
- {
- for (j = 0; j < 4; j++)
- {
- /* Q: Why is the value passed through "extract_signed_integer",
- while above, in "pa_do_registers_info" it isn't?
- A: ? */
- pa_register_look_aside (raw_regs, i + (j * 18), &raw_val[0]);
-
- /* Even fancier % formats to prevent leading zeros
- and still maintain the output in columns. */
- if (!is_pa_2)
- {
- /* Being big-endian, on this machine the low bits
- (the ones we want to look at) are in the second longword. */
- long_val = extract_signed_integer (&raw_val[1], 4);
- fprintf_filtered (stream, "%8.8s: %8lx ",
- REGISTER_NAME (i + (j * 18)), long_val);
- }
- else
- {
- /* raw_val = extract_signed_integer(&raw_val, 8); */
- if (raw_val[0] == 0)
- fprintf_filtered (stream, "%8.8s: %8lx ",
- REGISTER_NAME (i + (j * 18)), raw_val[1]);
- else
- fprintf_filtered (stream, "%8.8s: %8lx%8.8lx ",
- REGISTER_NAME (i + (j * 18)), raw_val[0],
- raw_val[1]);
- }
- }
- fprintf_unfiltered (stream, "\n");
- }
-
- if (fpregs)
- for (i = FP4_REGNUM; i < NUM_REGS; i++) /* FP4_REGNUM == 72 */
- pa_strcat_fp_reg (i, stream, precision);
-}
-
-static void
-pa_print_fp_reg (int i)
-{
- char raw_buffer[MAX_REGISTER_SIZE];
- char virtual_buffer[MAX_REGISTER_SIZE];
-
- /* Get 32bits of data. */
- frame_register_read (deprecated_selected_frame, i, raw_buffer);
-
- /* Put it in the buffer. No conversions are ever necessary. */
- memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (i));
-
- fputs_filtered (REGISTER_NAME (i), gdb_stdout);
- print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), gdb_stdout);
- fputs_filtered ("(single precision) ", gdb_stdout);
-
- val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0, gdb_stdout, 0,
- 1, 0, Val_pretty_default);
- printf_filtered ("\n");
-
- /* If "i" is even, then this register can also be a double-precision
- FP register. Dump it out as such. */
- if ((i % 2) == 0)
- {
- /* Get the data in raw format for the 2nd half. */
- frame_register_read (deprecated_selected_frame, i + 1, raw_buffer);
-
- /* Copy it into the appropriate part of the virtual buffer. */
- memcpy (virtual_buffer + DEPRECATED_REGISTER_RAW_SIZE (i), raw_buffer,
- DEPRECATED_REGISTER_RAW_SIZE (i));
-
- /* Dump it as a double. */
- fputs_filtered (REGISTER_NAME (i), gdb_stdout);
- print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), gdb_stdout);
- fputs_filtered ("(double precision) ", gdb_stdout);
-
- val_print (builtin_type_double, virtual_buffer, 0, 0, gdb_stdout, 0,
- 1, 0, Val_pretty_default);
- printf_filtered ("\n");
- }
-}
-
-/*************** new function ***********************/
-static void
-pa_strcat_fp_reg (int i, struct ui_file *stream, enum precision_type precision)
-{
- char raw_buffer[MAX_REGISTER_SIZE];
- char virtual_buffer[MAX_REGISTER_SIZE];
-
- fputs_filtered (REGISTER_NAME (i), stream);
- print_spaces_filtered (8 - strlen (REGISTER_NAME (i)), stream);
-
- /* Get 32bits of data. */
- frame_register_read (deprecated_selected_frame, i, raw_buffer);
-
- /* Put it in the buffer. No conversions are ever necessary. */
- memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_RAW_SIZE (i));
-
- if (precision == double_precision && (i % 2) == 0)
- {
-
- char raw_buf[MAX_REGISTER_SIZE];
-
- /* Get the data in raw format for the 2nd half. */
- frame_register_read (deprecated_selected_frame, i + 1, raw_buf);
-
- /* Copy it into the appropriate part of the virtual buffer. */
- memcpy (virtual_buffer + DEPRECATED_REGISTER_RAW_SIZE (i), raw_buf,
- DEPRECATED_REGISTER_RAW_SIZE (i));
-
- val_print (builtin_type_double, virtual_buffer, 0, 0, stream, 0,
- 1, 0, Val_pretty_default);
-
- }
- else
- {
- val_print (DEPRECATED_REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, 0, stream, 0,
- 1, 0, Val_pretty_default);
- }
-
-}
-
/* Return one if PC is in the call path of a trampoline, else return zero.
Note we return one for *any* call trampoline (long-call, arg-reloc), not
@@ -3861,7 +1695,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
rp from sp - 8. */
if (prev_inst == 0x4bc23ff1)
return (read_memory_integer
- (read_register (SP_REGNUM) - 8, 4)) & ~0x3;
+ (read_register (HPPA_SP_REGNUM) - 8, 4)) & ~0x3;
else
{
warning ("Unable to find restore of %%rp before bv (%%rp).");
@@ -3875,7 +1709,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
else if ((curr_inst & 0xffe0f000) == 0xe840d000)
{
return (read_memory_integer
- (read_register (SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
+ (read_register (HPPA_SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
}
/* What about be,n 0(sr0,%rp)? It's just another way we return to
@@ -3887,7 +1721,7 @@ hppa_skip_trampoline_code (CORE_ADDR pc)
I guess we could check for the previous instruction being
mtsp %r1,%sr0 if we want to do sanity checking. */
return (read_memory_integer
- (read_register (SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
+ (read_register (HPPA_SP_REGNUM) - 24, TARGET_PTR_BIT / 8)) & ~0x3;
}
/* Haven't found the branch yet, but we're still in the stub.
@@ -4074,7 +1908,7 @@ restart:
for (i = 3; i < u->Entry_GR + 3; i++)
{
/* Frame pointer gets saved into a special location. */
- if (u->Save_SP && i == DEPRECATED_FP_REGNUM)
+ if (u->Save_SP && i == HPPA_FP_REGNUM)
continue;
save_gr |= (1 << i);
@@ -4335,262 +2169,6 @@ hppa_skip_prologue (CORE_ADDR pc)
return (skip_prologue_hard_way (pc));
}
-/* Put here the code to store, into the SAVED_REGS, the addresses of
- the saved registers of frame described by FRAME_INFO. This
- includes special registers such as pc and fp saved in special ways
- in the stack frame. sp is even more special: the address we return
- for it IS the sp for the next frame. */
-
-void
-hppa_frame_find_saved_regs (struct frame_info *frame_info,
- CORE_ADDR frame_saved_regs[])
-{
- CORE_ADDR pc;
- struct unwind_table_entry *u;
- unsigned long inst, stack_remaining, save_gr, save_fr, save_rp, save_sp;
- int status, i, reg;
- char buf[4];
- int fp_loc = -1;
- int final_iteration;
-
- /* Zero out everything. */
- memset (frame_saved_regs, '\0', SIZEOF_FRAME_SAVED_REGS);
-
- /* Call dummy frames always look the same, so there's no need to
- examine the dummy code to determine locations of saved registers;
- instead, let find_dummy_frame_regs fill in the correct offsets
- for the saved registers. */
- if ((get_frame_pc (frame_info) >= get_frame_base (frame_info)
- && (get_frame_pc (frame_info)
- <= (get_frame_base (frame_info)
- /* A call dummy is sized in words, but it is actually a
- series of instructions. Account for that scaling
- factor. */
- + ((DEPRECATED_REGISTER_SIZE / INSTRUCTION_SIZE)
- * DEPRECATED_CALL_DUMMY_LENGTH)
- /* Similarly we have to account for 64bit wide register
- saves. */
- + (32 * DEPRECATED_REGISTER_SIZE)
- /* We always consider FP regs 8 bytes long. */
- + (NUM_REGS - FP0_REGNUM) * 8
- /* Similarly we have to account for 64bit wide register
- saves. */
- + (6 * DEPRECATED_REGISTER_SIZE)))))
- find_dummy_frame_regs (frame_info, frame_saved_regs);
-
- /* Interrupt handlers are special too. They lay out the register
- state in the exact same order as the register numbers in GDB. */
- if (pc_in_interrupt_handler (get_frame_pc (frame_info)))
- {
- for (i = 0; i < NUM_REGS; i++)
- {
- /* SP is a little special. */
- if (i == SP_REGNUM)
- frame_saved_regs[SP_REGNUM]
- = read_memory_integer (get_frame_base (frame_info) + SP_REGNUM * 4,
- TARGET_PTR_BIT / 8);
- else
- frame_saved_regs[i] = get_frame_base (frame_info) + i * 4;
- }
- return;
- }
-
-#ifdef FRAME_FIND_SAVED_REGS_IN_SIGTRAMP
- /* Handle signal handler callers. */
- if ((get_frame_type (frame_info) == SIGTRAMP_FRAME))
- {
- FRAME_FIND_SAVED_REGS_IN_SIGTRAMP (frame_info, frame_saved_regs);
- return;
- }
-#endif
-
- /* Get the starting address of the function referred to by the PC
- saved in frame. */
- pc = get_frame_func (frame_info);
-
- /* Yow! */
- u = find_unwind_entry (pc);
- if (!u)
- return;
-
- /* This is how much of a frame adjustment we need to account for. */
- stack_remaining = u->Total_frame_size << 3;
-
- /* Magic register saves we want to know about. */
- save_rp = u->Save_RP;
- save_sp = u->Save_SP;
-
- /* Turn the Entry_GR field into a bitmask. */
- save_gr = 0;
- for (i = 3; i < u->Entry_GR + 3; i++)
- {
- /* Frame pointer gets saved into a special location. */
- if (u->Save_SP && i == DEPRECATED_FP_REGNUM)
- continue;
-
- save_gr |= (1 << i);
- }
-
- /* Turn the Entry_FR field into a bitmask too. */
- save_fr = 0;
- for (i = 12; i < u->Entry_FR + 12; i++)
- save_fr |= (1 << i);
-
- /* The frame always represents the value of %sp at entry to the
- current function (and is thus equivalent to the "saved" stack
- pointer. */
- frame_saved_regs[SP_REGNUM] = get_frame_base (frame_info);
-
- /* Loop until we find everything of interest or hit a branch.
-
- For unoptimized GCC code and for any HP CC code this will never ever
- examine any user instructions.
-
- For optimized GCC code we're faced with problems. GCC will schedule
- its prologue and make prologue instructions available for delay slot
- filling. The end result is user code gets mixed in with the prologue
- and a prologue instruction may be in the delay slot of the first branch
- or call.
-
- Some unexpected things are expected with debugging optimized code, so
- we allow this routine to walk past user instructions in optimized
- GCC code. */
- final_iteration = 0;
- while ((save_gr || save_fr || save_rp || save_sp || stack_remaining > 0)
- && pc <= get_frame_pc (frame_info))
- {
- status = target_read_memory (pc, buf, 4);
- inst = extract_unsigned_integer (buf, 4);
-
- /* Yow! */
- if (status != 0)
- return;
-
- /* Note the interesting effects of this instruction. */
- stack_remaining -= prologue_inst_adjust_sp (inst);
-
- /* There are limited ways to store the return pointer into the
- stack. */
- if (inst == 0x6bc23fd9) /* stw rp,-0x14(sr0,sp) */
- {
- save_rp = 0;
- frame_saved_regs[RP_REGNUM] = get_frame_base (frame_info) - 20;
- }
- else if (inst == 0x0fc212c1) /* std rp,-0x10(sr0,sp) */
- {
- save_rp = 0;
- frame_saved_regs[RP_REGNUM] = get_frame_base (frame_info) - 16;
- }
-
- /* Note if we saved SP into the stack. This also happens to indicate
- the location of the saved frame pointer. */
- if ( (inst & 0xffffc000) == 0x6fc10000 /* stw,ma r1,N(sr0,sp) */
- || (inst & 0xffffc00c) == 0x73c10008) /* std,ma r1,N(sr0,sp) */
- {
- frame_saved_regs[DEPRECATED_FP_REGNUM] = get_frame_base (frame_info);
- save_sp = 0;
- }
-
- /* Account for general and floating-point register saves. */
- reg = inst_saves_gr (inst);
- if (reg >= 3 && reg <= 18
- && (!u->Save_SP || reg != DEPRECATED_FP_REGNUM))
- {
- save_gr &= ~(1 << reg);
-
- /* stwm with a positive displacement is a *post modify*. */
- if ((inst >> 26) == 0x1b
- && extract_14 (inst) >= 0)
- frame_saved_regs[reg] = get_frame_base (frame_info);
- /* A std has explicit post_modify forms. */
- else if ((inst & 0xfc00000c) == 0x70000008)
- frame_saved_regs[reg] = get_frame_base (frame_info);
- else
- {
- CORE_ADDR offset;
-
- if ((inst >> 26) == 0x1c)
- offset = (inst & 0x1 ? -1 << 13 : 0) | (((inst >> 4) & 0x3ff) << 3);
- else if ((inst >> 26) == 0x03)
- offset = low_sign_extend (inst & 0x1f, 5);
- else
- offset = extract_14 (inst);
-
- /* Handle code with and without frame pointers. */
- if (u->Save_SP)
- frame_saved_regs[reg]
- = get_frame_base (frame_info) + offset;
- else
- frame_saved_regs[reg]
- = (get_frame_base (frame_info) + (u->Total_frame_size << 3)
- + offset);
- }
- }
-
-
- /* GCC handles callee saved FP regs a little differently.
-
- It emits an instruction to put the value of the start of
- the FP store area into %r1. It then uses fstds,ma with
- a basereg of %r1 for the stores.
-
- HP CC emits them at the current stack pointer modifying
- the stack pointer as it stores each register. */
-
- /* ldo X(%r3),%r1 or ldo X(%r30),%r1. */
- if ((inst & 0xffffc000) == 0x34610000
- || (inst & 0xffffc000) == 0x37c10000)
- fp_loc = extract_14 (inst);
-
- reg = inst_saves_fr (inst);
- if (reg >= 12 && reg <= 21)
- {
- /* Note +4 braindamage below is necessary because the FP status
- registers are internally 8 registers rather than the expected
- 4 registers. */
- save_fr &= ~(1 << reg);
- if (fp_loc == -1)
- {
- /* 1st HP CC FP register store. After this instruction
- we've set enough state that the GCC and HPCC code are
- both handled in the same manner. */
- frame_saved_regs[reg + FP4_REGNUM + 4] = get_frame_base (frame_info);
- fp_loc = 8;
- }
- else
- {
- frame_saved_regs[reg + FP0_REGNUM + 4]
- = get_frame_base (frame_info) + fp_loc;
- fp_loc += 8;
- }
- }
-
- /* Quit if we hit any kind of branch the previous iteration. */
- if (final_iteration)
- break;
-
- /* We want to look precisely one instruction beyond the branch
- if we have not found everything yet. */
- if (is_branch (inst))
- final_iteration = 1;
-
- /* Bump the PC. */
- pc += 4;
- }
-}
-
-/* XXX - deprecated. This is a compatibility function for targets
- that do not yet implement DEPRECATED_FRAME_INIT_SAVED_REGS. */
-/* Find the addresses in which registers are saved in FRAME. */
-
-static void
-hppa_frame_init_saved_regs (struct frame_info *frame)
-{
- if (deprecated_get_frame_saved_regs (frame) == NULL)
- frame_saved_regs_zalloc (frame);
- hppa_frame_find_saved_regs (frame, deprecated_get_frame_saved_regs (frame));
-}
-
struct hppa_frame_cache
{
CORE_ADDR base;
@@ -4624,7 +2202,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
for (i = 3; i < u->Entry_GR + 3; i++)
{
/* Frame pointer gets saved into a special location. */
- if (u->Save_SP && i == DEPRECATED_FP_REGNUM)
+ if (u->Save_SP && i == HPPA_FP_REGNUM)
continue;
saved_gr_mask |= (1 << i);
@@ -4694,13 +2272,13 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|| (inst & 0xffffc00c) == 0x73c10008) /* std,ma r1,N(sr0,sp) */
{
looking_for_sp = 0;
- cache->saved_regs[DEPRECATED_FP_REGNUM].addr = 0;
+ cache->saved_regs[HPPA_FP_REGNUM].addr = 0;
}
/* Account for general and floating-point register saves. */
reg = inst_saves_gr (inst);
if (reg >= 3 && reg <= 18
- && (!u->Save_SP || reg != DEPRECATED_FP_REGNUM))
+ && (!u->Save_SP || reg != HPPA_FP_REGNUM))
{
saved_gr_mask &= ~(1 << reg);
if ((inst >> 26) == 0x1b && extract_14 (inst) >= 0)
@@ -4760,7 +2338,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
}
else
{
- cache->saved_regs[reg + FP0_REGNUM + 4].addr = fp_loc;
+ cache->saved_regs[reg + HPPA_FP0_REGNUM + 4].addr = fp_loc;
fp_loc += 8;
}
}
@@ -4779,10 +2357,10 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
/* The frame base always represents the value of %sp at entry to
the current function (and is thus equivalent to the "saved"
stack pointer. */
- CORE_ADDR this_sp = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
+ CORE_ADDR this_sp = frame_unwind_register_unsigned (next_frame, HPPA_SP_REGNUM);
/* FIXME: cagney/2004-02-22: This assumes that the frame has been
created. If it hasn't everything will be out-of-wack. */
- if (u->Save_SP && trad_frame_addr_p (cache->saved_regs, SP_REGNUM))
+ if (u->Save_SP && trad_frame_addr_p (cache->saved_regs, HPPA_SP_REGNUM))
/* Both we're expecting the SP to be saved and the SP has been
saved. The entry SP value is saved at this frame's SP
address. */
@@ -4791,7 +2369,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
/* The prologue has been slowly allocating stack space. Adjust
the SP back. */
cache->base = this_sp - frame_size;
- trad_frame_set_value (cache->saved_regs, SP_REGNUM, cache->base);
+ trad_frame_set_value (cache->saved_regs, HPPA_SP_REGNUM, cache->base);
}
/* The PC is found in the "return register", "Millicode" uses "r31"
@@ -4901,14 +2479,14 @@ static struct frame_id
hppa_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
return frame_id_build (frame_unwind_register_unsigned (next_frame,
- SP_REGNUM),
+ HPPA_SP_REGNUM),
frame_pc_unwind (next_frame));
}
static CORE_ADDR
hppa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
- return frame_unwind_register_signed (next_frame, PC_REGNUM) & ~3;
+ return frame_unwind_register_signed (next_frame, PCOQ_HEAD_REGNUM) & ~3;
}
/* Exception handling support for the HP-UX ANSI C++ compiler.
@@ -5462,62 +3040,6 @@ hppa_skip_permanent_breakpoint (void)
/* We can leave the tail's space the same, since there's no jump. */
}
-/* Same as hppa32_store_return_value(), but for the PA64 ABI. */
-
-void
-hppa64_store_return_value (struct type *type, char *valbuf)
-{
- if (TYPE_CODE (type) == TYPE_CODE_FLT)
- deprecated_write_register_bytes
- (DEPRECATED_REGISTER_BYTE (FP4_REGNUM)
- + DEPRECATED_REGISTER_SIZE - TYPE_LENGTH (type),
- valbuf, TYPE_LENGTH (type));
- else if (is_integral_type(type))
- deprecated_write_register_bytes
- (DEPRECATED_REGISTER_BYTE (28)
- + DEPRECATED_REGISTER_SIZE - TYPE_LENGTH (type),
- valbuf, TYPE_LENGTH (type));
- else if (TYPE_LENGTH (type) <= 8)
- deprecated_write_register_bytes
- (DEPRECATED_REGISTER_BYTE (28),valbuf, TYPE_LENGTH (type));
- else if (TYPE_LENGTH (type) <= 16)
- {
- deprecated_write_register_bytes (DEPRECATED_REGISTER_BYTE (28),valbuf, 8);
- deprecated_write_register_bytes
- (DEPRECATED_REGISTER_BYTE (29), valbuf + 8, TYPE_LENGTH (type) - 8);
- }
-}
-
-/* Same as hppa32_extract_return_value but for the PA64 ABI case. */
-
-void
-hppa64_extract_return_value (struct type *type, char *regbuf, char *valbuf)
-{
- /* RM: Floats are returned in FR4R, doubles in FR4.
- Integral values are in r28, padded on the left.
- Aggregates less that 65 bits are in r28, right padded.
- Aggregates upto 128 bits are in r28 and r29, right padded. */
- if (TYPE_CODE (type) == TYPE_CODE_FLT)
- memcpy (valbuf,
- regbuf + DEPRECATED_REGISTER_BYTE (FP4_REGNUM)
- + DEPRECATED_REGISTER_SIZE - TYPE_LENGTH (type),
- TYPE_LENGTH (type));
- else if (is_integral_type(type))
- memcpy (valbuf,
- regbuf + DEPRECATED_REGISTER_BYTE (28)
- + DEPRECATED_REGISTER_SIZE - TYPE_LENGTH (type),
- TYPE_LENGTH (type));
- else if (TYPE_LENGTH (type) <= 8)
- memcpy (valbuf, regbuf + DEPRECATED_REGISTER_BYTE (28),
- TYPE_LENGTH (type));
- else if (TYPE_LENGTH (type) <= 16)
- {
- memcpy (valbuf, regbuf + DEPRECATED_REGISTER_BYTE (28), 8);
- memcpy (valbuf + 8, regbuf + DEPRECATED_REGISTER_BYTE (29),
- TYPE_LENGTH (type) - 8);
- }
-}
-
int
hppa_reg_struct_has_addr (int gcc_p, struct type *type)
{
@@ -5533,13 +3055,6 @@ hppa_inner_than (CORE_ADDR lhs, CORE_ADDR rhs)
return (lhs > rhs);
}
-CORE_ADDR
-hppa64_stack_align (CORE_ADDR sp)
-{
- /* The PA64 ABI mandates a 16 byte stack alignment. */
- return ((sp % 16) ? (sp + 15) & -16 : sp);
-}
-
int
hppa_pc_requires_run_before_use (CORE_ADDR pc)
{
@@ -5580,56 +3095,30 @@ hppa_instruction_nullified (void)
return ((ipsw & 0x00200000) && !(flags & 0x2));
}
-int
-hppa_register_raw_size (int reg_nr)
-{
- /* All registers have the same size. */
- return DEPRECATED_REGISTER_SIZE;
-}
-
-/* Index within the register vector of the first byte of the space i
- used for register REG_NR. */
-
-int
-hppa_register_byte (int reg_nr)
-{
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
-
- return reg_nr * tdep->bytes_per_address;
-}
-
/* Return the GDB type object for the "standard" data type of data
in register N. */
-struct type *
-hppa32_register_virtual_type (int reg_nr)
+static struct type *
+hppa32_register_type (struct gdbarch *gdbarch, int reg_nr)
{
if (reg_nr < FP4_REGNUM)
- return builtin_type_int;
+ return builtin_type_uint32;
else
- return builtin_type_float;
+ return builtin_type_ieee_single_big;
}
/* Return the GDB type object for the "standard" data type of data
in register N. hppa64 version. */
-struct type *
-hppa64_register_virtual_type (int reg_nr)
+static struct type *
+hppa64_register_type (struct gdbarch *gdbarch, int reg_nr)
{
if (reg_nr < FP4_REGNUM)
- return builtin_type_unsigned_long_long;
+ return builtin_type_uint64;
else
- return builtin_type_double;
+ return builtin_type_ieee_double_big;
}
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-void
-hppa_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
-{
- write_register (28, addr);
-}
/* Return True if REGNUM is not a register available to the user
through ptrace(). */
@@ -5740,24 +3229,18 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
case 4:
set_gdbarch_num_regs (gdbarch, hppa32_num_regs);
set_gdbarch_register_name (gdbarch, hppa32_register_name);
- set_gdbarch_deprecated_register_virtual_type
- (gdbarch, hppa32_register_virtual_type);
+ set_gdbarch_register_type (gdbarch, hppa32_register_type);
break;
case 8:
set_gdbarch_num_regs (gdbarch, hppa64_num_regs);
set_gdbarch_register_name (gdbarch, hppa64_register_name);
- set_gdbarch_deprecated_register_virtual_type
- (gdbarch, hppa64_register_virtual_type);
+ set_gdbarch_register_type (gdbarch, hppa64_register_type);
break;
default:
internal_error (__FILE__, __LINE__, "Unsupported address size: %d",
tdep->bytes_per_address);
}
- /* The following gdbarch vector elements depend on other parts of this
- vector which have been set above, depending on the ABI. */
- set_gdbarch_deprecated_register_bytes
- (gdbarch, gdbarch_num_regs (gdbarch) * tdep->bytes_per_address);
set_gdbarch_long_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
set_gdbarch_ptr_bit (gdbarch, tdep->bytes_per_address * TARGET_CHAR_BIT);
@@ -5775,23 +3258,14 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_in_solib_return_trampoline (gdbarch,
hppa_in_solib_return_trampoline);
set_gdbarch_inner_than (gdbarch, hppa_inner_than);
- set_gdbarch_deprecated_register_size (gdbarch, tdep->bytes_per_address);
- set_gdbarch_deprecated_fp_regnum (gdbarch, 3);
- set_gdbarch_sp_regnum (gdbarch, 30);
- set_gdbarch_fp0_regnum (gdbarch, 64);
- set_gdbarch_pc_regnum (gdbarch, PCOQ_HEAD_REGNUM);
- set_gdbarch_deprecated_register_raw_size (gdbarch, hppa_register_raw_size);
- set_gdbarch_deprecated_register_byte (gdbarch, hppa_register_byte);
- set_gdbarch_deprecated_register_virtual_size (gdbarch, hppa_register_raw_size);
- set_gdbarch_deprecated_max_register_raw_size (gdbarch, tdep->bytes_per_address);
- set_gdbarch_deprecated_max_register_virtual_size (gdbarch, 8);
+ set_gdbarch_sp_regnum (gdbarch, HPPA_SP_REGNUM);
+ set_gdbarch_fp0_regnum (gdbarch, HPPA_FP0_REGNUM);
set_gdbarch_cannot_store_register (gdbarch, hppa_cannot_store_register);
set_gdbarch_addr_bits_remove (gdbarch, hppa_smash_text_address);
set_gdbarch_smash_text_address (gdbarch, hppa_smash_text_address);
set_gdbarch_believe_pcc_promotion (gdbarch, 1);
set_gdbarch_read_pc (gdbarch, hppa_target_read_pc);
set_gdbarch_write_pc (gdbarch, hppa_target_write_pc);
- set_gdbarch_deprecated_target_read_fp (gdbarch, hppa_target_read_fp);
/* Helper for function argument information. */
set_gdbarch_fetch_pointer_argument (gdbarch, hppa_fetch_pointer_argument);
@@ -5812,26 +3286,11 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_frame_align (gdbarch, hppa32_frame_align);
break;
case 8:
- if (0)
- {
- set_gdbarch_push_dummy_call (gdbarch, hppa64_push_dummy_call);
- set_gdbarch_frame_align (gdbarch, hppa64_frame_align);
- break;
- }
- else
- {
- set_gdbarch_deprecated_call_dummy_breakpoint_offset (gdbarch, hppa64_call_dummy_breakpoint_offset);
- set_gdbarch_deprecated_call_dummy_length (gdbarch, hppa64_call_dummy_length);
- set_gdbarch_deprecated_stack_align (gdbarch, hppa64_stack_align);
- break;
- set_gdbarch_deprecated_push_dummy_frame (gdbarch, hppa_push_dummy_frame);
- /* set_gdbarch_deprecated_fix_call_dummy (gdbarch, hppa_fix_call_dummy); */
- set_gdbarch_deprecated_push_arguments (gdbarch, hppa_push_arguments);
- set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0);
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack);
- set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
- }
+ set_gdbarch_push_dummy_call (gdbarch, hppa64_push_dummy_call);
+ set_gdbarch_frame_align (gdbarch, hppa64_frame_align);
break;
+ default:
+ internal_error (__FILE__, __LINE__, "bad switch");
}
/* Struct return methods. */
@@ -5841,43 +3300,17 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_return_value (gdbarch, hppa32_return_value);
break;
case 8:
- if (0)
- set_gdbarch_return_value (gdbarch, hppa64_return_value);
- else
- {
- set_gdbarch_deprecated_extract_return_value (gdbarch, hppa64_extract_return_value);
- set_gdbarch_use_struct_convention (gdbarch, hppa64_use_struct_convention);
- set_gdbarch_deprecated_store_return_value (gdbarch, hppa64_store_return_value);
- set_gdbarch_deprecated_store_struct_return (gdbarch, hppa_store_struct_return);
- }
+ set_gdbarch_return_value (gdbarch, hppa64_return_value);
break;
default:
internal_error (__FILE__, __LINE__, "bad switch");
}
/* Frame unwind methods. */
- switch (tdep->bytes_per_address)
- {
- case 4:
- set_gdbarch_unwind_dummy_id (gdbarch, hppa_unwind_dummy_id);
- set_gdbarch_unwind_pc (gdbarch, hppa_unwind_pc);
- frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
- frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
- break;
- case 8:
- set_gdbarch_deprecated_saved_pc_after_call (gdbarch, hppa_saved_pc_after_call);
- set_gdbarch_deprecated_init_frame_pc (gdbarch, deprecated_init_frame_pc_default);
- set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, hppa_frame_init_saved_regs);
- set_gdbarch_deprecated_init_extra_frame_info (gdbarch, hppa_init_extra_frame_info);
- set_gdbarch_deprecated_frame_chain (gdbarch, hppa_frame_chain);
- set_gdbarch_deprecated_frame_chain_valid (gdbarch, hppa_frame_chain_valid);
- set_gdbarch_deprecated_frameless_function_invocation (gdbarch, hppa_frameless_function_invocation);
- set_gdbarch_deprecated_frame_saved_pc (gdbarch, hppa_frame_saved_pc);
- set_gdbarch_deprecated_pop_frame (gdbarch, hppa_pop_frame);
- break;
- default:
- internal_error (__FILE__, __LINE__, "bad switch");
- }
+ set_gdbarch_unwind_dummy_id (gdbarch, hppa_unwind_dummy_id);
+ set_gdbarch_unwind_pc (gdbarch, hppa_unwind_pc);
+ frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
+ frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
diff --git a/gdb/i386-interix-tdep.c b/gdb/i386-interix-tdep.c
index 0d2af2f0cf2..02c37012ef8 100644
--- a/gdb/i386-interix-tdep.c
+++ b/gdb/i386-interix-tdep.c
@@ -325,7 +325,7 @@ i386_interix_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->struct_return = reg_struct_return;
tdep->jb_pc_offset = jump_buffer_Eip_offset;
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_interix_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_interix_pc_in_sigtramp);
set_gdbarch_in_solib_call_trampoline (gdbarch,
i386_interix_in_solib_call_trampoline);
set_gdbarch_skip_trampoline_code (gdbarch,
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 768a5b6a78b..e177d59d75d 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -1,6 +1,6 @@
-/* Target-dependent code for GNU/Linux running on i386's, for GDB.
+/* Target-dependent code for GNU/Linux i386.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -27,13 +27,13 @@
#include "inferior.h"
#include "osabi.h"
#include "reggroups.h"
-#include "solib-svr4.h"
#include "gdb_string.h"
#include "i386-tdep.h"
#include "i386-linux-tdep.h"
#include "glibc-tdep.h"
+#include "solib-svr4.h"
/* Return the name of register REG. */
@@ -87,9 +87,9 @@ i386_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
It kind of sucks that we have to read memory from the process in
order to identify a signal trampoline, but there doesn't seem to be
- any other way. The PC_IN_SIGTRAMP macro in tm-linux.h arranges to
- only call us if no function name could be identified, which should
- be the case since the code is on the stack.
+ any other way. The DEPRECATED_PC_IN_SIGTRAMP macro in tm-linux.h
+ arranges to only call us if no function name could be identified,
+ which should be the case since the code is on the stack.
Detection of signal trampolines for handlers that set the
SA_RESTORER flag is in general not possible. Unfortunately this is
@@ -306,47 +306,6 @@ i386_linux_write_pc (CORE_ADDR pc, ptid_t ptid)
write_register_pid (I386_LINUX_ORIG_EAX_REGNUM, -1, ptid);
}
-/* Fetch (and possibly build) an appropriate link_map_offsets
- structure for native GNU/Linux x86 targets using the struct offsets
- defined in link.h (but without actual reference to that file).
-
- This makes it possible to access GNU/Linux x86 shared libraries
- from a GDB that was not built on an GNU/Linux x86 host (for cross
- debugging). */
-
-static struct link_map_offsets *
-i386_linux_svr4_fetch_link_map_offsets (void)
-{
- static struct link_map_offsets lmo;
- static struct link_map_offsets *lmp = NULL;
-
- if (lmp == NULL)
- {
- lmp = &lmo;
-
- lmo.r_debug_size = 8; /* The actual size is 20 bytes, but
- this is all we need. */
- lmo.r_map_offset = 4;
- lmo.r_map_size = 4;
-
- lmo.link_map_size = 20; /* The actual size is 552 bytes, but
- this is all we need. */
- lmo.l_addr_offset = 0;
- lmo.l_addr_size = 4;
-
- lmo.l_name_offset = 4;
- lmo.l_name_size = 4;
-
- lmo.l_next_offset = 12;
- lmo.l_next_size = 4;
-
- lmo.l_prev_offset = 16;
- lmo.l_prev_size = 4;
- }
-
- return lmp;
-}
-
/* The register sets used in GNU/Linux ELF core-dumps are identical to
the register sets in `struct user' that are used for a.out
@@ -443,11 +402,14 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
address points to a bit of code on the stack. This function is
used to identify this bit of code as a signal trampoline in order
to support backtracing through calls to signal handlers. */
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_linux_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_linux_pc_in_sigtramp);
+
+ /* GNU/Linux uses SVR4-style shared libraries. */
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ /* GNU/Linux uses the dynamic linker included in the GNU C Library. */
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- i386_linux_svr4_fetch_link_map_offsets);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index a20e9b06635..95b46096b51 100644
--- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c
@@ -454,7 +454,7 @@ i386_handle_nonaligned_watchpoint (i386_wp_op_t what, CORE_ADDR addr, int len,
while (len > 0)
{
int align = addr % max_wp_len;
- /* Four (eigth on AMD64) is the maximum length a debug register
+ /* Four (eight on AMD64) is the maximum length a debug register
can watch. */
int try = (len > max_wp_len ? (max_wp_len - 1) : len - 1);
int size = size_try_array[try][align];
@@ -582,7 +582,7 @@ i386_stopped_data_address (void)
watchpoint, not a hardware breakpoint. The reason is
that GDB doesn't call the target_stopped_data_address
method except for data watchpoints. In other words, I'm
- being paranoid. */
+ being paranoiac. */
&& I386_DR_GET_RW_LEN (i) != 0)
{
addr = dr_mirror[i];
diff --git a/gdb/i386-nto-tdep.c b/gdb/i386-nto-tdep.c
index 6d2f4923b3e..69a945e772f 100644
--- a/gdb/i386-nto-tdep.c
+++ b/gdb/i386-nto-tdep.c
@@ -278,7 +278,7 @@ i386nto_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_gdbarch_pc_in_sigtramp (gdbarch, i386nto_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386nto_pc_in_sigtramp);
tdep->sigcontext_addr = i386nto_sigcontext_addr;
tdep->sc_pc_offset = 56;
tdep->sc_sp_offset = 68;
diff --git a/gdb/i386-sol2-tdep.c b/gdb/i386-sol2-tdep.c
index 0da32d5c0e2..96cd10d4ce2 100644
--- a/gdb/i386-sol2-tdep.c
+++ b/gdb/i386-sol2-tdep.c
@@ -90,7 +90,7 @@ i386_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = tdep->gregset_num_regs;
/* Signal trampolines are slightly different from SVR4. */
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_sol2_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_sol2_pc_in_sigtramp);
}
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index e1ce81fcf0c..84c68188e14 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1019,7 +1019,7 @@ i386_sigtramp_frame_sniffer (struct frame_info *next_frame)
return NULL;
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
return &i386_sigtramp_frame_unwind;
return NULL;
@@ -1785,7 +1785,7 @@ i386_svr4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_svr4_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_svr4_pc_in_sigtramp);
tdep->sigcontext_addr = i386_svr4_sigcontext_addr;
tdep->sc_pc_offset = 36 + 14 * 4;
tdep->sc_sp_offset = 36 + 17 * 4;
@@ -1800,7 +1800,7 @@ i386_go32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_go32_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_go32_pc_in_sigtramp);
tdep->jb_pc_offset = 36;
}
@@ -1993,7 +1993,7 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_decr_pc_after_break (gdbarch, 1);
set_gdbarch_frame_args_skip (gdbarch, 8);
- set_gdbarch_pc_in_sigtramp (gdbarch, i386_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386_pc_in_sigtramp);
/* Wire in the MMX registers. */
set_gdbarch_num_pseudo_regs (gdbarch, i386_num_mmx_regs);
diff --git a/gdb/i386bsd-nat.c b/gdb/i386bsd-nat.c
index 9383a1d5fea..0f06b2b9ba5 100644
--- a/gdb/i386bsd-nat.c
+++ b/gdb/i386bsd-nat.c
@@ -1,5 +1,6 @@
/* Native-dependent code for modern i386 BSD's.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -52,20 +53,18 @@ typedef struct fpreg fpregset_t;
presence, and deal gracefully with their absence. */
/* Registers we shouldn't try to fetch. */
-#if !defined (CANNOT_FETCH_REGISTER)
-#define CANNOT_FETCH_REGISTER(regno) cannot_fetch_register (regno)
-#endif
+#undef CANNOT_FETCH_REGISTER
+#define CANNOT_FETCH_REGISTER(regnum) cannot_fetch_register (regnum)
/* Registers we shouldn't try to store. */
-#if !defined (CANNOT_STORE_REGISTER)
-#define CANNOT_STORE_REGISTER(regno) cannot_fetch_register (regno)
-#endif
+#undef CANNOT_STORE_REGISTER
+#define CANNOT_STORE_REGISTER(regnum) cannot_fetch_register (regnum)
/* Offset to the gregset_t location where REG is stored. */
#define REG_OFFSET(reg) offsetof (gregset_t, reg)
-/* At reg_offset[REGNO] you'll find the offset to the gregset_t
- location where the GDB register REGNO is stored. Unsupported
+/* At reg_offset[REGNUM] you'll find the offset to the gregset_t
+ location where the GDB register REGNUM is stored. Unsupported
registers are marked with `-1'. */
static int reg_offset[] =
{
@@ -95,11 +94,11 @@ static int reg_offset[] =
#endif
};
-#define REG_ADDR(regset, regno) ((char *) (regset) + reg_offset[regno])
+#define REG_ADDR(regset, regnum) ((char *) (regset) + reg_offset[regnum])
/* Macro to determine if a register is fetched with PT_GETREGS. */
-#define GETREGS_SUPPLIES(regno) \
- ((0 <= (regno) && (regno) <= 15))
+#define GETREGS_SUPPLIES(regnum) \
+ ((0 <= (regnum) && (regnum) <= 15))
#ifdef HAVE_PT_GETXMMREGS
/* Set to 1 if the kernel supports PT_GETXMMREGS. Initialized to -1
@@ -107,12 +106,12 @@ static int reg_offset[] =
static int have_ptrace_xmmregs = -1;
#endif
-/* Return nonzero if we shouldn't try to fetch register REGNO. */
+/* Return nonzero if we shouldn't try to fetch register REGNUM. */
static int
-cannot_fetch_register (int regno)
+cannot_fetch_register (int regnum)
{
- return (reg_offset[regno] == -1);
+ return (reg_offset[regnum] == -1);
}
@@ -135,17 +134,17 @@ supply_gregset (gregset_t *gregsetp)
}
}
-/* Fill register REGNO (if it is a general-purpose register) in
- *GREGSETPS with the value in GDB's register array. If REGNO is -1,
+/* Fill register REGNUM (if it is a general-purpose register) in
+ *GREGSETPS with the value in GDB's register array. If REGNUM is -1,
do this for all registers. */
void
-fill_gregset (gregset_t *gregsetp, int regno)
+fill_gregset (gregset_t *gregsetp, int regnum)
{
int i;
for (i = 0; i < I386_NUM_GREGS; i++)
- if ((regno == -1 || regno == i) && ! CANNOT_STORE_REGISTER (i))
+ if ((regnum == -1 || regnum == i) && ! CANNOT_STORE_REGISTER (i))
regcache_collect (i, REG_ADDR (gregsetp, i));
}
@@ -160,23 +159,23 @@ supply_fpregset (fpregset_t *fpregsetp)
i387_supply_fsave (current_regcache, -1, fpregsetp);
}
-/* Fill register REGNO (if it is a floating-point register) in
- *FPREGSETP with the value in GDB's register array. If REGNO is -1,
- do this for all registers. */
+/* Fill register REGNUM (if it is a floating-point register) in
+ *FPREGSETP with the value in GDB's register array. If REGNUM is
+ -1, do this for all registers. */
void
-fill_fpregset (fpregset_t *fpregsetp, int regno)
+fill_fpregset (fpregset_t *fpregsetp, int regnum)
{
- i387_fill_fsave ((char *) fpregsetp, regno);
+ i387_collect_fsave (current_regcache, regnum, fpregsetp);
}
-/* Fetch register REGNO from the inferior. If REGNO is -1, do this
+/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
for all registers (including the floating point registers). */
void
-fetch_inferior_registers (int regno)
+fetch_inferior_registers (int regnum)
{
- if (regno == -1 || GETREGS_SUPPLIES (regno))
+ if (regnum == -1 || GETREGS_SUPPLIES (regnum))
{
gregset_t gregs;
@@ -185,11 +184,11 @@ fetch_inferior_registers (int regno)
perror_with_name ("Couldn't get registers");
supply_gregset (&gregs);
- if (regno != -1)
+ if (regnum != -1)
return;
}
- if (regno == -1 || regno >= FP0_REGNUM)
+ if (regnum == -1 || regnum >= I386_ST0_REGNUM)
{
fpregset_t fpregs;
#ifdef HAVE_PT_GETXMMREGS
@@ -220,13 +219,13 @@ fetch_inferior_registers (int regno)
}
}
-/* Store register REGNO back into the inferior. If REGNO is -1, do
+/* Store register REGNUM back into the inferior. If REGNUM is -1, do
this for all registers (including the floating point registers). */
void
-store_inferior_registers (int regno)
+store_inferior_registers (int regnum)
{
- if (regno == -1 || GETREGS_SUPPLIES (regno))
+ if (regnum == -1 || GETREGS_SUPPLIES (regnum))
{
gregset_t gregs;
@@ -234,17 +233,17 @@ store_inferior_registers (int regno)
(PTRACE_ARG3_TYPE) &gregs, 0) == -1)
perror_with_name ("Couldn't get registers");
- fill_gregset (&gregs, regno);
+ fill_gregset (&gregs, regnum);
if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
(PTRACE_ARG3_TYPE) &gregs, 0) == -1)
perror_with_name ("Couldn't write registers");
- if (regno != -1)
+ if (regnum != -1)
return;
}
- if (regno == -1 || regno >= FP0_REGNUM)
+ if (regnum == -1 || regnum >= I386_ST0_REGNUM)
{
fpregset_t fpregs;
#ifdef HAVE_PT_GETXMMREGS
@@ -256,7 +255,7 @@ store_inferior_registers (int regno)
{
have_ptrace_xmmregs = 1;
- i387_fill_fxsave (xmmregs, regno);
+ i387_collect_fxsave (current_regcache, regnum, xmmregs);
if (ptrace (PT_SETXMMREGS, PIDGET (inferior_ptid),
(PTRACE_ARG3_TYPE) xmmregs, 0) == -1)
@@ -270,8 +269,8 @@ store_inferior_registers (int regno)
(PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
perror_with_name ("Couldn't get floating point status");
- i387_fill_fsave ((char *) &fpregs, regno);
-
+ i387_collect_fsave (current_regcache, regnum, &fpregs);
+
if (ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
(PTRACE_ARG3_TYPE) &fpregs, 0) == -1)
perror_with_name ("Couldn't write floating point status");
@@ -361,13 +360,13 @@ i386bsd_dr_get_status (void)
/* Support for the user struct. */
-/* Return the address register REGNO. BLOCKEND is the value of
+/* Return the address register REGNUM. BLOCKEND is the value of
u.u_ar0, which should point to the registers. */
CORE_ADDR
-register_u_addr (CORE_ADDR blockend, int regno)
+register_u_addr (CORE_ADDR blockend, int regnum)
{
- return (CORE_ADDR) REG_ADDR (blockend, regno);
+ return (CORE_ADDR) REG_ADDR (blockend, regnum);
}
#include <sys/param.h>
diff --git a/gdb/i386bsd-tdep.c b/gdb/i386bsd-tdep.c
index 9276c32b3f7..d501f7380db 100644
--- a/gdb/i386bsd-tdep.c
+++ b/gdb/i386bsd-tdep.c
@@ -112,11 +112,11 @@ i386bsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, i386bsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386bsd_pc_in_sigtramp);
/* Allow the recognition of sigtramps as a function named <sigtramp>. */
- set_gdbarch_sigtramp_start (gdbarch, i386bsd_sigtramp_start);
- set_gdbarch_sigtramp_end (gdbarch, i386bsd_sigtramp_end);
+ set_gdbarch_deprecated_sigtramp_start (gdbarch, i386bsd_sigtramp_start);
+ set_gdbarch_deprecated_sigtramp_end (gdbarch, i386bsd_sigtramp_end);
/* Assume SunOS-style shared libraries. */
set_gdbarch_in_solib_call_trampoline (gdbarch,
@@ -163,8 +163,7 @@ _initialize_i386bsd_tdep (void)
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_aout_flavour,
i386bsd_aout_osabi_sniffer);
- /* BFD doesn't set the architecture for NetBSD style a.out core
- files. */
- gdbarch_register_osabi_sniffer (bfd_arch_unknown, bfd_target_unknown_flavour,
+ /* BFD doesn't set a flavour for NetBSD style a.out core files. */
+ gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_unknown_flavour,
i386bsd_core_osabi_sniffer);
}
diff --git a/gdb/i386nbsd-tdep.c b/gdb/i386nbsd-tdep.c
index 82013b59fc0..e1e05aabf29 100644
--- a/gdb/i386nbsd-tdep.c
+++ b/gdb/i386nbsd-tdep.c
@@ -225,18 +225,18 @@ i386nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sizeof_gregset = 16 * 4;
/* NetBSD has different signal trampoline conventions. */
- set_gdbarch_pc_in_sigtramp (gdbarch, i386nbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386nbsd_pc_in_sigtramp);
/* FIXME: kettenis/20020906: We should probably provide
NetBSD-specific versions of these functions if we want to
recognize signal trampolines that live on the stack. */
- set_gdbarch_sigtramp_start (gdbarch, NULL);
- set_gdbarch_sigtramp_end (gdbarch, NULL);
+ set_gdbarch_deprecated_sigtramp_start (gdbarch, NULL);
+ set_gdbarch_deprecated_sigtramp_end (gdbarch, NULL);
/* NetBSD uses -freg-struct-return by default. */
tdep->struct_return = reg_struct_return;
/* NetBSD has a `struct sigcontext' that's different from the
- origional 4.3 BSD. */
+ original 4.3 BSD. */
tdep->sc_reg_offset = i386nbsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (i386nbsd_sc_reg_offset);
}
diff --git a/gdb/i386obsd-tdep.c b/gdb/i386obsd-tdep.c
index d8556ea460a..740bae37456 100644
--- a/gdb/i386obsd-tdep.c
+++ b/gdb/i386obsd-tdep.c
@@ -215,12 +215,12 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* OpenBSD uses a different memory layout. */
tdep->sigtramp_start = i386obsd_sigtramp_start_addr;
tdep->sigtramp_end = i386obsd_sigtramp_end_addr;
- set_gdbarch_pc_in_sigtramp (gdbarch, i386obsd_pc_in_sigtramp);
- set_gdbarch_sigtramp_start (gdbarch, i386obsd_sigtramp_start);
- set_gdbarch_sigtramp_end (gdbarch, i386obsd_sigtramp_end);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, i386obsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_sigtramp_start (gdbarch, i386obsd_sigtramp_start);
+ set_gdbarch_deprecated_sigtramp_end (gdbarch, i386obsd_sigtramp_end);
/* OpenBSD has a `struct sigcontext' that's different from the
- origional 4.3 BSD. */
+ original 4.3 BSD. */
tdep->sc_reg_offset = i386obsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (i386obsd_sc_reg_offset);
}
diff --git a/gdb/i387-tdep.c b/gdb/i387-tdep.c
index 21386fb13f0..4b212c4cd97 100644
--- a/gdb/i387-tdep.c
+++ b/gdb/i387-tdep.c
@@ -424,14 +424,13 @@ i387_supply_fsave (struct regcache *regcache, int regnum, const void *fsave)
}
/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
- with the value in GDB's register cache. If REGNUM is -1, do this
- for all registers. This function doesn't touch any of the reserved
- bits in *FSAVE. */
+ with the value from REGCACHE. If REGNUM is -1, do this for all
+ registers. This function doesn't touch any of the reserved bits in
+ *FSAVE. */
void
-i387_fill_fsave (void *fsave, int regnum)
+i387_collect_fsave (const struct regcache *regcache, int regnum, void *fsave)
{
- struct regcache *regcache = current_regcache;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
char *regs = fsave;
int i;
@@ -468,6 +467,17 @@ i387_fill_fsave (void *fsave, int regnum)
}
#undef I387_ST0_REGNUM
}
+
+/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
+ with the value in GDB's register cache. If REGNUM is -1, do this
+ for all registers. This function doesn't touch any of the reserved
+ bits in *FSAVE. */
+
+void
+i387_fill_fsave (void *fsave, int regnum)
+{
+ i387_collect_fsave (current_regcache, regnum, fsave);
+}
/* At fxsave_offset[REGNUM] you'll find the offset to the location in
diff --git a/gdb/i387-tdep.h b/gdb/i387-tdep.h
index 978fdf9937e..38e67559890 100644
--- a/gdb/i387-tdep.h
+++ b/gdb/i387-tdep.h
@@ -82,6 +82,14 @@ extern void i387_supply_fsave (struct regcache *regcache, int regnum,
const void *fsave);
/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
+ with the value from REGCACHE. If REGNUM is -1, do this for all
+ registers. This function doesn't touch any of the reserved bits in
+ *FSAVE. */
+
+extern void i387_collect_fsave (const struct regcache *regcache, int regnum,
+ void *fsave);
+
+/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
with the value in GDB's register cache. If REGNUM is -1, do this
for all registers. This function doesn't touch any of the reserved
bits in *FSAVE. */
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index 278538caa8b..8defe3b377e 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -2048,7 +2048,7 @@ ia64_sigtramp_frame_sniffer (struct frame_info *next_frame)
CORE_ADDR pc = frame_pc_unwind (next_frame);
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
return &ia64_sigtramp_frame_unwind;
return NULL;
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 11ce018087c..b10f8071daf 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -277,10 +277,6 @@ legacy_push_dummy_code (struct gdbarch *gdbarch,
(PUSH_DUMMY_BREAKPOINT?) should just do everything. */
if (!gdbarch_push_dummy_call_p (current_gdbarch))
{
-#ifdef GDB_TARGET_IS_HPPA
- (*real_pc) = DEPRECATED_FIX_CALL_DUMMY (dummy1, start_sp, funaddr, nargs,
- args, value_type, using_gcc);
-#else
if (DEPRECATED_FIX_CALL_DUMMY_P ())
{
/* gdb_assert (CALL_DUMMY_LOCATION == ON_STACK) true? */
@@ -288,7 +284,6 @@ legacy_push_dummy_code (struct gdbarch *gdbarch,
value_type, using_gcc);
}
(*real_pc) = start_sp;
-#endif
}
/* Yes, the offset is applied to the real_pc and not the dummy addr.
Ulgh! Blame the HP/UX target. */
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 6e74f4e5431..1ad12bf706e 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -1843,6 +1843,11 @@ attach_command (char *args, int from_tty)
symbol_file_add_main (full_exec_path, from_tty);
}
}
+ else
+ {
+ reopen_exec_file ();
+ reread_symbols ();
+ }
#ifdef SOLIB_ADD
/* Add shared library symbols from the newly attached process, if any. */
diff --git a/gdb/inferior.h b/gdb/inferior.h
index b36dcd45b1d..ab5a25bfc86 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -454,24 +454,15 @@ extern int attach_flag;
/* Are we in a call dummy? */
-/* NOTE: cagney/2002-11-24: Targets need to both switch to generic
- dummy frames, and use generic_pc_in_call_dummy(). The generic
- version should be able to handle all cases since that code works by
- saving the address of the dummy's breakpoint (where ever it is). */
+/* NOTE: cagney/2002-11-24 cagney/2004-03-22: Targets need to both
+ switch to generic dummy frames. The generic version should be able
+ to handle all cases since that code works by saving the address of
+ the dummy's breakpoint (where ever it is). */
extern int deprecated_pc_in_call_dummy_on_stack (CORE_ADDR pc,
CORE_ADDR sp,
CORE_ADDR frame_address);
-/* NOTE: cagney/2002-11-24: Targets need to both switch to generic
- dummy frames, and use generic_pc_in_call_dummy(). The generic
- version should be able to handle all cases since that code works by
- saving the address of the dummy's breakpoint (where ever it is). */
-
-extern int deprecated_pc_in_call_dummy_at_entry_point (CORE_ADDR pc,
- CORE_ADDR sp,
- CORE_ADDR frame_address);
-
/* If STARTUP_WITH_SHELL is set, GDB's "run"
will attempts to start up the debugee under a shell.
This is in order for argument-expansion to occur. E.g.,
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 6bbee5e8176..aaf6ac85d50 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -1203,8 +1203,8 @@ context_switch (struct execution_control_state *ecs)
inferior_ptid = ecs->ptid;
}
-/* Wrapper for PC_IN_SIGTRAMP that takes care of the need to find the
- function's name.
+/* Wrapper for DEPRECATED_PC_IN_SIGTRAMP that takes care of the need
+ to find the function's name.
In a classic example of "left hand VS right hand", "infrun.c" was
trying to improve GDB's performance by caching the result of calls
@@ -1233,7 +1233,7 @@ pc_in_sigtramp (CORE_ADDR pc)
{
char *name;
find_pc_partial_function (pc, &name, NULL, NULL);
- return PC_IN_SIGTRAMP (pc, name);
+ return DEPRECATED_PC_IN_SIGTRAMP (pc, name);
}
/* Handle the inferior event in the cases when we just stepped
@@ -1264,17 +1264,22 @@ handle_step_into_function (struct execution_control_state *ecs)
{
/* We're doing a "next". */
- if (pc_in_sigtramp (stop_pc)
+ if (legacy_frame_p (current_gdbarch)
+ && pc_in_sigtramp (stop_pc)
&& frame_id_inner (step_frame_id,
frame_id_build (read_sp (), 0)))
- /* We stepped out of a signal handler, and into its
- calling trampoline. This is misdetected as a
- subroutine call, but stepping over the signal
- trampoline isn't such a bad idea. In order to do that,
- we have to ignore the value in step_frame_id, since
- that doesn't represent the frame that'll reach when we
- return from the signal trampoline. Otherwise we'll
- probably continue to the end of the program. */
+ /* NOTE: cagney/2004-03-15: This is only needed for legacy
+ systems. On non-legacy systems step_over_function doesn't
+ use STEP_FRAME_ID and hence the below update "hack" isn't
+ needed. */
+ /* We stepped out of a signal handler, and into its calling
+ trampoline. This is misdetected as a subroutine call, but
+ stepping over the signal trampoline isn't such a bad idea.
+ In order to do that, we have to ignore the value in
+ step_frame_id, since that doesn't represent the frame
+ that'll reach when we return from the signal trampoline.
+ Otherwise we'll probably continue to the end of the
+ program. */
step_frame_id = null_frame_id;
step_over_function (ecs);
@@ -1883,61 +1888,9 @@ handle_inferior_event (struct execution_control_state *ecs)
ecs->random_signal = 1;
/* See if something interesting happened to the non-current thread. If
- so, then switch to that thread, and eventually give control back to
- the user.
-
- Note that if there's any kind of pending follow (i.e., of a fork,
- vfork or exec), we don't want to do this now. Rather, we'll let
- the next resume handle it. */
- if (!ptid_equal (ecs->ptid, inferior_ptid) &&
- (pending_follow.kind == TARGET_WAITKIND_SPURIOUS))
+ so, then switch to that thread. */
+ if (!ptid_equal (ecs->ptid, inferior_ptid))
{
- int printed = 0;
-
- /* If it's a random signal for a non-current thread, notify user
- if he's expressed an interest. */
- if (ecs->random_signal && signal_print[stop_signal])
- {
-/* ??rehrauer: I don't understand the rationale for this code. If the
- inferior will stop as a result of this signal, then the act of handling
- the stop ought to print a message that's couches the stoppage in user
- terms, e.g., "Stopped for breakpoint/watchpoint". If the inferior
- won't stop as a result of the signal -- i.e., if the signal is merely
- a side-effect of something GDB's doing "under the covers" for the
- user, such as stepping threads over a breakpoint they shouldn't stop
- for -- then the message seems to be a serious annoyance at best.
-
- For now, remove the message altogether. */
-#if 0
- printed = 1;
- target_terminal_ours_for_output ();
- printf_filtered ("\nProgram received signal %s, %s.\n",
- target_signal_to_name (stop_signal),
- target_signal_to_string (stop_signal));
- gdb_flush (gdb_stdout);
-#endif
- }
-
- /* If it's not SIGTRAP and not a signal we want to stop for, then
- continue the thread. */
-
- if (stop_signal != TARGET_SIGNAL_TRAP && !signal_stop[stop_signal])
- {
- if (printed)
- target_terminal_inferior ();
-
- /* Clear the signal if it should not be passed. */
- if (signal_program[stop_signal] == 0)
- stop_signal = TARGET_SIGNAL_0;
-
- target_resume (ecs->ptid, 0, stop_signal);
- prepare_to_wait (ecs);
- return;
- }
-
- /* It's a SIGTRAP or a signal we're interested in. Switch threads,
- and fall into the rest of wait_for_inferior(). */
-
context_switch (ecs);
if (context_hook)
@@ -2568,22 +2521,19 @@ process_event_stop_test:
But we can update it every time we leave the step range. */
ecs->update_step_sp = 1;
- /* Did we just take a signal? */
- if (pc_in_sigtramp (stop_pc)
- && !pc_in_sigtramp (prev_pc)
- && INNER_THAN (read_sp (), step_sp))
+ /* Did we just step into a singal trampoline (either by stepping out
+ of a handler, or by taking a signal)? */
+ /* NOTE: cagney/2004-03-16: Replaced (except for legacy) a check for
+ "pc_in_sigtramp(stop_pc) != pc_in_sigtramp(step_pc)" with
+ frame_type == SIGTRAMP && !frame_id_eq. The latter is far more
+ robust as it will correctly handle nested signal trampolines. */
+ if (legacy_frame_p (current_gdbarch)
+ ? (pc_in_sigtramp (stop_pc)
+ && !pc_in_sigtramp (prev_pc)
+ && INNER_THAN (read_sp (), step_sp))
+ : (get_frame_type (get_current_frame ()) == SIGTRAMP_FRAME
+ && !frame_id_eq (get_frame_id (get_current_frame ()), step_frame_id)))
{
- /* We've just taken a signal; go until we are back to
- the point where we took it and one more. */
-
- /* Note: The test above succeeds not only when we stepped
- into a signal handler, but also when we step past the last
- statement of a signal handler and end up in the return stub
- of the signal handler trampoline. To distinguish between
- these two cases, check that the frame is INNER_THAN the
- previous one below. pai/1997-09-11 */
-
-
{
struct frame_id current_frame = get_frame_id (get_current_frame ());
@@ -2920,16 +2870,16 @@ step_into_function (struct execution_control_state *ecs)
However, if the callee is recursing, we want to be careful not to
catch returns of those recursive calls, but only of THIS instance
- of the call.
+ of the caller.
To do this, we set the step_resume bp's frame to our current
- caller's frame (step_frame_id, which is set by the "next" or
- "until" command, before execution begins). */
+ caller's frame (obtained by doing a frame ID unwind). */
static void
step_over_function (struct execution_control_state *ecs)
{
struct symtab_and_line sr_sal;
+ struct frame_id sr_id;
init_sal (&sr_sal); /* initialize to zeros */
@@ -2973,13 +2923,45 @@ step_over_function (struct execution_control_state *ecs)
sr_sal.section = find_pc_overlay (sr_sal.pc);
check_for_old_step_resume_breakpoint ();
- step_resume_breakpoint =
- set_momentary_breakpoint (sr_sal, get_frame_id (get_current_frame ()),
- bp_step_resume);
- if (frame_id_p (step_frame_id)
- && !IN_SOLIB_DYNSYM_RESOLVE_CODE (sr_sal.pc))
- step_resume_breakpoint->frame_id = step_frame_id;
+ /* NOTE: cagney/2004-03-15: Code using the current value of
+ "step_frame_id", instead of unwinding that frame ID, removed (at
+ least for non-legacy platforms). On s390 GNU/Linux, after taking
+ a signal, the program is directly resumed at the signal handler
+ and, consequently, the PC would point at at the first instruction
+ of that signal handler but STEP_FRAME_ID would [incorrectly] at
+ the interrupted code when it should point at the signal
+ trampoline. By always and locally doing a frame ID unwind, it's
+ possible to assert that the code is always using the correct
+ ID. */
+ if (legacy_frame_p (current_gdbarch))
+ {
+ if (frame_id_p (step_frame_id)
+ && !IN_SOLIB_DYNSYM_RESOLVE_CODE (sr_sal.pc))
+ /* NOTE: cagney/2004-02-27: Use the global state's idea of the
+ stepping frame ID. I suspect this is done as it is lighter
+ weight than a call to get_prev_frame. */
+ /* NOTE: cagney/2004-03-15: See comment above about how this
+ is also broken. */
+ sr_id = step_frame_id;
+ else
+ /* NOTE: cagney/2004-03-15: This is the way it was 'cos this
+ is the way it always was. It should be using the unwound
+ (or caller's) ID, and not this (or the callee's) ID. It
+ appeared to work because: legacy architectures used the
+ wrong end of the frame for the ID.stack (inner-most rather
+ than outer-most) so that the callee's id.stack (un
+ adjusted) matched the caller's id.stack giving the
+ "correct" id; more often than not
+ !IN_SOLIB_DYNSYM_RESOLVE_CODE and hence the code above (it
+ was originally later in the function) fixed the ID by using
+ global state. */
+ sr_id = get_frame_id (get_current_frame ());
+ }
+ else
+ sr_id = get_frame_id (get_prev_frame (get_current_frame ()));
+
+ step_resume_breakpoint = set_momentary_breakpoint (sr_sal, sr_id, bp_step_resume);
if (breakpoints_inserted)
insert_breakpoints ();
diff --git a/gdb/libunwind-frame.c b/gdb/libunwind-frame.c
index bf0c36d9f60..d7e8dbca3e4 100644
--- a/gdb/libunwind-frame.c
+++ b/gdb/libunwind-frame.c
@@ -111,7 +111,7 @@ libunwind_frame_set_descr (struct gdbarch *gdbarch, struct libunwind_descr *desc
{
/* First time here. Must initialize data area. */
arch_descr = libunwind_descr_init (gdbarch);
- set_gdbarch_data (gdbarch, libunwind_descr_handle, arch_descr);
+ deprecated_set_gdbarch_data (gdbarch, libunwind_descr_handle, arch_descr);
}
/* Copy new descriptor info into arch descriptor. */
@@ -381,7 +381,7 @@ void _initialize_libunwind_frame (void);
void
_initialize_libunwind_frame (void)
{
- libunwind_descr_handle = register_gdbarch_data (libunwind_descr_init);
+ libunwind_descr_handle = gdbarch_data_register_post_init (libunwind_descr_init);
libunwind_initialized = libunwind_load ();
}
diff --git a/gdb/lin-lwp.c b/gdb/lin-lwp.c
index df91aa76963..0d8d1ff6a01 100644
--- a/gdb/lin-lwp.c
+++ b/gdb/lin-lwp.c
@@ -1591,8 +1591,7 @@ retry:
/* Handle GNU/Linux's extended waitstatus for trace events. */
if (WIFSTOPPED (status) && WSTOPSIG (status) == SIGTRAP && status >> 16 != 0)
{
- linux_handle_extended_wait (ptid_get_pid (trap_ptid),
- status, ourstatus);
+ linux_handle_extended_wait (GET_LWP (lp->ptid), status, ourstatus);
return trap_ptid;
}
diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c
index 278adf7af8b..efe050955eb 100644
--- a/gdb/m68hc11-tdep.c
+++ b/gdb/m68hc11-tdep.c
@@ -385,6 +385,8 @@ m68hc11_register_name (int reg_nr)
if (reg_nr >= M68HC11_ALL_REGS)
return NULL;
+ m68hc11_initialize_register_info ();
+
/* If we don't know the address of a soft register, pretend it
does not exist. */
if (reg_nr > M68HC11_LAST_HARD_REG && soft_regs[reg_nr].name == 0)
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index a499005ac75..7fceb8b991d 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -839,7 +839,7 @@ m68k_sigtramp_frame_sniffer (struct frame_info *next_frame)
return NULL;
find_pc_partial_function (pc, &name, NULL, NULL);
- if (PC_IN_SIGTRAMP (pc, name))
+ if (DEPRECATED_PC_IN_SIGTRAMP (pc, name))
return &m68k_sigtramp_frame_unwind;
return NULL;
diff --git a/gdb/m68klinux-tdep.c b/gdb/m68klinux-tdep.c
index ed7e3ec57e9..109195138f4 100644
--- a/gdb/m68klinux-tdep.c
+++ b/gdb/m68klinux-tdep.c
@@ -296,7 +296,7 @@ m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_store_return_value (gdbarch, m68k_linux_store_return_value);
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, m68k_linux_extract_struct_value_address);
- set_gdbarch_pc_in_sigtramp (gdbarch, m68k_linux_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, m68k_linux_pc_in_sigtramp);
/* Shared library handling. */
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
diff --git a/gdb/mcore-tdep.c b/gdb/mcore-tdep.c
index 6e3df980fd4..321ba696094 100644
--- a/gdb/mcore-tdep.c
+++ b/gdb/mcore-tdep.c
@@ -752,7 +752,7 @@ mcore_pop_frame (void)
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), get_frame_base (fi),
get_frame_base (fi)))
- generic_pop_dummy_frame ();
+ deprecated_pop_dummy_frame ();
else
{
/* Write out the PC we saved. */
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index cc8ae5f13d6..7e59eb1c5d3 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -668,7 +668,7 @@ static void
set_mips_linux_register_addr (struct gdbarch *gdbarch,
CORE_ADDR (*register_addr_ptr) (int, CORE_ADDR))
{
- set_gdbarch_data (gdbarch, register_addr_data, register_addr_ptr);
+ deprecated_set_gdbarch_data (gdbarch, register_addr_data, register_addr_ptr);
}
static void *
@@ -844,7 +844,7 @@ _initialize_mips_linux_tdep (void)
const struct bfd_arch_info *arch_info;
register_addr_data =
- register_gdbarch_data (init_register_addr_data);
+ gdbarch_data_register_post_init (init_register_addr_data);
for (arch_info = bfd_lookup_arch (bfd_arch_mips, 0);
arch_info != NULL;
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 9638b0862f4..563a7d89552 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -2352,38 +2352,70 @@ non_heuristic_proc_desc (CORE_ADDR pc, CORE_ADDR *addrptr)
{
int low, mid, high;
char *ptr;
+ CORE_ADDR pdr_pc;
low = 0;
high = priv->size / 32;
+ /* We've found a .pdr section describing this objfile. We want to
+ find the entry which describes this code address. The .pdr
+ information is not very descriptive; we have only a function
+ start address. We have to look for the closest entry, because
+ the local symbol at the beginning of this function may have
+ been stripped - so if we ask the symbol table for the start
+ address we may get a preceding global function. */
+
+ /* First, find the last .pdr entry starting at or before PC. */
do
{
- CORE_ADDR pdr_pc;
-
mid = (low + high) / 2;
ptr = priv->contents + mid * 32;
pdr_pc = bfd_get_signed_32 (sec->objfile->obfd, ptr);
pdr_pc += ANOFFSET (sec->objfile->section_offsets,
SECT_OFF_TEXT (sec->objfile));
- if (pdr_pc == startaddr)
- break;
- if (pdr_pc > startaddr)
+
+ if (pdr_pc > pc)
high = mid;
else
low = mid + 1;
}
while (low != high);
- if (low != high)
+ /* Both low and high point one past the PDR of interest. If
+ both are zero, that means this PC is before any region
+ covered by a PDR, i.e. pdr_pc for the first PDR entry is
+ greater than PC. */
+ if (low > 0)
+ {
+ ptr = priv->contents + (low - 1) * 32;
+ pdr_pc = bfd_get_signed_32 (sec->objfile->obfd, ptr);
+ pdr_pc += ANOFFSET (sec->objfile->section_offsets,
+ SECT_OFF_TEXT (sec->objfile));
+ }
+
+ /* We don't have a range, so we have no way to know for sure
+ whether we're in the correct PDR or a PDR for a preceding
+ function and the current function was a stripped local
+ symbol. But if the PDR's PC is at least as great as the
+ best guess from the symbol table, assume that it does cover
+ the right area; if a .pdr section is present at all then
+ nearly every function will have an entry. The biggest exception
+ will be the dynamic linker stubs; conveniently these are
+ placed before .text instead of after. */
+
+ if (pc >= pdr_pc && pdr_pc >= startaddr)
{
struct symbol *sym = find_pc_function (pc);
+ if (addrptr)
+ *addrptr = pdr_pc;
+
/* Fill in what we need of the proc_desc. */
proc_desc = (mips_extra_func_info_t)
obstack_alloc (&sec->objfile->objfile_obstack,
sizeof (struct mips_extra_func_info));
- PROC_LOW_ADDR (proc_desc) = startaddr;
+ PROC_LOW_ADDR (proc_desc) = pdr_pc;
/* Only used for dummy frames. */
PROC_HIGH_ADDR (proc_desc) = 0;
@@ -5747,7 +5779,7 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_register_type (gdbarch, mips_register_type);
set_gdbarch_print_registers_info (gdbarch, mips_print_registers_info);
- set_gdbarch_pc_in_sigtramp (gdbarch, mips_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, mips_pc_in_sigtramp);
set_gdbarch_print_insn (gdbarch, gdb_print_insn_mips);
diff --git a/gdb/mipsnbsd-tdep.c b/gdb/mipsnbsd-tdep.c
index 01d8262eff2..114a3745d7f 100644
--- a/gdb/mipsnbsd-tdep.c
+++ b/gdb/mipsnbsd-tdep.c
@@ -1,5 +1,5 @@
/* Target-dependent code for MIPS systems running NetBSD.
- Copyright 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GDB.
@@ -28,6 +28,7 @@
#include "nbsd-tdep.h"
#include "mipsnbsd-tdep.h"
+#include "mips-tdep.h"
#include "solib-svr4.h"
@@ -344,7 +345,7 @@ static void
mipsnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
- set_gdbarch_pc_in_sigtramp (gdbarch, mipsnbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, mipsnbsd_pc_in_sigtramp);
set_gdbarch_get_longjmp_target (gdbarch, mipsnbsd_get_longjmp_target);
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index 998ee689738..5e3a5f82bd3 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -749,10 +749,13 @@ mn10300_pop_frame_regular (struct frame_info *frame)
static void
mn10300_pop_frame (void)
{
- /* This function checks for and handles generic dummy frames, and
- calls back to our function for ordinary frames. */
- generic_pop_current_frame (mn10300_pop_frame_regular);
-
+ struct frame_info *frame = get_current_frame ();
+ if (get_frame_type (frame) == DUMMY_FRAME)
+ /* NOTE: cagney/2002-22-23: Does this ever occure? Surely a dummy
+ frame will have already been poped by the "infrun.c" code. */
+ deprecated_pop_dummy_frame ();
+ else
+ mn10300_pop_frame_regular (frame);
/* Throw away any cached frame information. */
flush_cached_frames ();
}
@@ -1185,7 +1188,6 @@ mn10300_gdbarch_init (struct gdbarch_info info,
/* Calling functions in the inferior from GDB. */
set_gdbarch_deprecated_call_dummy_words (gdbarch, mn10300_call_dummy_words);
set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, sizeof (mn10300_call_dummy_words));
- set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point);
set_gdbarch_deprecated_push_arguments (gdbarch, mn10300_push_arguments);
set_gdbarch_deprecated_reg_struct_has_addr
(gdbarch, mn10300_reg_struct_has_addr);
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index 372ad0c7b48..a8eb7b6e002 100644
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -164,12 +164,6 @@ ppc_register_u_addr (int regno)
return u_addr;
}
-static int
-ppc_ptrace_cannot_fetch_store_register (int regno)
-{
- return (ppc_register_u_addr (regno) == -1);
-}
-
/* The Linux kernel ptrace interface for AltiVec registers uses the
registers set mechanism, as opposed to the interface for all the
other registers, that stores/fetches each register individually. */
@@ -513,7 +507,24 @@ store_inferior_registers (int regno)
void
supply_gregset (gdb_gregset_t *gregsetp)
{
- ppc_linux_supply_gregset ((char *) gregsetp);
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ ppc_linux_supply_gregset (current_regcache, -1, gregsetp,
+ sizeof (gdb_gregset_t), wordsize);
+}
+
+static void
+right_fill_reg (int regnum, void *reg)
+{
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ /* Right fill the register. */
+ regcache_raw_collect (current_regcache, regnum,
+ ((bfd_byte *) reg
+ + wordsize
+ - register_size (current_gdbarch, regnum)));
}
void
@@ -522,36 +533,42 @@ fill_gregset (gdb_gregset_t *gregsetp, int regno)
int regi;
elf_greg_t *regp = (elf_greg_t *) gregsetp;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ const int elf_ngreg = 48;
+
+
+ /* Start with zeros. */
+ memset (regp, 0, elf_ngreg * sizeof (*regp));
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || regno == regi)
- regcache_collect (regi, regp + PT_R0 + regi);
+ right_fill_reg (regi, (regp + PT_R0 + regi));
}
if ((regno == -1) || regno == PC_REGNUM)
- regcache_collect (PC_REGNUM, regp + PT_NIP);
+ right_fill_reg (PC_REGNUM, regp + PT_NIP);
if ((regno == -1) || regno == tdep->ppc_lr_regnum)
- regcache_collect (tdep->ppc_lr_regnum, regp + PT_LNK);
+ right_fill_reg (tdep->ppc_lr_regnum, regp + PT_LNK);
if ((regno == -1) || regno == tdep->ppc_cr_regnum)
regcache_collect (tdep->ppc_cr_regnum, regp + PT_CCR);
if ((regno == -1) || regno == tdep->ppc_xer_regnum)
regcache_collect (tdep->ppc_xer_regnum, regp + PT_XER);
if ((regno == -1) || regno == tdep->ppc_ctr_regnum)
- regcache_collect (tdep->ppc_ctr_regnum, regp + PT_CTR);
+ right_fill_reg (tdep->ppc_ctr_regnum, regp + PT_CTR);
#ifdef PT_MQ
if (((regno == -1) || regno == tdep->ppc_mq_regnum)
&& (tdep->ppc_mq_regnum != -1))
- regcache_collect (tdep->ppc_mq_regnum, regp + PT_MQ);
+ right_fill_reg (tdep->ppc_mq_regnum, regp + PT_MQ);
#endif
if ((regno == -1) || regno == tdep->ppc_ps_regnum)
- regcache_collect (tdep->ppc_ps_regnum, regp + PT_MSR);
+ right_fill_reg (tdep->ppc_ps_regnum, regp + PT_MSR);
}
void
supply_fpregset (gdb_fpregset_t * fpregsetp)
{
- ppc_linux_supply_fpregset ((char *) fpregsetp);
+ ppc_linux_supply_fpregset (NULL, current_regcache, -1, fpregsetp,
+ sizeof (gdb_fpregset_t));
}
/* Given a pointer to a floating point register set in /proc format
@@ -563,12 +580,13 @@ fill_fpregset (gdb_fpregset_t *fpregsetp, int regno)
{
int regi;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ bfd_byte *fpp = (void *) fpregsetp;
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || (regno == FP0_REGNUM + regi))
- regcache_collect (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
+ regcache_collect (FP0_REGNUM + regi, fpp + 8 * regi);
}
if ((regno == -1) || regno == tdep->ppc_fpscr_regnum)
- regcache_collect (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + regi));
+ right_fill_reg (tdep->ppc_fpscr_regnum, (fpp + 8 * 32));
}
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 84eb742d8e2..ba2733ee717 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -32,9 +32,11 @@
#include "regcache.h"
#include "value.h"
#include "osabi.h"
-
+#include "regset.h"
#include "solib-svr4.h"
#include "ppc-tdep.h"
+#include "trad-frame.h"
+#include "frame-unwind.h"
/* The following instructions are used in the signal trampoline code
on GNU/Linux PPC. The kernel used to use magic syscalls 0x6666 and
@@ -112,8 +114,8 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc);
/* Determine if pc is in a signal trampoline...
Ha! That's not what this does at all. wait_for_inferior in
- infrun.c calls PC_IN_SIGTRAMP in order to detect entry into a
- signal trampoline just after delivery of a signal. But on
+ infrun.c calls DEPRECATED_PC_IN_SIGTRAMP in order to detect entry
+ into a signal trampoline just after delivery of a signal. But on
GNU/Linux, signal trampolines are used for the return path only.
The kernel sets things up so that the signal handler is called
directly.
@@ -148,11 +150,11 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc);
first instruction long after the fact, just in case the observed
behavior is ever fixed.)
- PC_IN_SIGTRAMP is called from blockframe.c as well in order to set
- the frame's type (if a SIGTRAMP_FRAME). Because of our strange
- definition of in_sigtramp below, we can't rely on the frame's type
- getting set correctly from within blockframe.c. This is why we
- take pains to set it in init_extra_frame_info().
+ DEPRECATED_PC_IN_SIGTRAMP is called from blockframe.c as well in
+ order to set the frame's type (if a SIGTRAMP_FRAME). Because of
+ our strange definition of in_sigtramp below, we can't rely on the
+ frame's type getting set correctly from within blockframe.c. This
+ is why we take pains to set it in init_extra_frame_info().
NOTE: cagney/2002-11-10: I suspect the real problem here is that
the get_prev_frame() only initializes the frame's type after the
@@ -338,111 +340,6 @@ ppc_linux_skip_trampoline_code (CORE_ADDR pc)
return SYMBOL_VALUE_ADDRESS (msymbol);
}
-/* The rs6000 version of FRAME_SAVED_PC will almost work for us. The
- signal handler details are different, so we'll handle those here
- and call the rs6000 version to do the rest. */
-CORE_ADDR
-ppc_linux_frame_saved_pc (struct frame_info *fi)
-{
- if ((get_frame_type (fi) == SIGTRAMP_FRAME))
- {
- CORE_ADDR regs_addr =
- read_memory_integer (get_frame_base (fi)
- + PPC_LINUX_REGS_PTR_OFFSET, 4);
- /* return the NIP in the regs array */
- return read_memory_integer (regs_addr + 4 * PPC_LINUX_PT_NIP, 4);
- }
- else if (get_next_frame (fi)
- && (get_frame_type (get_next_frame (fi)) == SIGTRAMP_FRAME))
- {
- CORE_ADDR regs_addr =
- read_memory_integer (get_frame_base (get_next_frame (fi))
- + PPC_LINUX_REGS_PTR_OFFSET, 4);
- /* return LNK in the regs array */
- return read_memory_integer (regs_addr + 4 * PPC_LINUX_PT_LNK, 4);
- }
- else
- return rs6000_frame_saved_pc (fi);
-}
-
-void
-ppc_linux_init_extra_frame_info (int fromleaf, struct frame_info *fi)
-{
- rs6000_init_extra_frame_info (fromleaf, fi);
-
- if (get_next_frame (fi) != 0)
- {
- /* We're called from get_prev_frame_info; check to see if
- this is a signal frame by looking to see if the pc points
- at trampoline code */
- if (ppc_linux_at_sigtramp_return_path (get_frame_pc (fi)))
- deprecated_set_frame_type (fi, SIGTRAMP_FRAME);
- else
- /* FIXME: cagney/2002-11-10: Is this double bogus? What
- happens if the frame has previously been marked as a dummy? */
- deprecated_set_frame_type (fi, NORMAL_FRAME);
- }
-}
-
-int
-ppc_linux_frameless_function_invocation (struct frame_info *fi)
-{
- /* We'll find the wrong thing if we let
- rs6000_frameless_function_invocation () search for a signal trampoline */
- if (ppc_linux_at_sigtramp_return_path (get_frame_pc (fi)))
- return 0;
- else
- return rs6000_frameless_function_invocation (fi);
-}
-
-void
-ppc_linux_frame_init_saved_regs (struct frame_info *fi)
-{
- if ((get_frame_type (fi) == SIGTRAMP_FRAME))
- {
- CORE_ADDR regs_addr;
- int i;
- if (deprecated_get_frame_saved_regs (fi))
- return;
-
- frame_saved_regs_zalloc (fi);
-
- regs_addr =
- read_memory_integer (get_frame_base (fi)
- + PPC_LINUX_REGS_PTR_OFFSET, 4);
- deprecated_get_frame_saved_regs (fi)[PC_REGNUM] = regs_addr + 4 * PPC_LINUX_PT_NIP;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_ps_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_MSR;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_cr_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_CCR;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_lr_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_LNK;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_ctr_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_CTR;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_xer_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_XER;
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_mq_regnum] =
- regs_addr + 4 * PPC_LINUX_PT_MQ;
- for (i = 0; i < 32; i++)
- deprecated_get_frame_saved_regs (fi)[gdbarch_tdep (current_gdbarch)->ppc_gp0_regnum + i] =
- regs_addr + 4 * PPC_LINUX_PT_R0 + 4 * i;
- for (i = 0; i < 32; i++)
- deprecated_get_frame_saved_regs (fi)[FP0_REGNUM + i] = regs_addr + 4 * PPC_LINUX_PT_FPR0 + 8 * i;
- }
- else
- rs6000_frame_init_saved_regs (fi);
-}
-
-CORE_ADDR
-ppc_linux_frame_chain (struct frame_info *thisframe)
-{
- /* Kernel properly constructs the frame chain for the handler */
- if ((get_frame_type (thisframe) == SIGTRAMP_FRAME))
- return read_memory_integer (get_frame_base (thisframe), 4);
- else
- return rs6000_frame_chain (thisframe);
-}
-
/* ppc_linux_memory_remove_breakpoints attempts to remove a breakpoint
in much the same fashion as memory_remove_breakpoint in mem-break.c,
but is careful not to write back the previous contents if the code
@@ -959,81 +856,218 @@ enum {
};
enum {
- ELF_GREGSET_SIZE = (ELF_NGREG * 4),
ELF_FPREGSET_SIZE = (ELF_NFPREG * 8)
};
+static void
+right_supply_register (struct regcache *regcache, int wordsize, int regnum,
+ const bfd_byte *buf)
+{
+ regcache_raw_supply (regcache, regnum,
+ (buf + wordsize
+ - register_size (current_gdbarch, regnum)));
+}
+
+/* Extract the register values found in the WORDSIZED ABI GREGSET,
+ storing their values in REGCACHE. Note that some are left-aligned,
+ while others are right aligned. */
+
void
-ppc_linux_supply_gregset (char *buf)
+ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = gregs;
for (regi = 0; regi < 32; regi++)
- supply_register (regi, buf + 4 * regi);
-
- supply_register (PC_REGNUM, buf + 4 * PPC_LINUX_PT_NIP);
- supply_register (tdep->ppc_lr_regnum, buf + 4 * PPC_LINUX_PT_LNK);
- supply_register (tdep->ppc_cr_regnum, buf + 4 * PPC_LINUX_PT_CCR);
- supply_register (tdep->ppc_xer_regnum, buf + 4 * PPC_LINUX_PT_XER);
- supply_register (tdep->ppc_ctr_regnum, buf + 4 * PPC_LINUX_PT_CTR);
- if (tdep->ppc_mq_regnum != -1)
- supply_register (tdep->ppc_mq_regnum, buf + 4 * PPC_LINUX_PT_MQ);
- supply_register (tdep->ppc_ps_regnum, buf + 4 * PPC_LINUX_PT_MSR);
+ right_supply_register (regcache, wordsize, regi, buf + wordsize * regi);
+
+ right_supply_register (regcache, wordsize, gdbarch_pc_regnum (regcache_arch),
+ buf + wordsize * PPC_LINUX_PT_NIP);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_lr_regnum,
+ buf + wordsize * PPC_LINUX_PT_LNK);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_cr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CCR);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_xer_regnum,
+ buf + wordsize * PPC_LINUX_PT_XER);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_ctr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CTR);
+ if (regcache_tdep->ppc_mq_regnum != -1)
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_mq_regnum,
+ buf + wordsize * PPC_LINUX_PT_MQ);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_ps_regnum,
+ buf + wordsize * PPC_LINUX_PT_MSR);
+}
+
+static void
+ppc32_linux_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 4);
+}
+
+static struct regset ppc32_linux_gregset = {
+ NULL, ppc32_linux_supply_gregset
+};
+
+struct ppc_linux_sigtramp_cache
+{
+ CORE_ADDR base;
+ struct trad_frame_saved_reg *saved_regs;
+};
+
+static struct ppc_linux_sigtramp_cache *
+ppc_linux_sigtramp_cache (struct frame_info *next_frame, void **this_cache)
+{
+ CORE_ADDR regs;
+ CORE_ADDR gpregs;
+ CORE_ADDR fpregs;
+ int i;
+ struct ppc_linux_sigtramp_cache *cache;
+ struct gdbarch *gdbarch = get_frame_arch (next_frame);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ if ((*this_cache) != NULL)
+ return (*this_cache);
+ cache = FRAME_OBSTACK_ZALLOC (struct ppc_linux_sigtramp_cache);
+ (*this_cache) = cache;
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ cache->base = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
+
+ /* Find the register pointer, which gives the address of the
+ register buffers. */
+ if (tdep->wordsize == 4)
+ regs = (cache->base
+ + 0xd0 /* Offset to ucontext_t. */
+ + 0x30 /* Offset to .reg. */);
+ else
+ regs = (cache->base
+ + 0x80 /* Offset to ucontext_t. */
+ + 0xe0 /* Offset to .reg. */);
+ /* And the corresponding register buffers. */
+ gpregs = read_memory_unsigned_integer (regs, tdep->wordsize);
+ fpregs = gpregs + 48 * tdep->wordsize;
+
+ /* General purpose. */
+ for (i = 0; i < 32; i++)
+ {
+ int regnum = i + tdep->ppc_gp0_regnum;
+ cache->saved_regs[regnum].addr = gpregs + i * tdep->wordsize;
+ }
+ cache->saved_regs[PC_REGNUM].addr = gpregs + 32 * tdep->wordsize;
+ cache->saved_regs[tdep->ppc_ctr_regnum].addr = gpregs + 35 * tdep->wordsize;
+ cache->saved_regs[tdep->ppc_lr_regnum].addr = gpregs + 36 * tdep->wordsize;
+ cache->saved_regs[tdep->ppc_xer_regnum].addr = gpregs + 37 * tdep->wordsize;
+ cache->saved_regs[tdep->ppc_cr_regnum].addr = gpregs + 38 * tdep->wordsize;
+
+ /* Floating point registers. */
+ for (i = 0; i < 32; i++)
+ {
+ int regnum = i + FP0_REGNUM;
+ cache->saved_regs[regnum].addr = fpregs + i * tdep->wordsize;
+ }
+ cache->saved_regs[tdep->ppc_fpscr_regnum].addr = fpregs + 32 * tdep->wordsize;
+
+ return cache;
+}
+
+static void
+ppc_linux_sigtramp_this_id (struct frame_info *next_frame, void **this_cache,
+ struct frame_id *this_id)
+{
+ struct ppc_linux_sigtramp_cache *info
+ = ppc_linux_sigtramp_cache (next_frame, this_cache);
+ (*this_id) = frame_id_build (info->base, frame_pc_unwind (next_frame));
+}
+
+static void
+ppc_linux_sigtramp_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct ppc_linux_sigtramp_cache *info
+ = ppc_linux_sigtramp_cache (next_frame, this_cache);
+ trad_frame_prev_register (next_frame, info->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind ppc_linux_sigtramp_unwind =
+{
+ SIGTRAMP_FRAME,
+ ppc_linux_sigtramp_this_id,
+ ppc_linux_sigtramp_prev_register
+};
+
+static const struct frame_unwind *
+ppc_linux_sigtramp_sniffer (struct frame_info *next_frame)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (next_frame));
+ if (frame_pc_unwind (next_frame)
+ > frame_unwind_register_unsigned (next_frame, SP_REGNUM))
+ /* Assume anything that is vaguely on the stack is a signal
+ trampoline. */
+ return &ppc_linux_sigtramp_unwind;
+ else
+ return NULL;
}
+static void
+ppc64_linux_supply_gregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 8);
+}
+
+static struct regset ppc64_linux_gregset = {
+ NULL, ppc64_linux_supply_gregset
+};
+
void
-ppc_linux_supply_fpregset (char *buf)
+ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *fpset, size_t size)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = fpset;
for (regi = 0; regi < 32; regi++)
- supply_register (FP0_REGNUM + regi, buf + 8 * regi);
+ regcache_raw_supply (regcache, FP0_REGNUM + regi, buf + 8 * regi);
/* The FPSCR is stored in the low order word of the last doubleword in the
fpregset. */
- supply_register (tdep->ppc_fpscr_regnum, buf + 8 * 32 + 4);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_fpscr_regnum,
+ buf + 8 * 32 + 4);
}
-/*
- Use a local version of this function to get the correct types for regsets.
-*/
+static struct regset ppc_linux_fpregset = { NULL, ppc_linux_supply_fpregset };
-static void
-fetch_core_registers (char *core_reg_sect,
- unsigned core_reg_size,
- int which,
- CORE_ADDR reg_addr)
+static const struct regset *
+ppc_linux_regset_from_core_section (struct gdbarch *core_arch,
+ const char *sect_name, size_t sect_size)
{
- if (which == 0)
- {
- if (core_reg_size == ELF_GREGSET_SIZE)
- ppc_linux_supply_gregset (core_reg_sect);
- else
- warning ("wrong size gregset struct in core file");
- }
- else if (which == 2)
+ struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
+ if (strcmp (sect_name, ".reg") == 0)
{
- if (core_reg_size == ELF_FPREGSET_SIZE)
- ppc_linux_supply_fpregset (core_reg_sect);
+ if (tdep->wordsize == 4)
+ return &ppc32_linux_gregset;
else
- warning ("wrong size fpregset struct in core file");
+ return &ppc64_linux_gregset;
}
+ if (strcmp (sect_name, ".reg2") == 0)
+ return &ppc_linux_fpregset;
+ return NULL;
}
-/* Register that we are able to handle ELF file formats using standard
- procfs "regset" structures. */
-
-static struct core_fns ppc_linux_regset_core_fns =
-{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
-
static void
ppc_linux_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
@@ -1051,19 +1085,9 @@ ppc_linux_init_abi (struct gdbarch_info info,
PowerOpen struct convention. */
set_gdbarch_return_value (gdbarch, ppc_linux_return_value);
- /* Note: kevinb/2002-04-12: See note in rs6000_gdbarch_init regarding
- *_push_arguments(). The same remarks hold for the methods below. */
- set_gdbarch_deprecated_frameless_function_invocation (gdbarch, ppc_linux_frameless_function_invocation);
- set_gdbarch_deprecated_frame_chain (gdbarch, ppc_linux_frame_chain);
- set_gdbarch_deprecated_frame_saved_pc (gdbarch, ppc_linux_frame_saved_pc);
-
- set_gdbarch_deprecated_frame_init_saved_regs (gdbarch,
- ppc_linux_frame_init_saved_regs);
- set_gdbarch_deprecated_init_extra_frame_info (gdbarch,
- ppc_linux_init_extra_frame_info);
-
set_gdbarch_memory_remove_breakpoint (gdbarch,
ppc_linux_memory_remove_breakpoint);
+
/* Shared library handling. */
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
set_gdbarch_skip_trampoline_code (gdbarch,
@@ -1086,6 +1110,8 @@ ppc_linux_init_abi (struct gdbarch_info info,
/* PPC64 malloc's entry-point is called ".malloc". */
set_gdbarch_name_of_malloc (gdbarch, ".malloc");
}
+ set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section);
+ frame_unwind_append_sniffer (gdbarch, ppc_linux_sigtramp_sniffer);
}
void
@@ -1099,5 +1125,4 @@ _initialize_ppc_linux_tdep (void)
ppc_linux_init_abi);
gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
ppc_linux_init_abi);
- add_core_fns (&ppc_linux_regset_core_fns);
}
diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h
index 1c1c9ef21a3..d570f798522 100644
--- a/gdb/ppc-tdep.h
+++ b/gdb/ppc-tdep.h
@@ -1,6 +1,7 @@
/* Target-dependent code for GDB, the GNU debugger.
- Copyright 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation,
+ Inc.
This file is part of GDB.
@@ -29,11 +30,6 @@ struct regcache;
struct type;
/* From ppc-linux-tdep.c... */
-CORE_ADDR ppc_linux_frame_saved_pc (struct frame_info *fi);
-void ppc_linux_init_extra_frame_info (int fromleaf, struct frame_info *);
-int ppc_linux_frameless_function_invocation (struct frame_info *);
-void ppc_linux_frame_init_saved_regs (struct frame_info *);
-CORE_ADDR ppc_linux_frame_chain (struct frame_info *);
enum return_value_convention ppc_sysv_abi_return_value (struct gdbarch *gdbarch,
struct type *valtype,
struct regcache *regcache,
@@ -62,8 +58,12 @@ CORE_ADDR ppc64_sysv_abi_adjust_breakpoint_address (struct gdbarch *gdbarch,
CORE_ADDR bpaddr);
int ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache);
struct link_map_offsets *ppc_linux_svr4_fetch_link_map_offsets (void);
-void ppc_linux_supply_gregset (char *buf);
-void ppc_linux_supply_fpregset (char *buf);
+void ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize);
+void ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size);
enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch,
struct type *valtype,
@@ -72,11 +72,6 @@ enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarc
const void *writebuf);
/* From rs6000-tdep.c... */
-CORE_ADDR rs6000_frame_saved_pc (struct frame_info *fi);
-void rs6000_init_extra_frame_info (int fromleaf, struct frame_info *);
-int rs6000_frameless_function_invocation (struct frame_info *);
-void rs6000_frame_init_saved_regs (struct frame_info *);
-CORE_ADDR rs6000_frame_chain (struct frame_info *);
int altivec_register_p (int regno);
diff --git a/gdb/ppcnbsd-tdep.c b/gdb/ppcnbsd-tdep.c
index adc2a4f1386..7d27e8327d0 100644
--- a/gdb/ppcnbsd-tdep.c
+++ b/gdb/ppcnbsd-tdep.c
@@ -231,7 +231,7 @@ static void
ppcnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
- set_gdbarch_pc_in_sigtramp (gdbarch, ppcnbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, ppcnbsd_pc_in_sigtramp);
/* For NetBSD, this is an on again, off again thing. Some systems
do use the broken struct convention, and some don't. */
set_gdbarch_return_value (gdbarch, ppcnbsd_return_value);
diff --git a/gdb/regcache.c b/gdb/regcache.c
index 154fc5e0c71..c455e46690e 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -1705,7 +1705,7 @@ extern initialize_file_ftype _initialize_regcache; /* -Wmissing-prototype */
void
_initialize_regcache (void)
{
- regcache_descr_handle = register_gdbarch_data (init_regcache_descr);
+ regcache_descr_handle = gdbarch_data_register_post_init (init_regcache_descr);
DEPRECATED_REGISTER_GDBARCH_SWAP (current_regcache);
DEPRECATED_REGISTER_GDBARCH_SWAP (deprecated_registers);
DEPRECATED_REGISTER_GDBARCH_SWAP (deprecated_register_valid);
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index 7dd05628519..c20f886a33e 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -109,7 +109,7 @@ reggroup_add (struct gdbarch *gdbarch, struct reggroup *group)
/* ULGH, called during architecture initialization. Patch
things up. */
groups = reggroups_init (gdbarch);
- set_gdbarch_data (gdbarch, reggroups_data, groups);
+ deprecated_set_gdbarch_data (gdbarch, reggroups_data, groups);
}
add_group (groups, group,
GDBARCH_OBSTACK_ZALLOC (gdbarch, struct reggroup_el));
@@ -268,7 +268,7 @@ extern initialize_file_ftype _initialize_reggroup; /* -Wmissing-prototypes */
void
_initialize_reggroup (void)
{
- reggroups_data = register_gdbarch_data (reggroups_init);
+ reggroups_data = gdbarch_data_register_post_init (reggroups_init);
/* The pre-defined list of groups. */
add_group (&default_groups, general_reggroup, XMALLOC (struct reggroup_el));
diff --git a/gdb/remote.c b/gdb/remote.c
index 29bbbc86d80..e23a30f4127 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2164,6 +2164,9 @@ remote_open_1 (char *name, int from_tty, struct target_ops *target,
if (!async_p)
wait_forever_enabled_p = 1;
+ reopen_exec_file ();
+ reread_symbols ();
+
target_preopen (from_tty);
unpush_target (target);
@@ -5456,7 +5459,7 @@ _initialize_remote (void)
struct cmd_list_element *tmpcmd;
/* architecture specific data */
- remote_gdbarch_data_handle = register_gdbarch_data (init_remote_state);
+ remote_gdbarch_data_handle = gdbarch_data_register_post_init (init_remote_state);
/* Old tacky stuff. NOTE: This comes after the remote protocol so
that the remote protocol has been initialized. */
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 5eef8959115..f19f120d2d9 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -50,6 +50,10 @@
#include "gdb_assert.h"
#include "dis-asm.h"
+#include "trad-frame.h"
+#include "frame-unwind.h"
+#include "frame-base.h"
+
/* If the kernel has to deliver a signal, it pushes a sigcontext
structure on the stack and then calls the signal handler, passing
the address of the sigcontext in an argument register. Usually
@@ -123,9 +127,6 @@ static CORE_ADDR branch_dest (int opcode, int instr, CORE_ADDR pc,
CORE_ADDR safety);
static CORE_ADDR skip_prologue (CORE_ADDR, CORE_ADDR,
struct rs6000_framedata *);
-static void frame_get_saved_regs (struct frame_info * fi,
- struct rs6000_framedata * fdatap);
-static CORE_ADDR frame_initial_stack_address (struct frame_info *);
/* Is REGNO an AltiVec register? Return 1 if so, 0 otherwise. */
int
@@ -179,58 +180,6 @@ struct frame_extra_info
CORE_ADDR initial_sp; /* initial stack pointer. */
};
-void
-rs6000_init_extra_frame_info (int fromleaf, struct frame_info *fi)
-{
- struct frame_extra_info *extra_info =
- frame_extra_info_zalloc (fi, sizeof (struct frame_extra_info));
- extra_info->initial_sp = 0;
- if (get_next_frame (fi) != NULL
- && get_frame_pc (fi) < TEXT_SEGMENT_BASE)
- /* We're in get_prev_frame */
- /* and this is a special signal frame. */
- /* (fi->pc will be some low address in the kernel, */
- /* to which the signal handler returns). */
- deprecated_set_frame_type (fi, SIGTRAMP_FRAME);
-}
-
-/* Put here the code to store, into a struct frame_saved_regs,
- the addresses of the saved registers of frame described by FRAME_INFO.
- This includes special registers such as pc and fp saved in special
- ways in the stack frame. sp is even more special:
- the address we return for it IS the sp for the next frame. */
-
-/* In this implementation for RS/6000, we do *not* save sp. I am
- not sure if it will be needed. The following function takes care of gpr's
- and fpr's only. */
-
-void
-rs6000_frame_init_saved_regs (struct frame_info *fi)
-{
- frame_get_saved_regs (fi, NULL);
-}
-
-static CORE_ADDR
-rs6000_frame_args_address (struct frame_info *fi)
-{
- struct frame_extra_info *extra_info = get_frame_extra_info (fi);
- if (extra_info->initial_sp != 0)
- return extra_info->initial_sp;
- else
- return frame_initial_stack_address (fi);
-}
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-
-static CORE_ADDR
-rs6000_saved_pc_after_call (struct frame_info *fi)
-{
- return read_register (gdbarch_tdep (current_gdbarch)->ppc_lr_regnum);
-}
-
/* Get the ith function argument for the current function. */
static CORE_ADDR
rs6000_fetch_pointer_argument (struct frame_info *frame, int argi,
@@ -541,9 +490,26 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata)
if ((op & 0xfc1fffff) == 0x7c0802a6)
{ /* mflr Rx */
- lr_reg = (op & 0x03e00000);
+ /* Since shared library / PIC code, which needs to get its
+ address at runtime, can appear to save more than one link
+ register vis:
+
+ *INDENT-OFF*
+ stwu r1,-304(r1)
+ mflr r3
+ bl 0xff570d0 (blrl)
+ stw r30,296(r1)
+ mflr r30
+ stw r31,300(r1)
+ stw r3,308(r1);
+ ...
+ *INDENT-ON*
+
+ remember just the first one, but skip over additional
+ ones. */
+ if (lr_reg < 0)
+ lr_reg = (op & 0x03e00000);
continue;
-
}
else if ((op & 0xfc1fffff) == 0x7c000026)
{ /* mfcr Rx */
@@ -1007,79 +973,6 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata)
*************************************************************************/
-/* Pop the innermost frame, go back to the caller. */
-
-static void
-rs6000_pop_frame (void)
-{
- CORE_ADDR pc, lr, sp, prev_sp, addr; /* %pc, %lr, %sp */
- struct rs6000_framedata fdata;
- struct frame_info *frame = get_current_frame ();
- int ii, wordsize;
-
- pc = read_pc ();
- sp = get_frame_base (frame);
-
- if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame),
- get_frame_base (frame),
- get_frame_base (frame)))
- {
- generic_pop_dummy_frame ();
- flush_cached_frames ();
- return;
- }
-
- /* Make sure that all registers are valid. */
- deprecated_read_register_bytes (0, NULL, DEPRECATED_REGISTER_BYTES);
-
- /* Figure out previous %pc value. If the function is frameless, it is
- still in the link register, otherwise walk the frames and retrieve the
- saved %pc value in the previous frame. */
-
- addr = get_frame_func (frame);
- (void) skip_prologue (addr, get_frame_pc (frame), &fdata);
-
- wordsize = gdbarch_tdep (current_gdbarch)->wordsize;
- if (fdata.frameless)
- prev_sp = sp;
- else
- prev_sp = read_memory_addr (sp, wordsize);
- if (fdata.lr_offset == 0)
- lr = read_register (gdbarch_tdep (current_gdbarch)->ppc_lr_regnum);
- else
- lr = read_memory_addr (prev_sp + fdata.lr_offset, wordsize);
-
- /* reset %pc value. */
- write_register (PC_REGNUM, lr);
-
- /* reset register values if any was saved earlier. */
-
- if (fdata.saved_gpr != -1)
- {
- addr = prev_sp + fdata.gpr_offset;
- for (ii = fdata.saved_gpr; ii <= 31; ++ii)
- {
- read_memory (addr, &deprecated_registers[DEPRECATED_REGISTER_BYTE (ii)],
- wordsize);
- addr += wordsize;
- }
- }
-
- if (fdata.saved_fpr != -1)
- {
- addr = prev_sp + fdata.fpr_offset;
- for (ii = fdata.saved_fpr; ii <= 31; ++ii)
- {
- read_memory (addr, &deprecated_registers[DEPRECATED_REGISTER_BYTE (ii + FP0_REGNUM)], 8);
- addr += 8;
- }
- }
-
- write_register (SP_REGNUM, prev_sp);
- target_store_registers (-1);
- flush_cached_frames ();
-}
-
/* All the ABI's require 16 byte alignment. */
static CORE_ADDR
rs6000_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
@@ -1479,317 +1372,6 @@ rs6000_skip_trampoline_code (CORE_ADDR pc)
return pc;
}
-/* Determines whether the function FI has a frame on the stack or not. */
-
-int
-rs6000_frameless_function_invocation (struct frame_info *fi)
-{
- CORE_ADDR func_start;
- struct rs6000_framedata fdata;
-
- /* Don't even think about framelessness except on the innermost frame
- or if the function was interrupted by a signal. */
- if (get_next_frame (fi) != NULL
- && !(get_frame_type (get_next_frame (fi)) == SIGTRAMP_FRAME))
- return 0;
-
- func_start = get_frame_func (fi);
-
- /* If we failed to find the start of the function, it is a mistake
- to inspect the instructions. */
-
- if (!func_start)
- {
- /* A frame with a zero PC is usually created by dereferencing a NULL
- function pointer, normally causing an immediate core dump of the
- inferior. Mark function as frameless, as the inferior has no chance
- of setting up a stack frame. */
- if (get_frame_pc (fi) == 0)
- return 1;
- else
- return 0;
- }
-
- (void) skip_prologue (func_start, get_frame_pc (fi), &fdata);
- return fdata.frameless;
-}
-
-/* Return the PC saved in a frame. */
-
-CORE_ADDR
-rs6000_frame_saved_pc (struct frame_info *fi)
-{
- CORE_ADDR func_start;
- struct rs6000_framedata fdata;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
- int wordsize = tdep->wordsize;
-
- if ((get_frame_type (fi) == SIGTRAMP_FRAME))
- return read_memory_addr (get_frame_base (fi) + SIG_FRAME_PC_OFFSET,
- wordsize);
-
- if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi),
- get_frame_base (fi),
- get_frame_base (fi)))
- return deprecated_read_register_dummy (get_frame_pc (fi),
- get_frame_base (fi), PC_REGNUM);
-
- func_start = get_frame_func (fi);
-
- /* If we failed to find the start of the function, it is a mistake
- to inspect the instructions. */
- if (!func_start)
- return 0;
-
- (void) skip_prologue (func_start, get_frame_pc (fi), &fdata);
-
- if (fdata.lr_offset == 0 && get_next_frame (fi) != NULL)
- {
- if ((get_frame_type (get_next_frame (fi)) == SIGTRAMP_FRAME))
- return read_memory_addr ((get_frame_base (get_next_frame (fi))
- + SIG_FRAME_LR_OFFSET),
- wordsize);
- else if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (get_next_frame (fi)), 0, 0))
- /* The link register wasn't saved by this frame and the next
- (inner, newer) frame is a dummy. Get the link register
- value by unwinding it from that [dummy] frame. */
- {
- ULONGEST lr;
- frame_unwind_unsigned_register (get_next_frame (fi),
- tdep->ppc_lr_regnum, &lr);
- return lr;
- }
- else
- return read_memory_addr (DEPRECATED_FRAME_CHAIN (fi)
- + tdep->lr_frame_offset,
- wordsize);
- }
-
- if (fdata.lr_offset == 0)
- return read_register (gdbarch_tdep (current_gdbarch)->ppc_lr_regnum);
-
- return read_memory_addr (DEPRECATED_FRAME_CHAIN (fi) + fdata.lr_offset,
- wordsize);
-}
-
-/* If saved registers of frame FI are not known yet, read and cache them.
- &FDATAP contains rs6000_framedata; TDATAP can be NULL,
- in which case the framedata are read. */
-
-static void
-frame_get_saved_regs (struct frame_info *fi, struct rs6000_framedata *fdatap)
-{
- CORE_ADDR frame_addr;
- struct rs6000_framedata work_fdata;
- struct gdbarch_tdep * tdep = gdbarch_tdep (current_gdbarch);
- int wordsize = tdep->wordsize;
-
- if (deprecated_get_frame_saved_regs (fi))
- return;
-
- if (fdatap == NULL)
- {
- fdatap = &work_fdata;
- (void) skip_prologue (get_frame_func (fi), get_frame_pc (fi), fdatap);
- }
-
- frame_saved_regs_zalloc (fi);
-
- /* If there were any saved registers, figure out parent's stack
- pointer. */
- /* The following is true only if the frame doesn't have a call to
- alloca(), FIXME. */
-
- if (fdatap->saved_fpr == 0
- && fdatap->saved_gpr == 0
- && fdatap->saved_vr == 0
- && fdatap->saved_ev == 0
- && fdatap->lr_offset == 0
- && fdatap->cr_offset == 0
- && fdatap->vr_offset == 0
- && fdatap->ev_offset == 0)
- frame_addr = 0;
- else
- /* NOTE: cagney/2002-04-14: The ->frame points to the inner-most
- address of the current frame. Things might be easier if the
- ->frame pointed to the outer-most address of the frame. In the
- mean time, the address of the prev frame is used as the base
- address of this frame. */
- frame_addr = DEPRECATED_FRAME_CHAIN (fi);
-
- /* if != -1, fdatap->saved_fpr is the smallest number of saved_fpr.
- All fpr's from saved_fpr to fp31 are saved. */
-
- if (fdatap->saved_fpr >= 0)
- {
- int i;
- CORE_ADDR fpr_addr = frame_addr + fdatap->fpr_offset;
- for (i = fdatap->saved_fpr; i < 32; i++)
- {
- deprecated_get_frame_saved_regs (fi)[FP0_REGNUM + i] = fpr_addr;
- fpr_addr += 8;
- }
- }
-
- /* if != -1, fdatap->saved_gpr is the smallest number of saved_gpr.
- All gpr's from saved_gpr to gpr31 are saved. */
-
- if (fdatap->saved_gpr >= 0)
- {
- int i;
- CORE_ADDR gpr_addr = frame_addr + fdatap->gpr_offset;
- for (i = fdatap->saved_gpr; i < 32; i++)
- {
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_gp0_regnum + i] = gpr_addr;
- gpr_addr += wordsize;
- }
- }
-
- /* if != -1, fdatap->saved_vr is the smallest number of saved_vr.
- All vr's from saved_vr to vr31 are saved. */
- if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1)
- {
- if (fdatap->saved_vr >= 0)
- {
- int i;
- CORE_ADDR vr_addr = frame_addr + fdatap->vr_offset;
- for (i = fdatap->saved_vr; i < 32; i++)
- {
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_vr0_regnum + i] = vr_addr;
- vr_addr += DEPRECATED_REGISTER_RAW_SIZE (tdep->ppc_vr0_regnum);
- }
- }
- }
-
- /* if != -1, fdatap->saved_ev is the smallest number of saved_ev.
- All vr's from saved_ev to ev31 are saved. ????? */
- if (tdep->ppc_ev0_regnum != -1 && tdep->ppc_ev31_regnum != -1)
- {
- if (fdatap->saved_ev >= 0)
- {
- int i;
- CORE_ADDR ev_addr = frame_addr + fdatap->ev_offset;
- for (i = fdatap->saved_ev; i < 32; i++)
- {
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_ev0_regnum + i] = ev_addr;
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_gp0_regnum + i] = ev_addr + 4;
- ev_addr += DEPRECATED_REGISTER_RAW_SIZE (tdep->ppc_ev0_regnum);
- }
- }
- }
-
- /* If != 0, fdatap->cr_offset is the offset from the frame that holds
- the CR. */
- if (fdatap->cr_offset != 0)
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_cr_regnum] = frame_addr + fdatap->cr_offset;
-
- /* If != 0, fdatap->lr_offset is the offset from the frame that holds
- the LR. */
- if (fdatap->lr_offset != 0)
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_lr_regnum] = frame_addr + fdatap->lr_offset;
-
- /* If != 0, fdatap->vrsave_offset is the offset from the frame that holds
- the VRSAVE. */
- if (fdatap->vrsave_offset != 0)
- deprecated_get_frame_saved_regs (fi)[tdep->ppc_vrsave_regnum] = frame_addr + fdatap->vrsave_offset;
-}
-
-/* Return the address of a frame. This is the inital %sp value when the frame
- was first allocated. For functions calling alloca(), it might be saved in
- an alloca register. */
-
-static CORE_ADDR
-frame_initial_stack_address (struct frame_info *fi)
-{
- CORE_ADDR tmpaddr;
- struct rs6000_framedata fdata;
- struct frame_info *callee_fi;
-
- /* If the initial stack pointer (frame address) of this frame is known,
- just return it. */
-
- if (get_frame_extra_info (fi)->initial_sp)
- return get_frame_extra_info (fi)->initial_sp;
-
- /* Find out if this function is using an alloca register. */
-
- (void) skip_prologue (get_frame_func (fi), get_frame_pc (fi), &fdata);
-
- /* If saved registers of this frame are not known yet, read and
- cache them. */
-
- if (!deprecated_get_frame_saved_regs (fi))
- frame_get_saved_regs (fi, &fdata);
-
- /* If no alloca register used, then fi->frame is the value of the %sp for
- this frame, and it is good enough. */
-
- if (fdata.alloca_reg < 0)
- {
- get_frame_extra_info (fi)->initial_sp = get_frame_base (fi);
- return get_frame_extra_info (fi)->initial_sp;
- }
-
- /* There is an alloca register, use its value, in the current frame,
- as the initial stack pointer. */
- {
- char tmpbuf[MAX_REGISTER_SIZE];
- if (frame_register_read (fi, fdata.alloca_reg, tmpbuf))
- {
- get_frame_extra_info (fi)->initial_sp
- = extract_unsigned_integer (tmpbuf,
- DEPRECATED_REGISTER_RAW_SIZE (fdata.alloca_reg));
- }
- else
- /* NOTE: cagney/2002-04-17: At present the only time
- frame_register_read will fail is when the register isn't
- available. If that does happen, use the frame. */
- get_frame_extra_info (fi)->initial_sp = get_frame_base (fi);
- }
- return get_frame_extra_info (fi)->initial_sp;
-}
-
-/* Describe the pointer in each stack frame to the previous stack frame
- (its caller). */
-
-/* DEPRECATED_FRAME_CHAIN takes a frame's nominal address and produces
- the frame's chain-pointer. */
-
-/* In the case of the RS/6000, the frame's nominal address
- is the address of a 4-byte word containing the calling frame's address. */
-
-CORE_ADDR
-rs6000_frame_chain (struct frame_info *thisframe)
-{
- CORE_ADDR fp, fpp, lr;
- int wordsize = gdbarch_tdep (current_gdbarch)->wordsize;
-
- if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (thisframe),
- get_frame_base (thisframe),
- get_frame_base (thisframe)))
- /* A dummy frame always correctly chains back to the previous
- frame. */
- return read_memory_addr (get_frame_base (thisframe), wordsize);
-
- if (deprecated_inside_entry_file (get_frame_pc (thisframe))
- || get_frame_pc (thisframe) == entry_point_address ())
- return 0;
-
- if ((get_frame_type (thisframe) == SIGTRAMP_FRAME))
- fp = read_memory_addr (get_frame_base (thisframe) + SIG_FRAME_FP_OFFSET,
- wordsize);
- else if (get_next_frame (thisframe) != NULL
- && (get_frame_type (get_next_frame (thisframe)) == SIGTRAMP_FRAME)
- && (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION_P ()
- && DEPRECATED_FRAMELESS_FUNCTION_INVOCATION (thisframe)))
- /* A frameless function interrupted by a signal did not change the
- frame pointer. */
- fp = get_frame_base (thisframe);
- else
- fp = read_memory_addr (get_frame_base (thisframe), wordsize);
- return fp;
-}
-
/* Return the size of register REG when words are WORDSIZE bytes long. If REG
isn't available with that word size, return 0. */
@@ -1852,12 +1434,12 @@ rs6000_register_virtual_type (int n)
case 0:
return builtin_type_int0;
case 4:
- return builtin_type_int32;
+ return builtin_type_uint32;
case 8:
if (tdep->ppc_ev0_regnum <= n && n <= tdep->ppc_ev31_regnum)
return builtin_type_vec64;
else
- return builtin_type_int64;
+ return builtin_type_uint64;
break;
case 16:
return builtin_type_vec128;
@@ -2612,6 +2194,221 @@ gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info)
return print_insn_little_powerpc (memaddr, info);
}
+static CORE_ADDR
+rs6000_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+ return frame_unwind_register_unsigned (next_frame, PC_REGNUM);
+}
+
+static struct frame_id
+rs6000_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+ return frame_id_build (frame_unwind_register_unsigned (next_frame,
+ SP_REGNUM),
+ frame_pc_unwind (next_frame));
+}
+
+struct rs6000_frame_cache
+{
+ CORE_ADDR base;
+ CORE_ADDR initial_sp;
+ struct trad_frame_saved_reg *saved_regs;
+};
+
+static struct rs6000_frame_cache *
+rs6000_frame_cache (struct frame_info *next_frame, void **this_cache)
+{
+ struct rs6000_frame_cache *cache;
+ struct gdbarch *gdbarch = get_frame_arch (next_frame);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+ struct rs6000_framedata fdata;
+ int wordsize = tdep->wordsize;
+
+ if ((*this_cache) != NULL)
+ return (*this_cache);
+ cache = FRAME_OBSTACK_ZALLOC (struct rs6000_frame_cache);
+ (*this_cache) = cache;
+ cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+ skip_prologue (frame_func_unwind (next_frame), frame_pc_unwind (next_frame),
+ &fdata);
+
+ /* If there were any saved registers, figure out parent's stack
+ pointer. */
+ /* The following is true only if the frame doesn't have a call to
+ alloca(), FIXME. */
+
+ if (fdata.saved_fpr == 0
+ && fdata.saved_gpr == 0
+ && fdata.saved_vr == 0
+ && fdata.saved_ev == 0
+ && fdata.lr_offset == 0
+ && fdata.cr_offset == 0
+ && fdata.vr_offset == 0
+ && fdata.ev_offset == 0)
+ cache->base = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
+ else
+ {
+ /* NOTE: cagney/2002-04-14: The ->frame points to the inner-most
+ address of the current frame. Things might be easier if the
+ ->frame pointed to the outer-most address of the frame. In
+ the mean time, the address of the prev frame is used as the
+ base address of this frame. */
+ cache->base = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
+ if (!fdata.frameless)
+ /* Frameless really means stackless. */
+ cache->base = read_memory_addr (cache->base, wordsize);
+ }
+ trad_frame_set_value (cache->saved_regs, SP_REGNUM, cache->base);
+
+ /* if != -1, fdata.saved_fpr is the smallest number of saved_fpr.
+ All fpr's from saved_fpr to fp31 are saved. */
+
+ if (fdata.saved_fpr >= 0)
+ {
+ int i;
+ CORE_ADDR fpr_addr = cache->base + fdata.fpr_offset;
+ for (i = fdata.saved_fpr; i < 32; i++)
+ {
+ cache->saved_regs[FP0_REGNUM + i].addr = fpr_addr;
+ fpr_addr += 8;
+ }
+ }
+
+ /* if != -1, fdata.saved_gpr is the smallest number of saved_gpr.
+ All gpr's from saved_gpr to gpr31 are saved. */
+
+ if (fdata.saved_gpr >= 0)
+ {
+ int i;
+ CORE_ADDR gpr_addr = cache->base + fdata.gpr_offset;
+ for (i = fdata.saved_gpr; i < 32; i++)
+ {
+ cache->saved_regs[tdep->ppc_gp0_regnum + i].addr = gpr_addr;
+ gpr_addr += wordsize;
+ }
+ }
+
+ /* if != -1, fdata.saved_vr is the smallest number of saved_vr.
+ All vr's from saved_vr to vr31 are saved. */
+ if (tdep->ppc_vr0_regnum != -1 && tdep->ppc_vrsave_regnum != -1)
+ {
+ if (fdata.saved_vr >= 0)
+ {
+ int i;
+ CORE_ADDR vr_addr = cache->base + fdata.vr_offset;
+ for (i = fdata.saved_vr; i < 32; i++)
+ {
+ cache->saved_regs[tdep->ppc_vr0_regnum + i].addr = vr_addr;
+ vr_addr += register_size (gdbarch, tdep->ppc_vr0_regnum);
+ }
+ }
+ }
+
+ /* if != -1, fdata.saved_ev is the smallest number of saved_ev.
+ All vr's from saved_ev to ev31 are saved. ????? */
+ if (tdep->ppc_ev0_regnum != -1 && tdep->ppc_ev31_regnum != -1)
+ {
+ if (fdata.saved_ev >= 0)
+ {
+ int i;
+ CORE_ADDR ev_addr = cache->base + fdata.ev_offset;
+ for (i = fdata.saved_ev; i < 32; i++)
+ {
+ cache->saved_regs[tdep->ppc_ev0_regnum + i].addr = ev_addr;
+ cache->saved_regs[tdep->ppc_gp0_regnum + i].addr = ev_addr + 4;
+ ev_addr += register_size (gdbarch, tdep->ppc_ev0_regnum);
+ }
+ }
+ }
+
+ /* If != 0, fdata.cr_offset is the offset from the frame that
+ holds the CR. */
+ if (fdata.cr_offset != 0)
+ cache->saved_regs[tdep->ppc_cr_regnum].addr = cache->base + fdata.cr_offset;
+
+ /* If != 0, fdata.lr_offset is the offset from the frame that
+ holds the LR. */
+ if (fdata.lr_offset != 0)
+ cache->saved_regs[tdep->ppc_lr_regnum].addr = cache->base + fdata.lr_offset;
+ /* The PC is found in the link register. */
+ cache->saved_regs[PC_REGNUM] = cache->saved_regs[tdep->ppc_lr_regnum];
+
+ /* If != 0, fdata.vrsave_offset is the offset from the frame that
+ holds the VRSAVE. */
+ if (fdata.vrsave_offset != 0)
+ cache->saved_regs[tdep->ppc_vrsave_regnum].addr = cache->base + fdata.vrsave_offset;
+
+ if (fdata.alloca_reg < 0)
+ /* If no alloca register used, then fi->frame is the value of the
+ %sp for this frame, and it is good enough. */
+ cache->initial_sp = frame_unwind_register_unsigned (next_frame, SP_REGNUM);
+ else
+ cache->initial_sp = frame_unwind_register_unsigned (next_frame,
+ fdata.alloca_reg);
+
+ return cache;
+}
+
+static void
+rs6000_frame_this_id (struct frame_info *next_frame, void **this_cache,
+ struct frame_id *this_id)
+{
+ struct rs6000_frame_cache *info = rs6000_frame_cache (next_frame,
+ this_cache);
+ (*this_id) = frame_id_build (info->base, frame_func_unwind (next_frame));
+}
+
+static void
+rs6000_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct rs6000_frame_cache *info = rs6000_frame_cache (next_frame,
+ this_cache);
+ trad_frame_prev_register (next_frame, info->saved_regs, regnum,
+ optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind rs6000_frame_unwind =
+{
+ NORMAL_FRAME,
+ rs6000_frame_this_id,
+ rs6000_frame_prev_register
+};
+
+static const struct frame_unwind *
+rs6000_frame_sniffer (struct frame_info *next_frame)
+{
+ return &rs6000_frame_unwind;
+}
+
+
+
+static CORE_ADDR
+rs6000_frame_base_address (struct frame_info *next_frame,
+ void **this_cache)
+{
+ struct rs6000_frame_cache *info = rs6000_frame_cache (next_frame,
+ this_cache);
+ return info->initial_sp;
+}
+
+static const struct frame_base rs6000_frame_base = {
+ &rs6000_frame_unwind,
+ rs6000_frame_base_address,
+ rs6000_frame_base_address,
+ rs6000_frame_base_address
+};
+
+static const struct frame_base *
+rs6000_frame_base_sniffer (struct frame_info *next_frame)
+{
+ return &rs6000_frame_base;
+}
+
/* Initialize the current architecture based on INFO. If possible, re-use an
architecture from ARCHES, which is a list of architectures already created
during this debugging session.
@@ -2864,8 +2661,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
Problem is, 220 isn't frame (16 byte) aligned. Round it up to
224. */
set_gdbarch_frame_red_zone_size (gdbarch, 224);
- set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
- set_gdbarch_believe_pcc_promotion (gdbarch, 1);
set_gdbarch_deprecated_register_convertible (gdbarch, rs6000_register_convertible);
set_gdbarch_deprecated_register_convert_to_virtual (gdbarch, rs6000_register_convert_to_virtual);
@@ -2886,7 +2681,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_push_dummy_call (gdbarch, rs6000_push_dummy_call);
set_gdbarch_deprecated_extract_struct_value_address (gdbarch, rs6000_extract_struct_value_address);
- set_gdbarch_deprecated_pop_frame (gdbarch, rs6000_pop_frame);
set_gdbarch_skip_prologue (gdbarch, rs6000_skip_prologue);
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
@@ -2908,13 +2702,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_use_struct_convention (gdbarch,
rs6000_use_struct_convention);
- set_gdbarch_deprecated_frameless_function_invocation (gdbarch, rs6000_frameless_function_invocation);
- set_gdbarch_deprecated_frame_chain (gdbarch, rs6000_frame_chain);
- set_gdbarch_deprecated_frame_saved_pc (gdbarch, rs6000_frame_saved_pc);
-
- set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, rs6000_frame_init_saved_regs);
- set_gdbarch_deprecated_init_extra_frame_info (gdbarch, rs6000_init_extra_frame_info);
-
if (!sysv_abi)
{
/* Handle RS/6000 function pointers (which are really function
@@ -2922,9 +2709,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_convert_from_func_ptr_addr (gdbarch,
rs6000_convert_from_func_ptr_addr);
}
- set_gdbarch_deprecated_frame_args_address (gdbarch, rs6000_frame_args_address);
- set_gdbarch_deprecated_frame_locals_address (gdbarch, rs6000_frame_args_address);
- set_gdbarch_deprecated_saved_pc_after_call (gdbarch, rs6000_saved_pc_after_call);
/* Helpers for function argument information. */
set_gdbarch_fetch_pointer_argument (gdbarch, rs6000_fetch_pointer_argument);
@@ -2932,6 +2716,27 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
+ switch (info.osabi)
+ {
+ case GDB_OSABI_NETBSD_AOUT:
+ case GDB_OSABI_NETBSD_ELF:
+ case GDB_OSABI_UNKNOWN:
+ case GDB_OSABI_LINUX:
+ set_gdbarch_unwind_pc (gdbarch, rs6000_unwind_pc);
+ frame_unwind_append_sniffer (gdbarch, rs6000_frame_sniffer);
+ set_gdbarch_unwind_dummy_id (gdbarch, rs6000_unwind_dummy_id);
+ frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer);
+ break;
+ default:
+ set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+ set_gdbarch_believe_pcc_promotion (gdbarch, 1);
+
+ set_gdbarch_unwind_pc (gdbarch, rs6000_unwind_pc);
+ frame_unwind_append_sniffer (gdbarch, rs6000_frame_sniffer);
+ set_gdbarch_unwind_dummy_id (gdbarch, rs6000_unwind_dummy_id);
+ frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer);
+ }
+
if (from_xcoff_exec)
{
/* NOTE: jimix/2003-06-09: This test should really check for
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index 7e3463e1fb2..0f8f65d2f76 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -2037,27 +2037,29 @@ s390_frame_sniffer (struct frame_info *next_frame)
}
-/* PLT stub stack frames. */
-
-struct s390_pltstub_unwind_cache {
+/* Code stubs and their stack frames. For things like PLTs and NULL
+ function calls (where there is no true frame and the return address
+ is in the RETADDR register). */
+struct s390_stub_unwind_cache
+{
CORE_ADDR frame_base;
struct trad_frame_saved_reg *saved_regs;
};
-static struct s390_pltstub_unwind_cache *
-s390_pltstub_frame_unwind_cache (struct frame_info *next_frame,
- void **this_prologue_cache)
+static struct s390_stub_unwind_cache *
+s390_stub_frame_unwind_cache (struct frame_info *next_frame,
+ void **this_prologue_cache)
{
struct gdbarch *gdbarch = get_frame_arch (next_frame);
int word_size = gdbarch_ptr_bit (gdbarch) / 8;
- struct s390_pltstub_unwind_cache *info;
+ struct s390_stub_unwind_cache *info;
ULONGEST reg;
if (*this_prologue_cache)
return *this_prologue_cache;
- info = FRAME_OBSTACK_ZALLOC (struct s390_pltstub_unwind_cache);
+ info = FRAME_OBSTACK_ZALLOC (struct s390_stub_unwind_cache);
*this_prologue_cache = info;
info->saved_regs = trad_frame_alloc_saved_regs (next_frame);
@@ -2072,41 +2074,47 @@ s390_pltstub_frame_unwind_cache (struct frame_info *next_frame,
}
static void
-s390_pltstub_frame_this_id (struct frame_info *next_frame,
- void **this_prologue_cache,
- struct frame_id *this_id)
+s390_stub_frame_this_id (struct frame_info *next_frame,
+ void **this_prologue_cache,
+ struct frame_id *this_id)
{
- struct s390_pltstub_unwind_cache *info
- = s390_pltstub_frame_unwind_cache (next_frame, this_prologue_cache);
+ struct s390_stub_unwind_cache *info
+ = s390_stub_frame_unwind_cache (next_frame, this_prologue_cache);
*this_id = frame_id_build (info->frame_base, frame_pc_unwind (next_frame));
}
static void
-s390_pltstub_frame_prev_register (struct frame_info *next_frame,
- void **this_prologue_cache,
- int regnum, int *optimizedp,
- enum lval_type *lvalp, CORE_ADDR *addrp,
- int *realnump, void *bufferp)
-{
- struct s390_pltstub_unwind_cache *info
- = s390_pltstub_frame_unwind_cache (next_frame, this_prologue_cache);
+s390_stub_frame_prev_register (struct frame_info *next_frame,
+ void **this_prologue_cache,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realnump, void *bufferp)
+{
+ struct s390_stub_unwind_cache *info
+ = s390_stub_frame_unwind_cache (next_frame, this_prologue_cache);
trad_frame_prev_register (next_frame, info->saved_regs, regnum,
optimizedp, lvalp, addrp, realnump, bufferp);
}
-static const struct frame_unwind s390_pltstub_frame_unwind = {
+static const struct frame_unwind s390_stub_frame_unwind = {
NORMAL_FRAME,
- s390_pltstub_frame_this_id,
- s390_pltstub_frame_prev_register
+ s390_stub_frame_this_id,
+ s390_stub_frame_prev_register
};
static const struct frame_unwind *
-s390_pltstub_frame_sniffer (struct frame_info *next_frame)
+s390_stub_frame_sniffer (struct frame_info *next_frame)
{
- if (!in_plt_section (frame_pc_unwind (next_frame), NULL))
- return NULL;
-
- return &s390_pltstub_frame_unwind;
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ bfd_byte insn[S390_MAX_INSTR_SIZE];
+
+ /* If the current PC points to non-readable memory, we assume we
+ have trapped due to an invalid function pointer call. We handle
+ the non-existing current function like a PLT stub. */
+ if (in_plt_section (pc, NULL)
+ || s390_readinstruction (insn, pc) < 0)
+ return &s390_stub_frame_unwind;
+ return NULL;
}
@@ -3028,7 +3036,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
dwarf2_frame_set_init_reg (gdbarch, s390_dwarf2_frame_init_reg);
frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer);
frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
- frame_unwind_append_sniffer (gdbarch, s390_pltstub_frame_sniffer);
+ frame_unwind_append_sniffer (gdbarch, s390_stub_frame_sniffer);
frame_unwind_append_sniffer (gdbarch, s390_sigtramp_frame_sniffer);
frame_unwind_append_sniffer (gdbarch, s390_frame_sniffer);
frame_base_set_default (gdbarch, &s390_frame_base);
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 9cb5278c4d4..45833fcfdab 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -440,9 +440,9 @@ sh_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
if (reg < 14)
{
sav_reg = reg;
- offset = (((inst & 0xff) ^ 0x80) - 0x80) << 1;
+ offset = (inst & 0xff) << 1;
sav_offset =
- read_memory_integer (((pc + 4) & ~3) + offset, 2);
+ read_memory_integer ((pc + 4) + offset, 2);
}
}
}
@@ -450,13 +450,13 @@ sh_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
{
if (sav_reg < 0)
{
- reg = (inst & 0x0f00) >> 8;
+ reg = GET_TARGET_REG (inst);
if (reg < 14)
{
sav_reg = reg;
- offset = (((inst & 0xff) ^ 0x80) - 0x80) << 1;
+ offset = (inst & 0xff) << 2;
sav_offset =
- read_memory_integer (((pc + 4) & ~3) + offset, 4);
+ read_memory_integer (((pc & 0xfffffffc) + 4) + offset, 4);
}
}
}
@@ -1792,35 +1792,23 @@ sh_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
else
/* do all (or most) registers */
{
- regnum = 0;
- while (regnum < NUM_REGS)
+ for (regnum = 0; regnum < NUM_REGS; ++regnum)
{
/* If the register name is empty, it is undefined for this
processor, so don't display anything. */
if (REGISTER_NAME (regnum) == NULL
|| *(REGISTER_NAME (regnum)) == '\0')
- {
- regnum++;
- continue;
- }
+ continue;
if (TYPE_CODE (gdbarch_register_type (gdbarch, regnum)) ==
TYPE_CODE_FLT)
{
+ /* true for "INFO ALL-REGISTERS" command */
if (fpregs)
- {
- /* true for "INFO ALL-REGISTERS" command */
- sh_do_fp_register (gdbarch, file, regnum); /* FP regs */
- regnum++;
- }
- else
- regnum += (FP_LAST_REGNUM - FP0_REGNUM); /* skip FP regs */
+ sh_do_fp_register (gdbarch, file, regnum); /* FP regs */
}
else
- {
- sh_do_register (gdbarch, file, regnum); /* All other regs */
- regnum++;
- }
+ sh_do_register (gdbarch, file, regnum); /* All other regs */
}
if (fpregs)
diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c
index f0fba0dc63d..1d7b313ab1c 100644
--- a/gdb/sh64-tdep.c
+++ b/gdb/sh64-tdep.c
@@ -1373,7 +1373,7 @@ sh64_pop_frame (void)
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame),
get_frame_base (frame),
get_frame_base (frame)))
- generic_pop_dummy_frame ();
+ deprecated_pop_dummy_frame ();
else
{
fp = get_frame_base (frame);
diff --git a/gdb/shnbsd-tdep.c b/gdb/shnbsd-tdep.c
index f915d2aa657..2b731ced1a7 100644
--- a/gdb/shnbsd-tdep.c
+++ b/gdb/shnbsd-tdep.c
@@ -177,7 +177,7 @@ static void
shnbsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
- set_gdbarch_pc_in_sigtramp (gdbarch, shnbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, shnbsd_pc_in_sigtramp);
set_solib_svr4_fetch_link_map_offsets (gdbarch,
nbsd_ilp32_solib_svr4_fetch_link_map_offsets);
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c
new file mode 100644
index 00000000000..5995b80fd8a
--- /dev/null
+++ b/gdb/solib-frv.c
@@ -0,0 +1,1230 @@
+/* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
+ Copyright 2004
+ Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 "defs.h"
+#include "gdb_string.h"
+#include "inferior.h"
+#include "gdbcore.h"
+#include "solist.h"
+#include "frv-tdep.h"
+#include "objfiles.h"
+#include "symtab.h"
+#include "language.h"
+#include "command.h"
+#include "gdbcmd.h"
+#include "elf/frv.h"
+
+/* Flag which indicates whether internal debug messages should be printed. */
+static int solib_frv_debug;
+
+/* FR-V pointers are four bytes wide. */
+enum { FRV_PTR_SIZE = 4 };
+
+/* Representation of loadmap and related structs for the FR-V FDPIC ABI. */
+
+/* External versions; the size and alignment of the fields should be
+ the same as those on the target. When loaded, the placement of
+ the bits in each field will be the same as on the target. */
+typedef unsigned char ext_Elf32_Half[2];
+typedef unsigned char ext_Elf32_Addr[4];
+typedef unsigned char ext_Elf32_Word[4];
+
+struct ext_elf32_fdpic_loadseg
+{
+ /* Core address to which the segment is mapped. */
+ ext_Elf32_Addr addr;
+ /* VMA recorded in the program header. */
+ ext_Elf32_Addr p_vaddr;
+ /* Size of this segment in memory. */
+ ext_Elf32_Word p_memsz;
+};
+
+struct ext_elf32_fdpic_loadmap {
+ /* Protocol version number, must be zero. */
+ ext_Elf32_Half version;
+ /* Number of segments in this map. */
+ ext_Elf32_Half nsegs;
+ /* The actual memory map. */
+ struct ext_elf32_fdpic_loadseg segs[1 /* nsegs, actually */];
+};
+
+/* Internal versions; the types are GDB types and the data in each
+ of the fields is (or will be) decoded from the external struct
+ for ease of consumption. */
+struct int_elf32_fdpic_loadseg
+{
+ /* Core address to which the segment is mapped. */
+ CORE_ADDR addr;
+ /* VMA recorded in the program header. */
+ CORE_ADDR p_vaddr;
+ /* Size of this segment in memory. */
+ long p_memsz;
+};
+
+struct int_elf32_fdpic_loadmap {
+ /* Protocol version number, must be zero. */
+ int version;
+ /* Number of segments in this map. */
+ int nsegs;
+ /* The actual memory map. */
+ struct int_elf32_fdpic_loadseg segs[1 /* nsegs, actually */];
+};
+
+/* Given address LDMADDR, fetch and decode the loadmap at that address.
+ Return NULL if there is a problem reading the target memory or if
+ there doesn't appear to be a loadmap at the given address. The
+ allocated space (representing the loadmap) returned by this
+ function may be freed via a single call to xfree(). */
+
+static struct int_elf32_fdpic_loadmap *
+fetch_loadmap (CORE_ADDR ldmaddr)
+{
+ struct ext_elf32_fdpic_loadmap ext_ldmbuf_partial;
+ struct ext_elf32_fdpic_loadmap *ext_ldmbuf;
+ struct int_elf32_fdpic_loadmap *int_ldmbuf;
+ int ext_ldmbuf_size, int_ldmbuf_size;
+ int version, seg, nsegs;
+
+ /* Fetch initial portion of the loadmap. */
+ if (target_read_memory (ldmaddr, (char *) &ext_ldmbuf_partial,
+ sizeof ext_ldmbuf_partial))
+ {
+ /* Problem reading the target's memory. */
+ return NULL;
+ }
+
+ /* Extract the version. */
+ version = extract_unsigned_integer (&ext_ldmbuf_partial.version,
+ sizeof ext_ldmbuf_partial.version);
+ if (version != 0)
+ {
+ /* We only handle version 0. */
+ return NULL;
+ }
+
+ /* Extract the number of segments. */
+ nsegs = extract_unsigned_integer (&ext_ldmbuf_partial.nsegs,
+ sizeof ext_ldmbuf_partial.nsegs);
+
+ /* Allocate space for the complete (external) loadmap. */
+ ext_ldmbuf_size = sizeof (struct ext_elf32_fdpic_loadmap)
+ + (nsegs - 1) * sizeof (struct ext_elf32_fdpic_loadseg);
+ ext_ldmbuf = xmalloc (ext_ldmbuf_size);
+
+ /* Copy over the portion of the loadmap that's already been read. */
+ memcpy (ext_ldmbuf, &ext_ldmbuf_partial, sizeof ext_ldmbuf_partial);
+
+ /* Read the rest of the loadmap from the target. */
+ if (target_read_memory (ldmaddr + sizeof ext_ldmbuf_partial,
+ (char *) ext_ldmbuf + sizeof ext_ldmbuf_partial,
+ ext_ldmbuf_size - sizeof ext_ldmbuf_partial))
+ {
+ /* Couldn't read rest of the loadmap. */
+ xfree (ext_ldmbuf);
+ return NULL;
+ }
+
+ /* Allocate space into which to put information extract from the
+ external loadsegs. I.e, allocate the internal loadsegs. */
+ int_ldmbuf_size = sizeof (struct int_elf32_fdpic_loadmap)
+ + (nsegs - 1) * sizeof (struct int_elf32_fdpic_loadseg);
+ int_ldmbuf = xmalloc (int_ldmbuf_size);
+
+ /* Place extracted information in internal structs. */
+ int_ldmbuf->version = version;
+ int_ldmbuf->nsegs = nsegs;
+ for (seg = 0; seg < nsegs; seg++)
+ {
+ int_ldmbuf->segs[seg].addr
+ = extract_unsigned_integer (&ext_ldmbuf->segs[seg].addr,
+ sizeof (ext_ldmbuf->segs[seg].addr));
+ int_ldmbuf->segs[seg].p_vaddr
+ = extract_unsigned_integer (&ext_ldmbuf->segs[seg].p_vaddr,
+ sizeof (ext_ldmbuf->segs[seg].p_vaddr));
+ int_ldmbuf->segs[seg].p_memsz
+ = extract_unsigned_integer (&ext_ldmbuf->segs[seg].p_memsz,
+ sizeof (ext_ldmbuf->segs[seg].p_memsz));
+ }
+
+ free (ext_ldmbuf);
+ return int_ldmbuf;
+}
+
+/* External link_map and elf32_fdpic_loadaddr struct definitions. */
+
+typedef unsigned char ext_ptr[4];
+
+struct ext_elf32_fdpic_loadaddr
+{
+ ext_ptr map; /* struct elf32_fdpic_loadmap *map; */
+ ext_ptr got_value; /* void *got_value; */
+};
+
+struct ext_link_map
+{
+ struct ext_elf32_fdpic_loadaddr l_addr;
+
+ /* Absolute file name object was found in. */
+ ext_ptr l_name; /* char *l_name; */
+
+ /* Dynamic section of the shared object. */
+ ext_ptr l_ld; /* ElfW(Dyn) *l_ld; */
+
+ /* Chain of loaded objects. */
+ ext_ptr l_next, l_prev; /* struct link_map *l_next, *l_prev; */
+};
+
+/* Link map info to include in an allocated so_list entry */
+
+struct lm_info
+ {
+ /* The loadmap, digested into an easier to use form. */
+ struct int_elf32_fdpic_loadmap *map;
+ /* The GOT address for this link map entry. */
+ CORE_ADDR got_value;
+
+ /* Cached dynamic symbol table and dynamic relocs initialized and
+ used only by find_canonical_descriptor_in_load_object().
+
+ Note: kevinb/2004-02-26: It appears that calls to
+ bfd_canonicalize_dynamic_reloc() will use the same symbols as
+ those supplied to the first call to this function. Therefore,
+ it's important to NOT free the asymbol ** data structure
+ supplied to the first call. Thus the caching of the dynamic
+ symbols (dyn_syms) is critical for correct operation. The
+ caching of the dynamic relocations could be dispensed with. */
+ asymbol **dyn_syms;
+ arelent **dyn_relocs;
+ int dyn_reloc_count; /* number of dynamic relocs. */
+
+ };
+
+/* The load map, got value, etc. are not available from the chain
+ of loaded shared objects. ``main_executable_lm_info'' provides
+ a way to get at this information so that it doesn't need to be
+ frequently recomputed. Initialized by frv_relocate_main_executable(). */
+static struct lm_info *main_executable_lm_info;
+
+static void frv_relocate_main_executable (void);
+static CORE_ADDR main_got (void);
+static int enable_break2 (void);
+
+/*
+
+ LOCAL FUNCTION
+
+ bfd_lookup_symbol -- lookup the value for a specific symbol
+
+ SYNOPSIS
+
+ CORE_ADDR bfd_lookup_symbol (bfd *abfd, char *symname)
+
+ DESCRIPTION
+
+ An expensive way to lookup the value of a single symbol for
+ bfd's that are only temporary anyway. This is used by the
+ shared library support to find the address of the debugger
+ interface structures in the shared library.
+
+ Note that 0 is specifically allowed as an error return (no
+ such symbol).
+ */
+
+static CORE_ADDR
+bfd_lookup_symbol (bfd *abfd, char *symname)
+{
+ long storage_needed;
+ asymbol *sym;
+ asymbol **symbol_table;
+ unsigned int number_of_symbols;
+ unsigned int i;
+ struct cleanup *back_to;
+ CORE_ADDR symaddr = 0;
+
+ storage_needed = bfd_get_symtab_upper_bound (abfd);
+
+ if (storage_needed > 0)
+ {
+ symbol_table = (asymbol **) xmalloc (storage_needed);
+ back_to = make_cleanup (xfree, symbol_table);
+ number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
+
+ for (i = 0; i < number_of_symbols; i++)
+ {
+ sym = *symbol_table++;
+ if (strcmp (sym->name, symname) == 0)
+ {
+ /* Bfd symbols are section relative. */
+ symaddr = sym->value + sym->section->vma;
+ break;
+ }
+ }
+ do_cleanups (back_to);
+ }
+
+ if (symaddr)
+ return symaddr;
+
+ /* Look for the symbol in the dynamic string table too. */
+
+ storage_needed = bfd_get_dynamic_symtab_upper_bound (abfd);
+
+ if (storage_needed > 0)
+ {
+ symbol_table = (asymbol **) xmalloc (storage_needed);
+ back_to = make_cleanup (xfree, symbol_table);
+ number_of_symbols = bfd_canonicalize_dynamic_symtab (abfd, symbol_table);
+
+ for (i = 0; i < number_of_symbols; i++)
+ {
+ sym = *symbol_table++;
+ if (strcmp (sym->name, symname) == 0)
+ {
+ /* Bfd symbols are section relative. */
+ symaddr = sym->value + sym->section->vma;
+ break;
+ }
+ }
+ do_cleanups (back_to);
+ }
+
+ return symaddr;
+}
+
+
+/*
+
+ LOCAL FUNCTION
+
+ open_symbol_file_object
+
+ SYNOPSIS
+
+ void open_symbol_file_object (void *from_tty)
+
+ DESCRIPTION
+
+ If no open symbol file, attempt to locate and open the main symbol
+ file.
+
+ If FROM_TTYP dereferences to a non-zero integer, allow messages to
+ be printed. This parameter is a pointer rather than an int because
+ open_symbol_file_object() is called via catch_errors() and
+ catch_errors() requires a pointer argument. */
+
+static int
+open_symbol_file_object (void *from_ttyp)
+{
+ /* Unimplemented. */
+ return 0;
+}
+
+/* Cached value for lm_base(), below. */
+static CORE_ADDR lm_base_cache = 0;
+
+/* Return the address from which the link map chain may be found. On
+ the FR-V, this may be found in a number of ways. Assuming that the
+ main executable has already been relocated, the easiest way to find
+ this value is to look up the address of _GLOBAL_OFFSET_TABLE_. A
+ pointer to the start of the link map will be located at the word found
+ at _GLOBAL_OFFSET_TABLE_ + 8. (This is part of the dynamic linker
+ reserve area mandated by the ABI.) */
+
+static CORE_ADDR
+lm_base (void)
+{
+ struct minimal_symbol *got_sym;
+ CORE_ADDR addr;
+ char buf[FRV_PTR_SIZE];
+
+ /* If we already have a cached value, return it. */
+ if (lm_base_cache)
+ return lm_base_cache;
+
+ got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", NULL,
+ symfile_objfile);
+ if (got_sym == 0)
+ {
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "lm_base: _GLOBAL_OFFSET_TABLE_ not found.\n");
+ return 0;
+ }
+
+ addr = SYMBOL_VALUE_ADDRESS (got_sym) + 8;
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "lm_base: _GLOBAL_OFFSET_TABLE_ + 8 = %s\n",
+ local_hex_string_custom (addr, "08l"));
+
+ if (target_read_memory (addr, buf, sizeof buf) != 0)
+ return 0;
+ lm_base_cache = extract_unsigned_integer (buf, sizeof buf);
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "lm_base: lm_base_cache = %s\n",
+ local_hex_string_custom (lm_base_cache, "08l"));
+
+ return lm_base_cache;
+}
+
+
+/* LOCAL FUNCTION
+
+ frv_current_sos -- build a list of currently loaded shared objects
+
+ SYNOPSIS
+
+ struct so_list *frv_current_sos ()
+
+ DESCRIPTION
+
+ Build a list of `struct so_list' objects describing the shared
+ objects currently loaded in the inferior. This list does not
+ include an entry for the main executable file.
+
+ Note that we only gather information directly available from the
+ inferior --- we don't examine any of the shared library files
+ themselves. The declaration of `struct so_list' says which fields
+ we provide values for. */
+
+static struct so_list *
+frv_current_sos (void)
+{
+ CORE_ADDR lm_addr, mgot;
+ struct so_list *sos_head = NULL;
+ struct so_list **sos_next_ptr = &sos_head;
+
+ mgot = main_got ();
+
+ /* Locate the address of the first link map struct. */
+ lm_addr = lm_base ();
+
+ /* We have at least one link map entry. Fetch the the lot of them,
+ building the solist chain. */
+ while (lm_addr)
+ {
+ struct ext_link_map lm_buf;
+ CORE_ADDR got_addr;
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "current_sos: reading link_map entry at %s\n",
+ local_hex_string_custom (lm_addr, "08l"));
+
+ if (target_read_memory (lm_addr, (char *) &lm_buf, sizeof (lm_buf)) != 0)
+ {
+ warning ("frv_current_sos: Unable to read link map entry. Shared object chain may be incomplete.");
+ break;
+ }
+
+ got_addr
+ = extract_unsigned_integer (&lm_buf.l_addr.got_value,
+ sizeof (lm_buf.l_addr.got_value));
+ /* If the got_addr is the same as mgotr, then we're looking at the
+ entry for the main executable. By convention, we don't include
+ this in the list of shared objects. */
+ if (got_addr != mgot)
+ {
+ int errcode;
+ char *name_buf;
+ struct int_elf32_fdpic_loadmap *loadmap;
+ struct so_list *sop;
+ CORE_ADDR addr;
+
+ /* Fetch the load map address. */
+ addr = extract_unsigned_integer (&lm_buf.l_addr.map,
+ sizeof lm_buf.l_addr.map);
+ loadmap = fetch_loadmap (addr);
+ if (loadmap == NULL)
+ {
+ warning ("frv_current_sos: Unable to fetch load map. Shared object chain may be incomplete.");
+ break;
+ }
+
+ sop = xcalloc (1, sizeof (struct so_list));
+ sop->lm_info = xcalloc (1, sizeof (struct lm_info));
+ sop->lm_info->map = loadmap;
+ sop->lm_info->got_value = got_addr;
+ /* Fetch the name. */
+ addr = extract_unsigned_integer (&lm_buf.l_name,
+ sizeof (lm_buf.l_name));
+ target_read_string (addr, &name_buf, SO_NAME_MAX_PATH_SIZE - 1,
+ &errcode);
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog, "current_sos: name = %s\n",
+ name_buf);
+
+ if (errcode != 0)
+ {
+ warning ("frv_current_sos: Can't read pathname for link map entry: %s\n",
+ safe_strerror (errcode));
+ }
+ else
+ {
+ strncpy (sop->so_name, name_buf, SO_NAME_MAX_PATH_SIZE - 1);
+ sop->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
+ xfree (name_buf);
+ strcpy (sop->so_original_name, sop->so_name);
+ }
+
+ *sos_next_ptr = sop;
+ sos_next_ptr = &sop->next;
+ }
+
+ lm_addr = extract_unsigned_integer (&lm_buf.l_next, sizeof (lm_buf.l_next));
+ }
+
+ enable_break2 ();
+
+ return sos_head;
+}
+
+
+/* Return 1 if PC lies in the dynamic symbol resolution code of the
+ run time loader. */
+
+static CORE_ADDR interp_text_sect_low;
+static CORE_ADDR interp_text_sect_high;
+static CORE_ADDR interp_plt_sect_low;
+static CORE_ADDR interp_plt_sect_high;
+
+static int
+frv_in_dynsym_resolve_code (CORE_ADDR pc)
+{
+ return ((pc >= interp_text_sect_low && pc < interp_text_sect_high)
+ || (pc >= interp_plt_sect_low && pc < interp_plt_sect_high)
+ || in_plt_section (pc, NULL));
+}
+
+/* Given a loadmap and an address, return the displacement needed
+ to relocate the address. */
+
+CORE_ADDR
+displacement_from_map (struct int_elf32_fdpic_loadmap *map,
+ CORE_ADDR addr)
+{
+ int seg;
+
+ for (seg = 0; seg < map->nsegs; seg++)
+ {
+ if (map->segs[seg].p_vaddr <= addr
+ && addr < map->segs[seg].p_vaddr + map->segs[seg].p_memsz)
+ {
+ return map->segs[seg].addr - map->segs[seg].p_vaddr;
+ }
+ }
+
+ return 0;
+}
+
+/* Print a warning about being unable to set the dynamic linker
+ breakpoint. */
+
+static void
+enable_break_failure_warning (void)
+{
+ warning ("Unable to find dynamic linker breakpoint function.\n"
+ "GDB will be unable to debug shared library initializers\n"
+ "and track explicitly loaded dynamic code.");
+}
+
+/*
+
+ LOCAL FUNCTION
+
+ enable_break -- arrange for dynamic linker to hit breakpoint
+
+ SYNOPSIS
+
+ int enable_break (void)
+
+ DESCRIPTION
+
+ The dynamic linkers has, as part of its debugger interface, support
+ for arranging for the inferior to hit a breakpoint after mapping in
+ the shared libraries. This function enables that breakpoint.
+
+ On the FR-V, using the shared library (FDPIC) ABI, the symbol
+ _dl_debug_addr points to the r_debug struct which contains
+ a field called r_brk. r_brk is the address of the function
+ descriptor upon which a breakpoint must be placed. Being a
+ function descriptor, we must extract the entry point in order
+ to set the breakpoint.
+
+ Our strategy will be to get the .interp section from the
+ executable. This section will provide us with the name of the
+ interpreter. We'll open the interpreter and then look up
+ the address of _dl_debug_addr. We then relocate this address
+ using the interpreter's loadmap. Once the relocated address
+ is known, we fetch the value (address) corresponding to r_brk
+ and then use that value to fetch the entry point of the function
+ we're interested in.
+
+ */
+
+static int enable_break1_done = 0;
+static int enable_break2_done = 0;
+
+static int
+enable_break2 (void)
+{
+ int success = 0;
+ char **bkpt_namep;
+ asection *interp_sect;
+
+ if (!enable_break1_done || enable_break2_done)
+ return 1;
+
+ enable_break2_done = 1;
+
+ /* First, remove all the solib event breakpoints. Their addresses
+ may have changed since the last time we ran the program. */
+ remove_solib_event_breakpoints ();
+
+ interp_text_sect_low = interp_text_sect_high = 0;
+ interp_plt_sect_low = interp_plt_sect_high = 0;
+
+ /* Find the .interp section; if not found, warn the user and drop
+ into the old breakpoint at symbol code. */
+ interp_sect = bfd_get_section_by_name (exec_bfd, ".interp");
+ if (interp_sect)
+ {
+ unsigned int interp_sect_size;
+ char *buf;
+ bfd *tmp_bfd = NULL;
+ int tmp_fd = -1;
+ char *tmp_pathname = NULL;
+ int status;
+ CORE_ADDR addr, interp_loadmap_addr;
+ char addr_buf[FRV_PTR_SIZE];
+ struct int_elf32_fdpic_loadmap *ldm;
+
+ /* Read the contents of the .interp section into a local buffer;
+ the contents specify the dynamic linker this program uses. */
+ interp_sect_size = bfd_section_size (exec_bfd, interp_sect);
+ buf = alloca (interp_sect_size);
+ bfd_get_section_contents (exec_bfd, interp_sect,
+ buf, 0, interp_sect_size);
+
+ /* Now we need to figure out where the dynamic linker was
+ loaded so that we can load its symbols and place a breakpoint
+ in the dynamic linker itself.
+
+ This address is stored on the stack. However, I've been unable
+ to find any magic formula to find it for Solaris (appears to
+ be trivial on GNU/Linux). Therefore, we have to try an alternate
+ mechanism to find the dynamic linker's base address. */
+
+ tmp_fd = solib_open (buf, &tmp_pathname);
+ if (tmp_fd >= 0)
+ tmp_bfd = bfd_fdopenr (tmp_pathname, gnutarget, tmp_fd);
+
+ if (tmp_bfd == NULL)
+ {
+ enable_break_failure_warning ();
+ return 0;
+ }
+
+ /* Make sure the dynamic linker is really a useful object. */
+ if (!bfd_check_format (tmp_bfd, bfd_object))
+ {
+ warning ("Unable to grok dynamic linker %s as an object file", buf);
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+
+ status = frv_fdpic_loadmap_addresses (current_gdbarch,
+ &interp_loadmap_addr, 0);
+ if (status < 0)
+ {
+ warning ("Unable to determine dynamic linker loadmap address\n");
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "enable_break: interp_loadmap_addr = %s\n",
+ local_hex_string_custom (interp_loadmap_addr,
+ "08l"));
+
+ ldm = fetch_loadmap (interp_loadmap_addr);
+ if (ldm == NULL)
+ {
+ warning ("Unable to load dynamic linker loadmap at address %s\n",
+ local_hex_string_custom (interp_loadmap_addr, "08l"));
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+
+ /* Record the relocated start and end address of the dynamic linker
+ text and plt section for svr4_in_dynsym_resolve_code. */
+ interp_sect = bfd_get_section_by_name (tmp_bfd, ".text");
+ if (interp_sect)
+ {
+ interp_text_sect_low
+ = bfd_section_vma (tmp_bfd, interp_sect);
+ interp_text_sect_low
+ += displacement_from_map (ldm, interp_text_sect_low);
+ interp_text_sect_high
+ = interp_text_sect_low + bfd_section_size (tmp_bfd, interp_sect);
+ }
+ interp_sect = bfd_get_section_by_name (tmp_bfd, ".plt");
+ if (interp_sect)
+ {
+ interp_plt_sect_low =
+ bfd_section_vma (tmp_bfd, interp_sect);
+ interp_plt_sect_low
+ += displacement_from_map (ldm, interp_plt_sect_low);
+ interp_plt_sect_high =
+ interp_plt_sect_low + bfd_section_size (tmp_bfd, interp_sect);
+ }
+
+ addr = bfd_lookup_symbol (tmp_bfd, "_dl_debug_addr");
+ if (addr == 0)
+ {
+ warning ("Could not find symbol _dl_debug_addr in dynamic linker");
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "enable_break: _dl_debug_addr (prior to relocation) = %s\n",
+ local_hex_string_custom (addr, "08l"));
+
+ addr += displacement_from_map (ldm, addr);
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "enable_break: _dl_debug_addr (after relocation) = %s\n",
+ local_hex_string_custom (addr, "08l"));
+
+ /* Fetch the address of the r_debug struct. */
+ if (target_read_memory (addr, addr_buf, sizeof addr_buf) != 0)
+ {
+ warning ("Unable to fetch contents of _dl_debug_addr (at address %s) from dynamic linker",
+ local_hex_string_custom (addr, "08l"));
+ }
+ addr = extract_unsigned_integer (addr_buf, sizeof addr_buf);
+
+ /* Fetch the r_brk field. It's 8 bytes from the start of
+ _dl_debug_addr. */
+ if (target_read_memory (addr + 8, addr_buf, sizeof addr_buf) != 0)
+ {
+ warning ("Unable to fetch _dl_debug_addr->r_brk (at address %s) from dynamic linker",
+ local_hex_string_custom (addr + 8, "08l"));
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+ addr = extract_unsigned_integer (addr_buf, sizeof addr_buf);
+
+ /* Now fetch the function entry point. */
+ if (target_read_memory (addr, addr_buf, sizeof addr_buf) != 0)
+ {
+ warning ("Unable to fetch _dl_debug_addr->.r_brk entry point (at address %s) from dynamic linker",
+ local_hex_string_custom (addr, "08l"));
+ enable_break_failure_warning ();
+ bfd_close (tmp_bfd);
+ return 0;
+ }
+ addr = extract_unsigned_integer (addr_buf, sizeof addr_buf);
+
+ /* We're done with the temporary bfd. */
+ bfd_close (tmp_bfd);
+
+ /* We're also done with the loadmap. */
+ xfree (ldm);
+
+ /* Now (finally!) create the solib breakpoint. */
+ create_solib_event_breakpoint (addr);
+
+ return 1;
+ }
+
+ /* Tell the user we couldn't set a dynamic linker breakpoint. */
+ enable_break_failure_warning ();
+
+ /* Failure return. */
+ return 0;
+}
+
+static int
+enable_break (void)
+{
+ asection *interp_sect;
+
+ /* Remove all the solib event breakpoints. Their addresses
+ may have changed since the last time we ran the program. */
+ remove_solib_event_breakpoints ();
+
+ /* Check for the presence of a .interp section. If there is no
+ such section, the executable is statically linked. */
+
+ interp_sect = bfd_get_section_by_name (exec_bfd, ".interp");
+
+ if (interp_sect)
+ {
+ enable_break1_done = 1;
+ create_solib_event_breakpoint (symfile_objfile->ei.entry_point);
+
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "enable_break: solib event breakpoint placed at entry point: %s\n",
+ local_hex_string_custom
+ (symfile_objfile->ei.entry_point, "08l"));
+ }
+ else
+ {
+ if (solib_frv_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "enable_break: No .interp section found.\n");
+ }
+
+ return 1;
+}
+
+/*
+
+ LOCAL FUNCTION
+
+ special_symbol_handling -- additional shared library symbol handling
+
+ SYNOPSIS
+
+ void special_symbol_handling ()
+
+ DESCRIPTION
+
+ Once the symbols from a shared object have been loaded in the usual
+ way, we are called to do any system specific symbol handling that
+ is needed.
+
+ */
+
+static void
+frv_special_symbol_handling (void)
+{
+ /* Nothing needed (yet) for FRV. */
+}
+
+static void
+frv_relocate_main_executable (void)
+{
+ int status;
+ CORE_ADDR exec_addr;
+ struct int_elf32_fdpic_loadmap *ldm;
+ struct cleanup *old_chain;
+ struct section_offsets *new_offsets;
+ int changed;
+ struct obj_section *osect;
+
+ status = frv_fdpic_loadmap_addresses (current_gdbarch, 0, &exec_addr);
+
+ if (status < 0)
+ {
+ /* Not using FDPIC ABI, so do nothing. */
+ return;
+ }
+
+ /* Fetch the loadmap located at ``exec_addr''. */
+ ldm = fetch_loadmap (exec_addr);
+ if (ldm == NULL)
+ error ("Unable to load the executable's loadmap.");
+
+ if (main_executable_lm_info)
+ xfree (main_executable_lm_info);
+ main_executable_lm_info = xcalloc (1, sizeof (struct lm_info));
+ main_executable_lm_info->map = ldm;
+
+ new_offsets = xcalloc (symfile_objfile->num_sections,
+ sizeof (struct section_offsets));
+ old_chain = make_cleanup (xfree, new_offsets);
+ changed = 0;
+
+ ALL_OBJFILE_OSECTIONS (symfile_objfile, osect)
+ {
+ CORE_ADDR orig_addr, addr, offset;
+ int osect_idx;
+ int seg;
+
+ osect_idx = osect->the_bfd_section->index;
+
+ /* Current address of section. */
+ addr = osect->addr;
+ /* Offset from where this section started. */
+ offset = ANOFFSET (symfile_objfile->section_offsets, osect_idx);
+ /* Original address prior to any past relocations. */
+ orig_addr = addr - offset;
+
+ for (seg = 0; seg < ldm->nsegs; seg++)
+ {
+ if (ldm->segs[seg].p_vaddr <= orig_addr
+ && orig_addr < ldm->segs[seg].p_vaddr + ldm->segs[seg].p_memsz)
+ {
+ new_offsets->offsets[osect_idx]
+ = ldm->segs[seg].addr - ldm->segs[seg].p_vaddr;
+
+ if (new_offsets->offsets[osect_idx] != offset)
+ changed = 1;
+ break;
+ }
+ }
+ }
+
+ if (changed)
+ objfile_relocate (symfile_objfile, new_offsets);
+
+ do_cleanups (old_chain);
+
+ /* Now that symfile_objfile has been relocated, we can compute the
+ GOT value and stash it away. */
+ main_executable_lm_info->got_value = main_got ();
+}
+
+/*
+
+ GLOBAL FUNCTION
+
+ frv_solib_create_inferior_hook -- shared library startup support
+
+ SYNOPSIS
+
+ void frv_solib_create_inferior_hook()
+
+ DESCRIPTION
+
+ When gdb starts up the inferior, it nurses it along (through the
+ shell) until it is ready to execute it's first instruction. At this
+ point, this function gets called via expansion of the macro
+ SOLIB_CREATE_INFERIOR_HOOK.
+
+ For the FR-V shared library ABI (FDPIC), the main executable
+ needs to be relocated. The shared library breakpoints also need
+ to be enabled.
+ */
+
+static void
+frv_solib_create_inferior_hook (void)
+{
+ /* Relocate main executable. */
+ frv_relocate_main_executable ();
+
+ /* Enable shared library breakpoints. */
+ if (!enable_break ())
+ {
+ warning ("shared library handler failed to enable breakpoint");
+ return;
+ }
+}
+
+static void
+frv_clear_solib (void)
+{
+ lm_base_cache = 0;
+ enable_break1_done = 0;
+ enable_break2_done = 0;
+}
+
+static void
+frv_free_so (struct so_list *so)
+{
+ xfree (so->lm_info->map);
+ xfree (so->lm_info->dyn_syms);
+ xfree (so->lm_info->dyn_relocs);
+ xfree (so->lm_info);
+}
+
+static void
+frv_relocate_section_addresses (struct so_list *so,
+ struct section_table *sec)
+{
+ int seg;
+ struct int_elf32_fdpic_loadmap *map;
+
+ map = so->lm_info->map;
+
+ for (seg = 0; seg < map->nsegs; seg++)
+ {
+ if (map->segs[seg].p_vaddr <= sec->addr
+ && sec->addr < map->segs[seg].p_vaddr + map->segs[seg].p_memsz)
+ {
+ CORE_ADDR displ = map->segs[seg].addr - map->segs[seg].p_vaddr;
+ sec->addr += displ;
+ sec->endaddr += displ;
+ break;
+ }
+ }
+}
+
+/* Return the GOT address associated with the main executable. Return
+ 0 if it can't be found. */
+
+static CORE_ADDR
+main_got (void)
+{
+ struct minimal_symbol *got_sym;
+
+ got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", NULL, symfile_objfile);
+ if (got_sym == 0)
+ return 0;
+
+ return SYMBOL_VALUE_ADDRESS (got_sym);
+}
+
+/* Find the global pointer for the given function address ADDR. */
+
+CORE_ADDR
+frv_fdpic_find_global_pointer (CORE_ADDR addr)
+{
+ struct so_list *so;
+
+ so = master_so_list ();
+ while (so)
+ {
+ int seg;
+ struct int_elf32_fdpic_loadmap *map;
+
+ map = so->lm_info->map;
+
+ for (seg = 0; seg < map->nsegs; seg++)
+ {
+ if (map->segs[seg].addr <= addr
+ && addr < map->segs[seg].addr + map->segs[seg].p_memsz)
+ return so->lm_info->got_value;
+ }
+
+ so = so->next;
+ }
+
+ /* Didn't find it it any of the shared objects. So assume it's in the
+ main executable. */
+ return main_got ();
+}
+
+/* Forward declarations for frv_fdpic_find_canonical_descriptor(). */
+static CORE_ADDR find_canonical_descriptor_in_load_object
+ (CORE_ADDR, CORE_ADDR, char *, bfd *, struct lm_info *);
+
+/* Given a function entry point, attempt to find the canonical descriptor
+ associated with that entry point. Return 0 if no canonical descriptor
+ could be found. */
+
+CORE_ADDR
+frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point)
+{
+ char *name;
+ CORE_ADDR addr;
+ CORE_ADDR got_value;
+ struct int_elf32_fdpic_loadmap *ldm = 0;
+ struct symbol *sym;
+ int status;
+ CORE_ADDR exec_loadmap_addr;
+
+ /* Fetch the corresponding global pointer for the entry point. */
+ got_value = frv_fdpic_find_global_pointer (entry_point);
+
+ /* Attempt to find the name of the function. If the name is available,
+ it'll be used as an aid in finding matching functions in the dynamic
+ symbol table. */
+ sym = find_pc_function (entry_point);
+ if (sym == 0)
+ name = 0;
+ else
+ name = SYMBOL_LINKAGE_NAME (sym);
+
+ /* Check the main executable. */
+ addr = find_canonical_descriptor_in_load_object
+ (entry_point, got_value, name, symfile_objfile->obfd,
+ main_executable_lm_info);
+
+ /* If descriptor not found via main executable, check each load object
+ in list of shared objects. */
+ if (addr == 0)
+ {
+ struct so_list *so;
+
+ so = master_so_list ();
+ while (so)
+ {
+ addr = find_canonical_descriptor_in_load_object
+ (entry_point, got_value, name, so->abfd, so->lm_info);
+
+ if (addr != 0)
+ break;
+
+ so = so->next;
+ }
+ }
+
+ return addr;
+}
+
+static CORE_ADDR
+find_canonical_descriptor_in_load_object
+ (CORE_ADDR entry_point, CORE_ADDR got_value, char *name, bfd *abfd,
+ struct lm_info *lm)
+{
+ arelent *rel;
+ unsigned int i;
+ CORE_ADDR addr = 0;
+
+ /* Nothing to do if no bfd. */
+ if (abfd == 0)
+ return 0;
+
+ /* We want to scan the dynamic relocs for R_FRV_FUNCDESC relocations.
+ (More about this later.) But in order to fetch the relocs, we
+ need to first fetch the dynamic symbols. These symbols need to
+ be cached due to the way that bfd_canonicalize_dynamic_reloc()
+ works. (See the comments in the declaration of struct lm_info
+ for more information.) */
+ if (lm->dyn_syms == NULL)
+ {
+ long storage_needed;
+ unsigned int number_of_symbols;
+
+ /* Determine amount of space needed to hold the dynamic symbol table. */
+ storage_needed = bfd_get_dynamic_symtab_upper_bound (abfd);
+
+ /* If there are no dynamic symbols, there's nothing to do. */
+ if (storage_needed <= 0)
+ return 0;
+
+ /* Allocate space for the dynamic symbol table. */
+ lm->dyn_syms = (asymbol **) xmalloc (storage_needed);
+
+ /* Fetch the dynamic symbol table. */
+ number_of_symbols = bfd_canonicalize_dynamic_symtab (abfd, lm->dyn_syms);
+
+ if (number_of_symbols == 0)
+ return 0;
+ }
+
+ /* Fetch the dynamic relocations if not already cached. */
+ if (lm->dyn_relocs == NULL)
+ {
+ long storage_needed;
+
+ /* Determine amount of space needed to hold the dynamic relocs. */
+ storage_needed = bfd_get_dynamic_reloc_upper_bound (abfd);
+
+ /* Bail out if there are no dynamic relocs. */
+ if (storage_needed <= 0)
+ return 0;
+
+ /* Allocate space for the relocs. */
+ lm->dyn_relocs = (arelent **) xmalloc (storage_needed);
+
+ /* Fetch the dynamic relocs. */
+ lm->dyn_reloc_count
+ = bfd_canonicalize_dynamic_reloc (abfd, lm->dyn_relocs, lm->dyn_syms);
+ }
+
+ /* Search the dynamic relocs. */
+ for (i = 0; i < lm->dyn_reloc_count; i++)
+ {
+ rel = lm->dyn_relocs[i];
+
+ /* Relocs of interest are those which meet the following
+ criteria:
+
+ - the names match (assuming the caller could provide
+ a name which matches ``entry_point'').
+ - the relocation type must be R_FRV_FUNCDESC. Relocs
+ of this type are used (by the dynamic linker) to
+ look up the address of a canonical descriptor (allocating
+ it if need be) and initializing the GOT entry referred
+ to by the offset to the address of the descriptor.
+
+ These relocs of interest may be used to obtain a
+ candidate descriptor by first adjusting the reloc's
+ address according to the link map and then dereferencing
+ this address (which is a GOT entry) to obtain a descriptor
+ address. */
+ if ((name == 0 || strcmp (name, (*rel->sym_ptr_ptr)->name) == 0)
+ && rel->howto->type == R_FRV_FUNCDESC)
+ {
+ char buf[FRV_PTR_SIZE];
+
+ /* Compute address of address of candidate descriptor. */
+ addr = rel->address + displacement_from_map (lm->map, rel->address);
+
+ /* Fetch address of candidate descriptor. */
+ if (target_read_memory (addr, buf, sizeof buf) != 0)
+ continue;
+ addr = extract_unsigned_integer (buf, sizeof buf);
+
+ /* Check for matching entry point. */
+ if (target_read_memory (addr, buf, sizeof buf) != 0)
+ continue;
+ if (extract_unsigned_integer (buf, sizeof buf) != entry_point)
+ continue;
+
+ /* Check for matching got value. */
+ if (target_read_memory (addr + 4, buf, sizeof buf) != 0)
+ continue;
+ if (extract_unsigned_integer (buf, sizeof buf) != got_value)
+ continue;
+
+ /* Match was successful! Exit loop. */
+ break;
+ }
+ }
+
+ return addr;
+}
+
+static struct target_so_ops frv_so_ops;
+
+void
+_initialize_frv_solib (void)
+{
+ frv_so_ops.relocate_section_addresses = frv_relocate_section_addresses;
+ frv_so_ops.free_so = frv_free_so;
+ frv_so_ops.clear_solib = frv_clear_solib;
+ frv_so_ops.solib_create_inferior_hook = frv_solib_create_inferior_hook;
+ frv_so_ops.special_symbol_handling = frv_special_symbol_handling;
+ frv_so_ops.current_sos = frv_current_sos;
+ frv_so_ops.open_symbol_file_object = open_symbol_file_object;
+ frv_so_ops.in_dynsym_resolve_code = frv_in_dynsym_resolve_code;
+
+ /* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */
+ current_target_so_ops = &frv_so_ops;
+
+ /* Debug this file's internals. */
+ add_show_from_set (add_set_cmd ("solib-frv", class_maintenance, var_zinteger,
+ &solib_frv_debug,
+"Set internal debugging of shared library code for FR-V.\n"
+"When non-zero, FR-V solib specific internal debugging is enabled.",
+ &setdebuglist),
+ &showdebuglist);
+}
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 4f4664cc017..abf2948a1f7 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -1004,7 +1004,7 @@ enable_break (void)
char *buf;
CORE_ADDR load_addr = 0;
int load_addr_found = 0;
- struct so_list *inferior_sos;
+ struct so_list *so;
bfd *tmp_bfd = NULL;
struct target_ops *tmp_bfd_target;
int tmp_fd = -1;
@@ -1047,23 +1047,19 @@ enable_break (void)
target will also close the underlying bfd. */
tmp_bfd_target = target_bfd_reopen (tmp_bfd);
- /* If the entry in _DYNAMIC for the dynamic linker has already
- been filled in, we can read its base address from there. */
- inferior_sos = svr4_current_sos ();
- if (inferior_sos)
+ /* On a running target, we can get the dynamic linker's base
+ address from the shared library table. */
+ solib_add (NULL, 0, NULL, auto_solib_add);
+ so = master_so_list ();
+ while (so)
{
- /* Connected to a running target. Update our shared library table. */
- solib_add (NULL, 0, NULL, auto_solib_add);
- }
- while (inferior_sos)
- {
- if (strcmp (buf, inferior_sos->so_original_name) == 0)
+ if (strcmp (buf, so->so_original_name) == 0)
{
load_addr_found = 1;
- load_addr = LM_ADDR (inferior_sos);
+ load_addr = LM_ADDR (so);
break;
}
- inferior_sos = inferior_sos->next;
+ so = so->next;
}
/* Otherwise we find the dynamic linker's base address by examining
@@ -1490,7 +1486,7 @@ void
set_solib_svr4_fetch_link_map_offsets (struct gdbarch *gdbarch,
struct link_map_offsets *(*flmo) (void))
{
- set_gdbarch_data (gdbarch, fetch_link_map_offsets_gdbarch_data, flmo);
+ deprecated_set_gdbarch_data (gdbarch, fetch_link_map_offsets_gdbarch_data, flmo);
}
/* Initialize the architecture-specific link_map_offsets fetcher.
@@ -1588,7 +1584,7 @@ void
_initialize_svr4_solib (void)
{
fetch_link_map_offsets_gdbarch_data =
- register_gdbarch_data (init_fetch_link_map_offsets);
+ gdbarch_data_register_post_init (init_fetch_link_map_offsets);
svr4_so_ops.relocate_section_addresses = svr4_relocate_section_addresses;
svr4_so_ops.free_so = svr4_free_so;
diff --git a/gdb/solib-svr4.h b/gdb/solib-svr4.h
index d76c7f51459..0909e4c35a3 100644
--- a/gdb/solib-svr4.h
+++ b/gdb/solib-svr4.h
@@ -20,6 +20,9 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#ifndef SOLIB_SVR4_H
+#define SOLIB_SVR4_H
+
struct objfile;
/* Critical offsets and sizes which describe struct r_debug and
@@ -88,3 +91,5 @@ extern struct link_map_offsets *(*legacy_svr4_fetch_link_map_offsets_hook)(void)
for ILP32 and LP64 SVR4 systems. */
extern struct link_map_offsets *svr4_ilp32_fetch_link_map_offsets (void);
extern struct link_map_offsets *svr4_lp64_fetch_link_map_offsets (void);
+
+#endif /* solib-svr4.h */
diff --git a/gdb/solib.c b/gdb/solib.c
index a98c3bdfed7..137fc709fd4 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -333,6 +333,14 @@ free_so (struct so_list *so)
}
+/* Return address of first so_list entry in master shared object list. */
+struct so_list *
+master_so_list (void)
+{
+ return so_list_head;
+}
+
+
/* A small stub to get us past the arg-passing pinhole of catch_errors. */
static int
diff --git a/gdb/solist.h b/gdb/solist.h
index 8e5c4321855..7977c541fc1 100644
--- a/gdb/solist.h
+++ b/gdb/solist.h
@@ -107,8 +107,12 @@ struct target_so_ops
};
+/* Free the memory associated with a (so_list *). */
void free_so (struct so_list *so);
+/* Return address of first so_list entry in master shared object list. */
+struct so_list *master_so_list (void);
+
/* Find solib binary file and open it. */
extern int solib_open (char *in_pathname, char **found_pathname);
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
index 13875af438e..8f77dcc6a99 100644
--- a/gdb/sparc-linux-tdep.c
+++ b/gdb/sparc-linux-tdep.c
@@ -293,7 +293,7 @@ sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_long_double_bit (gdbarch, 64);
set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc32_linux_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc32_linux_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc32_linux_sigtramp_frame_sniffer);
set_solib_svr4_fetch_link_map_offsets
diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c
index 5f65b7826d1..0885d470400 100644
--- a/gdb/sparc-sol2-tdep.c
+++ b/gdb/sparc-sol2-tdep.c
@@ -185,7 +185,7 @@ sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Solaris has kernel-assisted single-stepping support. */
set_gdbarch_software_single_step (gdbarch, NULL);
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc32_sol2_sigtramp_frame_sniffer);
}
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index ac8eb48f439..893648c8b36 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -43,12 +43,11 @@
struct regset;
-/* This file implements the The SPARC 32-bit ABI as defined by the
- section "Low-Level System Information" of the SPARC Compliance
- Definition (SCD) 2.4.1, which is the 32-bit System V psABI for
- SPARC. The SCD lists changes with respect to the origional 32-bit
- psABI as defined in the "System V ABI, SPARC Processor
- Supplement".
+/* This file implements the SPARC 32-bit ABI as defined by the section
+ "Low-Level System Information" of the SPARC Compliance Definition
+ (SCD) 2.4.1, which is the 32-bit System V psABI for SPARC. The SCD
+ lists changes with respect to the original 32-bit psABI as defined
+ in the "System V ABI, SPARC Processor Supplement".
Note that if we talk about SunOS, we mean SunOS 4.x, which was
BSD-based, which is sometimes (retroactively?) referred to as
@@ -186,7 +185,7 @@ sparc_integral_or_pointer_p (const struct type *type)
{
/* We have byte, half-word, word and extended-word/doubleword
integral types. The doubleword is an extension to the
- origional 32-bit ABI by the SCD 2.4.x. */
+ original 32-bit ABI by the SCD 2.4.x. */
int len = TYPE_LENGTH (type);
return (len == 1 || len == 2 || len == 4 || len == 8);
}
diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c
index 079f3c502e7..43057fe76e5 100644
--- a/gdb/sparc64-sol2-tdep.c
+++ b/gdb/sparc64-sol2-tdep.c
@@ -153,7 +153,7 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc64_sol2_sigtramp_frame_sniffer);
sparc64_init_abi (info, gdbarch);
diff --git a/gdb/sparc64fbsd-tdep.c b/gdb/sparc64fbsd-tdep.c
index 3c1335df431..0c410ef5b29 100644
--- a/gdb/sparc64fbsd-tdep.c
+++ b/gdb/sparc64fbsd-tdep.c
@@ -208,7 +208,7 @@ sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->fpregset->supply_regset = sparc64fbsd_supply_fpregset;
tdep->sizeof_fpregset = 272;
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc64fbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc64fbsd_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc64fbsd_sigtramp_frame_sniffer);
sparc64_init_abi (info, gdbarch);
diff --git a/gdb/sparc64nbsd-tdep.c b/gdb/sparc64nbsd-tdep.c
index 8e7987008e7..7b2adf360f5 100644
--- a/gdb/sparc64nbsd-tdep.c
+++ b/gdb/sparc64nbsd-tdep.c
@@ -235,7 +235,7 @@ sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->fpregset->supply_regset = sparc64nbsd_supply_fpregset;
tdep->sizeof_fpregset = 272;
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc64nbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc64nbsd_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc64nbsd_sigtramp_frame_sniffer);
sparc64_init_abi (info, gdbarch);
diff --git a/gdb/sparc64obsd-tdep.c b/gdb/sparc64obsd-tdep.c
index 190a46be1fa..162f11d386e 100644
--- a/gdb/sparc64obsd-tdep.c
+++ b/gdb/sparc64obsd-tdep.c
@@ -189,7 +189,7 @@ sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->gregset->supply_regset = sparc64obsd_supply_gregset;
tdep->sizeof_gregset = 832;
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc64obsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc64obsd_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc64obsd_sigtramp_frame_sniffer);
sparc64_init_abi (info, gdbarch);
diff --git a/gdb/sparcnbsd-tdep.c b/gdb/sparcnbsd-tdep.c
index b1be7eb5b12..4cf4dcffa5e 100644
--- a/gdb/sparcnbsd-tdep.c
+++ b/gdb/sparcnbsd-tdep.c
@@ -283,7 +283,7 @@ sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->fpregset->supply_regset = sparc32nbsd_supply_fpregset;
tdep->sizeof_fpregset = 33 * 4;
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc32nbsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc32nbsd_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc32nbsd_sigtramp_frame_sniffer);
}
diff --git a/gdb/sparcobsd-tdep.c b/gdb/sparcobsd-tdep.c
index 108e255ed13..2677d4d978a 100644
--- a/gdb/sparcobsd-tdep.c
+++ b/gdb/sparcobsd-tdep.c
@@ -152,7 +152,7 @@ sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_long_double_bit (gdbarch, 64);
set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
- set_gdbarch_pc_in_sigtramp (gdbarch, sparc32obsd_pc_in_sigtramp);
+ set_gdbarch_deprecated_pc_in_sigtramp (gdbarch, sparc32obsd_pc_in_sigtramp);
frame_unwind_append_sniffer (gdbarch, sparc32obsd_sigtramp_frame_sniffer);
set_solib_svr4_fetch_link_map_offsets
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 5cee516bcb3..07c6fe0b8a2 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -178,11 +178,11 @@ invalid_cpp_abbrev_complaint (const char *arg1)
}
static void
-reg_value_complaint (int arg1, int arg2, const char *arg3)
+reg_value_complaint (int regnum, int num_regs, const char *sym)
{
complaint (&symfile_complaints,
- "register number %d too large (max %d) in symbol %s", arg1, arg2,
- arg3);
+ "register number %d too large (max %d) in symbol %s",
+ regnum, num_regs - 1, sym);
}
static void
diff --git a/gdb/stack.c b/gdb/stack.c
index 18d9a7c303e..93e36b5210f 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1947,20 +1947,8 @@ If you continue, the return value that you specified will be ignored.\n";
/* If we are at the end of a call dummy now, pop the dummy frame
too. */
- /* NOTE: cagney/2003-01-18: Is this silly? Instead of popping all
- the frames in sequence, should this code just pop the dummy frame
- directly? */
-#ifdef DEPRECATED_CALL_DUMMY_HAS_COMPLETED
- /* Since all up-to-date architectures return direct to the dummy
- breakpoint address, a dummy frame has, by definition, always
- completed. Hence this method is no longer needed. */
- if (DEPRECATED_CALL_DUMMY_HAS_COMPLETED (read_pc(), read_sp (),
- get_frame_base (get_current_frame ())))
- frame_pop (get_current_frame ());
-#else
if (get_frame_type (get_current_frame ()) == DUMMY_FRAME)
frame_pop (get_current_frame ());
-#endif
/* If interactive, print the frame that is now current. */
if (from_tty)
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 5a6c3984bd1..16a212eff1e 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1067,9 +1067,6 @@ extern int find_pc_partial_function (CORE_ADDR, char **, CORE_ADDR *,
extern void clear_pc_function_cache (void);
-extern int find_pc_sect_partial_function (CORE_ADDR, asection *,
- char **, CORE_ADDR *, CORE_ADDR *);
-
/* from symtab.c: */
/* lookup partial symbol table by filename */
diff --git a/gdb/target.c b/gdb/target.c
index ff47ac13bf7..d4ff6c05af6 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1829,8 +1829,6 @@ debug_to_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
(unsigned int) memaddr, /* possable truncate long long */
len, write ? "write" : "read", retval);
-
-
if (retval > 0)
{
int i;
@@ -1839,7 +1837,15 @@ debug_to_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
for (i = 0; i < retval; i++)
{
if ((((long) &(myaddr[i])) & 0xf) == 0)
- fprintf_unfiltered (gdb_stdlog, "\n");
+ {
+ if (targetdebug < 2 && i > 0)
+ {
+ fprintf_unfiltered (gdb_stdlog, " ...");
+ break;
+ }
+ fprintf_unfiltered (gdb_stdlog, "\n");
+ }
+
fprintf_unfiltered (gdb_stdlog, " %02x", myaddr[i] & 0xff);
}
}
@@ -2431,7 +2437,9 @@ initialize_targets (void)
(add_set_cmd ("target", class_maintenance, var_zinteger,
(char *) &targetdebug,
"Set target debugging.\n\
-When non-zero, target debugging is enabled.", &setdebuglist),
+When non-zero, target debugging is enabled. Higher numbers are more\n\
+verbose. Changes do not take effect until the next \"run\" or \"target\"\n\
+command.", &setdebuglist),
&showdebuglist);
add_setshow_boolean_cmd ("trust-readonly-sections", class_support,
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3a1265d23ea..6c85be82dcc 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,26 @@
+2004-03-22 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.base/watchpoint.exp (test_stepping): Delete bogus XFAILs
+ hiding problems with DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
+ Problem identified by Ulrich Weigand.
+
+2004-03-17 David Carlton <carlton@kealia.com>
+
+ * gdb.cp/classes.exp (test_enums): Refer to PR c++/1588 instead of
+ PR c++/826.
+
+2004-03-16 Roland McGrath <roland@redhat.com>
+
+ * gdb.base/auxv.exp: New file.
+ * gdb.base/auxv.c: New file, copied verbatim from coremaker2.c.
+
+2004-03-12 David Carlton <carlton@kealia.com>
+
+ * gdb.cp/pr-1553.exp: New. Tests for PR c++/1553.
+ * gdb.cp/pr-1553.cc: Ditto.
+ * gdb.cp/local.exp (ptype NestedInnerLocal): Add comment, third
+ pass branch.
+
2004-03-12 Michael Chastain <mec.gnu@mindspring.com>
* gdb.cp/templates.exp: Accept more template types.
@@ -30,6 +53,15 @@
* gdb.cp/rtti2.cc: Update copyright.
(n2::create3): New.
+2004-03-04 Mark Kettenis <kettenis@gnu.org>
+
+ * gdb.asm/openbsd.inc: Fix typo.
+
+2004-03-03 Fred Fish <fnf@redhat.com>
+
+ * gdb.base/pc-fp.exp (get_valueofx): Fix apparent typo to now set
+ "val" instead of unused "size". Update copyright year.
+
2004-02-29 Daniel Jacobowitz <drow@mvista.com>
* gdb.cp/ctti.exp: Handle unsigned char type. Expect templates
@@ -62,7 +94,7 @@
support.
2004-02-26 Fred Fish <fnf@redhat.com>
-
+
* gdb.arch/gdb1431.c: Remove.
* gdb.arch/gdb1431.s: New file, copy of gdb1291.s
* gdb.arch/gdb1431.exp: Use "advance" correctly instead
@@ -993,7 +1025,7 @@
* lib/gdb.exp (gdb_internal_error_resync): Issue a perror when the
resync count exceeded.
-
+
* gdb.base/maint.exp: Use gdb_internal_error_resync to recover
from the internal error.
* lib/gdb.exp (gdb_internal_error_resync): New procedure.
@@ -1026,7 +1058,7 @@
2003-11-13 Elena Zannoni <ezannoni@redhat.com>
* gdb.base/break.c: Add comments to aid finding line numbers for
- breakpoints.
+ breakpoints.
* gdb.base/break.exp: Remove all references to explicit line
numbers.
@@ -1146,7 +1178,7 @@
2003-09-23 Elena Zannoni <ezannoni@redhat.com>
- * gdb.base/selftest.exp: Accomodate more instruction reordering
+ * gdb.base/selftest.exp: Accomodate more instruction reordering
weirdness.
2003-09-17 Michael Chastain <mec@shout.net>
@@ -1253,7 +1285,7 @@
escaped correctly.
2003-08-07 Elena Zannoni <ezannoni@redhat.com>
-
+
* configure.in: Don't generate config.h from config.hin.
* configure: Regenerate.
* config.hin: Remove file.
@@ -1301,12 +1333,12 @@
2003-07-22 Michael Snyder <msnyder@redhat.com>
- * gdb.disasm/8300s.s: Fix syntax of bsr insn.
+ * gdb.disasm/8300s.s: Fix syntax of bsr insn.
* gdb.disasm/h8300s.exp : Minor changes in disassembler output require
patterns to be more general, accepting old and new output.
Some output chars (such as '+') also must be quoted.
- Some addresses are displayed numerically instead of
+ Some addresses are displayed numerically instead of
symbolically.
2003-07-23 Michael Snyder <msnyder@redhat.com>
@@ -1387,7 +1419,7 @@
* gdb.base/annota1.exp: Make sure that we properly escape the
full path of the source file. Xfail more permissive patterns,
- due to a compiler debug info problem.
+ due to a compiler debug info problem.
2003-07-07 Andreas Schwab <schwab@suse.de>
@@ -1494,7 +1526,7 @@
* gdb.base/fileio.exp: Disable target when nointerrupts and
noinferiorio, instead of limiting it to remote. Use remote_exec
instead of system.
-
+
2003-06-12 Jeff Johnston <jjohnstn@redhat.com>
* gdb.base/float.exp: Add ia64 support.
@@ -1582,7 +1614,7 @@
* gdb.base/corefile.exp: Tolerate stuff after argument parens in
backtrace.
-
+
2003-05-20 David Carlton <carlton@math.stanford.edu>
* gdb.c++/namespace1.cc: Actually do 'cvs add' before committing
@@ -1605,13 +1637,13 @@
2003-05-14 Jeff Johnston <jjohnstn@redhat.com>
Roland McGrath <roland@redhat.com>
- * gdb.threads/linux-dp.exp: Account for fact that in nptl model
+ * gdb.threads/linux-dp.exp: Account for fact that in nptl model
there is no manager thread.
2003-05-08 Jeff Johnston <jjohnstn@redhat.com>
- * gdb.threads/schedlock.exp: Remove assumption that all threads
- will run in a particular small time slice. Also ensure we break
+ * gdb.threads/schedlock.exp: Remove assumption that all threads
+ will run in a particular small time slice. Also ensure we break
in one of the child threads rather than the main thread.
2003-05-07 Jim Blandy <jimb@redhat.com>
@@ -1683,7 +1715,7 @@
* gdb.base/attach.exp: Add new message from ptrace in case of
attaching to nonexistent process.
-
+
2003-04-11 Jim Blandy <jimb@redhat.com>
* gdb.c++/derivation.exp, gdb.c++/overload.exp,
@@ -1700,7 +1732,7 @@
2003-04-10 Elena Zannoni <ezannoni@redhat.com>
- * gdb.base/completion.exp: Use string_to_regexp to match the
+ * gdb.base/completion.exp: Use string_to_regexp to match the
working directory name.
2003-04-09 Jim Blandy <jimb@redhat.com>
@@ -1736,9 +1768,9 @@
* lib/gdb.exp: Put "the program is no longer running", and "the
program exited" in parenthesis.
* lib/mi-support.exp: Ditto.
-
+
2003-04-02 Bob Rossi <bob_rossi@cox.net>
-
+
* gdb.mi/mi-file.exp: New file for -file-list-exec-source-file.
2003-03-29 Andrew Cagney <cagney@redhat.com>
@@ -1867,7 +1899,7 @@
2003-02-27 Michael Snyder <msnyder@redhat.com>
- * gdb.base/restore.c (main): Return zero, so exit code
+ * gdb.base/restore.c (main): Return zero, so exit code
will be consistant.
2003-02-26 David Carlton <carlton@math.stanford.edu>
@@ -1939,7 +1971,7 @@
Andrew Cagney <ac131313@redhat.com>
* gdb.mi/mi-cli.exp: New file.
-
+
2003-02-04 Michael Chastain <mec@shout.net>
* gdb.c++/anon-union.exp: Do not call gdb_suppress_entire_file.
@@ -2045,7 +2077,7 @@
* gdb.asm/asm-source.exp: Ditto.
* gdb.base/advance.exp: Ditto.
* gdb.base/display.exp: Ditto.
- * gdb.base/long_long.exp: Ditto.
+ * gdb.base/long_long.exp: Ditto.
* gdb.base/mips_pro.exp: Ditto.
* gdb.base/overlays.exp: Ditto.
* gdb.base/relocate.exp: Ditto.
@@ -2379,8 +2411,8 @@
2002-11-08 Jeff Johnston <jjohnstn@redhat.com>
- * lib/mi-support.exp (mi_gdb_start): Verify the startup message
- for mi1 and current mi is in correct format. New mi startup message
+ * lib/mi-support.exp (mi_gdb_start): Verify the startup message
+ for mi1 and current mi is in correct format. New mi startup message
should be in mi console format. This is part of fix for PR gdb/604.
2002-09-18 Fernando Nasser <fnasser@redhat.com>
@@ -2435,7 +2467,7 @@
* mi0-stack.exp, mi0-stepi.exp, mi0-until.exp: Delete.
* mi0-var-block.exp, mi0-var-child.exp: Delete.
* mi0-var-cmd.exp, mi0-var-display.exp, mi0-watch.exp: Delete.
-
+
2002-09-27 Kevin Buettner <kevinb@redhat.com>
* gdb.base/annota1.exp (info break): Make directory components of
@@ -2462,7 +2494,7 @@
(test_empty_complaint): New function.
(test_empty_complaints): New function. Check no output when no
complaints.
-
+
2002-09-19 Jim Blandy <jimb@redhat.com>
* gdb.base/charset.exp, gdb.base/charset.c: New files.
@@ -2705,7 +2737,7 @@
to avoid having GDB convert them to pointers (with loss
of information).
- * gdb.base/d10v.ld: Merge in several years worth of
+ * gdb.base/d10v.ld: Merge in several years worth of
default linker script changes.
* gdb.base/long_long.exp: Add check for sizeof (long double).
@@ -2713,7 +2745,7 @@
* gdb.asm/asm-source.exp: Add x86-64 target.
* gdb.asm/x86_64.inc: New.
-
+
2002-05-30 Michael Chastain <mec@shout.net>
From Benjamin Kosnik <bkoz@redhat.com>:
@@ -2735,7 +2767,7 @@
From Benjamin Kosnik <bkoz@redhat.com>:
* gdb.c++/try_catch.cc: New file.
- * gdb.c++/try_catch.exp: New file.
+ * gdb.c++/try_catch.exp: New file.
2002-05-27 Michael Chastain <mec@shout.net>
@@ -2755,7 +2787,7 @@
2002-05-23 Michael Snyder <msnyder@redhat.com>
- * gdb.base/all-bin.exp: Revise previous patch by just reducing
+ * gdb.base/all-bin.exp: Revise previous patch by just reducing
the precision of the floating point test results.
* gdb.base/call-rt-st.exp: Ditto.
@@ -2787,7 +2819,7 @@
* gdb.base/maint.exp (maint print type): Update for new type
structure.
-
+
2002-05-14 Elena Zannoni <ezannoni@redhat.com>
* gdb.arch: New directory.
@@ -2833,7 +2865,7 @@
* gdb.base/default.exp: Merge clauses for arm, strongarm, xscale.
* gdb.base/long_long.exp: Merge clauses for arm and xscale.
Add iftarget clause for strongarm.
-
+
2002-05-06 Michael Snyder <msnyder@redhat.com>
* lib/gdb.exp (gdb_test): Add case to allow for status wrapper.
@@ -3063,7 +3095,7 @@ From Jim Blandy <jimb@redhat.com>
2002-03-27 Michael Snyder <msnyder@redhat.com>
- * gdb.base/help.exp: Modify expect strings to reflect
+ * gdb.base/help.exp: Modify expect strings to reflect
clean-ups in help messages.
2002-03-26 Fred Fish <fnf@redhat.com>
@@ -3349,7 +3381,7 @@ From Jim Blandy <jimb@redhat.com>
print foo_instance1.overload1arg((unsigned int)arg8)
print foo_instance1.overload1arg((float)arg11)
print foo_instance1.overload1arg((double)arg12)
-
+
2002-01-07 Michael Snyder <msnyder@redhat.com>
* gdb.base/huge.exp: New test. Print a very large target data object.
@@ -3471,7 +3503,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
* gdb.base/break.exp: Fix HP specific search string when testing
backtracing in a called function.
- * gdb.base/constvars.exp: Only set lang to C++ if we're
+ * gdb.base/constvars.exp: Only set lang to C++ if we're
compiling the test with HP's compilers.
* gdb.base/volatile.exp: Similarly.
@@ -3554,7 +3586,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
2001-12-06 Michael Snyder <msnyder@redhat.com>
- * gdb.asm/asm-source.exp: Add tests for info target, info symbol,
+ * gdb.asm/asm-source.exp: Add tests for info target, info symbol,
and detect whether the start symbol has a leading underscore.
2001-12-04 Jim Blandy <jimb@redhat.com>
@@ -3606,7 +3638,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
* gdb.asm/asm-source.exp: Recognize sparc target.
* gdb.asm/configure.in: Recognize sparc target.
* gdb.asm/configure: Regenerate.
-
+
2001-11-21 Michael Snyder <msnyder@redhat.com>
* gdb.asm/m32r.inc: New file.
@@ -3653,7 +3685,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
* gdb.mi/mi0-simplerun.exp: Likewise.
* gdb.mi/mi-var-cmd.exp: Likewise.
* gdb.mi/mi0-var-cmd.exp: Likewise.
-
+
2001-11-10 Andrew Cagney <ac131313@redhat.com>
* gdb.asm/asmsrc1.s: Add ``gdbasm_'' prefix to all macros.
@@ -3676,21 +3708,21 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
2001-11-07 Michael Snyder <msnyder@redhat.com>
- * gdb.c++/templates.exp (test_template_breakpoints):
- If we get an overload menu, but it does not match what
+ * gdb.c++/templates.exp (test_template_breakpoints):
+ If we get an overload menu, but it does not match what
we expect, we still need to issue the "cancel" command.
* gdb.c++/templates.exp: Replace "void \\*" with "void ?\\*",
making the whitespace optional. Argument for "new" may be
"unsigned" as well as "unsigned int/long".
- * gdb.c++/templates.exp: Replace "const &" with "const ?&",
+ * gdb.c++/templates.exp: Replace "const &" with "const ?&",
making the whitespace optional. Also replace "(void) with
"((void|)), making the keyword "void" optional.
- * gdb.c++/virtfunc.exp: Replace "const &" with "const ?&",
+ * gdb.c++/virtfunc.exp: Replace "const &" with "const ?&",
making the whitespace optional. Also replace "(void) with
"((void|)), making the keyword "void" optional.
* gdb.base/callfuncs.c (t_float_values): This function must
_not_ be prototyped, and the following function (t_float_values2)
- must be prototyped (if the compiler supports it), so that GDB
+ must be prototyped (if the compiler supports it), so that GDB
can be tested against both cases. Usually one case involves
promotion of float to double, while the other does not.
* gdb.base/callfwmall.c: Ditto.
@@ -3745,7 +3777,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
* gdb.base/ending-run.exp: Create identical output when passing
`step to end of run' case. Add regular expression branch satisfying
- Stormy16 target.
+ Stormy16 target.
2001-10-28 Mark Kettenis <kettenis@gnu.org>
@@ -3953,7 +3985,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
2001-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
- * gdb.base/remote.c (RANDOM_DATA_SIZE): New define, defaults to 48K
+ * gdb.base/remote.c (RANDOM_DATA_SIZE): New define, defaults to 48K
and defined to 1K for m68hc11.
(random_data): Reduce table to 1K for embedded platforms (68hc11).
* gdb.base/remote.exp (get_sizeof): New function from sizeof.exp.
@@ -4039,13 +4071,13 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
2001-06-04 Michael Snyder <msnyder@redhat.com>
* gdb.threads/pthreads.exp (check_control_c): Return 0 for success,
- non-zero if control_c fails. Terminate the test on failure,
+ non-zero if control_c fails. Terminate the test on failure,
rather than wait for 12 more tests to time out.
2001-06-06 Jim Blandy <jimb@redhat.com>
* gdb.base/exprs.exp ("sizeof (long long) > sizeof (long) (true)"):
- Don't forget to match the GDB prompt.
+ Don't forget to match the GDB prompt.
* gdb.trace/gdb_c_test.c, actions.c: Fix misspellings.
@@ -4086,7 +4118,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
Don't assume that short is shorter than int.
* gdb.base/exprs.exp ("print unsigned short == (~0)"): Don't
assume that shorts are smaller than ints. On a 16-bit machine,
- this isn't true.
+ this isn't true.
("print unsigned char == (~0)"): Add test that verifies that ~0,
an int, is not equal to ~0 stored in an unsigned char. This tests
the same thing that the previous test meant to, but works on
@@ -4096,7 +4128,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
2001-05-24 Michael Snyder <msnyder@redhat.com>
* gdb.threads/pthreads.exp (all_threads_running): Add an explicit
- test for (full_coverage == 0). This makes the test run faster,
+ test for (full_coverage == 0). This makes the test run faster,
and prevents dejagnu getting out of step.
2001-05-23 Kevin Buettner <kevinb@redhat.com>
@@ -4164,7 +4196,7 @@ Wed Dec 19 14:10:57 2001 Jeffrey A Law (law@redhat.com)
* config/sid.exp (gdb_target_sid): Check for error messages.
On error or timeout, don't make expect exit (which will terminate
all subsequent tests); instead just make gdb exit.
- (gdb_load): Check for error messages. On error or timeout,
+ (gdb_load): Check for error messages. On error or timeout,
return a negative value.
2001-04-24 Jim Blandy <jimb@redhat.com>
@@ -4410,7 +4442,7 @@ Sun Feb 4 17:32:21 2001 Andrew Cagney <cagney@redhat.com>
2001-01-25 matthew green <mrg@redhat.com>
* config/sid.exp (sid_start): Use `remote_spawn' instead of `spawn.'
- Deprecate $sid_spawn_id.
+ Deprecate $sid_spawn_id.
(sid_exit): Remove code necessary only for `spawn.'
2001-01-25 matthew green <mrg@redhat.com>
@@ -4458,7 +4490,7 @@ Fri Jan 12 18:29:01 2001 Andrew Cagney <cagney@b1.cygnus.com>
2000-12-18 Michael Snyder <msnyder@cygnus.com>
- * gdb.base/setvar.exp: Use double '\\' to quote curly braces
+ * gdb.base/setvar.exp: Use double '\\' to quote curly braces
in regexp. One '\' does not suffice on Linux.
2000-12-09 Michael Chastain <chastain@redhat.com>
@@ -4537,7 +4569,7 @@ Fri Jan 12 18:29:01 2001 Andrew Cagney <cagney@b1.cygnus.com>
* config/monitor.exp (gdb_target_cmd): Abstracts some of the
code from gdb_target_monitor, so it can be used independantly
for gdbserver. Also comment out an unnecessary PUTS.
-
+
2000-11-03 Michael Snyder <msnyder@cygnus.com>
* gdb.base/a2-run.exp: Use gdb_skip_stdio_test.
@@ -4617,7 +4649,7 @@ Fri Jan 12 18:29:01 2001 Andrew Cagney <cagney@b1.cygnus.com>
gnu-oldld case on ARM.
* gdb.base/watchpoint.exp (test_stepping): Clear xfail
for ARM targets.
-
+
Mon Jul 24 07:46:02 CDT 2000 Clinton Popetz <cpopetz@cygnus.com>
* gdb.java/configure.in (AC_INIT): Use jmisc.exp.
@@ -4673,7 +4705,7 @@ Tue Jul 4 03:43:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
compile/link program. Update line numbers.
* gdb.asm/d10v.inc: Define ``startup''.
* gdb.asm/asmsrc1.s: Add definition of _start.
-
+
Fri Jun 23 17:45:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/call-ar-st.exp: More rewrites of multi-line patterns.
@@ -4697,12 +4729,12 @@ Wed Jun 7 13:02:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-06-03 Daniel Berlin <dan@cgsoftware.com>
* gdb.c++/templates.exp (do_tests): Make all of these work under
- g++, and stop skipping them.
+ g++, and stop skipping them.
* gdb.c++/namespace.exp: Move from gdb.hp/gdb.aCC to here, make it
work under g++.
- * gdb.c++/misc.cc: Fix ambiguous initialization with correct
+ * gdb.c++/misc.cc: Fix ambiguous initialization with correct
initialization.
2000-06-02 Michael Snyder <msnyder@cygnus.com>
@@ -4724,7 +4756,7 @@ Wed Jun 7 13:02:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-05-12 Kevin Buettner <kevinb@redhat.com>
* gdb.base/step-test.exp: On IA-64 targets, when stepping out of
- a call, do not require that gdb stop on the line after the call.
+ a call, do not require that gdb stop on the line after the call.
Instead, it is permissible for gdb to stop on the line of the
call itself.
@@ -4741,7 +4773,7 @@ Wed Jun 7 13:02:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-05-08 Michael Snyder <msnyder@cygnus.com>
- * gdb.base/interrupt.exp: Make "pass" message say "send"
+ * gdb.base/interrupt.exp: Make "pass" message say "send"
rather than "send_gdb" (for consistancy).
Mon May 1 15:37:58 2000 Andrew Cagney <cagney@b1.cygnus.com>
@@ -4752,7 +4784,7 @@ Mon May 1 15:37:58 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-04-28 Michael Snyder <msnyder@cygnus.com>
- * gdb.base/break.exp: When compiled with -O2 optimization,
+ * gdb.base/break.exp: When compiled with -O2 optimization,
gdb may not stop at the first line of main, due to code motion.
2000-04-26 Michael Snyder <msnyder@cygnus.com>
@@ -4846,7 +4878,7 @@ Mon Mar 27 14:46:37 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-03-13 James Ingham <jingham@leda.cygnus.com>
* lib/gdb.exp: Fix the gdbtk_start routine to correctly find all
- the library directories.
+ the library directories.
Mon Feb 21 13:05:36 2000 Andrew Cagney <cagney@b1.cygnus.com>
@@ -4854,7 +4886,7 @@ Mon Feb 21 13:05:36 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Re-generate.
* gdb.mi: New directory.
-
+
2000-02-25 Scott Bambrough <scottb@netwinder.org>
* gdb.base/long_long.exp: Correct test suite failure when printing
@@ -4915,7 +4947,7 @@ Mon Feb 21 13:05:36 2000 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/so-indr-cl.exp: Don't execute the test if not on HPUX.
Don't use xfail's because that affects only the following test.
-
+
* gdb.base/so-impl-ld.exp: Don't execute the tests if not on hpux,
solaris or linux.
@@ -4923,7 +4955,7 @@ Mon Feb 21 13:05:36 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-01-07 Michael Snyder <msnyder@cygnus.com>
- * gdb.base/display.exp: Some yacc parsers like to say
+ * gdb.base/display.exp: Some yacc parsers like to say
"A syntax error" rather than "A parse error". Accept both.
2000-01-06 Fernando Nasser <fnasser@totem.to.cygnus.com>
@@ -5050,13 +5082,13 @@ Sat Dec 4 15:21:18 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.c++/derivation.exp: remove redundant get compiler info code.
- * gdb.base/commands.exp: add '$gdb_prompt $' anchor to
+ * gdb.base/commands.exp: add '$gdb_prompt $' anchor to
'continue with watch' test point.
1999-11-08 Jim Blandy <jimb@zenia.red-bean.com>
Merged from p2linux-990323-branch:
-
+
* lib/gdb.exp (gdb_continue_to_breakpoint): New function.
Mon Nov 8 23:07:09 1999 Andrew Cagney <cagney@amy.cygnus.com>
@@ -5122,7 +5154,7 @@ Mon Oct 11 13:57:21 1999 Andrew Cagney <cagney@amy.cygnus.com>
containing exp_continue into a while within an expect. Don't
attempt a start more than three times. Check return value from
gdb_load.
-
+
Wed Oct 6 12:05:58 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/watchpoint.exp: Match fail ``finish from marker1'' with
@@ -5137,7 +5169,7 @@ Wed Oct 6 12:05:58 1999 Andrew Cagney <cagney@b1.cygnus.com>
1999-10-01 Fred Fish <fnf@cygnus.com>
- * gdb.base/help.exp (help add-symbol-file): Update to match current
+ * gdb.base/help.exp (help add-symbol-file): Update to match current
gdb output.
1999-09-18 Jim Blandy <jimb@cris.red-bean.com>
@@ -5368,7 +5400,7 @@ Tue Aug 10 15:25:16 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.c++/virtfunc.cc: Add return type and value for main.
* gdb.c++/virtfunc.exp: Run if HP compiler used, add some
match alternatives.
-
+
1999-07-30 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdb.base/display.exp: Fix output of 'p/a &&j' test.
@@ -5422,8 +5454,8 @@ Tue Aug 10 15:25:16 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.c++/annota2.exp: Fix delete breakpoint query testcase.
Fix run to main failures. Watchpoint can be hardware watchpoint.
-
- * gdb.base/annota1.exp: Clean up some more, in case printf has
+
+ * gdb.base/annota1.exp: Clean up some more, in case printf has
debug info. Deal with lack of signal hanlder info in stack.
From Jim Kingdon <kingdon@redhat.com>:
@@ -5565,7 +5597,7 @@ Fri Jun 25 19:27:28 1999 Andrew Cagney <cagney@b1.cygnus.com>
print_double_array(double_array)", "continuing to breakpoint
1018", "print print_double_array(array_d)" and "continuing to
1034" tests.
-
+
1999-06-24 Jason Molenda (jsm@bugshack.cygnus.com)
* Makefile.in: Add empty html and install-html targets.
@@ -5638,9 +5670,9 @@ Wed Jun 2 17:37:05 1999 Andrew Cagney <cagney@b1.cygnus.com>
1999-05-20 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
- * gdb.base/annota1.exp: Allow any number of "frames-invalid" and
+ * gdb.base/annota1.exp: Allow any number of "frames-invalid" and
"breakpoint-invalid" to be printed.
- * gdb.base/annota2.exp: Revise line number for main breakpoint. Allow any
+ * gdb.base/annota2.exp: Revise line number for main breakpoint. Allow any
number of "frames-invalid" and "breakpoint-invalid" to be printed.
* gdb.base/annota2.cc: Initialize a.x to 0.
@@ -5657,7 +5689,7 @@ Wed Jun 2 17:37:05 1999 Andrew Cagney <cagney@b1.cygnus.com>
"skip_float_tests" is set.
* gdb.base/varargs.exp: Skip "print find_max_double(5,1.0,17.0,2.0,3.0,4.0)"
when "skip_float_tests" set.
-
+
1999-05-06 Keith Seitz <keiths@cygnus.com>
* gdb.base/annota2.cc: Include stdio.h.
@@ -5739,7 +5771,7 @@ Wed May 5 17:44:31 1999 Stan Shebs <shebs@andros.cygnus.com>
change, to mollify finicky HP compiler.
* gdb.hp/reg-test.exp (testfile): Fix file name.
* gdb.stabs/weird.exp: Don't try to run if HP compiler in use.
-
+
* gdb.c++/misc.cc (main): Initialize obj_with_enum.
* gdb.c++/classes.exp: Fix test of obj_with_enum values, allow
alternate form of enum ptype.
@@ -5758,7 +5790,7 @@ Wed May 5 17:44:31 1999 Stan Shebs <shebs@andros.cygnus.com>
Tue Mar 23 14:56:36 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdb.base/commands.exp: Add test for correct position of '>'
- when issuing the 'commands' command after a 'while' or 'if'
+ when issuing the 'commands' command after a 'while' or 'if'
command.
1999-03-18 James Ingham <jingham@cygnus.com>
@@ -5771,7 +5803,7 @@ Tue Mar 23 14:56:36 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdb.base/watchpoint.exp: Use gdb_continue_to_end.
* gdb.base/step-test.exp: Catch a case where finish is broken and
- keep it from killing the rest of the tests.
+ keep it from killing the rest of the tests.
Use gdb_continue_to_end.
* gdb.base/sigall.exp: use gdb_continue_to_end.
@@ -5780,11 +5812,11 @@ Tue Mar 23 14:56:36 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdb.base/display.exp: use runto_main, not run.
- * gdb.base/default.exp: Check for the current error message in the
- r abbreviation test.
+ * gdb.base/default.exp: Check for the current error message in the
+ r abbreviation test.
Add strongarm to the targets that know info float.
- * gdb.base/condbreak.exp: Use the gdb_run command rather than just
+ * gdb.base/condbreak.exp: Use the gdb_run command rather than just
run which doesn't work with monitors.
* gdb.base/call-ar-st.exp: fixed bogus regexp in continuing to 1034 test.
@@ -5792,8 +5824,8 @@ Tue Mar 23 14:56:36 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdb.base/break.exp: use the gdb_continue_to_end proc.
* lib/gdb.exp: I had added gdb_continue_to_end used to run to the end of a
- program. Traps the case (in Cygmon) when the program never really
- exits. Same as Mark's continue_to_exit, but I had put it in a lot
+ program. Traps the case (in Cygmon) when the program never really
+ exits. Same as Mark's continue_to_exit, but I had put it in a lot
more places, so I used my name. Sorry Mark...
* config/monitor.exp (gdb_target_monitor): added another
@@ -5831,7 +5863,7 @@ Fri Mar 12 18:06:21 1999 Stan Shebs <shebs@andros.cygnus.com>
* gdb.base/call-ar-st.c (main): Terminate char_array with a null
character, so GDB won't print garbage after its end.
-
+
* gdb.base/call-ar-st.exp: Don't step into sum_array_print; set a
breakpoint there instead. Sometimes GCC emits memcpy to handle
the large structures being passed by value, so we step into that
@@ -5855,7 +5887,7 @@ Fri Mar 12 18:06:21 1999 Stan Shebs <shebs@andros.cygnus.com>
1999-03-05 Nick Clifton <nickc@cygnus.com>
- * gdb.base/a2-run.exp: Add expected fails for strongarm-coff.
+ * gdb.base/a2-run.exp: Add expected fails for strongarm-coff.
1999-03-04 Jim Blandy <jimb@zwingli.cygnus.com>
@@ -5919,12 +5951,12 @@ Fri Feb 5 12:42:56 1999 Stan Shebs <shebs@andros.cygnus.com>
* gdb.base/long_long.c (known_types): Initialize values to zero.
* gdb.base/long_long.exp: Step one more line
so 'dec' is initialized in "get to known place". GDB removes
- leading zeros. Explicitly ask for hex formatting. Use
+ leading zeros. Explicitly ask for hex formatting. Use
unique test case names.
Tue Feb 2 10:16:08 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
- * lib/gdb.exp (gdb_preprocess): Remove 'puts' statement.
+ * lib/gdb.exp (gdb_preprocess): Remove 'puts' statement.
* gdb.c++/method.exp: Add missing close brace.
@@ -5974,8 +6006,8 @@ Tue Jan 19 17:20:09 1999 David Taylor <taylor@texas.cygnus.com>
Fri Jan 15 14:04:57 1999 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
- * gdb.hp/xdb3.exp: do not execute unless on hppa-hpux platform
- and compiled w/o GCC.
+ * gdb.hp/xdb3.exp: do not execute unless on hppa-hpux platform
+ and compiled w/o GCC.
* gdb.hp/watch-cmd.exp: ditto.
@@ -6115,7 +6147,7 @@ Wed Jan 6 18:41:15 1999 David Taylor <taylor@texas.cygnus.com>
* gdb.c++/ref-types.exp: new file.
* gdb.c++/ref-types2.exp: new file.
* gdb.c++/userdef.exp: new file.
-
+
Wed Jan 6 13:50:57 1999 Stan Shebs <shebs@andros.cygnus.com>
* gdb.base/default.exp: Reflect wording change in remote.c.
@@ -6153,22 +6185,22 @@ Tue Jan 5 13:05:32 1999 David Taylor <taylor@texas.cygnus.com>
* gdb.c++/ref-types.cc: new file.
* gdb.c++/ref-types2.cc: new file.
* gdb.c++/userdef.cc: new file.
-
+
* gdb.base/scope.exp: compile one file at a time, then link.
* gdb.base/langs.exp: ditto.
* gdb.base/list.exp: ditto.
-
+
Mon Jan 4 10:06:43 1999 David Taylor <taylor@texas.cygnus.com>
The following changes were made by David Taylor
<taylor@cygnus.com>, Elena Zannoni <ezannoni@cygnus.com>, and
Edith Epstein <eepstein@cygnus.com> as part of a project to merge
in changes by HP.
-
+
* gdb.c++/inherit.exp: if on hppa*-*-hpux* and not using gcc,
skip tests. When compiling pass c++ flag to gdb_compile.
* gdb.c++/
-
+
* lib/gdb.exp (get_compiler_info): new, optional argument -- args;
test for on hppa*-*-hpux*; use args to see if c++ was specified.
(skip_hp_tests): new function.
@@ -6197,7 +6229,7 @@ Mon Jan 4 10:06:43 1999 David Taylor <taylor@texas.cygnus.com>
run the tests. tell gdb_compile that it's a c++ compilation.
* gdb.threads/pthreads.exp: fix typo in message.
-
+
* gdb.base/all-bin.exp: new file.
* gdb.base/arithmet.exp: new file.
* gdb.base/assign.exp: new file.
@@ -6281,7 +6313,7 @@ Mon Dec 21 14:08:38 1998 David Taylor <taylor@texas.cygnus.com>
T1<char>::~T1(void)
(test_hp_style_demangling): new hp specific demangling test cases.
-
+
Mon Dec 14 15:07:03 1998 Jeffrey A Law (law@cygnus.com)
* gdb.trace/actions.exp: Ignore compiler warnings compiling actions.c
@@ -6370,7 +6402,7 @@ Mon Sep 14 20:00:04 1998 Michael Snyder <msnyder@cygnus.com>
* gdb.trace/{packetlen.exp passc-dyn.exp passcount.exp}: New files.
* gdb.trace/{report.exp save-trace.exp tracecmd.exp}: New files.
* gdb.trace/{while-dyn.exp while-stepping.exp}: New files.
-
+
Fri Sep 11 13:58:02 1998 Michael Snyder <msnyder@cygnus.com>
* gdb.c++/classes.exp: Change all regular expressions to match
@@ -6401,7 +6433,7 @@ Thu Jul 16 18:20:46 1998 Jeffrey A Law (law@cygnus.com)
Thurs Jul 9 11:08:31 1998 Dawn Perchik <dawn@cygnus.com>
- * gdb.base/commands.exp: Break up infrun_breakpoint_command_test
+ * gdb.base/commands.exp: Break up infrun_breakpoint_command_test
into two parts to get around a synchronization problem in expect.
Fri Jun 26 14:27:13 1998 Keith Seitz <keiths@cygnus.com>
@@ -6524,15 +6556,15 @@ Mon Apr 13 22:32:51 1998 Frank Ch. Eigler <fche@cygnus.com>
Fri Apr 10 22:38:12 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* gdb.base/help.exp: Clean up `help set args' and `help show args'
- tests.
+ tests.
* gdb.base/interrupt.exp: Add "i*86-*-solaris2*" xfail for calling
- function when asleep.
+ function when asleep.
* gdb.base/signals.exp: Add "i*86-*-solaris2*" xfails. Add comment
- for i*86 Linux and SVR4 signal handling problems.
- Remove linux xfail for `next to handler in signals_tests_1', fixed
- by recent infrun.c change.
+ for i*86 Linux and SVR4 signal handling problems.
+ Remove linux xfail for `next to handler in signals_tests_1', fixed
+ by recent infrun.c change.
Limit backtrace to 10 frames to avoid timeout problems with infinite
- stack backtraces.
+ stack backtraces.
Adjust expect pattern in `handle all print' test to match Apr 28 1997
target.[ch] change.
@@ -6569,7 +6601,7 @@ Mon Feb 23 08:22:44 1998 Mark Alexander <marka@cygnus.com>
* config/mn10300-eval.exp: New file to support MN10300 eval board.
Wed Feb 18 16:43:46 1998 Michael Snyder (msnyder@cygnus.com)
-
+
* gdb.base/overlays (several files): Merge the two overlay
managers into one. Change variables (foox, barx, bazx, grbxx)
back into ints but force them to load in their proper sections.
@@ -6592,7 +6624,7 @@ Tue Feb 10 17:23:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/d10vovly.c (D10VTranslate): New function, handle
updated d10v memory VMA/LMA map.
(D10VCopy): Call D10VTranslate.
-
+
Fri Feb 6 14:13:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/m32rovly.c: Force variable _novlys into .data section.
@@ -6606,12 +6638,12 @@ Fri Feb 6 14:13:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/overlays.exp: Expect variables barx, bazx, foox, grbxx
to be arrays.
-
+
Thu Jan 29 14:48:19 1998 Michael Snyder (msnyder@cygnus.com)
-
+
* gdb.base/overlays.exp: fix up and get working again.
Add tests for backtraces from an overlay function.
-
+
Fri Jan 23 07:52:45 1998 Fred Fish <fnf@cygnus.com>
* gdb.base/watchpoint.exp: Set "d10v*-*-*" clear_xfail for
@@ -6654,7 +6686,7 @@ Tue Nov 25 12:46:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
target_sizeof_long and target_bigendian_p.
(structs_by_value, structs_by_reference): Check values according
to targets word size and endianess.
-
+
Mon Nov 24 16:37:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
* gdb.base/langs.exp: For "continue to exit" ignore any trailing
@@ -6714,7 +6746,7 @@ Fri Sep 12 16:56:38 1997 Bob Manson <manson@charmed.cygnus.com>
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
-
+
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
@@ -6725,7 +6757,7 @@ Fri Sep 12 16:56:38 1997 Bob Manson <manson@charmed.cygnus.com>
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
-
+
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
@@ -6796,7 +6828,7 @@ Fri Jun 27 07:44:25 1997 Fred Fish <fnf@cygnus.com>
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
-
+
Wed Jun 25 09:08:51 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/gdb.exp(default_gdb_exit): Don't give an error if the remote
@@ -6927,7 +6959,7 @@ Thu May 1 18:01:50 1997 Bob Manson <manson@charmed.cygnus.com>
Mon Apr 28 17:27:40 1997 Michael Snyder <msnyder@cygnus.com>
- * gdb.base/printcmds.exp: add a couple more tests a la
+ * gdb.base/printcmds.exp: add a couple more tests a la
"p 123DEADBEEF", to check parse_number.
* top.c: change "to enable to enable" to "to enable" in a couple
of help strings.
@@ -6936,7 +6968,7 @@ Thu Apr 24 14:38:18 1997 Jeffrey A Law (law@cygnus.com)
* gdb.base/callfuncs.exp: Mark some tests as expected to fail
on the mn10300.
-
+
Mon Apr 21 15:05:42 1997 Fred Fish <fnf@cygnus.com>
* gdb.base/a2-run.exp: Add arm-*-coff setup_xfails for cases
@@ -6981,7 +7013,7 @@ Thu Apr 3 15:21:26 1997 Michael Snyder <msnyder@cygnus.com>
d10v.ld m32r.ld d10vovly.c m32rovly.c: add test case for overlays.
* gdb.base/sigall.c: add usestubs code frag
* gdb.base/watchpoint.exp: turn on complex watchpoint test for M32R.
-
+
Thu Apr 3 09:38:53 1997 Bob Manson <manson@charmed.cygnus.com>
* lib/gdb.exp(gdb_suppress_tests): Add explanation for subsequent
@@ -7136,7 +7168,7 @@ Sun Feb 23 19:56:02 1997 Bob Manson <manson@charmed.cygnus.com>
* config/vr4300.exp: New file.
* gdb.*/*.exp: Call gdb_expect instead of expect.
-
+
* lib/gdb.exp(gdb_expect): New function.
Thu Feb 20 13:57:01 1997 Bob Manson <manson@charmed.cygnus.com>
@@ -7311,7 +7343,7 @@ Sun Feb 2 00:55:14 1997 Bob Manson <manson@charmed.cygnus.com>
Sat Feb 1 23:51:01 1997 Bob Manson <manson@charmed.cygnus.com>
* gdb.*/*.exp: Replace $prompt with $gdb_prompt.
-
+
* gdb.base/scope.exp: Use gdb_test.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
@@ -7341,7 +7373,7 @@ Thu Jan 30 16:49:25 1997 Bob Manson <manson@charmed.cygnus.com>
Tue Jan 28 14:42:31 1997 Bob Manson <manson@charmed.cygnus.com>
Major rewrite for testsuite revision.
-
+
* lib/gdb.exp: Remove references to global CC, CXX, B_OPTIONS,
TARGET_INCLUDES, LDFLAGS and target_alias. Use gdb_spawn_id
instead of relying on spawn_id to always contain a valid
@@ -7349,7 +7381,7 @@ Tue Jan 28 14:42:31 1997 Bob Manson <manson@charmed.cygnus.com>
(get_compiler_info): New procedure to build the ${binfile}.ci
file, instead of replicating this in N different places.
(gdb_compile): New procedure.
-
+
gdb.*/*.exp: Use gdb_compile and get_compiler_info (with
appropriate arguments) instead of compile. Use gdb_test in a lot
more places. Use send_gdb instead of send. Always run gdb_start
@@ -7413,7 +7445,7 @@ Sat Nov 23 13:32:15 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/signals.exp (signal_tests_1): Remove setup_xfail
"i*86-*-linux" for "signal SIGUSR1". Now works, at least with
RedHat 4.0.
-
+
* gdb.threads/pthreads.c (_MIT_POSIX_THREADS): Define if target is
linux. This allows the test case to at least compile on latest
linux, but still not run due to missing the threads runtime library.
@@ -7442,7 +7474,7 @@ Thu Nov 21 09:17:19 1996 Fred Fish <fnf@cygnus.com>
(xgcc): Set variable to full path of gcc in build tree. Use findfile
to verify that gcc exists in build tree, and if so set CC to that
gcc and to use B_OPTIONS and TARGET_INCLUDES.
-
+
Tue Nov 12 16:20:13 1996 Fred Fish <fnf@cygnus.com>
* gdb.c++/inherit.exp (test_print_anon_union): Reenable
@@ -7486,7 +7518,7 @@ Tue Nov 5 10:44:23 1996 Michael Snyder <msnyder@cygnus.com>
* gdb.base/[bitfields.exp crossload.exp funcargs.exp interrupt.exp
list.exp scope.exp watchpoint.exp]
Make all timeout error msgs explicitly say "(timeout)".
-
+
Mon Nov 4 12:03:06 1996 Michael Snyder <msnyder@cygnus.com>
* config/monitor.exp: Increase download timeout to 1000 seconds.
@@ -7555,7 +7587,7 @@ Fri Oct 11 17:05:22 1996 Fred Fish <fnf@cygnus.com>
(distclean maintainer-clean realclean): No need to remove files
twice. Nuke the duplicates.
* gdb.base/Makefile.in (EXECUTABLES): Add "structs".
- * gdb.threads/Makefile.in (distclean maintainer-clean realclean):
+ * gdb.threads/Makefile.in (distclean maintainer-clean realclean):
Remove config.h along with other config files.
Mon Sep 30 20:16:22 1996 Fred Fish <fnf@cygnus.com>
@@ -7580,7 +7612,7 @@ Mon Sep 30 20:16:22 1996 Fred Fish <fnf@cygnus.com>
* lib/gdb.exp (gdb_test): When a gdb aborts, print a more
meaningful error message and return -1 so the caller can
suppress further tests and avoid a cascade of errors.
-
+
Fri Sep 27 10:34:51 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/a1-selftest.exp: Tweak tests to account for new
@@ -7588,7 +7620,7 @@ Fri Sep 27 10:34:51 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/default.exp: Ditto.
* gdb.base/interrupt.exp: Fix problem with cascade of
errors if child process dies while calling a function.
-
+
Fri Sep 13 21:43:48 1996 Fred Fish <fnf@cygnus.com>
* Makefile.in (VPATH): Add
@@ -7620,7 +7652,7 @@ Mon Sep 2 06:36:02 1996 Fred Fish <fnf@cygnus.com>
executable, give more meaningful message.
* gdb.threads/pthreads.c: Hpux also uses old definition of second
arg for pthread_create.
-
+
Mon Aug 19 09:58:59 1996 Fred Fish <fnf@cygnus.com>
* gdb.threads/pthreads.c (PTHREAD_CREATE_ARG2,
@@ -7639,7 +7671,7 @@ Mon Aug 19 09:58:59 1996 Fred Fish <fnf@cygnus.com>
for not compiled with gcc.
* gdb.base/mips_pro.exp: Only do setup_xfail hppa*-*-* for
backtrace when compiled with gcc.
- * lib/gdb.exp (runto_main): Return result of "runto main" rather
+ * lib/gdb.exp (runto_main): Return result of "runto main" rather
than always return success.
Sat Aug 17 13:28:00 1996 Fred Fish <fnf@cygnus.com>
@@ -7663,7 +7695,7 @@ Mon Aug 12 15:29:08 1996 Fred Fish <fnf@cygnus.com>
tests.
gdb.c++/virtfunc.exp (do_tests): Add "mips-*-irix5*" setup_xfail
for "runto test_calls(void)" test.
-
+
Sun Aug 11 13:11:24 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/term.exp: Set 7-bit strings, address off, width to 0,
@@ -7702,7 +7734,7 @@ Wed Aug 7 11:05:47 1996 Fred Fish <fnf@cygnus.com>
* gdb.threads/{config.in, pthreads.c, pthreads.exp}: New.
* gdb.threads/{Makefile.in, configure.in}: Complete rewrites.
* gdb.threads/configure: New, generated with autoconf.
-
+
Tue Aug 6 10:23:04 1996 Tom Tromey <tromey@rtl.cygnus.com>
* lib/gdb.exp (gdb_test_exact): Turn \n in pattern into \r\n.
@@ -7772,9 +7804,9 @@ Tue Jun 25 23:16:58 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
Tue Jun 25 17:02:39 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
* configure.in (AC_PREREQ): autoconf 2.5 or higher.
- * gdb.{base,c++,chill,disasm,stabs}/Makefile.in (VPATH): set to
+ * gdb.{base,c++,chill,disasm,stabs}/Makefile.in (VPATH): set to
@srcdir@.
- * gdb.{base,c++,chill,disasm,stabs}/configure.in (AC_PREREQ):
+ * gdb.{base,c++,chill,disasm,stabs}/configure.in (AC_PREREQ):
autoconf 2.5 or higher.
* gdb.{base,c++,chill,disasm,stabs}/configure: Rebuilt.
@@ -7838,7 +7870,7 @@ Wed May 15 08:47:42 1996 Jeffrey A Law (law@cygnus.com)
* gdb.base/ptype.exp: Likewise.
* gdb.base/setvar.exp: Handle sizeof (int) != 4 for h8300. Add
h8300 xfails.
- * gdb.base/return.exp: Handle float/double precision problems
+ * gdb.base/return.exp: Handle float/double precision problems
on the h8300.
* gdb.base/funcargs.c: Explicitly make last constant argument to
call_after_alloca_subr an unsigned long type.
@@ -7875,13 +7907,13 @@ Wed Mar 20 08:48:03 1996 Fred Fish <fnf@cygnus.com>
gdb.stabs/weird.exp: Remove use of compiler options "-c -o ..."
since some compilers don't allow both options to be given
on the same command line. Create object file and move it.
-
+
Tue Mar 19 23:49:31 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/corefile.exp: Always regenerate the core file, since
we always regenerate the coremaker program. Detect special case
where registers cannot be read from core file.
-
+
Tue Mar 19 16:52:49 1996 Fred Fish <fnf@cygnus.com>
From Peter Schauer <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>
@@ -7894,7 +7926,7 @@ Tue Mar 19 16:52:49 1996 Fred Fish <fnf@cygnus.com>
* configure: Regenerate.
* gdb.base/Makefile.in (clean): Remove generated file twice-tmp.c
here, rather than in distclean.
-
+
Sun Mar 17 13:35:31 1996 Fred Fish <fnf@cygnus.com>
* gdb.base/mips_pro.exp: Create mips_pro.ci to get gcc_compiled
@@ -7932,10 +7964,10 @@ Fri Mar 15 17:49:57 1996 Fred Fish (fnf@cygnus.com)
* gdb.base/ptype.exp: Change "i*86-*-sysv4*" setup_xfail for
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)"
and "ptype t_char_array" to be for native cc only.
-
+
Fri Mar 15 16:17:22 1996 Fred Fish <fnf@cygnus.com>
- * gdb.base/corefile.exp: Remove "alpha-dec-osf2*" native compiled
+ * gdb.base/corefile.exp: Remove "alpha-dec-osf2*" native compiled
setup_xfail for "print coremaker_bss", "print coremaker_ro",
"print func2::coremaker_local", and "backtrace in corefile.exp".
@@ -7978,7 +8010,7 @@ Sun Feb 18 11:39:12 1996 Fred Fish <fnf@cygnus.com>
Change "alpha-dec-osf2*" setup_xfail for "bt in signals.exp"
to be for gcc only.
* lib/gdb.exp: Move verbose statements outside conditionals.
-
+
Sat Feb 17 02:22:14 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* gdb.base/sigall.exp: Remove setup_xfail for irix4. Fixed by
@@ -8056,7 +8088,7 @@ Mon Jan 15 09:33:00 1996 Fred Fish <fnf@cygnus.com>
* gdb.stabs/configure.in (alpha-*-*,mips-*-*): Replace
[] tests with "test" and enclose string in quotes.
* gdb.stabs/configure: Rebuild
-
+
Thu Jan 11 09:43:14 1996 Tom Tromey <tromey@creche.cygnus.com>
Changes in sync with expect:
@@ -8080,7 +8112,7 @@ Wed Jan 3 01:30:41 1996 Jeffrey A Law (law@cygnus.com)
* gdb.stabs/weird.exp: Use ${target_triplet} to determine
which sed script to run. Expect failure for v_comb test
on PA targets too.
-
+
Sat Dec 30 16:09:04 1995 Fred Fish <fnf@rtl.cygnus.com>
* gdb.base/corefile.exp: Remove "i*86-*-linux" xfail for
@@ -8162,7 +8194,7 @@ Sat Nov 25 11:03:42 1995 Fred Fish <fnf@cygnus.com>
to returns as necessary, arrange for test to compile own testcase
executable.
* lib/gdb.exp: Changes for testsuite to compile own test cases.
-
+
Tue Nov 21 16:15:45 1995 Fred Fish <fnf@cygnus.com>
* gdb.c++/classes.exp (test_pointers_to_class_members): Add
@@ -8227,13 +8259,13 @@ Wed Oct 18 11:27:47 1995 Jeffrey A Law (law@cygnus.com)
Tue Oct 17 23:02:12 1995 Jeffrey A Law (law@cygnus.com)
- * Many files: When warning about suppressed tests due to a
+ * Many files: When warning about suppressed tests due to a
nonexistant test binary, avoid incrementing the warning count.
Tue Oct 10 11:00:41 1995 Fred Fish <fnf@cygnus.com>
* Makefile.in (TARGET_FLAGS_TO_PASS): Remove BISON.
-
+
Sun Oct 8 04:23:14 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* gdb.base/return.exp: Change xfail from "sparc-*-solaris2.*" to
@@ -8339,7 +8371,7 @@ Sat Sep 2 06:41:26 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
Sat Sep 2 00:17:31 1995 Fred Fish <fnf@cygnus.com>
- * gdb.base/callfuncs.exp (do_function_calls): Remove
+ * gdb.base/callfuncs.exp (do_function_calls): Remove
mips-sgi-irix* xfail for
"call inferior func with struct - returns char *"
and fix test so that an optional (unsigned char *) cast is
@@ -8355,7 +8387,7 @@ Fri Sep 1 13:42:01 1995 Fred Fish <fnf@cygnus.com>
Sun Aug 27 23:35:35 1995 Fred Fish <fnf@cygnus.com>
- * gdb.base/callfuncs.exp (do_function_calls): Add alpha-dec-osf2*
+ * gdb.base/callfuncs.exp (do_function_calls): Add alpha-dec-osf2*
clear_xfail for "p t_float_values2(3.14159,float_val2)" for gcc
compiled test.
* gdb.base/opaque.exp (setup_xfail_on_opaque_pointer):
@@ -8395,11 +8427,11 @@ Sun Aug 27 23:35:35 1995 Fred Fish <fnf@cygnus.com>
* gdb.base/callfuncs.exp (do_function_calls):
Add mips-sgi-irix* xfail, when compiled with native compiler, for
"call inferior func with struct - returns char *".
- * gdb.base/return.exp (return_tests): Change xfail for
+ * gdb.base/return.exp (return_tests): Change xfail for
"correct value returned double test" to include Solaris 2.4.
* gdb.base/funcargs.exp (float_and_integral_args):
Add sparc-sun-solaris2* xfail for "print f1 after run to call2a".
-
+
Sat Aug 26 00:26:11 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* gdb.base/setvar.c, gdb.base/setvar.exp: Add new tests for
@@ -8468,14 +8500,14 @@ Tue Aug 15 09:42:44 1995 Fred Fish <fnf@cygnus.com>
"print 'scope1.c'::bar::funclocal" and
"print 'scope1.c'::bar::funclocal_bss"
to only be xfail'd when not compiled with gcc.
- Add rs6000-*-* xfail for
+ Add rs6000-*-* xfail for
"print 'scope0.c'::filelocal_bss before run"
when compiled with gcc.
(test_at_main): Add rs6000-*-* xfail for
"print filelocal_ro in test_at_main"
when compiled with gcc.
* gdb.base/ptype.exp: Source gdb.base/ptype.ci.
- Add rs6000-*-aix* xfail for
+ Add rs6000-*-aix* xfail for
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" and
"ptype t_char_array", not compiled with gcc.
* gdb.base/list.exp (test_list_function): Add rs6000-*-*
@@ -8518,7 +8550,7 @@ Tue Aug 15 09:42:44 1995 Fred Fish <fnf@cygnus.com>
* gdb.base/opaque.exp: Source gdb.base/opaque0.ci rather
than opaque-info.exp.
Setup rs6000-*-* xfail for
- "ptype on opaque struct pointer (statically)" and
+ "ptype on opaque struct pointer (statically)" and
"ptype on opaque struct pointer (dynamically)" when
not compiled with gcc.
* gdb.base/callfuncs.exp: Source gdb.base/callfuncs.ci
@@ -8545,7 +8577,7 @@ Tue Aug 15 09:42:44 1995 Fred Fish <fnf@cygnus.com>
Add rs6000-*-* xfail for "up to foo in langs.exp"
"up to cppsub_ in langs.exp" and "up to fsub in langs.exp"
when not gcc compiled.
-
+
Sat Aug 12 15:05:36 1995 Jeffrey A. Law <law@rtl.cygnus.com>
* gdb.base/callfuncs.exp: Add xfails for the powerpc.
@@ -8576,7 +8608,7 @@ Mon Aug 14 09:01:59 1995 Fred Fish <fnf@cygnus.com>
"print 'scope0.c'::filelocal_bss in test_at_foo",
"print 'scope0.c'::filelocal at bar",
"print 'scope0.c'::filelocal_bss in test_at_bar"
-
+
* gdb.base/list.exp: Remove rs6000-*-* xfail for "list function
in source file 1". This bug seems to have been fixed with both
gcc and native cc (was native assembler bug?).
@@ -8601,7 +8633,7 @@ Wed Aug 9 08:04:12 1995 Fred Fish (fnf@cygnus.com)
* gdb.base/callfuncs.exp: Change xfail to "i*86-*-*" for
"call inferior function with struct - returns float" and
"call inferior function with struct - returns double".
-
+
Mon Aug 7 02:43:28 1995 Jeff Law (law@snake.cs.utah.edu)
* gdb.disasm/sh3.s: Source for sh3 disassembler tests.
@@ -9706,7 +9738,7 @@ Fri Nov 25 13:37:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
and 'value' method to T5 class for template tests.
* gdb.c++/templates.exp: Add testcases for printing of template
types, setting breakpoints on template methods and calling a
- template method.
+ template method.
Sat Nov 5 00:20:17 1994 Jeff Law (law@snake.cs.utah.edu)
@@ -10149,7 +10181,7 @@ Thu Apr 21 12:48:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
Thu Apr 21 11:54:04 1994 Kung Hsu (kung@mexican.cygnus.com)
- * gdb.t24/demangle.exp: change expect pattern of
+ * gdb.t24/demangle.exp: change expect pattern of
__t10ListS_link1ZUiRCUiPT0
Wed Apr 13 15:05:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
@@ -10216,7 +10248,7 @@ Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
Tue Mar 29 23:55:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
- * gdb.t07/watchpoint.exp (test_watchpoint_triggered_in_syscall):
+ * gdb.t07/watchpoint.exp (test_watchpoint_triggered_in_syscall):
Fix typo(s).
Sun Mar 27 16:53:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
@@ -10288,7 +10320,7 @@ Thu Feb 24 19:49:25 1994 Rob Savoye (rob@poseidon.cygnus.com)
one from the path.
* Makefile.in: Use a fresh expect if there is one, use runtest
from the src tree if there is one.
-
+
Thu Feb 24 18:49:37 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
* gdb.t06/break.exp (test_next_with_recursion): Remove xfail for
@@ -10475,7 +10507,7 @@ Thu Jan 13 17:16:09 1994 Stan Shebs (shebs@andros.cygnus.com)
* Makefile.in: Pass LDFLAGS and LIBS to sub-makes.
* gdb.t06/configure.in: Don't try to compile signals test program
- if doing mips-idt-ecoff.
+ if doing mips-idt-ecoff.
Thu Jan 13 08:25:55 1994 Rob Savoye (rob@darkstar.cygnus.com)
@@ -10623,7 +10655,7 @@ Tue Oct 19 14:57:38 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* gdb.t15/funcargs.exp: Don't put comments on same line as
setup_xfail (@#$*%& tcl braindamage!).
-
+
Mon Oct 18 21:50:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* gdb.disasm/hppa.exp: Use $objdir/$subdir/$binfile not just $binfile.
@@ -10914,7 +10946,7 @@ Thu Aug 12 15:24:28 1993 Fred Fish (fnf@deneb.cygnus.com)
* Makefile.in (distclean): Remove *.log *.plog *.sum *.psum site.*.
* gdb.t17/interrupt.exp: Fix 'missing Continuing' case so pattern
- to match does not match the passing case but still matches the
+ to match does not match the passing case but still matches the
failing case.
Thu Aug 12 16:58:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
@@ -11576,7 +11608,7 @@ Thu Mar 25 21:05:16 1993 Fred Fish (fnf@cygnus.com)
* gdb.t10/crossload.exp: Disable the i860-elf test until such
time as i860 support works.
- * gdb.t15/funcargs.exp: Fix expected outputs to include
+ * gdb.t15/funcargs.exp: Fix expected outputs to include
"backtrace 100\r" rather than just "backtrace\r", to match last
change.
@@ -11755,7 +11787,7 @@ Wed Feb 24 08:03:38 1993 Fred Fish (fnf@cygnus.com)
* gdb.t31/chillvars.exp (test_strings): Expect "CHAR" now, rather
than "char".
* gdb.t31/in-gdbme.ch (simple_struct, nested_struct, struct1,
- struct2): New struct definitions and initializations to test
+ struct2): New struct definitions and initializations to test
simple Chill STRUCT types.
Tue Feb 23 11:55:06 1993 Fred Fish (fnf@cygnus.com)
diff --git a/gdb/testsuite/gdb.asm/openbsd.inc b/gdb/testsuite/gdb.asm/openbsd.inc
index 90e3dbd0d25..5f5f5187cc7 100644
--- a/gdb/testsuite/gdb.asm/openbsd.inc
+++ b/gdb/testsuite/gdb.asm/openbsd.inc
@@ -1,6 +1,6 @@
comment "openbsd .note"
-.section ".note.openbsdbsd.ident", "a"
+.section ".note.openbsd.ident", "a"
.p2align 2
.long 8
diff --git a/gdb/testsuite/gdb.base/auxv.c b/gdb/testsuite/gdb.base/auxv.c
new file mode 100644
index 00000000000..94f9d000f48
--- /dev/null
+++ b/gdb/testsuite/gdb.base/auxv.c
@@ -0,0 +1,58 @@
+/* Simple little program that just generates a core dump from inside some
+ nested function calls. Keep this as self contained as possible, I.E.
+ use no environment resources other than possibly abort(). */
+
+#ifndef __STDC__
+#define const /**/
+#endif
+
+#ifndef HAVE_ABORT
+#define HAVE_ABORT 1
+#endif
+
+#if HAVE_ABORT
+#define ABORT abort()
+#else
+#define ABORT {char *invalid = 0; *invalid = 0xFF;}
+#endif
+
+/* Don't make these automatic vars or we will have to walk back up the
+ stack to access them. */
+
+char *buf1;
+char *buf2;
+
+int coremaker_data = 1; /* In Data section */
+int coremaker_bss; /* In BSS section */
+
+const int coremaker_ro = 201; /* In Read-Only Data section */
+
+void
+func2 (int x)
+{
+ int coremaker_local[5];
+ int i;
+ static int y;
+
+ /* Make sure that coremaker_local doesn't get optimized away. */
+ for (i = 0; i < 5; i++)
+ coremaker_local[i] = i;
+ coremaker_bss = 0;
+ for (i = 0; i < 5; i++)
+ coremaker_bss += coremaker_local[i];
+ coremaker_data = coremaker_ro + 1;
+ y = 10 * x;
+ ABORT;
+}
+
+void
+func1 (int x)
+{
+ func2 (x * 2);
+}
+
+int main ()
+{
+ func1 (10);
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/auxv.exp b/gdb/testsuite/gdb.base/auxv.exp
new file mode 100644
index 00000000000..3a509b98242
--- /dev/null
+++ b/gdb/testsuite/gdb.base/auxv.exp
@@ -0,0 +1,187 @@
+# Test `info auxv' and related functionality.
+
+# Copyright 1992,1993,1994,1995,1996,1997,1998,1999,2000,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 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.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file is based on corefile.exp which was written by Fred
+# Fish. (fnf@cygnus.com)
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+set prms_id 0
+set bug_id 0
+
+set testfile "auxv"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+set corefile ${objdir}/${subdir}/${testfile}.corefile
+set gcorefile ${objdir}/${subdir}/${testfile}.gcore
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+ gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+# Use a fresh directory to confine the native core dumps.
+# Make it the working directory for gdb and its child.
+set coredir "${objdir}/${subdir}/coredir.[getpid]"
+file mkdir $coredir
+set core_works [isnative]
+
+# Run GDB on the test program up to where it will dump core.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+gdb_test "set print sevenbit-strings" "" \
+ "set print sevenbit-strings; ${testfile}"
+gdb_test "set width 0" "" \
+ "set width 0; ${testfile}"
+
+if {$core_works} {
+ if {[gdb_test "cd $coredir" ".*Working directory .*" \
+ "cd to temporary directory for core dumps"]} {
+ set core_works 0
+ }
+}
+
+if { ![runto_main] } then {
+ gdb_suppress_tests;
+}
+set print_core_line [gdb_get_line_number "ABORT;"]
+gdb_test "tbreak $print_core_line"
+gdb_test continue ".*ABORT;.*"
+
+proc fetch_auxv {test} {
+ global gdb_prompt
+
+ set auxv_lines {}
+ set bad -1
+ if {[gdb_test_multiple "info auxv" $test {
+ -re "info auxv\[\r\n\]+" {
+ exp_continue
+ }
+ -ex "The program has no auxiliary information now" {
+ set bad 1
+ }
+ -ex "Auxiliary vector is empty" {
+ set bad 1
+ }
+ -ex "No auxiliary vector found" {
+ set bad 1
+ }
+ -re "^\[0-9\]+\[ \t\]+(AT_\[^ \t\]+)\[^\r\n\]+\[\r\n\]+" {
+ lappend auxv_lines $expect_out(0,string)
+ exp_continue
+ }
+ -re "^\[0-9\]+\[ \t\]+\\?\\?\\?\[^\r\n\]+\[\r\n\]+" {
+ warning "Unrecognized tag value: $expect_out(0,string)"
+ set bad 1
+ lappend auxv_lines $expect_out(0,string)
+ exp_continue
+ }
+ -re ".*$gdb_prompt $" {
+ incr bad
+ }
+ -re "^\[^\r\n\]+\[\r\n\]+" {
+ warning "Unrecognized output: $expect_out(0,string)"
+ set bad 1
+ }
+ }] != 0} {
+ return {}
+ }
+
+ if {$bad} {
+ fail $test
+ return {}
+ }
+
+ pass $test
+ return $auxv_lines
+}
+
+set live_data [fetch_auxv "info auxv on live process"]
+
+# Now try gcore.
+set gcore_works 0
+set escapedfilename [string_to_regexp $gcorefile]
+gdb_test_multiple "gcore $gcorefile" "gcore" {
+ -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" {
+ pass "gcore"
+ set gcore_works 1
+ }
+ -re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
+ unsupported "gcore"
+ }
+}
+
+# Let the program continue and die.
+gdb_test continue ".*Program received signal.*"
+gdb_test continue ".*Program terminated with signal.*"
+
+# Now collect the core dump it left.
+set test "generate native core dump"
+if {$core_works} {
+ # Find the
+ set names [glob -nocomplain -directory $coredir *core*]
+ if {[llength $names] == 1} {
+ set file [file join $coredir [lindex $names 0]]
+ remote_exec build "mv $file $corefile"
+ pass $test
+ } else {
+ set core_works 0
+ warning "can't generate a core file - core tests suppressed - check ulimit -c"
+ fail $test
+ }
+} else {
+ unsupported $test
+}
+remote_exec build "rm -rf $coredir"
+
+# Now we can examine the core files and check that their data matches what
+# we saw in the process. Note that the exact data can vary between runs,
+# so it's important that the native core dump file and the gcore-created dump
+# both be from the same run of the program as we examined live.
+
+proc do_core_test {works corefile test1 test2} {
+ if {! $works} {
+ unsupported $test1
+ unsupported $test2
+ } else {
+ gdb_test "core $corefile" "Core was generated by.*" \
+ "load core file for $test1" \
+ "A program is being debugged already.*" "y"
+ set core_data [fetch_auxv $test1]
+ global live_data
+ if {$core_data == $live_data} {
+ pass $test2
+ } else {
+ fail $test2
+ }
+ }
+}
+
+do_core_test $core_works $corefile \
+ "info auxv on native core dump" "matching auxv data from live and core"
+
+do_core_test $gcore_works $gcorefile \
+ "info auxv on gcore-created dump" "matching auxv data from live and gcore"
diff --git a/gdb/testsuite/gdb.base/pc-fp.exp b/gdb/testsuite/gdb.base/pc-fp.exp
index f94e3314388..c7daf6f08a4 100644
--- a/gdb/testsuite/gdb.base/pc-fp.exp
+++ b/gdb/testsuite/gdb.base/pc-fp.exp
@@ -1,4 +1,4 @@
-# Copyright 2002 Free Software Foundation, Inc.
+# Copyright 2002, 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
@@ -65,7 +65,7 @@ proc get_valueofx { fmt exp default } {
pass "get value of ${exp} ($val)"
}
timeout {
- set size ${default}
+ set val ${default}
fail "get value of ${exp} (timeout)"
}
}
diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp
index 58b3527ede2..a69271b0aff 100644
--- a/gdb/testsuite/gdb.base/watchpoint.exp
+++ b/gdb/testsuite/gdb.base/watchpoint.exp
@@ -374,31 +374,8 @@ proc test_stepping {} {
gdb_test "break func2 if 0" "Breakpoint.*at.*"
gdb_test "p \$func2_breakpoint_number = \$bpnum" " = .*"
- # The problem is that GDB confuses stepping through the call
- # dummy with hitting the breakpoint at the end of the call dummy.
- # Will be fixed once all architectures define
- # DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
- setup_xfail "*-*-*"
- # This doesn't occur if the call dummy starts with a call,
- # because we are out of the dummy by the first time the inferior
- # stops.
- clear_xfail "arm*-*-*"
- clear_xfail "xscale*-*-*"
- clear_xfail "d10v*-*-*"
- clear_xfail "m68*-*-*"
- clear_xfail "i*86*-*-*"
- clear_xfail "vax-*-*"
- # The following architectures define DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
- clear_xfail "alpha-*-*"
- clear_xfail "mips*-*-*"
- clear_xfail "sparc-*-*"
- clear_xfail "hppa*-*-*bsd*"
- # It works with the generic inferior function calling code too.
- clear_xfail "mn10300*-*-*"
- # The following architectures define CALL_DUMMY_HAS_COMPLETED.
- clear_xfail "hppa*-*-*hpux*"
gdb_test "p func1 ()" "= 73" \
- "calling function with watchpoint enabled"
+ "calling function with watchpoint enabled"
#
# "finish" brings us back to main.
diff --git a/gdb/testsuite/gdb.cp/classes.exp b/gdb/testsuite/gdb.cp/classes.exp
index 0b723e591f6..d4e78c11927 100644
--- a/gdb/testsuite/gdb.cp/classes.exp
+++ b/gdb/testsuite/gdb.cp/classes.exp
@@ -703,7 +703,7 @@ proc test_enums {} {
}
# I'll do this test two different ways, because of a parser bug.
- # See PR gdb/826.
+ # See PR gdb/1588.
gdb_test_multiple "print (ClassWithEnum::PrivEnum) 42" "print (ClassWithEnum::PrivEnum) 42" {
-re "\\$\[0-9\]+ = yellow$nl$gdb_prompt $" {
@@ -712,7 +712,7 @@ proc test_enums {} {
-re "A (parse|syntax) error in expression, near `42'.$nl$gdb_prompt $" {
# "parse error" is bison 1.35.
# "syntax error" is bison 1.875.
- kfail "gdb/826" "print (ClassWithEnum::PrivEnum) 42"
+ kfail "gdb/1588" "print (ClassWithEnum::PrivEnum) 42"
}
}
diff --git a/gdb/testsuite/gdb.cp/local.exp b/gdb/testsuite/gdb.cp/local.exp
index 5cd2ee9e8e2..6bae99ff290 100644
--- a/gdb/testsuite/gdb.cp/local.exp
+++ b/gdb/testsuite/gdb.cp/local.exp
@@ -263,10 +263,20 @@ gdb_expect {
#
# chastain 2002-04-08
+# NOTE (2004-02-24, carlton): This test really is invalid -
+# 'NestedInnerLocal' shouldn't be visible, so only the third
+# expression should count as a pass. I'm leaving in the earlier
+# passes, however, given the current problematic state of our local
+# class support, but once we fix PR gdb/482, we should delete this
+# test.
+
send_gdb "ptype NestedInnerLocal\n"
gdb_expect {
-re "type = class NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype NestedInnerLocal" }
-re "type = class NestedInnerLocal \{\[\r\n\t \]*public:\[\r\n\t \]*int nil;\[\r\n\t \]*NestedInnerLocal *& *operator *= *\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((main${sep}::|)InnerLocal::NestedInnerLocal const *&\\);\[\r\n\t \]*NestedInnerLocal\\((void|)\\);\[\r\n\t \]*int nil_foo\\(int\\);\[\r\n\t \]*\}.*$gdb_prompt $" { pass "ptype NestedInnerLocal" }
+ -re "No symbol \"NestedInnerLocal\" in current context\.\r\n$gdb_prompt $" {
+ pass "ptype NestedInnerLocal"
+ }
-re ".*$gdb_prompt $" { fail "ptype NestedInnerLocal" }
timeout { fail "(timeout) ptype NestedInnerLocal" }
}
diff --git a/gdb/trad-frame.c b/gdb/trad-frame.c
index f397f5d8241..f51998d42b8 100644
--- a/gdb/trad-frame.c
+++ b/gdb/trad-frame.c
@@ -1,6 +1,6 @@
/* Traditional frame unwind support, for GDB the GNU Debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -24,6 +24,25 @@
#include "trad-frame.h"
#include "regcache.h"
+struct trad_frame_cache
+{
+ struct frame_info *next_frame;
+ CORE_ADDR this_base;
+ struct trad_frame_saved_reg *prev_regs;
+ struct frame_id this_id;
+};
+
+struct trad_frame_cache *
+trad_frame_cache_zalloc (struct frame_info *next_frame)
+{
+ struct trad_frame_cache *this_trad_cache;
+
+ this_trad_cache = FRAME_OBSTACK_ZALLOC (struct trad_frame_cache);
+ this_trad_cache->prev_regs = trad_frame_alloc_saved_regs (next_frame);
+ this_trad_cache->next_frame = next_frame;
+ return this_trad_cache;
+}
+
/* A traditional frame is unwound by analysing the function prologue
and using the information gathered to track registers. For
non-optimized frames, the technique is reliable (just need to check
@@ -79,6 +98,13 @@ trad_frame_set_value (struct trad_frame_saved_reg this_saved_regs[],
}
void
+trad_frame_set_reg_addr (struct trad_frame_cache *this_trad_cache,
+ int regnum, CORE_ADDR addr)
+{
+ this_trad_cache->prev_regs[regnum].addr = addr;
+}
+
+void
trad_frame_set_unknown (struct trad_frame_saved_reg this_saved_regs[],
int regnum)
{
@@ -132,3 +158,29 @@ trad_frame_prev_register (struct frame_info *next_frame,
gdbarch_register_name (gdbarch, regnum));
}
}
+
+void
+trad_frame_get_register (struct trad_frame_cache *this_trad_cache,
+ struct frame_info *next_frame,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realregp, void *bufferp)
+{
+ trad_frame_prev_register (next_frame, this_trad_cache->prev_regs,
+ regnum, optimizedp, lvalp, addrp, realregp,
+ bufferp);
+}
+
+void
+trad_frame_set_id (struct trad_frame_cache *this_trad_cache,
+ struct frame_id this_id)
+{
+ this_trad_cache->this_id = this_id;
+}
+
+void
+trad_frame_get_id (struct trad_frame_cache *this_trad_cache,
+ struct frame_id *this_id)
+{
+ (*this_id) = this_trad_cache->this_id;
+}
diff --git a/gdb/trad-frame.h b/gdb/trad-frame.h
index 55720c7e836..194f39abdfb 100644
--- a/gdb/trad-frame.h
+++ b/gdb/trad-frame.h
@@ -1,6 +1,6 @@
/* Traditional frame unwind support, for GDB the GNU Debugger.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -22,7 +22,31 @@
#ifndef TRAD_FRAME_H
#define TRAD_FRAME_H
+#include "frame.h" /* For "struct frame_id". */
+
struct frame_info;
+struct trad_frame_cache;
+
+/* A simple, or traditional frame cache.
+
+ The entire cache is populated in a single pass and then generic
+ routines are used to extract the various cache values. */
+
+struct trad_frame_cache *trad_frame_cache_zalloc (struct frame_info *next_frame);
+
+/* This frame's ID. */
+void trad_frame_set_id (struct trad_frame_cache *this_trad_cache,
+ struct frame_id this_id);
+void trad_frame_get_id (struct trad_frame_cache *this_trad_cache,
+ struct frame_id *this_id);
+
+void trad_frame_set_reg_unknown (struct trad_frame_cache *this_trad_cache,
+ int regnum, CORE_ADDR addr);
+void trad_frame_get_register (struct trad_frame_cache *this_trad_cache,
+ struct frame_info *next_frame,
+ int regnum, int *optimizedp,
+ enum lval_type *lvalp, CORE_ADDR *addrp,
+ int *realregp, void *bufferp);
/* A traditional saved regs table, indexed by REGNUM, encoding where
the value of REGNUM for the previous frame can be found in this
diff --git a/gdb/tramp-frame.c b/gdb/tramp-frame.c
new file mode 100644
index 00000000000..7a8057e85e1
--- /dev/null
+++ b/gdb/tramp-frame.c
@@ -0,0 +1,162 @@
+/* Signal trampoline unwinder, for GDB the GNU Debugger.
+
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 "defs.h"
+#include "tramp-frame.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "target.h"
+#include "trad-frame.h"
+#include "frame-base.h"
+
+struct frame_data
+{
+ const struct tramp_frame *tramp_frame;
+};
+
+struct tramp_frame_cache
+{
+ CORE_ADDR func;
+ const struct tramp_frame *tramp_frame;
+ struct trad_frame_cache *trad_cache;
+};
+
+static struct trad_frame_cache *
+tramp_frame_cache (struct frame_info *next_frame,
+ void **this_cache)
+{
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ struct tramp_frame_cache *tramp_cache = (*this_cache);
+ if (tramp_cache->trad_cache == NULL)
+ {
+ tramp_cache->trad_cache = trad_frame_cache_zalloc (next_frame);
+ tramp_cache->tramp_frame->init (tramp_cache->tramp_frame,
+ next_frame,
+ tramp_cache->trad_cache,
+ tramp_cache->func);
+ }
+ return tramp_cache->trad_cache;
+}
+
+static void
+tramp_frame_this_id (struct frame_info *next_frame,
+ void **this_cache,
+ struct frame_id *this_id)
+{
+ struct trad_frame_cache *trad_cache
+ = tramp_frame_cache (next_frame, this_cache);
+ trad_frame_get_id (trad_cache, this_id);
+}
+
+static void
+tramp_frame_prev_register (struct frame_info *next_frame,
+ void **this_cache,
+ int prev_regnum,
+ int *optimizedp,
+ enum lval_type * lvalp,
+ CORE_ADDR *addrp,
+ int *realnump, void *valuep)
+{
+ struct trad_frame_cache *trad_cache
+ = tramp_frame_cache (next_frame, this_cache);
+ trad_frame_get_register (trad_cache, next_frame, prev_regnum, optimizedp,
+ lvalp, addrp, realnump, valuep);
+}
+
+static CORE_ADDR
+tramp_frame_start (CORE_ADDR pc, const struct tramp_frame *tramp)
+{
+ int ti;
+ /* Search through the trampoline for one that matches the
+ instruction sequence around PC. */
+ for (ti = 0; tramp->insn[ti] != 0; ti++)
+ {
+ CORE_ADDR func = pc - tramp->insn_size * ti;
+ int i;
+ for (i = 0; 1; i++)
+ {
+ bfd_byte buf[sizeof (LONGEST)];
+ CORE_ADDR insn;
+ if (tramp->insn[i] == 0)
+ return func;
+ if (target_read_memory (func + i * tramp->insn_size, buf,
+ tramp->insn_size) != 0)
+ break;
+ insn = extract_unsigned_integer (buf, tramp->insn_size);
+ if (tramp->insn[i] != insn)
+ break;
+ }
+ }
+ /* Trampoline doesn't match. */
+ return 0;
+}
+
+static int
+tramp_frame_sniffer (const struct frame_unwind *self,
+ struct frame_info *next_frame,
+ void **this_cache)
+{
+ const struct tramp_frame *tramp = self->unwind_data->tramp_frame;
+ CORE_ADDR pc = frame_pc_unwind (next_frame);
+ CORE_ADDR func;
+ char *name;
+ struct tramp_frame_cache *tramp_cache;
+
+ /* If the function has a valid symbol name, it isn't a
+ trampoline. */
+ find_pc_partial_function (pc, &name, NULL, NULL);
+ if (name != NULL)
+ return 0;
+ /* If the function lives in a valid section (even without a starting
+ point) it isn't a trampoline. */
+ if (find_pc_section (pc) != NULL)
+ return 0;
+ /* Finally, check that the trampoline matches at PC. */
+ func = tramp_frame_start (pc, tramp);
+ if (func == 0)
+ return 0;
+ tramp_cache = FRAME_OBSTACK_ZALLOC (struct tramp_frame_cache);
+ tramp_cache->func = func;
+ tramp_cache->tramp_frame = tramp;
+ (*this_cache) = tramp_cache;
+ return 1;
+}
+
+void
+tramp_frame_append (struct gdbarch *gdbarch,
+ const struct tramp_frame *tramp_frame)
+{
+ struct frame_data *data;
+ struct frame_unwind *unwinder;
+
+ data = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct frame_data);
+ unwinder = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct frame_unwind);
+
+ data->tramp_frame = tramp_frame;
+ unwinder->type = SIGTRAMP_FRAME;
+ unwinder->unwind_data = data;
+ unwinder->sniffer = tramp_frame_sniffer;
+ unwinder->this_id = tramp_frame_this_id;
+ unwinder->prev_register = tramp_frame_prev_register;
+ frame_unwind_register_unwinder (gdbarch, unwinder);
+}
diff --git a/gdb/tramp-frame.h b/gdb/tramp-frame.h
new file mode 100644
index 00000000000..44e266eaab6
--- /dev/null
+++ b/gdb/tramp-frame.h
@@ -0,0 +1,64 @@
+/* Signal trampoline unwinder, for GDB the GNU Debugger.
+
+ Copyright 2004 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 TRAMP_FRAME_H
+#define TRAMP_FRAME_H
+
+struct trad_frame;
+struct frame_info;
+struct trad_frame_cache;
+
+/* A trampoline consists of a small sequence of instructions placed at
+ an unspecified location in the inferior's address space. The only
+ identifying attribute of the trampoline's address is that it does
+ not fall inside an object file's section.
+
+ The only way to identify a trampoline is to perform a brute force
+ examination of the instructions at and around the PC.
+
+ This module provides a convent interface for performing that
+ operation. */
+
+/* A trampoline descriptor. */
+
+struct tramp_frame
+{
+ /* The trampoline's entire instruction sequence. Search for this in
+ the inferior at or around the frame's PC. It is assumed that the
+ PC is INSN_SIZE aligned, and that each element of TRAMP contains
+ one INSN_SIZE instruction. It is also assumed that TRAMP[0]
+ contains the first instruction of the trampoline and hence the
+ address of the instruction matching TRAMP[0] is the trampoline's
+ "func" address. */
+ int insn_size;
+ ULONGEST insn[8];
+ /* Initialize a trad-frame cache corresponding to the tramp-frame.
+ FUNC is the address of the instruction TRAMP[0] in memory. */
+ void (*init) (const struct tramp_frame *self,
+ struct frame_info *next_frame,
+ struct trad_frame_cache *this_cache,
+ CORE_ADDR func);
+};
+
+void tramp_frame_append (struct gdbarch *gdbarch,
+ const struct tramp_frame *tramp);
+
+#endif
diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index 2b6faa3d64c..800d72a069f 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -507,6 +507,7 @@ init_content_element (struct tui_win_element * element, enum tui_win_type type)
element->which_element.data.item_no = UNDEFINED_ITEM;
element->which_element.data.value = NULL;
element->which_element.data.highlight = FALSE;
+ element->which_element.data.content = (char*) NULL;
break;
case LOCATOR_WIN:
element->which_element.locator.file_name[0] =
@@ -548,6 +549,7 @@ init_win_info (struct tui_win_info * win_info)
TUI_UNDEFINED_REGS;
win_info->detail.data_display_info.regs_column_count = 1;
win_info->detail.data_display_info.display_regs = FALSE;
+ win_info->detail.data_display_info.current_group = 0;
break;
case CMD_WIN:
win_info->detail.command_info.cur_line = 0;
@@ -904,6 +906,7 @@ free_content_elements (tui_win_content content, int content_size, enum tui_win_t
if (element->which_element.data.type != TUI_REGISTER)
xfree ((void *)element->which_element.data.name);
xfree (element->which_element.data.value);
+ xfree (element->which_element.data.content);
xfree (element);
break;
case CMD_WIN:
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index dd8c230b228..02bebb4e2be 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -180,6 +180,7 @@ struct tui_data_element
enum tui_data_type type;
void *value;
int highlight;
+ char *content;
};
@@ -248,6 +249,7 @@ struct tui_data_info
enum tui_register_display_type regs_display_type;
int regs_column_count;
int display_regs; /* Should regs be displayed at all? */
+ struct reggroup *current_group;
};
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 95ed77e2e22..f2d4412414d 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -248,10 +248,7 @@ tui_set_layout (enum tui_layout_type layout_type,
}
if (regs_populate)
{
- layout_def->regs_display_type =
- (regs_display_type == TUI_UNDEFINED_REGS ?
- TUI_GENERAL_REGS : regs_display_type);
- tui_show_registers (layout_def->regs_display_type);
+ tui_show_registers (TUI_DATA_WIN->detail.data_display_info.current_group);
}
}
}
diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c
index 3813db0c0a4..c0eab97513c 100644
--- a/gdb/tui/tui-regs.c
+++ b/gdb/tui/tui-regs.c
@@ -38,59 +38,27 @@
#include "tui/tui-windata.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-file.h"
+#include "reggroups.h"
#include "gdb_curses.h"
-/*****************************************
-** LOCAL DEFINITIONS **
-******************************************/
-#define DOUBLE_FLOAT_LABEL_WIDTH 6
-#define DOUBLE_FLOAT_LABEL_FMT "%6.6s: "
-#define DOUBLE_FLOAT_VALUE_WIDTH 30 /*min of 16 but may be in sci notation */
-
-#define SINGLE_FLOAT_LABEL_WIDTH 6
-#define SINGLE_FLOAT_LABEL_FMT "%6.6s: "
-#define SINGLE_FLOAT_VALUE_WIDTH 25 /* min of 8 but may be in sci notation */
-
-#define SINGLE_LABEL_WIDTH 16
-#define SINGLE_LABEL_FMT "%10.10s: "
-#define SINGLE_VALUE_WIDTH 20 /* minimum of 8 but may be in sci notation */
-
-/* In the code HP gave Cygnus, this was actually a function call to a
- PA-specific function, which was supposed to determine whether the
- target was a 64-bit or 32-bit processor. However, the 64-bit
- support wasn't complete, so we didn't merge that in, so we leave
- this here as a stub. */
-#define IS_64BIT 0
/*****************************************
-** STATIC DATA **
+** STATIC LOCAL FUNCTIONS FORWARD DECLS **
******************************************/
+static void
+tui_display_register (struct tui_data_element *data,
+ struct tui_gen_win_info *win_info);
+static enum tui_status
+tui_show_register_group (struct gdbarch *gdbarch, struct reggroup *group,
+ struct frame_info *frame, int refresh_values_only);
-/*****************************************
-** STATIC LOCAL FUNCTIONS FORWARD DECLS **
-******************************************/
-static enum tui_status tui_set_regs_content
- (int, int, struct frame_info *, enum tui_register_display_type, int);
-static const char *tui_register_name (int);
-static enum tui_status tui_get_register_raw_value (int, char *, struct frame_info *);
-static void tui_set_register_element
- (int, struct frame_info *, struct tui_data_element *, int);
-static void tui_display_register (int, struct tui_gen_win_info *, enum precision_type);
+static enum tui_status
+tui_get_register (struct gdbarch *gdbarch, struct frame_info *frame,
+ struct tui_data_element *data, int regnum, int *changedp);
static void tui_register_format
- (char *, int, int, struct tui_data_element *, enum precision_type);
-static enum tui_status tui_set_general_regs_content (int);
-static enum tui_status tui_set_special_regs_content (int);
-static enum tui_status tui_set_general_and_special_regs_content (int);
-static enum tui_status tui_set_float_regs_content (enum tui_register_display_type, int);
-static int tui_reg_value_has_changed
- (struct tui_data_element *, struct frame_info *, char *);
-static void tui_show_float_command (char *, int);
-static void tui_show_general_command (char *, int);
-static void tui_show_special_command (char *, int);
-static void tui_v_show_registers_command_support (enum tui_register_display_type);
-static void _tui_toggle_float_regs_command (char *, int);
+ (struct gdbarch *, struct frame_info *, struct tui_data_element*, int);
static void tui_scroll_regs_forward_command (char *, int);
static void tui_scroll_regs_backward_command (char *, int);
@@ -174,73 +142,29 @@ tui_last_reg_element_no_in_line (int line_no)
return (-1);
}
-
-/* Calculate the number of columns that should be used to display the
- registers. */
-int
-tui_calculate_regs_column_count (enum tui_register_display_type dpy_type)
-{
- int col_count, col_width;
-
- if (IS_64BIT || dpy_type == TUI_DFLOAT_REGS)
- col_width = DOUBLE_FLOAT_VALUE_WIDTH + DOUBLE_FLOAT_LABEL_WIDTH;
- else
- {
- if (dpy_type == TUI_SFLOAT_REGS)
- col_width = SINGLE_FLOAT_VALUE_WIDTH + SINGLE_FLOAT_LABEL_WIDTH;
- else
- col_width = SINGLE_VALUE_WIDTH + SINGLE_LABEL_WIDTH;
- }
- col_count = (TUI_DATA_WIN->generic.width - 2) / col_width;
-
- return col_count;
-}
-
-
-/* Show the registers int the data window as indicated by dpy_type. If
- there is any other registers being displayed, then they are
- cleared. What registers are displayed is dependent upon dpy_type. */
+/* Show the registers of the given group in the data window
+ and refresh the window. */
void
-tui_show_registers (enum tui_register_display_type dpy_type)
+tui_show_registers (struct reggroup *group)
{
enum tui_status ret = TUI_FAILURE;
- int refresh_values_only = FALSE;
+ struct tui_data_info *display_info = &TUI_DATA_WIN->detail.data_display_info;
- /* Say that registers should be displayed, even if there is a problem */
- TUI_DATA_WIN->detail.data_display_info.display_regs = TRUE;
+ if (group == 0)
+ group = general_reggroup;
- if (target_has_registers)
+ /* Say that registers should be displayed, even if there is a problem. */
+ display_info->display_regs = TRUE;
+
+ if (target_has_registers && target_has_stack && target_has_memory)
{
- refresh_values_only =
- (dpy_type == TUI_DATA_WIN->detail.data_display_info.regs_display_type);
- switch (dpy_type)
- {
- case TUI_GENERAL_REGS:
- ret = tui_set_general_regs_content (refresh_values_only);
- break;
- case TUI_SFLOAT_REGS:
- case TUI_DFLOAT_REGS:
- ret = tui_set_float_regs_content (dpy_type, refresh_values_only);
- break;
-
-/* could ifdef out */
-
- case TUI_SPECIAL_REGS:
- ret = tui_set_special_regs_content (refresh_values_only);
- break;
- case TUI_GENERAL_AND_SPECIAL_REGS:
- ret = tui_set_general_and_special_regs_content (refresh_values_only);
- break;
-
-/* end of potential if def */
-
- default:
- break;
- }
+ ret = tui_show_register_group (current_gdbarch, group,
+ get_current_frame (),
+ group == display_info->current_group);
}
if (ret == TUI_FAILURE)
{
- TUI_DATA_WIN->detail.data_display_info.regs_display_type = TUI_UNDEFINED_REGS;
+ display_info->current_group = 0;
tui_erase_data_content (NO_REGS_STRING);
}
else
@@ -248,24 +172,122 @@ tui_show_registers (enum tui_register_display_type dpy_type)
int i;
/* Clear all notation of changed values */
- for (i = 0; (i < TUI_DATA_WIN->detail.data_display_info.regs_content_count); i++)
+ for (i = 0; i < display_info->regs_content_count; i++)
{
- struct tui_gen_win_info * data_item_win;
+ struct tui_gen_win_info *data_item_win;
+ struct tui_win_element *win;
- data_item_win = &TUI_DATA_WIN->detail.data_display_info.
- regs_content[i]->which_element.data_window;
- (&((struct tui_win_element *)
- data_item_win->content[0])->which_element.data)->highlight = FALSE;
+ data_item_win = &display_info->regs_content[i]
+ ->which_element.data_window;
+ win = (struct tui_win_element *) data_item_win->content[0];
+ win->which_element.data.highlight = FALSE;
}
- TUI_DATA_WIN->detail.data_display_info.regs_display_type = dpy_type;
+ display_info->current_group = group;
tui_display_all_data ();
}
- (tui_layout_def ())->regs_display_type = dpy_type;
-
- return;
}
+/* Set the data window to display the registers of the register group
+ using the given frame. Values are refreshed only when refresh_values_only
+ is TRUE. */
+
+static enum tui_status
+tui_show_register_group (struct gdbarch *gdbarch, struct reggroup *group,
+ struct frame_info *frame, int refresh_values_only)
+{
+ enum tui_status ret = TUI_FAILURE;
+ int nr_regs;
+ int allocated_here = FALSE;
+ int regnum, pos;
+ char title[80];
+ struct tui_data_info *display_info = &TUI_DATA_WIN->detail.data_display_info;
+
+ /* Make a new title showing which group we display. */
+ snprintf (title, sizeof (title) - 1, "Register group: %s",
+ reggroup_name (group));
+ xfree (TUI_DATA_WIN->generic.title);
+ TUI_DATA_WIN->generic.title = xstrdup (title);
+
+ /* See how many registers must be displayed. */
+ nr_regs = 0;
+ for (regnum = 0; regnum < NUM_REGS + NUM_PSEUDO_REGS; regnum++)
+ {
+ /* Must be in the group and have a name. */
+ if (gdbarch_register_reggroup_p (gdbarch, regnum, group)
+ && gdbarch_register_name (gdbarch, regnum) != 0)
+ nr_regs++;
+ }
+
+ if (display_info->regs_content_count > 0 && !refresh_values_only)
+ {
+ tui_free_data_content (display_info->regs_content,
+ display_info->regs_content_count);
+ display_info->regs_content_count = 0;
+ }
+
+ if (display_info->regs_content_count <= 0)
+ {
+ display_info->regs_content = tui_alloc_content (nr_regs, DATA_WIN);
+ allocated_here = TRUE;
+ refresh_values_only = FALSE;
+ }
+
+ if (display_info->regs_content != (tui_win_content) NULL)
+ {
+ if (!refresh_values_only || allocated_here)
+ {
+ TUI_DATA_WIN->generic.content = (void*) NULL;
+ TUI_DATA_WIN->generic.content_size = 0;
+ tui_add_content_elements (&TUI_DATA_WIN->generic, nr_regs);
+ display_info->regs_content
+ = (tui_win_content) TUI_DATA_WIN->generic.content;
+ display_info->regs_content_count = nr_regs;
+ }
+
+ /* Now set the register names and values */
+ pos = 0;
+ for (regnum = 0; regnum < NUM_REGS + NUM_PSEUDO_REGS; regnum++)
+ {
+ struct tui_gen_win_info *data_item_win;
+ struct tui_data_element *data;
+ const char *name;
+
+ if (!gdbarch_register_reggroup_p (gdbarch, regnum, group))
+ continue;
+
+ name = gdbarch_register_name (gdbarch, regnum);
+ if (name == 0)
+ continue;
+
+ data_item_win =
+ &display_info->regs_content[pos]->which_element.data_window;
+ data =
+ &((struct tui_win_element *) data_item_win->content[0])->which_element.data;
+ if (data)
+ {
+ if (!refresh_values_only)
+ {
+ data->item_no = regnum;
+ data->name = name;
+ data->highlight = FALSE;
+ }
+ if (data->value == (void*) NULL)
+ data->value = (void*) xmalloc (MAX_REGISTER_SIZE);
+
+ tui_get_register (gdbarch, frame, data, regnum, 0);
+ }
+ pos++;
+ }
+
+ TUI_DATA_WIN->generic.content_size =
+ display_info->regs_content_count + display_info->data_content_count;
+ ret = TUI_SUCCESS;
+ }
+
+ return ret;
+}
+
/* Function to display the registers in the content from
'start_element_no' until the end of the register content or the end
of the display height. No checking for displaying past the end of
@@ -273,67 +295,82 @@ tui_show_registers (enum tui_register_display_type dpy_type)
void
tui_display_registers_from (int start_element_no)
{
- if (TUI_DATA_WIN->detail.data_display_info.regs_content != (tui_win_content) NULL &&
- TUI_DATA_WIN->detail.data_display_info.regs_content_count > 0)
+ struct tui_data_info *display_info = &TUI_DATA_WIN->detail.data_display_info;
+
+ if (display_info->regs_content != (tui_win_content) NULL &&
+ display_info->regs_content_count > 0)
{
int i = start_element_no;
int j, value_chars_wide, item_win_width, cur_y;
- enum precision_type precision;
-
- /* Do not rename the following variable into "label_width".
- Unfortunately, term.h on AiX systems defines a macro with
- the same name, which causes a build failure if we use the
- same name for this variable. */
- int tui_label_width;
-
- precision = (TUI_DATA_WIN->detail.data_display_info.regs_display_type
- == TUI_DFLOAT_REGS) ?
- double_precision : unspecified_precision;
- if (IS_64BIT ||
- TUI_DATA_WIN->detail.data_display_info.regs_display_type == TUI_DFLOAT_REGS)
- {
- value_chars_wide = DOUBLE_FLOAT_VALUE_WIDTH;
- tui_label_width = DOUBLE_FLOAT_LABEL_WIDTH;
- }
- else
- {
- if (TUI_DATA_WIN->detail.data_display_info.regs_display_type ==
- TUI_SFLOAT_REGS)
- {
- value_chars_wide = SINGLE_FLOAT_VALUE_WIDTH;
- tui_label_width = SINGLE_FLOAT_LABEL_WIDTH;
- }
- else
- {
- value_chars_wide = SINGLE_VALUE_WIDTH;
- tui_label_width = SINGLE_LABEL_WIDTH;
- }
- }
- item_win_width = value_chars_wide + tui_label_width;
+
+ int max_len = 0;
+ for (i = 0; i < display_info->regs_content_count; i++)
+ {
+ struct tui_data_element *data;
+ struct tui_gen_win_info *data_item_win;
+ char *p;
+ int len;
+
+ data_item_win = &display_info->regs_content[i]->which_element.data_window;
+ data = &((struct tui_win_element *)
+ data_item_win->content[0])->which_element.data;
+ len = 0;
+ p = data->content;
+ if (p != 0)
+ while (*p)
+ {
+ if (*p++ == '\t')
+ len = 8 * ((len / 8) + 1);
+ else
+ len++;
+ }
+
+ if (len > max_len)
+ max_len = len;
+ }
+ item_win_width = max_len + 1;
+ i = start_element_no;
+
+ display_info->regs_column_count =
+ (TUI_DATA_WIN->generic.width - 2) / item_win_width;
+ if (display_info->regs_column_count == 0)
+ display_info->regs_column_count = 1;
+ item_win_width =
+ (TUI_DATA_WIN->generic.width - 2) / display_info->regs_column_count;
+
/*
** Now create each data "sub" window, and write the display into it.
*/
cur_y = 1;
- while (i < TUI_DATA_WIN->detail.data_display_info.regs_content_count &&
+ while (i < display_info->regs_content_count &&
cur_y <= TUI_DATA_WIN->generic.viewport_height)
{
for (j = 0;
- (j < TUI_DATA_WIN->detail.data_display_info.regs_column_count &&
- i < TUI_DATA_WIN->detail.data_display_info.regs_content_count); j++)
+ (j < display_info->regs_column_count &&
+ i < display_info->regs_content_count); j++)
{
struct tui_gen_win_info * data_item_win;
struct tui_data_element * data_element_ptr;
/* create the window if necessary */
- data_item_win = &TUI_DATA_WIN->detail.data_display_info.
- regs_content[i]->which_element.data_window;
+ data_item_win = &display_info->regs_content[i]
+ ->which_element.data_window;
data_element_ptr = &((struct tui_win_element *)
data_item_win->content[0])->which_element.data;
+ if (data_item_win->handle != (WINDOW*) NULL
+ && (data_item_win->height != 1
+ || data_item_win->width != item_win_width
+ || data_item_win->origin.x != (item_win_width * j) + 1
+ || data_item_win->origin.y != cur_y))
+ {
+ tui_delete_win (data_item_win->handle);
+ data_item_win->handle = 0;
+ }
+
if (data_item_win->handle == (WINDOW *) NULL)
{
data_item_win->height = 1;
- data_item_win->width = (precision == double_precision) ?
- item_win_width + 2 : item_win_width + 1;
+ data_item_win->width = item_win_width;
data_item_win->origin.x = (item_win_width * j) + 1;
data_item_win->origin.y = cur_y;
tui_make_window (data_item_win, DONT_BOX_WINDOW);
@@ -341,19 +378,14 @@ tui_display_registers_from (int start_element_no)
}
touchwin (data_item_win->handle);
- /*
- ** Get the printable representation of the register
- ** and display it
- */
- tui_display_register (
- data_element_ptr->item_no, data_item_win, precision);
+ /* Get the printable representation of the register
+ and display it. */
+ tui_display_register (data_element_ptr, data_item_win);
i++; /* next register */
}
cur_y++; /* next row; */
}
}
-
- return;
}
@@ -442,104 +474,147 @@ tui_check_register_values (struct frame_info *frame)
{
if (TUI_DATA_WIN != NULL && TUI_DATA_WIN->generic.is_visible)
{
- if (TUI_DATA_WIN->detail.data_display_info.regs_content_count <= 0 &&
- TUI_DATA_WIN->detail.data_display_info.display_regs)
- tui_show_registers ((tui_layout_def ())->regs_display_type);
+ struct tui_data_info *display_info
+ = &TUI_DATA_WIN->detail.data_display_info;
+
+ if (display_info->regs_content_count <= 0 && display_info->display_regs)
+ tui_show_registers (display_info->current_group);
else
{
int i, j;
- char raw_buf[MAX_REGISTER_SIZE];
- for (i = 0;
- (i < TUI_DATA_WIN->detail.data_display_info.regs_content_count); i++)
+ for (i = 0; (i < display_info->regs_content_count); i++)
{
- struct tui_data_element * data_element_ptr;
- struct tui_gen_win_info * data_item_win_ptr;
+ struct tui_data_element *data;
+ struct tui_gen_win_info *data_item_win_ptr;
int was_hilighted;
- data_item_win_ptr = &TUI_DATA_WIN->detail.data_display_info.
- regs_content[i]->which_element.data_window;
- data_element_ptr = &((struct tui_win_element *)
- data_item_win_ptr->content[0])->which_element.data;
- was_hilighted = data_element_ptr->highlight;
- data_element_ptr->highlight =
- tui_reg_value_has_changed (data_element_ptr, frame, &raw_buf[0]);
- if (data_element_ptr->highlight)
- {
- int size;
-
- size = DEPRECATED_REGISTER_RAW_SIZE (data_element_ptr->item_no);
- for (j = 0; j < size; j++)
- ((char *) data_element_ptr->value)[j] = raw_buf[j];
- tui_display_register (
- data_element_ptr->item_no,
- data_item_win_ptr,
- ((TUI_DATA_WIN->detail.data_display_info.regs_display_type ==
- TUI_DFLOAT_REGS) ?
- double_precision : unspecified_precision));
- }
- else if (was_hilighted)
+ data_item_win_ptr = &display_info->regs_content[i]->
+ which_element.data_window;
+ data = &((struct tui_win_element *)
+ data_item_win_ptr->content[0])->which_element.data;
+ was_hilighted = data->highlight;
+
+ tui_get_register (current_gdbarch, frame, data,
+ data->item_no, &data->highlight);
+
+ if (data->highlight || was_hilighted)
{
- data_element_ptr->highlight = FALSE;
- tui_display_register (
- data_element_ptr->item_no,
- data_item_win_ptr,
- ((TUI_DATA_WIN->detail.data_display_info.regs_display_type ==
- TUI_DFLOAT_REGS) ?
- double_precision : unspecified_precision));
+ tui_display_register (data, data_item_win_ptr);
}
}
}
}
- return;
}
+/* Display a register in a window. If hilite is TRUE,
+ then the value will be displayed in reverse video */
+static void
+tui_display_register (struct tui_data_element *data,
+ struct tui_gen_win_info *win_info)
+{
+ if (win_info->handle != (WINDOW *) NULL)
+ {
+ int i;
-/*
- ** tui_toggle_float_regs().
- */
-void
-tui_toggle_float_regs (void)
+ if (data->highlight)
+ wstandout (win_info->handle);
+
+ wmove (win_info->handle, 0, 0);
+ for (i = 1; i < win_info->width; i++)
+ waddch (win_info->handle, ' ');
+ wmove (win_info->handle, 0, 0);
+ if (data->content)
+ waddstr (win_info->handle, data->content);
+
+ if (data->highlight)
+ wstandend (win_info->handle);
+ tui_refresh_win (win_info);
+ }
+}
+
+static void
+tui_reg_next_command (char *arg, int from_tty)
{
- struct tui_layout_def * layout_def = tui_layout_def ();
+ if (TUI_DATA_WIN != 0)
+ {
+ struct reggroup *group
+ = TUI_DATA_WIN->detail.data_display_info.current_group;
- if (layout_def->float_regs_display_type == TUI_SFLOAT_REGS)
- layout_def->float_regs_display_type = TUI_DFLOAT_REGS;
- else
- layout_def->float_regs_display_type = TUI_SFLOAT_REGS;
+ group = reggroup_next (current_gdbarch, group);
+ if (group == 0)
+ group = reggroup_next (current_gdbarch, 0);
+
+ if (group)
+ tui_show_registers (group);
+ }
+}
+
+static void
+tui_reg_float_command (char *arg, int from_tty)
+{
+ tui_show_registers (float_reggroup);
+}
- if (TUI_DATA_WIN != NULL && TUI_DATA_WIN->generic.is_visible &&
- (TUI_DATA_WIN->detail.data_display_info.regs_display_type == TUI_SFLOAT_REGS ||
- TUI_DATA_WIN->detail.data_display_info.regs_display_type == TUI_DFLOAT_REGS))
- tui_show_registers (layout_def->float_regs_display_type);
+static void
+tui_reg_general_command (char *arg, int from_tty)
+{
+ tui_show_registers (general_reggroup);
+}
- return;
-} /* tui_toggle_float_regs */
+static void
+tui_reg_system_command (char *arg, int from_tty)
+{
+ tui_show_registers (system_reggroup);
+}
+
+static struct cmd_list_element *tuireglist;
+static void
+tui_reg_command (char *args, int from_tty)
+{
+ printf_unfiltered ("\"tui reg\" must be followed by the name of a "
+ "tui reg command.\n");
+ help_list (tuireglist, "tui reg ", -1, gdb_stdout);
+}
void
_initialize_tui_regs (void)
{
+ struct cmd_list_element **tuicmd;
+
+ tuicmd = tui_get_cmd_list ();
+
+ add_prefix_cmd ("reg", class_tui, tui_reg_command,
+ "TUI commands to control the register window.",
+ &tuireglist, "tui reg ", 0,
+ tuicmd);
+
+ add_cmd ("float", class_tui, tui_reg_float_command,
+ "Display only floating point registers\n",
+ &tuireglist);
+ add_cmd ("general", class_tui, tui_reg_general_command,
+ "Display only general registers\n",
+ &tuireglist);
+ add_cmd ("system", class_tui, tui_reg_system_command,
+ "Display only system registers\n",
+ &tuireglist);
+ add_cmd ("next", class_tui, tui_reg_next_command,
+ "Display next register group\n",
+ &tuireglist);
+
if (xdb_commands)
{
- add_com ("fr", class_tui, tui_show_float_command,
+ add_com ("fr", class_tui, tui_reg_float_command,
"Display only floating point registers\n");
- add_com ("gr", class_tui, tui_show_general_command,
+ add_com ("gr", class_tui, tui_reg_general_command,
"Display only general registers\n");
- add_com ("sr", class_tui, tui_show_special_command,
+ add_com ("sr", class_tui, tui_reg_system_command,
"Display only special registers\n");
add_com ("+r", class_tui, tui_scroll_regs_forward_command,
"Scroll the registers window forward\n");
add_com ("-r", class_tui, tui_scroll_regs_backward_command,
"Scroll the register window backward\n");
- add_com ("tf", class_tui, _tui_toggle_float_regs_command,
- "Toggle between single and double precision floating point registers.\n");
- add_cmd (TUI_FLOAT_REGS_NAME_LOWER,
- class_tui,
- _tui_toggle_float_regs_command,
- "Toggle between single and double precision floating point \
-registers.\n",
- &togglelist);
}
}
@@ -548,16 +623,6 @@ registers.\n",
** STATIC LOCAL FUNCTIONS **
******************************************/
-
-/*
- ** tui_register_name().
- ** Return the register name.
- */
-static const char *
-tui_register_name (int reg_num)
-{
- return REGISTER_NAME (reg_num);
-}
extern int pagination_enabled;
static void
@@ -568,414 +633,104 @@ tui_restore_gdbout (void *ui)
pagination_enabled = 1;
}
-/*
- ** tui_register_format
- ** Function to format the register name and value into a buffer,
- ** suitable for printing or display
- */
+/* Get the register from the frame and make a printable representation
+ of it in the data element. */
static void
-tui_register_format (char *buf, int buf_len, int reg_num,
- struct tui_data_element * data_element,
- enum precision_type precision)
+tui_register_format (struct gdbarch *gdbarch, struct frame_info *frame,
+ struct tui_data_element *data_element, int regnum)
{
struct ui_file *stream;
struct ui_file *old_stdout;
const char *name;
struct cleanup *cleanups;
- char *p;
+ char *p, *s;
int pos;
+ struct type *type = gdbarch_register_type (gdbarch, regnum);
- name = REGISTER_NAME (reg_num);
+ name = gdbarch_register_name (gdbarch, regnum);
if (name == 0)
{
- strcpy (buf, "");
return;
}
pagination_enabled = 0;
old_stdout = gdb_stdout;
- stream = tui_sfileopen (buf_len);
+ stream = tui_sfileopen (256);
gdb_stdout = stream;
cleanups = make_cleanup (tui_restore_gdbout, (void*) old_stdout);
- gdbarch_print_registers_info (current_gdbarch, stream, deprecated_selected_frame,
- reg_num, 1);
-
- /* Save formatted output in the buffer. */
- p = tui_file_get_strbuf (stream);
- pos = 0;
- while (*p && *p == *name++ && buf_len)
+ if (TYPE_VECTOR (type) != 0 && 0)
{
- *buf++ = *p++;
- buf_len--;
- pos++;
+ char buf[MAX_REGISTER_SIZE];
+ int len;
+
+ len = register_size (current_gdbarch, regnum);
+ fprintf_filtered (stream, "%-14s ", name);
+ get_frame_register (frame, regnum, buf);
+ print_scalar_formatted (buf, type, 'f', len, stream);
}
- while (*p == ' ')
- p++;
- while (pos < 8 && buf_len)
+ else
{
- *buf++ = ' ';
- buf_len--;
- pos++;
+ gdbarch_print_registers_info (current_gdbarch, stream,
+ frame, regnum, 1);
}
- strncpy (buf, p, buf_len);
+
+ /* Save formatted output in the buffer. */
+ p = tui_file_get_strbuf (stream);
/* Remove the possible \n. */
- p = strchr (buf, '\n');
- if (p)
- *p = 0;
+ s = strrchr (p, '\n');
+ if (s && s[1] == 0)
+ *s = 0;
+ xfree (data_element->content);
+ data_element->content = xstrdup (p);
do_cleanups (cleanups);
}
-
-#define NUM_GENERAL_REGS 32
-/* Set the content of the data window to consist of the general
- registers. */
-static enum tui_status
-tui_set_general_regs_content (int refresh_values_only)
-{
- return (tui_set_regs_content (0,
- NUM_GENERAL_REGS - 1,
- deprecated_selected_frame,
- TUI_GENERAL_REGS,
- refresh_values_only));
-
-}
-
-
-#ifndef PCOQ_HEAD_REGNUM
-#define START_SPECIAL_REGS 0
-#else
-#define START_SPECIAL_REGS PCOQ_HEAD_REGNUM
-#endif
-
-/* Set the content of the data window to consist of the special
- registers. */
+/* Get the register value from the given frame and format it for
+ the display. When changep is set, check if the new register value
+ has changed with respect to the previous call. */
static enum tui_status
-tui_set_special_regs_content (int refresh_values_only)
-{
- enum tui_status ret = TUI_FAILURE;
- int end_reg_num;
-
- end_reg_num = FP0_REGNUM - 1;
- ret = tui_set_regs_content (START_SPECIAL_REGS,
- end_reg_num,
- deprecated_selected_frame,
- TUI_SPECIAL_REGS,
- refresh_values_only);
-
- return ret;
-}
-
-
-/* Set the content of the data window to consist of the special
- registers. */
-static enum tui_status
-tui_set_general_and_special_regs_content (int refresh_values_only)
-{
- enum tui_status ret = TUI_FAILURE;
- int end_reg_num = (-1);
-
- end_reg_num = FP0_REGNUM - 1;
- ret = tui_set_regs_content (
- 0, end_reg_num, deprecated_selected_frame, TUI_SPECIAL_REGS, refresh_values_only);
-
- return ret;
-}
-
-/* Set the content of the data window to consist of the float
- registers. */
-static enum tui_status
-tui_set_float_regs_content (enum tui_register_display_type dpy_type,
- int refresh_values_only)
-{
- enum tui_status ret = TUI_FAILURE;
- int start_reg_num;
-
- start_reg_num = FP0_REGNUM;
- ret = tui_set_regs_content (start_reg_num,
- NUM_REGS - 1,
- deprecated_selected_frame,
- dpy_type,
- refresh_values_only);
-
- return ret;
-}
-
-
-/* Answer TRUE if the register's value has changed, FALSE otherwise.
- If TRUE, new_value is filled in with the new value. */
-static int
-tui_reg_value_has_changed (struct tui_data_element * data_element,
- struct frame_info *frame, char *new_value)
-{
- int has_changed = FALSE;
-
- if (data_element->item_no != UNDEFINED_ITEM &&
- tui_register_name (data_element->item_no) != (char *) NULL)
- {
- char raw_buf[MAX_REGISTER_SIZE];
- int i;
-
- if (tui_get_register_raw_value (data_element->item_no, raw_buf, frame) == TUI_SUCCESS)
- {
- int size = DEPRECATED_REGISTER_RAW_SIZE (data_element->item_no);
-
- for (i = 0; (i < size && !has_changed); i++)
- has_changed = (((char *) data_element->value)[i] != raw_buf[i]);
- if (has_changed && new_value != (char *) NULL)
- {
- for (i = 0; i < size; i++)
- new_value[i] = raw_buf[i];
- }
- }
- }
- return has_changed;
-}
-
-
-
-/* Get the register raw value. The raw value is returned in reg_value. */
-static enum tui_status
-tui_get_register_raw_value (int reg_num, char *reg_value, struct frame_info *frame)
+tui_get_register (struct gdbarch *gdbarch, struct frame_info *frame,
+ struct tui_data_element *data, int regnum, int *changedp)
{
enum tui_status ret = TUI_FAILURE;
+ if (changedp)
+ *changedp = FALSE;
if (target_has_registers)
{
- get_frame_register (frame, reg_num, reg_value);
+ char buf[MAX_REGISTER_SIZE];
+
+ get_frame_register (frame, regnum, buf);
/* NOTE: cagney/2003-03-13: This is bogus. It is refering to
the register cache and not the frame which could have pulled
the register value off the stack. */
- if (register_cached (reg_num) >= 0)
- ret = TUI_SUCCESS;
- }
- return ret;
-}
-
-
-
-/* Function to initialize a data element with the input and the
- register value. */
-static void
-tui_set_register_element (int reg_num, struct frame_info *frame,
- struct tui_data_element * data_element,
- int refresh_value_only)
-{
- if (data_element != (struct tui_data_element *) NULL)
- {
- if (!refresh_value_only)
- {
- data_element->item_no = reg_num;
- data_element->name = tui_register_name (reg_num);
- data_element->highlight = FALSE;
- }
- if (data_element->value == NULL)
- data_element->value = xmalloc (MAX_REGISTER_SIZE);
- if (data_element->value != NULL)
- tui_get_register_raw_value (reg_num, data_element->value, frame);
- }
-}
-
-
-/* Set the content of the data window to consist of the registers
- numbered from start_reg_num to end_reg_num. Note that if
- refresh_values_only is TRUE, start_reg_num and end_reg_num are
- ignored. */
-static enum tui_status
-tui_set_regs_content (int start_reg_num, int end_reg_num,
- struct frame_info *frame,
- enum tui_register_display_type dpy_type,
- int refresh_values_only)
-{
- enum tui_status ret = TUI_FAILURE;
- int num_regs = end_reg_num - start_reg_num + 1;
- int allocated_here = FALSE;
-
- if (TUI_DATA_WIN->detail.data_display_info.regs_content_count > 0 &&
- !refresh_values_only)
- {
- tui_free_data_content (TUI_DATA_WIN->detail.data_display_info.regs_content,
- TUI_DATA_WIN->detail.data_display_info.regs_content_count);
- TUI_DATA_WIN->detail.data_display_info.regs_content_count = 0;
- }
- if (TUI_DATA_WIN->detail.data_display_info.regs_content_count <= 0)
- {
- TUI_DATA_WIN->detail.data_display_info.regs_content =
- tui_alloc_content (num_regs, DATA_WIN);
- allocated_here = TRUE;
- }
-
- if (TUI_DATA_WIN->detail.data_display_info.regs_content != (tui_win_content) NULL)
- {
- int i;
-
- if (!refresh_values_only || allocated_here)
- {
- TUI_DATA_WIN->generic.content = NULL;
- TUI_DATA_WIN->generic.content_size = 0;
- tui_add_content_elements (&TUI_DATA_WIN->generic, num_regs);
- TUI_DATA_WIN->detail.data_display_info.regs_content =
- (tui_win_content) TUI_DATA_WIN->generic.content;
- TUI_DATA_WIN->detail.data_display_info.regs_content_count = num_regs;
- }
- /*
- ** Now set the register names and values
- */
- for (i = start_reg_num; (i <= end_reg_num); i++)
- {
- struct tui_gen_win_info * data_item_win;
-
- data_item_win = &TUI_DATA_WIN->detail.data_display_info.
- regs_content[i - start_reg_num]->which_element.data_window;
- tui_set_register_element (
- i,
- frame,
- &((struct tui_win_element *) data_item_win->content[0])->which_element.data,
- !allocated_here && refresh_values_only);
- }
- TUI_DATA_WIN->detail.data_display_info.regs_column_count =
- tui_calculate_regs_column_count (dpy_type);
-#ifdef LATER
- if (TUI_DATA_WIN->detail.data_display_info.data_content_count > 0)
- {
- /* delete all the windows? */
- /* realloc content equal to data_content_count + regs_content_count */
- /* append TUI_DATA_WIN->detail.data_display_info.data_content to content */
- }
-#endif
- TUI_DATA_WIN->generic.content_size =
- TUI_DATA_WIN->detail.data_display_info.regs_content_count +
- TUI_DATA_WIN->detail.data_display_info.data_content_count;
- ret = TUI_SUCCESS;
+ if (register_cached (regnum) >= 0)
+ {
+ if (changedp)
+ {
+ int size = register_size (gdbarch, regnum);
+ char *old = (char*) data->value;
+ int i;
+
+ for (i = 0; i < size; i++)
+ if (buf[i] != old[i])
+ {
+ *changedp = TRUE;
+ old[i] = buf[i];
+ }
+ }
+
+ /* Reformat the data content if the value changed. */
+ if (changedp == 0 || *changedp == TRUE)
+ tui_register_format (gdbarch, frame, data, regnum);
+ ret = TUI_SUCCESS;
+ }
}
-
return ret;
}
-
-/* Function to display a register in a window. If hilite is TRUE,
- than the value will be displayed in reverse video. */
-static void
-tui_display_register (int reg_num,
- struct tui_gen_win_info * win_info, /* the data item window */
- enum precision_type precision)
-{
- if (win_info->handle != (WINDOW *) NULL)
- {
- int i;
- char buf[40];
- int value_chars_wide;
- struct tui_data_element * data_element_ptr = &((tui_win_content)
- win_info->content)[0]->which_element.data;
-
- /* Do not rename the following variable into "label_width".
- Unfortunately, term.h on AiX systems defines a macro with
- the same name, which causes a build failure if we use the
- same name for this variable. */
- int tui_label_width;
-
- if (IS_64BIT ||
- TUI_DATA_WIN->detail.data_display_info.regs_display_type == TUI_DFLOAT_REGS)
- {
- value_chars_wide = DOUBLE_FLOAT_VALUE_WIDTH;
- tui_label_width = DOUBLE_FLOAT_LABEL_WIDTH;
- }
- else
- {
- if (TUI_DATA_WIN->detail.data_display_info.regs_display_type ==
- TUI_SFLOAT_REGS)
- {
- value_chars_wide = SINGLE_FLOAT_VALUE_WIDTH;
- tui_label_width = SINGLE_FLOAT_LABEL_WIDTH;
- }
- else
- {
- value_chars_wide = SINGLE_VALUE_WIDTH;
- tui_label_width = SINGLE_LABEL_WIDTH;
- }
- }
-
- buf[0] = (char) 0;
- tui_register_format (buf,
- value_chars_wide + tui_label_width,
- reg_num,
- data_element_ptr,
- precision);
-
- if (data_element_ptr->highlight)
- wstandout (win_info->handle);
-
- wmove (win_info->handle, 0, 0);
- for (i = 1; i < win_info->width; i++)
- waddch (win_info->handle, ' ');
- wmove (win_info->handle, 0, 0);
- waddstr (win_info->handle, buf);
-
- if (data_element_ptr->highlight)
- wstandend (win_info->handle);
- tui_refresh_win (win_info);
- }
-}
-
-
-static void
-tui_v_show_registers_command_support (enum tui_register_display_type dpy_type)
-{
-
- if (TUI_DATA_WIN != NULL && TUI_DATA_WIN->generic.is_visible)
- { /* Data window already displayed, show the registers */
- if (TUI_DATA_WIN->detail.data_display_info.regs_display_type != dpy_type)
- tui_show_registers (dpy_type);
- }
- else
- (tui_layout_def ())->regs_display_type = dpy_type;
-
- return;
-}
-
-
-static void
-tui_show_float_command (char *arg, int from_tty)
-{
- if (TUI_DATA_WIN == NULL || !TUI_DATA_WIN->generic.is_visible ||
- (TUI_DATA_WIN->detail.data_display_info.regs_display_type != TUI_SFLOAT_REGS &&
- TUI_DATA_WIN->detail.data_display_info.regs_display_type != TUI_DFLOAT_REGS))
- tui_v_show_registers_command_support ((tui_layout_def ())->float_regs_display_type);
-}
-
-
-static void
-tui_show_general_command (char *arg, int from_tty)
-{
- tui_v_show_registers_command_support (TUI_GENERAL_REGS);
-}
-
-
-static void
-tui_show_special_command (char *arg, int from_tty)
-{
- tui_v_show_registers_command_support (TUI_SPECIAL_REGS);
-}
-
-
-static void
-_tui_toggle_float_regs_command (char *arg, int from_tty)
-{
- if (TUI_DATA_WIN != NULL && TUI_DATA_WIN->generic.is_visible)
- tui_toggle_float_regs ();
- else
- {
- struct tui_layout_def * layout_def = tui_layout_def ();
-
- if (layout_def->float_regs_display_type == TUI_SFLOAT_REGS)
- layout_def->float_regs_display_type = TUI_DFLOAT_REGS;
- else
- layout_def->float_regs_display_type = TUI_SFLOAT_REGS;
- }
-}
-
-
static void
tui_scroll_regs_forward_command (char *arg, int from_tty)
{
diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h
index c4de1239c05..01e2fba1b6d 100644
--- a/gdb/tui/tui-regs.h
+++ b/gdb/tui/tui-regs.h
@@ -28,14 +28,12 @@
#include "tui/tui-data.h" /* For struct tui_register_display_type. */
extern void tui_check_register_values (struct frame_info *);
-extern void tui_show_registers (enum tui_register_display_type);
+extern void tui_show_registers (struct reggroup *group);
extern void tui_display_registers_from (int);
extern int tui_display_registers_from_line (int, int);
extern int tui_last_regs_line_no (void);
extern int tui_first_reg_element_inline (int);
extern int tui_line_from_reg_element_no (int);
-extern void tui_toggle_float_regs (void);
-extern int tui_calculate_regs_column_count (enum tui_register_display_type);
extern int tui_first_reg_element_no_inline (int lineno);
#endif
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index 846e0b4c321..1c67baa8b01 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -290,6 +290,26 @@ show_tui_cmd (char *args, int from_tty)
{
}
+static struct cmd_list_element *tuilist;
+
+static void
+tui_command (char *args, int from_tty)
+{
+ printf_unfiltered ("\"tui\" must be followed by the name of a "
+ "tui command.\n");
+ help_list (tuilist, "tui ", -1, gdb_stdout);
+}
+
+struct cmd_list_element **
+tui_get_cmd_list ()
+{
+ if (tuilist == 0)
+ add_prefix_cmd ("tui", class_tui, tui_command,
+ "Text User Interface commands.",
+ &tuilist, "tui ", 0, &cmdlist);
+ return &tuilist;
+}
+
/* Function to initialize gdb commands, for tui window manipulation. */
void
_initialize_tui_win (void)
@@ -300,10 +320,6 @@ _initialize_tui_win (void)
/* Define the classes of commands.
They will appear in the help list in the reverse of this order. */
- add_cmd ("tui", class_tui, NULL,
- "Text User Interface commands.",
- &cmdlist);
-
add_prefix_cmd ("tui", class_tui, set_tui_cmd,
"TUI configuration variables",
&tui_setlist, "set tui ",
@@ -602,6 +618,9 @@ tui_resize_all (void)
enum tui_win_type win_type;
int new_height, split_diff, cmd_split_diff, num_wins_displayed = 2;
+#ifdef HAVE_RESIZE_TERM
+ resize_term (screenheight, screenwidth);
+#endif
/* turn keypad off while we resize */
if (win_with_focus != TUI_CMD_WIN)
keypad (TUI_CMD_WIN->generic.handle, FALSE);
@@ -680,10 +699,6 @@ tui_resize_all (void)
new_height = first_win->generic.height + split_diff;
make_invisible_and_set_new_height (first_win, new_height);
- if (first_win == TUI_DATA_WIN && width_diff != 0)
- first_win->detail.data_display_info.regs_column_count =
- tui_calculate_regs_column_count (
- first_win->detail.data_display_info.regs_display_type);
locator->width += width_diff;
/* Change the second window's height/width */
diff --git a/gdb/tui/tui-win.h b/gdb/tui/tui-win.h
index b76998ca03d..1e9b86f441c 100644
--- a/gdb/tui/tui-win.h
+++ b/gdb/tui/tui-win.h
@@ -53,4 +53,7 @@ extern int tui_update_variables (void);
/* Update gdb's knowledge of the terminal size. */
extern void tui_update_gdb_sizes (void);
+/* Create or get the TUI command list. */
+struct cmd_list_element **tui_get_cmd_list ();
+
#endif
diff --git a/gdb/user-regs.c b/gdb/user-regs.c
index 9de177f2843..b611d601919 100644
--- a/gdb/user-regs.c
+++ b/gdb/user-regs.c
@@ -110,7 +110,7 @@ user_reg_add (struct gdbarch *gdbarch, const char *name,
/* ULGH, called during architecture initialization. Patch
things up. */
regs = user_regs_init (gdbarch);
- set_gdbarch_data (gdbarch, user_regs_data, regs);
+ deprecated_set_gdbarch_data (gdbarch, user_regs_data, regs);
}
append_user_reg (regs, name, read,
GDBARCH_OBSTACK_ZALLOC (gdbarch, struct user_reg));
@@ -207,5 +207,5 @@ extern initialize_file_ftype _initialize_user_regs; /* -Wmissing-prototypes */
void
_initialize_user_regs (void)
{
- user_regs_data = register_gdbarch_data (user_regs_init);
+ user_regs_data = gdbarch_data_register_post_init (user_regs_init);
}
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c
index c4c5978eed2..948143cc2c0 100644
--- a/gdb/v850-tdep.c
+++ b/gdb/v850-tdep.c
@@ -885,7 +885,7 @@ v850_pop_frame (void)
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame),
get_frame_base (frame),
get_frame_base (frame)))
- generic_pop_dummy_frame ();
+ deprecated_pop_dummy_frame ();
else
{
write_register (E_PC_REGNUM, DEPRECATED_FRAME_SAVED_PC (frame));
diff --git a/gdb/version.in b/gdb/version.in
index cf3662ce1f1..81a2d2c5111 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-6.0.90_2004-03-12-cvs
+2004-03-23-cvs
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index 33c8b4ef0c3..9e7b016f1c6 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -326,7 +326,7 @@ xstormy16_pop_frame (void)
if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (fi), get_frame_base (fi),
get_frame_base (fi)))
{
- generic_pop_dummy_frame ();
+ deprecated_pop_dummy_frame ();
}
else
{
diff --git a/include/ChangeLog b/include/ChangeLog
index 37c6cfdadf1..7f600049a1b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,13 @@
+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.
@@ -537,8 +547,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>
@@ -783,8 +793,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>
@@ -842,7 +852,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>
@@ -913,7 +923,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>
@@ -922,12 +932,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>
@@ -961,16 +971,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>
@@ -981,7 +991,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>
@@ -1011,7 +1021,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>
@@ -1020,8 +1030,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>
@@ -1133,7 +1143,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>
@@ -1928,8 +1938,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 a989f64f4ca..cc2043e10ed 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/elf/ChangeLog b/include/elf/ChangeLog
index ea008d62423..385b857e384 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,15 @@
+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 181a9f0c5c9..158a4b55e4f 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/frv.h b/include/elf/frv.h
index 8246a21bd41..a6b8a7d145d 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/sh.h b/include/elf/sh.h
index 15d460d36b4..c46a5ff149f 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/opcode/ChangeLog b/include/opcode/ChangeLog
index 438c6d8ad11..ebde6b6164d 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,9 +1,25 @@
+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.
+
+2004-03-12 Michal Ludvig <mludvig@suse.cz>
+
+ * i386.h (i386_optab): Added xstore/xcrypt insns.
+
2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
* h8300.h (32bit ldc/stc): Add relaxing support.
2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
-
+
* h8300.h (BITOP): Pass MEMRELAX flag.
2004-01-09 Anil Paranjpe <anilp1@KPITCummins.com>
diff --git a/include/opcode/i386.h b/include/opcode/i386.h
index cb3a99a4e6f..5e3673e2b04 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} },
@@ -1361,6 +1361,15 @@ static const template i386_optab[] = {
{"sysret", 0, 0x0f07, X, CpuK6, lq_Suf|DefaultSize, { 0, 0, 0} },
{"swapgs", 0, 0x0f01, 0xf8, Cpu64, NoSuf|ImmExt, { 0, 0, 0} },
+/* VIA PadLock extensions. */
+{"xstorerng", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xcryptecb", 0, 0xf30fa7c8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xcryptcbc", 0, 0xf30fa7d0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xcryptcfb", 0, 0xf30fa7e0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xcryptofb", 0, 0xf30fa7e8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+/* alias for xstorerng */
+{"xstore", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+
/* sentinel */
{NULL, 0, 0, 0, 0, 0, { 0, 0, 0} }
};
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 342237e8dd6..d55caa7568f 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -1,5 +1,5 @@
/* ppc.h -- Header file for PowerPC opcode table
- Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003
+ Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
@@ -151,7 +151,7 @@ struct powerpc_operand
operand value into an instruction, check this field.
If it is NULL, execute
- i |= (op & ((1 << o->bits) - 1)) << o->shift;
+ i |= (op & ((1 << o->bits) - 1)) << o->shift;
(i is the instruction which we are filling in, o is a pointer to
this structure, and op is the opcode value; this assumes twos
complement arithmetic).
@@ -170,7 +170,7 @@ struct powerpc_operand
extract this operand type from an instruction, check this field.
If it is NULL, compute
- op = ((i) >> o->shift) & ((1 << o->bits) - 1);
+ op = ((i) >> o->shift) & ((1 << o->bits) - 1);
if ((o->flags & PPC_OPERAND_SIGNED) != 0
&& (op & (1 << (o->bits - 1))) != 0)
op -= 1 << o->bits;
@@ -233,17 +233,20 @@ extern const struct powerpc_operand powerpc_operands[];
register names with a leading 'r'. */
#define PPC_OPERAND_GPR (040)
+/* Like PPC_OPERAND_GPR, but don't print a leading 'r' for r0. */
+#define PPC_OPERAND_GPR_0 (0100)
+
/* This operand names a floating point register. The disassembler
prints these with a leading 'f'. */
-#define PPC_OPERAND_FPR (0100)
+#define PPC_OPERAND_FPR (0200)
/* This operand is a relative branch displacement. The disassembler
prints these symbolically if possible. */
-#define PPC_OPERAND_RELATIVE (0200)
+#define PPC_OPERAND_RELATIVE (0400)
/* This operand is an absolute branch address. The disassembler
prints these symbolically if possible. */
-#define PPC_OPERAND_ABSOLUTE (0400)
+#define PPC_OPERAND_ABSOLUTE (01000)
/* This operand is optional, and is zero if omitted. This is used for
the optional BF and L fields in the comparison instructions. The
@@ -251,7 +254,7 @@ extern const struct powerpc_operand powerpc_operands[];
and the number of operands remaining for the opcode, and decide
whether this operand is present or not. The disassembler should
print this operand out only if it is not zero. */
-#define PPC_OPERAND_OPTIONAL (01000)
+#define PPC_OPERAND_OPTIONAL (02000)
/* This flag is only used with PPC_OPERAND_OPTIONAL. If this operand
is omitted, then for the next operand use this operand value plus
@@ -259,24 +262,24 @@ extern const struct powerpc_operand powerpc_operands[];
hack is needed because the Power rotate instructions can take
either 4 or 5 operands. The disassembler should print this operand
out regardless of the PPC_OPERAND_OPTIONAL field. */
-#define PPC_OPERAND_NEXT (02000)
+#define PPC_OPERAND_NEXT (04000)
/* This operand should be regarded as a negative number for the
purposes of overflow checking (i.e., the normal most negative
number is disallowed and one more than the normal most positive
number is allowed). This flag will only be set for a signed
operand. */
-#define PPC_OPERAND_NEGATIVE (04000)
+#define PPC_OPERAND_NEGATIVE (010000)
/* This operand names a vector unit register. The disassembler
prints these with a leading 'v'. */
-#define PPC_OPERAND_VR (010000)
+#define PPC_OPERAND_VR (020000)
/* This operand is for the DS field in a DS form instruction. */
-#define PPC_OPERAND_DS (020000)
+#define PPC_OPERAND_DS (040000)
/* This operand is for the DQ field in a DQ form instruction. */
-#define PPC_OPERAND_DQ (040000)
+#define PPC_OPERAND_DQ (0100000)
/* The POWER and PowerPC assemblers use a few macros. We keep them
with the operands table for simplicity. The macro table is an
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index b9d6e73f89e..2dce4d82d02 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,29 @@
+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,
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index bbb5c2a7929..78cc4bca864 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 364cb41da7c..00000000000
--- 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 8e5071aec7b..99ee0826708 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
@@ -362,9 +359,11 @@
/* 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 2f65976692d..374d11b9321 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.
@@ -2030,7 +2063,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 +2096,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 +2115,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 +2136,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 +2226,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 +2253,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 +2303,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 +2322,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 +2349,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 +2365,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 +2381,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 +2408,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 +2435,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 +2462,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 +2498,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 +2525,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 +2553,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 +2582,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 +2599,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 +2626,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 +2644,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 +2670,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 +2684,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 +2719,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 +2729,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 +2741,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 +2762,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 +2779,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 +2826,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 +2836,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 +2848,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 +2869,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 +2886,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 +2946,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 +2996,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 +3039,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 +3101,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 +3128,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 +3148,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 +3162,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 +3188,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 +3219,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 +3239,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 +3261,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 +3281,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 +3308,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 +3356,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 +3376,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 +3416,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 +3439,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 +3456,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 +3464,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
;;
@@ -3413,7 +3547,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 +3564,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 +3597,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 +3623,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 +3650,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 +3668,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 +3688,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 +3715,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 +3734,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 +3750,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 +3777,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 +3811,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 +3831,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 +3858,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 +3884,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 +3908,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 +3919,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 +3932,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 +3957,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 +3982,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 +3991,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 +4008,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 +4042,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 +4061,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 +4088,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
@@ -3941,7 +4117,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 +4136,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 +4163,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 +4324,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 +4370,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 +4397,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 +4445,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 +4574,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 +4706,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 +4762,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 +4785,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 +4811,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 +4822,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 +4845,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 +4872,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 +4900,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 +4946,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 +4973,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 +4984,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 +5002,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 +5039,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 +5085,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 +5112,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 +5137,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 +5179,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 +5201,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 +5218,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 +5261,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 +5307,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 +5334,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 +5365,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 +5390,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 +5423,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 +5544,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 +5552,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 +5579,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 +5607,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 +5653,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 +5680,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 +5691,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 +5719,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 +5765,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 +5792,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 +5819,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 +5835,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 +5862,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 +5885,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 +5901,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 +5935,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 +5952,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 +5998,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 +6025,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 +6044,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 +6075,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 +6102,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 +6144,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 +6161,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 +6203,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 +6249,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 +6276,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 +6298,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 +6405,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 +6450,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 +6475,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 +6562,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
@@ -6175,13 +6630,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 +6666,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 +6683,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 +6727,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 +6749,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 +6928,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 +6965,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 +7009,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 +7028,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 +7307,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 +7327,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 +7357,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 +7398,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 +7458,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 +7467,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 +7526,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 +7540,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 +7558,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 +7603,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 +7619,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 +7634,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 +7661,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 +7695,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 +7714,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 +7749,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 +7809,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 e8907e708c8..39bfb51e416 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
@@ -433,7 +434,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 +450,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 +465,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 +508,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 +518,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 +529,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/pex-common.h b/libiberty/pex-common.h
index da2f71e1247..df3c0f6519c 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 14fe71ed09c..ddbed8f4a05 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/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index 6e00d1416d7..4d515fab534 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/opcodes/ChangeLog b/opcodes/ChangeLog
index 783165bee73..947ee4f6d60 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,95 @@
+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>
+
+ * ppc-dis.c (print_insn_powerpc): Don't print tabs. Handle
+ PPC_OPERANDS_GPR_0.
+ * ppc-opc.c (RA0): Define.
+ (RAQ, RAL, RAM, RAS, RSQ, RTQ, RSO): Use PPC_OPERAND_GPR_0.
+ (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-12 Michal Ludvig <mludvig@suse.cz>
+
+ * i386-dis.c (GRPPLOCK): Delete.
+ (grps): Delete GRPPLOCK entry.
+
+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.
+ (GRPPADLCK): Define.
+ (dis386): Use NOP_Fixup on "nop".
+ (dis386_twobyte): Use GRPPADLCK on opcode 0xa7.
+ (twobyte_has_modrm): Set for 0xa7.
+ (padlock_table): Delete. Move to..
+ (grps): ..here, using OP_0f07. Use OP_Ofae on lfence, mfence
+ and clflush.
+ (print_insn): Revert PADLOCK_SPECIAL code.
+ (OP_E): Delete sfence, lfence, mfence checks.
+
+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 Michal Ludvig <mludvig@suse.cz>
+
+ * i386-dis.c (PADLOCK_SPECIAL, PADLOCK_0): New defines.
+ (dis386_twobyte): Opcode 0xa7 is PADLOCK_0.
+ (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.
@@ -17,8 +109,8 @@
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.
+
+ * ppc-opc.c (powerpc_opcodes): Change mask for dcbt and dcbtst.
2004-02-20 Aldy Hernandez <aldyh@redhat.com>
@@ -29,13 +121,13 @@
* 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.
+
+ * 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.
+
+ * ppc-opc.c (powerpc_opcodes): Add mfmcar.
2004-02-10 Petko Manolov <petkan@nucleusys.com>
diff --git a/opcodes/aclocal.m4 b/opcodes/aclocal.m4
index 92732d34f68..a9b0b29cb05 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 5caef5503ed..1185e89fa7a 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 4a95a9a6060..6cff4e76e9f 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 145b56a2a79..98df36bf458 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 35659c7b420..7e0b3b424a8 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 f46c3f957c1..5a11f8d031e 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 b0f51bce0ab..81af34307dd 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 565f4f49a0e..03686f8bcfd 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 1560d207dce..2e307e03076 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 e166fa25615..dd343dea675 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/i386-dis.c b/opcodes/i386-dis.c
index f9a0a9b2c45..a71eb0c9105 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -1,6 +1,6 @@
/* Print i386 instructions for GDB, the GNU debugger.
Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2001, 2002, 2003 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
* July 1988
* modified by John Hassey (hassey@dg-rtp.dg.com)
* x86-64 support added by Jan Hubicka (jh@suse.cz)
+ * VIA PadLock support by Michal Ludvig (mludvig@suse.cz)
*/
/*
@@ -90,10 +91,15 @@ static void OP_EM (int, int);
static void OP_EX (int, int);
static void OP_MS (int, int);
static void OP_XS (int, int);
+static void OP_M (int, int);
+static void OP_0fae (int, int);
+static void OP_0f07 (int, int);
+static void NOP_Fixup (int, int);
static void OP_3DNowSuffix (int, int);
static void OP_SIMD_Suffix (int, int);
static void SIMD_Fixup (int, int);
static void PNI_Fixup (int, int);
+static void INVLPG_Fixup (int, int);
static void BadOp (void);
struct dis_private {
@@ -196,8 +202,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define indirEv OP_indirE, v_mode
#define Ew OP_E, w_mode
#define Ma OP_E, v_mode
-#define M OP_E, 0 /* lea, lgdt, etc. */
-#define Mp OP_E, 0 /* 32 or 48 bit memory operand for LDS, LES etc */
+#define M OP_M, 0 /* lea, lgdt, etc. */
+#define Mp OP_M, 0 /* 32 or 48 bit memory operand for LDS, LES etc */
#define Gb OP_G, b_mode
#define Gv OP_G, v_mode
#define Gd OP_G, d_mode
@@ -290,7 +296,6 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define EX OP_EX, v_mode
#define MS OP_MS, v_mode
#define XS OP_XS, v_mode
-#define None OP_E, 0
#define OPSUF OP_3DNowSuffix, 0
#define OPSIMD OP_SIMD_Suffix, 0
@@ -388,6 +393,7 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define GRP13 NULL, NULL, USE_GROUPS, NULL, 20, NULL, 0
#define GRP14 NULL, NULL, USE_GROUPS, NULL, 21, NULL, 0
#define GRPAMD NULL, NULL, USE_GROUPS, NULL, 22, NULL, 0
+#define GRPPADLCK NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0
#define PREGRP0 NULL, NULL, USE_PREFIX_USER_TABLE, NULL, 0, NULL, 0
#define PREGRP1 NULL, NULL, USE_PREFIX_USER_TABLE, NULL, 1, NULL, 0
@@ -631,8 +637,7 @@ static const struct dis386 dis386[] = {
{ "movQ", Sw, Ev, XX },
{ "popU", Ev, XX, XX },
/* 90 */
- { "nop", XX, XX, XX },
- /* FIXME: NOP with REPz prefix is called PAUSE. */
+ { "nop", NOP_Fixup, 0, XX, XX },
{ "xchgS", RMeCX, eAX, XX },
{ "xchgS", RMeDX, eAX, XX },
{ "xchgS", RMeBX, eAX, XX },
@@ -948,7 +953,7 @@ static const struct dis386 dis386_twobyte[] = {
{ "shldS", Ev, Gv, Ib },
{ "shldS", Ev, Gv, CL },
{ "(bad)", XX, XX, XX },
- { "(bad)", XX, XX, XX },
+ { GRPPADLCK },
/* a8 */
{ "pushT", gs, XX, XX },
{ "popT", gs, XX, XX },
@@ -1086,7 +1091,7 @@ static const unsigned char twobyte_has_modrm[256] = {
/* 70 */ 1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1, /* 7f */
/* 80 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 8f */
/* 90 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 9f */
- /* a0 */ 0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1, /* af */
+ /* a0 */ 0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1, /* af */
/* b0 */ 1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1, /* bf */
/* c0 */ 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, /* cf */
/* d0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* df */
@@ -1360,7 +1365,7 @@ static const struct dis386 grps[][8] = {
{ "smswQ", Ev, XX, XX },
{ "(bad)", XX, XX, XX },
{ "lmsw", Ew, XX, XX },
- { "invlpg", Ew, XX, XX },
+ { "invlpg", INVLPG_Fixup, w_mode, XX, XX },
},
/* GRP8 */
{
@@ -1424,10 +1429,9 @@ static const struct dis386 grps[][8] = {
{ "ldmxcsr", Ev, XX, XX },
{ "stmxcsr", Ev, XX, XX },
{ "(bad)", XX, XX, XX },
- { "lfence", None, XX, XX },
- { "mfence", None, XX, XX },
- { "sfence", None, XX, XX },
- /* FIXME: the sfence with memory operand is clflush! */
+ { "lfence", OP_0fae, 0, XX, XX },
+ { "mfence", OP_0fae, 0, XX, XX },
+ { "clflush", OP_0fae, 0, XX, XX },
},
/* GRP14 */
{
@@ -1450,6 +1454,17 @@ static const struct dis386 grps[][8] = {
{ "(bad)", XX, XX, XX },
{ "(bad)", XX, XX, XX },
{ "(bad)", XX, XX, XX },
+ },
+ /* GRPPADLCK */
+ {
+ { "xstorerng", OP_0f07, 0, XX, XX },
+ { "xcryptecb", OP_0f07, 0, XX, XX },
+ { "xcryptcbc", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "xcryptcfb", OP_0f07, 0, XX, XX },
+ { "xcryptofb", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
}
};
@@ -3034,10 +3049,6 @@ OP_E (int bytemode, int sizeflag)
used_prefixes |= (prefixes & PREFIX_DATA);
break;
case 0:
- if (!(codep[-2] == 0xAE && codep[-1] == 0xF8 /* sfence */)
- && !(codep[-2] == 0xAE && codep[-1] == 0xF0 /* mfence */)
- && !(codep[-2] == 0xAE && codep[-1] == 0xe8 /* lfence */))
- BadOp (); /* bad sfence,lea,lds,les,lfs,lgs,lss modrm */
break;
default:
oappend (INTERNAL_DISASSEMBLER_ERROR);
@@ -3940,6 +3951,55 @@ OP_XS (int bytemode, int sizeflag)
BadOp ();
}
+static void
+OP_M (int bytemode, int sizeflag)
+{
+ if (mod == 3)
+ BadOp (); /* bad lea,lds,les,lfs,lgs,lss modrm */
+ else
+ OP_E (bytemode, sizeflag);
+}
+
+static void
+OP_0f07 (int bytemode, int sizeflag)
+{
+ if (mod != 3 || rm != 0)
+ BadOp ();
+ else
+ OP_E (bytemode, sizeflag);
+}
+
+static void
+OP_0fae (int bytemode, int sizeflag)
+{
+ if (mod == 3)
+ {
+ if (reg == 7)
+ strcpy (obuf + strlen (obuf) - sizeof ("clflush") + 1, "sfence");
+
+ if (reg < 5 || rm != 0)
+ {
+ BadOp (); /* bad sfence, mfence, or lfence */
+ return;
+ }
+ }
+ else if (reg != 7)
+ {
+ BadOp (); /* bad clflush */
+ return;
+ }
+
+ OP_E (bytemode, sizeflag);
+}
+
+static void
+NOP_Fixup (int bytemode ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED)
+{
+ /* NOP with REPZ prefix is called PAUSE. */
+ if (prefixes == PREFIX_REPZ)
+ strcpy (obuf, "pause");
+}
+
static const char *const Suffix3DNow[] = {
/* 00 */ NULL, NULL, NULL, NULL,
/* 04 */ NULL, NULL, NULL, NULL,
@@ -4100,7 +4160,7 @@ SIMD_Fixup (int extrachar, int sizeflag ATTRIBUTE_UNUSED)
}
static void
-PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED)
+PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag)
{
if (mod == 3 && reg == 1)
{
@@ -4125,6 +4185,21 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED)
}
static void
+INVLPG_Fixup (int bytemode, int sizeflag)
+{
+ if (*codep == 0xf8)
+ {
+ char *p = obuf + strlen (obuf);
+
+ /* Override "invlpg". */
+ strcpy (p - 6, "swapgs");
+ codep++;
+ }
+ else
+ OP_E (bytemode, sizeflag);
+}
+
+static void
BadOp (void)
{
/* Throw away prefixes and 1st. opcode byte. */
diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in
index f16a87b428e..333c612130b 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 2914776e6ab..e8028230f5a 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 15fdff07f02..9ab879039dd 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-dis.c b/opcodes/ppc-dis.c
index 76af4e7af12..4d48b9d4b70 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -1,5 +1,5 @@
/* ppc-dis.c -- Disassemble PowerPC instructions
- Copyright 1994, 1995, 2000, 2001, 2002, 2003
+ Copyright 1994, 1995, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
@@ -191,9 +191,10 @@ print_insn_powerpc (bfd_vma memaddr,
continue;
/* The instruction is valid. */
- (*info->fprintf_func) (info->stream, "%s", opcode->name);
if (opcode->operands[0] != 0)
- (*info->fprintf_func) (info->stream, "\t");
+ (*info->fprintf_func) (info->stream, "%-7s ", opcode->name);
+ else
+ (*info->fprintf_func) (info->stream, "%s", opcode->name);
/* Now extract and print the operands. */
need_comma = 0;
@@ -235,7 +236,8 @@ print_insn_powerpc (bfd_vma memaddr,
}
/* Print the operand as directed by the flags. */
- if ((operand->flags & PPC_OPERAND_GPR) != 0)
+ if ((operand->flags & PPC_OPERAND_GPR) != 0
+ || ((operand->flags & PPC_OPERAND_GPR_0) != 0 && value != 0))
(*info->fprintf_func) (info->stream, "r%ld", value);
else if ((operand->flags & PPC_OPERAND_FPR) != 0)
(*info->fprintf_func) (info->stream, "f%ld", value);
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 9c65ff3a8a6..36fe454e254 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -1,5 +1,5 @@
/* ppc-opc.c -- PowerPC opcode list
- 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
@@ -362,34 +362,38 @@ const struct powerpc_operand powerpc_operands[] =
#define RA_MASK (0x1f << 16)
{ 5, 16, 0, 0, PPC_OPERAND_GPR },
- /* The RA field in the DQ form lq instruction, which has special
+ /* As above, but 0 in the RA field means zero, not r0. */
+#define RA0 RA + 1
+ { 5, 16, 0, 0, PPC_OPERAND_GPR_0 },
+
+ /* The RA field in the DQ form lq instruction, which has special
value restrictions. */
-#define RAQ RA + 1
- { 5, 16, insert_raq, 0, PPC_OPERAND_GPR },
+#define RAQ RA0 + 1
+ { 5, 16, insert_raq, 0, PPC_OPERAND_GPR_0 },
/* The RA field in a D or X form instruction which is an updating
load, which means that the RA field may not be zero and may not
equal the RT field. */
#define RAL RAQ + 1
- { 5, 16, insert_ral, 0, PPC_OPERAND_GPR },
+ { 5, 16, insert_ral, 0, PPC_OPERAND_GPR_0 },
/* The RA field in an lmw instruction, which has special value
restrictions. */
#define RAM RAL + 1
- { 5, 16, insert_ram, 0, PPC_OPERAND_GPR },
+ { 5, 16, insert_ram, 0, PPC_OPERAND_GPR_0 },
/* The RA field in a D or X form instruction which is an updating
store or an updating floating point load, which means that the RA
field may not be zero. */
#define RAS RAM + 1
- { 5, 16, insert_ras, 0, PPC_OPERAND_GPR },
+ { 5, 16, insert_ras, 0, PPC_OPERAND_GPR_0 },
/* The RA field of the tlbwe instruction, which is optional. */
-#define RAO RAS + 1
- { 5, 16, 0, 0, PPC_OPERAND_GPR|PPC_OPERAND_OPTIONAL },
+#define RAOPT RAS + 1
+ { 5, 16, 0, 0, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL },
/* The RB field in an X, XO, M, or MDS form instruction. */
-#define RB RAO + 1
+#define RB RAOPT + 1
#define RB_MASK (0x1f << 11)
{ 5, 11, 0, 0, PPC_OPERAND_GPR },
@@ -407,19 +411,19 @@ const struct powerpc_operand powerpc_operands[] =
#define RT_MASK (0x1f << 21)
{ 5, 21, 0, 0, PPC_OPERAND_GPR },
- /* The RS field of the DS form stq instruction, which has special
+ /* The RS field of the DS form stq instruction, which has special
value restrictions. */
#define RSQ RS + 1
- { 5, 21, insert_rsq, 0, PPC_OPERAND_GPR },
+ { 5, 21, insert_rsq, 0, PPC_OPERAND_GPR_0 },
/* The RT field of the DQ form lq instruction, which has special
value restrictions. */
#define RTQ RSQ + 1
- { 5, 21, insert_rtq, 0, PPC_OPERAND_GPR },
+ { 5, 21, insert_rtq, 0, PPC_OPERAND_GPR_0 },
/* The RS field of the tlbwe instruction, which is optional. */
#define RSO RTQ + 1
- { 5, 21, 0, 0, PPC_OPERAND_GPR|PPC_OPERAND_OPTIONAL },
+ { 5, 21, 0, 0, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL },
/* The SH field in an X or M form instruction. */
#define SH RSO + 1
@@ -1256,7 +1260,7 @@ insert_ram (unsigned long insn,
return insn | ((value & 0x1f) << 16);
}
-/* The RA field in the DQ form lq instruction, which has special
+/* The RA field in the DQ form lq instruction, which has special
value restrictions. */
static unsigned long
@@ -1326,7 +1330,7 @@ insert_rtq (unsigned long insn,
return insn | ((value & 0x1f) << 21);
}
-/* The RS field of the DS form stq instruction, which has special
+/* The RS field of the DS form stq instruction, which has special
value restrictions. */
static unsigned long
@@ -1478,11 +1482,11 @@ extract_tbr (unsigned long insn,
/* An Context form instruction. */
#define CTX(op, xop) (OP (op) | (((unsigned long)(xop)) & 0x7))
-#define CTX_MASK CTX(0x3f, 0x7)
+#define CTX_MASK CTX(0x3f, 0x7)
/* An User Context form instruction. */
#define UCTX(op, xop) (OP (op) | (((unsigned long)(xop)) & 0x1f))
-#define UCTX_MASK UCTX(0x3f, 0x1f)
+#define UCTX_MASK UCTX(0x3f, 0x1f)
/* The main opcode mask with the RA field clear. */
#define DRA_MASK (OP_MASK | RA_MASK)
@@ -2373,16 +2377,16 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "li", OP(14), DRA_MASK, PPCCOM, { RT, SI } },
{ "lil", OP(14), DRA_MASK, PWRCOM, { RT, SI } },
-{ "addi", OP(14), OP_MASK, PPCCOM, { RT, RA, SI } },
-{ "cal", OP(14), OP_MASK, PWRCOM, { RT, D, RA } },
-{ "subi", OP(14), OP_MASK, PPCCOM, { RT, RA, NSI } },
-{ "la", OP(14), OP_MASK, PPCCOM, { RT, D, RA } },
+{ "addi", OP(14), OP_MASK, PPCCOM, { RT, RA0, SI } },
+{ "cal", OP(14), OP_MASK, PWRCOM, { RT, D, RA0 } },
+{ "subi", OP(14), OP_MASK, PPCCOM, { RT, RA0, NSI } },
+{ "la", OP(14), OP_MASK, PPCCOM, { RT, D, RA0 } },
{ "lis", OP(15), DRA_MASK, PPCCOM, { RT, SISIGNOPT } },
{ "liu", OP(15), DRA_MASK, PWRCOM, { RT, SISIGNOPT } },
-{ "addis", OP(15), OP_MASK, PPCCOM, { RT,RA,SISIGNOPT } },
-{ "cau", OP(15), OP_MASK, PWRCOM, { RT,RA,SISIGNOPT } },
-{ "subis", OP(15), OP_MASK, PPCCOM, { RT, RA, NSI } },
+{ "addis", OP(15), OP_MASK, PPCCOM, { RT,RA0,SISIGNOPT } },
+{ "cau", OP(15), OP_MASK, PWRCOM, { RT,RA0,SISIGNOPT } },
+{ "subis", OP(15), OP_MASK, PPCCOM, { RT, RA0, NSI } },
{ "bdnz-", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, { BDM } },
{ "bdnz+", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, { BDP } },
@@ -3215,14 +3219,14 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfcr", X(31,19), XRARB_MASK, NOPOWER4, { RT } },
{ "mfcr", X(31,19), XFXFXM_MASK, POWER4, { RT, FXM4 } },
-{ "lwarx", X(31,20), X_MASK, PPC, { RT, RA, RB } },
+{ "lwarx", X(31,20), X_MASK, PPC, { RT, RA0, RB } },
-{ "ldx", X(31,21), X_MASK, PPC64, { RT, RA, RB } },
+{ "ldx", X(31,21), X_MASK, PPC64, { RT, RA0, RB } },
{ "icbt", X(31,22), X_MASK, BOOKE, { CT, RA, RB } },
{ "icbt", X(31,262), XRT_MASK, PPC403, { RA, RB } },
-{ "lwzx", X(31,23), X_MASK, PPCCOM, { RT, RA, RB } },
+{ "lwzx", X(31,23), X_MASK, PPCCOM, { RT, RA0, RB } },
{ "lx", X(31,23), X_MASK, PWRCOM, { RT, RA, RB } },
{ "slw", XRC(31,24,0), X_MASK, PPCCOM, { RA, RS, RB } },
@@ -3246,7 +3250,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "icbte", X(31,30), X_MASK, BOOKE64, { CT, RA, RB } },
-{ "lwzxe", X(31,31), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "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 } },
@@ -3308,15 +3312,15 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfmsr", X(31,83), XRARB_MASK, COM, { RT } },
-{ "ldarx", X(31,84), X_MASK, PPC64, { RT, RA, RB } },
+{ "ldarx", X(31,84), X_MASK, PPC64, { RT, RA0, RB } },
{ "dcbf", X(31,86), XRT_MASK, PPC, { RA, RB } },
-{ "lbzx", X(31,87), X_MASK, COM, { RT, RA, RB } },
+{ "lbzx", X(31,87), X_MASK, COM, { RT, RA0, RB } },
{ "dcbfe", X(31,94), XRT_MASK, BOOKE64, { RA, RB } },
-{ "lbzxe", X(31,95), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lbzxe", X(31,95), X_MASK, BOOKE64, { RT, RA0, RB } },
{ "neg", XO(31,104,0,0), XORB_MASK, COM, { RT, RA } },
{ "neg.", XO(31,104,0,1), XORB_MASK, COM, { RT, RA } },
@@ -3339,7 +3343,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "not.", XRC(31,124,1), X_MASK, COM, { RA, RS, RBS } },
{ "nor.", XRC(31,124,1), X_MASK, COM, { RA, RS, RB } },
-{ "lwarxe", X(31,126), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lwarxe", X(31,126), X_MASK, BOOKE64, { RT, RA0, RB } },
{ "lbzuxe", X(31,127), X_MASK, BOOKE64, { RT, RAL, RB } },
@@ -3372,16 +3376,16 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mtmsr", X(31,146), XRARB_MASK, COM, { RS } },
-{ "stdx", X(31,149), X_MASK, PPC64, { RS, RA, RB } },
+{ "stdx", X(31,149), X_MASK, PPC64, { RS, RA0, RB } },
-{ "stwcx.", XRC(31,150,1), X_MASK, PPC, { RS, RA, RB } },
+{ "stwcx.", XRC(31,150,1), X_MASK, PPC, { RS, RA0, RB } },
-{ "stwx", X(31,151), X_MASK, PPCCOM, { RS, RA, RB } },
+{ "stwx", X(31,151), X_MASK, PPCCOM, { RS, RA0, RB } },
{ "stx", X(31,151), X_MASK, PWRCOM, { RS, RA, RB } },
-{ "stwcxe.", XRC(31,158,1), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "stwcxe.", XRC(31,158,1), X_MASK, BOOKE64, { RS, RA0, RB } },
-{ "stwxe", X(31,159), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "stwxe", X(31,159), X_MASK, BOOKE64, { RS, RA0, RB } },
{ "slq", XRC(31,152,0), X_MASK, M601, { RA, RS, RB } },
{ "slq.", XRC(31,152,1), X_MASK, M601, { RA, RS, RB } },
@@ -3399,7 +3403,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "stdux", X(31,181), X_MASK, PPC64, { RS, RAS, RB } },
{ "stwux", X(31,183), X_MASK, PPCCOM, { RS, RAS, RB } },
-{ "stux", X(31,183), X_MASK, PWRCOM, { RS, RA, RB } },
+{ "stux", X(31,183), X_MASK, PWRCOM, { RS, RA0, RB } },
{ "sliq", XRC(31,184,0), X_MASK, M601, { RA, RS, SH } },
{ "sliq.", XRC(31,184,1), X_MASK, M601, { RA, RS, SH } },
@@ -3426,9 +3430,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mtsr", X(31,210), XRB_MASK|(1<<20), COM32, { SR, RS } },
-{ "stdcx.", XRC(31,214,1), X_MASK, PPC64, { RS, RA, RB } },
+{ "stdcx.", XRC(31,214,1), X_MASK, PPC64, { RS, RA0, RB } },
-{ "stbx", X(31,215), X_MASK, COM, { RS, RA, RB } },
+{ "stbx", X(31,215), X_MASK, COM, { RS, RA0, RB } },
{ "sllq", XRC(31,216,0), X_MASK, M601, { RA, RS, RB } },
{ "sllq.", XRC(31,216,1), X_MASK, M601, { RA, RS, RB } },
@@ -3436,7 +3440,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "sleq", XRC(31,217,0), X_MASK, M601, { RA, RS, RB } },
{ "sleq.", XRC(31,217,1), X_MASK, M601, { RA, RS, RB } },
-{ "stbxe", X(31,223), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "stbxe", X(31,223), X_MASK, BOOKE64, { RS, RA0, RB } },
{ "icblc", X(31,230), X_MASK, PPCCHLK, { CT, RA, RB }},
@@ -3512,17 +3516,17 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "dcbt", X(31,278), X_MASK, PPC, { CT, RA, RB } },
-{ "lhzx", X(31,279), X_MASK, COM, { RT, RA, RB } },
+{ "lhzx", X(31,279), X_MASK, COM, { RT, RA0, RB } },
{ "eqv", XRC(31,284,0), X_MASK, COM, { RA, RS, RB } },
{ "eqv.", XRC(31,284,1), X_MASK, COM, { RA, RS, RB } },
{ "dcbte", X(31,286), X_MASK, BOOKE64, { CT, RA, RB } },
-{ "lhzxe", X(31,287), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lhzxe", X(31,287), X_MASK, BOOKE64, { RT, RA0, RB } },
{ "tlbie", X(31,306), XRTLRA_MASK, PPC, { RB, L } },
-{ "tlbi", X(31,306), XRT_MASK, POWER, { RA, RB } },
+{ "tlbi", X(31,306), XRT_MASK, POWER, { RA0, RB } },
{ "eciwx", X(31,310), X_MASK, PPC, { RT, RA, RB } },
@@ -3619,9 +3623,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfvrsave", XSPR(31,339,256), XSPR_MASK, PPCVEC, { RT } },
{ "mfusprg0", XSPR(31,339,256), XSPR_MASK, BOOKE, { RT } },
{ "mfsprg4", XSPR(31,339,260), XSPR_MASK, PPC405, { RT } },
+{ "mfsprg4", XSPR(31,339,260), XSPR_MASK, BOOKE, { RT } },
{ "mfsprg5", XSPR(31,339,261), XSPR_MASK, PPC405, { RT } },
+{ "mfsprg5", XSPR(31,339,261), XSPR_MASK, BOOKE, { RT } },
{ "mfsprg6", XSPR(31,339,262), XSPR_MASK, PPC405, { RT } },
+{ "mfsprg6", XSPR(31,339,262), XSPR_MASK, BOOKE, { RT } },
{ "mfsprg7", XSPR(31,339,263), XSPR_MASK, PPC405, { RT } },
+{ "mfsprg7", XSPR(31,339,263), XSPR_MASK, BOOKE, { RT } },
{ "mftb", X(31,371), X_MASK, CLASSIC, { RT, TBR } },
{ "mftb", XSPR(31,339,268), XSPR_MASK, BOOKE, { RT } },
{ "mftbl", XSPR(31,371,268), XSPR_MASK, CLASSIC, { RT } },
@@ -3764,14 +3772,14 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfpbu2", XSPR(31,339,1023), XSPR_MASK, PPC403, { RT } },
{ "mfspr", X(31,339), X_MASK, COM, { RT, SPR } },
-{ "lwax", X(31,341), X_MASK, PPC64, { RT, RA, RB } },
+{ "lwax", X(31,341), X_MASK, PPC64, { RT, RA0, RB } },
{ "dst", XDSS(31,342,0), XDSS_MASK, PPCVEC, { RA, RB, STRM } },
{ "dstt", XDSS(31,342,1), XDSS_MASK, PPCVEC, { RA, RB, STRM } },
-{ "lhax", X(31,343), X_MASK, COM, { RT, RA, RB } },
+{ "lhax", X(31,343), X_MASK, COM, { RT, RA0, RB } },
-{ "lhaxe", X(31,351), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lhaxe", X(31,351), X_MASK, BOOKE64, { RT, RA0, RB } },
{ "dstst", XDSS(31,374,0), XDSS_MASK, PPCVEC, { RA, RB, STRM } },
{ "dststt", XDSS(31,374,1), XDSS_MASK, PPCVEC, { RA, RB, STRM } },
@@ -3810,7 +3818,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "slbmte", X(31,402), XRA_MASK, PPC64, { RS, RB } },
-{ "sthx", X(31,407), X_MASK, COM, { RS, RA, RB } },
+{ "sthx", X(31,407), X_MASK, COM, { RS, RA0, RB } },
{ "lfqx", X(31,791), X_MASK, POWER2, { FRT, RA, RB } },
@@ -3826,7 +3834,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "sradi", XS(31,413,0), XS_MASK, PPC64, { RA, RS, SH6 } },
{ "sradi.", XS(31,413,1), XS_MASK, PPC64, { RA, RS, SH6 } },
-{ "sthxe", X(31,415), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "sthxe", X(31,415), X_MASK, BOOKE64, { RS, RA0, RB } },
{ "slbie", X(31,434), XRTRA_MASK, PPC64, { RB } },
@@ -4094,13 +4102,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "clcs", X(31,531), XRB_MASK, M601, { RT, RA } },
-{ "lswx", X(31,533), X_MASK, PPCCOM, { RT, RA, RB } },
+{ "lswx", X(31,533), X_MASK, PPCCOM, { RT, RA0, RB } },
{ "lsx", X(31,533), X_MASK, PWRCOM, { RT, RA, RB } },
-{ "lwbrx", X(31,534), X_MASK, PPCCOM, { RT, RA, RB } },
+{ "lwbrx", X(31,534), X_MASK, PPCCOM, { RT, RA0, RB } },
{ "lbrx", X(31,534), X_MASK, PWRCOM, { RT, RA, RB } },
-{ "lfsx", X(31,535), X_MASK, COM, { FRT, RA, RB } },
+{ "lfsx", X(31,535), X_MASK, COM, { FRT, RA0, RB } },
{ "srw", XRC(31,536,0), X_MASK, PPCCOM, { RA, RS, RB } },
{ "sr", XRC(31,536,0), X_MASK, PWRCOM, { RA, RS, RB } },
@@ -4116,11 +4124,12 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "maskir", XRC(31,541,0), X_MASK, M601, { RA, RS, RB } },
{ "maskir.", XRC(31,541,1), X_MASK, M601, { RA, RS, RB } },
-{ "lwbrxe", X(31,542), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lwbrxe", X(31,542), X_MASK, BOOKE64, { RT, RA0, RB } },
-{ "lfsxe", X(31,543), X_MASK, BOOKE64, { FRT, RA, RB } },
+{ "lfsxe", X(31,543), X_MASK, BOOKE64, { FRT, RA0, RB } },
{ "bbelr", X(31,550), X_MASK, PPCBRLK, { 0 }},
+
{ "tlbsync", X(31,566), 0xffffffff, PPC, { 0 } },
{ "lfsux", X(31,567), X_MASK, COM, { FRT, RAS, RB } },
@@ -4129,8 +4138,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfsr", X(31,595), XRB_MASK|(1<<20), COM32, { RT, SR } },
-{ "lswi", X(31,597), X_MASK, PPCCOM, { RT, RA, NB } },
-{ "lsi", X(31,597), X_MASK, PWRCOM, { RT, RA, NB } },
+{ "lswi", X(31,597), X_MASK, PPCCOM, { RT, RA0, NB } },
+{ "lsi", X(31,597), X_MASK, PWRCOM, { RT, RA0, NB } },
{ "lwsync", XSYNC(31,598,1), 0xffffffff, PPC, { 0 } },
{ "ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, { 0 } },
@@ -4138,9 +4147,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "sync", X(31,598), XSYNC_MASK, PPCCOM, { LS } },
{ "dcs", X(31,598), 0xffffffff, PWRCOM, { 0 } },
-{ "lfdx", X(31,599), X_MASK, COM, { FRT, RA, RB } },
+{ "lfdx", X(31,599), X_MASK, COM, { FRT, RA0, RB } },
-{ "lfdxe", X(31,607), X_MASK, BOOKE64, { FRT, RA, RB } },
+{ "lfdxe", X(31,607), X_MASK, BOOKE64, { FRT, RA0, RB } },
{ "mfsri", X(31,627), X_MASK, PWRCOM, { RT, RA, RB } },
@@ -4152,13 +4161,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "mfsrin", X(31,659), XRA_MASK, PPC32, { RT, RB } },
-{ "stswx", X(31,661), X_MASK, PPCCOM, { RS, RA, RB } },
-{ "stsx", X(31,661), X_MASK, PWRCOM, { RS, RA, RB } },
+{ "stswx", X(31,661), X_MASK, PPCCOM, { RS, RA0, RB } },
+{ "stsx", X(31,661), X_MASK, PWRCOM, { RS, RA0, RB } },
-{ "stwbrx", X(31,662), X_MASK, PPCCOM, { RS, RA, RB } },
-{ "stbrx", X(31,662), X_MASK, PWRCOM, { RS, RA, RB } },
+{ "stwbrx", X(31,662), X_MASK, PPCCOM, { RS, RA0, RB } },
+{ "stbrx", X(31,662), X_MASK, PWRCOM, { RS, RA0, RB } },
-{ "stfsx", X(31,663), X_MASK, COM, { FRS, RA, RB } },
+{ "stfsx", X(31,663), X_MASK, COM, { FRS, RA0, RB } },
{ "srq", XRC(31,664,0), X_MASK, M601, { RA, RS, RB } },
{ "srq.", XRC(31,664,1), X_MASK, M601, { RA, RS, RB } },
@@ -4166,9 +4175,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "sre", XRC(31,665,0), X_MASK, M601, { RA, RS, RB } },
{ "sre.", XRC(31,665,1), X_MASK, M601, { RA, RS, RB } },
-{ "stwbrxe", X(31,670), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "stwbrxe", X(31,670), X_MASK, BOOKE64, { RS, RA0, RB } },
-{ "stfsxe", X(31,671), X_MASK, BOOKE64, { FRS, RA, RB } },
+{ "stfsxe", X(31,671), X_MASK, BOOKE64, { FRS, RA0, RB } },
{ "stfsux", X(31,695), X_MASK, COM, { FRS, RAS, RB } },
@@ -4177,10 +4186,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "stfsuxe", X(31,703), X_MASK, BOOKE64, { FRS, RAS, RB } },
-{ "stswi", X(31,725), X_MASK, PPCCOM, { RS, RA, NB } },
-{ "stsi", X(31,725), X_MASK, PWRCOM, { RS, RA, NB } },
+{ "stswi", X(31,725), X_MASK, PPCCOM, { RS, RA0, NB } },
+{ "stsi", X(31,725), X_MASK, PWRCOM, { RS, RA0, NB } },
-{ "stfdx", X(31,727), X_MASK, COM, { FRS, RA, RB } },
+{ "stfdx", X(31,727), X_MASK, COM, { FRS, RA0, RB } },
{ "srlq", XRC(31,728,0), X_MASK, M601, { RA, RS, RB } },
{ "srlq.", XRC(31,728,1), X_MASK, M601, { RA, RS, RB } },
@@ -4188,7 +4197,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "sreq", XRC(31,729,0), X_MASK, M601, { RA, RS, RB } },
{ "sreq.", XRC(31,729,1), X_MASK, M601, { RA, RS, RB } },
-{ "stfdxe", X(31,735), X_MASK, BOOKE64, { FRS, RA, RB } },
+{ "stfdxe", X(31,735), X_MASK, BOOKE64, { FRS, RA0, RB } },
{ "dcba", X(31,758), XRT_MASK, PPC405 | BOOKE, { RA, RB } },
@@ -4204,7 +4213,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "tlbivax", X(31,786), XRT_MASK, BOOKE, { RA, RB } },
{ "tlbivaxe",X(31,787), XRT_MASK, BOOKE64, { RA, RB } },
-{ "lhbrx", X(31,790), X_MASK, COM, { RT, RA, RB } },
+{ "lhbrx", X(31,790), X_MASK, COM, { RT, RA0, RB } },
{ "sraw", XRC(31,792,0), X_MASK, PPCCOM, { RA, RS, RB } },
{ "sra", XRC(31,792,0), X_MASK, PWRCOM, { RA, RS, RB } },
@@ -4214,10 +4223,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "srad", XRC(31,794,0), X_MASK, PPC64, { RA, RS, RB } },
{ "srad.", XRC(31,794,1), X_MASK, PPC64, { RA, RS, RB } },
-{ "lhbrxe", X(31,798), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "lhbrxe", X(31,798), X_MASK, BOOKE64, { RT, RA0, RB } },
-{ "ldxe", X(31,799), X_MASK, BOOKE64, { RT, RA, RB } },
-{ "lduxe", X(31,831), X_MASK, BOOKE64, { RT, RA, RB } },
+{ "ldxe", X(31,799), X_MASK, BOOKE64, { RT, RA0, RB } },
+{ "lduxe", X(31,831), X_MASK, BOOKE64, { RT, RA0, RB } },
{ "rac", X(31,818), X_MASK, PWRCOM, { RT, RA, RB } },
@@ -4243,7 +4252,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "slbmfee", X(31,915), XRA_MASK, PPC64, { RT, RB } },
-{ "sthbrx", X(31,918), X_MASK, COM, { RS, RA, RB } },
+{ "sthbrx", X(31,918), X_MASK, COM, { RS, RA0, RB } },
{ "sraq", XRC(31,920,0), X_MASK, M601, { RA, RS, RB } },
{ "sraq.", XRC(31,920,1), X_MASK, M601, { RA, RS, RB } },
@@ -4256,9 +4265,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "extsh.", XRC(31,922,1), XRB_MASK, PPCCOM, { RA, RS } },
{ "exts.", XRC(31,922,1), XRB_MASK, PWRCOM, { RA, RS } },
-{ "sthbrxe", X(31,926), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "sthbrxe", X(31,926), X_MASK, BOOKE64, { RS, RA0, RB } },
-{ "stdxe", X(31,927), X_MASK, BOOKE64, { RS, RA, RB } },
+{ "stdxe", X(31,927), X_MASK, BOOKE64, { RS, RA0, RB } },
{ "tlbrehi", XTLB(31,946,0), XTLB_MASK, PPC403, { RT, RA } },
{ "tlbrelo", XTLB(31,946,1), XTLB_MASK, PPC403, { RT, RA } },
@@ -4277,12 +4286,12 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "tlbwehi", XTLB(31,978,0), XTLB_MASK, PPC403, { RT, RA } },
{ "tlbwelo", XTLB(31,978,1), XTLB_MASK, PPC403, { RT, RA } },
-{ "tlbwe", X(31,978), X_MASK, PPC403|BOOKE, { RSO, RAO, SHO } },
+{ "tlbwe", X(31,978), X_MASK, PPC403|BOOKE, { RSO, RAOPT, SHO } },
{ "tlbld", X(31,978), XRTRA_MASK, PPC, { RB } },
{ "icbi", X(31,982), XRT_MASK, PPC, { RA, RB } },
-{ "stfiwx", X(31,983), X_MASK, PPC, { FRS, RA, RB } },
+{ "stfiwx", X(31,983), X_MASK, PPC, { FRS, RA0, RB } },
{ "extsw", XRC(31,986,0), XRB_MASK, PPC64 | BOOKE64,{ RA, RS } },
{ "extsw.", XRC(31,986,1), XRB_MASK, PPC64, { RA, RS } },
@@ -4290,7 +4299,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "icread", X(31,998), XRT_MASK, PPC403|PPC440, { RA, RB } },
{ "icbie", X(31,990), XRT_MASK, BOOKE64, { RA, RB } },
-{ "stfiwxe", X(31,991), X_MASK, BOOKE64, { FRS, RA, RB } },
+{ "stfiwxe", X(31,991), X_MASK, BOOKE64, { FRS, RA0, RB } },
{ "tlbli", X(31,1010), XRTRA_MASK, PPC, { RB } },
@@ -4312,86 +4321,86 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "stvx", X(31, 231), X_MASK, PPCVEC, { VS, RA, RB } },
{ "stvxl", X(31, 487), X_MASK, PPCVEC, { VS, RA, RB } },
-{ "lwz", OP(32), OP_MASK, PPCCOM, { RT, D, RA } },
-{ "l", OP(32), OP_MASK, PWRCOM, { RT, D, RA } },
+{ "lwz", OP(32), OP_MASK, PPCCOM, { RT, D, RA0 } },
+{ "l", OP(32), OP_MASK, PWRCOM, { RT, D, RA0 } },
{ "lwzu", OP(33), OP_MASK, PPCCOM, { RT, D, RAL } },
-{ "lu", OP(33), OP_MASK, PWRCOM, { RT, D, RA } },
+{ "lu", OP(33), OP_MASK, PWRCOM, { RT, D, RA0 } },
-{ "lbz", OP(34), OP_MASK, COM, { RT, D, RA } },
+{ "lbz", OP(34), OP_MASK, COM, { RT, D, RA0 } },
{ "lbzu", OP(35), OP_MASK, COM, { RT, D, RAL } },
-{ "stw", OP(36), OP_MASK, PPCCOM, { RS, D, RA } },
-{ "st", OP(36), OP_MASK, PWRCOM, { RS, D, RA } },
+{ "stw", OP(36), OP_MASK, PPCCOM, { RS, D, RA0 } },
+{ "st", OP(36), OP_MASK, PWRCOM, { RS, D, RA0 } },
{ "stwu", OP(37), OP_MASK, PPCCOM, { RS, D, RAS } },
-{ "stu", OP(37), OP_MASK, PWRCOM, { RS, D, RA } },
+{ "stu", OP(37), OP_MASK, PWRCOM, { RS, D, RA0 } },
-{ "stb", OP(38), OP_MASK, COM, { RS, D, RA } },
+{ "stb", OP(38), OP_MASK, COM, { RS, D, RA0 } },
{ "stbu", OP(39), OP_MASK, COM, { RS, D, RAS } },
-{ "lhz", OP(40), OP_MASK, COM, { RT, D, RA } },
+{ "lhz", OP(40), OP_MASK, COM, { RT, D, RA0 } },
{ "lhzu", OP(41), OP_MASK, COM, { RT, D, RAL } },
-{ "lha", OP(42), OP_MASK, COM, { RT, D, RA } },
+{ "lha", OP(42), OP_MASK, COM, { RT, D, RA0 } },
{ "lhau", OP(43), OP_MASK, COM, { RT, D, RAL } },
-{ "sth", OP(44), OP_MASK, COM, { RS, D, RA } },
+{ "sth", OP(44), OP_MASK, COM, { RS, D, RA0 } },
{ "sthu", OP(45), OP_MASK, COM, { RS, D, RAS } },
{ "lmw", OP(46), OP_MASK, PPCCOM, { RT, D, RAM } },
-{ "lm", OP(46), OP_MASK, PWRCOM, { RT, D, RA } },
+{ "lm", OP(46), OP_MASK, PWRCOM, { RT, D, RA0 } },
-{ "stmw", OP(47), OP_MASK, PPCCOM, { RS, D, RA } },
-{ "stm", OP(47), OP_MASK, PWRCOM, { RS, D, RA } },
+{ "stmw", OP(47), OP_MASK, PPCCOM, { RS, D, RA0 } },
+{ "stm", OP(47), OP_MASK, PWRCOM, { RS, D, RA0 } },
-{ "lfs", OP(48), OP_MASK, COM, { FRT, D, RA } },
+{ "lfs", OP(48), OP_MASK, COM, { FRT, D, RA0 } },
{ "lfsu", OP(49), OP_MASK, COM, { FRT, D, RAS } },
-{ "lfd", OP(50), OP_MASK, COM, { FRT, D, RA } },
+{ "lfd", OP(50), OP_MASK, COM, { FRT, D, RA0 } },
{ "lfdu", OP(51), OP_MASK, COM, { FRT, D, RAS } },
-{ "stfs", OP(52), OP_MASK, COM, { FRS, D, RA } },
+{ "stfs", OP(52), OP_MASK, COM, { FRS, D, RA0 } },
{ "stfsu", OP(53), OP_MASK, COM, { FRS, D, RAS } },
-{ "stfd", OP(54), OP_MASK, COM, { FRS, D, RA } },
+{ "stfd", OP(54), OP_MASK, COM, { FRS, D, RA0 } },
{ "stfdu", OP(55), OP_MASK, COM, { FRS, D, RAS } },
{ "lq", OP(56), OP_MASK, POWER4, { RTQ, DQ, RAQ } },
-{ "lfq", OP(56), OP_MASK, POWER2, { FRT, D, RA } },
+{ "lfq", OP(56), OP_MASK, POWER2, { FRT, D, RA0 } },
-{ "lfqu", OP(57), OP_MASK, POWER2, { FRT, D, RA } },
+{ "lfqu", OP(57), OP_MASK, POWER2, { FRT, D, RA0 } },
-{ "lbze", DEO(58,0), DE_MASK, BOOKE64, { RT, DE, RA } },
+{ "lbze", DEO(58,0), DE_MASK, BOOKE64, { RT, DE, RA0 } },
{ "lbzue", DEO(58,1), DE_MASK, BOOKE64, { RT, DE, RAL } },
-{ "lhze", DEO(58,2), DE_MASK, BOOKE64, { RT, DE, RA } },
+{ "lhze", DEO(58,2), DE_MASK, BOOKE64, { RT, DE, RA0 } },
{ "lhzue", DEO(58,3), DE_MASK, BOOKE64, { RT, DE, RAL } },
-{ "lhae", DEO(58,4), DE_MASK, BOOKE64, { RT, DE, RA } },
+{ "lhae", DEO(58,4), DE_MASK, BOOKE64, { RT, DE, RA0 } },
{ "lhaue", DEO(58,5), DE_MASK, BOOKE64, { RT, DE, RAL } },
-{ "lwze", DEO(58,6), DE_MASK, BOOKE64, { RT, DE, RA } },
+{ "lwze", DEO(58,6), DE_MASK, BOOKE64, { RT, DE, RA0 } },
{ "lwzue", DEO(58,7), DE_MASK, BOOKE64, { RT, DE, RAL } },
-{ "stbe", DEO(58,8), DE_MASK, BOOKE64, { RS, DE, RA } },
+{ "stbe", DEO(58,8), DE_MASK, BOOKE64, { RS, DE, RA0 } },
{ "stbue", DEO(58,9), DE_MASK, BOOKE64, { RS, DE, RAS } },
-{ "sthe", DEO(58,10), DE_MASK, BOOKE64, { RS, DE, RA } },
+{ "sthe", DEO(58,10), DE_MASK, BOOKE64, { RS, DE, RA0 } },
{ "sthue", DEO(58,11), DE_MASK, BOOKE64, { RS, DE, RAS } },
-{ "stwe", DEO(58,14), DE_MASK, BOOKE64, { RS, DE, RA } },
+{ "stwe", DEO(58,14), DE_MASK, BOOKE64, { RS, DE, RA0 } },
{ "stwue", DEO(58,15), DE_MASK, BOOKE64, { RS, DE, RAS } },
-{ "ld", DSO(58,0), DS_MASK, PPC64, { RT, DS, RA } },
+{ "ld", DSO(58,0), DS_MASK, PPC64, { RT, DS, RA0 } },
{ "ldu", DSO(58,1), DS_MASK, PPC64, { RT, DS, RAL } },
-{ "lwa", DSO(58,2), DS_MASK, PPC64, { RT, DS, RA } },
+{ "lwa", DSO(58,2), DS_MASK, PPC64, { RT, DS, RA0 } },
{ "fdivs", A(59,18,0), AFRC_MASK, PPC, { FRT, FRA, FRB } },
{ "fdivs.", A(59,18,1), AFRC_MASK, PPC, { FRT, FRA, FRB } },
@@ -4427,24 +4436,24 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "stfqu", OP(61), OP_MASK, POWER2, { FRS, D, RA } },
-{ "lde", DEO(62,0), DE_MASK, BOOKE64, { RT, DES, RA } },
-{ "ldue", DEO(62,1), DE_MASK, BOOKE64, { RT, DES, RA } },
-{ "lfse", DEO(62,4), DE_MASK, BOOKE64, { FRT, DES, RA } },
+{ "lde", DEO(62,0), DE_MASK, BOOKE64, { RT, DES, RA0 } },
+{ "ldue", DEO(62,1), DE_MASK, BOOKE64, { RT, DES, RA0 } },
+{ "lfse", DEO(62,4), DE_MASK, BOOKE64, { FRT, DES, RA0 } },
{ "lfsue", DEO(62,5), DE_MASK, BOOKE64, { FRT, DES, RAS } },
-{ "lfde", DEO(62,6), DE_MASK, BOOKE64, { FRT, DES, RA } },
+{ "lfde", DEO(62,6), DE_MASK, BOOKE64, { FRT, DES, RA0 } },
{ "lfdue", DEO(62,7), DE_MASK, BOOKE64, { FRT, DES, RAS } },
-{ "stde", DEO(62,8), DE_MASK, BOOKE64, { RS, DES, RA } },
+{ "stde", DEO(62,8), DE_MASK, BOOKE64, { RS, DES, RA0 } },
{ "stdue", DEO(62,9), DE_MASK, BOOKE64, { RS, DES, RAS } },
-{ "stfse", DEO(62,12), DE_MASK, BOOKE64, { FRS, DES, RA } },
+{ "stfse", DEO(62,12), DE_MASK, BOOKE64, { FRS, DES, RA0 } },
{ "stfsue", DEO(62,13), DE_MASK, BOOKE64, { FRS, DES, RAS } },
-{ "stfde", DEO(62,14), DE_MASK, BOOKE64, { FRS, DES, RA } },
+{ "stfde", DEO(62,14), DE_MASK, BOOKE64, { FRS, DES, RA0 } },
{ "stfdue", DEO(62,15), DE_MASK, BOOKE64, { FRS, DES, RAS } },
-{ "std", DSO(62,0), DS_MASK, PPC64, { RS, DS, RA } },
+{ "std", DSO(62,0), DS_MASK, PPC64, { RS, DS, RA0 } },
{ "stdu", DSO(62,1), DS_MASK, PPC64, { RS, DS, RAS } },
-{ "stq", DSO(62,2), DS_MASK, POWER4, { RSQ, DS, RA } },
+{ "stq", DSO(62,2), DS_MASK, POWER4, { RSQ, DS, RA0 } },
{ "fcmpu", X(63,0), X_MASK|(3<<21), COM, { BF, FRA, FRB } },
diff --git a/opcodes/sh-dis.c b/opcodes/sh-dis.c
index 2512f966d35..840823e0206 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);
diff --git a/opcodes/sh-opc.h b/opcodes/sh-opc.h
index 0ef1fab42a6..a1877b33ae7 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
@@ -188,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)
@@ -202,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;
@@ -297,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},
@@ -309,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},
@@ -319,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},
@@ -329,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},
@@ -384,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},
@@ -457,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},
@@ -482,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},
@@ -495,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},
@@ -567,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},
@@ -589,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},
diff --git a/opcodes/sparc-dis.c b/opcodes/sparc-dis.c
index c68df389cb1..6f360c66051 100644
--- a/opcodes/sparc-dis.c
+++ b/opcodes/sparc-dis.c
@@ -1,6 +1,6 @@
/* Print SPARC instructions.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2002, 2003 Free Software Foundation, Inc.
+ 2000, 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
@@ -224,7 +224,7 @@ print_insn_sparc (memaddr, info)
static int opcodes_initialized = 0;
/* bfd mach number of last call. */
static unsigned long current_mach = 0;
- bfd_vma (*getword) PARAMS ((const unsigned char *));
+ bfd_vma (*getword) (const void *);
if (!opcodes_initialized
|| info->mach != current_mach)
diff --git a/sim/ChangeLog b/sim/ChangeLog
index dec01dabdfe..27aba57cf5f 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,3 +1,7 @@
+2004-03-10 Ben Elliston <bje@gnu.org>
+
+ * MAINTAINERS: Update my mail address.
+
2004-01-26 Chris Demetriou <cgd@broadcom.com>
* configure.in (mips*-*-*): Configure in testsuite.
diff --git a/sim/MAINTAINERS b/sim/MAINTAINERS
index 6e057217ae5..1980b0ddb0f 100644
--- a/sim/MAINTAINERS
+++ b/sim/MAINTAINERS
@@ -16,7 +16,7 @@ ppc Andrew Cagney <ac131313@redhat.com>
m68hc11 Stephane Carrez <stcarrez@nerim.fr>
mips Chris Demetriou <cgd@broadcom.com>
sh (global maintainers)
-common Ben Elliston <bje@wasabisystems.com>
+common Ben Elliston <bje@gnu.org>
common Frank Ch. Eigler <fche@redhat.com>
* (target, then global maintainers)
diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog
index 68b33ec1b09..5c7c51ddd5a 100644
--- a/sim/frv/ChangeLog
+++ b/sim/frv/ChangeLog
@@ -1,3 +1,57 @@
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * Makefile.in (SIM_OBJS): Add profile-fr450.o.
+ (profile-fr450.o): New dependency.
+ (stamp-cpu): Add fr450 to the list of machs.
+ * sim-frv.h (SPR_IS_ACC): New macro.
+ (H_SPR_ACC4, H_SPR_ACC63, H_SPR_ACCG4, H_SPR_ACCG63): Delete.
+ * cache.c (frv_cache_init, non_cache_access): Handle bfd_mach_fr450.
+ * frv.c (check_register_alignment, check_fr_register_alignment)
+ (check_memory_alignment, do_media_average): Likewise.
+ (frvbf_clear_accumulators): Likewise. Use a mask of valid registers
+ rather than a consecutive range.
+ * interrupts.c (frv_queue_illegal_instruction_interrupt)
+ (frv_queue_non_implemented_instruction_interrupt): Handle
+ bfd_mach_fr450.
+ * memory.c (check_data_read_address, check_readwrite_address)
+ (check_insn_read_address, check_write_address): Likewise.
+ * mloop.in (@cpu@_simulate_insn_prefetch): Likewise.
+ * profile.c (reset_gr_flags, reset_fr_flags, reset_acc_flags)
+ (frvbf_model_insn_before, frvbf_model_insn_after): Likewise.
+ * profile-fr450.c: New file.
+ * registers.c (fr450_spr): New array.
+ (frv_register_control_init): Check its size. Use it for fr450.
+ (frv_check_register_access): Handle bfd_mach_fr450.
+ (frv_check_spr_read_access): Likewise. Generalize accumulator check.
+ * traps.c (frv_core_signal, frvbf_media_cr_not_aligned): Likewise.
+ (frvbf_media_acc_not_aligned): Likewise.
+ (frvbf_media_register_not_aligned): Likewise.
+ * arch.c: Regenerate.
+ * arch.h: Regenerate.
+ * cpu.h: Regenerate.
+ * cpuall.h: Regenerate.
+ * decode.h: Regenerate.
+ * model.c: Regenerate.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * cache.c (frv_cache_init): Change fr400 cache statistics to match
+ the fr405.
+ (non_cache_access): Add missing breaks.
+ * interrupts.c (set_exception_status_registers): Always set EAR15
+ for data_access_errors.
+ * memory.c (fr400_check_write_address): Remove redundant alignment
+ check.
+ * model.c: Regenerate.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * frv.c (frvbf_iacc_cut): Rework, taking rounding into account.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * decode.c, decode.h, model.c, sem.c: Regenerate.
+
2003-11-24 Kevin Buettner <kevinb@redhat.com>
* frv-sim.h (GR_REGNUM_MAX, FR_REGNUM_MAX, PC_REGNUM, SPR_REGNUM_MIN)
diff --git a/sim/frv/Makefile.in b/sim/frv/Makefile.in
index adc11caa962..c2bcb36e7c4 100644
--- a/sim/frv/Makefile.in
+++ b/sim/frv/Makefile.in
@@ -35,7 +35,7 @@ SIM_OBJS = \
sim-if.o arch.o \
$(FRV_OBJS) \
traps.o interrupts.o memory.o cache.o pipeline.o \
- profile.o profile-fr400.o profile-fr500.o profile-fr550.o options.o \
+ profile.o profile-fr400.o profile-fr450.o profile-fr500.o profile-fr550.o options.o \
devices.o reset.o registers.o \
$(CONFIG_DEVICES)
@@ -80,6 +80,7 @@ reset.o: reset.c $(FRVBF_INCLUDE_DEPS)
registers.o: registers.c $(FRVBF_INCLUDE_DEPS)
profile.o: profile.c profile-fr400.h profile-fr500.h profile-fr550.h $(FRVBF_INCLUDE_DEPS)
profile-fr400.o: profile-fr400.c profile-fr400.h $(FRVBF_INCLUDE_DEPS)
+profile-fr450.o: profile-fr450.c $(FRVBF_INCLUDE_DEPS)
profile-fr500.o: profile-fr500.c profile-fr500.h $(FRVBF_INCLUDE_DEPS)
profile-fr550.o: profile-fr550.c profile-fr550.h $(FRVBF_INCLUDE_DEPS)
sim-if.o: sim-if.c $(FRVBF_INCLUDE_DEPS) $(srcdir)/../common/sim-core.h eng.h
@@ -121,7 +122,7 @@ arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch
stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(srcdir)/../../cpu/frv.cpu
$(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \
- cpu=frvbf mach=frv,fr550,fr500,fr400,tomcat,simple SUFFIX= \
+ cpu=frvbf mach=frv,fr550,fr500,fr450,fr400,tomcat,simple SUFFIX= \
archfile=$(srcdir)/../../cpu/frv.cpu \
FLAGS="with-scache with-profile=fn with-generic-write with-parallel-only" \
EXTRAFILES="$(CGEN_CPU_SEM)"
diff --git a/sim/frv/arch.c b/sim/frv/arch.c
index d0ac82f8dd3..de377bd5ac3 100644
--- a/sim/frv/arch.c
+++ b/sim/frv/arch.c
@@ -43,6 +43,9 @@ const MACH *sim_machs[] =
& fr400_mach,
#endif
#ifdef HAVE_CPU_FRVBF
+ & fr450_mach,
+#endif
+#ifdef HAVE_CPU_FRVBF
& simple_mach,
#endif
0
diff --git a/sim/frv/arch.h b/sim/frv/arch.h
index 6f26965b4d2..1d8820193a3 100644
--- a/sim/frv/arch.h
+++ b/sim/frv/arch.h
@@ -30,7 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* Enum declaration for model types. */
typedef enum model_type {
MODEL_FRV, MODEL_FR550, MODEL_FR500, MODEL_TOMCAT
- , MODEL_FR400, MODEL_SIMPLE, MODEL_MAX
+ , MODEL_FR400, MODEL_FR450, MODEL_SIMPLE, MODEL_MAX
} MODEL_TYPE;
#define MAX_MODELS ((int) MODEL_MAX)
@@ -74,7 +74,19 @@ typedef enum unit_type {
, UNIT_FR400_U_SWAP, UNIT_FR400_U_FR_STORE, UNIT_FR400_U_FR_LOAD, UNIT_FR400_U_GR_STORE
, UNIT_FR400_U_GR_LOAD, UNIT_FR400_U_SET_HILO, UNIT_FR400_U_CHECK, UNIT_FR400_U_TRAP
, UNIT_FR400_U_BRANCH, UNIT_FR400_U_IDIV, UNIT_FR400_U_IMUL, UNIT_FR400_U_INTEGER
- , UNIT_FR400_U_EXEC, UNIT_SIMPLE_U_EXEC, UNIT_MAX
+ , UNIT_FR400_U_EXEC, UNIT_FR450_U_DCUL, UNIT_FR450_U_ICUL, UNIT_FR450_U_DCPL
+ , UNIT_FR450_U_ICPL, UNIT_FR450_U_DCF, UNIT_FR450_U_DCI, UNIT_FR450_U_ICI
+ , UNIT_FR450_U_MEMBAR, UNIT_FR450_U_BARRIER, UNIT_FR450_U_MEDIA_DUAL_HTOB, UNIT_FR450_U_MEDIA_DUAL_EXPAND
+ , UNIT_FR450_U_MEDIA_7, UNIT_FR450_U_MEDIA_6, UNIT_FR450_U_MEDIA_4_MCLRACCA, UNIT_FR450_U_MEDIA_4_ACC_DUAL
+ , UNIT_FR450_U_MEDIA_4_ACCG, UNIT_FR450_U_MEDIA_4, UNIT_FR450_U_MEDIA_3_QUAD, UNIT_FR450_U_MEDIA_3_DUAL
+ , UNIT_FR450_U_MEDIA_3, UNIT_FR450_U_MEDIA_2_ADD_SUB_DUAL, UNIT_FR450_U_MEDIA_2_ADD_SUB, UNIT_FR450_U_MEDIA_2_ACC_DUAL
+ , UNIT_FR450_U_MEDIA_2_ACC, UNIT_FR450_U_MEDIA_2_QUAD, UNIT_FR450_U_MEDIA_2, UNIT_FR450_U_MEDIA_HILO
+ , UNIT_FR450_U_MEDIA_1_QUAD, UNIT_FR450_U_MEDIA_1, UNIT_FR450_U_GR2SPR, UNIT_FR450_U_GR2FR
+ , UNIT_FR450_U_SPR2GR, UNIT_FR450_U_FR2GR, UNIT_FR450_U_SWAP, UNIT_FR450_U_FR_STORE
+ , UNIT_FR450_U_FR_LOAD, UNIT_FR450_U_GR_STORE, UNIT_FR450_U_GR_LOAD, UNIT_FR450_U_SET_HILO
+ , UNIT_FR450_U_CHECK, UNIT_FR450_U_TRAP, UNIT_FR450_U_BRANCH, UNIT_FR450_U_IDIV
+ , UNIT_FR450_U_IMUL, UNIT_FR450_U_INTEGER, UNIT_FR450_U_EXEC, UNIT_SIMPLE_U_EXEC
+ , UNIT_MAX
} UNIT_TYPE;
#define MAX_UNITS (1)
diff --git a/sim/frv/cache.c b/sim/frv/cache.c
index 7b2635b6d26..060568225ab 100644
--- a/sim/frv/cache.c
+++ b/sim/frv/cache.c
@@ -38,8 +38,9 @@ frv_cache_init (SIM_CPU *cpu, FRV_CACHE *cache)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
if (cache->configured_sets == 0)
- cache->configured_sets = 128;
+ cache->configured_sets = 512;
if (cache->configured_ways == 0)
cache->configured_ways = 2;
if (cache->line_size == 0)
@@ -205,9 +206,11 @@ non_cache_access (FRV_CACHE *cache, USI address)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
if (address >= 0xff000000
|| address >= 0xfe000000 && address <= 0xfeffffff)
return 1; /* non-cache access */
+ break;
case bfd_mach_fr550:
if (address >= 0xff000000
|| address >= 0xfeff0000 && address <= 0xfeffffff)
@@ -219,6 +222,7 @@ non_cache_access (FRV_CACHE *cache, USI address)
}
else if (address >= 0xfe400000 && address <= 0xfe407fff)
return 1; /* non-cache access */
+ break;
default:
if (address >= 0xff000000
|| address >= 0xfeff0000 && address <= 0xfeffffff)
@@ -230,6 +234,7 @@ non_cache_access (FRV_CACHE *cache, USI address)
}
else if (address >= 0xfe400000 && address <= 0xfe403fff)
return 1; /* non-cache access */
+ break;
}
hsr0 = GET_HSR0 ();
diff --git a/sim/frv/cpu.h b/sim/frv/cpu.h
index 6325368dfe8..62572673656 100644
--- a/sim/frv/cpu.h
+++ b/sim/frv/cpu.h
@@ -398,6 +398,19 @@ typedef struct {
} MODEL_FR400_DATA;
typedef struct {
+ DI prev_fp_load;
+ DI prev_fr_p4;
+ DI prev_fr_p6;
+ DI prev_acc_p2;
+ DI prev_acc_p4;
+ DI cur_fp_load;
+ DI cur_fr_p4;
+ DI cur_fr_p6;
+ DI cur_acc_p2;
+ DI cur_acc_p4;
+} MODEL_FR450_DATA;
+
+typedef struct {
int empty;
} MODEL_SIMPLE_DATA;
@@ -1263,6 +1276,23 @@ union sem_fields {
} sfmt_cmaddhss;
struct { /* */
UINT f_FRi;
+ UINT f_FRk;
+ UINT f_u6;
+ unsigned char in_FRintieven;
+ unsigned char in_FRintkeven;
+ unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
+ unsigned char in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
+ unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0;
+ unsigned char in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1;
+ unsigned char out_FRintieven;
+ unsigned char out_FRintkeven;
+ unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
+ unsigned char out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
+ unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0;
+ unsigned char out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1;
+ } sfmt_mqsllhi;
+ struct { /* */
+ UINT f_FRi;
UINT f_FRj;
UINT f_FRk;
unsigned char in_FRi;
@@ -3149,6 +3179,50 @@ struct scache {
f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
f_GRj_null = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
+#define EXTRACT_IFMT_LRAI_VARS \
+ UINT f_pack; \
+ UINT f_GRk; \
+ UINT f_op; \
+ UINT f_GRi; \
+ UINT f_ope1; \
+ UINT f_LRAE; \
+ UINT f_LRAD; \
+ UINT f_LRAS; \
+ UINT f_LRA_null; \
+ unsigned int length;
+#define EXTRACT_IFMT_LRAI_CODE \
+ length = 4; \
+ f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
+ f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
+ f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
+ f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
+ f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
+ f_LRAE = EXTRACT_LSB0_UINT (insn, 32, 5, 1); \
+ f_LRAD = EXTRACT_LSB0_UINT (insn, 32, 4, 1); \
+ f_LRAS = EXTRACT_LSB0_UINT (insn, 32, 3, 1); \
+ f_LRA_null = EXTRACT_LSB0_UINT (insn, 32, 2, 3); \
+
+#define EXTRACT_IFMT_TLBPR_VARS \
+ UINT f_pack; \
+ UINT f_TLBPR_null; \
+ UINT f_TLBPRopx; \
+ UINT f_TLBPRL; \
+ UINT f_op; \
+ UINT f_GRi; \
+ UINT f_ope1; \
+ UINT f_GRj; \
+ unsigned int length;
+#define EXTRACT_IFMT_TLBPR_CODE \
+ length = 4; \
+ f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
+ f_TLBPR_null = EXTRACT_LSB0_UINT (insn, 32, 30, 2); \
+ f_TLBPRopx = EXTRACT_LSB0_UINT (insn, 32, 28, 3); \
+ f_TLBPRL = EXTRACT_LSB0_UINT (insn, 32, 25, 1); \
+ f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
+ f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
+ f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
+ f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
+
#define EXTRACT_IFMT_COP1_VARS \
UINT f_pack; \
UINT f_CPRk; \
@@ -3836,6 +3910,23 @@ struct scache {
f_ope4 = EXTRACT_LSB0_UINT (insn, 32, 7, 2); \
f_FRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
+#define EXTRACT_IFMT_MQSLLHI_VARS \
+ UINT f_pack; \
+ UINT f_FRk; \
+ UINT f_op; \
+ UINT f_FRi; \
+ UINT f_ope1; \
+ UINT f_u6; \
+ unsigned int length;
+#define EXTRACT_IFMT_MQSLLHI_CODE \
+ length = 4; \
+ f_pack = EXTRACT_LSB0_UINT (insn, 32, 31, 1); \
+ f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6); \
+ f_op = EXTRACT_LSB0_UINT (insn, 32, 24, 7); \
+ f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6); \
+ f_ope1 = EXTRACT_LSB0_UINT (insn, 32, 11, 6); \
+ f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6); \
+
#define EXTRACT_IFMT_MADDACCS_VARS \
UINT f_pack; \
UINT f_ACC40Sk; \
diff --git a/sim/frv/cpuall.h b/sim/frv/cpuall.h
index 4d1cb6830f4..44b52b315a7 100644
--- a/sim/frv/cpuall.h
+++ b/sim/frv/cpuall.h
@@ -39,6 +39,7 @@ extern const MACH fr550_mach;
extern const MACH fr500_mach;
extern const MACH tomcat_mach;
extern const MACH fr400_mach;
+extern const MACH fr450_mach;
extern const MACH simple_mach;
#ifndef WANT_CPU
diff --git a/sim/frv/decode.c b/sim/frv/decode.c
index ef6be5ad614..620cbdfc766 100644
--- a/sim/frv/decode.c
+++ b/sim/frv/decode.c
@@ -223,22 +223,12 @@ static const struct insn_sem frvbf_insn_sem[] =
{ FRV_INSN_STHF, FRVBF_INSN_STHF, FRVBF_SFMT_STBF },
{ FRV_INSN_STF, FRVBF_INSN_STF, FRVBF_SFMT_STBF },
{ FRV_INSN_STC, FRVBF_INSN_STC, FRVBF_SFMT_STC },
- { FRV_INSN_RSTB, FRVBF_INSN_RSTB, FRVBF_SFMT_RSTB },
- { FRV_INSN_RSTH, FRVBF_INSN_RSTH, FRVBF_SFMT_RSTB },
- { FRV_INSN_RST, FRVBF_INSN_RST, FRVBF_SFMT_RSTB },
- { FRV_INSN_RSTBF, FRVBF_INSN_RSTBF, FRVBF_SFMT_RSTBF },
- { FRV_INSN_RSTHF, FRVBF_INSN_RSTHF, FRVBF_SFMT_RSTBF },
- { FRV_INSN_RSTF, FRVBF_INSN_RSTF, FRVBF_SFMT_RSTBF },
{ FRV_INSN_STD, FRVBF_INSN_STD, FRVBF_SFMT_STD },
{ FRV_INSN_STDF, FRVBF_INSN_STDF, FRVBF_SFMT_STDF },
{ FRV_INSN_STDC, FRVBF_INSN_STDC, FRVBF_SFMT_STDC },
- { FRV_INSN_RSTD, FRVBF_INSN_RSTD, FRVBF_SFMT_RSTD },
- { FRV_INSN_RSTDF, FRVBF_INSN_RSTDF, FRVBF_SFMT_RSTDF },
{ FRV_INSN_STQ, FRVBF_INSN_STQ, FRVBF_SFMT_LDQ },
{ FRV_INSN_STQF, FRVBF_INSN_STQF, FRVBF_SFMT_LDQF },
{ FRV_INSN_STQC, FRVBF_INSN_STQC, FRVBF_SFMT_LDQC },
- { FRV_INSN_RSTQ, FRVBF_INSN_RSTQ, FRVBF_SFMT_LDQ },
- { FRV_INSN_RSTQF, FRVBF_INSN_RSTQF, FRVBF_SFMT_LDQF },
{ FRV_INSN_STBU, FRVBF_INSN_STBU, FRVBF_SFMT_STBU },
{ FRV_INSN_STHU, FRVBF_INSN_STHU, FRVBF_SFMT_STBU },
{ FRV_INSN_STU, FRVBF_INSN_STU, FRVBF_SFMT_STBU },
@@ -578,6 +568,9 @@ static const struct insn_sem frvbf_insn_sem[] =
{ FRV_INSN_DCUL, FRVBF_INSN_DCUL, FRVBF_SFMT_ICUL },
{ FRV_INSN_BAR, FRVBF_INSN_BAR, FRVBF_SFMT_REI },
{ FRV_INSN_MEMBAR, FRVBF_INSN_MEMBAR, FRVBF_SFMT_REI },
+ { FRV_INSN_LRAI, FRVBF_INSN_LRAI, FRVBF_SFMT_REI },
+ { FRV_INSN_LRAD, FRVBF_INSN_LRAD, FRVBF_SFMT_REI },
+ { FRV_INSN_TLBPR, FRVBF_INSN_TLBPR, FRVBF_SFMT_REI },
{ FRV_INSN_COP1, FRVBF_INSN_COP1, FRVBF_SFMT_REI },
{ FRV_INSN_COP2, FRVBF_INSN_COP2, FRVBF_SFMT_REI },
{ FRV_INSN_CLRGR, FRVBF_INSN_CLRGR, FRVBF_SFMT_CLRGR },
@@ -725,6 +718,10 @@ static const struct insn_sem frvbf_insn_sem[] =
{ FRV_INSN_CMQADDHUS, FRVBF_INSN_CMQADDHUS, FRVBF_SFMT_CMQADDHSS },
{ FRV_INSN_CMQSUBHSS, FRVBF_INSN_CMQSUBHSS, FRVBF_SFMT_CMQADDHSS },
{ FRV_INSN_CMQSUBHUS, FRVBF_INSN_CMQSUBHUS, FRVBF_SFMT_CMQADDHSS },
+ { FRV_INSN_MQLCLRHS, FRVBF_INSN_MQLCLRHS, FRVBF_SFMT_MQSATHS },
+ { FRV_INSN_MQLMTHS, FRVBF_INSN_MQLMTHS, FRVBF_SFMT_MQSATHS },
+ { FRV_INSN_MQSLLHI, FRVBF_INSN_MQSLLHI, FRVBF_SFMT_MQSLLHI },
+ { FRV_INSN_MQSRAHI, FRVBF_INSN_MQSRAHI, FRVBF_SFMT_MQSLLHI },
{ FRV_INSN_MADDACCS, FRVBF_INSN_MADDACCS, FRVBF_SFMT_MADDACCS },
{ FRV_INSN_MSUBACCS, FRVBF_INSN_MSUBACCS, FRVBF_SFMT_MADDACCS },
{ FRV_INSN_MDADDACCS, FRVBF_INSN_MDADDACCS, FRVBF_SFMT_MDADDACCS },
@@ -1014,19 +1011,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
case 26 : itype = FRVBF_INSN_STFU; goto extract_sfmt_stbfu;
case 27 : itype = FRVBF_INSN_STDFU; goto extract_sfmt_stdfu;
case 28 : itype = FRVBF_INSN_STQFU; goto extract_sfmt_ldqfu;
- case 32 : itype = FRVBF_INSN_RSTB; goto extract_sfmt_rstb;
- case 33 : itype = FRVBF_INSN_RSTH; goto extract_sfmt_rstb;
- case 34 : itype = FRVBF_INSN_RST; goto extract_sfmt_rstb;
- case 35 : itype = FRVBF_INSN_RSTD; goto extract_sfmt_rstd;
- case 36 : itype = FRVBF_INSN_RSTQ; goto extract_sfmt_ldq;
+ case 32 : itype = FRVBF_INSN_LRAI; goto extract_sfmt_rei;
+ case 33 : itype = FRVBF_INSN_LRAD; goto extract_sfmt_rei;
+ case 36 : itype = FRVBF_INSN_TLBPR; goto extract_sfmt_rei;
case 37 : itype = FRVBF_INSN_STC; goto extract_sfmt_stc;
case 38 : itype = FRVBF_INSN_STDC; goto extract_sfmt_stdc;
case 39 : itype = FRVBF_INSN_STQC; goto extract_sfmt_ldqc;
- case 40 : itype = FRVBF_INSN_RSTBF; goto extract_sfmt_rstbf;
- case 41 : itype = FRVBF_INSN_RSTHF; goto extract_sfmt_rstbf;
- case 42 : itype = FRVBF_INSN_RSTF; goto extract_sfmt_rstbf;
- case 43 : itype = FRVBF_INSN_RSTDF; goto extract_sfmt_rstdf;
- case 44 : itype = FRVBF_INSN_RSTQF; goto extract_sfmt_ldqf;
case 45 : itype = FRVBF_INSN_STCU; goto extract_sfmt_stcu;
case 46 : itype = FRVBF_INSN_STDCU; goto extract_sfmt_stdcu;
case 47 : itype = FRVBF_INSN_STQCU; goto extract_sfmt_ldqcu;
@@ -1858,7 +1848,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
}
case 120 :
{
- unsigned int val = (((insn >> 7) & (1 << 4)) | ((insn >> 6) & (15 << 0)));
+ unsigned int val = (((insn >> 6) & (63 << 0)));
switch (val)
{
case 0 : itype = FRVBF_INSN_MQXMACHS; goto extract_sfmt_mqmachs;
@@ -1876,12 +1866,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
case 13 : itype = FRVBF_INSN_MCPLI; goto extract_sfmt_mcpli;
case 14 : itype = FRVBF_INSN_MDCUTSSI; goto extract_sfmt_mdcutssi;
case 15 : itype = FRVBF_INSN_MQSATHS; goto extract_sfmt_mqsaths;
- case 16 : itype = FRVBF_INSN_MHSETLOS; goto extract_sfmt_mhsetlos;
- case 17 : itype = FRVBF_INSN_MHSETLOH; goto extract_sfmt_mhsetloh;
- case 18 : itype = FRVBF_INSN_MHSETHIS; goto extract_sfmt_mhsethis;
- case 19 : itype = FRVBF_INSN_MHSETHIH; goto extract_sfmt_mhsethih;
- case 20 : itype = FRVBF_INSN_MHDSETS; goto extract_sfmt_mhdsets;
- case 21 : itype = FRVBF_INSN_MHDSETH; goto extract_sfmt_mhdseth;
+ case 16 : itype = FRVBF_INSN_MQLCLRHS; goto extract_sfmt_mqsaths;
+ case 17 : itype = FRVBF_INSN_MQSLLHI; goto extract_sfmt_mqsllhi;
+ case 19 : itype = FRVBF_INSN_MQSRAHI; goto extract_sfmt_mqsllhi;
+ case 20 : itype = FRVBF_INSN_MQLMTHS; goto extract_sfmt_mqsaths;
+ case 32 : itype = FRVBF_INSN_MHSETLOS; goto extract_sfmt_mhsetlos;
+ case 33 : itype = FRVBF_INSN_MHSETLOH; goto extract_sfmt_mhsetloh;
+ case 34 : itype = FRVBF_INSN_MHSETHIS; goto extract_sfmt_mhsethis;
+ case 35 : itype = FRVBF_INSN_MHSETHIH; goto extract_sfmt_mhsethih;
+ case 36 : itype = FRVBF_INSN_MHDSETS; goto extract_sfmt_mhdsets;
+ case 37 : itype = FRVBF_INSN_MHDSETH; goto extract_sfmt_mhdseth;
default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
}
}
@@ -4617,70 +4611,6 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
return idesc;
}
- extract_sfmt_rstb:
- {
- const IDESC *idesc = &frvbf_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cswap.f
- UINT f_GRk;
- UINT f_GRi;
- UINT f_GRj;
-
- f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
- f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
- f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_GRi) = f_GRi;
- FLD (f_GRj) = f_GRj;
- FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_GRi) = f_GRi;
- FLD (in_GRj) = f_GRj;
- FLD (in_GRk) = f_GRk;
- }
-#endif
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_rstbf:
- {
- const IDESC *idesc = &frvbf_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- UINT f_FRk;
- UINT f_GRi;
- UINT f_GRj;
-
- f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
- f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
- f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_FRk) = f_FRk;
- FLD (f_GRi) = f_GRi;
- FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstbf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_FRintk) = f_FRk;
- FLD (in_GRi) = f_GRi;
- FLD (in_GRj) = f_GRj;
- }
-#endif
-#undef FLD
- return idesc;
- }
-
extract_sfmt_std:
{
const IDESC *idesc = &frvbf_insn_data[itype];
@@ -4777,70 +4707,6 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
return idesc;
}
- extract_sfmt_rstd:
- {
- const IDESC *idesc = &frvbf_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- UINT f_GRk;
- UINT f_GRi;
- UINT f_GRj;
-
- f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
- f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
- f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_GRk) = f_GRk;
- FLD (f_GRi) = f_GRi;
- FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstd", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_GRdoublek) = f_GRk;
- FLD (in_GRi) = f_GRi;
- FLD (in_GRj) = f_GRj;
- }
-#endif
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_rstdf:
- {
- const IDESC *idesc = &frvbf_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- UINT f_FRk;
- UINT f_GRi;
- UINT f_GRj;
-
- f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
- f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
- f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_FRk) = f_FRk;
- FLD (f_GRi) = f_GRi;
- FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstdf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_FRdoublek) = f_FRk;
- FLD (in_GRi) = f_GRi;
- FLD (in_GRj) = f_GRj;
- }
-#endif
-#undef FLD
- return idesc;
- }
-
extract_sfmt_stbu:
{
const IDESC *idesc = &frvbf_insn_data[itype];
@@ -9607,6 +9473,47 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
return idesc;
}
+ extract_sfmt_mqsllhi:
+ {
+ const IDESC *idesc = &frvbf_insn_data[itype];
+ CGEN_INSN_INT insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ UINT f_FRk;
+ UINT f_FRi;
+ UINT f_u6;
+
+ f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
+ f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+ f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+ /* Record the fields for the semantic handler. */
+ FLD (f_FRi) = f_FRi;
+ FLD (f_FRk) = f_FRk;
+ FLD (f_u6) = f_u6;
+ TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+ /* Record the fields for profiling. */
+ if (PROFILE_MODEL_P (current_cpu))
+ {
+ FLD (in_FRintieven) = f_FRi;
+ FLD (in_FRintkeven) = f_FRk;
+ FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+ FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+ FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+ FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+ FLD (out_FRintieven) = f_FRi;
+ FLD (out_FRintkeven) = f_FRk;
+ FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+ FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+ FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+ FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+ }
+#endif
+#undef FLD
+ return idesc;
+ }
+
extract_sfmt_maddaccs:
{
const IDESC *idesc = &frvbf_insn_data[itype];
diff --git a/sim/frv/decode.h b/sim/frv/decode.h
index 9741d366092..e1f1cd4bea3 100644
--- a/sim/frv/decode.h
+++ b/sim/frv/decode.h
@@ -79,150 +79,149 @@ typedef enum frvbf_insn_type {
, FRVBF_INSN_NLDFI, FRVBF_INSN_LDDI, FRVBF_INSN_LDDFI, FRVBF_INSN_NLDDI
, FRVBF_INSN_NLDDFI, FRVBF_INSN_LDQI, FRVBF_INSN_LDQFI, FRVBF_INSN_NLDQFI
, FRVBF_INSN_STB, FRVBF_INSN_STH, FRVBF_INSN_ST, FRVBF_INSN_STBF
- , FRVBF_INSN_STHF, FRVBF_INSN_STF, FRVBF_INSN_STC, FRVBF_INSN_RSTB
- , FRVBF_INSN_RSTH, FRVBF_INSN_RST, FRVBF_INSN_RSTBF, FRVBF_INSN_RSTHF
- , FRVBF_INSN_RSTF, FRVBF_INSN_STD, FRVBF_INSN_STDF, FRVBF_INSN_STDC
- , FRVBF_INSN_RSTD, FRVBF_INSN_RSTDF, FRVBF_INSN_STQ, FRVBF_INSN_STQF
- , FRVBF_INSN_STQC, FRVBF_INSN_RSTQ, FRVBF_INSN_RSTQF, FRVBF_INSN_STBU
- , FRVBF_INSN_STHU, FRVBF_INSN_STU, FRVBF_INSN_STBFU, FRVBF_INSN_STHFU
- , FRVBF_INSN_STFU, FRVBF_INSN_STCU, FRVBF_INSN_STDU, FRVBF_INSN_STDFU
- , FRVBF_INSN_STDCU, FRVBF_INSN_STQU, FRVBF_INSN_STQFU, FRVBF_INSN_STQCU
- , FRVBF_INSN_CLDSB, FRVBF_INSN_CLDUB, FRVBF_INSN_CLDSH, FRVBF_INSN_CLDUH
- , FRVBF_INSN_CLD, FRVBF_INSN_CLDBF, FRVBF_INSN_CLDHF, FRVBF_INSN_CLDF
- , FRVBF_INSN_CLDD, FRVBF_INSN_CLDDF, FRVBF_INSN_CLDQ, FRVBF_INSN_CLDSBU
- , FRVBF_INSN_CLDUBU, FRVBF_INSN_CLDSHU, FRVBF_INSN_CLDUHU, FRVBF_INSN_CLDU
- , FRVBF_INSN_CLDBFU, FRVBF_INSN_CLDHFU, FRVBF_INSN_CLDFU, FRVBF_INSN_CLDDU
- , FRVBF_INSN_CLDDFU, FRVBF_INSN_CLDQU, FRVBF_INSN_CSTB, FRVBF_INSN_CSTH
- , FRVBF_INSN_CST, FRVBF_INSN_CSTBF, FRVBF_INSN_CSTHF, FRVBF_INSN_CSTF
- , FRVBF_INSN_CSTD, FRVBF_INSN_CSTDF, FRVBF_INSN_CSTQ, FRVBF_INSN_CSTBU
- , FRVBF_INSN_CSTHU, FRVBF_INSN_CSTU, FRVBF_INSN_CSTBFU, FRVBF_INSN_CSTHFU
- , FRVBF_INSN_CSTFU, FRVBF_INSN_CSTDU, FRVBF_INSN_CSTDFU, FRVBF_INSN_STBI
- , FRVBF_INSN_STHI, FRVBF_INSN_STI, FRVBF_INSN_STBFI, FRVBF_INSN_STHFI
- , FRVBF_INSN_STFI, FRVBF_INSN_STDI, FRVBF_INSN_STDFI, FRVBF_INSN_STQI
- , FRVBF_INSN_STQFI, FRVBF_INSN_SWAP, FRVBF_INSN_SWAPI, FRVBF_INSN_CSWAP
- , FRVBF_INSN_MOVGF, FRVBF_INSN_MOVFG, FRVBF_INSN_MOVGFD, FRVBF_INSN_MOVFGD
- , FRVBF_INSN_MOVGFQ, FRVBF_INSN_MOVFGQ, FRVBF_INSN_CMOVGF, FRVBF_INSN_CMOVFG
- , FRVBF_INSN_CMOVGFD, FRVBF_INSN_CMOVFGD, FRVBF_INSN_MOVGS, FRVBF_INSN_MOVSG
- , FRVBF_INSN_BRA, FRVBF_INSN_BNO, FRVBF_INSN_BEQ, FRVBF_INSN_BNE
- , FRVBF_INSN_BLE, FRVBF_INSN_BGT, FRVBF_INSN_BLT, FRVBF_INSN_BGE
- , FRVBF_INSN_BLS, FRVBF_INSN_BHI, FRVBF_INSN_BC, FRVBF_INSN_BNC
- , FRVBF_INSN_BN, FRVBF_INSN_BP, FRVBF_INSN_BV, FRVBF_INSN_BNV
- , FRVBF_INSN_FBRA, FRVBF_INSN_FBNO, FRVBF_INSN_FBNE, FRVBF_INSN_FBEQ
- , FRVBF_INSN_FBLG, FRVBF_INSN_FBUE, FRVBF_INSN_FBUL, FRVBF_INSN_FBGE
- , FRVBF_INSN_FBLT, FRVBF_INSN_FBUGE, FRVBF_INSN_FBUG, FRVBF_INSN_FBLE
- , FRVBF_INSN_FBGT, FRVBF_INSN_FBULE, FRVBF_INSN_FBU, FRVBF_INSN_FBO
- , FRVBF_INSN_BCTRLR, FRVBF_INSN_BRALR, FRVBF_INSN_BNOLR, FRVBF_INSN_BEQLR
- , FRVBF_INSN_BNELR, FRVBF_INSN_BLELR, FRVBF_INSN_BGTLR, FRVBF_INSN_BLTLR
- , FRVBF_INSN_BGELR, FRVBF_INSN_BLSLR, FRVBF_INSN_BHILR, FRVBF_INSN_BCLR
- , FRVBF_INSN_BNCLR, FRVBF_INSN_BNLR, FRVBF_INSN_BPLR, FRVBF_INSN_BVLR
- , FRVBF_INSN_BNVLR, FRVBF_INSN_FBRALR, FRVBF_INSN_FBNOLR, FRVBF_INSN_FBEQLR
- , FRVBF_INSN_FBNELR, FRVBF_INSN_FBLGLR, FRVBF_INSN_FBUELR, FRVBF_INSN_FBULLR
- , FRVBF_INSN_FBGELR, FRVBF_INSN_FBLTLR, FRVBF_INSN_FBUGELR, FRVBF_INSN_FBUGLR
- , FRVBF_INSN_FBLELR, FRVBF_INSN_FBGTLR, FRVBF_INSN_FBULELR, FRVBF_INSN_FBULR
- , FRVBF_INSN_FBOLR, FRVBF_INSN_BCRALR, FRVBF_INSN_BCNOLR, FRVBF_INSN_BCEQLR
- , FRVBF_INSN_BCNELR, FRVBF_INSN_BCLELR, FRVBF_INSN_BCGTLR, FRVBF_INSN_BCLTLR
- , FRVBF_INSN_BCGELR, FRVBF_INSN_BCLSLR, FRVBF_INSN_BCHILR, FRVBF_INSN_BCCLR
- , FRVBF_INSN_BCNCLR, FRVBF_INSN_BCNLR, FRVBF_INSN_BCPLR, FRVBF_INSN_BCVLR
- , FRVBF_INSN_BCNVLR, FRVBF_INSN_FCBRALR, FRVBF_INSN_FCBNOLR, FRVBF_INSN_FCBEQLR
- , FRVBF_INSN_FCBNELR, FRVBF_INSN_FCBLGLR, FRVBF_INSN_FCBUELR, FRVBF_INSN_FCBULLR
- , FRVBF_INSN_FCBGELR, FRVBF_INSN_FCBLTLR, FRVBF_INSN_FCBUGELR, FRVBF_INSN_FCBUGLR
- , FRVBF_INSN_FCBLELR, FRVBF_INSN_FCBGTLR, FRVBF_INSN_FCBULELR, FRVBF_INSN_FCBULR
- , FRVBF_INSN_FCBOLR, FRVBF_INSN_JMPL, FRVBF_INSN_CALLL, FRVBF_INSN_JMPIL
- , FRVBF_INSN_CALLIL, FRVBF_INSN_CALL, FRVBF_INSN_RETT, FRVBF_INSN_REI
- , FRVBF_INSN_TRA, FRVBF_INSN_TNO, FRVBF_INSN_TEQ, FRVBF_INSN_TNE
- , FRVBF_INSN_TLE, FRVBF_INSN_TGT, FRVBF_INSN_TLT, FRVBF_INSN_TGE
- , FRVBF_INSN_TLS, FRVBF_INSN_THI, FRVBF_INSN_TC, FRVBF_INSN_TNC
- , FRVBF_INSN_TN, FRVBF_INSN_TP, FRVBF_INSN_TV, FRVBF_INSN_TNV
- , FRVBF_INSN_FTRA, FRVBF_INSN_FTNO, FRVBF_INSN_FTNE, FRVBF_INSN_FTEQ
- , FRVBF_INSN_FTLG, FRVBF_INSN_FTUE, FRVBF_INSN_FTUL, FRVBF_INSN_FTGE
- , FRVBF_INSN_FTLT, FRVBF_INSN_FTUGE, FRVBF_INSN_FTUG, FRVBF_INSN_FTLE
- , FRVBF_INSN_FTGT, FRVBF_INSN_FTULE, FRVBF_INSN_FTU, FRVBF_INSN_FTO
- , FRVBF_INSN_TIRA, FRVBF_INSN_TINO, FRVBF_INSN_TIEQ, FRVBF_INSN_TINE
- , FRVBF_INSN_TILE, FRVBF_INSN_TIGT, FRVBF_INSN_TILT, FRVBF_INSN_TIGE
- , FRVBF_INSN_TILS, FRVBF_INSN_TIHI, FRVBF_INSN_TIC, FRVBF_INSN_TINC
- , FRVBF_INSN_TIN, FRVBF_INSN_TIP, FRVBF_INSN_TIV, FRVBF_INSN_TINV
- , FRVBF_INSN_FTIRA, FRVBF_INSN_FTINO, FRVBF_INSN_FTINE, FRVBF_INSN_FTIEQ
- , FRVBF_INSN_FTILG, FRVBF_INSN_FTIUE, FRVBF_INSN_FTIUL, FRVBF_INSN_FTIGE
- , FRVBF_INSN_FTILT, FRVBF_INSN_FTIUGE, FRVBF_INSN_FTIUG, FRVBF_INSN_FTILE
- , FRVBF_INSN_FTIGT, FRVBF_INSN_FTIULE, FRVBF_INSN_FTIU, FRVBF_INSN_FTIO
- , FRVBF_INSN_BREAK, FRVBF_INSN_MTRAP, FRVBF_INSN_ANDCR, FRVBF_INSN_ORCR
- , FRVBF_INSN_XORCR, FRVBF_INSN_NANDCR, FRVBF_INSN_NORCR, FRVBF_INSN_ANDNCR
- , FRVBF_INSN_ORNCR, FRVBF_INSN_NANDNCR, FRVBF_INSN_NORNCR, FRVBF_INSN_NOTCR
- , FRVBF_INSN_CKRA, FRVBF_INSN_CKNO, FRVBF_INSN_CKEQ, FRVBF_INSN_CKNE
- , FRVBF_INSN_CKLE, FRVBF_INSN_CKGT, FRVBF_INSN_CKLT, FRVBF_INSN_CKGE
- , FRVBF_INSN_CKLS, FRVBF_INSN_CKHI, FRVBF_INSN_CKC, FRVBF_INSN_CKNC
- , FRVBF_INSN_CKN, FRVBF_INSN_CKP, FRVBF_INSN_CKV, FRVBF_INSN_CKNV
- , FRVBF_INSN_FCKRA, FRVBF_INSN_FCKNO, FRVBF_INSN_FCKNE, FRVBF_INSN_FCKEQ
- , FRVBF_INSN_FCKLG, FRVBF_INSN_FCKUE, FRVBF_INSN_FCKUL, FRVBF_INSN_FCKGE
- , FRVBF_INSN_FCKLT, FRVBF_INSN_FCKUGE, FRVBF_INSN_FCKUG, FRVBF_INSN_FCKLE
- , FRVBF_INSN_FCKGT, FRVBF_INSN_FCKULE, FRVBF_INSN_FCKU, FRVBF_INSN_FCKO
- , FRVBF_INSN_CCKRA, FRVBF_INSN_CCKNO, FRVBF_INSN_CCKEQ, FRVBF_INSN_CCKNE
- , FRVBF_INSN_CCKLE, FRVBF_INSN_CCKGT, FRVBF_INSN_CCKLT, FRVBF_INSN_CCKGE
- , FRVBF_INSN_CCKLS, FRVBF_INSN_CCKHI, FRVBF_INSN_CCKC, FRVBF_INSN_CCKNC
- , FRVBF_INSN_CCKN, FRVBF_INSN_CCKP, FRVBF_INSN_CCKV, FRVBF_INSN_CCKNV
- , FRVBF_INSN_CFCKRA, FRVBF_INSN_CFCKNO, FRVBF_INSN_CFCKNE, FRVBF_INSN_CFCKEQ
- , FRVBF_INSN_CFCKLG, FRVBF_INSN_CFCKUE, FRVBF_INSN_CFCKUL, FRVBF_INSN_CFCKGE
- , FRVBF_INSN_CFCKLT, FRVBF_INSN_CFCKUGE, FRVBF_INSN_CFCKUG, FRVBF_INSN_CFCKLE
- , FRVBF_INSN_CFCKGT, FRVBF_INSN_CFCKULE, FRVBF_INSN_CFCKU, FRVBF_INSN_CFCKO
- , FRVBF_INSN_CJMPL, FRVBF_INSN_CCALLL, FRVBF_INSN_ICI, FRVBF_INSN_DCI
- , FRVBF_INSN_ICEI, FRVBF_INSN_DCEI, FRVBF_INSN_DCF, FRVBF_INSN_DCEF
- , FRVBF_INSN_WITLB, FRVBF_INSN_WDTLB, FRVBF_INSN_ITLBI, FRVBF_INSN_DTLBI
- , FRVBF_INSN_ICPL, FRVBF_INSN_DCPL, FRVBF_INSN_ICUL, FRVBF_INSN_DCUL
- , FRVBF_INSN_BAR, FRVBF_INSN_MEMBAR, FRVBF_INSN_COP1, FRVBF_INSN_COP2
- , FRVBF_INSN_CLRGR, FRVBF_INSN_CLRFR, FRVBF_INSN_CLRGA, FRVBF_INSN_CLRFA
- , FRVBF_INSN_COMMITGR, FRVBF_INSN_COMMITFR, FRVBF_INSN_COMMITGA, FRVBF_INSN_COMMITFA
- , FRVBF_INSN_FITOS, FRVBF_INSN_FSTOI, FRVBF_INSN_FITOD, FRVBF_INSN_FDTOI
- , FRVBF_INSN_FDITOS, FRVBF_INSN_FDSTOI, FRVBF_INSN_NFDITOS, FRVBF_INSN_NFDSTOI
- , FRVBF_INSN_CFITOS, FRVBF_INSN_CFSTOI, FRVBF_INSN_NFITOS, FRVBF_INSN_NFSTOI
- , FRVBF_INSN_FMOVS, FRVBF_INSN_FMOVD, FRVBF_INSN_FDMOVS, FRVBF_INSN_CFMOVS
- , FRVBF_INSN_FNEGS, FRVBF_INSN_FNEGD, FRVBF_INSN_FDNEGS, FRVBF_INSN_CFNEGS
- , FRVBF_INSN_FABSS, FRVBF_INSN_FABSD, FRVBF_INSN_FDABSS, FRVBF_INSN_CFABSS
- , FRVBF_INSN_FSQRTS, FRVBF_INSN_FDSQRTS, FRVBF_INSN_NFDSQRTS, FRVBF_INSN_FSQRTD
- , FRVBF_INSN_CFSQRTS, FRVBF_INSN_NFSQRTS, FRVBF_INSN_FADDS, FRVBF_INSN_FSUBS
- , FRVBF_INSN_FMULS, FRVBF_INSN_FDIVS, FRVBF_INSN_FADDD, FRVBF_INSN_FSUBD
- , FRVBF_INSN_FMULD, FRVBF_INSN_FDIVD, FRVBF_INSN_CFADDS, FRVBF_INSN_CFSUBS
- , FRVBF_INSN_CFMULS, FRVBF_INSN_CFDIVS, FRVBF_INSN_NFADDS, FRVBF_INSN_NFSUBS
- , FRVBF_INSN_NFMULS, FRVBF_INSN_NFDIVS, FRVBF_INSN_FCMPS, FRVBF_INSN_FCMPD
- , FRVBF_INSN_CFCMPS, FRVBF_INSN_FDCMPS, FRVBF_INSN_FMADDS, FRVBF_INSN_FMSUBS
- , FRVBF_INSN_FMADDD, FRVBF_INSN_FMSUBD, FRVBF_INSN_FDMADDS, FRVBF_INSN_NFDMADDS
- , FRVBF_INSN_CFMADDS, FRVBF_INSN_CFMSUBS, FRVBF_INSN_NFMADDS, FRVBF_INSN_NFMSUBS
- , FRVBF_INSN_FMAS, FRVBF_INSN_FMSS, FRVBF_INSN_FDMAS, FRVBF_INSN_FDMSS
- , FRVBF_INSN_NFDMAS, FRVBF_INSN_NFDMSS, FRVBF_INSN_CFMAS, FRVBF_INSN_CFMSS
- , FRVBF_INSN_FMAD, FRVBF_INSN_FMSD, FRVBF_INSN_NFMAS, FRVBF_INSN_NFMSS
- , FRVBF_INSN_FDADDS, FRVBF_INSN_FDSUBS, FRVBF_INSN_FDMULS, FRVBF_INSN_FDDIVS
- , FRVBF_INSN_FDSADS, FRVBF_INSN_FDMULCS, FRVBF_INSN_NFDMULCS, FRVBF_INSN_NFDADDS
- , FRVBF_INSN_NFDSUBS, FRVBF_INSN_NFDMULS, FRVBF_INSN_NFDDIVS, FRVBF_INSN_NFDSADS
- , FRVBF_INSN_NFDCMPS, FRVBF_INSN_MHSETLOS, FRVBF_INSN_MHSETHIS, FRVBF_INSN_MHDSETS
- , FRVBF_INSN_MHSETLOH, FRVBF_INSN_MHSETHIH, FRVBF_INSN_MHDSETH, FRVBF_INSN_MAND
- , FRVBF_INSN_MOR, FRVBF_INSN_MXOR, FRVBF_INSN_CMAND, FRVBF_INSN_CMOR
- , FRVBF_INSN_CMXOR, FRVBF_INSN_MNOT, FRVBF_INSN_CMNOT, FRVBF_INSN_MROTLI
- , FRVBF_INSN_MROTRI, FRVBF_INSN_MWCUT, FRVBF_INSN_MWCUTI, FRVBF_INSN_MCUT
- , FRVBF_INSN_MCUTI, FRVBF_INSN_MCUTSS, FRVBF_INSN_MCUTSSI, FRVBF_INSN_MDCUTSSI
- , FRVBF_INSN_MAVEH, FRVBF_INSN_MSLLHI, FRVBF_INSN_MSRLHI, FRVBF_INSN_MSRAHI
- , FRVBF_INSN_MDROTLI, FRVBF_INSN_MCPLHI, FRVBF_INSN_MCPLI, FRVBF_INSN_MSATHS
- , FRVBF_INSN_MQSATHS, FRVBF_INSN_MSATHU, FRVBF_INSN_MCMPSH, FRVBF_INSN_MCMPUH
- , FRVBF_INSN_MABSHS, FRVBF_INSN_MADDHSS, FRVBF_INSN_MADDHUS, FRVBF_INSN_MSUBHSS
- , FRVBF_INSN_MSUBHUS, FRVBF_INSN_CMADDHSS, FRVBF_INSN_CMADDHUS, FRVBF_INSN_CMSUBHSS
- , FRVBF_INSN_CMSUBHUS, FRVBF_INSN_MQADDHSS, FRVBF_INSN_MQADDHUS, FRVBF_INSN_MQSUBHSS
- , FRVBF_INSN_MQSUBHUS, FRVBF_INSN_CMQADDHSS, FRVBF_INSN_CMQADDHUS, FRVBF_INSN_CMQSUBHSS
- , FRVBF_INSN_CMQSUBHUS, FRVBF_INSN_MADDACCS, FRVBF_INSN_MSUBACCS, FRVBF_INSN_MDADDACCS
- , FRVBF_INSN_MDSUBACCS, FRVBF_INSN_MASACCS, FRVBF_INSN_MDASACCS, FRVBF_INSN_MMULHS
- , FRVBF_INSN_MMULHU, FRVBF_INSN_MMULXHS, FRVBF_INSN_MMULXHU, FRVBF_INSN_CMMULHS
- , FRVBF_INSN_CMMULHU, FRVBF_INSN_MQMULHS, FRVBF_INSN_MQMULHU, FRVBF_INSN_MQMULXHS
- , FRVBF_INSN_MQMULXHU, FRVBF_INSN_CMQMULHS, FRVBF_INSN_CMQMULHU, FRVBF_INSN_MMACHS
- , FRVBF_INSN_MMACHU, FRVBF_INSN_MMRDHS, FRVBF_INSN_MMRDHU, FRVBF_INSN_CMMACHS
- , FRVBF_INSN_CMMACHU, FRVBF_INSN_MQMACHS, FRVBF_INSN_MQMACHU, FRVBF_INSN_CMQMACHS
- , FRVBF_INSN_CMQMACHU, FRVBF_INSN_MQXMACHS, FRVBF_INSN_MQXMACXHS, FRVBF_INSN_MQMACXHS
- , FRVBF_INSN_MCPXRS, FRVBF_INSN_MCPXRU, FRVBF_INSN_MCPXIS, FRVBF_INSN_MCPXIU
- , FRVBF_INSN_CMCPXRS, FRVBF_INSN_CMCPXRU, FRVBF_INSN_CMCPXIS, FRVBF_INSN_CMCPXIU
- , FRVBF_INSN_MQCPXRS, FRVBF_INSN_MQCPXRU, FRVBF_INSN_MQCPXIS, FRVBF_INSN_MQCPXIU
- , FRVBF_INSN_MEXPDHW, FRVBF_INSN_CMEXPDHW, FRVBF_INSN_MEXPDHD, FRVBF_INSN_CMEXPDHD
- , FRVBF_INSN_MPACKH, FRVBF_INSN_MDPACKH, FRVBF_INSN_MUNPACKH, FRVBF_INSN_MDUNPACKH
- , FRVBF_INSN_MBTOH, FRVBF_INSN_CMBTOH, FRVBF_INSN_MHTOB, FRVBF_INSN_CMHTOB
- , FRVBF_INSN_MBTOHE, FRVBF_INSN_CMBTOHE, FRVBF_INSN_MNOP, FRVBF_INSN_MCLRACC_0
- , FRVBF_INSN_MCLRACC_1, FRVBF_INSN_MRDACC, FRVBF_INSN_MRDACCG, FRVBF_INSN_MWTACC
- , FRVBF_INSN_MWTACCG, FRVBF_INSN_MCOP1, FRVBF_INSN_MCOP2, FRVBF_INSN_FNOP
- , FRVBF_INSN__MAX
+ , FRVBF_INSN_STHF, FRVBF_INSN_STF, FRVBF_INSN_STC, FRVBF_INSN_STD
+ , FRVBF_INSN_STDF, FRVBF_INSN_STDC, FRVBF_INSN_STQ, FRVBF_INSN_STQF
+ , FRVBF_INSN_STQC, FRVBF_INSN_STBU, FRVBF_INSN_STHU, FRVBF_INSN_STU
+ , FRVBF_INSN_STBFU, FRVBF_INSN_STHFU, FRVBF_INSN_STFU, FRVBF_INSN_STCU
+ , FRVBF_INSN_STDU, FRVBF_INSN_STDFU, FRVBF_INSN_STDCU, FRVBF_INSN_STQU
+ , FRVBF_INSN_STQFU, FRVBF_INSN_STQCU, FRVBF_INSN_CLDSB, FRVBF_INSN_CLDUB
+ , FRVBF_INSN_CLDSH, FRVBF_INSN_CLDUH, FRVBF_INSN_CLD, FRVBF_INSN_CLDBF
+ , FRVBF_INSN_CLDHF, FRVBF_INSN_CLDF, FRVBF_INSN_CLDD, FRVBF_INSN_CLDDF
+ , FRVBF_INSN_CLDQ, FRVBF_INSN_CLDSBU, FRVBF_INSN_CLDUBU, FRVBF_INSN_CLDSHU
+ , FRVBF_INSN_CLDUHU, FRVBF_INSN_CLDU, FRVBF_INSN_CLDBFU, FRVBF_INSN_CLDHFU
+ , FRVBF_INSN_CLDFU, FRVBF_INSN_CLDDU, FRVBF_INSN_CLDDFU, FRVBF_INSN_CLDQU
+ , FRVBF_INSN_CSTB, FRVBF_INSN_CSTH, FRVBF_INSN_CST, FRVBF_INSN_CSTBF
+ , FRVBF_INSN_CSTHF, FRVBF_INSN_CSTF, FRVBF_INSN_CSTD, FRVBF_INSN_CSTDF
+ , FRVBF_INSN_CSTQ, FRVBF_INSN_CSTBU, FRVBF_INSN_CSTHU, FRVBF_INSN_CSTU
+ , FRVBF_INSN_CSTBFU, FRVBF_INSN_CSTHFU, FRVBF_INSN_CSTFU, FRVBF_INSN_CSTDU
+ , FRVBF_INSN_CSTDFU, FRVBF_INSN_STBI, FRVBF_INSN_STHI, FRVBF_INSN_STI
+ , FRVBF_INSN_STBFI, FRVBF_INSN_STHFI, FRVBF_INSN_STFI, FRVBF_INSN_STDI
+ , FRVBF_INSN_STDFI, FRVBF_INSN_STQI, FRVBF_INSN_STQFI, FRVBF_INSN_SWAP
+ , FRVBF_INSN_SWAPI, FRVBF_INSN_CSWAP, FRVBF_INSN_MOVGF, FRVBF_INSN_MOVFG
+ , FRVBF_INSN_MOVGFD, FRVBF_INSN_MOVFGD, FRVBF_INSN_MOVGFQ, FRVBF_INSN_MOVFGQ
+ , FRVBF_INSN_CMOVGF, FRVBF_INSN_CMOVFG, FRVBF_INSN_CMOVGFD, FRVBF_INSN_CMOVFGD
+ , FRVBF_INSN_MOVGS, FRVBF_INSN_MOVSG, FRVBF_INSN_BRA, FRVBF_INSN_BNO
+ , FRVBF_INSN_BEQ, FRVBF_INSN_BNE, FRVBF_INSN_BLE, FRVBF_INSN_BGT
+ , FRVBF_INSN_BLT, FRVBF_INSN_BGE, FRVBF_INSN_BLS, FRVBF_INSN_BHI
+ , FRVBF_INSN_BC, FRVBF_INSN_BNC, FRVBF_INSN_BN, FRVBF_INSN_BP
+ , FRVBF_INSN_BV, FRVBF_INSN_BNV, FRVBF_INSN_FBRA, FRVBF_INSN_FBNO
+ , FRVBF_INSN_FBNE, FRVBF_INSN_FBEQ, FRVBF_INSN_FBLG, FRVBF_INSN_FBUE
+ , FRVBF_INSN_FBUL, FRVBF_INSN_FBGE, FRVBF_INSN_FBLT, FRVBF_INSN_FBUGE
+ , FRVBF_INSN_FBUG, FRVBF_INSN_FBLE, FRVBF_INSN_FBGT, FRVBF_INSN_FBULE
+ , FRVBF_INSN_FBU, FRVBF_INSN_FBO, FRVBF_INSN_BCTRLR, FRVBF_INSN_BRALR
+ , FRVBF_INSN_BNOLR, FRVBF_INSN_BEQLR, FRVBF_INSN_BNELR, FRVBF_INSN_BLELR
+ , FRVBF_INSN_BGTLR, FRVBF_INSN_BLTLR, FRVBF_INSN_BGELR, FRVBF_INSN_BLSLR
+ , FRVBF_INSN_BHILR, FRVBF_INSN_BCLR, FRVBF_INSN_BNCLR, FRVBF_INSN_BNLR
+ , FRVBF_INSN_BPLR, FRVBF_INSN_BVLR, FRVBF_INSN_BNVLR, FRVBF_INSN_FBRALR
+ , FRVBF_INSN_FBNOLR, FRVBF_INSN_FBEQLR, FRVBF_INSN_FBNELR, FRVBF_INSN_FBLGLR
+ , FRVBF_INSN_FBUELR, FRVBF_INSN_FBULLR, FRVBF_INSN_FBGELR, FRVBF_INSN_FBLTLR
+ , FRVBF_INSN_FBUGELR, FRVBF_INSN_FBUGLR, FRVBF_INSN_FBLELR, FRVBF_INSN_FBGTLR
+ , FRVBF_INSN_FBULELR, FRVBF_INSN_FBULR, FRVBF_INSN_FBOLR, FRVBF_INSN_BCRALR
+ , FRVBF_INSN_BCNOLR, FRVBF_INSN_BCEQLR, FRVBF_INSN_BCNELR, FRVBF_INSN_BCLELR
+ , FRVBF_INSN_BCGTLR, FRVBF_INSN_BCLTLR, FRVBF_INSN_BCGELR, FRVBF_INSN_BCLSLR
+ , FRVBF_INSN_BCHILR, FRVBF_INSN_BCCLR, FRVBF_INSN_BCNCLR, FRVBF_INSN_BCNLR
+ , FRVBF_INSN_BCPLR, FRVBF_INSN_BCVLR, FRVBF_INSN_BCNVLR, FRVBF_INSN_FCBRALR
+ , FRVBF_INSN_FCBNOLR, FRVBF_INSN_FCBEQLR, FRVBF_INSN_FCBNELR, FRVBF_INSN_FCBLGLR
+ , FRVBF_INSN_FCBUELR, FRVBF_INSN_FCBULLR, FRVBF_INSN_FCBGELR, FRVBF_INSN_FCBLTLR
+ , FRVBF_INSN_FCBUGELR, FRVBF_INSN_FCBUGLR, FRVBF_INSN_FCBLELR, FRVBF_INSN_FCBGTLR
+ , FRVBF_INSN_FCBULELR, FRVBF_INSN_FCBULR, FRVBF_INSN_FCBOLR, FRVBF_INSN_JMPL
+ , FRVBF_INSN_CALLL, FRVBF_INSN_JMPIL, FRVBF_INSN_CALLIL, FRVBF_INSN_CALL
+ , FRVBF_INSN_RETT, FRVBF_INSN_REI, FRVBF_INSN_TRA, FRVBF_INSN_TNO
+ , FRVBF_INSN_TEQ, FRVBF_INSN_TNE, FRVBF_INSN_TLE, FRVBF_INSN_TGT
+ , FRVBF_INSN_TLT, FRVBF_INSN_TGE, FRVBF_INSN_TLS, FRVBF_INSN_THI
+ , FRVBF_INSN_TC, FRVBF_INSN_TNC, FRVBF_INSN_TN, FRVBF_INSN_TP
+ , FRVBF_INSN_TV, FRVBF_INSN_TNV, FRVBF_INSN_FTRA, FRVBF_INSN_FTNO
+ , FRVBF_INSN_FTNE, FRVBF_INSN_FTEQ, FRVBF_INSN_FTLG, FRVBF_INSN_FTUE
+ , FRVBF_INSN_FTUL, FRVBF_INSN_FTGE, FRVBF_INSN_FTLT, FRVBF_INSN_FTUGE
+ , FRVBF_INSN_FTUG, FRVBF_INSN_FTLE, FRVBF_INSN_FTGT, FRVBF_INSN_FTULE
+ , FRVBF_INSN_FTU, FRVBF_INSN_FTO, FRVBF_INSN_TIRA, FRVBF_INSN_TINO
+ , FRVBF_INSN_TIEQ, FRVBF_INSN_TINE, FRVBF_INSN_TILE, FRVBF_INSN_TIGT
+ , FRVBF_INSN_TILT, FRVBF_INSN_TIGE, FRVBF_INSN_TILS, FRVBF_INSN_TIHI
+ , FRVBF_INSN_TIC, FRVBF_INSN_TINC, FRVBF_INSN_TIN, FRVBF_INSN_TIP
+ , FRVBF_INSN_TIV, FRVBF_INSN_TINV, FRVBF_INSN_FTIRA, FRVBF_INSN_FTINO
+ , FRVBF_INSN_FTINE, FRVBF_INSN_FTIEQ, FRVBF_INSN_FTILG, FRVBF_INSN_FTIUE
+ , FRVBF_INSN_FTIUL, FRVBF_INSN_FTIGE, FRVBF_INSN_FTILT, FRVBF_INSN_FTIUGE
+ , FRVBF_INSN_FTIUG, FRVBF_INSN_FTILE, FRVBF_INSN_FTIGT, FRVBF_INSN_FTIULE
+ , FRVBF_INSN_FTIU, FRVBF_INSN_FTIO, FRVBF_INSN_BREAK, FRVBF_INSN_MTRAP
+ , FRVBF_INSN_ANDCR, FRVBF_INSN_ORCR, FRVBF_INSN_XORCR, FRVBF_INSN_NANDCR
+ , FRVBF_INSN_NORCR, FRVBF_INSN_ANDNCR, FRVBF_INSN_ORNCR, FRVBF_INSN_NANDNCR
+ , FRVBF_INSN_NORNCR, FRVBF_INSN_NOTCR, FRVBF_INSN_CKRA, FRVBF_INSN_CKNO
+ , FRVBF_INSN_CKEQ, FRVBF_INSN_CKNE, FRVBF_INSN_CKLE, FRVBF_INSN_CKGT
+ , FRVBF_INSN_CKLT, FRVBF_INSN_CKGE, FRVBF_INSN_CKLS, FRVBF_INSN_CKHI
+ , FRVBF_INSN_CKC, FRVBF_INSN_CKNC, FRVBF_INSN_CKN, FRVBF_INSN_CKP
+ , FRVBF_INSN_CKV, FRVBF_INSN_CKNV, FRVBF_INSN_FCKRA, FRVBF_INSN_FCKNO
+ , FRVBF_INSN_FCKNE, FRVBF_INSN_FCKEQ, FRVBF_INSN_FCKLG, FRVBF_INSN_FCKUE
+ , FRVBF_INSN_FCKUL, FRVBF_INSN_FCKGE, FRVBF_INSN_FCKLT, FRVBF_INSN_FCKUGE
+ , FRVBF_INSN_FCKUG, FRVBF_INSN_FCKLE, FRVBF_INSN_FCKGT, FRVBF_INSN_FCKULE
+ , FRVBF_INSN_FCKU, FRVBF_INSN_FCKO, FRVBF_INSN_CCKRA, FRVBF_INSN_CCKNO
+ , FRVBF_INSN_CCKEQ, FRVBF_INSN_CCKNE, FRVBF_INSN_CCKLE, FRVBF_INSN_CCKGT
+ , FRVBF_INSN_CCKLT, FRVBF_INSN_CCKGE, FRVBF_INSN_CCKLS, FRVBF_INSN_CCKHI
+ , FRVBF_INSN_CCKC, FRVBF_INSN_CCKNC, FRVBF_INSN_CCKN, FRVBF_INSN_CCKP
+ , FRVBF_INSN_CCKV, FRVBF_INSN_CCKNV, FRVBF_INSN_CFCKRA, FRVBF_INSN_CFCKNO
+ , FRVBF_INSN_CFCKNE, FRVBF_INSN_CFCKEQ, FRVBF_INSN_CFCKLG, FRVBF_INSN_CFCKUE
+ , FRVBF_INSN_CFCKUL, FRVBF_INSN_CFCKGE, FRVBF_INSN_CFCKLT, FRVBF_INSN_CFCKUGE
+ , FRVBF_INSN_CFCKUG, FRVBF_INSN_CFCKLE, FRVBF_INSN_CFCKGT, FRVBF_INSN_CFCKULE
+ , FRVBF_INSN_CFCKU, FRVBF_INSN_CFCKO, FRVBF_INSN_CJMPL, FRVBF_INSN_CCALLL
+ , FRVBF_INSN_ICI, FRVBF_INSN_DCI, FRVBF_INSN_ICEI, FRVBF_INSN_DCEI
+ , FRVBF_INSN_DCF, FRVBF_INSN_DCEF, FRVBF_INSN_WITLB, FRVBF_INSN_WDTLB
+ , FRVBF_INSN_ITLBI, FRVBF_INSN_DTLBI, FRVBF_INSN_ICPL, FRVBF_INSN_DCPL
+ , FRVBF_INSN_ICUL, FRVBF_INSN_DCUL, FRVBF_INSN_BAR, FRVBF_INSN_MEMBAR
+ , FRVBF_INSN_LRAI, FRVBF_INSN_LRAD, FRVBF_INSN_TLBPR, FRVBF_INSN_COP1
+ , FRVBF_INSN_COP2, FRVBF_INSN_CLRGR, FRVBF_INSN_CLRFR, FRVBF_INSN_CLRGA
+ , FRVBF_INSN_CLRFA, FRVBF_INSN_COMMITGR, FRVBF_INSN_COMMITFR, FRVBF_INSN_COMMITGA
+ , FRVBF_INSN_COMMITFA, FRVBF_INSN_FITOS, FRVBF_INSN_FSTOI, FRVBF_INSN_FITOD
+ , FRVBF_INSN_FDTOI, FRVBF_INSN_FDITOS, FRVBF_INSN_FDSTOI, FRVBF_INSN_NFDITOS
+ , FRVBF_INSN_NFDSTOI, FRVBF_INSN_CFITOS, FRVBF_INSN_CFSTOI, FRVBF_INSN_NFITOS
+ , FRVBF_INSN_NFSTOI, FRVBF_INSN_FMOVS, FRVBF_INSN_FMOVD, FRVBF_INSN_FDMOVS
+ , FRVBF_INSN_CFMOVS, FRVBF_INSN_FNEGS, FRVBF_INSN_FNEGD, FRVBF_INSN_FDNEGS
+ , FRVBF_INSN_CFNEGS, FRVBF_INSN_FABSS, FRVBF_INSN_FABSD, FRVBF_INSN_FDABSS
+ , FRVBF_INSN_CFABSS, FRVBF_INSN_FSQRTS, FRVBF_INSN_FDSQRTS, FRVBF_INSN_NFDSQRTS
+ , FRVBF_INSN_FSQRTD, FRVBF_INSN_CFSQRTS, FRVBF_INSN_NFSQRTS, FRVBF_INSN_FADDS
+ , FRVBF_INSN_FSUBS, FRVBF_INSN_FMULS, FRVBF_INSN_FDIVS, FRVBF_INSN_FADDD
+ , FRVBF_INSN_FSUBD, FRVBF_INSN_FMULD, FRVBF_INSN_FDIVD, FRVBF_INSN_CFADDS
+ , FRVBF_INSN_CFSUBS, FRVBF_INSN_CFMULS, FRVBF_INSN_CFDIVS, FRVBF_INSN_NFADDS
+ , FRVBF_INSN_NFSUBS, FRVBF_INSN_NFMULS, FRVBF_INSN_NFDIVS, FRVBF_INSN_FCMPS
+ , FRVBF_INSN_FCMPD, FRVBF_INSN_CFCMPS, FRVBF_INSN_FDCMPS, FRVBF_INSN_FMADDS
+ , FRVBF_INSN_FMSUBS, FRVBF_INSN_FMADDD, FRVBF_INSN_FMSUBD, FRVBF_INSN_FDMADDS
+ , FRVBF_INSN_NFDMADDS, FRVBF_INSN_CFMADDS, FRVBF_INSN_CFMSUBS, FRVBF_INSN_NFMADDS
+ , FRVBF_INSN_NFMSUBS, FRVBF_INSN_FMAS, FRVBF_INSN_FMSS, FRVBF_INSN_FDMAS
+ , FRVBF_INSN_FDMSS, FRVBF_INSN_NFDMAS, FRVBF_INSN_NFDMSS, FRVBF_INSN_CFMAS
+ , FRVBF_INSN_CFMSS, FRVBF_INSN_FMAD, FRVBF_INSN_FMSD, FRVBF_INSN_NFMAS
+ , FRVBF_INSN_NFMSS, FRVBF_INSN_FDADDS, FRVBF_INSN_FDSUBS, FRVBF_INSN_FDMULS
+ , FRVBF_INSN_FDDIVS, FRVBF_INSN_FDSADS, FRVBF_INSN_FDMULCS, FRVBF_INSN_NFDMULCS
+ , FRVBF_INSN_NFDADDS, FRVBF_INSN_NFDSUBS, FRVBF_INSN_NFDMULS, FRVBF_INSN_NFDDIVS
+ , FRVBF_INSN_NFDSADS, FRVBF_INSN_NFDCMPS, FRVBF_INSN_MHSETLOS, FRVBF_INSN_MHSETHIS
+ , FRVBF_INSN_MHDSETS, FRVBF_INSN_MHSETLOH, FRVBF_INSN_MHSETHIH, FRVBF_INSN_MHDSETH
+ , FRVBF_INSN_MAND, FRVBF_INSN_MOR, FRVBF_INSN_MXOR, FRVBF_INSN_CMAND
+ , FRVBF_INSN_CMOR, FRVBF_INSN_CMXOR, FRVBF_INSN_MNOT, FRVBF_INSN_CMNOT
+ , FRVBF_INSN_MROTLI, FRVBF_INSN_MROTRI, FRVBF_INSN_MWCUT, FRVBF_INSN_MWCUTI
+ , FRVBF_INSN_MCUT, FRVBF_INSN_MCUTI, FRVBF_INSN_MCUTSS, FRVBF_INSN_MCUTSSI
+ , FRVBF_INSN_MDCUTSSI, FRVBF_INSN_MAVEH, FRVBF_INSN_MSLLHI, FRVBF_INSN_MSRLHI
+ , FRVBF_INSN_MSRAHI, FRVBF_INSN_MDROTLI, FRVBF_INSN_MCPLHI, FRVBF_INSN_MCPLI
+ , FRVBF_INSN_MSATHS, FRVBF_INSN_MQSATHS, FRVBF_INSN_MSATHU, FRVBF_INSN_MCMPSH
+ , FRVBF_INSN_MCMPUH, FRVBF_INSN_MABSHS, FRVBF_INSN_MADDHSS, FRVBF_INSN_MADDHUS
+ , FRVBF_INSN_MSUBHSS, FRVBF_INSN_MSUBHUS, FRVBF_INSN_CMADDHSS, FRVBF_INSN_CMADDHUS
+ , FRVBF_INSN_CMSUBHSS, FRVBF_INSN_CMSUBHUS, FRVBF_INSN_MQADDHSS, FRVBF_INSN_MQADDHUS
+ , FRVBF_INSN_MQSUBHSS, FRVBF_INSN_MQSUBHUS, FRVBF_INSN_CMQADDHSS, FRVBF_INSN_CMQADDHUS
+ , FRVBF_INSN_CMQSUBHSS, FRVBF_INSN_CMQSUBHUS, FRVBF_INSN_MQLCLRHS, FRVBF_INSN_MQLMTHS
+ , FRVBF_INSN_MQSLLHI, FRVBF_INSN_MQSRAHI, FRVBF_INSN_MADDACCS, FRVBF_INSN_MSUBACCS
+ , FRVBF_INSN_MDADDACCS, FRVBF_INSN_MDSUBACCS, FRVBF_INSN_MASACCS, FRVBF_INSN_MDASACCS
+ , FRVBF_INSN_MMULHS, FRVBF_INSN_MMULHU, FRVBF_INSN_MMULXHS, FRVBF_INSN_MMULXHU
+ , FRVBF_INSN_CMMULHS, FRVBF_INSN_CMMULHU, FRVBF_INSN_MQMULHS, FRVBF_INSN_MQMULHU
+ , FRVBF_INSN_MQMULXHS, FRVBF_INSN_MQMULXHU, FRVBF_INSN_CMQMULHS, FRVBF_INSN_CMQMULHU
+ , FRVBF_INSN_MMACHS, FRVBF_INSN_MMACHU, FRVBF_INSN_MMRDHS, FRVBF_INSN_MMRDHU
+ , FRVBF_INSN_CMMACHS, FRVBF_INSN_CMMACHU, FRVBF_INSN_MQMACHS, FRVBF_INSN_MQMACHU
+ , FRVBF_INSN_CMQMACHS, FRVBF_INSN_CMQMACHU, FRVBF_INSN_MQXMACHS, FRVBF_INSN_MQXMACXHS
+ , FRVBF_INSN_MQMACXHS, FRVBF_INSN_MCPXRS, FRVBF_INSN_MCPXRU, FRVBF_INSN_MCPXIS
+ , FRVBF_INSN_MCPXIU, FRVBF_INSN_CMCPXRS, FRVBF_INSN_CMCPXRU, FRVBF_INSN_CMCPXIS
+ , FRVBF_INSN_CMCPXIU, FRVBF_INSN_MQCPXRS, FRVBF_INSN_MQCPXRU, FRVBF_INSN_MQCPXIS
+ , FRVBF_INSN_MQCPXIU, FRVBF_INSN_MEXPDHW, FRVBF_INSN_CMEXPDHW, FRVBF_INSN_MEXPDHD
+ , FRVBF_INSN_CMEXPDHD, FRVBF_INSN_MPACKH, FRVBF_INSN_MDPACKH, FRVBF_INSN_MUNPACKH
+ , FRVBF_INSN_MDUNPACKH, FRVBF_INSN_MBTOH, FRVBF_INSN_CMBTOH, FRVBF_INSN_MHTOB
+ , FRVBF_INSN_CMHTOB, FRVBF_INSN_MBTOHE, FRVBF_INSN_CMBTOHE, FRVBF_INSN_MNOP
+ , FRVBF_INSN_MCLRACC_0, FRVBF_INSN_MCLRACC_1, FRVBF_INSN_MRDACC, FRVBF_INSN_MRDACCG
+ , FRVBF_INSN_MWTACC, FRVBF_INSN_MWTACCG, FRVBF_INSN_MCOP1, FRVBF_INSN_MCOP2
+ , FRVBF_INSN_FNOP, FRVBF_INSN__MAX
} FRVBF_INSN_TYPE;
/* Enum declaration for semantic formats in cpu family frvbf. */
@@ -245,8 +244,7 @@ typedef enum frvbf_sfmt_type {
, FRVBF_SFMT_LDBFI, FRVBF_SFMT_NLDSBI, FRVBF_SFMT_NLDBFI, FRVBF_SFMT_LDDI
, FRVBF_SFMT_LDDFI, FRVBF_SFMT_NLDDI, FRVBF_SFMT_NLDDFI, FRVBF_SFMT_LDQI
, FRVBF_SFMT_LDQFI, FRVBF_SFMT_NLDQFI, FRVBF_SFMT_STB, FRVBF_SFMT_STBF
- , FRVBF_SFMT_STC, FRVBF_SFMT_RSTB, FRVBF_SFMT_RSTBF, FRVBF_SFMT_STD
- , FRVBF_SFMT_STDF, FRVBF_SFMT_STDC, FRVBF_SFMT_RSTD, FRVBF_SFMT_RSTDF
+ , FRVBF_SFMT_STC, FRVBF_SFMT_STD, FRVBF_SFMT_STDF, FRVBF_SFMT_STDC
, FRVBF_SFMT_STBU, FRVBF_SFMT_STBFU, FRVBF_SFMT_STCU, FRVBF_SFMT_STDU
, FRVBF_SFMT_STDFU, FRVBF_SFMT_STDCU, FRVBF_SFMT_STQU, FRVBF_SFMT_CLDSB
, FRVBF_SFMT_CLDBF, FRVBF_SFMT_CLDD, FRVBF_SFMT_CLDDF, FRVBF_SFMT_CLDQ
@@ -283,16 +281,17 @@ typedef enum frvbf_sfmt_type {
, FRVBF_SFMT_MWCUTI, FRVBF_SFMT_MCUT, FRVBF_SFMT_MCUTI, FRVBF_SFMT_MDCUTSSI
, FRVBF_SFMT_MSLLHI, FRVBF_SFMT_MDROTLI, FRVBF_SFMT_MCPLHI, FRVBF_SFMT_MCPLI
, FRVBF_SFMT_MSATHS, FRVBF_SFMT_MQSATHS, FRVBF_SFMT_MCMPSH, FRVBF_SFMT_MABSHS
- , FRVBF_SFMT_CMADDHSS, FRVBF_SFMT_CMQADDHSS, FRVBF_SFMT_MADDACCS, FRVBF_SFMT_MDADDACCS
- , FRVBF_SFMT_MASACCS, FRVBF_SFMT_MDASACCS, FRVBF_SFMT_MMULHS, FRVBF_SFMT_CMMULHS
- , FRVBF_SFMT_MQMULHS, FRVBF_SFMT_CMQMULHS, FRVBF_SFMT_MMACHS, FRVBF_SFMT_MMACHU
- , FRVBF_SFMT_CMMACHS, FRVBF_SFMT_CMMACHU, FRVBF_SFMT_MQMACHS, FRVBF_SFMT_MQMACHU
- , FRVBF_SFMT_CMQMACHS, FRVBF_SFMT_CMQMACHU, FRVBF_SFMT_MCPXRS, FRVBF_SFMT_CMCPXRS
- , FRVBF_SFMT_MQCPXRS, FRVBF_SFMT_MEXPDHW, FRVBF_SFMT_CMEXPDHW, FRVBF_SFMT_MEXPDHD
- , FRVBF_SFMT_CMEXPDHD, FRVBF_SFMT_MPACKH, FRVBF_SFMT_MDPACKH, FRVBF_SFMT_MUNPACKH
- , FRVBF_SFMT_MDUNPACKH, FRVBF_SFMT_MBTOH, FRVBF_SFMT_CMBTOH, FRVBF_SFMT_MHTOB
- , FRVBF_SFMT_CMHTOB, FRVBF_SFMT_MBTOHE, FRVBF_SFMT_CMBTOHE, FRVBF_SFMT_MCLRACC_0
- , FRVBF_SFMT_MRDACC, FRVBF_SFMT_MRDACCG, FRVBF_SFMT_MWTACC, FRVBF_SFMT_MWTACCG
+ , FRVBF_SFMT_CMADDHSS, FRVBF_SFMT_CMQADDHSS, FRVBF_SFMT_MQSLLHI, FRVBF_SFMT_MADDACCS
+ , FRVBF_SFMT_MDADDACCS, FRVBF_SFMT_MASACCS, FRVBF_SFMT_MDASACCS, FRVBF_SFMT_MMULHS
+ , FRVBF_SFMT_CMMULHS, FRVBF_SFMT_MQMULHS, FRVBF_SFMT_CMQMULHS, FRVBF_SFMT_MMACHS
+ , FRVBF_SFMT_MMACHU, FRVBF_SFMT_CMMACHS, FRVBF_SFMT_CMMACHU, FRVBF_SFMT_MQMACHS
+ , FRVBF_SFMT_MQMACHU, FRVBF_SFMT_CMQMACHS, FRVBF_SFMT_CMQMACHU, FRVBF_SFMT_MCPXRS
+ , FRVBF_SFMT_CMCPXRS, FRVBF_SFMT_MQCPXRS, FRVBF_SFMT_MEXPDHW, FRVBF_SFMT_CMEXPDHW
+ , FRVBF_SFMT_MEXPDHD, FRVBF_SFMT_CMEXPDHD, FRVBF_SFMT_MPACKH, FRVBF_SFMT_MDPACKH
+ , FRVBF_SFMT_MUNPACKH, FRVBF_SFMT_MDUNPACKH, FRVBF_SFMT_MBTOH, FRVBF_SFMT_CMBTOH
+ , FRVBF_SFMT_MHTOB, FRVBF_SFMT_CMHTOB, FRVBF_SFMT_MBTOHE, FRVBF_SFMT_CMBTOHE
+ , FRVBF_SFMT_MCLRACC_0, FRVBF_SFMT_MRDACC, FRVBF_SFMT_MRDACCG, FRVBF_SFMT_MWTACC
+ , FRVBF_SFMT_MWTACCG
} FRVBF_SFMT_TYPE;
/* Function unit handlers (user written). */
@@ -445,6 +444,52 @@ extern int frvbf_model_fr400_u_idiv (SIM_CPU *, const IDESC *, int /*unit_num*/,
extern int frvbf_model_fr400_u_imul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRdoublek*/, INT /*ICCi_1*/);
extern int frvbf_model_fr400_u_integer (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/, INT /*ICCi_1*/);
extern int frvbf_model_fr400_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
+extern int frvbf_model_fr450_u_dcul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_icul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_dcpl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_icpl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_dcf (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_dci (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_ici (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_membar (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
+extern int frvbf_model_fr450_u_barrier (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
+extern int frvbf_model_fr450_u_media_dual_htob (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRintj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_dual_expand (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_7 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*FCCk*/);
+extern int frvbf_model_fr450_u_media_6 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_4_mclracca (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
+extern int frvbf_model_fr450_u_media_4_acc_dual (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_4_accg (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACCGi*/, INT /*FRinti*/, INT /*ACCGk*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_4 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*FRintj*/, INT /*ACC40Sk*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_3_quad (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_3_dual (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_3 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_2_add_sub_dual (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*ACC40Sk*/);
+extern int frvbf_model_fr450_u_media_2_add_sub (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*ACC40Sk*/);
+extern int frvbf_model_fr450_u_media_2_acc_dual (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*ACC40Sk*/);
+extern int frvbf_model_fr450_u_media_2_acc (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ACC40Si*/, INT /*ACC40Sk*/);
+extern int frvbf_model_fr450_u_media_2_quad (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*ACC40Sk*/, INT /*ACC40Uk*/);
+extern int frvbf_model_fr450_u_media_2 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*ACC40Sk*/, INT /*ACC40Uk*/);
+extern int frvbf_model_fr450_u_media_hilo (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRkhi*/, INT /*FRklo*/);
+extern int frvbf_model_fr450_u_media_1_quad (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_media_1 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRinti*/, INT /*FRintj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_gr2spr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRj*/, INT /*spr*/);
+extern int frvbf_model_fr450_u_gr2fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRj*/, INT /*FRintk*/);
+extern int frvbf_model_fr450_u_spr2gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*spr*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_fr2gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*FRintk*/, INT /*GRj*/);
+extern int frvbf_model_fr450_u_swap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/);
+extern int frvbf_model_fr450_u_fr_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*FRintk*/, INT /*FRdoublek*/);
+extern int frvbf_model_fr450_u_fr_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*FRintk*/, INT /*FRdoublek*/);
+extern int frvbf_model_fr450_u_gr_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/, INT /*GRdoublek*/);
+extern int frvbf_model_fr450_u_gr_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/, INT /*GRdoublek*/);
+extern int frvbf_model_fr450_u_set_hilo (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRkhi*/, INT /*GRklo*/);
+extern int frvbf_model_fr450_u_check (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*ICCi_3*/, INT /*FCCi_3*/);
+extern int frvbf_model_fr450_u_trap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*ICCi_2*/, INT /*FCCi_2*/);
+extern int frvbf_model_fr450_u_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*ICCi_2*/, INT /*FCCi_2*/);
+extern int frvbf_model_fr450_u_idiv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/, INT /*ICCi_1*/);
+extern int frvbf_model_fr450_u_imul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRdoublek*/, INT /*ICCi_1*/);
+extern int frvbf_model_fr450_u_integer (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*GRi*/, INT /*GRj*/, INT /*GRk*/, INT /*ICCi_1*/);
+extern int frvbf_model_fr450_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
extern int frvbf_model_simple_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
/* Profiling before/after handlers (user written) */
diff --git a/sim/frv/frv-sim.h b/sim/frv/frv-sim.h
index 39da19c37be..ce5d492766d 100644
--- a/sim/frv/frv-sim.h
+++ b/sim/frv/frv-sim.h
@@ -23,11 +23,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "sim-options.h"
-/* Not defined in the cgen cpu file for access restriction purposes. */
-#define H_SPR_ACC4 1412
-#define H_SPR_ACC63 1471
-#define H_SPR_ACCG4 1476
-#define H_SPR_ACCG63 1535
+/* True if SPR is the number of accumulator or accumulator guard register. */
+#define SPR_IS_ACC(SPR) ((SPR) >= 1408 && (SPR) <= 1535)
/* Initialization of the frv cpu. */
void frv_initialize (SIM_CPU *, SIM_DESC);
diff --git a/sim/frv/frv.c b/sim/frv/frv.c
index de1ff1d0529..e82f3d006fd 100644
--- a/sim/frv/frv.c
+++ b/sim/frv/frv.c
@@ -1,5 +1,6 @@
/* frv simulator support code
- Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004 Free Software
+ Foundation, Inc.
Contributed by Red Hat.
This file is part of the GNU simulators.
@@ -172,7 +173,15 @@ check_register_alignment (SIM_CPU *current_cpu, UINT reg, int align_mask)
SIM_DESC sd = CPU_STATE (current_cpu);
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* Note: there is a discrepancy between V2.2 of the FR400
+ instruction manual and the various FR4xx LSI specs.
+ The former claims that unaligned registers cause a
+ register_exception while the latter say it's an
+ illegal_instruction. The LSI specs appear to be
+ correct; in fact, the FR4xx series is not documented
+ as having a register_exception. */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
@@ -200,7 +209,9 @@ check_fr_register_alignment (SIM_CPU *current_cpu, UINT reg, int align_mask)
SIM_DESC sd = CPU_STATE (current_cpu);
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* See comment in check_register_alignment(). */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
@@ -232,7 +243,9 @@ check_memory_alignment (SIM_CPU *current_cpu, SI address, int align_mask)
SIM_DESC sd = CPU_STATE (current_cpu);
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* See comment in check_register_alignment(). */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
frv_queue_data_access_error_interrupt (current_cpu, address);
break;
case bfd_mach_frvtomcat:
@@ -989,10 +1002,11 @@ void
frvbf_clear_accumulators (SIM_CPU *current_cpu, SI acc_ix, int A)
{
SIM_DESC sd = CPU_STATE (current_cpu);
- int acc_num =
- (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr500) ? 8 :
- (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr550) ? 8 :
- (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400) ? 4 :
+ int acc_mask =
+ (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr500) ? 7 :
+ (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr550) ? 7 :
+ (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr450) ? 11 :
+ (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400) ? 3 :
63;
FRV_PROFILE_STATE *ps = CPU_PROFILE_STATE (current_cpu);
@@ -1002,15 +1016,16 @@ frvbf_clear_accumulators (SIM_CPU *current_cpu, SI acc_ix, int A)
{
/* This instruction is a nop if the referenced accumulator is not
implemented. */
- if (acc_ix < acc_num)
+ if ((acc_ix & acc_mask) == acc_ix)
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, acc_ix, 0);
}
else
{
/* Clear all implemented accumulators. */
int i;
- for (i = 0; i < acc_num; ++i)
- sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, i, 0);
+ for (i = 0; i <= acc_mask; ++i)
+ if ((i & acc_mask) == i)
+ sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, i, 0);
}
}
@@ -1100,25 +1115,53 @@ frvbf_media_cut_ss (SIM_CPU *current_cpu, DI acc, SI cut_point)
SI
frvbf_iacc_cut (SIM_CPU *current_cpu, DI acc, SI cut_point)
{
- /* The cut point is the lower 6 bits (signed) of what we are passed. */
+ DI lower, upper;
+
+ /* The cut point is the lower 7 bits (signed) of what we are passed. */
cut_point = cut_point << 25 >> 25;
- if (cut_point <= -32)
- cut_point = -31; /* Special case for full shiftout. */
+ /* Conceptually, the operation is on a 128-bit sign-extension of ACC.
+ The top bit of the return value corresponds to bit (63 - CUT_POINT)
+ of this 128-bit value.
- /* Negative cuts (cannot saturate). */
+ Since we can't deal with 128-bit values very easily, convert the
+ operation into an equivalent 64-bit one. */
if (cut_point < 0)
- return acc >> (32 + -cut_point);
+ {
+ /* Avoid an undefined shift operation. */
+ if (cut_point == -64)
+ acc >>= 63;
+ else
+ acc >>= -cut_point;
+ cut_point = 0;
+ }
- /* Positive cuts will saturate if significant bits are shifted out. */
- if (acc != ((acc << cut_point) >> cut_point))
- if (acc >= 0)
- return 0x7fffffff;
- else
- return 0x80000000;
+ /* Get the shifted but unsaturated result. Set LOWER to the lowest
+ 32 bits of the result and UPPER to the result >> 31. */
+ if (cut_point < 32)
+ {
+ /* The cut loses the (32 - CUT_POINT) least significant bits.
+ Round the result up if the most significant of these lost bits
+ is 1. */
+ lower = acc >> (32 - cut_point);
+ if (lower < 0x7fffffff)
+ if (acc & LSBIT64 (32 - cut_point - 1))
+ lower++;
+ upper = lower >> 31;
+ }
+ else
+ {
+ lower = acc << (cut_point - 32);
+ upper = acc >> (63 - cut_point);
+ }
- /* No saturate, just cut. */
- return ((acc << cut_point) >> 32);
+ /* Saturate the result. */
+ if (upper < -1)
+ return ~0x7fffffff;
+ else if (upper > 0)
+ return 0x7fffffff;
+ else
+ return lower;
}
/* Compute the result of shift-left-arithmetic-with-saturation (SLASS). */
@@ -1179,12 +1222,14 @@ do_media_average (SIM_CPU *current_cpu, HI arg1, HI arg2)
HI result = sum >> 1;
int rounding_value;
- /* On fr400 and fr550, check the rounding mode. On other machines rounding is always
- toward negative infinity and the result is already correctly rounded. */
+ /* On fr4xx and fr550, check the rounding mode. On other machines
+ rounding is always toward negative infinity and the result is
+ already correctly rounded. */
switch (STATE_ARCHITECTURE (sd)->mach)
{
/* Need to check rounding mode. */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
/* Check whether rounding will be required. Rounding will be required
if the sum is an odd number. */
diff --git a/sim/frv/interrupts.c b/sim/frv/interrupts.c
index 540ee06e28d..6c40f1dd111 100644
--- a/sim/frv/interrupts.c
+++ b/sim/frv/interrupts.c
@@ -239,6 +239,7 @@ frv_queue_illegal_instruction_interrupt (
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
break;
default:
@@ -299,6 +300,7 @@ frv_queue_non_implemented_instruction_interrupt (
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
break;
default:
@@ -845,8 +847,7 @@ set_exception_status_registers (
break;
case FRV_DATA_ACCESS_ERROR:
reg_index = 15; /* Use ESR15, EPCR15. */
- if (STATE_ARCHITECTURE (sd)->mach != bfd_mach_fr400)
- set_ear = 1;
+ set_ear = 1;
break;
case FRV_DATA_ACCESS_EXCEPTION:
set_daec = 1;
diff --git a/sim/frv/memory.c b/sim/frv/memory.c
index 4dbc65242ac..2249904133c 100644
--- a/sim/frv/memory.c
+++ b/sim/frv/memory.c
@@ -73,6 +73,7 @@ check_data_read_address (SIM_CPU *current_cpu, SI address, int align_mask)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
address = fr400_check_data_read_address (current_cpu, address,
align_mask);
break;
@@ -149,6 +150,7 @@ check_readwrite_address (SIM_CPU *current_cpu, SI address, int align_mask)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
address = fr400_check_readwrite_address (current_cpu, address,
align_mask);
break;
@@ -240,6 +242,7 @@ check_insn_read_address (SIM_CPU *current_cpu, PCADDR address, int align_mask)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
address = fr400_check_insn_read_address (current_cpu, address,
align_mask);
break;
@@ -679,18 +682,6 @@ frvbf_read_imem_USI (SIM_CPU *current_cpu, PCADDR vpc)
static SI
fr400_check_write_address (SIM_CPU *current_cpu, SI address, int align_mask)
{
- if (address & align_mask)
- {
- /* On the fr400, this causes a data_access_error. */
- /* Make sure that this exception is not masked. */
- USI isr = GET_ISR ();
- if (! GET_ISR_EMAM (isr))
- {
- /* Bad alignment causes a data_access_error on fr400. */
- frv_queue_data_access_error_interrupt (current_cpu, address);
- }
- address &= ~align_mask;
- }
if (align_mask == 7
&& address >= 0xfe800000 && address <= 0xfeffffff)
frv_queue_program_interrupt (current_cpu, FRV_DATA_STORE_ERROR);
@@ -735,6 +726,7 @@ check_write_address (SIM_CPU *current_cpu, SI address, int align_mask)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
address = fr400_check_write_address (current_cpu, address, align_mask);
break;
case bfd_mach_frvtomcat:
diff --git a/sim/frv/mloop.in b/sim/frv/mloop.in
index 073d81d7569..24c34c9c651 100644
--- a/sim/frv/mloop.in
+++ b/sim/frv/mloop.in
@@ -391,6 +391,7 @@ static void
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
simulate_dual_insn_prefetch (current_cpu, vpc, 8);
break;
case bfd_mach_frvtomcat:
diff --git a/sim/frv/model.c b/sim/frv/model.c
index 864c1800b74..17dae3132b3 100644
--- a/sim/frv/model.c
+++ b/sim/frv/model.c
@@ -2867,102 +2867,6 @@ model_frv_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_frv_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_frv_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -3011,38 +2915,6 @@ model_frv_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_frv_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_frv_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -3091,38 +2963,6 @@ model_frv_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_frv_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_frv_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_frv_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -8547,6 +8387,54 @@ model_frv_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_frv_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_frv_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_frv_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_frv_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -10899,6 +10787,70 @@ model_frv_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_frv_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_frv_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_frv_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_frv_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_frv_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_frv_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -16253,102 +16205,6 @@ model_fr550_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr550_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr550_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -16417,38 +16273,6 @@ model_fr550_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr550_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr550_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -16497,38 +16321,6 @@ model_fr550_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr550_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr550_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr550_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -20583,7 +20375,16 @@ model_fr550_calll (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr550_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
}
return cycles;
#undef FLD
@@ -20622,7 +20423,14 @@ model_fr550_callil (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr550_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
}
return cycles;
#undef FLD
@@ -23744,7 +23552,16 @@ model_fr550_ccalll (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr550_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
}
return cycles;
#undef FLD
@@ -24063,6 +23880,54 @@ model_fr550_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr550_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr550_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr550_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr550_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -27354,6 +27219,70 @@ model_fr550_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr550_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr550_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr550_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr550_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr550_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr550_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -33251,162 +33180,6 @@ model_fr500_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr500_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_GRk = -1;
- INT in_GRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_GRk = FLD (in_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_gr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_GRk = -1;
- INT in_GRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_GRk = FLD (in_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_gr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_GRk = -1;
- INT in_GRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_GRk = FLD (in_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_gr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_FRintk = -1;
- INT in_FRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_FRintk = FLD (in_FRintk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_fr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_FRintk = -1;
- INT in_FRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_FRintk = FLD (in_FRintk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_fr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_FRintk = -1;
- INT in_FRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_FRintk = FLD (in_FRintk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr500_u_fr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr500_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -33475,58 +33248,6 @@ model_fr500_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr500_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_GRk = -1;
- INT in_GRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_GRdoublek = FLD (in_GRdoublek);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 3;
- cycles += frvbf_model_fr500_u_gr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_FRintk = -1;
- INT in_FRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- in_FRdoublek = FLD (in_FRdoublek);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 3;
- cycles += frvbf_model_fr500_u_fr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr500_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -33591,54 +33312,6 @@ model_fr500_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr500_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_GRk = -1;
- INT in_GRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- cycles += frvbf_model_fr500_u_gr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr500_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT in_FRintk = -1;
- INT in_FRdoublek = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- cycles += frvbf_model_fr500_u_fr_r_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr500_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -41224,6 +40897,54 @@ model_fr500_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr500_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr500_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr500_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr500_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -44864,6 +44585,70 @@ model_fr500_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr500_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr500_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr500_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr500_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr500_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr500_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -49218,102 +49003,6 @@ model_tomcat_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_tomcat_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_tomcat_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -49362,38 +49051,6 @@ model_tomcat_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_tomcat_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_tomcat_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -49442,38 +49099,6 @@ model_tomcat_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_tomcat_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_tomcat_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_tomcat_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -54898,6 +54523,54 @@ model_tomcat_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_tomcat_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_tomcat_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_tomcat_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_tomcat_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -57250,6 +56923,70 @@ model_tomcat_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_tomcat_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_tomcat_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_tomcat_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_tomcat_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_tomcat_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_tomcat_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -58511,17 +58248,7 @@ model_fr400_nsdiv (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT out_GRk = -1;
- INT out_ICCi_1 = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- out_GRk = FLD (out_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr400_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
}
return cycles;
#undef FLD
@@ -58563,17 +58290,7 @@ model_fr400_nudiv (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT out_GRk = -1;
- INT out_ICCi_1 = -1;
- in_GRi = FLD (in_GRi);
- in_GRj = FLD (in_GRj);
- out_GRk = FLD (out_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 1;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr400_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
}
return cycles;
#undef FLD
@@ -60003,15 +59720,7 @@ model_fr400_nsdivi (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT out_GRk = -1;
- INT out_ICCi_1 = -1;
- in_GRi = FLD (in_GRi);
- out_GRk = FLD (out_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr400_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
}
return cycles;
#undef FLD
@@ -60051,15 +59760,7 @@ model_fr400_nudivi (SIM_CPU *current_cpu, void *sem_arg)
{
int referenced = 0;
int UNUSED insn_referenced = abuf->written;
- INT in_GRi = -1;
- INT in_GRj = -1;
- INT out_GRk = -1;
- INT out_ICCi_1 = -1;
- in_GRi = FLD (in_GRi);
- out_GRk = FLD (out_GRk);
- referenced |= 1 << 0;
- referenced |= 1 << 2;
- cycles += frvbf_model_fr400_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
}
return cycles;
#undef FLD
@@ -62368,102 +62069,6 @@ model_fr400_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr400_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr400_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -62532,38 +62137,6 @@ model_fr400_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr400_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr400_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -62612,38 +62185,6 @@ model_fr400_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_fr400_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_fr400_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_fr400_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -70201,6 +69742,54 @@ model_fr400_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr400_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr400_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr400_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr400_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -72913,6 +72502,70 @@ model_fr400_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr400_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr400_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr400_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr400_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr400_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_fr400_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -74437,6 +74090,16051 @@ model_fr400_fnop (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_fr450_add (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sub (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_and (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_or (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_xor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_not (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_scutss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sdiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nsdiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_udiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nudiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_umul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smass.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smass (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smass.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smsss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smass.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sll (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_srl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_slass (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_scutss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_scutss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_scan (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cadd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csub (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cand (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cxor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cnot (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csmul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csdiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cudiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csll (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csrl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cscan (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_andcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_orcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_xorcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sllcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_srlcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sracc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smulcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_umulcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_caddcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csubcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csmulcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_csmulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_candcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_corcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cxorcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csllcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csrlcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csracc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_caddcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addx (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subx (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addxcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subxcc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_andi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ori (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_xori (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sdivi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nsdivi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_udivi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_idiv (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nudivi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smuli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smuli.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRdoublek = FLD (out_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_umuli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smuli.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRdoublek = FLD (out_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_slli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_srli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_srai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_scani (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_andicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_oricc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_xoricc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_smulicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRdoublek = FLD (out_GRdoublek);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_umulicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRdoublek = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRdoublek = FLD (out_GRdoublek);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_imul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRdoublek, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sllicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_srlicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sraicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addxi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subxi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_addxicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_subxicc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addicc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmpb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmpba (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_ICCi_1 = FLD (out_ICCi_1);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_setlo (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_setlo.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_GRkhi = -1;
+ INT out_GRklo = -1;
+ out_GRklo = FLD (out_GRklo);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_set_hilo (current_cpu, idesc, 0, referenced, out_GRkhi, out_GRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sethi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_sethi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_GRkhi = -1;
+ INT out_GRklo = -1;
+ out_GRkhi = FLD (out_GRkhi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_set_hilo (current_cpu, idesc, 0, referenced, out_GRkhi, out_GRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_setlos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_setlos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_ICCi_1 = -1;
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_integer (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldsb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldub (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldsh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lduh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ld (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldbf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldhf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldsb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldub (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldsh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlduh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nld (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_addcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldbf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldhf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRdoublek = FLD (out_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_lddcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlddf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldqf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldsbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldubu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldshu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lduhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldsbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldubu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldshu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlduhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldbfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldhfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldbfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldhfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlddu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRdoublek = FLD (out_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_lddcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlddfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldqu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldqfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldsbi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldshi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldubi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lduhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldbfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldhfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldsbi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldubi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldshi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlduhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldbfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldhfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ldbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smuli.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lddfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_lddfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ out_FRdoublek = FLD (out_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlddi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smuli.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nlddfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_lddfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ldqfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nldqfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sth (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_st (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stbf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sthf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_std (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRdoublek = FLD (in_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRdoublek = FLD (in_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_smulcc.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sthu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stbfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sthfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRdoublek = FLD (in_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRdoublek = FLD (in_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqcu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdcu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldsb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldub (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldsh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clduh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cld (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldbf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldhf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clddf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldsbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 8)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldubu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 8)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldshu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 8)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clduhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 8)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldsbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 8)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldbfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldhfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cldbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clddu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ INT out_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRdoublek = FLD (out_GRdoublek);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 7)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk, out_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clddfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_clddfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ INT out_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_FRdoublek = FLD (out_FRdoublek);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_load (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_FRintk, out_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cldqu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csth (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cst (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstbf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csthf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRdoublek = FLD (in_GRdoublek);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstdf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRdoublek = FLD (in_FRdoublek);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csthu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRk = FLD (in_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstbfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_csthfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstbfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRintk = FLD (in_FRintk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstdu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_GRdoublek = FLD (in_GRdoublek);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cstdfu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cstdfu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FRdoublek = FLD (in_FRdoublek);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stbi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sthi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sti (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRk = FLD (in_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stbfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_sthfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stbfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_FRintk = FLD (in_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_GRk = -1;
+ INT in_GRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRdoublek = FLD (in_GRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_gr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_GRk, in_GRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stdfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_FRintk = -1;
+ INT in_FRdoublek = -1;
+ in_GRi = FLD (in_GRi);
+ in_FRdoublek = FLD (in_FRdoublek);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_fr_store (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_FRintk, in_FRdoublek);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_stqfi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_stdfi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_swap (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_swap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_swapi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ in_GRi = FLD (in_GRi);
+ out_GRk = FLD (out_GRk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_swap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cswap (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cswap.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT out_GRk = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ out_GRk = FLD (out_GRk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_swap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, out_GRk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movgf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovgfd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr2fr (current_cpu, idesc, 0, referenced, in_GRj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movfg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovfgd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintk = -1;
+ INT out_GRj = -1;
+ in_FRintk = FLD (in_FRintk);
+ out_GRj = FLD (out_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_fr2gr (current_cpu, idesc, 0, referenced, in_FRintk, out_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movgfd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovgfd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr2fr (current_cpu, idesc, 0, referenced, in_GRj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movfgd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovfgd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintk = -1;
+ INT out_GRj = -1;
+ in_FRintk = FLD (in_FRintk);
+ out_GRj = FLD (out_GRj);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_fr2gr (current_cpu, idesc, 0, referenced, in_FRintk, out_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movgfq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_movgfq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movfgq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_movfgq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmovgf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovgfd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr2fr (current_cpu, idesc, 0, referenced, in_GRj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmovfg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovfgd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintk = -1;
+ INT out_GRj = -1;
+ in_FRintk = FLD (in_FRintk);
+ out_GRj = FLD (out_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_fr2gr (current_cpu, idesc, 0, referenced, in_FRintk, out_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmovgfd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovgfd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRj = -1;
+ INT out_FRintk = -1;
+ in_GRj = FLD (in_GRj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr2fr (current_cpu, idesc, 0, referenced, in_GRj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmovfgd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmovfgd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintk = -1;
+ INT out_GRj = -1;
+ in_FRintk = FLD (in_FRintk);
+ out_GRj = FLD (out_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_fr2gr (current_cpu, idesc, 0, referenced, in_FRintk, out_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movgs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_movgs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRj = -1;
+ INT out_spr = -1;
+ in_GRj = FLD (in_GRj);
+ out_spr = FLD (out_spr);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_gr2spr (current_cpu, idesc, 0, referenced, in_GRj, out_spr);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_movsg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_movsg.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_spr = -1;
+ INT out_GRj = -1;
+ in_spr = FLD (in_spr);
+ out_GRj = FLD (out_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_spr2gr (current_cpu, idesc, 0, referenced, in_spr, out_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_beq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ble (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_blt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bn (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bp (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_beq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbeq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fblg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbue (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fblt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbuge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbug (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fble (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbule (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbo (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fbne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bctrlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bralr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_beqlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_blelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bgtlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bltlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bgelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_blslr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bhilr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bclr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnclr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bplr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bvlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bnvlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbralr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbnolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbeqlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbnelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fblglr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbuelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbullr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbgelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbltlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbugelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbuglr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fblelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbgtlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbulelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbulr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fbolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcralr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcnolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bceqlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcnelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bclelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcgtlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcltlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcgelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bclslr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bchilr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcclr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcnclr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcnlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcplr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcvlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bcnvlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_ICCi_2 = FLD (in_ICCi_2);
+ referenced |= 1 << 2;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbralr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ if (insn_referenced & (1 << 5)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbnolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbeqlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbnelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcblglr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbuelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbullr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbgelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbltlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbugelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbuglr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcblelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbgtlr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbulelr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbulr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcbolr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_FCCi_2 = FLD (in_FCCi_2);
+ referenced |= 1 << 3;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_jmpl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_calll (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_jmpil (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_jmpil.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_callil (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_jmpil.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_call (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_call.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_rett (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_rett.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_rei (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_teq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tlt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_thi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tnc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tn (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tp (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tnv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_teq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fteq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftlg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftue (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftlt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftuge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftug (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftule (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fto (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tira (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tino (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tieq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tine (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tile (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tigt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tilt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tige (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tils (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tihi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tic (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tinc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tin (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tip (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tiv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tinv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_tieq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_ICCi_2 = FLD (in_ICCi_2);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftira (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftino (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftine (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftieq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftilg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiue (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftige (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftilt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiuge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiug (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftile (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftigt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiule (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftiu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ftio (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_ftine.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_FCCi_2 = FLD (in_FCCi_2);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_trap (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_break (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_break.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mtrap (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_andcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_orcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_xorcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nandcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_norcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_andncr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_orncr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nandncr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_norncr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_notcr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_andcr.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckeq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cklt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cknc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckn (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckp (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ckv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cknv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckeq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcklg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckue (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcklt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckuge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckug (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fckule (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcku (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcko (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckeq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ccklt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ccknc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckn (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckp (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cckv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ccknv (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cckeq.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_ICCi_3 = FLD (in_ICCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckra (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckno (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckne (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckeq (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfcklg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckue (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfcklt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckuge (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckug (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckle (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckgt (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfckule (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfcku (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfcko (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfckne.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ICCi_3 = -1;
+ INT in_FCCi_3 = -1;
+ in_FCCi_3 = FLD (in_FCCi_3);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_check (current_cpu, idesc, 0, referenced, in_ICCi_3, in_FCCi_3);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cjmpl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ccalll (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ INT in_ICCi_2 = -1;
+ INT in_FCCi_2 = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 4;
+ cycles += frvbf_model_fr450_u_branch (current_cpu, idesc, 0, referenced, in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_ici (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_ici (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dci (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_dci (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_icei (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icei.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_ici (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dcei (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icei.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_dci (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dcf (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_dcf (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dcef (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icei.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_dcf (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_witlb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_wdtlb (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_itlbi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dtlbi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_icpl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_icpl (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dcpl (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_icpl.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ in_GRj = FLD (in_GRj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_dcpl (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_icul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_jmpil.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_icul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_dcul (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_jmpil.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_GRi = -1;
+ INT in_GRj = -1;
+ in_GRi = FLD (in_GRi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_dcul (current_cpu, idesc, 0, referenced, in_GRi, in_GRj);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_bar (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_barrier (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_membar (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_membar (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cop1 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cop2 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clrgr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_swapi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clrfr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clrga (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_clrfa (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_commitgr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_setlos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_commitfr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhsethis.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_commitga (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_commitfa (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fitos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fditos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fstoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdstoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fitod (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fitod.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdtoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdtoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fditos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fditos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdstoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdstoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfditos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fditos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdstoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdstoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfitos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfitos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfstoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfstoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfitos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fditos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfstoi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdstoi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmovs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmovd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmovs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmovs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fnegs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fnegd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdnegs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfnegs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fabss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fabsd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdabss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfabss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fsqrts (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdsqrts (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdsqrts (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fsqrtd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfsqrts (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfsqrts (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmuls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdivs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_faddd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fsubd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmuld (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdivd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmuls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfdivs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfmuls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdivs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcmps (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfcmps.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fcmpd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fcmpd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfcmps (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfcmps.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdcmps (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_nfdcmps.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmaddd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmsubd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fmaddd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdmadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfmadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfmsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmas (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmas (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdmas (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdmss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmas (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cfmss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cfmas.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fmsd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfmas (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfmss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmuls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fddivs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdsads (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fdmulcs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdmulcs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdadds (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdsubs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdmuls (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfddivs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdsads (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_fdmadds.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_nfdcmps (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_nfdcmps.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhsetlos (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhsetlos.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_FRkhi = -1;
+ INT out_FRklo = -1;
+ out_FRklo = FLD (out_FRklo);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_hilo (current_cpu, idesc, 0, referenced, out_FRkhi, out_FRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhsethis (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhsethis.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_FRkhi = -1;
+ INT out_FRklo = -1;
+ out_FRkhi = FLD (out_FRkhi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_media_hilo (current_cpu, idesc, 0, referenced, out_FRkhi, out_FRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhdsets (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhdsets.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhsetloh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhsetloh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_FRkhi = -1;
+ INT out_FRklo = -1;
+ out_FRklo = FLD (out_FRklo);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_hilo (current_cpu, idesc, 0, referenced, out_FRkhi, out_FRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhsethih (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhsethih.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT out_FRkhi = -1;
+ INT out_FRklo = -1;
+ out_FRkhi = FLD (out_FRkhi);
+ referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_media_hilo (current_cpu, idesc, 0, referenced, out_FRkhi, out_FRklo);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhdseth (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mhdseth.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mand (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mxor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmand (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmand.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmand.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmxor (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmand.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mnot (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmnot (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmand.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mrotli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mrotri (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mwcut (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mwcuti (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcut (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcuti (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcutss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcutssi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdcutssi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdcutssi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_FRintk = FLD (out_FRintkeven);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_media_4_acc_dual (current_cpu, idesc, 0, referenced, in_ACC40Si, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_maveh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcut.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_msllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msrlhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_msllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_msllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_6 (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdrotli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdrotli.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_3_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcplhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcplhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_3_dual (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcpli (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_3_dual (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msaths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqsaths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msathu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcmpsh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcmpsh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FCCk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FCCk = FLD (out_FCCk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_7 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FCCk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcmpuh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcmpsh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FCCk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_FCCk = FLD (out_FCCk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_7 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FCCk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mabshs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mabshs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRintj = FLD (in_FRintj);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_maddhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_maddhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msubhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msubhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ referenced |= 1 << 0;
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmaddhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmaddhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmsubhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmsubhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_1 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqaddhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqaddhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqsubhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqsubhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqaddhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqaddhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqsubhss (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_1_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintieven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_3_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintieven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_3_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_acc (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_msubaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_acc (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdaddaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_acc_dual (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdsubaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_acc_dual (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_masaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_add_sub (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdasaccs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT out_ACC40Sk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 6)) referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_2_add_sub_dual (current_cpu, idesc, 0, referenced, in_ACC40Si, out_ACC40Sk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmulhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmulhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmulxhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmulxhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmmulhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmmulhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmulhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmulhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmulxhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmulxhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqmulhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 15)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqmulhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 15)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmachs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmachu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Uk = FLD (out_ACC40Uk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmrdhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mmrdhu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Uk = FLD (out_ACC40Uk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmmachs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmmachu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Uk = FLD (out_ACC40Uk);
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmachs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 17)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmachu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Uk = FLD (out_ACC40Uk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 17)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqmachs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 19)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmqmachu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachu.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Uk = FLD (out_ACC40Uk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 19)) referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqxmachs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 17)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqxmacxhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 17)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqmacxhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 17)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcpxrs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcpxru (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcpxis (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcpxiu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 9)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmcpxrs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmcpxru (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmcpxis (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmcpxiu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ in_FRinti = FLD (in_FRinti);
+ in_FRintj = FLD (in_FRintj);
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
+ if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+ if (insn_referenced & (1 << 11)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqcpxrs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqcpxru (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqcpxis (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mqcpxiu (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_ACC40Uk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ if (insn_referenced & (1 << 13)) referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_2_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_ACC40Sk, out_ACC40Uk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mexpdhw (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmexpdhw.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmexpdhw (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmexpdhw.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mexpdhd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmexpdhd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_dual_expand (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmexpdhd (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmexpdhd.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_dual_expand (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mpackh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ cycles += frvbf_model_fr450_u_media_3 (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdpackh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdpackh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRintieven);
+ in_FRintj = FLD (in_FRintjeven);
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_3_quad (current_cpu, idesc, 0, referenced, in_FRinti, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_munpackh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_munpackh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_FRintk = FLD (out_FRintkeven);
+ if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+ cycles += frvbf_model_fr450_u_media_dual_expand (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mdunpackh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdunpackh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mbtoh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmbtoh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_dual_expand (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmbtoh (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmbtoh.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRinti = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintkeven);
+ cycles += frvbf_model_fr450_u_media_dual_expand (current_cpu, idesc, 0, referenced, in_FRinti, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mhtob (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmhtob.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintk);
+ in_FRintj = FLD (in_FRintjeven);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_dual_htob (current_cpu, idesc, 0, referenced, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmhtob (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmhtob.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_FRintj = -1;
+ INT out_FRintk = -1;
+ out_FRintk = FLD (out_FRintk);
+ in_FRintj = FLD (in_FRintjeven);
+ referenced |= 1 << 1;
+ cycles += frvbf_model_fr450_u_media_dual_htob (current_cpu, idesc, 0, referenced, in_FRintj, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mbtohe (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmbtohe.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_cmbtohe (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmbtohe.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mnop (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mclracc_0 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mclracc_1 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mdasaccs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_media_4_mclracca (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mrdacc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mcuti.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ in_ACC40Si = FLD (in_ACC40Si);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mrdaccg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mrdaccg.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACCGi = -1;
+ INT in_FRinti = -1;
+ INT out_ACCGk = -1;
+ INT out_FRintk = -1;
+ in_ACCGi = FLD (in_ACCGi);
+ out_FRintk = FLD (out_FRintk);
+ referenced |= 1 << 0;
+ referenced |= 1 << 3;
+ cycles += frvbf_model_fr450_u_media_4_accg (current_cpu, idesc, 0, referenced, in_ACCGi, in_FRinti, out_ACCGk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mwtacc (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmmachs.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACC40Si = -1;
+ INT in_FRintj = -1;
+ INT out_ACC40Sk = -1;
+ INT out_FRintk = -1;
+ out_ACC40Sk = FLD (out_ACC40Sk);
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_4 (current_cpu, idesc, 0, referenced, in_ACC40Si, in_FRintj, out_ACC40Sk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mwtaccg (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mwtaccg.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ INT in_ACCGi = -1;
+ INT in_FRinti = -1;
+ INT out_ACCGk = -1;
+ INT out_FRintk = -1;
+ in_FRinti = FLD (in_FRinti);
+ out_ACCGk = FLD (out_ACCGk);
+ referenced |= 1 << 1;
+ referenced |= 1 << 2;
+ cycles += frvbf_model_fr450_u_media_4_accg (current_cpu, idesc, 0, referenced, in_ACCGi, in_FRinti, out_ACCGk, out_FRintk);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcop1 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_mcop2 (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_fr450_fnop (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_fr450_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_simple_add (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_addcc.f
@@ -77269,102 +92967,6 @@ model_simple_stc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_simple_rstb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rstbf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rsthf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rstf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_simple_std (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstdu.f
@@ -77413,38 +93015,6 @@ model_simple_stdc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_simple_rstd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rstdf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_simple_stq (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_smulcc.f
@@ -77493,38 +93063,6 @@ model_simple_stqc (SIM_CPU *current_cpu, void *sem_arg)
}
static int
-model_simple_rstq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
-model_simple_rstqf (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
- const IDESC * UNUSED idesc = abuf->idesc;
- int cycles = 0;
- {
- int referenced = 0;
- int UNUSED insn_referenced = abuf->written;
- cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
- }
- return cycles;
-#undef FLD
-}
-
-static int
model_simple_stbu (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_cstbu.f
@@ -82949,6 +98487,54 @@ model_simple_membar (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_simple_lrai (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_simple_lrad (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_simple_tlbpr (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_simple_cop1 (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.fmt_empty.f
@@ -85301,6 +100887,70 @@ model_simple_cmqsubhus (SIM_CPU *current_cpu, void *sem_arg)
}
static int
+model_simple_mqlclrhs (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_simple_mqlmths (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_simple_mqsllhi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
+model_simple_mqsrahi (SIM_CPU *current_cpu, void *sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+ const IDESC * UNUSED idesc = abuf->idesc;
+ int cycles = 0;
+ {
+ int referenced = 0;
+ int UNUSED insn_referenced = abuf->written;
+ cycles += frvbf_model_simple_u_exec (current_cpu, idesc, 0, referenced);
+ }
+ return cycles;
+#undef FLD
+}
+
+static int
model_simple_maddaccs (SIM_CPU *current_cpu, void *sem_arg)
{
#define FLD(f) abuf->fields.sfmt_mdasaccs.f
@@ -86561,22 +102211,12 @@ static const INSN_TIMING frv_timing[] = {
{ FRVBF_INSN_STHF, model_frv_sthf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STF, model_frv_stf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STC, model_frv_stc, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_frv_rstb, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_frv_rsth, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RST, model_frv_rst, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_frv_rstbf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_frv_rsthf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_frv_rstf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STD, model_frv_std, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDF, model_frv_stdf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDC, model_frv_stdc, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_frv_rstd, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_frv_rstdf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQ, model_frv_stq, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQF, model_frv_stqf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQC, model_frv_stqc, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_frv_rstq, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_frv_rstqf, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STBU, model_frv_stbu, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STHU, model_frv_sthu, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STU, model_frv_stu, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
@@ -86916,6 +102556,9 @@ static const INSN_TIMING frv_timing[] = {
{ FRVBF_INSN_DCUL, model_frv_dcul, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_BAR, model_frv_bar, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_frv_membar, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_frv_lrai, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_frv_lrad, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_frv_tlbpr, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_frv_cop1, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_frv_cop2, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_frv_clrgr, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
@@ -87063,6 +102706,10 @@ static const INSN_TIMING frv_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_frv_cmqaddhus, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_frv_cmqsubhss, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_frv_cmqsubhus, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_frv_mqlclrhs, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_frv_mqlmths, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_frv_mqsllhi, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_frv_mqsrahi, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_frv_maddaccs, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_frv_msubaccs, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_frv_mdaddaccs, { { (int) UNIT_FRV_U_EXEC, 1, 1 } } },
@@ -87318,22 +102965,12 @@ static const INSN_TIMING fr550_timing[] = {
{ FRVBF_INSN_STHF, model_fr550_sthf, { { (int) UNIT_FR550_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STF, model_fr550_stf, { { (int) UNIT_FR550_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STC, model_fr550_stc, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_fr550_rstb, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_fr550_rsth, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RST, model_fr550_rst, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_fr550_rstbf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_fr550_rsthf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_fr550_rstf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STD, model_fr550_std, { { (int) UNIT_FR550_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDF, model_fr550_stdf, { { (int) UNIT_FR550_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDC, model_fr550_stdc, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_fr550_rstd, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_fr550_rstdf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQ, model_fr550_stq, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQF, model_fr550_stqf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQC, model_fr550_stqc, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_fr550_rstq, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_fr550_rstqf, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STBU, model_fr550_stbu, { { (int) UNIT_FR550_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STHU, model_fr550_sthu, { { (int) UNIT_FR550_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STU, model_fr550_stu, { { (int) UNIT_FR550_U_GR_STORE, 1, 1 } } },
@@ -87509,9 +103146,9 @@ static const INSN_TIMING fr550_timing[] = {
{ FRVBF_INSN_FCBULR, model_fr550_fcbulr, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_FCBOLR, model_fr550_fcbolr, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_JMPL, model_fr550_jmpl, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
- { FRVBF_INSN_CALLL, model_fr550_calll, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CALLL, model_fr550_calll, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_JMPIL, model_fr550_jmpil, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
- { FRVBF_INSN_CALLIL, model_fr550_callil, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CALLIL, model_fr550_callil, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_CALL, model_fr550_call, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_RETT, model_fr550_rett, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_REI, model_fr550_rei, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
@@ -87656,7 +103293,7 @@ static const INSN_TIMING fr550_timing[] = {
{ FRVBF_INSN_CFCKU, model_fr550_cfcku, { { (int) UNIT_FR550_U_CHECK, 1, 1 } } },
{ FRVBF_INSN_CFCKO, model_fr550_cfcko, { { (int) UNIT_FR550_U_CHECK, 1, 1 } } },
{ FRVBF_INSN_CJMPL, model_fr550_cjmpl, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
- { FRVBF_INSN_CCALLL, model_fr550_ccalll, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CCALLL, model_fr550_ccalll, { { (int) UNIT_FR550_U_BRANCH, 1, 1 } } },
{ FRVBF_INSN_ICI, model_fr550_ici, { { (int) UNIT_FR550_U_ICI, 1, 1 } } },
{ FRVBF_INSN_DCI, model_fr550_dci, { { (int) UNIT_FR550_U_DCI, 1, 1 } } },
{ FRVBF_INSN_ICEI, model_fr550_icei, { { (int) UNIT_FR550_U_ICI, 1, 1 } } },
@@ -87673,6 +103310,9 @@ static const INSN_TIMING fr550_timing[] = {
{ FRVBF_INSN_DCUL, model_fr550_dcul, { { (int) UNIT_FR550_U_DCUL, 1, 1 } } },
{ FRVBF_INSN_BAR, model_fr550_bar, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_fr550_membar, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_fr550_lrai, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_fr550_lrad, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_fr550_tlbpr, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_fr550_cop1, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_fr550_cop2, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_fr550_clrgr, { { (int) UNIT_FR550_U_CLRGR, 1, 1 } } },
@@ -87820,6 +103460,10 @@ static const INSN_TIMING fr550_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_fr550_cmqaddhus, { { (int) UNIT_FR550_U_MEDIA_QUAD, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_fr550_cmqsubhss, { { (int) UNIT_FR550_U_MEDIA_QUAD, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_fr550_cmqsubhus, { { (int) UNIT_FR550_U_MEDIA_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_fr550_mqlclrhs, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_fr550_mqlmths, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_fr550_mqsllhi, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_fr550_mqsrahi, { { (int) UNIT_FR550_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_fr550_maddaccs, { { (int) UNIT_FR550_U_MEDIA_4_ACC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_fr550_msubaccs, { { (int) UNIT_FR550_U_MEDIA_4_ACC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_fr550_mdaddaccs, { { (int) UNIT_FR550_U_MEDIA_4_ACC_DUAL, 1, 1 } } },
@@ -88075,22 +103719,12 @@ static const INSN_TIMING fr500_timing[] = {
{ FRVBF_INSN_STHF, model_fr500_sthf, { { (int) UNIT_FR500_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STF, model_fr500_stf, { { (int) UNIT_FR500_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STC, model_fr500_stc, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_fr500_rstb, { { (int) UNIT_FR500_U_GR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_fr500_rsth, { { (int) UNIT_FR500_U_GR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RST, model_fr500_rst, { { (int) UNIT_FR500_U_GR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_fr500_rstbf, { { (int) UNIT_FR500_U_FR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_fr500_rsthf, { { (int) UNIT_FR500_U_FR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_fr500_rstf, { { (int) UNIT_FR500_U_FR_R_STORE, 1, 1 } } },
{ FRVBF_INSN_STD, model_fr500_std, { { (int) UNIT_FR500_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDF, model_fr500_stdf, { { (int) UNIT_FR500_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDC, model_fr500_stdc, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_fr500_rstd, { { (int) UNIT_FR500_U_GR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_fr500_rstdf, { { (int) UNIT_FR500_U_FR_R_STORE, 1, 1 } } },
{ FRVBF_INSN_STQ, model_fr500_stq, { { (int) UNIT_FR500_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STQF, model_fr500_stqf, { { (int) UNIT_FR500_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STQC, model_fr500_stqc, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_fr500_rstq, { { (int) UNIT_FR500_U_GR_R_STORE, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_fr500_rstqf, { { (int) UNIT_FR500_U_FR_R_STORE, 1, 1 } } },
{ FRVBF_INSN_STBU, model_fr500_stbu, { { (int) UNIT_FR500_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STHU, model_fr500_sthu, { { (int) UNIT_FR500_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STU, model_fr500_stu, { { (int) UNIT_FR500_U_GR_STORE, 1, 1 } } },
@@ -88430,6 +104064,9 @@ static const INSN_TIMING fr500_timing[] = {
{ FRVBF_INSN_DCUL, model_fr500_dcul, { { (int) UNIT_FR500_U_DCUL, 1, 1 } } },
{ FRVBF_INSN_BAR, model_fr500_bar, { { (int) UNIT_FR500_U_BARRIER, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_fr500_membar, { { (int) UNIT_FR500_U_MEMBAR, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_fr500_lrai, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_fr500_lrad, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_fr500_tlbpr, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_fr500_cop1, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_fr500_cop2, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_fr500_clrgr, { { (int) UNIT_FR500_U_CLRGR, 1, 1 } } },
@@ -88577,6 +104214,10 @@ static const INSN_TIMING fr500_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_fr500_cmqaddhus, { { (int) UNIT_FR500_U_MEDIA_QUAD_ARITH, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_fr500_cmqsubhss, { { (int) UNIT_FR500_U_MEDIA_QUAD_ARITH, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_fr500_cmqsubhus, { { (int) UNIT_FR500_U_MEDIA_QUAD_ARITH, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_fr500_mqlclrhs, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_fr500_mqlmths, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_fr500_mqsllhi, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_fr500_mqsrahi, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_fr500_maddaccs, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_fr500_msubaccs, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_fr500_mdaddaccs, { { (int) UNIT_FR500_U_EXEC, 1, 1 } } },
@@ -88832,22 +104473,12 @@ static const INSN_TIMING tomcat_timing[] = {
{ FRVBF_INSN_STHF, model_tomcat_sthf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STF, model_tomcat_stf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STC, model_tomcat_stc, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_tomcat_rstb, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_tomcat_rsth, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RST, model_tomcat_rst, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_tomcat_rstbf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_tomcat_rsthf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_tomcat_rstf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STD, model_tomcat_std, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDF, model_tomcat_stdf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDC, model_tomcat_stdc, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_tomcat_rstd, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_tomcat_rstdf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQ, model_tomcat_stq, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQF, model_tomcat_stqf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQC, model_tomcat_stqc, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_tomcat_rstq, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_tomcat_rstqf, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STBU, model_tomcat_stbu, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STHU, model_tomcat_sthu, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STU, model_tomcat_stu, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
@@ -89187,6 +104818,9 @@ static const INSN_TIMING tomcat_timing[] = {
{ FRVBF_INSN_DCUL, model_tomcat_dcul, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_BAR, model_tomcat_bar, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_tomcat_membar, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_tomcat_lrai, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_tomcat_lrad, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_tomcat_tlbpr, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_tomcat_cop1, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_tomcat_cop2, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_tomcat_clrgr, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
@@ -89334,6 +104968,10 @@ static const INSN_TIMING tomcat_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_tomcat_cmqaddhus, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_tomcat_cmqsubhss, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_tomcat_cmqsubhus, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_tomcat_mqlclrhs, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_tomcat_mqlmths, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_tomcat_mqsllhi, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_tomcat_mqsrahi, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_tomcat_maddaccs, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_tomcat_msubaccs, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_tomcat_mdaddaccs, { { (int) UNIT_TOMCAT_U_EXEC, 1, 1 } } },
@@ -89419,9 +105057,9 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_XOR, model_fr400_xor, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
{ FRVBF_INSN_NOT, model_fr400_not, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
{ FRVBF_INSN_SDIV, model_fr400_sdiv, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
- { FRVBF_INSN_NSDIV, model_fr400_nsdiv, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NSDIV, model_fr400_nsdiv, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_UDIV, model_fr400_udiv, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
- { FRVBF_INSN_NUDIV, model_fr400_nudiv, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NUDIV, model_fr400_nudiv, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_SMUL, model_fr400_smul, { { (int) UNIT_FR400_U_IMUL, 1, 1 } } },
{ FRVBF_INSN_UMUL, model_fr400_umul, { { (int) UNIT_FR400_U_IMUL, 1, 1 } } },
{ FRVBF_INSN_SMU, model_fr400_smu, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
@@ -89477,9 +105115,9 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_ORI, model_fr400_ori, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
{ FRVBF_INSN_XORI, model_fr400_xori, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
{ FRVBF_INSN_SDIVI, model_fr400_sdivi, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
- { FRVBF_INSN_NSDIVI, model_fr400_nsdivi, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NSDIVI, model_fr400_nsdivi, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_UDIVI, model_fr400_udivi, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
- { FRVBF_INSN_NUDIVI, model_fr400_nudivi, { { (int) UNIT_FR400_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NUDIVI, model_fr400_nudivi, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_SMULI, model_fr400_smuli, { { (int) UNIT_FR400_U_IMUL, 1, 1 } } },
{ FRVBF_INSN_UMULI, model_fr400_umuli, { { (int) UNIT_FR400_U_IMUL, 1, 1 } } },
{ FRVBF_INSN_SLLI, model_fr400_slli, { { (int) UNIT_FR400_U_INTEGER, 1, 1 } } },
@@ -89589,22 +105227,12 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_STHF, model_fr400_sthf, { { (int) UNIT_FR400_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STF, model_fr400_stf, { { (int) UNIT_FR400_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STC, model_fr400_stc, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_fr400_rstb, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_fr400_rsth, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RST, model_fr400_rst, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_fr400_rstbf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_fr400_rsthf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_fr400_rstf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STD, model_fr400_std, { { (int) UNIT_FR400_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDF, model_fr400_stdf, { { (int) UNIT_FR400_U_FR_STORE, 1, 1 } } },
{ FRVBF_INSN_STDC, model_fr400_stdc, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_fr400_rstd, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_fr400_rstdf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQ, model_fr400_stq, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQF, model_fr400_stqf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQC, model_fr400_stqc, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_fr400_rstq, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_fr400_rstqf, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STBU, model_fr400_stbu, { { (int) UNIT_FR400_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STHU, model_fr400_sthu, { { (int) UNIT_FR400_U_GR_STORE, 1, 1 } } },
{ FRVBF_INSN_STU, model_fr400_stu, { { (int) UNIT_FR400_U_GR_STORE, 1, 1 } } },
@@ -89944,6 +105572,9 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_DCUL, model_fr400_dcul, { { (int) UNIT_FR400_U_DCUL, 1, 1 } } },
{ FRVBF_INSN_BAR, model_fr400_bar, { { (int) UNIT_FR400_U_BARRIER, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_fr400_membar, { { (int) UNIT_FR400_U_MEMBAR, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_fr400_lrai, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_fr400_lrad, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_fr400_tlbpr, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_fr400_cop1, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_fr400_cop2, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_fr400_clrgr, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
@@ -90091,6 +105722,10 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_fr400_cmqaddhus, { { (int) UNIT_FR400_U_MEDIA_1_QUAD, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_fr400_cmqsubhss, { { (int) UNIT_FR400_U_MEDIA_1_QUAD, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_fr400_cmqsubhus, { { (int) UNIT_FR400_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_fr400_mqlclrhs, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_fr400_mqlmths, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_fr400_mqsllhi, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_fr400_mqsrahi, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_fr400_maddaccs, { { (int) UNIT_FR400_U_MEDIA_2_ACC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_fr400_msubaccs, { { (int) UNIT_FR400_U_MEDIA_2_ACC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_fr400_mdaddaccs, { { (int) UNIT_FR400_U_MEDIA_2_ACC_DUAL, 1, 1 } } },
@@ -90160,6 +105795,760 @@ static const INSN_TIMING fr400_timing[] = {
{ FRVBF_INSN_FNOP, model_fr400_fnop, { { (int) UNIT_FR400_U_EXEC, 1, 1 } } },
};
+/* Model timing data for `fr450'. */
+
+static const INSN_TIMING fr450_timing[] = {
+ { FRVBF_INSN_X_INVALID, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_X_AFTER, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_X_BEFORE, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_X_CHAIN, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_X_BEGIN, 0, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ADD, model_fr450_add, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUB, model_fr450_sub, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_AND, model_fr450_and, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_OR, model_fr450_or, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_XOR, model_fr450_xor, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_NOT, model_fr450_not, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SDIV, model_fr450_sdiv, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NSDIV, model_fr450_nsdiv, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_UDIV, model_fr450_udiv, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NUDIV, model_fr450_nudiv, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_SMUL, model_fr450_smul, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_UMUL, model_fr450_umul, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_SMU, model_fr450_smu, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SMASS, model_fr450_smass, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SMSSS, model_fr450_smsss, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SLL, model_fr450_sll, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRL, model_fr450_srl, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRA, model_fr450_sra, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SLASS, model_fr450_slass, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_SCUTSS, model_fr450_scutss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_SCAN, model_fr450_scan, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CADD, model_fr450_cadd, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSUB, model_fr450_csub, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CAND, model_fr450_cand, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_COR, model_fr450_cor, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CXOR, model_fr450_cxor, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CNOT, model_fr450_cnot, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSMUL, model_fr450_csmul, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_CSDIV, model_fr450_csdiv, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_CUDIV, model_fr450_cudiv, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_CSLL, model_fr450_csll, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSRL, model_fr450_csrl, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSRA, model_fr450_csra, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSCAN, model_fr450_cscan, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDCC, model_fr450_addcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBCC, model_fr450_subcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ANDCC, model_fr450_andcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ORCC, model_fr450_orcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_XORCC, model_fr450_xorcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SLLCC, model_fr450_sllcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRLCC, model_fr450_srlcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRACC, model_fr450_sracc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SMULCC, model_fr450_smulcc, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_UMULCC, model_fr450_umulcc, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_CADDCC, model_fr450_caddcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSUBCC, model_fr450_csubcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSMULCC, model_fr450_csmulcc, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_CANDCC, model_fr450_candcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CORCC, model_fr450_corcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CXORCC, model_fr450_cxorcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSLLCC, model_fr450_csllcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSRLCC, model_fr450_csrlcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CSRACC, model_fr450_csracc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDX, model_fr450_addx, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBX, model_fr450_subx, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDXCC, model_fr450_addxcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBXCC, model_fr450_subxcc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDSS, model_fr450_addss, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBSS, model_fr450_subss, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDI, model_fr450_addi, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBI, model_fr450_subi, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ANDI, model_fr450_andi, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ORI, model_fr450_ori, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_XORI, model_fr450_xori, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SDIVI, model_fr450_sdivi, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NSDIVI, model_fr450_nsdivi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_UDIVI, model_fr450_udivi, { { (int) UNIT_FR450_U_IDIV, 1, 1 } } },
+ { FRVBF_INSN_NUDIVI, model_fr450_nudivi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_SMULI, model_fr450_smuli, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_UMULI, model_fr450_umuli, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_SLLI, model_fr450_slli, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRLI, model_fr450_srli, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRAI, model_fr450_srai, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SCANI, model_fr450_scani, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDICC, model_fr450_addicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBICC, model_fr450_subicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ANDICC, model_fr450_andicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ORICC, model_fr450_oricc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_XORICC, model_fr450_xoricc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SMULICC, model_fr450_smulicc, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_UMULICC, model_fr450_umulicc, { { (int) UNIT_FR450_U_IMUL, 1, 1 } } },
+ { FRVBF_INSN_SLLICC, model_fr450_sllicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRLICC, model_fr450_srlicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SRAICC, model_fr450_sraicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDXI, model_fr450_addxi, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBXI, model_fr450_subxi, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_ADDXICC, model_fr450_addxicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SUBXICC, model_fr450_subxicc, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CMPB, model_fr450_cmpb, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_CMPBA, model_fr450_cmpba, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_SETLO, model_fr450_setlo, { { (int) UNIT_FR450_U_SET_HILO, 1, 1 } } },
+ { FRVBF_INSN_SETHI, model_fr450_sethi, { { (int) UNIT_FR450_U_SET_HILO, 1, 1 } } },
+ { FRVBF_INSN_SETLOS, model_fr450_setlos, { { (int) UNIT_FR450_U_INTEGER, 1, 1 } } },
+ { FRVBF_INSN_LDSB, model_fr450_ldsb, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUB, model_fr450_ldub, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDSH, model_fr450_ldsh, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUH, model_fr450_lduh, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LD, model_fr450_ld, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDBF, model_fr450_ldbf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDHF, model_fr450_ldhf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDF, model_fr450_ldf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDC, model_fr450_ldc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDSB, model_fr450_nldsb, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUB, model_fr450_nldub, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDSH, model_fr450_nldsh, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUH, model_fr450_nlduh, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLD, model_fr450_nld, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDBF, model_fr450_nldbf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDHF, model_fr450_nldhf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDF, model_fr450_nldf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDD, model_fr450_ldd, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDDF, model_fr450_lddf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDDC, model_fr450_lddc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDD, model_fr450_nldd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDDF, model_fr450_nlddf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQ, model_fr450_ldq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQF, model_fr450_ldqf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQC, model_fr450_ldqc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDQ, model_fr450_nldq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDQF, model_fr450_nldqf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDSBU, model_fr450_ldsbu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUBU, model_fr450_ldubu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDSHU, model_fr450_ldshu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUHU, model_fr450_lduhu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDU, model_fr450_ldu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_NLDSBU, model_fr450_nldsbu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUBU, model_fr450_nldubu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDSHU, model_fr450_nldshu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUHU, model_fr450_nlduhu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDU, model_fr450_nldu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDBFU, model_fr450_ldbfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDHFU, model_fr450_ldhfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDFU, model_fr450_ldfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDCU, model_fr450_ldcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDBFU, model_fr450_nldbfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDHFU, model_fr450_nldhfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDFU, model_fr450_nldfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDDU, model_fr450_lddu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_NLDDU, model_fr450_nlddu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDDFU, model_fr450_lddfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDDCU, model_fr450_lddcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDDFU, model_fr450_nlddfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQU, model_fr450_ldqu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDQU, model_fr450_nldqu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQFU, model_fr450_ldqfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQCU, model_fr450_ldqcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDQFU, model_fr450_nldqfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDSBI, model_fr450_ldsbi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDSHI, model_fr450_ldshi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDI, model_fr450_ldi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUBI, model_fr450_ldubi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDUHI, model_fr450_lduhi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDBFI, model_fr450_ldbfi, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDHFI, model_fr450_ldhfi, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDFI, model_fr450_ldfi, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_NLDSBI, model_fr450_nldsbi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUBI, model_fr450_nldubi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDSHI, model_fr450_nldshi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDUHI, model_fr450_nlduhi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDI, model_fr450_nldi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDBFI, model_fr450_nldbfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDHFI, model_fr450_nldhfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDFI, model_fr450_nldfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDDI, model_fr450_lddi, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_LDDFI, model_fr450_lddfi, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_NLDDI, model_fr450_nlddi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDDFI, model_fr450_nlddfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQI, model_fr450_ldqi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LDQFI, model_fr450_ldqfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NLDQFI, model_fr450_nldqfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STB, model_fr450_stb, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STH, model_fr450_sth, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_ST, model_fr450_st, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STBF, model_fr450_stbf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STHF, model_fr450_sthf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STF, model_fr450_stf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STC, model_fr450_stc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STD, model_fr450_std, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDF, model_fr450_stdf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDC, model_fr450_stdc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQ, model_fr450_stq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQF, model_fr450_stqf, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQC, model_fr450_stqc, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STBU, model_fr450_stbu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STHU, model_fr450_sthu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STU, model_fr450_stu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STBFU, model_fr450_stbfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STHFU, model_fr450_sthfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STFU, model_fr450_stfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STCU, model_fr450_stcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STDU, model_fr450_stdu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDFU, model_fr450_stdfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDCU, model_fr450_stdcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQU, model_fr450_stqu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQFU, model_fr450_stqfu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQCU, model_fr450_stqcu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLDSB, model_fr450_cldsb, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDUB, model_fr450_cldub, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDSH, model_fr450_cldsh, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDUH, model_fr450_clduh, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLD, model_fr450_cld, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDBF, model_fr450_cldbf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDHF, model_fr450_cldhf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDF, model_fr450_cldf, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDD, model_fr450_cldd, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDDF, model_fr450_clddf, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDQ, model_fr450_cldq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLDSBU, model_fr450_cldsbu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDUBU, model_fr450_cldubu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDSHU, model_fr450_cldshu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDUHU, model_fr450_clduhu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDU, model_fr450_cldu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDBFU, model_fr450_cldbfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDHFU, model_fr450_cldhfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDFU, model_fr450_cldfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDDU, model_fr450_clddu, { { (int) UNIT_FR450_U_GR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDDFU, model_fr450_clddfu, { { (int) UNIT_FR450_U_FR_LOAD, 1, 1 } } },
+ { FRVBF_INSN_CLDQU, model_fr450_cldqu, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CSTB, model_fr450_cstb, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTH, model_fr450_csth, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CST, model_fr450_cst, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTBF, model_fr450_cstbf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTHF, model_fr450_csthf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTF, model_fr450_cstf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTD, model_fr450_cstd, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTDF, model_fr450_cstdf, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTQ, model_fr450_cstq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CSTBU, model_fr450_cstbu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTHU, model_fr450_csthu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTU, model_fr450_cstu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTBFU, model_fr450_cstbfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTHFU, model_fr450_csthfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTFU, model_fr450_cstfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTDU, model_fr450_cstdu, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_CSTDFU, model_fr450_cstdfu, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STBI, model_fr450_stbi, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STHI, model_fr450_sthi, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STI, model_fr450_sti, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STBFI, model_fr450_stbfi, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STHFI, model_fr450_sthfi, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STFI, model_fr450_stfi, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDI, model_fr450_stdi, { { (int) UNIT_FR450_U_GR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STDFI, model_fr450_stdfi, { { (int) UNIT_FR450_U_FR_STORE, 1, 1 } } },
+ { FRVBF_INSN_STQI, model_fr450_stqi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_STQFI, model_fr450_stqfi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_SWAP, model_fr450_swap, { { (int) UNIT_FR450_U_SWAP, 1, 1 } } },
+ { FRVBF_INSN_SWAPI, model_fr450_swapi, { { (int) UNIT_FR450_U_SWAP, 1, 1 } } },
+ { FRVBF_INSN_CSWAP, model_fr450_cswap, { { (int) UNIT_FR450_U_SWAP, 1, 1 } } },
+ { FRVBF_INSN_MOVGF, model_fr450_movgf, { { (int) UNIT_FR450_U_GR2FR, 1, 1 } } },
+ { FRVBF_INSN_MOVFG, model_fr450_movfg, { { (int) UNIT_FR450_U_FR2GR, 1, 1 } } },
+ { FRVBF_INSN_MOVGFD, model_fr450_movgfd, { { (int) UNIT_FR450_U_GR2FR, 1, 1 } } },
+ { FRVBF_INSN_MOVFGD, model_fr450_movfgd, { { (int) UNIT_FR450_U_FR2GR, 1, 1 } } },
+ { FRVBF_INSN_MOVGFQ, model_fr450_movgfq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MOVFGQ, model_fr450_movfgq, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CMOVGF, model_fr450_cmovgf, { { (int) UNIT_FR450_U_GR2FR, 1, 1 } } },
+ { FRVBF_INSN_CMOVFG, model_fr450_cmovfg, { { (int) UNIT_FR450_U_FR2GR, 1, 1 } } },
+ { FRVBF_INSN_CMOVGFD, model_fr450_cmovgfd, { { (int) UNIT_FR450_U_GR2FR, 1, 1 } } },
+ { FRVBF_INSN_CMOVFGD, model_fr450_cmovfgd, { { (int) UNIT_FR450_U_FR2GR, 1, 1 } } },
+ { FRVBF_INSN_MOVGS, model_fr450_movgs, { { (int) UNIT_FR450_U_GR2SPR, 1, 1 } } },
+ { FRVBF_INSN_MOVSG, model_fr450_movsg, { { (int) UNIT_FR450_U_SPR2GR, 1, 1 } } },
+ { FRVBF_INSN_BRA, model_fr450_bra, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNO, model_fr450_bno, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BEQ, model_fr450_beq, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNE, model_fr450_bne, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLE, model_fr450_ble, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BGT, model_fr450_bgt, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLT, model_fr450_blt, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BGE, model_fr450_bge, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLS, model_fr450_bls, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BHI, model_fr450_bhi, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BC, model_fr450_bc, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNC, model_fr450_bnc, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BN, model_fr450_bn, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BP, model_fr450_bp, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BV, model_fr450_bv, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNV, model_fr450_bnv, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBRA, model_fr450_fbra, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBNO, model_fr450_fbno, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBNE, model_fr450_fbne, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBEQ, model_fr450_fbeq, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLG, model_fr450_fblg, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUE, model_fr450_fbue, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUL, model_fr450_fbul, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBGE, model_fr450_fbge, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLT, model_fr450_fblt, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUGE, model_fr450_fbuge, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUG, model_fr450_fbug, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLE, model_fr450_fble, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBGT, model_fr450_fbgt, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBULE, model_fr450_fbule, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBU, model_fr450_fbu, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBO, model_fr450_fbo, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCTRLR, model_fr450_bctrlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BRALR, model_fr450_bralr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNOLR, model_fr450_bnolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BEQLR, model_fr450_beqlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNELR, model_fr450_bnelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLELR, model_fr450_blelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BGTLR, model_fr450_bgtlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLTLR, model_fr450_bltlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BGELR, model_fr450_bgelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BLSLR, model_fr450_blslr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BHILR, model_fr450_bhilr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCLR, model_fr450_bclr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNCLR, model_fr450_bnclr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNLR, model_fr450_bnlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BPLR, model_fr450_bplr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BVLR, model_fr450_bvlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BNVLR, model_fr450_bnvlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBRALR, model_fr450_fbralr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBNOLR, model_fr450_fbnolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBEQLR, model_fr450_fbeqlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBNELR, model_fr450_fbnelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLGLR, model_fr450_fblglr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUELR, model_fr450_fbuelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBULLR, model_fr450_fbullr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBGELR, model_fr450_fbgelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLTLR, model_fr450_fbltlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUGELR, model_fr450_fbugelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBUGLR, model_fr450_fbuglr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBLELR, model_fr450_fblelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBGTLR, model_fr450_fbgtlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBULELR, model_fr450_fbulelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBULR, model_fr450_fbulr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FBOLR, model_fr450_fbolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCRALR, model_fr450_bcralr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCNOLR, model_fr450_bcnolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCEQLR, model_fr450_bceqlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCNELR, model_fr450_bcnelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCLELR, model_fr450_bclelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCGTLR, model_fr450_bcgtlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCLTLR, model_fr450_bcltlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCGELR, model_fr450_bcgelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCLSLR, model_fr450_bclslr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCHILR, model_fr450_bchilr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCCLR, model_fr450_bcclr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCNCLR, model_fr450_bcnclr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCNLR, model_fr450_bcnlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCPLR, model_fr450_bcplr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCVLR, model_fr450_bcvlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_BCNVLR, model_fr450_bcnvlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBRALR, model_fr450_fcbralr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBNOLR, model_fr450_fcbnolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBEQLR, model_fr450_fcbeqlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBNELR, model_fr450_fcbnelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBLGLR, model_fr450_fcblglr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBUELR, model_fr450_fcbuelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBULLR, model_fr450_fcbullr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBGELR, model_fr450_fcbgelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBLTLR, model_fr450_fcbltlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBUGELR, model_fr450_fcbugelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBUGLR, model_fr450_fcbuglr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBLELR, model_fr450_fcblelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBGTLR, model_fr450_fcbgtlr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBULELR, model_fr450_fcbulelr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBULR, model_fr450_fcbulr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_FCBOLR, model_fr450_fcbolr, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_JMPL, model_fr450_jmpl, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_CALLL, model_fr450_calll, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_JMPIL, model_fr450_jmpil, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_CALLIL, model_fr450_callil, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_CALL, model_fr450_call, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_RETT, model_fr450_rett, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_REI, model_fr450_rei, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TRA, model_fr450_tra, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TNO, model_fr450_tno, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TEQ, model_fr450_teq, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TNE, model_fr450_tne, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TLE, model_fr450_tle, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TGT, model_fr450_tgt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TLT, model_fr450_tlt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TGE, model_fr450_tge, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TLS, model_fr450_tls, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_THI, model_fr450_thi, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TC, model_fr450_tc, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TNC, model_fr450_tnc, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TN, model_fr450_tn, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TP, model_fr450_tp, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TV, model_fr450_tv, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TNV, model_fr450_tnv, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTRA, model_fr450_ftra, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTNO, model_fr450_ftno, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTNE, model_fr450_ftne, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTEQ, model_fr450_fteq, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTLG, model_fr450_ftlg, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTUE, model_fr450_ftue, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTUL, model_fr450_ftul, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTGE, model_fr450_ftge, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTLT, model_fr450_ftlt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTUGE, model_fr450_ftuge, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTUG, model_fr450_ftug, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTLE, model_fr450_ftle, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTGT, model_fr450_ftgt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTULE, model_fr450_ftule, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTU, model_fr450_ftu, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTO, model_fr450_fto, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIRA, model_fr450_tira, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TINO, model_fr450_tino, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIEQ, model_fr450_tieq, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TINE, model_fr450_tine, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TILE, model_fr450_tile, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIGT, model_fr450_tigt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TILT, model_fr450_tilt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIGE, model_fr450_tige, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TILS, model_fr450_tils, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIHI, model_fr450_tihi, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIC, model_fr450_tic, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TINC, model_fr450_tinc, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIN, model_fr450_tin, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIP, model_fr450_tip, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TIV, model_fr450_tiv, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_TINV, model_fr450_tinv, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIRA, model_fr450_ftira, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FTINO, model_fr450_ftino, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTINE, model_fr450_ftine, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIEQ, model_fr450_ftieq, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTILG, model_fr450_ftilg, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIUE, model_fr450_ftiue, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIUL, model_fr450_ftiul, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIGE, model_fr450_ftige, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTILT, model_fr450_ftilt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIUGE, model_fr450_ftiuge, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIUG, model_fr450_ftiug, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTILE, model_fr450_ftile, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIGT, model_fr450_ftigt, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIULE, model_fr450_ftiule, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIU, model_fr450_ftiu, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_FTIO, model_fr450_ftio, { { (int) UNIT_FR450_U_TRAP, 1, 1 } } },
+ { FRVBF_INSN_BREAK, model_fr450_break, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MTRAP, model_fr450_mtrap, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ANDCR, model_fr450_andcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ORCR, model_fr450_orcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_XORCR, model_fr450_xorcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NANDCR, model_fr450_nandcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NORCR, model_fr450_norcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ANDNCR, model_fr450_andncr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ORNCR, model_fr450_orncr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NANDNCR, model_fr450_nandncr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NORNCR, model_fr450_norncr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NOTCR, model_fr450_notcr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CKRA, model_fr450_ckra, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKNO, model_fr450_ckno, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKEQ, model_fr450_ckeq, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKNE, model_fr450_ckne, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKLE, model_fr450_ckle, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKGT, model_fr450_ckgt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKLT, model_fr450_cklt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKGE, model_fr450_ckge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKLS, model_fr450_ckls, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKHI, model_fr450_ckhi, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKC, model_fr450_ckc, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKNC, model_fr450_cknc, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKN, model_fr450_ckn, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKP, model_fr450_ckp, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKV, model_fr450_ckv, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CKNV, model_fr450_cknv, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKRA, model_fr450_fckra, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKNO, model_fr450_fckno, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKNE, model_fr450_fckne, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKEQ, model_fr450_fckeq, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKLG, model_fr450_fcklg, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKUE, model_fr450_fckue, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKUL, model_fr450_fckul, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKGE, model_fr450_fckge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKLT, model_fr450_fcklt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKUGE, model_fr450_fckuge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKUG, model_fr450_fckug, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKLE, model_fr450_fckle, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKGT, model_fr450_fckgt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKULE, model_fr450_fckule, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKU, model_fr450_fcku, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_FCKO, model_fr450_fcko, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKRA, model_fr450_cckra, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKNO, model_fr450_cckno, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKEQ, model_fr450_cckeq, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKNE, model_fr450_cckne, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKLE, model_fr450_cckle, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKGT, model_fr450_cckgt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKLT, model_fr450_ccklt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKGE, model_fr450_cckge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKLS, model_fr450_cckls, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKHI, model_fr450_cckhi, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKC, model_fr450_cckc, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKNC, model_fr450_ccknc, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKN, model_fr450_cckn, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKP, model_fr450_cckp, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKV, model_fr450_cckv, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CCKNV, model_fr450_ccknv, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKRA, model_fr450_cfckra, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKNO, model_fr450_cfckno, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKNE, model_fr450_cfckne, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKEQ, model_fr450_cfckeq, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKLG, model_fr450_cfcklg, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKUE, model_fr450_cfckue, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKUL, model_fr450_cfckul, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKGE, model_fr450_cfckge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKLT, model_fr450_cfcklt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKUGE, model_fr450_cfckuge, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKUG, model_fr450_cfckug, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKLE, model_fr450_cfckle, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKGT, model_fr450_cfckgt, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKULE, model_fr450_cfckule, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKU, model_fr450_cfcku, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CFCKO, model_fr450_cfcko, { { (int) UNIT_FR450_U_CHECK, 1, 1 } } },
+ { FRVBF_INSN_CJMPL, model_fr450_cjmpl, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_CCALLL, model_fr450_ccalll, { { (int) UNIT_FR450_U_BRANCH, 1, 1 } } },
+ { FRVBF_INSN_ICI, model_fr450_ici, { { (int) UNIT_FR450_U_ICI, 1, 1 } } },
+ { FRVBF_INSN_DCI, model_fr450_dci, { { (int) UNIT_FR450_U_DCI, 1, 1 } } },
+ { FRVBF_INSN_ICEI, model_fr450_icei, { { (int) UNIT_FR450_U_ICI, 1, 1 } } },
+ { FRVBF_INSN_DCEI, model_fr450_dcei, { { (int) UNIT_FR450_U_DCI, 1, 1 } } },
+ { FRVBF_INSN_DCF, model_fr450_dcf, { { (int) UNIT_FR450_U_DCF, 1, 1 } } },
+ { FRVBF_INSN_DCEF, model_fr450_dcef, { { (int) UNIT_FR450_U_DCF, 1, 1 } } },
+ { FRVBF_INSN_WITLB, model_fr450_witlb, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_WDTLB, model_fr450_wdtlb, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ITLBI, model_fr450_itlbi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_DTLBI, model_fr450_dtlbi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_ICPL, model_fr450_icpl, { { (int) UNIT_FR450_U_ICPL, 1, 1 } } },
+ { FRVBF_INSN_DCPL, model_fr450_dcpl, { { (int) UNIT_FR450_U_DCPL, 1, 1 } } },
+ { FRVBF_INSN_ICUL, model_fr450_icul, { { (int) UNIT_FR450_U_ICUL, 1, 1 } } },
+ { FRVBF_INSN_DCUL, model_fr450_dcul, { { (int) UNIT_FR450_U_DCUL, 1, 1 } } },
+ { FRVBF_INSN_BAR, model_fr450_bar, { { (int) UNIT_FR450_U_BARRIER, 1, 1 } } },
+ { FRVBF_INSN_MEMBAR, model_fr450_membar, { { (int) UNIT_FR450_U_MEMBAR, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_fr450_lrai, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_fr450_lrad, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_fr450_tlbpr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COP1, model_fr450_cop1, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COP2, model_fr450_cop2, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLRGR, model_fr450_clrgr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLRFR, model_fr450_clrfr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLRGA, model_fr450_clrga, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CLRFA, model_fr450_clrfa, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COMMITGR, model_fr450_commitgr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COMMITFR, model_fr450_commitfr, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COMMITGA, model_fr450_commitga, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_COMMITFA, model_fr450_commitfa, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FITOS, model_fr450_fitos, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FSTOI, model_fr450_fstoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FITOD, model_fr450_fitod, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDTOI, model_fr450_fdtoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDITOS, model_fr450_fditos, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDSTOI, model_fr450_fdstoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDITOS, model_fr450_nfditos, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDSTOI, model_fr450_nfdstoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFITOS, model_fr450_cfitos, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFSTOI, model_fr450_cfstoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFITOS, model_fr450_nfitos, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFSTOI, model_fr450_nfstoi, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMOVS, model_fr450_fmovs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMOVD, model_fr450_fmovd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMOVS, model_fr450_fdmovs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMOVS, model_fr450_cfmovs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FNEGS, model_fr450_fnegs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FNEGD, model_fr450_fnegd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDNEGS, model_fr450_fdnegs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFNEGS, model_fr450_cfnegs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FABSS, model_fr450_fabss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FABSD, model_fr450_fabsd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDABSS, model_fr450_fdabss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFABSS, model_fr450_cfabss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FSQRTS, model_fr450_fsqrts, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDSQRTS, model_fr450_fdsqrts, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDSQRTS, model_fr450_nfdsqrts, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FSQRTD, model_fr450_fsqrtd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFSQRTS, model_fr450_cfsqrts, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFSQRTS, model_fr450_nfsqrts, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FADDS, model_fr450_fadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FSUBS, model_fr450_fsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMULS, model_fr450_fmuls, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDIVS, model_fr450_fdivs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FADDD, model_fr450_faddd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FSUBD, model_fr450_fsubd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMULD, model_fr450_fmuld, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDIVD, model_fr450_fdivd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFADDS, model_fr450_cfadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFSUBS, model_fr450_cfsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMULS, model_fr450_cfmuls, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFDIVS, model_fr450_cfdivs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFADDS, model_fr450_nfadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFSUBS, model_fr450_nfsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFMULS, model_fr450_nfmuls, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDIVS, model_fr450_nfdivs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FCMPS, model_fr450_fcmps, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FCMPD, model_fr450_fcmpd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFCMPS, model_fr450_cfcmps, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDCMPS, model_fr450_fdcmps, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMADDS, model_fr450_fmadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMSUBS, model_fr450_fmsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMADDD, model_fr450_fmaddd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMSUBD, model_fr450_fmsubd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMADDS, model_fr450_fdmadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDMADDS, model_fr450_nfdmadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMADDS, model_fr450_cfmadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMSUBS, model_fr450_cfmsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFMADDS, model_fr450_nfmadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFMSUBS, model_fr450_nfmsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMAS, model_fr450_fmas, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMSS, model_fr450_fmss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMAS, model_fr450_fdmas, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMSS, model_fr450_fdmss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDMAS, model_fr450_nfdmas, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDMSS, model_fr450_nfdmss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMAS, model_fr450_cfmas, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CFMSS, model_fr450_cfmss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMAD, model_fr450_fmad, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FMSD, model_fr450_fmsd, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFMAS, model_fr450_nfmas, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFMSS, model_fr450_nfmss, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDADDS, model_fr450_fdadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDSUBS, model_fr450_fdsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMULS, model_fr450_fdmuls, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDDIVS, model_fr450_fddivs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDSADS, model_fr450_fdsads, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FDMULCS, model_fr450_fdmulcs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDMULCS, model_fr450_nfdmulcs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDADDS, model_fr450_nfdadds, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDSUBS, model_fr450_nfdsubs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDMULS, model_fr450_nfdmuls, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDDIVS, model_fr450_nfddivs, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDSADS, model_fr450_nfdsads, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_NFDCMPS, model_fr450_nfdcmps, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MHSETLOS, model_fr450_mhsetlos, { { (int) UNIT_FR450_U_MEDIA_HILO, 1, 1 } } },
+ { FRVBF_INSN_MHSETHIS, model_fr450_mhsethis, { { (int) UNIT_FR450_U_MEDIA_HILO, 1, 1 } } },
+ { FRVBF_INSN_MHDSETS, model_fr450_mhdsets, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MHSETLOH, model_fr450_mhsetloh, { { (int) UNIT_FR450_U_MEDIA_HILO, 1, 1 } } },
+ { FRVBF_INSN_MHSETHIH, model_fr450_mhsethih, { { (int) UNIT_FR450_U_MEDIA_HILO, 1, 1 } } },
+ { FRVBF_INSN_MHDSETH, model_fr450_mhdseth, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MAND, model_fr450_mand, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MOR, model_fr450_mor, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MXOR, model_fr450_mxor, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMAND, model_fr450_cmand, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMOR, model_fr450_cmor, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMXOR, model_fr450_cmxor, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MNOT, model_fr450_mnot, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMNOT, model_fr450_cmnot, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MROTLI, model_fr450_mrotli, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MROTRI, model_fr450_mrotri, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MWCUT, model_fr450_mwcut, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MWCUTI, model_fr450_mwcuti, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MCUT, model_fr450_mcut, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MCUTI, model_fr450_mcuti, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MCUTSS, model_fr450_mcutss, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MCUTSSI, model_fr450_mcutssi, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MDCUTSSI, model_fr450_mdcutssi, { { (int) UNIT_FR450_U_MEDIA_4_ACC_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MAVEH, model_fr450_maveh, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MSLLHI, model_fr450_msllhi, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MSRLHI, model_fr450_msrlhi, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MSRAHI, model_fr450_msrahi, { { (int) UNIT_FR450_U_MEDIA_6, 1, 1 } } },
+ { FRVBF_INSN_MDROTLI, model_fr450_mdrotli, { { (int) UNIT_FR450_U_MEDIA_3_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MCPLHI, model_fr450_mcplhi, { { (int) UNIT_FR450_U_MEDIA_3_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MCPLI, model_fr450_mcpli, { { (int) UNIT_FR450_U_MEDIA_3_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MSATHS, model_fr450_msaths, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MQSATHS, model_fr450_mqsaths, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MSATHU, model_fr450_msathu, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MCMPSH, model_fr450_mcmpsh, { { (int) UNIT_FR450_U_MEDIA_7, 1, 1 } } },
+ { FRVBF_INSN_MCMPUH, model_fr450_mcmpuh, { { (int) UNIT_FR450_U_MEDIA_7, 1, 1 } } },
+ { FRVBF_INSN_MABSHS, model_fr450_mabshs, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MADDHSS, model_fr450_maddhss, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MADDHUS, model_fr450_maddhus, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MSUBHSS, model_fr450_msubhss, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MSUBHUS, model_fr450_msubhus, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMADDHSS, model_fr450_cmaddhss, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMADDHUS, model_fr450_cmaddhus, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMSUBHSS, model_fr450_cmsubhss, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_CMSUBHUS, model_fr450_cmsubhus, { { (int) UNIT_FR450_U_MEDIA_1, 1, 1 } } },
+ { FRVBF_INSN_MQADDHSS, model_fr450_mqaddhss, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQADDHUS, model_fr450_mqaddhus, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQSUBHSS, model_fr450_mqsubhss, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQSUBHUS, model_fr450_mqsubhus, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQADDHSS, model_fr450_cmqaddhss, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQADDHUS, model_fr450_cmqaddhus, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQSUBHSS, model_fr450_cmqsubhss, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQSUBHUS, model_fr450_cmqsubhus, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_fr450_mqlclrhs, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_fr450_mqlmths, { { (int) UNIT_FR450_U_MEDIA_1_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_fr450_mqsllhi, { { (int) UNIT_FR450_U_MEDIA_3_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_fr450_mqsrahi, { { (int) UNIT_FR450_U_MEDIA_3_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MADDACCS, model_fr450_maddaccs, { { (int) UNIT_FR450_U_MEDIA_2_ACC, 1, 1 } } },
+ { FRVBF_INSN_MSUBACCS, model_fr450_msubaccs, { { (int) UNIT_FR450_U_MEDIA_2_ACC, 1, 1 } } },
+ { FRVBF_INSN_MDADDACCS, model_fr450_mdaddaccs, { { (int) UNIT_FR450_U_MEDIA_2_ACC_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MDSUBACCS, model_fr450_mdsubaccs, { { (int) UNIT_FR450_U_MEDIA_2_ACC_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MASACCS, model_fr450_masaccs, { { (int) UNIT_FR450_U_MEDIA_2_ADD_SUB, 1, 1 } } },
+ { FRVBF_INSN_MDASACCS, model_fr450_mdasaccs, { { (int) UNIT_FR450_U_MEDIA_2_ADD_SUB_DUAL, 1, 1 } } },
+ { FRVBF_INSN_MMULHS, model_fr450_mmulhs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMULHU, model_fr450_mmulhu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMULXHS, model_fr450_mmulxhs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMULXHU, model_fr450_mmulxhu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMMULHS, model_fr450_cmmulhs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMMULHU, model_fr450_cmmulhu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MQMULHS, model_fr450_mqmulhs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQMULHU, model_fr450_mqmulhu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQMULXHS, model_fr450_mqmulxhs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQMULXHU, model_fr450_mqmulxhu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQMULHS, model_fr450_cmqmulhs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQMULHU, model_fr450_cmqmulhu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MMACHS, model_fr450_mmachs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMACHU, model_fr450_mmachu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMRDHS, model_fr450_mmrdhs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MMRDHU, model_fr450_mmrdhu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMMACHS, model_fr450_cmmachs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMMACHU, model_fr450_cmmachu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MQMACHS, model_fr450_mqmachs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQMACHU, model_fr450_mqmachu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQMACHS, model_fr450_cmqmachs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_CMQMACHU, model_fr450_cmqmachu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQXMACHS, model_fr450_mqxmachs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQXMACXHS, model_fr450_mqxmacxhs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQMACXHS, model_fr450_mqmacxhs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MCPXRS, model_fr450_mcpxrs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MCPXRU, model_fr450_mcpxru, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MCPXIS, model_fr450_mcpxis, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MCPXIU, model_fr450_mcpxiu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMCPXRS, model_fr450_cmcpxrs, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMCPXRU, model_fr450_cmcpxru, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMCPXIS, model_fr450_cmcpxis, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_CMCPXIU, model_fr450_cmcpxiu, { { (int) UNIT_FR450_U_MEDIA_2, 1, 1 } } },
+ { FRVBF_INSN_MQCPXRS, model_fr450_mqcpxrs, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQCPXRU, model_fr450_mqcpxru, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQCPXIS, model_fr450_mqcpxis, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MQCPXIU, model_fr450_mqcpxiu, { { (int) UNIT_FR450_U_MEDIA_2_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MEXPDHW, model_fr450_mexpdhw, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_CMEXPDHW, model_fr450_cmexpdhw, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MEXPDHD, model_fr450_mexpdhd, { { (int) UNIT_FR450_U_MEDIA_DUAL_EXPAND, 1, 1 } } },
+ { FRVBF_INSN_CMEXPDHD, model_fr450_cmexpdhd, { { (int) UNIT_FR450_U_MEDIA_DUAL_EXPAND, 1, 1 } } },
+ { FRVBF_INSN_MPACKH, model_fr450_mpackh, { { (int) UNIT_FR450_U_MEDIA_3, 1, 1 } } },
+ { FRVBF_INSN_MDPACKH, model_fr450_mdpackh, { { (int) UNIT_FR450_U_MEDIA_3_QUAD, 1, 1 } } },
+ { FRVBF_INSN_MUNPACKH, model_fr450_munpackh, { { (int) UNIT_FR450_U_MEDIA_DUAL_EXPAND, 1, 1 } } },
+ { FRVBF_INSN_MDUNPACKH, model_fr450_mdunpackh, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MBTOH, model_fr450_mbtoh, { { (int) UNIT_FR450_U_MEDIA_DUAL_EXPAND, 1, 1 } } },
+ { FRVBF_INSN_CMBTOH, model_fr450_cmbtoh, { { (int) UNIT_FR450_U_MEDIA_DUAL_EXPAND, 1, 1 } } },
+ { FRVBF_INSN_MHTOB, model_fr450_mhtob, { { (int) UNIT_FR450_U_MEDIA_DUAL_HTOB, 1, 1 } } },
+ { FRVBF_INSN_CMHTOB, model_fr450_cmhtob, { { (int) UNIT_FR450_U_MEDIA_DUAL_HTOB, 1, 1 } } },
+ { FRVBF_INSN_MBTOHE, model_fr450_mbtohe, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_CMBTOHE, model_fr450_cmbtohe, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MNOP, model_fr450_mnop, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MCLRACC_0, model_fr450_mclracc_0, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MCLRACC_1, model_fr450_mclracc_1, { { (int) UNIT_FR450_U_MEDIA_4_MCLRACCA, 1, 1 } } },
+ { FRVBF_INSN_MRDACC, model_fr450_mrdacc, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MRDACCG, model_fr450_mrdaccg, { { (int) UNIT_FR450_U_MEDIA_4_ACCG, 1, 1 } } },
+ { FRVBF_INSN_MWTACC, model_fr450_mwtacc, { { (int) UNIT_FR450_U_MEDIA_4, 1, 1 } } },
+ { FRVBF_INSN_MWTACCG, model_fr450_mwtaccg, { { (int) UNIT_FR450_U_MEDIA_4_ACCG, 1, 1 } } },
+ { FRVBF_INSN_MCOP1, model_fr450_mcop1, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MCOP2, model_fr450_mcop2, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_FNOP, model_fr450_fnop, { { (int) UNIT_FR450_U_EXEC, 1, 1 } } },
+};
+
/* Model timing data for `simple'. */
static const INSN_TIMING simple_timing[] = {
@@ -90346,22 +106735,12 @@ static const INSN_TIMING simple_timing[] = {
{ FRVBF_INSN_STHF, model_simple_sthf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STF, model_simple_stf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STC, model_simple_stc, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTB, model_simple_rstb, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTH, model_simple_rsth, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RST, model_simple_rst, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTBF, model_simple_rstbf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTHF, model_simple_rsthf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTF, model_simple_rstf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STD, model_simple_std, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDF, model_simple_stdf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STDC, model_simple_stdc, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTD, model_simple_rstd, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTDF, model_simple_rstdf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQ, model_simple_stq, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQF, model_simple_stqf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STQC, model_simple_stqc, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQ, model_simple_rstq, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
- { FRVBF_INSN_RSTQF, model_simple_rstqf, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STBU, model_simple_stbu, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STHU, model_simple_sthu, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_STU, model_simple_stu, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
@@ -90701,6 +107080,9 @@ static const INSN_TIMING simple_timing[] = {
{ FRVBF_INSN_DCUL, model_simple_dcul, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_BAR, model_simple_bar, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MEMBAR, model_simple_membar, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAI, model_simple_lrai, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_LRAD, model_simple_lrad, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_TLBPR, model_simple_tlbpr, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP1, model_simple_cop1, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_COP2, model_simple_cop2, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CLRGR, model_simple_clrgr, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
@@ -90848,6 +107230,10 @@ static const INSN_TIMING simple_timing[] = {
{ FRVBF_INSN_CMQADDHUS, model_simple_cmqaddhus, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHSS, model_simple_cmqsubhss, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_CMQSUBHUS, model_simple_cmqsubhus, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLCLRHS, model_simple_mqlclrhs, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQLMTHS, model_simple_mqlmths, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSLLHI, model_simple_mqsllhi, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
+ { FRVBF_INSN_MQSRAHI, model_simple_mqsrahi, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MADDACCS, model_simple_maddaccs, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MSUBACCS, model_simple_msubaccs, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
{ FRVBF_INSN_MDADDACCS, model_simple_mdaddaccs, { { (int) UNIT_SIMPLE_U_EXEC, 1, 1 } } },
@@ -90950,6 +107336,12 @@ fr400_model_init (SIM_CPU *cpu)
}
static void
+fr450_model_init (SIM_CPU *cpu)
+{
+ CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_FR450_DATA));
+}
+
+static void
simple_model_init (SIM_CPU *cpu)
{
CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_SIMPLE_DATA));
@@ -90991,6 +107383,12 @@ static const MODEL fr400_models[] =
{ 0 }
};
+static const MODEL fr450_models[] =
+{
+ { "fr450", & fr450_mach, MODEL_FR450, TIMING_DATA (& fr450_timing[0]), fr450_model_init },
+ { 0 }
+};
+
static const MODEL simple_models[] =
{
{ "simple", & simple_mach, MODEL_SIMPLE, TIMING_DATA (& simple_timing[0]), simple_model_init },
@@ -91154,6 +107552,32 @@ const MACH fr400_mach =
};
static void
+fr450_init_cpu (SIM_CPU *cpu)
+{
+ CPU_REG_FETCH (cpu) = frvbf_fetch_register;
+ CPU_REG_STORE (cpu) = frvbf_store_register;
+ CPU_PC_FETCH (cpu) = frvbf_h_pc_get;
+ CPU_PC_STORE (cpu) = frvbf_h_pc_set;
+ CPU_GET_IDATA (cpu) = frvbf_get_idata;
+ CPU_MAX_INSNS (cpu) = FRVBF_INSN__MAX;
+ CPU_INSN_NAME (cpu) = cgen_insn_name;
+ CPU_FULL_ENGINE_FN (cpu) = frvbf_engine_run_full;
+#if WITH_FAST
+ CPU_FAST_ENGINE_FN (cpu) = frvbf_engine_run_fast;
+#else
+ CPU_FAST_ENGINE_FN (cpu) = frvbf_engine_run_full;
+#endif
+}
+
+const MACH fr450_mach =
+{
+ "fr450", "fr450", MACH_FR450,
+ 32, 32, & fr450_models[0], & frvbf_imp_properties,
+ fr450_init_cpu,
+ frvbf_prepare_run
+};
+
+static void
simple_init_cpu (SIM_CPU *cpu)
{
CPU_REG_FETCH (cpu) = frvbf_fetch_register;
diff --git a/sim/frv/profile-fr450.c b/sim/frv/profile-fr450.c
new file mode 100644
index 00000000000..27b97558e37
--- /dev/null
+++ b/sim/frv/profile-fr450.c
@@ -0,0 +1,607 @@
+/* frv simulator fr450 dependent profiling code.
+
+ Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+ Contributed by Red Hat
+
+This file is part of the GNU simulators.
+
+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.
+
+*/
+#define WANT_CPU
+#define WANT_CPU_FRVBF
+
+#include "sim-main.h"
+#include "bfd.h"
+
+#if WITH_PROFILE_MODEL_P
+
+#include "profile.h"
+#include "profile-fr400.h"
+
+int
+frvbf_model_fr450_u_exec (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced)
+{
+ return idesc->timing->units[unit_num].done;
+}
+
+int
+frvbf_model_fr450_u_integer (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj, INT out_GRk,
+ INT out_ICCi_1)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_integer (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_GRk, out_ICCi_1);
+}
+
+int
+frvbf_model_fr450_u_imul (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj, INT out_GRk, INT out_ICCi_1)
+{
+ int cycles;
+
+ if (model_insn == FRV_INSN_MODEL_PASS_1)
+ {
+ /* Pass 1 is the same as for fr500. */
+ return frvbf_model_fr500_u_imul (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+
+ /* icc0-icc4 are the upper 4 fields of the CCR. */
+ if (out_ICCi_1 >= 0)
+ out_ICCi_1 += 4;
+
+ /* GRk and IACCi_1 have a latency of 1 cycle. */
+ cycles = idesc->timing->units[unit_num].done;
+ update_GRdouble_latency (cpu, out_GRk, cycles + 1);
+ update_CCR_latency (cpu, out_ICCi_1, cycles + 1);
+
+ return cycles;
+}
+
+int
+frvbf_model_fr450_u_idiv (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj, INT out_GRk, INT out_ICCi_1)
+{
+ int cycles;
+
+ if (model_insn == FRV_INSN_MODEL_PASS_1)
+ {
+ /* Pass 1 is the same as for fr500. */
+ return frvbf_model_fr500_u_idiv (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_GRk, out_ICCi_1);
+ }
+
+ /* icc0-icc4 are the upper 4 fields of the CCR. */
+ if (out_ICCi_1 >= 0)
+ out_ICCi_1 += 4;
+
+ /* GRk, ICCi_1 and the divider have a latency of 18 cycles */
+ cycles = idesc->timing->units[unit_num].done;
+ update_GR_latency (cpu, out_GRk, cycles + 18);
+ update_CCR_latency (cpu, out_ICCi_1, cycles + 18);
+ update_idiv_resource_latency (cpu, 0, cycles + 18);
+
+ return cycles;
+}
+
+int
+frvbf_model_fr450_u_branch (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT in_ICCi_2, INT in_ICCi_3)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_branch (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, in_ICCi_2, in_ICCi_3);
+}
+
+int
+frvbf_model_fr450_u_trap (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT in_ICCi_2, INT in_FCCi_2)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_trap (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, in_ICCi_2, in_FCCi_2);
+}
+
+int
+frvbf_model_fr450_u_check (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ICCi_3, INT in_FCCi_3)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_check (cpu, idesc, unit_num, referenced,
+ in_ICCi_3, in_FCCi_3);
+}
+
+int
+frvbf_model_fr450_u_set_hilo (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT out_GRkhi, INT out_GRklo)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_set_hilo (cpu, idesc, unit_num, referenced,
+ out_GRkhi, out_GRklo);
+}
+
+int
+frvbf_model_fr450_u_gr_load (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT out_GRk, INT out_GRdoublek)
+{
+ int cycles;
+
+ if (model_insn == FRV_INSN_MODEL_PASS_1)
+ {
+ /* Pass 1 is the same as for fr500. */
+ return frvbf_model_fr500_u_fr_load (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_GRk,
+ out_GRdoublek);
+ }
+
+ cycles = idesc->timing->units[unit_num].done;
+
+ /* The latency of GRk for a load will depend on how long it takes to retrieve
+ the the data from the cache or memory. */
+ update_GR_latency_for_load (cpu, out_GRk, cycles);
+ update_GRdouble_latency_for_load (cpu, out_GRdoublek, cycles);
+
+ if (CGEN_ATTR_VALUE(idesc, idesc->attrs, CGEN_INSN_NON_EXCEPTING))
+ {
+ /* GNER has a latency of 2 cycles. */
+ update_SPR_latency (cpu, GNER_FOR_GR (out_GRk), cycles + 2);
+ update_SPR_latency (cpu, GNER_FOR_GR (out_GRdoublek), cycles + 2);
+ }
+
+ return cycles;
+}
+
+int
+frvbf_model_fr450_u_gr_store (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT in_GRk, INT in_GRdoublek)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_gr_store (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, in_GRk, in_GRdoublek);
+}
+
+int
+frvbf_model_fr450_u_fr_load (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT out_FRk, INT out_FRdoublek)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_fr_load (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_FRk, out_FRdoublek);
+}
+
+int
+frvbf_model_fr450_u_fr_store (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj,
+ INT in_FRk, INT in_FRdoublek)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_fr_load (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, in_FRk, in_FRdoublek);
+}
+
+int
+frvbf_model_fr450_u_swap (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj, INT out_GRk)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_swap (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj, out_GRk);
+}
+
+int
+frvbf_model_fr450_u_fr2gr (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRk, INT out_GRj)
+{
+ int cycles;
+
+ if (model_insn == FRV_INSN_MODEL_PASS_1)
+ {
+ /* Pass 1 is the same as for fr400. */
+ return frvbf_model_fr500_u_fr2gr (cpu, idesc, unit_num, referenced,
+ in_FRk, out_GRj);
+ }
+
+ /* The latency of GRj is 1 cycle. */
+ cycles = idesc->timing->units[unit_num].done;
+ update_GR_latency (cpu, out_GRj, cycles + 1);
+
+ return cycles;
+}
+
+int
+frvbf_model_fr450_u_spr2gr (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_spr, INT out_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_spr2gr (cpu, idesc, unit_num, referenced,
+ in_spr, out_GRj);
+}
+
+int
+frvbf_model_fr450_u_gr2fr (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRj, INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_gr2fr (cpu, idesc, unit_num, referenced,
+ in_GRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_gr2spr (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRj, INT out_spr)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_gr2spr (cpu, idesc, unit_num, referenced,
+ in_GRj, out_spr);
+}
+
+int
+frvbf_model_fr450_u_media_1 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_1 (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_1_quad (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_1_quad (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_hilo (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT out_FRkhi, INT out_FRklo)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_hilo (cpu, idesc, unit_num, referenced,
+ out_FRkhi, out_FRklo);
+}
+
+int
+frvbf_model_fr450_u_media_2 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_ACC40Sk, INT out_ACC40Uk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2 (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_ACC40Sk,
+ out_ACC40Uk);
+}
+
+int
+frvbf_model_fr450_u_media_2_quad (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_ACC40Sk, INT out_ACC40Uk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2_quad (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_ACC40Sk,
+ out_ACC40Uk);
+}
+
+int
+frvbf_model_fr450_u_media_2_acc (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT out_ACC40Sk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2_acc (cpu, idesc, unit_num, referenced,
+ in_ACC40Si, out_ACC40Sk);
+}
+
+int
+frvbf_model_fr450_u_media_2_acc_dual (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT out_ACC40Sk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2_acc_dual (cpu, idesc, unit_num,
+ referenced, in_ACC40Si,
+ out_ACC40Sk);
+}
+
+int
+frvbf_model_fr450_u_media_2_add_sub (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT out_ACC40Sk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2_add_sub (cpu, idesc, unit_num,
+ referenced, in_ACC40Si,
+ out_ACC40Sk);
+}
+
+int
+frvbf_model_fr450_u_media_2_add_sub_dual (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT out_ACC40Sk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_2_add_sub_dual (cpu, idesc, unit_num,
+ referenced, in_ACC40Si,
+ out_ACC40Sk);
+}
+
+int
+frvbf_model_fr450_u_media_3 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_FRk)
+{
+ /* Modelling is the same as media unit 1. */
+ return frvbf_model_fr450_u_media_1 (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_3_dual (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_3_dual (cpu, idesc, unit_num, referenced,
+ in_FRi, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_3_quad (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT in_FRj,
+ INT out_FRk)
+{
+ /* Modelling is the same as media unit 1. */
+ return frvbf_model_fr450_u_media_1_quad (cpu, idesc, unit_num, referenced,
+ in_FRi, in_FRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_4 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT in_FRj,
+ INT out_ACC40Sk, INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_4 (cpu, idesc, unit_num, referenced,
+ in_ACC40Si, in_FRj,
+ out_ACC40Sk, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_4_accg (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACCGi, INT in_FRinti,
+ INT out_ACCGk, INT out_FRintk)
+{
+ /* Modelling is the same as media-4 unit except use accumulator guards
+ as input instead of accumulators. */
+ return frvbf_model_fr450_u_media_4 (cpu, idesc, unit_num, referenced,
+ in_ACCGi, in_FRinti,
+ out_ACCGk, out_FRintk);
+}
+
+int
+frvbf_model_fr450_u_media_4_acc_dual (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_ACC40Si, INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_4_acc_dual (cpu, idesc, unit_num,
+ referenced, in_ACC40Si,
+ out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_4_mclracca (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced)
+{
+ int cycles;
+ int acc;
+ FRV_PROFILE_STATE *ps;
+
+ if (model_insn == FRV_INSN_MODEL_PASS_1)
+ return 0;
+
+ /* The preprocessing can execute right away. */
+ cycles = idesc->timing->units[unit_num].done;
+
+ ps = CPU_PROFILE_STATE (cpu);
+
+ /* The post processing must wait for any pending ACC writes. */
+ ps->post_wait = cycles;
+ for (acc = 0; acc < 4; acc++)
+ post_wait_for_ACC (cpu, acc);
+ for (acc = 8; acc < 12; acc++)
+ post_wait_for_ACC (cpu, acc);
+
+ for (acc = 0; acc < 4; acc++)
+ {
+ update_ACC_latency (cpu, acc, ps->post_wait);
+ update_ACC_ptime (cpu, acc, 2);
+ }
+ for (acc = 8; acc < 12; acc++)
+ {
+ update_ACC_latency (cpu, acc, ps->post_wait);
+ update_ACC_ptime (cpu, acc, 2);
+ }
+
+ return cycles;
+}
+
+int
+frvbf_model_fr450_u_media_6 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi, INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_6 (cpu, idesc, unit_num, referenced,
+ in_FRi, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_7 (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRinti, INT in_FRintj,
+ INT out_FCCk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_7 (cpu, idesc, unit_num, referenced,
+ in_FRinti, in_FRintj, out_FCCk);
+}
+
+int
+frvbf_model_fr450_u_media_dual_expand (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRi,
+ INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_dual_expand (cpu, idesc, unit_num,
+ referenced, in_FRi, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_media_dual_htob (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_FRj,
+ INT out_FRk)
+{
+ /* Modelling for this unit is the same as for fr400. */
+ return frvbf_model_fr400_u_media_dual_htob (cpu, idesc, unit_num,
+ referenced, in_FRj, out_FRk);
+}
+
+int
+frvbf_model_fr450_u_ici (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_ici (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_dci (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_dci (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_dcf (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_dcf (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_icpl (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_icpl (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_dcpl (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_dcpl (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_icul (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_icul (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_dcul (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced,
+ INT in_GRi, INT in_GRj)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_dcul (cpu, idesc, unit_num, referenced,
+ in_GRi, in_GRj);
+}
+
+int
+frvbf_model_fr450_u_barrier (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_barrier (cpu, idesc, unit_num, referenced);
+}
+
+int
+frvbf_model_fr450_u_membar (SIM_CPU *cpu, const IDESC *idesc,
+ int unit_num, int referenced)
+{
+ /* Modelling for this unit is the same as for fr500. */
+ return frvbf_model_fr500_u_membar (cpu, idesc, unit_num, referenced);
+}
+
+#endif /* WITH_PROFILE_MODEL_P */
diff --git a/sim/frv/profile.c b/sim/frv/profile.c
index 3a3d1aab95a..577826fca9b 100644
--- a/sim/frv/profile.c
+++ b/sim/frv/profile.c
@@ -37,7 +37,8 @@ static void
reset_gr_flags (SIM_CPU *cpu, INT gr)
{
SIM_DESC sd = CPU_STATE (cpu);
- if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
+ if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400
+ || STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr450)
fr400_reset_gr_flags (cpu, gr);
/* Other machines have no gr flags right now. */
}
@@ -46,7 +47,8 @@ static void
reset_fr_flags (SIM_CPU *cpu, INT fr)
{
SIM_DESC sd = CPU_STATE (cpu);
- if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
+ if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400
+ || STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr450)
fr400_reset_fr_flags (cpu, fr);
else if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr500)
fr500_reset_fr_flags (cpu, fr);
@@ -56,7 +58,8 @@ static void
reset_acc_flags (SIM_CPU *cpu, INT acc)
{
SIM_DESC sd = CPU_STATE (cpu);
- if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
+ if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400
+ || STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr450)
fr400_reset_acc_flags (cpu, acc);
/* Other machines have no acc flags right now. */
}
@@ -926,6 +929,7 @@ frvbf_model_insn_before (SIM_CPU *cpu, int first_p)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
fr400_model_insn_before (cpu, first_p);
break;
case bfd_mach_fr500:
@@ -992,6 +996,7 @@ frvbf_model_insn_after (SIM_CPU *cpu, int last_p, int cycles)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
fr400_model_insn_after (cpu, last_p, cycles);
break;
case bfd_mach_fr500:
diff --git a/sim/frv/registers.c b/sim/frv/registers.c
index 685e53f7f56..aa65bb29723 100644
--- a/sim/frv/registers.c
+++ b/sim/frv/registers.c
@@ -5301,6 +5301,1047 @@ static FRV_SPR_CONTROL_INFO fr400_spr[] =
RESERVED
};
+/* SPR definitions for the fr450 machine.
+ See the FR451 LSI for implementation details. */
+static FRV_SPR_CONTROL_INFO fr450_spr[] =
+{
+ {0x200030fe, 0x200030fc, 0xf00030fd, 0xffffff80, IMPL, SUP}, /* PSR */
+ {0x00000000, 0x00000000, 0x00000003, 0x00000003, IMPL, SUP}, /* PCSR */
+ {0x00000000, 0x00000000, 0xffffffff, 0x00000003, IMPL, SUP}, /* BPCSR */
+ {0x00000000, 0x00000000, 0x0000000f, 0x00000fff, IMPL, SUP}, /* TBR */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffeffe, IMPL, SUP}, /* BPSR */
+
+ /* spr registers 5-15 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000d40, 0x00000d40, 0xcc400fc0, 0x20742ff8, IMPL, SUP}, /* HSR0 */
+
+ /* spr registers 17-255 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, USER}, /* CCR */
+
+ /* spr registers 257-262 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffff0000, IMPL, USER}, /* CCCR */
+
+ /* spr registers 264-271 are reserved */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000003, 0x00000003, IMPL, USER}, /* LR */
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, USER}, /* LCR */
+
+ /* spr registers 274-279 and reserved. */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, USER}, /* IACC0H */
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, USER}, /* IACC0L */
+
+ /* spr registers 282-287 and reserved. */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ {0x20000021, 0x20000000, 0xa0000000, 0xffffffc2, IMPL, USER}, /* ISR */
+
+ /* spr registers 289-511 are reserved */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* EPCR0 */
+
+ /* spr registers 513-575 are reserved */
+ RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000100, 0x00000100, 0x00000100, 0xffffffff, IMPL, SUP}, /* ESR0 */
+
+ /* spr registers 577-589 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* ESR14 */
+ {0x00000800, 0x00000800, 0x00000800, 0xffffffff, IMPL, SUP},
+
+ /* spr registers 592-672 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* ESFR1 */
+
+ /* spr registers 674-831 are reserved */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP}, /* SCR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP},
+
+ /* spr registers 836-1279 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x01c00000, 0x0fff8fc0, IMPL, USER}, /* MSR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffcd, IMPL, USER},
+
+ /* spr registers 1282-1407 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ /* Accumulators are read-only by the user except for special insns and
+ side effect of other insns. ACC0-3 (1408-1411) and ACC8-11 (1416-1419)
+ are implemented, ACC4-7 are not. */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER}, /* ACC0 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+
+ RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER}, /* ACC8 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+
+ /* spr registers 1420-1471 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ /* Accumulator guards (1472-1483). See comments above ACC0. */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER}, /* ACCG0 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+
+ RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER}, /* ACCG8 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, USER},
+
+ /* spr registers 1484-1535 are reserved */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* EAR0 */
+
+ /* spr registers 1537-1550 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* EAR15 */
+
+ /* spr registers 1552-1663 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP}, /* IAMLR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP}, /* IAMLR7 */
+
+ /* spr registers 1672-1727 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP}, /* IAMPR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002902, IMPL, SUP}, /* IAMPR7 */
+
+ /* spr registers 1736-1791 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP}, /* DAMLR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP}, /* DAMLR11 */
+
+ /* spr registers 1804-1855 are reserved */
+ RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP}, /* DAMPR0 */
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000001, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002000, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0x00002000, IMPL, SUP}, /* DAMPR11 */
+
+ /* spr registers 1868-1919 are reserved */
+ RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000808, 0x00000808, 0x00000808, 0xffffffff, IMPL, SUP}, /* AMCR */
+
+ /* spr registers 1921-1924 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffff00, IMPL, SUP}, /* IAMVR1 */
+ RESERVED,
+ {0x00000000, 0x00000000, 0x00000000, 0xfffff000, IMPL, SUP}, /* DAMVR1 */
+
+ /* spr registers 1928-1935 are reserved */
+ RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xfffff000, IMPL, SUP}, /* CXNR */
+ {0x00000000, 0x00000000, 0x00000000, 0x000007fc, IMPL, SUP}, /* TTBR */
+ {0x00000000, 0x00000000, 0x00000000, 0x00003000, IMPL, SUP}, /* TPLR */
+ {0x00000000, 0x00000000, 0x00000000, 0x000031f0, IMPL, SUP}, /* TPPR */
+ {0x00000000, 0x00000000, 0x00000000, 0x0fffffff, IMPL, SUP}, /* TPXR */
+
+ /* spr registers 1941-1951 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP}, /* TIMERH */
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP}, /* TIMERL */
+ {0x00000000, 0x00000000, 0x00000000, 0x00000000, IMPL, SUP}, /* TIMERD */
+
+ /* spr registers 1955-2047 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DCR */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* BRR */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* NMAR */
+
+ {0x00000000, 0x00000000, 0x00000000, 0x00000ffe, IMPL, SUP}, /* BTBR */
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* IBAR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* IBAR3 */
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBAR0 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBAR2 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBDR00 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBDR02 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBDR10 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+
+ /* spr registers 2066-2075 are reserved */
+ RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBMR00 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+
+ /* spr registers 2078 and 2079 are reserved */
+ RESERVED, RESERVED,
+
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP}, /* DBMR10 */
+ {0x00000000, 0x00000000, 0x00000000, 0xffffffff, IMPL, SUP},
+
+ /* spr registers 2082-4095 are reserved */
+ RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
+ RESERVED,
+};
+
/* Initialize register control for this cpu */
void
frv_register_control_init (SIM_CPU *cpu)
@@ -5311,6 +6352,8 @@ frv_register_control_init (SIM_CPU *cpu)
if (sizeof (fr400_spr) != FRV_MAX_SPR * sizeof (*fr400_spr))
abort ();
+ if (sizeof (fr450_spr) != FRV_MAX_SPR * sizeof (*fr450_spr))
+ abort ();
if (sizeof (fr500_spr) != FRV_MAX_SPR * sizeof (*fr500_spr))
abort ();
if (sizeof (fr550_spr) != FRV_MAX_SPR * sizeof (*fr550_spr))
@@ -5331,6 +6374,11 @@ frv_register_control_init (SIM_CPU *cpu)
control->cpr = 0;
control->spr = fr550_spr;
return;
+ case bfd_mach_fr450:
+ control->fr = 1;
+ control->cpr = 0;
+ control->spr = fr450_spr;
+ return;
case bfd_mach_fr400:
control->fr = 1;
control->cpr = 0;
@@ -5449,11 +6497,11 @@ frv_check_spr_read_access (SIM_CPU *current_cpu, UINT spr)
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
- /* On the fr400: if this is an unimplemented accumulator, then
- generate an illegal_instruction_interrupt, otherwise no interrupt.
- */
- if (spr >= H_SPR_ACC4 && spr <= H_SPR_ACC63
- || spr >= H_SPR_ACCG4 && spr <= H_SPR_ACCG63)
+ case bfd_mach_fr450:
+ /* On the fr4xx series: if this is an unimplemented accumulator,
+ then generate an illegal_instruction_interrupt, otherwise no
+ interrupt. */
+ if (SPR_IS_ACC (spr))
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
case bfd_mach_fr550:
@@ -5542,6 +6590,7 @@ frv_check_register_access (
switch (STATE_ARCHITECTURE (sd)->mach)
{
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
/* On some machines this generates an illegal_instruction interrupt. */
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
diff --git a/sim/frv/sem.c b/sim/frv/sem.c
index 4f2883b1a49..0fb30c31837 100644
--- a/sim/frv/sem.c
+++ b/sim/frv/sem.c
@@ -5630,138 +5630,6 @@ frvbf_write_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FL
#undef FLD
}
-/* rstb: rstb$pack $GRk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_GRk), 1, 0);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rsth: rsth$pack $GRk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rsth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_GRk), 2, 0);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rst: rst$pack $GRk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rst) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cswap.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_SI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_GRk), 4, 0);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rstbf: rstbf$pack $FRintk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstbf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_FRk), 1, 1);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rsthf: rsthf$pack $FRintk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rsthf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_FRk), 2, 1);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rstf: rstf$pack $FRintk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_SI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_FRk), 4, 1);
-}
-
- return vpc;
-#undef FLD
-}
-
/* std: std$pack $GRdoublek,@($GRi,$GRj) */
static SEM_PC
@@ -5831,54 +5699,6 @@ frvbf_write_mem_DI (current_cpu, pc, tmp_address, GET_H_CPR_DOUBLE (FLD (f_CPRk)
#undef FLD
}
-/* rstd: rstd$pack $GRdoublek,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
-{
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_DI (current_cpu, pc, tmp_address, GET_H_GR_DOUBLE (FLD (f_GRk)));
-}
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_GRk), 8, 0);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rstdf: rstdf$pack $FRdoublek,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstdf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
-{
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_write_mem_DF (current_cpu, pc, tmp_address, GET_H_FR_DOUBLE (FLD (f_FRk)));
-}
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_FRk), 8, 1);
-}
-
- return vpc;
-#undef FLD
-}
-
/* stq: stq$pack $GRk,@($GRi,$GRj) */
static SEM_PC
@@ -5948,54 +5768,6 @@ frvbf_store_quad_CPR (current_cpu, pc, tmp_address, FLD (f_CPRk));
#undef FLD
}
-/* rstq: rstq$pack $GRk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_smulcc.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
-{
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_store_quad_GR (current_cpu, pc, tmp_address, FLD (f_GRk));
-}
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_GRk), 16, 0);
-}
-
- return vpc;
-#undef FLD
-}
-
-/* rstqf: rstqf$pack $FRintk,@($GRi,$GRj) */
-
-static SEM_PC
-SEM_FN_NAME (frvbf,rstqf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
- SI tmp_address;
-{
- tmp_address = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
-frvbf_store_quad_FRint (current_cpu, pc, tmp_address, FLD (f_FRk));
-}
-frvbf_check_recovering_store (current_cpu, tmp_address, FLD (f_FRk), 16, 1);
-}
-
- return vpc;
-#undef FLD
-}
-
/* stbu: stbu$pack $GRk,@($GRi,$GRj) */
static SEM_PC
@@ -16632,6 +16404,57 @@ SEM_FN_NAME (frvbf,membar) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
#undef FLD
}
+/* lrai: lrai$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,lrai) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+((void) 0); /*nop*/
+
+ return vpc;
+#undef FLD
+}
+
+/* lrad: lrad$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,lrad) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+((void) 0); /*nop*/
+
+ return vpc;
+#undef FLD
+}
+
+/* tlbpr: tlbpr$pack $GRi,$GRj,$TLBPRopx,$TLBPRL */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,tlbpr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.fmt_empty.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+((void) 0); /*nop*/
+
+ return vpc;
+#undef FLD
+}
+
/* cop1: cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
static SEM_PC
@@ -22836,6 +22659,270 @@ frvbf_media_overflow (current_cpu, 1);
#undef FLD
}
+/* mqlclrhs: mqlclrhs$pack $FRintieven,$FRintjeven,$FRintkeven */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,mqlclrhs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+if (ORIF (ANDSI (FLD (f_FRi), SUBSI (2, 1)), ORIF (ANDSI (FLD (f_FRj), SUBSI (2, 1)), ANDSI (FLD (f_FRk), SUBSI (2, 1))))) {
+frvbf_media_register_not_aligned (current_cpu);
+} else {
+{
+ HI tmp_a1;
+ HI tmp_a2;
+ HI tmp_a3;
+ HI tmp_a4;
+ HI tmp_b1;
+ HI tmp_b2;
+ HI tmp_b3;
+ HI tmp_b4;
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
+ written |= (1 << 14);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+{
+ tmp_a1 = ADDHI (GET_H_FR_HI (((FLD (f_FRi)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_a2 = ADDHI (GET_H_FR_LO (((FLD (f_FRi)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_b1 = ADDHI (GET_H_FR_HI (((FLD (f_FRj)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+ tmp_b2 = ADDHI (GET_H_FR_LO (((FLD (f_FRj)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+}
+{
+ tmp_a3 = ADDHI (GET_H_FR_HI (((FLD (f_FRi)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_a4 = ADDHI (GET_H_FR_LO (((FLD (f_FRi)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_b3 = ADDHI (GET_H_FR_HI (((FLD (f_FRj)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+ tmp_b4 = ADDHI (GET_H_FR_LO (((FLD (f_FRj)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+}
+ {
+ UHI opval = (LEUHI (ABSHI (tmp_a1), ABSHI (tmp_b1))) ? (0) : (LEHI (0, tmp_b1)) ? (tmp_a1) : (EQHI (tmp_a1, -32768)) ? (32767) : (NEGHI (tmp_a1));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 15);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = (LEUHI (ABSHI (tmp_a2), ABSHI (tmp_b2))) ? (0) : (LEHI (0, tmp_b2)) ? (tmp_a2) : (EQHI (tmp_a2, -32768)) ? (32767) : (NEGHI (tmp_a2));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 17);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+ {
+ UHI opval = (LEUHI (ABSHI (tmp_a3), ABSHI (tmp_b3))) ? (0) : (LEHI (0, tmp_b3)) ? (tmp_a3) : (EQHI (tmp_a3, -32768)) ? (32767) : (NEGHI (tmp_a3));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 16);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = (LEUHI (ABSHI (tmp_a4), ABSHI (tmp_b4))) ? (0) : (LEHI (0, tmp_b4)) ? (tmp_a4) : (EQHI (tmp_a4, -32768)) ? (32767) : (NEGHI (tmp_a4));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 18);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+}
+}
+
+ abuf->written = written;
+ return vpc;
+#undef FLD
+}
+
+/* mqlmths: mqlmths$pack $FRintieven,$FRintjeven,$FRintkeven */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,mqlmths) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_cmqaddhss.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+if (ORIF (ANDSI (FLD (f_FRi), SUBSI (2, 1)), ORIF (ANDSI (FLD (f_FRj), SUBSI (2, 1)), ANDSI (FLD (f_FRk), SUBSI (2, 1))))) {
+frvbf_media_register_not_aligned (current_cpu);
+} else {
+{
+ HI tmp_a1;
+ HI tmp_a2;
+ HI tmp_a3;
+ HI tmp_a4;
+ HI tmp_b1;
+ HI tmp_b2;
+ HI tmp_b3;
+ HI tmp_b4;
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
+ written |= (1 << 14);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+{
+ tmp_a1 = ADDHI (GET_H_FR_HI (((FLD (f_FRi)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_a2 = ADDHI (GET_H_FR_LO (((FLD (f_FRi)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_b1 = ADDHI (GET_H_FR_HI (((FLD (f_FRj)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+ tmp_b2 = ADDHI (GET_H_FR_LO (((FLD (f_FRj)) + (0))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+}
+{
+ tmp_a3 = ADDHI (GET_H_FR_HI (((FLD (f_FRi)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_a4 = ADDHI (GET_H_FR_LO (((FLD (f_FRi)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
+ tmp_b3 = ADDHI (GET_H_FR_HI (((FLD (f_FRj)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+ tmp_b4 = ADDHI (GET_H_FR_LO (((FLD (f_FRj)) + (1))), MULSI (GET_H_FR_INT (FLD (f_FRj)), 0));
+}
+ {
+ UHI opval = (ANDIF (GTHI (tmp_b1, -32768), GEHI (tmp_a1, ABSHI (tmp_b1)))) ? (tmp_b1) : (GTHI (tmp_a1, NEGHI (ABSHI (tmp_b1)))) ? (tmp_a1) : (EQHI (tmp_b1, -32768)) ? (32767) : (NEGHI (tmp_b1));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 15);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = (ANDIF (GTHI (tmp_b2, -32768), GEHI (tmp_a2, ABSHI (tmp_b2)))) ? (tmp_b2) : (GTHI (tmp_a2, NEGHI (ABSHI (tmp_b2)))) ? (tmp_a2) : (EQHI (tmp_b2, -32768)) ? (32767) : (NEGHI (tmp_b2));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 17);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+ {
+ UHI opval = (ANDIF (GTHI (tmp_b3, -32768), GEHI (tmp_a3, ABSHI (tmp_b3)))) ? (tmp_b3) : (GTHI (tmp_a3, NEGHI (ABSHI (tmp_b3)))) ? (tmp_a3) : (EQHI (tmp_b3, -32768)) ? (32767) : (NEGHI (tmp_b3));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 16);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = (ANDIF (GTHI (tmp_b4, -32768), GEHI (tmp_a4, ABSHI (tmp_b4)))) ? (tmp_b4) : (GTHI (tmp_a4, NEGHI (ABSHI (tmp_b4)))) ? (tmp_a4) : (EQHI (tmp_b4, -32768)) ? (32767) : (NEGHI (tmp_b4));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 18);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+}
+}
+
+ abuf->written = written;
+ return vpc;
+#undef FLD
+}
+
+/* mqsllhi: mqsllhi$pack $FRintieven,$u6,$FRintkeven */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,mqsllhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+if (ORIF (ANDSI (FLD (f_FRi), SUBSI (2, 1)), ANDSI (FLD (f_FRk), SUBSI (2, 1)))) {
+frvbf_media_register_not_aligned (current_cpu);
+} else {
+{
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
+ written |= (1 << 9);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
+ written |= (1 << 10);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+ {
+ UHI opval = SLLHI (GET_H_FR_HI (((FLD (f_FRi)) + (0))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 11);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = SLLHI (GET_H_FR_LO (((FLD (f_FRi)) + (0))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 13);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+ {
+ UHI opval = SLLHI (GET_H_FR_HI (((FLD (f_FRi)) + (1))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 12);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = SLLHI (GET_H_FR_LO (((FLD (f_FRi)) + (1))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 14);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+}
+}
+
+ abuf->written = written;
+ return vpc;
+#undef FLD
+}
+
+/* mqsrahi: mqsrahi$pack $FRintieven,$u6,$FRintkeven */
+
+static SEM_PC
+SEM_FN_NAME (frvbf,mqsrahi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+{
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+ ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+ int UNUSED written = 0;
+ IADDR UNUSED pc = abuf->addr;
+ SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+
+if (ORIF (ANDSI (FLD (f_FRi), SUBSI (2, 1)), ANDSI (FLD (f_FRk), SUBSI (2, 1)))) {
+frvbf_media_register_not_aligned (current_cpu);
+} else {
+{
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
+ written |= (1 << 9);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+ {
+ SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
+ sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
+ written |= (1 << 10);
+ TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ }
+ {
+ UHI opval = SRAHI (GET_H_FR_HI (((FLD (f_FRi)) + (0))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 11);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = SRAHI (GET_H_FR_LO (((FLD (f_FRi)) + (0))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (0)), opval);
+ written |= (1 << 13);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+ {
+ UHI opval = SRAHI (GET_H_FR_HI (((FLD (f_FRi)) + (1))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 12);
+ TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ }
+ {
+ UHI opval = SRAHI (GET_H_FR_LO (((FLD (f_FRi)) + (1))), ANDSI (FLD (f_u6), 15));
+ sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ((FLD (f_FRk)) + (1)), opval);
+ written |= (1 << 14);
+ TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ }
+}
+}
+
+ abuf->written = written;
+ return vpc;
+#undef FLD
+}
+
/* maddaccs: maddaccs$pack $ACC40Si,$ACC40Sk */
static SEM_PC
@@ -28264,22 +28351,12 @@ static const struct sem_fn_desc sem_fns[] = {
{ FRVBF_INSN_STHF, SEM_FN_NAME (frvbf,sthf) },
{ FRVBF_INSN_STF, SEM_FN_NAME (frvbf,stf) },
{ FRVBF_INSN_STC, SEM_FN_NAME (frvbf,stc) },
- { FRVBF_INSN_RSTB, SEM_FN_NAME (frvbf,rstb) },
- { FRVBF_INSN_RSTH, SEM_FN_NAME (frvbf,rsth) },
- { FRVBF_INSN_RST, SEM_FN_NAME (frvbf,rst) },
- { FRVBF_INSN_RSTBF, SEM_FN_NAME (frvbf,rstbf) },
- { FRVBF_INSN_RSTHF, SEM_FN_NAME (frvbf,rsthf) },
- { FRVBF_INSN_RSTF, SEM_FN_NAME (frvbf,rstf) },
{ FRVBF_INSN_STD, SEM_FN_NAME (frvbf,std) },
{ FRVBF_INSN_STDF, SEM_FN_NAME (frvbf,stdf) },
{ FRVBF_INSN_STDC, SEM_FN_NAME (frvbf,stdc) },
- { FRVBF_INSN_RSTD, SEM_FN_NAME (frvbf,rstd) },
- { FRVBF_INSN_RSTDF, SEM_FN_NAME (frvbf,rstdf) },
{ FRVBF_INSN_STQ, SEM_FN_NAME (frvbf,stq) },
{ FRVBF_INSN_STQF, SEM_FN_NAME (frvbf,stqf) },
{ FRVBF_INSN_STQC, SEM_FN_NAME (frvbf,stqc) },
- { FRVBF_INSN_RSTQ, SEM_FN_NAME (frvbf,rstq) },
- { FRVBF_INSN_RSTQF, SEM_FN_NAME (frvbf,rstqf) },
{ FRVBF_INSN_STBU, SEM_FN_NAME (frvbf,stbu) },
{ FRVBF_INSN_STHU, SEM_FN_NAME (frvbf,sthu) },
{ FRVBF_INSN_STU, SEM_FN_NAME (frvbf,stu) },
@@ -28619,6 +28696,9 @@ static const struct sem_fn_desc sem_fns[] = {
{ FRVBF_INSN_DCUL, SEM_FN_NAME (frvbf,dcul) },
{ FRVBF_INSN_BAR, SEM_FN_NAME (frvbf,bar) },
{ FRVBF_INSN_MEMBAR, SEM_FN_NAME (frvbf,membar) },
+ { FRVBF_INSN_LRAI, SEM_FN_NAME (frvbf,lrai) },
+ { FRVBF_INSN_LRAD, SEM_FN_NAME (frvbf,lrad) },
+ { FRVBF_INSN_TLBPR, SEM_FN_NAME (frvbf,tlbpr) },
{ FRVBF_INSN_COP1, SEM_FN_NAME (frvbf,cop1) },
{ FRVBF_INSN_COP2, SEM_FN_NAME (frvbf,cop2) },
{ FRVBF_INSN_CLRGR, SEM_FN_NAME (frvbf,clrgr) },
@@ -28766,6 +28846,10 @@ static const struct sem_fn_desc sem_fns[] = {
{ FRVBF_INSN_CMQADDHUS, SEM_FN_NAME (frvbf,cmqaddhus) },
{ FRVBF_INSN_CMQSUBHSS, SEM_FN_NAME (frvbf,cmqsubhss) },
{ FRVBF_INSN_CMQSUBHUS, SEM_FN_NAME (frvbf,cmqsubhus) },
+ { FRVBF_INSN_MQLCLRHS, SEM_FN_NAME (frvbf,mqlclrhs) },
+ { FRVBF_INSN_MQLMTHS, SEM_FN_NAME (frvbf,mqlmths) },
+ { FRVBF_INSN_MQSLLHI, SEM_FN_NAME (frvbf,mqsllhi) },
+ { FRVBF_INSN_MQSRAHI, SEM_FN_NAME (frvbf,mqsrahi) },
{ FRVBF_INSN_MADDACCS, SEM_FN_NAME (frvbf,maddaccs) },
{ FRVBF_INSN_MSUBACCS, SEM_FN_NAME (frvbf,msubaccs) },
{ FRVBF_INSN_MDADDACCS, SEM_FN_NAME (frvbf,mdaddaccs) },
diff --git a/sim/frv/traps.c b/sim/frv/traps.c
index f7b4b746f86..3e9344696fe 100644
--- a/sim/frv/traps.c
+++ b/sim/frv/traps.c
@@ -50,7 +50,8 @@ frv_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
{
if (sig == sim_core_unaligned_signal)
{
- if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
+ if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400
+ || STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr450)
frv_queue_data_access_error_interrupt (current_cpu, addr);
else
frv_queue_mem_address_not_aligned_interrupt (current_cpu, addr);
@@ -591,7 +592,13 @@ frvbf_media_cr_not_aligned (SIM_CPU *current_cpu)
/* On some machines this generates an illegal_instruction interrupt. */
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* Note: there is a discrepancy between V2.2 of the FR400
+ instruction manual and the various FR4xx LSI specs. The former
+ claims that unaligned registers cause an mp_exception while the
+ latter say it's an illegal_instruction. The LSI specs appear
+ to be correct since MTT is fixed at 1. */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
@@ -610,7 +617,9 @@ frvbf_media_acc_not_aligned (SIM_CPU *current_cpu)
/* On some machines this generates an illegal_instruction interrupt. */
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* See comment in frvbf_cr_not_aligned(). */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
@@ -629,7 +638,9 @@ frvbf_media_register_not_aligned (SIM_CPU *current_cpu)
/* On some machines this generates an illegal_instruction interrupt. */
switch (STATE_ARCHITECTURE (sd)->mach)
{
+ /* See comment in frvbf_cr_not_aligned(). */
case bfd_mach_fr400:
+ case bfd_mach_fr450:
case bfd_mach_fr550:
frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
break;
diff --git a/sim/testsuite/ChangeLog b/sim/testsuite/ChangeLog
index 4e7b230be8b..a344a6d79a1 100644
--- a/sim/testsuite/ChangeLog
+++ b/sim/testsuite/ChangeLog
@@ -1,3 +1,31 @@
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * sim/frv/allinsn.exp (all_machs): Add fr405 and fr450.
+ * sim/fr400/allinsn.exp (all_machs): Likewise.
+ * sim/fr400/addss.cgs (mach): Change to "fr405 fr450".
+ * sim/fr400/scutss.cgs (mach): Likewise.
+ * sim/fr400/slass.cgs (mach): Likewise.
+ * sim/fr400/smass.cgs (mach): Likewise.
+ * sim/fr400/smsss.cgs (mach): Likewise.
+ * sim/fr400/smu.cgs (mach): Likewise.
+ * sim/fr400/subss.cgs (mach): Likewise.
+ * sim/interrupts/fp_exception.cgs: Replace fmadds with .word.
+ * sim/interrupts/fp_exception-fr550.cgs: Likewise.
+ * sim/frv/mqlclrhs.cgs: New test.
+ * sim/frv/mqlmths.cgs: New test.
+ * sim/frv/mqsllhi.cgs: New test.
+ * sim/frv/mqsrahi.cgs: New test.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * sim/frv/fr400/scutss.cgs: Fix tests to account for rounding.
+ Add some new ones.
+
+2004-03-01 Richard Sandiford <rsandifo@redhat.com>
+
+ * sim/frv/{rstb,rsth,rst,rstd,rstq}.cgs: Delete.
+ * sim/frv/{rstbf,rsthf,rstf,rstdf,rstqf}.cgs: Delete.
+
2004-01-26 Chris Demetriou <cgd@broadcom.com>
* sim/mips: New directory. Tests for the MIPS simulator.
diff --git a/sim/testsuite/sim/frv/allinsn.exp b/sim/testsuite/sim/frv/allinsn.exp
index 220550da737..b7f9fe2ad06 100644
--- a/sim/testsuite/sim/frv/allinsn.exp
+++ b/sim/testsuite/sim/frv/allinsn.exp
@@ -4,7 +4,7 @@ if [istarget frv*-*] {
# load support procs (none yet)
# load_lib cgen.exp
# all machines
- set all_machs "frv fr500 fr550 fr400"
+ set all_machs "frv fr500 fr550 fr400 fr405 fr450"
set cpu_option -mcpu
# The .cgs suffix is for "cgen .s".
diff --git a/sim/testsuite/sim/frv/fr400/addss.cgs b/sim/testsuite/sim/frv/fr400/addss.cgs
index 631d5741fa5..b108f506924 100644
--- a/sim/testsuite/sim/frv/fr400/addss.cgs
+++ b/sim/testsuite/sim/frv/fr400/addss.cgs
@@ -1,5 +1,5 @@
# frv testcase for addss $GRi,$GRj,$GRk
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/fr400/allinsn.exp b/sim/testsuite/sim/frv/fr400/allinsn.exp
index 53394ecb530..b1697610403 100644
--- a/sim/testsuite/sim/frv/fr400/allinsn.exp
+++ b/sim/testsuite/sim/frv/fr400/allinsn.exp
@@ -4,7 +4,7 @@ if [istarget frv*-*] {
# load support procs (none yet)
# load_lib cgen.exp
# all machines
- set all_machs "fr400 fr550"
+ set all_machs "fr400 fr405 fr450 fr550"
set cpu_option -mcpu
# The .cgs suffix is for "cgen .s".
diff --git a/sim/testsuite/sim/frv/fr400/scutss.cgs b/sim/testsuite/sim/frv/fr400/scutss.cgs
index aa115b96618..f958de68dfc 100644
--- a/sim/testsuite/sim/frv/fr400/scutss.cgs
+++ b/sim/testsuite/sim/frv/fr400/scutss.cgs
@@ -1,5 +1,5 @@
# frv testcase for scutss $FRj,$FRk
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
@@ -12,7 +12,7 @@ scutss:
set_gr_immed 0,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffe7,gr11
+ test_gr_limmed 0xffff,0xffe8,gr11
set_gr_immed 1,gr10
scutss gr10,gr11
@@ -28,7 +28,7 @@ scutss:
set_gr_immed 4,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xfe78,gr11
+ test_gr_limmed 0xffff,0xfe79,gr11
set_gr_immed 5,gr10
scutss gr10,gr11
@@ -40,11 +40,11 @@ scutss:
set_gr_immed 7,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xf3c4,gr11
+ test_gr_limmed 0xffff,0xf3c5,gr11
set_gr_immed 8,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xe789,gr11
+ test_gr_limmed 0xffff,0xe78a,gr11
set_gr_immed 9,gr10
scutss gr10,gr11
@@ -52,7 +52,7 @@ scutss:
set_gr_immed 10,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0x9e26,gr11
+ test_gr_limmed 0xffff,0x9e27,gr11
set_gr_immed 11,gr10
scutss gr10,gr11
@@ -60,7 +60,7 @@ scutss:
set_gr_immed 12,gr10
scutss gr10,gr11
- test_gr_limmed 0xfffe,0x789a,gr11
+ test_gr_limmed 0xfffe,0x789b,gr11
set_gr_immed 13,gr10
scutss gr10,gr11
@@ -68,19 +68,19 @@ scutss:
set_gr_immed 14,gr10
scutss gr10,gr11
- test_gr_limmed 0xfff9,0xe26a,gr11
+ test_gr_limmed 0xfff9,0xe26b,gr11
set_gr_immed 15,gr10
scutss gr10,gr11
- test_gr_limmed 0xfff3,0xc4d5,gr11
+ test_gr_limmed 0xfff3,0xc4d6,gr11
set_gr_immed 16,gr10
scutss gr10,gr11
- test_gr_limmed 0xffe7,0x89ab,gr11
+ test_gr_limmed 0xffe7,0x89ac,gr11
set_gr_immed 17,gr10
scutss gr10,gr11
- test_gr_limmed 0xffcf,0x1357,gr11
+ test_gr_limmed 0xffcf,0x1358,gr11
set_gr_immed 18,gr10
scutss gr10,gr11
@@ -92,11 +92,11 @@ scutss:
set_gr_immed 20,gr10
scutss gr10,gr11
- test_gr_limmed 0xfe78,0x9abc,gr11
+ test_gr_limmed 0xfe78,0x9abd,gr11
set_gr_immed 21,gr10
scutss gr10,gr11
- test_gr_limmed 0xfcf1,0x3579,gr11
+ test_gr_limmed 0xfcf1,0x357a,gr11
set_gr_immed 22,gr10
scutss gr10,gr11
@@ -104,19 +104,19 @@ scutss:
set_gr_immed 23,gr10
scutss gr10,gr11
- test_gr_limmed 0xf3c4,0xd5e6,gr11
+ test_gr_limmed 0xf3c4,0xd5e7,gr11
set_gr_immed 24,gr10
scutss gr10,gr11
- test_gr_limmed 0xe789,0xabcd,gr11
+ test_gr_limmed 0xe789,0xabce,gr11
set_gr_immed 25,gr10
scutss gr10,gr11
- test_gr_limmed 0xcf13,0x579b,gr11
+ test_gr_limmed 0xcf13,0x579c,gr11
set_gr_immed 26,gr10
scutss gr10,gr11
- test_gr_limmed 0x9e26,0xaf37,gr11
+ test_gr_limmed 0x9e26,0xaf38,gr11
set_gr_immed 27,gr10
scutss gr10,gr11
@@ -268,11 +268,11 @@ scutss:
set_gr_immed 64,gr10 ; same as -64
scutss gr10,gr11
- test_gr_immed -1,gr11
+ test_gr_immed 0,gr11
set_gr_immed 128,gr10 ; same as 0
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffe7,gr11
+ test_gr_limmed 0xffff,0xffe8,gr11
.global scutss2
scutss2:
@@ -281,7 +281,7 @@ scutss2:
set_gr_limmed 0xffff,0xffff,gr10 ; -1
scutss gr10,gr11
- test_gr_limmed 0xf3c4,0xd5e6,gr11
+ test_gr_limmed 0xf3c4,0xd5e7,gr11
set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter)
scutss gr10,gr11
@@ -289,11 +289,11 @@ scutss2:
set_gr_immed -3,gr10
scutss gr10,gr11
- test_gr_limmed 0xfcf1,0x3579,gr11
+ test_gr_limmed 0xfcf1,0x357a,gr11
set_gr_immed -4,gr10
scutss gr10,gr11
- test_gr_limmed 0xfe78,0x9abc,gr11
+ test_gr_limmed 0xfe78,0x9abd,gr11
set_gr_immed -5,gr10
scutss gr10,gr11
@@ -305,19 +305,19 @@ scutss2:
set_gr_immed -7,gr10
scutss gr10,gr11
- test_gr_limmed 0xffcf,0x1357,gr11
+ test_gr_limmed 0xffcf,0x1358,gr11
set_gr_immed -8,gr10
scutss gr10,gr11
- test_gr_limmed 0xffe7,0x89ab,gr11
+ test_gr_limmed 0xffe7,0x89ac,gr11
set_gr_immed -9,gr10
scutss gr10,gr11
- test_gr_limmed 0xfff3,0xc4d5,gr11
+ test_gr_limmed 0xfff3,0xc4d6,gr11
set_gr_immed -10,gr10
scutss gr10,gr11
- test_gr_limmed 0xfff9,0xe26a,gr11
+ test_gr_limmed 0xfff9,0xe26b,gr11
set_gr_immed -11,gr10
scutss gr10,gr11
@@ -325,7 +325,7 @@ scutss2:
set_gr_immed -12,gr10
scutss gr10,gr11
- test_gr_limmed 0xfffe,0x789a,gr11
+ test_gr_limmed 0xfffe,0x789b,gr11
set_gr_immed -13,gr10
scutss gr10,gr11
@@ -333,7 +333,7 @@ scutss2:
set_gr_immed -14,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0x9e26,gr11
+ test_gr_limmed 0xffff,0x9e27,gr11
set_gr_immed -15,gr10
scutss gr10,gr11
@@ -341,11 +341,11 @@ scutss2:
set_gr_immed -16,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xe789,gr11
+ test_gr_limmed 0xffff,0xe78a,gr11
set_gr_immed -17,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xf3c4,gr11
+ test_gr_limmed 0xffff,0xf3c5,gr11
set_gr_immed -18,gr10
scutss gr10,gr11
@@ -357,7 +357,7 @@ scutss2:
set_gr_immed -20,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xfe78,gr11
+ test_gr_limmed 0xffff,0xfe79,gr11
set_gr_immed -21,gr10
scutss gr10,gr11
@@ -373,19 +373,19 @@ scutss2:
set_gr_immed -24,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffe7,gr11
+ test_gr_limmed 0xffff,0xffe8,gr11
set_gr_immed -25,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xfff3,gr11
+ test_gr_limmed 0xffff,0xfff4,gr11
set_gr_immed -26,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xfff9,gr11
+ test_gr_limmed 0xffff,0xfffa,gr11
set_gr_immed -27,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xfffc,gr11
+ test_gr_limmed 0xffff,0xfffd,gr11
set_gr_immed -28,gr10
scutss gr10,gr11
@@ -397,26 +397,26 @@ scutss2:
set_gr_immed -30,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffff,gr11
+ test_gr_immed 0,gr11
set_gr_immed -31,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffff,gr11
+ test_gr_immed 0,gr11
set_gr_immed -32,gr10
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffff,gr11
+ test_gr_immed 0,gr11
set_gr_limmed 0,64,gr10 ; same as -32
scutss gr10,gr11
- test_gr_limmed 0xffff,0xffff,gr11
+ test_gr_immed 0,gr11
set_spr_immed 0x6789abcd,iacc0h
set_spr_immed 0xefa5a5a5,iacc0l
set_gr_limmed 0xffff,0xffff,gr10
scutss gr10,gr11
- test_gr_limmed 0x33c4,0xd5e6,gr11
+ test_gr_limmed 0x33c4,0xd5e7,gr11
set_gr_limmed 0x0000,0x007e,gr10 ; -2 (only lower 7 bits matter)
scutss gr10,gr11
@@ -424,11 +424,11 @@ scutss2:
set_gr_immed -3,gr10
scutss gr10,gr11
- test_gr_limmed 0x0cf1,0x3579,gr11
+ test_gr_limmed 0x0cf1,0x357a,gr11
set_gr_immed -4,gr10
scutss gr10,gr11
- test_gr_limmed 0x0678,0x9abc,gr11
+ test_gr_limmed 0x0678,0x9abd,gr11
set_gr_immed -5,gr10
scutss gr10,gr11
@@ -440,19 +440,19 @@ scutss2:
set_gr_immed -7,gr10
scutss gr10,gr11
- test_gr_limmed 0x00cf,0x1357,gr11
+ test_gr_limmed 0x00cf,0x1358,gr11
set_gr_immed -8,gr10
scutss gr10,gr11
- test_gr_limmed 0x0067,0x89ab,gr11
+ test_gr_limmed 0x0067,0x89ac,gr11
set_gr_immed -9,gr10
scutss gr10,gr11
- test_gr_limmed 0x0033,0xc4d5,gr11
+ test_gr_limmed 0x0033,0xc4d6,gr11
set_gr_immed -10,gr10
scutss gr10,gr11
- test_gr_limmed 0x0019,0xe26a,gr11
+ test_gr_limmed 0x0019,0xe26b,gr11
set_gr_immed -11,gr10
scutss gr10,gr11
@@ -460,7 +460,7 @@ scutss2:
set_gr_immed -12,gr10
scutss gr10,gr11
- test_gr_limmed 0x0006,0x789a,gr11
+ test_gr_limmed 0x0006,0x789b,gr11
set_gr_immed -13,gr10
scutss gr10,gr11
@@ -468,7 +468,7 @@ scutss2:
set_gr_immed -14,gr10
scutss gr10,gr11
- test_gr_limmed 0x0001,0x9e26,gr11
+ test_gr_limmed 0x0001,0x9e27,gr11
set_gr_immed -15,gr10
scutss gr10,gr11
@@ -476,11 +476,11 @@ scutss2:
set_gr_immed -16,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x6789,gr11
+ test_gr_limmed 0x0000,0x678a,gr11
set_gr_immed -17,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x33c4,gr11
+ test_gr_limmed 0x0000,0x33c5,gr11
set_gr_immed -18,gr10
scutss gr10,gr11
@@ -492,7 +492,7 @@ scutss2:
set_gr_immed -20,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0678,gr11
+ test_gr_limmed 0x0000,0x0679,gr11
set_gr_immed -21,gr10
scutss gr10,gr11
@@ -508,19 +508,19 @@ scutss2:
set_gr_immed -24,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0067,gr11
+ test_gr_limmed 0x0000,0x0068,gr11
set_gr_immed -25,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0033,gr11
+ test_gr_limmed 0x0000,0x0034,gr11
set_gr_immed -26,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0019,gr11
+ test_gr_limmed 0x0000,0x001a,gr11
set_gr_immed -27,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x000c,gr11
+ test_gr_limmed 0x0000,0x000d,gr11
set_gr_immed -28,gr10
scutss gr10,gr11
@@ -532,11 +532,11 @@ scutss2:
set_gr_immed -30,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0001,gr11
+ test_gr_limmed 0x0000,0x0002,gr11
set_gr_immed -31,gr10
scutss gr10,gr11
- test_gr_limmed 0x0000,0x0000,gr11
+ test_gr_limmed 0x0000,0x0001,gr11
set_gr_immed -32,gr10
scutss gr10,gr11
@@ -630,13 +630,35 @@ scutss2:
set_gr_limmed 0xffff,0xfffc,gr10
scutss gr10,gr11
- test_gr_limmed 0xfaf5,0xa5a5,gr11
+ test_gr_limmed 0xfaf5,0xa5a6,gr11
set_spr_immed 0x2f5a5a5a,iacc0h
set_spr_immed 0x5a5a5a5a,iacc0l
set_gr_limmed 0xffff,0xfff9,gr10
scutss gr10,gr11
- test_gr_limmed 0x005e,0xb4b4,gr11
+ test_gr_limmed 0x005e,0xb4b5,gr11
+
+# From the manual
+ .global scutss3
+scutss3:
+ set_spr_immed 0xfffffedc,iacc0h
+ set_spr_immed 0xba987654,iacc0l
+
+ set_gr_immed 16,gr10
+ scutss gr10,gr11
+ test_gr_limmed 0xfedc,0xba98,gr11
+
+ set_gr_immed 12,gr10
+ scutss gr10,gr11
+ test_gr_limmed 0xffed,0xcbaa,gr11
+
+ set_gr_immed -4,gr10
+ scutss gr10,gr11
+ test_gr_limmed 0xffff,0xffee,gr11
+
+ set_gr_immed 24,gr10
+ scutss gr10,gr11
+ test_gr_limmed 0x8000,0x0000,gr11
pass
diff --git a/sim/testsuite/sim/frv/fr400/slass.cgs b/sim/testsuite/sim/frv/fr400/slass.cgs
index 01000520375..3e8bcac2f94 100644
--- a/sim/testsuite/sim/frv/fr400/slass.cgs
+++ b/sim/testsuite/sim/frv/fr400/slass.cgs
@@ -1,5 +1,5 @@
# frv testcase for slass $GRi,$GRj,$GRk
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/fr400/smass.cgs b/sim/testsuite/sim/frv/fr400/smass.cgs
index 3df0fa5ddc7..4594ecd0abb 100644
--- a/sim/testsuite/sim/frv/fr400/smass.cgs
+++ b/sim/testsuite/sim/frv/fr400/smass.cgs
@@ -1,5 +1,5 @@
# frv testcase for smass $GRi,$GRj
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/fr400/smsss.cgs b/sim/testsuite/sim/frv/fr400/smsss.cgs
index 56efa5642c9..50876d83bc3 100644
--- a/sim/testsuite/sim/frv/fr400/smsss.cgs
+++ b/sim/testsuite/sim/frv/fr400/smsss.cgs
@@ -1,5 +1,5 @@
# frv testcase for smsss $GRi,$GRj
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/fr400/smu.cgs b/sim/testsuite/sim/frv/fr400/smu.cgs
index d0087df10d0..eae788ed8ea 100644
--- a/sim/testsuite/sim/frv/fr400/smu.cgs
+++ b/sim/testsuite/sim/frv/fr400/smu.cgs
@@ -1,5 +1,5 @@
# frv testcase for smu $GRi,$GRj
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/fr400/subss.cgs b/sim/testsuite/sim/frv/fr400/subss.cgs
index cbaafb5bac7..fcda589a9f3 100644
--- a/sim/testsuite/sim/frv/fr400/subss.cgs
+++ b/sim/testsuite/sim/frv/fr400/subss.cgs
@@ -1,5 +1,5 @@
# frv testcase for subss $GRi,$GRj,$GRk
-# mach: fr400
+# mach: fr405 fr450
.include "../testutils.inc"
diff --git a/sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs b/sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs
index 0bb98d8eb43..5d1c3f58d30 100644
--- a/sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs
+++ b/sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs
@@ -70,7 +70,7 @@ pack: fnegs fr10,fr12
set_spr_addr ok1,lr
set_gr_immed 4,gr20 ; PC increment
-bad: fmadds fr16,fr4,fr1 ; unimplemented
+bad: .word 0x83e502c4 ; fmadds fr16,fr4,fr1 (unimplemented)
test_gr_immed 4,gr15
and_spr_immed 0xfbffffff,fsr0 ; disable div/0 fp_exception
diff --git a/sim/testsuite/sim/frv/interrupts/fp_exception.cgs b/sim/testsuite/sim/frv/interrupts/fp_exception.cgs
index ad5f7e40880..0109b53cf2e 100644
--- a/sim/testsuite/sim/frv/interrupts/fp_exception.cgs
+++ b/sim/testsuite/sim/frv/interrupts/fp_exception.cgs
@@ -65,7 +65,7 @@ pack: fnegs fr10,fr10
set_spr_addr ok1,lr
set_gr_immed 4,gr20 ; PC increment
-bad: fmadds fr16,fr4,fr1 ; unimplemented
+bad: .word 0x83e502c4 ; fmadds fr16,fr4,fr1 (unimplemented)
test_gr_immed 4,gr15
and_spr_immed 0xfbffffff,fsr0 ; disable div/0 fp_exception
diff --git a/sim/testsuite/sim/frv/mqlclrhs.cgs b/sim/testsuite/sim/frv/mqlclrhs.cgs
new file mode 100644
index 00000000000..5e090b00d7a
--- /dev/null
+++ b/sim/testsuite/sim/frv/mqlclrhs.cgs
@@ -0,0 +1,74 @@
+# frv testcase for mqlclrhs $FRi,$FRj,$FRj
+# mach: fr450
+
+ .include "testutils.inc"
+
+ start
+
+ .global mqlclrhs
+mqlclrhs:
+ set_fr_iimmed 0x1000,0x2000,fr4
+ set_fr_iimmed 0xe800,0xd800,fr5
+ set_fr_iimmed 0x0800,0x0800,fr6
+ set_fr_iimmed 0x0800,0x0800,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x1000,0x2000,fr8
+ test_fr_limmed 0xe800,0xd800,fr9
+
+ set_fr_iimmed 0x1000,0x2000,fr4
+ set_fr_iimmed 0xe800,0xd800,fr5
+ set_fr_iimmed 0xf800,0xf800,fr6
+ set_fr_iimmed 0xf800,0xf800,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0xf000,0xe000,fr8
+ test_fr_limmed 0x1800,0x2800,fr9
+
+ set_fr_iimmed 0x1000,0x1000,fr4
+ set_fr_iimmed 0x1000,0x1000,fr5
+ set_fr_iimmed 0xf000,0xf800,fr6
+ set_fr_iimmed 0x0800,0x1000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x0000,0xf000,fr8
+ test_fr_limmed 0x1000,0x0000,fr9
+
+ set_fr_iimmed 0xf000,0xf000,fr4
+ set_fr_iimmed 0xf000,0xf000,fr5
+ set_fr_iimmed 0xf000,0xf800,fr6
+ set_fr_iimmed 0x0800,0x1000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x0000,0x1000,fr8
+ test_fr_limmed 0xf000,0x0000,fr9
+
+ set_fr_iimmed 0x8000,0x8000,fr4
+ set_fr_iimmed 0x8000,0x8000,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x0000,0x8000,fr8
+ test_fr_limmed 0x7fff,0x8000,fr9
+
+ set_fr_iimmed 0x7fff,0x7fff,fr4
+ set_fr_iimmed 0x7fff,0x7fff,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x0000,0x0000,fr8
+ test_fr_limmed 0x0000,0x7fff,fr9
+
+ set_fr_iimmed 0x8001,0x8001,fr4
+ set_fr_iimmed 0x8001,0x8001,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x0000,0x0000,fr8
+ test_fr_limmed 0x0000,0x8001,fr9
+
+ set_fr_iimmed 0x8000,0x8000,fr4
+ set_fr_iimmed 0x0001,0xffff,fr5
+ set_fr_iimmed 0x0001,0xffff,fr6
+ set_fr_iimmed 0x8000,0x8000,fr7
+ mqlclrhs fr4,fr6,fr8
+ test_fr_limmed 0x8000,0x7fff,fr8
+ test_fr_limmed 0x0000,0x0000,fr9
+
+ pass
diff --git a/sim/testsuite/sim/frv/mqlmths.cgs b/sim/testsuite/sim/frv/mqlmths.cgs
new file mode 100644
index 00000000000..d416d651dac
--- /dev/null
+++ b/sim/testsuite/sim/frv/mqlmths.cgs
@@ -0,0 +1,74 @@
+# frv testcase for mqlmths $FRi,$FRj,$FRj
+# mach: fr450
+
+ .include "testutils.inc"
+
+ start
+
+ .global mqlmths
+mqlmths:
+ set_fr_iimmed 0x1000,0x2000,fr4
+ set_fr_iimmed 0xe800,0xd800,fr5
+ set_fr_iimmed 0x0800,0x0800,fr6
+ set_fr_iimmed 0x0800,0x0800,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0x0800,0x0800,fr8
+ test_fr_limmed 0xf800,0xf800,fr9
+
+ set_fr_iimmed 0x1000,0x2000,fr4
+ set_fr_iimmed 0xe800,0xd800,fr5
+ set_fr_iimmed 0xf800,0xf800,fr6
+ set_fr_iimmed 0xf800,0xf800,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0xf800,0xf800,fr8
+ test_fr_limmed 0x0800,0x0800,fr9
+
+ set_fr_iimmed 0x1000,0x1000,fr4
+ set_fr_iimmed 0x1000,0x1000,fr5
+ set_fr_iimmed 0xe800,0xf800,fr6
+ set_fr_iimmed 0x0800,0x1800,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0x1000,0xf800,fr8
+ test_fr_limmed 0x0800,0x1000,fr9
+
+ set_fr_iimmed 0xf000,0xf000,fr4
+ set_fr_iimmed 0xf000,0xf000,fr5
+ set_fr_iimmed 0xe800,0xf800,fr6
+ set_fr_iimmed 0x0800,0x1800,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0xf000,0x0800,fr8
+ test_fr_limmed 0xf800,0xf000,fr9
+
+ set_fr_iimmed 0x8000,0x8000,fr4
+ set_fr_iimmed 0x8000,0x8000,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0x7fff,0x8001,fr8
+ test_fr_limmed 0x7fff,0x0000,fr9
+
+ set_fr_iimmed 0x7fff,0x7fff,fr4
+ set_fr_iimmed 0x7fff,0x7fff,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0x7fff,0x7fff,fr8
+ test_fr_limmed 0x8001,0x0000,fr9
+
+ set_fr_iimmed 0x8001,0x8001,fr4
+ set_fr_iimmed 0x8001,0x8001,fr5
+ set_fr_iimmed 0x8000,0x7fff,fr6
+ set_fr_iimmed 0x8001,0x0000,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0x8001,0x8001,fr8
+ test_fr_limmed 0x7fff,0x0000,fr9
+
+ set_fr_iimmed 0x8000,0x8000,fr4
+ set_fr_iimmed 0x0001,0xffff,fr5
+ set_fr_iimmed 0x0001,0xffff,fr6
+ set_fr_iimmed 0x8000,0x8000,fr7
+ mqlmths fr4,fr6,fr8
+ test_fr_limmed 0xffff,0x0001,fr8
+ test_fr_limmed 0x0001,0xffff,fr9
+
+ pass
diff --git a/sim/testsuite/sim/frv/mqsllhi.cgs b/sim/testsuite/sim/frv/mqsllhi.cgs
new file mode 100644
index 00000000000..21379f2b0b8
--- /dev/null
+++ b/sim/testsuite/sim/frv/mqsllhi.cgs
@@ -0,0 +1,40 @@
+# frv testcase for mqsllhi $FRi,#u6,$FRj
+# mach: fr450
+
+ .include "testutils.inc"
+
+ start
+
+ .global mqsllhi
+mqsllhi:
+ set_fr_iimmed 0x0001,0x0002,fr4
+ set_fr_iimmed 0x0003,0x0004,fr5
+ mqsllhi fr4,#1,fr6
+ test_fr_limmed 0x0002,0x0004,fr6
+ test_fr_limmed 0x0006,0x0008,fr7
+
+ set_fr_iimmed 0xffff,0xfffe,fr4
+ set_fr_iimmed 0xfffc,0xfff8,fr5
+ mqsllhi fr4,#1,fr6
+ test_fr_limmed 0xfffe,0xfffc,fr6
+ test_fr_limmed 0xfff8,0xfff0,fr7
+
+ set_fr_iimmed 0xffff,0xfffe,fr4
+ set_fr_iimmed 0xfffc,0xfff8,fr5
+ mqsllhi fr4,#12,fr6
+ test_fr_limmed 0xf000,0xe000,fr6
+ test_fr_limmed 0xc000,0x8000,fr7
+
+ set_fr_iimmed 0x1234,0x5678,fr4
+ set_fr_iimmed 0x9abc,0xdef0,fr5
+ mqsllhi fr4,#12,fr6
+ test_fr_limmed 0x4000,0x8000,fr6
+ test_fr_limmed 0xc000,0x0000,fr7
+
+ set_fr_iimmed 0x1234,0x5678,fr4
+ set_fr_iimmed 0x9abc,0xdef0,fr5
+ mqsllhi fr4,#16,fr6
+ test_fr_limmed 0x1234,0x5678,fr6
+ test_fr_limmed 0x9abc,0xdef0,fr7
+
+ pass
diff --git a/sim/testsuite/sim/frv/mqsrahi.cgs b/sim/testsuite/sim/frv/mqsrahi.cgs
new file mode 100644
index 00000000000..1d30179c498
--- /dev/null
+++ b/sim/testsuite/sim/frv/mqsrahi.cgs
@@ -0,0 +1,40 @@
+# frv testcase for mqsrahi $FRi,#u6,$FRj
+# mach: fr450
+
+ .include "testutils.inc"
+
+ start
+
+ .global mqsrahi
+mqsrahi:
+ set_fr_iimmed 0x0001,0x0002,fr4
+ set_fr_iimmed 0x0003,0x0004,fr5
+ mqsrahi fr4,#1,fr6
+ test_fr_limmed 0x0000,0x0001,fr6
+ test_fr_limmed 0x0001,0x0002,fr7
+
+ set_fr_iimmed 0xffff,0xfffe,fr4
+ set_fr_iimmed 0xfffc,0xfff8,fr5
+ mqsrahi fr4,#1,fr6
+ test_fr_limmed 0xffff,0xffff,fr6
+ test_fr_limmed 0xfffe,0xfffc,fr7
+
+ set_fr_iimmed 0x8000,0xc000,fr4
+ set_fr_iimmed 0xe000,0xf000,fr5
+ mqsrahi fr4,#12,fr6
+ test_fr_limmed 0xfff8,0xfffc,fr6
+ test_fr_limmed 0xfffe,0xffff,fr7
+
+ set_fr_iimmed 0x1234,0x5678,fr4
+ set_fr_iimmed 0x9abc,0xdef0,fr5
+ mqsrahi fr4,#12,fr6
+ test_fr_limmed 0x0001,0x0005,fr6
+ test_fr_limmed 0xfff9,0xfffd,fr7
+
+ set_fr_iimmed 0x1234,0x5678,fr4
+ set_fr_iimmed 0x9abc,0xdef0,fr5
+ mqsrahi fr4,#16,fr6
+ test_fr_limmed 0x1234,0x5678,fr6
+ test_fr_limmed 0x9abc,0xdef0,fr7
+
+ pass