Commit graph

549 commits

Author SHA1 Message Date
Nick Clifton
d67b5d6d0e fixed another comment formatting problem. 2000-07-07 16:52:31 +00:00
Nick Clifton
6b31947e84 Fix formatting. 2000-07-07 16:45:46 +00:00
Nick Clifton
1ad5eac08e oops - omitted frpom previous delta 2000-07-06 17:21:00 +00:00
Nick Clifton
b8a9dcabf3 Applied Mark Elbrecht <snowball3@bigfoot.com>'s patch to implement
TC_COFF_SECTION_DEFAULT_ATTRIBUTES.
2000-07-06 17:18:10 +00:00
Andrew Cagney
24ddb29628 Tue Jul 4 14:08:28 2000 Andrew Cagney <cagney@b1.cygnus.com>
* config/tc-d30v.h: Include "write.h" for fixS.
      (d30v_start_line, md_pcrel_from_section): Add function prototypes.
2000-07-06 07:01:38 +00:00
Nick Clifton
bcc74d77db Further changes to warning messages 2000-07-05 21:55:13 +00:00
Alexandre Oliva
8de8f17e3d * config/tc-arm.c (psrs): Accept combinations of flags. 2000-07-04 05:49:04 +00:00
Nick Clifton
00d2865b83 Tidy up formatting.
Add  -mall-opcodes, -mno-skip-bug, -mno-wrap.
2000-07-03 22:25:33 +00:00
Ulf Carlsson
8614eeee67 2000-07-01 Koundinya K <kk@ddeorg.soft.net>
* configure.in: Add entry for mips-*-sysv4*MP*
        * configure: Rebuild
        * config/tc-mips.c (mips_target_format): Return elf32-tradbigmips or
        elf32-tradlittlemips for traditional mips targets.
        * config/tc-mips.c (md_estimate_size_before_relax): Duplicate the
        test for Link Once sections as in adjust_reloc_syms.
        * config/te-tmips.h: New file for traditional mips targets. Define
        TE_TMIPS.
2000-07-02 01:18:49 +00:00
Nick Clifton
c99004323d Do not change an existing section's attributes if a flags argument isn't
present.  Warn if the new attributes don't match the section's current
attributes.
2000-06-29 23:54:13 +00:00
Hans-Peter Nilsson
9d87310aac * config/obj-aout.c (obj_aout_type): Do not ignore for undefined
symbols; create them.
2000-06-29 23:04:29 +00:00
Aldy Hernandez
2ae7e77be8 16 bit immediate expr support for mips 2000-06-28 19:06:25 +00:00
Nick Clifton
6b2539e3e6 Do not allow EITHER_BUT_PREFER_MU opcodes to be packed into reverse
sequential buckets, and warn if the user does so.
2000-06-27 18:21:39 +00:00
Nick Clifton
65aa24b6e8 Applied Marek Michalkiewicz <marekm@linux.org.pl>'s patch to ehance the AVR port. 2000-06-27 01:45:30 +00:00
Nick Clifton
1994a7c76c Fix spelling typos.
Remove use of DEFUN().
2000-06-25 17:59:22 +00:00
Nick Clifton
f0c56b9036 Assemble ldmac correctly. 2000-06-25 16:49:47 +00:00
DJ Delorie
6d249963bc 386.c (md_estimate_size_before_relax): Revert
more changes from Sept 1999
(tc_i386_fix_adjustable): ditto
(md_apply_fix3): ditto
2000-06-25 01:33:31 +00:00
Alan Modra
c0fecd35a1 Blow away DEFUN. 2000-06-24 11:51:53 +00:00
Alan Modra
e7b305a27f Fix comment typos. 2000-06-24 08:07:01 +00:00
Alan Modra
70d6ecf3bf Kazu Hirata's formatting and comment typo fixes. 2000-06-23 05:44:30 +00:00
Timothy Wall
e9718fe12e Move premature QP notation clearing to it's appropriate location. 2000-06-23 03:31:06 +00:00
Alan Modra
45288df104 Fix a problem with 32-bit displacements in .code16gcc mode. 2000-06-22 10:49:13 +00:00
Jeff Law
40f09f82cc * config/tc-h8300.c (parse_reg): Make the function static.
(parse_exp): Likewise.
2000-06-21 21:31:24 +00:00
DJ Delorie
78295804c3 * config/tc-i386.c (tc_i386_fix_adjustable): Revert change from
Sept 1999; RVA relocs need to be treated more like DIR32 relocs
for cygwin import libraries to work properly.
2000-06-21 02:18:17 +00:00
Timothy Wall
39bec121fb TI C54x target. 2000-06-20 13:52:32 +00:00
Nick Clifton
60bcf0fa8c Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Nick Clifton
5480ccf375 Fix compile time warnings 2000-06-19 00:59:43 +00:00
Nick Clifton
607723e496 Typo fix: Change BFD_ASSEMLER to BFD_ASSEMBLER. 2000-06-17 22:00:30 +00:00
Nick Clifton
b946ec34e6 Add -mcpu=rmXXXX switch. 2000-06-16 19:11:27 +00:00
Ulf Carlsson
37ce37b139 * config/tc-mips.h: Remove definition of ONLY_STANDARD_ESCAPES. 2000-06-15 09:30:30 +00:00
Jeff Law
20348649cc * config/tc-hppa.c (pa_export): Weak symbols can be global. 2000-06-14 02:58:49 +00:00
Alan Modra
63a0b638d4 Don't treat `;' as a line separator by default.
Explicitly mention `;' in line_separator_chars in each backend.
2000-06-09 00:00:04 +00:00
Nick Clifton
9bab93495a Assign correct reloc value to size 1 constant valued fixes. 2000-06-08 19:19:23 +00:00
David O'Brien
6480b79a19 * config/tc-alpha.c (md_undefined_symbol): Properly understand that $at
is the integer register $r28, vs. both $r28 and the floating point
register $f28.

This quiets a bogus warning about needing ".set noat".

Approved by:	Nick Clifton <nickc@cygnus.com>
		Message-Id: <200006081749.KAA12558@elmo.cygnus.com>
2000-06-08 18:34:06 +00:00
Jim Wilson
10850f29fe unwind bug fixes needed for today's gcc patch.
* config/tc-ia64.c (generate_unwind_image): Call ia64_flush_insns.
	(dot_endp): Don't call ia64_flush_insns.
	(emit_one_bundle): Don't delete prologue/body records from
	unwind_record list in first loop.  Rewrite second loop to account for
	this.
2000-06-08 17:07:48 +00:00
Jim Wilson
150f24a284 Patch from David Mosberger, cleanups to improve 32b-x-64b cross support.
* config/tc-ia64.c: Add missing prototypes.
	(generate_unwind_image): Cast argument to output_unw_records call.
2000-06-07 23:14:22 +00:00
Denis Chertykov
e38c9cc203 * config/tc-avr.c (avr_operand): fix the fomratting of the comment. 2000-06-07 18:56:15 +00:00
Denis Chertykov
1188e08253 * config/tc-avr.c (AVR_ISA_???): moved to include/opcode/avr.h
(REGISTER_P): likewise.
	(avr_opcodes): uses include/opcode/avr.h
	(avr_operand): enable ld r,Z or st r,Z for at90s1200.
2000-06-07 17:42:44 +00:00
Alan Modra
65172ab8f7 Update md_shortopts to what we actually handle. 2000-06-03 13:06:33 +00:00
Alan Modra
b75c0c920f is_end_of_line fixes. 2000-06-02 02:52:10 +00:00
Scott Bambrough
a6836251f6 The ARM assembler is not assembling the following instruction
correctly.

	mrs	lr, spsr

The string pointer is advanced to far before the check to set
the SPSR bit.

Thu Jun 01 2000  Scott Bambrough <scottb@netwinder.org>

	* config/tc-arm.c (do_mrs): Allow SPSR_BIT to be set correctly.
2000-06-01 19:07:54 +00:00
Nick Clifton
43841e9116 Fix compile time warning messages. 2000-05-29 22:05:27 +00:00
Alexandre Oliva
3c07fb76e6 * config/tc-mn10300.c (md_assemble): Copy size to real_size before
it is modified, and use the real_size to compute the frag address
for dwarf2 line info.
2000-05-27 21:40:22 +00:00
Jakub Jelinek
6faf3d667f * config/tc-sparc.c (sparc_relax): New.
(md_longopts): Add -relax and -no-relax options.
	(md_parse_options, md_show_usage): Likewise.
	(md_apply_fix3): Optimize tail call into branch always if possible.
2000-05-26 06:45:55 +00:00
Donald Lindsay
0a44c2b16f New short-conditional-branch packing rules for D10V. 2000-05-25 22:35:05 +00:00
Jim Wilson
e0c9811a90 IA-64 unwind info changes, fix errors, add missing pieces, and some cleanup.
* config/tc-ia64.c (dot_restorereg_p): New function.
	(md_pseudo_table): Add restorereg.p.
	...
2000-05-25 02:00:14 +00:00
Alan Modra
ee7fcc42b1 Pass jump reloc in fr_var so it can be used in
md_estimate_size_before_relax, replacing old kludge.
2000-05-23 04:48:21 +00:00
Richard Henderson
c67e42c950 * config/tc-ia64.c (FUNC_PC_RELATIVE): New.
(pseudo_func): Add pcrel.
        (operand_match):  Handle IA64_OPND_TGT64.
        (build_insn): Likewise.
        (md_begin): Initialize pseudo_func[FUNC_PC_RELATIVE].
        (ia64_gen_real_reloc_type): Handle FUNC_PC_RELATIVE.
        (fix_insn): Handle all three 64-bit relocation types.
2000-05-23 01:48:04 +00:00
Hans-Peter Nilsson
5110c57e8e * obj.h (struct format_ops): New members begin, app_file,
s_set_other, s_set_desc, s_get_type, s_set_type,
	separate_stab_sections, init_stab_section.

	* config/obj-multi.h: Update GPL notice to v2.
	(obj_begin): New.
	(obj_app_file): New.
	(S_SET_SIZE): Test s_set_size for NULL before calling.
	(S_SET_ALIGN): Similar for s_set_align.
	(S_SET_OTHER): New.
	(S_SET_DESC): New.
	(S_GET_TYPE): New.
	(S_SET_TYPE): New.
	(SEPARATE_STAB_SECTIONS): New.
	(INIT_STAB_SECTION): New.
	(EMIT_SECTION_SYMBOLS): New.
	(AOUT_STABS) [OBJ_MAYBE_AOUT]: Define.

	* config/obj-elf.h: Update GPL notice to v2.
	Mention that this file is included from obj-multi.h.
	(obj_begin): Wrap definition in ifndef.
	(elf_file_symbol): Constify declaration.
	(obj_app_file): Ditto.
	(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
	Wrap in ifndef SEPARATE_STAB_SECTIONS.

	* config/obj-elf.c (elf_s_set_other): New.
	(elf_file_symbol): Constify argument.
	(elf_separate_stab_sections): New.
	(elf_init_stab_section): New.
	(elf_format_ops): Add new members.  Remove comma at end.

	* config/obj-ecoff.c (ecoff_separate_stab_sections): New.
	(ecoff_format_ops): Add new fields.  Remove comma at end.
	Mention inconsistency for emit_section_symbols.

	* config/obj-coff.h (c_dot_file_symbol): Constify declaration.

	* config/obj-coff.c (c_dot_file_symbol): Constify argument.
	(coff_separate_stab_sections): New.
	(coff_format_ops): Add new members.

	* config/obj-aout.c (obj_aout_sec_sym_ok_for_reloc): New.
	(obj_aout_s_set_other): New.
	(obj_aout_s_set_desc): New.
	(obj_aout_s_get_type): New.
	(obj_aout_s_set_type): New.
	(obj_aout_separate_stab_sections): New.
	(aout_format_ops): New members added.  Use obj_aout_process_stab,
	not 0.  Use obj_aout_sec_sym_ok_for_reloc, not 0.
	(obj_aout_frob_symbol): Add ATTRIBUTE_UNUSED to args as
	appropriate.
	(obj_aout_line, obj_aout_weak, obj_aout_type): Ditto.
2000-05-22 21:19:43 +00:00
Alan Modra
b98ef14717 Keep a reloc for jumps to weak and external symbols. 2000-05-22 11:38:43 +00:00
Jeff Law
b3b6a3fe2b * config/tc-hppa.c (md_apply_fix): Mask out immediate bits of
instruction to reflect change in re_assemble_*.
2000-05-19 00:21:12 +00:00
Nick Clifton
322f2c4579 Add support for _x and _s flags to MSR instruction 2000-05-15 19:25:22 +00:00
Phil Blundell
5e6cbf410d Apply David O'Brien's comment patch. 2000-05-14 18:53:18 +00:00
Alan Modra
4132022df1 Kazu Hirata's output reloc for mov.
Don't rely on short being 16 bits.
2000-05-14 11:48:42 +00:00
Alan Modra
b4fd930a27 New file 2000-05-14 09:37:07 +00:00
Alan Modra
a38cf1db3a Add x86 gas -q option to quiet some x86 gas warnings.
Remove useless -m flag_do_long_jump from x86 gas.
If BFD_ASSEMBLER, store --defsym value in a bfd_vma, and use scan_bfd_vma.
2000-05-13 12:49:55 +00:00
Alan Modra
e413e4e996 `.arch cpu_type' pseudo for x86. 2000-05-13 09:26:23 +00:00
Alexandre Oliva
e8b1cae533 * config/tc-mn10300.h (md_end): Define.
(mn10300_finalize): Declare.
* config/tc-mn10300.c: Include dwarf2dbg.h.
(debug_line): Define.
(md_assemble): Generate dwarf2 line info.
(mn10300_finalize): New function.  Finalize dwarf2 info.
2000-05-12 06:16:30 +00:00
Alan Modra
426b040396 (md_estimate_size_before_relax): Use the external version of
the relocation for weak symbols.
2000-05-11 01:48:09 +00:00
Jim Wilson
e4c58b2551 Unwind info bug fixes from David Mosberger.
* config/tc-ia64.c (output_P7_format, case mem_stack_f): Output fixed
	frame size in units of 16 bytes, as required per SW Conventions manual.
	(output_unw_records): Output info-block header as a dword to get
	byte-order right.
2000-05-09 01:54:37 +00:00
Alan Modra
8fce3f5ef7 Michael Sokolov's 68000 patches + assorted compiler warning fixes. 2000-05-08 10:24:06 +00:00
J.T. Conklin
7a899fff9a * config/tc-ppc.c (pre_defined_registers): Add entries for vector
unit registers.
(md_parse_option): Recognize -m7400.
2000-05-03 22:23:01 +00:00
Ian Lance Taylor
44877466ff * config/atof-ieee.c (gen_to_words): When adding carry back in,
don't permit lp to become less than the words array.
2000-05-03 21:23:52 +00:00
Nick Clifton
eaa15ab811 Fix little endian relocs 2000-05-03 18:50:55 +00:00
Alan Modra
da5d444c29 go32 bss alignment. 2000-05-03 04:25:33 +00:00
Alan Modra
3f9b03b5da Assorted code cleanup and fixes for hppa. Re-enable elf32-hppa as
it now compiles even if it doesn't work too well.
2000-05-02 00:12:52 +00:00
Denis Chertykov
df13624506 * config/tc-avr.c: ATTRIBUTE_UNUSED added to the necessary places.
More comments added.
	(md_begin): Removed "construct symbols for each register name".
	Because register names conflicts with GCC generated function
	names.
	(avr_operand): Now constant numbers can be used as a register
	identifiers (0 as r0, 31 as r31).
	(md_assemble): use skip_space () before parsing instruction
	operands.
2000-05-01 11:14:05 +00:00
Denis Chertykov
b170af938f * config/tc-avr.c: New AVR_ISA_ defined.
(md_assemble): Handle opcodes with optional operands (lpm,elpm).
	(avr_operand): Handle 'a', 'v' and 'z' constraint letters needed
	for `fmul', `movw' and `lpm R,Z' instructions.
	(avr_operands): Warn if current opcode is a two-word instruction
	and previous opcode was cpse/sbic/sbis/sbrc/sbrs.
	(avr_opcodes): New commands added.
	(REGISTER_P): Check 'a' and 'v' constraint letters.
	(mcu_types): New MCU added.
2000-05-01 08:48:32 +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
Alan Modra
d9b7d82070 Remove '/' from comment_chars for FreeBSD so divide operator works.
Fix as.1 typo.
2000-04-25 22:55:20 +00:00
Alan Modra
e799a69521 Use record_alignment, not bfd_set_section_alignment. 2000-04-25 10:02:20 +00:00
Alan Modra
3b0ec529f2 Keep shift count smaller than 32. 2000-04-25 08:55:01 +00:00
Nick Clifton
adcf07e614 Document behaviour of .align 0 for ARM targets.
Remove incomplete v5e code from tc-arm.c
2000-04-24 23:57:30 +00:00
Jeff Law
5047a41fff * obj-som.c: Terminate obj_pseudo_table. 2000-04-24 23:48:13 +00:00
Timothy Wall
bf3ca999c1 Clean up F-unit assembly and tests. 2000-04-23 02:53:35 +00:00
Jeff Law
a02fab7e03 * config/tc-hppa.c (md_apply_fix): Handle new PA2.0 formats.
* config/tc-hppa.c (CHECK_ALIGN): New macro.
        Added handling of new operand types l,y,&,fe,fE,fx.
2000-04-21 20:34:00 +00:00
Jim Wilson
800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00
Richard Henderson
6677867973 * config/tc-d30v.c (write_2_short): Disregard opcode1->ecc when
bundling a non-delayed branch type instruction.
2000-04-21 17:20:03 +00:00
Alexandre Oliva
aa15f6f7b0 * config/tc-mn10300.c (HAVE_AM30): Define.
(md_assemble): Use it.
2000-04-20 22:18:27 +00:00
Alan Modra
742f45cf3a Check for changed section attributes. 2000-04-20 01:43:32 +00:00
H.J. Lu
508866be8a 2000-04-18 H.J. Lu (hjl@gnu.org)
* config/tc-i386.c (offset_in_range): Use addressT instead of
	bfd_vma for none bfd assemblers.
2000-04-18 17:46:31 +00:00
Alan Modra
ba2adb9390 64 bit bfd fix. 2000-04-17 03:18:36 +00:00
Alan Modra
fc633e5b97 Remove U suffix from constants for K&R compilers.
Fix a couple of 64 bit nits.
2000-04-13 01:08:05 +00:00
Nick Clifton
3db10f32e0 Apply patch to fix compuation of frag offsets for symbols 2000-04-12 18:03:58 +00:00
Nick Clifton
1ed18ec1a3 Apply Andrew Cagney's patch to fix use of 'struct fix'. 2000-04-12 17:59:32 +00:00
Alan Modra
847f7ad471 Fix 64-bit nits. 2000-04-10 12:36:06 +00:00
Nick Clifton
d92b1a8a2a Add support for BFD_RELOC_{ARM|THUMB}_PCREL_BLX relocs. 2000-04-08 00:11:46 +00:00
Joern Rennecke
52ccafd035 opcodes:
* sh-opc.c (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
	stc GBR,@-<REG_N> is available for arch_sh1_up.
	Group parallel processing insn with identical mnemonics together.
	Make three-operand psha / pshl come first.
gas:
	* config/tc-sh.c (get_operands): There's no third operand if the
	first operand is an immediate.
2000-04-05 21:43:26 +00:00
Joern Rennecke
015551fcfb sh-dsp REPEAT support:
opcodes:

        * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
        (sh_arg_type): Add A_PC.
        (sh_table): Update entries using immediates.  Add repeat.
        * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.

gas:

        * config/tc-sh.c (immediate): Delete.
        (sh_operand_info): Add immediate member.
        (parse_reg): Use A_PC for pc.
        (parse_exp): Add second argument 'op'.  All callers changed.
        (parse_at): Expect pc to be coded as A_PC.
        Use immediate field in *op.
        (insert): Add fourth argument 'op'.  All callers changed.
        (build_relax): Add second argument 'op'.  All callers changed.
        (insert_loop_bounds): New function.
        (build_Mytes): Remove DISP_4.
        Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
        (assemble_ppi): Use immediate field in *operand.
        (sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}.
        (md_apply_fix): Likewise.
        (tc_gen_reloc): Likewise.  Check for a pcrel BFD_RELOC_SH_LABEL.

include/coff:

        * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.

include/elf:

        * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.

bfd:

        * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
        BFD_RELOC_SH_LOOP_END.
        * elf32-sh.c (sh_elf_howto_tab): Change special_func to
        sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
        Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
        (sh_elf_reloc_loop): New function.
        (sh_elf_reloc): No need to test for always-to-be-ignored relocs
        any more.
        (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
        (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
        * bfd-in2.h, libbfd.h: Regenerate.
2000-04-05 21:23:05 +00:00
Alexandre Oliva
79bd78bef5 * config/tc-sparc.c (sparc_ip): Avoid string pasting. 2000-04-05 09:38:43 +00:00
Alexandre Oliva
0a727238ad * config/tc-mn10300.c (md_pseudo_table): Use constant names.
(md_begin): Likewise.
(HAVE_AM33): New macro.
(md_assemble): Use it.  Match r_regs and xr_regs only if
HAVE_AM33.
2000-04-03 20:20:26 +00:00
Alan Modra
c20f4f8c21 Move bug report string to one place. 2000-04-03 14:10:05 +00:00
Alan Modra
726c5dcddf Correct 2000-02-26 change. 2000-04-03 11:19:51 +00:00
Richard Henderson
bf80011a5b * config/tc-d30v.c (check_range): Allow signed or unsigned 32-bit
quantities.  Correct right shift sign extension.
        (build_insn): Make `number' unsigned long.  Mask top 6 bits of
        32-bit value when shifting into place.
2000-04-02 08:24:54 +00:00
Ian Lance Taylor
921615346f * app.c: Add ATTRIBUTE_UNUSED as needed.
* config/tc-ppc.c: Likewise.
	(ppc_size): Make unsigned long.
	(ppc_insert_operand): Add casts to avoid warnings.
2000-04-02 06:27:51 +00:00
Nick Clifton
447f398221 Flush any pending instructiuons before emitting data into the instruction stream. 2000-04-01 00:19:46 +00:00
Nick Clifton
21d75ec232 Fix SUB_SEGMENT_ALIGN macor for BFD_ASSEMBLER 2000-03-29 22:57:57 +00:00
Nick Clifton
d1a1bf19b4 Add "bal" instruction pattern.
Add test of assembling "bal" instruction
2000-03-29 18:25:37 +00:00
Ian Lance Taylor
5b8274e3f3 * config/tc-sh.c (md_show_usage): Use backslash before newline in
string literal.
2000-03-27 16:17:08 +00:00
Alan Modra
adde6300e0 ATMEL AVR microcontroller support. 2000-03-27 08:39:14 +00:00
Alan Modra
d0b4722035 Mostly cosmetic. Fixes to comments. Don't start as_bad and as_warn
messages with capital.  Don't malign Unixware, malign SysV386 instead.
2000-03-26 14:13:02 +00:00
Nick Clifton
114241553a fix bug detecting pc-rel overflow 2000-03-19 22:09:23 +00:00
Nick Clifton
43f0557653 Fix adr pseudo op for Thumb. 2000-03-17 22:12:08 +00:00
Nick Clifton
ec9991dc51 minor formatting improvements 2000-03-17 20:00:36 +00:00
Nick Clifton
684b81fabf fix compile time warning messages 2000-03-17 19:44:41 +00:00
Nick Clifton
672314026c Handle same-section relocations where the destination is at an address >=
0x00400000.
2000-03-17 19:35:44 +00:00
Joern Rennecke
a37c8f8843 * config/tc-sh.c (md_begin): When encountering insn that are
not supported by the current arch, only change the name if
	its contents are the same as prev_name.
	(get_specific): If the the architecture doesn't match, fail.
2000-03-16 23:50:18 +00:00
Joern Rennecke
dead141948 * config/tc-sh.c (IDENT_CHAR): Define.
(parse_reg): Use it instead of isalnum.  Put r[0..7]_bank operand
	matching back where it came from.
2000-03-16 21:18:53 +00:00
Joern Rennecke
182e89d3f6 * config/tc-sh.c (md_show_usage): Add description of -dsp. 2000-03-16 20:59:08 +00:00
Nick Clifton
84f73d89c4 Match r[0..7]_bank operands before normal operands. 2000-03-16 01:18:13 +00:00
Jeff Law
dbbc7809e3 * config/tc-h8300.c: Add ATTRIBUTE_UNUSED as appropriate. 2000-03-15 21:28:47 +00:00
Hans-Peter Nilsson
8684e216c8 * read.c (TC_IMPLICIT_LCOMM_ALIGNMENT): New default-definition.
(s_lcomm_internal): Use it.
	* doc/internals.texi (CPU backend): Document it.
	* config/obj-evax.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Set to 2**3
	bytes.
2000-03-13 20:46:07 +00:00
Geoffrey Keating
bb2d6cd7b1 In bfd/:
* elf32-mips.c (mips_elf_next_relocation): Rename from
	mips_elf_next_lo16_relocation, and generalize to look
	for any relocation type.
	(elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
	(elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
	(elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
	(elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
	(elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
	(elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
	(bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
	(mips_rtype_to_howto): Likewise.
	(mips_elf_calculate_relocation): Handle new relocs.
	(_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
	are paired.  The addend for R_MIPS_GNU_REL16_S2
	is shifted right two bits.
In gas/:
	* config/tc-mips.c (mips_ip): Don't put stuff in .rodata
	when embedded-pic.

	* config/tc-mips.c (SWITCH_TABLE): The ELF embedded-pic
 	implementation doesn't have special handling for switch
 	statements.
	(macro_build): Allow for code in sections other than .text.
	(macro): Likewise.
	(mips_ip): Likewise.
	(md_apply_fix): Do pc-relative relocation madness for MIPS ELF.
  	Don't perform relocs if we will be outputting them.
	(tc_gen_reloc): For ELF, just use fx_addnumber for pc-relative
 	relocations.  Allow BFD_RELOC_16_PCREL_S2 relocs when
 	embedded-pic.
In gas/testsuite/:
	* gas/mips/empic.d: New file.
	* gas/mips/empic.s: New file.
	* gas/mips/mips16-e.d: New file.
	* gas/mips/mips16-e.s: New file.
	* gas/mips/mips16-f.d: New file.
	* gas/mips/mips16-f.s: New file.
	* gas/mips/mips.exp: Add empic, mips16-e.  Add mips16-f as an
	expected failure.
In include/elf:
	* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
 	R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
 	numbers.
2000-03-11 02:16:25 +00:00
Catherine Moore
5c86cbc78f * config/tc-m32r.c (m32r_fix_adjustable): Look up the
relocation type based on the entry in the fixup structure.
2000-03-09 22:07:28 +00:00
Nick Clifton
ded0aeb791 Document new -m32r command line switch 2000-03-07 00:06:52 +00:00
Nick Clifton
8ad9e709b4 treat -m32r as a seperate, specific command line switch. 2000-03-06 23:37:57 +00:00
Michael Meissner
b7b8f32709 fix sign extension problem with d30v 2000-03-02 22:18:12 +00:00
Ian Lance Taylor
c5e54cc20e 2000-02-27 Thomas de Lellis <tdel@windriver.com>
* config/obj-elf.c (elf_frob_symbol): Remove code which when
	TC_PPC was defined forced the type of a symbol with no other type
	to be BSF_OBJECT.
2000-02-28 04:17:36 +00:00
Ian Lance Taylor
a25fe90645 2000-02-27 Jakub Jelinek <jakub@redhat.com>
* config/tc-sparc.c (OPTION_UNDECLARED_REGS): New option.
	(md_parse_option): Handle it.
	(md_show_usage): Document it.
2000-02-28 03:51:32 +00:00
Ian Lance Taylor
21b105119f * config/tc-alpha.c (md_assemble): Accept 1' and 9' in an
opcode, for the instruction `pal19'.  From Andrea Arcangeli
	<andrea@suse.de>.
2000-02-28 03:25:35 +00:00
Alan Modra
773f551c1d Catch some more cases where we can represent a 16 bit immediate operand as
8 bit sign extended.
2000-02-26 04:00:13 +00:00
Alan Modra
cc5ca5ce51 Extend the i386 gas testsuite to do some tests for intel_syntax. Fix all
the errors exposed by this addition.  These were intel mode
"fi... word ptr", "fi... dword ptr", "jmp Imm seg, Imm offset", "out dx,al".
The failure with intel "out dx,al" was also present in att "out al,dx".
Extend testsuite to catch this case too.
2000-02-25 11:41:12 +00:00
Nick Clifton
056350c6bd Add support for WinCE targeted toolchains. 2000-02-24 19:49:18 +00:00
Alan Modra
36bf8ab9fb Yet more .intel_syntax fixes. 2000-02-24 15:26:57 +00:00
Catherine Moore
f5795b0849 * config/obj-som.c (obj_pseudo_table): Add "weak".
(obj_som_weak): New routine.
2000-02-24 13:37:02 +00:00
Alan Modra
7f3f1ea2a1 Correct intel_syntax fsub* and fdiv* handling. Oh, how I'd like to be rid
of UNIXWARE_COMPAT.
2000-02-24 12:40:45 +00:00
Alan Modra
520dc8e893 config/tc-i386.c (struct _i386_insn): Combine disps, imms, regs into
a union.  Use throughout file.  Delete TC_RELOC macro.
2000-02-24 08:18:20 +00:00
Alan Modra
abd63a324b Remove dead code when not TC_M68K. 2000-02-24 01:56:31 +00:00
Richard Henderson
7e0527420a * config/tc-i386.c (md_assemble): When swapping operands for
intel_syntax, assume everything that's not Imm or Disp is a
        register.
2000-02-24 00:43:29 +00:00
Alan Modra
5b93d8bb51 Add IBM 370 support. 2000-02-23 13:52:23 +00:00
Chandra Chavva
25f2196d60 * config/tc-d30v.c (parallel_ok): Use FLAG_NOT_WITH_ADDSUBppp to
determine if an instruction can be used in parallel with an ADDppp
        or SUBppp instruction.
2000-02-22 20:54:18 +00:00
Andrew Haley
c97ef257d3 1999-12-30 Andrew Haley <aph@cygnus.com>
* config/tc-mips.c (mips_gp32): New variable.
	(macro_build) Use mips_gp32.
	(mips_ip): Ditto.
	(md_longopts): Add "-mgp32" and "-mgp64".
	(md_parse_option): Add OPTION_GP32 and OPTION_GP64.
2000-02-22 14:43:54 +00:00
Ian Lance Taylor
b985eaa839 2000-02-22 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* config/obj-coff.c (add_lineno): Accept non-positive lineno with
	warning, and bump it to 1.
2000-02-22 07:50:13 +00:00
Catherine Moore
6b76fefe3b * config/tc-mips.c (MF_HILO_INSN): Define.
(mips_7000_hilo_fix): Declare.
           (append_insn): Conditionally insert nops after an mfhi/mflo insn.
           (md_parse_option): Check for 7000_HILO_FIX options.
           (OPTION_M7000_HILO_FIX): Define.
           (OPTION_NO_M7000_HILO_FIX): Define.
           * doc/c-mips.texi (-mfix7000): Describe.
2000-02-21 20:00:33 +00:00
Alan Modra
f6af82bd44 This lot mainly cleans up `comparison between signed and unsigned' gcc
warnings.  One usused var, and a macro parenthesis fix too.  Also check
input sections are elf when doing gc in elflink.h.
2000-02-21 12:01:27 +00:00
Nick Clifton
8c8281f46f Add a symbol's value to the computed frag offset, rather than overwriting it. 2000-02-18 18:45:28 +00:00
Joern Rennecke
d4845d5762 bfd:
Reinstate bits of sh4 support that got accidentally deleted.
Add sh-dsp support.

bfd:

	* archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
	(bfd_mach_sh3_dsp): Likewise.
	(bfd_mach_sh4): Reinstate.
	(bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
	* bfd-in2.h: Regenerate.
	* coff-sh.c (struct sh_opcode): flags is no longer short.
	(USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
	(sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
	(sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
	(sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
	(sh_opcodes): No longer const.
	(sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
	(sh_insn_uses_reg): Check for USESAS and USESR8.
	(sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
	(_bfd_sh_align_load_span): Return early for SH4.
	Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
	Take into account that field b of a parallel processing insn
	could be mistaken for a separate insn.
	* cpu-sh.c (arch_info_struct): New array elements for
	sh2, sh-dsp and sh3-dsp.
	Reinstate element for sh4.
	(SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
	(SH4_NEXT): Reinstate.
	(SH3_NEXT, SH3E_NEXT): Adjust.
	* elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
	* elf32-sh.c (sh_elf_set_private_flags): New function.
	(sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
	(sh_elf_merge_private_data): New function.
	(elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
	(bfd_elf32_bfd_copy_private_bfd_data): Define.
	(bfd_elf32_bfd_merge_private_bfd_data): Change to
	sh_elf_merge_private_data.

gas:

	* config/tc-sh.c ("elf/sh.h"): Include.
	(sh_dsp, valid_arch, reg_x, reg_y, reg_efg): New static variables.
	(md.begin): Initialize target_arch.
	Only include opcodes in has table that match selected architecture.
	(parse_reg): Recognize register names for sh-dsp.
	(parse_at): Recognize post-modify addressing.
	(get_operands): The leading space is now optional.
	(get_specific): Remove FDREG_N support.  Add support for sh-dsp
	arguments.  Update valid_arch.
	(build_Mytes): Add support for SDT_REG_N.
	(find_cooked_opcode): New function, broken out of md_assemble.
	(assemble_ppi, sh_elf_final_processing): New functions.
	(md_assemble): Use find_cooked_opcode and assemble_ppi.
	(md_longopts, md_parse_option): New option: -dsp.
	* config/tc-sh.h (elf_tc_final_processing): Define.
	(sh_elf_final_processing): Declare.

include/elf:

	* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
	(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
	(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.

opcodes:

	* sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
	(print_insn_ppi): Likewise.
	(print_insn_shx): Use info->mach to select appropriate insn set.
	Add support for sh-dsp.  Remove FD_REG_N support.
	* sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
	(sh_arg_type): Likewise.  Remove FD_REG_N.
	(sh_dsp_reg_nums): New enum.
	(arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
	(arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
	(arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
	(arch_sh3_dsp_up): Likewise.
	(sh_opcode_info): New field: arch.
	(sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
	D_REG_N.  Fill in arch field.  Add sh-dsp insns.
2000-02-17 00:33:36 +00:00
Jeff Law
c97305a1da * config/tc-hppa.c (pa_build_unwind_subspace): Use subseg_new to create
the unwinder subspace.  Save the current seg/subseg before creating
        the new seg/subseg.
2000-02-11 21:27:41 +00:00
Nick Clifton
bec504668f Add support for M340 2000-02-10 21:31:13 +00:00
Timothy Wall
bea9907b2a octets vs bytes changes for GAS 2000-02-03 18:20:23 +00:00
Nick Clifton
557537a556 Add ATPCS register naming support 2000-01-31 22:14:50 +00:00
Geoffrey Keating
2c1c4c6219 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define if
already defined.
* config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES):
New macro.
* config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag
of a symbol when we really care about its value.
2000-01-31 19:13:47 +00:00
Nick Clifton
2d473ce9c0 Cathc unwanted text after instructions 2000-01-31 18:24:43 +00:00
Nick Clifton
2f0ca46a49 Apply Thoams de Lellis's patch to fic disassembly of Thumb instructions when
bounded by non-function labels.
2000-01-27 20:05:32 +00:00
Alan Modra
fa3061313c Make copyright date lists comply with GNU requirement 2000-01-26 23:58:13 +00:00
Alan Modra
4c63da97a7 This set of patches add support for aout emulation on the x86
assembler.  ie. You will be able to do "as --em=i386aout" on an x86
linux-elf assembler to generate aout format object files, rather than
using a separate assembler.  The aout emulation is enabled by giving
"--enable-targets=i386-linuxaout" to configure.
Oh yeah, there's a couple of fixes too.  Error messages shouldn't be
passed to printf in the format arg just in case someone puts a `%' in
the message.
2000-01-26 22:48:31 +00:00
Alan Modra
add0c67765 Cosmetic changes to tc-i386.[ch] + extend x86 gas testsuite jmp and
call tests + tweak intel mode far call and jmp.
2000-01-15 12:06:03 +00:00
Clinton Popetz
a19d8eb03e 2000-01-13 Clinton Popetz <cpopetz@cygnus.com>
* config/tc-mips.c (mips_do_align): New function.
        * config/tc-mips.h (md_do_align): Define.
2000-01-14 17:58:29 +00:00
Nick Clifton
2e13b76485 ELF visibility patch from Martin Loewis 2000-01-03 18:34:24 +00:00
Alan Modra
3138f287b1 x86 indirect jump/call syntax fixes. Disassembly fix for lcall. 1999-12-27 16:10:31 +00:00
Nick Clifton
858f4ff6ff fix formatting 1999-12-22 19:54:41 +00:00
Nick Clifton
df32bc61b0 Apply patch from Philip Blundell to allow .previous to work for arm-elf 1999-12-22 19:44:15 +00:00
Nick Clifton
b4d0b2b3ab Add support for -marm720 command line switch 1999-12-14 19:40:59 +00:00
Jeff Law
85cb2cf971 * config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op.
(r_registers, xr_registers): Define.
        (r_register_name, xr_register_name): New functions.
        (md_assemble): Handle new am33 operand types and instruction
        formats.
        (mn10300_insert_operand, check_operand): Likewise.
1999-12-01 10:40:07 +00:00
Nick Clifton
a64bcdd8d3 Fix .force_thumb 1999-11-29 15:29:34 +00:00
Michael Meissner
43b4c25efc Add support for !literal and !lituse_base 1999-11-29 00:46:16 +00:00
Jeff Law
afbf211f5a * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
'B' operand for PA2.0 bb instruction.
1999-11-25 03:27:35 +00:00
Nick Clifton
f11900d058 Fix generation of RVA relocs 1999-11-18 18:38:18 +00:00
Alan Modra
2daf4fd896 * config/tc-i386.c (i386_immediate): Disallow O_big immediates.
(i386_displacement): Disallow O_big displacements.
1999-11-16 12:27:25 +00:00
Donald Lindsay
92a66162a2 tc-arm.c: minor changes and support for upcoming V5E variant. 1999-11-16 04:15:55 +00:00
Richard Henderson
98007ce7b0 * config/tc-alpha.c (alpha_align): Check, don't assert, that
the previous label was in the current section before playing
        with auto-alignment.
1999-11-08 00:44:52 +00:00
Nick Clifton
d6c497c760 Do not attempt to fixup relocs relative to weak symbols 1999-11-06 14:05:24 +00:00
Ian Lance Taylor
5f91fe03ba * config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output
if it is defined.

	* config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED.

	* config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL
	to bfd_set_section_contents.
1999-11-03 22:13:33 +00:00
Nick Clifton
829ce3071e Change the default endianness to little. 1999-11-03 18:19:22 +00:00
Gavin Romig-Koch
2bd7f1f332 For include/opcode:
* mips.h (OPCODE_IS_MEMBER): New.

For gas:

	* config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER.
	(mips_ip): Use OPCODE_IS_MEMBER.

For opcodes:

	* mips-dis.c (_print_insn_mips): Use OPCODE_IS_MEMBER.
1999-11-01 19:29:55 +00:00
Jeff Law
acb5662391 * config/tc-arm.c (reg_required_here): Improve comments. 1999-10-28 03:03:53 +00:00
Jeff Law
b49cfa5dae * config/tc-arm.c (thumb_opcode): Add "variants" field.
(tinsns): Initialize variants field.
1999-10-28 02:53:42 +00:00
Jeff Law
90ca882f04 * tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and BAD_PC
respectively.
1999-10-27 22:52:35 +00:00
Nick Clifton
29c4c6b539 fix compile time warnings 1999-10-27 18:13:28 +00:00
Nick Clifton
4c1102fd19 revert part of previous delta which had accidentally snarfed some experimental
code.
1999-10-25 16:48:26 +00:00
Nick Clifton
452a37f009 revert previous delta 1999-10-25 16:30:37 +00:00
Nick Clifton
9cac79d30b Apply patch supplied for case 102229 to implement new insns psrclr and psrset. 1999-10-25 15:28:44 +00:00
Diego Novillo
d9fd985254 * tc_d10v.c (find_opcode): Allow ATSIGN to match expressions of the
form @abs16, @(abs16) and @(abs16 + imm).
1999-10-21 13:49:38 +00:00
Gavin Romig-Koch
9ce8a5dd8e * config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New.
(ISA_HAS_64_BIT_REGS) New.
	(gpr_interlocks,md_begin,reg_needs_delay,append_insn,
	mips_emit_delays,macro_build,load_register,load_addresss,
	macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify
	and/or use new ISA_xxx macros in expressions involving
	ISA, particularly mips_opts.isa.
1999-10-21 13:23:31 +00:00
Michael Meissner
446a06c9b8 Add md expression support; Cleanup alpha warnings 1999-10-18 22:29:15 +00:00
Jeff Law
476cdcb88f * config/tc-hppa.c (md_apply_fix): Make "fmt" an int. 1999-10-17 23:19:13 +00:00
Alan Modra
c388dee89b Nit fix. 1999-10-12 11:07:34 +00:00
Jeff Law
d53d27516f * config/tc-hppa.c (pa_ip): Add new codes 'cc', 'cd', 'cC', 'co',
'@'.  Change autoincrement completers to fall through to cache control
        completers.

        * config/tc-hppa.c (pa_ip):  Remove unused args.  Add code to '?W'
        arg.
        (pa_parse_addb_64_cmpltr):  New function.

        * config/tc-hppa.c (pa_ip):  Change error message.
        (pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr)  Fix '?N' and
        '?Q' args to allow falling through.

        * config/tc-hppa.c (pa_ip):  Implement conditional codes "?N", "?Q".
        Remove unused conditional codes.
        (pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr):  New.
1999-10-10 07:57:30 +00:00
Diego Novillo
ba09cd8d98 * config/tc-d30v.c (CHAR_BIT): Define.
(check_range): Fix bit operations to support integers
	bigger than 32 bits.
1999-10-07 06:26:25 +00:00
Diego Novillo
c43185deeb Added seven new instructions ld, ld2w, sac, sachi, slae, st and
st2w for d10v. Created new testsuite for d10v to verify new
instructions.
1999-10-07 06:17:04 +00:00
Doug Evans
925c058e93 Add support for m32rx.
* config/tc-m32r.c (enable_m32rx): New static global.
	(enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
	(allow_m32rx): New function.
	(M32R_SHORTOPTS): Add `O'.
	(md_longopts): Add --m32rx plus several warning options.
	(md_parse_option): Handle new options.
	(md_show_usage): Print them.
	(md_begin): Enable m32rx.
	(OPERAND_IS_COND_BIT): New macro.
	(first_writes_to_seconds_operands): New function.
	(writes_to_pc,can_make_parallel,make_parallel): New functions.
	(target_make_parallel,assemble_two_insns): New functions.
	(md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
	If optimizing and m32rx, try to make consecutive insns parallel.
1999-10-05 00:37:17 +00:00
Geoffrey Keating
fba2b7f93e * config/tc-mips.c (nopic_need_relax): Allow for the
.sdata.foo sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
1999-09-28 04:13:25 +00:00
Jeff Law
d3426803c5 Remove accidental case duplication. 1999-09-23 16:09:23 +00:00
Jeff Law
ce674324e1 * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
with cleaner code using completer prefixes.   Add 'Y'.
1999-09-23 14:30:31 +00:00
Jeff Law
fd232ac8d5 * config/tc-hppa.c (pa_ip): Add parens to silence compiler. 1999-09-23 13:15:29 +00:00
Jeff Law
b1039fc41e * config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
(pa_ip, case 'm'): Failure to get a CBIT specifier just means the
        insn does not match and we should try the next insn in the table.
1999-09-22 15:43:26 +00:00
Nick Clifton
913f265c25 Rename MULTI_SET_PSR to LDM_TYPE_2_OR_3 1999-09-22 09:05:32 +00:00
Jeff Law
54af6ff675 * config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup
of PA2.0 support.
1999-09-20 10:06:05 +00:00
Ian Lance Taylor
4cc782b591 1999-09-19 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
	OBJ_ELF.  If ELF, add "sq".
	(md_parse_option): If ELF, ignore -s and -q.
	(md_show_usage): Mention ELF options.
1999-09-19 23:03:56 +00:00
Jeff Law
65fab780c5 * config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc'
operands.
1999-09-19 20:07:01 +00:00
Jeff Law
71823da428 * config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'. 1999-09-19 19:46:52 +00:00
Jeff Law
61dd1d313e * config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'. 1999-09-19 19:23:08 +00:00
Jeff Law
1cf6ae6758 * config/tc-hppa.c (struct pa_it): New field "trunc".
(pa_ip): Hadnle 'h', 'm', '=', '{', and '_' operands.
        (pa_parse_ftest_gfx_completer): New function
        (pa_parse_fp_cnv_format): New function.
1999-09-19 18:47:37 +00:00
Jeff Law
77c02e18c1 * config/tc-hppa.c (pa_ip): Handle 'X' operand.
(md_apply_fix): Handle 22bit pc-rel branches.
1999-09-19 18:13:50 +00:00
Jeff Law
629d9417e1 * config/tc-hppa.c (pa_ip): Handle 'B' operand. 1999-09-19 17:38:09 +00:00
Jeff Law
dbe2f9eec8 * config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands. 1999-09-19 17:09:23 +00:00
Jeff Law
3db6e6bd57 * config/tc-hppa.c (pa_ip): Handle 'l' operand. 1999-09-19 16:58:33 +00:00
Jeff Law
6be783603d * config/tc-hppa.c (pa_ip): Handle 'g' operand. 1999-09-19 16:45:20 +00:00
Jeff Law
e061d86ffd * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
(pa_ip): Handle 'fX'.
1999-09-18 18:16:21 +00:00
Jeff Law
f1a1312b73 Really fix the typo. 1999-09-18 13:41:01 +00:00
Jeff Law
9d957cd576 Fix typo in last change. 1999-09-18 13:26:46 +00:00
Jeff Law
7acbfc6b56 * config/tc-hppa.c (pa_build_unwind_subspace): Do not build
unwinds unless the function is in the text space.
        (pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
1999-09-17 18:00:50 +00:00
Jeff Law
b52c78b8a6 * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
(md_assemble): To here.  Tweak address generation.
1999-09-15 13:19:32 +00:00
Jeff Law
2d93dcc450 * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare
debug_line.
        (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
        (md_assemble): Call dwarf2_where for OBJ_ELF.
        (pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
        (pa_end_of_source): New function.
        * tc-hppa.h (md_end): Define for OBJ_ELF.
1999-09-15 11:17:54 +00:00
Ian Lance Taylor
41fd319a45 1999-09-14 Donn Terry <donn@interix.com>
* config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define.
1999-09-14 15:38:32 +00:00
Alan Modra
2f66722d55 Hackery to handle ix86 "jmp constant" as a pc-relative jump to the given
absolute address.
1999-09-13 06:45:15 +00:00
Alan Modra
a217f122fa Tidy jump handling code and comments. 1999-09-13 03:44:49 +00:00
Ian Lance Taylor
d33e1d248c 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	BFD_RELOC_RVA relocations.
1999-09-12 05:09:50 +00:00
Ian Lance Taylor
c0c949c786 * config/tc-i386.c (md_apply_fix3): Add horrible adjustments to
the value if TE_PE and a global defined symbol.
1999-09-12 05:06:09 +00:00
Ian Lance Taylor
18dc2407f4 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (md_undefined_symbol): Compare the name against
	the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it
	starts with "_G".
1999-09-12 03:50:42 +00:00
Ian Lance Taylor
945a1a6b98 * write.c (write_relocs): Call SET_SECTION_RELOCS if it is
defined.
	* config/obj-coff.h (SET_SECTION_RELOCS): Define.
	* doc/internals.texi (Object format backend): Document
	SET_SECTION_RELOCS.
1999-09-12 03:44:42 +00:00
Ian Lance Taylor
12951dca76 fix copyright 1999-09-12 03:34:29 +00:00
Ian Lance Taylor
79d292aaa2 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	relocations against global symbols if TE_PE.
1999-09-12 03:18:54 +00:00
Ian Lance Taylor
7a6284c477 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
	(obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
1999-09-12 03:07:49 +00:00
Ian Lance Taylor
8828d86202 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (coff_frob_symbol): Prohibit weak common
	symbols.
1999-09-12 02:59:54 +00:00
Ian Lance Taylor
9690c54dda 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
	symbols which do not have a constant value, or tags with
	non-tags.  Remove the symbol from the list before adding it at the
	end.
1999-09-12 02:55:58 +00:00
Ian Lance Taylor
23dab925ad 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
	C_FCN symbol differently if TE_PE.
	(obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
	appears in the pseudo-op, rather coff_line_base which is only set
	for a .bf symbol.
1999-09-12 02:49:28 +00:00
Ian Lance Taylor
28428223eb 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_loc): New static function.
	(obj_pseudo_table): Add "loc".
1999-09-12 02:39:52 +00:00
Ian Lance Taylor
e8a3ab752d 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (add_lineno): Check that the line number is
	positive.
1999-09-12 02:34:00 +00:00
Ian Lance Taylor
0561a208f8 1999-09-11 Donn Terry <donn@interix.com>
* expr.c (expr): Change first parameter to int.
	* config/obj-coff.c: Add declarations for static functions.
	(coff_frob_symbol): Use SYM_AUXENT.
	* config/tc-i386.h (flag_16bit_code): Don't declare.
1999-09-12 02:27:58 +00:00
Ian Lance Taylor
0723899b7e comment change 1999-09-12 02:27:31 +00:00
Ian Lance Taylor
2ab9b79ef9 1999-09-11 Donn Terry <donn@interix.com>
* config/atof-ieee.c (atof_ieee): Change what_kind to int.
	* config/atof-vax.c (flonum_gen2vax): Change format_letter to
	int.
	(md_atof): Return NULL rather than 0.
	* config/tc-i386.c (md_atof): Change type to int.
1999-09-12 02:12:38 +00:00
Ian Lance Taylor
5881e4aab3 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_section): Default to setting
	SEC_LOAD.  Don't set SEC_DATA for 'w' modifier.
1999-09-12 02:08:55 +00:00
Nick Clifton
325188ecac Only support interworking and pic for ELF or COFF targets 1999-09-08 13:10:28 +00:00
Jeff Law
4964086a66 * config/tc-hppa.c (pa_ip): Support 'Z' argument. 1999-09-07 19:48:13 +00:00
Jeff Law
e7c1f43c29 * config/tc-hppa.c (pa_ip): Put strict register checks before
call to pa_parse_number.
1999-09-07 19:30:14 +00:00
Ian Lance Taylor
c4bf532f53 * config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for
BFD_ASSEMBLER code.
1999-09-07 03:26:58 +00:00
Jeff Law
0f4f8b56e7 * config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the
candidate instruction.  Require registers for register arguments
        when in strict mode.  Require assemble-time constants for
        constants when in strict mode.
        (pa_get_absolute_expression): Require a constant when in strict
        mode.
1999-09-06 10:28:21 +00:00
Nick Clifton
d33886536c Fix value for -Wnuh command line option 1999-09-06 10:24:19 +00:00
Ian Lance Taylor
041dd5a9f4 1999-09-04 Steve Chamberlain <sac@pobox.com>
* config/tc-pj.c: New file, supports picoJava in ELF.
	* config/tc-pj.h: Ditto.
	* configure.in (pjl*, pj*): New targets.
	* Makefile.am: Rebuild dependencies.
	(CPU_TYPES): Add pj.
	(TARGET_CPU_CFILES): Add config/tc-pj.c.
	(TARGET_CPU_HFILES): Add config/tc-pj.h.
	* doc/c-pj.texi: New file.
	* doc/as.texinfo: Add some PJ specifics.
	* doc/all.texi: Add PJ to the list of all architectures, sort them
	all alphabetically.
	* doc/Makefile.in (CPU_DOCS): Add c-pj.texi.
	* configure, Makefile.in, doc/Makefile.in: Rebuild.
1999-09-04 17:29:22 +00:00
Alan Modra
4ca72d3829 Enable --emulation={i386coff,i386elf} for i386 gas. 1999-09-02 15:12:01 +00:00
Nick Clifton
bcef92fa23 Do not dump literal pool when a .section .line directive is encountered. 1999-09-02 10:39:18 +00:00
Nick Clifton
231b5e2936 slight code improvement over previous delta 1999-09-01 15:32:46 +00:00
Nick Clifton
5856c19ac4 Do not align sectins when producing ELF format objects. 1999-09-01 10:57:19 +00:00
Ian Lance Taylor
d7f1f2b0be fix FSF address 1999-08-31 15:12:20 +00:00
Alan Modra
af6bdddf8c i386 gas code cleanups: combine i386_is_reg and parse_register. 1999-08-30 13:12:54 +00:00
Alan Modra
5f47d35be1 Allow spaces in i386 FP reg names, eg. %st ( 1 ). 1999-08-29 23:44:27 +00:00
Doug Evans
1174497c8a * config/tc-m32r.c (md_parse_option): Delete unrecognized option
error message (done elsewhere).
1999-08-29 20:45:22 +00:00
Jeff Law
97e1581b3f * config/tc-hppa.c (pa_ip): Replace 'f' by 'v'. Prefix float register
args by 'f'.
1999-08-29 07:52:32 +00:00
Jeff Law
9e4f2d3a85 * config/tc-hppa.c (pa_ip): Add args q, %, and |. 1999-08-28 10:59:37 +00:00
Jeff Law
680ef6de90 * config/tc-hppa.c (pa_ip): Absorb white space in instructions
between args.
        Add new completers.  Fix bug in 64 bit condition handling.
1999-08-28 10:18:12 +00:00
Jeff Law
413c94baca * config/tc-hppa.c (pa_ip): Add completer codes 'a', 'ch', 'cH',
'cS', and 'c*'.
1999-08-28 08:48:40 +00:00
Jeff Law
28252e6156 * config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'. 1999-08-28 08:16:30 +00:00
Jeff Law
17d9105c0a * config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers. 1999-08-28 07:23:42 +00:00
Jeff Law
a97685e901 * config/tc-hppa.c (pa_ip): Add cases for '.', '~'. '$'. and '!' 1999-08-28 06:42:06 +00:00
Jeff Law
9ecc05f0de * config/tc-hppa.c (pa_ip): Add case for 'I'. 1999-08-28 06:28:21 +00:00
Alan Modra
b23bac3600 *gas/config/tc-i386.c: Fix errors in displacement size when
automatically inferring an address prefex.
1999-08-20 11:59:19 +00:00
Nick Clifton
50f4163fd6 If an offset is invalid, display it. 1999-08-18 09:12:11 +00:00
Ian Lance Taylor
f589a541dc * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
handle 0xffffNNNN constants correctly.
1999-08-17 18:26:49 +00:00
Nick Clifton
114502711b Look for register conflicts on stores as well as loads. 1999-08-16 17:47:29 +00:00