Commit Graph

727 Commits

Author SHA1 Message Date
Thiemo Seufer be00bdddad Set MIPS n32 ABI flag in ELF header if appropriate. 2001-08-16 21:48:28 +00:00
Thiemo Seufer 07ae3efa01 Remove obsolete special handling of 64bit Relocations. 2001-08-16 15:12:09 +00:00
Nick Clifton 5d430f8ba5 Add missing prototypes 2001-08-13 11:05:29 +00:00
Andreas Jaeger 198ce79b6b * config/tc-s390.c (s390_elf_cons): Correct fixups for PLT
relocations.
2001-08-13 08:03:52 +00:00
Nick Clifton 4ffadb11c8 Fix behaviour of unaligned data directives 2001-08-12 08:47:02 +00:00
Kazu Hirata f72c8c98df * config/tc-mips.c: Fix a comment typo. 2001-08-11 15:15:15 +00:00
Richard Sandiford ea1fb5dc3b * config/tc-mips.c (move_register): New function.
(macro_build): Remove OPCODE_IS_MEMBER's gp32 argument.
	(mips_ip): Likewise.
	(macro2): Use move_register rather than macro_build for moves.
	(mips16_macro): Likewise.
	(macro): Likewise.  Handle M_MOVE.
2001-08-10 16:24:32 +00:00
Alan Modra 11b37b7b84 Revert 2001-08-08 changes. 2001-08-10 01:34:47 +00:00
Alan Modra 8d28c9d7be * symbols.c: Add missing prototypes.
* config/e-i386elf.c: Likewise.
	* config/e-i386coff.c: Likewise.
	* config/e-i386aout.c: Likewise.
	* config/obj-coff.c: Likewise.
	(def_symbol_in_progress, stack): Move definition.
	* config/obj-elf.c: Add missing prototypes.
	(obj_elf_change_section): Make static.
	(obj_elf_parse_section_letters): Likewise.
	(obj_elf_section_word): Likewise.
	(obj_elf_section_type): Likewise.
2001-08-09 14:42:07 +00:00
Alan Modra fce3099f60 * config/tc-ppc.c (md_apply_fix3): Replace haphazard code for
determining reloc type with code reading operands->reloc field.
2001-08-08 13:23:07 +00:00
Alan Modra 8fd3e36b84 * config/obj-elf.c (elf_copy_symbol_attributes): Make it a global
function, and expand old obj-elf.h OBJ_COPY_SYMBOL_ATTRIBUTES here.
	* config/obj-elf.h (elf_copy_symbol_attributes): Declare.
	(OBJ_COPY_SYMBOL_ATTRIBUTES): Call elf_copy_symbol_attributes.
2001-08-08 13:11:58 +00:00
Thiemo Seufer 38487616e6 Replace a bunch of magic constants in tc-mips.c with their proper
defines from mips.h.
2001-08-07 13:22:46 +00:00
Thiemo Seufer 9a41af6410 Some formatting fixes and assorted cleanup in tc-mips.c. 2001-08-07 13:15:26 +00:00
Thiemo Seufer 6dce9e24b3 * config/tc-mips.c (md_begin): Take -mcpu value into account even when
-mipsX is specified. Make both -mcpu/-march and -mcpu/-mtune pairs
	mutually exclusive (if they are different).
	(md_parse_option): Warn if an -march/-mtune/-mcpu/-m<cpu> option is
	set more than once.
2001-08-07 12:46:22 +00:00
Richard Sandiford 236bd878b5 * config/tc-mips.c (md_apply_fix): Don't subtract the symbol value
from GPREL addends.
2001-08-03 18:33:34 +00:00
Richard Sandiford ca4e0257d1 * doc/c-mips.tex (-mgp32, -mfp32): Added -mfp32, unified with -mgp32.
* config/tc-mips.c (mips_fp32, mips_32bit_abi): New static variables.
	(md_long_opts): Add -mfp32 option.
	(md_parse_option): Handle it.  Set mips_32bit_abi given -mabi=32.
	(md_show_usage): Show usage for -mfp32 and -mgp32.
	(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): New macros.
	(HAVE_64BIT_GPRS, HAVE_64BIT_FPRS): New macros, inverse of the above.
	(HAVE_32BIT_ADDRESSES): New macro.
	(load_register): Use HAVE_32BIT_GPRS to determine the register width.
	(load_address): Use HAVE_32BIT_ADDRESSES to determine the address size.
	(s_cprestore, s_cpadd): Likewise.
	(macro): Use HAVE_32BIT_GPRS to determine the width of registers
	used in branch and M_LI_D macros.  Use HAVE_64BIT_FPRS to determine
	the width registers used in M_LI_DD macros.  Use HAVE_32BIT_ADDRESSES
	to determine the width of addresses in load, store and jump macros.
	(macro2): Use HAVE_32BIT_GPRS to determine the width of registers
	used in set instructions; do not check the address size for them.
	Use HAVE_32BIT_ADDRESSES to determine the width of addresses in
	unaligned load and store macros.
	(mips_ip): Use the new macros to check the width of a register when
	processing float constants.  Force a constant into memory if it is
	destined for an FPR and the FPRs are wider than the GPRs.  Warn about
	odd FPR numbers if HAVE_32BIT_FPRS.  Use HAVE_32BIT_GPRS rather
	than mips_gp32 to select synthetic instructions.
	(macro_build): Use HAVE_32BIT_GPRS rather than mips_gp32 to select
	synthetic instructions.
2001-08-02 10:15:24 +00:00
Nick Clifton 28bab82b5a Cleanups for z8k target 2001-08-01 15:39:17 +00:00
Alan Modra 28f815927f * config/tc-i386.c (lex_got): Match lower case relocation tokens.
Don't allocate more space than necessary for the input line copy.
2001-08-01 02:27:11 +00:00
Geoffrey Keating e138127ab2 * config/tc-ppc.c (ppc_elf_validate_fix): It's OK to have
any kind of relocation against a not-loaded section.
2001-07-31 19:24:57 +00:00
Alan Modra 468cced8b9 * config/obj-elf.c (obj_elf_symver): Temporarily modify lex_type
to include '@' in symbol names when parsing versioned symbols
	rather than calling get_symbol_end multiple times.
	* config/tc-i370.c (register_name): Format fixes.  Don't call
	get_symbol_end after parsing number.
	* config/tc-mn10200.c (data_register_name): Format fixes.  Hoist
	code out of conditional.
	(address_register_name): Likewise.
	(other_register_name): Likewise.
	* config/tc-mn10300.c (r_register_name): Likewise.
	(xr_register_name): Likewise.
	(data_register_name): Likewise.
	(address_register_name): Likewise.
	(other_register_name): Likewise.
	* config/tc-ppc.c (register_name): Likewise.
	* config/tc-s390.c (register_name): Likewise.
2001-07-30 06:15:49 +00:00
Stephane Carrez 13283e2df1 * config/tc-m68hc11.c (md_estimate_size_before_relax): Fix bsr
and bra relax: update fragP->fr_fix after the fixup.
2001-07-28 19:28:04 +00:00
H.J. Lu 46bac6de18 2001-07-25 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (md_estimate_size_before_relax): Make sure
	we treat weak like extern only for ELF.
	(mips_fix_adjustable): Make sure we don't adjust extern/weak
	symbols only for ELF.
2001-07-25 22:27:46 +00:00
Chris Demetriou 2f4dcb115b 2001-07-25 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c: Fix spelling error in comment.
2001-07-25 20:34:39 +00:00
Kazu Hirata 0772685173 * config/tc-alpha.h: Fix formatting.
* config/tc-arc.c: Likewise.
	* config/tc-d10v.h: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i386.h: Likewise.
	* config/tc-i960.h: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-ia64.h: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-pdp11.c: Likewise.
	* config/tc-pj.h: Likewise.
	* config/tc-s390.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-sparc.h: Likewise.
	* config/tc-tic80.c: Likewise.
	* config/tc-w65.h: Likewise.
2001-07-23 14:02:13 +00:00
Alan Modra ac62c3468d * symbols.c (S_GET_VALUE): Don't treat O_constant and local
symbols specially.  Always resolve, adding fr_address to value.
	* write.c (write_object_file): Don't add fr_address to sym values.
	(relax_frag): Likewise.
	(relax_segment): Likewise.
	* config/obj-ieee.c (do_symbols): Likewise.
	* config/tc-cris.c (md_convert_frag): Likewise.
	* config/tc-fr30.c (md_convert_frag): Likewise.
	* config/tc-i386.c (md_convert_frag): Likewise.
	* config/tc-m32r.c (md_convert_frag): Likewise.
	* config/tc-m68hc11.c (md_convert_frag): Likewise.
	* config/tc-mcore.c (md_convert_frag): Likewise.
	* config/tc-mips.c (mips16_extended_frag): Likewise.
	* config/tc-ns32k.c (md_convert_frag): Likewise.
	* config/tc-m68k.c (md_convert_frag_1): Likewise.
	(BRANCHBWL, BRABSJUNC, BRABSJCOND, BRANCHBW, FBRANCH, DBCCLBR,
	DBCCABSJ, PCREL1632, PCINDEX, ABSTOPCREL): Decrement.
	(md_relax_table): Remove first four entries.  Format.
	(md_estimate_size_before_relax): Remove old_fix.  Don't bother
	setting fr_var.  Simplify byte branch checks.
2001-07-23 13:03:40 +00:00
Alan Modra 677537c186 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Remove
"isbranch" param as all calls have it set.
	(pa_parse_neg_cmpsub_cmpltr): Likewise.
	(pa_parse_nonneg_add_cmpltr): Likewise.  Remember result of
	strcasecmp in "nullify" var.
	(pa_parse_neg_add_cmpltr): Likewise.
	(pa_ip): Don't "save_s" unnecessarily.  Update calls to above
	functions.  Don't print wrong conditions in error messages.
2001-07-23 12:50:22 +00:00
Andreas Jaeger c745b67a33 * config/tc-s390.c (s390_force_relocation): Removed.
* config/tc-s390.h: Remove double declaration of
	TC_FORCE_RELOCATION.
2001-07-23 10:21:22 +00:00
H.J. Lu 2b3c5a5dc1 2001-07-22 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (s_mips_end): Remove unused variables.
	(s_mips_frame): Add ATTRIBUTE_UNUSED.
2001-07-22 18:11:29 +00:00
Andreas Schwab f27a38390b * config/tc-m68k.c (md_pseudo_table) [OBJ_ELF]: Add .file and
.loc.
	(md_assemble) [OBJ_ELF]: Call dwarf2_emit_insn before emitting
	insn.
	* config/tc-m68k.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
2001-07-18 10:25:58 +00:00
Matthew Green 5bae9b28a0 * config/tc-i386.c (comment_chars): Don't use '/' as comment start if
TE_NetBSD.
	(line_comment_chars): Set to '/' if TE_NetBSD.
2001-07-17 09:57:52 +00:00
John Healy cdbb0887ba *** empty log message *** 2001-07-11 19:35:17 +00:00
Nick Clifton bdbe95c8c5 Don't merge if the storage class of the non-debug symbol is C_NULL. 2001-07-11 09:26:27 +00:00
John Healy 07e97ae2e3 2001-07-10 John Healy <jhealy@redhat.com>
* config/obj-elf.c (obj_elf_section): md_elf_section_change_data_hook
	added to grab section information after it's been extracted from the
	.section directive.
2001-07-10 21:49:11 +00:00
John Healy 002de68b31 2001-07-06 John Healy <jhealy@redhat.com>
* cgen.c (gas_cgen_save_fixups): Modified to allow more than one
        set of fixups to be stored.
        (gas_cgen_restore_fixups): Modified to allow the fixup chain to be
        restored to be chosen from any that are saved.
        (gas_cgen_swap_fixups): Modified to allow the current set of
        fixups to be swapped with any other set that has been saved.
        (gas_cgen_initialize_saved_fixups_array): New routine.
        * cgen.h: Modifed prototypes for gas_cgen_save_fixups,
        gas_cgen_restore_fixups, and gas_cgen_swap_fixups.  Added definitions
        or MAX_SAVED_FIXUP_CHAINS.
        * config/tc-m32r.c (assemble_two_insns): Changed calls to fixup
        store, swap and restore fuctions to reflect the new interface.
2001-07-06 19:09:23 +00:00
Nick Clifton 7099f9f917 Catch and ignore empty, ineffectual alignment frags when deciding if a
branch can be short.
2001-07-06 08:21:35 +00:00
Jim Wilson 557debbaef 32-bit unwind data for ia64-hpux, from Steve Ellcey
* config/tc-ia64.c (special_section): Add SPECIAL_SECTION_INIT_ARRAY
	and SPECIAL_SECTION_FINI_ARRAY.
	(special_section_name): Add .init_array and .fini_array.
	(md_pseudo_table): Add init_array and fini_array.
	(md): Add pointer_size and pointer_size_shift fields.
	(setup_unwind_header): New static function.
	(output_unw_records): Modify to use setup_unwind_header.
	(generate_unwind_image, dot_endp): Modify to use md.pointer_size and
	md.pointer_size_shift.
	(md_begin): Initialize md.pointer_size and md.pointer_size_shift.
2001-07-06 07:32:42 +00:00
Ben Elliston 4ad0936356 2001-07-05 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_pseudo_table): Remove redundant "global".
2001-07-05 07:28:06 +00:00
Jim Wilson 87885043df Fix ia64-linux gas ehopt testsuite failure.
* config/tc-ia64.c (md_pseudo_table): Add 2byte, 4byte, and 8byte.
2001-07-05 03:34:42 +00:00
Jim Wilson 3e37788f8d Fix 2 ia64-linux gas testsuite failures.
* config/tc-ia64.c (is_conditional_branch): Rewrite to exclude mod
	sched branches.
2001-07-05 02:30:21 +00:00
Eric Christopher 18ae5d728b 2001-07-04 Eric Christopher <echristo@redhat.com>
* doc/c-mips.texi (MIPS Opts): Document 12000 as valid cpu.

	* config/tc-mips.c (mips_cpu_info_table): Add rm5200, rm5231, rm5261,
	and rm5721 as valid cpu strings.
	(md_show_usage): Add rm5200, rm5231, rm5261, rm5721.
2001-07-04 12:32:07 +00:00
Richard Sandiford 7461da6e23 [gas]
* config/tc-mips.c (md_apply_fix): Prevent addend from becoming zero
	if it's expected to be non-zero.
[gas/testsuite]
	* gas/mips/elf-rel3.s: Add zero word to end of file.
2001-07-04 09:49:29 +00:00
Nick Clifton 7bcad3e505 Fix seg fault by replacing symbol_get_frag() with fscan->fx_frag. 2001-07-03 15:22:19 +00:00
Alan Modra 99a814a1cc * config/tc-ppc.c: Formatting fixes. 2001-07-02 10:54:49 +00:00
Ben Elliston bd59b34f1e 2001-07-01 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c: Back out warning fixes from 2001-06-24, as
	they cause some subtle breakage.  Will fix them again later.
2001-07-01 06:36:43 +00:00
Nick Clifton e237d851a4 Treat a .ln directive outside of a function as a .appline directive. 2001-06-30 10:09:40 +00:00
Eric Christopher ec68c924f0 2001-06-28 Eric Christopher <echristo@redhat.com>
H.J. Lu  <hjl@gnu.org>

        * config/tc-mips.c (mips_arch): New. Use mips_arch instead
        of mips_cpu for the ISA selection.
        (md_longopts): Add OPTION_MARCH and OPTION_MTUNE.
        (md_parse_option): Handle OPTION_MARCH and OPTION_MTUNE.
	(mips_tune): New.  Use mips_tune for scheduling and optimization
	issues.
	(append_insn): Use mips_tune and mips_arch.
	(macro_build): Ditto.
	(mips_ip): Ditto.
	(md_begin): Handle mips_arch, mips_tune and mips_cpu.  For
	backwards compatability mips_cpu generates arch and tune.
	(md_show_usage): Document new behavior.

	* doc/c-mips.texi (MIPS Opts): Document -march and -mtune.
	Deprecate -mcpu.

	* NEWS: Update.

2001-06-28  Eric Christopher  <echristo@redhat.com>

	* gas/mips/usd.d: Change for march/mtune.
	* gas/mips/ulh-xgot.d: Ditto.
	* gas/mips/uld.d: Ditto.
	* gas/mips/trunc.d: Ditto.
	* gas/mips/rol.d: Ditto.
	* gas/mips/nodelay.d: Ditto.
	* gas/mips/mul.d: Ditto.
	* gas/mips/mul-ilocks.d: Ditto.
	* gas/mips/trap20.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/lif-xgot.d: Ditto.
	* gas/mips/lif-svr4pic.d: Ditto.
	* gas/mips/ld-xgot.d: Ditto.
	* gas/mips/ld-svr4pic.d: Ditto.
	* gas/mips/ld-ilocks-addr32.d: Ditto.
	* gas/mips/lb-xgot.d: Ditto.
	* gas/mips/jal-xgot.d: Ditto.
	* gas/mips/jal-svr4pic.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/lb-xgot-ilocks.d: Ditto.
	* gas/mips/div.d: Ditto.
	* gas/mips/break20.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/elf_e_flags3.d: Ditto.
	* gas/mips/elf_e_flags4.d: Ditto.
	* gas/mips/lineno.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips4010.d: Ditto.
	* gas/mips/mips4650.d: Ditto.
2001-06-29 21:27:43 +00:00
Nick Clifton d827344236 Use MVN to build simple inverted constants. 2001-06-27 08:15:52 +00:00
Jakub Jelinek 6f112c47dc * config/tc-alpha.c (tc_gen_reloc): Handle relocs against SEC_MERGE
section symbols the same way as externs.
2001-06-24 16:43:31 +00:00
Ben Elliston 453520d7ad 2001-06-24 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_number_to_imm): Remove; unused since 1993.
	(emit_relocations): Ditto.
	(s_bss): Ditto.
	(md_begin): Reformat comments to conform to the GNU standards.
	(md_assemble): Ditto.
2001-06-24 06:01:49 +00:00
Ben Elliston e21e484e83 * fixes to silence all compiler warnings.
2001-06-24  Ben Elliston  <bje@redhat.com>

	* config/tc-m88k.c (get_reg): Adjust type of `reg_prefix' to char.
	(md_parse_option): Mark parameters as unused.
	(md_show_usage): Ditto.
	(calcop): Adjust type of `reg_prefix' to char.
	(get_reg): Ditto.
	(getval): Adjust type of local `c' to char.
	(md_create_short_jump): Mark from_addr, to_addr params as unused.
	(md_create_long_jump): Ditto.
	(md_estimate_size_before_relax): Mark parameters as unused.
2001-06-24 01:56:48 +00:00