Commit Graph

805 Commits

Author SHA1 Message Date
Nick Clifton cd17328aad Remove redundant bit from "fa" and "da" flags 2001-01-19 04:35:29 +00:00
Kazu Hirata e5cb08ac57 2001-01-16 Kazu Hirata <kazu@hxi.com>
* config/tc-i386.c: Fix formatting.
2001-01-17 23:41:35 +00:00
Alan Modra 64afeba389 Support hand-crafted .PARISC.unwind entries 2001-01-16 13:52:16 +00:00
Alan Modra 1d3d5051d1 Build unwind info for more than just .text section. 2001-01-16 13:06:14 +00:00
Jim Wilson b44b1b85f3 Fix assembler segfault on gcc/crtstuff.c file.
* config/tc-ia64.c (ia64_flush_insns): Handle unwind directives
	not immediately followed by an instruction.
2001-01-15 23:30:38 +00:00
Kazu Hirata 098f2ec3f5 2001-01-15 Kazu Hirata <kazu@hxi.com>
* config/tc-m68hc11.c: Fix formatting.
2001-01-15 23:09:52 +00:00
Alan Modra fcfd491608 Missed this in last commit "Linux target variants for elfxx-hppa." 2001-01-15 02:36:21 +00:00
Kazu Hirata 19203624a6 2001-01-14 Kazu Hirata <kazu@hxi.com>
* config/tc-arc.c: Fix formatting.
2001-01-15 01:37:20 +00:00
Kazu Hirata 1e07b820d1 2001-01-14 Kazu Hirata <kazu@hxi.com>
* config/tc-arc.c: Fix formatting.
2001-01-14 20:36:41 +00:00
Kazu Hirata bfb32b5207 2001-01-14 Kazu Hirata <kazu@hxi.com>
* config/tc-alpha.c: Fix formatting.
	* config/tc-arc.c: Likewise.
	* config/tc-arc.h: Likewise.
	* config/tc-d10v.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i386.c: Likewise.
	* config/tc-i960.c: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-ppc.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-tahoe.c: Likewise.
	* config/tc-vax.c: Likewise.
2001-01-14 18:54:06 +00:00
Alan Modra c46b75158b Use SEGREL32 relocs for elf32-hppa unwind. 2001-01-14 07:03:49 +00:00
Alan Modra 1328dc9844 Adds assembly and dis-assembly support for the HPPA wide
mode, 16 bit forms of ldi, ldo, ldw and stw instructions.
2001-01-14 05:14:45 +00:00
Jan Hubicka b9d79e0379 * tc-i386.h (TARGET_MACH): New macro.
(i386_mach): Declare.
	* tc-i386.c (i386_mach): New function.
2001-01-13 23:37:57 +00:00
Jan Hubicka e2914f484e * i386.c (md_assemble): Check cpu_flags even for nullary instructions.
* i386.h (i386_optab): Fix pusha and ret templates.

	* i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
	templates.
2001-01-13 09:05:55 +00:00
Alan Modra 6e0b89ee6c Cure recent x86 warts. 2001-01-12 03:34:49 +00:00
Nick Clifton 0d2bcfafbf Updated ARC assembler from arccores.com 2001-01-11 21:20:20 +00:00
Stephane Carrez 8805103910 Fix gas 68HC12 indexed addressing code generation 2001-01-11 20:19:17 +00:00
Stephane Carrez d8273f3bf3 Fix weak symbols for 68HC11 as 2001-01-11 19:42:47 +00:00
Andreas Jaeger eea2ad4501 * config/tc-i386.h (TC_RELOC_GLOBAL_OFFSET_TABLE): Removed, it's
not used anywhere.
2001-01-11 11:38:24 +00:00
Nick Clifton 7a91e76ad1 Allow ADRL relocs to be adjusted in arm-coff 2001-01-11 01:40:18 +00:00
Andreas Jaeger b77a7acd1b 2001-01-08 Bo Thorsen <bo@suse.de>
* config/tc-i386.c (i386_immediate, i386_displacement):
        GOTPCREL check fix.
2001-01-08 09:37:43 +00:00
Jan Hubicka b96d3a207a * configure.in: Define DEFAULT_ARCH for i386.
* tc-i386.c (md_assemble): Return after the error message;
	move testing for 64bit operands to proper place.

	* i386.exp: Add tests for presence of 32bit versus 64bit output
	format; run both 64bit and 32bit tests when format is available;
	add x86_64 test.
	* x86_64.s: New file.
	* x86_64.d: New file.
2001-01-06 12:36:04 +00:00
Jan Hubicka 7bc70a8e57 * tc-i386.c (md_assemble): Handle third byte of the opcode as prefix.
* i386.h (i386_optab): Make [sml]fence template to use immext field.
2001-01-05 12:30:12 +00:00
Jan Hubicka a167610dd0 * tc-i386.c (cpu_arch): Add Pentium4 and modify sledgehammer entry.
* NEWS: Add note about Pentium4 support.
2001-01-04 21:27:56 +00:00
Jan Hubicka 09f131f2b6 * tc-i387.c (pi, pte, pt): Update.
(type_names): Add new types.
2001-01-03 16:27:41 +00:00
Jan Hubicka 6f8c0c4ccc * tc-i386.h (CpuK6, CpuAthlon, CpuSledgehammer, CpuMMX, Cpu3dnow,
CpuUnknown): Renumber
	(CpuP4, CpuSSE2): New.
	(CpuUnknownFlags): Add CpuP4 and CpuSSE2

	* i386.h (i386_optab): Fix 64bit pushf template; Add instructions
	introduced by Pentium4
2001-01-03 15:36:26 +00:00
Phil Blundell b96ed59a57 2001-01-03 Philip Blundell <pb@futuretv.com>
* config/tc-alpha.c (alpha_force_relocation): Handle vtable
	relocs.
	(alpha_fix_adjustable): Likewise.
	(md_apply_fix): Likewise.
2001-01-03 10:03:46 +00:00
Richard Henderson 0a9ef43907 * as.h (rs_align_test): New.
* frags.c (NOP_OPCODE): Move default from read.c.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New default.
	(frag_align_code): New.
	* frags.h (frag_align_code): Declare.
	* read.c (NOP_OPCODE): Remove.
	(do_align): Use frag_align_code.
	* write.c (NOP_OPCODE): Remove.
	(get_recorded_alignment): New.
	(cvt_frag_to_fill): Handle rs_align_test.
	(relax_segment): Likewise.
	(subsegs_finish): Align last subseg in section to the
	section alignment.  Use frag_align_code.
	* write.h (get_recorded_alignment): Declare.
	* config/obj-coff.c (size_section): Handle rs_align_test.
	(fill_section, fixup_mdeps): Likewise.
	(write_object_file): Use frag_align_code.

	* config/tc-alpha.c (alpha_align): Use frag_align_code.
	(alpha_handle_align): New.
	* config/tc-alpha.h (HANDLE_ALIGN): New.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-i386.h (md_do_align): Use frag_align_code.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-ia64.c (ia64_md_do_align): Don't do code alignment.
	(ia64_handle_align): New.
	* config/tc-ia64.h (HANDLE_ALIGN): New.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-m32r.c (m32r_do_align): Remove.
	(m32r_handle_align): New.
	(fill_insn): Use frag_align_code.
	* config/tc-m32r.h (md_do_align): Remove.
	(HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): New.
	* config/tc-m88k.c, config/tc-m88k.h: Similarly.
	* config/tc-mips.c, config/tc-mips.h: Similarly.

	* config/tc-sh.c (sh_cons_align): Use rs_align_test.
	(sh_handle_align): Likewise.  Handle rs_align_code.
	(sh_do_align): Remove.
	* config/tc-sh.h (md_do_align): Remove.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-sparc.c (sparc_cons_align): Use rs_align_test.
	(sparc_handle_align): Likewise.  Handle rs_align_code.
	* config/tc-sparc.h (md_do_align): Remove.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.
2000-12-28 10:07:56 +00:00
DJ Delorie 3cd4dda73e * config/tc-d10v.c (md_assemble): set prev_seg and prev_subseg
when we assemble the first half of a pair.
2000-12-22 22:06:32 +00:00
H.J. Lu ec56dfb4b0 2000-12-22 H.J. Lu <hjl@gnu.org>
* config/tc-i386.c (reloc): Update the macro for non-bfd
	assembler.
	(BFD_RELOC_X86_64_GOTPCREL): Set to 0 for non-bfd assembler.
2000-12-22 20:53:35 +00:00
Jan Hubicka 3e73aa7c95 * tc-i386.h (i386_target_format): Define even for ELFs.
(QWORD_MNEM_SUFFIX): New macro.
	(CpuK6,CpuAthlon,CpuSledgehammer, Cpu64, CpuNo64, CpuUnknownFlags):
	New macros
	(CpuMMX,CpuSSE,Cpu3dnow, CpuUnknown): Renumber.
	(IgnoreSize, DefaultSize, No_?Suf, FWait, IsString, regKludge, IsPrefix,
	ImmExt): Renumber.
	(Size64, No_qSuf, NoRex64, Rex64): New macros.
	(Reg64, Imm32S, Imm64, Disp32S, Disp64): New macros.
	(Imm8, Imm8S, Imm16, Imm32, Imm1, BaseIndex, Disp8, Disp16, Disp32,
	InOutPortReg,ShiftCount, Control, Debug, Test, FloatReg, FloatAcc,
	SReg2, SReg3, Acc, JumpAbsolute, RegMMX, RegXMM, EsSeg, InvMem): Renumber.
	(Reg, WordReg): Add Reg64.
	(Imm): Add Imm32S and Imm64.
	(EncImm): New.
	(Disp): Add Disp64 and Disp32S.
	(AnyMem): Add Disp32S.
	(RegRex, RegRex64): New macros.
	(rex_byte): New type.
	* tc-i386.c (set_16bit_code_flag): Kill.
	(fits_in_unsigned_long, fits_in_signed_long): New functions.
	(reloc): New parameter "signed"; support x86_64.
	(set_code_flag): New.
	(DEFAULT_ARCH): New macro; default to "i386".
	(default_arch): New static variable.
	(struct _i386_insn): New fields Operand_PCrel; rex.
	(flag_16bit_code): Kill; All tests replaced to "flag_code == CODE_64BIT";
	(flag_code): New enum and static variable.
	(use_rela_relocations): New static variable.
	(flag_code_names): New static variable.
	(cpu_arch_flags): Default to CpuUnknownFlags|CpuNo64.
	(cpu_arch): Add "sledgehammer"; Add CPUAthlon to Athlon and CpuK6 to
	K6 and Athlon.
	(i386_align_code): Return plain "nop" for x86_64.
	(mode_from_disp_size): Support Disp32S.
	(smallest_imm_type): Support Imm32S and Imm64.
	(offset_in_range): Support size of 8.
	(set_cpu_arch): Do not clobber to Cpu64/CpuNo64.
	(md_pseudo_table): Add "code64"; use set_code_flat.
	(md_begin): Emit sane error message on hash failure.
	(tc_i386_fix_adjustable): Support x86_64 relocations.
	(md_assemble): Support QWORD_MNEM_SUFFIX, REX registers,
	instructions supported on particular arch just partially,
	output of 64bit immediates, handling of Imm32S and Disp32S type.
	(i386_immedaite): Support x86_64 relocations; support 64bit constants.
	(i386_displacement): Likewise.
	(i386_index_check): Cleanup; support 64bit addresses.
	(md_apply_fix3): Support x86_64 relocation and rela.
	(md_longopts): Add "32" and "64".
	(md_parse_option): Add OPTION_32 and OPTION_64.
	(i386_target_format): Call even for ELFs; choose between
	elf64-x86-64 and elf32-i386.
	(i386_validate_fix): Refuse GOTOFF in 64bit mode.
	(tc_gen_reloc): Support rela relocations and x86_64.
	(intel_e09_1): Support QWORD.

	* i386.h (i386_optab): Replace "Imm" with "EncImm".
	(i386_regtab): Add flags field.
2000-12-20 13:24:13 +00:00
Diego Novillo 21d6c4af5d 2000-12-15 Diego Novillo <dnovillo@redhat.com>
* config/tc-i386.c (intel_e09_1): Only flag as a memory operand if
	it's not an offset expression.
	(intel_e10_1): Ditto. Also, if the operand is an offset expression,
	keep the braces '[' and ']' in the output string.
	(intel_e11): Ditto. Also remove comparison intel_parser.op_modifier
	!= FLAT. There is no such op_modifier.
2000-12-16 05:45:08 +00:00
Alan Modra 0485cba3d3 Rodney Brown's CHECK_FIELD typo fixes. 2000-12-13 06:23:56 +00:00
Jim Wilson 514829c3af Eliminate ia64 compiler warnings. Fix ia64 gas testsuite again.
*  elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
	* config/tc-ia64.h (ia64_init): Add prototype.
	* gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update.
	* ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
	argument.
	* ia64_gen.c (insert_deplist): Cast sizeof result to int.
	(print_dependency_table): Print NULL if semantics field not set.
	(insert_opcode_dependencies): Mark cmp parameter as unused.
	(print_main_table): Use fprintf_vma to print long long fields.
	(main): Mark argv paramter as unused.  Convert to old style definition.
	* ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
	* ia64-asmtab.c: Regnerate.
2000-12-12 22:56:36 +00:00
Geoffrey Keating 8141c27d66 * config/obj-bout.c (obj_crawl_symbol_chain): Don't take
the address of a function result.
2000-12-12 20:48:45 +00:00
Geoffrey Keating 5d6f4f1679 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/tc-ppc.c (md_pseudo_table): Add .file and .loc.
	(md_assemble): Call dwarf2_emit_insn.
	(shlib): Fix typo SHILB -> SHLIB.
	(md_parse_option): Likewise.
	(ppc_elf_validate_fix): Likewise:
	* config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
2000-12-12 20:05:16 +00:00
Nick Clifton e972090a04 Fix formatting 2000-12-12 19:29:24 +00:00
Jan Hubicka f16b83dfe5 * tc-i386.c (md_assemble): Refuse 's' and 'l' suffixes in the intel
mode; convert 'd' suffix to 's' or 'l'; remove all DWORD_MNEM_SUFFIX
	references.
	(intel_e09_1): Convert QWORD to 'l' suffix for FP operations; refuse
	otherwise.
	* tc-i386.h (DWORD_MNEM_SUFFIX): Kill.
	(No_dSuf): Kill.

	* i386.h (*_Suf): Remove No_dSuf.
	(d_suf, wld_Suf,sld_Suf, sldx_Suf, bwld_Suf, d_FP, sld_FP, sldx_FP)
	Remove.
	(i386_optab): Remove 'd' in the suffixes.
2000-12-11 14:01:46 +00:00
Alan Modra 50705ef487 Fix T_SHORT macro conflict. 2000-12-06 02:40:55 +00:00
Kazu Hirata beae10d5eb 2000-12-05 Kazu Hirata <kazu@hxi.com>
* config/tc-mips.c: Fix formatting.
2000-12-05 18:51:08 +00:00
Nick Clifton bccba5f08c Add outputting_stabs_line_debug varaible and D10v code to use it 2000-12-05 00:56:09 +00:00
Kazu Hirata bc80588841 2000-12-03 Kazu Hirata <kazu@hxi.com>
* tc-a29k.c: Fix formatting.
	* tc-alpha.c: Likewise.
	* tc-arm.c: Likewise.
	* tc-cris.c: Likewise.
	* tc-hppa.c: Likewise.
	* tc-i370.c: Likewise.
	* tc-i386.c: Likewise.
	* tc-i860.c: Likewise.
	* tc-i960.c: Likewise.
	* tc-ia64.c: Likewise.
	* tc-m68hc11.c: Likewise.
	* tc-m68k.c: Likewise.
	* tc-m88k.c: Likewise.
	* tc-pj.c: Likewise.
	* tc-ppc.c: Likewise.
	* tc-sh.c: Likewise.
	* tc-sparc.c: Likewise.
	* tc-tahoe.c: Likewise.
	* tc-vax.c: Likewise.
2000-12-03 06:49:23 +00:00
Nick Clifton c6c98b3833 Add MIPS SB1 machine 2000-12-02 01:10:33 +00:00
Nick Clifton 84ea6cf2c5 Add MIPS V and MIPS 64 machine numbers 2000-12-02 00:55:22 +00:00
Nick Clifton e7af610e14 Add MIPS32 as a seperate MIPS architecture 2000-12-01 21:35:38 +00:00
Nick Clifton 4372b67322 Improve MIPS32 support 2000-12-01 20:05:32 +00:00
Nick Clifton 3dacdf2eb1 When calculating offsets, don't accept as constant the difference between the
addresses of symbols in two different sections.
2000-12-01 19:06:15 +00:00
Phil Blundell 4ce3447c16 2000-11-30 Philip Blundell <pb@futuretv.com>
* config/obj-coff.c (obj_coff_weak): Use S_SET_WEAK if it exists,
	even in non BFD_ASSEMBLER case.
2000-12-01 17:11:57 +00:00
Diego Novillo 76a0ddacc0 2000-11-30 Diego Novillo <dnovillo@redhat.com>
* tc-i386.c (md_assemble): Swap i.disp_relocs when using intel
	syntax.

2000-11-30  Diego Novillo  <dnovillo@redhat.com>

	* intel.s, intel.d: New test for @GOT references.
2000-12-01 03:08:32 +00:00
Hans-Peter Nilsson e46fee7099 (parse_reg): Parse names case-insensitively. 2000-11-28 23:53:51 +00:00
Hans-Peter Nilsson dda5ecfc74 (sh_elf_cons): Cast *input_line_pointer to unsigned char when
indexing is_end_of_line[].
	(md_assemble): Initialize size to 0.
	(md_section_align): Mark parameter seg as unused.
2000-11-28 23:48:44 +00:00
Hans-Peter Nilsson 99b222b479 * config/tc-sh.c (md_convert_frag) <undefined symbol, conditional
jump>: Use as_bad_where	instead of as_bad.  Tweak error message
	accordingly.  Stabilize frag by updating fix part and resetting
	variant part.
	<undefined symbol, unconditional jump>: Ditto.
2000-11-28 23:33:45 +00:00
Kazu Hirata 814f664127 2000-11-27 Kazu Hirata <kazu@hxi.com>
* config/obj-aout.h: Fix formatting.
	* config/obj-bout.h: Likewise.
	* config/obj-coff.c: Likewise.
	* config/obj-coff.h: Likewise.
	* config/obj-elf.h: Likewise.
	* config/obj-som.h: Likewise.
	* config/obj-vms.c: Likewise.
	* config/obj-vms.h: Likewise.
	* config/tc-h8300.h: Likewise.
	* config/tc-ns32k.h: Likewise.
	* config/tc-sparc.h: Likewise.
	* config/tc-tic54x.h: Likewise.
	* config/tc-z8k.h: Likewise.
2000-11-28 21:29:02 +00:00
Hans-Peter Nilsson fcdc20a4d3 * config/tc-cris.c: Include dwarf2dbg.h.
(md_pseudo_table): Add .file and .loc.
	(md_assemble): Call dwarf2_emit_insn if generating ELF.
	(s_cris_file, s_cris_loc): New.
	* config/tc-cris.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
	* Makefile.am: Regenerate dependencies.
	* Makefile.in: Regenerate.
2000-11-28 15:39:15 +00:00
Stephane Carrez ae3e85dd27 Fix movw/movb operands for 68HC12 2000-11-26 21:18:15 +00:00
Nick Clifton 077b8428ab Add ARM v5t, v5te and XScale support 2000-11-25 00:21:40 +00:00
Jim Wilson 2434f56546 Eliminate compiler warnings from IA-64 port.
* config/tc-ia64.c (pseudo_func): Add missing initializers.
	(struct rsrc): Make line unsigned.
	(gr_values): Add missing initializer.
	(SLOT_NUM_NOT_SET): Add unsigned cast.
	(ia64_elf_section_flags, output_vbyte_mem, count_output, dot_radix,
	dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save,
	dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata,
	dot_unwentry, dot_altrp, dot_saveg, dot_savef, dot_saveb, dot_savegf,
	dot_spill, dot_spillreg, dot_spillreg_p, dot_label_state,
	dot_copy_state, dot_unwabi, dot_personality, dot_proc, dot_body,
	dot_prologue, dot_endp, dot_regstk, dot_psr, dot_alias, dot_ln,
	dot_reg_val, dot_entry, dot_mem_offset, ia64_init, mark_resource,
	md_undefined_symbol, md_apply_fix3, tc_gen_reloc, ia64_md_do_align):
	Add ATTRIBUTE_UNUSED to unused parameters.
	(convert_expr_to_ab_reg): Add parens.
	(convert_expr_to_xy_reg): Add parens.  Comment out >= REG_GR test.
	(dot_prologue): Initialize grsave when declared.
	(md_pseudo_table): Add missing initializers.
	(operand_match): Add casts to bfd_vma.
	(emit_one_bundle): Delete unused local prev.  Make required_template
	unsigned.
	(specify_resource): Cast i to unsigned.
	(note_register_values): Use fprintf_vma.
	(print_dependency): Likewise.
2000-11-22 23:08:47 +00:00
Jim Wilson 5e7474a7c9 Fix linux kernel unwind section alignment failure.
* config/tc-ia64.c (generate_unwind_image): Call record_alignment
	for unwind info section.
	(dot_endp): Likewise for unwind section.
2000-11-22 02:10:34 +00:00
Jim Wilson 5a080f897a Fix assembler error on linux kernel mm/memory.c file.
* config/tc-ia64.c (emit_one_bundle): Pass size of 8 not 4 to
	fix_new_exp.
2000-11-22 01:12:05 +00:00
Jakub Jelinek b8e904dce5 * config/tc-sparc.h (DWARF2_LINE_MIN_INSN_LENGTH): New. 2000-11-21 21:37:44 +00:00
Jakub Jelinek 732d96b6ca * config/tc-sparc.c (md_pseudo_table): Add .file and .loc.
(output_insn): Call dwarf2_emit_insn.
2000-11-21 12:40:14 +00:00
Nick Clifton 8179bd9b1b Add support for .line and .file pseudo ops. 2000-11-17 18:46:43 +00:00
Richard Henderson 316e2c0578 * config/tc-i386.c (md_pseudo_table): Add .file and .loc. 2000-11-17 18:15:53 +00:00
Richard Henderson a8316fe296 * dwarf2dbg.c (dwarf2_gen_line_info): Early out for no line number.
* config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Adjust for
        tri-state definition of alpha_flag_mdebug.
        * config/tc-alpha.c (alpha_flag_mdebug): Init to -1.
        (s_alpha_file): Store first .file directive.
        (s_alpha_stab): New.
        (md_pseudo_table): Add stabs and stabn.
2000-11-17 18:07:33 +00:00
Richard Henderson e346e481c2 * config/tc-i386.c (md_assemble): Call dwarf2_emit_insn. 2000-11-17 09:28:04 +00:00
Richard Henderson 4dc7ead9fd * as.c (debug_type): Init to DEBUG_UNSPECIFIED.
* as.h (debug_type): Clarify documentation of the meaning
	of this variable.
	* dwarf2dbg.c (DWARF2_LINE_MIN_INSN_LENGTH): Default to 1.
	(print_stats): Fix parenthesis problem.
	(now_subseg_size): New.
	(dwarf2_finish): Use it.  If DEBUG_DWARF2, emit bits for .debug_info.
	(dwarf2_directive_file): Don't set debug_type.
	(dwarf2_where): Honor DEBUG_DWARF2 first.
	(dwarf2_emit_insn): Renamed from dwarf2_generate_asm_lineno;
	do nothing if not emitting dwarf2 debug info, or no work.
	* dwarf2dbg.h (dwarf2_emit_insn): Update.
	* ecoff.c (add_file): Turn on DEBUG_ECOFF only if DEBUG_UNSPECIFIED.
	(ecoff_new_file): Likewise.
	* read.c (generate_lineno_debug): Kill ecoff hackery.  Update
	commentary wrt dwarf2.

	* config/tc-alpha.c (alpha_adjust_symtab_relocs): Add
	ATTRIBUTE_UNUSED as needed.
	(emit_insn): Call dwarf2_emit_insn.
	(s_alpha_file): New.
	(s_alpha_loc): New.
	(s_alpha_coff_wrapper): Don't handle them.
	(md_pseudo_table): Update for .file and .loc.
	* config/tc-alpha.h (DWARF2_LINE_MIN_INSN_LENGTH): New.

	* config/tc-arm.c (output_inst): Update for dwarf2_emit_insn;
	don't protect with debug_type.
	* config/tc-hppa.c (md_assemble): Likewise.
	* config/tc-m68hc11.c (m68hc11_new_insn): Likewise.
	* config/tc-mn10300.c (md_assemble): Likewise.
	* config/tc-sh.c (md_assemble): Likewise.
	* config/tc-v850.c (md_assemble): Likewise.

	* config/tc-arm.c (arm_end_of_source): Remove.
	* config/tc-hppa.c (pa_end_of_source): Remove.
	* config/tc-m68hc11.c (m68hc11_end_of_source): Remove.
	* config/tc-mn10300.c (mn10300_finalize): Remove.
	* config/tc-sh.c (sh_finalize): Remove.
	* config/tc-v850.c (sh_finalize): Remove.

	* config/tc-arm.h (md_end): Remove.
	* config/tc-hppa.h (md_end): Remove.
	(DWARF2_LINE_MIN_INSN_LENGTH): New.
	* config/tc-m68hc11.h (md_end): Remove.
	* config/tc-mn10300.h (md_end): Remove.
	* config/tc-sh.h (md_end): Remove.
	* config/tc-v850.h (md_end): Remove.

	* config/tc-ia64.c (emit_one_bundle): Don't protect
	dwarf2 bits with debug_type.
	(md_assemble): Likewise.
	(ia64_end_of_source): Don't call dwarf2_finish.
2000-11-17 08:47:52 +00:00
Jim Wilson ca683b78f3 Fix minor typos in recent errata workaround patch.
* config/tc-ia64.c (errata_nop_necessary_p): Abort if general regno
	>= 128 instead of > 128.  Abort if predicate regno is >= 64 instead of
	> 16.
2000-11-16 23:52:01 +00:00
H.J. Lu 6f62085610 2000-11-16 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (obj_elf_symver): Don't check the missing
	version name.
2000-11-16 19:29:12 +00:00
Kazu Hirata 19d63e5d2d 2000-11-15 Kazu Hirata <kazu@hxi.com>
* config/tc-tic30.c: Fix formatting.
	* config/tc-tic80.c: Likewise.
	* config/tc-v850.c: Likewise.
	* config/tc-vax.c: Likewise.
	* config/tc-w65.c: Likewise.
	* config/tc-z8k.c: Likewise.
2000-11-16 00:59:49 +00:00
DJ Delorie a8761a19f4 * config/tc-v850.c: Support dwarf2.
* config/tc-v850.h: Ditto.

* config/tc-v850.c (cons_fix_new_v850): Don't rely on
parse_cons_expression_v850 to initialize hold_cons_reloc.
2000-11-15 19:22:22 +00:00
Bernd Schmidt 88be23ec6a Workaround for Itanium A/B step errata 2000-11-15 17:34:00 +00:00
Jim Wilson 72a76794c1 Extend earlier ia64-hpux patches to work correctly for ia64-linux.
* config/tc-ia64.c (ia64_target_format): If EF_IA_64_BE not set, then
	return little endian bfd formats.
2000-11-14 23:56:38 +00:00
Kazu Hirata 4a1805b14d 2000-11-14 Kazu Hirata <kazu@hxi.com>
* config/aout_gnu.h: Fix formatting.
	* config/atof-vax.c: Likewise.
	* config/m68k-parse.h: Likewise.
	* config/m88k-opcode.h: Likewise.
	* config/obj-elf.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-cris.c: Likewise.
	* config/tc-i386.c: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-mn10300.c: Likewise.
	* config/te-386bsd.h: Likewise.
	* config/te-hppa.h: Likewise.
	* config/te-nbsd.h: Likewise.
	* config/te-ppcnw.h: Likewise.
	* config/te-sparcaout.h: Likewise.
	* config/te-tmips.h: Likewise.
	* config/vax-inst.h: Likewise.
	* config/vms-conf.h: Likewise.
2000-11-14 20:57:30 +00:00
Jakub Jelinek c810873da1 * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
by STO_ALPHA constants.

	* config/tc-alpha.c (s_alpha_prologue): Preserve visibility bits.
2000-11-14 20:46:25 +00:00
H.J. Lu 79082ff0c6 2000-11-13 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (elf_frob_symbol): Support
	".symver name,name2@@@nodename".
	(elf_frob_file_before_adjust): Likewise.

	* doc/as.texinfo: Updated for ".symver name,name2@@@nodename"
	and ".symver name,name2@@@nodename".
	Fix a typo.
2000-11-13 21:23:34 +00:00
H.J. Lu 1da00eb45d 2000-11-12 H.J. Lu (hjl@gnu.org)
* config/obj-elf.c (obj_elf_symver): Check missing version
	name.
2000-11-13 01:12:31 +00:00
Jim Wilson f5a30c2e6e Correct unwind region length calculations.
* config/tc-ia64.c (struct unw_rec_list): Add slot_frag field.
	(struct unwind): Add next_slot_frag field.
	(slot_index): New parameters slot_frag and first_frag.  Add code
	to add in frag sizes when different.  Add comments.
	(fixup_unw_records): New locals first_frag and last_frag.  Pass new
	arguments to slot_index.
	(emit_one_bundle): Set slot_frag field.  Set next_slot_number after
	loop end.  Set next_slot_frag field.
2000-11-08 20:55:21 +00:00
H.J. Lu 339681c049 2000-11-07 H.J. Lu <hjl@gnu.org>
* doc/as.texinfo (.symver): Updated for versioned symbol
	reference.

	* obj.h (format_ops): Add the frob_file_before_adjust field.

	* config/obj-aout.c (aout_format_ops): Set the
	frob_file_before_adjust field to 0.
	* config/obj-coff.c (coff_format_ops): Likewise.
	* config/obj-ecoff.c (ecoff_format_ops): Likewise.

	* config/obj-elf.c (obj_elf_symver): Allow duplicated version
	name.
	(elf_frob_file_before_adjust): New function to remove unneeded
	versioned symbols from the symbol table.
	(elf_format_ops): Set the frob_file_before_adjust field to
	elf_frob_file_before_adjust.

	* config/obj-elf.h (obj_frob_file_before_adjust): Defined if
	not defined.

	* config/obj-multi.h (obj_frob_file_before_adjust): Defined.
2000-11-08 00:24:23 +00:00
Nick Clifton 4a314ec807 Apply patch from Peter Targett to fix building arc-elf32 target. 2000-11-08 00:06:34 +00:00
Jim Wilson 44f5c83ad3 ia64-hpux patches from Steve Ellcey.
* config/tc-ia64.c (md_shortopts, md_parse_option, md_show_usage):
	Change M to m for -milp32 or -mlp64 to match gcc.
	(dot_endp): Use bytes_per_address instead of 8.
	(emit_one_bundle): Use number_to_chars_littleendian instead of
	md_number_to_chars.
	(fix_insn): Likewise.
	(ia64_init): New function.
	(ia64_target_format): New function.
	(md_begin): Set endianness, arch, and machine as appropriate.
	* config/tc-ia64.h: (TARGET_BYTES_BIG_ENDIAN, md_number_to_chars):
	Make these macros depend on TE_HPUX macro.
	(TARGET_FORMAT): Define.
	(HOST_SPECIAL_INIT): Define.
	* config/te-hpux.h: New file.
	* configure.in: Add "ia64-*-hpux*" target to configure.
	* configure: Regenerate.
2000-11-07 01:21:10 +00:00
Nick Clifton 8d6b5c8e2f Add include of "dwarf2dbg.h" 2000-11-05 19:28:57 +00:00
Nick Clifton 37d8bb275b Preserve copy of case clobber opcodes so that .req pseudo op works 2000-11-02 19:32:47 +00:00
Nick Clifton d75bb8cff6 SWitch over to using dwarf2_generate_asm_lineno 2000-11-02 19:17:04 +00:00
Phil Blundell 6c17cfe4d2 2000-11-02 Theo Honohan <th@futuretv.com>
* config/tc-arm.c (do_msr): Improve error message.
2000-11-02 15:10:57 +00:00
Eric Christopher c51ce5f064 2000-10-31 Eric Christopher <echristo@cygnus.com>
* config/tc-mn10300.c (md_apply_fix3): Use valuep if fully resolved
	or pc-relative, else use fx_offset.
2000-11-01 00:54:00 +00:00
Jim Wilson f1bcba5b90 Add tag support. Error for dangling qualifying predicates.
* config/tc-ia64.c (struct md): New field tag_fixups.
	(ia64_flush_insns): Handle tag_fixups.  Error if dangling
	qualifying predicate.
	(emit_one_bundle): Delete spurious multiplication by one.  Handle
	tag_fixups.
	(ia64_start_line): Error if dangling qualifying predicate.
	(defining_tag): New static variable.
	(ia64_unrecognized_line, case '['): Parse tags.
	(ia64_frob_label): Create tag_fixups.
	(md_assemble): Reset md.qp.X_op after using it.
2000-11-01 00:00:34 +00:00
Alan Modra 8637c0456a Kaz Kojima's BFD_RELOC_SH_PCDISP12BY2 fix. 2000-10-31 12:33:13 +00:00
Bernd Schmidt ebeeafe61c Better bundle template selection 2000-10-31 10:30:11 +00:00
Hans-Peter Nilsson 1308f14c97 * config/tc-sh.c (md_apply_fix): For ELF, do not "adjust back" VAL
for weak symbols.
2000-10-30 20:26:42 +00:00
Aldy Hernandez bf1b588105 handle lower cased cpsr and spsr 2000-10-27 13:55:49 +00:00
Nick Clifton 85a3969410 Add --gdwarf2 support to ARM toolchain 2000-10-25 19:15:34 +00:00
Diego Novillo cce0cbdcd7 2000-10-25 Diego Novillo <dnovillo@cygnus.com>
* tc-i386.c: Fix prototype declarations for functions taking no
	arguments.
2000-10-25 11:42:51 +00:00
Diego Novillo 64a0c77978 2000-10-24 Diego Novillo <dnovillo@cygnus.com>
* tc-i386.c (i386_operand_modifier): Remove.
	(build_displacement_string): Remove.
	(i386_parse_seg): Remove.
	(i386_intel_memory_operand): Remove.
	(i386_intel_operand): Re-write using recursive descent parser based
	on MASM documentation.
	(struct intel_parser_s): New structure.
	(intel_parser): New static variable.
	(struct intel_token): New structure.
	(cur_token, prev_token): New static variables.
	(T_NIL): Define.
	(T_CONST): Define.
	(T_REG): Define.
	(T_BYTE): Define.
	(T_WORD): Define.
	(T_DWORD): Define.
	(T_QWORD): Define.
	(T_XWORD): Define.
	(T_SHORT): Define.
	(T_OFFSET): Define.
	(T_PTR): Define.
	(T_ID): Define.
	(intel_match_token): New function.
	(intel_get_token): New function.
	(intel_putback_token): New function.
	(intel_expr): New function.
	(intel_e05): New function.
	(intel_e05_1): New function.
	(intel_e06): New function.
	(intel_e06_1): New function.
	(intel_e09): New function.
	(intel_e09_1): New function.
	(intel_e10): New function.
	(intel_e10_1): New function.
	(intel_e11): New function.

2000-10-24  Diego Novillo  <dnovillo@cygnus.com>

	* intel.s, intel.d: Add new tests for intel syntax.
2000-10-25 01:39:11 +00:00
Jakub Jelinek 19f7b01094 gas/
* config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p
	instructions to loose any special insn->architecture mask.

	* config/tc-sparc.c (v9a_asr_table): Add v9b ASRs.
	(sparc_md_end, sparc_arch_types, sparc_arch,
	sparc_elf_final_processing): Handle v8plusb and v9b architectures.
	(sparc_ip): Handle siam mode operands. Support v9b ASRs (and
	request v9b architecture if they are used).

bfd/
	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
	elf32_sparc_object_p, elf32_sparc_final_write_processing):
	Support v8plusb.
	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
	sparc64_elf_object_p): Support v9b.
	* archures.c: Declare v8plusb and v9b machines.
	* bfd-in2.h: Ditto.
	* cpu-sparc.c: Ditto.

include/opcode/
	* sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
	Note that '3' is used for siam operand.

opcodes/
	* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
	(compute_arch_mask): Add v8plusb and v9b machines.
	(print_insn_sparc): siam mode decoding, accept ASRs up to 25.
	* opcodes/sparc-opc.c: Support for Cheetah instruction set.
	(prefetch_table): Add #invalidate.
2000-10-20 10:38:47 +00:00
Nick Clifton 3ae647a0a9 Fix the previous misapplied patch. 2000-10-18 19:26:57 +00:00
Nick Clifton 5cbdaa7740 RELAX_RELOC_*: New definitions for both BFD_ASSEMBLER and !BFD_ASSEMBLER. 2000-10-18 17:42:27 +00:00
Hans-Peter Nilsson 266cb5f1fb * config/tc-sh.c (JREG): Remove.
(md_convert_frag): Remove #if 0:d code using JREG.
2000-10-16 19:44:39 +00:00
Diego Novillo 6588847e4f gas:
2000-10-15  Diego Novillo  <dnovillo@cygnus.com>

	* config/tc-i386.c (i386_operand_modifier): Only match
	modifiers SHORT and FLAT if they are followed by a space.
	(parse_register): When `allow_naked_reg' is set, do not confuse
	identifiers that start with a register name with a register.

gas/testsuite:

2000-10-15  Diego Novillo  <dnovillo@cygnus.com>

	* intel.s, intel.d: Add new tests for naked registers using intel
	syntax.
2000-10-15 06:17:36 +00:00
Alan Modra d01e2a23a3 Revert 2000-10-07 link-once section symbol changes. 2000-10-11 07:05:02 +00:00
Alan Modra dc1fc56bde (md_apply_fix): Remove bad assert added 2000-09-26. 2000-10-07 14:38:32 +00:00
Alan Modra 44852b190c Make elf section symbols global for link-once sections. 2000-10-07 12:52:15 +00:00
Jim Wilson afa680f89a Minor DV table update, minor DV checking bug fix.
* config/tc-ia64.c (resources_match): Handle IA64_RS_PRr.
	* ia64-ic.tbl: Update from Intel.
	* ia64-asmtab.c: Regenerate.
2000-10-05 21:55:25 +00:00
Alan Modra ce8a8b2f62 Correct handling of non-global syms in linkonce sections.
Tidy a few comments.
2000-10-05 01:49:36 +00:00
Alan Modra 56d27c17b8 Excise C++ style comments. 2000-10-04 00:28:45 +00:00
Hans-Peter Nilsson 7b15d66830 Changes to handle varying register prefix and user symbol prefix.
* config/tc-cris.c (SYNTAX_RELAX_REG_PREFIX,
	SYNTAX_ENFORCE_REG_PREFIX, SYNTAX_USER_SYM_LEADING_UNDERSCORE,
	SYNTAX_USER_SYM_NO_LEADING_UNDERSCORE, REGISTER_PREFIX_CHAR): New.
	(s_syntax, cris_force_reg_prefix, cris_relax_reg_prefix,
	cris_sym_leading_underscore, cris_sym_no_leading_underscore): New.
	(demand_register_prefix): New variable.
	(md_pseudo_table): New pseudo ".syntax".
	(md_longopts): New options --no-underscore and --underscore.
	(cris_target_format): Return elf32-us-cris or elf32-cris depending
	on symbols_have_leading_underscore.
	(get_gen_reg): Accept or require REGISTER_PREFIX_CHAR.
	(get_spec_reg): Ditto.
	(cris_number_to_imm) <case BFD_RELOC_VTABLE_ENTRY>: Remove FIXME.
	Fix formatting.
	(md_parse_option) <case 'h' 'H'>: Deprecate; add reference to
	--help.
	<case OPTION_NO_US, case OPTION_US>: New.
	(md_show_usage): Be brief and reformat to match continuation of
	--help.
	* po/gas.pot: Regenerate.
2000-09-29 18:01:23 +00:00
Alan Modra 27df9f40e4 For SOM, don't force relocs on out-of-range 12 bit branches. 2000-09-28 06:24:43 +00:00
Alan Modra 5506e1a5d8 External/weak SOM fixes, branch limit corrections. 2000-09-27 16:50:39 +00:00
Kazu Hirata 81d4177baa 2000-09-25 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Fix formatting.
	* config/tc-d10v.h: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-d30v.h: Likewise.
	* config/tc-fr30.c: Likewise.
	* config/tc-fr30.h: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-m68k.h: Likewise.
	* config/tc-pj.h: Likewise.
	* config/tc-ppc.c: Likewise.
	* config/tc-ppc.h: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sh.h: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-v850.h: Likewise.
	* config/tc-vax.h: Likewise.
	* config/tc-w65.h: Likewise.
	* config/tc-z8k.h: Likewise.
2000-09-26 07:09:19 +00:00
Alan Modra 959ee54136 * config/tc-hppa.c (hppa_fix_adjustable): Do the external and weak
checks only for ELF.
(hppa_force_relocation): Likewise.
2000-09-23 10:06:15 +00:00
Jim Wilson 139368c9f3 Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog
	* config/tc-ia64.c (dv_sem): Add "stop".
	(specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
	(specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
	(specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
	match above.
	(mark_resources): Check IA64_RS_PRr.
gas/testsuite/ChangeLog
	* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
	* gas/ia64/dv-waw-err.s: Likewise.
	* gas/ia64/dv-imply.d: Regenerate.
	* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
	gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.
include/opcode/ChangeLog
	* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
opcodes/ChangeLog
	* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
	* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
	(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
	* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
	* ia64-asmtab.c: Regnerate.
2000-09-22 19:43:50 +00:00
Nick Clifton 151337e879 Redesign and clean up the relaxation mechanism. 2000-09-22 17:33:55 +00:00
Kazu Hirata 0b7410c4da 2000-09-21 Kazu Hirata <kazu@hxi.com>
* config/tc-ns32k.c: Fix formatting.
	* config/tc-ns32k.h: Likewise.
2000-09-21 20:26:34 +00:00
Kazu Hirata 82efde3a56 2000-09-20 Kazu Hirata <kazu@hxi.com>
* config/tc-m32r.c: Fix formatting.
	* config/tc-m32r.h: Likewise.
	* config/tc-m68851.h: Likewise.
	* config/tc-m68hc11.c: Likewise.
	* config/tc-m68hc11.h: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-mips.h: Likewise.
	* config/tc-mn10200.h: Likewise.
	* config/tc-mn10300.h: Likewise.
2000-09-20 22:05:08 +00:00
Kazu Hirata a75214e5d4 2000-09-20 Kazu Hirata <kazu@hxi.com>
* config/tc-mcore.c: Fix formatting.
	* config/tc-mcore.h: Likewise.
2000-09-20 21:12:43 +00:00
Kazu Hirata a4d24084f1 2000-09-20 Kazu Hirata <kazu@hxi.com>
* config/tc-tahoe.c: Fix formatting.
	* config/tc-tahoe.h: Likewise.
2000-09-20 13:14:47 +00:00
Nick Clifton a05388f48b Remove jbssi and jbcci. 2000-09-19 23:10:01 +00:00
Alan Modra 9e75421134 * config/tc-hppa.h (TC_FORCE_RELOCATION_SECTION): For ELF, allow
subtraction of two syms without emitting a relocation.
* config/tc-hppa.c (hppa_force_relocation): Force relocations for
global or weak symbols.
2000-09-18 12:36:03 +00:00
Kazu Hirata 4a4f25cfde 2000-09-15 Kazu Hirata <kazu@hxi.com>
* config/tc-h8300.h: Fix formatting.
	* config/tc-h8500.c: Likewise.
	* config/tc-h8500.h: Likewise.
	* config/tc-hppa.h: Likewise.
	* config/tc-i370.h: Likewise.
	* config/tc-i386.h: Likewise.
	* config/tc-i860.c: Likewise.
	* config/tc-i860.h: Likewise.
	* config/tc-i960.h: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-ia64.h: Likewise.
2000-09-16 00:56:47 +00:00
Kazu Hirata 1dab94dd91 2000-09-14 Kazu Hirata <kazu@hxi.com>
* config/tc-a29k.c: Fix formatting.
	* config/tc-alpha.c: Likewise.
	* config/tc-arc.c: Likewise.
	* config/tc-arc.h: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-arm.h: Likewise.
	* config/tc-avr.c: Likewise.
	* config/tc-avr.h: Likewise.
	* config/tc-tic30.c: Likewise.
	* config/tc-tic30.h: Likewise.
	* config/tc-tic54x.c: Likewise.
	* config/tc-tic54x.h: Likewise.
	* config/tc-tic80.c: Likewise.
	* config/tc-tic80.h: Likewise.
2000-09-15 01:06:52 +00:00
Timothy Wall 7484b8e6d9 Eliminate false DVs on parallel compares. 2000-09-14 21:37:04 +00:00
Kazu Hirata bf514e2154 2000-09-13 Kazu Hirata <kazu@hxi.com>
* config/obj-ecoff.c: Fix formatting.
	* config/obj-elf.c: Likewise.
	* config/obj-elf.h: Likewise.
	* config/obj-evax.h: Likewise.
	* config/obj-generic.h: Likewise.
	* config/obj-hp300.c: Likewise.
	* config/obj-hp300.h: Likewise.
	* config/obj-ieee.h: Likewise.
	* config/obj-vms.c: Likewise.
	* config/obj-vms.h: Likewise.
2000-09-14 11:48:26 +00:00
Nick Clifton 156c2f8bf7 Add support for the MIPS32 2000-09-14 01:47:38 +00:00
Kazu Hirata dcd619bedd 2000-09-12 Kazu Hirata <kazu@hxi.com>
* config/obj-aout.c: Fix formatting.
	* config/obj-aout.h: Likewise.
	* config/obj-bout.c: Likewise.
	* config/obj-bout.h: Likewise.
	* config/obj-coff.c: Likewise.
	* config/obj-coff.h: Likewise.
2000-09-12 21:49:09 +00:00
Kazu Hirata 92774660ac 2000-09-11 Kazu Hirata <kazu@hxi.com>
* config/tc-i370.c: Fix formatting.
	* config/tc-i960.c: Likewise.
	* config/tc-m68k.c: Likewise.
2000-09-11 19:49:46 +00:00
Phil Blundell e0e3ecca5c 2000-09-08 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when
	offset is negative.
2000-09-08 21:05:33 +00:00
Kazu Hirata e13b337af5 2000-09-07 Kazu Hirata <kazu@hxi.com>
* config/tc-vax.c: Fix formatting.
	* input-scrub.c: Likewise.
2000-09-07 20:28:45 +00:00
Kazu Hirata bdaaa2e114 2000-09-07 Kazu Hirata <kazu@hxi.com>
* config/tc-mips.c: Fix formatting.
2000-09-07 12:45:56 +00:00
Alexandre Oliva d07ed2cd8e * config/tc-sh.h (TARGET_FORMAT): Use sh-linux targets.
* configure.in (sh-*-linux*): Added.
* configure: Rebuilt.
2000-09-07 04:26:37 +00:00
Jeff Law a28a3ccf6a > * config/tc-hppa.c: Fix formatting. 2000-09-07 01:34:02 +00:00
Kazu Hirata 542d6675fa 2000-09-03 Kazu Hirata <kazu@hxi.com>
* cgen.c: Fix formatting.
	* config/tc-ia64.c: Likewise.
2000-09-06 02:36:20 +00:00
Hans-Peter Nilsson 07e90ad5b7 * config/tc-cris.c: Correct comment typos. 2000-09-05 21:35:01 +00:00
Eric Christopher 1485d40032 2000-09-05 Eric Christopher <echristo@cygnus.com>
* config/tc-mn10300.c: Cleanup.
	(md_pcrel_from): Enable.
2000-09-05 21:01:39 +00:00
Alan Modra ecacdc7a62 .reg improvements. 2000-09-05 03:45:18 +00:00
Alan Modra 904a31bffc Munge in vtable support for tc-hppa.c, inform elf back-end about
millicode, and make $PIC_pcrel$0 work.
2000-09-05 03:23:05 +00:00
Richard Henderson 032efc8517 * config/tc-ia64.c (emit_one_bundle): Stop collecting insns
for template selection when a label is needed.
2000-09-03 09:36:57 +00:00
Kazu Hirata 197865e878 2000-09-02 Kazu Hirata <kazu@hxi.com>
* config/tc-ia64.c: Fix formatting.
2000-09-03 00:04:40 +00:00
Alexandre Oliva a1cc9221e2 * config/tc-sh.h [OBJ_ELF] (TC_FIX_ADJUSTABLE): Define.
* config/tc-sh.c (md_apply_fix): Map 32-bit relocations that
become PC-relative to BFD_RELOC_32_PCREL.  Reject 16- or 8-bit
similar relocs.
(sh_obj_adjustable): Return 1 for PC-relative offsets used in
branches.


* config/tc-sh.h (DIFF_EXPR_OK, GLOBAL_OFFSET_TABLE_NAME,
TC_RELOC_GLOBAL_OFFSET_TABLE, TC_RELOC_RTSYM_LOC_FIXUP): Define.
* config/tc-sh.c (sh_elf_cons, sh_elf_suffix): New functions.
[OBJ_ELF] (md_pseudo_table) <long, int, word, short>: Use them.
(GOT_symbol): New variable.
(md_undefined_symbol): Set it.
2000-09-02 02:36:27 +00:00
Richard Henderson 44576e1fc1 * config/tc-ia64.c (match): Don't inline.
(extra_goodness): New.
        (md_begin): Prefer nop.f and nop.b for best_template.
2000-09-02 01:02:41 +00:00
Eric Christopher b4c1ea07cd 2000-08-31 Eric Christopher <echristo@cygnus.com>
* config/tc-mn10300.c:  Cleanup and fix warnings.
	(md_pseudo_table): Add initializers.
	(md_show_usage): Cleanup.
	(md_parse_option): Fix warnings.
	(md_undefined_symbol): Fix warnings.
	(md_conver_frag): Fix warnings.
	(tc_gen_reloc): Fix warnings.
	(md_apply_fix3): Fix warnings.
	(check_operand): Fix warnings.
2000-08-31 18:30:51 +00:00
Geoffrey Keating e0c2164971 In src/gas/ChangeLog:
2000-08-30  Mark Hatle  <mhatle@mvista.com>

	* config/tc-ppc.c (md_parse_option): Recognize -m405.

In src/opcodes/ChangeLog:
2000-08-30  Mark Hatle  <mhatle@mvista.com>

	* ppc-opc.c Add XTLB macro for a few PPC 4xx extended mnemonics.
	(powerpc_opcodes): Add table entries for PPC 405 instructions.
	Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
	instructions.
	Added extended mnemonic mftbl as defined in the 405GP manual
	for all PPCs.
2000-08-31 06:48:49 +00:00
Nick Clifton 1e8d20f4cc Correctly calculate the pc relative offset of the target destination for jmp
instructions.
2000-08-25 18:40:16 +00:00
Denis Chertykov 70a516efd4 * config/tc-avr.h (TC_IMPLICIT_LCOMM_ALIGNMENT): New macros.
Sets `.lcomm' alignment to zero.
2000-08-24 16:50:21 +00:00
Alexandre Oliva 4b853faa33 * config/tc-i386.h <OBJ_MAYBE_ELF, OBJ_MAYBE_COFF>
(TC_FIX_ADJUSTABLE): Define.
2000-08-23 21:12:48 +00:00
Jim Wilson efcc591461 Fix unwind section bug found by linux kernel.
* config/tc-ia64.c (output_unw_records): Set U & E flags only if
	unwind.personality_routine is set.
2000-08-23 20:36:38 +00:00
Alexandre Oliva a3da4de1ac * config/tc-i386.h (TC_FIX_ADJUSTABLE): Do *NOT* define if target
environment is pe.
2000-08-23 11:19:20 +00:00
H.J. Lu 56385375da 2000-08-22 H.J. Lu <hjl@gnu.org>
* config.in (STRICTCOFF): New for strict COFF.

	* configure.in: Define STRICTCOFF for i386-*-msdosdjgpp*,
	i386-*-go32* and i386-go32-rtems*.
	* configure: Rebuilt.

	* config/obj-coff.c (obj_coff_endef): Follow the historical
	behavior if STRICTCOFF is not defined.

	* doc/internals.texi: Document STRICTCOFF.
2000-08-22 19:14:32 +00:00
Alexandre Oliva 8f36cd18af * write.c (TC_FIX_ADJUSTABLE): Define to 1, if not defined.
(fixup_segment) Use it instead of TC_DONT_FIX_NON_ADJUSTABLE.
* config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
<OBJ_ELF, OBJ_COFF, TE_PE> (TC_FIX_ADJUSTABLE): Define.
* config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
<OBJ_ELF> (TC_FIX_ADJUSTABLE): Define.
* config/tc-i960.h, config/tc-m68k.h, config/tc-v850.h:
Likewise.
2000-08-22 04:52:40 +00:00
Eric Christopher 58a77e418b 2000-08-22 Eric Christopher <echristo@cygnus.com>
* config/tc-mn10300.c: (md_apply_fix): New function.
	(mn10300_force_relocation): New function.
	(mn10300_fix_adjustable): New function.

	* config/tc-mn10300.h: (TC_FORCE_RELOCATION): Define.
	(TC_HANDLES_FX_DONE): Define.
	(obj_fix_adjustable): Define.
	(MD_APPLY_FIX3): Define.
	(TC_LINKRELAX_FIXUP): Define.

	* write.c: (TC_LINKRELAX_FIXUP):  Define if not
	previously defined.
	(fixup_segment): Use TC_LINKRELAX_FIXUP.

	* doc/internals.texi: Document TC_LINKRELAX_FIXUP.
2000-08-22 01:20:41 +00:00
Jason Eckhardt ded0649cd5 2000-08-21 Jason Eckhardt <jle@cygnus.com>
bfd:
	* elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
	field with the newly relocated value instead of adding it to the
	existing immediate field.
	(elf32_i860_relocate_splitn): Likewise.
	(elf32_i860_relocate_highadj): Likewise.

gas:
	* config/tc-i860.c (md_apply_fix3): Do not insert the immediate
	if the fixup resulted in a relocation.
2000-08-21 23:26:19 +00:00
Nick Clifton 66102fe268 Replace as_tsktsk with as_warn.
Make reference to first element of shift_names explicit.
2000-08-18 19:27:30 +00:00
Alexandre Oliva 021986386e * write.c (fixup_segment) [TC_DONT_FIX_NON_ADJUSTABLE]: Use
obj_fix_adjustable() and tc_fix_adjustable() to tell whether to
add a symbol's address.  Removed all target-specific #ifdefs that
used to accomplished the same.
* config/tc-v850.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-m68k.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-i960.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
2000-08-18 18:45:05 +00:00
Nick Clifton 004af544ae Minor formatting changes 2000-08-17 23:57:52 +00:00
Nick Clifton 4fb7971f4b Allow illegal shifts by zero to be recorded as logical shift lefts by zero. 2000-08-17 23:46:43 +00:00
Jim Wilson 50b81f1903 Fix 3 DV bugs, and a few minor cleanups.
gas/
	* config/tc-ia64.c (specify_resource, case IA64_RS_GR): Handle
	postincrement modified registers.  Handle IA64_OPND_R3_2 addl
	source registers.
	(note_register_values): Handle IA64_OPND_R3_2 operands.
gas/testsuite/
	* gas/ia64/dv-raw-err.s: Add new tests for addl and postinc.
	* gas/ia64/dv-raw-err.l: Likewise.
	* gas/ia64/dv-waw-err.l: Update sed pattern.
	* gas/ia64/opc-f.pl: Delete fpsub, and fpadd comment.
	* gas/ia64/opc-f.s, gas/ia64/opc-f.d: Regenerate.
include/opcode/
	* ia64.h (IA64_OPCODE_POSTINC): New.
opcodes/
	* ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds.  Delete
	break, mov-immediate, nop.
	* ia64-opc-f.c: Delete fpsub instructions.
	* ia64-opc-m.c: Add POSTINC to all instructions with postincrement
	address operand.  Rewrite using macros to avoid long lines.
	* ia64-opc.h (POSTINC): Define.
	* ia64-asmtab.c: Regenerate.
2000-08-16 23:20:15 +00:00
Jason Eckhardt f869cfc65e 2000-08-16 Jason Eckhardt <jle@cygnus.com>
* config/tc-i860.c (md_operand): Silly typo fixed.
2000-08-16 21:34:45 +00:00
Nick Clifton 8cb8bcbabb Tidy up decoding of shift based addressing modes.
Add extra tests for these addressing modes
2000-08-16 19:02:00 +00:00
Jakub Jelinek c2158c2433 * config/tc-sparc.c: Kill all warnings.
(md_parse_option): Set -32/-64 for -xarch=, allow all -A archs
	in -xarch= as well.
	(md_show_usage): Update usage text.
2000-08-16 17:52:37 +00:00
Nick Clifton 70485b5c18 Warn abouyt "bx pc" not being very useful. 2000-08-16 17:48:50 +00:00
Jeff Law 0d10e18267 * config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Defined.
* config/tc-sh.c (md_assemble): Changed so debug_type
	test performed for ppi_assemble
	* config/tc-sh.c: Included dwarf2dbg.h.
	(debug_line): Defined.
	(md_assemble): Generates dwarf2 line info.
	(sh_finalize): New function.  Finalize dwarf2 info.
	(assemble_ppi): Returns size of code generated.
	(build_Mytes): Returns size of code generated.
	(md_pseudo_table): Added "file" and "loc" psuedo ops.
	* config/tc-sh.h (md_end): Defined.
	(sh_finalize): Declared.
2000-08-15 20:47:19 +00:00
Alexandre Oliva 1db77c8ec9 * config/tc-sh.c (md_apply_fix) [BFD_RELOC_32, BFD_RELOC_16]: Use
md_number_to_chars.
2000-08-15 16:04:37 +00:00
Nick Clifton 046b3b54ee Allow "bx pc" in ARM mode. 2000-08-14 21:20:03 +00:00
Diego Novillo fa2255cb6b * tc-i386.c (md_assemble): Skip suffix check if the opcode modifier
has the IgnoreSize bit set.
2000-08-14 21:12:47 +00:00
Jim Wilson c43c2cc5fa Add support for IA-64 specific elf header flags.
bfd/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
	EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
	(elf64_ia64_print_private_bfd_data): Likewise.  Also handle
	EF_IA_64_ABSOLUTE.
gas/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* config/tc-ia64.c (md_longopts): Add -mconstant-gp and -mauto-pic.
	(md_parse_option):  Add OPTION_MCONSTANT_GP and OPTION_MAUTO_PIC.
	(md_begin): Change assignment to md.flag to OR in the new bit.
include/elf/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf/ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
	EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
2000-08-14 20:13:39 +00:00
Nick Clifton d1d8ba2284 Set the debug flag for storage types C_ARG, C_REGPARM, C_FIELD, C_MOS, C_MOE,
C_MOU, and C_EOS.
2000-08-14 19:41:40 +00:00
Jeff Law c0bd0db285 * config/tc-mn10300.h (DWARF2_LINE_MIN_INSN_LENGTH): Define. 2000-08-14 17:49:55 +00:00
Kazu Hirata 351aa9f657 2000-08-11 Kazu Hirata <kazu@hxi.com>
* config/obj-bout.c: Fix formatting.
2000-08-11 18:28:04 +00:00
Jason Eckhardt 305d537e30 gas:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* config/tc-i860.h: Rework completely for BFD_ASSEMBLER.
	(i860_fix_info): New enum.
	(MD_APPLY_FIX3): Define.
	(WORKING_DOT_WORD): Define.
	(TC_HANDLES_FX_DONE): Define.
	(DIFF_EXPR_OK): Define.
	(LISTING_HEADER): Define.
	(TARGET_FORMAT): Select target format based on endian flag.
	(TARGET_BYTES_BIG_ENDIAN): Default to little endian.
	(target_big_endian): Add external declaration.

	* config/tc-i860.c: All existing code reworked completely. Other
	new code shown below.
	(SYNTAX_SVR4): Define.
	(target_warn_expand): New variable.
	(md_shortopts): Declare and define (-Qy, -Qn, and -V options).
	(md_longopts): Declare and define with new options (-EL, -EB,
	and -mwarn-expand).
	(md_show_usage): New function.
	(md_operand): New function.
	(obtain_reloc_for_imm16): New function.
	(md_apply_fix3): New function.
	(tc_gen_reloc): New function.

include:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* opcode/i860.h: Small formatting adjustments.

opcode:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* i860-dis.c (print_br_address): Change third argument from int
	to long.

bfd:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>
	* elf32-i860.c (elf32_i860_howto_table): Updated some fields.
2000-08-09 03:33:42 +00:00
Nick Clifton df86943d1e Make sure the 2 bytes of the jump address are in the same frag.
Accept 68hc12 register indirect modes.

Mention 68HC11 & 68HC12 support in NEWS.
2000-08-08 21:40:33 +00:00
Richard Henderson 30d2525955 * config/tc-ia64.c (unwind): Add prologue_mask member.
(dot_vframe): Elide psp_gr record if it overlaps prologue_gr.
        (dot_save): Likewise for pfs_gr, rp_gr, and preds_gr.
        (dot_body): Clear unwind.prologue_mask.
        (dot_prologue): Set it.  Accept a register second argument.
2000-08-07 21:50:08 +00:00
Kazu Hirata 2d484c7fa2 2000-08-05 Kazu Hirata <kazu@hxi.com>
* config/atof-ieee.c: Fix formatting.
	* config/atof-tahoe.c: Likewise.
2000-08-07 19:54:34 +00:00
Denis Chertykov 65b1d096bc * config/tc-avr.c: Use PARAMS macro in function declarations.
Don't declare md_pcrel_from_section (already in tc-avr.h).
	(avr_operands): Use AVR_UNDEF_P and AVR_SKIP_P macros.
	(avr_operand): Don't set (unsigned) op_mask to -1.
2000-08-06 14:03:58 +00:00
Nick Clifton 3d4ae3c0c6 Fix typo 2000-08-04 22:23:32 +00:00
Kazu Hirata 47926f603c 2000-08-05 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Fix formatting.
	* config/tc-i386.c: Likewise.
	* config/tc-sparc.c (sparc_ip): Simplify the code.
2000-08-04 18:43:45 +00:00
Kazu Hirata ab3e48dc5d 2000-08-04 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Rearrange code for readability.
	* config/tc-d10v.c: Fix formatting.
	* config/tc-m32r.c: Likewise.
	* config/tc-sparc.c: Likewise.
2000-08-04 01:01:32 +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 d78c7dcade Undo some formatting fixes 2000-08-02 01:00:15 +00:00
Nick Clifton 3f9dfb2cd9 Fix skip of 'cpsr_all' flag 2000-08-01 23:10:02 +00:00
Kazu Hirata 28e4f854cf 2000-08-01 Kazu Hirata <kazu@hxi.com>
* config/obj-som.c: Fix formatting.
	* config/obj-ieee.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-v850.c: Likewise.
2000-08-01 19:02:49 +00:00
Nick Clifton 2fd5405afb Fix formatting. 2000-07-31 22:46:36 +00:00
Nick Clifton 28e7409f62 Add --pcrel option to m68k port 2000-07-31 22:08:14 +00:00
Jason Eckhardt aa8c34c313 2000-07-28 Jason Eckhardt <jle@cygnus.com>
* configure.in: Add bits for i860-stardent-{sysv4, elf}*.
	* configure: Regenerated.
	* config/obj-elf.c (obj_elf_type): Recognize a fifth type
	of operand to the .type directive (.e.g, "type").
2000-07-29 03:20:54 +00:00
Alan Modra 4c400d5ea7 comment-finding hack for hppa-linux. 2000-07-28 05:05:20 +00:00
Andrew Cagney 0aa529cb6b Fix GCC warnings.
Abort if code falls off end of md_estimate_size_before_relax().
2000-07-28 03:33:32 +00:00
Nick Clifton c6a7ab1f75 Fix formatting 2000-07-28 00:42:18 +00:00
Alan Modra e0c6ed95b5 Kazu Hirata's formatting fixes. 2000-07-27 04:05:05 +00:00
DJ Delorie 39da812840 * config/obj-coff.c (obj_frob_symbol): Don't merge
labels. Don't merge if the symbol isn't constant. Return
immediately if a symbol is merged.
2000-07-24 17:50:35 +00:00
DJ Delorie 5e0d736c33 * config/obj-coff.c (obj_frob_symbol): revert previous change,
it breaks linking against DLLs.
2000-07-20 23:38:05 +00:00
Hans-Peter Nilsson 3bcbcc3dcf * configure.in: Add CRIS support.
* configure: Regenerate.
	* Makefile.am: (CPU_TYPES): Add cris.
	(CPU_OBJ_VALID) [aout]: Add cris.
	(MULTI_CPU_TYPES): Add cris.
	(MULTI_CPU_OBJ_VALID) [aout]: Add cris.
 	[coff]: Only i386 and mips are valid.
	(TARGET_CPU_CFILES): Add config/tc-cris.c.
	(TARGET_CPU_HFILES): Add config/tc-cris.h.
	(MULTI_CFILES): Add config/e-crisaout.c and config/e-criself.c.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* as.c: Declare crisaout, criself.
	* config/tc-cris.h, config/tc-cris.c: New.
	* config/e-criself.c, config/e-crisaout.c: New.
	* po/POTFILES.in, po/gas.pot: Regenerate.
2000-07-20 17:45:28 +00:00
Alan Modra 25a8b2508d #ifdef OBJ_SOM, not #ifdef SOM 2000-07-19 06:30:49 +00:00
Nick Clifton 7a9aaf929a Don't merge labels. Don't merge if the symbol isn't constant. Don't call
S_SET_EXTERNAL if the storage class is already set.
2000-07-17 23:27:31 +00:00
Nick Clifton fafb6d1700 Fix formatting. 2000-07-17 21:37:02 +00:00
Nick Clifton a2429eb555 Fix formatting. 2000-07-17 21:24:35 +00:00
Nick Clifton 87271fa61d Fix formatting. 2000-07-17 21:06:14 +00:00
Nick Clifton 8098403c53 Fix formatting 2000-07-17 20:59:47 +00:00
Alan Modra 1cd1c99be6 (hppa_fix_adjustable): Don't reduce certain symbols to section syms. 2000-07-15 12:57:14 +00:00
Nick Clifton d547a75e6b *** empty log message *** 2000-07-14 22:28:24 +00:00
Nick Clifton 119d663aa4 Add new command line switch --no-construct-floats 2000-07-14 22:23:33 +00:00
Nick Clifton 7f7888218f Add padding to the last section when aligning it increases its size. 2000-07-12 16:45:46 +00:00
Nick Clifton 9a736b6b4d Fix formatting. 2000-07-11 18:48:17 +00:00
Nick Clifton 1aea3bb851 Fix formatting 2000-07-10 19:09:51 +00:00
Nick Clifton 3dd5103bb4 Fix formatting. 2000-07-10 18:59:26 +00:00
Alan Modra 46b85d4287 More warning fixes, and a tweak in tc-hppa.c to check constant
branch offsets a little more thoroughly.
2000-07-10 15:15:01 +00:00
Alan Modra ad1079af05 Add linux-elf flavour to pseudos in tc-hppa.c and some tidying
and bug fixes.  Handle wide mode relocs.  Don't select target
size based on BFD64.
2000-07-09 08:16:21 +00:00
Nick Clifton d0313fb7a7 Fix formating 2000-07-08 18:56:38 +00:00
Nick Clifton c4aa876b91 Fix formatting 2000-07-08 18:13:58 +00:00
Nick Clifton bc0d738a8d Fix comments. 2000-07-07 16:58:25 +00:00
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