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 <aure...@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


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1trn2f-000756...@vasks.debian.org

Reply via email to