On Tue, 22 Sep 2015 14:22:03 +0100
Kapileshwar Singh <[email protected]> wrote:

>               if (!(field->flags & FIELD_IS_ARRAY) &&
>                   field->size == pevent->long_size) {
> -                     addr = *(unsigned long *)(data + field->offset);
> +
> +                     /* Handle heterogeneous recording and processing
> +                      * architectures
> +                      *
> +                      * CASE I:
> +                      * Traces recorded on 32-bit devices (32-bit
> +                      * addressing) and processed on 64-bit devices:
> +                      * In this case, only 32 bits should be read.
> +                      *
> +                      * CASE II:
> +                      * Traces recorded on 64 bit devices and processed
> +                      * on 32-bit devices:
> +                      * In this case, 64 bits must be read.

Probably should have added a comment about not caring about endianess
and why, but that can be added later. This patch is good enough for now.

Reviewed-by: Steven Rostedt <[email protected]>

Arnaldo, want to pick this up?

-- Steve

> +                      */
> +                     addr = (pevent->long_size == 8) ?
> +                             *(unsigned long long *)(data + field->offset) :
> +                             (unsigned long long)*(unsigned int *)(data + 
> field->offset);
> +
>                       /* Check if it matches a print format */
>                       printk = find_printk(pevent, addr);
>                       if (printk)
>                               trace_seq_puts(s, printk->printk);
>                       else
> -                             trace_seq_printf(s, "%lx", addr);
> +                             trace_seq_printf(s, "%llx", addr);
>                       break;
>               }
>               str = malloc(len + 1);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to