On 2015/9/15 5:37, Arnaldo Carvalho de Melo wrote:
Em Sun, Sep 06, 2015 at 07:13:35AM +0000, Wang Nan escreveu:
regs_query_register_offset() is a helper function which converts
register name like "%rax" to offset of a register in 'struct pt_regs',
which is required by BPF prologue generator. Since the function is
identical, try to reuse the code in arch/x86/kernel/ptrace.c.

Comment inside dwarf-regs.c list the differences between this
implementation and kernel code.

get_arch_regstr() switches to regoffset_table and the old string table
is dropped.
Trying to cherry pick this one, but found this problem, trying to fix by
adding the prototype somewhere...


[acme@zoo linux]$ m
make: Entering directory '/home/git/linux/tools/perf'
   BUILD:   Doing 'make -j4' parallel build
   CC       /tmp/build/perf/arch/x86/util/dwarf-regs.o
   CC       /tmp/build/perf/arch/x86/util/intel-pt.o
arch/x86/util/dwarf-regs.c:122:5: error: no previous prototype for
‘regs_query_register_offset’ [-Werror=missing-prototypes]
  int regs_query_register_offset(const char *name)
      ^
cc1: all warnings being treated as errors
/home/git/linux/tools/build/Makefile.build:70: recipe for target
'/tmp/build/perf/arch/x86/util/dwarf-regs.o' failed
make[5]: *** [/tmp/build/perf/arch/x86/util/dwarf-regs.o] Error 1

This patch depends on patch 18/27: "perf tools: Add BPF_PROLOGUE
config options for further patches" because I wanted to first create
the infrastructure then add regs_qurey_register_offset() arch by arch.

I think split 18/27 into two patch should be better. First one adds
HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET, let the second one consider bpf prologue.

Thanks.


--
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