* cris/traps.c (TARGET_MAP_DENYWRITE): Define.

<case TARGET_SYS_mmap2>: Handle TARGET_MAP_DENYWRITE.
This commit is contained in:
Hans-Peter Nilsson 2009-01-03 19:21:42 +00:00
parent 195c7c55e0
commit a349c9b6a2
2 changed files with 9 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2009-01-03 Hans-Peter Nilsson <hp@axis.com>
* cris/traps.c (TARGET_MAP_DENYWRITE): Define.
<case TARGET_SYS_mmap2>: Handle TARGET_MAP_DENYWRITE.
* cris/traps.c (TARGET_SYS_access, TARGET_R_OK, TARGET_W_OK)
(TARGET_X_OK, TARGET_F_OK): Define.
(cris_break_13_handler) <case TARGET_SYS_access>: New case.

View File

@ -124,6 +124,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#define TARGET_MAP_TYPE 0x0f
#define TARGET_MAP_FIXED 0x10
#define TARGET_MAP_ANONYMOUS 0x20
#define TARGET_MAP_DENYWRITE 0x800
#define TARGET_CTL_KERN 1
#define TARGET_CTL_VM 2
@ -1662,6 +1663,11 @@ cris_break_13_handler (SIM_CPU *current_cpu, USI callnum, USI arg1,
USI fd = arg5;
USI pgoff = arg6;
/* At 2.6.27, Linux (many (all?) ports, in the mmap2 syscalls)
still masked away this bit, so let's just ignore
it. */
flags &= ~TARGET_MAP_DENYWRITE;
/* If the simulator wants to mmap more than the very large
limit, something is wrong. FIXME: Return an error or
abort? Have command-line selectable? */