Fix stat64 structure on 32-bit X86_SE

The st_size entry was in the wrong place
 (see linux-2.6.29/arch/x86/include/asm/stat.h )

Also, the packed attribute is needed when compiling on a
64-bit machine, otherwise gcc adds extra padding that
break the layout of the structure.
This commit is contained in:
Vince Weaver 2009-10-20 15:15:37 -04:00
parent 2b232e11a8
commit 776f9405fa

View file

@ -142,8 +142,8 @@ class X86Linux32 : public Linux
uint32_t st_uid;
uint32_t st_gid;
uint64_t st_rdev;
int64_t st_size;
uint8_t __pad3[4];
int64_t st_size;
uint32_t st_blksize;
uint64_t st_blocks;
uint32_t st_atimeX;
@ -153,7 +153,7 @@ class X86Linux32 : public Linux
uint32_t st_ctimeX;
uint32_t st_ctime_nsec;
uint64_t st_ino;
} tgt_stat64;
} __attribute__((__packed__)) tgt_stat64;
static OpenFlagTransTable openFlagTable[];