[PATCH] Alpha: Insufficient Linux header version required
Maciej W. Rozycki
macro@linux-mips.org
Thu Jun 9 15:29:00 GMT 2005
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))
More information about the Libc-alpha
mailing list