This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH/RFA] Ambiguity problem of REL objects on ELF sh*-*-*


Hi,

The existing REL objects for ELF sh*-*-* targets have ambiguity of
targets and --enable-targets=all didn't work well for these targets.
With this patch, --enable-targets=all works for these targets.
The idea is to select a representative target from the ambiguity set
if possible. This is already done when the ambiguity set includes
the default target vector. I add a list of the "associated targets"
to the bfd_target structure and if one of them for the default target
is a member of the ambiguity set, then use it as a representative.
It's not so good, but is simple and is better than nothing. 
The patch for sh-dis.c is not for the ambiguity problem but needed
to enable SHmedia instructions for --enable-targets=all case.

I've tested it for
  sh-unknown-elf, sh-unknown-linux-gnu, sh64-unknown-linux-gnu,
  sh-unknown-netbsdelf, sh-unknown-nto and i686-pc-linux-gnu
with and without --enable-targets=all option and there are no new
regressions.

Regards,
	kaz

--
2002-10-27  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

[bfd]
	* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
	vectors in target_selvecs.
	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
	in target_selvecs.
	(sh-*-netbsdelf*): Likewise.
	* elf32-sh.c (sh_elf32_sh_associated): New.
	(sh_elf32_shqnx_associated, sh_elf32_shnbsd_associated): Likewise.
	(sh_elf32_shlin_associated): Likewise.
	(ASSOCIATED_TARGETS): Define.
	* elf32-sh64.c (sh_elf32_sh64_associated): New.
	(sh_elf32_sh64nbsd_associated, sh_elf32_sh64lin_associated):
	Likewise.
	(ASSOCIATED_TARGETS): Define.
	* elf64-sh64.c (sh_elf64_sh64_associated): New.
	(sh_elf64_sh64nbsd_associated, sh_elf64_sh64lin_associated):
	Likewise.
	(ASSOCIATED_TARGETS): Define.
	* elfxx-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Add
	initilalizer for associated_targets field.
	* format.c (bfd_check_format_matches): Permit a target if it
	is an associated target of the default target.
	* targets.c (struct bfd_target): Add associated_targets field.
	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
	* aout-adobe.c (a_out_adobe_vec): Add NULL as an initializer
	for associated_targets field.
	* aout-arm.c (aout_arm_little_vec, aout_arm_big_vec): Likewise.
	* aout-target.h (MY(vec)): Likewise.
	* aout-tic30.c (tic30_aout_vec): Likewise.
	* binary.c (binary_vec): Likewise.
	* bout.c (b_out_vec_big_host, b_out_vec_little_host): Likewise.
	* coff-alpha.c (ecoffalpha_little_vec): Likewise.
	* coff-i386.c (i386coff_vec): Likewise.
	* coff-i960.c (icoff_big_vec): Likewise.
	* coff-ia64.c (ia64coff_vec): Likewise.
	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
	(ecoff_biglittle_vec): Likewise.
	* coff-or32.c (or32coff_big_vec): Likewise.
	* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
	* coff-sh.c (shcoff_small_vec, shlcoff_small_vec): Likewise.
	* coff-tic30.c (tic30_coff_vec): Likewise.
	* coff-tic4x.c (tic4x_coff0_vec, tic4x_coff0_beh_vec): Likewise.
	(tic4x_coff1_vec, tic4x_coff1_beh_vec): Likewise.
	(tic4x_coff2_vec, tic4x_coff2_beh_vec): Likewise.
	* coff-tic54x.c (tic54x_coff0_vec, tic54x_coff0_beh_vec): Likewise.
	(tic54x_coff1_vec, tic54x_coff1_beh_vec): Likewise.
	(tic54x_coff2_vec, tic54x_coff2_beh_vec): Likewise.
	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
	* coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
	(CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
	* i386msdos.c (i386msdos_vec): Likewise.
	* i386os9k.c (i386os9k_vec): Likewise.
	* ieee.c (ieee_vec): Likewise.
	* ihex.c (ihex_vec): Likewise.
	* mipsbsd.c (aout_mips_little_vec, aout_mips_big_vec): Likewise.
	* mmo.c (bfd_mmo_vec): Likewise.
	* nlm-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Likewise.
	* oasys.c (oasys_vec): Likewise.
	* pdp11.c (MY(vec)): Likewise.
	* pe-mips.c (mipslpe_vec): Likewise.
	* ppcboot.c (ppcboot_vec): Likewise.
	* srec.c (srec_vec, symbolsrec_vec): Likewise.
	* tekhex.c (tekhex_vec): Likewise.
	* versados.c (versados_vec): Likewise.
	* vms.c (vms_alpha_vec, vms_vax_vec): Likewise.

[opcodes]
	* sh-dis.c (INCLUDE_SHMEDIA): Define if ARCH_all was defined.

diff -u3prN ORIG/src/bfd/config.bfd LOCAL/src/bfd/config.bfd
--- ORIG/src/bfd/config.bfd	Sat Oct 26 11:59:55 2002
+++ LOCAL/src/bfd/config.bfd	Sun Oct 27 14:27:32 2002
@@ -949,7 +949,7 @@ case "${targ}" in
     targ_defvec=bfd_elf32_shblin_vec
     targ_selvecs=bfd_elf32_shlin_vec
 #ifdef BFD64
-    targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
 #endif
     ;;
   sh*eb-*-linux*)
@@ -985,7 +985,7 @@ case "${targ}" in
     targ_defvec=bfd_elf32_shlnbsd_vec
     targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
 #ifdef BFD64
-    targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
 #endif
     ;;
   sh*le-*-netbsdelf*)
@@ -996,7 +996,7 @@ case "${targ}" in
     targ_defvec=bfd_elf32_shnbsd_vec
     targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
 #ifdef BFD64
-    targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
 #endif
     ;;
   sh*-*-netbsdelf*)
diff -u3prN ORIG/src/bfd/elf32-sh.c LOCAL/src/bfd/elf32-sh.c
--- ORIG/src/bfd/elf32-sh.c	Wed Oct 23 21:05:18 2002
+++ LOCAL/src/bfd/elf32-sh.c	Sun Oct 27 16:29:12 2002
@@ -7447,6 +7447,15 @@ elf32_shlin_grok_psinfo (abfd, note)
 
 #ifndef INCLUDE_SHMEDIA
 
+extern const bfd_target bfd_elf32_sh_vec, bfd_elf32_shl_vec;
+const bfd_target *sh_elf32_sh_associated[] =
+{
+  &bfd_elf32_sh_vec, &bfd_elf32_shl_vec, NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_sh_associated
+
 #include "elf32-target.h"
 
 /* QNX support.  */
@@ -7465,6 +7474,15 @@ elf32_shlin_grok_psinfo (abfd, note)
 
 #define	elf32_bed			elf32_sh_qnx_bed
 
+extern const bfd_target bfd_elf32_shqnx_vec, bfd_elf32_shlqnx_vec;
+const bfd_target *sh_elf32_shqnx_associated[] =
+{
+  &bfd_elf32_shqnx_vec, &bfd_elf32_shlqnx_vec, NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_shqnx_associated
+
 #include "elf32-target.h"
 
 #undef	elf_backend_set_nonloadable_filepos
@@ -7488,6 +7506,15 @@ elf32_shlin_grok_psinfo (abfd, note)
 
 #define	elf32_bed			elf32_sh_nbsd_bed
 
+extern const bfd_target bfd_elf32_shnbsd_vec, bfd_elf32_shlnbsd_vec;
+const bfd_target *sh_elf32_shnbsd_associated[] =
+{
+  &bfd_elf32_shnbsd_vec, &bfd_elf32_shlnbsd_vec, NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_shnbsd_associated
+
 #include "elf32-target.h"
 
 #undef	elf32_bed
@@ -7508,6 +7535,15 @@ elf32_shlin_grok_psinfo (abfd, note)
 #define	elf_backend_grok_psinfo		elf32_shlin_grok_psinfo
 
 #define	elf32_bed			elf32_sh_lin_bed
+
+extern const bfd_target bfd_elf32_shlin_vec, bfd_elf32_shblin_vec;
+const bfd_target *sh_elf32_shlin_associated[] =
+{
+  &bfd_elf32_shlin_vec, &bfd_elf32_shblin_vec, NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_shlin_associated
 
 #include "elf32-target.h"
 
diff -u3prN ORIG/src/bfd/elf32-sh64.c LOCAL/src/bfd/elf32-sh64.c
--- ORIG/src/bfd/elf32-sh64.c	Wed Oct 23 21:05:18 2002
+++ LOCAL/src/bfd/elf32-sh64.c	Sun Oct 27 14:10:23 2002
@@ -743,6 +743,18 @@ sh64_elf_final_write_processing (abfd, l
 #undef	TARGET_LITTLE_NAME
 #define	TARGET_LITTLE_NAME	"elf32-sh64l"
 
+extern const bfd_target bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec;
+extern const bfd_target bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec;
+static const bfd_target *sh_elf32_sh64_associated[] =
+{
+  &bfd_elf32_sh64_vec, &bfd_elf32_sh64l_vec,
+  &bfd_elf64_sh64_vec, &bfd_elf64_sh64l_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_sh64_associated
+
 #include "elf32-target.h"
 
 /* NetBSD support.  */
@@ -761,6 +773,18 @@ sh64_elf_final_write_processing (abfd, l
 
 #define	elf32_bed		elf32_sh64_nbsd_bed
 
+extern const bfd_target bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec;
+extern const bfd_target bfd_elf64_sh64nbsd_vec, bfd_elf64_sh64lnbsd_vec;
+static const bfd_target *sh_elf32_sh64nbsd_associated[] =
+{
+  &bfd_elf32_sh64nbsd_vec, &bfd_elf32_sh64lnbsd_vec,
+  &bfd_elf64_sh64nbsd_vec, &bfd_elf64_sh64lnbsd_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_sh64nbsd_associated
+
 #include "elf32-target.h"
 
 #undef	elf32_bed
@@ -776,6 +800,18 @@ sh64_elf_final_write_processing (abfd, l
 #define	TARGET_LITTLE_NAME	"elf32-sh64-linux"
 
 #define	elf32_bed		elf32_sh64_lin_bed
+
+extern const bfd_target bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec;
+extern const bfd_target bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec;
+static const bfd_target *sh_elf32_sh64lin_associated[] =
+{
+  &bfd_elf32_sh64lin_vec, &bfd_elf32_sh64blin_vec,
+  &bfd_elf64_sh64lin_vec, &bfd_elf64_sh64blin_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf32_sh64lin_associated
 
 #include "elf32-target.h"
 
diff -u3prN ORIG/src/bfd/elf64-sh64.c LOCAL/src/bfd/elf64-sh64.c
--- ORIG/src/bfd/elf64-sh64.c	Sat Oct 26 11:59:56 2002
+++ LOCAL/src/bfd/elf64-sh64.c	Sun Oct 27 14:13:42 2002
@@ -4220,6 +4220,18 @@ sh64_elf64_finish_dynamic_sections (outp
 #define elf_backend_got_header_size	24
 #define elf_backend_plt_header_size	PLT_ENTRY_SIZE
 
+extern const bfd_target bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec;
+extern const bfd_target bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec;
+static const bfd_target *sh_elf64_sh64_associated[] =
+{
+  &bfd_elf64_sh64_vec, &bfd_elf64_sh64l_vec,
+  &bfd_elf32_sh64_vec, &bfd_elf32_sh64l_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf64_sh64_associated
+
 #include "elf64-target.h"
 
 /* NetBSD support.  */
@@ -4238,6 +4250,18 @@ sh64_elf64_finish_dynamic_sections (outp
 
 #define	elf64_bed			elf64_sh64_nbsd_bed
 
+extern const bfd_target bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec;
+extern const bfd_target bfd_elf64_sh64nbsd_vec, bfd_elf64_sh64lnbsd_vec;
+static const bfd_target *sh_elf64_sh64nbsd_associated[] =
+{
+  &bfd_elf64_sh64nbsd_vec, &bfd_elf64_sh64lnbsd_vec,
+  &bfd_elf32_sh64nbsd_vec, &bfd_elf32_sh64lnbsd_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf64_sh64nbsd_associated
+
 #include "elf64-target.h"
 
 /* Linux support.  */
@@ -4249,6 +4273,18 @@ sh64_elf64_finish_dynamic_sections (outp
 #define	TARGET_LITTLE_SYM		bfd_elf64_sh64lin_vec
 #undef	TARGET_LITTLE_NAME
 #define	TARGET_LITTLE_NAME		"elf64-sh64-linux"
+
+extern const bfd_target bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec;
+extern const bfd_target bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec;
+static const bfd_target *sh_elf64_sh64lin_associated[] =
+{
+  &bfd_elf64_sh64lin_vec, &bfd_elf64_sh64blin_vec,
+  &bfd_elf32_sh64lin_vec, &bfd_elf32_sh64blin_vec,
+  NULL
+};
+
+#undef	ASSOCIATED_TARGETS
+#define	ASSOCIATED_TARGETS	sh_elf64_sh64lin_associated
 
 #define	INCLUDED_TARGET_FILE
 #include "elf64-target.h"
diff -u3prN ORIG/src/bfd/elfxx-target.h LOCAL/src/bfd/elfxx-target.h
--- ORIG/src/bfd/elfxx-target.h	Wed Oct 23 21:05:20 2002
+++ LOCAL/src/bfd/elfxx-target.h	Sun Oct 27 13:19:08 2002
@@ -620,6 +620,12 @@ const bfd_target TARGET_BIG_SYM =
   NULL,
 #endif
 
+#ifdef ASSOCIATED_TARGETS
+  ASSOCIATED_TARGETS,
+#else
+  NULL,
+#endif
+
   /* backend_data: */
   (PTR) &elfNN_bed
 };
@@ -712,6 +718,12 @@ const bfd_target TARGET_LITTLE_SYM =
   /* Alternative endian target.  */
 #ifdef TARGET_BIG_SYM
   & TARGET_BIG_SYM,
+#else
+  NULL,
+#endif
+
+#ifdef ASSOCIATED_TARGETS
+  ASSOCIATED_TARGETS,
 #else
   NULL,
 #endif
diff -u3prN ORIG/src/bfd/format.c LOCAL/src/bfd/format.c
--- ORIG/src/bfd/format.c	Sat Oct 26 11:59:56 2002
+++ LOCAL/src/bfd/format.c	Sun Oct 27 14:03:00 2002
@@ -235,6 +235,27 @@ bfd_check_format_matches (abfd, format, 
 	      break;
 	    }
 
+	  /* Permit also if it is an associated target of the default
+	     target.  */
+	  if (bfd_default_vector[0]->associated_targets)
+	    {
+	      const bfd_target **assoc;
+
+	      assoc = bfd_default_vector[0]->associated_targets;
+	      while (*assoc)
+		{
+		  if (temp == *assoc)
+		    break;
+		  ++assoc;
+		}
+
+	      if (*assoc)
+		{
+		  match_count = 1;
+		  break;
+		}
+	    }
+
 	  if (matching)
 	    matching_vector[match_count] = temp->name;
 
diff -u3prN ORIG/src/bfd/targets.c LOCAL/src/bfd/targets.c
--- ORIG/src/bfd/targets.c	Wed Oct 23 21:05:20 2002
+++ LOCAL/src/bfd/targets.c	Sun Oct 27 13:58:19 2002
@@ -467,6 +467,13 @@ to find an alternative output format tha
 .  const struct bfd_target * alternative_target;
 .
 
+A pointer to the list of associated bfd_targets in case the current one
+is not satisfactory.
+
+.  {* Associated targets of this target.  *}
+.  const struct bfd_target ** associated_targets;
+.
+
 .  {* Data for use by back-end routines, which isn't
 .     generic enough to belong in this structure.  *}
 .  PTR backend_data;
@@ -859,6 +866,8 @@ static const bfd_target * const _bfd_tar
 	&bfd_elf32_sh64l_vec,
 	&bfd_elf32_sh64lnbsd_vec,
 	&bfd_elf32_sh64nbsd_vec,
+	&bfd_elf32_sh64lin_vec,
+	&bfd_elf32_sh64blin_vec,
 #endif
 	&bfd_elf32_sparc_vec,
 	&bfd_elf32_tradbigmips_vec,
@@ -889,6 +898,8 @@ static const bfd_target * const _bfd_tar
 	&bfd_elf64_sh64l_vec,
 	&bfd_elf64_sh64lnbsd_vec,
 	&bfd_elf64_sh64nbsd_vec,
+	&bfd_elf64_sh64lin_vec,
+	&bfd_elf64_sh64blin_vec,
 #if 0
 	&bfd_elf64_sparc_vec,
 #endif
diff -u3prN ORIG/src/bfd/aout-adobe.c LOCAL/src/bfd/aout-adobe.c
--- ORIG/src/bfd/aout-adobe.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/aout-adobe.c	Sun Oct 27 12:46:34 2002
@@ -560,5 +560,7 @@ const bfd_target a_out_adobe_vec =
 
     NULL,
 
+    NULL,
+
     (PTR) 0
   };
diff -u3prN ORIG/src/bfd/aout-arm.c LOCAL/src/bfd/aout-arm.c
--- ORIG/src/bfd/aout-arm.c	Tue Oct  2 14:58:41 2001
+++ LOCAL/src/bfd/aout-arm.c	Sun Oct 27 12:47:09 2002
@@ -520,6 +520,8 @@ const bfd_target aout_arm_little_vec =
 
     & aout_arm_big_vec,
 
+    NULL,
+
     (PTR) MY_backend_data,
   };
 
@@ -560,6 +562,8 @@ const bfd_target aout_arm_big_vec =
     BFD_JUMP_TABLE_DYNAMIC (MY),
 
     & aout_arm_little_vec,
+
+    NULL,
 
     (PTR) MY_backend_data,
   };
diff -u3prN ORIG/src/bfd/aout-target.h LOCAL/src/bfd/aout-target.h
--- ORIG/src/bfd/aout-target.h	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/aout-target.h	Sun Oct 27 12:45:06 2002
@@ -657,6 +657,8 @@ const bfd_target MY(vec) =
   /* Alternative_target */
   NULL,
 
+  NULL,
+
   (PTR) MY_backend_data
 };
 #endif /* MY_BFD_TARGET */
diff -u3prN ORIG/src/bfd/aout-tic30.c LOCAL/src/bfd/aout-tic30.c
--- ORIG/src/bfd/aout-tic30.c	Wed Jun  5 12:43:09 2002
+++ LOCAL/src/bfd/aout-tic30.c	Sun Oct 27 12:48:02 2002
@@ -1093,6 +1093,8 @@ const bfd_target tic30_aout_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) MY_backend_data
 };
 #endif /* MY_BFD_TARGET */
diff -u3prN ORIG/src/bfd/binary.c LOCAL/src/bfd/binary.c
--- ORIG/src/bfd/binary.c	Sat Oct 26 11:59:55 2002
+++ LOCAL/src/bfd/binary.c	Sun Oct 27 12:42:33 2002
@@ -396,5 +396,7 @@ const bfd_target binary_vec =
 
   NULL,
 
+  NULL,
+
   NULL
 };
diff -u3prN ORIG/src/bfd/bout.c LOCAL/src/bfd/bout.c
--- ORIG/src/bfd/bout.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/bout.c	Sun Oct 27 12:48:40 2002
@@ -1502,6 +1502,8 @@ const bfd_target b_out_vec_big_host =
 
   & b_out_vec_little_host,
 
+  NULL,
+
   (PTR) 0,
 };
 
@@ -1543,6 +1545,8 @@ const bfd_target b_out_vec_little_host =
      BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   & b_out_vec_big_host,
+
+  NULL,
 
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/coff-alpha.c LOCAL/src/bfd/coff-alpha.c
--- ORIG/src/bfd/coff-alpha.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/coff-alpha.c	Sun Oct 27 12:31:23 2002
@@ -2399,5 +2399,7 @@ const bfd_target ecoffalpha_little_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) &alpha_ecoff_backend_data
 };
diff -u3prN ORIG/src/bfd/coff-i386.c LOCAL/src/bfd/coff-i386.c
--- ORIG/src/bfd/coff-i386.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/coff-i386.c	Sun Oct 27 12:49:00 2002
@@ -619,5 +619,7 @@ const bfd_target
 
   NULL,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-i860.c LOCAL/src/bfd/coff-i860.c
--- ORIG/src/bfd/coff-i860.c	Tue Sep 18 18:57:22 2001
+++ LOCAL/src/bfd/coff-i860.c	Sun Oct 27 12:49:30 2002
@@ -419,5 +419,7 @@ const bfd_target
 
   NULL,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-i960.c LOCAL/src/bfd/coff-i960.c
--- ORIG/src/bfd/coff-i960.c	Tue Sep 18 18:57:22 2001
+++ LOCAL/src/bfd/coff-i960.c	Sun Oct 27 12:49:47 2002
@@ -660,5 +660,7 @@ bfd_getb64, bfd_getb_signed_64, bfd_putb
 
   & icoff_little_vec,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-ia64.c LOCAL/src/bfd/coff-ia64.c
--- ORIG/src/bfd/coff-ia64.c	Tue Sep 18 18:57:22 2001
+++ LOCAL/src/bfd/coff-ia64.c	Sun Oct 27 12:45:19 2002
@@ -198,5 +198,7 @@ const bfd_target
 
   NULL,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-mips.c LOCAL/src/bfd/coff-mips.c
--- ORIG/src/bfd/coff-mips.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/coff-mips.c	Sun Oct 27 12:50:29 2002
@@ -2645,6 +2645,8 @@ const bfd_target ecoff_little_vec =
 
   & ecoff_big_vec,
 
+  NULL,
+
   (PTR) &mips_ecoff_backend_data
 };
 
@@ -2688,6 +2690,8 @@ const bfd_target ecoff_big_vec =
 
   & ecoff_little_vec,
 
+  NULL,
+
   (PTR) &mips_ecoff_backend_data
 };
 
@@ -2729,6 +2733,8 @@ const bfd_target ecoff_biglittle_vec =
      BFD_JUMP_TABLE_WRITE (_bfd_ecoff),
      BFD_JUMP_TABLE_LINK (_bfd_ecoff),
      BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+
+  NULL,
 
   NULL,
 
diff -u3prN ORIG/src/bfd/coff-or32.c LOCAL/src/bfd/coff-or32.c
--- ORIG/src/bfd/coff-or32.c	Tue Jun 25 15:21:47 2002
+++ LOCAL/src/bfd/coff-or32.c	Sun Oct 27 12:50:52 2002
@@ -651,5 +651,7 @@ const bfd_target or32coff_big_vec =
   NULL,
 #endif
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-ppc.c LOCAL/src/bfd/coff-ppc.c
--- ORIG/src/bfd/coff-ppc.c	Fri Apr  5 04:53:35 2002
+++ LOCAL/src/bfd/coff-ppc.c	Sun Oct 27 12:57:49 2002
@@ -2878,6 +2878,8 @@ const bfd_target TARGET_LITTLE_SYM =
   NULL,
 #endif
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
 #endif
@@ -2936,6 +2938,8 @@ const bfd_target TARGET_BIG_SYM =
 #else
   NULL,
 #endif
+
+  NULL,
 
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-rs6000.c LOCAL/src/bfd/coff-rs6000.c
--- ORIG/src/bfd/coff-rs6000.c	Thu Aug 22 14:13:04 2002
+++ LOCAL/src/bfd/coff-rs6000.c	Sun Oct 27 12:51:27 2002
@@ -4178,6 +4178,8 @@ const bfd_target rs6000coff_vec =
     /* Opposite endian version, none exists */
     NULL,
 
+    NULL,
+
     (void *) &bfd_xcoff_backend_data,
   };
 
@@ -4418,6 +4420,8 @@ const bfd_target pmac_xcoff_vec =
     _bfd_xcoff_canonicalize_dynamic_reloc,
 
     /* Opposite endian version, none exists */
+    NULL,
+
     NULL,
 
     (void *) &bfd_pmac_xcoff_backend_data,
diff -u3prN ORIG/src/bfd/coff-sh.c LOCAL/src/bfd/coff-sh.c
--- ORIG/src/bfd/coff-sh.c	Sun May 12 02:15:53 2002
+++ LOCAL/src/bfd/coff-sh.c	Sun Oct 27 12:30:23 2002
@@ -3294,6 +3294,8 @@ const bfd_target shcoff_small_vec =
 
   & shlcoff_small_vec,
 
+  NULL,
+
   (PTR) &bfd_coff_small_swap_table
 };
 
@@ -3337,6 +3339,8 @@ const bfd_target shlcoff_small_vec =
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   & shcoff_small_vec,
+
+  NULL,
 
   (PTR) &bfd_coff_small_swap_table
 };
diff -u3prN ORIG/src/bfd/coff-tic30.c LOCAL/src/bfd/coff-tic30.c
--- ORIG/src/bfd/coff-tic30.c	Tue Sep 18 18:57:22 2001
+++ LOCAL/src/bfd/coff-tic30.c	Sun Oct 27 13:44:46 2002
@@ -206,5 +206,7 @@ const bfd_target tic30_coff_vec =
 
   NULL,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-tic4x.c LOCAL/src/bfd/coff-tic4x.c
--- ORIG/src/bfd/coff-tic4x.c	Tue Sep 17 17:33:13 2002
+++ LOCAL/src/bfd/coff-tic4x.c	Sun Oct 27 12:52:53 2002
@@ -403,6 +403,8 @@ const bfd_target tic4x_coff0_vec =
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
   NULL,
 
+  NULL,
+
   (PTR)&ticoff0_swap_table
 };
 
@@ -448,6 +450,8 @@ const bfd_target tic4x_coff0_beh_vec =
 
   &tic4x_coff0_vec,
 
+  NULL,
+
   (PTR)&ticoff0_swap_table
 };
 
@@ -493,6 +497,8 @@ const bfd_target tic4x_coff1_vec =
 
   &tic4x_coff0_beh_vec,
 
+  NULL,
+
   (PTR)&ticoff1_swap_table
 };
 
@@ -538,6 +544,8 @@ const bfd_target tic4x_coff1_beh_vec =
 
   &tic4x_coff1_vec,
 
+  NULL,
+
   (PTR)&ticoff1_swap_table
 };
 
@@ -583,6 +591,8 @@ const bfd_target tic4x_coff2_vec =
 
   &tic4x_coff1_beh_vec,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
 
@@ -627,6 +637,8 @@ const bfd_target tic4x_coff2_beh_vec =
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
   &tic4x_coff2_vec,
+
+  NULL,
 
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/coff-tic54x.c LOCAL/src/bfd/coff-tic54x.c
--- ORIG/src/bfd/coff-tic54x.c	Fri Sep 21 08:30:34 2001
+++ LOCAL/src/bfd/coff-tic54x.c	Sun Oct 27 12:54:19 2002
@@ -545,6 +545,8 @@ const bfd_target tic54x_coff0_vec =
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
     NULL,
 
+    NULL,
+
     (PTR) & ticoff0_swap_table
   };
 
@@ -590,6 +592,8 @@ const bfd_target tic54x_coff0_beh_vec =
 
     & tic54x_coff0_vec,
 
+    NULL,
+
     (PTR) & ticoff0_swap_table
   };
 
@@ -635,6 +639,8 @@ const bfd_target tic54x_coff1_vec =
 
     & tic54x_coff0_beh_vec,
 
+    NULL,
+
     (PTR) & ticoff1_swap_table
 };
 
@@ -680,6 +686,8 @@ const bfd_target tic54x_coff1_beh_vec =
 
     & tic54x_coff1_vec,
 
+    NULL,
+
     (PTR) & ticoff1_swap_table
   };
 
@@ -725,6 +733,8 @@ const bfd_target tic54x_coff2_vec =
 
     & tic54x_coff1_beh_vec,
 
+    NULL,
+
     COFF_SWAP_TABLE
   };
 
@@ -769,6 +779,8 @@ const bfd_target tic54x_coff2_beh_vec =
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
     & tic54x_coff2_vec,
+
+    NULL,
 
     COFF_SWAP_TABLE
   };
diff -u3prN ORIG/src/bfd/coff64-rs6000.c LOCAL/src/bfd/coff64-rs6000.c
--- ORIG/src/bfd/coff64-rs6000.c	Mon Sep  2 20:47:42 2002
+++ LOCAL/src/bfd/coff64-rs6000.c	Sun Oct 27 12:44:35 2002
@@ -2720,6 +2720,8 @@ const bfd_target rs6000coff64_vec =
     /* Opposite endian version, none exists */
     NULL,
 
+    NULL,
+
     (void *) &bfd_xcoff_backend_data,
   };
 
@@ -2957,6 +2959,8 @@ const bfd_target aix5coff64_vec =
     _bfd_xcoff_canonicalize_dynamic_reloc,
 
     /* Opposite endian version, none exists.  */
+    NULL,
+
     NULL,
 
     (void *) & bfd_xcoff_aix5_backend_data,
diff -u3prN ORIG/src/bfd/coffcode.h LOCAL/src/bfd/coffcode.h
--- ORIG/src/bfd/coffcode.h	Mon Sep  2 20:47:42 2002
+++ LOCAL/src/bfd/coffcode.h	Sun Oct 27 12:29:23 2002
@@ -5424,6 +5424,8 @@ const bfd_target VAR =							\
   									\
   ALTERNATIVE,								\
   									\
+  NULL,									\
+  									\
   COFF_SWAP_TABLE							\
 };
 
@@ -5471,6 +5473,8 @@ const bfd_target VAR =							\
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),				\
 									\
   ALTERNATIVE,								\
+  									\
+  NULL,									\
   									\
   COFF_SWAP_TABLE							\
 };
diff -u3prN ORIG/src/bfd/i386msdos.c LOCAL/src/bfd/i386msdos.c
--- ORIG/src/bfd/i386msdos.c	Wed Jun  5 12:43:10 2002
+++ LOCAL/src/bfd/i386msdos.c	Sun Oct 27 12:55:02 2002
@@ -247,6 +247,8 @@ const bfd_target i386msdos_vec =
 
     NULL,
 
+    NULL,
+
     (PTR) 0
   };
 
diff -u3prN ORIG/src/bfd/i386os9k.c LOCAL/src/bfd/i386os9k.c
--- ORIG/src/bfd/i386os9k.c	Tue Jun 25 15:21:54 2002
+++ LOCAL/src/bfd/i386os9k.c	Sun Oct 27 12:55:28 2002
@@ -374,5 +374,7 @@ const bfd_target i386os9k_vec =
 
     NULL,
 
+    NULL,
+
     (PTR) 0,
   };
diff -u3prN ORIG/src/bfd/ieee.c LOCAL/src/bfd/ieee.c
--- ORIG/src/bfd/ieee.c	Tue Jul 30 14:49:24 2002
+++ LOCAL/src/bfd/ieee.c	Sun Oct 27 12:55:41 2002
@@ -4096,5 +4096,7 @@ const bfd_target ieee_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/ihex.c LOCAL/src/bfd/ihex.c
--- ORIG/src/bfd/ihex.c	Tue Jul 30 14:49:24 2002
+++ LOCAL/src/bfd/ihex.c	Sun Oct 27 12:43:15 2002
@@ -1039,5 +1039,7 @@ const bfd_target ihex_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/mipsbsd.c LOCAL/src/bfd/mipsbsd.c
--- ORIG/src/bfd/mipsbsd.c	Mon Sep  2 20:47:42 2002
+++ LOCAL/src/bfd/mipsbsd.c	Sun Oct 27 12:56:18 2002
@@ -442,6 +442,8 @@ const bfd_target aout_mips_little_vec =
 
     & aout_mips_big_vec,
 
+    NULL,
+
     (PTR) MY_backend_data
   };
 
@@ -482,6 +484,8 @@ const bfd_target aout_mips_big_vec =
     BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
 
     & aout_mips_little_vec,
+
+    NULL,
 
     (PTR) MY_backend_data
   };
diff -u3prN ORIG/src/bfd/mmo.c LOCAL/src/bfd/mmo.c
--- ORIG/src/bfd/mmo.c	Sun Jun 30 06:45:09 2002
+++ LOCAL/src/bfd/mmo.c	Sun Oct 27 12:45:45 2002
@@ -3339,5 +3339,7 @@ const bfd_target bfd_mmo_vec =
 
   NULL,
 
+  NULL,
+
   NULL
 };
diff -u3prN ORIG/src/bfd/nlm-target.h LOCAL/src/bfd/nlm-target.h
--- ORIG/src/bfd/nlm-target.h	Wed Jun  5 12:43:11 2002
+++ LOCAL/src/bfd/nlm-target.h	Sun Oct 27 13:45:15 2002
@@ -153,6 +153,8 @@ const bfd_target TARGET_BIG_SYM =
   NULL,
 #endif
 
+  NULL,
+
   /* backend_data: */
   (PTR) TARGET_BACKEND_DATA
 };
@@ -245,6 +247,8 @@ const bfd_target TARGET_LITTLE_SYM =
 #else
   NULL,
 #endif
+
+  NULL,
 
   /* backend_data: */
   (PTR) TARGET_BACKEND_DATA
diff -u3prN ORIG/src/bfd/oasys.c LOCAL/src/bfd/oasys.c
--- ORIG/src/bfd/oasys.c	Tue Jun 25 15:21:54 2002
+++ LOCAL/src/bfd/oasys.c	Sun Oct 27 12:57:00 2002
@@ -1543,5 +1543,7 @@ const bfd_target oasys_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/pdp11.c LOCAL/src/bfd/pdp11.c
--- ORIG/src/bfd/pdp11.c	Mon Sep  2 20:47:42 2002
+++ LOCAL/src/bfd/pdp11.c	Sun Oct 27 12:57:16 2002
@@ -181,6 +181,8 @@ const bfd_target MY(vec) =
   /* Alternative_target */
   NULL,
 
+  NULL,
+
   (PTR) MY_backend_data,
 };
 
diff -u3prN ORIG/src/bfd/pe-mips.c LOCAL/src/bfd/pe-mips.c
--- ORIG/src/bfd/pe-mips.c	Sun Dec  2 22:14:48 2001
+++ LOCAL/src/bfd/pe-mips.c	Sun Oct 27 12:58:12 2002
@@ -994,5 +994,7 @@ const bfd_target
 
   NULL,
 
+  NULL,
+
   COFF_SWAP_TABLE
 };
diff -u3prN ORIG/src/bfd/ppcboot.c LOCAL/src/bfd/ppcboot.c
--- ORIG/src/bfd/ppcboot.c	Wed Jun  5 12:43:11 2002
+++ LOCAL/src/bfd/ppcboot.c	Sun Oct 27 12:58:50 2002
@@ -535,5 +535,7 @@ const bfd_target ppcboot_vec =
 
   NULL,
 
+  NULL,
+
   NULL
 };
diff -u3prN ORIG/src/bfd/srec.c LOCAL/src/bfd/srec.c
--- ORIG/src/bfd/srec.c	Sat Oct 26 11:59:56 2002
+++ LOCAL/src/bfd/srec.c	Sun Oct 27 12:42:17 2002
@@ -1343,6 +1343,8 @@ const bfd_target srec_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
 
@@ -1395,6 +1397,8 @@ const bfd_target symbolsrec_vec =
   BFD_JUMP_TABLE_WRITE (srec),
   BFD_JUMP_TABLE_LINK (srec),
   BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+
+  NULL,
 
   NULL,
 
diff -u3prN ORIG/src/bfd/tekhex.c LOCAL/src/bfd/tekhex.c
--- ORIG/src/bfd/tekhex.c	Tue Jun 25 15:21:54 2002
+++ LOCAL/src/bfd/tekhex.c	Sun Oct 27 12:42:51 2002
@@ -1064,5 +1064,7 @@ const bfd_target tekhex_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/versados.c LOCAL/src/bfd/versados.c
--- ORIG/src/bfd/versados.c	Tue Jul 30 14:49:24 2002
+++ LOCAL/src/bfd/versados.c	Sun Oct 27 12:59:18 2002
@@ -931,5 +931,7 @@ const bfd_target versados_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
diff -u3prN ORIG/src/bfd/vms.c LOCAL/src/bfd/vms.c
--- ORIG/src/bfd/vms.c	Tue Jul 30 14:49:24 2002
+++ LOCAL/src/bfd/vms.c	Sun Oct 27 12:59:40 2002
@@ -178,6 +178,8 @@ const bfd_target vms_alpha_vec =
 
   NULL,
 
+  NULL,
+
   (PTR) 0
 };
 
@@ -221,6 +223,8 @@ const bfd_target vms_vax_vec =
   BFD_JUMP_TABLE_WRITE (vms),
   BFD_JUMP_TABLE_LINK (vms),
   BFD_JUMP_TABLE_DYNAMIC (vms),
+
+  NULL,
 
   NULL,
 
diff -u3prN ORIG/src/opcodes/sh-dis.c LOCAL/src/opcodes/sh-dis.c
--- ORIG/src/opcodes/sh-dis.c	Thu May 23 03:16:45 2002
+++ LOCAL/src/opcodes/sh-dis.c	Sun Oct 27 12:16:10 2002
@@ -24,6 +24,10 @@ Foundation, Inc., 59 Temple Place - Suit
 #include "sh-opc.h"
 #include "dis-asm.h"
 
+#ifdef ARCH_all
+#define INCLUDE_SHMEDIA
+#endif
+
 static void print_movxy
   PARAMS ((sh_opcode_info *, int, int, fprintf_ftype, void *));
 static void print_insn_ddt PARAMS ((int, struct disassemble_info *));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]