Commit graph

444 commits

Author SHA1 Message Date
Ian Lance Taylor
6d76c71f5e * Makefile.in (SONAME): Remove leading ../bfd/ from $(SHLIB). 1996-02-15 19:45:45 +00:00
Ian Lance Taylor
03db5a9303 Wed Feb 14 19:01:27 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386-dis.c (onebyte_has_modrm): New static array.
	(twobyte_has_modrm): New static array.
	(print_insn_i386): Only fetch the mod/reg/rm byte if it is needed.
1996-02-15 00:08:45 +00:00
Michael Meissner
222e3f6e66 Undef PPC before use 1996-02-12 22:17:39 +00:00
Ian Lance Taylor
c07dc45948 * Makefile.in (SONAME): New variable.
($(SHLINK)): Make a link to the transformed name, as well.
	(stamp-tshlink): New target.
	(install): Skip stamp-tshlink during install.
1996-02-07 19:00:52 +00:00
Ian Lance Taylor
1a4dd30e54 * i960-dis.c (mem): Add HX dcinva instruction.
(reg): Add HX instructions.
	start-sanitize-i960xl
	The HX instructions are the XL instructions, so this just involves
	arranges for them to not be sanitized.
	end-sanitize-i960xl
1996-02-05 23:54:25 +00:00
Ian Lance Taylor
e0bf1022dd Support for building as a shared library, based on patches from
Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
	New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
	SHLIB_CFLAGS, COMMON_SHLIB, SHLINK.
	* configure: Rebuild.
	* Makefile.in (ALLLIBS): New variable.
	(PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
	(COMMON_SHLIB, SHLINK): New variables.
	(.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
	(STAGESTUFF): Remove variable.
	(all): Depend upon $(ALLLIBS) rather than $(TARGETLIB).
	(stamp-piclist, piclist): New targets.
	($(SHLIB), $(SHLINK)): New targets.
	($(OFILES)): Depend upon stamp-picdir.
	(disassemble.o): Build twice if PICFLAG is set.
	(MOSTLYCLEAN): Add pic/*.o.
	(clean): Remove $(SHLIB), $(SHLINK), piclist, and stamp-piclist.
	(distclean): Remove pic and stamp-picdir.
	(install): Install shared libraries.
	(stamp-picdir): New target.
1996-02-05 21:17:52 +00:00
Ian Lance Taylor
9fcea7ef3b * dis-buf.c: Include "sysdep.h" before "dis-asm.h". 1996-01-30 19:09:20 +00:00
Ian Lance Taylor
931c53ab74 * i386-dis.c (print_insn_i386): Only fetch the mod/reg/rm byte
when necessary.  From Ulrich Drepper
	<drepper@myware.rz.uni-karlsruhe.de>.
1996-01-25 16:57:52 +00:00
David Edelsohn
ca4cb8bca2 * sparc-dis.c (print_insn_sparc): NUMOPCODES replaced with
sparc_num_opcodes.  Update architecture enum values.
	* sparc-opc.c (sparc_opcode_archs): Replaces architecture_pname.
	(sparc_opcode_lookup_arch): New function.
	(sparc_num_opcodes): Renamed from bfd_sparc_num_opcodes.
	(sparc_opcodes): Add v9a shutdown insn.
1996-01-25 11:42:18 +00:00
David Edelsohn
986c92a711 * sparc-dis.c (print_insn_sparc): Renamed from print_insn.
If DISASM_RAW_INSN, print insn in hex.  Handle v9a as opcode
	architecture.
	(print_insn_sparc64): Deleted.
	* disassemble.c (disassembler, case bfd_arch_sparc): Always use
	print_insn_sparc.
1996-01-23 00:55:40 +00:00
David Edelsohn
79ae32abcc * disassemble.c (disassembler, case bfd_arch_sparc): bfd_mach_sparc64
renamed to bfd_mach_sparc_v9.  Check for bfd_mach_sparc_v9a.
1996-01-22 23:19:04 +00:00
David Edelsohn
187fddf78c * sparc-opc.c (architecture_pname): Add v9a.
The actual insns haven't been added yet.
1996-01-22 16:34:01 +00:00
Jim Wilson
48573afd23 Remove SH3e sanitization. 1996-01-16 20:13:27 +00:00
Ian Lance Taylor
6ddc0baaf9 Fri Jan 12 14:35:58 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* alpha-opc.h (alpha_insn_set): VAX floating point opcode was
 	incorrectly defined as 0x16 when it should be 0x15.
	(FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits!
	(alpha_insn_set): added cvtst and cvttq float ops.  Also added
 	excb (exception barrier) which is defined in the Alpha
 	Architecture Handbook version 2.
	* alpha-dis.c (print_insn_alpha): Fixed special-case decoding for
 	OPERATE_FORMAT_CODE type instructions.  The bug caused mulq to be
 	disassembled as or, for example.
1996-01-12 19:37:58 +00:00
Ian Lance Taylor
fef0b65b71 * mips-dis.c (print_insn_arg): Print cases 'i' and 'u' in hex.
(_print_insn_mips): Change i from int to unsigned int.
1996-01-10 17:37:58 +00:00
Michael Meissner
3cf013f81b Fix tlb for PowerPC 1996-01-05 17:46:25 +00:00
Michael Meissner
1d935cf62c Add Pentium Pro support 1996-01-03 16:51:46 +00:00
Ian Lance Taylor
ab0ec5d046 * disassemble.c (disassembler): Use new bfd_big_endian macro. 1995-12-15 21:45:00 +00:00
Ian Lance Taylor
1d77631329 * Makefile.in (distclean): Remove stamp-h. From Ronald
F. Guilmette <rfg@monkeys.com>.
1995-12-12 17:23:11 +00:00
Stan Shebs
211eda6694 From David Mosberger-Tang <davidm@azstarnet.com>:
* alpha-dis.c (print_insn_alpha): fixed decoding of cpys
        instruction.
1995-12-05 21:55:18 +00:00
J.T. Conklin
60da007931 * sh-opc.h (sh_arg_type): Added A_SSR and A_SPC.
(sh_table): Added many SH3 opcodes.
* sh-dis.c (print_insn_shx): Added cases for A_SSR and A_SPC.
1995-12-04 20:32:44 +00:00
Michael Meissner
695b028f51 Fix subfc.,subfco,subco,subco. to be in the proper classifications 1995-12-01 12:40:39 +00:00
Ian Lance Taylor
bd22cd1e3f * configure: Rebuild with autoconf 2.7. 1995-11-27 18:11:02 +00:00
Ian Lance Taylor
00103dfa57 * configure: Rebuild with autoconf 2.6. 1995-11-21 23:28:45 +00:00
Ian Lance Taylor
6a46885044 * configure.in: Call AC_CHECK_PROG to find and cache AR.
* configure: Rebuilt.
1995-11-07 20:21:37 +00:00
Ian Lance Taylor
f98c336946 Mon Nov 6 17:39:47 1995 Harry Dolan <dolan@ssd.intel.com>
* configure.in: Add case for bfd_i860_arch.
	* configure: Rebuild.
1995-11-06 22:42:13 +00:00
Ian Lance Taylor
681447c6cf * m68k-opc.c (m68k_opcodes): Correct fmoveml operands.
* m68k-dis.c (NEXTSINGLE): Change i to unsigned int.
	(NEXTDOUBLE): Likewise.
	(print_insn_m68k): Don't match fmoveml if there is more than one
	register in the list.
	(print_insn_arg): Handle a place of '8' for a type of 'L'.
1995-11-03 17:56:30 +00:00
Ian Lance Taylor
dbf7e45f16 * m68k-opc.c: Use #W rather than #w.
* m68k-dis.c (print_insn_arg): Handle new 'W' place.
1995-11-03 04:07:21 +00:00
Ian Lance Taylor
681bbcf570 * m68k-opc.c (m68k_opcode_aliases): Add dbfw as an alias for dbf,
and likewise for all the dbxx opcodes.
1995-11-01 18:34:56 +00:00
Fred Fish
76ab264518 * arc-dis.c: Include elf-bfd.h rather than libelf.h. 1995-11-01 00:01:39 +00:00
Jackie Smith Cashion
a2bdba3135 mips-opc.c: Added shorthand (V1) for INSN_4100 manifest. Added the
VR4100 specific instructions to the mips_opcodes structure.
1995-10-23 11:14:17 +00:00
Michael Meissner
d75c2e0f5e Add flags for common/any support 1995-10-16 17:00:16 +00:00
Ken Raeburn
9e0b0ae7fa Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* m68k-dis.c (print_insn_m68k): Recognize all two-word instructions that take
no args by looking at the match mask.
(print_insn_arg): Always print "%" before register names.
[case 'c']: Use "nc" for the no-cache case, as recognized by gas.
[case '_']: Don't print "@#" before address.
[case 'J']: Use "%s" as format string, not register name.
[case 'B']: Treat place == 'C' like 'l' and 'L'.
1995-10-06 20:59:33 +00:00
Ken Raeburn
726257a8b8 * i386-dis.c: Describe cmpxchg8b operand, and spell the opcode name correctly. 1995-10-06 02:17:12 +00:00
Steve Chamberlain
e521d840f4 From David Mosberger-Tang <davidm@azstarnet.com>
* alpha-opc.h (MEMORY_FUNCTION_FORMAT_MASK): added.
  	(alpha_insn_set): added definitions for VAX floating point
 	instructions (Unix compilers don't generate these, but handcoded
 	assembly might still use them).

	* alpha-dis.c (print_insn_alpha): added support for disassembling
 	the miscellaneous instructions in the Alpha instruction set.
1995-10-03 15:35:55 +00:00
Ian Lance Taylor
1cd3bab3a0 * Makefile.in (maintainer-clean): New synonym for realclean. 1995-09-20 16:58:57 +00:00
Ian Lance Taylor
a4a879cde2 * m68k-opc.c: Split pmove patterns which use 'P' into patterns
which use '0', '1', and '2' instead.  Specify the proper size for
	a pmove immediate operand.  Correct the pmovefd patterns to be
	moves to a register, not from a register.
	* m68k-dis.c (print_insn_arg): Replace 'P' with '0', '1', '2'.
1995-09-19 19:31:25 +00:00
David Edelsohn
4814df240e * sparc-opc.c (sparc_opcodes): Mark all insns that reference
%psr, %wim, %tbr as F_NOTV9.
1995-09-14 19:00:40 +00:00
Ian Lance Taylor
824155e843 * Makefile.in (Makefile): Just rebuild Makefile when running
config.status.
	(config.h, stamp-h): New targets.
	* configure.in: Call AC_CONFIG_HEADER and AC_CANONICAL_SYSTEM
	earlier.  Don't bother to call AC_ARG_PROGRAM.  Touch stamp-h when
	rebuilding config.h.
	* configure: Rebuild.
1995-09-08 15:30:49 +00:00
Ian Lance Taylor
84c1534f02 * mips-opc.c: Change unaligned loads and stores with "t,A"
operands to use "t,A(b)".
PR 7947.
1995-09-08 05:08:38 +00:00
Ian Lance Taylor
40db611884 * Makefile.in (ALL_CFLAGS): Define.
(.c.o, disassemble.o): Use $(ALL_CFLAGS).
	(MOSTLYCLEAN): Add config.log.
	(distclean): Don't remove config.log.
	* configure.in: Substitute HDEFINES.
	* configure: Rebuild.
1995-09-07 01:23:22 +00:00
Jim Wilson
dd6ed5ab2d Fix gas bugs in SH3e handling of fmac instruction. 1995-09-06 22:12:14 +00:00
David Edelsohn
49cb62cd75 * sparc-dis.c: Remove all references to NO_V9. 1995-09-06 01:28:55 +00:00
Ian Lance Taylor
beb926c072 * aclocal.m4: Just include ../bfd/aclocal.m4.
* configure: Rebuild.
1995-09-06 00:03:55 +00:00
David Edelsohn
fdd7e4eff1 * sparc-dis.c (X_DISP19): Define.
(print_insn, case 'G'): Use it.
	(print_insn, case 'L'): Sign extend displacement.
1995-09-05 23:12:27 +00:00
Ian Lance Taylor
9b65d5229b * configure.in: Run ../bfd/configure.host before AC_PROG_CC.
Subsitute CFLAGS and AR.  Call AC_PROG_INSTALL.  Don't substitute
	host_makefile_frag or frags.
	* aclocal.m4: New file.
	* configure: Rebuild.
	* Makefile.in (INSTALL): Set to @INSTALL@.
	(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
	(INSTALL_DATA): Set to @INSTALL_DATA@.
	(AR): Set to @AR@.
	(AR_FLAGS): Set to rc rather than qc.
	(CC): Define as @CC@.
	(CFLAGS): Set to @CFLAGS@.
	(@host_makefile_frag@): Remove.
	(config.status): Remove dependency upon @frags@.
1995-09-04 21:13:22 +00:00
Ian Lance Taylor
c62d12746b * configure.in: ../bfd/config.bfd now just sets shell variables.
Use them rather than looking through target Makefile fragments.
	* configure: Rebuild.
1995-09-04 18:31:33 +00:00
Jim Wilson
db29ae72fc Fix bug in SH3e ftrc instruction. 1995-08-31 19:37:41 +00:00
David Edelsohn
90c45f319f * sparc-opc.c (sparc_opcodes): Delete duplicate wr %y insn.
Add clrx, iprefetch, signx, clruw, cas, casl, casx, casxl synthetic
	sparc64 insns.
1995-08-30 23:17:12 +00:00
David Edelsohn
a69d3a7286 sparc prefetch insn stuff. 1995-08-30 20:57:07 +00:00
Jim Wilson
9b39b1a8f7 Add some blank lines to improve readability. 1995-08-30 18:13:26 +00:00
Jim Wilson
66f6448d40 Correct comment on first line of file. 1995-08-30 18:10:51 +00:00
David Edelsohn
201bf50690 * disassemble.c (disassembler): Handle bfd_mach_sparc64. 1995-08-30 01:02:59 +00:00
David Edelsohn
7ec658304a * sparc-opc.c (asi): New static local.
(sparc_{encode,decode}_asi): New functions.
	* sparc-dis.c (print_insn): Call sparc_decode_asi.
1995-08-29 22:44:00 +00:00
Ian Lance Taylor
259d19c2be * m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
and likewise for the other branches.  Add bhs as an alias for bcc,
	and likewise for the size variants.  Add dbhs as an alias for
	dbcc.
1995-08-21 21:34:54 +00:00
Ian Lance Taylor
3d915dd29d * m68k-dis.c: (fpcr_names): Add % before all register names.
(reg_names): Likewise.
	(print_insn_arg): Don't explicitly print % before register names.
	Add % before register names in static array names.  In case 'r',
	print data registers as `@(Dn)', not `Dn@'.  When printing a
	memory address, don't print @# before it.
	(print_indexed): Change base_disp and outer_disp from int to
	bfd_vma.  Print using MIT syntax, not mutant invalid Motorola
	syntax.  Sign extend 8 byte displacement correctly.
	(print_base): Print using MIT syntax.  Print zpc when appropriate.
	Change parameter disp from int to bfd_vma.
1995-08-07 20:22:13 +00:00
Jeff Law
1ca31557f5 * sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
        * sh-opc.h (sh_arg_type): Add new operand types.
        (sh_table): Add new opcodes from SH3E Floating Point ISA.

sh3e stuff.  Sanitized out for now.
1995-08-07 08:39:42 +00:00
David Edelsohn
9a84bc052a Rewritten so table is only sorted/hashed once, even if switching
between sparc32/sparc64 in one executable.
1995-08-02 22:35:22 +00:00
David Edelsohn
f069afb4eb * sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
(opcode_bits, opcode_hash_table, sparc64_p): New variables.
	(opcodes_initialized): Renamed from opcodes_sorted.
	(build_hash_table): New function.
	(is_delayed_branch): Use hash table.
	(print_insn): Renamed from print_insn_sparc, made static.
	Build and use hash table.
	(print_insn_sparc, print_insn_sparc64): New functions.
	(compare_opcodes): If !sparc64, move sparc64 opcodes to end,
	and vice-versa if sparc64.
	* sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
1995-08-02 16:06:17 +00:00
Ian Lance Taylor
89abbf9d2c Tue Jul 11 14:23:37 1995 Jeff Spiegel <jeffs@lsil.com>
* mips-opc.c (L1): Define.
	(mips_opcodes): Add R4010 instructions: flushi, flushd, flushid,
	addciu, madd, maddu, ffc, ffs, msub, msubu, selsi, selsr, waiti,
	and wb.

Tue Jul 11 11:49:49 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mips-opc.c (mips_opcodes): For the move pseudo-op, prefer daddu
	if ISA 3 and addu otherwise, replacing or, since some MIPS chips
	have multiple add units but only a single logical unit.
1995-07-11 18:25:27 +00:00
Ian Lance Taylor
141b9f1bbe * ppc-opc.c (powerpc_operands): Change CR to use a bitsize of 3,
shifted by 18, without any insertion or extraction function.
	(insert_cr, extract_cr): Remove.
1995-07-11 15:52:03 +00:00
Stan Shebs
6efe6dc578 * mpw-config.in: Add sh and i386 configs, remove sparc config.
* sh-opc.h: Add copyright.
1995-06-16 00:45:31 +00:00
Steve Chamberlain
1ff71ed037 Wed May 24 14:16:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
* sh-opc.h: Added bsrf and braf.
1995-05-24 21:16:02 +00:00
Jason Molenda
8f96fa0e7d * sh-opc.c (sh_nibble_type, sh_arg_type): remove trailing , from
enum list.

some native cc's barf on this (and K&R says it's naughty)
1995-04-24 21:21:58 +00:00
Michael Meissner
4121273fa7 Fix April 17th change. 1995-04-19 18:14:20 +00:00
Ken Raeburn
6a37aaf186 * mips-dis.c (print_insn_little_mips): Cast return value from bfd_getl32 from
bfd_vma to unsigned long, because _print_insn_mips expects an unsigned long,
and that might be fewer words of argument storage (e.g., if bfd_vma is long
long on a 32-bit machine).
(print_insn_big_mips): Likewise with bfd_getb32 value.
(_print_insn_mips): Now static.
1995-04-18 16:24:09 +00:00
Stan Shebs
1e0956858e Merge MPW ChangeLog with generic ChangeLog 1995-04-10 22:59:03 +00:00
David Edelsohn
1a56be5c4f * arc-dis.c (print_insn): New parameter `big_p'. Callers updated.
Call arc_get_opcode_mach to map bfd mach number to opcode value.
	(print_insn_*): Pass bfd mach number, not opcode version.
	* arc-opc.c (arc_get_opcode_mach): New function.
1995-04-07 03:54:08 +00:00
Ken Raeburn
c024cc1110 Changes from Klaus Kaempf:
* alpha-opc.h (OSF_ASMCODE): define print pal-code names as defined in App C of
the Alpha Architecture Reference Manual

* alpha-dis.c: cleaned up output print stylized code forms as defined in App
A.4.3 of the Alpha Architecture Reference Manual
1995-03-14 07:17:20 +00:00
David Edelsohn
8dbed89e06 arc-dis.c (print_insn): Put "+ 4" of relative addresses back. Oops. 1995-03-12 13:21:07 +00:00
Ken Raeburn
8cf2e6ebbc * m68k-dis.c (BREAK_UP_BIG_DECL): Make secondary array static and const.
(reg_names): Now const.
(print_insn_arg): Arrays cacheFieldName and names now const.
(print_indexed): Array scales now const.
1995-03-08 08:23:24 +00:00
Ken Raeburn
029e2524db Avoid bogus assumption that the two parts of the split m68k opcode table
are going to be adjacent in memory.
1995-03-08 07:57:05 +00:00
David Edelsohn
3aa44a1d92 * arc-dis.c (print_insn_arc_base): Split into big and little fns.
(print_insn_arc_{host,graphics,audio}): Likewise.
	(print_insn): Add prototype.
	Delete "+ 4" addition to relative branch address.
	(arc_get_disassembler): New arg `big_p'.  Return little or big
	print fn accordingly.
	* arc-opc.c (arc_opcode_init_tables): Init arc_operand_map once.
	(arc_opcode_supported): Use ARC_OPCODE_CPU to ignore byte order.
	(arc_opval_supported): Likewise.
	* disassemble.c (disassembler): Pass big endian flag to
	arc_get_disassembler.
1995-03-08 05:19:46 +00:00
Ian Lance Taylor
ab204453e6 * ppc-opc.c: Sort recently added instructions by minor opcode
number within major opcode number.
1995-03-07 21:48:27 +00:00
Jeff Law
3f073f06cd * hppa-dis.c: Include libhppa.h. 1995-03-06 17:05:20 +00:00
Peter Schauer
f1cb5ff2b4 * Makefile.in (ALL_MACHINES): Add w65-dis.o. 1995-02-21 07:56:45 +00:00
David Edelsohn
07f27bb80c * arc-dis.c (arc_get_disassembler): Change argument to int,
one of bfd_mach_arc_xxx.  All callers updated.
1995-02-17 20:44:32 +00:00
Ian Lance Taylor
f27ab33041 * mips-opc.c: Add r4650 mul instruction. 1995-02-16 22:35:36 +00:00
Ian Lance Taylor
470feacfab * mips-opc.c: Add uld and usd macros for unaligned double load and
store.
1995-02-15 20:47:31 +00:00
David Edelsohn
c81a2ce3bf (arc_get_disassembler): Renamed from arc_disassembler. 1995-02-10 03:55:34 +00:00
David Edelsohn
9f05921fb7 * disassemble.c (disassembler, case bfd_arch_arc): Call
arc_disassembler to get disassembler routine.
1995-02-10 03:42:43 +00:00
David Edelsohn
6acc9345e1 Lotsa arc stuff. 1995-02-10 03:38:14 +00:00
Stan Shebs
7010c43a6e * i960-dis.c (struct tabent, struct sparse_tabent): Change the
signed char fields to shorts, more portable.
1995-02-09 22:46:54 +00:00
Stan Shebs
ce2349c52d * i960-dis.c (struct tabent, struct sparse_tabent): Declare the
char fields as signed chars, since they may have negative values.

Fixes PR 6290.
1995-02-09 01:32:35 +00:00
J.T. Conklin
9ce4de1912 * i386-dis.c (dis386_twobyte): Add cpuid, From Charles Hannum
(mycroft@netbsd.org).
1995-02-06 18:56:53 +00:00
Ian Lance Taylor
1af6f4bb6f tipo 1995-01-30 04:23:50 +00:00
Ian Lance Taylor
669124ef4f * ppc-opc.c: Changes based on patch from David Edelsohn
<edelsohn@npac.syr.edu>.
	(powerpc_operands): Add operands SPRBAT and SPRG. Split TBR out of
	SPR.
	(FXM_MASK): Define.
	(insert_tbr): New static function.
	(extract_tbr): New static function.
	(XFXFXM_MASK, XFXM): Define.
	(XSPRBAT_MASK, XSPRG_MASK): Define.
	(powerpc_opcodes): Add instructions to access special registers by
	name.  Add mtcr and mftbu.
1995-01-26 23:35:32 +00:00
Steve Chamberlain
9f744f9110 * configure.in: Add W65 support.
* disassemble.c: Likewise.
	* w65-opc.h, w65-dis.c: New files.
1995-01-16 00:35:55 +00:00
Steve Chamberlain
d383e289df * h8300-dis.c (bfd_h8_disassemble): Add support for 2 bit
immediates.
1994-12-29 06:16:23 +00:00
Ian Lance Taylor
27faaa41e6 * mips-opc.c: Add dli as a synonym for li. 1994-12-20 16:27:45 +00:00
David Edelsohn
edb35c135b * arc-opc.c (insertion fns): Pass pointer to value's table entry.
All uses changed.
	(extraction fns): Insn argument now array of two words.  Return pointer
	to value's table entry.  All uses changed.
	(arc_opcode_lookup_suffix): Exported for arc-dis.c.
	(insert_multshift, extract_multshift): New fns.
	(arc_operands): Add support for cache bypass suffix.  Add support for
	predefined aux regs.  Modifier bits moved to flags field.
	(arc_opcodes): Likewise.
	Add mul/mulu/shift insns.  Syntax of zero/sign extension insns changed.
	New insn rlc.  Update to syntax in programmer's manual.
	(arc_reg_names): Fix typo in lp_count.  Add predefined aux regs.
	(arc_suffixes): New synonyms lo,hs for cs,cc.  New suffix for cache
	bypass.
	(arc_opcode_init_tables): New argument to indicate cpu type.
	(insert_reg): Handle predefined aux regs.
	(extract_reg): Likewise.
	(lookup_register): New fn.
	* arc-dis.c (arc_condition_codes): Deleted.
	(print_insn_arc): Handle insns with 32 bit immediate constants better.
	Clean up modifier handling.  Handle predefined aux regs.
1994-12-19 20:55:13 +00:00
Ken Raeburn
a8732972ae alpha, mips, m68k fixes 1994-12-08 23:28:05 +00:00
Steve Chamberlain
a90a64c168 * sh-opc.h (mov.l gbr): Get direction right.
* sh-dis.c (print_insn_shx): New function.
	(print_insn_shl, print_insn_sh): Call print_insn_shx to
	print opcodes with right byte order.
1994-11-24 06:36:28 +00:00
Ian Lance Taylor
dded3d1406 * hppa-dis.c (print_insn_hppa): Read the instruction using
bfd_getb32, so that it works on a little endian or 64 bit host.
	Remove unused local variable op.
1994-11-01 00:02:52 +00:00
Ian Lance Taylor
cd4b8926ce * mips-opc.c: Use or instead of addu for pseudo-op move, since
addu does not work correctly if -mips3.
PR 5832.
1994-10-25 21:09:08 +00:00
Ian Lance Taylor
009946c974 * a29k-dis.c (print_special): Add special register names defined
on 29030, 29040 and 29050.
	(print_insn): Handle new operand type 'I'.
1994-10-19 17:41:18 +00:00
Ian Lance Taylor
995b0d3ff3 * configure.in: Use ${config_shell} when running config.bfd. 1994-10-04 16:18:19 +00:00
Ian Lance Taylor
e96a2b1d46 * a29k-dis.c (print_insn): Print the opcode.
PR 4779.
1994-09-15 20:46:46 +00:00
Ian Lance Taylor
8490907307 * mips-opc.c (mips_opcodes): Set WR_t for sc and scd.
PR 5632
1994-09-14 21:53:14 +00:00
Jeff Law
da233e6ed3 * hppa-dis.c (reg_names): Use r26-r23 for arg0-arg3. 1994-09-12 04:33:24 +00:00
Ian Lance Taylor
942a4965b7 * mips-opc.c: Set INSN_STORE_MEMORY flag for all instructions
which store a value into memory.
PR 5433.
1994-09-06 15:42:11 +00:00
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ken Raeburn
c4396c87e9 * sparc-dis.c (print_insn_sparc): Handle new operand type 'x'.
* sparc-opc.c: Added sparclite extended FP operations, and versions of v9
impdep* instructions permitting specification of the OPF field.
1994-07-28 23:46:19 +00:00
Ken Raeburn
2a097d73b7 i960xl changes (sanitized); keep ns32k-dis.c 1994-07-26 23:13:34 +00:00
Ken Raeburn
f61ca5fae4 fix from dj delorie for disassembler config in djgpp 1994-07-20 16:34:25 +00:00
Ken Raeburn
60a70a7b0e ns32k-dis.c (invalid_float): Changed to take char* argument, and test for
explicitly specified sizes, instead of using sizeof() on host CPU types.
(INVALID_FLOAT): Cast first argument.
1994-07-13 22:38:03 +00:00
Ken Raeburn
69bb683c6d Wed Jul 13 18:01:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* ns32k-dis.c: Deleted all code in "#ifdef GDB".
	(invalid_float): Enabled general version, doesn't require running
	on ns32k host.

Sun Jul 10 00:27:47 1994  Ian Dall  (dall@hfrd.dsto.gov.au)

	* opcodes/ns32k-dis.c: Semi-new file.  Had apparently been dropped
	from distribution. A ns32k-dis.c from a previous distribution has
	been brought up to date and supports the new interface.

	* disaaemble.c: define ARCH_ns32k and add case bfd_arch_ns32k.

	* configure.in: add bfd_ns32k_arch target support.

	* Makefile.in: add ns32k-dis.o to ALL_MACHINES.
	Add ns32k-dis.c to CFILES. Add dependencies for ns32k-dis.o.
1994-07-13 22:05:52 +00:00
Stan Shebs
fea3fe6407 * h8300-dis.c, mips-dis.c: Don't use true and false. 1994-06-28 20:27:02 +00:00
Ian Lance Taylor
72fcd790ad * mips-dis.c (_print_insn_mips): Build a static hash table mapping
opcodes to the first instruction with that opcode, to speed
	disassembly of large files.  From ralphc@pyramid.com (Ralph
	Campbell).
1994-06-22 17:41:05 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ken Raeburn
7495f83bd4 * m68k-dis.c (print_insn_m68k): If F_ALIAS flag is set, skip the opcode being
examined.
1994-04-28 22:59:09 +00:00
Ian Lance Taylor
8c546dedc3 * ppc-opc.c (powerpc_opcodes): Correct fcir. From David Edelsohn
(edelsohn@npac.syr.edu).
1994-04-17 03:43:18 +00:00
Ian Lance Taylor
76336d506d * mips-opc.c (mips_opcodes): Correct operands of "nor" with an
immediate argument.
1994-04-06 21:12:40 +00:00
David Edelsohn
8055d512fb * sparc-opc.c (sparc_opcodes): Fix "rd %fprs,%l0". 1994-04-04 23:37:46 +00:00
Ian Lance Taylor
749a663dba * ppc-opc.c (powerpc_operands): The signedp field has been
removed, so don't initialize it.  Set the PPC_OPERAND_SIGNED flag
	instead.  Add new operand SISIGNOPT.
	(powerpc_opcodes): For lis, liu, addis, and cau use SISIGNOPT.
	Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
	* ppc-dis.c (print_insn_powerpc): Check PPC_OPERAND_SIGNED rather
	than signedp field.
1994-04-04 17:32:02 +00:00
Peter Schauer
878db64d3f * i386-dis.c (struct private): Renamed to dis_private. `private'
is a reserved word for dynix cc.
1994-03-30 09:17:49 +00:00
Ian Lance Taylor
934ec70a4e * configure.in: Change error message to refer to bfd/config.bfd
rather than bfd/configure.in.
1994-03-28 18:05:12 +00:00
Ian Lance Taylor
541924955f Mon Mar 28 12:28:30 1994 David Edelsohn (edelsohn@npac.syr.edu)
* ppc-opc.c: Define POWER2 as short alias flag.
	(powerpc_opcodes): Add POWER/2 opcodes lfq*, stfq*, fcir[z], and
	fsqrt.
1994-03-28 17:30:29 +00:00
Ian Lance Taylor
c0386c7a9f * m68881-ext.c: Removed; no longer used.
* Makefile.in: Changed accordingly.
1994-03-14 20:23:05 +00:00
Ian Lance Taylor
448ff99268 * m68k-dis.c (ext_format_68881): Don't declare.
(print_insn_m68k): If an instruction uses place 'i', it uses at
	least four fixed bytes.
	(print_insn_arg): Don't bump p by 2 for case 'I', place 'i'.  For
	extended float, convert to double using floatformat_to_double, not
	ieee_extended_to_double, and fetch the data before converting it.
1994-03-14 20:00:34 +00:00
Ian Lance Taylor
d75eb68cf2 * mips-opc.c: It's sqrt.s, not sqrt.w. From
davidj@ICSI.Berkeley.EDU (David Johnson).
1994-03-08 23:13:30 +00:00
Ian Lance Taylor
9a458b67a4 Set Emacs local variables to never use version control. 1994-03-08 18:41:54 +00:00
Peter Schauer
4dd4933e7c Change inclusion of <string.h> to sysdep.h. 1994-02-08 19:01:45 +00:00
Peter Schauer
5c9b5f58f3 * dis-buf.c, i386-dis.c: Include <string.h>. 1994-02-08 09:12:06 +00:00
Jim Kingdon
9f80c72bb1 * i960-dis.c (reg, mem): Just use a static array instead of
calling xmalloc.
1994-02-06 15:49:03 +00:00
Jeff Law
0bb364c6b3 * hppa-dis.c (print_insn_hppa): For '?' and '@' only adjust the
condition name index if this is for a negated condition.
1994-02-05 19:15:20 +00:00
Jeff Law
e59f322778 * hppa-dis.c (print_insn_hppa): No space before 'H' operand.
Floating point format for 'H' operand is backwards from normal
        case (0 == double, 1 == single).  For '4', '6', '7', '9', and '8'
        operands (fmpyadd and fmpysub), handle bizarre register translation
        correctly for single precision format.
1994-02-05 18:18:49 +00:00
Jeff Law
e3960b9610 * hppa-dis.c (print_insn_hppa): Do not emit a space after 'F'
or 'I' operands if the next format specifier is 'M' (fcmp
        condition completer).
1994-02-05 08:04:45 +00:00
Ian Lance Taylor
1c214e4ceb * ppc-opc.c (powerpc_operands): New operand type MBE to handle a
single number giving a bitmask for the MB and ME fields of an M
	form instruction.  Change NB to accept 32, and turn it into 0;
	also turn 0 into 32 when disassembling.  Seperated SH from NB.
	(insert_mbe, extract_mbe): New functions.
	(insert_nb, extract_nb): New functions.
	(SC_MASK): Mask out SA and LK bits.
	(powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
	RA, SI.  Change "liu" and "cau" to use UI rather than SI.  Mark
	"bctr" and "bctrl" as accepted by POWER.  Change "rlwimi",
	"rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
	"rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
	use MBE rather than MB.  Add "mfmq" and "mtmq" POWER instructions.
	(powerpc_macros): Define table of macro definitions.
	(powerpc_num_macros): Define.
1994-02-05 04:46:34 +00:00
Ian Lance Taylor
1211751d0b * ppc-opc.c: New file. Opcode table for PowerPC, including
opcodes for POWER (RS/6000).
	* ppc-dis.c: New file.  PowerPC and Power (RS/6000) disassembler.
	* Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
	(CFILES): Add ppc-dis.c.
	(ppc-dis.o, ppc-opc.o): New targets.
	* configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
1994-01-22 00:04:49 +00:00
Jeff Law
f037e5b0a4 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
No space before 'u', 'f', or 'N'.
1994-01-18 04:06:52 +00:00
Jim Kingdon
4baf1a8c9e * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
farther than we should.
1994-01-17 00:47:38 +00:00
Jim Kingdon
a279b1f5ff * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS. 1994-01-17 00:38:56 +00:00
Peter Schauer
ba936a2ef5 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
	FLOAT_FORMAT_CODE to put out floating point register names.
1993-11-08 07:53:45 +00:00
Jim Kingdon
de807a9b6a Remove v9-specific entry 1993-11-01 20:08:35 +00:00
Jim Kingdon
bf04fba0f3 Add missing entry for change by Ian 1993-10-31 19:51:54 +00:00
Ian Lance Taylor
70643dbc13 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
larger than 32.  Moved dsxx32 variants first for disassembler.
1993-10-27 15:52:00 +00:00
Steve Chamberlain
07bf1ce5b2 Add full lda information 1993-10-25 18:34:00 +00:00
Peter Schauer
bb959d0ab9 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
* alpha-dis.c (print_insn_alpha):  Add code for PAL_FORMAT_CODE.
1993-10-08 09:43:36 +00:00
Ian Lance Taylor
9978cd4dc9 * mips-opc.c: Correct lwu opcode value (book had it wrong). 1993-10-05 21:49:04 +00:00
K. Richard Pixley
cb79d01dcf * m88k-dis.c (m88kdis): comment change. Remove space after
printing mnemonic.
	  (printop): handle new arg types DEC and XREG for m88110.
1993-09-29 23:26:42 +00:00
Jim Kingdon
a0ad6c0f18 Tue Sep 28 19:20:16 1993 Jeffrey A Law (law@snake.cs.utah.edu)
* hppa-dis.c (print_insn_hppa): Handle 'z' operand
	type for absolute branch addresses.  Delete special
	"ble" and "be" code in 'W' operand code.
1993-09-29 00:25:04 +00:00
Ian Lance Taylor
44647fcc26 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
to BFD swapping routines to correspond to BFD name changes.
1993-09-07 18:27:18 +00:00
Ian Lance Taylor
547998d2c8 * mips-opc.c: Change div machine instruction to be z,s,t rather
than s,t.  Change div macro to be d,v,t rather than d,s,t.
	Likewise for divu, ddiv, ddivu.  Added z,s,t case for drem, dremu,
	rem and remu which generates only the corresponding div
	instruction.  This is for compatibility with the MIPS assembler,
	which only generates the simple machine instruction when an
	explicit destination of $0 is used.
	* mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
1993-09-02 17:14:10 +00:00
Ian Lance Taylor
a9c686adf5 * mips-opc.c: Move div machine instruction after macro forms.
Change d,s,t form to d,v,t.  Likewise for divu, ddiv and ddivu.
	This is for compatibility with the MIPS assembler, which only
	generates the simple machine instruction when an explicit
	destination of $0 is used.
1993-09-02 14:42:31 +00:00
Ian Lance Taylor
a5ba0d3f48 * mips-opc.c: From davidj@ICSI.Berkeley.EDU (David Johnson): Set
WR_31 hazard for bal, bgezal, bltzal.
1993-08-27 14:55:22 +00:00
Ian Lance Taylor
320cdccfb1 * mips-opc.c ("absu"): Removed.
("dabs"): Added.
1993-08-23 17:02:50 +00:00
Ian Lance Taylor
2bef2d3e57 * mips-opc.c: Added r6000 and r4000 instructions and macros.
Changed hazard information to distinguish between memory load
	delays and coprocessor load delays.
1993-08-20 15:40:51 +00:00
Ian Lance Taylor
45b1470513 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s. 1993-08-18 19:40:37 +00:00
David MacKenzie
ed2fe80fb5 don't pass cpu to config.bfd 1993-08-17 16:45:41 +00:00
Ian Lance Taylor
e9a3035799 * m88k-dis.c (m88kdis): Make class unsigned. 1993-08-17 16:24:38 +00:00
Ian Lance Taylor
786e4f1a5f * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
for swc1.
1993-08-12 16:07:37 +00:00
Ian Lance Taylor
11a0aaa785 * mips-opc.c: From davidj@ICSI.Berkeley.EDU (David Johnson): Took
coprocessor instructions out of #if 0, and made them use new
	argument type "C".
1993-08-06 15:20:49 +00:00
Jim Kingdon
071689e1ad * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h. 1993-08-05 22:16:40 +00:00
Jim Kingdon
4d135f1c5a * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
* hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
1993-07-21 18:44:40 +00:00
Jim Kingdon
b2ad2e6473 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'. 1993-07-20 00:22:35 +00:00
Jim Kingdon
981b3a2794 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
don't output a space.
1993-07-19 21:39:36 +00:00
Jim Kingdon
17068960cb * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad. 1993-07-19 20:54:04 +00:00
Jim Kingdon
32d2052a0d * mips-opc.c: New file, containing opcode table from
../include/opcode/mips.h.
	* Makefile.in: Add it.
1993-07-19 02:25:39 +00:00
Ian Lance Taylor
a4c0129924 * m88k-dis.c: New file, moved in from gdb and changed to use the
new dis-asm.h disassembler interface.
	* Makefile.in (DIS_LIBS): Added m88k-dis.o.
	(m88k-dis.o): New target.
1993-07-15 16:40:49 +00:00
Ian Lance Taylor
37609724c6 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
argument string const char * to correspond to opcode/mips.h.
1993-07-13 17:06:07 +00:00
Ian Lance Taylor
fde326fbc9 * mips-dis.c: Updated to account for name changes in new version
of opcode/mips.h.
	* Makefile.in: Added header file dependencies.
1993-07-07 17:37:11 +00:00
David Edelsohn
a5b5f81d79 (bfd_h8_disassemble): Correct fetching of instruction. 1993-07-04 06:49:43 +00:00
Per Bothner
5b6c633678 * m68k-dis.c (print_insn_arg): Change return value to byte count
or error code.
	* m68k-dis.c:  Re-write to detect invalid operands before
	printing anything, so we can handle this the same way we
	handle invalid opcodes.
1993-06-18 21:18:53 +00:00
Steve Chamberlain
219cf23283 Understand more opcodes. 1993-06-17 22:02:49 +00:00
Ian Lance Taylor
91ea6ab0b1 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
header files.
1993-06-16 20:49:36 +00:00
Ken Raeburn
0a3c15c302 sparc-dis, configure/Makefile changes 1993-06-16 02:05:13 +00:00
Stu Grossman
5aef7c67a3 Changes from Jeff Law, law@cs.utah.edu:
* hppa-dis.c: Fix typo.  'a' and 'd' were reversed.
	Do not print a space before the completers specified by
	'a' and 'd'.
1993-06-15 20:37:37 +00:00
Ken Raeburn
998f2ef343 mips-dis.c needn't choke on HOST_64_BIT 1993-06-11 23:39:25 +00:00
Ken Raeburn
112087edcc Lots of changes from Jeff Law for HPPA support:
Clean up cruft in opcode table; improve opcodes library disassembler; make
gdb use opcodes library disassembler.
1993-06-11 23:20:54 +00:00
Jim Kingdon
e6fb7139ee * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes. 1993-06-11 16:23:55 +00:00
Per Bothner
e0a8bcfb54 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
* configure.in:  No longer need to configure to get sysdep.h.
1993-06-07 19:59:50 +00:00
Ken Raeburn
d698222b58 note a hppa-dis.c change i forgot to list before 1993-05-14 12:10:41 +00:00
Ken Raeburn
cfa8d0617d add hppa disassembly code 1993-05-14 11:41:02 +00:00
John Gilmore
d802b9481b Make "ta" the default trap instruction, "t" the alias. 1993-04-06 00:38:25 +00:00
Jim Kingdon
720b3aed42 New print_address for disassemblers, merge a29k and i960 disassemblers 1993-04-02 00:18:47 +00:00
Jim Kingdon
f7ed13c7d5 merge binutils and gdb sparc disassemblers 1993-04-01 16:56:06 +00:00
K. Richard Pixley
05545edc03 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
deliberately return non-zero to setjmp from longjmp.  Otherwise
  this code fails to compile.
1993-04-01 04:52:59 +00:00
Stu Grossman
cbe61cc651 * m68k-dis.c: Fix prototype for fetch_arg(). 1993-04-01 01:05:39 +00:00
Jim Kingdon
5d0734a7d7 provide a new interface (using read_memory_func) to call the disassemblers
which copes with errors in a plausible way
1993-03-31 21:43:25 +00:00
John Gilmore
2cb563e6f4 Update for h8500-dis.c. (Avoid Sun Make vpath bug) 1993-03-23 02:55:56 +00:00
Steve Chamberlain
337110eab7 New file 1993-03-19 22:39:35 +00:00
Per Bothner
c840244e23 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
../include/dis-asm.h.
	* m68k-dis.c:  New file (merge of ../binutils/m68k-pinsn.c
	and ../gdb/m68k-pinsn.c).
	* i386-dis.c:  New file (merge of ../binutils/i386-pinsn.c
	and ../gdb/i386-pinsn.c).
	* m68881-ext.c:  New file.  Moved definition of
	ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
	* Makefile.in:  Adjust for new files.
	* i386-dis.c:  Patches from John Hassey (hassey@dg-rtp.dg.com).
	* m68k-dis.c:  Recognize '9' placement code, so (say) pflush
	can be dis-assembled.
1993-03-19 00:11:02 +00:00
David D. Zuhn
d5dcef6346 use canonical triple 1992-10-02 07:13:29 +00:00
Mike Werner
0843ea632e Fix bug where all the opcodes were one off 1992-09-30 23:11:04 +00:00
Steve Chamberlain
b31a1f8114 added copyright notice 1992-09-30 14:42:53 +00:00
Steve Chamberlain
447bbbea3a * z8k-dis.c (unparse_instr): prettier tabs
* z8kgen.c -> z8k-opc.h: bug fixes in tables
1992-09-29 19:21:34 +00:00
Stu Grossman
57cae454d4 * configure.in: Add ncr* configuration.
* z8k-dis.c (struct instr_data_s):  Make instr_asmsrc char to make
picayune ANSI compilers happy.
1992-09-25 19:54:06 +00:00
Ken Raeburn
3a15790239 fix typo in install rule 1992-09-18 21:02:18 +00:00
John Gilmore
68ca323803 * Makefile.in (make): Remove obsolete crud.
(sparc-opc.o):  Avoid Sun Make VPATH bug.
1992-09-18 09:05:54 +00:00
K. Richard Pixley
e5bc6aaf85 remove subdir_do and references 1992-09-09 00:30:25 +00:00
Ken Raeburn
794a16b09d Makefile.in bug fixes and sparc-opc.c addition 1992-09-08 21:12:26 +00:00
Steve Chamberlain
add1fb05e5 * z8k-dis.c: knows how to disassemble z8k stuff 1992-08-31 21:54:31 +00:00
Steve Chamberlain
a4ccc31032 * z8k-opc.h: new file full of z8000 opcodes 1992-08-31 20:48:44 +00:00