Commit Graph

1107 Commits

Author SHA1 Message Date
Nick Clifton c45021f2d2 Remove auot generated man pages 2001-06-19 11:57:29 +00:00
Phil Blundell 2172d73b21 2001-06-18 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (do_msr): Remove restriction on usage of
	immediate operands.
2001-06-19 07:33:21 +00:00
Alan Modra 45c500fa3e * dwarf2dbg.c (dwarf2_finish): Output file info even when no
line info.
2001-06-19 05:40:55 +00:00
Phil Blundell 0b317b0807 2001-06-13 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (thumb_shift): Improve wording of error message.
	(do_t_arit): Likewise.
2001-06-14 07:58:12 +00:00
Nick Clifton 2bc0a1288f Stop sh-coff port from trying to call dwarf2 debug functions 2001-06-13 16:46:05 +00:00
Nick Clifton 07a7a14553 Fix typo in comment 2001-06-13 11:29:53 +00:00
Nick Clifton b131d4dca6 Document use of comparison operators as infix operators 2001-06-12 15:56:04 +00:00
Nick Clifton e1f44d1052 Fix m68k/mri mode problems. 2001-06-12 10:35:24 +00:00
Nick Clifton 3971ce954f fix test for overlflow of literal pool 2001-06-12 08:27:53 +00:00
H.J. Lu 63486801dd 2001-06-11 H.J. Lu <hjl@gnu.org>
* NEWS: Updated for the new -n option for the MIPS assembler.

	* config/tc-mips.c (md_show_usage): Add -n.

	* doc/as.texinfo: Document the new -n option.
	* doc/c-mips.texi: Likewise.
	* doc/as.1: Regenerated.
2001-06-11 20:40:36 +00:00
Alan Modra 5dd0794dca Branch hints for Pentium4 as insn modifiers, and some minor tweaks
to formatting.
2001-06-10 14:07:12 +00:00
H.J. Lu 39c0a33100 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (warn_nops): New variable. Set to 0 to
	disable warning about all NOPS that the assembler generates.
	(macro): Warn NOPS generated only if warn_nops is not 0.
	(md_shortopts): Add `n'.
	(md_parse_option): Set warn_nops to 1 for `n'.
2001-06-09 05:24:39 +00:00
H.J. Lu 268f6bed84 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (mips_ip): Properly handle illegal operands.
2001-06-09 05:01:29 +00:00
H.J. Lu ea4ff978a2 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (md_apply_fix): Don't adjust common
	extern/weak symbols for ELF.
	(md_estimate_size_before_relax): Treat weak like extern for
	ELF.
	(mips_fix_adjustable): Don't adjust extern/weak symbols for
	ELF.
2001-06-09 03:28:04 +00:00
Alan Modra c0037ab6f5 fix typo. 2001-06-08 06:11:33 +00:00
Alan Modra 98aa84af0e * Makefile.am: 'som' is not wrongly spelled 'some'.
* Makefile.in: Regenerate.

	* config/tc-mips.c (mips16_mark_labels): Reduce number of calls to
	S_GET_VALUE by using a temp.
	(append_insn): Likewise, and for S_GET_VALUE too.
	(mips_emit_delays): Likewise.
	(my_getExpression): Likewise.
	(md_apply_fix): Likewise.  Use "valueT" rather than "long" for "value".
	(mips16_extended_frag): Remove code concerned with avoiding
	locking in a frag address now that symbols are not finalized until
	relaxation is complete.  Cater for first relaxation pass having
	bogus addresses.  Use relax_marker to reliably determine whether a
	symbol frag has been reached on the current pass.
2001-06-08 06:07:13 +00:00
H.J. Lu f85f789b4c 2001-06-07 H.J. Lu <hjl@gnu.org>
* configure.in: Move "mips-*-linux-gnu*" before "mips-*-gnu*".
	* configure: Regenerate.
2001-06-07 23:43:46 +00:00
H.J. Lu df3bcd6f73 2001-06-07 H.J. Lu <hjl@gnu.org>
* configure.in: Use MIPS_STABS_ELF for Linux/mips and remove
	ecoff emulation.
	* configure: Regenerate.
2001-06-07 17:23:14 +00:00
H.J. Lu add565213d 2001-06-07 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (mips_pseudo_table): Add "extern" if
	MIPS_STABS_ELF is defined.
2001-06-07 16:52:19 +00:00
Nick Clifton 6da13e9a21 Remove L fromlist of accepting listin goptions 2001-06-06 17:32:38 +00:00
Nick Clifton 879db8be1a Remove warnings building z8k port.
Fix ld -r behaviour
2001-06-06 17:01:35 +00:00
Nick Clifton 98b3248268 correct some 68k/ColdFire problems 2001-06-06 14:28:00 +00:00
Alan Modra 6e139bf09a * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.
2001-06-06 12:08:50 +00:00
Alan Modra cb9401fc47 * config/tc-i386.c (md_assemble): Handle Pentium4 branch hints.
<JumpByte, JumpDword insn output>: Remove dead code.
2001-06-06 10:23:39 +00:00
Alan Modra 3c5cdb543e * as.c (parse_args): Correct option name "listing-lhs-width2". 2001-06-06 03:42:24 +00:00
Nick Clifton 92ed29ef02 oops - omitted from previous delta 2001-06-05 08:31:24 +00:00
Richard Henderson 371b7465e4 * read.c (emit_leb128_expr): Call md_cons_align. 2001-05-31 00:00:30 +00:00
Nick Clifton 0f2712edc9 Add support for .uahword, .uaword and .uaxword pseudo ops 2001-05-28 09:23:54 +00:00
Alan Modra 9e40345d0e * write.c (relax_segment <rs_space>): Check the section of a
symbol to determine whether it is absolute rather than comparing
	its frag against zero_address_frag as listings play tricks with
	frags.
2001-05-27 12:17:38 +00:00
Alan Modra fbe572f93e * config/tc-m68k.c (md_assemble): Ensure variable part of frag is
allocated in the same chunk as the fixed part.
2001-05-27 11:57:25 +00:00
Alan Modra 54d3cad90d * write.c (relax_segment <rs_space>): Calculate growth using
addresses before stretch.  Prevent repeated error messages.
	From Peter Jakubek  <pjak@snafu.de>
	Use as_bad_where and as_warn_where to pinpoint errors.
2001-05-26 12:45:15 +00:00
Alan Modra 05bdb37eec * symbols.c (resolve_symbol_value): Always set segment, even when
not finalizing symbol value.
2001-05-25 10:07:43 +00:00
Alan Modra 1cd55018a6 * config/obj-ieee.c (write_object_file): Set finalize_syms.
* config/obj-coff.c (write_object_file): Likewise.
	* (size_section): Remove rs_space assert as fr_symbol is no longer
	removed.
	(fill_section): Likewise.
2001-05-25 09:40:12 +00:00
Alan Modra c709b09623 s/linuxaout/linux*aout/, s/linuxoldld/linux*oldld/ 2001-05-25 07:21:01 +00:00
Alan Modra ce34c3732a Revert last patch. 2001-05-25 01:59:43 +00:00
Alan Modra 40e3ba9bb7 * expr.c (expr): Set return value to absolute_section for
subtractive operations on symbols within a segment.
	* read.c (pseudo_set): Set segment for complex expressions.
2001-05-25 00:01:30 +00:00
Alan Modra b58c9faf2f From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
* config/tc-i386.c (md_convert_frag): Don't die on local symbols
	that have been finalized.
2001-05-24 23:52:22 +00:00
Alan Modra c89c853400 * symbols.c (resolve_symbol_value): Clear sy_resolving before
taking exit_dont_set_value.
2001-05-24 23:44:06 +00:00
Alan Modra 766c03c9fa * write.c (relax_segment): Don't zap fr_symbol when relaxing. 2001-05-24 23:33:00 +00:00
Tom Rix 6877bb43e5 Fix for gas seg fault and neg line numbers 2001-05-24 21:39:09 +00:00
Alan Modra e027f3e8a4 * write.c (write_object_file): Set finalize_syms = 1 before
size_seg is called.
2001-05-24 08:19:32 +00:00
Nick Clifton d1cf510e5e Add MIPS r12k support 2001-05-23 17:26:40 +00:00
Alan Modra 2d0441d962 * config/tc-arc.c (md_assemble): Use is_end_of_line instead of
testing for NULs.
2001-05-22 11:03:35 +00:00
Alan Modra 6386f3a767 * symbols.c (resolve_symbol_value): Remove "finalize" param,
instead use finalize_syms directly.  Don't treat expressions
	specially with regard to finalize_syms.  Update calls to self.
	(resolve_local_symbol): Update call to resolve_symbol_value.
	(S_GET_VALUE): Likewise.  Return resolve_symbol_value if
	!finalize_syms.
	* symbols.h (resolve_symbol_value): Update prototype.
	* config/obj-aout.c (obj_crawl_symbol_chain): Update call
	to resolve_symbol_value.
	* config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
	* config/obj-coff.c (do_relocs_for): Likewise.
	(yank_symbols): Likewise.
	(fixup_segment): Likewise.
	* config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
	* config/tc-mips.c (md_convert_frag): Likewise.
	* config/tc-ppc.c (ppc_frob_symbol): Likewise.
	(ppc_fix_adjustable): Likewise.
	* dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise.
	(dwarf2dbg_convert_frag): Likewise.
	* ehopt.c (eh_frame_estimate_size_before_relax): Likewise.
	(eh_frame_convert_frag): Likewise.
	* expr.c (make_expr_symbol): Likewise.
	* write.c (adjust_reloc_syms): Likewise.
	(write_object_file): Likewise.
	(relax_segment): Likewise.
	(fixup_segment): Likewise.
	(finalize_syms): Init to zero, and update comment.
	(write_object_file): Set finalize_syms to 1 rather than 2.
	* doc/internals.texi (sy_value): Mention finalize_syms.
	(S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
2001-05-22 10:23:50 +00:00
Alan Modra c801568a3a * config/tc-m68k.c (relaxable_symbol): Only treat external symbols
as relaxable if embedded system, make weak syms non-relaxable.
	Move definition..
	(tc_m68k_fix_adjustable): ..so it can be used here.
	(md_apply_fix_2): Sign extend without conditional.
2001-05-22 09:01:55 +00:00
Alan Modra 507c8a1a57 Update copyright date. 2001-05-22 08:41:10 +00:00
Jeff Johnston aaa4f6d96f 2001-05-16 Jeff Johnston <jjohnstn@redhat.com>
* cgen.c (gas_cgen_tc_gen_reloc): Changed error message when
        howto entry is not found.

Fix for 105023-CR-1.
2001-05-16 23:06:02 +00:00
Alexandre Oliva 7e8f410030 * config/tc-mn10300.c (mn10300_force_relocation): Don't
optimize differences between symbols in code sections to
constants.
(mn10300_fix_adjustable): Don't adjust to section+offset
relocations pointing at symbols in code sections.
2001-05-16 01:48:51 +00:00
Alan Modra 9fcc94b611 Fix dwarf2_emit_insn calls when frag_var breaks things.
Put back an old entry in ChangeLog-9899, deleted when ChangeLog split.
2001-05-16 01:08:21 +00:00
Richard Henderson de1cb007d9 * ehopt.c (eh_frame_convert_frag): Fix missed subtype adjustment
last change.
2001-05-15 06:10:43 +00:00
Richard Henderson 67a659f60e * ehopt.c (get_cie_info): Rename from eh_frame_code_alignment;
also collect whether to expect an FDE augmentation.
        (check_eh_frame): Rewrite as a state machine.  Track where in
        an FDE we are located, skip any augmentation.
        (eh_frame_estimate_size_before_relax): Get code alignment from
        the fragment subtype.
        (eh_frame_relax_frag, eh_frame_convert_frag): Likewise.
        * read.c (emit_leb128_expr): Call check_eh_frame.
2001-05-14 22:37:47 +00:00
Alexandre Oliva 076dc439b8 * config/tc-mn10300.c (md_assemble): Anchor dwarf2 line info
before a relaxable insns.
2001-05-14 20:01:12 +00:00
Alexandre Oliva 4e75439ae5 * config/tc-mn10300.c (tc_gen_reloc): Don't reject differences
between symbols if the base symbol is in the current section;
emit a PC-relative relocation instead.
2001-05-13 23:16:30 +00:00
Alan Modra bcee8eb8ca Peter Targett's backwards compatibility and other arc fixes. 2001-05-12 15:14:53 +00:00
Jakub Jelinek 579f31ac74 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
sections as well.
	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
	to .gnu.linkonce.t.FOO text section.

	* readelf.c (process_unwind): Print all unwind sections, not just
	one.

	* config/tc-ia64.c (special_linkonce_name): New.
	(make_unw_section): Map .gnu.linkonce.t.FOO text section into
	.gnu.linkonce.ia64unw{,i}.FOO.
	(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
	(dot_endp): Add comment about it.

	* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
	(ELF_STRING_ia64_unwind_info_once): Define.

	* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
	.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
	output sections.
	* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
Nick Clifton 15f65ae412 When truncating an aligned block, ensure that the low order bits of the
alignment are preserved.
2001-05-11 10:01:41 +00:00
Alan Modra 606ab118ba Fix more fallout from multi-pass relaxation patch. 2001-05-10 11:32:52 +00:00
Richard Henderson 1f23ade4f4 * config/tc-ia64.c (generate_unwind_image): Align the fragment
beginning a function's unwind info block.
2001-05-10 00:18:19 +00:00
Alexandre Oliva 96f37af640 * config/tc-mn10300.c (md_apply_fix3): Accept PC-relative relocs. 2001-05-09 13:32:01 +00:00
Andreas Schwab 8390138c6b * config/tc-m68k.c: Instead of replacing -1 by 64 in assignment to
fx_pcrel_adjust explicitly sign extend when reading it.
2001-05-08 18:03:27 +00:00
Alan Modra 5c65dbc1ca More fallout from 2001-03-30 changes.
* config/tc-m68k.c (md_estimate_size_before_relax): Set fr_var
	from md_relax_table, and combine some switch cases.
2001-05-08 13:13:56 +00:00
Alexandre Oliva a7c92daeed * config/tc-mn10300.c (md_assemble): Subtract operand->shift
from offset in non-pcrel operands too.
2001-05-06 20:05:28 +00:00
Nick Clifton d8708f403e Do not insert more than MAX_MEM_FOR_RS_ALIGN_CODE bytes. 2001-05-06 10:11:33 +00:00
Alan Modra 3438adb37d Warning fixes and configure/makefile tweaks by Thiemo Seufer. 2001-05-03 02:07:02 +00:00
Alan Modra 636c26b044 * config/tc-i386.c (i386_displacement): Call as_bad for bad GOTOFF
expressions rather than triggering an assert.
2001-05-03 01:08:44 +00:00
Nick Clifton c7e4034828 Add gas and ld support for openrisc 2001-05-02 18:14:31 +00:00
Nick Clifton 5cb1517bba imprrove error message 2001-05-02 11:33:12 +00:00
H.J. Lu f4ddc5e633 2001-04-29 Keith M Wesolowski <wesolows@foobazco.org>
* config/tc-mips.c (md_parse_option): Also accept
	elf64-tradbigmips and elf64-tradlittlemips for OPTION_64.
2001-04-29 17:58:39 +00:00
H.J. Lu fa7fda74e9 2001-04-27 David Mosberger <davidm@hpl.hp.com>
* config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p()
	argument passing order: predicate goes last, not first.
2001-04-27 20:42:55 +00:00
Nick Clifton 87748b3227 Add support for arm-vxworks target 2001-04-27 17:12:18 +00:00
Nick Clifton 16a0c2d4ec Add ability to pad code alignment frags with no-ops. 2001-04-26 15:19:21 +00:00
Nick Clifton ea3b9044a6 Check to see if the filename symbol has been initialised before extracting
its symbol index.
2001-04-25 09:11:31 +00:00
H.J. Lu d6d788bdf3 2001-04-24 H.J. Lu <hjl@gnu.org>
* configure: Regenerated with the right version of autoconf.
2001-04-25 00:18:35 +00:00
Nick Clifton 6840198f93 z8k fixes 2001-04-24 15:22:25 +00:00
Jason Eckhardt 1c97d17b13 2000-04-20 Jason Eckhardt <jle@redhat.com>
* config/tc-d10v.h (tc_frob_label): Update the symbol's frag
	since frag_now can change after d10v_cleanup is called.
2001-04-20 23:38:37 +00:00
David O'Brien 1c33f1da00 2001-04-16 David O'Brien <obrien@FreeBSD.org>
* configure.in: Add the em type for FreeBSD targets.
	* configure: Regenerate.

Approved by:  Alan Modra <amodra@one.net.au>
              <20010414192409.C16364@squeak.one.net.au>
			  Philip Blundell <philb@gnu.org>
			  <E14o06W-0002IT-00@kings-cross.london.uk.eu.org>
2001-04-17 01:36:23 +00:00
Alexandre Oliva 8c5e1ccd72 * struc-symbol.h (struct local_symbol): New TC_LOCAL_SYMFIELD_TYPE.
* symbols.c (local_symbol_convert): Call TC_LOCAL_SYMFIELD_CONVERT.
2001-04-14 06:57:28 +00:00
Alexandre Oliva eb0dfd58c8 * config/tc-mn10300.c (md_assemble): Simplify offset adjustment of
pc-relative relocations not placed at the end of the instruction.
2001-04-14 06:53:57 +00:00
Jim Wilson 1deb8127a2 Fix latent bug exposed by a gcc-3 bug fix.
* tc-ia64.c (is_conditional_branch): Return true for br, brl, and br.
	excluding br.i.
2001-04-14 03:51:40 +00:00
Jakub Jelinek f5fa8ca231 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Jason Merrill fb81275c7d * dwarf2dbg.c (process_entries): Don't optimize redundant line notes. 2001-04-12 16:00:32 +00:00
Alexandre Oliva a8a22e3365 * expr.c (operand): Pass &c to md_parse_name().
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-04-12 07:03:10 +00:00
H.J. Lu af9539e4e5 2001-04-07 Steven J. Hill <sjhill@cotw.com>
* config/tc-mips.c: Support ELF64 for traditional MIPS targets.

	* Makefile.am: (TARG_ENV_HFILES): Add tc-mips.h.
	* Makefile.in: Regenerated.

	* configure.in: Use traditional MIPS targets for Linux/MIPS.
	* configure: Regenerated.
2001-04-08 05:09:21 +00:00
Alexandre Oliva 4dfea10551 * config/tc-mn10300.c (xr_registers): Added `pc'. 2001-04-06 07:50:48 +00:00
Alan Modra e66457fbf3 Fix more breakages from the multiple relax pass patch. 2001-04-05 04:21:36 +00:00
Hans-Peter Nilsson ed67db7ab9 * config/tc-cris.c (cris_insn_first_word_frag): New.
(md_assemble): Call cris_insn_first_word_frag to get the first
	frag in an insn, not frag_more.  Don't call dwarf2_emit_insn at
	end.  Drop variable insn_size.
	(gen_bdap): Call cris_insn_first_word_frag, not frag_more.
	(cris_sym_leading_underscore): Wrap first as_bad parameter in _().
	(cris_sym_no_leading_underscore, s_cris_file, s_cris_loc): Ditto.
2001-04-04 04:23:20 +00:00
Hans-Peter Nilsson c335d39444 * config/tc-cris.c (md_estimate_size_before_relax) <case
ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF)>: Don't emit
	32-bit branch, just set fragP->fr_subtype.  Set fragP->fr_var.
	<all cases>: Always set fragP->fr_var using md_cris_relax_table.
	Add cases to cover all relax states.
2001-04-04 03:53:12 +00:00
Hans-Peter Nilsson aacb52510a * write.c (write_object_file): Reset broken word state before
calling relax_seg.
2001-04-04 03:05:47 +00:00
Alan Modra 61b96bb428 Fix conditional assembly listings when more than one .else/.elsif 2001-03-31 06:47:54 +00:00
Alan Modra cdbc6895e5 * cond.c (s_endif): Correct handling of "if .. elseif .." trees.
Don't abort on NULL current_cframe.
2001-03-31 02:06:24 +00:00
Alan Modra 1a5447b835 Pass finalize_syms on calls to resolve_symbol_value. 2001-03-30 07:07:11 +00:00
Alan Modra 0529cb8781 Missing ChangeLog for dwarf2dbg.c warning fixes. 2001-03-30 02:39:18 +00:00
Alan Modra e46d99eb07 Multi-pass relaxation machinery. 2001-03-30 02:19:36 +00:00
Alan Modra 93c2a809af Prepare for multi-pass relaxation. 2001-03-30 00:06:10 +00:00
Hans-Peter Nilsson 23ec5d0312 Clarify ChangeLog entry 2001-03-29 02:32:52 +00:00
Hans-Peter Nilsson d551a338e2 * config/tc-cris.h (tc_fix_adjustable): Allow only
BFD_RELOC_CRIS_32_GOTREL of the PIC relocs.
	* config/tc-cris.c (cris_get_pic_suffix): Correct reloc used in
	example to valid.
2001-03-29 02:29:38 +00:00
H.J. Lu 440ecb3800 2001-03-28 H.J. Lu <hjl@gnu.org>
* read.c (equals): Set to local for COFF only if it hasn't been
	defined before.
2001-03-28 17:24:01 +00:00
Alan Modra 8a238888b4 Default hppa64 to ".level 2.0w" 2001-03-28 14:13:46 +00:00
Nick Clifton 775cf89163 (for COFF) default symbols to being local. 2001-03-27 19:13:55 +00:00
Hans-Peter Nilsson f9c191122c * configure.in (cris-*-*): Change default emulation to criself.
(cris-*-*aout*): New rule.
	* configure: Regenerate.
2001-03-27 02:48:19 +00:00
Nick Clifton 07855becf9 Do not optimize BFD_RELOC_390_GOTENT relocs.
Always generate relocs for VT_ relocs.
2001-03-26 19:38:33 +00:00
Nick Clifton 0285c67df1 Automate generate on man pages 2001-03-25 20:32:31 +00:00
Alan Modra 551c1ca176 Accept an absolute expression for index scale factor. 2001-03-25 05:57:09 +00:00
Nick Clifton c3a27914b8 Document --listing-XXX command line switches.
Explain why listings behave differently when -pipe is used.
2001-03-23 19:35:02 +00:00
Nick Clifton 37006e4391 fix_new_exp: Print an error if passed a register. 2001-03-23 18:15:49 +00:00
Hans-Peter Nilsson 08caf3f870 * config/tc-cris.[ch]: Tweak attribution. Fix typos. PIC support. 2001-03-23 05:27:42 +00:00
Alan Modra 38686296b3 Use `relax_marker' instead of fragile address test code to determine
whether a frag's fr_address has been updated.
2001-03-20 03:12:01 +00:00
Alan Modra 2e98d2de04 Fix register name printed in warning message. 2001-03-19 11:28:20 +00:00
Stephane Carrez e629c13fd6 * config/tc-m68hc11.c (md_pseudo_table): Recognize xrefb to comply
with 'Motorola specification for assembly language input standard'.
2001-03-18 10:14:13 +00:00
Richard Henderson 249e3833ac * dwarf2dbg.c (user_filenum, user_filenum_allocated): Remove.
(dwarf2_directive_loc): Don't use them.
        (dwarf2_directive_file): Reject duplicate file definitions.
        (get_filenum): Zero allocated memory.
        (out_file_list): Complain about missing file definitions.
2001-03-17 18:23:41 +00:00
Alan Modra 2289f85d24 Teach .org to handle complex expressions 2001-03-17 03:02:06 +00:00
Jim Wilson 4d5a53ff76 Add local tag support. Don't flush instructions for .xdata directives.
* config/tc-ia64.c (md): New member keep_pending_output.
	(ia64_flush_pending_output): Flush only if md.keep_pending_output
	is not set.
	(dot_xdata): Turn on md.keep_pending_output for the duration of
	this function.
	(dot_xfloat_cons): Ditto.
	(dot_xstringer): Ditto.
	(dot_xdata_ua): Ditto.
	(dot_xfloat_cons_ua): Ditto.
	* config/tc-ia64.c (ia64_unrecognized_line, case '['): Add local
	label support.
2001-03-16 04:56:31 +00:00
Alexandre Oliva 19c0258a7f * config/tc-sh.c (parse_reg): Match capital MACH and MACL. 2001-03-16 02:11:05 +00:00
DJ Delorie d68d457018 * stabs.c (s_stab_generic): Don't corrupt the notes obstack by
blindly freeing string if it isn't at the top of the obstack.
2001-03-15 19:30:32 +00:00
Alan Modra f3c180aedc Support for @GOTOFF in .long expressions. 2001-03-13 04:37:13 +00:00
Nick Clifton 83e7603d4f Always set machine type based on cpu_variant. 2001-03-12 23:37:39 +00:00
Nick Clifton 291847749a Fix typos 2001-03-08 23:06:04 +00:00
Alan Modra 1ae12ab72a * config/tc-i386.c (struct _i386_insn): Rename disp_reloc to reloc.
(md_assemble [smallest displacement]): Use correct field of i.op[] union.
(md_assemble [JumpInterSegment output]): Use correct i.disp_reloc[].
(md_assemble [immediate output]): Likewise.
2001-03-07 02:52:26 +00:00
Nick Clifton 4f3c3dbb37 Fix BLX(1) for Thumb 2001-03-06 22:33:47 +00:00
Nick Clifton dc84e067cd Rest of the changes for Coldfire V4 2001-03-06 20:12:21 +00:00
Dave Brolley a8150a8817 2001-03-02 Dave Brolley <brolley@redhat.com>
* config/tc-m32r.c (expand_debug_syms): Call frag_align_code rather than
	m32r_do_align.
2001-03-02 22:50:36 +00:00
Nick Clifton e103941e86 Print warnings if NaNs are found and the target CPU does not support them 2001-03-02 18:43:13 +00:00
Andreas Jaeger 7c44d1d360 2001-02-28 Andreas Jaeger <aj@suse.de>, Bo Thorsen <bo@suse.de>
* config/tc-i386.c (tc_gen_reloc): Remove ugly hack which is not needed
	anymore since we use bfd_elf_generic_reloc now.
	(md_apply_fix3): Only apply hack for partial_inplace if not using RELA.
2001-02-28 12:49:40 +00:00
Alan Modra 27b7e12d2d Bump version to 2.11.90, fix missing dependencies in bfd/,
and run "make dep-am".
2001-02-27 06:43:56 +00:00
Nick Clifton 1af96959a1 Set SEC_NEVER_LOAD when the 'n' flag is used. 2001-02-27 01:56:26 +00:00
Stephane Carrez d95767bf85 * symbols.c (decode_local_label_name): Initialize message_format
only when an error is reported (perf pb due to I18N).
2001-02-24 09:57:24 +00:00
H.J. Lu 3737d05150 2001-02-23 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_directive_file): Call s_app_file (0) if
	BFD_ASSEMBLER is not defined.
2001-02-24 04:59:03 +00:00
Nick Clifton b653e7f90a Don't mark a fixup as done if it's against a symbol. 2001-02-23 18:32:51 +00:00
Timothy Wall 7463c317ad Added ia64-*-aix* configuration. 2001-02-22 17:16:38 +00:00
Jim Wilson 87f8eb977e Improve gas error messages for invalid instructions.
* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
	C8 said "1" instead of "8".  Clarify error string for IMM22:
	"signed integer" instead of just "integer".
	* config/tc-ia64.c (enum operand_match_result): New type.
	(operand_match): Change return type to operand_match_result.
	Fix all returns appropriately, adding support for returning the
	out-of-range result.
	(parse_operands): New locals result, error_pos, out_of_range_pos,
	curr_out_of_range_pos.  Rewrite operand matching loop to give better
	error messages.
	* ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
	separate variants: one for IMM22 and the other for IMM14.
	* ia64-asmtab.c: Regenerate.
2001-02-22 03:16:21 +00:00
Jim Wilson 33d01f331b Fix bugs in handling of the .restore directive.
* config/tc-ia64.c (struct unwind): Add member "prologue_count".
	(dot_proc): Clear unwind.prologue_count to zero.
	(dot_prologue): Increment unwind.prologue_count.
	(dot_restore): If second operand is omitted, use
	unwind.prologue_count -1 for "ecount" (# of additional regions to
	pop).  Decrement unwind.prologue_count by number of regions
	popped.
2001-02-21 22:39:59 +00:00
Nick Clifton 7e84d676af Note that some flags to the COFF version of .section remove attributes rather
than setting them.
2001-02-21 19:43:36 +00:00
Kazu Hirata 0fde8cc636 Fix a typo. 2001-02-21 00:09:56 +00:00
Kazu Hirata 5cd4edbed2 2001-02-20 Kazu Hirata <kazu@hxi.com>
* tc-pdp11.c: Fix formatting.
	* tc-pdp11.h: Likewise.
2001-02-21 00:04:47 +00:00
Andreas Jaeger 80b3ee89ae 2001-02-20 Bo Thorsen <bo@suse.de>
* config/tc-i386.c (tc_i386_fix_adjustable): Fix GOTPCREL GOT
	  entry.
2001-02-20 09:48:45 +00:00
David O'Brien cac5b87b93 001-02-18 David O'Brien <obrien@FreeBSD.org>
* configure.in (cpu_type, arch): Add a generic FreeBSD specification as
	all FreeBSD platforms should look the same at this level.
	* configure: Rebuilt.
	* config/tc-i386.c: Add support for old FreeBSD a.out hosts.

Approved by:  Philip Blundell <philb@gnu.org>
              Message-Id: <E14URxF-00023n-00@kings-cross.london.uk.eu.org>
2001-02-19 06:40:29 +00:00
Nick Clifton e135f41bc2 Add PDP-11 support 2001-02-18 23:33:11 +00:00
Matthew Green 363c574f51 2001-02-16 matthew green <mrg@redhat.com>
* gas/cgen.c (gas_cgen_md_apply_fix3): Support BFD_RELOC_64.
2001-02-16 12:29:39 +00:00
Jim Wilson fa1cb89ccc Address comment from Richard about relocs always needing a type.
* config/tc-ia64.c (operand_match, case TAG13): Make a BFD_RELOC_UNUSED
	reloc instead of a 0 reloc.
	(md_apply_fix3): Check for BFD_RELOC_UNUSED instead of 0, and mark it
	as done.
	* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Likewise.
2001-02-14 01:46:10 +00:00
Ian Lance Taylor c842b53ae1 * write.c (is_dnrange): Stop as soon as the address becomes
larger.
	(relax_frag): Add segment parameter.  Only call symbol_get_frag
	once.  Only call is_dnrange if the symbol is in the same segment,
	and the symbol address is larger.
	(relax_segment): Pass segment to md_relax_frag and relax_frag.
	* write.h (relax_frag): Update declaration.
	* config/tc-fr30.c (fr30_relax_frag): Add segment parameter.  Pass
	it to relax_frag.
	* config/tc-m32r.c (m32r_relax_frag): Likewise.
	* config/tc-m32r.h (md_relax_frag): Add segment parameter.
	(m32r_relax_frag): Update declaration.
	* config/tc-mips.h (md_relax_frag): Add segment parameter.
	* config/tc-tic54x.h (md_relax_frag): Likewise.
	* doc/internals.texi (CPU backend): Update documentation for
	md_relax_frag.
2001-02-13 21:27:52 +00:00
Alan Modra fddf5b5bc2 Handle long jumps for .code16 and .arch < 386 by using a two
instruction sequence consisting of a conditional jump of the
opposite sense around an unconditional jump to the target.
Add jumps/nojumps .arch modifier.
2001-02-13 12:44:19 +00:00
Alan Modra 6fad6acb13 Fix parsing of multi-char operators. 2001-02-13 11:13:53 +00:00
Jan Hubicka 23df107806 * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.
* tc-i386.c (i386_displacement): Fix handling of
	BFD_RELOC_X86_64_GOTPCREL.
	(i386_validate_fix): Likewise.
2001-02-12 16:47:15 +00:00
Phil Blundell b1e2e654ad 2001-02-12 Philip Blundell <pb@futuretv.com>
* config/tc-arm.c (do_ldst): Improve warnings for unpredictable
	ldrt/strt instructions.
2001-02-12 13:32:25 +00:00
Nick Clifton 9117d2197e Apply several patches from Maciej W. Rozycki 2001-02-11 23:11:41 +00:00
Chris Demetriou 97238fbd09 2001-02-10 Chris Demetriou <cgd@broadcom.com>
* configure.in: Make 'mipself' and 'mipsecoff' emulations
        map to MIPS-specific files, as they used to do before the
        change on 2000-05-21.
        * configure: Regerate.
2001-02-10 22:25:10 +00:00
Chris Demetriou 0f074f60a4 2001-02-10 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (md_parse_option): Don't try to compile
        ELF-only option code if not ELF.
2001-02-10 21:41:12 +00:00
Richard Henderson 91a2ae2a30 * config/tc-ia64.h (md_elf_section_type): New macro.
(ELF_TC_SPECIAL_SECTIONS): Drop .IA_64.unwind and .IA_64.unwind_info
        (they're now handled via ia64_elf_section_type.

        * config/tc-ia64.c (unwind): New members saved_text_seg,
        saved_text_subseg, and force_unwind_entry.
        (optimize_unw_records): New function to optimize away unnecessary
        unwind directives.
        (ia64_elf_section_type): New function.
        (output_unw_records): Generate unwind info only if the size is
        non-zero or if it's forced for some other reason (e.g.,
        handlerdata or a personality routine).
        (generate_unwind_image): Don't switch back to previous
        section---stay inside the unwind info section instead so that
        handlerdata that may follow goes into the right place.
        (dot_handlerdata): Force generation of unwind entry and save the
        current active text segment before generating unwind image.
        (dot_unwentry): Force generation of unwind entry.
        (dot_personality): Ditto.
        (dot_endp): Generate unwind table entry only if there is
        some unwind info or the unwind entry was forced.

        * config/tc-ia64.c (make_unw_section_name): New macro to form
        unwind section name.
        (generate_unwind_image): Add "text_name" argument.  Use it to
        form unwind section name.
        (dot_handlerdata): Determine current segment (section) name and
        pass it to generate_unwind_image().
        (dot_endp): Determine current segment (section) name and use
        it to determine the appropriate unwind section name.
        (ia64_md_do_align): Add missing ATTRIBUTE_UNUSED declarations to
        n, fill, and max arguments.
2001-02-10 01:42:04 +00:00
Nick Clifton a85d7ed0f0 Add s390 support 2001-02-10 00:58:38 +00:00
Alexandre Oliva de68de201f * config/tc-sh.c (md_pseudo_table): Add uaquad. Use s_uacons for
2byte, 4byte and 8byte.
2001-02-09 18:21:42 +00:00
Alan Modra 8ea46bbdec (pa_build_unwind_subspace): Don't call
md_number_to_chars with size > sizeof (valueT).
2001-02-08 00:15:36 +00:00
H.J. Lu a99746f4ee 2001-02-06 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if
	there is no relocation.
2001-02-07 01:04:58 +00:00
H.J. Lu f4e17b3dc1 2001-02-06 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined.

	* config/tc-ia64.c (md_parse_option): Only accept the valid
	ia64 options on "-axxx".
2001-02-06 19:14:07 +00:00
Jim Wilson 3557da9209 Don't abort for invalid input, print an error message instead.
* config/tc-ia64.c (errata_nop_necessary_p): Return 0 instead of
	aborting for invalid operands.
2001-02-06 03:49:29 +00:00
Alan Modra da6c73e080 Fix unwind info when cross-compiling from little-endian machines. 2001-02-06 02:52:09 +00:00
Stephane Carrez 986c6f4ba0 * config/tc-m68hc11.h (LISTING_HEADER): Use m68hc11_listing_header
function to select the header according to the cpu.
	(md_after_pass_hook, md_do_align): Remove.
	(md_cleanup, m68hc11_cleanup): Remove.
	(md_pcrel_from_section): Declare.
	* config/tc-m68hc11.c (build_dbranch_insn): Remove insn_size.
	(build_jump_insn, build_insn): Likewise.
	(m68hc11_listing_header): New function.
	(m68hc11_cleanup): Remove.
2001-02-04 13:58:30 +00:00
Stephane Carrez 328dc123cc Fix 2001-02-02 Stephane Carrez ChangeLog entry 2001-02-02 14:16:53 +00:00
Stephane Carrez dbb8ad4917 * tc-m68hc11.c (relaxable_symbol): Relax externally visible symbols
because there is no support for shared libraries and these symbols
	can't be overridden (unless they are weak).
2001-02-02 14:14:11 +00:00
Richard Henderson a987bfc987 * dwarf2dbg.c (out_debug_abbrev): Terminate the abbreviations
for the compilation unit with a zero byte.
2001-02-01 18:08:47 +00:00
Alan Modra 22862cde86 Fix a null-pointer dereference and some range checks. 2001-01-30 13:13:29 +00:00
Nick Clifton 8ec6253e76 Do not abort if tcbit is still set. Issue an error message instead.
Fix compile time warnings
2001-01-25 20:26:17 +00:00
Kazu Hirata 43ad3147a9 2001-01-23 Kazu Hirata <kazu@hxi.com>
* as.c: Fix formatting.
	* ehopt.c: Likewise.
	* messages.c: Likewise.
	* stabs.c: Likewise.
	* symbols.c: Likewise.
2001-01-23 22:15:01 +00:00
Alan Modra 015c05c1d0 (m32r_handle_align): Declare type of fragp. 2001-01-23 13:31:10 +00:00
Kazu Hirata 664984174e 2001-01-22 Kazu Hirata <kazu@hxi.com>
* config/tc-alpha.c: Fix formatting.
2001-01-22 20:24:11 +00:00
Kazu Hirata 1aad8cf8bb 2001-01-19 Kazu Hirata <kazu@hxi.com>
* config/tc-alpha.c: Fix formatting.
2001-01-20 04:23:33 +00:00
Kazu Hirata 32ff5c2e6d 2001-01-18 Kazu Hirata <kazu@hxi.com>
* config/tc-alpha.c: Fix formatting.
2001-01-19 12:03:34 +00:00
Nick Clifton cd17328aad Remove redundant bit from "fa" and "da" flags 2001-01-19 04:35:29 +00:00
Alexandre Oliva 81c425d115 * configure.in (cpu_type, arch): Match i386 too.
* configure: Rebuilt.
2001-01-18 12:25:37 +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
Nick Clifton d4887adcdb Delete output file upon fatal errors.
Treat multiple defintions of the same symbol as ordinary errors, not fatal ones
2001-01-15 22:53:58 +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
Phil Blundell a349d9ddbc 2001-01-13 Philip Blundell <philb@gnu.org>
* doc/as.texinfo: Fix spelling and cross-references.

	* doc/c-arm.texi: Fix typos.  Say that `;' is a line separator
	character for all systems, not just GNU/Linux.  Make it explicit
	that `-k' doesn't affect code generation, just ELF flags.
2001-01-13 22:39:55 +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
Frank Ch. Eigler 272d76e0cb * gas/cgen feature
2001-01-12  Frank Ch. Eigler  <fche@redhat.com>

	* cgen.c (gas_cgen_finish_insn): Call dwarf2_emit_insn.
2001-01-12 23:34:43 +00:00
Nick Clifton d0398d6ac6 Update copyright date to 2001 2001-01-12 18:01:56 +00:00
Nick Clifton 2d73a4ca03 Add missing ARC documentation 2001-01-12 17:50:59 +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
Nick Clifton 2f6d2f8520 Rotate ChangeLogs 2001-01-11 19:01:42 +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
Nick Clifton aa257fcdbd Fix local label code to use LOCAL_LABEL_PREFIX 2001-01-11 01:32:35 +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
Ian Lance Taylor 5c2bd011d3 * doc/c-i386.texi (i386-Arch): Remove spaces incorrectly inserted
in last change.
2001-01-08 02:23:45 +00:00
Phil Blundell 46a04e3a1e Update address for bug reports. 2001-01-07 15:11:26 +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
Andreas Jaeger 55b6267185 2001-01-06 Jan Hubicka <jh@suse.cz>, Andreas Jaeger <aj@suse.de>
* doc/as.texinfo: Document '#' as comment character for i386 and
	x86_64. Add AMD x86-64 into menu of machine dependent information.

	* doc/c-i386.texi: Document x86_64 extensions.
2001-01-06 11:07:06 +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
H.J. Lu a735d1cdb9 2000-12-31 H.J. Lu <hjl@gnu.org>
* listing.c (listing_message): Allocate string only if it is
	used.

	* configure: Rebuild.
2001-01-01 01:51:17 +00:00
Hans-Peter Nilsson 67db5ab439 * doc/internals.texi (Relaxing with a table) <after relaxation>:
Point out caveats with generating fixups for the opcode in a frag.
2000-12-31 19:54:58 +00:00
Jan Hubicka c0d8940f87 * configure.in: Add support for x86_64 and x86_64-*-linux-gnu*
* NEWS: Add x86_64.

	* i386.h (i386_optab): Add "rex*" instructions;
	add swapgs; disable jmp/call far direct instructions for
	64bit mode; add syscall and sysret; disable registers for 0xc6
	template.  Add 'q' suffixes to extendable instructions, disable
	obsoletted instructions, add new sign/zero extension ones.
	(i386_regtab): Add extended registers.
	(*Suf): Add No_qSuf.
	(q_Suf, wlq_Suf, bwlq_Suf): New.
2000-12-30 18:05:10 +00:00
H.J. Lu 087f563c28 2000-12-29 H.J. Lu <hjl@gnu.org>
* listing.c (calc_hex): Print the variable part only if the
	fragment type is rs_fill.
2000-12-29 23:48:10 +00:00
Hans-Peter Nilsson 8108ad8e84 * doc/internals.texi (tc_conditional_pseudoop,
TC_LINKRELAX_FIXUP): Fix typos.
2000-12-29 18:32:47 +00:00
Richard Henderson 799051fc87 * write.c (subsegs_finish): Fix thinko last change -- don't
"optimize" the alignment == 0 case.
2000-12-28 19:14:37 +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
H.J. Lu ad1172d4c6 2000-12-22 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_finish): Remove #if BFD_ASSEMBLER.
2000-12-22 20:36:02 +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
Nick Clifton 6717891cd0 If we don't have <limits.h>, try including <sys/param.h> if we have it. 2000-12-14 20:16:20 +00:00
Kazu Hirata ee515fb7fa 2000-12-13 Kazu Hirata <kazu@hxi.com>
* as.h: Fix formatting.
	* cgen.h: Likewise.
	* dwarf2dbg.c: Likewise.
	* input-scrub.c: Likewise.
	* read.h: Likewise.
2000-12-14 01:12:43 +00:00
DJ Delorie 349a994c9b * configure.in (i386-*-msdosdjgpp): Set bfd_gas to yes.
configure: Regenerate.
2000-12-13 20:21:52 +00:00
Nick Clifton 42dbf88c39 #include <limits.h> only if it exists. 2000-12-13 18:42:28 +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
H.J. Lu 92eb7b3244 2000-12-12 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c: Enabled only if BFD_ASSEMBLER is defined.

	* read.h (outputting_stabs_line_debug): Change it to int.
	* stabs.c (outputting_stabs_line_debug): Likewise.
2000-12-12 21:21:39 +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 584da044d9 Fix formatting. 2000-12-12 19:36:32 +00:00
Nick Clifton e972090a04 Fix formatting 2000-12-12 19:29:24 +00:00
Nick Clifton d4c0c03951 Fix formatting 2000-12-12 19:28:12 +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
Nick Clifton 5f68c31953 Update RTEMS targets 2000-12-01 18:19:20 +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
Richard Henderson 220e750f6f * dwarf2dbg.c: Rewrite from scratch. Queue all debugging output
until dwarf2_finish; use relaxation to get cross-fragment offsets;
        thread multiple subsegments properly; handle multiple code
        sections properly; emit proper compilation unit info for assembler
        generated debugging.

        * as.h (enum _relax_state): Add rs_dwarf2dbg.
        * dwarf2dbg.h (struct dwarf2_line_info): Remove filename.
        (dwarf2dbg_estimate_size_before_relax): Declare.
        (dwarf2dbg_relax_frag, dwarf2dbg_convert_frag): Declare.
        * write.c: Include dwarf2dbg.h.
        (cvt_frag_to_fill): Handle rs_dwarf2dbg.
        (relax_segment): Likewise.
2000-11-29 21:42:41 +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
Nick Clifton e47b9e39bc Move GNU Free Documentation License from the output into a comment 2000-11-28 20:40:35 +00:00
Hans-Peter Nilsson 43c34deef7 * Makefile.am (CPU_OBJ_VALID): Add case to filter out invalid coff
targets.  Remove i860 from valid a.out targets.
	* Makefile.in: Regenerate.
2000-11-28 20:13:07 +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
Alan Modra 1688794441 Correct {STANDARD,MRI}_MUL_PRECEDENCE value. 2000-11-28 13:33:22 +00:00