3 * ppc-opc.c: New file. Opcode table for PowerPC, including
4 opcodes for POWER (RS/6000).
5 * ppc-dis.c: New file. PowerPC and Power (RS/6000) disassembler.
6 * Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
7 (CFILES): Add ppc-dis.c.
8 (ppc-dis.o, ppc-opc.o): New targets.
9 * configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
13 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
14 No space before 'u', 'f', or 'N'.
18 * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
19 farther than we should.
21 * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS.
25 * sparc-dis.c m68k-dis.c alpha-dis.c a29k-dis.c: Fix comments.
29 * i960-dis.c (print_insn_i960): Only read word2 if the instruction
30 needs it, to prevent reading past the end of a section.
34 * mips-opc.h: Use macro for j instruction, to support SVR4 PIC.
35 Removed t,A case for la; always use t,A(b) case.
40 * mips-dis.c (print_insn_arg): Handle 'k'.
41 * mips-opc.c: Make cache use k, not t.
45 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
46 FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
47 FLOAT_FORMAT_CODE to put out floating point register names.
51 * mips-opc.c: Use macros for jal variants, to support SVR4 PIC.
55 * a29k-dis.c (print_insn): Use 0x%08x, not 0x%8x.
59 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
60 larger than 32. Moved dsxx32 variants first for disassembler.
64 * z8kgen.c, z8k-opc.h: Add full lda information.
68 * hppa-dis.c (print_insn_hppa): Do not emit a space after
69 movb instructions. Any necessary space will be emitted by
70 the code to handle nullification completers.
74 * mips-opc.c: Moved l.d down so that it disassembles as ldc1.
78 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
79 * alpha-dis.c (print_insn_alpha): Add code for PAL_FORMAT_CODE.
83 * mips-opc.c: Correct lwu opcode value (book had it wrong).
87 * z8k-dis.c (FETCH_DATA): get just the right amount of data.
88 (unpack_instr): Cope with ARG_IMM4M1 type instructions.
92 * m88k-dis.c (m88kdis): comment change. Remove space after
94 (printop): handle new arg types DEC and XREG for m88110.
98 * hppa-dis.c (print_insn_hppa): Handle 'z' operand
99 type for absolute branch addresses. Delete special
100 "ble" and "be" code in 'W' operand code.
104 * mips-opc.c: Set hazard information correctly for branch
109 * alpha-dis.c (print_insn_alpha), alpha-opc.h: Fix bugs, use
110 info->fprintf_func for printing and info->print_address_func for
115 * mips-opc.c: Set INSN_TRAP for tXX instructions.
120 Corrected second case of "b" for disassembler.
124 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
125 to BFD swapping routines to correspond to BFD name changes.
129 * mips-opc.c: Change div machine instruction to be z,s,t rather
130 than s,t. Change div macro to be d,v,t rather than d,s,t.
131 Likewise for divu, ddiv, ddivu. Added z,s,t case for drem, dremu,
132 rem and remu which generates only the corresponding div
133 instruction. This is for compatibility with the MIPS assembler,
134 which only generates the simple machine instruction when an
135 explicit destination of $0 is used.
136 * mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
141 WR_31 hazard for bal, bgezal, bltzal.
145 * hppa-dis.c (print_insn_hppa): Use print function
146 from within the disassemble_info, not fprintf_filtered.
150 * hppa-dis.c (print_insn_hppa): Handle '|' like '>'. (From Jeff
155 * mips-opc.c ("absu"): Removed.
160 * mips-opc.c: Added r6000 and r4000 instructions and macros.
161 Changed hazard information to distinguish between memory load
162 delays and coprocessor load delays.
166 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s.
170 * configure.in: Don't pass cpu to config.bfd.
174 * m88k-dis.c (m88kdis): Make class unsigned.
178 * alpha-dis.c (print_insn_alpha): One branch format case was
179 missing the instruction name.
183 * Makefile.in (ALL_MACHINES): Renamed from DIS_LIBS.
184 Add the arch-specific auxiliary files.
185 (OFILES): Remove the arch-specific auxiliary files
186 and use BFD_MACHINES instead of DIS_LIBS.
187 * configure.in: Set BFD_MACHINES based on --with-targets option.
191 * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
196 * sparc-opc.c: Change CONST to const to deal with gcc
197 -Dconst=__const -traditional.
202 coprocessor instructions out of #if 0, and made them use new
207 * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h.
211 * sparc-opc.c: Add F_JSR, F_UNBR, or F_CONDBR flags to each branch
212 instruction, for use by the disassembler.
214 * sparc-dis.c (SEX): Add sign extension macro. Replace many
215 hand-coded sign extensions that depended on 32-bit host ints.
216 FIXME, we still depend on big-endian host bitfield ordering.
217 (sparc_print_insn): Set the insn_info_valid field, and the
218 other fields that describe the instruction being printed.
222 * sparc-opc.c (call): Accept all 6 addressing modes valid for
223 `jmp' instead of just one of them.
227 * hppa-dis.c: Move floating registers from reg_names to fp_reg_names.
228 (fput_fp_reg_r): Renamed from fput_reg_r.
229 (fput_fp_reg): New function.
230 (print_insn_hppa): Use fput_fp_reg{,_r} where appropriate.
232 * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
234 * hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
238 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'.
240 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
241 don't output a space.
243 * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad.
247 * mips-opc.c: New file, containing opcode table from
248 ../include/opcode/mips.h.
249 * Makefile.in: Add it.
253 * m88k-dis.c: New file, moved in from gdb and changed to use the
254 new dis-asm.h disassembler interface.
255 * Makefile.in (DIS_LIBS): Added m88k-dis.o.
256 (m88k-dis.o): New target.
260 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
261 argument string const char * to correspond to opcode/mips.h.
265 * mips-dis.c: Updated to account for name changes in new version
267 * Makefile.in: Added header file dependencies.
271 * h8300-dis.c (bfd_h8_disassemble): Correct fetching of instruction.
275 * m68k-dis.c (NEXTWORD, NEXTLONG): Use ((x) ^ 0x8000) - 0x8000 to sign
276 extend, rather than shifts.
280 * Makefile.in: Undo 15 June change.
284 * m68k-dis.c (print_insn_arg): Change return value to byte count
286 * m68k-dis.c: Re-write to detect invalid operands before
287 printing anything, so we can handle this the same way we
288 handle invalid opcodes.
292 * sh-dis.c, sh-opc.h: Understand some more opcodes.
296 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
301 * sparc-dis.c: Don't declare qsort, since sysdep.h might.
303 * configure.in: Do make sysdep.h link.
304 * Makefile.in: Search ../include. Don't search ../bfd.
309 * hppa-dis.c: Fix typo. 'a' and 'd' were reversed.
310 Do not print a space before the completers specified by
315 * mips-dis.c: No longer need to bomb out if HOST_64_BIT is
316 defined, since gdb has been fixed.
319 * hppa-dis.c (print_insn_hppa): Last argument to fput_reg,
320 fput_reg_r, fput_creg, fput_const, and fputs_filtered should
321 be a *disassemble_info, not a *FILE.
322 * hppa-dis.c: Support 'd', '!', and 'a'.
323 * hppa-dis.c: Support 's' to extract a 2 bit space register.
324 * hppa-dis.c: Delete cases which are no longer needed.
328 * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes.
332 * h8300-dis.c: New file, removed from bfd/cpu-h8300.c, with
337 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
338 * configure.in: No longer need to configure to get sysdep.h.
343 * hppa-dis.c: Support 'I', 'J', and 'K' in output
344 templates for 1.1 FP computational instructions.
348 * h8500-dis.c (print_insn_h8500): Address argument is type
350 * z8k-dis.c (print_insn_z8k, print_insn_z8001, print_insn_z8002):
353 * h8500-opc.h (addr_class_type): No comma at end of enumerator.
354 * sh-opc.h (sh_nibble_type, sh_arg_type): Ditto.
356 * sparc-dis.c (compare_opcodes): Move static declaration to
361 * sparc-dis.c (print_insn_sparc): Implement 'n' argument for unimp
362 instruction, remove unimp hack from 'l' argument.
366 * z8k-dis.c (fetch_data): Use unsigned char to make ancient gcc's
372 * mips-dis.c (print_insn_arg): Handle 'C' for general coprocessor
377 * hppa-dis.c: Include dis-asm.h before sysdep.h. Changed some
378 arrays of string pointers to 2-d arrays of chars, to save
383 * a29k-dis.c, alpha-dis.c, i960-dis.c, sparc-dis.c, z8k-dis.c:
384 Cast second arg to read_memory_func to "bfd_byte *", as necessary.
388 * hppa-dis.c: New file from Utah, adapted to new disassembler
390 * Makefile.in: Include it.
394 * sh-dis.c, sh-opc.h: New files.
398 * alpha-dis.c, alpha-opc.h: New files.
402 * mips-dis.c: Sign extend 'j' and 'b' arguments, delta is a signed
407 * sparc-dis.c: Make "ta" the default trap instruction, "t" the alias.
411 * a29k-dis.c, sparc-dis.c, sparc-opc.c: Use CONST rather than
416 * sparc-dis.c: Use fprintf_func a few places where I forgot,
417 and double percent signs a few places.
419 * a29k-dis.c, i960-dis.c: New, merged from gdb and binutils.
421 * i386-dis.c, m68k-dis.c, mips-dis.c, sparc-dis.c:
422 Use info->print_address_func not print_address.
424 * dis-buf.c (generic_print_address): New function.
428 * Makefile.in: Add sparc-dis.c.
429 sparc-dis.c: New file, merges binutils and gdb versions as follows:
431 Add `add' instruction to the set that get checked
432 for a preceding `sethi' in order to print an absolute address.
433 * (print_insn): Disassembly prefers real instructions.
434 (is_delayed_branch): Speed up.
435 * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables.
436 Still missing some float ops, and needs testing.
437 * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by
438 F_ALIAS. Use printf, not fprintf, when not passing a file
440 (compare_opcodes): Check that identical instructions have
441 identical opcodes, complain otherwise.
446 Use dis-asm.h/read_memory_func interface.
450 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
451 deliberately return non-zero to setjmp from longjmp. Otherwise
452 this code fails to compile.
456 * m68k-dis.c: Fix prototype for fetch_arg().
460 * dis-buf.c: New file, for new read_memory_func interface.
461 Makefile.in (OFILES): Include it.
462 m68k-dis.c, i386-dis.c, h8500-dis.c, mips-dis.c, z8k-dis.c:
463 Use new read_memory_func interface.
467 * h8500-dis.c (print_insn_h8500): Get sign of fp offsets right.
468 * h8500-opc.h: Fix couple of opcodes.
470 Wed Mar 24 02:03:36 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
472 * Makefile.in: add dvi & installcheck targets
476 * Makefile.in: Update for h8500-dis.c.
480 * h8500-dis.c, h8500-opc.h: New files
484 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
485 ../include/dis-asm.h.
486 * m68k-dis.c: New file (merge of ../binutils/m68k-pinsn.c
487 and ../gdb/m68k-pinsn.c).
488 * i386-dis.c: New file (merge of ../binutils/i386-pinsn.c
489 and ../gdb/i386-pinsn.c).
490 * m68881-ext.c: New file. Moved definition of
491 ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
492 * Makefile.in: Adjust for new files.
494 * m68k-dis.c: Recognize '9' placement code, so (say) pflush
495 can be dis-assembled.
499 * mips-dis.c (print_insn_arg): Now returns void.
503 * mips-dis.c (ansidecl.h): Include for benefit of sysdep.h
504 files that use the macros.
508 * mips-dis.c: New file, from gdb/mips-pinsn.c.
509 * Makefile.in (DIS_LIBS): Added mips-dis.o.
510 (CFILES): Added mips-dis.c.
514 * z8k-dis.c (print_insn_z8001, print_insn_z8002): new routines
515 * z8kgen.c, z8k-opc.h: fix sizes of some shifts.
519 * Makefile.in: Improve *clean rules.
520 * configure.in: Allow a default host.
522 Tue Nov 17 19:53:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
524 * Makefile.in: also use -I$(srcdir)/../bfd, since some sysdep
525 files include other sysdep files
529 * z8k-dis.c z8k-opc.h z8kgen.c: checkpoint
533 * configure.in: For host support, use ../bfd/configure.host
534 so it stays in sync with the ../bfd/hosts database.
536 Thu Oct 1 23:38:54 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
538 * configure.in: use cpu-vendor-os triple instead of nested cases
542 * z8k-dis.c (unparse_instr): fix bug where opcode returned was
543 *always* the wrong one.
547 * z8kgen.c: added copyright info
551 * z8k-dis.c (unparse_instr): prettier tabs
552 * z8kgen.c -> z8k-opc.h: bug fixes in tables
554 Fri Sep 25 12:50:32 1992 Stu Grossman (grossman at cygnus.com)
556 * configure.in: Add ncr* configuration.
557 * z8k-dis.c (struct instr_data_s): Make instr_asmsrc char to make
558 picayune ANSI compilers happy.
562 * configure.in (i386): Make i386 and i486 synonymous for now.
563 * configure.in (i[34]86-*-sysv4): Add my_host definition.
567 * Makefile.in (install): Fix typo.
571 * Makefile.in (make): Remove obsolete crud.
572 (sparc-opc.o): Avoid Sun Make VPATH bug.
576 * Makefile.in: since there are no SUBDIRS, remove rule and
577 references of subdir_do.
581 * Makefile.in (install): Get the library name right here too.
582 Don't install bfd.h, since it's unrelated to this library. No
583 subdirs to recurse into, either.
584 (CFILES): The source file has a .c suffix, not .o.
586 * sparc-opc.c: New file, moved from BFD.
587 * Makefile.in (OFILES): Build it.
591 * z8k-dis.c: fixed forward refferences of some declarations.
595 * Makefile.in: get the name of the library right
599 * z8k-dis.c: knows how to disassemble z8k stuff
600 * z8k-opc.h: new file full of z8000 opcodes