From a349c9b6a2c7d2fb15400454969659d441679c83 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sat, 3 Jan 2009 19:21:42 +0000 Subject: [PATCH] * cris/traps.c (TARGET_MAP_DENYWRITE): Define. : Handle TARGET_MAP_DENYWRITE. --- sim/ChangeLog | 3 +++ sim/cris/traps.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/sim/ChangeLog b/sim/ChangeLog index 90cc95f6b74..1a44d01cd16 100644 --- a/sim/ChangeLog +++ b/sim/ChangeLog @@ -1,5 +1,8 @@ 2009-01-03 Hans-Peter Nilsson + * cris/traps.c (TARGET_MAP_DENYWRITE): Define. + : 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) : New case. diff --git a/sim/cris/traps.c b/sim/cris/traps.c index afe5bfb12a3..ff70902d7f8 100644 --- a/sim/cris/traps.c +++ b/sim/cris/traps.c @@ -124,6 +124,7 @@ along with this program. If not, see . */ #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? */ -- 2.30.2