Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1224472 > unrolled thread

Re: [PATCH 19/27] perf tools: Introduce regs_query_register_offset() for x86

Started byArnaldo Carvalho de Melo <acme@redhat.com>
First post2015-09-14 23:40 +0200
Last post2015-09-15 03:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 19/27] perf tools: Introduce regs_query_register_offset()  for x86 Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-09-14 23:40 +0200
    Re: [PATCH 19/27] perf tools: Introduce regs_query_register_offset()  for x86 "Wangnan (F)" <wangnan0@huawei.com> - 2015-09-15 03:40 +0200

#1224472 — Re: [PATCH 19/27] perf tools: Introduce regs_query_register_offset() for x86

FromArnaldo Carvalho de Melo <acme@redhat.com>
Date2015-09-14 23:40 +0200
SubjectRe: [PATCH 19/27] perf tools: Introduce regs_query_register_offset() for x86
Message-ID<q8JDI-1AN-7@gated-at.bofh.it>
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

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

[toc] | [next] | [standalone]


#1224583

From"Wangnan (F)" <wangnan0@huawei.com>
Date2015-09-15 03:40 +0200
Message-ID<q8NnX-6UN-9@gated-at.bofh.it>
In reply to#1224472

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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web