diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-06-05 08:55:42 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-06-05 08:55:42 +0000 |
commit | 2cc89883bbb9443b13b33a27d8d9fd7af7f2f94d (patch) | |
tree | ba96209494f6a0c38324ce7a3ce085d82272a32f /sys-libs | |
parent | Stable on hppa (diff) | |
download | historical-2cc89883bbb9443b13b33a27d8d9fd7af7f2f94d.tar.gz historical-2cc89883bbb9443b13b33a27d8d9fd7af7f2f94d.tar.bz2 historical-2cc89883bbb9443b13b33a27d8d9fd7af7f2f94d.zip |
Add xstat patch for alpha for kloeri.
Package-Manager: portage-2.0.51.22-r1
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 7 | ||||
-rw-r--r-- | sys-libs/glibc/files/2.3.4/glibc234-alpha-xstat.patch | 231 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild | 5 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20041102.ebuild | 5 |
5 files changed, 249 insertions, 6 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 5f558d85569e..433385a5cc5c 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.346 2005/05/27 07:55:00 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.347 2005/06/05 08:55:42 vapier Exp $ + + 05 Jun 2005; Mike Frysinger <vapier@gentoo.org> + +files/2.3.4/glibc234-alpha-xstat.patch, glibc-2.3.4.20041102.ebuild, + glibc-2.3.4.20041102-r1.ebuild: + Add xstat patch for alpha for kloeri. 27 May 2005; Bryan Ăstergaard <kloeri@gentoo.org> glibc-2.3.4.20041102-r1.ebuild: diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 516d04b45ae4..aa137822a2c2 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -1,4 +1,4 @@ -MD5 7d33a5af74a079791cc778e0117436fa ChangeLog 73450 +MD5 1e53426a13eda8c97d9ae73600481bbd ChangeLog 73647 MD5 45b53d55a7990f579c81cc9698091b8b glibc-2.2.5-r10.ebuild 4454 MD5 41a105e32ad4b0a4a8a2129645eed295 glibc-2.3.2-r12.ebuild 22301 MD5 567094e03359ffc1c95af7356395228d metadata.xml 162 @@ -6,10 +6,10 @@ MD5 9cd3a1c402f77d135d95a8ae80338c6d glibc-2.3.5.ebuild 39698 MD5 aeaeffc56ce8fedabbb5682693320b6b glibc-2.3.3.20040420-r2.ebuild 21685 MD5 e44a41af599672120302813550b65a61 glibc-2.3.4.20040619-r2.ebuild 21356 MD5 d632e9decc4779b48f4ab4f44d0e1af5 glibc-2.3.5.20050421.ebuild 40445 -MD5 0380f919bd3dd8b3996bcd80b37f7f85 glibc-2.3.4.20041102-r1.ebuild 33940 +MD5 c8706ef0b979c4e34874fedf97f79d50 glibc-2.3.4.20041102-r1.ebuild 34013 MD5 7946da1bf84f19ad3896a61428c7a05a glibc-2.3.4.20040808-r1.ebuild 27705 MD5 f657c3015509b40205f9eefa49d12c89 glibc-2.3.4.20050125-r1.ebuild 38637 -MD5 ee442d9b608306c5d87dff3248cb17ea glibc-2.3.4.20041102.ebuild 32976 +MD5 d86de5e7a8193469732cc7489bd9494f glibc-2.3.4.20041102.ebuild 33049 MD5 3622860499eecaced6dda4562aeb1b65 glibc-2.3.4.20050125.ebuild 35394 MD5 8d58079469aedb014a800101ef60558f files/nsswitch.conf 503 MD5 bed7cbcac1e8582deda43664e5b3f19c files/digest-glibc-2.2.5-r10 290 @@ -147,3 +147,4 @@ MD5 8d43dc97fe220048ade220f23e84f006 files/2.3.4/glibc-2.3.4-mips-rtld_deepbind- MD5 1185022e9a50560d1bf9116a0461e011 files/2.3.4/glibc-2.3.4-mips-sysdep-cancel.diff 2402 MD5 039f62650037a4a15cef3066b26d27c9 files/2.3.4/glibc-2.3.4-mips-update-__throw.patch 1975 MD5 b80890f83185acef8aeff622a1574e0b files/2.3.4/glibc-2.3.4-fix-_dl_next_tls_modid-assert.patch 9140 +MD5 ee692cfc6e7c810a2785093948638bbc files/2.3.4/glibc234-alpha-xstat.patch 7653 diff --git a/sys-libs/glibc/files/2.3.4/glibc234-alpha-xstat.patch b/sys-libs/glibc/files/2.3.4/glibc234-alpha-xstat.patch new file mode 100644 index 000000000000..b68f57e4688c --- /dev/null +++ b/sys-libs/glibc/files/2.3.4/glibc234-alpha-xstat.patch @@ -0,0 +1,231 @@ +diff -u -p -r1.83 kernel-features.h +--- sysdeps/unix/sysv/linux/kernel-features.h 26 Jan 2005 20:01:10 -0000 1.83 ++++ sysdeps/unix/sysv/linux/kernel-features.h 18 Feb 2005 06:21:10 -0000 +@@ -413,6 +413,11 @@ + # define __ASSUME_GETDENTS32_D_TYPE 1 + #endif + ++/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ ++#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ ++# define __ASSUME_STAT64_SYSCALL 1 ++#endif ++ + /* Starting with version 2.5.3, the initial location returned by `brk' + after exec is always rounded up to the next page. */ + #if __LINUX_KERNEL_VERSION >= 132355 +diff -u -p -r1.1 fxstat.c +--- sysdeps/unix/sysv/linux/alpha/fxstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/fxstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* fxstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -35,27 +35,39 @@ int + __fxstat (int vers, int fd, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_fstat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__fxstat) +diff -u -p -r1.1 lxstat.c +--- sysdeps/unix/sysv/linux/alpha/lxstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/lxstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* lxstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -35,27 +35,39 @@ int + __lxstat (int vers, const char *name, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_lstat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__lxstat) +diff -u -p -r1.1 xstat.c +--- sysdeps/unix/sysv/linux/alpha/xstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/xstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* xstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -35,27 +35,39 @@ int + __xstat (int vers, const char *name, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_stat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__xstat) +diff -u -p -r1.6 xstatconv.c +--- sysdeps/unix/sysv/linux/alpha/xstatconv.c 11 Mar 2004 02:58:44 -0000 1.6 ++++ sysdeps/unix/sysv/linux/alpha/xstatconv.c 26 Feb 2005 13:58:07 -0000 +@@ -1,5 +1,5 @@ + /* Convert between the kernel's `struct stat' format, and libc's. +- Copyright (C) 1997, 2003, 2004 Free Software Foundation, Inc. ++ Copyright (C) 1997, 2003, 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -22,9 +22,14 @@ + #include <sys/stat.h> + #include <kernel_stat.h> + #include <xstatconv.h> ++#include <sys/syscall.h> + + ++#ifdef __NR_stat64 ++# if __ASSUME_STAT64_SYSCALL == 0 + int __libc_missing_axp_stat64; ++# endif ++#endif + + int + __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) +diff -u -p -r1.1 xstatconv.h +--- sysdeps/unix/sysv/linux/alpha/xstatconv.h 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/xstatconv.h 26 Feb 2005 13:58:07 -0000 +@@ -1,5 +1,5 @@ + /* Convert between the kernel's `struct stat' format, and libc's. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -18,7 +18,12 @@ + 02111-1307 USA. */ + + #include "kernel-features.h" ++#include <sys/syscall.h> + ++#ifdef __NR_stat64 ++# if __ASSUME_STAT64_SYSCALL == 0 + extern int __libc_missing_axp_stat64 attribute_hidden; ++# endif ++#endif + extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) + attribute_hidden; diff --git a/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild b/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild index 1907498a474b..5498ac74d75b 100644 --- a/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild,v 1.13 2005/05/27 07:55:00 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild,v 1.14 2005/06/05 08:55:42 vapier Exp $ inherit eutils multilib flag-o-matic toolchain-funcs versionator @@ -364,6 +364,9 @@ do_arch_alpha_patches() { # <taviso@gentoo.org> (14 Jun 2003). epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-decc-compaq.patch + # Fix xstat stuff + epatch ${FILESDIR}/2.3.4/glibc234-alpha-xstat.patch + # Fix compilation with >=gcc-3.2.3 (01 Nov 2003 agriffis) # epatch ${FILESDIR}/2.3.2/${LOCAL_P}-alpha-pwrite.patch } diff --git a/sys-libs/glibc/glibc-2.3.4.20041102.ebuild b/sys-libs/glibc/glibc-2.3.4.20041102.ebuild index 23566f7c4383..6a0c06fd8339 100644 --- a/sys-libs/glibc/glibc-2.3.4.20041102.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20041102.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102.ebuild,v 1.53 2005/05/17 22:33:51 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102.ebuild,v 1.54 2005/06/05 08:55:42 vapier Exp $ inherit eutils multilib flag-o-matic toolchain-funcs versionator @@ -364,6 +364,9 @@ do_arch_alpha_patches() { # <taviso@gentoo.org> (14 Jun 2003). epatch ${FILESDIR}/2.3.2/${PN}-2.3.2-decc-compaq.patch + # Fix xstat stuff + epatch ${FILESDIR}/2.3.4/glibc234-alpha-xstat.patch + # Fix compilation with >=gcc-3.2.3 (01 Nov 2003 agriffis) # epatch ${FILESDIR}/2.3.2/${LOCAL_P}-alpha-pwrite.patch } |