ARM: Fix fstat/fstat64 structs to match EABI definitions.
authorAli Saidi <saidi@eecs.umich.edu>
Mon, 27 Jul 2009 07:51:20 +0000 (00:51 -0700)
committerAli Saidi <saidi@eecs.umich.edu>
Mon, 27 Jul 2009 07:51:20 +0000 (00:51 -0700)
src/arch/arm/linux/linux.hh
src/arch/arm/linux/process.cc

index 16bcee47a0b4ed22573a81f32b1a76f5248c3311..cc3b620ee3f8b2e5ccc08aedaec4f488c0c39808 100644 (file)
@@ -123,6 +123,48 @@ class ArmLinux : public Linux
         TGT_RLIMIT_LOCKS = 10
     };
 
+    typedef struct {
+        uint32_t st_dev;
+        uint32_t st_ino;
+        uint16_t st_mode;
+        uint16_t st_nlink;
+        uint16_t st_uid;
+        uint16_t st_gid;
+        uint32_t st_rdev;
+        uint32_t st_size;
+        uint32_t st_blksize;
+        uint32_t st_blocks;
+        uint32_t st_atimeX;
+        uint32_t st_atime_nsec;
+        uint32_t st_mtimeX;
+        uint32_t st_mtime_nsec;
+        uint32_t st_ctimeX;
+        uint32_t st_ctime_nsec;
+    } tgt_stat;
+
+    typedef struct {
+        uint64_t  st_dev;
+        uint8_t   __pad0[4];
+        uint32_t  __st_ino;
+        uint32_t  st_mode;
+        uint32_t  st_nlink;
+        uint32_t  st_uid;
+        uint32_t  st_gid;
+        uint64_t  st_rdev;
+        uint8_t   __pad3[4];
+        int64_t   __attribute__ ((aligned (8))) st_size;
+        uint32_t  st_blksize;
+        uint64_t  __attribute__ ((aligned (8))) st_blocks;
+        uint32_t  st_atimeX;
+        uint32_t  st_atime_nsec;
+        uint32_t  st_mtimeX;
+        uint32_t  st_mtime_nsec;
+        uint32_t  st_ctimeX;
+        uint32_t  st_ctime_nsec;
+        uint64_t  st_ino;
+    } tgt_stat64;
+
+
 };
 
 #endif
index c5320c1abe5a345e803adad66f3ffa28c434d013..e72c3fb3c34db32ed45c4ea9426a7e44dd2de424 100644 (file)
@@ -260,7 +260,7 @@ SyscallDesc ArmLinuxProcess::syscallDescs[] = {
     /* 194 */ SyscallDesc("ftruncate64", unimplementedFunc),
     /* 195 */ SyscallDesc("stat64", unimplementedFunc),
     /* 196 */ SyscallDesc("lstat64", lstat64Func<ArmLinux>),
-    /* 197 */ SyscallDesc("fstat64", fstatFunc<ArmLinux>),
+    /* 197 */ SyscallDesc("fstat64", fstat64Func<ArmLinux>),
     /* 198 */ SyscallDesc("lchown", unimplementedFunc),
     /* 199 */ SyscallDesc("getuid", getuidFunc),
     /* 200 */ SyscallDesc("getgid", getgidFunc),