Commit Graph

1286 Commits

Author SHA1 Message Date
Joern Rennecke
82f3c9a358 Typo fix. 2001-08-29 12:24:30 +00:00
Joern Rennecke
1262d52065 * doc/internals.texi (MD_PCREL_FROM_SECTION): Change
docuemntation to reflect reality.
2001-08-29 12:22:27 +00:00
Thiemo Seufer
7283eb8605 * tc_mips.c (load_address): Reflect change to MAX_GPREL_OFFSET.
(macro): Reflect change to MAX_GPREL_OFFSET.
2001-08-27 18:48:27 +00:00
Alan Modra
e88b7c9780 * gas/macros/macros.exp: xfail powerpc-*-aix.
* gas/ppc/astest64.s: New.
	* gas/ppc/astest64.d: New.
	* gas/ppc/astest2_64.s: New.
	* gas/ppc/astest2_64.d: New.
	* gas/ppc/test1elf.asm: New.
	* gas/ppc/test1xcoff.asm: New.
	* gas/ppc/generate.sh: New. Generate new files below from above .asm
	* gas/ppc/test1elf32.s: New.
	* gas/ppc/test1elf32.d: New.
	* gas/ppc/test1elf64.s: New.
	* gas/ppc/test1elf64.d: New.
	* gas/ppc/test1xcoff32.s: New.
	* gas/ppc/test1xcoff32.d: New.
	* gas/ppc/ppc.exp: Run new tests.
	* gas/ppc/simpshft.s: Tweak align now that we get nops.
2001-08-27 10:51:20 +00:00
Alan Modra
0baf16f23c * configure.in: Recognise powerpc*le*, not just powerpcle*.
* configure: Regenerate.
	* config/tc-ppc.c (PPC_LO, PPC_HI, PPC_HA, PPC_HIGHER,
	PPC_HIGHERA, PPC_HIGHEST, PPC_HIGHESTA, SEX16): New macros.
	(md_assemble): Use them.
	(ppc_machine): Support stub for ELF64 as well as XCOFF.
	(md_pseudo_table): Add "llong", "quad".
	(md_parse_option): Match default_cpu of powerpc*.
	(ppc_arch): Likewise.
	(ppc_subseg_align): Only for OBJ_XCOFF.
	(ppc_target_format): Return elf64-powerpc strings for 64 bit ELF.
	(md_begin): Select PPC_OPCODE_64 for 64 bit.
	(ppc_insert_operand): Don't bother testing 'file' before calling
	as_bad_where.  Use as_bad_where for operand->insert errors.
	(mapping): Add ELF64 relocation modifiers.
	(ppc_elf_suffix): Replace symbol on BFD_RELOC_PPC64_TOC reloc
	expressions with abs_symbol.
	(ppc_elf_cons): Correct offset for little endian targets.
	(ppc_elf_frob_symbol): New.
	(md_assemble): Add support for 64 bit ELF relocs.
	(ppc_tc): Ensure 8 byte alignment when 64 bit.
	(ppc_is_toc_sym): Only define for OBJ_XCOFF and OBJ_ELF.  Match
	".toc" section for 64 bit ELF.
	(ppc_fix_adjustable): New.  Macro body moved from tc-ppc.h.
	(md_apply_fix3): Silence warning with ATTRIBUTE_UNUSED.  Only do
	the ppc_is_toc_sym check for OBJ_XCOFF and OBJ_ELF.  For 64 bit,
	use BFD_RELOC_PPC64_TOC16_DS instead of BFD_RELOC_PPC_TOC16.
	Expand on comments, error message.  Add support for 64 bit relocs,
	and use PPC_HI etc. macros.
	* config/tc-ppc.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define.
	(HANDLE_ALIGN): Define to generate nops in code sections rather
	than zeros.
	(TC_FORCE_RELOCATION): Force for BFD_RELOC_PPC64_TOC.
	(ELF_TC_SPECIAL_SECTIONS): Add 64 bit ELF sections.
	(tc_fix_adjustable): Move body of macro to tc-ppc.c.
	(ppc_fix_adjustable): Declare.
	(tc_frob_symbol): Define.
	(ppc_elf_frob_symbol): Declare.
2001-08-27 10:42:16 +00:00
Andreas Jaeger
9d654c1ca4 * config/tc-s390.c: Add missing prototypes
(md_gather_operands): Make static.
2001-08-26 11:44:51 +00:00
Thiemo Seufer
e7d556dfef * tc_mips.h (MAX_GPREL_OFFSET): Change it to the maximum allowed
value, not the word beyond maximum.
	* tc_mips.c (macro_build_lui): Code cleanup.
	(macro): Reflect change to MAX_GPREL_OFFSET.
	(mips_ip): Check explicitly against S_EX_NONE.
	(my_get_SmallExpression): parse for %gp_rel, not %gprel.
	(md_apply_fix): Code cleanup.
2001-08-26 10:42:12 +00:00
Thiemo Seufer
dda688fcad * binutils-all/readelf.exp: Don't regard mips*el-*-* as traditional
mips.
	* gas/mips/mips.exp: Likewise. Use traditional testcases for
	mips${el}16-f if needed.
	* gas/mips/elempic.d: New file, testcase for little endian empic.
	* gas/mips/elfel-rel2.d: Don't test trailing zeroes in dump.
	* gas/mips/mips16-f.d: Use non-traditional symbol sorting.
	* gas/mips/mipsel16-f.d: Likewise.
	* gas/mips/mipsel16-e.d: New file, testcase for little endian MIPS16
	relocations.
	* gas/mips/tmipsel16-f.d: New file, testcase for little endian MIPS16
	relocations, traditional variant.
2001-08-25 00:48:49 +00:00
Andreas Jaeger
34f63668bf * config/tc-ppc.h: Fix prototype declaration. 2001-08-24 19:18:45 +00:00
Jakub Jelinek
c538998c23 * config/tc-ia64.c (dot_endp): Set function symbol sizes.
* config/obj-elf.c (obj_elf_size): When size is constant, free
	and clear symbol_get_obj(sym)->size if any.
2001-08-23 20:43:01 +00:00
Thiemo Seufer
1ff54a84b4 * tc_mips.c (md_begin): Warn about incompatibility between -march=FOO
and -mipsN option, continue with default ISA.
2001-08-21 01:13:05 +00:00
Thiemo Seufer
a6bacc8047 * config/tc-mips.c (md_parse_option): #ifdef the
traditional/non-traditional names as it is done in mips_target_format.
2001-08-21 00:59:48 +00:00
Richard Henderson
ca3f769514 * config/tc-alpha.h (MD_APPLY_FIX3): Define.
* config/tc-alpha.c (md_apply_fix3): Rename from md_apply_fix;
        use seg parameter instead of now_seg.
2001-08-21 00:22:23 +00:00
H.J. Lu
e87a02842a 2001-08-18 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (show): Add the missing prototype.
2001-08-18 18:03:24 +00:00
Thiemo Seufer
fb1b323293 * config/tc-mips.c (S_EX_*): New enum for my_getSmallExpression()
return values.
	(mips_ip): Use the new return values instead of characters. Add
	support for %higher and %highest.
	(LP): Remove.
	(RP): Remove.
	(my_getSmallExpression): Make parsing case insensitive and more
	reliable. Add support for %higher and %highest. Further support	to
	parse %gprel and %neg is implemented but currently deactivated.
2001-08-18 17:24:52 +00:00
H.J. Lu
c85229da17 2001-08-17 H.J. Lu <hjl@gnu.org>
* gas/sparc/unalign.d: Support Sparc V9.
2001-08-17 20:37:05 +00:00
Alan Modra
23fe39dfb9 * ecoff.c (ecoff_frob_symbol): Remove casts from bfd_get_gp_size.
(ecoff_build_symbols): Likewise.
	* read.c (s_lcomm_internal): Fix signed/unsigned warning.
2001-08-17 16:01:49 +00:00
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