Commit graph

1789 commits

Author SHA1 Message Date
Alan Modra
8fce3f5ef7 Michael Sokolov's 68000 patches + assorted compiler warning fixes. 2000-05-08 10:24:06 +00:00
J.T. Conklin
7a899fff9a * config/tc-ppc.c (pre_defined_registers): Add entries for vector
unit registers.
(md_parse_option): Recognize -m7400.
2000-05-03 22:23:01 +00:00
Ian Lance Taylor
44877466ff * config/atof-ieee.c (gen_to_words): When adding carry back in,
don't permit lp to become less than the words array.
2000-05-03 21:23:52 +00:00
Nick Clifton
eaa15ab811 Fix little endian relocs 2000-05-03 18:50:55 +00:00
Alan Modra
da5d444c29 go32 bss alignment. 2000-05-03 04:25:33 +00:00
Alan Modra
3f9b03b5da Assorted code cleanup and fixes for hppa. Re-enable elf32-hppa as
it now compiles even if it doesn't work too well.
2000-05-02 00:12:52 +00:00
Denis Chertykov
df13624506 * config/tc-avr.c: ATTRIBUTE_UNUSED added to the necessary places.
More comments added.
	(md_begin): Removed "construct symbols for each register name".
	Because register names conflicts with GCC generated function
	names.
	(avr_operand): Now constant numbers can be used as a register
	identifiers (0 as r0, 31 as r31).
	(md_assemble): use skip_space () before parsing instruction
	operands.
2000-05-01 11:14:05 +00:00
Denis Chertykov
b170af938f * config/tc-avr.c: New AVR_ISA_ defined.
(md_assemble): Handle opcodes with optional operands (lpm,elpm).
	(avr_operand): Handle 'a', 'v' and 'z' constraint letters needed
	for `fmul', `movw' and `lpm R,Z' instructions.
	(avr_operands): Warn if current opcode is a two-word instruction
	and previous opcode was cpse/sbic/sbis/sbrc/sbrs.
	(avr_opcodes): New commands added.
	(REGISTER_P): Check 'a' and 'v' constraint letters.
	(mcu_types): New MCU added.
2000-05-01 08:48:32 +00:00
Clinton Popetz
7f6d05e83e Add XCOFF64 support.
bfd:
	* Makefile.am (coff64-rs6000.lo): New rule.
	* Makefile.in: Regenerate.
	* coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
	xcoff_is_local_label_name, xcoff_rtype2howto,
	xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
	xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
	xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
	(NO_COFF_SYMBOLS): Define.
	(xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
	xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
	internally.
	(MINUS_ONE): New macro.
	(xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
	relocation.
	(coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
	coff_SWAP_aux_out): Map to the new functions.
	* coff64-rs6000.c: New file.
	* libcoff.h (bfd_coff_backend_data): Add new fields
	_bfd_coff_force_symnames_in_strings and
	_bfd_coff_debug_string_prefix_length.
	(bfd_coff_force_symnames_in_strings,
	bfd_coff_debug_string_prefix_length): New macros for above fields.
	* coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
	Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
	of using coff_swap_sym_in directly.
	(FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
	(coff_set_flags) Set magic for XCOFF64.
	(coff_compute_section_file_positions): Add symbol name length to
	string section length if bfd_coff_debug_string_prefix_length is
	true.
	(coff_write_object_contents): Don't do reloc overflow for XCOFF64.
	(coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
	using coff_swap_lineno_in directly.
	(bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
	and _bfd_coff_debug_string_prefix_length fields.
	* coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
	symbol names into strings table when
	bfd_coff_force_symnames_in_strings is true.
	* coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
	SET_RELOC_VADDR): New macros.
	(coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
	(coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
	code.
	(coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
	changes within RS6000COFF_C specific code.
	(coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
	MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
	Extend existing hack on target name.
	* xcofflink.c (XCOFF_XVECP): Extend existing hack on
	target name.
	* coff-tic54x.c (ticof): Keep up to date with new fields
	in bfd_coff_backend_data.
	* config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
	targ_selvecs to include rs6000coff64_vec for rs6000.
	* configure.in: Add rs6000coff64_vec case.
 	* cpu-powerpc.c: New bfd_arch_info_type.

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

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

	opcodes:
	* configure.in: Add bfd_powerpc_64_arch.
	* disassemble.c (disassembler): Use print_insn_big_powerpc for
	64 bit code.
2000-04-26 15:09:44 +00:00
Alan Modra
d9b7d82070 Remove '/' from comment_chars for FreeBSD so divide operator works.
Fix as.1 typo.
2000-04-25 22:55:20 +00:00
Alan Modra
e799a69521 Use record_alignment, not bfd_set_section_alignment. 2000-04-25 10:02:20 +00:00
Alan Modra
3b0ec529f2 Keep shift count smaller than 32. 2000-04-25 08:55:01 +00:00
Nick Clifton
adcf07e614 Document behaviour of .align 0 for ARM targets.
Remove incomplete v5e code from tc-arm.c
2000-04-24 23:57:30 +00:00
Jeff Law
5047a41fff * obj-som.c: Terminate obj_pseudo_table. 2000-04-24 23:48:13 +00:00
Timothy Wall
bf3ca999c1 Clean up F-unit assembly and tests. 2000-04-23 02:53:35 +00:00
Jeff Law
a02fab7e03 * config/tc-hppa.c (md_apply_fix): Handle new PA2.0 formats.
* config/tc-hppa.c (CHECK_ALIGN): New macro.
        Added handling of new operand types l,y,&,fe,fE,fx.
2000-04-21 20:34:00 +00:00
Jim Wilson
800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00
Richard Henderson
6677867973 * config/tc-d30v.c (write_2_short): Disregard opcode1->ecc when
bundling a non-delayed branch type instruction.
2000-04-21 17:20:03 +00:00
Alexandre Oliva
aa15f6f7b0 * config/tc-mn10300.c (HAVE_AM30): Define.
(md_assemble): Use it.
2000-04-20 22:18:27 +00:00
Alan Modra
742f45cf3a Check for changed section attributes. 2000-04-20 01:43:32 +00:00
H.J. Lu
508866be8a 2000-04-18 H.J. Lu (hjl@gnu.org)
* config/tc-i386.c (offset_in_range): Use addressT instead of
	bfd_vma for none bfd assemblers.
2000-04-18 17:46:31 +00:00
Alan Modra
ba2adb9390 64 bit bfd fix. 2000-04-17 03:18:36 +00:00
Alan Modra
fc633e5b97 Remove U suffix from constants for K&R compilers.
Fix a couple of 64 bit nits.
2000-04-13 01:08:05 +00:00
Nick Clifton
3db10f32e0 Apply patch to fix compuation of frag offsets for symbols 2000-04-12 18:03:58 +00:00
Nick Clifton
1ed18ec1a3 Apply Andrew Cagney's patch to fix use of 'struct fix'. 2000-04-12 17:59:32 +00:00
Alan Modra
847f7ad471 Fix 64-bit nits. 2000-04-10 12:36:06 +00:00
Nick Clifton
d92b1a8a2a Add support for BFD_RELOC_{ARM|THUMB}_PCREL_BLX relocs. 2000-04-08 00:11:46 +00:00
Joern Rennecke
52ccafd035 opcodes:
* sh-opc.c (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
	stc GBR,@-<REG_N> is available for arch_sh1_up.
	Group parallel processing insn with identical mnemonics together.
	Make three-operand psha / pshl come first.
gas:
	* config/tc-sh.c (get_operands): There's no third operand if the
	first operand is an immediate.
2000-04-05 21:43:26 +00:00
Joern Rennecke
015551fcfb sh-dsp REPEAT support:
opcodes:

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

gas:

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

include/coff:

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

include/elf:

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

bfd:

        * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
        BFD_RELOC_SH_LOOP_END.
        * elf32-sh.c (sh_elf_howto_tab): Change special_func to
        sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
        Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
        (sh_elf_reloc_loop): New function.
        (sh_elf_reloc): No need to test for always-to-be-ignored relocs
        any more.
        (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
        (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
        * bfd-in2.h, libbfd.h: Regenerate.
2000-04-05 21:23:05 +00:00
Alexandre Oliva
79bd78bef5 * config/tc-sparc.c (sparc_ip): Avoid string pasting. 2000-04-05 09:38:43 +00:00
Alexandre Oliva
0a727238ad * config/tc-mn10300.c (md_pseudo_table): Use constant names.
(md_begin): Likewise.
(HAVE_AM33): New macro.
(md_assemble): Use it.  Match r_regs and xr_regs only if
HAVE_AM33.
2000-04-03 20:20:26 +00:00
Alan Modra
c20f4f8c21 Move bug report string to one place. 2000-04-03 14:10:05 +00:00
Alan Modra
726c5dcddf Correct 2000-02-26 change. 2000-04-03 11:19:51 +00:00
Richard Henderson
bf80011a5b * config/tc-d30v.c (check_range): Allow signed or unsigned 32-bit
quantities.  Correct right shift sign extension.
        (build_insn): Make `number' unsigned long.  Mask top 6 bits of
        32-bit value when shifting into place.
2000-04-02 08:24:54 +00:00
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
Nick Clifton
447f398221 Flush any pending instructiuons before emitting data into the instruction stream. 2000-04-01 00:19:46 +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
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
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
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
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
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
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
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
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
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
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
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
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
bea9907b2a octets vs bytes changes for GAS 2000-02-03 18:20:23 +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
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
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
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
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
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
Ian Lance Taylor
5f91fe03ba * config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output
if it is defined.

	* config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED.

	* config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL
	to bfd_set_section_contents.
1999-11-03 22:13:33 +00:00
Nick Clifton
829ce3071e Change the default endianness to little. 1999-11-03 18:19:22 +00:00
Gavin Romig-Koch
2bd7f1f332 For include/opcode:
* mips.h (OPCODE_IS_MEMBER): New.

For gas:

	* config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER.
	(mips_ip): Use OPCODE_IS_MEMBER.

For opcodes:

	* mips-dis.c (_print_insn_mips): Use OPCODE_IS_MEMBER.
1999-11-01 19:29:55 +00:00
Jeff Law
acb5662391 * config/tc-arm.c (reg_required_here): Improve comments. 1999-10-28 03:03:53 +00:00
Jeff Law
b49cfa5dae * config/tc-arm.c (thumb_opcode): Add "variants" field.
(tinsns): Initialize variants field.
1999-10-28 02:53:42 +00:00
Jeff Law
90ca882f04 * tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and BAD_PC
respectively.
1999-10-27 22:52:35 +00:00
Nick Clifton
29c4c6b539 fix compile time warnings 1999-10-27 18:13:28 +00:00
Nick Clifton
4c1102fd19 revert part of previous delta which had accidentally snarfed some experimental
code.
1999-10-25 16:48:26 +00:00
Nick Clifton
452a37f009 revert previous delta 1999-10-25 16:30:37 +00:00
Nick Clifton
9cac79d30b Apply patch supplied for case 102229 to implement new insns psrclr and psrset. 1999-10-25 15:28:44 +00:00
Diego Novillo
d9fd985254 * tc_d10v.c (find_opcode): Allow ATSIGN to match expressions of the
form @abs16, @(abs16) and @(abs16 + imm).
1999-10-21 13:49:38 +00:00
Gavin Romig-Koch
9ce8a5dd8e * config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New.
(ISA_HAS_64_BIT_REGS) New.
	(gpr_interlocks,md_begin,reg_needs_delay,append_insn,
	mips_emit_delays,macro_build,load_register,load_addresss,
	macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify
	and/or use new ISA_xxx macros in expressions involving
	ISA, particularly mips_opts.isa.
1999-10-21 13:23:31 +00:00
Michael Meissner
446a06c9b8 Add md expression support; Cleanup alpha warnings 1999-10-18 22:29:15 +00:00
Jeff Law
476cdcb88f * config/tc-hppa.c (md_apply_fix): Make "fmt" an int. 1999-10-17 23:19:13 +00:00
Alan Modra
c388dee89b Nit fix. 1999-10-12 11:07:34 +00:00
Jeff Law
d53d27516f * config/tc-hppa.c (pa_ip): Add new codes 'cc', 'cd', 'cC', 'co',
'@'.  Change autoincrement completers to fall through to cache control
        completers.

        * config/tc-hppa.c (pa_ip):  Remove unused args.  Add code to '?W'
        arg.
        (pa_parse_addb_64_cmpltr):  New function.

        * config/tc-hppa.c (pa_ip):  Change error message.
        (pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr)  Fix '?N' and
        '?Q' args to allow falling through.

        * config/tc-hppa.c (pa_ip):  Implement conditional codes "?N", "?Q".
        Remove unused conditional codes.
        (pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr):  New.
1999-10-10 07:57:30 +00:00
Diego Novillo
ba09cd8d98 * config/tc-d30v.c (CHAR_BIT): Define.
(check_range): Fix bit operations to support integers
	bigger than 32 bits.
1999-10-07 06:26:25 +00:00
Diego Novillo
c43185deeb Added seven new instructions ld, ld2w, sac, sachi, slae, st and
st2w for d10v. Created new testsuite for d10v to verify new
instructions.
1999-10-07 06:17:04 +00:00
Doug Evans
925c058e93 Add support for m32rx.
* config/tc-m32r.c (enable_m32rx): New static global.
	(enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
	(allow_m32rx): New function.
	(M32R_SHORTOPTS): Add `O'.
	(md_longopts): Add --m32rx plus several warning options.
	(md_parse_option): Handle new options.
	(md_show_usage): Print them.
	(md_begin): Enable m32rx.
	(OPERAND_IS_COND_BIT): New macro.
	(first_writes_to_seconds_operands): New function.
	(writes_to_pc,can_make_parallel,make_parallel): New functions.
	(target_make_parallel,assemble_two_insns): New functions.
	(md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
	If optimizing and m32rx, try to make consecutive insns parallel.
1999-10-05 00:37:17 +00:00
Geoffrey Keating
fba2b7f93e * config/tc-mips.c (nopic_need_relax): Allow for the
.sdata.foo sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
1999-09-28 04:13:25 +00:00
Jeff Law
d3426803c5 Remove accidental case duplication. 1999-09-23 16:09:23 +00:00
Jeff Law
ce674324e1 * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
with cleaner code using completer prefixes.   Add 'Y'.
1999-09-23 14:30:31 +00:00
Jeff Law
fd232ac8d5 * config/tc-hppa.c (pa_ip): Add parens to silence compiler. 1999-09-23 13:15:29 +00:00
Jeff Law
b1039fc41e * config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
(pa_ip, case 'm'): Failure to get a CBIT specifier just means the
        insn does not match and we should try the next insn in the table.
1999-09-22 15:43:26 +00:00
Nick Clifton
913f265c25 Rename MULTI_SET_PSR to LDM_TYPE_2_OR_3 1999-09-22 09:05:32 +00:00
Jeff Law
54af6ff675 * config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup
of PA2.0 support.
1999-09-20 10:06:05 +00:00
Ian Lance Taylor
4cc782b591 1999-09-19 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
	OBJ_ELF.  If ELF, add "sq".
	(md_parse_option): If ELF, ignore -s and -q.
	(md_show_usage): Mention ELF options.
1999-09-19 23:03:56 +00:00
Jeff Law
65fab780c5 * config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc'
operands.
1999-09-19 20:07:01 +00:00
Jeff Law
71823da428 * config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'. 1999-09-19 19:46:52 +00:00
Jeff Law
61dd1d313e * config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'. 1999-09-19 19:23:08 +00:00
Jeff Law
1cf6ae6758 * config/tc-hppa.c (struct pa_it): New field "trunc".
(pa_ip): Hadnle 'h', 'm', '=', '{', and '_' operands.
        (pa_parse_ftest_gfx_completer): New function
        (pa_parse_fp_cnv_format): New function.
1999-09-19 18:47:37 +00:00
Jeff Law
77c02e18c1 * config/tc-hppa.c (pa_ip): Handle 'X' operand.
(md_apply_fix): Handle 22bit pc-rel branches.
1999-09-19 18:13:50 +00:00
Jeff Law
629d9417e1 * config/tc-hppa.c (pa_ip): Handle 'B' operand. 1999-09-19 17:38:09 +00:00
Jeff Law
dbe2f9eec8 * config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands. 1999-09-19 17:09:23 +00:00
Jeff Law
3db6e6bd57 * config/tc-hppa.c (pa_ip): Handle 'l' operand. 1999-09-19 16:58:33 +00:00
Jeff Law
6be783603d * config/tc-hppa.c (pa_ip): Handle 'g' operand. 1999-09-19 16:45:20 +00:00
Jeff Law
e061d86ffd * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
(pa_ip): Handle 'fX'.
1999-09-18 18:16:21 +00:00
Jeff Law
f1a1312b73 Really fix the typo. 1999-09-18 13:41:01 +00:00
Jeff Law
9d957cd576 Fix typo in last change. 1999-09-18 13:26:46 +00:00
Jeff Law
7acbfc6b56 * config/tc-hppa.c (pa_build_unwind_subspace): Do not build
unwinds unless the function is in the text space.
        (pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
1999-09-17 18:00:50 +00:00
Jeff Law
b52c78b8a6 * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
(md_assemble): To here.  Tweak address generation.
1999-09-15 13:19:32 +00:00
Jeff Law
2d93dcc450 * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare
debug_line.
        (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
        (md_assemble): Call dwarf2_where for OBJ_ELF.
        (pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
        (pa_end_of_source): New function.
        * tc-hppa.h (md_end): Define for OBJ_ELF.
1999-09-15 11:17:54 +00:00
Ian Lance Taylor
41fd319a45 1999-09-14 Donn Terry <donn@interix.com>
* config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define.
1999-09-14 15:38:32 +00:00
Alan Modra
2f66722d55 Hackery to handle ix86 "jmp constant" as a pc-relative jump to the given
absolute address.
1999-09-13 06:45:15 +00:00
Alan Modra
a217f122fa Tidy jump handling code and comments. 1999-09-13 03:44:49 +00:00
Ian Lance Taylor
d33e1d248c 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	BFD_RELOC_RVA relocations.
1999-09-12 05:09:50 +00:00
Ian Lance Taylor
c0c949c786 * config/tc-i386.c (md_apply_fix3): Add horrible adjustments to
the value if TE_PE and a global defined symbol.
1999-09-12 05:06:09 +00:00
Ian Lance Taylor
18dc2407f4 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (md_undefined_symbol): Compare the name against
	the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it
	starts with "_G".
1999-09-12 03:50:42 +00:00
Ian Lance Taylor
945a1a6b98 * write.c (write_relocs): Call SET_SECTION_RELOCS if it is
defined.
	* config/obj-coff.h (SET_SECTION_RELOCS): Define.
	* doc/internals.texi (Object format backend): Document
	SET_SECTION_RELOCS.
1999-09-12 03:44:42 +00:00
Ian Lance Taylor
12951dca76 fix copyright 1999-09-12 03:34:29 +00:00
Ian Lance Taylor
79d292aaa2 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	relocations against global symbols if TE_PE.
1999-09-12 03:18:54 +00:00
Ian Lance Taylor
7a6284c477 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
	(obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
1999-09-12 03:07:49 +00:00
Ian Lance Taylor
8828d86202 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (coff_frob_symbol): Prohibit weak common
	symbols.
1999-09-12 02:59:54 +00:00
Ian Lance Taylor
9690c54dda 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
	symbols which do not have a constant value, or tags with
	non-tags.  Remove the symbol from the list before adding it at the
	end.
1999-09-12 02:55:58 +00:00
Ian Lance Taylor
23dab925ad 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
	C_FCN symbol differently if TE_PE.
	(obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
	appears in the pseudo-op, rather coff_line_base which is only set
	for a .bf symbol.
1999-09-12 02:49:28 +00:00
Ian Lance Taylor
28428223eb 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_loc): New static function.
	(obj_pseudo_table): Add "loc".
1999-09-12 02:39:52 +00:00
Ian Lance Taylor
e8a3ab752d 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (add_lineno): Check that the line number is
	positive.
1999-09-12 02:34:00 +00:00
Ian Lance Taylor
0561a208f8 1999-09-11 Donn Terry <donn@interix.com>
* expr.c (expr): Change first parameter to int.
	* config/obj-coff.c: Add declarations for static functions.
	(coff_frob_symbol): Use SYM_AUXENT.
	* config/tc-i386.h (flag_16bit_code): Don't declare.
1999-09-12 02:27:58 +00:00
Ian Lance Taylor
0723899b7e comment change 1999-09-12 02:27:31 +00:00
Ian Lance Taylor
2ab9b79ef9 1999-09-11 Donn Terry <donn@interix.com>
* config/atof-ieee.c (atof_ieee): Change what_kind to int.
	* config/atof-vax.c (flonum_gen2vax): Change format_letter to
	int.
	(md_atof): Return NULL rather than 0.
	* config/tc-i386.c (md_atof): Change type to int.
1999-09-12 02:12:38 +00:00
Ian Lance Taylor
5881e4aab3 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_section): Default to setting
	SEC_LOAD.  Don't set SEC_DATA for 'w' modifier.
1999-09-12 02:08:55 +00:00
Nick Clifton
325188ecac Only support interworking and pic for ELF or COFF targets 1999-09-08 13:10:28 +00:00
Jeff Law
4964086a66 * config/tc-hppa.c (pa_ip): Support 'Z' argument. 1999-09-07 19:48:13 +00:00
Jeff Law
e7c1f43c29 * config/tc-hppa.c (pa_ip): Put strict register checks before
call to pa_parse_number.
1999-09-07 19:30:14 +00:00
Ian Lance Taylor
c4bf532f53 * config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for
BFD_ASSEMBLER code.
1999-09-07 03:26:58 +00:00
Jeff Law
0f4f8b56e7 * config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the
candidate instruction.  Require registers for register arguments
        when in strict mode.  Require assemble-time constants for
        constants when in strict mode.
        (pa_get_absolute_expression): Require a constant when in strict
        mode.
1999-09-06 10:28:21 +00:00
Nick Clifton
d33886536c Fix value for -Wnuh command line option 1999-09-06 10:24:19 +00:00
Ian Lance Taylor
041dd5a9f4 1999-09-04 Steve Chamberlain <sac@pobox.com>
* config/tc-pj.c: New file, supports picoJava in ELF.
	* config/tc-pj.h: Ditto.
	* configure.in (pjl*, pj*): New targets.
	* Makefile.am: Rebuild dependencies.
	(CPU_TYPES): Add pj.
	(TARGET_CPU_CFILES): Add config/tc-pj.c.
	(TARGET_CPU_HFILES): Add config/tc-pj.h.
	* doc/c-pj.texi: New file.
	* doc/as.texinfo: Add some PJ specifics.
	* doc/all.texi: Add PJ to the list of all architectures, sort them
	all alphabetically.
	* doc/Makefile.in (CPU_DOCS): Add c-pj.texi.
	* configure, Makefile.in, doc/Makefile.in: Rebuild.
1999-09-04 17:29:22 +00:00
Alan Modra
4ca72d3829 Enable --emulation={i386coff,i386elf} for i386 gas. 1999-09-02 15:12:01 +00:00
Nick Clifton
bcef92fa23 Do not dump literal pool when a .section .line directive is encountered. 1999-09-02 10:39:18 +00:00
Nick Clifton
231b5e2936 slight code improvement over previous delta 1999-09-01 15:32:46 +00:00
Nick Clifton
5856c19ac4 Do not align sectins when producing ELF format objects. 1999-09-01 10:57:19 +00:00
Ian Lance Taylor
d7f1f2b0be fix FSF address 1999-08-31 15:12:20 +00:00
Alan Modra
af6bdddf8c i386 gas code cleanups: combine i386_is_reg and parse_register. 1999-08-30 13:12:54 +00:00
Alan Modra
5f47d35be1 Allow spaces in i386 FP reg names, eg. %st ( 1 ). 1999-08-29 23:44:27 +00:00
Doug Evans
1174497c8a * config/tc-m32r.c (md_parse_option): Delete unrecognized option
error message (done elsewhere).
1999-08-29 20:45:22 +00:00
Jeff Law
97e1581b3f * config/tc-hppa.c (pa_ip): Replace 'f' by 'v'. Prefix float register
args by 'f'.
1999-08-29 07:52:32 +00:00
Jeff Law
9e4f2d3a85 * config/tc-hppa.c (pa_ip): Add args q, %, and |. 1999-08-28 10:59:37 +00:00
Jeff Law
680ef6de90 * config/tc-hppa.c (pa_ip): Absorb white space in instructions
between args.
        Add new completers.  Fix bug in 64 bit condition handling.
1999-08-28 10:18:12 +00:00
Jeff Law
413c94baca * config/tc-hppa.c (pa_ip): Add completer codes 'a', 'ch', 'cH',
'cS', and 'c*'.
1999-08-28 08:48:40 +00:00
Jeff Law
28252e6156 * config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'. 1999-08-28 08:16:30 +00:00
Jeff Law
17d9105c0a * config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers. 1999-08-28 07:23:42 +00:00
Jeff Law
a97685e901 * config/tc-hppa.c (pa_ip): Add cases for '.', '~'. '$'. and '!' 1999-08-28 06:42:06 +00:00
Jeff Law
9ecc05f0de * config/tc-hppa.c (pa_ip): Add case for 'I'. 1999-08-28 06:28:21 +00:00
Alan Modra
b23bac3600 *gas/config/tc-i386.c: Fix errors in displacement size when
automatically inferring an address prefex.
1999-08-20 11:59:19 +00:00
Nick Clifton
50f4163fd6 If an offset is invalid, display it. 1999-08-18 09:12:11 +00:00
Ian Lance Taylor
f589a541dc * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
handle 0xffffNNNN constants correctly.
1999-08-17 18:26:49 +00:00
Nick Clifton
114502711b Look for register conflicts on stores as well as loads. 1999-08-16 17:47:29 +00:00
Nick Clifton
276b1dc2a2 Only pass positive values to validate_offset_imm() 1999-08-13 08:38:20 +00:00
Nick Clifton
ae5ad4adf9 Tidy up formatting.
Fix Thubm weak function support.
1999-08-12 10:32:42 +00:00
Alan Modra
bf6d389561 config/tc-i386.c: Remove dead code 1999-08-11 14:10:07 +00:00
Jeff Law
b100be6695 * config/tc-hppa.c (pa_build_unwind_subspace): Use sane section
flags for the unwind subspace.
1999-08-11 09:41:28 +00:00
Jeff Law
9100134ca0 Fix typos in last change. 1999-08-10 19:09:43 +00:00
Jeff Law
46031ca9e4 * config/tc-hppa.c (UNWIND_SECTION_NAME): Define for ELF.
(pa_build_unwind_subspace): Remove #if 0 wrapper.  Select a
        suitable relocation based on the size of the target's pointer.
        Always Use subsegment zero for the unwinders.
        (pa_level): Handle "2.0w".
1999-08-10 19:02:30 +00:00
Joern Rennecke
0825afba5d * config/tc-d30v.c (write_2_short): Don't group repeat instructions
with the following instruction unless this was specified.
1999-08-09 19:04:27 +00:00
Ian Lance Taylor
1a1ae23e52 * config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for
certain sections, to match BFD changes.
1999-08-09 04:42:15 +00:00
Richard Henderson
1eb7027ca2 * config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg. 1999-08-08 17:27:23 +00:00
Ian Lance Taylor
2dcc60be2b * doc/as.texinfo (Section): Document 's' flag for COFF version.
1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>

	* config/obj-coff.c (obj_coff_section): Handle 's' (shared)
	section flag.
1999-08-08 16:53:30 +00:00
Ian Lance Taylor
153b546a7a comment additions 1999-08-08 16:04:36 +00:00
Jeff Law
0741736bf6 * config/tc-hppa.c (pa_ip, case '?'): Add missing break. 1999-08-06 18:13:31 +00:00
Jeff Law
9a913dfbfb * config/tc-hppa.c (pa_ip): Add 64 bit condition completers. 1999-08-06 15:48:42 +00:00
Ian Lance Taylor
a1f2d7424f 1999-08-06 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.h (tc_fix_adjustable): Fix check for PIC local
	non-adjustable symbols.
1999-08-06 14:02:34 +00:00
Jeff Law
55a914bc48 * config/tc-hppa.c (pa_ip): Change condition args to have '?' prefix. 1999-08-05 22:56:06 +00:00
Joern Rennecke
5fc44b2d43 * config/tc-sh.c (md_assemble): Call as_bad when there are excess
operands.
1999-08-05 22:09:04 +00:00
Ian Lance Taylor
9750fcc502 1999-08-05 Donn Terry <donn@interix.com>
* config/te-interix.h: New file.
	* configure.in (i386-*-interix*): New target.
	* configure: Rebuild.
1999-08-05 15:41:31 +00:00
Jeff Law
39ba556164 * config/tc-hppa.c (pa_chk_field_selector): Allow 3 byte
selectors for ELF too.
        (selector_table): Add "ltp" and "rtp" selectors.
1999-08-05 00:09:42 +00:00
Alan Modra
eecb386cd7 Support for gcc to generate 16-bit i386 code. (.code16gcc) 1999-08-04 10:07:41 +00:00
Ian Lance Taylor
a04b544b56 * config/obj-coff.c (coff_frob_symbol): Always update set_end with
next_set_end even if the end symbol is being discarded.

	* gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER.
	* output-file.c, symbols.c, config/tc-i386.c: Likewise.
	* config/obj-coff.c: Likewise.
	(seg_info_type): Remove.
	(seg_info_off_by_4): Change to array of segT.
	(s_get_segment): Adjust accordingly.
	(obj_pseudo_table): Fully initialize sentinel entry.
1999-08-03 15:29:04 +00:00
Ian Lance Taylor
f173e82ec8 * config/tc-mips.c (append_insn): Correct INSN_SYNC test. From
Ralf Baechle <ralf@uni-koblenz.de>.
1999-08-03 15:22:38 +00:00
Alan Modra
24eab124bd Rationalize some of the i386 intel mode code.
Indentation and white space changes.
1999-08-03 14:30:05 +00:00
Alan Modra
c3332e24e8 * config/tc-i386.c: Add INFER_ADDR_PREFIX code. Fix 16 bit mode nop. 1999-08-03 05:47:26 +00:00
Richard Henderson
6d8809aa62 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option.
        (sparc_ip): Warn if %g2 or %g3 register is used and not covered
        by .register pseudo-op if -64 and --no-undeclared-regs.
        (s_register, sparc_adjust_symtab): New functions.
        * config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab):
        Declare sparc_adjust_symtab as tc_adjust_symtab.
        * doc/c-sparc.texi: Add description of #ignore special literal
        for .register pseudo-op.
1999-07-30 21:39:53 +00:00
Catherine Moore
c8d259f7df Fix up vtable entry relocs 1999-07-30 15:08:39 +00:00
Alan Modra
b77ad1d4c9 Fix an overflow checking bug uncovered when a 32 bit target is compiled
with a 64 bit bfd.
1999-07-28 23:19:26 +00:00
Jeff Law
b53fcc20b1 * config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
processing.
1999-07-28 08:07:14 +00:00
Ian Lance Taylor
d2e71411fe * config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
VTABLE relocations.
1999-07-27 19:26:39 +00:00
Ian Lance Taylor
e9f56b1d20 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
* config/te-go32.h (COFF_LONG_SECTION_NAMES): Define.
1999-07-22 01:41:00 +00:00
Ian Lance Taylor
1a39f480d3 From Mark Elbrecht:
* configure.bat: Remove; obsolete.
	* config/go32.cfg: Likewise.
1999-07-22 00:59:07 +00:00
Richard Henderson
dabe3bbc57 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Allow OLO10 relocations
        on -64 and not pic.
        (output_insn): Put OLO10's secondary addend into tc_fix_data.
        (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10.
        (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13.
        * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE,
        MAX_RELOC_EXPANSION): Define.
        (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
1999-07-16 21:30:35 +00:00
Alan Modra
b4cac588ae * gas/config/tc-i386.c: Fix for immediates and displacements in 16-bit
mode when no insn suffix present, eg. push $0x12345678.  Fix some
compiler warnings.  Disallow immediate jump absolute.
1999-07-16 11:09:15 +00:00
Jeff Law
077db52a1e d
* config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
        (cons_fix_new_hppa): Derive size of fixup from size of the object.
1999-07-15 01:49:48 +00:00
Nick Clifton
2f992c04c2 Apply patch from Philip Blundell <pb@nexus.co.uk>
Prepend LOCAL_LABEL_PREFIX (if defined) to local symbols.
  ARM: Set F_SOFTFLOAT in the output file if -mno-fpu was given.
1999-07-15 01:33:07 +00:00
Andreas Schwab
3682307616 * config/tc-m68k.c: Add some ATTRIBUTE_UNUSED. 1999-07-12 08:34:56 +00:00
Ian Lance Taylor
ab9da55419 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate.  Fill in structure initializations.  Add variable
	initializations.  Add casts.
	* dwarf2dbg.c (print_stats): Change i to size_t.
	* listing.c (listing_listing): Change list_line to unsigned int.
1999-07-11 20:20:04 +00:00
Ian Lance Taylor
e0accf0cb8 * config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL
rather than checking for \001 and \002 in symbol name.
	* config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise.
1999-07-09 22:56:21 +00:00
Nick Clifton
cac58fa6ef Use symbol_get_obj() rather than accessing symbolP directly. 1999-07-07 09:34:14 +00:00
Jeff Law
5437775413 h
* config/tc-hppa.h (tc_frob_symbol): Always punt "$global$" symbol
        for ELF.
1999-07-06 09:44:58 +00:00
Nick Clifton
49a5575c32 Add support for armv5 architecture
Add ADRL pseudo op.
1999-07-05 07:39:01 +00:00
Jeff Law
b1c5e0ee59 h
* config/tc-hppa.c (pa_ip): Convert the opcode and all completers
        into lower case.
1999-07-01 14:37:29 +00:00
Ian Lance Taylor
827c01493e 1999-06-26 Mumit Khan <khan@xraylith.wisc.edu>
* config/obj-coff.c (obj_coff_section): Mark writable sections as
	data.
1999-06-26 19:35:44 +00:00
Nick Clifton
40b10cc76f ooops - omitted from previous delta. 1999-06-23 09:31:57 +00:00
Nick Clifton
16b93d8878 Make the mcore even more paranoid about section switching 1999-06-23 09:27:09 +00:00
Ian Lance Taylor
7dcc986550 * config/tc-alpha.c: More use of symbol accessor functions.
* config/tc-arc.c: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-fr30.c: Likewise.
	* config/tc-i860.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-mcore.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-v850.c: Likewise.
1999-06-22 14:53:01 +00:00
Ian Lance Taylor
a77f5182c7 * config/tc-arc.c (get_arc_exp_reloc_type): Change uses of
sy_value with appropriate accessor functions.
	* config/tc-arm.c (md_apply_fix3): Likewise.
	* config/tc-d10v.c (AT_WORD_P): Likewise.
	* config/tc-v850.c (reg_name_search): Likewise.
1999-06-22 14:35:19 +00:00
Ian Lance Taylor
8fc2b121ea reformat copyright paragraph 1999-06-22 14:32:33 +00:00
Ian Lance Taylor
d02d939fdb add a couple of if/else/endif comments 1999-06-22 14:32:12 +00:00
Ian Lance Taylor
fed9b18aea * config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym to
use symbol_get_bfdsym instead.
	* config/tc-ppc.c (md_assemble): Likewise.
	* config/tc-v850.c (v850_comm): Likewise.
1999-06-22 14:17:55 +00:00
Ian Lance Taylor
310b5aa239 1999-06-22 Jonathan Larmour <jlarmour@cygnus.co.uk>
* config/tc-arc.c (tc_gen_reloc): Use symbol_get_bfdsym to get at
	the symbol, rather than accessing the bsym member.
	* config/tc-d10v.c (tc_gen_reloc): Likewise.
	* config/tc-d30v.c (tc_gen_reloc): Likewise.
	* config/tc-mcore.c (tc_gen_reloc): Likewise.
	* config/tc-mn10200.c (tc_gen_reloc): Likewise.
	* config/tc-mn10300.c (tc_gen_reloc): Likewise.
	* config/tc-ns32k.c (tc_gen_reloc): Likewise.
	* config/tc-tic30.c (tc_gen_reloc): Likewise.
	* config/tc-v850.c (tc_gen_reloc): Likewise.
1999-06-22 14:07:40 +00:00
Jeff Law
b388df8754 d
* tc-hppa.c (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
        (hppa_gen_reloc_type): Conditionalize on BFD64.
        (tc_gen_reloc): Re-enable ELF relocations.
        * tc-hppa.h (TARGET_FORMAT): Handle elf64-hppa format.
1999-06-21 15:48:51 +00:00
Ian Lance Taylor
3d10331912 * config/tc-arm.c (ldst_extend): Add parentheses to avoid
warning.
	(do_ldst): Move assignment out of if condition.
	(md_apply_fix3): Add casts to avoid printf format warnings.  Add
	parentheses to avoid warning.
1999-06-21 10:03:29 +00:00
Nick Clifton
155f0fe7a5 Use symbol_get_bfdsym() macro 1999-06-21 09:11:27 +00:00
Nick Clifton
776b24b437 Include struc-symbol.h so that symbol structure definition is available. 1999-06-21 08:08:52 +00:00
Ian Lance Taylor
809ffe0deb * config/tc-ppc.c: Update for symbol handling changes.
* config/obj-coff.c: Likewise.
1999-06-19 14:04:45 +00:00
Jeff Law
49863f82f0 * tc-hppa.c: General cleanups of ELF support. No more spaces
and subspaces for ELF.
        (GDB_DEBUG_SPACE_NAME): Delete definition for ELF.
        (GDB_STRINGS_SUBSPACE_NAME): Likewise.
        (GDB_SYMBOLS_SUBSPACE_NAME): Likewise
        (UNWIND_SECTION_NAME): Likewise.
        (space/subspace related structures): Conditionalize definitions
        on OBJ_SOM.
        (space/subspace directives and support routines): Conditionalize
        definitions and references/uses on OBJ_SOM.
        (label_symbol_struct): For ELF, track the symbol's segment.  For
        SOM track its space.
        (pa_define_label, pa_undefine_label, pa_get_label): Corresponding
        changes.
        (USE_ALIASES): Kill for both SOM & ELF.
        (pa_def_subspaces, pa_def_spaces): Corresponding changes.
        (pa_space, pa_subspace): Corresponding changes.
        (pa_spaces_begin): Corresponding chagnes.
        (md_begin): Do not muck around with space/subspace stuff for
        OBJ_ELF.
        (md_apply_fix): Temporarily disable argument relocation stuff
        for OBJ_ELF.
        (tc_gen_reloc): Temporarily disable relocation generation for
        OBJ_ELF
        (pa_build_unwind_subspace): Similarly.
1999-06-18 13:35:16 +00:00
Nick Clifton
fed881b14b Patches for eCos: Dump literal pool on section change. Mark thumb function
aliases as being thumb functions as well.
1999-06-18 01:38:26 +00:00
Nick Clifton
2f3519a231 Fix -Wuh and -Wnhu options so that they work. 1999-06-17 04:51:25 +00:00
Nick Clifton
0f94f4c867 Detect illegal use of hash symbols in assembler mnemonics. 1999-06-17 02:13:18 +00:00
Ulrich Drepper
a8aed0fb2d (tc_gen_reloc): Fix handling of GOTPC relocs. 1999-06-13 06:39:21 +00:00
Ian Lance Taylor
b9e57a387a * subsegs.c (subseg_text_p): New function.
* as.h (subseg_text_p): Declare.
	* read.c (do_align): Use subseg_text_p to set the default fill.
	* write.c (subsegs_finish): Likewise.
	* config/obj-coff.c (write_object_file): Likewise.
	* config/tc-i386.h (md_maybe_text): Don't define.
	(md_do_align): Use subseg_text_p to set the default fill.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	* config/tc-sh.c (sh_do_align): Likewise.
	* config/tc-sparc.h (md_do_align): Likewise.
1999-06-12 16:49:51 +00:00
Ian Lance Taylor
a1605869fb * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
	* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
	sy_next field when taking address, rather than symbol_next.
1999-06-11 21:07:46 +00:00
Ian Lance Taylor
ae69440806 * config/tc-i386.c (i386_immediate): Remove unused label
seg_unimplemented.
1999-06-11 21:07:03 +00:00
Ian Lance Taylor
76171f81c7 1999-06-11 Martin Dorey <mdorey@madge.com>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
	* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
	OBJ_ELF.
	(md_apply_fix): Simplify BFD_ASSEMBLER handling.
1999-06-11 19:03:06 +00:00
Ian Lance Taylor
5865bb778d * config/tc-i386.c (md_apply_fix3): Add default case to switch. 1999-06-10 21:47:35 +00:00
Ian Lance Taylor
9e7c96d9d0 * config/tc-sparc.c (md_pseudo_table): Remove pushsection and
popsection.
1999-06-10 21:45:36 +00:00
Ian Lance Taylor
1b50c71893 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. 1999-06-10 21:43:24 +00:00
Richard Henderson
a22b281cd7 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
        with isoctal.
        * config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
        synthetize_setx): New functions.
        (md_assemble): Broken the special cases into the above
        functions. Make compiler happy if sizeof(bfd_vma)==4.
        Fix sethi generated from set/setuw. If instructions have a relloc,
        always clear the fields to be relocated in the opcode.
        (sparc_ip): Remove special_case global variable.
1999-06-10 21:11:39 +00:00
Ian Lance Taylor
d7ba4a779e Based on patches from John W. Woznack <jwoznack@concentric.net>:
* itbl-ops.c (itbl_get_reg_val): Add pval parameter.  Return
	indication of success rather than a value.
	(itbl_get_val): Likewise.
	(itbl_get_field): Use strcspn.  Change delimiters to include
	parens.
	* itbl-ops.h (itbl_get_reg_val): Update declaration.
	(itbl_get_val): Likewise.
	* config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val.
1999-06-10 20:35:50 +00:00
Nick Clifton
c1d3c45e14 Add support for ARM920 and ARM920t 1999-06-10 01:59:33 +00:00
Richard Henderson
63fab58c7d Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_assemble): Fix up setx, support setsw.
        Optimize set if sizeof(bfd_vma) == 64.
        (sparc_ip): Fix sethi - without %hi() it should generate
        R_SPARC_32 reloc, not R_SPARC_HI22.
        (tc_gen_reloc): Handle BFD_RELOC_SPARC22.
1999-06-07 12:53:56 +00:00
Richard Henderson
cf9a13018b Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_begin): Handle native wordsize aliases.
        (s_ncons): New function.
        (native_op_table): New table.
        (sparc_ip): Be more strict on %hi() etc.; prepare assembler for
        R_SPARC_OLO10 handling.
1999-06-07 12:40:36 +00:00
Richard Henderson
bf29b23178 * expr.h (struct expressionS): Revert last change; widen X_op.
* config/tc-alpha.c (md_begin): Check the field is wide enough.
1999-06-07 10:23:47 +00:00
Andreas Schwab
9be1cda6a5 * config/obj-elf.c (obj_elf_common): In MRI mode if called as
`common' pass on to s_mri_common.
	(elf_pseudo_table): Pass 1 to obj_elf_common for `common'.
1999-06-07 02:28:54 +00:00
Richard Henderson
623356292c * config/obj-elf.c (obj_elf_section): Don't free the return
value of demand_copy_C_string.
1999-06-06 00:09:50 +00:00
Richard Henderson
9de8d8f184 * dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
creation logic from obj_elf_create_section.
        * config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
        (section_stack): New.
        (special_sections): Make const.
        (obj_elf_section): Gut and rewrite parsing.
        (obj_elf_change_section): New function broken out of obj_elf_section.
        (obj_elf_parse_section_letters): Likewise.
        (obj_elf_section_word): Likewise.
        (obj_elf_section_type): Likewise.
        (obj_elf_previous): Treat as a toggle.
        (obj_elf_popsection): New.
        * config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
        (ppc_section_type): Likewise.
        * config/tc-ppc.h: Likewise.
        * expr.h (struct expressionS): Don't make X_op a bitfield.
        * config/tc-alpha.c: Update for symbol handling changes.
        (md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
        (load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
1999-06-05 23:15:34 +00:00
Ian Lance Taylor
993142d5a4 1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol
	to real if OBJ_SOM
	(tc_gen_reloc): Still need bfd_abs_symbol in some relocs.
1999-06-04 21:08:54 +00:00
Ian Lance Taylor
398e8c258a 1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c: Update for symbol handling changes.
1999-06-04 10:46:25 +00:00
Ian Lance Taylor
f412ead8f6 * config/tc-m32r.c: Update for symbol handling changes. 1999-06-03 12:46:26 +00:00
Ian Lance Taylor
a0f75b47e9 * config/tc-hppa.h: Update for symbol handling changes.
* config/tc-hppa.c: Likewise.
1999-06-03 12:42:36 +00:00
Ian Lance Taylor
174419c123 * config/tc-arm.h: Update for symbol handling changes.
* config/tc-arm.c: Likewise.
	(symbol_make_empty): Remove.  Just use symbol_create.
1999-06-03 09:50:01 +00:00
Richard Henderson
86eab3efc4 * config/obj-elf.c (elf_pseudo_table): Add `common'. 1999-06-03 02:50:51 +00:00
Ian Lance Taylor
49309057b4 Add support for storing local symbols in a small structure to save
memory when assembling large files.
	* as.h: Don't include struc-symbol.h.
	(symbolS): Add typedef.
	* symbols.c: Include struc-symbol.h.
	(local_hash): New static variable.
	(save_symbol_name): New static function, from symbol_create.
	(symbol_create): Call save_symbol_name.
	(local_symbol_count): New static variable.
	(local_symbol_conversion_count): Likewise.
	(LOCAL_SYMBOL_CHECK): Define.
	(local_symbol_make): New static function.
	(local_symbol_convert): New static function.
	(colon): Handle local symbols.  Create local symbol for local
	label name.
	(symbol_table_insert): Handle local symbols.
	(symbol_find_or_make): Create local symbol for local label name.
	(symbol_find_base): Check for local symbol.
	(symbol_append, symbol_insert): Check for local symbols.
	(symbol_clear_list_pointers, symbol_remove): Likewise.
	(verify_symbol_chain): Likewise.
	(copy_symbol_attributes): Likewise.
	(resolve_symbol_value): Handle local symbols.
	(resolve_local_symbol): New static function.
	(resolve_local_symbol_values): New function.
	(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
	(S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
	(S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
	(S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
	(S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
	(symbol_previous, symbol_next): New functions.
	(symbol_get_value_expression): Likewise.
	(symbol_set_value_expression): Likewise.
	(symbol_set_frag, symbol_get_frag): Likewise.
	(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
	(symbol_mark_used_in_reloc): Likewise.
	(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
	(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
	(symbol_mri_common_p): Likewise.
	(symbol_mark_written, symbol_clear_written): Likewise.
	(symbol_written_p): Likewise.
	(symbol_mark_resolved, symbol_resolved_p): Likewise.
	(symbol_section_p, symbol_equated_p): Likewise.
	(symbol_constant_p): Likewise.
	(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
	(symbol_get_obj, symbol_set_obj): Likewise.
	(symbol_get_tc, symbol_set_tc): Likewise.
	(symbol_begin): Initialize local_hash.
	(print_symbol_value_1): Handle local symbols.
	(symbol_print_statistics): Print local symbol statistics.
	* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
	Declare new symbols.c functions.  Move many declarations here from
	struc-symbol.h.
	(SYMBOLS_NEED_BACKPOINTERS): Define if needed.
	* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
	(struct symbol): Move bsym to make it clearly the first field.
	Remove TARGET_SYMBOL_FIELDS.
	(symbolS): Don't typedef.
	(struct broken_word): Remove.
	(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
	(SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
	(symbol_clear_list_pointers): Likewise.
	(symbol_insert, symbol_remove): Likewise.
	(symbol_previous, symbol_append): Likewise.
	(verify_symbol_chain, verify_symbol_chain_2): Likewise.
	(struct local_symbol): Define.
	(local_symbol_converted_p, local_symbol_mark_converted): Define.
	(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
	(local_symbol_get_frag, local_symbol_set_frag): Define.
	(local_symbol_get_real_symbol): Define.
	(local_symbol_set_real_symbol): Define.
	Define.
	* write.c (write_object_file): Call resolve_local_symbol_values.
	* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
	(TARGET_SYMBOL_FIELDS): Don't define.
	* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field.  If
	ECOFF_DEBUGGING, add ECOFF fields.
	(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
	* config/obj-multi.h (struct elf_obj_sy): Add local field.  If
	ECOFF_DEBUGGING, add ECOFF fields.
	(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
	(ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
	* config/tc-mcore.h: Don't include struc-symbol.h.
	(TARGET_SYMBOL_FIELDS): Don't define.
	(struct mcore_tc_sy): Define.
	(TC_SYMFIELD_TYPE): Define.
	* Many files: Use symbolS instead of struct symbol.  Use new
	accessor functions rather than referring to symbolS fields
	directly.
	* read.c (s_mri_common): Don't add in value of line_label.
	* config/tc-mips.c (md_apply_fix): Correct parenthesization when
	checking for SEC_LINK_ONCE.
	* config/tc-sh.h (sh_fix_adjustable): Declare.
1999-06-03 00:29:48 +00:00
Nick Clifton
661e4995b2 Include pipeline offset in addend unless dealing with an old ABI. 1999-05-29 10:47:20 +00:00
Doug Evans
d9a622197d -Wchar-subscripts cleanup
* listing.c (listing_newline): Use unsigned char variable, so
 	calls to isascii,iscntrl are correct.
	* atof-generic.c (atof_generic): Cast arg to isdigit, et. al. with
	(unsigned char).
	* ecoff.c (ecoff_directive_ent,ecoff_stab): Ditto.
	* config/obj-elf.c (obj_elf_vtable_inherit): Ditto.
	* config/tc-mips.c (mips_ip,mips16_ip): Ditto.
	(my_getSmallExpression,get_number,s_mips_ent): Ditto.
1999-05-28 15:28:56 +00:00
Ian Lance Taylor
6da466c730 1999-05-28 Torbjorn Granlund <tege@matematik.su.se>
* config/tc-m68k.c (m68k_ip): Check for disallowed index register
	width for Coldfire.
	(arch_coldfire_p): New #define.
	(m68k_ip, m68k_init_after_args): Use arch_coldfire_p.
1999-05-28  Linus Nordberg  <linus.nordberg@canit.se>
	* config/tc-m68k.c (install_operand): Add places `n', `o'.
	* config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'.
	(install_operand): Add place `N'.
	(init_table): Add registers ACC, MACSR, MASK.
	* config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK.
	* config/tc-m68k.c: Change mcf5200 --> mcf.
	(archs): Add mcf5206e, mcf5307.
	(m68k_ip): Add format `u'.
	(install_operand): Add place `m', `M', `h'.
	(init_table): Add upper/lower registers.
	* config/m68k-parse.h (m68k_register): Add upper/lower registers.
1999-05-27 22:36:51 +00:00
Ian Lance Taylor
bedf545c12 1999-05-28 Martin Dorey <mdorey@madge.com>
* config/tc-i960.c: Several minor changes to add ELF and
	BFD_ASSEMBLER support.
	* config/tc-i960.h: Likewise.
	* configure.in (i960-*-elf*): New target.
	* aclocal.m4, configure: Rebuild.
1999-05-27 21:57:48 +00:00
Alan Modra
e1b283bbb7 ÿ
Fiz i386-iaout breakage introduced by last patch.
1999-05-24 18:25:27 +00:00
Nick Clifton
b8a40f5379 Accept 'sp' as a valid register name. 1999-05-22 14:49:51 +00:00
Alan Modra
93382f6dd7 n
Move bitfield overflow checks to after the md_apply_fix call in
fixup_segment so that md_apply_fix has a chance to modify value.
Handle 8 and 16-bit pcrel relocs for i386.
Prototypes and other minor code cleanups.
1999-05-17 03:21:50 +00:00
Alan Modra
ec0f0840fc *** empty log message *** 1999-05-17 03:21:49 +00:00
Andreas Schwab
19b341776d * config/atof-ieee.c (gen_to_words): Correctly round a
denormalized number.  Fix off-by-one in range checking for
	exponent in a denormal.
1999-05-14 01:53:28 +00:00
Alan Modra
3afcee8ec9 X
i386 PIII SIMD support, remove ReverseRegRegmem kludge
tidy a few things in i386 intel mode disassembly
1999-05-13 06:00:14 +00:00
Alan Modra
3f4438abfd ÿ
i386 PIII SIMD support, remove ReverseRegRegmem kludge
tidy a few things in i386 intel mode disassembly
1999-05-13 06:00:13 +00:00
Richard Henderson
d0e9a01c12 * config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.
(md_begin): Allow ppc32 insns in ppc64bridge mode.
        (ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
1999-05-08 23:31:09 +00:00
Richard Henderson
83183c0c36 * config/tc-i386.c (i386_immediate): Skip whitespace before
complaining about junk after expression.
        (i386_displacement): Likewise.
1999-05-06 23:16:36 +00:00
Catherine Moore
0d96863f2b * tc-m68k.c: Include elf/m68k.h.
(m68k_elf_final_processing): New routine.
        * tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing):
        Define.
1999-05-05 10:58:59 +00:00
Jeff Law
90700a5341 * config/tc-hppa.c (md_apply_fix): Handle 22 bit fmt insn like a
17 bit fmt insn.
1999-05-03 09:26:28 +00:00
Richard Henderson
252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00