4 * v850-opc.c (v850_opcodes): Get ld.[bhw] and st.[bhw]
5 correct. Get sld.[bhw] and sst.[bhw] closer.
7 * v850-opc.c (v850_operands): "not" is a two byte insn
9 * v850-opc.c (v850_opcodes): Correct bit pattern for setf.
11 * v850-opc.c (v850_operands): D16 inserts at offset 16!
13 * v850-opc.c (two): Get order of words correct.
15 * v850-opc.c (v850_operands): I16 inserts at offset 16!
17 * v850-opc.c (v850_operands): Add "SR1" and "SR2" for system
18 register source and destination operands.
19 (v850_opcodes): Use SR1 and SR2 for "ldsr" and "stsr".
21 * v850-opc.c (v850_opcodes): Fix thinko in "jmp" opcode. Fix
22 same thinko in "trap" opcode.
24 * v850-opc.c (v850_opcodes): Add initializer for size field
27 * v850-opc.c (v850_operands): D6 -> DS7. References changed.
28 Add D8 for 8-bit unsigned field in short load/store insns.
29 (IF4A, IF4D): These both need two registers.
30 (IF4C, IF4D): Define. Use 8-bit unsigned field.
31 (v850_opcodes): For "sld.h", "sld.w", "sst.h", "sst.w", use
32 IF4C & IF4D. For "trap" use I5U, not I5. Add IF1 operand
33 for "ldsr" and "stsr".
34 * v850-opc.c (v850_operands): 3-bit immediate for bit insns
37 * v850-opc.c (v850_opcodes): Correct short store half (sst.h) and
38 short store word (sst.w).
42 * v850-opc.c (v850_operands): Added insert and extract fields,
43 pointers to functions that handle unusual operand encodings.
47 * v850-opc.c (v850_opcodes): Enable "trap".
49 * v850-opc.c (v850_opcodes): Fix order of displacement
50 and register for "set1", "clr1", "not1", and "tst1".
54 * v850-opc.c (v850_operands): Add "B3" support.
55 (v850_opcodes): Fix and enable "set1", "clr1", "not1"
58 * v850-opc.c (v850_opcodes): "jmp" has only an R1 operand.
60 * v850-opc.c: Close unterminated comment.
64 * v850-opc.c (v850_operands): Add flags field.
65 (v850_opcodes): add move opcodes.
69 * Makefile.in (ALL_MACHINES): Add v850-opc.o.
70 * configure: (bfd_v850v_arch) Add new case.
71 * configure.in: (bfd_v850_arch) Add new case.
72 * v850-opc.c: New file.
77 * sparc-dis.c (print_insn_sparc): Handle little endian sparcs.
82 * d10v-opc.c: Add additional information to the opcode
83 table to help determinine which instructions can be done
89 * mpw-make.sed: Update editing of include pathnames to be
94 * arm-opc.h: Added "bx" instruction definition.
98 * alpha-opc.c (EV4EXTHWINDEX): Field width should be 8 not 5.
103 * d10v-opc.c (d10v_opcodes): Minor fixes to addi and bl.l.
107 * d10v-opc.c (d10v_opcodes): Correct 'mv' unit entry to EITHER.
112 * makefile.vms: Update for alpha-opc changes.
116 * i386-dis.c (print_insn_i386): Actually return the correct value.
117 (ONE, OP_ONE): #ifdef out; not used.
122 * d10v-opc.c (d10v_opcodes): Added 2 accumulator sub instructions.
123 Changed subi operand type to treat 0 as 16.
128 * m68k-opc.c: Add cpushl for the mcf5200. From Ken Rose
133 * arm-opc.h: (arm_opcodes): Added halfword and sign-extension
134 memory transfer instructions. Add new format string entries %h and %s.
135 * arm-dis.c: (print_insn_arm): Provide decoding of the new
141 * d10v-opc.c (d10v_operands): Added UNUM4S; a 4-bit accumulator shift.
142 (d10v_opcodes): Modified accumulator shift instructions to use UNUM4S.
147 * alpha-dis.c (print_insn_alpha_osf): Remove.
148 (print_insn_alpha_vms): Remove.
149 (print_insn_alpha): Make globally visible. Chose the register
150 names based on info->flavour.
151 * disassemble.c: Always return print_insn_alpha for the alpha.
156 * d10v-dis.c (dis_long): Handle unknown opcodes.
160 * d10v-opc.c: Changes to support signed and unsigned numbers.
161 All instructions with the same name that have long and short forms
162 now end in ".l" or ".s". Divs added.
163 * d10v-dis.c: Changes to support signed and unsigned numbers.
167 * d10v-dis.c: Change all functions to use info->print_address_func.
172 * m68k-opc.c (m68k_opcodes): Make opcode masks for the ColdFire
173 move ccr/sr insns more strict so that the disassembler only
174 selects them when the addressing mode is data register.
178 * d10v-opc.c (pre_defined_registers): Declare.
179 * d10v-dis.c (print_operand): Now uses pre_defined_registers
180 to pick a better name for the registers.
185 * sparc-opc.c: Fix opcode values for fpack16, and fpackfix. Fix
186 operands for fexpand and fpmerge. From Christian Kuehnke
191 * alpha-dis.c (print_insn_alpha): No longer the user-visible
192 print routine. Take new regnames and cpumask arguments.
193 Kill the environment variable nonsense.
194 (print_insn_alpha_osf): New function. Do OSF/1 style regnames.
195 (print_insn_alpha_vms): New function. Do VMS style regnames.
196 * disassemble.c (disassembler): Test bfd flavour to pick
197 between OSF and VMS routines. Default to OSF.
201 * configure.in: Call AC_SUBST (INSTALL_SHLIB).
202 * configure: Rebuild.
203 * Makefile.in (install): Use @INSTALL_SHLIB@.
208 * configure: (bfd_d10v_arch) Add new case.
209 * configure.in: (bfd_d10v_arch) Add new case.
210 * d10v-dis.c: New file.
211 * d10v-opc.c: New file.
212 * disassemble.c (disassembler) Add entry for d10v.
217 * m68k-opc.c (m68k_opcodes): Fix bugs in coldfire insns relating
218 to bcc, trapfl, subxl, and wddata discovered by Andreas Schwab.
222 * i386-dis.c: Get rid of print_insn_i8086. Use info.mach to
223 distinguish between variants of the instruction set.
224 * sparc-dis.c: Get rid of print_insn_sparclite. Use info.mach to
225 distinguish between variants of the instruction set.
229 * i386-dis.c (print_insn_i8086): New routine to disassemble using
230 the 8086 instruction set.
231 * i386-dis.c: General cleanups. Make most things static. Add
232 prototypes. Get rid of static variables aflags and dflags. Pass
233 them as args (to almost everything).
237 * h8300-dis.c (bfd_h8_disassemble): Handle macregs in ldmac insns.
239 * h8300-dis.c (bfd_h8_disassemble): Handle "ldm.l" and "stm.l".
241 * h8300-dis.c (bfd_h8_disassemble): "abs" is implicitly two
242 if the next arg is marked with SRC_IN_DST. Gross.
244 * h8300-dis.c (bfd_h8_disassemble): Print "exr" when
245 we're looking for and find EXR.
247 * h8300-dis.c (bfd_h8_disassemble): We don't have a match
248 if we're looking for KBIT and we don't find it.
250 * h8300-dis.c (bfd_h8_disassemble): Mask off unwanted bits
253 * h8300-dis.c (bfd_h8_disassemble): Don't set plen for
254 3bit immediate operands.
258 * Released binutils 2.7.
260 * alpha-opc.c: Add new case of "mov". From Klaus Kaempf
265 * alpha-opc.c: Correct second case of "mov" to use OPRL.
269 * sparc-dis.c (print_insn_sparclite): New routine to print
270 sparclite instructions.
274 * m68k-opc.c (m68k_opcodes): Add coldfire support.
278 * sparc-opc.c (asi_table): Add #ASI_N, #ASI_N_L, #ASI_NUCLEUS,
279 #ASI_NUCLEUS_LITTLE. Rename #ASI_AS_IF_USER_{PRIMARY,SECONDARY}_L
280 to #ASI_AS_IF_USER_{PRIMARY,SECONDARY}_LITTLE.
284 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir):
285 Use autoconf-set values.
286 (docdir, oldincludedir): Removed.
287 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
291 * alpha-opc.c: New file.
292 * alpha-opc.h: Remove.
293 * alpha-dis.c: Complete rewrite to use new opcode table.
294 * configure.in: For bfd_alpha_arch, use alpha-opc.o.
295 * configure: Rebuild with autoconf 2.10.
296 * Makefile.in (ALL_MACHINES): Add alpha-opc.o.
297 (alpha-dis.o): Depend upon $(INCDIR)/opcode/alpha.h, not
299 (alpha-opc.o): New target.
303 * sparc-dis.c (print_insn_sparc): Remove unused local variable i.
304 Set imm_added_to_rs1 even if the source and destination register
307 * sparc-opc.c: Add some two operand forms of the wr instruction.
311 * h8300-dis.c (bfd_h8_disassemble): Rename "hmode" argument
314 * disassemble.c (disassembler): Handle H8/S.
315 * h8300-dis.c (print_insn_h8300s): New function for H8/S.
319 * sparc-opc.c: Add beq/teq as aliases for be/te.
321 * ppc-opc.c: Fix fcmpo opcode. From Sergei Steshenko
326 * makefile.vms: New file.
328 * alpha-dis.c (print_insn_alpha): Print lda ra,lit(rz) as mov.
332 * h8300-dis.c (bfd_h8_disassemble): Always print ABS8MEM with :8,
337 * i386-dis.c (OP_OFF): Call append_prefix.
341 * ppc-opc.c (instruction encoding macros): Add explicit casts to
342 unsigned long to silence a warning from the Solaris PowerPC
347 * sparc-opc.c (sparc_opcodes): Add ultrasparc vis extensions.
351 * sparc-dis.c (X_IMM,X_SIMM): New macros.
353 (print_insn_sparc): Merge cases i,I,j together. New cases X,Y.
354 * sparc-opc.c (sparc_opcodes): Use X for 5 bit shift constants,
355 Y for 6 bit shift constants. Rewrite entries for crdcxt, cwrcxt,
356 cpush, cpusha, cpull sparclet insns.
360 * sparc-dis.c (compute_arch_mask): Replace ANSI style def with K&R.
364 * sparc-opc.c: Set F_FBR on floating point branch instructions.
365 Set F_FLOAT on other floating point instructions.
369 * ppc-opc.c (PPC860): Macro for 860/821 specific instructions and
371 (powerpc_opcodes): Add 860/821 specific SPRs.
375 * configure.in: Permit --enable-shared to specify a list of
376 directories. Set and substitute BFD_PICLIST.
377 * configure: Rebuild.
378 * Makefile.in (BFD_PICLIST): Rename from BFD_LIST. Change all
379 uses. Set to @BFD_PICLIST@.
383 * h8300-dis.c (bfd_h8_disassemble): Use "bit" for L_3 immediates,
384 not "abs", which may be needed for the absolute in something
385 like btst #0,@10:8. Print L_3 immediates separately from other
386 immediates. Change ABSMOV reference to ABS8MEM.
390 * sparc-dis.c (opcodes_initialized): Move inside print_insn_sparc.
391 (current_arch_mask): New static global.
392 (compute_arch_mask): New static function.
393 (print_insn_sparc): Delete sparc_v9_p. New static local
394 current_mach. Resort opcode table if current_mach changes.
395 Generalize "insn not supported" test.
396 (compare_opcodes): Prefer supported opcodes to nonsupported ones.
397 Delete test for v9/!v9.
398 * sparc-opc.c (MASK_*): Use SPARC_OPCODE_ARCH_MASK.
400 (brfc): Split into CBR and FBR for coprocessor/fp branches.
401 (brfcx): Renamed to FBRX.
402 (condfc): Renamed to CONDFC. Pass v6notlet to CBR (standard
403 coprocessor mnemonics are not supported on the sparclet).
404 (condf): Renamed to CONDF.
405 (SLCBCC2): Delete F_ALIAS flag.
409 * sparc-opc.c (sparc_opcodes): rd must be 0 for
410 mov foo,{%y,%psr,%wim,%tbr}. Support mov foo,%asrX.
414 * Makefile.in (config.status): Depend upon BFD VERSION file, so
415 that the shared library version number is set correctly.
419 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
421 * configure: Rebuild.
425 * z8kgen.c (internal, gas): Call xmalloc rather than unchecked
430 * configure: Rebuild with autoconf 2.8.
434 * sparc-dis.c (print_insn_sparc): Handle 'O' operand char like 'r'.
435 * sparc-opc.c (sparc_opcodes): Use 'O' operand char for `neg reg'.
439 * configure.in: Don't set SHLIB or SHLINK to an empty string,
440 since they appear as targets in Makefile.in.
441 * configure: Rebuild.
445 * mpw-make.sed: Edit out shared library support bits.
449 * sparc-opc.c (v8,v6notv9): Add MASK_SPARCLET.
450 (sparc_opcode_archs): Add MASK_V8 to sparclet entry.
451 (sparc_opcodes): Add sparclet insns.
452 (sparclet_cpreg_table): New static local.
453 (sparc_{encode,decode}_sparclet_cpreg): New functions.
454 * sparc-dis.c (print_insn_sparc): Handle sparclet cpregs.
458 * i386-dis.c (index16): New static variable.
459 (putop): Print jecxz for 32 bit case, jcxz for 16 bit, not the
461 (OP_indirE): Return result of OP_E.
462 (OP_E): Check for 16 bit addressing mode, and disassemble
463 correctly. Optimised 32 bit case a little. Don't print
464 "(base,index,scale)" when sib specifies only an offset.
468 * configure.in: Set and substitute SHLIB_DEP.
469 * configure: Rebuild.
470 * Makefile.in (SHLIB_DEP): New variable.
471 (LIBIBERTY_LISTS, BFD_LIST): New variables.
472 (stamp-piclist): Depend upon LIBIBERTY_LISTS and BFD_LIST. If
473 COMMON_SHLIB, add them to piclist with appropriate modifications.
474 ($(SHLIB)): Depend upon $(SHLIB_DEP). Don't check COMMON_SHLIB
475 here: just use piclist.
479 * sparc-dis.c (MASK_V9,V9_ONLY_P,V9_P): Define.
480 (print_insn_sparc): Rewrite v9/not-v9 tests.
481 (compare_opcodes): Likewise.
482 * sparc-opc.c (MASK_<ARCH>): Define.
483 (v6,v7,v8,sparclite,v9,v9a): Redefine.
484 (sparclet,v6notv9): Define.
485 (sparc_opcode_archs): Delete member `conflicts'. Add `supported'.
486 (sparc_opcodes): Delete F_NOTV9, use v6notv9 instead.
490 * configure.in: Call AC_PROG_CC before configure.host.
491 * configure: Rebuild.
493 * Makefile.in (SONAME): Remove leading ../bfd/ from $(SHLIB).
497 * i386-dis.c (onebyte_has_modrm): New static array.
498 (twobyte_has_modrm): New static array.
499 (print_insn_i386): Only fetch the mod/reg/rm byte if it is needed.
503 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
508 * ppc-opc.c (PPC): Undef, so default defination on Windows NT
513 * m68k-opc.c (m68k_opcodes): The bkpt instruction is supported on
514 m68010up, not just m68020up | cpu32.
516 * Makefile.in (SONAME): New variable.
517 ($(SHLINK)): Make a link to the transformed name, as well.
518 (stamp-tshlink): New target.
519 (install): Skip stamp-tshlink during install.
523 * configure.in: Call AC_ARG_PROGRAM.
524 * configure: Rebuild.
525 * Makefile.in (program_transform_name): New variable.
526 (install): Transform library name before installing it.
530 * i960-dis.c (mem): Add HX dcinva instruction.
532 Support for building as a shared library, based on patches from
534 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
535 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
536 SHLIB_CFLAGS, COMMON_SHLIB, SHLINK.
537 * configure: Rebuild.
538 * Makefile.in (ALLLIBS): New variable.
539 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
540 (COMMON_SHLIB, SHLINK): New variables.
541 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
542 (STAGESTUFF): Remove variable.
543 (all): Depend upon $(ALLLIBS) rather than $(TARGETLIB).
544 (stamp-piclist, piclist): New targets.
545 ($(SHLIB), $(SHLINK)): New targets.
546 ($(OFILES)): Depend upon stamp-picdir.
547 (disassemble.o): Build twice if PICFLAG is set.
548 (MOSTLYCLEAN): Add pic/*.o.
549 (clean): Remove $(SHLIB), $(SHLINK), piclist, and stamp-piclist.
550 (distclean): Remove pic and stamp-picdir.
551 (install): Install shared libraries.
552 (stamp-picdir): New target.
556 * sparc-dis.c (print_insn_sparc): Delete DISASM_RAW_INSN support.
557 Print unknown instruction as "unknown", rather than in hex.
561 * dis-buf.c: Include "sysdep.h" before "dis-asm.h".
565 * sparc-opc.c (sparc_opcode_archs): Mark v8/sparclite as conflicting.
569 * i386-dis.c (print_insn_i386): Only fetch the mod/reg/rm byte
570 when necessary. From Ulrich Drepper
575 * sparc-dis.c (print_insn_sparc): NUMOPCODES replaced with
576 sparc_num_opcodes. Update architecture enum values.
577 * sparc-opc.c (sparc_opcode_archs): Replaces architecture_pname.
578 (sparc_opcode_lookup_arch): New function.
579 (sparc_num_opcodes): Renamed from bfd_sparc_num_opcodes.
580 (sparc_opcodes): Add v9a shutdown insn.
584 * sparc-dis.c (print_insn_sparc): Renamed from print_insn.
585 If DISASM_RAW_INSN, print insn in hex. Handle v9a as opcode
587 (print_insn_sparc64): Deleted.
588 * disassemble.c (disassembler, case bfd_arch_sparc): Always use
591 * sparc-opc.c (architecture_pname): Add v9a.
595 * alpha-opc.h (alpha_insn_set): VAX floating point opcode was
596 incorrectly defined as 0x16 when it should be 0x15.
597 (FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits!
598 (alpha_insn_set): added cvtst and cvttq float ops. Also added
599 excb (exception barrier) which is defined in the Alpha
600 Architecture Handbook version 2.
601 * alpha-dis.c (print_insn_alpha): Fixed special-case decoding for
602 OPERATE_FORMAT_CODE type instructions. The bug caused mulq to be
603 disassembled as or, for example.
607 * mips-dis.c (print_insn_arg): Print cases 'i' and 'u' in hex.
608 (_print_insn_mips): Change i from int to unsigned int.
612 * ppc-opc.c (powerpc_opcodes): tlbi POWER opcode form different
613 from tlbie PowerPC opcode. Add PPC603 tlbld and tlbli.
617 * i386-dis.c: Added Pentium Pro instructions.
621 * ppc-opc.c (fsqrt{,.}): Duplicate for PowerPC in addition to
626 * sh-opc.h (sh_nibble_type): Added REG_B.
627 (sh_arg_type): Added A_REG_B.
628 (sh_table): Added pref and bank reg versions of ldc, ldc.l, stc
630 * sh-dis.c (print_insn_shx): Added cases for REG_B and A_REG_B.
634 * disassemble.c (disassembler): Use new bfd_big_endian macro.
638 * Makefile.in (distclean): Remove stamp-h. From Ronald
644 * alpha-dis.c (print_insn_alpha): fixed decoding of cpys
649 * sh-opc.h (sh_arg_type): Added A_SSR and A_SPC.
650 (sh_table): Added many SH3 opcodes.
651 * sh-dis.c (print_insn_shx): Added cases for A_SSR and A_SPC.
655 * ppc-opc.c (subfc., subfco): Mark this PPCCOM, not PPC.
656 (subco,subco.): Mark this PPC, not PPCCOM.
660 * configure: Rebuild with autoconf 2.7.
664 * configure: Rebuild with autoconf 2.6.
668 * configure.in: Sort list of architectures. Accept but do nothing
669 for alliant, convex, pyramid, romp, and tahoe.
673 * a29k-dis.c (print_special): Change num to unsigned int.
677 * a29k-dis.c (print_insn): Cast insn24 to unsigned long when
682 * configure.in: Call AC_CHECK_PROG to find and cache AR.
683 * configure: Rebuilt.
687 * configure.in: Add case for bfd_i860_arch.
688 * configure: Rebuild.
692 * m68k-opc.c (m68k_opcodes): Correct fmoveml operands.
693 * m68k-dis.c (NEXTSINGLE): Change i to unsigned int.
694 (NEXTDOUBLE): Likewise.
695 (print_insn_m68k): Don't match fmoveml if there is more than one
696 register in the list.
697 (print_insn_arg): Handle a place of '8' for a type of 'L'.
701 * m68k-opc.c: Use #W rather than #w.
702 * m68k-dis.c (print_insn_arg): Handle new 'W' place.
706 * m68k-opc.c (m68k_opcode_aliases): Add dbfw as an alias for dbf,
707 and likewise for all the dbxx opcodes.
711 * arc-dis.c: Include elf-bfd.h rather than libelf.h.
715 * mips-opc.c: Added shorthand (V1) for INSN_4100 manifest. Added
716 the VR4100 specific instructions to the mips_opcodes structure.
720 * mpw-config.in, mpw-make.sed: Remove ugly workaround for
721 ugly Metrowerks bug in CW6, is fixed in CW7.
725 * ppc-opc.c (whole file): Add flags for common/any support.
729 * Makefile.in (BISON): Remove macro.
730 (FLAGS_TO_PASS): Remove BISON.
736 * m68k-dis.c (print_insn_m68k): Recognize all two-word
737 instructions that take no args by looking at the match mask.
738 (print_insn_arg): Always print "%" before register names.
739 [case 'c']: Use "nc" for the no-cache case, as recognized by gas.
740 [case '_']: Don't print "@#" before address.
741 [case 'J']: Use "%s" as format string, not register name.
742 [case 'B']: Treat place == 'C' like 'l' and 'L'.
746 * i386-dis.c: Describe cmpxchg8b operand, and spell the opcode
753 * alpha-opc.h (MEMORY_FUNCTION_FORMAT_MASK): added.
754 (alpha_insn_set): added definitions for VAX floating point
755 instructions (Unix compilers don't generate these, but handcoded
756 assembly might still use them).
758 * alpha-dis.c (print_insn_alpha): added support for disassembling
759 the miscellaneous instructions in the Alpha instruction set.
763 * mpw-config.in: Add m68k-opc.c.o to BFD_MACHINES for m68k,
764 no longer create sysdep.h, sed ppc-opc.c to work around a
765 serious Metrowerks C bug.
766 * mpw-make.in: Remove.
767 * mpw-make.sed: New file, used by mpw-configure to edit
768 Makefile.in into an MPW makefile.
772 * Makefile.in (maintainer-clean): New synonym for realclean.
776 * m68k-opc.c: Split pmove patterns which use 'P' into patterns
777 which use '0', '1', and '2' instead. Specify the proper size for
778 a pmove immediate operand. Correct the pmovefd patterns to be
779 moves to a register, not from a register.
780 * m68k-dis.c (print_insn_arg): Replace 'P' with '0', '1', '2'.
784 * sparc-opc.c (sparc_opcodes): Mark all insns that reference
785 %psr, %wim, %tbr as F_NOTV9.
789 * Makefile.in (Makefile): Just rebuild Makefile when running
791 (config.h, stamp-h): New targets.
792 * configure.in: Call AC_CONFIG_HEADER and AC_CANONICAL_SYSTEM
793 earlier. Don't bother to call AC_ARG_PROGRAM. Touch stamp-h when
795 * configure: Rebuild.
797 * mips-opc.c: Change unaligned loads and stores with "t,A"
798 operands to use "t,A(b)".
802 * sh-dis.c (print_insn_shx): Add F_FR0 support.
806 * sh-dis.c (print_insn_shx): Change loop over op->arg[n] to iterate
807 until 3 instead of until 2.
811 * Makefile.in (ALL_CFLAGS): Define.
812 (.c.o, disassemble.o): Use $(ALL_CFLAGS).
813 (MOSTLYCLEAN): Add config.log.
814 (distclean): Don't remove config.log.
815 * configure.in: Substitute HDEFINES.
816 * configure: Rebuild.
820 * sh-opc.h (sh_arg_type): Add F_FR0.
821 (sh_table, case fmac): Add F_FR0 as first argument.
825 * sh-opc.h (sh_opcode_info): Increase arg array size to 4.
829 * sparc-dis.c: Remove all references to NO_V9.
833 * aclocal.m4: Just include ../bfd/aclocal.m4.
834 * configure: Rebuild.
838 * sparc-dis.c (X_DISP19): Define.
839 (print_insn, case 'G'): Use it.
840 (print_insn, case 'L'): Sign extend displacement.
844 * configure.in: Run ../bfd/configure.host before AC_PROG_CC.
845 Subsitute CFLAGS and AR. Call AC_PROG_INSTALL. Don't substitute
846 host_makefile_frag or frags.
847 * aclocal.m4: New file.
848 * configure: Rebuild.
849 * Makefile.in (INSTALL): Set to @INSTALL@.
850 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
851 (INSTALL_DATA): Set to @INSTALL_DATA@.
853 (AR_FLAGS): Set to rc rather than qc.
854 (CC): Define as @CC@.
855 (CFLAGS): Set to @CFLAGS@.
856 (@host_makefile_frag@): Remove.
857 (config.status): Remove dependency upon @frags@.
859 * configure.in: ../bfd/config.bfd now just sets shell variables.
860 Use them rather than looking through target Makefile fragments.
861 * configure: Rebuild.
865 * sh-opc.h (ftrc): Change FPUL_N to FPUL_M.
869 * sparc-opc.c (sparc_opcodes): Delete duplicate wr %y insn.
870 Add clrx, iprefetch, signx, clruw, cas, casl, casx, casxl synthetic
873 * sparc-opc.c (sparc_opcodes): Fix prefetcha insn.
874 (lookup_{name,value}): New functions.
875 (prefetch_table): New static local.
876 (sparc_{encode,decode}_prefetch): New functions.
877 * sparc-dis.c (print_insn): Handle '*' arg (prefetch function).
881 * sh-opc.h: Add blank lines to improve readabililty of sh3e
886 * sh-dis.c: Correct comment on first line of file.
890 * disassemble.c (disassembler): Handle bfd_mach_sparc64.
892 * sparc-opc.c (asi, membar): New static locals.
893 (sparc_{encode,decode}_{asi,membar}): New functions.
894 (sparc_opcodes, membar insn): Fix.
895 * sparc-dis.c (print_insn): Call sparc_decode_asi.
896 Support decoding of membar masks.
901 * m68k-opc.c (m68k_opcode_aliases): Add br, brs, brb, brw, brl.
905 * m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
906 and likewise for the other branches. Add bhs as an alias for bcc,
907 and likewise for the size variants. Add dbhs as an alias for
912 * sh-opc.h (FP sts instructions): Update to match reality.
916 * m68k-dis.c: (fpcr_names): Add % before all register names.
917 (reg_names): Likewise.
918 (print_insn_arg): Don't explicitly print % before register names.
919 Add % before register names in static array names. In case 'r',
920 print data registers as `@(Dn)', not `Dn@'. When printing a
921 memory address, don't print @# before it.
922 (print_indexed): Change base_disp and outer_disp from int to
923 bfd_vma. Print using MIT syntax, not mutant invalid Motorola
924 syntax. Sign extend 8 byte displacement correctly.
925 (print_base): Print using MIT syntax. Print zpc when appropriate.
926 Change parameter disp from int to bfd_vma.
928 * m68k-opc.c (m68k_opcode_aliases): Add jsrl and jsrs as aliases
933 * sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
934 F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
935 * sh-opc.h (sh_arg_type): Add new operand types.
936 (sh_table): Add new opcodes from SH3E Floating Point ISA.
940 * Makefile.in (distclean): Remove generated file config.h.
944 * Makefile.in (distclean): Remove generated file config.h.
948 * m68k-opc.c: New file, holding tables from include/opcode/m68k.h.
950 * m68k-dis.c: Remove BREAK_UP_BIG_DECL stuff.
952 (print_insn_m68k): Change d to be const. Use m68k_numopcodes
953 rather than numopcodes. Use m68k_opcodes rather than removed
954 opcode function. Don't check F_ALIAS.
955 (print_insn_arg): Change first parameter to be const char *.
956 * Makefile.in (ALL_MACHINES): Add m68k-opc.o.
957 (m68k-opc.o): New target.
958 * configure.in: Build m68k-opc.o for bfd_m68k_arch.
959 * configure: Rebuild.
963 * sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
964 (opcode_bits, opcode_hash_table): New variables.
965 (opcodes_initialized): Renamed from opcodes_sorted.
966 (build_hash_table): New function.
967 (is_delayed_branch): Use hash table.
968 (print_insn): Renamed from print_insn_sparc, made static.
969 Build and use hash table. If !sparc64, ignore sparc64 insns,
970 and vice-versa if sparc64.
971 (print_insn_sparc, print_insn_sparc64): New functions.
972 (compare_opcodes): Move sparc64 opcodes to end.
973 Print commutative insns with constant second.
974 * sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
978 * sh-dis.c (print_insn_shx): Remove unused local dslot. Use
979 print_address_func for A_BDISP12 and A_BDISP8. Correct test which
980 avoids printing a delay slot in a delay slot.
981 * sh-opc.h (sh_table): Fully bracket last entry.
985 * sparc-opc.c (sllx, srax, srlx): Fix disassembly.
989 * configure.in: Get host_makefile_frag from ${srcdir}.
991 * configure.in: Autoconfiscated. Check for string[s].h. Create
992 config.h from config.in. Don't set up sysdep.h link.
993 * sysdep.h: New file.
994 * configure, config.in: New files, generated from configure.in.
995 * Makefile.in: Updated to be processed autoconf-style.
996 (distclean): Keep sysdep.h. Remove config.log and config.cache.
997 (Makefile): Depend on config.status.
998 (config.status): New rule.
999 * configure.bat: Update Makefile substitutions.
1003 * mips-opc.c (L1): Define.
1004 (mips_opcodes): Add R4010 instructions: flushi, flushd, flushid,
1005 addciu, madd, maddu, ffc, ffs, msub, msubu, selsi, selsr, waiti,
1010 * mips-opc.c (mips_opcodes): For the move pseudo-op, prefer daddu
1011 if ISA 3 and addu otherwise, replacing or, since some MIPS chips
1012 have multiple add units but only a single logical unit.
1014 * ppc-opc.c (powerpc_operands): Change CR to use a bitsize of 3,
1015 shifted by 18, without any insertion or extraction function.
1016 (insert_cr, extract_cr): Remove.
1021 * Makefile.in (ALL_MACHINES): Add arc-dis.o and arc-opc.o.
1026 * m68k-dis.c (print_insn_arg, print_indexed): Print "%" before
1031 * mpw-config.in: Add sh and i386 configs, remove sparc config.
1032 * sh-opc.h: Add copyright.
1036 * Makefile.in (crunch-m68k): Delete extra target accidentally
1037 checked in a while ago.
1041 * sh-opc.h (sh_table): Add SH3 support.
1045 * sh-opc.h: Added bsrf and braf.
1049 * arm-opc.h (arm_opcodes): Add 64-bit multiply patterns. Delete
1050 bogus [ls]fm{ea,fd} patterns.
1052 * arm-opc.h (arm_opcodes): Correct typos in stm, ldm, std, and ldc.
1053 * arm-dis.c (print_insn_arm): Make GIVEN a parameter, don't try and
1054 initialize it from memory. Make function static.
1055 (print_insn_{big,little}_arm): New functions.
1056 * disassemble.c (disassembler, case bfd_arch_arm): Disassemble for
1057 the correct endianness.
1062 * arc-opc.c (arc_opcodes): Add ARC_OPCODE_CONDITIONAL_BRANCH flag.
1063 (arc_suffixes): Use ARC_DELAY_{NONE,NORMAL,JUMP}.
1068 * sh-opc.h (sh_nibble_type, sh_arg_type): remove trailing , from
1073 * m68k-dis.c (opcode): Finish change made by Kung Hsu on April
1074 17th, so that it builds again using GCC as the compiler.
1078 * mips-dis.c (print_insn_little_mips): Cast return value from
1079 bfd_getl32 from bfd_vma to unsigned long, because _print_insn_mips
1080 expects an unsigned long, and that might be fewer words of
1081 argument storage (e.g., if bfd_vma is long long on a 32-bit
1083 (print_insn_big_mips): Likewise with bfd_getb32 value.
1084 (_print_insn_mips): Now static.
1088 * m68k-dis.c: Take out #define BREAK_UP_BIG_DECL kludge, because
1089 gcc memory hog problem with initializer is fixed.
1094 * arc-opc.c (NULL): Define.
1095 (arc_operands, insn fields u,s): Delete.
1096 (arc_operands, insn fields a,b,c): Mark as signed.
1097 (arc_opcodes): No longer const, links computed at run-time.
1098 (arc_opcodes, mac/mul insns): Breakout suffixes as we don't handle
1099 suffixes that affect the insn code.
1100 (arc_opcodes): Resort table to macros are first.
1101 (arc_opcodes, ld [b,c] entry): Add %Q to prevent shimms.
1102 (arc_opcodes, st [b] entry): Likewise.
1103 (arc_opcodes, st [b,d] entry): Fix mask, value.
1104 (arc_reg_names): Add entries for r29, r30, r31, r60.
1105 (opcode_map, icode_map): New static globals.
1106 (arc_opcode_init_tables): Initialize them.
1107 (arc_opcode_lookup_asm, arc_opcode_lookup_dis): New functions.
1108 (insert_shimmoffset): Signal error if register present.
1110 * arc-dis.c (print_insn): Call arc_opcode_lookup_dis.
1115 Merge in support for Mac MPW as a host.
1116 (Old change descriptions retained for informational value.)
1118 * mpw-config.in (archname): Compute from the config.
1119 (BFD_MACHINES, ARCHDEFS): Put into mk.tmp.
1121 * mpw-config.in (target_arch): Compute from canonical target.
1122 (m68k, mips, powerpc, sparc): Add architectures.
1123 * mpw-make.in (disassemble.c.o): Add.
1124 (ALL_CFLAGS): Remove special flags (-mc68020 -mc68881 -model far).
1126 * mpw-config.in (BFD_MACHINES): Set to a default value.
1127 * mpw-make.in (BFD_MACHINES): Remove wired-in value.
1129 * mpw-make.in (CSEARCH): Add extra-include to search path.
1131 * mpw-config.in (varargs.h): Don't create.
1132 (sysdep.h): Create using forward-include.
1133 * mpw-make.in (CSEARCH): Add include/mpw to search path.
1135 * mpw-config.in: New file, MPW version of configure.in.
1136 * mpw-make.in: New file, MPW version of Makefile.in.
1141 * arc-dis.c (print_insn): New parameter `big_p'. Callers updated.
1142 Call arc_get_opcode_mach to map bfd mach number to opcode value.
1143 (print_insn_*): Pass bfd mach number, not opcode version.
1144 * arc-opc.c (arc_get_opcode_mach): New function.
1149 * alpha-dis.c (print_insn_alpha): Put empty statement after
1154 * hppa-dis.c (sign_extend): Delete, redundant with libhppa.h version.
1155 (low_sign_extend): Likewise.
1156 (get_field): Delete unused function.
1157 (set_field, deposit_14, deposit_21): Likewise.
1161 * i386-dis.c: Support for more pentium opcodes. From Guy Harris
1168 * alpha-opc.h (OSF_ASMCODE): define
1169 print pal-code names as defined in App C of the
1170 Alpha Architecture Reference Manual
1172 * alpha-dis.c: cleaned up output
1173 print stylized code forms as defined in App A.4.3 of the
1174 Alpha Architecture Reference Manual
1178 * mips-opc.c: Add new mips4 instructions. Don't set INSN_RFE for
1180 * mips-dis.c (print_insn_arg): Handle new argument types 'h', 'R',
1185 * m68k-dis.c (opcode): New function. Returns address of opcode
1186 table entry given index, even if the opcode table was split to
1187 work around gcc bugs.
1188 (print_insn_m68k): Call opcode instead of referencing m68k_opcodes
1190 (BREAK_UP_BIG_DECL): Make secondary array static and const.
1191 (reg_names): Now const.
1192 (print_insn_arg): Arrays cacheFieldName and names now const.
1193 (print_indexed): Array scales now const.
1198 * arc-dis.c (print_insn_arc_base): Split into big and little fns.
1199 (print_insn_arc_{host,graphics,audio}): Likewise.
1200 (print_insn): Add prototype.
1201 (arc_get_disassembler): New arg `big_p'. Return little or big
1202 print fn accordingly.
1203 * arc-opc.c (arc_opcode_init_tables): Init arc_operand_map once.
1204 (arc_opcode_supported): Use ARC_OPCODE_CPU to ignore byte order.
1205 (arc_opval_supported): Likewise.
1206 * disassemble.c (disassembler): Pass big endian flag to
1207 arc_get_disassembler.
1212 * ppc-opc.c: Sort recently added instructions by minor opcode
1213 number within major opcode number.
1217 * hppa-dis.c: Include libhppa.h.
1221 * mips-opc.c: Change dli to use M_DLI, and add dla.
1225 * Makefile.in (ALL_MACHINES): Add w65-dis.o.
1230 * arc-dis.c (arc_get_disassembler): Change argument to int,
1231 one of bfd_mach_arc_xxx. All callers updated.
1236 * mips-opc.c: Add r4650 mul instruction.
1240 * mips-opc.c: Add uld and usd macros for unaligned double load and
1245 * ppc-opc.c (powerpc_opcodes): Add 403GA opcodes rfci, dccci,
1246 mfdcr, mtdcr, icbt, iccci.
1251 * arc-dis.c (print_insn): Handle ARC_OPERAND_ADDRESS.
1252 * arc-opc.c (arc_operands): New operand 'J' for jump addresses.
1253 ('L' operand): Mark as ARC_OPERAND_ADDRESS.
1254 (arc_opcodes, j insn): Use 'J' operand type, not 'L'.
1255 (arc_opcodes, ld/st insns): Fix address writeback operand letter.
1256 (insert_absaddr): New function.
1260 * arc-dis.c (print_insn_arc): Rename to print_insn and make static.
1261 New argument `cpu', pass it to arc_opcode_init_tables.
1262 Document byte order dependencies. Ignore unsupported insns.
1263 (arc_get_disassembler): New function.
1264 (print_insn_arc_base, print_insn_arc_host, print_insn_arc_graphics,
1265 print_insn_arc_audio): New functions.
1266 * arc-opc.c (MULTSHIFT operand): Delete.
1267 (UNSIGNED, SATURATION): New operands.
1268 (mac, mul, mul64, mulu64): New insns.
1269 (ext. asl, asr, lsr, ror): Only available on host and graphics cpus.
1270 (padc, padd, pmov, pand, psbc, psub, swap): New insns.
1271 (host,graphics,audio extended and auxiliary regs): Define.
1272 (ss, sc, mh, ml): New suffixes.
1273 (arc_opcode_supported, arc_opval_supported): New functions.
1274 (insert_multshift, extract_multshift): Deleted.
1275 * disassemble.c (disassembler, case bfd_arch_arc): Call
1276 arc_get_disassembler to get disassembler routine.
1281 * i960-dis.c (struct tabent, struct sparse_tabent): Change the
1282 signed char fields to shorts, more portable.
1286 * i960-dis.c (struct tabent, struct sparse_tabent): Declare the
1287 char fields as signed chars, since they may have negative values.
1291 * i386-dis.c (dis386_twobyte): Add cpuid, From Charles Hannum
1297 * ppc-opc.c (extract_bdm): Correct parenthezisation.
1298 * ppc-dis.c (print_insn_powerpc): Print .long before unrecognized
1303 * ppc-opc.c: Changes based on patch from David Edelsohn
1305 (powerpc_operands): Add operands SPRBAT and SPRG. Split TBR out of
1308 (insert_tbr): New static function.
1309 (extract_tbr): New static function.
1310 (XFXFXM_MASK, XFXM): Define.
1311 (XSPRBAT_MASK, XSPRG_MASK): Define.
1312 (powerpc_opcodes): Add instructions to access special registers by
1313 name. Add mtcr and mftbu.
1317 * mips-opc.c (P3): Define.
1318 (mips_opcodes): Add mad and madu.
1320 Sun Jan 15 16:32:59 1995 Steve Chamberlain <sac@splat>
1322 * configure.in: Add W65 support.
1323 * disassemble.c: Likewise.
1324 * w65-opc.h, w65-dis.c: New files.
1328 * h8300-dis.c (bfd_h8_disassemble): Add support for 2 bit
1334 * arc-dis.c (print_insn_arc): Branch offsets are relative to delay
1336 * arc-opc.c (extract_reladdr): New function.
1337 (insert_reladdr): Store address right-shifted by 2.
1342 * mips-opc.c: Add dli as a synonym for li.
1347 * arc-opc.c (insertion fns): Pass pointer to value's table entry.
1349 (extraction fns): Insn argument now array of two words. Return pointer
1350 to value's table entry. All uses changed.
1351 (arc_opcode_lookup_suffix): Exported for arc-dis.c.
1352 (insert_multshift, extract_multshift): New fns.
1353 (arc_operands): Add support for cache bypass suffix. Add support for
1354 predefined aux regs. Modifier bits moved to flags field.
1355 (arc_opcodes): Likewise.
1356 Add mul/mulu/shift insns. Syntax of zero/sign extension insns changed.
1357 New insn rlc. Update to syntax in programmer's manual.
1358 (arc_reg_names): Fix typo in lp_count. Add predefined aux regs.
1359 (arc_suffixes): New synonyms lo,hs for cs,cc. New suffix for cache
1361 (arc_opcode_init_tables): New argument to indicate cpu type.
1362 (insert_reg): Handle predefined aux regs.
1363 (extract_reg): Likewise.
1364 (lookup_register): New fn.
1365 * arc-dis.c (arc_condition_codes): Deleted.
1366 (print_insn_arc): Handle insns with 32 bit immediate constants better.
1367 Clean up modifier handling. Handle predefined aux regs.
1372 * alpha-dis.c (print_insn_alpha): Handle call_pal instruction, and
1373 print something for reserved opcode values, even if it won't
1376 * mips-dis.c (_print_insn_mips): When initializing, shift right
1377 and mask, to avoid sign extension problems on the Alpha.
1379 * m68k-dis.c (print_insn_arg, case 'J'): Handle buscr and pcr
1385 * configure.in: Add ARC support.
1386 * disassemble.c: Likewise.
1387 * arc-dis.c, arc-opc.c: New files.
1392 * sh-opc.h (mov.l gbr): Get direction right.
1393 * sh-dis.c (print_insn_shx): New function.
1394 (print_insn_shl, print_insn_sh): Call print_insn_shx to
1395 print opcodes with right byte order.
1399 * ns32k-dis.c (struct ns32k_option): Renamed from struct option,
1400 to avoid conflicts with getopt.
1404 * hppa-dis.c (print_insn_hppa): Read the instruction using
1405 bfd_getb32, so that it works on a little endian or 64 bit host.
1406 Remove unused local variable op.
1410 * mips-opc.c: Use or instead of addu for pseudo-op move, since
1411 addu does not work correctly if -mips3.
1415 * a29k-dis.c (print_special): Add special register names defined
1416 on 29030, 29040 and 29050.
1417 (print_insn): Handle new operand type 'I'.
1421 * Makefile.in (INSTALL): Use top level install.sh script.
1425 * sparc-dis.c: Rewrite to use bitfields, rather than a union, so
1426 that it works on a little endian host.
1430 * configure.in: Use ${config_shell} when running config.bfd.
1434 * mips-opc.c (mips_opcodes): "dabs" is only available with -mips3.
1438 * a29k-dis.c (print_insn): Print the opcode.
1442 * mips-opc.c (mips_opcodes): Set WR_t for sc and scd.
1446 * hppa-dis.c (reg_names): Use r26-r23 for arg0-arg3.
1450 * mips-opc.c: Set INSN_STORE_MEMORY flag for all instructions
1451 which store a value into memory.
1455 * configure.in, Makefile.in, disassemble.c: Add support for the ARM.
1456 * arm-dis.c, arm-opc.h: New files.
1460 * Makefile.in (ns32k-dis.o): Add dependency.
1461 * ns32k-dis.c (print_insn_arg): Declare initialized local as
1462 string, not as array of chars.
1466 * sparc-dis.c (print_insn_sparc): Handle new operand type 'x'.
1468 * sparc-opc.c: Added sparclite extended FP operations, and
1469 versions of v9 impdep* instructions permitting specification of
1474 * i960-dis.c (reg_names): Now const.
1475 (struct sparse_tabent): New type, copied from array type in mem
1477 (ctrl): Local static array ctrl_tab now const.
1478 (cobr): Local static array cobr_tab now const.
1479 (mem): Local variables reg1, reg2, reg3 now point to const. Local
1480 static variable mem_tab no longer explicitly initialized. Changed
1481 mem_init to const array of struct sparse_tabent.
1482 (reg): Local static variable reg_tab no longer explicitly
1483 initialized. Changed reg_init to const array of struct
1485 (ea): Local static array scale_tab now const.
1487 * i960-dis.c (reg): Added i960JX instructions to reg_init table.
1492 * configure.bat: the disassember needs to be enabled for
1493 "objdump -d" to work in djgpp.
1497 * ns32k-dis.c: Deleted all code in "#ifdef GDB".
1498 (invalid_float): Enabled general version, doesn't require running
1499 on ns32k host. Changed to take char* argument, and test for
1500 explicitly specified sizes, instead of using sizeof() on host CPU
1502 (INVALID_FLOAT): Cast first argument.
1503 (opt_u, opt_U, opt_O, opt_C, opt_S, list_P532, list_M532,
1504 list_P032, list_M032): Now const.
1505 (optlist, list_search): Made appropriate arguments now point to
1507 (print_insn_arg): Changed static array of one-character-string
1508 pointers into a static const array of characters; fixed sprintf
1509 statement accordingly.
1513 * opcodes/ns32k-dis.c: Semi-new file. Had apparently been dropped
1514 from distribution. A ns32k-dis.c from a previous distribution has
1515 been brought up to date and supports the new interface.
1517 * disassemble.c: define ARCH_ns32k and add case bfd_arch_ns32k.
1519 * configure.in: add bfd_ns32k_arch target support.
1521 * Makefile.in: add ns32k-dis.o to ALL_MACHINES.
1522 Add ns32k-dis.c to CFILES. Add dependencies for ns32k-dis.o.
1526 * h8300-dis.c (bfd_h8_disassemble): Get 16bit branch
1531 * h8300-dis.c, mips-dis.c: Don't use true and false.
1535 * configure.in: Change --with-targets to --enable-targets.
1539 * mips-dis.c (_print_insn_mips): Build a static hash table mapping
1540 opcodes to the first instruction with that opcode, to speed
1546 * Makefile.in (mostlyclean): Fix typo (was mostyclean).
1550 * configure.bat: update to latest makefile.in
1554 * a29k-dis.c (print_insn): Print 'x' type operand in hex.
1555 * h8300-dis.c (bfd_h8_disassemble): Print 16bit rels correctly.
1556 * sh-dis.c (print_insn_sh): Don't recur endlessly if delay
1557 slot insn is in a delay slot.
1558 * z8k-opc.h: (resflg): Fix patterns.
1559 * h8500-opc.h Fix CR insn patterns.
1563 * ppc-opc.c (powerpc_opcodes): Put PowerPC versions of "cmp" and
1564 "cmpl" before POWER versions, so that gas -many uses them.
1568 * disassemble.c: New file.
1569 * Makefile.in (OFILES): Add disassemble.o.
1570 (disassemble.o): Provide dependencies; compile with $(ARCHDEFS).
1571 * configure.in: Define ARCHDEFS in Makefile. Code taken from
1572 binutils/configure.in.
1574 * m68k-dis.c (print_insn_m68k): If F_ALIAS flag is set, skip the
1575 opcode being examined.
1579 * ppc-opc.c (powerpc_operands): Added RAL, RAM and RAS.
1580 (insert_ral, insert_ram, insert_ras): New functions.
1581 (powerpc_opcodes): Use RAL for load with update, RAM for lmw, and
1582 RAS for store with update.
1586 * ppc-opc.c (powerpc_opcodes): Correct fcir. From David Edelsohn
1591 * mips-opc.c (mips_opcodes): Correct operands of "nor" with an
1596 * sparc-opc.c (sparc_opcodes): Fix "rd %fprs,%l0".
1600 * ppc-opc.c (powerpc_operands): The signedp field has been
1601 removed, so don't initialize it. Set the PPC_OPERAND_SIGNED flag
1602 instead. Add new operand SISIGNOPT.
1603 (powerpc_opcodes): For lis, liu, addis, and cau use SISIGNOPT.
1605 * ppc-dis.c (print_insn_powerpc): Check PPC_OPERAND_SIGNED rather
1610 * i386-dis.c (struct private): Renamed to dis_private. `private'
1611 is a reserved word for dynix cc.
1615 * configure.in: Change error message to refer to bfd/config.bfd
1616 rather than bfd/configure.in.
1620 * ppc-opc.c: Define POWER2 as short alias flag.
1621 (powerpc_opcodes): Add POWER/2 opcodes lfq*, stfq*, fcir[z], and
1626 * i960-dis.c (print_insn_i960): Don't read a second word for
1627 opcodes 0, 1, 2 and 3.
1631 * configure.in: Don't build m68881-ext.o for bfd_m68k_arch.
1635 * m68881-ext.c: Removed; no longer used.
1636 * Makefile.in: Changed accordingly.
1638 * m68k-dis.c (ext_format_68881): Don't declare.
1639 (print_insn_m68k): If an instruction uses place 'i', it uses at
1640 least four fixed bytes.
1641 (print_insn_arg): Don't bump p by 2 for case 'I', place 'i'. For
1642 extended float, convert to double using floatformat_to_double, not
1643 ieee_extended_to_double, and fetch the data before converting it.
1647 * mips-opc.c: It's sqrt.s, not sqrt.w. From
1652 * ppc-opc.c (powerpc_opcodes): The POWER uses bdn[l][a] where the
1653 PowerPC uses bdnz[l][a].
1657 * dis-buf.c, i386-dis.c: Include sysdep.h.
1661 * configure.in (bfd_powerpc_arch): Use ppc-dis.o and ppc-opc.o.
1663 * ppc-opc.c (powerpc_opcodes): Mark POWER instructions supported
1664 by Motorola PowerPC 601 with PPC_OPCODE_601.
1665 * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc):
1666 Disassemble Motorola PowerPC 601 instructions as well as normal
1667 PowerPC instructions.
1671 * i960-dis.c (reg, mem): Just use a static array instead of
1676 * hppa-dis.c (print_insn_hppa): For '?' and '@' only adjust the
1677 condition name index if this is for a negated condition.
1679 * hppa-dis.c (print_insn_hppa): No space before 'H' operand.
1680 Floating point format for 'H' operand is backwards from normal
1681 case (0 == double, 1 == single). For '4', '6', '7', '9', and '8'
1682 operands (fmpyadd and fmpysub), handle bizarre register
1683 translation correctly for single precision format.
1685 * hppa-dis.c (print_insn_hppa): Do not emit a space after 'F'
1686 or 'I' operands if the next format specifier is 'M' (fcmp
1687 condition completer).
1691 * ppc-opc.c (powerpc_operands): New operand type MBE to handle a
1692 single number giving a bitmask for the MB and ME fields of an M
1693 form instruction. Change NB to accept 32, and turn it into 0;
1694 also turn 0 into 32 when disassembling. Seperated SH from NB.
1695 (insert_mbe, extract_mbe): New functions.
1696 (insert_nb, extract_nb): New functions.
1697 (SC_MASK): Mask out SA and LK bits.
1698 (powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
1699 RA, SI. Change "liu" and "cau" to use UI rather than SI. Mark
1700 "bctr" and "bctrl" as accepted by POWER. Change "rlwimi",
1701 "rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
1702 "rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
1703 use MBE rather than MB. Add "mfmq" and "mtmq" POWER instructions.
1704 (powerpc_macros): Define table of macro definitions.
1705 (powerpc_num_macros): Define.
1707 * ppc-dis.c (print_insn_powerpc): Don't skip optional operands
1708 if PPC_OPERAND_NEXT is set.
1712 * i960-dis.c (print_insn_i960): Make buffer bfd_byte instead of
1713 char. Retrieve contents using bfd_getl32 instead of shifting.
1717 * ppc-opc.c: New file. Opcode table for PowerPC, including
1718 opcodes for POWER (RS/6000).
1719 * ppc-dis.c: New file. PowerPC and Power (RS/6000) disassembler.
1720 * Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
1721 (CFILES): Add ppc-dis.c.
1722 (ppc-dis.o, ppc-opc.o): New targets.
1723 * configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
1727 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
1728 No space before 'u', 'f', or 'N'.
1732 * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
1733 farther than we should.
1735 * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS.
1739 * sparc-dis.c m68k-dis.c alpha-dis.c a29k-dis.c: Fix comments.
1743 * i960-dis.c (print_insn_i960): Only read word2 if the instruction
1744 needs it, to prevent reading past the end of a section.
1748 * mips-opc.h: Use macro for j instruction, to support SVR4 PIC.
1749 Removed t,A case for la; always use t,A(b) case.
1754 * mips-dis.c (print_insn_arg): Handle 'k'.
1755 * mips-opc.c: Make cache use k, not t.
1759 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
1760 FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
1761 FLOAT_FORMAT_CODE to put out floating point register names.
1765 * mips-opc.c: Use macros for jal variants, to support SVR4 PIC.
1769 * a29k-dis.c (print_insn): Use 0x%08x, not 0x%8x.
1773 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
1774 larger than 32. Moved dsxx32 variants first for disassembler.
1778 * z8kgen.c, z8k-opc.h: Add full lda information.
1782 * hppa-dis.c (print_insn_hppa): Do not emit a space after
1783 movb instructions. Any necessary space will be emitted by
1784 the code to handle nullification completers.
1788 * mips-opc.c: Moved l.d down so that it disassembles as ldc1.
1792 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
1793 * alpha-dis.c (print_insn_alpha): Add code for PAL_FORMAT_CODE.
1797 * mips-opc.c: Correct lwu opcode value (book had it wrong).
1801 * z8k-dis.c (FETCH_DATA): get just the right amount of data.
1802 (unpack_instr): Cope with ARG_IMM4M1 type instructions.
1806 * m88k-dis.c (m88kdis): comment change. Remove space after
1808 (printop): handle new arg types DEC and XREG for m88110.
1812 * hppa-dis.c (print_insn_hppa): Handle 'z' operand
1813 type for absolute branch addresses. Delete special
1814 "ble" and "be" code in 'W' operand code.
1818 * mips-opc.c: Set hazard information correctly for branch
1819 likely instructions.
1823 * alpha-dis.c (print_insn_alpha), alpha-opc.h: Fix bugs, use
1824 info->fprintf_func for printing and info->print_address_func for
1829 * mips-opc.c: Set INSN_TRAP for tXX instructions.
1834 Corrected second case of "b" for disassembler.
1838 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
1839 to BFD swapping routines to correspond to BFD name changes.
1843 * mips-opc.c: Change div machine instruction to be z,s,t rather
1844 than s,t. Change div macro to be d,v,t rather than d,s,t.
1845 Likewise for divu, ddiv, ddivu. Added z,s,t case for drem, dremu,
1846 rem and remu which generates only the corresponding div
1847 instruction. This is for compatibility with the MIPS assembler,
1848 which only generates the simple machine instruction when an
1849 explicit destination of $0 is used.
1850 * mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
1855 WR_31 hazard for bal, bgezal, bltzal.
1859 * hppa-dis.c (print_insn_hppa): Use print function
1860 from within the disassemble_info, not fprintf_filtered.
1864 * hppa-dis.c (print_insn_hppa): Handle '|' like '>'. (From Jeff
1869 * mips-opc.c ("absu"): Removed.
1874 * mips-opc.c: Added r6000 and r4000 instructions and macros.
1875 Changed hazard information to distinguish between memory load
1876 delays and coprocessor load delays.
1880 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s.
1884 * configure.in: Don't pass cpu to config.bfd.
1888 * m88k-dis.c (m88kdis): Make class unsigned.
1892 * alpha-dis.c (print_insn_alpha): One branch format case was
1893 missing the instruction name.
1897 * Makefile.in (ALL_MACHINES): Renamed from DIS_LIBS.
1898 Add the arch-specific auxiliary files.
1899 (OFILES): Remove the arch-specific auxiliary files
1900 and use BFD_MACHINES instead of DIS_LIBS.
1901 * configure.in: Set BFD_MACHINES based on --with-targets option.
1905 * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
1910 * sparc-opc.c: Change CONST to const to deal with gcc
1911 -Dconst=__const -traditional.
1916 coprocessor instructions out of #if 0, and made them use new
1921 * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h.
1925 * sparc-opc.c: Add F_JSR, F_UNBR, or F_CONDBR flags to each branch
1926 instruction, for use by the disassembler.
1928 * sparc-dis.c (SEX): Add sign extension macro. Replace many
1929 hand-coded sign extensions that depended on 32-bit host ints.
1930 FIXME, we still depend on big-endian host bitfield ordering.
1931 (sparc_print_insn): Set the insn_info_valid field, and the
1932 other fields that describe the instruction being printed.
1936 * sparc-opc.c (call): Accept all 6 addressing modes valid for
1937 `jmp' instead of just one of them.
1941 * hppa-dis.c: Move floating registers from reg_names to fp_reg_names.
1942 (fput_fp_reg_r): Renamed from fput_reg_r.
1943 (fput_fp_reg): New function.
1944 (print_insn_hppa): Use fput_fp_reg{,_r} where appropriate.
1946 * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
1948 * hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
1952 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'.
1954 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
1955 don't output a space.
1957 * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad.
1961 * mips-opc.c: New file, containing opcode table from
1962 ../include/opcode/mips.h.
1963 * Makefile.in: Add it.
1967 * m88k-dis.c: New file, moved in from gdb and changed to use the
1968 new dis-asm.h disassembler interface.
1969 * Makefile.in (DIS_LIBS): Added m88k-dis.o.
1970 (m88k-dis.o): New target.
1974 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
1975 argument string const char * to correspond to opcode/mips.h.
1979 * mips-dis.c: Updated to account for name changes in new version
1981 * Makefile.in: Added header file dependencies.
1985 * h8300-dis.c (bfd_h8_disassemble): Correct fetching of instruction.
1989 * m68k-dis.c (NEXTWORD, NEXTLONG): Use ((x) ^ 0x8000) - 0x8000 to sign
1990 extend, rather than shifts.
1994 * Makefile.in: Undo 15 June change.
1998 * m68k-dis.c (print_insn_arg): Change return value to byte count
2000 * m68k-dis.c: Re-write to detect invalid operands before
2001 printing anything, so we can handle this the same way we
2002 handle invalid opcodes.
2006 * sh-dis.c, sh-opc.h: Understand some more opcodes.
2010 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
2015 * sparc-dis.c: Don't declare qsort, since sysdep.h might.
2017 * configure.in: Do make sysdep.h link.
2018 * Makefile.in: Search ../include. Don't search ../bfd.
2023 * hppa-dis.c: Fix typo. 'a' and 'd' were reversed.
2024 Do not print a space before the completers specified by
2029 * mips-dis.c: No longer need to bomb out if HOST_64_BIT is
2030 defined, since gdb has been fixed.
2033 * hppa-dis.c (print_insn_hppa): Last argument to fput_reg,
2034 fput_reg_r, fput_creg, fput_const, and fputs_filtered should
2035 be a *disassemble_info, not a *FILE.
2036 * hppa-dis.c: Support 'd', '!', and 'a'.
2037 * hppa-dis.c: Support 's' to extract a 2 bit space register.
2038 * hppa-dis.c: Delete cases which are no longer needed.
2042 * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes.
2046 * h8300-dis.c: New file, removed from bfd/cpu-h8300.c, with
2051 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
2052 * configure.in: No longer need to configure to get sysdep.h.
2057 * hppa-dis.c: Support 'I', 'J', and 'K' in output
2058 templates for 1.1 FP computational instructions.
2062 * h8500-dis.c (print_insn_h8500): Address argument is type
2064 * z8k-dis.c (print_insn_z8k, print_insn_z8001, print_insn_z8002):
2067 * h8500-opc.h (addr_class_type): No comma at end of enumerator.
2068 * sh-opc.h (sh_nibble_type, sh_arg_type): Ditto.
2070 * sparc-dis.c (compare_opcodes): Move static declaration to
2075 * sparc-dis.c (print_insn_sparc): Implement 'n' argument for unimp
2076 instruction, remove unimp hack from 'l' argument.
2080 * z8k-dis.c (fetch_data): Use unsigned char to make ancient gcc's
2086 * mips-dis.c (print_insn_arg): Handle 'C' for general coprocessor
2091 * hppa-dis.c: Include dis-asm.h before sysdep.h. Changed some
2092 arrays of string pointers to 2-d arrays of chars, to save
2097 * a29k-dis.c, alpha-dis.c, i960-dis.c, sparc-dis.c, z8k-dis.c:
2098 Cast second arg to read_memory_func to "bfd_byte *", as necessary.
2102 * hppa-dis.c: New file from Utah, adapted to new disassembler
2104 * Makefile.in: Include it.
2108 * sh-dis.c, sh-opc.h: New files.
2112 * alpha-dis.c, alpha-opc.h: New files.
2116 * mips-dis.c: Sign extend 'j' and 'b' arguments, delta is a signed
2121 * sparc-dis.c: Make "ta" the default trap instruction, "t" the alias.
2125 * a29k-dis.c, sparc-dis.c, sparc-opc.c: Use CONST rather than
2130 * sparc-dis.c: Use fprintf_func a few places where I forgot,
2131 and double percent signs a few places.
2133 * a29k-dis.c, i960-dis.c: New, merged from gdb and binutils.
2135 * i386-dis.c, m68k-dis.c, mips-dis.c, sparc-dis.c:
2136 Use info->print_address_func not print_address.
2138 * dis-buf.c (generic_print_address): New function.
2142 * Makefile.in: Add sparc-dis.c.
2143 sparc-dis.c: New file, merges binutils and gdb versions as follows:
2145 Add `add' instruction to the set that get checked
2146 for a preceding `sethi' in order to print an absolute address.
2147 * (print_insn): Disassembly prefers real instructions.
2148 (is_delayed_branch): Speed up.
2149 * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables.
2150 Still missing some float ops, and needs testing.
2151 * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by
2152 F_ALIAS. Use printf, not fprintf, when not passing a file
2154 (compare_opcodes): Check that identical instructions have
2155 identical opcodes, complain otherwise.
2158 * Include reg_names.
2160 Use dis-asm.h/read_memory_func interface.
2164 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
2165 deliberately return non-zero to setjmp from longjmp. Otherwise
2166 this code fails to compile.
2170 * m68k-dis.c: Fix prototype for fetch_arg().
2174 * dis-buf.c: New file, for new read_memory_func interface.
2175 Makefile.in (OFILES): Include it.
2176 m68k-dis.c, i386-dis.c, h8500-dis.c, mips-dis.c, z8k-dis.c:
2177 Use new read_memory_func interface.
2181 * h8500-dis.c (print_insn_h8500): Get sign of fp offsets right.
2182 * h8500-opc.h: Fix couple of opcodes.
2184 Wed Mar 24 02:03:36 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
2186 * Makefile.in: add dvi & installcheck targets
2190 * Makefile.in: Update for h8500-dis.c.
2194 * h8500-dis.c, h8500-opc.h: New files
2198 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
2199 ../include/dis-asm.h.
2200 * m68k-dis.c: New file (merge of ../binutils/m68k-pinsn.c
2201 and ../gdb/m68k-pinsn.c).
2202 * i386-dis.c: New file (merge of ../binutils/i386-pinsn.c
2203 and ../gdb/i386-pinsn.c).
2204 * m68881-ext.c: New file. Moved definition of
2205 ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
2206 * Makefile.in: Adjust for new files.
2208 * m68k-dis.c: Recognize '9' placement code, so (say) pflush
2209 can be dis-assembled.
2213 * mips-dis.c (print_insn_arg): Now returns void.
2217 * mips-dis.c (ansidecl.h): Include for benefit of sysdep.h
2218 files that use the macros.
2222 * mips-dis.c: New file, from gdb/mips-pinsn.c.
2223 * Makefile.in (DIS_LIBS): Added mips-dis.o.
2224 (CFILES): Added mips-dis.c.
2228 * z8k-dis.c (print_insn_z8001, print_insn_z8002): new routines
2229 * z8kgen.c, z8k-opc.h: fix sizes of some shifts.
2233 * Makefile.in: Improve *clean rules.
2234 * configure.in: Allow a default host.
2236 Tue Nov 17 19:53:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2238 * Makefile.in: also use -I$(srcdir)/../bfd, since some sysdep
2239 files include other sysdep files
2243 * z8k-dis.c z8k-opc.h z8kgen.c: checkpoint
2247 * configure.in: For host support, use ../bfd/configure.host
2248 so it stays in sync with the ../bfd/hosts database.
2250 Thu Oct 1 23:38:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2252 * configure.in: use cpu-vendor-os triple instead of nested cases
2256 * z8k-dis.c (unparse_instr): fix bug where opcode returned was
2257 *always* the wrong one.
2261 * z8kgen.c: added copyright info
2265 * z8k-dis.c (unparse_instr): prettier tabs
2266 * z8kgen.c -> z8k-opc.h: bug fixes in tables
2268 Fri Sep 25 12:50:32 1992 Stu Grossman (grossman at cygnus.com)
2270 * configure.in: Add ncr* configuration.
2271 * z8k-dis.c (struct instr_data_s): Make instr_asmsrc char to make
2272 picayune ANSI compilers happy.
2276 * configure.in (i386): Make i386 and i486 synonymous for now.
2277 * configure.in (i[34]86-*-sysv4): Add my_host definition.
2281 * Makefile.in (install): Fix typo.
2285 * Makefile.in (make): Remove obsolete crud.
2286 (sparc-opc.o): Avoid Sun Make VPATH bug.
2290 * Makefile.in: since there are no SUBDIRS, remove rule and
2291 references of subdir_do.
2295 * Makefile.in (install): Get the library name right here too.
2296 Don't install bfd.h, since it's unrelated to this library. No
2297 subdirs to recurse into, either.
2298 (CFILES): The source file has a .c suffix, not .o.
2300 * sparc-opc.c: New file, moved from BFD.
2301 * Makefile.in (OFILES): Build it.
2305 * z8k-dis.c: fixed forward refferences of some declarations.
2309 * Makefile.in: get the name of the library right
2313 * z8k-dis.c: knows how to disassemble z8k stuff
2314 * z8k-opc.h: new file full of z8000 opcodes
2318 version-control: never