[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r5326 - in glibc-package/branches/eglibc-2.16/debian: . control.in debhelper.in patches patches/all rules.d sysdeps



Author: adconrad
Date: 2012-10-25 13:00:08 +0000 (Thu, 25 Oct 2012)
New Revision: 5326

Modified:
   glibc-package/branches/eglibc-2.16/debian/changelog
   glibc-package/branches/eglibc-2.16/debian/control
   glibc-package/branches/eglibc-2.16/debian/control.in/amd64
   glibc-package/branches/eglibc-2.16/debian/control.in/i386
   glibc-package/branches/eglibc-2.16/debian/control.in/libc
   glibc-package/branches/eglibc-2.16/debian/control.in/main
   glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc-bin.install
   glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc.install
   glibc-package/branches/eglibc-2.16/debian/patches/all/local-remove-manual.diff
   glibc-package/branches/eglibc-2.16/debian/patches/series
   glibc-package/branches/eglibc-2.16/debian/rules
   glibc-package/branches/eglibc-2.16/debian/rules.d/build.mk
   glibc-package/branches/eglibc-2.16/debian/rules.d/control.mk
   glibc-package/branches/eglibc-2.16/debian/rules.d/debhelper.mk
   glibc-package/branches/eglibc-2.16/debian/rules.d/quilt.mk
   glibc-package/branches/eglibc-2.16/debian/rules.d/tarball.mk
   glibc-package/branches/eglibc-2.16/debian/sysdeps/amd64.mk
   glibc-package/branches/eglibc-2.16/debian/sysdeps/i386.mk
Log:
Merge in Daniel Schepler's x32 support branch

Modified: glibc-package/branches/eglibc-2.16/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/changelog	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/changelog	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,5 +1,6 @@
 eglibc (2.16-0experimental0) EXPERIMENTAL; urgency=low
 
+  [ Aurelien Jarno ]
   * New upstream version.  Closes: #672934.
     - Provide a compatibility symbol for the old memcpy() behaviour.  Remove
       the memcpy-wrapper.  Closes: #625522.
@@ -281,6 +282,45 @@
   * patches/any/local-disable-libnss-db.diff: disable libnss-db as the format
     is not compatible with the libnss-db package, and is architecture
     dependent.
+  
+  [ Daniel Schepler ]
+  * Add x32 support.
+    - debian/control.in/main: Build-Depend on g++-4.7-multilib on amd64,
+      i386, x32.
+    - debian/control.in/libc: Add Replaces: libc6-x32 to libc6 on x32.
+    - debian/control.in/amd64, debian/control.in/i386: Add x32 to
+      Architecture list for libc6-amd64 and libc6-i386 (and corresponding
+      -dev packages).
+    - debian/control.in/x32: New file, add libc6-x32 and libc6-dev-x32
+      packages on amd64 and i386.
+    - debian/libc6.symbols.x32, debian/libc6-x32.symbols.amd64,
+      debian/libc6-x32.symbols.i386: New symbols files for x32 libraries.
+    - debian/libc6-amd64.symbols.x32, debian/libc6-i386.symbols.x32:
+      New files, copying the appropriate existing files.
+    - debian/patches/any/cvs-malloc-arena.diff: Fix for BZ#14562 which
+      caused random assertions in threaded programs on x32.
+    - debian/rules.d/build.mk, debian/rules.d/debhelper.mk: Add /libx32 to
+      the library directories handled by alt templates instead of otherbuild.
+    - debian/rules.d/control.mk: Add x32 to libc6_archs.
+    - debian/sysdeps/amd64.mk, debian/sysdeps/i386.mk: Add libc6-x32 builds
+      using gcc-4.7.
+    - debian/sysdeps/amd64.mk, debian/sysdeps/i386.mk: Bump minimum kernel
+      version to 3.4.0, since that's the first version with x32 support
+      integrated into the mainline.
+    - debian/sysdeps/x32.mk: New file, building libc, amd64, i386 flavors
+      all using gcc-4.7.
+    - debian/testsuite-checking/expected-results-x86_64-linux-gnux32-libc,
+      debian/testsuite-checking/expected-results-x86_64-linux-gnux32-x32:
+      New files copied from amd64 testsuite exceptions.
+  * debian/debhelper.in/libc-bin.install: Add new binaries pldd and sotruss.
+    - debian/debhelper.in/libc.install: Also add audit libraries needed by
+      sotruss.
+  * debian/patches/all/local-remove-manual.texi: Update stub manual/Makefile
+    with version from eglibc 2.16 upstream.
+  * debian/rules.d/quilt.mk: Update refresh target to pop all patches before
+    repushing and refreshing them, since patches are applied by default now.
+  * debian/rules: Expand clean target to remove several autogenerated files
+    under debian/ that weren't getting removed.
 
  -- Aurelien Jarno <aurel32@debian.org>  Wed, 25 Jul 2012 23:45:58 +0200
 

Modified: glibc-package/branches/eglibc-2.16/debian/control
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/control	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/control	2012-10-25 13:00:08 UTC (rev 5326)
@@ -3,12 +3,13 @@
 Priority: required
 Build-Depends: gettext, make (>= 3.80), dpkg-dev (>= 1.16.0), bzip2, xz-utils, file, quilt,
  autoconf, sed (>= 4.0.5-4), gawk, debhelper (>= 7.4.3), tar (>= 1.22), fdupes,
- linux-libc-dev (>= 3.2.1) [linux-any],
+ linux-libc-dev (>= 3.2.1) [linux-any], linux-libc-dev (>= 3.4) [amd64 i386 x32],
  libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any],
  mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20120520-2~) [hurd-i386], gnumach-dev [hurd-i386],
  kfreebsd-kernel-headers [kfreebsd-any],
  binutils (>= 2.21),
- g++-4.6, g++-4.6-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc]
+ g++-4.6 [!x32], g++-4.6-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc],
+ g++-4.7 [amd64 i386 x32], g++-4.7-multilib [amd64 i386 x32]
 Build-Depends-Indep: perl, po-debconf (>= 1.0)
 Build-Conflicts: binutils-gold
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
@@ -135,7 +136,7 @@
  be removed once nothing on the system depends on it.
 
 Package: libc6
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libs
 Priority: required
 Multi-Arch: same
@@ -147,6 +148,7 @@
 Breaks: nscd (<< 2.13), locales (<< 2.13), locales-all (<< 2.13), lsb-core (<= 3.2-27) [amd64 ppc64 sparc64]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
+          libc6-x32 [x32],
           libc0.1-i386 [kfreebsd-i386],
           libc6-powerpc [powerpc],
           libc6-ppc64 [ppc64],
@@ -159,7 +161,7 @@
  and the standard math library, as well as many others.
 
 Package: libc6-dev
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: optional
 Multi-Arch: same
@@ -175,7 +177,7 @@
  and link programs which use the standard C library.
 
 Package: libc6-dbg
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: debug
 Priority: extra
 Multi-Arch: same
@@ -186,7 +188,7 @@
  library.
 
 Package: libc6-prof
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: extra
 Multi-Arch: same
@@ -196,7 +198,7 @@
  with gprof.
 
 Package: libc6-pic
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: libdevel
 Priority: optional
 Multi-Arch: same
@@ -211,7 +213,7 @@
 
 Package: libc6-udeb
 XC-Package-Type: udeb
-Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+Architecture: amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 Section: debian-installer
 Priority: extra
 Provides: libc6, libc-udeb, ${locale-compat:Depends}
@@ -236,6 +238,7 @@
 Breaks: nscd (<< 2.13), locales (<< 2.13), locales-all (<< 2.13), lsb-core (<= 3.2-27) [amd64 ppc64 sparc64]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
+          libc6-x32 [x32],
           libc0.1-i386 [kfreebsd-i386],
           libc6-powerpc [powerpc],
           libc6-ppc64 [ppc64],
@@ -325,6 +328,7 @@
 Breaks: nscd (<< 2.13), locales (<< 2.13), locales-all (<< 2.13), lsb-core (<= 3.2-27) [amd64 ppc64 sparc64]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
+          libc6-x32 [x32],
           libc0.1-i386 [kfreebsd-i386],
           libc6-powerpc [powerpc],
           libc6-ppc64 [ppc64],
@@ -414,6 +418,7 @@
 Breaks: nscd (<< 2.13), locales (<< 2.13), locales-all (<< 2.13), lsb-core (<= 3.2-27) [amd64 ppc64 sparc64]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
+          libc6-x32 [x32],
           libc0.1-i386 [kfreebsd-i386],
           libc6-powerpc [powerpc],
           libc6-ppc64 [ppc64],
@@ -491,7 +496,7 @@
  installer.  Do not install it on a normal system.
 
 Package: libc6-i386
-Architecture: amd64
+Architecture: amd64 x32
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -503,7 +508,7 @@
  This is the 32bit version of the library, meant for AMD64 systems.
 
 Package: libc6-dev-i386
-Architecture: amd64
+Architecture: amd64 x32
 Section: libdevel
 Priority: optional
 Provides: lib32c-dev
@@ -590,7 +595,7 @@
  library, meant for zSeries systems.
 
 Package: libc6-amd64
-Architecture: i386
+Architecture: i386 x32
 Section: libs
 Priority: standard
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -601,7 +606,7 @@
  of the library, meant for AMD64 systems.
 
 Package: libc6-dev-amd64
-Architecture: i386
+Architecture: i386 x32
 Section: libdevel
 Priority: optional
 Depends: libc6-amd64 (= ${binary:Version}), libc6-dev (= ${binary:Version}), ${misc:Depends}
@@ -734,6 +739,26 @@
  which use the standard C library. This is the 32bit version of the
  library, meant for AMD64 systems.
 
+Package: libc6-x32
+Architecture: amd64 i386
+Section: libs
+Priority: optional
+Depends: libc6 (= ${binary:Version}), ${misc:Depends}
+Description: Embedded GNU C Library: X32 ABI 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 X32 ABI version
+ of the library, meant for AMD64 systems.
+
+Package: libc6-dev-x32
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: libc6-x32 (= ${binary:Version}), libc6-dev-i386 (= ${binary:Version}) [amd64], libc6-dev-amd64 (= ${binary:Version}) [i386], libc6-dev (= ${binary:Version}), ${misc:Depends}
+Description: Embedded GNU C Library: X32 ABI 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 X32 ABI version of the
+ library, meant for amd64 systems.
+
 Package: libc6-i686
 Architecture: i386
 Section: libs

Modified: glibc-package/branches/eglibc-2.16/debian/control.in/amd64
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/control.in/amd64	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/control.in/amd64	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,5 +1,5 @@
 Package: libc6-amd64
-Architecture: i386
+Architecture: i386 x32
 Section: libs
 Priority: standard
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -10,7 +10,7 @@
  of the library, meant for AMD64 systems.
 
 Package: libc6-dev-amd64
-Architecture: i386
+Architecture: i386 x32
 Section: libdevel
 Priority: optional
 Depends: libc6-amd64 (= ${binary:Version}), libc6-dev (= ${binary:Version}), ${misc:Depends}

Modified: glibc-package/branches/eglibc-2.16/debian/control.in/i386
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/control.in/i386	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/control.in/i386	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,5 +1,5 @@
 Package: libc6-i386
-Architecture: amd64
+Architecture: amd64 x32
 Section: libs
 Priority: optional
 Depends: libc6 (= ${binary:Version}), ${misc:Depends}
@@ -11,7 +11,7 @@
  This is the 32bit version of the library, meant for AMD64 systems.
 
 Package: libc6-dev-i386
-Architecture: amd64
+Architecture: amd64 x32
 Section: libdevel
 Priority: optional
 Provides: lib32c-dev

Modified: glibc-package/branches/eglibc-2.16/debian/control.in/libc
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/control.in/libc	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/control.in/libc	2012-10-25 13:00:08 UTC (rev 5326)
@@ -11,6 +11,7 @@
 Breaks: nscd (<< 2.13), locales (<< 2.13), locales-all (<< 2.13), lsb-core (<= 3.2-27) [amd64 ppc64 sparc64]
 Replaces: libc6-amd64 [amd64],
           libc6-i386 [i386],
+          libc6-x32 [x32],
           libc0.1-i386 [kfreebsd-i386],
           libc6-powerpc [powerpc],
           libc6-ppc64 [ppc64],

Modified: glibc-package/branches/eglibc-2.16/debian/control.in/main
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/control.in/main	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/control.in/main	2012-10-25 13:00:08 UTC (rev 5326)
@@ -3,12 +3,13 @@
 Priority: required
 Build-Depends: gettext, make (>= 3.80), dpkg-dev (>= 1.16.0), bzip2, xz-utils, file, quilt,
  autoconf, sed (>= 4.0.5-4), gawk, debhelper (>= 7.4.3), tar (>= 1.22), fdupes,
- linux-libc-dev (>= 3.2.1) [linux-any],
+ linux-libc-dev (>= 3.2.1) [linux-any], linux-libc-dev (>= 3.4) [amd64 i386 x32],
  libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any],
  mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20120520-2~) [hurd-i386], gnumach-dev [hurd-i386],
  kfreebsd-kernel-headers [kfreebsd-any],
  binutils (>= 2.21),
- g++-4.6, g++-4.6-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc]
+ g++-4.6 [!x32], g++-4.6-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc],
+ g++-4.7 [amd64 i386 x32], g++-4.7-multilib [amd64 i386 x32]
 Build-Depends-Indep: perl, po-debconf (>= 1.0)
 Build-Conflicts: binutils-gold
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>

Modified: glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc-bin.install
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc-bin.install	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc-bin.install	2012-10-25 13:00:08 UTC (rev 5326)
@@ -11,6 +11,8 @@
 debian/tmp-libc/usr/bin/ldd usr/bin
 debian/tmp-libc/usr/bin/localedef usr/bin
 debian/tmp-libc/usr/bin/locale usr/bin
+debian/tmp-libc/usr/bin/pldd usr/bin
+debian/tmp-libc/usr/bin/sotruss usr/bin
 debian/tmp-libc/usr/bin/tzselect usr/bin
 debian/tmp-libc/usr/lib/pt_chown usr/lib
 debian/tmp-libc/usr/sbin/iconvconfig usr/sbin

Modified: glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc.install
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc.install	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/debhelper.in/libc.install	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,6 +1,7 @@
 TMPDIR/lib/*.so* RTLDDIR
 TMPDIR/SLIBDIR/*.so* SLIBDIR
 TMPDIR/LIBDIR/gconv/* LIBDIR/gconv
+TMPDIR/LIBDIR/audit/* LIBDIR/audit
 
 TMPDIR/etc/ld.so.conf.d /etc
 

Modified: glibc-package/branches/eglibc-2.16/debian/patches/all/local-remove-manual.diff
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/all/local-remove-manual.diff	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/patches/all/local-remove-manual.diff	2012-10-25 13:00:08 UTC (rev 5326)
@@ -9,10 +9,12 @@
  sysdeps/mach/hurd/Makefile |    2 
  3 files changed, 256 insertions(+), 2 deletions(-)
 
---- /dev/null
-+++ b/manual/Makefile
-@@ -0,0 +1,254 @@
-+# Copyright (C) 1992-1999,2000,2001,2002,2003,2004,2006
+Index: b/manual/Makefile
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ b/manual/Makefile	2012-07-08 07:59:25.000000000 -0700
+@@ -0,0 +1,182 @@
++# Copyright (C) 1992-2012
 +#	Free Software Foundation, Inc.
 +# This file is part of the GNU C Library.
 +
@@ -27,45 +29,31 @@
 +# Lesser General Public License for more details.
 +
 +# You should have received a copy of the GNU Lesser General Public
-+# License along with the GNU C Library; if not, write to the Free
-+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+# 02111-1307 USA.
++# License along with the GNU C Library; if not, see
++# <http://www.gnu.org/licenses/>.
 +
 +# Makefile for the GNU C Library manual.
 +
 +subdir := manual
-+export subdir := $(subdir)
 +
 +# Allow override
 +INSTALL_INFO = install-info
 +
-+.PHONY: all dvi pdf info html
-+all: dvi
-+dvi: libc.dvi
-+pdf: libc.pdf
++.PHONY: dvi pdf info html
 +
 +# Get glibc's configuration info.
-+ifneq (,$(wildcard ../Makeconfig))
 +include ../Makeconfig
-+else
-+MAKEINFO = makeinfo
-+TEXI2DVI = texi2dvi
-+AWK = gawk
-+endif
 +
++dvi: $(objpfx)libc.dvi
++pdf: $(objpfx)libc.pdf
++
++TEXI2DVI = texi2dvi
 +TEXI2PDF = texi2dvi --pdf
 +
 +ifneq ($(strip $(MAKEINFO)),:)
-+all: info
-+info: libc.info
++info: $(objpfx)libc.info
 +endif
 +
-+# scripts we use
-+ifndef move-if-change
-+move-if-change = ./move-if-change
-+endif
-+mkinstalldirs = $(..)scripts/mkinstalldirs
-+
 +chapters = $(addsuffix .texi, \
 +		       intro errno memory ctype string charset locale	\
 +		       message search pattern io stdio llio filesys	\
@@ -73,11 +61,13 @@
 +		       resource setjmp signal startup process job nss	\
 +		       users sysinfo conf crypt debug)
 +add-chapters = $(wildcard $(foreach d, $(add-ons), ../$d/$d.texi))
-+appendices = lang.texi header.texi install.texi maint.texi contrib.texi \
-+	     freemanuals.texi
++appendices = lang.texi header.texi install.texi maint.texi platform.texi \
++	     contrib.texi
++licenses = freemanuals.texi lgpl-2.1.texi fdl-1.3.texi
 +
-+-include texis
-+texis: texis.awk $(chapters) $(add-chapters) $(appendices) lesser.texi fdl.texi
++-include $(objpfx)texis
++$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices) $(licenses)
++	$(make-target-directory)
 +	$(AWK) -f $^ > $@.T
 +	mv -f $@.T $@
 +
@@ -85,29 +75,45 @@
 +examples = $(filter-out $(foreach d, $(add-ons), ../$d/%.c.texi), \
 +			$(filter %.c.texi, $(texis)))
 +
++# Generated files directly included from libc.texinfo.
++libc-texi-generated = chapters.texi top-menu.texi dir-add.texi \
++		      libm-err.texi version.texi
++
++# Add path to build dir for generated files
++texis-path := $(filter-out $(libc-texi-generated) summary.texi $(examples), \
++				$(texis)) 				    \
++	 $(addprefix $(objpfx),$(filter $(libc-texi-generated) summary.texi \
++					$(examples), $(texis)))
++
 +# Kludge: implicit rule so Make knows the one command does it all.
-+chapters.% top-menu.%: libc-texinfo.sh $(texis) Makefile
-+	AWK=$(AWK) $(SHELL) $< '$(chapters)' '$(add-chapters)' '$(appendices)'
++chapters.% top-menu.%: libc-texinfo.sh $(texis-path) Makefile
++	AWK=$(AWK) $(SHELL) $< $(objpfx) \
++				'$(chapters)' \
++			       '$(add-chapters)' \
++			       '$(appendices) $(licenses)'
 +
-+libc.dvi libc.pdf libc.info: chapters.texi top-menu.texi dir-add.texi \
-+			     libm-err.texi
-+libc.dvi libc.pdf: texinfo.tex
 +
-+html: libc/index.html
-+libc/index.html: chapters.texi top-menu.texi dir-add.texi libm-err.texi
-+	$(MAKEINFO) --html libc.texinfo
++$(objpfx)libc.dvi $(objpfx)libc.pdf $(objpfx)libc.info: \
++	$(addprefix $(objpfx),$(libc-texi-generated))
++$(objpfx)libc.dvi $(objpfx)libc.pdf: texinfo.tex
 +
++html: $(objpfx)libc/index.html
++$(objpfx)libc/index.html: $(addprefix $(objpfx),$(libc-texi-generated))
++	$(MAKEINFO) -P $(objpfx) -o $(objpfx)libc --html libc.texinfo
++
 +# Generate the summary from the Texinfo source files for each chapter.
-+summary.texi: stamp-summary ;
-+stamp-summary: summary.awk $(filter-out summary.texi, $(texis))
-+	$(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' > summary-tmp
-+	$(move-if-change) summary-tmp summary.texi
++$(objpfx)summary.texi: $(objpfx)stamp-summary ;
++$(objpfx)stamp-summary: summary.awk $(filter-out $(objpfx)summary.texi, \
++					$(texis-path))
++	$(AWK) -f $^ | sort -t'' -df -k 1,1 | tr '\014' '\012' \
++		> $(objpfx)summary-tmp
++	$(move-if-change) $(objpfx)summary-tmp $(objpfx)summary.texi
 +	touch $@
 +
 +# Generate a file which can be added to the `dir' content to provide direct
 +# access to the documentation of the function, variables, and other
 +# definitions.
-+dir-add.texi: xtract-typefun.awk $(texis)
++$(objpfx)dir-add.texi: xtract-typefun.awk $(texis-path)
 +	(echo "@dircategory GNU C library functions and macros";	\
 +	 echo "@direntry";						\
 +	 $(AWK) -f $^ | sort;						\
@@ -115,83 +121,62 @@
 +	mv -f $@.new $@
 +
 +# The table with the math errors is generated.
-+libm-err.texi: stamp-libm-err
-+stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
++$(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
++$(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
 +						     $(dir)/libm-test-ulps))
 +	pwd=`pwd`; \
-+	$(PERL) $< $$pwd/.. > libm-err-tmp
-+	$(move-if-change) libm-err-tmp libm-err.texi
++	$(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp
++	$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
 +	touch $@
 +
++# Generate a file with the version number.
++$(objpfx)version.texi: $(objpfx)stamp-version ;
++$(objpfx)stamp-version: $(common-objpfx)config.make
++	echo "@set VERSION $(version)" > $(objpfx)version-tmp
++	$(move-if-change) $(objpfx)version-tmp $(objpfx)version.texi
++	touch $@
++
 +# Generate Texinfo files from the C source for the example programs.
-+%.c.texi: examples/%.c
-+	sed -e 's,[{}],@&,g'				\
++$(objpfx)%.c.texi: examples/%.c
++	sed -e '1,/^\*\/$$/d'				\
++	    -e 's,[{}],@&,g'				\
 +	    -e 's,/\*\(@.*\)\*/,\1,g'			\
 +	    -e 's,/\*  *,/* @r{,g' -e 's,  *\*/,} */,'	\
 +	    -e 's/\(@[a-z][a-z]*\)@{\([^}]*\)@}/\1{\2}/g'\
 +	    $< | expand > $@.new
 +	mv -f $@.new $@
 +
-+%.info: %.texinfo
-+	LANGUAGE=C LC_ALL=C $(MAKEINFO) $<
++$(objpfx)%.info: %.texinfo
++	LANGUAGE=C LC_ALL=C $(MAKEINFO) -P $(objpfx) --output=$@ $<
 +
-+%.dvi: %.texinfo
-+	$(TEXI2DVI) $<
++$(objpfx)%.dvi: %.texinfo
++	cd $(objpfx);$(TEXI2DVI) -I $(shell cd $(<D) && pwd) --output=$@ \
++				$(shell cd $(<D) && pwd)/$<
 +
-+%.pdf: %.texinfo
-+	$(TEXI2PDF) $<
++$(objpfx)%.pdf: %.texinfo
++	cd $(objpfx);$(TEXI2PDF) -I $(shell cd $(<D) && pwd) --output=$@ \
++				$(shell cd $(<D) && pwd)/$<
 +
++
 +# Distribution.
 +minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \
 +	       libm-err.texi stamp-libm-err				    \
 +	       $(filter-out summary.texi, $(nonexamples))		    \
 +	       $(patsubst %.c.texi,examples/%.c, $(examples))
 +
-+doc-only-dist = Makefile COPYING.LIB
-+distribute = $(minimal-dist) $(examples) stdio-fp.c	\
-+	     libc.info* libc.?? libc.??s texinfo.tex	\
-+	     xtract-typefun.awk dir-add.texi dir libm-err-tab.pl
-+export distribute := $(distribute)
-+
-+tar-it = tar chovf $@ $^
-+
-+manual.tar: $(doc-only-dist) $(minimal-dist) ; $(tar-it)
-+mandist.tar: $(doc-only-dist) $(distribute) ; $(tar-it)
-+
-+edition := $(shell sed -n 's/^@set EDITION \([0-9][0-9.]*\)[^0-9.]*.*$$/\1/p' \
-+		       libc.texinfo)
-+
-+glibc-doc-$(edition).tar: $(doc-only-dist) $(distribute)
-+	@rm -f glibc-doc-$(edition)
-+	ln -s . glibc-doc-$(edition)
-+	tar chovf $@ $(addprefix glibc-doc-$(edition)/,$^)
-+	rm -f glibc-doc-$(edition)
-+
-+%.Z: %
-+	compress -c $< > $@.new
-+	mv -f $@.new $@
-+%.gz: %
-+	gzip -9 -c $< > $@.new
-+	mv -f $@.new $@
-+%.uu: %
-+	uuencode $< < $< > $@.new
-+	mv -f $@.new $@
-+
-+.PHONY: mostlyclean distclean realclean clean
-+mostlyclean:
-+	-rm -f libc.dvi libc.pdf libc.tmp libc.info*
-+	-rm -f $(objpfx)stubs
-+	-rm -f $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o)
-+clean: mostlyclean
-+distclean: clean
 +indices = cp fn pg tp vr ky
-+realclean: distclean
-+	-rm -f texis summary.texi stamp-summary *.c.texi dir-add.texi
-+	-rm -f $(foreach index,$(indices),libc.$(index) libc.$(index)s)
-+	-rm -f libc.log libc.aux libc.toc dir-add.texinfo
-+	-rm -f top-menu.texi chapters.texi
++generated-dirs := libc
++generated = libc.dvi libc.pdf libc.tmp libc.info*			    \
++	stubs								    \
++	texis summary.texi stamp-summary *.c.texi			    \
++	$(foreach index,$(indices),libc.$(index) libc.$(index)s)	    \
++	libc.log libc.aux libc.toc					    \
++	$(libc-texi-generated)						    \
++	stamp-libm-err stamp-version
 +
-+.PHONY: install subdir_install installdirs install-data
++include ../Rules
++
++.PHONY: install subdir_install install-data
 +install-data subdir_install: install
 +ifneq ($(strip $(MAKEINFO)),:)
 +install: $(inst_infodir)/libc.info
@@ -203,71 +188,18 @@
 +# Catchall implicit rule for other installation targets from the parent.
 +install-%: ;
 +
-+$(inst_infodir)/libc.info: libc.info installdirs
++$(inst_infodir)/libc.info: $(objpfx)libc.info
++	$(make-target-directory)
 +	for file in $<*; do \
-+	  $(INSTALL_DATA) $$file $(@D)/$$file; \
++	  $(INSTALL_DATA) $$file $(@D)/; \
 +	done
 +
-+installdirs:
-+	$(mkinstalldirs) $(inst_infodir)
-+
-+.PHONY: dist
-+dist: # glibc-doc-$(edition).tar.gz
-+
-+ifneq (,$(wildcard ../Make-dist))
-+dist: ../Make-dist
-+	$(MAKE) -f $< $(Make-dist-args)
-+endif
-+
-+ifndef ETAGS
-+ETAGS = etags -T
-+endif
 +TAGS: $(minimal-dist)
 +	$(ETAGS) -o $@ $^
-+
-+# The parent makefile sometimes invokes us with targets `subdir_REAL-TARGET'.
-+subdir_%: % ;
-+# For targets we don't define, do nothing.
-+subdir_%: ;
-+
-+# These are targets that each glibc subdirectory is expected to understand.
-+# ../Rules defines them for code subdirectories; for us, they are no-ops.
-+# None of these should be `subdir_TARGET'; those targets are transformed
-+# by the implicit rule above into `TARGET' deps.
-+glibc-targets	:= lib objects objs others tests xtests lint.out echo-headers
-+.PHONY: $(glibc-targets)
-+$(glibc-targets):
-+
-+# Create stamp files if they don't exist, so the parent makefile's rules for
-+# updating the library archives are happy with us, and never think we have
-+# changed the library.
-+lib: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o)
-+ifdef objpfx
-+.PHONY: stubs
-+stubs: $(objpfx)stubs
-+endif
-+$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
-+	$(make-target-directory)
-+	touch $@
-+
-+# Make the target directory if it doesn't exist, using the `mkinstalldirs'
-+# script that does `mkdir -p' even if `mkdir' doesn't support that flag.
-+define make-target-directory
-+$(addprefix $(mkinstalldirs) ,\
-+	    $(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%)))
-+endef
-+
-+# The top-level glibc Makefile expects subdir_install to update the stubs file.
-+subdir_install: stubs
-+
-+# Get rid of these variables if they came from the parent.
-+routines =
-+aux =
-+sources =
-+objects =
-+headers =
---- a/sysdeps/gnu/Makefile
-+++ b/sysdeps/gnu/Makefile
+Index: b/sysdeps/gnu/Makefile
+===================================================================
+--- a/sysdeps/gnu/Makefile	2012-02-17 18:24:59.000000000 -0800
++++ b/sysdeps/gnu/Makefile	2012-10-16 09:25:03.000000000 -0700
 @@ -19,7 +19,7 @@
  # Generate the list of strings for errno codes from the section of the
  # manual which documents the codes.
@@ -277,8 +209,10 @@
  			    $(..)manual/errno.texi
  	$(AWK) -f $^ > $@-tmp
  # Make it unwritable so noone will edit it by mistake.
---- a/sysdeps/mach/hurd/Makefile
-+++ b/sysdeps/mach/hurd/Makefile
+Index: b/sysdeps/mach/hurd/Makefile
+===================================================================
+--- a/sysdeps/mach/hurd/Makefile	2012-10-16 09:25:03.000000000 -0700
++++ b/sysdeps/mach/hurd/Makefile	2012-10-16 09:25:03.000000000 -0700
 @@ -85,7 +85,7 @@
  	    -e 's, \.\./, $(..),g' > $@t
  	mv -f $@t $@

Modified: glibc-package/branches/eglibc-2.16/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/series	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/patches/series	2012-10-25 13:00:08 UTC (rev 5326)
@@ -224,3 +224,4 @@
 any/submitted-resolv-first-query-failure.diff
 any/local-revert-fclose-posix2008.diff
 any/local-disable-libnss-db.diff
+any/cvs-malloc-arena.diff

Modified: glibc-package/branches/eglibc-2.16/debian/rules
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules	2012-10-25 13:00:08 UTC (rev 5326)
@@ -184,6 +184,9 @@
 	rm -rf $(build-tree)
 	rm -rf $(stamp)
 	rm -rf debian/include
+	rm -f debian/control.in/libc0.1 debian/control.in/libc0.3 \
+		debian/control.in/libc6 debian/control.in/libc6.1 \
+		debian/*.preinst.* debian/locales.bug-presubj
 
 # Required Debian targets
 build-arch: $(stamp)info \

Modified: glibc-package/branches/eglibc-2.16/debian/rules.d/build.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules.d/build.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules.d/build.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -147,7 +147,7 @@
 	  install_root=$(CURDIR)/debian/tmp-$(curpass) install
 
 	# Generate gconv-modules.cache
-	case $(curpass)-$(call xx,slibdir) in libc-* | *-/lib32 | *-/lib64) \
+	case $(curpass)-$(call xx,slibdir) in libc-* | *-/lib32 | *-/lib64 | *-/libx32) \
 	  /usr/sbin/iconvconfig --nostdlib --prefix=$(CURDIR)/debian/tmp-$(curpass) \
 				-o $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)/gconv/gconv-modules.cache \
 				$(call xx,libdir)/gconv \
@@ -185,7 +185,7 @@
 	# the multiarch ld.so doesn't look at the (non-standard) /lib32, so we
 	# need path compatibility when biarch and multiarch packages are both
 	# installed.
-	case $(call xx,slibdir) in /lib32 | /lib64) \
+	case $(call xx,slibdir) in /lib32 | /lib64 | /libx32) \
 	  mkdir -p debian/tmp-$(curpass)/etc/ld.so.conf.d; \
 	  conffile="debian/tmp-$(curpass)/etc/ld.so.conf.d/zz_$(curpass)-biarch-compat.conf"; \
 	  echo "# Legacy biarch compatibility support" > $$conffile; \

Modified: glibc-package/branches/eglibc-2.16/debian/rules.d/control.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules.d/control.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules.d/control.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,7 +1,7 @@
 libc_packages := libc6 libc6.1 libc0.1 libc0.3
 libc0_1_archs := kfreebsd-amd64 kfreebsd-i386
 libc0_3_archs := hurd-i386
-libc6_archs   := amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4
+libc6_archs   := amd64 arm armel armhf hppa i386 m68k mips mipsel powerpc powerpcspe ppc64 sparc sparc64 s390 s390x sh4 x32
 libc6_1_archs := alpha ia64
 
 control_deps := $(wildcard debian/control.in/*) $(addprefix debian/control.in/, $(libc_packages))
@@ -35,6 +35,7 @@
 	cat debian/control.in/mipsn32		>> $@T
 	cat debian/control.in/mips64		>> $@T
 	cat debian/control.in/kfreebsd-i386	>> $@T
+	cat debian/control.in/x32		>> $@T
 	cat debian/control.in/opt		>> $@T
 	cat debian/control.in/libnss-dns-udeb	>> $@T
 	cat debian/control.in/libnss-files-udeb	>> $@T

Modified: glibc-package/branches/eglibc-2.16/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules.d/debhelper.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules.d/debhelper.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -183,7 +183,7 @@
 	    pass="" \
 	    suffix="" \
 	    ;; \
-	  *:/lib32 | *:/lib64) \
+	  *:/lib32 | *:/lib64 | *:/libx32) \
 	    templates="libc libc-dev" \
 	    pass="-alt" \
 	    suffix="-$(curpass)" \

Modified: glibc-package/branches/eglibc-2.16/debian/rules.d/quilt.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules.d/quilt.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules.d/quilt.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -34,6 +34,10 @@
 	rm -f $(stamp)patch
 
 refresh: unpatch
+	@if $(QUILT) previous >/dev/null 2>&1; then \
+	  echo "Unapplying Debian patches..." ; \
+	  $(QUILT) pop -a -v ; \
+	fi
 	@while $(QUILT) next ; do \
 	  $(QUILT) push ; \
 	  $(QUILT) refresh ; \

Modified: glibc-package/branches/eglibc-2.16/debian/rules.d/tarball.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/rules.d/tarball.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/rules.d/tarball.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,6 +1,7 @@
 EGLIBC_SVN = svn://svn.eglibc.org
 EGLIBC_BRANCH = branches/eglibc-$(shell echo $(EGLIBC_VERSION) | sed -e 's/\([0-9]\+\)\.\([0-9]\+\).*/\1_\2/')
 EGLIBC_CHECKOUT = eglibc-checkout
+EGLIBC_CHECKOUT_REV = -r19383
 EGLIBC_DIR = eglibc-$(EGLIBC_VERSION)
 DEB_ORIG = ../eglibc_$(EGLIBC_VERSION).orig.tar.xz
 DEB_ORIG_REVISION = $(shell cat .svn-revision 2> /dev/null)
@@ -9,7 +10,8 @@
 get-orig-source: $(DEB_ORIG)
 $(DEB_ORIG):
 	dh_testdir
-	svn co $(EGLIBC_SVN)/$(EGLIBC_BRANCH) $(EGLIBC_CHECKOUT)
+	svn co $(EGLIBC_CHECKOUT_REV) \
+		$(EGLIBC_SVN)/$(EGLIBC_BRANCH) $(EGLIBC_CHECKOUT)
 	svn export $(EGLIBC_CHECKOUT)/libc $(EGLIBC_DIR)
 	svn export $(EGLIBC_CHECKOUT)/linuxthreads/linuxthreads $(EGLIBC_DIR)/linuxthreads
 	svn export $(EGLIBC_CHECKOUT)/linuxthreads/linuxthreads_db $(EGLIBC_DIR)/linuxthreads_db

Modified: glibc-package/branches/eglibc-2.16/debian/sysdeps/amd64.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/sysdeps/amd64.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/sysdeps/amd64.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,3 +1,4 @@
+libc_MIN_KERNEL_SUPPORTED = 3.4.0
 libc_rtlddir = /lib64
 extra_config_options = --enable-multi-arch
 
@@ -37,3 +38,23 @@
 ln -sf /lib32/ld-linux.so.2 debian/libc6-i386/lib
 endef
 
+# build x32 ABI alternative library
+EGLIBC_PASSES += x32
+DEB_ARCH_REGULAR_PACKAGES += libc6-x32 libc6-dev-x32
+libc6-x32_shlib_dep = libc6-x32 (>= $(shlib_dep_ver))
+x32_add-ons = nptl $(add-ons)
+x32_configure_target = x86_64-linux-gnux32
+x32_CC = gcc-4.7 -mx32
+x32_CXX = g++-4.7 -mx32
+x32_extra_config_options = $(extra_config_options) --disable-profile
+x32_slibdir = /libx32
+x32_libdir = /usr/libx32
+
+define libc6-dev-x32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-x32/usr/include/x86_64-linux-gnu/gnu
+cp -a debian/tmp-x32/usr/include/gnu/stubs-x32.h \
+	debian/libc6-dev-x32/usr/include/x86_64-linux-gnu/gnu
+
+endef
+

Modified: glibc-package/branches/eglibc-2.16/debian/sysdeps/i386.mk
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/sysdeps/i386.mk	2012-10-19 18:25:16 UTC (rev 5325)
+++ glibc-package/branches/eglibc-2.16/debian/sysdeps/i386.mk	2012-10-25 13:00:08 UTC (rev 5326)
@@ -1,3 +1,4 @@
+libc_MIN_KERNEL_SUPPORTED = 3.4.0
 extra_config_options = --enable-multi-arch
 
 # We use -march=i686 and glibc's i686 routines use cmov, so require it.
@@ -74,3 +75,23 @@
 done
 
 endef
+
+# build x32 ABI alternative library
+EGLIBC_PASSES += x32
+DEB_ARCH_REGULAR_PACKAGES += libc6-x32 libc6-dev-x32
+libc6-x32_shlib_dep = libc6-x32 (>= $(shlib_dep_ver))
+x32_add-ons = nptl $(add-ons)
+x32_configure_target = x86_64-linux-gnux32
+x32_CC = gcc-4.7 -mx32
+x32_CXX = g++-4.7 -mx32
+x32_extra_config_options = $(extra_config_options) --disable-profile
+x32_slibdir = /libx32
+x32_libdir = /usr/libx32
+
+define libc6-dev-x32_extra_pkg_install
+
+mkdir -p debian/libc6-dev-x32/usr/include/i386-linux-gnu/gnu
+cp -a debian/tmp-x32/usr/include/gnu/stubs-x32.h \
+	debian/libc6-dev-x32/usr/include/i386-linux-gnu/gnu
+
+endef


Reply to: