Commit graph

344 commits

Author SHA1 Message Date
H.J. Lu
76101304b1 2002-05-23 H.J. Lu <hjl@gnu.org>
* gas/all/align2.d: New.
	* gas/all/align2.s: New.

	* gas/all/gas.exp: Run align2.
2002-05-23 17:12:49 +00:00
Jakub Jelinek
13ae64f3c7 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
for symbols from SHF_TLS section.
	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
	(map_sections_to_segments): Build PT_TLS segment if necessary.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Account for PT_TLS segment.
	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
	SEC_THREAD_LOCAL sections to STT_TLS.
	* reloc.c: Add 386 and IA-64 TLS relocs.
	* section.c (SEC_THREAD_LOCAL): Define.
	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
	Remove.
	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
	unconditionally.
	(struct elf_final_link_info): Add first_tls_sec.
	(elf_bfd_final_link): Set first_tls_sec.
	Compute elf_hash_table (info)->tls_segment.
	(elf_link_output_extsym): Handle STT_TLS symbols.
	(elf_link_input_bfd): Likewise.
	* syms.c (BSF_THREAD_LOCAL): Define.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.
	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
	elf_i386_mkobject, elf_i386_object_p): New functions.
	(elf_howto_table): Add TLS relocs.
	(elf_i386_reloc_type_lookup): Support TLS relocs.
	(elf_i386_info_to_howto_rel): Likewise.
	(struct elf_i386_link_hash_entry): Add tls_type.
	(struct elf_i386_obj_tdata): New.
	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
	New macros.
	(struct elf_i386_link_hash_table): Add tls_ldm_got.
	(link_hash_newfunc): Clear tls_type.
	(elf_i386_check_relocs): Support TLS relocs.
	(elf_i386_gc_sweep_hook): Likewise.
	(allocate_dynrelocs): Likewise.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Likewise.
	(elf_i386_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject, elf_backend_object_p): Define.
	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
	want_tprel, want_dtpmod, want_dtprel.
	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
	R_IA64_LTOFF_TPREL22.
	(elf_code_to_howto_index): Add TLS relocs.
	(elfNN_ia64_check_relocs): Support TLS relocs.
	(allocate_global_data_got): Account for TLS .got data.
	(allocate_dynrel_entries): Account for TLS dynamic relocations.
	(elfNN_ia64_install_value): Supprt TLS relocs.
	(set_got_entry): Support TLS relocs.
	(elfNN_ia64_relocate_section): Likewise.

	* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
	(obj_elf_common): Call elf_common.
	(obj_elf_tls_common): New function.
	(elf_pseudo_tab): Support .tls_common.
	(special_sections): Add .tdata and .tbss.
	(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
	sections.
	(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
	(obj_elf_parse_section_letters): Include T in error message.
	* config/tc-ppc.c (ppc_section_letter): Likewise.
	* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
	(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
	SEC_MERGE.
	* config/tc-sparc.c (md_apply_fix3): Likewise.
	* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
	and @NTPOFF.
	(md_apply_fix3): Add TLS relocs.
	* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
	FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
	FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
	(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
	(ia64_elf_section_letter): Include T in error message.
	(md_begin): Support TLS operators.
	(md_operand): Likewise.
	(ia64_gen_real_reloc_type): Support TLS relocs.
	* testsuite/gas/i386/tlspic.s: New file.
	* testsuite/gas/i386/tlsd.s: New file.
	* testsuite/gas/i386/tlsnopic.s: New file.
	* testsuite/gas/i386/tlsd.d: New file.
	* testsuite/gas/i386/tlsnopic.d: New file.
	* testsuite/gas/i386/tlspic.d: New file.
	* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
	* testsuite/gas/ia64/tls.s: New file.
	* testsuite/gas/ia64/tls.d: New file.
	* testsuite/gas/ia64/ia64.exp: Add tls test.
	* write.c (adjust_reloc_syms): Don't change symbols in
	SEC_THREAD_LOCAL sections to STT_SECTION + addend.

	* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
	* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
	* elf/i386.h: Add TLS relocs.

	* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
	* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
	output section if necessary.  Handle .tbss.
	(lang_size_sections): Clear _raw_size for .tbss section
	(it allocates space in PT_TLS segment only).
	* ldwrite.c (build_link_order): Build link order for .tbss too.

	* readelf.c (get_segment_type): Add PT_TLS.
	(get_elf_section_flags): Add SHF_TLS.
	(get_dynamic_flags): Optimize.  Add DF_STATIC_TLS.
	(process_dynamic_segment): Use puts instead of printf.
	(get_symbol_type): Support STT_TLS.
	* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
	SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
	Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
H.J. Lu
a75a8c6713 2002-05-22 H.J. Lu <hjl@gnu.org>
* gas/mips/elf-rel.d: Updated for the subsegs_finish change in
	write.c.
	* gas/mips/elfel-rel.d: Likewise.
2002-05-22 18:14:36 +00:00
Joern Rennecke
77b6388204 * gas/sh/pcrel-coff.s: New file.
* gas/sh/pcrel-coff.d: Likewise.
	* gas/sh/basic.exp: For coff, don't do dsp test,
	and a modified pcrel test.
2002-05-22 13:31:43 +00:00
Thiemo Seufer
771c7ce4bc ? gas/testsuite/gas/mips/rol64.d
? gas/testsuite/gas/mips/rol64.s
Index: gas/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/ChangeLog,v
retrieving revision 1.1334
diff -u -p -r1.1334 ChangeLog
--- gas/ChangeLog	21 May 2002 20:01:51 -0000	1.1334
+++ gas/ChangeLog	21 May 2002 23:32:51 -0000
@@ -1,3 +1,8 @@
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* config/tc-mips.c (macro2): Add 64 bit drol, dror macros.
+	Optimize the rotate by zero case.
+
 2002-05-21  Nick Clifton  <nickc@cambridge.redhat.com>

 	* configure.in: Remove accidental enabling of bfd_gas=yes for
Index: gas/config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.123
diff -u -p -r1.123 tc-mips.c
--- gas/config/tc-mips.c	14 May 2002 23:35:59 -0000	1.123
+++ gas/config/tc-mips.c	21 May 2002 23:32:52 -0000
@@ -6686,6 +6686,17 @@ macro2 (ip)
       --mips_opts.noreorder;
       break;

+    case M_DROL:
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+		   "d,v,t", AT, 0, treg);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+		   "d,t,s", AT, sreg, AT);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+		   "d,t,s", dreg, sreg, treg);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		   "d,v,t", dreg, dreg, AT);
+      break;
+
     case M_ROL:
       macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "subu",
 		   "d,v,t", AT, 0, treg);
@@ -6697,15 +6708,55 @@ macro2 (ip)
 		   "d,v,t", dreg, dreg, AT);
       break;

+    case M_DROL_I:
+      {
+	unsigned int rot;
+	char *l, *r;
+
+	if (imm_expr.X_op != O_constant)
+	  as_bad (_("rotate count too large"));
+	rot = imm_expr.X_add_number & 0x3f;
+	if (! rot)
+	  break;
+	l = (rot < 0x20) ? "dsll" : "dsll32";
+	r = ((0x40 - rot) < 0x20) ? "dsrl" : "dsrl32";
+	rot &= 0x1f;
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+		     "d,w,<", AT, sreg, rot);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+		     "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		     "d,v,t", dreg, dreg, AT);
+      }
+      break;
+
     case M_ROL_I:
-      if (imm_expr.X_op != O_constant)
-	as_bad (_("rotate count too large"));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
-		   AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
-		   dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
-		   dreg, dreg, AT);
+      {
+	unsigned int rot;
+
+	if (imm_expr.X_op != O_constant)
+	  as_bad (_("rotate count too large"));
+	rot = imm_expr.X_add_number & 0x1f;
+	if (! rot)
+	  break;
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+		     "d,w,<", AT, sreg, rot);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+		     "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		     "d,v,t", dreg, dreg, AT);
+      }
+      break;
+
+    case M_DROR:
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+		   "d,v,t", AT, 0, treg);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+		   "d,t,s", AT, sreg, AT);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+		   "d,t,s", dreg, sreg, treg);
+      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		   "d,v,t", dreg, dreg, AT);
       break;

     case M_ROR:
@@ -6719,15 +6770,44 @@ macro2 (ip)
 		   "d,v,t", dreg, dreg, AT);
       break;

+    case M_DROR_I:
+      {
+	unsigned int rot;
+	char *l, *r;
+
+	if (imm_expr.X_op != O_constant)
+	  as_bad (_("rotate count too large"));
+	rot = imm_expr.X_add_number & 0x3f;
+	if (! rot)
+	  break;
+	r = (rot < 0x20) ? "dsrl" : "dsrl32";
+	l = ((0x40 - rot) < 0x20) ? "dsll" : "dsll32";
+	rot &= 0x1f;
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+		     "d,w,<", AT, sreg, rot);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+		     "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		     "d,v,t", dreg, dreg, AT);
+      }
+      break;
+
     case M_ROR_I:
-      if (imm_expr.X_op != O_constant)
-	as_bad (_("rotate count too large"));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
-		   AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
-		   dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
-      macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
-		   dreg, dreg, AT);
+      {
+	unsigned int rot;
+
+	if (imm_expr.X_op != O_constant)
+	  as_bad (_("rotate count too large"));
+	rot = imm_expr.X_add_number & 0x1f;
+	if (! rot)
+	  break;
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+		     "d,w,<", AT, sreg, rot);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+		     "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+	macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+		     "d,v,t", dreg, dreg, AT);
+      }
       break;

     case M_S_DOB:
Index: gas/testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/testsuite/ChangeLog,v
retrieving revision 1.315
diff -u -p -r1.315 ChangeLog
--- gas/testsuite/ChangeLog	20 May 2002 17:05:34 -0000	1.315
+++ gas/testsuite/ChangeLog	21 May 2002 23:32:54 -0000
@@ -1,3 +1,9 @@
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* gas/mips/rol64.s: New file, test of drol, dror macros.
+	* gas/mips/rol64.d: Likewise.
+	* gas/mips/mips.exp: Add new test.
+
 2002-05-20  Nick Clifton  <nickc@cambridge.redhat.com>

 	* gas/arm/arm.exp: Replace deprecated command line switches
Index: gas/testsuite/gas/mips/mips.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/mips/mips.exp,v
retrieving revision 1.32
diff -u -p -r1.32 mips.exp
--- gas/testsuite/gas/mips/mips.exp	4 Apr 2002 08:23:30 -0000	1.32
+++ gas/testsuite/gas/mips/mips.exp	21 May 2002 23:32:54 -0000
@@ -122,6 +122,7 @@ if { [istarget mips*-*-*] } then {
 	run_dump_test "mul"
     }
     run_dump_test "rol"
+    run_dump_test "rol64"
     if !$aout { run_dump_test "sb" }
     run_dump_test "trunc"
     if !$aout { run_dump_test "ulh" }
Index: include/opcode/ChangeLog
===================================================================
RCS file: /cvs/src/src/include/opcode/ChangeLog,v
retrieving revision 1.167
diff -u -p -r1.167 ChangeLog
--- include/opcode/ChangeLog	17 May 2002 19:01:03 -0000	1.167
+++ include/opcode/ChangeLog	21 May 2002 23:32:57 -0000
@@ -1,3 +1,7 @@
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
 2002-05-17  Andrey Volkov  <avolkov@sources.redhat.com>

         * h8300.h: Corrected defs of all control regs
Index: include/opcode/mips.h
===================================================================
RCS file: /cvs/src/src/include/opcode/mips.h,v
retrieving revision 1.24
diff -u -p -r1.24 mips.h
--- include/opcode/mips.h	16 Mar 2002 03:09:18 -0000	1.24
+++ include/opcode/mips.h	21 May 2002 23:32:57 -0000
@@ -526,9 +526,13 @@ enum
   M_REM_3I,
   M_REMU_3,
   M_REMU_3I,
+  M_DROL,
   M_ROL,
+  M_DROL_I,
   M_ROL_I,
+  M_DROR,
   M_ROR,
+  M_DROR_I,
   M_ROR_I,
   M_S_DA,
   M_S_DOB,
Index: opcodes/ChangeLog
===================================================================
RCS file: /cvs/src/src/opcodes/ChangeLog,v
retrieving revision 1.447
diff -u -p -r1.447 ChangeLog
--- opcodes/ChangeLog	17 May 2002 14:36:45 -0000	1.447
+++ opcodes/ChangeLog	21 May 2002 23:33:00 -0000
@@ -1,3 +1,7 @@
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
 Fri May 17 14:26:44 2002  J"orn Rennecke <joern.rennecke@superh.com>

 	* disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
Index: opcodes/mips-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/mips-opc.c,v
retrieving revision 1.32
diff -u -p -r1.32 mips-opc.c
--- opcodes/mips-opc.c	17 Mar 2002 02:42:25 -0000	1.32
+++ opcodes/mips-opc.c	21 May 2002 23:33:00 -0000
@@ -492,6 +492,10 @@ const struct mips_opcode mips_builtin_op
 {"dremu",   "z,s,t",    0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO,      I3      },
 {"dremu",   "d,v,t",	3,    (int) M_DREMU_3,	INSN_MACRO,		I3	},
 {"dremu",   "d,v,I",	3,    (int) M_DREMU_3I,	INSN_MACRO,		I3	},
+{"drol",    "d,v,t",	0,    (int) M_DROL,	INSN_MACRO,		I3	},
+{"drol",    "d,v,I",	0,    (int) M_DROL_I,	INSN_MACRO,		I3	},
+{"dror",    "d,v,t",	0,    (int) M_DROR,	INSN_MACRO,		I3	},
+{"dror",    "d,v,I",	0,    (int) M_DROR_I,	INSN_MACRO,		I3	},
 {"dsllv",   "d,t,s",	0x00000014, 0xfc0007ff,	WR_d|RD_t|RD_s,		I3	},
 {"dsll32",  "d,w,<",	0x0000003c, 0xffe0003f, WR_d|RD_t,		I3	},
 {"dsll",    "d,w,s",	0x00000014, 0xfc0007ff,	WR_d|RD_t|RD_s,		I3	}, /* dsllv */
2002-05-21 23:54:48 +00:00
Nick Clifton
49e5c6c59f Replace deprecated command line switches with their modern equivalents. 2002-05-20 17:05:35 +00:00
Alan Modra
6fb6397151 * gas/i386/x86-64-opcode.s: Pad out end of .text with zeros.
* gas/i386/x86-64-opcode.d: Adjust.
2002-05-13 01:24:55 +00:00
Nick Clifton
358b94bdb1 Do not convert a subtract of zero into an add of zero. 2002-05-02 09:11:14 +00:00
H.J. Lu
b7efdfcc1b 2002-04-23 H.J. Lu <hjl@gnu.org>
* gas/mips/elempic.d: Use empic.l.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tempic.d: Likewise.
2002-04-23 17:20:22 +00:00
H.J. Lu
978ee720ae 2002-04-23 H.J. Lu <hjl@gnu.org>
* gas/hppa/parse/parse.exp: Don't expect failure on line separator
	test on hppa*-*-linux* nor hppa*-*-netbsd*.
2002-04-23 16:19:08 +00:00
Chris Demetriou
6398a4776e 2002-04-22 Chris Demetriou <cgd@broadcom.com>
* gas/mips/mips-gp64-fp32.l: New file.
        * gas/mips/mips-gp64-fp32.d: Use mips-gp64-fp32.l to check stderr
        output.
        * gas/mips/mips-gp64-fp64.l: New file.
        * gas/mips/mips-gp64-fp64.d: Use mips-gp64-fp64.l to check stderr
        output.
2002-04-22 22:29:47 +00:00
Chris Demetriou
ff970196bd 2002-04-22 Chris Demetriou <cgd@broadcom.com>
* lib/gas-defs.exp (run_dump_test): Support new attribute "stderr"
        which is a file used to regexp_diff the assembler's pruned stderr
        output.
        (write_file): New helper function to write a string into a file.

        * gas/mips/empic.l: New file which matches empic tests' warnings.
        * gas/mips/empic.d: Use empic.l.
2002-04-22 21:14:43 +00:00
Nick Clifton
aceebfd637 (cofftag): Do not run test for xscale-coff toolchain.
(struct, align, incbin): Use case switch so that other targets to be skipped
can be added in the future.
2002-04-19 09:40:37 +00:00
Matthew Green
eb0fdfed10 * gas/ppc/altivec.d: Fix dssall test.
* gas/ppc/altivec.s: Likewise.
	* gas/ppc/altivec_xcoff.d: Likewise.
	* gas/ppc/altivec_xcoff.s: Likewise.
	* gas/ppc/altivec_xcoff64.d: Likewise.
	* gas/ppc/altivec_xcoff64.s: Likewise.

	* ppc-opc.c (powerpc_opcode): Fix dssall operand list.
2002-04-17 14:43:28 +00:00
Nick Clifton
f22ba854c7 Open out one-line if-then-else test clauses so that other clauses can be
inserted in the future.
2002-04-04 08:23:30 +00:00
Andreas Jaeger
858bc62dee * gas/i386/x86-64-opcode.d: More test cases for x86-64 opcodes.
* gas/i386/x86-64-opcode.s: Likewise
2002-03-19 12:17:58 +00:00
Chris Demetriou
1f25f5d300 [ gas/ChangeLog ]
2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>

	* config/tc-mips.c (mips_set_options): New "ase_mips3d" member.
	(mips_opts): Initialize "ase_mips3d" member.
	(file_ase_mips3d): New variable.
	(CPU_HAS_MIPS3D): New macro.
	(md_begin): Initialize mips_opts.ase_mips3d and file_ase_mips3d
	based on command line options and configuration defaults.
	(macro_build, mips_ip): Accept MIPS-3D instructions if
	mips_opts.ase_mips3d is set.
	(OPTION_MIPS3D, OPTION_NO_MIPS3D, md_longopts, md_parse_option):
	Add support for "-mips3d" and "-no-mips3d" options.
	(OPTION_ELF_BASE): Move to accomodate new options.
	(s_mipsset): Support ".set mips3d" and ".set nomips3d".
	(mips_elf_final_processing): Add a comment indicating that a
	MIPS-3D ASE ELF header flag should be set, when one exists.
	* doc/as.texinfo: Document -mips3d and -no-mips3d options.
	* doc/c-mips.texi: Likewise, and document ".set mips3d" and ".set
	nomips3d" directives.

[ gas/testsuite/ChangeLog ]
2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>

	* gas/mips/mips64-mips3d.s: New file.
	* gas/mips/mips64-mips3d.d: Likewise.
	* gas/mips/mips.exp: Run new "mips64-mips3d" test.

[ include/opcode/ChangeLog ]
2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>

	* mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
	instructions.
	(OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
	may be passed along with the ISA bitmask.

[ opcodes/ChangeLog ]
2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>

	* mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
	bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64.  Add
	comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
	indicate that they should dissassemble all applicable
	MIPS-specified ASEs.
	* mips-opc.c: Add support for MIPS-3D instructions.
	(M3D): New definition.

	* mips-opc.c: Update copyright years.
2002-03-16 03:09:19 +00:00
Chris Demetriou
7ad8fb54d8 2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
* gas/mips/mips.exp: Use elf-rel2 and elfel-rel2 for
        mipsisa32*-*-* targets, rather than e32-rel2 and e32el-rel2.
2002-03-16 02:09:36 +00:00
Hans-Peter Nilsson
c5096a3c51 * gas/mmix/weak1.d, gas/mmix/weak1.d: New test. 2002-03-14 10:05:25 +00:00
Alan Modra
0d4dcc4ad9 * gas/pdp11/pdp11.exp: New file.
* gas/pdp11/opcode.s: Ditto.
	* gas/pdp11/opcode.d: Ditto.
2002-03-05 03:12:18 +00:00
Nick Clifton
831b02f6e0 Add x86-64-opcode (checks valid opcodes) and x86-64-inval (checks invalid opcodes) checks 2002-03-01 08:10:06 +00:00
Chris Demetriou
d65d31a6a1 2002-02-26 Chris Demetriou <cgd@broadcom.com>
* gas/mips/empic2.d: Adjust for the fact that relocations on
        symbols local to this file are resolved at assembly time into
        section-relative relocations, even if the symbols are extern.
        * gas/mips/empic2.s: Add file offset information, so the next
        person to do the math mentioned above has an easier time.
        * gas/mips/jal-empic-elf.d: New test.
        * gas/mips/jal-empic-elf-2.d, gas/mips/jal-empic-elf-2.s: New test.
        * gas/mips/jal-empic-elf-3.d, gas/mips/jal-empic-elf-3.s: New test.
        * gas/mips/mips.exp: Run the new tests.
2002-02-26 22:17:56 +00:00
Thiemo Seufer
4d34fb5fed * config/tc-mips.c (set_at): Fix handling of 64bit register loads.
(macro): Likewise. Fix la/dla address expansions for EMBEDDED_PIC
	and NO_PIC cases. Code cleanup.
	(macro2): Fix handling of 64bit register loads.
	* mips-gp64-fp32-pic.d: Fix test of 64bit register loads.
	* mips-gp64-fp32-pic.s: Likewise.
	* mips-gp64-fp32.d: Likewise.
	* mips-gp64-fp32.s: Likewise.
	* mips-gp64-fp64-pic.d: Likewise.
	* mips-gp64-fp64-pic.s: Likewise.
	* mips-gp64-fp64.d: Likewise.
	* mips-gp64-fp64.s: Likewise.
2002-02-25 13:21:38 +00:00
Alan Modra
e31cd5a0ce * gas/hppa/reloc/reloc.exp: Update copyright date. 2002-02-25 05:10:46 +00:00
Hans-Peter Nilsson
552eb68225 * gas/mmix/bspec-1.d, gas/mmix/bspec-2.d, gas/mmix/comment-1.d:
Adjust to changes in readelf output.
2002-02-24 17:11:21 +00:00
Nick Clifton
2cb30cd57f Fix another spelling typo! 2002-02-22 12:00:38 +00:00
Nick Clifton
c385d228ef Fix spelling typo 2002-02-22 11:59:50 +00:00
Nick Clifton
4bef1a1ca1 Do not complain if gasp does not exist. 2002-02-22 11:37:41 +00:00
Tom Rix
ff3a6ee3fd XCOFF booke tests. Fix tlbre, tlbwe ppc WS field. 2002-02-21 03:57:36 +00:00
Daniel Jacobowitz
adf1461395 2002-02-18 Daniel Jacobowitz <drow@mvista.com>
* gas/sh/basic.exp: Don't run PIC tests for targets that don't
        support it.
2002-02-18 23:44:17 +00:00
Tom Rix
74a21df487 xcoff versions of the altivec test. 2002-02-14 22:41:04 +00:00
Ben Elliston
6334e3120f * fix date on most recent entry. 2002-02-13 09:00:17 +00:00
Ben Elliston
1ac5725353 2002-02-12 Ben Elliston <bje@redhat.com>
* NEWS: Document floating point number handling in gasp.
	* gasp.c: Include <assert.h> and "xregex.h".
	(is_flonum): New function.
	(chew_flownum): Likewise.
	(change_base): Consume flonums from the input, where possible.
	* doc/gasp.texi (Constants): Document floating point numbers.

[testsuite/ChangeLog]

	* gasp/flonums.asm: New test.
	* gasp/flonums.err: New result.
	* gasp/flonums.out: Likewise.
2002-02-13 08:59:26 +00:00
Alan Modra
5c1e36e18c * gas/hppa/reloc/reloc.exp (labelopbug.s): Change test to suit
hppa_fix_adjustable change.
2002-02-12 11:09:41 +00:00
Richard Henderson
543833df4f * config/tc-alpha.c (O_samegp): New.
(USER_RELOC_P): Include it.
        (alpha_reloc_op_tag, debug_exp, find_macro_match): Add it.
        (md_apply_fix3): Handle BFD_RELOC_ALPHA_BRSGP.
        (alpha_force_relocation, alpha_fix_adjustable): Likewise.
        (alpha_validate_fix): New.
        * config/tc-alpha.h (TC_VALIDATE_FIX): New.

        * gas/alpha/elf-reloc-5.s, gas/alpha/elf-reloc-5.d: New.
        * gas/alpha/elf-reloc-6.s, gas/alpha/elf-reloc-6.l: New.
        * gas/alpha/alpha.exp: Run them.
2002-02-09 22:55:06 +00:00
Chris Demetriou
51124b6cb9 2002-02-08 Chris Demetriou <cgd@broadcom.com>
* gas/mips/mips.exp: Document (but do not XFAIL) currently-failing
        MIPS ECOFF tests, providing what information is known about
        the origins of the failures.
2002-02-09 07:18:54 +00:00
Alexandre Oliva
3c74c164ab Contribute sh64-elf.
2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
* gas/sh/sh64/syntax-1.s: Remove `-4' from @(expr-4,pc).
2002-01-28  Alexandre Oliva  <aoliva@redhat.com>
* gas/sh/sh64/crange1-1.d: Formatting changes to match the current
output of objdump.
* gas/sh/sh64/crange1-2.d: Likewise.
* gas/sh/sh64/crange2-2.d: Likewise.
* gas/sh/sh64/crange3-1.d: Likewise.
* gas/sh/sh64/crange4-1.d: Likewise.
* gas/sh/sh64/datal-2.d: Likewise.
* gas/sh/sh64/datal32-1.d: Likewise.
* gas/sh/sh64/datal32-3.d: Likewise.
* gas/sh/sh64/localcom-1.d: Likewise.
* gas/sh/sh64/mix-1.d: Likewise.
* gas/sh/sh64/pt32-1.d: Likewise.
* gas/sh/sh64/rel32-1.d: Likewise.
* gas/sh/sh64/rel32-2.d: Likewise.
* gas/sh/sh64/rel32-3.d: Likewise.
* gas/sh/sh64/rel32-4.d: Likewise.
* gas/sh/sh64/rel32-5.d: Likewise.
* gas/sh/sh64/ua32-1.d: Likewise.
2001-03-14  DJ Delorie	<dj@redhat.com>
* gas/sh/sh64/endian-1.d: New test - Little Endianness.
* gas/sh/sh64/endian-1.s: New test - Little Endianness.
* gas/sh/sh64/endian-2.d: New test - Big Endianness.
* gas/sh/sh64/endian-2.s: New test - Big Endianness.
2001-03-12  DJ Delorie	<dj@redhat.com>
* gas/sh/sh64/syntax-1.d: New test - basic syntax.
* gas/sh/sh64/syntax-1.s: New test - basic syntax.
* gas/sh/sh64/syntax-2.d: New test - basic syntax, pseudos.
* gas/sh/sh64/syntax-2.s: New test - basic syntax, pseudos.
2001-03-06  DJ Delorie	<dj@redhat.com>
* gas/sh/sh64/lineno.d: New, test dwarf2 line numbers vs macros.
* gas/sh/sh64/lineno.s: Ditto.
2001-01-14  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/err-dsp.s: New test.
2001-01-13  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/err-abi-64.s, gas/sh/sh64/err-abi-32.s,
gas/sh/sh64/abi-64.s, gas/sh/sh64/abi-64.d, gas/sh/sh64/abi-32.s,
gas/sh/sh64/abi-32.d, gas/sh/sh64/crange3.s,
gas/sh/sh64/crange3-1.d, gas/sh/sh64/crange4.s,
gas/sh/sh64/crange4-1.d, gas/sh/sh64/crange5.s,
gas/sh/sh64/crange5-1.d: New tests.
2001-01-07  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/relax-1.s, gas/sh/sh64/relax-1.d: New test.
* gas/sh/sh64/err-pt-1.s: New test.
* gas/sh/sh64/relax-2.s, gas/sh/sh64/relax-2.d: New test.
* gas/sh/sh64/localcom-1.s, gas/sh/sh64/localcom-1.d: New test.
* gas/sh/sh64/movi-3.s, gas/sh/sh64/movi-3.d: New test.
* gas/sh/sh64/relax-3.s, gas/sh/sh64/relax-3.d: New test.
2001-01-05  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/case-noexp-1.d: Adjust to changed GAS output for
check-PTA/PTB / perhaps-change-to-PTB bit in target field.
* gas/sh/sh64/case-noexp-1.d: Ditto.
* gas/sh/sh64/mix-noexp-1.d: Ditto.
* gas/sh/sh64/pt32-noexp-2.d: Ditto.
* gas/sh/sh64/pt64-noexp-2.d: Ditto.
* gas/sh/sh64/ptc32-noexp-1.d: Ditto.
* gas/sh/sh64/ptc64-noexp-1.d: Ditto.
* gas/sh/sh64/ptext32-noexp-1.d: Ditto.
* gas/sh/sh64/ptext64-noexp-1.d: Ditto.
2000-12-31  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/shift64-3.d: Fix typo.
* gas/sh/sh64/shift64-noexp-3.d, gas/sh/sh64/shift32-noexp-3.d,
gas/sh/sh64/ptext64-noexp-1.d, gas/sh/sh64/ptext64-32-1.d,
gas/sh/sh64/ptext32-noexp-1.d, gas/sh/sh64/ptc64-noexp-1.d,
gas/sh/sh64/ptc64-32-1.d, gas/sh/sh64/ptc32-noexp-1.d,
gas/sh/sh64/pt64-noexp-2.d, gas/sh/sh64/pt64-32-2.d,
gas/sh/sh64/pt64-32-1.d, gas/sh/sh64/pt32-noexp-2.d,
gas/sh/sh64/pt-noexp-1.d, gas/sh/sh64/movi64-noexp-2.d,
gas/sh/sh64/movi32-noexp-2.d, gas/sh/sh64/mix-noexp-1.d,
gas/sh/sh64/err-ptb-2.s, gas/sh/sh64/err-ptb-1.s,
gas/sh/sh64/err-pt32-cmd3.s, gas/sh/sh64/err-pt32-cmd2.s,
gas/sh/sh64/err-pt32-cmd1.s, gas/sh/sh64/err-noexp-cmd1.s,
gas/sh/sh64/err-movi-noexp-1.s, gas/sh/sh64/crange2.s,
gas/sh/sh64/crange2-noexp-1.d, gas/sh/sh64/crange2-2.d,
gas/sh/sh64/crange2-1.d, gas/sh/sh64/case-noexp-1.d: New tests.
2000-12-18  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/err-4.s: Use option -no-mix to see errors.  Adjust
for errors not being emitted at the .mode directives anymore.
* gas/sh/sh64/crange1.s, gas/sh/sh64/crange1-2.d,
gas/sh/sh64/crange1-1.d: New tests for .cranges section.
2000-12-12  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/err-3.s: New test.
* gas/sh/sh64/immexpr1.s, gas/sh/sh64/immexpr32-1.d,
gas/sh/sh64/immexpr64-1.d: New tests.
* gas/sh/sh64/immexpr2.s, gas/sh/sh64/immexpr32-2.d,
gas/sh/sh64/immexpr64-2.d: New tests.
2000-12-11  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/rel-1.s, gas/sh/sh64/rel-2.s, gas/sh/sh64/rel-3.s,
gas/sh/sh64/rel-4.s, gas/sh/sh64/rel-5.s, gas/sh/sh64/rel32-1.d,
gas/sh/sh64/rel32-2.d, gas/sh/sh64/rel32-3.d,
gas/sh/sh64/rel32-4.d, gas/sh/sh64/rel32-5.d,
gas/sh/sh64/rel64-1.d, gas/sh/sh64/rel64-2.d,
gas/sh/sh64/rel64-3.d, gas/sh/sh64/rel64-4.d,
gas/sh/sh64/rel64-5.d: New tests.
2000-12-07  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/case-1.d, gas/sh/sh64/mix-1.d, gas/sh/sh64/pt32-1.d,
gas/sh/sh64/pt64-1.d, gas/sh/sh64/ptc32-1.d,
gas/sh/sh64/ptc64-1.d, gas/sh/sh64/ptext32-1.d,
gas/sh/sh64/ptext64-1.d: Correct offsets in PT/PTA/PTB expansion.
2000-12-05  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/datal-3.s, gas/sh/sh64/datal32-3.d,
gas/sh/sh64/datal64-3.d: New tests.
2000-11-27  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/datal-1.s: Remove whitespace at end of line.
* gas/sh/sh64/datal32-1.d, gas/sh/sh64/datal64-1.d,
gas/sh/sh64/movi32-1.d, gas/sh/sh64/movi32-2.d,
gas/sh/sh64/movi64-1.d, gas/sh/sh64/movi64-3.d: Correct register.
* gas/sh/sh64/mix-1.s, gas/sh/sh64/mix-1.d, gas/sh/sh64/err-4.s:
New tests.
2000-11-26  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/macros/macros.exp: Import xfail sh*-*-* from net binutils.
* gas/sh/sh64/case-1.d: Correct offsets in PT/PTA/PTB expansion.
gas/sh/sh64/pt32-1.d, gas/sh/sh64/pt64-1.d: Ditto.
gas/sh/sh64/ptc32-1.d, gas/sh/sh64/ptc64-1.d: Ditto.
gas/sh/sh64/ptext32-1.d, gas/sh/sh64/ptext64-1.d: Ditto.
2000-11-25  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64/ptc32-1.d, gas/sh/sh64/ptc64-1.d: Correct.
* gas/sh/sh64/datal-1.s, gas/sh/sh64/datal32-1.d,
gas/sh/sh64/datal64-1.d: New test.
* gas/sh/sh64/datal-2.s, gas/sh/sh64/datal-2.d: New test.
* gas/sh/sh64/creg-1.d, gas/sh/sh64/creg-1.s: New test.
* gas/sh/sh64/creg-2.d, gas/sh/sh64/creg-2.s: New test.
2000-11-24  Hans-Peter Nilsson	<hpn@cygnus.com>
* gas/sh/sh64: New testsuite.
2002-02-08 06:46:14 +00:00
Alexandre Oliva
e93c640ed2 * gas/sh/pic.d, gas/sh/pic.s: New test.
* gas/sh/basic.exp: Run it.
2002-02-06 06:18:28 +00:00
Alan Modra
899f54f5ee * archures (bfd_mach_ppc64): Define.
(bfd_powerpc_arch): Rename to bfd_powerpc_archs.
	(bfd_powerpc_arch): Define.
	* bfd-in2.h: Regenerate.
	* cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
	(bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
	(bfd_powerpc_archs): Add default powerpc64 arch.

	* gas/ppc/test1elf64.d: Tweak arch name.
2002-02-05 03:35:19 +00:00
Alexandre Oliva
31c372aad2 * gas/testsuite/gas/sh/pcrel.d: New test.
* gas/testsuite/gas/sh/pcrel.s: Sources for new test.
* gas/testsuite/gas/sh/basic.exp: Run it.
2002-02-04 12:29:32 +00:00
Hans-Peter Nilsson
c4a42e0f58 * gas/mmix/basep-8.d, gas/mmix/basep-9.s, gas/mmix/basep-9.d,
gas/mmix/err-bpo6.s, gas/mmix/basep-8.s, gas/mmix/basep-10.d,
	gas/mmix/basep-10.s, gas/mmix/basep-11.s, gas/mmix/basep-11.d: New
	tests for base-plus-offset relocations and global register
	allocations for weak and common symbols.
2002-02-04 04:01:32 +00:00
Alan Modra
9e0665bc9a * config/tc-v850.c: Add missing prototypes amd use old-style
function definitions.
	(AREA_ZDA, AREA_SDA, AREA_TDA): Delete.
	(sdata_section tdata_section, zdata_section, sbss_section,
	tbss_section, zbss_section, rosdata_section, rozdata_section,
	scommon_section, tcommon_section, zcommon_section,
	call_table_data_section, call_table_text_section): Delete.
	(v850_sdata, v850_tdata, v850_zdata, v850_sbss, v850_tbss,
	v850_zbss, v850_bss, v850_rosdata, v850_rozdata,
	v850_call_table_data, v850_call_table_text): Delete.
	(struct v850_seg_entry): New.
	(v850_seg_table): New.
	(SDATA_SECTION TDATA_SECTION, ZDATA_SECTION, SBSS_SECTION,
	TBSS_SECTION, ZBSS_SECTION, BSS_SECTION, ROSDATA_SECTION,
	ROZDATA_SECTION, SCOMMON_SECTION, TCOMMON_SECTION, ZCOMMON_SECTION,
	CALL_TABLE_DATA_SECTION, CALL_TABLE_TEXT_SECTION): Define.
	(do_v850_seg): New.
	(v850_seg): New.
	(v850_comm): Use do_v850_seg and v850_seg_table.  Simplify
	recording of alignment.
	(md_pseudo_table): Use v850_seg.
	(md_begin): Don't init .call_table_data and .call_table_text here.
	Set v850_seg_table bss entry.
	* config/tc-v850.h (v850_pcrel_from_section): Prototype.

	* gas/elf/elf.exp: Don't special case v850.
2002-02-01 16:29:21 +00:00
Hans-Peter Nilsson
0395e33b7b * gas/mmix/basep-1b.d, gas/mmix/basep-2b.d, gas/mmix/basep-7.d,
gas/mmix/err-bpo2.s, gas/mmix/basep-3b.d, gas/mmix/err-bpo3.s,
	gas/mmix/basep-4.d, gas/mmix/err-bpo4.s, gas/mmix/err-bpo5.s,
	gas/mmix/basep-5.d, gas/mmix/basep-6.d: New tests.
2002-02-01 08:16:05 +00:00
Alexandre Oliva
08d4406b19 oops 2002-01-23 02:01:54 +00:00
Alexandre Oliva
3095869f5c * gas/mn10300/basic.exp (run_list_test): New proc, from alpha.
* gas/mn10300/movpc.s, gas/mn10300/movpc.l: New tests.
2002-01-23 01:53:01 +00:00
Richard Henderson
199f4802a7 * gas/alpha/unop.s, gas/alpha/unop.d: New test.
* gas/alpha/alpha.exp: Run it.
2002-01-22 09:45:49 +00:00
Alan Modra
7b45c6e1da comment typo fixes 2002-01-21 14:03:27 +00:00
Richard Earnshaw
ea6ef066f8 2002-01-18 Richard Earnshaw <rearnsha@arm.com>
Keith Walker  <keith.walker@arm.com>
* tc-arm.c (ARM_EXT_V5J, ARM_ARCH_V5TEJ): Define.
(insns): Add pattern for bxj instruction.
(do_bxj): New function.
(arm_cpus): Add arm926ej.
(arm_archs): Add armv5tej.

Testsuite:
2002-01-18  Richard Earnshaw  <rearnsha@arm.com>
	    Keith Walker  <keith.walker@arm.com>
* gas/arm/arch5tej.s gas/arm/arch5tej.d: New files.
* gas/arm/arm.exp (arch5tej): New dump test.
2002-01-19 14:25:48 +00:00
Richard Earnshaw
03b1477f5d * NEWS: Mention new ARM command-line options and VFP support.
* config/tc-arm.c (ARM_CEXT_XSCALE): Replaces ARM_EXT_XSCALE.  All
uses changed.
(ARM_CEXT_MAVERICK): Similarly.
(ARM_ANY): Now means any core instruction.
(CPU_DEFAULT): Default to ARM_ANY.
(uses_apcs_26, atcps, support_interwork, uses_apcs_float)
(pic_code): Declare for all object types.  Make type int.
(legacy_cpu, legacy_fpu, mcpu_cpu_opt, mcpu_fpu_opt, march_cpu_opt)
(march_fpu_opt, mfpu_opt): Declare.
(md_longopts): Tidy up conditional definitions.
(arm_opts, arm_cpus, arm_archs, arm_fpus, arm_extensions)
(arm_long_opts): New tables.
(arm_parse_cpu, arm_parse_arch, arm_parse_fpu): New functions.
(arm_parse_extension): New function.
(md_parse_option): Rewrite using new table-driven system.
(md_show_usage): Use new table-driven system.
(md_begin): Calculate cpu_variant from command line option data.
* doc/as.texinfo (ARM ISA options): Docuement new ARM-specific
command-line options.
* doc/c-arm.texi: Likewise.

Testsuite:
* gas/arm/vfp1.d: Use new command-line options.
* gas/arm/vfp1xD.d: Likewise.
* gas/arm/arm.exp (vfp-bad): Likewise.
* gas/arm/maverick.d: Likewise.
2002-01-18 17:01:55 +00:00
Timothy Wall
b1ffc25745 Add a more instructive error message on bad syntax 2002-01-17 17:41:24 +00:00