diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 3377261..6d26a9e 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -1656,6 +1656,15 @@ obj_elf_version (int ignore ATTRIBUTE_UNUSED)
       *input_line_pointer = c;
 
       /* Create the .note section.  */
+#ifndef SCO_ELF
+      /*
+       * NOTE: We must NOT do this for SCO ELF. This basically means that
+       * a .version is a no-op, but thats OK. It is more important to have
+       * the .note section for SCO ELF be the exact right size, else some
+       * of the older tools will fail (things like the file command), and
+       * so will the new link editor, which is much fussier about note
+       * sections.
+       */
       note_secp = subseg_new (".note", 0);
       bfd_set_section_flags (stdoutput,
 			     note_secp,
@@ -1681,6 +1690,7 @@ obj_elf_version (int ignore ATTRIBUTE_UNUSED)
       frag_align (2, 0, 0);
 
       subseg_set (seg, subseg);
+#endif /* !SCO_ELF */
     }
   else
     as_bad (_("expected quoted string"));
diff --git a/include/libiberty.h b/include/libiberty.h
index cacde80..74dc113 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -639,7 +639,11 @@ extern int strverscmp (const char *, const char *);
 #endif
 
 /* Set the title of a process */
+#if defined(_SCO_DS)
+extern int setproctitle (const char *name, ...);
+#else
 extern void setproctitle (const char *name, ...);
+#endif
 
 /* Increase stack limit if possible.  */
 extern void stack_limit_increase (unsigned long);
