| Summary: | vgdb must align pages to VKI_SHMLBA (16KB) on ARM | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | John Reiser <jreiser> |
| Component: | general | Assignee: | Julian Seward <jseward> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | philippe.waroquiers |
| Priority: | NOR | ||
| Version First Reported In: | 3.7 SVN | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
on arm, round to SHLMBA
on arm, round to SHLMBA (correct version now I hope :) on arm, round to SHLMBA (handled comments) |
||
|
Description
John Reiser
2012-01-08 15:28:38 UTC
I will modify VG_(m_mmap_file_float_valgrind_flags) with a fix similar to what was done for bug 222545. Note that when looking at the current code, I found one strange thing in am_mmap_file_float_valgrind_flags : the call to am_get_advisory indicates the call is for the client, while it should be for Valgrind. (In reply to comment #1) > I will modify VG_(m_mmap_file_float_valgrind_flags) with a fix similar to > what was done for bug 222545. This is still to be done. > Note that when looking at the current code, I found one strange thing > in am_mmap_file_float_valgrind_flags : the call to am_get_advisory > indicates the call is for the client, while it should be for Valgrind. Fixed the forClient arg to indicate this is a Valgrind mmap (revision 12326). Created attachment 68125 [details]
on arm, round to SHLMBA
I currently have no access to an ARM system.
John, it would be nice if you could review this patch
and validate it works/solves the problem on ARM.
Thanks
Created attachment 68126 [details]
on arm, round to SHLMBA (correct version now I hope :)
(In reply to comment #4) Works for me. Perhaps only VKI_MAP_SHARED requires aligning to VKI_SHMLBA: + if ((VKI_MAP_SHARED & flags) && (VKI_SHMLBA > VKI_PAGE_SIZE)) { ... + if ((VKI_MAP_SHARED & flags) && (VKI_SHMLBA > VKI_PAGE_SIZE)) but just testing only (VKI_SHMLBA > VKI_PAGE_SIZE) is OK for now. (In reply to comment #4) > Created an attachment (id=68126) [details] > on arm, round to SHLMBA (correct version now I hope :) ok to commit w/ two small changes: * add this #if !defined(VGA_arm) aspacem_assert(VKI_SHMLBA == VKI_PAGE_SIZE); #endif * pls add { } around else clause req.len = length; Created attachment 68206 [details]
on arm, round to SHLMBA (handled comments)
* inserted {} around else reg.len = length;
* added assert for non arm
* only round to SHMLBA for shared case
Regtested on linux x86 (still no access to an ARM system,
so a final check on ARM would be nice before commit).
(In reply to comment #7) > Regtested on linux x86 (still no access to an ARM system, > so a final check on ARM would be nice before commit). After some limited validation on Android arm emulator, committed in revision 12366 |