Hello,

On 06-Feb-13 01:04, Aurelien Jarno wrote:
> Meanwhile, please find attached my latest version of the patch. I have
> tested the resulting libc, and I was able to compile a simple hello.c, 
> and to run it without problem.

thanks for the amended patch. I had to change the line

> +mv debian/tmp-i386/lib32 debian/tmp-i386/lib32

to

> +mv debian/tmp-i386/lib debian/tmp-i386/lib32

to make glibc 2.3.6 compile with the new patch. 

I also dropped the following line of your patch

> +mv debian/tmp-i386/usr/lib32/* debian/tmp-i386/usr/lib32

entirely because the 32-bit libc6 packages build correctly without 
that line.

With these two small changes, glibc 2.3.6 with your patch builds 
without problems and the resulting 32-bit i386 libraries work fine.

Regards
Andreas Jochens

diff -urN ../tmp-orig/glibc-2.3.6/debian/control ./debian/control
--- ../tmp-orig/glibc-2.3.6/debian/control      2006-02-13 09:49:34.000000000 
+0000
+++ ./debian/control    2006-02-13 09:12:17.000000000 +0000
@@ -1,7 +1,7 @@
 Source: glibc
 Section: libs
 Priority: required
-Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), 
debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), 
linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) 
[hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], 
texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 
3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, 
binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 
4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], quilt
+Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), 
debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), 
linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) 
[hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], 
texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 
3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, 
binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 
4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], libc6-dev-i386 
[amd64] | ia32-libs-dev [amd64], quilt
 Build-Depends-Indep: perl, po-debconf
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
 Uploaders: Ben Collins <[EMAIL PROTECTED]>, GOTO Masanori <[EMAIL PROTECTED]>, 
Philip Blundell <[EMAIL PROTECTED]>, Jeff Bailey <[EMAIL PROTECTED]>, Daniel 
Jacobowitz <[EMAIL PROTECTED]>, Clint Adams <[EMAIL PROTECTED]>, Denis Barbier 
<[EMAIL PROTECTED]>
diff -urN ../tmp-orig/glibc-2.3.6/debian/control.in/i386 
./debian/control.in/i386
--- ../tmp-orig/glibc-2.3.6/debian/control.in/i386      1970-01-01 
00:00:00.000000000 +0000
+++ ./debian/control.in/i386    2006-02-13 06:22:33.000000000 +0000
@@ -0,0 +1,22 @@
+Package: libc6-i386
+Architecture: amd64
+Section: libs
+Priority: extra
+Depends: libc6 (= ${Source-Version})
+Conflicts: ia32-libs (<= 1.5)
+Description: GNU C Library: 32bit shared libraries for AMD64
+ This package includes shared versions of the standard C
+ library and the standard math library, as well as many others.
+ This is the 32bit version of the library, meant for AMD64 systems.
+
+Package: libc6-dev-i386
+Architecture: amd64
+Section: libdevel
+Priority: standard
+Depends: libc6-i386 (= ${Source-Version}), libc6-dev (= ${Source-Version}), 
lib32gcc1
+Conflicts: ia32-libs (<= 1.5)
+Description: GNU C Library: 32bit development libraries for AMD64
+ Contains the symlinks and object files needed to compile and link programs
+ which use the standard C library. This is the 32bit version of the
+ library, meant for AMD64 systems.
+
diff -urN ../tmp-orig/glibc-2.3.6/debian/control.in/main 
./debian/control.in/main
--- ../tmp-orig/glibc-2.3.6/debian/control.in/main      2006-02-13 
09:49:34.000000000 +0000
+++ ./debian/control.in/main    2006-02-13 06:22:33.000000000 +0000
@@ -1,7 +1,7 @@
 Source: @glibc@
 Section: libs
 Priority: required
-Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), 
debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), 
linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) 
[hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], 
texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 
3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, 
binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 
4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], quilt
+Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), 
debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), 
linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) 
[hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], 
texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 
3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, 
binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 
4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], libc6-dev-i386 
[amd64] | ia32-libs-dev [amd64], quilt
 Build-Depends-Indep: perl, po-debconf
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
 Uploaders: Ben Collins <[EMAIL PROTECTED]>, GOTO Masanori <[EMAIL PROTECTED]>, 
Philip Blundell <[EMAIL PROTECTED]>, Jeff Bailey <[EMAIL PROTECTED]>, Daniel 
Jacobowitz <[EMAIL PROTECTED]>, Clint Adams <[EMAIL PROTECTED]>, Denis Barbier 
<[EMAIL PROTECTED]>
diff -urN ../tmp-orig/glibc-2.3.6/debian/patches/amd64-i386-biarch.diff 
./debian/patches/amd64-i386-biarch.diff
--- ../tmp-orig/glibc-2.3.6/debian/patches/amd64-i386-biarch.diff       
1970-01-01 00:00:00.000000000 +0000
+++ ./debian/patches/amd64-i386-biarch.diff     2006-02-13 06:22:33.000000000 
+0000
@@ -0,0 +1,16 @@
+--- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/x86_64/dl-cache.h 2006-02-10 
07:50:41.000000000 +0100
++++ glibc-2.3.6/sysdeps/unix/sysv/linux/x86_64/dl-cache.h      2006-02-10 
07:50:56.000000000 +0100
+@@ -22,4 +22,4 @@
+ #define _dl_cache_check_flags(flags)                  \
+   ((flags) == _DL_CACHE_DEFAULT_ID)
+ 
+-#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
++#include <sysdeps/unix/sysv/linux/mips/dl-cache.h>
+--- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/mips/dl-cache.h   2006-02-10 
07:33:28.054067544 +0000
++++ glibc-2.3.6/sysdeps/unix/sysv/linux/mips/dl-cache.h        2006-02-10 
07:34:15.056024278 +0000
+@@ -40,4 +40,4 @@
+       }                                                       \
+     } while (0)
+ 
+-#include_next <dl-cache.h>
++#include <sysdeps/generic/dl-cache.h>
diff -urN ../tmp-orig/glibc-2.3.6/debian/patches/series ./debian/patches/series
--- ../tmp-orig/glibc-2.3.6/debian/patches/series       2006-02-13 
09:49:34.000000000 +0000
+++ ./debian/patches/series     2006-02-13 06:22:33.000000000 +0000
@@ -118,3 +118,4 @@
 localedata/first_weekday.diff
 localedata/sort-UTF8-first.diff -p0
 hppa-pie-relocs.diff -p1
+amd64-i386-biarch.diff -p1
diff -urN ../tmp-orig/glibc-2.3.6/debian/rules.d/control.mk 
./debian/rules.d/control.mk
--- ../tmp-orig/glibc-2.3.6/debian/rules.d/control.mk   2006-02-13 
09:49:34.000000000 +0000
+++ ./debian/rules.d/control.mk 2006-02-13 06:22:32.000000000 +0000
@@ -23,6 +23,7 @@
        cat debian/control.in/libc6.1           >> [EMAIL PROTECTED]
        cat debian/control.in/libc0.3           >> [EMAIL PROTECTED]
        cat debian/control.in/libc1             >> [EMAIL PROTECTED]
+       cat debian/control.in/i386              >> [EMAIL PROTECTED]
        cat debian/control.in/sparc64           >> [EMAIL PROTECTED]
        cat debian/control.in/s390x             >> [EMAIL PROTECTED]
        cat debian/control.in/amd64             >> [EMAIL PROTECTED]
diff -urN ../tmp-orig/glibc-2.3.6/debian/rules.d/debhelper.mk 
./debian/rules.d/debhelper.mk
--- ../tmp-orig/glibc-2.3.6/debian/rules.d/debhelper.mk 2006-02-13 
09:49:34.000000000 +0000
+++ ./debian/rules.d/debhelper.mk       2006-02-13 06:22:33.000000000 +0000
@@ -193,7 +193,7 @@
          destdir=$$1; \
          shift; \
          z=debian/$(libc)-$$x.install; \
-         if test $$destdir = 64; then \
+         if test $$destdir = 32 -o $$destdir = 64; then \
            cp debian/debhelper.in/libc-alt.install $$z; \
            zd=debian/$(libc)-dev-$$x.install; \
            cp debian/debhelper.in/libc-alt-dev.install $$zd; \
diff -urN ../tmp-orig/glibc-2.3.6/debian/sysdeps/amd64.mk 
./debian/sysdeps/amd64.mk
--- ../tmp-orig/glibc-2.3.6/debian/sysdeps/amd64.mk     2006-02-13 
09:49:34.000000000 +0000
+++ ./debian/sysdeps/amd64.mk   2006-02-13 08:20:47.000000000 +0000
@@ -18,3 +18,33 @@
 ln -sf lib debian/$(curpass)/lib64
 ln -sf lib debian/$(curpass)/usr/lib64
 endef
+
+# build 32-bit (i386) alternative library
+GLIBC_PASSES += i386
+DEB_ARCH_REGULAR_PACKAGES += libc6-i386 libc6-dev-i386
+libc6-i386_shlib_dep = libc6-i386 (>= $(shlib_dep_ver))
+
+i386_configure_target = i486-linux
+i386_CC = $(CC) -m32
+i386_add-ons = nptl $(add-ons)
+i386_extra_cflags = -march=pentium4 -g1 -O3
+i386_extra_config_options = $(extra_config_options) 
--includedir=/usr/include/i386-linux-gnu --libdir=/usr/lib32
+i386_LIBDIR = 32
+i386_MIN_KERNEL_SUPPORTED = 2.6.0
+
+define i386_extra_install
+mv debian/tmp-i386/lib debian/tmp-i386/lib32
+for link in $$(find debian/tmp-i386/usr/lib32 -type l) ; do ln -sf $$(readlink 
$$link | sed -e "s#/lib/#/lib32/#g") $$link ; done
+for so in $$(find debian/tmp-i386/usr/lib32 -maxdepth 1 -type f -name *.so) ; 
do perl -pi -e "s#/lib/#/lib32/#g" $$so ; done
+endef
+
+define libc6-dev-i386_extra_pkg_install
+dh_install -plibc6-dev-i386 debian/tmp-i386/usr/include/i386-linux-gnu \
+        usr/include
+endef
+
+define libc6-i386_extra_pkg_install
+mkdir -p debian/libc6-i386/lib
+ln -s /lib32/ld-linux.so.2 debian/libc6-i386/lib
+endef
+


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to