[Glibc-bsd-commits] r1841 - trunk/web/patches

Aurelien Jarno aurel32 at alioth.debian.org
Thu Jan 4 21:51:17 CET 2007


Author: aurel32
Date: 2007-01-04 21:51:17 +0100 (Thu, 04 Jan 2007)
New Revision: 1841

Modified:
   trunk/web/patches/binutils_2.17.diff
Log:
enable full biarch support on kfreebsd-amd64


Modified: trunk/web/patches/binutils_2.17.diff
===================================================================
--- trunk/web/patches/binutils_2.17.diff	2007-01-04 20:42:08 UTC (rev 1840)
+++ trunk/web/patches/binutils_2.17.diff	2007-01-04 20:51:17 UTC (rev 1841)
@@ -1,52 +1,37 @@
-WARNING: This patch only partly fixes the elfosabi problem. Binaries are 
-         runnable, but have some problems (eg fakeroot does not work on them).
-         Use the smaller hackish patch below instead, until a better fix is 
-	 found.
-
---- binutils-2.17.orig/bfd/elf.c
-+++ binutils-2.17/bfd/elf.c
-@@ -4853,6 +4853,8 @@
-     bfd_big_endian (abfd) ? ELFDATA2MSB : ELFDATA2LSB;
-   i_ehdrp->e_ident[EI_VERSION] = bed->s->ev_current;
- 
-+  i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
-+
-   if ((abfd->flags & DYNAMIC) != 0)
-     i_ehdrp->e_type = ET_DYN;
-   else if ((abfd->flags & EXEC_P) != 0)
-
-UPDATE: Merged upstream part is already in experimental binutils 2.17.20061210cvs-1.
-        It looks like above mentioned problems with fakeroot are due to binaries
-        have not been linked against libc/pthread dynamically.
-        glibc should be rebuilded using new binutils or just manually fix OUTPUT_FORMAT
-        in /usr/lib/libc.so and /usr/lib/libpthread.so by 
-
-
-	--- libpthread.so~ 2006-12-27 13:30:55.000000000 +0100
-	+++ libpthread.so  2006-12-27 13:30:55.000000000 +0100
-	@@ -1,5 +1,5 @@
-	 /* GNU ld script
-	    Use the shared library, but some functions are only in
-	    the static library, so try that secondarily.  */
-	-OUTPUT_FORMAT(elf64-x86-64)
-	+OUTPUT_FORMAT(elf64-x86-64-freebsd)
-	 GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a )
-
-
-- biarch enabled binutils for kfreebsd-amd64 and kfreebsd-i386
-- properly supported elfosabi for kfreebsd-amd64
-- kfreebsd-amd64 enabled in multiarch 
-- kfreebsd-amd64 and kfreebsd-i386 supported in cross-build
-
-Status: in BTS #380373, 
+Status: partly in BTS #380373, 
 	upstream part merged for 2.18, see  http://sourceware.org/ml/binutils-cvs/2006-08/msg00010.html
 	remains biarch fixup in http://sourceware.org/bugzilla/show_bug.cgi?id=3826
+	remains biarch libpath, not yet submitted
 
 diff -u binutils-2.17/debian/patches/00list binutils-2.17/debian/patches/00list
 --- binutils-2.17/debian/patches/00list
 +++ binutils-2.17/debian/patches/00list
 @@ -8,0 +9 @@
 +128_kfreebsd-amd64
+diff -u binutils-2.17/debian/patches/127_x86_64_i386_biarch.dpatch binutils-2.17/debian/patches/127_x86_64_i386_biarch.dpatch
+--- binutils-2.17/debian/patches/127_x86_64_i386_biarch.dpatch
++++ binutils-2.17/debian/patches/127_x86_64_i386_biarch.dpatch
+@@ -34,7 +34,7 @@
+ +# Linux modify the default library search path to first include
+ +# a 32-bit specific directory.
+ +case "$target" in
+-+  x86_64*-linux* | i[3-7]86*-linux*)
+++  x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu)
+ +    case "$EMULATION_NAME" in
+ +      *i386*) LIBPATH_SUFFIX=32 ;;
+ +    esac
+diff -u binutils-2.17/debian/patches/121_i386_x86_64_biarch.dpatch binutils-2.17/debian/patches/121_i386_x86_64_biarch.dpatch
+--- binutils-2.17/debian/patches/121_i386_x86_64_biarch.dpatch
++++ binutils-2.17/debian/patches/121_i386_x86_64_biarch.dpatch
+@@ -33,7 +33,7 @@
+  # a 64-bit specific directory.
+  case "$target" in
+ -  x86_64*-linux*)
+-+  x86_64*-linux* | i[3-7]86*-linux*)
+++  x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu)
+      case "$EMULATION_NAME" in
+        *64*) LIBPATH_SUFFIX=64 ;;
+      esac
 diff -u binutils-2.17/debian/rules binutils-2.17/debian/rules
 --- binutils-2.17/debian/rules
 +++ binutils-2.17/debian/rules
@@ -64,8 +49,8 @@
  	mkdir builddir-multi
  	cd builddir-multi \
  	    && env CC="$(CC)" ../configure $(CONFARGS) \
--		--enable-targets=alpha-linux-gnu,arm-linux-gnu,hppa-linux-gnu,i486-kfreebsd-gnu,i486-linux-gnu,ia64-linux-gnu,m68k-linux-gnu,m68k-rtems,mips-linux-gnu,mipsel-linux-gnu,mips64-linux-gnu,mips64el-linux-gnu,powerpc-linux-gnu,powerpc64-linux-gnu,s390-linux-gnu,s390x-linux-gnu,sh-linux-gnu,sparc-linux-gnu,sparc64-linux-gnu,x86_64-linux,m32r-linux-gnu
-+		--enable-targets=alpha-linux-gnu,arm-linux-gnu,hppa-linux-gnu,i486-kfreebsd-gnu,i486-linux-gnu,ia64-linux-gnu,m68k-linux-gnu,m68k-rtems,mips-linux-gnu,mipsel-linux-gnu,mips64-linux-gnu,mips64el-linux-gnu,powerpc-linux-gnu,powerpc64-linux-gnu,s390-linux-gnu,s390x-linux-gnu,sh-linux-gnu,sparc-linux-gnu,sparc64-linux-gnu,x86_64-linux,x86_64-kfreebsd-gnu,m32r-linux-gnu
+-		--enable-targets=alpha-linux-gnu,arm-linux-gnu,hppa-linux-gnu,i486-linux-gnu,ia64-linux-gnu,m68k-linux-gnu,m68k-rtems,mips-linux-gnu,mipsel-linux-gnu,mips64-linux-gnu,mips64el-linux-gnu,powerpc-linux-gnu,powerpc64-linux-gnu,s390-linux-gnu,s390x-linux-gnu,sh-linux-gnu,sparc-linux-gnu,sparc64-linux-gnu,x86_64-linux,m32r-linux-gnu
++	        --enable-targets=alpha-linux-gnu,arm-linux-gnu,hppa-linux-gnu,i486-kfreebsd-gnu,i486-linux-gnu,ia64-linux-gnu,m68k-linux-gnu,m68k-rtems,mips-linux-gnu,mipsel-linux-gnu,mips64-linux-gnu,mips64el-linux-gnu,powerpc-linux-gnu,powerpc64-linux-gnu,s390-linux-gnu,s390x-linux-gnu,sh-linux-gnu,sparc-linux-gnu,sparc64-linux-gnu,x86_64-linux,x86_64-kfreebsd-gnu,m32r-linux-gnu
  	$(MAKE) -C builddir-multi configure-host
  	touch configure-multi-stamp
  
@@ -89,11 +74,9 @@
  ifeq ($(TARGET), mipsel-linux-gnu)
  ADDITIONAL_TARGETS = --enable-targets=mips64el-linux-gnu
  endif
-only in patch2:
-unchanged:
 --- binutils-2.17.orig/debian/patches/128_kfreebsd-amd64.dpatch
 +++ binutils-2.17/debian/patches/128_kfreebsd-amd64.dpatch
-@@ -0,0 +1,173 @@
+@@ -0,0 +1,186 @@
 +#!/bin/sh -e
 +## 128_kfreebsd-amd64.dpatch
 +##
@@ -267,3 +250,17 @@
 +     bfd_elf64_x86_64_vec)	tb="$tb elf64-x86-64.lo elf64.lo $elf"; target_size=64 ;;
 +     bfd_mmo_vec)		tb="$tb mmo.lo" target_size=64 ;;
 +     bfd_powerpc_pe_vec)         tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;
++--- binutils-2.17.orig/ld/configure.tgt
+++++ binutils-2.17/ld/configure.tgt
++@@ -200,6 +200,9 @@
++ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
++ 			targ_emul=elf_x86_64_fbsd
++ 			targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386"
+++			targ_extra_libpath="elf_i386_fbsd"
+++			tdir_elf_i386_fbsd=`echo ${targ_alias} \
+++			    | sed -e 's/x86_64/i386/'`
++ 			tdir_elf_i386=`echo ${targ_alias} \
++ 			    | sed -e 's/x86_64/i386/'` ;;
++ i[3-7]86-*-sysv*)	targ_emul=i386coff ;;
++
+




More information about the Glibc-bsd-commits mailing list