public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [rfa] Add bfd_runtime
@ 2004-06-29 23:47 Andrew Cagney
  2004-06-30  2:08 ` Ian Lance Taylor
  0 siblings, 1 reply; 18+ messages in thread
From: Andrew Cagney @ 2004-06-29 23:47 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

Hello,

This follows up an earlier thread by adding the bfd_format type 
bfd_runtime.  It just pads out all the architecture vectors, not doing 
anything useful.

ok?
Andrew
(attempt two to post, I think my mailer ate my patch)

[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 70257 bytes --]

2004-06-29  Andrew Cagney  <cagney@redhat.com>

	* bfd-in.h (bfd_format): Add "bfd_runtime".
	* bfd-in2.h: Regenerate.
	* pe-mips.c (mipslpe_vec): Update.
	* coff-i386.c (i386coff_vec): Update.
	* coff-i960.c (icoff_big_vec): Update.
	* coff-i860.c (i860coff_vec): Update.
	* coff-tic30.c (tic30_coff_vec): Update.
	* coff-rs6000.c (pmac_xcoff_vec, rs6000coff_vec): Update.
	* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Update.
	* coff-tic54x.c (tic54x_coff0_vec, tic54x_coff1_vec)
	(tic54x_coff0_beh_vec, tic54x_coff1_beh_vec)
	(tic54x_coff2_vec, tic54x_coff2_beh_vec): Update.
	* coff-mips.c (ecoff_little_vec, ecoff_big_vec) 
	(ecoff_biglittle_vec): Update.
	* coff-or32.c (or32coff_big_vec): Update.
	* ppcboot.c (ppcboot_vec): Update.
	* i386os9k.c (i386os9k_vec): Update.
	* i386msdos.c (i386msdos_vec): Update.
	* coff-sh.c (shcoff_small_vec, shlcoff_small_vec): Update.
	* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Update.
	* ieee.c (ieee_vec): Update.
	* osf-core.c (osf_core_vec): Update.
	* pdp11.c (MY(vec)): Update.
	* pef.c (pef_vec, pef_xlib_vec): Update.
	* coff-alpha.c (ecoffalpha_little_vec): Update.
	* cisco-core.c (cisco_core_big_vec)
	(cisco_core_little_vec): Update.
	* bout.c (b_out_vec_big_host, b_out_vec_little_host): Update.
	* nlm-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Update.
	* elfxx-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Update.
	* coffcode.h (CREATE_BIG_COFF_TARGET_VEC) 
	(CREATE_BIGHDR_COFF_TARGET_VEC, CREATE_LITTLE_COFF_TARGET_VEC): Update.
	* aout-target.h (MY(vec)): Update.
	* xcoff-target.h (TARGET_SYM): Update.
	* ptrace-core.c (ptrace_core_vec): Update.
	* aout-tic30.c (tic30_aout_vec): Update.
	* vms.c (vms_alpha_vec, vms_vax_vec): Update.
	* versados.c (versados_vec): Update.
	* som.c (som_vec): Update.
	* irix-core.c (irix_core_vec): Update.
	* mmo.c (bfd_mmo_vec): Update.
	* mipsbsd.c (aout_mips_little_vec, aout_mips_big_vec): Update.
	* mach-o-target.c (TARGET_NAME): Update.
	* srec.c (srec_vec, symbolsrec_vec): Update.
	* tekhex.c (tekhex_vec): Update.
	* binary.c (binary_vec): Update.
	* ihex.c (ihex_vec): Update.
	* netbsd-core.c (netbsd_core_vec): Update.
	* aout-adobe.c (a_out_adobe_vec): Update.
	* aix386-core.c (aix386_core_vec): Update.
	* xsym.c (sym_vec): Update.

Index: aix386-core.c
===================================================================
RCS file: /cvs/src/src/bfd/aix386-core.c,v
retrieving revision 1.12
diff -p -u -r1.12 aix386-core.c
--- aix386-core.c	24 Jun 2004 04:46:14 -0000	1.12
+++ aix386-core.c	29 Jun 2004 23:19:08 -0000
@@ -249,12 +249,27 @@ const bfd_target aix386_core_vec = {
   NO_GET, NO_GETS, NO_PUT,
   NO_GET, NO_GETS, NO_PUT,	/* hdrs */
 
-  {_bfd_dummy_target, _bfd_dummy_target,
-   _bfd_dummy_target, aix386_core_file_p},
-  {bfd_false, bfd_false,	/* bfd_create_object */
-   bfd_false, bfd_false},
-  {bfd_false, bfd_false,	/* bfd_write_contents */
-   bfd_false, bfd_false},
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+    aix386_core_file_p,
+    _bfd_dummy_target,
+  },
+  {				/* bfd_set_format */
+    bfd_false,
+    bfd_false,
+    bfd_false,
+    bfd_false,
+    bfd_false,
+  },
+  {				/* bfd_write_contents */
+    bfd_false,
+    bfd_false,
+    bfd_false,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (_bfd_generic),
   BFD_JUMP_TABLE_COPY (_bfd_generic),
Index: aout-adobe.c
===================================================================
RCS file: /cvs/src/src/bfd/aout-adobe.c,v
retrieving revision 1.19
diff -p -u -r1.19 aout-adobe.c
--- aout-adobe.c	24 Jun 2004 04:46:14 -0000	1.19
+++ aout-adobe.c	29 Jun 2004 23:19:08 -0000
@@ -548,12 +548,27 @@ const bfd_target a_out_adobe_vec =
     bfd_getb64, bfd_getb_signed_64, bfd_putb64,
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
-    {_bfd_dummy_target, aout_adobe_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, aout_adobe_mkobject,		/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, aout_adobe_write_object_contents,/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      aout_adobe_object_p,
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {				/* bfd_set_format */
+      bfd_false,
+      aout_adobe_mkobject,
+      _bfd_generic_mkarchive,
+      bfd_false,
+      bfd_false,
+    },
+    {				/* bfd_write_contents */
+      bfd_false,
+      aout_adobe_write_object_contents,
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (aout_32),
     BFD_JUMP_TABLE_COPY (_bfd_generic),
Index: aout-target.h
===================================================================
RCS file: /cvs/src/src/bfd/aout-target.h,v
retrieving revision 1.25
diff -p -u -r1.25 aout-target.h
--- aout-target.h	24 Jun 2004 04:46:14 -0000	1.25
+++ aout-target.h	29 Jun 2004 23:19:08 -0000
@@ -648,12 +648,27 @@ const bfd_target MY(vec) =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 #endif
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-       _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    MY_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    MY_core_file_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    MY_mkobject,	/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    MY_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (MY),
      BFD_JUMP_TABLE_COPY (MY),
Index: aout-tic30.c
===================================================================
RCS file: /cvs/src/src/bfd/aout-tic30.c,v
retrieving revision 1.25
diff -p -u -r1.25 aout-tic30.c
--- aout-tic30.c	29 Jun 2004 13:46:29 -0000	1.25
+++ aout-tic30.c	29 Jun 2004 23:19:10 -0000
@@ -1090,12 +1090,27 @@ const bfd_target tic30_aout_vec =
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
-  {_bfd_dummy_target, MY_object_p,	/* bfd_check_format */
-   bfd_generic_archive_p, MY_core_file_p},
-  {bfd_false, MY_mkobject,	/* bfd_set_format */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, MY_write_object_contents,		/* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    MY_object_p,	/* bfd_check_format */
+    bfd_generic_archive_p,
+    MY_core_file_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    MY_mkobject,	/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    MY_write_object_contents,		/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (MY),
   BFD_JUMP_TABLE_COPY (MY),
Index: bfd-in.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in.h,v
retrieving revision 1.85
diff -p -u -r1.85 bfd-in.h
--- bfd-in.h	29 Jun 2004 13:46:29 -0000	1.85
+++ bfd-in.h	29 Jun 2004 23:19:11 -0000
@@ -175,6 +175,7 @@ typedef enum bfd_format
   bfd_object,		/* Linker/assembler/compiler output.  */
   bfd_archive,		/* Object archive file.  */
   bfd_core,		/* Core dump.  */
+  bfd_runtime,		/* In-memory runtime image.  */
   bfd_type_end		/* Marks the end; don't use it!  */
 }
 bfd_format;
Index: bfd-in2.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in2.h,v
retrieving revision 1.286
diff -p -u -r1.286 bfd-in2.h
--- bfd-in2.h	29 Jun 2004 14:13:44 -0000	1.286
+++ bfd-in2.h	29 Jun 2004 23:19:12 -0000
@@ -182,6 +182,7 @@ typedef enum bfd_format
   bfd_object,		/* Linker/assembler/compiler output.  */
   bfd_archive,		/* Object archive file.  */
   bfd_core,		/* Core dump.  */
+  bfd_runtime,		/* In-memory runtime image.  */
   bfd_type_end		/* Marks the end; don't use it!  */
 }
 bfd_format;
Index: binary.c
===================================================================
RCS file: /cvs/src/src/bfd/binary.c,v
retrieving revision 1.22
diff -p -u -r1.22 binary.c
--- binary.c	24 Jun 2004 04:46:15 -0000	1.22
+++ binary.c	29 Jun 2004 23:19:12 -0000
@@ -373,18 +373,21 @@ const bfd_target binary_vec =
     binary_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {				/* bfd_set_format */
     bfd_false,
     binary_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_true,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (binary),
Index: bout.c
===================================================================
RCS file: /cvs/src/src/bfd/bout.c,v
retrieving revision 1.21
diff -p -u -r1.21 bout.c
--- bout.c	24 Jun 2004 04:46:15 -0000	1.21
+++ bout.c	29 Jun 2004 23:19:12 -0000
@@ -1513,12 +1513,27 @@ const bfd_target b_out_vec_big_host =
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
- {_bfd_dummy_target, b_out_object_p, /* bfd_check_format */
-   bfd_generic_archive_p, _bfd_dummy_target},
- {bfd_false, b_out_mkobject,	/* bfd_set_format */
-   _bfd_generic_mkarchive, bfd_false},
- {bfd_false, b_out_write_object_contents, /* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+ {
+   _bfd_dummy_target,
+   b_out_object_p, /* bfd_check_format */
+   bfd_generic_archive_p,
+   _bfd_dummy_target,
+   _bfd_dummy_target,
+ },
+ {
+   bfd_false,
+   b_out_mkobject,	/* bfd_set_format */
+   _bfd_generic_mkarchive,
+   bfd_false,
+   bfd_false,
+ },
+ {
+   bfd_false,
+   b_out_write_object_contents, /* bfd_write_contents */
+   _bfd_write_archive_contents,
+   bfd_false,
+   bfd_false,
+ },
 
      BFD_JUMP_TABLE_GENERIC (aout_32),
      BFD_JUMP_TABLE_COPY (_bfd_generic),
@@ -1555,12 +1570,27 @@ const bfd_target b_out_vec_little_host =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, b_out_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, b_out_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, b_out_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    b_out_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    b_out_mkobject,	/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    b_out_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (aout_32),
      BFD_JUMP_TABLE_COPY (_bfd_generic),
Index: cisco-core.c
===================================================================
RCS file: /cvs/src/src/bfd/cisco-core.c,v
retrieving revision 1.9
diff -p -u -r1.9 cisco-core.c
--- cisco-core.c	24 Jun 2004 04:46:15 -0000	1.9
+++ cisco-core.c	29 Jun 2004 23:19:12 -0000
@@ -349,18 +349,25 @@ const bfd_target cisco_core_big_vec =
     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
     {				/* bfd_check_format */
-     _bfd_dummy_target,		/* unknown format */
-     _bfd_dummy_target,		/* object file */
-     _bfd_dummy_target,		/* archive */
-     cisco_core_file_p	/* a core file */
+      _bfd_dummy_target,		/* unknown format */
+      _bfd_dummy_target,		/* object file */
+      _bfd_dummy_target,		/* archive */
+      cisco_core_file_p,	/* a core file */
+      _bfd_dummy_target,		/* runtime */
     },
     {				/* bfd_set_format */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
        BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -399,18 +406,25 @@ const bfd_target cisco_core_little_vec =
     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
     {				/* bfd_check_format */
-     _bfd_dummy_target,		/* unknown format */
-     _bfd_dummy_target,		/* object file */
-     _bfd_dummy_target,		/* archive */
-     cisco_core_file_p	/* a core file */
+      _bfd_dummy_target,		/* unknown format */
+      _bfd_dummy_target,		/* object file */
+      _bfd_dummy_target,		/* archive */
+      cisco_core_file_p,	/* a core file */
+      _bfd_dummy_target,		/* runtime */
     },
     {				/* bfd_set_format */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
        BFD_JUMP_TABLE_GENERIC (_bfd_generic),
Index: coff-alpha.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-alpha.c,v
retrieving revision 1.23
diff -p -u -r1.23 coff-alpha.c
--- coff-alpha.c	24 Jun 2004 04:46:15 -0000	1.23
+++ coff-alpha.c	29 Jun 2004 23:19:13 -0000
@@ -2379,12 +2379,26 @@ const bfd_target ecoffalpha_little_vec =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, alpha_ecoff_object_p, /* bfd_check_format */
-     _bfd_ecoff_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    alpha_ecoff_object_p, /* bfd_check_format */
+    _bfd_ecoff_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_mkobject,  /* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
      BFD_JUMP_TABLE_COPY (_bfd_ecoff),
Index: coff-i386.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-i386.c,v
retrieving revision 1.20
diff -p -u -r1.20 coff-i386.c
--- coff-i386.c	22 Jun 2004 05:35:37 -0000	1.20
+++ coff-i386.c	29 Jun 2004 23:19:13 -0000
@@ -646,12 +646,27 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
 /* Note that we allow an object file to be treated as a core file as well.  */
-    {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, coff_object_p},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    coff_object_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (coff),
      BFD_JUMP_TABLE_COPY (coff),
Index: coff-i860.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-i860.c,v
retrieving revision 1.14
diff -p -u -r1.14 coff-i860.c
--- coff-i860.c	4 Dec 2003 12:08:42 -0000	1.14
+++ coff-i860.c	29 Jun 2004 23:19:13 -0000
@@ -689,12 +689,27 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
 /* Note that we allow an object file to be treated as a core file as well.  */
-    {_bfd_dummy_target, i3coff_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, i3coff_object_p},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    i3coff_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    i3coff_object_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (coff),
      BFD_JUMP_TABLE_COPY (coff),
Index: coff-i960.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-i960.c,v
retrieving revision 1.12
diff -p -u -r1.12 coff-i960.c
--- coff-i960.c	25 Jun 2003 06:40:18 -0000	1.12
+++ coff-i960.c	29 Jun 2004 23:19:13 -0000
@@ -642,12 +642,27 @@ bfd_getb64, bfd_getb_signed_64, bfd_putb
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,	/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (coff),
      BFD_JUMP_TABLE_COPY (coff),
Index: coff-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-mips.c,v
retrieving revision 1.26
diff -p -u -r1.26 coff-mips.c
--- coff-mips.c	29 Jun 2004 13:46:29 -0000	1.26
+++ coff-mips.c	29 Jun 2004 23:19:13 -0000
@@ -1420,12 +1420,27 @@ const bfd_target ecoff_little_vec =
      bfd_getl32, bfd_getl_signed_32, bfd_putl32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     _bfd_ecoff_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, /* bfd_check_format */
+    _bfd_ecoff_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_mkobject,  /* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
      BFD_JUMP_TABLE_COPY (_bfd_ecoff),
@@ -1463,12 +1478,27 @@ const bfd_target ecoff_big_vec =
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16,
- {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-    _bfd_ecoff_archive_p, _bfd_dummy_target},
- {bfd_false, _bfd_ecoff_mkobject, /* bfd_set_format */
-    _bfd_generic_mkarchive, bfd_false},
- {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-    _bfd_write_archive_contents, bfd_false},
+ {
+   _bfd_dummy_target,
+   coff_object_p, /* bfd_check_format */
+   _bfd_ecoff_archive_p,
+   _bfd_dummy_target,
+   _bfd_dummy_target,
+ },
+ {
+   bfd_false,
+   _bfd_ecoff_mkobject, /* bfd_set_format */
+   _bfd_generic_mkarchive,
+   bfd_false,
+   bfd_false,
+ },
+ {
+   bfd_false,
+   _bfd_ecoff_write_object_contents, /* bfd_write_contents */
+   _bfd_write_archive_contents,
+   bfd_false,
+   bfd_false,
+ },
 
      BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
      BFD_JUMP_TABLE_COPY (_bfd_ecoff),
@@ -1507,12 +1537,27 @@ const bfd_target ecoff_biglittle_vec =
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-     _bfd_ecoff_archive_p, _bfd_dummy_target},
-  {bfd_false, _bfd_ecoff_mkobject,  /* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, _bfd_ecoff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, /* bfd_check_format */
+    _bfd_ecoff_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_mkobject,  /* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    _bfd_ecoff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (_bfd_ecoff),
      BFD_JUMP_TABLE_COPY (_bfd_ecoff),
Index: coff-or32.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-or32.c,v
retrieving revision 1.5
diff -p -u -r1.5 coff-or32.c
--- coff-or32.c	25 Jun 2003 06:40:24 -0000	1.5
+++ coff-or32.c	29 Jun 2004 23:19:13 -0000
@@ -626,19 +626,22 @@ const bfd_target or32coff_big_vec =
     _bfd_dummy_target,
     coff_object_p,
     bfd_generic_archive_p,
-    _bfd_dummy_target
+    _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {
     bfd_false,
     coff_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
   {
     bfd_false,
     coff_write_object_contents,
     _bfd_write_archive_contents,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (coff),
Index: coff-ppc.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-ppc.c,v
retrieving revision 1.21
diff -p -u -r1.21 coff-ppc.c
--- coff-ppc.c	28 Jun 2004 13:57:58 -0000	1.21
+++ coff-ppc.c	29 Jun 2004 23:19:16 -0000
@@ -2782,12 +2782,27 @@ const bfd_target TARGET_LITTLE_SYM =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, 	/* bfd_check_format */
-     bfd_generic_archive_p, /* _bfd_dummy_target */ coff_object_p },
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, 	/* bfd_check_format */
+    bfd_generic_archive_p, /* _bfd_dummy_target */
+    coff_object_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
@@ -2841,12 +2856,27 @@ const bfd_target TARGET_BIG_SYM =
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, 	/* bfd_check_format */
-     bfd_generic_archive_p, /* _bfd_dummy_target */ coff_object_p },
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, 	/* bfd_check_format */
+    bfd_generic_archive_p, /* _bfd_dummy_target */
+    coff_object_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
Index: coff-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-rs6000.c,v
retrieving revision 1.61
diff -p -u -r1.61 coff-rs6000.c
--- coff-rs6000.c	24 Jun 2004 04:46:15 -0000	1.61
+++ coff-rs6000.c	29 Jun 2004 23:19:18 -0000
@@ -4112,21 +4112,24 @@ const bfd_target rs6000coff_vec =
       _bfd_dummy_target,
       coff_object_p,
       _bfd_xcoff_archive_p,
-      CORE_FILE_P
+      CORE_FILE_P,
+      _bfd_dummy_target,
     },
 
     { /* bfd_set_format */
       bfd_false,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     {/* bfd_write_contents */
       bfd_false,
       coff_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     /* Generic */
@@ -4357,21 +4360,24 @@ const bfd_target pmac_xcoff_vec =
       _bfd_dummy_target,
       coff_object_p,
       _bfd_xcoff_archive_p,
-      CORE_FILE_P
+      CORE_FILE_P,
+      _bfd_dummy_target,
     },
 
     { /* bfd_set_format */
       bfd_false,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     {/* bfd_write_contents */
       bfd_false,
       coff_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     /* Generic */
Index: coff-sh.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-sh.c,v
retrieving revision 1.27
diff -p -u -r1.27 coff-sh.c
--- coff-sh.c	24 Jun 2004 04:46:16 -0000	1.27
+++ coff-sh.c	29 Jun 2004 23:19:18 -0000
@@ -3228,12 +3228,27 @@ const bfd_target shcoff_small_vec =
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_small_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_small_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff_small),
   BFD_JUMP_TABLE_COPY (coff),
@@ -3272,12 +3287,27 @@ const bfd_target shlcoff_small_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, coff_small_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-     bfd_false},
-  {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_small_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff_small),
   BFD_JUMP_TABLE_COPY (coff),
Index: coff-tic30.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-tic30.c,v
retrieving revision 1.8
diff -p -u -r1.8 coff-tic30.c
--- coff-tic30.c	30 Nov 2002 08:39:36 -0000	1.8
+++ coff-tic30.c	29 Jun 2004 23:19:18 -0000
@@ -187,12 +187,27 @@ const bfd_target tic30_coff_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-  {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-   bfd_generic_archive_p, _bfd_dummy_target},
-  {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-   bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p,	/* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive,	/* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (coff),
   BFD_JUMP_TABLE_COPY (coff),
Index: coff-tic54x.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-tic54x.c,v
retrieving revision 1.15
diff -p -u -r1.15 coff-tic54x.c
--- coff-tic54x.c	15 Mar 2004 12:23:10 -0000	1.15
+++ coff-tic54x.c	29 Jun 2004 23:19:18 -0000
@@ -421,12 +421,27 @@ const bfd_target tic54x_coff0_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+     _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -465,12 +480,27 @@ const bfd_target tic54x_coff0_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -510,12 +540,27 @@ const bfd_target tic54x_coff1_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -555,12 +600,27 @@ const bfd_target tic54x_coff1_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -600,12 +660,27 @@ const bfd_target tic54x_coff2_vec =
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
@@ -645,12 +720,27 @@ const bfd_target tic54x_coff2_beh_vec =
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-    {_bfd_dummy_target, coff_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive,	/* bfd_set_format */
-     bfd_false},
-    {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      coff_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      coff_mkobject,
+      _bfd_generic_mkarchive,	/* bfd_set_format */
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      coff_write_object_contents,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (coff),
     BFD_JUMP_TABLE_COPY (coff),
Index: coff64-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff64-rs6000.c,v
retrieving revision 1.53
diff -p -u -r1.53 coff64-rs6000.c
--- coff64-rs6000.c	24 Jun 2004 04:46:16 -0000	1.53
+++ coff64-rs6000.c	29 Jun 2004 23:19:18 -0000
@@ -2653,21 +2653,24 @@ const bfd_target rs6000coff64_vec =
       _bfd_dummy_target,
       coff_object_p,
       xcoff64_archive_p,
-      CORE_FILE_P
+      CORE_FILE_P,
+      _bfd_dummy_target,
     },
 
     { /* bfd_set_format */
       bfd_false,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     {/* bfd_write_contents */
       bfd_false,
       xcoff64_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     /* Generic */
@@ -2899,21 +2902,24 @@ const bfd_target aix5coff64_vec =
       _bfd_dummy_target,
       coff_object_p,
       xcoff64_archive_p,
-      xcoff64_core_p
+      xcoff64_core_p,
+      _bfd_dummy_target,
     },
 
     { /* bfd_set_format */
       bfd_false,
       coff_mkobject,
       _bfd_generic_mkarchive,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     {/* bfd_write_contents */
       bfd_false,
       xcoff64_write_object_contents,
       _bfd_xcoff_write_archive_contents,
-      bfd_false
+      bfd_false,
+      bfd_false,
     },
 
     /* Generic */
Index: coffcode.h
===================================================================
RCS file: /cvs/src/src/bfd/coffcode.h,v
retrieving revision 1.108
diff -p -u -r1.108 coffcode.h
--- coffcode.h	24 Jun 2004 04:46:16 -0000	1.108
+++ coffcode.h	29 Jun 2004 23:19:20 -0000
@@ -5614,12 +5614,13 @@ const bfd_target VAR =							\
 									\
 	/* bfd_check_format */						\
   { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
+    _bfd_dummy_target, _bfd_dummy_target, },				\
 	/* bfd_set_format */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
+  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, 			\
+    bfd_false, bfd_false, },	\
 	/* bfd_write_contents */					\
   { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+    bfd_false, bfd_false, },						\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
@@ -5664,12 +5665,13 @@ const bfd_target VAR =							\
 									\
 	/* bfd_check_format */						\
   { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
+    _bfd_dummy_target, _bfd_dummy_target, },				\
 	/* bfd_set_format */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
+  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, 			\
+    bfd_false, bfd_false, },						\
 	/* bfd_write_contents */					\
   { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+    bfd_false, bfd_false, },						\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
@@ -5712,12 +5714,13 @@ const bfd_target VAR =							\
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,				\
 	/* bfd_check_format */						\
   { _bfd_dummy_target, coff_object_p, bfd_generic_archive_p,		\
-    _bfd_dummy_target },						\
+    _bfd_dummy_target, _bfd_dummy_target, },				\
        /* bfd_set_format */						\
-  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false },	\
+  { bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false,	\
+    bfd_false, },							\
 	/* bfd_write_contents */					\
   { bfd_false, coff_write_object_contents, _bfd_write_archive_contents,	\
-    bfd_false },							\
+    bfd_false, bfd_false, },						\
 									\
   BFD_JUMP_TABLE_GENERIC (coff),					\
   BFD_JUMP_TABLE_COPY (coff),						\
Index: elfxx-target.h
===================================================================
RCS file: /cvs/src/src/bfd/elfxx-target.h,v
retrieving revision 1.66
diff -p -u -r1.66 elfxx-target.h
--- elfxx-target.h	21 Jun 2004 14:45:41 -0000	1.66
+++ elfxx-target.h	29 Jun 2004 23:19:20 -0000
@@ -628,24 +628,30 @@ const bfd_target TARGET_BIG_SYM =
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,
 
   /* bfd_check_format: check the format of a file being read */
-  { _bfd_dummy_target,		/* unknown format */
+  {
+    _bfd_dummy_target,		/* unknown format */
     bfd_elfNN_object_p,		/* assembler/linker output (object file) */
     bfd_elfNN_archive_p,	/* an archive */
-    bfd_elfNN_core_file_p	/* a core file */
+    bfd_elfNN_core_file_p,	/* a core file */
+    _bfd_dummy_target,		/* runtime */
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     bfd_elfNN_mkobject,
     bfd_elfNN_mkarchive,
-    bfd_elfNN_mkcorefile
+    bfd_elfNN_mkcorefile,
+    bfd_false,
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     bfd_elfNN_write_object_contents,
     bfd_elfNN_write_archive_contents,
     bfd_elfNN_write_corefile_contents,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_elfNN),
@@ -724,24 +730,30 @@ const bfd_target TARGET_LITTLE_SYM =
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
   /* bfd_check_format: check the format of a file being read */
-  { _bfd_dummy_target,		/* unknown format */
+  {
+    _bfd_dummy_target,		/* unknown format */
     bfd_elfNN_object_p,		/* assembler/linker output (object file) */
     bfd_elfNN_archive_p,	/* an archive */
-    bfd_elfNN_core_file_p	/* a core file */
+    bfd_elfNN_core_file_p,	/* a core file */
+    _bfd_dummy_target,		/* runtime */
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     bfd_elfNN_mkobject,
     bfd_elfNN_mkarchive,
-    bfd_elfNN_mkcorefile
+    bfd_elfNN_mkcorefile,
+    bfd_false,
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     bfd_elfNN_write_object_contents,
     bfd_elfNN_write_archive_contents,
     bfd_elfNN_write_corefile_contents,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_elfNN),
Index: i386msdos.c
===================================================================
RCS file: /cvs/src/src/bfd/i386msdos.c,v
retrieving revision 1.16
diff -p -u -r1.16 i386msdos.c
--- i386msdos.c	24 Jun 2004 04:46:23 -0000	1.16
+++ i386msdos.c	29 Jun 2004 23:19:20 -0000
@@ -224,18 +224,21 @@ const bfd_target i386msdos_vec =
       _bfd_dummy_target,		/* bfd_check_format */
       _bfd_dummy_target,
       _bfd_dummy_target,
+      _bfd_dummy_target,
     },
     {
       bfd_false,
       msdos_mkobject,
       _bfd_generic_mkarchive,
       bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
       bfd_false,
       msdos_write_object_contents,
       _bfd_write_archive_contents,
       bfd_false,
+      bfd_false,
     },
 
     BFD_JUMP_TABLE_GENERIC (msdos),
Index: i386os9k.c
===================================================================
RCS file: /cvs/src/src/bfd/i386os9k.c,v
retrieving revision 1.14
diff -p -u -r1.14 i386os9k.c
--- i386os9k.c	24 Jun 2004 04:46:23 -0000	1.14
+++ i386os9k.c	29 Jun 2004 23:19:20 -0000
@@ -360,12 +360,27 @@ const bfd_target i386os9k_vec =
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,	/* hdrs */
-    {_bfd_dummy_target, os9k_object_p,	/* bfd_check_format */
-     bfd_generic_archive_p, _bfd_dummy_target},
-    {bfd_false, bfd_false,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, bfd_false,	/* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {
+      _bfd_dummy_target,
+      os9k_object_p,	/* bfd_check_format */
+      bfd_generic_archive_p,
+      _bfd_dummy_target,
+      _bfd_dummy_target,
+    },
+    {
+      bfd_false,
+      bfd_false,	/* bfd_set_format */
+      _bfd_generic_mkarchive,
+      bfd_false,
+      bfd_false,
+    },
+    {
+      bfd_false,
+      bfd_false,	/* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (aout_32),
     BFD_JUMP_TABLE_COPY (_bfd_generic),
Index: ieee.c
===================================================================
RCS file: /cvs/src/src/bfd/ieee.c,v
retrieving revision 1.38
diff -p -u -r1.38 ieee.c
--- ieee.c	24 Jun 2004 04:46:23 -0000	1.38
+++ ieee.c	29 Jun 2004 23:19:23 -0000
@@ -4067,22 +4067,26 @@ const bfd_target ieee_vec =
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
 
-  {_bfd_dummy_target,
-   ieee_object_p,		/* bfd_check_format */
-   ieee_archive_p,
-   _bfd_dummy_target,
+  {
+    _bfd_dummy_target,
+    ieee_object_p,		/* bfd_check_format */
+    ieee_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {
     bfd_false,
     ieee_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
   {
     bfd_false,
     ieee_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   /* ieee_close_and_cleanup, ieee_bfd_free_cached_info, ieee_new_section_hook,
Index: ihex.c
===================================================================
RCS file: /cvs/src/src/bfd/ihex.c,v
retrieving revision 1.23
diff -p -u -r1.23 ihex.c
--- ihex.c	24 Jun 2004 04:46:24 -0000	1.23
+++ ihex.c	29 Jun 2004 23:19:23 -0000
@@ -1022,18 +1022,21 @@ const bfd_target ihex_vec =
     ihex_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
-  {
+  {				/* bfd_set_format */
     bfd_false,
     ihex_mkobject,
     _bfd_generic_mkarchive,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     ihex_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (ihex),
Index: irix-core.c
===================================================================
RCS file: /cvs/src/src/bfd/irix-core.c,v
retrieving revision 1.12
diff -p -u -r1.12 irix-core.c
--- irix-core.c	24 Jun 2004 04:46:24 -0000	1.12
+++ irix-core.c	29 Jun 2004 23:19:23 -0000
@@ -331,15 +331,22 @@ const bfd_target irix_core_vec =
       _bfd_dummy_target,		/* unknown format */
       _bfd_dummy_target,		/* object file */
       _bfd_dummy_target,		/* archive */
-      irix_core_core_file_p		/* a core file */
+      irix_core_core_file_p,		/* a core file */
+      _bfd_dummy_target,		/* runtime */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
Index: mach-o-target.c
===================================================================
RCS file: /cvs/src/src/bfd/mach-o-target.c,v
retrieving revision 1.1
diff -p -u -r1.1 mach-o-target.c
--- mach-o-target.c	6 Nov 2002 13:26:27 -0000	1.1
+++ mach-o-target.c	29 Jun 2004 23:19:24 -0000
@@ -80,11 +80,13 @@ const bfd_target TARGET_NAME =
     _bfd_dummy_target,
     bfd_mach_o_archive_p,
     _bfd_dummy_target,
+    _bfd_dummy_target,
 #else
     _bfd_dummy_target,
     bfd_mach_o_object_p,
     _bfd_dummy_target,
-    bfd_mach_o_core_p
+    bfd_mach_o_core_p,
+    _bfd_dummy_target,
 #endif
   },
   {				/* bfd_set_format.  */
@@ -92,12 +94,14 @@ const bfd_target TARGET_NAME =
     bfd_mach_o_mkobject,
     bfd_false,
     bfd_mach_o_mkobject,
+    bfd_false,
   },
   {				/* bfd_write_contents.  */
     bfd_false,
     bfd_mach_o_write_contents,
     bfd_false,
     bfd_mach_o_write_contents,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_mach_o),
Index: mipsbsd.c
===================================================================
RCS file: /cvs/src/src/bfd/mipsbsd.c,v
retrieving revision 1.13
diff -p -u -r1.13 mipsbsd.c
--- mipsbsd.c	30 Nov 2003 18:40:41 -0000	1.13
+++ mipsbsd.c	29 Jun 2004 23:19:24 -0000
@@ -422,12 +422,27 @@ const bfd_target aout_mips_little_vec =
     bfd_getl64, bfd_getl_signed_64, bfd_putl64,
     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      MY_object_p, /* bfd_check_format */
+      bfd_generic_archive_p,
+      MY_core_file_p,
+      _bfd_dummy_target,
+    },
+    {				/* bfd_set_format */
+      bfd_false,
+      MY_mkobject,	/* bfd_set_format */
+      _bfd_generic_mkarchive,
+      bfd_false,
+      bfd_false,
+    },
+    {				/* bfd_write_contents */
+      bfd_false,
+      MY_write_object_contents, /* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (MY),
     BFD_JUMP_TABLE_COPY (MY),
@@ -463,12 +478,27 @@ const bfd_target aout_mips_big_vec =
     bfd_getb64, bfd_getb_signed_64, bfd_putb64,
     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-     bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-     _bfd_write_archive_contents, bfd_false},
+    {				/* bfd_check_format */
+      _bfd_dummy_target,
+      MY_object_p, /* bfd_check_format */
+      bfd_generic_archive_p,
+      MY_core_file_p,
+      _bfd_dummy_target,
+    },
+    {				/* bfd_set_format */
+      bfd_false,
+      MY_mkobject,	/* bfd_set_format */
+      _bfd_generic_mkarchive,
+      bfd_false,
+      bfd_false,
+    },
+    {				/* bfd_write_contents */
+      bfd_false,
+      MY_write_object_contents, /* bfd_write_contents */
+      _bfd_write_archive_contents,
+      bfd_false,
+      bfd_false,
+    },
 
     BFD_JUMP_TABLE_GENERIC (MY),
     BFD_JUMP_TABLE_COPY (MY),
Index: mmo.c
===================================================================
RCS file: /cvs/src/src/bfd/mmo.c,v
retrieving revision 1.19
diff -p -u -r1.19 mmo.c
--- mmo.c	24 Jun 2004 04:46:25 -0000	1.19
+++ mmo.c	29 Jun 2004 23:19:24 -0000
@@ -3339,18 +3339,21 @@ const bfd_target bfd_mmo_vec =
     mmo_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {
     bfd_false,
     mmo_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     mmo_write_object_contents,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (mmo),
Index: netbsd-core.c
===================================================================
RCS file: /cvs/src/src/bfd/netbsd-core.c,v
retrieving revision 1.18
diff -p -u -r1.18 netbsd-core.c
--- netbsd-core.c	24 Jun 2004 04:46:25 -0000	1.18
+++ netbsd-core.c	29 Jun 2004 23:19:24 -0000
@@ -292,15 +292,22 @@ const bfd_target netbsd_core_vec =
       _bfd_dummy_target,		/* Unknown format.  */
       _bfd_dummy_target,		/* Object file.  */
       _bfd_dummy_target,		/* Archive.  */
-      netbsd_core_file_p		/* A core file.  */
+      netbsd_core_file_p,		/* A core file.  */
+      _bfd_dummy_target,		/* Runtime.  */
     },
     {					/* bfd_set_format.  */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {					/* bfd_write_contents.  */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
Index: nlm-target.h
===================================================================
RCS file: /cvs/src/src/bfd/nlm-target.h,v
retrieving revision 1.11
diff -p -u -r1.11 nlm-target.h
--- nlm-target.h	30 Apr 2004 14:23:40 -0000	1.11
+++ nlm-target.h	29 Jun 2004 23:19:24 -0000
@@ -115,24 +115,30 @@ const bfd_target TARGET_BIG_SYM =
     bfd_getb16, bfd_getb_signed_16, bfd_putb16,
 
   /* bfd_check_format: check the format of a file being read */
-  { _bfd_dummy_target,		/* unknown format */
+  {
+    _bfd_dummy_target,		/* unknown format */
     nlmNAME(object_p),		/* assembler/linker output (object file) */
     bfd_generic_archive_p,	/* an archive */
-    nlm_core_file_p		/* a core file */
+    nlm_core_file_p,		/* a core file */
+    _bfd_dummy_target,		/* runtime */
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     nlm_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     nlmNAME(write_object_contents),
     _bfd_write_archive_contents,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
 
   /* Initialize a jump table with the standard macro.  All names start with
@@ -208,24 +214,30 @@ const bfd_target TARGET_LITTLE_SYM =
     bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
   /* bfd_check_format: check the format of a file being read */
-  { _bfd_dummy_target,		/* unknown format */
+  {
+    _bfd_dummy_target,		/* unknown format */
     nlmNAME(object_p),		/* assembler/linker output (object file) */
     bfd_generic_archive_p,	/* an archive */
-    nlm_core_file_p		/* a core file */
+    nlm_core_file_p,		/* a core file */
+    _bfd_dummy_target,		/* runtime */
   },
 
   /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     nlm_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
 
   /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
+  {
+    bfd_false,
     nlmNAME(write_object_contents),
     _bfd_write_archive_contents,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
 
   /* Initialize a jump table with the standard macro.  All names start with
Index: osf-core.c
===================================================================
RCS file: /cvs/src/src/bfd/osf-core.c,v
retrieving revision 1.12
diff -p -u -r1.12 osf-core.c
--- osf-core.c	24 Jun 2004 04:46:25 -0000	1.12
+++ osf-core.c	29 Jun 2004 23:19:24 -0000
@@ -217,15 +217,22 @@ const bfd_target osf_core_vec =
       _bfd_dummy_target,		/* unknown format */
       _bfd_dummy_target,		/* object file */
       _bfd_dummy_target,		/* archive */
-      osf_core_core_file_p		/* a core file */
+      osf_core_core_file_p,		/* a core file */
+      _bfd_dummy_target,		/* runtime */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
Index: pdp11.c
===================================================================
RCS file: /cvs/src/src/bfd/pdp11.c,v
retrieving revision 1.23
diff -p -u -r1.23 pdp11.c
--- pdp11.c	24 Jun 2004 04:46:25 -0000	1.23
+++ pdp11.c	29 Jun 2004 23:19:24 -0000
@@ -161,12 +161,27 @@ const bfd_target MY(vec) =
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
      bfd_getp32, bfd_getp_signed_32, bfd_putp32,
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-    {_bfd_dummy_target, MY_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, MY_core_file_p},
-    {bfd_false, MY_mkobject,	/* bfd_set_format */
-       _bfd_generic_mkarchive, bfd_false},
-    {bfd_false, MY_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    MY_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    MY_core_file_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    MY_mkobject,	/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    MY_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (MY),
      BFD_JUMP_TABLE_COPY (MY),
Index: pe-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/pe-mips.c,v
retrieving revision 1.12
diff -p -u -r1.12 pe-mips.c
--- pe-mips.c	24 Apr 2004 06:12:24 -0000	1.12
+++ pe-mips.c	29 Jun 2004 23:19:24 -0000
@@ -953,12 +953,27 @@ const bfd_target
      bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
 /* Note that we allow an object file to be treated as a core file as well.  */
-    {_bfd_dummy_target, coff_object_p, /* bfd_check_format */
-       bfd_generic_archive_p, coff_object_p},
-    {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
-       bfd_false},
-    {bfd_false, coff_write_object_contents, /* bfd_write_contents */
-       _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, /* bfd_check_format */
+    bfd_generic_archive_p,
+    coff_object_p,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,
+    _bfd_generic_mkarchive, /* bfd_set_format */
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents, /* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (coff),
      BFD_JUMP_TABLE_COPY (coff),
Index: pef.c
===================================================================
RCS file: /cvs/src/src/bfd/pef.c,v
retrieving revision 1.8
diff -p -u -r1.8 pef.c
--- pef.c	24 Jun 2004 04:46:25 -0000	1.8
+++ pef.c	29 Jun 2004 23:19:24 -0000
@@ -1105,18 +1105,21 @@ const bfd_target pef_vec =
     bfd_pef_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {				/* bfd_set_format */
     bfd_false,
     bfd_pef_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_true,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_pef),
@@ -1263,18 +1266,21 @@ const bfd_target pef_xlib_vec =
     bfd_pef_xlib_object_p,	/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {				/* bfd_set_format */
     bfd_false,
     bfd_pef_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_true,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_pef_xlib),
Index: ppcboot.c
===================================================================
RCS file: /cvs/src/src/bfd/ppcboot.c,v
retrieving revision 1.19
diff -p -u -r1.19 ppcboot.c
--- ppcboot.c	24 Jun 2004 04:46:25 -0000	1.19
+++ ppcboot.c	29 Jun 2004 23:19:24 -0000
@@ -511,18 +511,21 @@ const bfd_target ppcboot_vec =
     ppcboot_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {				/* bfd_set_format */
     bfd_false,
     ppcboot_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_true,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (ppcboot),
Index: ptrace-core.c
===================================================================
RCS file: /cvs/src/src/bfd/ptrace-core.c,v
retrieving revision 1.11
diff -p -u -r1.11 ptrace-core.c
--- ptrace-core.c	24 Jun 2004 04:46:25 -0000	1.11
+++ ptrace-core.c	29 Jun 2004 23:19:24 -0000
@@ -199,15 +199,22 @@ const bfd_target ptrace_core_vec =
       _bfd_dummy_target,		/* unknown format */
       _bfd_dummy_target,		/* object file */
       _bfd_dummy_target,		/* archive */
-      ptrace_unix_core_file_p		/* a core file */
+      ptrace_unix_core_file_p,		/* a core file */
+      _bfd_dummy_target,		/* runtime */
     },
     {				/* bfd_set_format */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
     {				/* bfd_write_contents */
-      bfd_false, bfd_false,
-      bfd_false, bfd_false
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
+      bfd_false,
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
Index: som.c
===================================================================
RCS file: /cvs/src/src/bfd/som.c,v
retrieving revision 1.45
diff -p -u -r1.45 som.c
--- som.c	25 Jun 2004 18:30:54 -0000	1.45
+++ som.c	29 Jun 2004 23:19:25 -0000
@@ -6427,22 +6427,26 @@ const bfd_target som_vec = {
   bfd_getb64, bfd_getb_signed_64, bfd_putb64,
   bfd_getb32, bfd_getb_signed_32, bfd_putb32,
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
-  {_bfd_dummy_target,
-   som_object_p,		/* bfd_check_format */
-   bfd_generic_archive_p,
-   _bfd_dummy_target
+  {				/* bfd_check_format */
+    _bfd_dummy_target,
+    som_object_p,		/* bfd_check_format */
+    bfd_generic_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
   },
-  {
+  {				/* bfd_set_format */
     bfd_false,
     som_mkobject,
     _bfd_generic_mkarchive,
-    bfd_false
+    bfd_false,
+    bfd_false,
   },
-  {
+  {				/* bfd_write_contents */
     bfd_false,
     som_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 #undef som
 
Index: srec.c
===================================================================
RCS file: /cvs/src/src/bfd/srec.c,v
retrieving revision 1.29
diff -p -u -r1.29 srec.c
--- srec.c	24 Jun 2004 04:46:26 -0000	1.29
+++ srec.c	29 Jun 2004 23:19:25 -0000
@@ -1319,18 +1319,21 @@ const bfd_target srec_vec =
     srec_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {
     bfd_false,
     srec_mkobject,
     _bfd_generic_mkarchive,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     srec_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (srec),
@@ -1374,18 +1377,21 @@ const bfd_target symbolsrec_vec =
     symbolsrec_object_p,	/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
   {
     bfd_false,
     srec_mkobject,
     _bfd_generic_mkarchive,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     symbolsrec_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (srec),
Index: tekhex.c
===================================================================
RCS file: /cvs/src/src/bfd/tekhex.c,v
retrieving revision 1.20
diff -p -u -r1.20 tekhex.c
--- tekhex.c	24 Jun 2004 04:46:26 -0000	1.20
+++ tekhex.c	29 Jun 2004 23:19:25 -0000
@@ -1039,18 +1039,21 @@ const bfd_target tekhex_vec =
     tekhex_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
-  {
+  {				/* bfd_set_format */
     bfd_false,
     tekhex_mkobject,
     _bfd_generic_mkarchive,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     tekhex_write_object_contents,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (tekhex),
Index: versados.c
===================================================================
RCS file: /cvs/src/src/bfd/versados.c,v
retrieving revision 1.22
diff -p -u -r1.22 versados.c
--- versados.c	24 Jun 2004 04:46:26 -0000	1.22
+++ versados.c	29 Jun 2004 23:19:25 -0000
@@ -907,18 +907,21 @@ const bfd_target versados_vec =
     versados_object_p,		/* bfd_check_format */
     _bfd_dummy_target,
     _bfd_dummy_target,
+    _bfd_dummy_target,
   },
-  {
+  {				/* bfd_set_format */
     bfd_false,
     versados_mkobject,
     _bfd_generic_mkarchive,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_false,
     _bfd_write_archive_contents,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (versados),
Index: vms.c
===================================================================
RCS file: /cvs/src/src/bfd/vms.c,v
retrieving revision 1.30
diff -p -u -r1.30 vms.c
--- vms.c	24 Jun 2004 04:46:26 -0000	1.30
+++ vms.c	29 Jun 2004 23:19:25 -0000
@@ -195,12 +195,27 @@ const bfd_target vms_alpha_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
-  {_bfd_dummy_target, vms_object_p,		/* bfd_check_format */
-   vms_archive_p, _bfd_dummy_target},
-  {bfd_false, vms_mkobject,			/* bfd_set_format */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, vms_write_object_contents,	/* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    vms_object_p,		/* bfd_check_format */
+    vms_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    vms_mkobject,			/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    vms_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (vms),
   BFD_JUMP_TABLE_COPY (vms),
@@ -241,12 +256,27 @@ const bfd_target vms_vax_vec =
   bfd_getl32, bfd_getl_signed_32, bfd_putl32,
   bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
 
-  {_bfd_dummy_target, vms_object_p,		/* bfd_check_format */
-   vms_archive_p, _bfd_dummy_target},
-  {bfd_false, vms_mkobject,			/* bfd_set_format */
-   _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, vms_write_object_contents,	/* bfd_write_contents */
-   _bfd_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    vms_object_p,		/* bfd_check_format */
+    vms_archive_p,
+    _bfd_dummy_target,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    vms_mkobject,			/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    vms_write_object_contents,	/* bfd_write_contents */
+    _bfd_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
   BFD_JUMP_TABLE_GENERIC (vms),
   BFD_JUMP_TABLE_COPY (vms),
Index: xcoff-target.h
===================================================================
RCS file: /cvs/src/src/bfd/xcoff-target.h,v
retrieving revision 1.9
diff -p -u -r1.9 xcoff-target.h
--- xcoff-target.h	30 Nov 2002 08:39:40 -0000	1.9
+++ xcoff-target.h	29 Jun 2004 23:19:25 -0000
@@ -173,12 +173,27 @@ const bfd_target TARGET_SYM =
      bfd_getb32, bfd_getb_signed_32, bfd_putb32,
      bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
 
-  {_bfd_dummy_target, coff_object_p, 	/* bfd_check_format */
-     _bfd_xcoff_archive_p, CORE_FILE_P},
-  {bfd_false, coff_mkobject,		/* bfd_set_format */
-     _bfd_generic_mkarchive, bfd_false},
-  {bfd_false, coff_write_object_contents,	/* bfd_write_contents */
-     _bfd_xcoff_write_archive_contents, bfd_false},
+  {
+    _bfd_dummy_target,
+    coff_object_p, 	/* bfd_check_format */
+    _bfd_xcoff_archive_p,
+    CORE_FILE_P,
+    _bfd_dummy_target,
+  },
+  {
+    bfd_false,
+    coff_mkobject,		/* bfd_set_format */
+    _bfd_generic_mkarchive,
+    bfd_false,
+    bfd_false,
+  },
+  {
+    bfd_false,
+    coff_write_object_contents,	/* bfd_write_contents */
+    _bfd_xcoff_write_archive_contents,
+    bfd_false,
+    bfd_false,
+  },
 
      BFD_JUMP_TABLE_GENERIC (coff),
      BFD_JUMP_TABLE_COPY (coff),
Index: xsym.c
===================================================================
RCS file: /cvs/src/src/bfd/xsym.c,v
retrieving revision 1.7
diff -p -u -r1.7 xsym.c
--- xsym.c	24 Jun 2004 04:46:27 -0000	1.7
+++ xsym.c	29 Jun 2004 23:19:26 -0000
@@ -2451,7 +2451,8 @@ const bfd_target sym_vec =
   bfd_getb16, bfd_getb_signed_16, bfd_putb16,	/* hdrs */
   {				/* bfd_check_format */
     _bfd_dummy_target,
-    bfd_sym_object_p,		/* bfd_check_format */
+    bfd_sym_object_p,
+    _bfd_dummy_target,
     _bfd_dummy_target,
     _bfd_dummy_target,
   },
@@ -2460,12 +2461,14 @@ const bfd_target sym_vec =
     bfd_sym_mkobject,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
   {				/* bfd_write_contents */
     bfd_false,
     bfd_true,
     bfd_false,
     bfd_false,
+    bfd_false,
   },
 
   BFD_JUMP_TABLE_GENERIC (bfd_sym),

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [rfa] Add bfd_runtime
@ 2004-10-07 16:48 James Cownie
  0 siblings, 0 replies; 18+ messages in thread
From: James Cownie @ 2004-10-07 16:48 UTC (permalink / raw)
  To: binutils


This whole thing seems the wrong way to solve the fundamental problem to
me.

As I understand it the root problem is that the kernel and the dynamic
linker are pretending to have linked a file into the image, but the
pretence is incomplete.

If the kernel (or maybe even the installation) were to make the contents
of the vDSO available as a file (either by providing it in /sys, or
/proc, or simply by having some code which ran at boot time which copied
the vDSO out and saved it somewhere well known), then

 1) The dynamic linker could fill in a perfectly normal rmap entry for
    the vDSO.

 2) Any clients (such as gdb) which depend on the rmap entries could
    simply read the file like any other shared object.

 3) There'd be no need for magic BFDs

 4) The code to implement this would be less than has already been
    written to handle the fact that it's missing, and, probably less
    than the new code which is being proposed.

The main problems I see with this approach are

 1) It cuts across separate projects (so it needs either kernel or
    distribution work and some in libc).

 2) For kernels which use multiple vDSOs in a single running kernel
    instance there will need to be a way of obtaining the appropriate
    vDSO.

It's relatively simple to write a piece of code to extract the vDSO from
its own address space and write it to a file, so if such a userspace
program could be run at some point in the boot process no kernel changes
would be needed, and the issues are reduced to choices of file names and
so on (which, of course, are harder than writing code ;-(

-- 
-- Jim
--
James Cownie	<jcownie@etnus.com>
Etnus, LLC.     +44 117 9071438
http://www.etnus.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2004-10-08  2:04 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-06-29 23:47 [rfa] Add bfd_runtime Andrew Cagney
2004-06-30  2:08 ` Ian Lance Taylor
2004-06-30 14:18   ` Andrew Cagney
2004-06-30 14:36     ` Ian Lance Taylor
2004-07-06 13:55       ` Andrew Cagney
2004-07-13  2:38         ` Ian Lance Taylor
2004-09-20 23:14           ` Andrew Cagney
2004-09-21  0:57             ` Ian Lance Taylor
2004-09-21  1:38               ` DJ Delorie
2004-10-06 22:56                 ` Andrew Cagney
2004-09-21  8:38               ` Andreas Schwab
2004-10-06 23:22               ` Andrew Cagney
2004-10-07  5:16                 ` Ian Lance Taylor
2004-10-07 15:15                   ` Daniel Jacobowitz
2004-10-07 15:54                     ` Ian Lance Taylor
2004-10-07 19:12                   ` Andrew Cagney
2004-10-08  2:04                     ` Ian Lance Taylor
2004-10-07 16:48 James Cownie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).