Commit graph

892 commits

Author SHA1 Message Date
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
Stephane Carrez
ae3e85dd27 Fix movw/movb operands for 68HC12 2000-11-26 21:18:15 +00:00
Nick Clifton
077b8428ab Add ARM v5t, v5te and XScale support 2000-11-25 00:21:40 +00:00
Jim Wilson
2434f56546 Eliminate compiler warnings from IA-64 port.
* config/tc-ia64.c (pseudo_func): Add missing initializers.
	(struct rsrc): Make line unsigned.
	(gr_values): Add missing initializer.
	(SLOT_NUM_NOT_SET): Add unsigned cast.
	(ia64_elf_section_flags, output_vbyte_mem, count_output, dot_radix,
	dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save,
	dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata,
	dot_unwentry, dot_altrp, dot_saveg, dot_savef, dot_saveb, dot_savegf,
	dot_spill, dot_spillreg, dot_spillreg_p, dot_label_state,
	dot_copy_state, dot_unwabi, dot_personality, dot_proc, dot_body,
	dot_prologue, dot_endp, dot_regstk, dot_psr, dot_alias, dot_ln,
	dot_reg_val, dot_entry, dot_mem_offset, ia64_init, mark_resource,
	md_undefined_symbol, md_apply_fix3, tc_gen_reloc, ia64_md_do_align):
	Add ATTRIBUTE_UNUSED to unused parameters.
	(convert_expr_to_ab_reg): Add parens.
	(convert_expr_to_xy_reg): Add parens.  Comment out >= REG_GR test.
	(dot_prologue): Initialize grsave when declared.
	(md_pseudo_table): Add missing initializers.
	(operand_match): Add casts to bfd_vma.
	(emit_one_bundle): Delete unused local prev.  Make required_template
	unsigned.
	(specify_resource): Cast i to unsigned.
	(note_register_values): Use fprintf_vma.
	(print_dependency): Likewise.
2000-11-22 23:08:47 +00:00
Jim Wilson
5e7474a7c9 Fix linux kernel unwind section alignment failure.
* config/tc-ia64.c (generate_unwind_image): Call record_alignment
	for unwind info section.
	(dot_endp): Likewise for unwind section.
2000-11-22 02:10:34 +00:00
Jim Wilson
5a080f897a Fix assembler error on linux kernel mm/memory.c file.
* config/tc-ia64.c (emit_one_bundle): Pass size of 8 not 4 to
	fix_new_exp.
2000-11-22 01:12:05 +00:00
Jakub Jelinek
b8e904dce5 * config/tc-sparc.h (DWARF2_LINE_MIN_INSN_LENGTH): New. 2000-11-21 21:37:44 +00:00
Jakub Jelinek
732d96b6ca * config/tc-sparc.c (md_pseudo_table): Add .file and .loc.
(output_insn): Call dwarf2_emit_insn.
2000-11-21 12:40:14 +00:00
Richard Henderson
6d2cf69f91 * ehopt.c (eh_frame_code_alignment): New arg `in_seg', update all
callers.  Don't switch segments.  Expect CIE == -1 in .debug_frame.
        (check_eh_frame): Handle .eh_frame and .debug_frame concurrently.
2000-11-18 00:13:28 +00:00
Nick Clifton
8179bd9b1b Add support for .line and .file pseudo ops. 2000-11-17 18:46:43 +00:00
Richard Henderson
316e2c0578 * config/tc-i386.c (md_pseudo_table): Add .file and .loc. 2000-11-17 18:15:53 +00:00
Richard Henderson
a8316fe296 * dwarf2dbg.c (dwarf2_gen_line_info): Early out for no line number.
* config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Adjust for
        tri-state definition of alpha_flag_mdebug.
        * config/tc-alpha.c (alpha_flag_mdebug): Init to -1.
        (s_alpha_file): Store first .file directive.
        (s_alpha_stab): New.
        (md_pseudo_table): Add stabs and stabn.
2000-11-17 18:07:33 +00:00
Richard Henderson
e346e481c2 * config/tc-i386.c (md_assemble): Call dwarf2_emit_insn. 2000-11-17 09:28:04 +00:00
Richard Henderson
39bb5fe6d2 * as.c (main): Call dwarf2_finish. 2000-11-17 08:53:38 +00:00
Richard Henderson
4dc7ead9fd * as.c (debug_type): Init to DEBUG_UNSPECIFIED.
* as.h (debug_type): Clarify documentation of the meaning
	of this variable.
	* dwarf2dbg.c (DWARF2_LINE_MIN_INSN_LENGTH): Default to 1.
	(print_stats): Fix parenthesis problem.
	(now_subseg_size): New.
	(dwarf2_finish): Use it.  If DEBUG_DWARF2, emit bits for .debug_info.
	(dwarf2_directive_file): Don't set debug_type.
	(dwarf2_where): Honor DEBUG_DWARF2 first.
	(dwarf2_emit_insn): Renamed from dwarf2_generate_asm_lineno;
	do nothing if not emitting dwarf2 debug info, or no work.
	* dwarf2dbg.h (dwarf2_emit_insn): Update.
	* ecoff.c (add_file): Turn on DEBUG_ECOFF only if DEBUG_UNSPECIFIED.
	(ecoff_new_file): Likewise.
	* read.c (generate_lineno_debug): Kill ecoff hackery.  Update
	commentary wrt dwarf2.

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

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

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

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

	* config/tc-ia64.c (emit_one_bundle): Don't protect
	dwarf2 bits with debug_type.
	(md_assemble): Likewise.
	(ia64_end_of_source): Don't call dwarf2_finish.
2000-11-17 08:47:52 +00:00
Jim Wilson
ca683b78f3 Fix minor typos in recent errata workaround patch.
* config/tc-ia64.c (errata_nop_necessary_p): Abort if general regno
	>= 128 instead of > 128.  Abort if predicate regno is >= 64 instead of
	> 16.
2000-11-16 23:52:01 +00:00