Re: [PATCH v2 4/4] perf tests: print objdump/dso buffers if they don't match

From: Adrian Hunter
Date: Thu Sep 03 2015 - 05:15:46 EST


On 02/09/15 11:19, Jan Stancek wrote:
> Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>


Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>


> ---
> tools/perf/tests/code-reading.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
> index e6bf47ff7e91..53a04f899d18 100644
> --- a/tools/perf/tests/code-reading.c
> +++ b/tools/perf/tests/code-reading.c
> @@ -163,6 +163,18 @@ static int read_via_objdump(const char *filename, u64 addr, void *buf,
> return ret;
> }
>
> +static void dump_buf(unsigned char *buf, size_t len)
> +{
> + size_t i;
> +
> + for (i = 0; i < len; i++) {
> + pr_debug("0x%02x ", buf[i]);
> + if (i % 16 == 15)
> + pr_debug("\n");
> + }
> + pr_debug("\n");
> +}
> +
> static int read_object_code(u64 addr, size_t len, u8 cpumode,
> struct thread *thread, struct state *state)
> {
> @@ -265,6 +277,10 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
> /* The results should be identical */
> if (memcmp(buf1, buf2, len)) {
> pr_debug("Bytes read differ from those read by objdump\n");
> + pr_debug("buf1 (dso):\n");
> + dump_buf(buf1, len);
> + pr_debug("buf2 (objdump):\n");
> + dump_buf(buf2, len);
> return -1;
> }
> pr_debug("Bytes read match those read by objdump\n");
>

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