Re: fstat seems broken on sparc64

From: Jan Engelhardt
Date: Sun Jan 10 2010 - 18:15:25 EST


On Sunday 2010-01-10 22:11, David Miller wrote:
>
>> libc6 2.10.2-4
>
>Perfect, now you just have to audit what changed between the -2 and
>the -4 package to find the bug :-)

I really do not believe you when you say your glibc is not affected.
Maybe some things did not became clear as part of the discussion,
so let me quickly restate:

- talking about -m64 / libc6-sparc64_2.10.2-*_sparc.deb only

- syscall is screwed up. strace outputs:

C func | i386 | x86_64 | sparc32 | sparc64
--------+-----------+------------+-----------+---------------
stat | stat64 | stat | stat64 | stat64
lstat | lstat64 | lstat | lstat64 | lstat64
fstatat | fstatat64 | newfstatat | fstatat64 | fstatat64
fstat | fstat64 | fstat | fstat64 | fstat (*)


- I now found and fixed the problem, here is the patch for
you to study (as code speaks louder)

Index: glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
===================================================================
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
@@ -1 +1 @@
-#include "../../fxstat.c"
+#include "../../i386/fxstat.c"

(Hint: Compare with sparc64/lxstat.c)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/