Commit Graph

1269 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 99c14723f3 Add support for MIPS R1[02]000 performance counter opcodes. 2001-08-16 19:24:33 +00:00
Thiemo Seufer 07ae3efa01 Remove obsolete special handling of 64bit Relocations. 2001-08-16 15:12:09 +00:00
Jeff Johnston c68012fb32 2001-08-14 Jeff Johnston <jjohnstn@redhat.com>
* expr.c (operand)[LITERAL_PREFIXDOLLAR_HEX]: Treat $L as
        a label, not a hex constant.

This patch was approved by Nick Clifton.
2001-08-14 20:00:32 +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 d8b6305a45 Extend unaligned test to check .uaword with mulitple arguments 2001-08-12 08:59:29 +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
H.J. Lu db1c0ae754 2001-08-10 H.J. Lu <hjl@gnu.org>
* gas/mips/e32-rel2.d: Updated for the objdump output change.
	* gas/mips/e32el-rel2.d: Likewise.
	* gas/mips/elf-rel.d: Likewise.
	* gas/mips/elf-rel2.d: Likewise.
	* gas/mips/elf-rel3.d: Likewise.
	* gas/mips/elf_e_flags1.d: Likewise.
	* gas/mips/elf_e_flags2.d: Likewise.
	* gas/mips/elf_e_flags3.d: Likewise.
	* gas/mips/elf_e_flags4.d: Likewise.
	* gas/mips/elfel-rel.d: Likewise.
	* gas/mips/elfel-rel2.d: Likewise.
	* gas/mips/elfel-rel3.d: Likewise.
	* gas/mips/empic.d: Likewise.
	* gas/mips/mips16-e.d: Likewise.
	* gas/mips/mips16-f.d: Likewise.
	* gas/mips/mipsel16-f.d: Likewise.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tempic.d: Likewise.
	* gas/mips/tmips16-e.d: Likewise.
	* gas/mips/tmipsel16-e.d: Likewise.

	* gas/mips/mips16-f.d: Fix the symbol table output.

	* gas/mips/mipsel16-f.d: Fix the endian.

	* gas/mips/mips.exp; Don't xfail mips16-f/mipsel16-f.
2001-08-10 20:38:33 +00:00
Richard Sandiford a26f95e77e * gas/mips/mips-gp32-fp32.d: Expect addu rather than or for moves.
* gas/mips/mips-gp32-fp64.d: Likewise.
	* gas/mips/mips-abi32.d: Likewise.
	* gas/mips/mips-gp32-fp32-pic.d: Likewise.
	* gas/mips/mips-gp32-fp64-pic.d: Likewise.
	* gas/mips/mips-abi32-pic.d: Likewise.
2001-08-10 16:28:04 +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
Andreas Jaeger 0218d1e4c2 * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
to build warnings.
	* configure: Regenerate.
2001-08-10 10:56:47 +00:00
Alan Modra fa6e93186b * as.h (alloca): Don't declare if __GNUC__. Remove an old comment.
Comment indentation of #pragma.
	* macro.c (alloca): Likewise.
2001-08-10 02:49:27 +00:00
Alan Modra 8a543126f7 Move one entry from gas/ChangeLog to gas/testsuite/ChangeLog.
Remove gas/ from file names.  Fix FOPEN_W comment.
2001-08-10 02:46:48 +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
Alan Modra d959c450df * output-file.c (output_file_create): Don't try to open using
FOPEN_W as it's unnecessary and VMS doesn't define FOPEN_W.
2001-08-08 01:10:17 +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
Thiemo Seufer 21d34b1c68 * mips-dis.c (print_insn_arg): Don't use software integer registers
for coprocessor registers.
	(_print_insn_mips): Get distinction between old ABI and new ABI right.
2001-08-07 12:36:13 +00:00
H.J. Lu 25a7b89f8b 2001-08-04 H.J. Lu <hjl@gnu.org>
* gas/cris/operand-err-1.s: Updated.
2001-08-05 02:22:09 +00:00
H.J. Lu aea2ae6e48 2001-08-04 H.J. Lu <hjl@gnu.org>
Chris G. Demetriou <cgd@broadcom.com>

	* gas/mips/e32-rel4.s: Removed.

	* gas/mips/e32-rel4.d: Use elf-rel4.s.

	* gas/mips/mips.exp: Use the same rel4 test for litte endian.

	* gas/mips/mips-abi32-pic.d: Add lines for objdump.
	* gas/mips/mips-abi32.d: Likewise.
	* gas/mips/mips-gp32-fp32-pic.d: Likewise.
	* gas/mips/mips-gp32-fp32.d: Likewise.
	* gas/mips/mips-gp32-fp64-pic.d: Likewise.
	* gas/mips/mips-gp32-fp64.d: Likewise.
	* gas/mips/mips-gp64-fp32-pic.d: Likewise.
	* gas/mips/mips-gp64-fp32.d: Likewise.
	* gas/mips/mips-gp64-fp64-pic.d: Likewise.
	* gas/mips/mips-gp64-fp64.d: Likewise.

	* gas/mips/mips-abi32-pic.s: Add space for objdump.
	* gas/mips/mips-abi32.s: Likewise.
	* gas/mips/mips-gp32-fp32-pic.s: Likewise.
	* gas/mips/mips-gp32-fp32.s: Likewise.
	* gas/mips/mips-gp32-fp64-pic.s: Likewise.
	* gas/mips/mips-gp32-fp64.s: Likewise.
	* gas/mips/mips-gp64-fp32-pic.s: Likewise.
	* gas/mips/mips-gp64-fp32.s: Likewise.
	* gas/mips/mips-gp64-fp64-pic.s: Likewise.
	* gas/mips/mips-gp64-fp64.s: Likewise.

	* gas/mips/mips-abi32-pic.s: Add the missing .end.
	* gas/mips/mips-gp32-fp32-pic.s: Likewise.
	* gas/mips/mips-gp32-fp64-pic.s: Likewise.
	* gas/mips/mips-gp64-fp32-pic.s: Likewise.
	* gas/mips/mips-gp64-fp64-pic.s: Likewise.
2001-08-05 00:53:28 +00:00
Richard Sandiford 15ba8cc1de * gas/mips/elf-rel4.s, gas/mips/elf-rel4.d: New test.
* gas/mips/e32-rel4.s, gas/mips/e32-rel4.s: New test.

	* gas/mips/mips.exp: Run new tests.
2001-08-03 18:37:42 +00:00
Richard Sandiford 82146c599f *** empty log message *** 2001-08-03 18:35:55 +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 dc4622162a * gas/mips/mips-gp32-fp32,
* gas/mips/mips-gp32-fp64,
	* gas/mips/mips-gp64-fp32,
	* gas/mips/mips-gp64-fp64,
	* gas/mips/mips-abi32,
	* gas/mips/mips-gp32-fp32-pic,
	* gas/mips/mips-gp32-fp64-pic,
	* gas/mips/mips-gp64-fp32-pic,
	* gas/mips/mips-gp64-fp64-pic,
	* gas/mips/mips-abi32-pic: New testcases.

	* gas/mips/mips.exp: Run them.
2001-08-02 10:16:50 +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
Alan Modra af08bab843 * gas/elf/section2.l: Adjust warning message comparison. 2001-08-01 01:51:28 +00:00
Alan Modra 0e389e770d * read.c: Standardize error/warning messages - don't capitalise, no
final period or newline, don't say "ignored" or "zero assumed" for
	as_bad messages.  In some cases, change the wording to that used
	elsewhere for similar messages.
	* app.c, as.c, atof-generic.c, cgen.c, cond.c, depend.c, dwarf2dbg.c,
	  ecoff.c, expr.c, frags.c, input-file.c, input-scrub.c, listing.c,
	  output-file.c, stabs.c, subsegs.c, symbols.c, write.c: Likewise.
	* ecoff.c (ecoff_directive_end): Test for missing name by
	comparing input line pointers rather than reading string.
	(ecoff_directive_ent): Likewise.
	* read.c (s_set): Likewise.
	(s_align): Report a warning rather than an error for
	alignment too large.
	(s_comm): Check for missing symbol name.
	(s_lcomm_internal): Likewise.
	(s_lsym): Likewise.
	(s_globl): Use is_end_of_line instead of looking for '\n'.
	(s_lcomm_internal): Likewise.
	(ignore_rest_of_line): Report a warning rather than an error.
2001-08-01 01:44:25 +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
Richard Sandiford 0c4ec1515b * gas/mips/mips.exp (el): New variable.
Use it to pick ELF reloc tests.
2001-07-30 13:59:00 +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
Alan Modra 409d19c41a * read.c (s_set): Check for missing symbol name. 2001-07-27 08:35:56 +00:00
Chris Demetriou 411e0b6d6c 2001-07-26 Chris Demetriou <cgd@broadcom.com>
* gas/mips/lif-empic.d: Add back dollar signs before floating
        point register names.
2001-07-27 06:26:23 +00:00
Alan Modra bc4aa73fe2 * gas/i386/relax.s: Test rs_space.
* gas/i386/relax.d: Update.
2001-07-26 04:14:44 +00:00
Alan Modra 050be34e82 * write.c (relax_segment <rs_space>): Account for fr_fix. 2001-07-26 03:39:29 +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
Dave Brolley 62f65a7b06 2001-07-25 Dave Brolley <brolley@redhat.com>
* app.c (LEX_IS_PARALLEL_SEPARATOR): New macro.
	(IS_PARALLEL_SEPARATOR): New macro.
	(do_scrub_begin): Set up characters in tc_parallel_separator_chars
	as LEX_IS_PARALLEL_SEPARATOR, if it is defined.
	(do_scrub_chars): Handle LEX_PARALLEL_SEPARATOR chars like
	LEX_LINE_SEPARATOR except that we go to state 1 (as if the label has
	been seen).
2001-07-25 15:23:19 +00:00
Alan Modra 3817f22269 * Makefile.am (DEP_FLAGS): Define, add -DOBJ_MAYBE_ELF.
(DEP1, DEPTC, DEPOBJ, DEP2): Use it.
	Update dependencies with "make dep-am".
2001-07-24 10:07:15 +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