linux.cc (11381:516213d2f0cf) linux.cc (11382:654272b82e94)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 30 unchanged lines hidden (view full) ---

39
40#include <fcntl.h>
41
42#include "arch/x86/linux/linux.hh"
43
44// open(2) flags translation table
45SyscallFlagTransTable X86Linux64::openFlagTable[] = {
46#ifdef _MSC_VER
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 30 unchanged lines hidden (view full) ---

39
40#include <fcntl.h>
41
42#include "arch/x86/linux/linux.hh"
43
44// open(2) flags translation table
45SyscallFlagTransTable X86Linux64::openFlagTable[] = {
46#ifdef _MSC_VER
47 { TGT_O_RDONLY, _O_RDONLY },
48 { TGT_O_WRONLY, _O_WRONLY },
49 { TGT_O_RDWR, _O_RDWR },
50 { TGT_O_APPEND, _O_APPEND },
51 { TGT_O_CREAT, _O_CREAT },
52 { TGT_O_TRUNC, _O_TRUNC },
53 { TGT_O_EXCL, _O_EXCL },
47 { X86Linux64::TGT_O_RDONLY, _O_RDONLY },
48 { X86Linux64::TGT_O_WRONLY, _O_WRONLY },
49 { X86Linux64::TGT_O_RDWR, _O_RDWR },
50 { X86Linux64::TGT_O_CREAT, _O_CREAT },
51 { X86Linux64::TGT_O_EXCL, _O_EXCL },
52#ifdef _O_NOCTTY
53 { X86Linux64::TGT_O_NOCTTY, _O_NOCTTY },
54#endif
55 { X86Linux64::TGT_O_TRUNC, _O_TRUNC },
56 { X86Linux64::TGT_O_APPEND, _O_APPEND },
54#ifdef _O_NONBLOCK
57#ifdef _O_NONBLOCK
55 { TGT_O_NONBLOCK, _O_NONBLOCK },
58 { X86Linux64::TGT_O_NONBLOCK, _O_NONBLOCK },
56#endif
59#endif
57#ifdef _O_NOCTTY
58 { TGT_O_NOCTTY, _O_NOCTTY },
60#ifdef _O_DSYNC
61 { X86Linux64::TGT_O_DSYNC , _O_DSYNC },
59#endif
62#endif
63 { X86Linux64::TGT_FASYNC, _O_ASYNC },
64 { X86Linux64::TGT_O_DIRECT, _O_DIRECT },
65 { X86Linux64::TGT_O_LARGEFILE, _O_LARGEFILE },
66 { X86Linux64::TGT_O_DIRECTORY, _O_DIRECTORY },
67 { X86Linux64::TGT_O_NOFOLLOW, _O_NOFOLLOW },
68 { X86Linux64::TGT_O_NOATIME, _O_NOATIME },
69#ifdef _O_CLOEXEC
70 { X86Linux64::TGT_O_CLOEXEC, _O_CLOEXEC },
71#endif
60#ifdef _O_SYNC
72#ifdef _O_SYNC
61 { TGT_O_SYNC, _O_SYNC },
73 { X86Linux64::TGT_O_SYNC, _O_SYNC },
62#endif
74#endif
75#ifdef _O_PATH
76 { X86Linux64::TGT_O_PATH , _O_PATH },
77#endif
63#else /* !_MSC_VER */
78#else /* !_MSC_VER */
64 { TGT_O_RDONLY, O_RDONLY },
65 { TGT_O_WRONLY, O_WRONLY },
66 { TGT_O_RDWR, O_RDWR },
67 { TGT_O_APPEND, O_APPEND },
68 { TGT_O_CREAT, O_CREAT },
69 { TGT_O_TRUNC, O_TRUNC },
70 { TGT_O_EXCL, O_EXCL },
71 { TGT_O_NONBLOCK, O_NONBLOCK },
72 { TGT_O_NOCTTY, O_NOCTTY },
79 { X86Linux64::TGT_O_RDONLY, O_RDONLY },
80 { X86Linux64::TGT_O_WRONLY, O_WRONLY },
81 { X86Linux64::TGT_O_RDWR, O_RDWR },
82 { X86Linux64::TGT_O_CREAT, O_CREAT },
83 { X86Linux64::TGT_O_EXCL, O_EXCL },
84 { X86Linux64::TGT_O_NOCTTY, O_NOCTTY },
85 { X86Linux64::TGT_O_TRUNC, O_TRUNC },
86 { X86Linux64::TGT_O_APPEND, O_APPEND },
87 { X86Linux64::TGT_O_NONBLOCK, O_NONBLOCK },
88#ifdef O_DSYNC
89 { X86Linux64::TGT_O_DSYNC, O_DSYNC },
90#endif
91 { X86Linux64::TGT_FASYNC, O_ASYNC },
92 { X86Linux64::TGT_O_DIRECT, O_DIRECT },
93 { X86Linux64::TGT_O_LARGEFILE, O_LARGEFILE },
94 { X86Linux64::TGT_O_DIRECTORY, O_DIRECTORY },
95 { X86Linux64::TGT_O_NOFOLLOW, O_NOFOLLOW },
96 { X86Linux64::TGT_O_NOATIME, O_NOATIME },
97#ifdef O_CLOEXEC
98 { X86Linux64::TGT_O_CLOEXEC, O_CLOEXEC },
99#endif
73#ifdef O_SYNC
100#ifdef O_SYNC
74 { TGT_O_SYNC, O_SYNC },
101 { X86Linux64::TGT_O_SYNC, O_SYNC },
75#endif
102#endif
103#ifdef O_PATH
104 { X86Linux64::TGT_O_PATH, O_PATH },
105#endif
76#endif /* _MSC_VER */
77};
78
79const int X86Linux64::NUM_OPEN_FLAGS =
80 sizeof(X86Linux64::openFlagTable) /
81 sizeof(X86Linux64::openFlagTable[0]);
82
83// open(2) flags translation table
84SyscallFlagTransTable X86Linux32::openFlagTable[] = {
85#ifdef _MSC_VER
106#endif /* _MSC_VER */
107};
108
109const int X86Linux64::NUM_OPEN_FLAGS =
110 sizeof(X86Linux64::openFlagTable) /
111 sizeof(X86Linux64::openFlagTable[0]);
112
113// open(2) flags translation table
114SyscallFlagTransTable X86Linux32::openFlagTable[] = {
115#ifdef _MSC_VER
86 { TGT_O_RDONLY, _O_RDONLY },
87 { TGT_O_WRONLY, _O_WRONLY },
88 { TGT_O_RDWR, _O_RDWR },
89 { TGT_O_APPEND, _O_APPEND },
90 { TGT_O_CREAT, _O_CREAT },
91 { TGT_O_TRUNC, _O_TRUNC },
92 { TGT_O_EXCL, _O_EXCL },
116 { X86Linux32::TGT_O_RDONLY, _O_RDONLY },
117 { X86Linux32::TGT_O_WRONLY, _O_WRONLY },
118 { X86Linux32::TGT_O_RDWR, _O_RDWR },
119 { X86Linux32::TGT_O_CREAT, _O_CREAT },
120 { X86Linux32::TGT_O_EXCL, _O_EXCL },
121#ifdef _O_NOCTTY
122 { X86Linux32::TGT_O_NOCTTY, _O_NOCTTY },
123#endif
124 { X86Linux32::TGT_O_TRUNC, _O_TRUNC },
125 { X86Linux32::TGT_O_APPEND, _O_APPEND },
93#ifdef _O_NONBLOCK
126#ifdef _O_NONBLOCK
94 { TGT_O_NONBLOCK, _O_NONBLOCK },
127 { X86Linux32::TGT_O_NONBLOCK, _O_NONBLOCK },
95#endif
128#endif
96#ifdef _O_NOCTTY
97 { TGT_O_NOCTTY, _O_NOCTTY },
129#ifdef O_DSYNC
130 { X86Linux32::TGT_O_DSYNC, _O_DSYNC },
98#endif
131#endif
132 { X86Linux32::TGT_FASYNC, _O_ASYNC },
133 { X86Linux32::TGT_O_DIRECT, _O_DIRECT },
134 { X86Linux32::TGT_O_LARGEFILE, _O_LARGEFILE },
135 { X86Linux32::TGT_O_DIRECTORY, _O_DIRECTORY },
136 { X86Linux32::TGT_O_NOFOLLOW, _O_NOFOLLOW },
137 { X86Linux32::TGT_O_NOATIME, _O_NOATIME },
138#ifdef _O_CLOEXEC
139 { X86Linux32::TGT_O_CLOEXEC, _O_CLOEXEC },
140#endif
99#ifdef _O_SYNC
141#ifdef _O_SYNC
100 { TGT_O_SYNC, _O_SYNC },
142 { X86Linux32::TGT_O_SYNC, _O_SYNC },
101#endif
143#endif
144#ifdef _O_PATH
145 { X86Linux32::TGT_O_PATH, _O_PATH },
146#endif
102#else /* !_MSC_VER */
147#else /* !_MSC_VER */
103 { TGT_O_RDONLY, O_RDONLY },
104 { TGT_O_WRONLY, O_WRONLY },
105 { TGT_O_RDWR, O_RDWR },
106 { TGT_O_APPEND, O_APPEND },
107 { TGT_O_CREAT, O_CREAT },
108 { TGT_O_TRUNC, O_TRUNC },
109 { TGT_O_EXCL, O_EXCL },
110 { TGT_O_NONBLOCK, O_NONBLOCK },
111 { TGT_O_NOCTTY, O_NOCTTY },
148 { X86Linux32::TGT_O_RDONLY, O_RDONLY },
149 { X86Linux32::TGT_O_WRONLY, O_WRONLY },
150 { X86Linux32::TGT_O_RDWR, O_RDWR },
151 { X86Linux32::TGT_O_CREAT, O_CREAT },
152 { X86Linux32::TGT_O_EXCL, O_EXCL },
153 { X86Linux32::TGT_O_NOCTTY, O_NOCTTY },
154 { X86Linux32::TGT_O_TRUNC, O_TRUNC },
155 { X86Linux32::TGT_O_APPEND, O_APPEND },
156 { X86Linux32::TGT_O_NONBLOCK, O_NONBLOCK },
157#ifdef O_DSYNC
158 { X86Linux32::TGT_O_DSYNC, O_DSYNC },
159#endif
160 { X86Linux32::TGT_FASYNC, O_ASYNC },
161 { X86Linux32::TGT_O_DIRECT, O_DIRECT },
162 { X86Linux32::TGT_O_LARGEFILE, O_LARGEFILE },
163 { X86Linux32::TGT_O_DIRECTORY, O_DIRECTORY },
164 { X86Linux32::TGT_O_NOFOLLOW, O_NOFOLLOW },
165 { X86Linux32::TGT_O_NOATIME, O_NOATIME },
166#ifdef O_CLOEXEC
167 { X86Linux32::TGT_O_CLOEXEC, O_CLOEXEC },
168#endif
112#ifdef O_SYNC
169#ifdef O_SYNC
113 { TGT_O_SYNC, O_SYNC },
170 { X86Linux32::TGT_O_SYNC, O_SYNC },
114#endif
171#endif
172#ifdef O_PATH
173 { X86Linux32::TGT_O_PATH, O_PATH },
174#endif
115#endif /* _MSC_VER */
116};
117
118const int X86Linux32::NUM_OPEN_FLAGS =
119 sizeof(X86Linux32::openFlagTable) /
120 sizeof(X86Linux32::openFlagTable[0]);
121
175#endif /* _MSC_VER */
176};
177
178const int X86Linux32::NUM_OPEN_FLAGS =
179 sizeof(X86Linux32::openFlagTable) /
180 sizeof(X86Linux32::openFlagTable[0]);
181