OSDN Git Service

Check audit entry only on ELF input.
authorhjl <hjl>
Wed, 25 Aug 2010 16:57:31 +0000 (16:57 +0000)
committerhjl <hjl>
Wed, 25 Aug 2010 16:57:31 +0000 (16:57 +0000)
2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/11946
* emultempl/elf32.em (_before_allocation): Check audit entry
only on ELF input.

ld/ChangeLog
ld/emultempl/elf32.em

index 4038fd3..ac418d1 100644 (file)
@@ -1,3 +1,9 @@
+2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/11946
+       * emultempl/elf32.em (_before_allocation): Check audit entry
+       only on ELF input.
+
 2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/11937
index aa9d787..c8682ae 100644 (file)
@@ -1495,33 +1495,34 @@ gld${EMULATION_NAME}_before_allocation (void)
     rpath = (const char *) getenv ("LD_RUN_PATH");
 
   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
-    {
-      const char *audit_libs = elf_dt_audit (abfd);
+    if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+      {
+       const char *audit_libs = elf_dt_audit (abfd);
 
-      /* If the input bfd contains an audit entry, we need to add it as 
-         a dep audit entry.  */
-      if (audit_libs && *audit_libs != '\0')
-       {
-         char *cp = xstrdup (audit_libs);
-         do
-           {
-             int more = 0;
-             char *cp2 = strchr (cp, config.rpath_separator);
+       /* If the input bfd contains an audit entry, we need to add it as 
+          a dep audit entry.  */
+       if (audit_libs && *audit_libs != '\0')
+         {
+           char *cp = xstrdup (audit_libs);
+           do
+             {
+               int more = 0;
+               char *cp2 = strchr (cp, config.rpath_separator);
 
-             if (cp2)
-               {
-                 *cp2 = '\0';
-                 more = 1;
-               }
-             
-             if (cp != NULL && *cp != '\0')
-               gld${EMULATION_NAME}_append_to_separated_string (&depaudit, cp);
+               if (cp2)
+                 {
+                   *cp2 = '\0';
+                   more = 1;
+                 }
 
-             cp = more ? ++cp2 : NULL;
-           }
-         while (cp != NULL);
-       }
-    }
+               if (cp != NULL && *cp != '\0')
+                 gld${EMULATION_NAME}_append_to_separated_string (&depaudit, cp);
+
+               cp = more ? ++cp2 : NULL;
+             }
+           while (cp != NULL);
+         }
+      }
 
   if (! (bfd_elf_size_dynamic_sections
         (link_info.output_bfd, command_line.soname, rpath,