* aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
authorIan Lance Taylor <ian@airs.com>
Tue, 11 Jul 1995 21:22:17 +0000 (21:22 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 11 Jul 1995 21:22:17 +0000 (21:22 +0000)
that archives hold a.out objects.
* cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
(lynx_link_add_symbols): Remove.
* cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
(lynx_link_add_symbols): Remove.
* elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
archives hold ELF objects.

bfd/ChangeLog
bfd/cf-m68klynx.c
bfd/elflink.h

index 846fd31..cd2aab7 100644 (file)
@@ -1,5 +1,14 @@
 Tue Jul 11 15:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
 
+       * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
+       that archives hold a.out objects.
+       * cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
+       (lynx_link_add_symbols): Remove.
+       * cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
+       (lynx_link_add_symbols): Remove.
+       * elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
+       archives hold ELF objects.
+
        * archive.c (bfd_generic_archive_p): If the archive has a map, and
        the target was defaulted, but the first object in the archive can
        not be matched with that target, then return a bad format error.
index 94a6fb0..8149dc6 100644 (file)
@@ -43,7 +43,6 @@ struct internal_syment;
 
 static bfd_reloc_status_type _bfd_m68klynx_special_fn
   PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
-static boolean lynx_link_add_symbols PARAMS ((bfd *, struct bfd_link_info *));
 static reloc_howto_type *coff_m68k_lynx_rtype_to_howto
   PARAMS ((bfd *, asection *, struct internal_reloc *,
           struct coff_link_hash_entry *, struct internal_syment *,
@@ -176,42 +175,10 @@ _bfd_m68klynx_special_fn (abfd, reloc_entry, symbol, data, input_section,
       cache_ptr->addend += asect->vma;                         \
   }
 
-#define coff_bfd_link_add_symbols lynx_link_add_symbols
 #define coff_rtype_to_howto coff_m68k_lynx_rtype_to_howto
 
 #include "coff-m68k.c"
 
-/* On Lynx, we may have a COFF archive which contains a.out elements.
-   This screws up the COFF linker, which expects that any archive it
-   gets contains COFF elements.  We override the add_symbols function
-   to check for this case.  */
-
-static boolean
-lynx_link_add_symbols (abfd, info)
-     bfd *abfd;
-     struct bfd_link_info *info;
-{
-  if (bfd_get_format (abfd) == bfd_archive)
-    {
-      bfd *first;
-
-      first = bfd_openr_next_archived_file (abfd, (bfd *) NULL);
-      if (first == NULL)
-       return false;
-      if (! bfd_check_format (first, bfd_object))
-       return false;
-      if (bfd_get_flavour (first) != bfd_target_coff_flavour)
-       {
-         /* Treat the archive as though it were actually of the
-            flavour of its first element.  This ought to work,
-            since the archive support is fairly generic.  */
-         return (*first->xvec->_bfd_link_add_symbols) (abfd, info);
-       }
-    }
-
-  return _bfd_coff_link_add_symbols (abfd, info);
-}
-
 /* coff-m68k.c uses the special COFF backend linker.  We need to
    adjust common symbols.
 
index 3e7ef78..6cfdff4 100644 (file)
@@ -46,29 +46,11 @@ elf_bfd_link_add_symbols (abfd, info)
      bfd *abfd;
      struct bfd_link_info *info;
 {
-  bfd *first;
-
   switch (bfd_get_format (abfd))
     {
     case bfd_object:
       return elf_link_add_object_symbols (abfd, info);
     case bfd_archive:
-      first = bfd_openr_next_archived_file (abfd, (bfd *) NULL);
-      if (first == NULL)
-       {
-         /* It's OK to have an empty archive.  */
-         return true;
-       }
-      if (! bfd_check_format (first, bfd_object))
-       return false;
-      if (bfd_get_flavour (first) != bfd_target_elf_flavour)
-       {
-         /* On Linux, we may have an a.out archive which got
-             recognized as an ELF archive.  Therefore, we treat all
-             archives as though they were actually of the flavour of
-             their first element.  */
-         return (*first->xvec->_bfd_link_add_symbols) (abfd, info);
-       }
       return elf_link_add_archive_symbols (abfd, info);
     default:
       bfd_set_error (bfd_error_wrong_format);