summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Volynets <iluxa@gentoo.org>2004-06-04 07:30:53 +0000
committerIlya Volynets <iluxa@gentoo.org>2004-06-04 07:30:53 +0000
commit006800bdfaf0a7e581e9aa080cec5441ee87e244 (patch)
tree17f1356fb5515db588888060256897ccadefdc99 /sys-libs
parentMoved from sys-apps/squashfs-tools to sys-fs/squashfs-tools. (diff)
downloadgentoo-2-006800bdfaf0a7e581e9aa080cec5441ee87e244.tar.gz
gentoo-2-006800bdfaf0a7e581e9aa080cec5441ee87e244.tar.bz2
gentoo-2-006800bdfaf0a7e581e9aa080cec5441ee87e244.zip
n32/n64 patchs, also add --build/--host parameters to configure
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/ChangeLog12
-rw-r--r--sys-libs/glibc/files/2.3.3/mips-addabi.diff52
-rw-r--r--sys-libs/glibc/files/2.3.3/mips-nolib3264.diff32
-rw-r--r--sys-libs/glibc/files/2.3.3/mips-syscall.h.diff30
-rw-r--r--sys-libs/glibc/files/2.3.3/mips-sysify.diff52
-rw-r--r--sys-libs/glibc/files/2.3.3/semtimedop.diff12
-rw-r--r--sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild10
-rw-r--r--sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild17
-rw-r--r--sys-libs/glibc/glibc-2.3.4.20040602.ebuild23
9 files changed, 226 insertions, 14 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index fca6e005fd5b..9d8d70d004ac 100644
--- a/sys-libs/glibc/ChangeLog
+++ b/sys-libs/glibc/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-libs/glibc
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.167 2004/06/04 03:33:41 tgall Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.168 2004/06/04 07:30:53 iluxa Exp $
+
+ 03 Jun 2004; Ilya A. Volynets-Evenbach <iluxa@gentoo.org>
+ +files/2.3.3/mips-addabi.diff, +files/2.3.3/mips-syscall.h.diff,
+ +files/2.3.3/mips-sysify.diff, +files/2.3.3/semtimedop.diff,
+ glibc-2.3.3_pre20040420-r1.ebuild, glibc-2.3.3_pre20040529.ebuild,
+ glibc-2.3.4.20040602.ebuild:
+ Add n32/n64 patches. Some of them are not quite ready, but it
+ shouldn't make any matters worse - o32 should not be affected
+ in any way.
+ Also add ${CHOST} and ${CCHOST} to configure (--build/--host)
03 Jun 2004; Tom Gall <tgall@gentoo.org> glibc-2.3.3_pre20040529.ebuild:
stable on ppc64
diff --git a/sys-libs/glibc/files/2.3.3/mips-addabi.diff b/sys-libs/glibc/files/2.3.3/mips-addabi.diff
new file mode 100644
index 000000000000..692e0e114985
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.3/mips-addabi.diff
@@ -0,0 +1,52 @@
+Index: sysdeps/mips/mips64/n32/Makefile
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/mips/mips64/n32/Makefile,v
+retrieving revision 1.2
+diff -u -r1.2 Makefile
+--- sysdeps/mips/mips64/n32/Makefile 29 Mar 2003 08:15:28 -0000 1.2
++++ sysdeps/mips/mips64/n32/Makefile 14 May 2004 05:32:32 -0000
+@@ -2,5 +2,9 @@
+ long-double-fcts = yes
+
+ ifeq ($(filter -mabi=n32,$(CC)),)
+-CC += -mabi=n32
++CC += -mabi=n32
+ endif
++ifeq ($(filter "-Wl,-m,elf32btsmipn32",$(LD)),)
++LD += -Wl,-m,elf32btsmipn32
++endif
++ABI_FLAG= -Wl,-m,elf32btsmipn32
+Index: sysdeps/mips/mips64/n64/Makefile
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/mips/mips64/n64/Makefile,v
+retrieving revision 1.2
+diff -u -r1.2 Makefile
+--- sysdeps/mips/mips64/n64/Makefile 29 Mar 2003 08:15:28 -0000 1.2
++++ sysdeps/mips/mips64/n64/Makefile 14 May 2004 05:32:32 -0000
+@@ -4,3 +4,10 @@
+ ifeq ($(filter -mabi=64,$(CC)),)
+ CC += -mabi=64
+ endif
++ifeq ($(filter "-Wl,-m,elf64btsmip",$(LDFLAGS)),)
++LDFLAGS += -Wl,-m,elf64btsmip
++endif
++ifeq ($(filter "-Wl,-m,elf64btsmip",$(ASFLAGS-.os)),)
++ASFLAGS-.os += -Wl,-m,elf64btsmip
++endif
++ABI_FLAG= -Wl,-m,elf64btsmip
+Index: csu/Makefile
+===================================================================
+RCS file: /cvs/glibc/libc/csu/Makefile,v
+retrieving revision 1.73
+diff -u -r1.73 Makefile
+--- csu/Makefile 8 Mar 2004 21:28:15 -0000 1.73
++++ csu/Makefile 14 May 2004 05:32:18 -0000
+@@ -146,7 +147,7 @@
+ subdir_lib: $(extra-objs:%=$(objpfx)%)
+
+ define link-relocatable
+-$(CC) -nostdlib -nostartfiles -r -o $@ $^
++$(CC) $(ABI_FLAG) -nostdlib -nostartfiles -r -o $@ $^
+ endef
+
+ ifndef start-installed-name-rule
diff --git a/sys-libs/glibc/files/2.3.3/mips-nolib3264.diff b/sys-libs/glibc/files/2.3.3/mips-nolib3264.diff
new file mode 100644
index 000000000000..eb4fed8e656d
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.3/mips-nolib3264.diff
@@ -0,0 +1,32 @@
+Index: sysdeps/unix/sysv/linux/configure
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/configure,v
+retrieving revision 1.86
+diff -u -r1.86 configure
+--- sysdeps/unix/sysv/linux/configure 23 Mar 2003 02:10:04 -0000 1.86
++++ sysdeps/unix/sysv/linux/configure 1 Jun 2004 04:25:42 -0000
+@@ -224,8 +224,7 @@
+ /usr | /usr/)
+ # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib
+ case $machine in
+- sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \
+- mips/mips64/n64/* )
++ sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 )
+ libc_cv_slibdir="/lib64"
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir='${exec_prefix}/lib64';
+@@ -233,14 +232,6 @@
+ libc_cv_localedir='${exec_prefix}/lib/locale'
+ fi
+ ;;
+- mips/mips64/n32/* )
+- libc_cv_slibdir="/lib32"
+- if test "$libdir" = '${exec_prefix}/lib'; then
+- libdir='${exec_prefix}/lib32';
+- # Locale data can be shared between 32bit and 64bit libraries
+- libc_cv_localedir='${exec_prefix}/lib/locale'
+- fi
+- ;;
+ *)
+ libc_cv_slibdir="/lib"
+ ;;
diff --git a/sys-libs/glibc/files/2.3.3/mips-syscall.h.diff b/sys-libs/glibc/files/2.3.3/mips-syscall.h.diff
new file mode 100644
index 000000000000..fdbd3b9058bc
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.3/mips-syscall.h.diff
@@ -0,0 +1,30 @@
+This patch actually makes file identical to default implementaion..
+
+Index: sysdeps/unix/sysv/linux/mips/sys/syscall.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/sys/syscall.h,v
+retrieving revision 1.8
+diff -u -r1.8 syscall.h
+--- sysdeps/unix/sysv/linux/mips/sys/syscall.h 17 Mar 2003 15:50:05 -0000 1.8
++++ sysdeps/unix/sysv/linux/mips/sys/syscall.h 14 May 2004 17:03:29 -0000
+@@ -19,17 +19,10 @@
+ #ifndef _SYSCALL_H
+ #define _SYSCALL_H 1
+
+-/* This file should list the numbers of the system the system knows.
+- But instead of duplicating this we use the information available
+- from the kernel sources. */
+-#ifdef _LIBC
+-/* Since the kernel doesn't define macro names in a way usable for
+- glibc, we preprocess this header, and use it during the glibc build
+- process. */
+-# include <asm-unistd.h>
+-#else
++/* This file should list the numbers of the system calls the system
++ knows. But instead of duplicating this we use the information
++ available from the kernel sources. */
+ # include <asm/unistd.h>
+-#endif
+
+ #ifndef _LIBC
+ /* The Linux kernel header file defines macros `__NR_<name>', but some
diff --git a/sys-libs/glibc/files/2.3.3/mips-sysify.diff b/sys-libs/glibc/files/2.3.3/mips-sysify.diff
new file mode 100644
index 000000000000..09b1adbb6fbc
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.3/mips-sysify.diff
@@ -0,0 +1,52 @@
+Index: sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h,v
+retrieving revision 1.3
+diff -u -r1.3 sysdep.h
+--- sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h 1 Oct 2003 06:59:39 -0000 1.3
++++ sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h 14 May 2004 19:01:28 -0000
+@@ -28,9 +28,9 @@
+ so we have to redefine the `SYS_ify' macro here. */
+ #undef SYS_ify
+ #ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_N32_##syscall_name
++# define SYS_ify(syscall_name) __NR_##syscall_name
+ #else
+-# define SYS_ify(syscall_name) __NR_N32_/**/syscall_name
++# define SYS_ify(syscall_name) __NR_/**/syscall_name
+ #endif
+
+ #ifdef __ASSEMBLER__
+Index: sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h,v
+retrieving revision 1.3
+diff -u -r1.3 sysdep.h
+--- sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h 1 Oct 2003 06:59:40 -0000 1.3
++++ sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h 14 May 2004 19:01:28 -0000
+@@ -28,9 +28,9 @@
+ so we have to redefine the `SYS_ify' macro here. */
+ #undef SYS_ify
+ #ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_N64_##syscall_name
++# define SYS_ify(syscall_name) __NR_##syscall_name
+ #else
+-# define SYS_ify(syscall_name) __NR_N64_/**/syscall_name
++# define SYS_ify(syscall_name) __NR_/**/syscall_name
+ #endif
+
+ #ifdef __ASSEMBLER__
+--- sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h.orig 2004-05-18 14:51:16.000000000 -0700
++++ sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h 2004-05-19 15:07:23.000000000 -0700
+@@ -28,9 +28,9 @@
+ so we have to redefine the `SYS_ify' macro here. */
+ #undef SYS_ify
+ #ifdef __STDC__
+-# define SYS_ify(syscall_name) __NR_O32_##syscall_name
++# define SYS_ify(syscall_name) __NR_##syscall_name
+ #else
+-# define SYS_ify(syscall_name) __NR_O32_/**/syscall_name
++# define SYS_ify(syscall_name) __NR_/**/syscall_name
+ #endif
+
+ #endif /* linux/mips/mips32/kern64/sysdep.h */
diff --git a/sys-libs/glibc/files/2.3.3/semtimedop.diff b/sys-libs/glibc/files/2.3.3/semtimedop.diff
new file mode 100644
index 000000000000..47132afd11b8
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.3/semtimedop.diff
@@ -0,0 +1,12 @@
+Index: sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list,v
+retrieving revision 1.2
+diff -u -r1.2 syscalls.list
+--- sysdeps/unix/sysv/linux/mips/mips64/syscalls.list 3 Sep 2003 03:16:25 -0000 1.2
++++ sysdeps/unix/sysv/linux/mips/mips64/syscalls.list 14 May 2004 05:32:37 -0000
+@@ -18,3 +18,4 @@
+ semop - semop i:ipi __semop semop
+ semget - semget i:iii __semget semget
+ semctl - semctl i:iiii __semctl semctl
++semtimedop - semtimedop i:ipip semtimedop
diff --git a/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild b/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild
index a51cc3a86346..eb97b481f893 100644
--- a/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild
+++ b/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild,v 1.4 2004/06/02 21:23:05 pvdabeel Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild,v 1.5 2004/06/04 07:30:53 iluxa Exp $
-IUSE="nls pic build nptl erandom"
+IUSE="nls pic build nptl erandom n32 n64"
inherit eutils flag-o-matic gcc
@@ -387,9 +387,13 @@ src_unpack() {
epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-librt-mips.patch
epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-add-n32-n64-sysdep-cancel.patch
epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-configure-for-n64-symver.patch
- epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-pread-linux2.5.patch
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-dl-machine-calls.diff
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-incl-sgidefs.diff
+ epatch ${FILESDIR}/2.3.3/mips-addabi.diff
+ epatch ${FILESDIR}/2.3.3/mips-syscall.h.diff
+ epatch ${FILESDIR}/2.3.3/semtimedop.diff
+ epatch ${FILESDIR}/2.3.3/mips-sysify.diff
+ epatch ${FILESDIR}/2.3.3/mips-n32n64regs.diff
fi
if [ "${ARCH}" = "alpha" ]
diff --git a/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild b/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild
index 814e1d6211a5..9d96cbce4aa8 100644
--- a/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild
+++ b/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild,v 1.8 2004/06/04 03:33:41 tgall Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild,v 1.9 2004/06/04 07:30:53 iluxa Exp $
-IUSE="nls pic build nptl erandom hardened"
+IUSE="nls pic build nptl erandom hardened multilib"
inherit eutils flag-o-matic gcc
@@ -33,6 +33,9 @@ strip-flags
# Lock glibc at -O2 -- linuxthreads needs it and we want to be conservative here
export CFLAGS="${CFLAGS//-O?} -O2"
+# Clear -f-unit-at-a-time, which kills gcc-3.4.0
+export CFLAGS="${CFLAGS//-funit-at-a-time} -fno-unit-at-a-time"
+
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS//-Wl,--relax}"
@@ -377,16 +380,22 @@ src_unpack() {
# do can be found in the patch headers.
# <tuxus@gentoo.org> thx <dragon@gentoo.org> (11 Jan 2003)
# <kumba@gentoo.org> remove tst-rndseek-mips & ulps-mips patches
+ # <iluxa@gentoo.org> add n32/n64 patches, remove pread patch
if [ "${ARCH}" = "mips" ]
then
cd ${S}
epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-fpu-cw-mips.patch
epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-librt-mips.patch
- epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-add-n32-n64-sysdep-cancel.patch
epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-configure-for-n64-symver.patch
- epatch ${FILESDIR}/2.3.2/${LOCAL_P}-mips-pread-linux2.5.patch
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-dl-machine-calls.diff
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-incl-sgidefs.diff
+ epatch ${FILESDIR}/2.3.3/mips-addabi.diff
+ epatch ${FILESDIR}/2.3.3/mips-syscall.h.diff
+ epatch ${FILESDIR}/2.3.3/semtimedop.diff
+ epatch ${FILESDIR}/2.3.3/mips-sysify.diff
+ # Need to install into /lib for n32-only userland for now.
+ # Propper solution is to make all userland /lib{32|64}-aware.
+ use multilib || epatch ${FILESDIR}/2.3.3/mips-nolib3264.diff
fi
if [ "${ARCH}" = "alpha" ]
diff --git a/sys-libs/glibc/glibc-2.3.4.20040602.ebuild b/sys-libs/glibc/glibc-2.3.4.20040602.ebuild
index 0f6aab5e0bf3..ef84e33e3a2a 100644
--- a/sys-libs/glibc/glibc-2.3.4.20040602.ebuild
+++ b/sys-libs/glibc/glibc-2.3.4.20040602.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040602.ebuild,v 1.7 2004/06/04 05:11:07 lv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040602.ebuild,v 1.8 2004/06/04 07:30:53 iluxa Exp $
-IUSE="nls pic build nptl erandom hardened makecheck"
+IUSE="nls pic build nptl erandom hardened makecheck multilib"
inherit eutils flag-o-matic gcc
@@ -63,6 +63,9 @@ RDEPEND="virtual/os-headers
PROVIDE="virtual/glibc"
+# theoretical x-compiler support
+[ -z "${CCHOST}" ] && CCHOST="${CHOST}"
+
setup_flags() {
# -freorder-blocks for all but ia64 s390 s390x
use ppc || append-flags "-freorder-blocks"
@@ -274,16 +277,21 @@ src_unpack() {
# do can be found in the patch headers.
# <tuxus@gentoo.org> thx <dragon@gentoo.org> (11 Jan 2003)
# <kumba@gentoo.org> remove tst-rndseek-mips & ulps-mips patches
+ # <iluxa@gentoo.org> add n32/n64 patches, remove pread patch
if [ "${ARCH}" = "mips" ]
then
cd ${S}
epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-fpu-cw-mips.patch
epatch ${FILESDIR}/2.3.1/${PN}-2.3.1-librt-mips.patch
- epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-mips-add-n32-n64-sysdep-cancel.patch
- epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-mips-configure-for-n64-symver.patch
- epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-mips-pread-linux2.5.patch
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-dl-machine-calls.diff
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3_pre20040420-mips-incl-sgidefs.diff
+ epatch ${FILESDIR}/2.3.3/mips-addabi.diff
+ epatch ${FILESDIR}/2.3.3/mips-syscall.h.diff
+ epatch ${FILESDIR}/2.3.3/semtimedop.diff
+ epatch ${FILESDIR}/2.3.3/mips-sysify.diff
+ # Need to install into /lib for n32-only userland for now.
+ # Propper solution is to make all userland /lib{32|64}-aware.
+ use multilib || epatch ${FILESDIR}/2.3.3/mips-nolib3264.diff
fi
if [ "${ARCH}" = "alpha" ]
@@ -365,7 +373,10 @@ src_compile() {
rm -rf ${WORKDIR}/build
mkdir -p ${WORKDIR}/build
cd ${WORKDIR}/build
- ${S}/configure --disable-profile \
+ ${S}/configure \
+ --build=${CHOST} \
+ --host=${CCHOST} \
+ --disable-profile \
--without-gd \
--without-cvs \
--with-headers=/usr/include \