Commit Graph

164 Commits

Author SHA1 Message Date
Richard Henderson
0228082a3c * ia64-dis.c (print_insn_ia64): Get byte skip count correct
for MLI templates.  Handle IA64_OPND_TGT64.
2000-08-07 21:44:26 +00:00
Denis Chertykov
463f102c0a * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
Change return type from void to int.  Check the combination
	of operands, return 1 if valid.  Fix to avoid BUF overflow.
	Report undefined combinations of operands in COMMENT.
	Report internal errors to stderr.  Output the adiw/sbiw
	constant operand in both decimal and hex.
	(print_insn_avr): Disassemble ldd/std with displacement of 0
	as ld/st.  Check avr_operand () return value, handle invalid
	combinations of operands like unknown opcodes.
2000-08-06 14:12:36 +00:00
Ben Elliston
f6e6b40ff5 2000-08-04 Ben Elliston <bje@redhat.com>
* cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
	* cgen.sh: Likewise.
2000-08-04 02:21:43 +00:00
Jim Wilson
3d56ab850c Fix memory leaks for IA-64 opcode idescs.
gas/
	* config/tc-ia64.c (emit_one_bundle): Call ia64_free_opcode
	before ia64_find_opcode.
	(md_assemble): Likewise.
opcodes/
	* ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
2000-08-02 21:24:54 +00:00
Nick Clifton
dc62a253bc Minor formatting fixes 2000-07-31 18:50:56 +00:00
Ben Elliston
6e31aea3cd 2000-07-28 Ben Elliston <bje@redhat.com>
* Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
	(run-cgen, stamp-m32r, stamp-fr30): New targets.
	* Makefile.in: Regenerate.
	* configure.in: Add --enable-cgen-maint option.
	* configure: Regenerate.
2000-07-29 00:33:34 +00:00
Jason Eckhardt
cdac37f615 2000-07-22 Jason Eckhardt <jle@cygnus.com>
* i860-dis.c: New file.
	(print_insn_i860): New function.
	(print_br_address): New function.
	(sign_extend): New function.
	(BITWISE_OP): New macro.
	(I860_REG_PREFIX): New macro.
	(grnames, frnames, crnames): New structures.

	* disassemble.c (ARCH_i860): Define.
	(disassembler): Add check for bfd_arch_i860 to set disassemble
	function to print_insn_i860.

	* Makefile.in (CFILES): Added i860-dis.c.
	(ALL_MACHINES): Added i860-dis.lo.
	(i860-dis.lo): New dependences.

	* configure.in: New bits for bfd_i860_arch.

	* configure: Regenerated.
2000-07-28 21:17:40 +00:00
Dave Brolley
510925d36e 2000-07-26 Dave Brolley <brolley@redhat.com>
* cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
	(cgen_hw_lookup_by_num): Ditto.
	(cgen_operand_lookup_by_name): Ditto.
	(print_address): Ditto.
	(print_keyword): Ditto.
	* cgen-dis.c (hash_insn_array): Mark unused parameters with
	ATTRIBUTE_UNUSED.
	* cgen-asm.c (hash_insn_array): Mark unused parameters with
	ATTRIBUTE_UNUSED.
	(cgen_parse_keyword): Ditto.
2000-07-26 22:45:49 +00:00
Hans-Peter Nilsson
6c95a37f64 * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
(ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
	(cris-dis.lo, cris-opc.lo): New rules.
	* Makefile.in: Rebuild.
	* configure.in (bfd_cris_arch): New target.
	* configure: Rebuild.
	* disassemble.c (ARCH_cris): Define.
	(disassembler): Support ARCH_cris.
	* cris-dis.c, cris-opc.c: New files.
	* po/POTFILES.in, po/opcodes.pot: Regenerate.
2000-07-20 16:46:28 +00:00
Jakub Jelinek
09ab35c7f5 * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
Reported by Bill Clarke <llib@computer.org>.
2000-07-11 18:44:12 +00:00
Alan Modra
9082179098 Fix a date. 2000-07-10 18:07:44 +00:00
Geoffrey Keating
1da5001cc9 * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
2000-07-09 20:28:51 +00:00
Alan Modra
6e09abd4bd Add some prototypes, and fix a few warnings. 2000-07-09 07:29:39 +00:00
DJ Delorie
302ab118e1 add MAINTAINERS files 2000-07-05 19:28:06 +00:00
Alexandre Oliva
6eeeb4b407 * arm-dis.c (print_insn_arm): Output combinations of PSR flags. 2000-07-04 05:47:22 +00:00
Nick Clifton
00d2865b83 Tidy up formatting.
Add  -mall-opcodes, -mno-skip-bug, -mno-wrap.
2000-07-03 22:25:33 +00:00
Nick Clifton
c07ab2ec0c Fix formatting. 2000-07-03 21:52:37 +00:00
Alan Modra
0bdaf48bac Fix 2000-06-22. grep after running dep.sed 2000-07-01 01:41:09 +00:00
Nick Clifton
9b443040f8 Add entry omited when Stephane Carrez's h68hc11 code was chaecked in. 2000-06-30 22:15:12 +00:00
Scott Bambrough
7c03c75e90 2000-06-26 Scott Bambrough <scottb@netwinder.org>
* arm-dis.c (regnames): Add an additional register set to match
	the set used by GCC.  Make it the default.
2000-06-26 16:50:29 +00:00
Alan Modra
1581f8c9fe Ensure /usr/include and the like stay out of dependencies. 2000-06-22 13:01:43 +00:00
H.J. Lu
bbeb2e037c 2000-06-20 H.J. Lu <hjl@gnu.org>
* Makefile.am: Rebuild dependency.
	* Makefile.in: Rebuild.
2000-06-20 20:41:02 +00:00
Nicholas Duffek
39c20e8f1e * disassemble.c (disassembler): Refer to the PowerPC 620 using
bfd_mach_ppc_620 instead of 620.
2000-06-16 20:46:47 +00:00
Alan Modra
79540e2676 Fix typo. 2000-06-16 07:42:12 +00:00
Jeff Law
53d388d148 * h8300-dis.c: Fix formatting.
(bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
        correctly.
2000-06-12 22:23:25 +00:00
Denis Chertykov
8776c5fece * avr-dis.c (avr_operand): Bugfix for jmp/call address. 2000-06-09 17:58:33 +00:00
Denis Chertykov
bab84c47ec * avr-dis.c: completely rewritten. 2000-06-07 17:45:44 +00:00
Nick Clifton
5fec0fc5d1 Fix formatting 2000-06-02 18:09:28 +00:00
Nick Clifton
3903e627f3 Applied patch from Kazu Hirata <kazu@hxi.com> to fix disassembly of inc.l
and dec.l instructions
2000-06-01 18:19:59 +00:00
Nick Clifton
c0ae4cccdd Add comment describoing why dgettext() is used in _() macro. 2000-05-31 18:32:07 +00:00
Nick Clifton
c1485d85e0 Replace defines with those from intl/libgettext.h to quieten gcc warnings. 2000-05-30 18:35:35 +00:00
Alan Modra
2114f57b93 Update dependencies. 2000-05-26 14:14:21 +00:00
Alexandre Oliva
d60622826d * m10300-dis.c (disassemble): Don't assume 32-bit longs when
sign-extending operands.
2000-05-26 01:54:33 +00:00
Donald Lindsay
344fc69a7b Add ALONE flag to most of the short branch instructions. 2000-05-25 22:21:38 +00:00
Diego Novillo
fb48caede3 * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
(STD_REGISTER_NAMES): New name for REGISTER_NAMES.
	(reg_names): Rename to std_reg_names. Change it to a char **
	static variable.
	(std_reg_names): New name for reg_names.
	(set_mips_isa_type): Set reg_names to point to std_reg_names by
	default.
2000-05-24 15:24:56 +00:00
Nick Clifton
6c298591a3 Define LIBIBERTY 2000-05-21 17:01:02 +00:00
Frank Ch. Eigler
f660ee8b2e * cgen/opcodes fix
* approved by nickc

[opcodes/ChangeLog]
2000-05-16  Frank Ch. Eigler  <fche@redhat.com>

	* fr30-desc.h: Partially regenerated to account for changed
	CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
	* m32r-desc.h: Ditto.

[include/opcode/ChangeLog]
2000-05-16  Frank Ch. Eigler  <fche@redhat.com>

	* cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32.  Check that
	it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
	(CGEN_MAX_IFMT_OPERANDS): Increase to 16.  Check that it exceeds
	CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
2000-05-16 19:28:07 +00:00
Nick Clifton
322f2c4579 Add support for _x and _s flags to MSR instruction 2000-05-15 19:25:22 +00:00
Nick Clifton
60fc8cba61 Fix disassembly of DLRS{H|B} instruction 2000-05-12 17:15:21 +00:00
Alan Modra
73da6b6b40 Don't mask top 32 bits of 64-bit address. 2000-05-11 07:10:19 +00:00
Geoffrey Keating
d2f75a6f40 * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
also available in common mode when powerpc syntax is being used.
2000-05-10 19:42:25 +00:00
Alan Modra
821011cc5b Kill compiler warnings with ATTRIBUTE_UNUSED. 2000-05-08 07:22:54 +00:00
Timothy Wall
5c84d377b6 Support for tic54x target. 2000-05-06 17:14:34 +00:00
J.T. Conklin
786e2c0f62 * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
vector unit operands.
(VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
unit instruction formats.
(PPCVEC): New macro, mask for vector instructions.
(powerpc_operands): Add table entries for above operand types.
(powerpc_opcodes): Add table entries for vector instructions.

* ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
(print_insn_little_powerpc): Likewise.
(print_insn_powerpc): Prepend 'v' when printing vector registers.
2000-05-03 22:25:08 +00:00
Denis Chertykov
3c504221d4 * avr-dis.c (reg_fmul_d): New. Extract destination register from
FMUL instruction.
	(reg_fmul_r): New. Extract source register from FMUL instruction.
	(reg_muls_d): New. Extract destination register from MULS instruction.
	(reg_muls_r): New. Extract source register from MULS instruction.
	(reg_movw_d): New. Extract destination register from MOVW instruction.
	(reg_movw_r): New. Extract source register from MOVW instruction.
	(print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
	EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
2000-05-01 08:45:11 +00:00
Clinton Popetz
7f6d05e83e Add XCOFF64 support.
bfd:
	* Makefile.am (coff64-rs6000.lo): New rule.
	* Makefile.in: Regenerate.
	* coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
	xcoff_is_local_label_name, xcoff_rtype2howto,
	xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
	xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
	xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
	(NO_COFF_SYMBOLS): Define.
	(xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
	xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
	internally.
	(MINUS_ONE): New macro.
	(xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
	relocation.
	(coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
	coff_SWAP_aux_out): Map to the new functions.
	* coff64-rs6000.c: New file.
	* libcoff.h (bfd_coff_backend_data): Add new fields
	_bfd_coff_force_symnames_in_strings and
	_bfd_coff_debug_string_prefix_length.
	(bfd_coff_force_symnames_in_strings,
	bfd_coff_debug_string_prefix_length): New macros for above fields.
	* coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
	Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
	of using coff_swap_sym_in directly.
	(FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
	(coff_set_flags) Set magic for XCOFF64.
	(coff_compute_section_file_positions): Add symbol name length to
	string section length if bfd_coff_debug_string_prefix_length is
	true.
	(coff_write_object_contents): Don't do reloc overflow for XCOFF64.
	(coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
	using coff_swap_lineno_in directly.
	(bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
	and _bfd_coff_debug_string_prefix_length fields.
	* coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
	symbol names into strings table when
	bfd_coff_force_symnames_in_strings is true.
	* coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
	SET_RELOC_VADDR): New macros.
	(coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
	(coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
	code.
	(coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
	changes within RS6000COFF_C specific code.
	(coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
	MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
	Extend existing hack on target name.
	* xcofflink.c (XCOFF_XVECP): Extend existing hack on
	target name.
	* coff-tic54x.c (ticof): Keep up to date with new fields
	in bfd_coff_backend_data.
	* config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
	targ_selvecs to include rs6000coff64_vec for rs6000.
	* configure.in: Add rs6000coff64_vec case.
 	* cpu-powerpc.c: New bfd_arch_info_type.

	gas:
	* as.c (parse_args): Allow md_parse_option to override -a listing
	option.
	* config/obj-coff.c (add_lineno): Change type of offset parameter
	from "int" to "bfd_vma."
	* config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine."
	(ppc_mach, ppc_subseg_align, ppc_target_format): New.
	(ppc_change_csect): Align correctly for XCOFF64.
	(ppc_machine): New function, which discards "ppc_machine" line.
	(ppc_tc): Cons for 8 when code is 64 bit.
	(md_apply_fix3): Don't check operand->insert.  Handle 64 bit
	relocations.
	(md_parse_option): Handle -a64 and -a32.
	(ppc_xcoff64): New.
	* config/tc-ppc.h (TARGET_MACH): Define.
	(TARGET_FORMAT): Move to function.
	(SUB_SEGMENT_ALIGN): Use ppc_subseg_align.

	include:
	* include/coff/rs6k64.h: New file.

	opcodes:
	* configure.in: Add bfd_powerpc_64_arch.
	* disassemble.c (disassembler): Use print_insn_big_powerpc for
	64 bit code.
2000-04-26 15:09:44 +00:00
Nick Clifton
447b43fa50 Initialise signed_overflow field 2000-04-24 17:32:36 +00:00
Timothy Wall
aa170a07eb Misc assembly/disassembly fixes. 2000-04-23 02:39:13 +00:00
Jeff Law
91b1cc5d0b * hppa-dis.c (extract_16): New function.
(print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
        new operand types l,y,&,fe,fE,fx.
2000-04-21 22:04:29 +00:00
Jim Wilson
800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00