summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-06-05 08:55:42 +0000
committerMike Frysinger <vapier@gentoo.org>2005-06-05 08:55:42 +0000
commit2cc89883bbb9443b13b33a27d8d9fd7af7f2f94d (patch)
treeba96209494f6a0c38324ce7a3ce085d82272a32f /sys-libs
parentStable on hppa (diff)
downloadhistorical-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/ChangeLog7
-rw-r--r--sys-libs/glibc/Manifest7
-rw-r--r--sys-libs/glibc/files/2.3.4/glibc234-alpha-xstat.patch231
-rw-r--r--sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.3.4.20041102.ebuild5
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
}