|
From: John R. <jr...@bi...> - 2017-03-30 11:22:24
|
> As there is no getconf cmd on my board, I wrote a program called > 'getpagesize'. And the pagesize it returned is 65536B. [[those lines above are from another message]] > test@xxx:~$ strace -e trace=memory valgrind [[snip]] > mmap(0x802001000, 4194304, PROT_READ|PROT_WRITE|PROT_EXEC, > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = -1 EINVAL (Invalid argument) [[snip]] > mmap(0x802001000, 4194304, PROT_READ|PROT_WRITE|PROT_EXEC, > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = -1 EINVAL (Invalid argument) So the valgrind bug is asking for MAP_FIXED with an address that is not on a page boundary (PAGE_SIZE [also spelled PAGESIZE] being 65536==0x10000). (Notice that all the successful calls to mmap(), which have been snipped above, all specify an address that is a multiple of 64KiB.) Please file a bug report at bugs.kde.org with component 'valgrind'. In the bug report please include the hardware info (output from /usr/bin/lscpu or "cat /proc/cpuinfo") and software info ("uname -a") and the info that the pagesize is 64KiB. Then run valgrind under gdb, use a breakpoint to find the call to mmap(0x....1000,,,MAP_FIXED,,), look at the backtrace, and try to figure out why valgrind thought it could specify an address that was not a multiple of the pagesize. |