Package: binutils
Version: 2.14.90.0.7-6
Author: Guillem Jover <guillem@debian.org>
Status: rejected
Description:
 Convert the ld.so binary from EXEC_P to DYNAMIC in case of kFreeBSD.

diff -Naur binutils-2.14.90.0.7/bfd/elf32-i386.c binutils-2.14.90.0.7.patched/bfd/elf32-i386.c
--- binutils-2.14.90.0.7/bfd/elf32-i386.c	2003-08-21 17:28:47.000000000 +0200
+++ binutils-2.14.90.0.7.patched/bfd/elf32-i386.c	2004-05-08 23:39:29.000000000 +0200
@@ -3297,8 +3297,23 @@
 #endif
 }
 
+static bfd_boolean
+elf_i386_kfreebsd_object_p (bfd *abfd)
+{
+  if (strncmp (bfd_get_filename (abfd), "/lib/ld", 7) == 0
+      && (abfd->flags & EXEC_P) != 0)
+    {
+      abfd->flags ^= EXEC_P;
+      abfd->flags |= DYNAMIC;
+    }
+
+  return elf_i386_object_p (abfd);
+}
+
 #undef	elf_backend_post_process_headers
 #define	elf_backend_post_process_headers	elf_i386_post_process_headers
+#undef	elf_backend_object_p
+#define	elf_backend_object_p			elf_i386_kfreebsd_object_p
 #undef	elf32_bed
 #define	elf32_bed				elf32_i386_fbsd_bed
 
