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: