This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Alpha: Insufficient Linux header version required


On Thu, 9 Jun 2005, Maciej W. Rozycki wrote:

> > Incorrect.  Setting arch_minimum_kernel provides a default for
> > --enable-kernel, which does affect runtime.  Check further down in the
> > same file to see how.
> 
>  I see -- one of the other proposals should be investigated then.

 This one is untested, but it should be obviously correct.  Based loosely 
on the generic Linux version.

2005-06-09  Maciej W. Rozycki  <macro@linux-mips.org>

	* sysdeps/unix/sysv/linux/alpha/fxstat.c (__fxstat): Exclude code
	for calling the fstat64() syscall if its number is unavailable.
	* sysdeps/unix/sysv/linux/alpha/lxstat.c (__lxstat): Likewise for 
	lstat64().
	* sysdeps/unix/sysv/linux/alpha/xstat.c (__xstat): Likewise for
	stat64().

 Please consider.

  Maciej

glibc-2.3.5-alpha-xstat64.patch
diff -up --recursive --new-file glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/fxstat.c glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/fxstat.c
--- glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/fxstat.c	2004-03-11 02:58:44.000000000 +0000
+++ glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/fxstat.c	2005-06-09 15:16:48.000000000 +0000
@@ -38,6 +38,7 @@ __fxstat (int vers, int fd, struct stat 
   int result, errno_out;
   struct kernel_stat kbuf;
 
+#ifdef __NR_fstat64
   if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
     {
       result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf);
@@ -48,6 +49,7 @@ __fxstat (int vers, int fd, struct stat 
 	goto fail;
       __libc_missing_axp_stat64 = 1;
     }
+#endif
 
   result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf);
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
diff -up --recursive --new-file glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/lxstat.c glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/lxstat.c
--- glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/lxstat.c	2004-03-11 02:58:44.000000000 +0000
+++ glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/lxstat.c	2005-06-09 15:16:27.000000000 +0000
@@ -38,6 +38,7 @@ __lxstat (int vers, const char *name, st
   int result, errno_out;
   struct kernel_stat kbuf;
 
+#ifdef __NR_lstat64
   if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
     {
       result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf);
@@ -48,6 +49,7 @@ __lxstat (int vers, const char *name, st
 	goto fail;
       __libc_missing_axp_stat64 = 1;
     }
+#endif
 
   result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf);
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
diff -up --recursive --new-file glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/xstat.c glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/xstat.c
--- glibc-2.3.5.macro/sysdeps/unix/sysv/linux/alpha/xstat.c	2004-03-11 02:58:44.000000000 +0000
+++ glibc-2.3.5/sysdeps/unix/sysv/linux/alpha/xstat.c	2005-06-09 15:15:45.000000000 +0000
@@ -38,6 +38,7 @@ __xstat (int vers, const char *name, str
   int result, errno_out;
   struct kernel_stat kbuf;
 
+#ifdef __NR_stat64
   if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
     {
       result = INTERNAL_SYSCALL (stat64, err, 2, name, buf);
@@ -48,6 +49,7 @@ __xstat (int vers, const char *name, str
 	goto fail;
       __libc_missing_axp_stat64 = 1;
     }
+#endif
 
   result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf);
   if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]