tags 330191 patch
thanks
Hi,
I've investigated the stat() problem a bit and found that the definition
of 'struct stat' in klibc's include/arch/sparc64/archstat.h is (most
probably) incorrect. I've written a simple test case using stat() function
and then looked at preprocessed source, which includes the 'struct stat'
definition (from glibc headers) and copied that to
include/arch/sparc64/archstat.h. That required changing the storage size
for some fields, rearranging them, and adding some padding fields where
neccessary. Attached patch implements these changes.
With this change and the increased value of the delay after udevsynthesize
(mentioned above), I was able to successfully boot my ultra5 box.
Best regards,
Jurij Smakov [EMAIL PROTECTED]
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
--- a/include/arch/sparc64/klibc/archstat.h 2005-09-06 13:49:34.000000000
-0700
+++ b/include/arch/sparc64/klibc/archstat.h 2005-10-29 10:31:26.000000000
-0700
@@ -3,20 +3,26 @@
/* No nsec fields?! */
struct stat {
- unsigned st_dev;
+ unsigned long st_dev;
+ unsigned short __pad1;
ino_t st_ino;
mode_t st_mode;
- short st_nlink;
+ unsigned int st_nlink;
uid_t st_uid;
gid_t st_gid;
- unsigned st_rdev;
+ unsigned long st_rdev;
+ unsigned short __pad2;
off_t st_size;
+ off_t st_blksize;
+ off_t st_blocks;
time_t st_atime;
+ unsigned long __unused1;
time_t st_mtime;
+ unsigned long __unused2;
time_t st_ctime;
- off_t st_blksize;
- off_t st_blocks;
- unsigned long __unused4[2];
+ unsigned long __unused3;
+ unsigned long __unused4;
+ unsigned long __unused5;
};
#endif