+2006-07-24  Michael Wetherell  <mike.wetherell@ntlworld.com>
+
+       * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
+       sections only if the SHF_OS_NONCONFORMING flag is present.
+
 2006-07-24  Nick Clifton  <nickc@redhat.com>
 
        PR ld/2729
 
             "`%s' [0x%8x]"),
           abfd, name, hdr->sh_type);
       else if (hdr->sh_type >= SHT_LOOS && hdr->sh_type <= SHT_HIOS)
-       /* FIXME: We should handle this section.  */
-       (*_bfd_error_handler)
-         (_("%B: don't know how to handle OS specific section "
-            "`%s' [0x%8x]"),
-          abfd, name, hdr->sh_type);
+       {
+         /* Unrecognised OS-specific sections.  */
+         if ((hdr->sh_flags & SHF_OS_NONCONFORMING) != 0)
+           /* SHF_OS_NONCONFORMING indicates that special knowledge is
+              required to correctly process the section and the file should 
+              be rejected with an error message.  */
+           (*_bfd_error_handler)
+             (_("%B: don't know how to handle OS specific section "
+                "`%s' [0x%8x]"),
+              abfd, name, hdr->sh_type);
+         else
+           /* Otherwise it should be processed.  */
+           return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+       }
       else
        /* FIXME: We should handle this section.  */
        (*_bfd_error_handler)
 
+2006-07-14  Michael Wetherell  <mike.wetherell@ntlworld.com>
+
+       * emulparams/elf_x86_64.sh (LIBPATH_SUFFIX, ELF_INTERPRETER_NAME):
+       Set for *-*-solaris2*.
+
 2006-07-24  Ralk Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * ld.texinfo: Fix spelling mistakes.
 
   esac
 fi
 
-# Linux modify the default library search path to first include
+# Linux/Solaris modify the default library search path to first include
 # a 64-bit specific directory.
 case "$target" in
   x86_64*-linux*)
       *64*) LIBPATH_SUFFIX=64 ;;
     esac
     ;;
+  *-*-solaris2*) 
+    LIBPATH_SUFFIX=/amd64
+    ELF_INTERPRETER_NAME=\"/lib/amd64/ld.so.1\"
+  ;;
 esac