3 * hppa-dis.c (print_insn_hppa): Do not emit a space after 'F'
4 or 'I' operands if the next format specifier is 'M' (fcmp
9 * ppc-opc.c (powerpc_operands): New operand type MBE to handle a
10 single number giving a bitmask for the MB and ME fields of an M
11 form instruction. Change NB to accept 32, and turn it into 0;
12 also turn 0 into 32 when disassembling. Seperated SH from NB.
13 (insert_mbe, extract_mbe): New functions.
14 (insert_nb, extract_nb): New functions.
15 (SC_MASK): Mask out SA and LK bits.
16 (powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
17 RA, SI. Change "liu" and "cau" to use UI rather than SI. Mark
18 "bctr" and "bctrl" as accepted by POWER. Change "rlwimi",
19 "rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
20 "rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
21 use MBE rather than MB. Add "mfmq" and "mtmq" POWER instructions.
22 (powerpc_macros): Define table of macro definitions.
23 (powerpc_num_macros): Define.
25 * ppc-dis.c (print_insn_powerpc): Don't skip optional operands
26 if PPC_OPERAND_NEXT is set.
30 * i960-dis.c (print_insn_i960): Make buffer bfd_byte instead of
31 char. Retrieve contents using bfd_getl32 instead of shifting.
35 * ppc-opc.c: New file. Opcode table for PowerPC, including
36 opcodes for POWER (RS/6000).
37 * ppc-dis.c: New file. PowerPC and Power (RS/6000) disassembler.
38 * Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
39 (CFILES): Add ppc-dis.c.
40 (ppc-dis.o, ppc-opc.o): New targets.
41 * configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
45 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
46 No space before 'u', 'f', or 'N'.
50 * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
51 farther than we should.
53 * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS.
57 * sparc-dis.c m68k-dis.c alpha-dis.c a29k-dis.c: Fix comments.
61 * i960-dis.c (print_insn_i960): Only read word2 if the instruction
62 needs it, to prevent reading past the end of a section.
66 * mips-opc.h: Use macro for j instruction, to support SVR4 PIC.
67 Removed t,A case for la; always use t,A(b) case.
72 * mips-dis.c (print_insn_arg): Handle 'k'.
73 * mips-opc.c: Make cache use k, not t.
77 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
78 FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
79 FLOAT_FORMAT_CODE to put out floating point register names.
83 * mips-opc.c: Use macros for jal variants, to support SVR4 PIC.
87 * a29k-dis.c (print_insn): Use 0x%08x, not 0x%8x.
91 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
92 larger than 32. Moved dsxx32 variants first for disassembler.
96 * z8kgen.c, z8k-opc.h: Add full lda information.
100 * hppa-dis.c (print_insn_hppa): Do not emit a space after
101 movb instructions. Any necessary space will be emitted by
102 the code to handle nullification completers.
106 * mips-opc.c: Moved l.d down so that it disassembles as ldc1.
110 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
111 * alpha-dis.c (print_insn_alpha): Add code for PAL_FORMAT_CODE.
115 * mips-opc.c: Correct lwu opcode value (book had it wrong).
119 * z8k-dis.c (FETCH_DATA): get just the right amount of data.
120 (unpack_instr): Cope with ARG_IMM4M1 type instructions.
124 * m88k-dis.c (m88kdis): comment change. Remove space after
126 (printop): handle new arg types DEC and XREG for m88110.
130 * hppa-dis.c (print_insn_hppa): Handle 'z' operand
131 type for absolute branch addresses. Delete special
132 "ble" and "be" code in 'W' operand code.
136 * mips-opc.c: Set hazard information correctly for branch
141 * alpha-dis.c (print_insn_alpha), alpha-opc.h: Fix bugs, use
142 info->fprintf_func for printing and info->print_address_func for
147 * mips-opc.c: Set INSN_TRAP for tXX instructions.
152 Corrected second case of "b" for disassembler.
156 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
157 to BFD swapping routines to correspond to BFD name changes.
161 * mips-opc.c: Change div machine instruction to be z,s,t rather
162 than s,t. Change div macro to be d,v,t rather than d,s,t.
163 Likewise for divu, ddiv, ddivu. Added z,s,t case for drem, dremu,
164 rem and remu which generates only the corresponding div
165 instruction. This is for compatibility with the MIPS assembler,
166 which only generates the simple machine instruction when an
167 explicit destination of $0 is used.
168 * mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
173 WR_31 hazard for bal, bgezal, bltzal.
177 * hppa-dis.c (print_insn_hppa): Use print function
178 from within the disassemble_info, not fprintf_filtered.
182 * hppa-dis.c (print_insn_hppa): Handle '|' like '>'. (From Jeff
187 * mips-opc.c ("absu"): Removed.
192 * mips-opc.c: Added r6000 and r4000 instructions and macros.
193 Changed hazard information to distinguish between memory load
194 delays and coprocessor load delays.
198 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s.
202 * configure.in: Don't pass cpu to config.bfd.
206 * m88k-dis.c (m88kdis): Make class unsigned.
210 * alpha-dis.c (print_insn_alpha): One branch format case was
211 missing the instruction name.
215 * Makefile.in (ALL_MACHINES): Renamed from DIS_LIBS.
216 Add the arch-specific auxiliary files.
217 (OFILES): Remove the arch-specific auxiliary files
218 and use BFD_MACHINES instead of DIS_LIBS.
219 * configure.in: Set BFD_MACHINES based on --with-targets option.
223 * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
228 * sparc-opc.c: Change CONST to const to deal with gcc
229 -Dconst=__const -traditional.
234 coprocessor instructions out of #if 0, and made them use new
239 * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h.
243 * sparc-opc.c: Add F_JSR, F_UNBR, or F_CONDBR flags to each branch
244 instruction, for use by the disassembler.
246 * sparc-dis.c (SEX): Add sign extension macro. Replace many
247 hand-coded sign extensions that depended on 32-bit host ints.
248 FIXME, we still depend on big-endian host bitfield ordering.
249 (sparc_print_insn): Set the insn_info_valid field, and the
250 other fields that describe the instruction being printed.
254 * sparc-opc.c (call): Accept all 6 addressing modes valid for
255 `jmp' instead of just one of them.
259 * hppa-dis.c: Move floating registers from reg_names to fp_reg_names.
260 (fput_fp_reg_r): Renamed from fput_reg_r.
261 (fput_fp_reg): New function.
262 (print_insn_hppa): Use fput_fp_reg{,_r} where appropriate.
264 * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
266 * hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
270 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'.
272 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
273 don't output a space.
275 * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad.
279 * mips-opc.c: New file, containing opcode table from
280 ../include/opcode/mips.h.
281 * Makefile.in: Add it.
285 * m88k-dis.c: New file, moved in from gdb and changed to use the
286 new dis-asm.h disassembler interface.
287 * Makefile.in (DIS_LIBS): Added m88k-dis.o.
288 (m88k-dis.o): New target.
292 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
293 argument string const char * to correspond to opcode/mips.h.
297 * mips-dis.c: Updated to account for name changes in new version
299 * Makefile.in: Added header file dependencies.
303 * h8300-dis.c (bfd_h8_disassemble): Correct fetching of instruction.
307 * m68k-dis.c (NEXTWORD, NEXTLONG): Use ((x) ^ 0x8000) - 0x8000 to sign
308 extend, rather than shifts.
312 * Makefile.in: Undo 15 June change.
316 * m68k-dis.c (print_insn_arg): Change return value to byte count
318 * m68k-dis.c: Re-write to detect invalid operands before
319 printing anything, so we can handle this the same way we
320 handle invalid opcodes.
324 * sh-dis.c, sh-opc.h: Understand some more opcodes.
328 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
333 * sparc-dis.c: Don't declare qsort, since sysdep.h might.
335 * configure.in: Do make sysdep.h link.
336 * Makefile.in: Search ../include. Don't search ../bfd.
341 * hppa-dis.c: Fix typo. 'a' and 'd' were reversed.
342 Do not print a space before the completers specified by
347 * mips-dis.c: No longer need to bomb out if HOST_64_BIT is
348 defined, since gdb has been fixed.
351 * hppa-dis.c (print_insn_hppa): Last argument to fput_reg,
352 fput_reg_r, fput_creg, fput_const, and fputs_filtered should
353 be a *disassemble_info, not a *FILE.
354 * hppa-dis.c: Support 'd', '!', and 'a'.
355 * hppa-dis.c: Support 's' to extract a 2 bit space register.
356 * hppa-dis.c: Delete cases which are no longer needed.
360 * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes.
364 * h8300-dis.c: New file, removed from bfd/cpu-h8300.c, with
369 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
370 * configure.in: No longer need to configure to get sysdep.h.
375 * hppa-dis.c: Support 'I', 'J', and 'K' in output
376 templates for 1.1 FP computational instructions.
380 * h8500-dis.c (print_insn_h8500): Address argument is type
382 * z8k-dis.c (print_insn_z8k, print_insn_z8001, print_insn_z8002):
385 * h8500-opc.h (addr_class_type): No comma at end of enumerator.
386 * sh-opc.h (sh_nibble_type, sh_arg_type): Ditto.
388 * sparc-dis.c (compare_opcodes): Move static declaration to
393 * sparc-dis.c (print_insn_sparc): Implement 'n' argument for unimp
394 instruction, remove unimp hack from 'l' argument.
398 * z8k-dis.c (fetch_data): Use unsigned char to make ancient gcc's
404 * mips-dis.c (print_insn_arg): Handle 'C' for general coprocessor
409 * hppa-dis.c: Include dis-asm.h before sysdep.h. Changed some
410 arrays of string pointers to 2-d arrays of chars, to save
415 * a29k-dis.c, alpha-dis.c, i960-dis.c, sparc-dis.c, z8k-dis.c:
416 Cast second arg to read_memory_func to "bfd_byte *", as necessary.
420 * hppa-dis.c: New file from Utah, adapted to new disassembler
422 * Makefile.in: Include it.
426 * sh-dis.c, sh-opc.h: New files.
430 * alpha-dis.c, alpha-opc.h: New files.
434 * mips-dis.c: Sign extend 'j' and 'b' arguments, delta is a signed
439 * sparc-dis.c: Make "ta" the default trap instruction, "t" the alias.
443 * a29k-dis.c, sparc-dis.c, sparc-opc.c: Use CONST rather than
448 * sparc-dis.c: Use fprintf_func a few places where I forgot,
449 and double percent signs a few places.
451 * a29k-dis.c, i960-dis.c: New, merged from gdb and binutils.
453 * i386-dis.c, m68k-dis.c, mips-dis.c, sparc-dis.c:
454 Use info->print_address_func not print_address.
456 * dis-buf.c (generic_print_address): New function.
460 * Makefile.in: Add sparc-dis.c.
461 sparc-dis.c: New file, merges binutils and gdb versions as follows:
463 Add `add' instruction to the set that get checked
464 for a preceding `sethi' in order to print an absolute address.
465 * (print_insn): Disassembly prefers real instructions.
466 (is_delayed_branch): Speed up.
467 * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables.
468 Still missing some float ops, and needs testing.
469 * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by
470 F_ALIAS. Use printf, not fprintf, when not passing a file
472 (compare_opcodes): Check that identical instructions have
473 identical opcodes, complain otherwise.
478 Use dis-asm.h/read_memory_func interface.
482 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
483 deliberately return non-zero to setjmp from longjmp. Otherwise
484 this code fails to compile.
488 * m68k-dis.c: Fix prototype for fetch_arg().
492 * dis-buf.c: New file, for new read_memory_func interface.
493 Makefile.in (OFILES): Include it.
494 m68k-dis.c, i386-dis.c, h8500-dis.c, mips-dis.c, z8k-dis.c:
495 Use new read_memory_func interface.
499 * h8500-dis.c (print_insn_h8500): Get sign of fp offsets right.
500 * h8500-opc.h: Fix couple of opcodes.
502 Wed Mar 24 02:03:36 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
504 * Makefile.in: add dvi & installcheck targets
508 * Makefile.in: Update for h8500-dis.c.
512 * h8500-dis.c, h8500-opc.h: New files
516 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
517 ../include/dis-asm.h.
518 * m68k-dis.c: New file (merge of ../binutils/m68k-pinsn.c
519 and ../gdb/m68k-pinsn.c).
520 * i386-dis.c: New file (merge of ../binutils/i386-pinsn.c
521 and ../gdb/i386-pinsn.c).
522 * m68881-ext.c: New file. Moved definition of
523 ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
524 * Makefile.in: Adjust for new files.
526 * m68k-dis.c: Recognize '9' placement code, so (say) pflush
527 can be dis-assembled.
531 * mips-dis.c (print_insn_arg): Now returns void.
535 * mips-dis.c (ansidecl.h): Include for benefit of sysdep.h
536 files that use the macros.
540 * mips-dis.c: New file, from gdb/mips-pinsn.c.
541 * Makefile.in (DIS_LIBS): Added mips-dis.o.
542 (CFILES): Added mips-dis.c.
546 * z8k-dis.c (print_insn_z8001, print_insn_z8002): new routines
547 * z8kgen.c, z8k-opc.h: fix sizes of some shifts.
551 * Makefile.in: Improve *clean rules.
552 * configure.in: Allow a default host.
554 Tue Nov 17 19:53:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
556 * Makefile.in: also use -I$(srcdir)/../bfd, since some sysdep
557 files include other sysdep files
561 * z8k-dis.c z8k-opc.h z8kgen.c: checkpoint
565 * configure.in: For host support, use ../bfd/configure.host
566 so it stays in sync with the ../bfd/hosts database.
568 Thu Oct 1 23:38:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
570 * configure.in: use cpu-vendor-os triple instead of nested cases
574 * z8k-dis.c (unparse_instr): fix bug where opcode returned was
575 *always* the wrong one.
579 * z8kgen.c: added copyright info
583 * z8k-dis.c (unparse_instr): prettier tabs
584 * z8kgen.c -> z8k-opc.h: bug fixes in tables
586 Fri Sep 25 12:50:32 1992 Stu Grossman (grossman at cygnus.com)
588 * configure.in: Add ncr* configuration.
589 * z8k-dis.c (struct instr_data_s): Make instr_asmsrc char to make
590 picayune ANSI compilers happy.
594 * configure.in (i386): Make i386 and i486 synonymous for now.
595 * configure.in (i[34]86-*-sysv4): Add my_host definition.
599 * Makefile.in (install): Fix typo.
603 * Makefile.in (make): Remove obsolete crud.
604 (sparc-opc.o): Avoid Sun Make VPATH bug.
608 * Makefile.in: since there are no SUBDIRS, remove rule and
609 references of subdir_do.
613 * Makefile.in (install): Get the library name right here too.
614 Don't install bfd.h, since it's unrelated to this library. No
615 subdirs to recurse into, either.
616 (CFILES): The source file has a .c suffix, not .o.
618 * sparc-opc.c: New file, moved from BFD.
619 * Makefile.in (OFILES): Build it.
623 * z8k-dis.c: fixed forward refferences of some declarations.
627 * Makefile.in: get the name of the library right
631 * z8k-dis.c: knows how to disassemble z8k stuff
632 * z8k-opc.h: new file full of z8000 opcodes