diff options
author | Ilya Volynets <iluxa@gentoo.org> | 2004-06-04 07:30:53 +0000 |
---|---|---|
committer | Ilya Volynets <iluxa@gentoo.org> | 2004-06-04 07:30:53 +0000 |
commit | 006800bdfaf0a7e581e9aa080cec5441ee87e244 (patch) | |
tree | 17f1356fb5515db588888060256897ccadefdc99 /sys-libs | |
parent | Moved from sys-apps/squashfs-tools to sys-fs/squashfs-tools. (diff) | |
download | gentoo-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/ChangeLog | 12 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.3/mips-addabi.diff | 52 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.3/mips-nolib3264.diff | 32 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.3/mips-syscall.h.diff | 30 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.3/mips-sysify.diff | 52 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.3/semtimedop.diff | 12 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.3_pre20040420-r1.ebuild | 10 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.3_pre20040529.ebuild | 17 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20040602.ebuild | 23 |
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 \ |