perf annotate: Use capstone_init and remove open_capstone_handle from disasm.c
capstone_init is made availbale for all archs to use and updated to enable support for CS_ARCH_PPC as well. Patch removes open_capstone_handle and uses capstone_init in all the places. Committer notes: Avoid including capstone/capstone.h from print_insn.h to not break the build in builtin-script.c due to the namespace clash with libbpf: /usr/include/capstone/bpf.h:94:14: error: 'bpf_insn' defined as wrong kind of tag Reviewed-by: Kajol Jain <kjain@linux.ibm.com> Reviewed-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Tested-by: Kajol Jain <kjain@linux.ibm.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Akanksha J N <akanksha@linux.ibm.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Disha Goel <disgoel@linux.vnet.ibm.com> Cc: Hari Bathini <hbathini@linux.ibm.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Segher Boessenkool <segher@kernel.crashing.org> Link: https://lore.kernel.org/lkml/20240718084358.72242-14-atrajeev@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
1fe86bc245
commit
f1e9347c85
@ -1512,6 +1512,8 @@ symbol__disassemble_bpf_image(struct symbol *sym,
|
|||||||
#ifdef HAVE_LIBCAPSTONE_SUPPORT
|
#ifdef HAVE_LIBCAPSTONE_SUPPORT
|
||||||
#include <capstone/capstone.h>
|
#include <capstone/capstone.h>
|
||||||
|
|
||||||
|
int capstone_init(struct machine *machine, csh *cs_handle, bool is64, bool disassembler_style);
|
||||||
|
|
||||||
static int open_capstone_handle(struct annotate_args *args, bool is_64bit,
|
static int open_capstone_handle(struct annotate_args *args, bool is_64bit,
|
||||||
csh *handle)
|
csh *handle)
|
||||||
{
|
{
|
||||||
|
@ -32,6 +32,8 @@ size_t sample__fprintf_insn_raw(struct perf_sample *sample, FILE *fp)
|
|||||||
#ifdef HAVE_LIBCAPSTONE_SUPPORT
|
#ifdef HAVE_LIBCAPSTONE_SUPPORT
|
||||||
#include <capstone/capstone.h>
|
#include <capstone/capstone.h>
|
||||||
|
|
||||||
|
int capstone_init(struct machine *machine, csh *cs_handle, bool is64, bool disassembler_style);
|
||||||
|
|
||||||
int capstone_init(struct machine *machine, csh *cs_handle, bool is64, bool disassembler_style)
|
int capstone_init(struct machine *machine, csh *cs_handle, bool is64, bool disassembler_style)
|
||||||
{
|
{
|
||||||
cs_arch arch;
|
cs_arch arch;
|
||||||
|
@ -19,9 +19,4 @@ ssize_t fprintf_insn_asm(struct machine *machine, struct thread *thread, u8 cpum
|
|||||||
bool is64bit, const uint8_t *code, size_t code_size,
|
bool is64bit, const uint8_t *code, size_t code_size,
|
||||||
uint64_t ip, int *lenp, int print_opts, FILE *fp);
|
uint64_t ip, int *lenp, int print_opts, FILE *fp);
|
||||||
|
|
||||||
#ifdef HAVE_LIBCAPSTONE_SUPPORT
|
|
||||||
#include <capstone/capstone.h>
|
|
||||||
int capstone_init(struct machine *machine, csh *cs_handle, bool is64, bool disassembler_style);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* PERF_PRINT_INSN_H */
|
#endif /* PERF_PRINT_INSN_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user