Messages in this thread | | | Date | Mon, 29 Sep 2014 15:28:30 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 1/1] perf: Fixed perf trace, 32bit return values to 64bit |
| |
Em Fri, Sep 26, 2014 at 09:54:01PM +0900, Chang Hyun Park escreveu: > perf trace for syscalls resulted in mmap return values being stripped of > the top 32 bits, and actually printing only the lower 32 bits. This was > because the ret value was of an 'int' type and not a 'long' type. > > The Problem: > 991258501.244 ( 0.004 ms): mmap(len: 40001536, prot: READ|WRITE, flags: > PRIVATE|ANONYMOUS, fd: -1) = 0x56691000 > 991258501.257 ( 0.000 ms): minfault [_int_malloc+0x1038] => > //anon@0x7fa056691008 //(d.) > > The first line shows an mmap, which succeeds and returns 0x56691000. > However the next line shows a memory access to that virtual memory area, > specifically to 0x7fa056691008. The upper 32 bit is lost due to the > problem mentioned above, and thus mmap's return value didn't have the > upper 0x7fa0.
Thanks, applied to my perf/core branch.
- Arnaldo
| |