* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
authorJeff Law <law@redhat.com>
Tue, 14 Sep 1999 02:42:51 +0000 (02:42 +0000)
committerJeff Law <law@redhat.com>
Tue, 14 Sep 1999 02:42:51 +0000 (02:42 +0000)
        Search for file with .sl extension if no file with a .so extension
        is found.

ld/ChangeLog
ld/emultempl/elf32.em

index e9a4474..71d5755 100644 (file)
@@ -5,6 +5,10 @@
 
 Mon Sep 13 00:17:18 1999  Jeffrey A Law  (law@cygnus.com)
 
+       * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
+       Search for file with .sl extension if no file with a .so extension
+       is found.
+
        * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Put .plt
        at the start of the .dlt output section.
 
index 0c0ebb7..e590c71 100644 (file)
@@ -78,7 +78,8 @@ gld${EMULATION_NAME}_before_parse()
 }
 
 /* Try to open a dynamic archive.  This is where we know that ELF
-   dynamic libraries have an extension of .so.  */
+   dynamic libraries have an extension of .so (or .sl on oddball systems
+   like hpux).  */
 
 static boolean
 gld${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
@@ -103,8 +104,15 @@ gld${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
 
   if (! ldfile_try_open_bfd (string, entry))
     {
-      free (string);
-      return false;
+      /* It failed using .so, try again with .sl for oddball systems
+        that use a different naming scheme (ie hpux).  */
+      sprintf (string, "%s/lib%s%s.sl", search->name, filename, arch);
+
+      if (! ldfile_try_open_bfd (string, entry))
+       {
+         free (string);
+         return false;
+       }
     }
 
   entry->filename = string;