Messages in this thread | | | Date | Mon, 20 Jun 2016 11:18:18 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH v2] tools/perf: Fix the mask in regs_dump__printf and |
| |
On Mon, Jun 20, 2016 at 02:14:01PM +0530, Madhavan Srinivasan wrote: > When decoding the perf_regs mask in regs_dump__printf(), > we loop through the mask using find_first_bit and find_next_bit functions. > "mask" is of type "u64", but sent as a "unsigned long *" to > lib functions along with sizeof(). While the exisitng code works fine in > most of the case, the logic is broken when using a 32bit perf on a > 64bit kernel (Big Endian). We end up reading the wrong word of the u64 > first in the lib functions.
hum, I still don't see why this happens.. why do we read the wrong word in this case?
thanks, jirka
> first in the lib functions. Proposed fix is to swap the words of the > u64 to handle this case. This is not endianess swap. >
SNIP
| |