Commit Graph

548 Commits

Author SHA1 Message Date
Clinton Popetz 7f6d05e83e Add XCOFF64 support.
bfd:
	* Makefile.am (coff64-rs6000.lo): New rule.
	* Makefile.in: Regenerate.
	* coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
	xcoff_is_local_label_name, xcoff_rtype2howto,
	xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
	xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
	xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
	(NO_COFF_SYMBOLS): Define.
	(xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
	xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
	internally.
	(MINUS_ONE): New macro.
	(xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
	relocation.
	(coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
	coff_SWAP_aux_out): Map to the new functions.
	* coff64-rs6000.c: New file.
	* libcoff.h (bfd_coff_backend_data): Add new fields
	_bfd_coff_force_symnames_in_strings and
	_bfd_coff_debug_string_prefix_length.
	(bfd_coff_force_symnames_in_strings,
	bfd_coff_debug_string_prefix_length): New macros for above fields.
	* coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
	Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
	of using coff_swap_sym_in directly.
	(FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
	(coff_set_flags) Set magic for XCOFF64.
	(coff_compute_section_file_positions): Add symbol name length to
	string section length if bfd_coff_debug_string_prefix_length is
	true.
	(coff_write_object_contents): Don't do reloc overflow for XCOFF64.
	(coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
	using coff_swap_lineno_in directly.
	(bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
	and _bfd_coff_debug_string_prefix_length fields.
	* coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
	symbol names into strings table when
	bfd_coff_force_symnames_in_strings is true.
	* coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
	SET_RELOC_VADDR): New macros.
	(coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
	(coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
	code.
	(coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
	changes within RS6000COFF_C specific code.
	(coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
	MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
	Extend existing hack on target name.
	* xcofflink.c (XCOFF_XVECP): Extend existing hack on
	target name.
	* coff-tic54x.c (ticof): Keep up to date with new fields
	in bfd_coff_backend_data.
	* config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
	targ_selvecs to include rs6000coff64_vec for rs6000.
	* configure.in: Add rs6000coff64_vec case.
 	* cpu-powerpc.c: New bfd_arch_info_type.

	gas:
	* as.c (parse_args): Allow md_parse_option to override -a listing
	option.
	* config/obj-coff.c (add_lineno): Change type of offset parameter
	from "int" to "bfd_vma."
	* config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine."
	(ppc_mach, ppc_subseg_align, ppc_target_format): New.
	(ppc_change_csect): Align correctly for XCOFF64.
	(ppc_machine): New function, which discards "ppc_machine" line.
	(ppc_tc): Cons for 8 when code is 64 bit.
	(md_apply_fix3): Don't check operand->insert.  Handle 64 bit
	relocations.
	(md_parse_option): Handle -a64 and -a32.
	(ppc_xcoff64): New.
	* config/tc-ppc.h (TARGET_MACH): Define.
	(TARGET_FORMAT): Move to function.
	(SUB_SEGMENT_ALIGN): Use ppc_subseg_align.

	include:
	* include/coff/rs6k64.h: New file.

	opcodes:
	* configure.in: Add bfd_powerpc_64_arch.
	* disassemble.c (disassembler): Use print_insn_big_powerpc for
	64 bit code.
2000-04-26 15:09:44 +00:00
Alan Modra d9b7d82070 Remove '/' from comment_chars for FreeBSD so divide operator works.
Fix as.1 typo.
2000-04-25 22:55:20 +00:00
Jim Wilson 2dac7317a7 Mention IA-64. 2000-04-25 20:54:41 +00:00
Jeff Law cea1ab94e6 * configure.in: Configury support for PA64 (currently disabled).
* configure: Rebuilt.
2000-04-25 17:02:33 +00:00
Alan Modra e799a69521 Use record_alignment, not bfd_set_section_alignment. 2000-04-25 10:02:20 +00:00
Alan Modra 3b0ec529f2 Keep shift count smaller than 32. 2000-04-25 08:55:01 +00:00
Alan Modra ee68970f7e Cope with PE relocs. 2000-04-25 07:19:46 +00:00
Jim Wilson 8d82e76a9d Really fix last IA-64 gas testsuite failure.
* gas/ia64/opc-i.d: Change pmin2.u to pmin2.  Change pmax2.u to pmax2.
	Change MLI to MLX.  Switch operands for output matching tbit.z.orcm,
	tbit.z.andcm, tbit.nz.orcm, tbit.nz.andcm, tnat.z.orcm, tnat.z.andcm,
	tnat.nz.orcm, tnat.nz.andcm inputs.
	* gas/ia64/opc-i.pl: Insert padding nops before last dep.
	* gas/ia64/opc-i.s: Regenerate.
2000-04-25 01:52:27 +00:00
Nick Clifton adcf07e614 Document behaviour of .align 0 for ARM targets.
Remove incomplete v5e code from tc-arm.c
2000-04-24 23:57:30 +00:00
Jim Wilson c447920894 Fix last remaining IA-64 gas testsuite failure.
* gas/ia64/opc-i.s: Regenerate.
	* gas/ia64/opc-f.pl: Add explicit stop at end.
2000-04-24 23:53:54 +00:00
Jeff Law 5047a41fff * obj-som.c: Terminate obj_pseudo_table. 2000-04-24 23:48:13 +00:00
Timothy Wall bf3ca999c1 Clean up F-unit assembly and tests. 2000-04-23 02:53:35 +00:00
Jeff Law 98e5953c9c * configure.in: Add NetBSD/sparc ELF and NetBSD/sparc64 support.
* configure: Rebuilt.
2000-04-21 21:55:22 +00:00
Jeff Law a02fab7e03 * config/tc-hppa.c (md_apply_fix): Handle new PA2.0 formats.
* config/tc-hppa.c (CHECK_ALIGN): New macro.
        Added handling of new operand types l,y,&,fe,fE,fx.
2000-04-21 20:34:00 +00:00
Jim Wilson 800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00
Richard Henderson 6677867973 * config/tc-d30v.c (write_2_short): Disregard opcode1->ecc when
bundling a non-delayed branch type instruction.
2000-04-21 17:20:03 +00:00
Alexandre Oliva aa15f6f7b0 * config/tc-mn10300.c (HAVE_AM30): Define.
(md_assemble): Use it.
2000-04-20 22:18:27 +00:00
Alan Modra 742f45cf3a Check for changed section attributes. 2000-04-20 01:43:32 +00:00
Alan Modra 16adf8441d Fix the multi-obj dependency rules. 2000-04-19 09:28:52 +00:00
Alan Modra 9c46fb1b9c Get LEX,FLEX from configure. 2000-04-19 02:51:55 +00:00
H.J. Lu 508866be8a 2000-04-18 H.J. Lu (hjl@gnu.org)
* config/tc-i386.c (offset_in_range): Use addressT instead of
	bfd_vma for none bfd assemblers.
2000-04-18 17:46:31 +00:00
Alan Modra ba2adb9390 64 bit bfd fix. 2000-04-17 03:18:36 +00:00
Alan Modra 12ff5d5690 Portability fixes. 2000-04-14 04:14:25 +00:00
Alan Modra fc633e5b97 Remove U suffix from constants for K&R compilers.
Fix a couple of 64 bit nits.
2000-04-13 01:08:05 +00:00
Nick Clifton 3db10f32e0 Apply patch to fix compuation of frag offsets for symbols 2000-04-12 18:03:58 +00:00
Nick Clifton 1ed18ec1a3 Apply Andrew Cagney's patch to fix use of 'struct fix'. 2000-04-12 17:59:32 +00:00
Alan Modra 847f7ad471 Fix 64-bit nits. 2000-04-10 12:36:06 +00:00
Nick Clifton ec694b8956 Add 'avr' to Makefile.am
Add M32R docs to as.texinfo
2000-04-09 20:25:17 +00:00
Andrew Cagney a2d91340f3 Remove ``-W -Wall'' from top-level Makefile/configure.
Add ``-W -Wall'' to sub-directories bfd, binutils, gas gprof, ld and
opcodes by the addition of WARN_CFLAGS to Makefile.am and configury to
set it.  Add configure option --enable-build-warnings.
Re-generate all and sundry using auto*-000227.
2000-04-09 12:17:43 +00:00
Nick Clifton d92b1a8a2a Add support for BFD_RELOC_{ARM|THUMB}_PCREL_BLX relocs. 2000-04-08 00:11:46 +00:00
Joern Rennecke 52ccafd035 opcodes:
* sh-opc.c (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
	stc GBR,@-<REG_N> is available for arch_sh1_up.
	Group parallel processing insn with identical mnemonics together.
	Make three-operand psha / pshl come first.
gas:
	* config/tc-sh.c (get_operands): There's no third operand if the
	first operand is an immediate.
2000-04-05 21:43:26 +00:00
Joern Rennecke 015551fcfb sh-dsp REPEAT support:
opcodes:

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

gas:

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

include/coff:

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

include/elf:

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

bfd:

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

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

bfd:

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

gas:

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

include/elf:

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

opcodes:

	* sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
	(print_insn_ppi): Likewise.
	(print_insn_shx): Use info->mach to select appropriate insn set.
	Add support for sh-dsp.  Remove FD_REG_N support.
	* sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
	(sh_arg_type): Likewise.  Remove FD_REG_N.
	(sh_dsp_reg_nums): New enum.
	(arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
	(arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
	(arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
	(arch_sh3_dsp_up): Likewise.
	(sh_opcode_info): New field: arch.
	(sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
	D_REG_N.  Fill in arch field.  Add sh-dsp insns.
2000-02-17 00:33:36 +00:00
Jeff Law c97305a1da * config/tc-hppa.c (pa_build_unwind_subspace): Use subseg_new to create
the unwinder subspace.  Save the current seg/subseg before creating
        the new seg/subseg.
2000-02-11 21:27:41 +00:00
Nick Clifton bec504668f Add support for M340 2000-02-10 21:31:13 +00:00
Timothy Wall a25c045a58 Check label validity with TC_START_LABEL_WITHOUT_COLON if defined. 2000-02-10 21:03:12 +00:00
Timothy Wall f28e8eb3fd New preprocessor options. 2000-02-10 21:00:10 +00:00
Timothy Wall ab266a97fb NUMBERS_WITH_SUFFIX *doesn't* want to handle 'x', since that is valid
when the 0x prefix is used.
2000-02-08 19:41:03 +00:00
Timothy Wall 6dc19fc4d6 Remove redundant code for checking numbers with suffixes. Add
functionality to break out of assembler loops.
2000-02-08 19:06:00 +00:00
Timothy Wall f805106cd3 Add handling for numbers with suffixed radix. 2000-02-08 14:21:53 +00:00
Timothy Wall 4469be0f23 changelog for elseif addition 2000-02-08 14:20:57 +00:00
Timothy Wall 3fd9f0476f New elseif directive has been added. 2000-02-08 14:13:57 +00:00
Timothy Wall 24a17b6c62 Remove conditionals causing a bug in listings. 2000-02-04 19:45:19 +00:00
Timothy Wall bea9907b2a octets vs bytes changes for GAS 2000-02-03 18:20:23 +00:00
Timothy Wall 210dcc61df Fix bug in stabs filename encoding where backslashes are present. 2000-02-02 00:24:17 +00:00
Nick Clifton 557537a556 Add ATPCS register naming support 2000-01-31 22:14:50 +00:00
Geoffrey Keating 2c1c4c6219 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define if
already defined.
* config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES):
New macro.
* config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag
of a symbol when we really care about its value.
2000-01-31 19:13:47 +00:00
Nick Clifton 2d473ce9c0 Cathc unwanted text after instructions 2000-01-31 18:24:43 +00:00
Nick Clifton 2f0ca46a49 Apply Thoams de Lellis's patch to fic disassembly of Thumb instructions when
bounded by non-function labels.
2000-01-27 20:05:32 +00:00
Alan Modra fa3061313c Make copyright date lists comply with GNU requirement 2000-01-26 23:58:13 +00:00
Alan Modra 4c63da97a7 This set of patches add support for aout emulation on the x86
assembler.  ie. You will be able to do "as --em=i386aout" on an x86
linux-elf assembler to generate aout format object files, rather than
using a separate assembler.  The aout emulation is enabled by giving
"--enable-targets=i386-linuxaout" to configure.
Oh yeah, there's a couple of fixes too.  Error messages shouldn't be
passed to printf in the format arg just in case someone puts a `%' in
the message.
2000-01-26 22:48:31 +00:00
Alan Modra dfad2e408f Fix gas x86 testsuite for a.out 2000-01-21 22:58:04 +00:00
Alan Modra a3d1c52b07 gas/testsuite/ChangeLog
* gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here
	* gas/i386/jump16.{s,d}: To here.
	* gas/i386/jump.{s,d}: New files.  Duplicate 32 bit jmp and call
	tests in general.s so that objdump is exercised.

	* gas/i386/i386.exp: Call new tests.
2000-01-21 10:18:33 +00:00
Alan Modra add0c67765 Cosmetic changes to tc-i386.[ch] + extend x86 gas testsuite jmp and
call tests + tweak intel mode far call and jmp.
2000-01-15 12:06:03 +00:00
Alan Modra a8de59980c Add jmp and call tests to prevent intel mode lossage creeping in again. 2000-01-15 04:46:00 +00:00
Clinton Popetz a19d8eb03e 2000-01-13 Clinton Popetz <cpopetz@cygnus.com>
* config/tc-mips.c (mips_do_align): New function.
        * config/tc-mips.h (md_do_align): Define.
2000-01-14 17:58:29 +00:00
Nick Clifton 550262c43d fixup ARM documentation 2000-01-10 22:22:56 +00:00
Nick Clifton 0decc84046 Add arm-conix target 2000-01-10 19:48:27 +00:00
Nick Clifton 2e13b76485 ELF visibility patch from Martin Loewis 2000-01-03 18:34:24 +00:00
Alan Modra 3138f287b1 x86 indirect jump/call syntax fixes. Disassembly fix for lcall. 1999-12-27 16:10:31 +00:00
Nick Clifton 858f4ff6ff fix formatting 1999-12-22 19:54:41 +00:00
Nick Clifton df32bc61b0 Apply patch from Philip Blundell to allow .previous to work for arm-elf 1999-12-22 19:44:15 +00:00
Nick Clifton b4d0b2b3ab Add support for -marm720 command line switch 1999-12-14 19:40:59 +00:00
Jeff Law 433b86296f Tue Nov 30 23:02:01 1999 Jeffrey A Law (law@cygnus.com)
* gas/mn10300/{am33.s, am33_2.s, am33_3.s}: New test files.
        * gas/mn10300/{am33_4.s, am33_5.s, am33_6.s}: Likewise.
        * gas/mn10300/{am33_7.s, am33_8.s}: Likewise.
        * gas/mn10300/basic.exp: Run the am33 tests.
1999-12-01 10:41:44 +00:00
Jeff Law 85cb2cf971 * config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op.
(r_registers, xr_registers): Define.
        (r_register_name, xr_register_name): New functions.
        (md_assemble): Handle new am33 operand types and instruction
        formats.
        (mn10300_insert_operand, check_operand): Likewise.
1999-12-01 10:40:07 +00:00
Nick Clifton a64bcdd8d3 Fix .force_thumb 1999-11-29 15:29:34 +00:00
Michael Meissner 43b4c25efc Add support for !literal and !lituse_base 1999-11-29 00:46:16 +00:00
Jeff Law afbf211f5a * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
'B' operand for PA2.0 bb instruction.
1999-11-25 03:27:35 +00:00
Nick Clifton f11900d058 Fix generation of RVA relocs 1999-11-18 18:38:18 +00:00
Alan Modra 2daf4fd896 * config/tc-i386.c (i386_immediate): Disallow O_big immediates.
(i386_displacement): Disallow O_big displacements.
1999-11-16 12:27:25 +00:00
Donald Lindsay 92a66162a2 tc-arm.c: minor changes and support for upcoming V5E variant. 1999-11-16 04:15:55 +00:00
Donald Lindsay eb726e5db1 log entry for config/tc-arm.c change 1999-11-16 04:14:57 +00:00
Gavin Romig-Koch 73c89d4876 * gas/mips/la.d: Adjust for new la macro expansion.
Change matches for explicit addresses to matches for
	any address.
	* gas/mips/la-xgot.d: Same.
	* gas/mips/la-svr4pic.d: Same.
1999-11-15 15:47:48 +00:00
Nick Clifton 92fa3950ea fix typo. 1999-11-12 15:39:46 +00:00
Nick Clifton 035349a40d do not look beyond the end of the buffer 1999-11-12 11:02:56 +00:00
Nick Clifton c1eae11499 Look for seperator after TO and FROM tokens when exploring nested structures 1999-11-11 16:35:12 +00:00
Andrew Haley c5c834aac9 1999-11-08 Andrew Haley <aph@cygnus.com>
* app.c (do_scrub_chars): When in State 10, treat backslash
	characters in the same way as as symbol characters.
1999-11-09 17:14:45 +00:00
Richard Henderson 98007ce7b0 * config/tc-alpha.c (alpha_align): Check, don't assert, that
the previous label was in the current section before playing
        with auto-alignment.
1999-11-08 00:44:52 +00:00
Nick Clifton d6c497c760 Do not attempt to fixup relocs relative to weak symbols 1999-11-06 14:05:24 +00:00
Michael Meissner dd33dc0f45 Add more md operators 1999-11-05 21:50:54 +00:00
Ian Lance Taylor 53b0d3971a * read.c (pseudo_set): Reject attempts to set the value of a
section symbol.
1999-11-03 22:14:47 +00:00