mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 10:21:20 +00:00
mips32: Fix the align problem with mmap.
Valgrind is doing mmap always with MAP_FIXED. On mips32 we need to check arg4. If the arg4 is MAP_SHARED we need to align the address to SHMLBA. If the program tries to do mmap with VKI_FIXED Valgrind doesn't need to align the address to SHMLBA. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13593
This commit is contained in:
parent
512044b6e9
commit
5944b58df7
@ -448,14 +448,15 @@ static SysRes mips_PRE_sys_mmap(ThreadId tid,
|
||||
mreq.rkind = MAny;
|
||||
}
|
||||
|
||||
if ((VKI_SHMLBA > VKI_PAGE_SIZE) && (VKI_MAP_SHARED & arg4)) {
|
||||
if ((VKI_SHMLBA > VKI_PAGE_SIZE) && (VKI_MAP_SHARED & arg4)
|
||||
&& !(VKI_MAP_FIXED & arg4))
|
||||
mreq.len = arg2 + VKI_SHMLBA - VKI_PAGE_SIZE;
|
||||
}
|
||||
|
||||
/* Enquire ... */
|
||||
advised = VG_(am_get_advisory)( &mreq, True/*client*/, &mreq_ok );
|
||||
|
||||
if ((VKI_SHMLBA > VKI_PAGE_SIZE) && (VKI_MAP_SHARED & arg4))
|
||||
if ((VKI_SHMLBA > VKI_PAGE_SIZE) && (VKI_MAP_SHARED & arg4)
|
||||
&& !(VKI_MAP_FIXED & arg4))
|
||||
advised = VG_ROUNDUP(advised, VKI_SHMLBA);
|
||||
|
||||
if (!mreq_ok) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user