3 * Makefile.in (ALL_CFLAGS): Define.
4 (.c.o, disassemble.o): Use $(ALL_CFLAGS).
5 (MOSTLYCLEAN): Add config.log.
6 (distclean): Don't remove config.log.
7 * configure.in: Substitute HDEFINES.
13 * sh-opc.h (sh_arg_type): Add F_FR0.
14 (sh_table, case fmac): Add F_FR0 as first argument.
19 * sh-opc.h (sh_opcode_info): Increase arg array size to 4.
23 * sparc-dis.c: Remove all references to NO_V9.
27 * aclocal.m4: Just include ../bfd/aclocal.m4.
32 * sparc-dis.c (X_DISP19): Define.
33 (print_insn, case 'G'): Use it.
34 (print_insn, case 'L'): Sign extend displacement.
38 * configure.in: Run ../bfd/configure.host before AC_PROG_CC.
39 Subsitute CFLAGS and AR. Call AC_PROG_INSTALL. Don't substitute
40 host_makefile_frag or frags.
41 * aclocal.m4: New file.
43 * Makefile.in (INSTALL): Set to @INSTALL@.
44 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
45 (INSTALL_DATA): Set to @INSTALL_DATA@.
47 (AR_FLAGS): Set to rc rather than qc.
49 (CFLAGS): Set to @CFLAGS@.
50 (@host_makefile_frag@): Remove.
51 (config.status): Remove dependency upon @frags@.
53 * configure.in: ../bfd/config.bfd now just sets shell variables.
54 Use them rather than looking through target Makefile fragments.
60 * sh-opc.h (ftrc): Change FPUL_N to FPUL_M.
65 * sparc-opc.c (sparc_opcodes): Delete duplicate wr %y insn.
66 Add clrx, iprefetch, signx, clruw, cas, casl, casx, casxl synthetic
69 * sparc-opc.c (sparc_opcodes): Fix prefetcha insn.
70 (lookup_{name,value}): New functions.
71 (prefetch_table): New static local.
72 (sparc_{encode,decode}_prefetch): New functions.
73 * sparc-dis.c (print_insn): Handle '*' arg (prefetch function).
78 * sh-opc.h: Add blank lines to improve readabililty of sh3e
84 * sh-dis.c: Correct comment on first line of file.
88 * disassemble.c (disassembler): Handle bfd_mach_sparc64.
90 * sparc-opc.c (asi, membar): New static locals.
91 (sparc_{encode,decode}_{asi,membar}): New functions.
92 (sparc_opcodes, membar insn): Fix.
93 * sparc-dis.c (print_insn): Call sparc_decode_asi.
94 Support decoding of membar masks.
99 * m68k-opc.c (m68k_opcode_aliases): Add br, brs, brb, brw, brl.
103 * m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
104 and likewise for the other branches. Add bhs as an alias for bcc,
105 and likewise for the size variants. Add dbhs as an alias for
111 * sh-opc.h (FP sts instructions): Update to match reality.
116 * m68k-dis.c: (fpcr_names): Add % before all register names.
117 (reg_names): Likewise.
118 (print_insn_arg): Don't explicitly print % before register names.
119 Add % before register names in static array names. In case 'r',
120 print data registers as `@(Dn)', not `Dn@'. When printing a
121 memory address, don't print @# before it.
122 (print_indexed): Change base_disp and outer_disp from int to
123 bfd_vma. Print using MIT syntax, not mutant invalid Motorola
124 syntax. Sign extend 8 byte displacement correctly.
125 (print_base): Print using MIT syntax. Print zpc when appropriate.
126 Change parameter disp from int to bfd_vma.
128 * m68k-opc.c (m68k_opcode_aliases): Add jsrl and jsrs as aliases
134 * sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
135 F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
136 * sh-opc.h (sh_arg_type): Add new operand types.
137 (sh_table): Add new opcodes from SH3E Floating Point ISA.
142 * Makefile.in (distclean): Remove generated file config.h.
146 * Makefile.in (distclean): Remove generated file config.h.
150 * m68k-opc.c: New file, holding tables from include/opcode/m68k.h.
152 * m68k-dis.c: Remove BREAK_UP_BIG_DECL stuff.
154 (print_insn_m68k): Change d to be const. Use m68k_numopcodes
155 rather than numopcodes. Use m68k_opcodes rather than removed
156 opcode function. Don't check F_ALIAS.
157 (print_insn_arg): Change first parameter to be const char *.
158 * Makefile.in (ALL_MACHINES): Add m68k-opc.o.
159 (m68k-opc.o): New target.
160 * configure.in: Build m68k-opc.o for bfd_m68k_arch.
161 * configure: Rebuild.
165 * sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
166 (opcode_bits, opcode_hash_table): New variables.
167 (opcodes_initialized): Renamed from opcodes_sorted.
168 (build_hash_table): New function.
169 (is_delayed_branch): Use hash table.
170 (print_insn): Renamed from print_insn_sparc, made static.
171 Build and use hash table. If !sparc64, ignore sparc64 insns,
172 and vice-versa if sparc64.
173 (print_insn_sparc, print_insn_sparc64): New functions.
174 (compare_opcodes): Move sparc64 opcodes to end.
175 Print commutative insns with constant second.
176 * sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
180 * sh-dis.c (print_insn_shx): Remove unused local dslot. Use
181 print_address_func for A_BDISP12 and A_BDISP8. Correct test which
182 avoids printing a delay slot in a delay slot.
183 * sh-opc.h (sh_table): Fully bracket last entry.
187 * sparc-opc.c (sllx, srax, srlx): Fix disassembly.
191 * configure.in: Get host_makefile_frag from ${srcdir}.
193 * configure.in: Autoconfiscated. Check for string[s].h. Create
194 config.h from config.in. Don't set up sysdep.h link.
195 * sysdep.h: New file.
196 * configure, config.in: New files, generated from configure.in.
197 * Makefile.in: Updated to be processed autoconf-style.
198 (distclean): Keep sysdep.h. Remove config.log and config.cache.
199 (Makefile): Depend on config.status.
200 (config.status): New rule.
201 * configure.bat: Update Makefile substitutions.
205 * mips-opc.c (L1): Define.
206 (mips_opcodes): Add R4010 instructions: flushi, flushd, flushid,
207 addciu, madd, maddu, ffc, ffs, msub, msubu, selsi, selsr, waiti,
212 * mips-opc.c (mips_opcodes): For the move pseudo-op, prefer daddu
213 if ISA 3 and addu otherwise, replacing or, since some MIPS chips
214 have multiple add units but only a single logical unit.
216 * ppc-opc.c (powerpc_operands): Change CR to use a bitsize of 3,
217 shifted by 18, without any insertion or extraction function.
218 (insert_cr, extract_cr): Remove.
223 * Makefile.in (ALL_MACHINES): Add arc-dis.o and arc-opc.o.
228 * m68k-dis.c (print_insn_arg, print_indexed): Print "%" before
233 * mpw-config.in: Add sh and i386 configs, remove sparc config.
234 * sh-opc.h: Add copyright.
238 * Makefile.in (crunch-m68k): Delete extra target accidentally
239 checked in a while ago.
243 * sh-opc.h (sh_table): Add SH3 support.
247 * sh-opc.h: Added bsrf and braf.
251 * arm-opc.h (arm_opcodes): Add 64-bit multiply patterns. Delete
252 bogus [ls]fm{ea,fd} patterns.
254 * arm-opc.h (arm_opcodes): Correct typos in stm, ldm, std, and ldc.
255 * arm-dis.c (print_insn_arm): Make GIVEN a parameter, don't try and
256 initialize it from memory. Make function static.
257 (print_insn_{big,little}_arm): New functions.
258 * disassemble.c (disassembler, case bfd_arch_arm): Disassemble for
259 the correct endianness.
264 * arc-opc.c (arc_opcodes): Add ARC_OPCODE_CONDITIONAL_BRANCH flag.
265 (arc_suffixes): Use ARC_DELAY_{NONE,NORMAL,JUMP}.
270 * sh-opc.h (sh_nibble_type, sh_arg_type): remove trailing , from
275 * m68k-dis.c (opcode): Finish change made by Kung Hsu on April
276 17th, so that it builds again using GCC as the compiler.
280 * mips-dis.c (print_insn_little_mips): Cast return value from
281 bfd_getl32 from bfd_vma to unsigned long, because _print_insn_mips
282 expects an unsigned long, and that might be fewer words of
283 argument storage (e.g., if bfd_vma is long long on a 32-bit
285 (print_insn_big_mips): Likewise with bfd_getb32 value.
286 (_print_insn_mips): Now static.
290 * m68k-dis.c: Take out #define BREAK_UP_BIG_DECL kludge, because
291 gcc memory hog problem with initializer is fixed.
296 * arc-opc.c (NULL): Define.
297 (arc_operands, insn fields u,s): Delete.
298 (arc_operands, insn fields a,b,c): Mark as signed.
299 (arc_opcodes): No longer const, links computed at run-time.
300 (arc_opcodes, mac/mul insns): Breakout suffixes as we don't handle
301 suffixes that affect the insn code.
302 (arc_opcodes): Resort table to macros are first.
303 (arc_opcodes, ld [b,c] entry): Add %Q to prevent shimms.
304 (arc_opcodes, st [b] entry): Likewise.
305 (arc_opcodes, st [b,d] entry): Fix mask, value.
306 (arc_reg_names): Add entries for r29, r30, r31, r60.
307 (opcode_map, icode_map): New static globals.
308 (arc_opcode_init_tables): Initialize them.
309 (arc_opcode_lookup_asm, arc_opcode_lookup_dis): New functions.
310 (insert_shimmoffset): Signal error if register present.
312 * arc-dis.c (print_insn): Call arc_opcode_lookup_dis.
317 Merge in support for Mac MPW as a host.
318 (Old change descriptions retained for informational value.)
320 * mpw-config.in (archname): Compute from the config.
321 (BFD_MACHINES, ARCHDEFS): Put into mk.tmp.
323 * mpw-config.in (target_arch): Compute from canonical target.
324 (m68k, mips, powerpc, sparc): Add architectures.
325 * mpw-make.in (disassemble.c.o): Add.
326 (ALL_CFLAGS): Remove special flags (-mc68020 -mc68881 -model far).
328 * mpw-config.in (BFD_MACHINES): Set to a default value.
329 * mpw-make.in (BFD_MACHINES): Remove wired-in value.
331 * mpw-make.in (CSEARCH): Add extra-include to search path.
333 * mpw-config.in (varargs.h): Don't create.
334 (sysdep.h): Create using forward-include.
335 * mpw-make.in (CSEARCH): Add include/mpw to search path.
337 * mpw-config.in: New file, MPW version of configure.in.
338 * mpw-make.in: New file, MPW version of Makefile.in.
343 * arc-dis.c (print_insn): New parameter `big_p'. Callers updated.
344 Call arc_get_opcode_mach to map bfd mach number to opcode value.
345 (print_insn_*): Pass bfd mach number, not opcode version.
346 * arc-opc.c (arc_get_opcode_mach): New function.
351 * alpha-dis.c (print_insn_alpha): Put empty statement after
356 * hppa-dis.c (sign_extend): Delete, redundant with libhppa.h version.
357 (low_sign_extend): Likewise.
358 (get_field): Delete unused function.
359 (set_field, deposit_14, deposit_21): Likewise.
363 * i386-dis.c: Support for more pentium opcodes. From Guy Harris
370 * alpha-opc.h (OSF_ASMCODE): define
371 print pal-code names as defined in App C of the
372 Alpha Architecture Reference Manual
374 * alpha-dis.c: cleaned up output
375 print stylized code forms as defined in App A.4.3 of the
376 Alpha Architecture Reference Manual
380 * mips-opc.c: Add new mips4 instructions. Don't set INSN_RFE for
382 * mips-dis.c (print_insn_arg): Handle new argument types 'h', 'R',
387 * m68k-dis.c (opcode): New function. Returns address of opcode
388 table entry given index, even if the opcode table was split to
389 work around gcc bugs.
390 (print_insn_m68k): Call opcode instead of referencing m68k_opcodes
392 (BREAK_UP_BIG_DECL): Make secondary array static and const.
393 (reg_names): Now const.
394 (print_insn_arg): Arrays cacheFieldName and names now const.
395 (print_indexed): Array scales now const.
400 * arc-dis.c (print_insn_arc_base): Split into big and little fns.
401 (print_insn_arc_{host,graphics,audio}): Likewise.
402 (print_insn): Add prototype.
403 (arc_get_disassembler): New arg `big_p'. Return little or big
404 print fn accordingly.
405 * arc-opc.c (arc_opcode_init_tables): Init arc_operand_map once.
406 (arc_opcode_supported): Use ARC_OPCODE_CPU to ignore byte order.
407 (arc_opval_supported): Likewise.
408 * disassemble.c (disassembler): Pass big endian flag to
409 arc_get_disassembler.
414 * ppc-opc.c: Sort recently added instructions by minor opcode
415 number within major opcode number.
419 * hppa-dis.c: Include libhppa.h.
423 * mips-opc.c: Change dli to use M_DLI, and add dla.
427 * Makefile.in (ALL_MACHINES): Add w65-dis.o.
432 * arc-dis.c (arc_get_disassembler): Change argument to int,
433 one of bfd_mach_arc_xxx. All callers updated.
438 * mips-opc.c: Add r4650 mul instruction.
442 * mips-opc.c: Add uld and usd macros for unaligned double load and
447 * ppc-opc.c (powerpc_opcodes): Add 403GA opcodes rfci, dccci,
448 mfdcr, mtdcr, icbt, iccci.
453 * arc-dis.c (print_insn): Handle ARC_OPERAND_ADDRESS.
454 * arc-opc.c (arc_operands): New operand 'J' for jump addresses.
455 ('L' operand): Mark as ARC_OPERAND_ADDRESS.
456 (arc_opcodes, j insn): Use 'J' operand type, not 'L'.
457 (arc_opcodes, ld/st insns): Fix address writeback operand letter.
458 (insert_absaddr): New function.
462 * arc-dis.c (print_insn_arc): Rename to print_insn and make static.
463 New argument `cpu', pass it to arc_opcode_init_tables.
464 Document byte order dependencies. Ignore unsupported insns.
465 (arc_get_disassembler): New function.
466 (print_insn_arc_base, print_insn_arc_host, print_insn_arc_graphics,
467 print_insn_arc_audio): New functions.
468 * arc-opc.c (MULTSHIFT operand): Delete.
469 (UNSIGNED, SATURATION): New operands.
470 (mac, mul, mul64, mulu64): New insns.
471 (ext. asl, asr, lsr, ror): Only available on host and graphics cpus.
472 (padc, padd, pmov, pand, psbc, psub, swap): New insns.
473 (host,graphics,audio extended and auxiliary regs): Define.
474 (ss, sc, mh, ml): New suffixes.
475 (arc_opcode_supported, arc_opval_supported): New functions.
476 (insert_multshift, extract_multshift): Deleted.
477 * disassemble.c (disassembler, case bfd_arch_arc): Call
478 arc_get_disassembler to get disassembler routine.
483 * i960-dis.c (struct tabent, struct sparse_tabent): Change the
484 signed char fields to shorts, more portable.
488 * i960-dis.c (struct tabent, struct sparse_tabent): Declare the
489 char fields as signed chars, since they may have negative values.
493 * i386-dis.c (dis386_twobyte): Add cpuid, From Charles Hannum
499 * ppc-opc.c (extract_bdm): Correct parenthezisation.
500 * ppc-dis.c (print_insn_powerpc): Print .long before unrecognized
505 * ppc-opc.c: Changes based on patch from David Edelsohn
507 (powerpc_operands): Add operands SPRBAT and SPRG. Split TBR out of
510 (insert_tbr): New static function.
511 (extract_tbr): New static function.
512 (XFXFXM_MASK, XFXM): Define.
513 (XSPRBAT_MASK, XSPRG_MASK): Define.
514 (powerpc_opcodes): Add instructions to access special registers by
515 name. Add mtcr and mftbu.
519 * mips-opc.c (P3): Define.
520 (mips_opcodes): Add mad and madu.
522 Sun Jan 15 16:32:59 1995 Steve Chamberlain <sac@splat>
524 * configure.in: Add W65 support.
525 * disassemble.c: Likewise.
526 * w65-opc.h, w65-dis.c: New files.
530 * h8300-dis.c (bfd_h8_disassemble): Add support for 2 bit
536 * arc-dis.c (print_insn_arc): Branch offsets are relative to delay
538 * arc-opc.c (extract_reladdr): New function.
539 (insert_reladdr): Store address right-shifted by 2.
544 * mips-opc.c: Add dli as a synonym for li.
549 * arc-opc.c (insertion fns): Pass pointer to value's table entry.
551 (extraction fns): Insn argument now array of two words. Return pointer
552 to value's table entry. All uses changed.
553 (arc_opcode_lookup_suffix): Exported for arc-dis.c.
554 (insert_multshift, extract_multshift): New fns.
555 (arc_operands): Add support for cache bypass suffix. Add support for
556 predefined aux regs. Modifier bits moved to flags field.
557 (arc_opcodes): Likewise.
558 Add mul/mulu/shift insns. Syntax of zero/sign extension insns changed.
559 New insn rlc. Update to syntax in programmer's manual.
560 (arc_reg_names): Fix typo in lp_count. Add predefined aux regs.
561 (arc_suffixes): New synonyms lo,hs for cs,cc. New suffix for cache
563 (arc_opcode_init_tables): New argument to indicate cpu type.
564 (insert_reg): Handle predefined aux regs.
565 (extract_reg): Likewise.
566 (lookup_register): New fn.
567 * arc-dis.c (arc_condition_codes): Deleted.
568 (print_insn_arc): Handle insns with 32 bit immediate constants better.
569 Clean up modifier handling. Handle predefined aux regs.
574 * alpha-dis.c (print_insn_alpha): Handle call_pal instruction, and
575 print something for reserved opcode values, even if it won't
578 * mips-dis.c (_print_insn_mips): When initializing, shift right
579 and mask, to avoid sign extension problems on the Alpha.
581 * m68k-dis.c (print_insn_arg, case 'J'): Handle buscr and pcr
587 * configure.in: Add ARC support.
588 * disassemble.c: Likewise.
589 * arc-dis.c, arc-opc.c: New files.
594 * sh-opc.h (mov.l gbr): Get direction right.
595 * sh-dis.c (print_insn_shx): New function.
596 (print_insn_shl, print_insn_sh): Call print_insn_shx to
597 print opcodes with right byte order.
601 * ns32k-dis.c (struct ns32k_option): Renamed from struct option,
602 to avoid conflicts with getopt.
606 * hppa-dis.c (print_insn_hppa): Read the instruction using
607 bfd_getb32, so that it works on a little endian or 64 bit host.
608 Remove unused local variable op.
612 * mips-opc.c: Use or instead of addu for pseudo-op move, since
613 addu does not work correctly if -mips3.
617 * a29k-dis.c (print_special): Add special register names defined
618 on 29030, 29040 and 29050.
619 (print_insn): Handle new operand type 'I'.
623 * Makefile.in (INSTALL): Use top level install.sh script.
627 * sparc-dis.c: Rewrite to use bitfields, rather than a union, so
628 that it works on a little endian host.
632 * configure.in: Use ${config_shell} when running config.bfd.
636 * mips-opc.c (mips_opcodes): "dabs" is only available with -mips3.
640 * a29k-dis.c (print_insn): Print the opcode.
644 * mips-opc.c (mips_opcodes): Set WR_t for sc and scd.
648 * hppa-dis.c (reg_names): Use r26-r23 for arg0-arg3.
652 * mips-opc.c: Set INSN_STORE_MEMORY flag for all instructions
653 which store a value into memory.
657 * configure.in, Makefile.in, disassemble.c: Add support for the ARM.
658 * arm-dis.c, arm-opc.h: New files.
662 * Makefile.in (ns32k-dis.o): Add dependency.
663 * ns32k-dis.c (print_insn_arg): Declare initialized local as
664 string, not as array of chars.
668 * sparc-dis.c (print_insn_sparc): Handle new operand type 'x'.
670 * sparc-opc.c: Added sparclite extended FP operations, and
671 versions of v9 impdep* instructions permitting specification of
676 * i960-dis.c (reg_names): Now const.
677 (struct sparse_tabent): New type, copied from array type in mem
679 (ctrl): Local static array ctrl_tab now const.
680 (cobr): Local static array cobr_tab now const.
681 (mem): Local variables reg1, reg2, reg3 now point to const. Local
682 static variable mem_tab no longer explicitly initialized. Changed
683 mem_init to const array of struct sparse_tabent.
684 (reg): Local static variable reg_tab no longer explicitly
685 initialized. Changed reg_init to const array of struct
687 (ea): Local static array scale_tab now const.
689 start-sanitize-i960xl
690 * i960-dis.c (reg): Added i960XL instructions to reg_init table.
696 * configure.bat: the disassember needs to be enabled for
697 "objdump -d" to work in djgpp.
701 * ns32k-dis.c: Deleted all code in "#ifdef GDB".
702 (invalid_float): Enabled general version, doesn't require running
703 on ns32k host. Changed to take char* argument, and test for
704 explicitly specified sizes, instead of using sizeof() on host CPU
706 (INVALID_FLOAT): Cast first argument.
707 (opt_u, opt_U, opt_O, opt_C, opt_S, list_P532, list_M532,
708 list_P032, list_M032): Now const.
709 (optlist, list_search): Made appropriate arguments now point to
711 (print_insn_arg): Changed static array of one-character-string
712 pointers into a static const array of characters; fixed sprintf
713 statement accordingly.
717 * opcodes/ns32k-dis.c: Semi-new file. Had apparently been dropped
718 from distribution. A ns32k-dis.c from a previous distribution has
719 been brought up to date and supports the new interface.
721 * disassemble.c: define ARCH_ns32k and add case bfd_arch_ns32k.
723 * configure.in: add bfd_ns32k_arch target support.
725 * Makefile.in: add ns32k-dis.o to ALL_MACHINES.
726 Add ns32k-dis.c to CFILES. Add dependencies for ns32k-dis.o.
730 * h8300-dis.c (bfd_h8_disassemble): Get 16bit branch
735 * h8300-dis.c, mips-dis.c: Don't use true and false.
739 * configure.in: Change --with-targets to --enable-targets.
743 * mips-dis.c (_print_insn_mips): Build a static hash table mapping
744 opcodes to the first instruction with that opcode, to speed
750 * Makefile.in (mostlyclean): Fix typo (was mostyclean).
754 * configure.bat: update to latest makefile.in
758 * a29k-dis.c (print_insn): Print 'x' type operand in hex.
759 * h8300-dis.c (bfd_h8_disassemble): Print 16bit rels correctly.
760 * sh-dis.c (print_insn_sh): Don't recur endlessly if delay
761 slot insn is in a delay slot.
762 * z8k-opc.h: (resflg): Fix patterns.
763 * h8500-opc.h Fix CR insn patterns.
767 * ppc-opc.c (powerpc_opcodes): Put PowerPC versions of "cmp" and
768 "cmpl" before POWER versions, so that gas -many uses them.
772 * disassemble.c: New file.
773 * Makefile.in (OFILES): Add disassemble.o.
774 (disassemble.o): Provide dependencies; compile with $(ARCHDEFS).
775 * configure.in: Define ARCHDEFS in Makefile. Code taken from
776 binutils/configure.in.
778 * m68k-dis.c (print_insn_m68k): If F_ALIAS flag is set, skip the
779 opcode being examined.
783 * ppc-opc.c (powerpc_operands): Added RAL, RAM and RAS.
784 (insert_ral, insert_ram, insert_ras): New functions.
785 (powerpc_opcodes): Use RAL for load with update, RAM for lmw, and
786 RAS for store with update.
790 * ppc-opc.c (powerpc_opcodes): Correct fcir. From David Edelsohn
795 * mips-opc.c (mips_opcodes): Correct operands of "nor" with an
800 * sparc-opc.c (sparc_opcodes): Fix "rd %fprs,%l0".
804 * ppc-opc.c (powerpc_operands): The signedp field has been
805 removed, so don't initialize it. Set the PPC_OPERAND_SIGNED flag
806 instead. Add new operand SISIGNOPT.
807 (powerpc_opcodes): For lis, liu, addis, and cau use SISIGNOPT.
809 * ppc-dis.c (print_insn_powerpc): Check PPC_OPERAND_SIGNED rather
814 * i386-dis.c (struct private): Renamed to dis_private. `private'
815 is a reserved word for dynix cc.
819 * configure.in: Change error message to refer to bfd/config.bfd
820 rather than bfd/configure.in.
824 * ppc-opc.c: Define POWER2 as short alias flag.
825 (powerpc_opcodes): Add POWER/2 opcodes lfq*, stfq*, fcir[z], and
830 * i960-dis.c (print_insn_i960): Don't read a second word for
831 opcodes 0, 1, 2 and 3.
835 * configure.in: Don't build m68881-ext.o for bfd_m68k_arch.
839 * m68881-ext.c: Removed; no longer used.
840 * Makefile.in: Changed accordingly.
842 * m68k-dis.c (ext_format_68881): Don't declare.
843 (print_insn_m68k): If an instruction uses place 'i', it uses at
844 least four fixed bytes.
845 (print_insn_arg): Don't bump p by 2 for case 'I', place 'i'. For
846 extended float, convert to double using floatformat_to_double, not
847 ieee_extended_to_double, and fetch the data before converting it.
851 * mips-opc.c: It's sqrt.s, not sqrt.w. From
856 * ppc-opc.c (powerpc_opcodes): The POWER uses bdn[l][a] where the
857 PowerPC uses bdnz[l][a].
861 * dis-buf.c, i386-dis.c: Include sysdep.h.
865 * configure.in (bfd_powerpc_arch): Use ppc-dis.o and ppc-opc.o.
867 * ppc-opc.c (powerpc_opcodes): Mark POWER instructions supported
868 by Motorola PowerPC 601 with PPC_OPCODE_601.
869 * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc):
870 Disassemble Motorola PowerPC 601 instructions as well as normal
871 PowerPC instructions.
875 * i960-dis.c (reg, mem): Just use a static array instead of
880 * hppa-dis.c (print_insn_hppa): For '?' and '@' only adjust the
881 condition name index if this is for a negated condition.
883 * hppa-dis.c (print_insn_hppa): No space before 'H' operand.
884 Floating point format for 'H' operand is backwards from normal
885 case (0 == double, 1 == single). For '4', '6', '7', '9', and '8'
886 operands (fmpyadd and fmpysub), handle bizarre register
887 translation correctly for single precision format.
889 * hppa-dis.c (print_insn_hppa): Do not emit a space after 'F'
890 or 'I' operands if the next format specifier is 'M' (fcmp
891 condition completer).
895 * ppc-opc.c (powerpc_operands): New operand type MBE to handle a
896 single number giving a bitmask for the MB and ME fields of an M
897 form instruction. Change NB to accept 32, and turn it into 0;
898 also turn 0 into 32 when disassembling. Seperated SH from NB.
899 (insert_mbe, extract_mbe): New functions.
900 (insert_nb, extract_nb): New functions.
901 (SC_MASK): Mask out SA and LK bits.
902 (powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
903 RA, SI. Change "liu" and "cau" to use UI rather than SI. Mark
904 "bctr" and "bctrl" as accepted by POWER. Change "rlwimi",
905 "rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
906 "rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
907 use MBE rather than MB. Add "mfmq" and "mtmq" POWER instructions.
908 (powerpc_macros): Define table of macro definitions.
909 (powerpc_num_macros): Define.
911 * ppc-dis.c (print_insn_powerpc): Don't skip optional operands
912 if PPC_OPERAND_NEXT is set.
916 * i960-dis.c (print_insn_i960): Make buffer bfd_byte instead of
917 char. Retrieve contents using bfd_getl32 instead of shifting.
921 * ppc-opc.c: New file. Opcode table for PowerPC, including
922 opcodes for POWER (RS/6000).
923 * ppc-dis.c: New file. PowerPC and Power (RS/6000) disassembler.
924 * Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
925 (CFILES): Add ppc-dis.c.
926 (ppc-dis.o, ppc-opc.o): New targets.
927 * configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
931 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
932 No space before 'u', 'f', or 'N'.
936 * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
937 farther than we should.
939 * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS.
943 * sparc-dis.c m68k-dis.c alpha-dis.c a29k-dis.c: Fix comments.
947 * i960-dis.c (print_insn_i960): Only read word2 if the instruction
948 needs it, to prevent reading past the end of a section.
952 * mips-opc.h: Use macro for j instruction, to support SVR4 PIC.
953 Removed t,A case for la; always use t,A(b) case.
958 * mips-dis.c (print_insn_arg): Handle 'k'.
959 * mips-opc.c: Make cache use k, not t.
963 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
964 FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
965 FLOAT_FORMAT_CODE to put out floating point register names.
969 * mips-opc.c: Use macros for jal variants, to support SVR4 PIC.
973 * a29k-dis.c (print_insn): Use 0x%08x, not 0x%8x.
977 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
978 larger than 32. Moved dsxx32 variants first for disassembler.
982 * z8kgen.c, z8k-opc.h: Add full lda information.
986 * hppa-dis.c (print_insn_hppa): Do not emit a space after
987 movb instructions. Any necessary space will be emitted by
988 the code to handle nullification completers.
992 * mips-opc.c: Moved l.d down so that it disassembles as ldc1.
996 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
997 * alpha-dis.c (print_insn_alpha): Add code for PAL_FORMAT_CODE.
1001 * mips-opc.c: Correct lwu opcode value (book had it wrong).
1005 * z8k-dis.c (FETCH_DATA): get just the right amount of data.
1006 (unpack_instr): Cope with ARG_IMM4M1 type instructions.
1010 * m88k-dis.c (m88kdis): comment change. Remove space after
1012 (printop): handle new arg types DEC and XREG for m88110.
1016 * hppa-dis.c (print_insn_hppa): Handle 'z' operand
1017 type for absolute branch addresses. Delete special
1018 "ble" and "be" code in 'W' operand code.
1022 * mips-opc.c: Set hazard information correctly for branch
1023 likely instructions.
1027 * alpha-dis.c (print_insn_alpha), alpha-opc.h: Fix bugs, use
1028 info->fprintf_func for printing and info->print_address_func for
1033 * mips-opc.c: Set INSN_TRAP for tXX instructions.
1038 Corrected second case of "b" for disassembler.
1042 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
1043 to BFD swapping routines to correspond to BFD name changes.
1047 * mips-opc.c: Change div machine instruction to be z,s,t rather
1048 than s,t. Change div macro to be d,v,t rather than d,s,t.
1049 Likewise for divu, ddiv, ddivu. Added z,s,t case for drem, dremu,
1050 rem and remu which generates only the corresponding div
1051 instruction. This is for compatibility with the MIPS assembler,
1052 which only generates the simple machine instruction when an
1053 explicit destination of $0 is used.
1054 * mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
1059 WR_31 hazard for bal, bgezal, bltzal.
1063 * hppa-dis.c (print_insn_hppa): Use print function
1064 from within the disassemble_info, not fprintf_filtered.
1068 * hppa-dis.c (print_insn_hppa): Handle '|' like '>'. (From Jeff
1073 * mips-opc.c ("absu"): Removed.
1078 * mips-opc.c: Added r6000 and r4000 instructions and macros.
1079 Changed hazard information to distinguish between memory load
1080 delays and coprocessor load delays.
1084 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s.
1088 * configure.in: Don't pass cpu to config.bfd.
1092 * m88k-dis.c (m88kdis): Make class unsigned.
1096 * alpha-dis.c (print_insn_alpha): One branch format case was
1097 missing the instruction name.
1101 * Makefile.in (ALL_MACHINES): Renamed from DIS_LIBS.
1102 Add the arch-specific auxiliary files.
1103 (OFILES): Remove the arch-specific auxiliary files
1104 and use BFD_MACHINES instead of DIS_LIBS.
1105 * configure.in: Set BFD_MACHINES based on --with-targets option.
1109 * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
1114 * sparc-opc.c: Change CONST to const to deal with gcc
1115 -Dconst=__const -traditional.
1120 coprocessor instructions out of #if 0, and made them use new
1125 * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h.
1129 * sparc-opc.c: Add F_JSR, F_UNBR, or F_CONDBR flags to each branch
1130 instruction, for use by the disassembler.
1132 * sparc-dis.c (SEX): Add sign extension macro. Replace many
1133 hand-coded sign extensions that depended on 32-bit host ints.
1134 FIXME, we still depend on big-endian host bitfield ordering.
1135 (sparc_print_insn): Set the insn_info_valid field, and the
1136 other fields that describe the instruction being printed.
1140 * sparc-opc.c (call): Accept all 6 addressing modes valid for
1141 `jmp' instead of just one of them.
1145 * hppa-dis.c: Move floating registers from reg_names to fp_reg_names.
1146 (fput_fp_reg_r): Renamed from fput_reg_r.
1147 (fput_fp_reg): New function.
1148 (print_insn_hppa): Use fput_fp_reg{,_r} where appropriate.
1150 * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
1152 * hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
1156 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'.
1158 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
1159 don't output a space.
1161 * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad.
1165 * mips-opc.c: New file, containing opcode table from
1166 ../include/opcode/mips.h.
1167 * Makefile.in: Add it.
1171 * m88k-dis.c: New file, moved in from gdb and changed to use the
1172 new dis-asm.h disassembler interface.
1173 * Makefile.in (DIS_LIBS): Added m88k-dis.o.
1174 (m88k-dis.o): New target.
1178 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
1179 argument string const char * to correspond to opcode/mips.h.
1183 * mips-dis.c: Updated to account for name changes in new version
1185 * Makefile.in: Added header file dependencies.
1189 * h8300-dis.c (bfd_h8_disassemble): Correct fetching of instruction.
1193 * m68k-dis.c (NEXTWORD, NEXTLONG): Use ((x) ^ 0x8000) - 0x8000 to sign
1194 extend, rather than shifts.
1198 * Makefile.in: Undo 15 June change.
1202 * m68k-dis.c (print_insn_arg): Change return value to byte count
1204 * m68k-dis.c: Re-write to detect invalid operands before
1205 printing anything, so we can handle this the same way we
1206 handle invalid opcodes.
1210 * sh-dis.c, sh-opc.h: Understand some more opcodes.
1214 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
1219 * sparc-dis.c: Don't declare qsort, since sysdep.h might.
1221 * configure.in: Do make sysdep.h link.
1222 * Makefile.in: Search ../include. Don't search ../bfd.
1227 * hppa-dis.c: Fix typo. 'a' and 'd' were reversed.
1228 Do not print a space before the completers specified by
1233 * mips-dis.c: No longer need to bomb out if HOST_64_BIT is
1234 defined, since gdb has been fixed.
1237 * hppa-dis.c (print_insn_hppa): Last argument to fput_reg,
1238 fput_reg_r, fput_creg, fput_const, and fputs_filtered should
1239 be a *disassemble_info, not a *FILE.
1240 * hppa-dis.c: Support 'd', '!', and 'a'.
1241 * hppa-dis.c: Support 's' to extract a 2 bit space register.
1242 * hppa-dis.c: Delete cases which are no longer needed.
1246 * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes.
1250 * h8300-dis.c: New file, removed from bfd/cpu-h8300.c, with
1255 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
1256 * configure.in: No longer need to configure to get sysdep.h.
1261 * hppa-dis.c: Support 'I', 'J', and 'K' in output
1262 templates for 1.1 FP computational instructions.
1266 * h8500-dis.c (print_insn_h8500): Address argument is type
1268 * z8k-dis.c (print_insn_z8k, print_insn_z8001, print_insn_z8002):
1271 * h8500-opc.h (addr_class_type): No comma at end of enumerator.
1272 * sh-opc.h (sh_nibble_type, sh_arg_type): Ditto.
1274 * sparc-dis.c (compare_opcodes): Move static declaration to
1279 * sparc-dis.c (print_insn_sparc): Implement 'n' argument for unimp
1280 instruction, remove unimp hack from 'l' argument.
1284 * z8k-dis.c (fetch_data): Use unsigned char to make ancient gcc's
1290 * mips-dis.c (print_insn_arg): Handle 'C' for general coprocessor
1295 * hppa-dis.c: Include dis-asm.h before sysdep.h. Changed some
1296 arrays of string pointers to 2-d arrays of chars, to save
1301 * a29k-dis.c, alpha-dis.c, i960-dis.c, sparc-dis.c, z8k-dis.c:
1302 Cast second arg to read_memory_func to "bfd_byte *", as necessary.
1306 * hppa-dis.c: New file from Utah, adapted to new disassembler
1308 * Makefile.in: Include it.
1312 * sh-dis.c, sh-opc.h: New files.
1316 * alpha-dis.c, alpha-opc.h: New files.
1320 * mips-dis.c: Sign extend 'j' and 'b' arguments, delta is a signed
1325 * sparc-dis.c: Make "ta" the default trap instruction, "t" the alias.
1329 * a29k-dis.c, sparc-dis.c, sparc-opc.c: Use CONST rather than
1334 * sparc-dis.c: Use fprintf_func a few places where I forgot,
1335 and double percent signs a few places.
1337 * a29k-dis.c, i960-dis.c: New, merged from gdb and binutils.
1339 * i386-dis.c, m68k-dis.c, mips-dis.c, sparc-dis.c:
1340 Use info->print_address_func not print_address.
1342 * dis-buf.c (generic_print_address): New function.
1346 * Makefile.in: Add sparc-dis.c.
1347 sparc-dis.c: New file, merges binutils and gdb versions as follows:
1349 Add `add' instruction to the set that get checked
1350 for a preceding `sethi' in order to print an absolute address.
1351 * (print_insn): Disassembly prefers real instructions.
1352 (is_delayed_branch): Speed up.
1353 * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables.
1354 Still missing some float ops, and needs testing.
1355 * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by
1356 F_ALIAS. Use printf, not fprintf, when not passing a file
1358 (compare_opcodes): Check that identical instructions have
1359 identical opcodes, complain otherwise.
1362 * Include reg_names.
1364 Use dis-asm.h/read_memory_func interface.
1368 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
1369 deliberately return non-zero to setjmp from longjmp. Otherwise
1370 this code fails to compile.
1374 * m68k-dis.c: Fix prototype for fetch_arg().
1378 * dis-buf.c: New file, for new read_memory_func interface.
1379 Makefile.in (OFILES): Include it.
1380 m68k-dis.c, i386-dis.c, h8500-dis.c, mips-dis.c, z8k-dis.c:
1381 Use new read_memory_func interface.
1385 * h8500-dis.c (print_insn_h8500): Get sign of fp offsets right.
1386 * h8500-opc.h: Fix couple of opcodes.
1388 Wed Mar 24 02:03:36 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
1390 * Makefile.in: add dvi & installcheck targets
1394 * Makefile.in: Update for h8500-dis.c.
1398 * h8500-dis.c, h8500-opc.h: New files
1402 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
1403 ../include/dis-asm.h.
1404 * m68k-dis.c: New file (merge of ../binutils/m68k-pinsn.c
1405 and ../gdb/m68k-pinsn.c).
1406 * i386-dis.c: New file (merge of ../binutils/i386-pinsn.c
1407 and ../gdb/i386-pinsn.c).
1408 * m68881-ext.c: New file. Moved definition of
1409 ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
1410 * Makefile.in: Adjust for new files.
1412 * m68k-dis.c: Recognize '9' placement code, so (say) pflush
1413 can be dis-assembled.
1417 * mips-dis.c (print_insn_arg): Now returns void.
1421 * mips-dis.c (ansidecl.h): Include for benefit of sysdep.h
1422 files that use the macros.
1426 * mips-dis.c: New file, from gdb/mips-pinsn.c.
1427 * Makefile.in (DIS_LIBS): Added mips-dis.o.
1428 (CFILES): Added mips-dis.c.
1432 * z8k-dis.c (print_insn_z8001, print_insn_z8002): new routines
1433 * z8kgen.c, z8k-opc.h: fix sizes of some shifts.
1437 * Makefile.in: Improve *clean rules.
1438 * configure.in: Allow a default host.
1440 Tue Nov 17 19:53:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1442 * Makefile.in: also use -I$(srcdir)/../bfd, since some sysdep
1443 files include other sysdep files
1447 * z8k-dis.c z8k-opc.h z8kgen.c: checkpoint
1451 * configure.in: For host support, use ../bfd/configure.host
1452 so it stays in sync with the ../bfd/hosts database.
1454 Thu Oct 1 23:38:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
1456 * configure.in: use cpu-vendor-os triple instead of nested cases
1460 * z8k-dis.c (unparse_instr): fix bug where opcode returned was
1461 *always* the wrong one.
1465 * z8kgen.c: added copyright info
1469 * z8k-dis.c (unparse_instr): prettier tabs
1470 * z8kgen.c -> z8k-opc.h: bug fixes in tables
1472 Fri Sep 25 12:50:32 1992 Stu Grossman (grossman at cygnus.com)
1474 * configure.in: Add ncr* configuration.
1475 * z8k-dis.c (struct instr_data_s): Make instr_asmsrc char to make
1476 picayune ANSI compilers happy.
1480 * configure.in (i386): Make i386 and i486 synonymous for now.
1481 * configure.in (i[34]86-*-sysv4): Add my_host definition.
1485 * Makefile.in (install): Fix typo.
1489 * Makefile.in (make): Remove obsolete crud.
1490 (sparc-opc.o): Avoid Sun Make VPATH bug.
1494 * Makefile.in: since there are no SUBDIRS, remove rule and
1495 references of subdir_do.
1499 * Makefile.in (install): Get the library name right here too.
1500 Don't install bfd.h, since it's unrelated to this library. No
1501 subdirs to recurse into, either.
1502 (CFILES): The source file has a .c suffix, not .o.
1504 * sparc-opc.c: New file, moved from BFD.
1505 * Makefile.in (OFILES): Build it.
1509 * z8k-dis.c: fixed forward refferences of some declarations.
1513 * Makefile.in: get the name of the library right
1517 * z8k-dis.c: knows how to disassemble z8k stuff
1518 * z8k-opc.h: new file full of z8000 opcodes
1522 version-control: never