Commit graph

3328 commits

Author SHA1 Message Date
Jan Beulich
4d56c0a0b1 gas/
2005-04-19  Jan Beulich  <jbeulich@novell.com>

	* config/te-sysv32.h: Remove.
	* Makefile.am (TARG_ENV_HFILES): Remove reference to
	config/te-sysv32.h.
	* Makefile.in (TARG_ENV_HFILES): Likewise.
2005-04-19 07:23:05 +00:00
Jan Beulich
4fdd1e4f49 gas/
2005-04-19  Jan Beulich  <jbeulich@novell.com>

	PR/847
	* config/tc-ia64.c (ia64_canonicalize_symbol_name): Re-allow zero-
	length symbols.
2005-04-19 06:46:49 +00:00
Mark Kettenis
791fe84908 gas/ChangeLog:
* config/tc-i386.c (md_begin): Allow hyphens in mnemonics.
include/opcode/ChangeLog:
* i386.h: Insert hyphens into selected VIA PadLock extensions.
Add xcrypt-ctr.  Provide aliases without hyphens.
opcodes/ChangeLog:
* i386-dis.c: Insert hyphens into selected VIA PadLock extensions.
Add xcrypt-ctr.
2005-04-18 20:59:20 +00:00
Maciej W. Rozycki
9ee2a2d449 * config/tc-mips.c (normalize_constant_expr): Don't check for
HAVE_32BIT_GPRS.
(check_absolute_expr): Only call normalize_constant_expr() if
HAVE_32BIT_GPRS.
(mips_ip): Likewise.

* config/tc-mips.c (check_absolute_expr): Fix formatting.
2005-04-18 14:16:10 +00:00
Jan Beulich
e6ca91be4f gas/
2005-04-18  Jan Beulich  <jbeulich@novell.com>

	* macro.c (free_token): New, freeing all the memory associated with a
	macro.
	(do_formals): Move initializers to ...
	(define_macro): ... here.
	(delete_macro): Convert passed in name to lower case. Warn when
	purging macro that doesn't exist. Use hash_jam instead of hash_delete.

gas/testsuite/
2005-04-18  Jan Beulich  <jbeulich@novell.com>

	* gas/macros/purge.[ls]: New.
	* gas/macros/macros.exp: Run new test.
2005-04-18 13:35:46 +00:00
Maciej W. Rozycki
9f872bbe2a * config/tc-mips.c (normalize_constant_expr): Fix formatting. 2005-04-15 19:16:44 +00:00
Jan Beulich
8fe53b44b2 gas/
2005-04-15  Jan Beulich  <jbeulich@novell.com>

	* config/obj-elf.c (obj_elf_struct): New.
	(elf_pseudo_table). Use it for .offset and .struct.

gas/testsuite/
2005-04-15  Jan Beulich  <jbeulich@novell.com>

	* gas/elf/struct.[sd]: New.
	* gas/elf/elf.exp: Run new test.
2005-04-15 11:38:59 +00:00
Alan Modra
6efba98792 * gas/all/assign.s: New.
* gas/all/assign.d: New.
	* gas/all/gas.exp: Run it.
2005-04-15 06:06:42 +00:00
Bob Wilson
140fe8df36 Include Sterling Augustine as author of previous change. 2005-04-15 04:19:46 +00:00
Bob Wilson
0e5cd789e1 * config/tc-xtensa.c (get_aligned_diff): Handle target_size larger
than the section alignment.
2005-04-15 04:15:02 +00:00
Bob Wilson
dd49a749cd * config/tc-xtensa.h (struct xtensa_frag_type): Add lit_frchain field.
* config/tc-xtensa.c (xg_translate_sysreg_op,
	xtensa_translate_old_userregs_ops,
	xtensa_find_unaligned_branch_targets,
	xtensa_find_unaligned_loops, xtensa_fix_close_loop_end_frags,
	relax_frag_add_nop): Support 64-bit host.
	(xtensa_mark_literal_pool_location, xtensa_move_literals): Use
	tc_frag_data lit_frchain and lit_seg fields instead of fr_var.
2005-04-14 22:38:49 +00:00
Mark Kettenis
64efe6255e * configure.tgt: Add support for OpenBSD/sparc ELF. 2005-04-14 18:49:04 +00:00
Mark Kettenis
26eebcf553 * configure.tgt: Set emulation for mips-*-openbsd*.
Remove broken mips-dec-openbsd* config.
* configure.in: Set default ABI for mips64-*-openbsd*.
* configure: Regenerate.
2005-04-14 16:55:49 +00:00
Maciej W. Rozycki
39a59cf89e * config/tc-mips.c (macro) [ldd_std]: Don't attempt the GP
optimization for constant addresses.
2005-04-14 15:32:58 +00:00
Nick Clifton
f7a568eabf * as.c (main): Move parse_args before symbol_begin and frag_init so that the
hash table size can be set before it is used.
* hash.c: Use an unsigned long type for the size of the hash tables.
* hash.h (set_gas_hash_table_size): Update the prototype.
2005-04-14 09:00:35 +00:00
Alan Modra
9e9b66a956 bfd/
* Makefile.am (NO_WERROR): Define.
	* warning.m4: New file
	* acinclude.m4: Include warning.m4.
	* configure.in: Invoke AM_BINUTILS_WARNINGS.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.
binutils/
	* Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
	* configure.in: Include ../bfd/warning.m4 contents.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
gas/
	* Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
	* acinclude.m4: Include ../bfd/warning.m4.
	* configure.in: Invoke AM_BINUTILS_WARNINGS.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
gprof/
	* Makefile.am (NO_WERROR): Define.
	* acinclude.m4: Include ../bfd/warning.m4.
	* configure.in: Invoke AM_BINUTILS_WARNINGS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
ld/
	* Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
	* configure.in: Include ../bfd/warning.m4 contents.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
opcodes/
	* Makefile.am (NO_WERROR): Define.
	* configure.in: Invoke AM_BINUTILS_WARNINGS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2005-04-14 05:26:44 +00:00
Maciej W. Rozycki
2051e8c45f gas/:
* config/tc-mips.c (IS_ZEXT_32BIT_NUM): New macro.
(normalize_address_expr): New function to sign-extend address
offsets that fit into 32 bits in 32-bit mode.
(macro_build_ldst_constoffset): Use normalize_address_expr()
instead of a handcoded sequence.
(load_register): Likewise.  Report oversized numbers in a useful
way.
(macro) [ld_st, ldd_std]: Reject all oversized offsets, not only
for constant addresses.  Report oversized numbers in a useful way.
(mips_ip): Use normalize_address_expr() for addresses.

gas/testsuite/:
* gas/mips/ldstla-32.s: Exclude offsets that are now meant to fail
and include more instructions/offsets that are meant to succeed.
Use $4 instead $3 to avoid register dependencies.
* gas/mips/ldstla-32.d: Update accordingly.
* gas/mips/ldstla-32-shared.d: Likewise.
* gas/mips/ldstla-32-mips3.d: New test based on the above, except
for mips3.
* gas/mips/ldstla-32-mips3-shared.d: Similarly, for PIC.
* gas/mips/ldstla-32-mips3.s: Source for the new tests.
* gas/mips/ldstla-32-1.s: New test for offsets that are meant to
fail.
* gas/mips/ldstla-32-mips3-1.s: Likewise, for mips3.
* gas/mips/ldstla-32-1.l: Stderr output for the new test.
* gas/mips/ldstla-32-mips3-1.l: Likewise.
* gas/mips/mips.exp: Run the new tests.
2005-04-13 18:17:10 +00:00
Mark Kettenis
bc4bd9abb2 include/opcode/ChangeLog:
* i386.h (i386_optab): Mark VIA PadLock instructions as ImmExt and
adjust them accordingly.
gas/ChangeLog:
* config/tc-i386.c (output_insn): Handle VIA PadLock instructions
similar to other instructions now that they're marked as ImmExt.
2005-04-12 17:12:33 +00:00
Nick Clifton
4bdd3565f1 * hash.c (DEFAULT_SIZE): Delete. Replace with:
(gas_hash_table_size): New static variable.
  (set_gas_hash_table_size): New function:  Records a requested size for the hash tables.
  (get_gas_hash_table_size): New function: Return a prime number near the requested size of the hash table.
  (hash_new): Use get_gas_hash_table_size.
* hash.h: Add a prototype for set_gas_hash_table_size.
* as.c (show_usage): Add description of new switches: --hash-size and --reduce-memory-overheads.
  (option_values): Add OPTION_HASH_TABLE_SIZE and OPTION_REDUCE_MEMORY_OVERHEADS.
  (std_longpopts): Add entries for the new options.
  (parse_args): Handle the new options.
* Makefile.am: Add a dependency of as.c on hash.h.
* Makefile.in: Regenerate.
* doc/as.texinfo: Document the new switches.
* NEWS: Mention the new switches.
2005-04-12 08:42:41 +00:00
Nick Clifton
f394e3dd2e PR gas/818
* config/tc-hppa.c (pre_defined_registers): Fix %farg[0-3] synonyms.
2005-04-12 08:39:34 +00:00
Alan Modra
ceae3e339f bfd/
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* libcoff.h: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.
binutils/
	* Makefile.am: Run "make dep-am".
	(syslex.o, sysinfo.o, arparse.o, arlex.o): Add -Wno-error to command.
	(sysroff.o, defparse.o, deflex.o): Likewise.
	(nlmheader.o, rcparse.o, rclex.o): Likewise.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
gas/
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
ld/
	* Makefile.am: Run "make dep-am".
	(ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
	* Makefile.in: Regenerate.
	* config.in: Regenerate.
2005-04-12 02:50:28 +00:00
Bob Wilson
2eccd1b415 * config/tc-xtensa.c (check_t1_t2_reads_and_writes): Fix typo. 2005-04-11 22:45:37 +00:00
Mark Kettenis
01ed09aa8a * gas/all/gas.exp: Don't run fastcall labels test on
i*86-*-openbsd*.
2005-04-11 22:32:22 +00:00
Mark Kettenis
333f7af7b2 * configure.tgt (generic_target): Add support for OpenBSD/i386 ELF. 2005-04-11 22:31:37 +00:00
Jan Beulich
5e75c3ab6e gas/
2005-04-11  Jan Beulich  <jbeulich@novell.com>

	* NEWS: Mention these changes and their effects.
	* macro.c (get_token): Use is_name_beginner/is_part_of_name/
	is_name_ender.
	(check_macro): Likewise.
	(buffer_and_nest): Likewise. Permit multiple labels. Don't discard
	labels together with the closing pseudo-op.
	(macro_expand_body): Adjust comment. Range-check input before use.
	Adjust mis-spelled diagnostic. Use is_name_beginner.
	* read.c (try_macro): New.
	(read_a_source_file): New static variable last_eol. Don't list
	macro expansion lines more than once. Call try_macro.
	(s_macro): Set section of line_label to absolute instead of undefined.
	* doc/as.texinfo: Add information on the caveats of these changes.

gas/testsuite/
2005-04-11  Jan Beulich  <jbeulich@novell.com>

	* gas/macros/dot.[ls]: New.
	* gas/macros/macros.exp: Run new test.
2005-04-11 12:46:38 +00:00
Alan Modra
514d955ded * symbols.c (symbol_X_add_number): Change return type to "offsetT *".
* symbols.h (symbol_X_add_number): Update prototype.
2005-04-11 00:08:08 +00:00
Eric Christopher
a9fcb2a986 2005-04-10 Eric Christopher <echristo@redhat.com>
* symbols.c (symbol_X_add_number): Fix warning.
2005-04-10 23:41:32 +00:00
H.J. Lu
045b540e8e 2005-04-10 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-m68k.c (md_begin): Support 64bit host.
	(get_num): Support 64bit BFD on 32bit host.
2005-04-10 16:28:08 +00:00
H.J. Lu
b215186bfd 2005-04-10 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-mips.c (md_apply_fix3): Fix typos in BFD_RELOC_64.
2005-04-10 16:25:51 +00:00
Alan Modra
31d20a2167 * read.c (assign_symbol): Remove const from parm. Fix xcalloc
call.  Don't do the COFF hacks for multi-emulation gas.  Move
	demand_empty_rest_of_line back to caller.
	(s_set, equals): demand_empty_rest_of_line here.
2005-04-09 06:21:19 +00:00
Alan Modra
be95a9c15d PR gas/827
* as.h (rs_dummy): Define.
	* symbols.c (symbol_X_add_number): New function.
	* symbols.h (symbol_X_add_number): Declare.
	* stabs.c (aout_process_stab): Tidy symbol frag setting.
	* read.c (assign_symbol): New function, split out from s_set.
	Use symbol_find_or_make.  Leave fr_type of dummy frag as rs_dummy.
	Fix COFF hacks for multi-emulation gas.
	(s_set): Call assign_symbol.  Remove "register" keyword.
	(set_zero_frag): New function.
	(pseudo_set): Always check for assignment to section syms.
	Always set segment and frag of symbol, and likewise extern for
	aout/bout.  Handle assignment of sym=sym+/-const specially.  Don't
	special case exp.X_add_number non-zero for O_symbol expressions.
	(equals): Use assign_symbol.
2005-04-09 03:48:09 +00:00
Bob Wilson
6624cbdeed * config/tc-xtensa.c (xtensa_create_xproperty_segments): Skip
SEC_MERGE sections.
2005-04-08 17:26:42 +00:00
H.J. Lu
dbbaec2634 gas/
2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (tc_gen_reloc): Don't turn
	BFD_RELOC_X86_64_32S into BFD_RELOC_32.

gas/testsuite/

2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/x86-64-pcrel.s: Test R_X86_64_32S.
	* gas/i386/x86-64-pcrel.d: Updated.
2005-04-07 00:53:22 +00:00
Nick Clifton
0d6af1ab0d po/rw.po: New translation: Kinyarwanda
configure.in (ALL_LINGUAS): Add rw
2005-04-06 15:42:14 +00:00
Bob Wilson
664df4e44e * config/tc-xtensa.c (branch_align_power): New.
(xtensa_find_unaligned_branch_targets, get_aligned_diff,
	future_alignment_required): Use branch_align_power to check section
	alignment as well as xtensa_fetch_width when aligning branch targets.
2005-04-05 23:37:34 +00:00
Bob Wilson
d77b99c958 * config/tc-xtensa.c: Warning fixes throughout.
(xtensa_fetch_width): Change to unsigned.
	(assemble_nop, xtensa_find_unaligned_branch_targets,
	xtensa_find_unaligned_loops, xg_assemble_vliw_tokens,
	is_narrow_branch_guaranteed_in_range, xtensa_fix_close_loop_end_frags,
	min_bytes_to_other_loop_end, unrelaxed_frag_min_size,
	unrelaxed_frag_max_size, xtensa_fix_short_loop_frags,
	count_insns_to_loop_end, unrelaxed_frag_min_insn_count,
	get_text_align_max_fill_size, get_text_align_nop_count,
	get_text_align_nth_nop_size, get_noop_aligned_address,
	get_aligned_diff, convert_frag_align_next_opcode,
	convert_frag_immed_finish_loop, xtensa_create_property_segments,
	xtensa_create_xproperty_segments, xt_block_aligned_size): Clean up
	types, avoiding size_t and using offsetT and addressT appropriately.
	(get_text_align_power): Clean up types.  Avoid incorrect bound.
	(get_text_align_fill_size): Clean up types.  Restructure for clarity.
2005-04-05 20:55:40 +00:00
H.J. Lu
da9f89d4e2 bfd/
2005-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (bfd_elf_set_group_contents): Ignore linker created
	group section.
	(assign_section_numbers): Accept link_info. Check SHT_GROUP
	sections for relocatable files only. Remove the linker created
	group sections.
	(_bfd_elf_compute_section_file_positions): Pass link_info to
	assign_section_numbers.

	* elfxx-ia64.c (elfNN_ia64_object_p): New.
	(elf_backend_object_p): Defined.

gas/

2005-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-ia64.c (start_unwind_section): Undo the change
	of 2004-08-18.
	(generate_unwind_image, dot_endp): Likewise.
2005-04-05 04:01:12 +00:00
Jim Wilson
f6fe78d68c Patch from David Mosberger, to avoid nop.f on Itanium2.
* config/tc-ia64.c (ia64_handle_align): Move le_nop and
le_nop_stop arrays and initializers to file scope.
(md_begin): When generating code for anything other than
Itanium 1, use MMI instead of MFI NOP bundles as a filler.
2005-04-02 00:43:48 +00:00
Jan Beulich
a7d61044b2 gas/
2005-04-01  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (output_imm): Also set sign flag for 64-bit push
	immediates.
2005-04-01 15:58:31 +00:00
Nick Clifton
d2c5f73ed7 Support the .f_floating, .d_floating, .g_floating and .h_floating directives
for the VAX target in order to be more compatible with the VAX MACRO assembler.
2005-04-01 14:17:17 +00:00
Nick Clifton
ce8d332a69 elf-rel.d: Call gas with -k. Thanks toMatt Thomas for figuring out.
vax.exp: Run elf-rel.[sd] for NetBSD-ELF and Linux.
2005-04-01 14:08:56 +00:00
Nick Clifton
56f366632f Add a check for <unistd.h> providing a prototype for getopt() which is compatible
with the one in include/getopt.h.  If so then define HAVE_DECL_GETOPT.
2005-04-01 12:56:29 +00:00
Jan Beulich
8a75718cb7 gas/
2005-04-01  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (s_bss): Call obj_elf_section_change_hook.

gas/testsuite/
2005-04-01  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/bss.[sd]: New.
	* gas/i386/i386.exp: Run new test.
2005-04-01 07:50:24 +00:00
Jan Beulich
ae8887b540 gas/
2005-04-01  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (md_apply_fix3): Also handle BFD_RELOC_X86_64_32S.
	(tc_gen_reloc): Handle BFD_RELOC_X86_64_32S in the default case.

gas/testsuite/
2005-04-01  Jan Beulich  <jbeulich@novell.com>
	* gas/i386/x86-64-pcrel.[sd]: New.
	* gas/i386/i386.exp: Run new test.
2005-04-01 07:46:07 +00:00
Julian Brown
05ea83ed21 * bfd/bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
bfd_elf32_is_arm_mapping_symbol_name.
	* bfd/bfd-in2.h: Regenerate.
	* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
	bfd_elf32_is_arm_mapping_symbol_name.
	* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
	bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
	(arm_elf_find_function): Likewise.
	(elf32_arm_output_symbol_hook): Likewise.
	* gas/config/tc-arm.c (arm_adjust_symtab): Likewise.
2005-03-30 17:19:29 +00:00
Julian Brown
9d2da7ca8d * bfd/bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
* bfd/bfd-in2.h: Regenerate.
	* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
	bfd_elf32_is_arm_mapping_symbol_name.
	(elf32_arm_output_symbol_hook): Likewise.
	(arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
	mapping symbols.
	(is_arm_mapping_symbol_name): Function moved from here...
	* bfd/cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here,
	renamed and made global.
	* gas/config/tc-arm.c (mapping_state): Change documentation in function
	comment to cross-reference spec instead. Change type of mapping symbols
	to BSF_NO_TYPE.
	(arm_adjust_symtab): Don't change type of mapping symbols here.
	* gas/testsuite/gas/arm/mapping.d: Update expected output.
	* ld/testsuite/ld-arm/arm-app-abs32.d: Likewise.
	* ld/testsuite/ld-arm/arm-app.d: Likewise.
	* ld/testsuite/ld-arm/mixed-app.d: Likewise.
2005-03-30 16:22:07 +00:00
Aaron W. LaFramboise
e8a38df5d8 * as.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize.
* config.in: Regenerate.
	* configure: Regenerate.
	* configure.in: Check for ffs decl and alphabetize.
2005-03-30 02:55:13 +00:00
H.J. Lu
4cc91dba12 gas/testsuite/
2005-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/i386.exp: Run segment and inval-seg for i386. Run
	x86-64-segment and x86-64-inval-seg for x86-64.

	* gas/i386/intel.d: Expect movw for moving between memory and
	segment register.
	* gas/i386/naked.d: Likewise.
	* gas/i386/opcode.d: Likewise.
	* gas/i386/x86-64-opcode.d: Likewise.

	* gas/i386/opcode.s: Use movw for moving between memory and
	segment register.
	* gas/i386/x86-64-opcode.s: Likewise.

	* : Likewise.

	* gas/i386/inval-seg.l: New.
	* gas/i386/inval-seg.s: New.
	* gas/i386/segment.l: New.
	* gas/i386/segment.s: New.
	* gas/i386/x86-64-inval-seg.l: New.
	* gas/i386/x86-64-inval-seg.s: New.
	* gas/i386/x86-64-segment.l: New.
	* gas/i386/x86-64-segment.s: New.

include/opcode/

2005-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* i386.h (i386_optab): Don't allow the `l' suffix for moving
	moving between memory and segment register. Allow movq for
	moving between general-purpose register and segment register.

opcodes/

2005-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (SEG_Fixup): New.
	(Sv): New.
	(dis386): Use "Sv" for 0x8c and 0x8e.
2005-03-29 19:30:47 +00:00
Daniel Jacobowitz
ba93b8aced bfd/
* bfd-in2.h, libbfd.h: Regenerated.
	* reloc.c: Add ARM TLS relocations.
	* elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
	relocations.
	(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
	(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
	(elf32_arm_tls_ie32_howto): New.
	(elf32_arm_howto_from_type): Support TLS relocations.
	(elf32_arm_reloc_map): Likewise.
	(elf32_arm_reloc_type_lookup): Likewise.
	(TCB_SIZE): Define.
	(struct elf32_arm_obj_tdata): New.
	(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
	(elf32_arm_mkobject): New function.
	(struct elf32_arm_relocs_copied): Add pc_count.
	(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
	(GOT_TLS_IE): Define.
	(struct elf32_arm_link_hash_table): Add tls_ldm_got.
	(elf32_arm_link_hash_newfunc): Initialize tls_type.
	(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
	(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
	(dtpoff_base, tpoff): New functions.
	(elf32_arm_final_link_relocate): Handle TLS relocations.
	(IS_ARM_TLS_RELOC): Define.
	(elf32_arm_relocate_section): Warn about TLS mismatches.
	(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
	(elf32_arm_check_relocs): Detect invalid symbol indexes.  Handle
	TLS relocations and pc_count.
	(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
	(allocate_dynrelocs): Handle TLS.  Bind REL32 relocs to local
	calls.
	(elf32_arm_size_dynamic_sections): Handle TLS.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject): Define.
gas/
	* config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
	(md_apply_fix3): Mark TLS symbols.
	(tc_gen_reloc): Handle TLS relocations.
	(arm_fix_adjustable): Ignore TLS relocations.
	(s_arm_elf_cons): Support expressions after decorated symbols.
gas/testuite/
	* gas/arm/tls.s, gas/arm/tls.d: New files.
	* gas/arm/arm.exp: Run TLS test.
include/elf/
	* arm.h: Add TLS relocations.
ld/testsuite/
	* ld-arm/tls-lib.s, ld-arm/tls-lib.d, ld-arm/tls-lib.r,
	ld-arm/tls-app.s, ld-arm/tls-app.d, ld-arm/tls-app.r: New files.
	* ld-arm/arm-lib.ld, ld-arm/arm-dyn.ld: Increase data segment
	alignment.
	* ld-arm/arm-elf.exp: Run TLS tests.
2005-03-29 16:54:22 +00:00
Julian Brown
84798bd6b6 * gas/config/tc-arm.c (marked_pr_dependency): New bitmap, bit N
indicates whether personality routine index N has been output for this
	section.
	(mapping_state): tc_segment_info_data now struct not enum.
	(arm_elf_change_section): Likewise, and marked_pr_dependency is now
	handled on section change.
	(create_unwind_entry): Previous code to output dependency removed.
	(s_arm_unwind_fnend): Output dependency if it hasn't been done already
	for this section.
	* gas/config/tc-arm.h (TC_SEGMENT_INFO_TYPE): Redefined as struct
	arm_segment_info_type.
	(arm_segment_info_type): New struct.
	* gas/testsuite/gas/arm/unwind.d: Update expected output.
2005-03-29 16:29:09 +00:00
Bob Wilson
7b1cc37781 * config/tc-xtensa.c (do_align_targets): Update comment.
(xtensa_frob_label): Compute "freq" before possibly switching frags.
	Insert a LOOP_END frag before every loop target, and do not overload
	DESIRE_ALIGN_IF_TARGET frags with loop end information.
	(xg_assemble_vliw_tokens): Use do_align_targets.
	(xtensa_fix_target_frags): Remove code to convert a
	DESIRE_ALIGN_IF_TARGET frag to a LOOP_END frag when there is a
	negatable branch at the end of a loop.
	(frag_can_negate_branch): Delete.
2005-03-29 00:26:00 +00:00
H.J. Lu
8c2fda1d2b gas/
2005-03-28  David Mosberger  <davidm@hpl.hp.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR 803
	NEWS: Mention "-mtune=[itanium1|itanium2]".

	* config/tc-ia64.c (md): Add tune.
	(md_parse_option): Accepted "-mtune=[itanium1|itanium2]".
	(md_show_usage): Add "-mtune=[itanium1|itanium2]".
	(extra_goodness): Prefer M- and I-unit NOPs for itanium2. F and
	B unit NOPs are discouraged for McKinley-derived cores.
	(md_begin): Don't hardcode the "extra_goodness()" function in
	the comment...
	(ia64_init): Set md.tune to itanium2.

	* doc/as.texinfo: Add -mtune=[itanium1|itanium2]".
	* doc/c-ia64.texi: Likewise.

gas/testsuite/

2005-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR 803
	* gas/ia64/dv-imply.d: Pass -mtune=itanium1 to as.
	* gas/ia64/dv-mutex.d : Likewise.
	* gas/ia64/dv-safe.d: Likewise.
	* gas/ia64/dv-srlz.d.nop: Likewise.
	* gas/ia64/ldxmov-1.d: Likewise.
	* gas/ia64/opc-b.d: Likewise.
	* gas/ia64/opc-f.d: Likewise.
	* gas/ia64/opc-i.d: Likewise.
	* gas/ia64/opc-m.d: Likewise.
	* gas/ia64/operand-or.d: Likewise.
	* gas/ia64/pcrel.d: Likewise.
	* gas/ia64/pseudo.d: Likewise.
	* gas/ia64/tls.d: Likewise.

ld/testsuite/

2005-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR 803
	* ld-ia64/ia64.exp: Pass -mtune=itanium1 to as.
2005-03-28 22:34:20 +00:00
Ian Lance Taylor
161840f9f6 * config/obj-coff.c (coff_frob_symbol): When crashing because of a
bad C_EFCN symbol, print its name.
2005-03-27 17:53:20 +00:00
Bob Wilson
7c834684b6 * config/tc-xtensa.c (use_longcalls): Delete.
(xg_symbolic_immeds_fit): Check for direct calls and return TRUE if
	the use_longcalls flag is set.  Do this before checking the segment.
	(xg_expand_assembly_insn): Rearrange to use new do_expand flag.  Never
	expand direct calls at this point.
	(xtensa_set_frag_assembly_state): Set use_longcalls flag.
	(xtensa_find_unmarked_state_frags): Likewise.
	(md_assemble): Do not disable longcalls by setting is_specific_opcode.
	(xg_assemble_vliw_tokens): Switch frags when use_longcalls changes.
	(convert_frag_immed): Remove unnecessary check of is_specific_opcode.
	* config/tc-xtensa.h (xtensa_frag_type): Add use_longcalls flag.
2005-03-26 00:21:01 +00:00
Hans-Peter Nilsson
ff1e783f27 * config/tc-mmix.c, config/tc-mmix.h: Convert to ISO C90. 2005-03-25 11:50:53 +00:00
Hans-Peter Nilsson
695a4822ce * config/tc-cris.h: Convert to ISO C90.
* config/tc-cris.c: Ditto.
	(md_estimate_size_before_relax): Remove obsolete comment for
	parameter "segment_type".
	(md_begin): Document reason for cast of hash_insert argument.
	(md_atof): Correct type of parameter "type".
2005-03-25 04:10:52 +00:00
Nick Clifton
ea1562b345 Convert unmaintained files over to ISO-C90 and fix formatting. 2005-03-24 20:40:28 +00:00
Hans-Peter Nilsson
a339a1c61b * gas/cris/range-err-1.s: Adjust expected messages for hosts with
64-bit longs.
2005-03-24 00:01:14 +00:00
Jim Blandy
d110d6a2e4 * config/tc-arm.c (arm_adjust_symtab): Fetch elf_sym's binding
attributes properly.
2005-03-23 15:49:02 +00:00
Nick Clifton
ed84e69560 Accept any C library to accompany a GNU Linux implementation, not just the GNU
C library.
2005-03-23 15:35:50 +00:00
Nick Clifton
4d5f9b2a9c Convert to ISO C90 formatting 2005-03-23 11:18:14 +00:00
Alan Modra
52a43e7100 gas/testsuite/
* gas/elf/section5.s: Don't start directives in first column.
ld/testsuite/
	* ld-elf/tbss.s: Don't start directives in first column.
	* ld-scripts/weak1.s: Likewise.
	* ld-scripts/weak2.s: Likewise.
	* ld-undefined/weak-undef.s: Likewise.
	* ld-undefined/undefined.exp: Enable tests for hppa-elf.
2005-03-22 14:20:38 +00:00
Maciej W. Rozycki
704803a97e * config/tc-mips.c (mips_frob_file): Sort BFD_RELOC_MIPS16_LO16
relocations correctly as well.
(mips_fix_adjustable): Don't make BFD_RELOC_MIPS16_LO16
relocations in mergeable sections section-relative either.
2005-03-21 21:59:34 +00:00
Bob Wilson
6e2a91a376 * config/tc-xtensa.c (md_apply_fix3): Recognize XTENSA_PLT relocations. 2005-03-21 19:46:01 +00:00
Nick Clifton
1a66a0171c (sh_elf_final_processing): Fix compile time warning by providing a prototype
for sh_symbian_find_elf_flags.
2005-03-21 15:35:34 +00:00
Nick Clifton
3d0636914a Fix typo introduced byprevious delta. 2005-03-21 15:31:37 +00:00
Nick Clifton
7d5d9f9b31 Update instructions that use the "never" value in the conditional field to use
"le" instead.  This is so that the disassembler will disassemble them.
2005-03-21 15:19:56 +00:00
Alan Modra
6f19c13c2d * configure.tgt: Handle setting of bfd_gas for fmt=multi targets
along with other formats that set bfd_gas.  Remove unnecessary
	setting of bfd_gas.  Delete strongarm cases in generic_target
	switch.
2005-03-21 10:26:18 +00:00
Alan Modra
bd17c2c398 PR gas/780
* config/tc-m68k.c (TRUNC, SEXT): Define.
	(issbyte, isubyte, issword, isuword, isbyte, isword): Use the above.
	(m68k_ip): Truncate or sign extend expressions as appropriate.
	(get_num): Likewise.
	(md_apply_fix3): Use SEXT.
2005-03-21 02:25:23 +00:00
Alan Modra
ec91a2c289 * Makefile.am (OBJ_FORMAT_CFILES): Prune config/obj-vms.c.
(OBJ_FORMAT_HFILES): Prune config/obj-vms.h.
	(obj-vms.o): Delete rule.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* doc/Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
2005-03-21 02:00:35 +00:00
Nick Clifton
238d258f72 Add support for generating PLT lookups for the ColdFire. 2005-03-18 17:20:33 +00:00
Bob Wilson
30f725a1cf * config/tc-xtensa.c (xg_apply_tentative_value): Rename to
xg_apply_fix_value and return a value to indicate success.
        (md_pcrel_from): Skip check of fx_done.  Return 0 if not PC-relative.
        (xtensa_force_relocation): Remove checks for VTABLE relocs.
        (xtensa_validate_fix_sub): New.
        (xtensa_fix_adjustable): Remove check for external or weak symbols.
        (tc_gen_reloc): Move code to handle difference of symbols and code to
        apply tentative fix values to ...
        (md_apply_fix3): ...here.  Enable standard overflow checks for simple
        8, 16, and 32 bit relocations.  Apply fixes for slot-specific
        relocations when linkrelax flag is not set.
        * config/tc-xtensa.h (xtensa_validate_fix_sub): Add prototype.
        (TC_FORCE_RELOCATION_SUB_SAME, TC_VALIDATE_FIX_SUB): Define.
2005-03-17 21:49:47 +00:00
Jan Beulich
a724f0f4f5 gas/
2005-03-17  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (i386_scale): Beautify error message.
	(Intel syntax comments): Update.
	(struct intel_parser_s): Add fields in_offset, in_bracket, and
	next_operand.
	(intel_e04_1, intel_e05_1, intel_e05_1, intel_e09_1, intel_e10_1):
	Remove declarations.
	(intel_bracket_expr): Declare.
	(i386_intel_operand): Initialize new intel_parser fields. Wrap most
	of the function body in a loop allowing to split an operand into two.
	Replace calls to malloc and checks of it returning non-NULL with
	calls to xmalloc/xstrdup.
	(intel_expr): SHORT no longer handled here. Add comment indicating
	comparison ops need implementation.
	(intel_e04, intel_e04_1): Combine, replace recursion with loop.
	Check right operand of - does not specify a register when parsing
	the address of a memory reference.
	(intel_e05, intel_e05_1): Combine, replace recursion with loop.
	Check operands do not specify a register when parsing the address of
	a memory reference.
	(intel_e06, intel_e06_1): Likewise.
	(intel_e09, intel_e09_1): Combine, replace recursion with loop. Also
	handle SHORT as well as unary + and -. Don't accept : except for
	segment overrides or in direct far jump/call insns.
	(intel_brack_expr): New.
	(intel_e10, intel_e10_1): Combine, replace recursion with loop. Use
	intel_brack_expr.
	(intel_e11): Replace chain of if/else-if by switch, alloing fall-
	through in certain cases. Use intel_brack_expr. Add new diagnostics.
	Allow symbolic constants as register scale value.
	(intel_get_token): Replace call to malloc and check of return value
	with call to xmalloc. Change handling for FLAT to match MASM's.
	(intel_putback_token): Don't try to back up/free current token if
	that is T_NIL.

gas/testsuite/
2005-03-17  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/intel.d: Add stderr directive.
	* gas/i386/intel.e: New.
	* gas/i386/intel16.d: Add stderr directive. Adjust for changed
	source.
	* gas/i386/intel16.e: New.
	* gas/i386/intel16.s: Add instances of addressing forms with base
	and index specified in reverse order.
	* gas/i386/intelbad.l: Adjust for changed source.
	* gas/i386/intelbad.s: Add more operand forms to check.
	* gas/i386/intelok.d: Remove -r from objdump options. Add stderr
	directive. Adjust for changed source.
	* gas/i386/intelok.e: New.
	* gas/i386/intelok.s: Define MASM constants byte, word, etc. Add
	more operand forms to check.
	* gas/i386/x86_64.d: Add stderr directive.
	* gas/i386/x86_64.e: New.
	* gas/i386/x86_64.s: Adjust for parser changes.
2005-03-17 12:05:24 +00:00
Nick Clifton
199fea98c9 (gas_cgen_parse_operand): Copy opinfo parameter into a local variable in case
it is clobbered by the setjmp.
2005-03-16 18:09:04 +00:00
Daniel Jacobowitz
deeaaff8d2 * configure.tgt: Set emulation for arm-*-eabi*.
* config/tc-arm.c (meabi_flags): Check EABI_DEFAULT.
	* config/te-armeabi.h: New file.
	* config/te-armlinuxeabi.h (EABI_DEFAULT): Define.
	* config/te-symbian.h: Include "te-armeabi.h".
2005-03-16 17:27:17 +00:00
Nick Clifton
36bfbdd390 Fix typo introduced by previous delta 2005-03-16 17:26:21 +00:00
Nick Clifton
569acd2ce2 Rename switch to enable/disable -Werror to --enable-werror/--disable-werror
for compatibility with gcc.
2005-03-16 17:18:17 +00:00
Nick Clifton
1ad12f975f Enable -Werror by default 2005-03-16 16:17:14 +00:00
Nick Clifton
a5324a3e50 Convert to ISO C90 formatting 2005-03-16 14:57:00 +00:00
Zack Weinberg
b05fe5cf68 * config/tc-arm.c (do_mla): Rename to do_mlas, take second
is_mls parameter; do not diagnose Rm==Rd when is_mls.
	(do_mla, do_mls, five_bit_unsigned_immediate, bfci_lsb_and_width)
	(do_bfc, do_bfi, do_bfx, do_rbit, do_mov16, do_ldsttv4): New functions.
	(insns): Add ARMv6T2 instructions:
	bfc bfi mls movw movt rbit sbfx ubfx ldrht ldrsht ldrsbt strht.
	(arm_archs): Add V6T2 variants.
testsuite:
	* gas/arm/archv6t2.d, gas/arm/archv6t2.s: New dump test.
	* gas/arm/archv6t2-bad.l, gas/arm/archv6t2-bad.l: New errors test.
	* gas/arm/arm.exp: Run them.
2005-03-15 20:38:00 +00:00
Nick Clifton
957d91c178 Add cutoff for changes in 2.16 release 2005-03-15 17:49:15 +00:00
Jan Beulich
43c3ab55ac gas/
2005-03-15  Jan Beulich  <jbeulich@novell.com>

	* expr.c (operand): Merge handling of unary + into that for unary
	-, !, and ~.
2005-03-15 15:41:31 +00:00
Eric Christopher
5862107c33 ==> ChangeLog <==
2005-03-14  Eric Christopher  <echristo@redhat.com>

        * config/tc-mips.c: Include dw2gencfi.h.
        (mips_cfi_frame_initial_instructions): New.
        * config/tc-mips.h (TARGET_USE_CFIPOP): Define.
        (tc_cfi_frame_initial_instructions): Ditto.
        (DWARF2_DEFAULT_RETURN_COLUMN): Ditto.
        (DWARF2_CIE_DATA_ALIGNMENT): Ditto.
        * Makefile.am: Update dependencies.
        * Makefile.in: Regenerate.

==> testsuite/ChangeLog <==
2005-03-14  Eric Christopher  <echristo@redhat.com>

        * gas/cfi/cfi-mips-1.d, gas/cfi/cfi-mips-1.s: New dump test.
        * gas/cfi/cfi.exp: Run it.
        * gas/cfi/cfi-common-1.d: Update.
        * gas/cfi/cfi-common-2.d: Ditto.
        * gas/cfi/cfi-common-3.d: Ditto.
        * gas/cfi/cfi-common-4.d: Ditto.
2005-03-15 05:28:17 +00:00
Alan Modra
729ae8d20e Commit new Spanish translation. 2005-03-15 05:25:37 +00:00
Alan Modra
882cb63e5c Commit new Turkish translation. 2005-03-14 03:40:46 +00:00
Zack Weinberg
885fc2570f gas:
* config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
	wfi, yield.
opcodes:
	* arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
	wfe, wfi, yield.
gas/testsuite:
	* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
	* gas/arm/arm.exp: Run it.
2005-03-12 18:25:47 +00:00
Daniel Jacobowitz
e330299ed5 * config-gas.com: Mark vax-vms as obsolete.
* configure.in: Remove fmt=vms support.
	* config.in: Regenerate.
	* configure: Regenerate.
	* config/obj-vms.h, config/obj-vms.c, config/vms-conf.h: Remove.
2005-03-11 19:52:51 +00:00
Bob Wilson
0fa77c953f * config/tc-xtensa.c (finish_vinsn): Include the last instruction slot
when checking if xg_resolve_literals needs to be called.
        * config/tc-xtensa.h: Fix spelling typo in a comment.
2005-03-11 00:14:15 +00:00
Aldy Hernandez
5296228183 * gas/ppc/e500.d: Fix encoding of efscfd. 2005-03-10 20:21:49 +00:00
Alan Modra
da99ee721e opcodes/
* ppc-opc.c (insert_sprg, extract_sprg): New Functions.
	(powerpc_operands <SPRG>): Call the above.  Bit field is 5 bits.
	(SPRG_MASK): Delete.
	(XSPRG_MASK): Mask off extra bits now part of sprg field.
        (powerpc_opcodes): Asjust mfsprg and mtsprg to suit new mask.  Move
	mfsprg4..7 after msprg and consolidate.

gas/testsuite
	* gas/ppc/booke.s: Add new m[t,f]sprg testcases.
	* gas/ppc/booke.d: Likewise.
2005-03-10 12:52:30 +00:00
Jan Beulich
4962e19668 gas/
2005-03-10  Jan Beulich  <jbeulich@novell.com>

	* config/tc-tic54x.h (tic54x_macro_info): Change parameter type.
	* config/tc-tic54x.c (tic54x_macro_info): Likewise. Replace hand-
	crafted structure declarations with the types from macro.h.
2005-03-10 09:32:20 +00:00
Richard Sandiford
4184909a51 * config/tc-mips.c (s_cpsetup): Use '__gnu_local_gp' instead of '_gp'
for -mno-shared optimization.
2005-03-09 11:56:15 +00:00
Richard Sandiford
11db99f847 * config/tc-mips.c (MAX_VR4130_NOPS, MAX_DELAY_NOPS): New macros.
(MAX_NOPS): Bump to 4.
	(mips_fix_vr4130): New variable.
	(nops_for_vr4130): New function.
	(nops_for_insn): Use MAX_DELAY_NOPS rather than MAX_NOPS.  Use
	nops_for_vr4130 if working around VR4130 errata.
	(OPTION_FIX_VR4130, OPTION_NO_FIX_VR4130): New macros.
	(md_longopts): Add -mfix-vr4130 and -mno-fix-vr4130.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.
	* doc/c-mips.texi: Document -mfix-vr4130 and -mno-fix-vr4130.
2005-03-09 09:53:50 +00:00
Richard Sandiford
7d8e00cf78 * config/tc-mips.c (MAX_VR4130_NOPS, MAX_DELAY_NOPS): New macros.
(MAX_NOPS): Bump to 4.
	(mips_fix_vr4130): New variable.
	(nops_for_vr4130): New function.
	(nops_for_insn): Use MAX_DELAY_NOPS rather than MAX_NOPS.  Use
	nops_for_vr4130 if working around VR4130 errata.
	(OPTION_FIX_VR4130, OPTION_NO_FIX_VR4130): New macros.
	(md_longopts): Add -mfix-vr4130 and -mno-fix-vr4130.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.
	* doc/c-mips.texi: Document -mfix-vr4130 and -mno-fix-vr4130.
2005-03-09 09:39:31 +00:00
Richard Sandiford
dc36a61fc5 * config/tc-mips.c (append_insn): Remove cop_interlocks test from
branch delay code.
2005-03-09 09:35:00 +00:00
Richard Sandiford
7d10b47d34 * config/tc-mips.h (mips_flush_pending_output): Delete.
(mips_emit_delays): Declare.
	(md_flush_pending_output): Use mips_emit_delays.
	* config/tc-mips.c (mips_no_prev_insn): Remove parameter; always forget
	the previous instructions.
	(md_begin, append_insn, md_parse_option): Update callers.
	(mips_emit_delay): Remove parameter.  Move INSNS != 0 code to
	start_noreorder.
	(mips_align, s_change_sec, s_cons, s_float_cons, s_gpword)
	(s_gpdword): Update callers.
	(start_noreorder, end_noreorder): New functions.
	(macro, macro2, mips16_macro, s_mipsset): Use them instead of
	manipulating mips_opts or prev_nop_frag directly.
	(mips_flush_pending_output): Delete.
2005-03-09 09:22:25 +00:00
Richard Sandiford
404a80717c * config/tc-mips.c (mips_move_labels): New function, taken from...
(append_insn, mips_emit_delays): ...here.
2005-03-09 09:21:18 +00:00
Richard Sandiford
71400594f2 * config/tc-mips.c (MAX_NOPS): New macro.
(history): Resize to 1 + MAX_NOPS.
	(fix_vr4120_class): New enumeration.
	(vr4120_conflicts): New variable.
	(init_vr4120_conflicts): New function.
	(md_begin): Call it.
	(insn_uses_reg): Constify first argument.
	(classify_vr4120_insn, insns_between, nops_for_insn, nops_for_sequence)
	(nops_for_insn_or_target): New functions.
	(append_insn): Use the new nops_for_* functions instead of inline
	delay checks.  Generalize prev_nop_frag handling to handle an
	arbitrary history length.  Insert nops into the history buffer
	once the number of nops in prev_nop_frag is fixed.
	(emit_delays): Use nops_for_insn instead of inline delay checks.
2005-03-09 09:20:27 +00:00
Richard Sandiford
9b91f5445f * config/tc-mips.c (append_insn): Remove now-redundant nops != 0
check from branch delay code.  Remove unnecessary check for branches.
2005-03-09 09:17:41 +00:00
Richard Sandiford
1e91584932 * config/tc-mips.c (dummy_opcode): Delete.
(nop_insn, mips16_nop_insn): New variables.
	(NOP_INSN): New macro.
	(insn_length, create_insn, install_insn, move_insn, add_fixed_insn)
	(add_relaxed_insn, insert_into_history, emit_nop): New functions.
	(md_begin): Initialize nop_insn and mips16_nop_insn.
	(append_insn): Use the new emit_nop function to add nops, recording
	them in the history buffer.  Use add_fixed_insn or add_relaxed_insn
	to reserve room for the instruction and install_insn to install the
	final form.  Use insert_into_history to record the instruction in
	the history buffer.  Use move_insn to do delay slot filling.
	(mips_emit_delays): Use add_fixed_insn instead of the emit_nop macro.
	(macro_build, mips16_macro_build, macro_build_lui, mips_ip)
	(mips16_ip): Use create_insn to initialize mips_cl_insns.
2005-03-09 09:17:02 +00:00
Richard Sandiford
bf12938eac * config/tc-mips.c (INSERT_BITS, EXTRACT_BITS, INSERT_OPERAND)
(EXTRACT_OPERAND, MIPS16_INSERT_OPERAND, MIPS16_EXTRACT_OPERAND): New.
	(insn_uses_reg, reg_needs_delay, append_insn, macro_build)
	(mips16_macro_build, macro_build_lui, mips16_macro, mips_ip)
	(mips16_ip): Use the new macros instead of explicit masks and shifts.
2005-03-09 09:15:35 +00:00
Richard Sandiford
a38419a54c * config/tc-mips.c (mips_cl_insn): Replace the valid_p, delay_slot_p
and extended_p fields with a single fixed_p field.
	(append_insn, mips_no_prev_insn): Adjust accordingly.
2005-03-09 09:14:20 +00:00
Richard Sandiford
2fa1597374 * config/tc-mips.c (mips_cl_insn): Replace reloc_type array with
a single mips16_absolute_jump_p bit.
	(append_insn): Adjust accordingly.
2005-03-09 09:13:18 +00:00
Richard Sandiford
47e39b9d3f * config/tc-mips.h (mips_cl_insn): Move definition to...
* config/tc-mips.c (mips_cl_insn): ...here.  Add new fields:
	frag, where, fixp, reloc_type, valid_p, noreorder_p, delay_slot_p
	and extended_p.
	(history): New variable.
	(prev_insn, prev_prev_insn, prev_insn_valid, prev_insn_frag)
	(prev_insn_where, prev_insn_reloc_type, prev_insn_fixp)
	(prev_insn_is_delay_slot, prev_insn_unreordered, prev_insn_extended)
	(prev_prev_insn_unreordered): Delete.
	(reg_needs_delay, append_insn, mips_no_prev_insn, mips_emit_delays)
	(macro_start): Replace uses of prev_insn* with the equivalent history[]
	field.
2005-03-09 09:12:29 +00:00
Ben Elliston
80f19ede4a * gas/maxq10/maxq10.exp: Remove stray semicolons.
* gas/maxq20/maxq20.exp: Likewise.
2005-03-08 22:41:05 +00:00
Daniel Jacobowitz
399132afa6 * doc/Makefile.am: Update as.info dependencies.
* aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
2005-03-08 17:16:25 +00:00
Jan Beulich
fffeaa5fb1 gas/
2004-03-08  Jan Beulich  <jbeulich@novell.com>

	* doc/as.texinfo: Add sentence to indicate redefining a macro is an
	error, and point to .purgem documentation if someone really needs
	re-definitions.
	* NEWS: Mention macro redefinition is now an error.
2005-03-08 13:59:23 +00:00
Jan Beulich
9b50584289 gas/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (emit_one_bundle): Track last slot user insn was
	emitted to. Add more precise diagnostics for non-fitting insns based
	on that. Eliminate now superfluous special casing of MLX. Clear out
	slot information when dropping an insn.

gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/no-fit.[ls]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-03-08 08:27:02 +00:00
Jan Beulich
ef6a2b4181 gas/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_section_name): Rename to...
	(cross_section): In addition to separating the name from the rest of
	the arguments, also carry out the operation.
	(dot_xdata): Use cross_section.
	(dot_float_cons): Likewise.
	(dot_xstringer): Likewise.
	(dot_xdata_ua): Likewise.
	(dot_float_cons_ua): Likewise. Pass float_cons, not stmt_float_cons.

gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/xdata.[sd], gas/ia64/xdata-ilp32.d: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-03-08 08:23:32 +00:00
Jan Beulich
0b74f93c04 gas/testsuite/
2005-03-08  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/pcrel.d: Account for big endian target.
	* gas/ia64/reloc-bad.s: Enforce 64-bit ABI.
2005-03-08 08:15:40 +00:00
Hans-Peter Nilsson
66798ad6ae Adjust testsuite for cris-axis-aout.
* gas/cris/rd-bcnst.d, gas/cris/rd-usp-1.d: Adjust regexps for a.out output.
	* gas/cris/mulbug-err-1.s, gas/cris/rd-arch-1.d,
	gas/cris/rd-arch-2.d, gas/cris/rd-arch-3.d, gas/cris/rd-break32.d,
	gas/cris/rd-pcrel2.d, gas/cris/rd-ppv1032.d, gas/cris/rd-ppv32.d,
	gas/cris/rd-usp-1b.d, gas/cris/v32-err-7.s: Pass --em=criself.
2005-03-08 02:26:21 +00:00
Alan Modra
06647dfdde Regenerate .pot files 2005-03-05 12:14:34 +00:00
Thiemo Seufer
bbe506e8ba bfd/ChangeLog
* elfxx-mips.c (mips_elf_calculate_relocation): Handle special
	'__gnu_local_gp' symbol used by gas -mno-shared.

	gas/ChangeLog
	* config/tc-mips.c (macro_build_lui): Use '__gnu_local_gp'
	instead of '_gp' for -mno-shared optimization.
	(s_cpload): Ditto.
	(s_abicalls): Document it in the comment.
	(md_show_usage): Document the -mno-shared option.

	gas/testsuite/ChangeLog
	* gas/mips/elf-rel23b.d: Use '__gnu_local_gp' instead of '_gp'
	for -mno-shared optimization.
	* gas/mips/elf-rel25a.d: Ditto.

	ld/testsuite/ChangeLog
	* ld-mips-elf/multi-got-no-shared-1.s,
	ld-mips-elf/multi-got-no-shared-2.s,
	ld-mips-elf/multi-got-no-shared.d: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
2005-03-05 00:01:44 +00:00
Nick Clifton
25742a2cf0 Fix unexpected failrues for arm toolchains 2005-03-04 15:28:36 +00:00
Richard Sandiford
aed1a26192 * config/tc-mips.c (mips_set_options): Add sym32 field.
(mips_opts): Initialize it.
	(HAVE_32BIT_ADDRESSES): Set to true if pointers are 32 bits wide.
	(HAVE_64BIT_ADDRESSES): Redefine as !HAVE_32BIT_ADDRESSES.
	(HAVE_32BIT_SYMBOLS, HAVE_64BIT_SYMBOLS): New macros.
	(load_address): Use HAVE_64BIT_SYMBOLS instead of HAVE_64BIT_ADDRESSES
	when deciding whether to use a symbolic %highest/%higher expansion.
	(macro): Likewise.  Remove o64/n32 linux hack.  Always use
	ADDRESS_ADD*_INSN for address addition in the expansion of "dla"
	and "la".  Handle constants separately from symbolic expressions in
	the "ld_st:" case, using 64-bit arithmetic if HAVE_64BIT_ADDRESSES
	and using load_register to load the high part of the address.
	(OPTION_MSYM32, OPTION_NO_MSYM32): New macros.
	(OPTION_ELF_BASE): Bump by 2.
	(md_longopts): Add entries for -msym32 and -mno-sym32.
	(md_parse_option): Handle them.
	(usage): Document them.
	(s_mipsset): Handle ".set sym32" and ".set nosym32".
	(s_cpload, s_cpsetup): Use HAVE_64BIT_SYMBOLS instead of
	HAVE_64BIT_ADDRESSES to detect 64-bit values of "_gp".
	* doc/c-mips.texi: Document ".set sym32", ".set nosym32",
	-msym32 and -mno-sym32.
2005-03-04 09:51:11 +00:00
Thiemo Seufer
6caf9ef47f * config/tc-mips.c (load_address): Implement GP optimization
for 64bit address space non-PIC. Fix formatting.
        (macro): Likewise. Simplify code.
        (md_parse_option): Don't bail out if -G 0 is set for PIC code.
        (mips_after_parse_args): Simplify code.
2005-03-03 19:53:18 +00:00
Nick Clifton
be20d78e37 (and.s): Expect this test to fail for the tic4x-coff target because it uses
the '&' character as a line separator.
2005-03-03 17:25:36 +00:00
Nick Clifton
fbacee5b43 Remove redundant code enclosed by #ifdef RELAX_PAREN_GROUPING....#endif. 2005-03-03 17:22:12 +00:00
Nick Clifton
3c1a78a44b * gas/sh/basic.exp: Add an sh-hms version of the pcrel test.
* gas/sh/pcrel-hms.d: New file.  Adjusted form of pcrel-coff.d for the sh-hms
  target.
* gas/sh/arch/arch.exp: Expect the same failures for sh-hms port as for the
  sh-coff port.
2005-03-03 16:59:20 +00:00
Nick Clifton
5e1e041485 Also expect the msp430 port to fail the strings test because it defines
ONLY_STANDARD_ESCAPES.
2005-03-03 15:13:39 +00:00
Richard Sandiford
b271558791 * gas/mips/mips.exp: Move tls tests to main $elf block. 2005-03-03 15:01:49 +00:00
Nick Clifton
f991b11ef8 * gas/arm/arch6zk.s: Add three nop instructions in order to pad the .text
section out to a 32-byte boundary as will automatically be done by the
   arm-aout target.
* gas/arm/arch6zk.d: Add expected nop disassemblies.
2005-03-03 14:41:35 +00:00
Nick Clifton
77ccfee5d2 (tc_gen_reloc): Handle the case where the reloc is the difference of two
symbols defined in the same section.
2005-03-03 13:50:02 +00:00
Nick Clifton
406a7f05f4 (line_comment_chars): Include the # character as otherwise this breaks
#APP/#NO_APP processing.
2005-03-03 13:03:48 +00:00
Nick Clifton
d3d5c68681 Remove listing lines that are no longer emitted and fix up expected binary
encoding.
2005-03-03 12:35:19 +00:00
Ramana Radhakrishnan
a6ccbdd30e 2005-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
* gas/arc/extensions.s: Add tests for extcoreregister
	* gas/arc/extensions.d: Likewise.
	* gas/arc/warn.s: Warnings for readonly core registers
	accessed .
	* gas/arc/warn.d:Likewise.
	* testsuite/gas/arc/arc.exp:Run extensions testcase.
2005-03-03 12:13:23 +00:00
Alan Modra
aef6203bd6 update copyright dates 2005-03-03 11:52:12 +00:00
Richard Sandiford
fa81d9639c * gas/mips/noat-1.d: Add -mips1 to assembler options. 2005-03-03 10:32:10 +00:00
Ramana Radhakrishnan
c67de7d552 2005-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
* gas/arc/ld.s:Add checks for short immediates with ld
	* gas/arc/ld.d:Likewise.
2005-03-03 05:31:41 +00:00
Ramana Radhakrishnan
2f12d57ff9 2005-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
* config/tc-arc.c(md_assemble): Remove dead code for handling
        immediate indexing with ld and st.
2005-03-03 05:30:10 +00:00
Alan Modra
2da5c03714 update copyright dates 2005-03-03 01:29:54 +00:00
Alan Modra
0b2af1c518 formatting, tack emacs control vars at end 2005-03-03 01:27:10 +00:00
Daniel Jacobowitz
3f98094e75 * config/tc-mips.c (percent_op): Add %tlsgd, %tlsldm, %dtprel_hi,
%dtprel_lo, %tprel_hi, %tprel_lo, and %gottprel.
	(parse_relocation): Check for a word break after a relocation
	operator.
	(md_apply_fix3): Handle TLS relocations, and mark thread-local
	symbols.
2005-03-02 21:23:33 +00:00
Daniel Jacobowitz
128b3d8643 * gas/mips/tls-o32.d, gas/mips/tls-o32.s, gas/mips/tls-ill.l,
gas/mips/tls-ill.s: New files.
	* gas/mips/mips.exp: Run TLS tests.
2005-03-02 21:22:47 +00:00
Alan Modra
632d447c67 * gas/ppc/astest.d: Adjust for relocs reduced to section sym.
* gas/ppc/astest2.d: Likewise.
	* gas/ppc/astest2_64.d: Likewise.
	* ppc/astest64.d: Likewise.
	* ppc/booke.d: Likewise.
	* ppc/power4.d: Likewise.
	* ppc/test1elf32.d: Likewise.
	* ppc/test1elf64.d: Likewise.
2005-03-02 13:25:01 +00:00
Alan Modra
ab1e9ef77f * config/tc-ppc.c (ppc_fix_adjustable <ELF>): Remove bogus checks. 2005-03-02 13:24:01 +00:00
Jan Beulich
bb14f52400 bfd/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* Makefile.am: Add dependency of cache.o on libiberty.h.
	* cache.c: Include libiberty.h.
	(bfd_open_file): Use unlink_if_ordinary instead of unlink.

binutils/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* ar.c (remove_output): Use unlink_if_ordinary instead of unlink.
	* objcopy.c (copy_file): Likewise.
	(strip_main): Likewise.

gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* as.c (main): Use unlink_if_ordinary instead of unlink.
	* messages.c (as_fatal): Likewise.

ld/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* ldmain.c (remove_output): Use unlink_if_ordinary instead of unlink.
	* pe-dll.c (pe_dll_generate_implib): Likewise.
2005-03-02 09:03:58 +00:00
Jan Beulich
c4a530c529 gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (build_modrm_byte): Add lock prefix for cr8...15
	accesses.
	(parse_register): Allow cr8...15 in all modes.

gas/testsuite/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/cr-err.[ls]: New.
	* gas/i386/crx.[ds]: New.
	* gas/i386/i386.exp: Run new tests.

opcodes/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* i386-dis.c (print_insn): Suppress lock prefix printing for cr8...15
	accesses.
	(OP_C): Consider lock prefix in non-64-bit modes.
2005-03-02 08:01:32 +00:00
Jan Beulich
167c3097b2 gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (intel_e11): If not followed by T_PTR, treat T_BYTE
	etc. like normal symbol references (T_ID).

gas/testsuite/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/intelok.d: Add -r to objdump options. Adjust expectations.
	* gas/i386/intelok.s: Add checks for various special memory operands.
2005-03-02 07:55:01 +00:00
Alan Modra
71ba24a1eb * symbols.c (fb_label_name): Fix silly thinko in last change. 2005-03-02 00:11:30 +00:00
Alan Modra
9d0e75cb1b * expr.c (integer_constant): Remove TARGET_WORD_SIZE hack.
* config/tc-m68k.h (TARGET_WORD_SIZE): Delete.
2005-03-01 22:35:21 +00:00
Alan Modra
a76903bf5d * symbols.c (fb_label_name): Allow an augend of 2 for mmix.
also fix last changelog entry.
2005-03-01 22:24:14 +00:00
Nick Clifton
a3a4c9c4ac Fix undefined local label test for COFF based ARM ports 2005-03-01 15:39:59 +00:00
Nick Clifton
ce04548af9 objdump.c: Fix coding for DISASSEMBLER_NEEDS_RELOC:
(struct objdump_disasm_info): Add 'reloc' field.
(disassemble_bytes): Fix check for when an insn has a reloc associated with it.
Improve comment explaining why the use of octets is wrong.  Set the 'reloc'
field in objdump_disasm_info structure.
(objdump_print_addr): Use new 'reloc' field to lookup the correct address for
the symbol associated with the current instruction's relocation.
(disassemble_info): Initialise 'reloc' field.

gas/arm/inst.d: Allow for ARM ports which decode the reloc associated with
branches and so show the exact symbolic destination address rather than an
offset from the start of the section.

gas/arm/pic.d: Likewise.
2005-03-01 15:18:44 +00:00
Ramana Radhakrishnan
b15c27d7c1 2005-03-01 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
PR gas/708
	* config/tc-arc.c(md_assemble):Initialize suffix for extension
	suffixes also.
	* testsuite/gas/arc/extensions.s:New file
	* testsuite/gas/arc/extensions.d:New file
2005-03-01 15:05:27 +00:00
Alan Modra
c7f17d462a * config/obj-coff.c (fixup_segment): Delete sy_mri_common assertion. 2005-03-01 11:24:31 +00:00
Alan Modra
ddf0c81b06 * gas/m68k/mcf-emac.d: Allow for 64-bit addresses.
* gas/m68k/mcf-mac.d: Likewise.
	* gas/m68k/mcf-mov3q.d: Likewise.
	* gas/m68k/mode5.d: Likewise.
2005-03-01 03:52:56 +00:00
Alan Modra
c9dea48b1f * as.h (assert): Warning fix.
* expr.c (expr): Correct assertion.
	* read.c (s_comm_internal): Remove assertion.
	* write.c (relax_segment): Enable vma assertion only for BFD_ASSEMBLER.
	(fixup_segment): Remove assertion.
	* config/tc-dlx.c (machine_ip): Remove untrue assertions.
	(md_apply_fix3): Likewise.
	* config/tc-i370.c (md_begin): Correct assertion.
	(i370_macro): Warning fix for assertion.
2005-03-01 02:00:15 +00:00
Alan Modra
055d1eb0f8 * config/tc-m68k.c (md_assemble): Don't use sizeof host short. 2005-03-01 01:57:39 +00:00
Alan Modra
44f2f9d2a3 * configure.in (AC_C_BIGENDIAN): Invoke.
* configure: Regenerate.
	* write.c (write_object_file <!BFD_ASSEMBLER>): Don't use sizeof
	host variable to set string header size.
	* config/obj-aout.c (obj_header_append): Don't use host structs.
	(obj_symbol_to_chars): Likewise.
	(obj_emit_strings): Likewise.  Use the passed in output pointer.
	* config/obj-aout.h (H_GET_FILE_SIZE): Include H_GET_LINENO_SIZE.
	* config/obj-bout.c (obj_emit_relocations): Use md_reloc_size,
	not sizeof host struct.
	(obj_header_append, obj_symbol_to_chars): Don't use host structs.
	(obj_emit_strings): Likewise.
	* config/obj-bout.h (EXEC_BYTES_SIZE): Define.
	(N_TXTOFF, H_GET_FILE_SIZE, H_GET_HEADER_SIZE): Use instead of
	sizeof host struct.
	(H_SET_SYMBOL_TABLE_SIZE): Hard code sym size rather than using
	sizeof host struct.
	(host_number_to_chars): Define.
	* config/obj-hp300.c (hp300_header_append): Don't use sizeof
	host internal struct to set header sizes.
	* config/tc-i960.c (md_number_to_field): Warning fix.
	(md_ri_to_chars): Use host byte order.
	(get_cdisp, md_apply_fix3): Warning fix.
2005-03-01 00:43:58 +00:00