aboutsummaryrefslogtreecommitdiff
path: root/bfd/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/plugin.c')
-rw-r--r--bfd/plugin.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/bfd/plugin.c b/bfd/plugin.c
index 733e7f0..f8ddc61 100644
--- a/bfd/plugin.c
+++ b/bfd/plugin.c
@@ -378,6 +378,7 @@ bfd_plugin_open_input (bfd *ibfd, struct ld_plugin_input_file *file)
iobfd = ibfd;
while (iobfd->my_archive
+ && iobfd->my_archive->iovec == iobfd->iovec
&& !bfd_is_thin_archive (iobfd->my_archive))
iobfd = iobfd->my_archive;
file->name = bfd_get_filename (iobfd);
@@ -470,6 +471,7 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd)
else
{
while (abfd->my_archive
+ && abfd->my_archive->iovec == abfd->iovec
&& !bfd_is_thin_archive (abfd->my_archive))
abfd = abfd->my_archive;
@@ -658,16 +660,6 @@ bfd_link_plugin_object_p (bfd *abfd)
return false;
}
-extern const bfd_target plugin_vec;
-
-/* Return TRUE if TARGET is a pointer to plugin_vec. */
-
-bool
-bfd_plugin_target_p (const bfd_target *target)
-{
- return target == &plugin_vec;
-}
-
/* Register OBJECT_P to be used by bfd_plugin_object_p. */
void
@@ -1002,30 +994,26 @@ const bfd_target plugin_vec =
{ /* bfd_check_format. */
_bfd_dummy_target,
bfd_plugin_object_p,
- bfd_generic_archive_p,
+ _bfd_dummy_target,
_bfd_dummy_target
},
{ /* bfd_set_format. */
_bfd_bool_bfd_false_error,
_bfd_bool_bfd_false_error,
- _bfd_generic_mkarchive,
+ _bfd_bool_bfd_false_error,
_bfd_bool_bfd_false_error,
},
{ /* bfd_write_contents. */
_bfd_bool_bfd_false_error,
_bfd_bool_bfd_false_error,
- _bfd_write_archive_contents,
+ _bfd_bool_bfd_false_error,
_bfd_bool_bfd_false_error,
},
BFD_JUMP_TABLE_GENERIC (bfd_plugin),
BFD_JUMP_TABLE_COPY (bfd_plugin),
BFD_JUMP_TABLE_CORE (bfd_plugin),
-#ifdef USE_64_BIT_ARCHIVE
- BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_64_bit),
-#else
- BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-#endif
+ BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
BFD_JUMP_TABLE_SYMBOLS (bfd_plugin),
BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
BFD_JUMP_TABLE_WRITE (bfd_plugin),