target-alpha: add proper fcntl definitions
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 11:30:48 +0000 (11:30 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 11:30:48 +0000 (11:30 +0000)
On Alpha the target to native fcntl definitions were missing.  Because of
this, programs trying to open files with the O_CREAT option were getting
O_APPEND instead, etc.

This was keeping gcc from the spec benchmarks from running, among other
things.

(Vince Weaver)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5672 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/syscall_defs.h

index 5a58010..41a9dd6 100644 (file)
@@ -1749,6 +1749,25 @@ struct target_statfs64 {
 #define TARGET_O_NOFOLLOW      0x20000 /* don't follow links */
 #define TARGET_O_NOATIME       0x40000
 #define TARGET_O_NDELAY        TARGET_O_NONBLOCK
+#elif defined(TARGET_ALPHA)
+#define TARGET_O_ACCMODE       0x0003
+#define TARGET_O_RDONLY        0x0000
+#define TARGET_O_WRONLY        0x0001
+#define TARGET_O_RDWR          0x0002
+#define TARGET_O_APPEND        0x0008
+#define TARGET_O_SYNC          0x4000
+#define TARGET_O_NONBLOCK      0x0004
+#define TARGET_O_CREAT         0x0200  /* not fcntl */
+#define TARGET_O_TRUNC         0x0400  /* not fcntl */
+#define TARGET_O_EXCL          0x0800  /* not fcntl */
+#define TARGET_O_NOCTTY        0x1000  /* not fcntl */
+#define TARGET_FASYNC          0x2000  /* fcntl, for BSD compatibility */
+#define TARGET_O_LARGEFILE     0x0000  /* not necessary, always 64-bit */
+#define TARGET_O_DIRECT        0x80000 /* direct disk access hint */
+#define TARGET_O_DIRECTORY     0x8000  /* must be a directory */
+#define TARGET_O_NOFOLLOW      0x10000 /* don't follow links */
+#define TARGET_O_NOATIME       0x100000
+#define TARGET_O_NDELAY        TARGET_O_NONBLOCK
 #else
 #define TARGET_O_ACCMODE          0003
 #define TARGET_O_RDONLY             00