Re: [PATCH v6 10/11] perf callchain: Support x86 target platform

From: Jiri Olsa
Date: Mon May 30 2016 - 04:53:05 EST


On Sat, May 28, 2016 at 11:59:59AM +0000, He Kuang wrote:

SNIP

> --- /dev/null
> +++ b/tools/perf/arch/x86/util/unwind-libunwind_x86_32.c
> @@ -0,0 +1,21 @@
> +#define REMOTE_UNWIND_LIBUNWIND
> +
> +#define LIBUNWIND__ARCH_REG_ID libunwind__x86_reg_id
> +
> +#include "unwind.h"
> +#include "debug.h"
> +#include "libunwind-x86.h"
> +#include <../../../../../arch/x86/include/uapi/asm/perf_regs.h>
> +
> +#undef HAVE_ARCH_X86_64_SUPPORT
> +#include "unwind-libunwind.c"
> +
> +#undef NO_LIBUNWIND_DEBUG_FRAME
> +#define NO_LIBUNWIND_DEBUG_FRAME
> +#include "util/unwind-libunwind-local.c"
> +
> +int register_x86_32_unwind_libunwind_ops(struct thread *thread)
> +{
> + thread->unwind_libunwind_ops = &_unwind_libunwind_ops;
> + return 0;
> +}

hum, how about export the arch ops:

struct unwind_libunwind_ops *x86_32_unwind_libunwind_ops = &_unwind_libunwind_ops;

and have single unwind__register_ops(ops) function

jirka