mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
perf libdw: Remove unnecessary defines
As HAVE_DWARF_GETLOCATIONS_SUPPORT and HAVE_DWARF_CFI_SUPPORT always match HAVE_DWARF_SUPPORT remove the macros and use HAVE_DWARF_SUPPORT. If building the file is guarded by CONFIG_DWARF then remove all ifs. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Anup Patel <anup@brainfault.org> Cc: Yang Jihong <yangjihong@bytedance.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: David S. Miller <davem@davemloft.net> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Shenlin Liang <liangshenlin@eswincomputing.com> Cc: Nick Terrell <terrelln@fb.com> Cc: Guilherme Amadio <amadio@gentoo.org> Cc: Steinar H. Gunderson <sesse@google.com> Cc: Changbin Du <changbin.du@huawei.com> Cc: Alexander Lobakin <aleksander.lobakin@intel.com> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Guo Ren <guoren@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org> Cc: Will Deacon <will@kernel.org> Cc: James Clark <james.clark@linaro.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Chen Pei <cp0613@linux.alibaba.com> Cc: Leo Yan <leo.yan@linux.dev> Cc: Oliver Upton <oliver.upton@linux.dev> Cc: Aditya Gupta <adityag@linux.ibm.com> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-riscv@lists.infradead.org Cc: Bibo Mao <maobibo@loongson.cn> Cc: John Garry <john.g.garry@oracle.com> Cc: Atish Patra <atishp@rivosinc.com> Cc: Dima Kogan <dima@secretsauce.net> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Dr. David Alan Gilbert <linux@treblig.org> Cc: linux-csky@vger.kernel.org Link: https://lore.kernel.org/r/20241017001354.56973-10-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
91e81e988f
commit
5eb2242513
@ -48,7 +48,7 @@ feature::
|
|||||||
bpf_skeletons / HAVE_BPF_SKEL
|
bpf_skeletons / HAVE_BPF_SKEL
|
||||||
debuginfod / HAVE_DEBUGINFOD_SUPPORT
|
debuginfod / HAVE_DEBUGINFOD_SUPPORT
|
||||||
dwarf / HAVE_DWARF_SUPPORT
|
dwarf / HAVE_DWARF_SUPPORT
|
||||||
dwarf_getlocations / HAVE_DWARF_GETLOCATIONS_SUPPORT
|
dwarf_getlocations / HAVE_DWARF_SUPPORT
|
||||||
dwarf-unwind / HAVE_DWARF_UNWIND_SUPPORT
|
dwarf-unwind / HAVE_DWARF_UNWIND_SUPPORT
|
||||||
auxtrace / HAVE_AUXTRACE_SUPPORT
|
auxtrace / HAVE_AUXTRACE_SUPPORT
|
||||||
libaudit / HAVE_LIBAUDIT_SUPPORT
|
libaudit / HAVE_LIBAUDIT_SUPPORT
|
||||||
|
@ -466,9 +466,6 @@ else
|
|||||||
$(warning No libdw.h found or old libdw.h found or elfutils is older than 0.157, disables dwarf support. Please install new elfutils-devel/libdw-dev)
|
$(warning No libdw.h found or old libdw.h found or elfutils is older than 0.157, disables dwarf support. Please install new elfutils-devel/libdw-dev)
|
||||||
NO_LIBDW := 1
|
NO_LIBDW := 1
|
||||||
endif
|
endif
|
||||||
else
|
|
||||||
CFLAGS += -DHAVE_DWARF_GETLOCATIONS_SUPPORT
|
|
||||||
CFLAGS += -DHAVE_DWARF_CFI_SUPPORT
|
|
||||||
endif # Dwarf support
|
endif # Dwarf support
|
||||||
endif # libelf support
|
endif # libelf support
|
||||||
endif # NO_LIBELF
|
endif # NO_LIBELF
|
||||||
|
@ -840,7 +840,7 @@ int cmd_annotate(int argc, const char **argv)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_DWARF_GETLOCATIONS_SUPPORT
|
#ifndef HAVE_DWARF_SUPPORT
|
||||||
if (annotate.data_type) {
|
if (annotate.data_type) {
|
||||||
pr_err("Error: Data type profiling is disabled due to missing DWARF support\n");
|
pr_err("Error: Data type profiling is disabled due to missing DWARF support\n");
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
|
@ -28,7 +28,7 @@ struct feature_status supported_features[] = {
|
|||||||
FEATURE_STATUS("bpf_skeletons", HAVE_BPF_SKEL),
|
FEATURE_STATUS("bpf_skeletons", HAVE_BPF_SKEL),
|
||||||
FEATURE_STATUS("debuginfod", HAVE_DEBUGINFOD_SUPPORT),
|
FEATURE_STATUS("debuginfod", HAVE_DEBUGINFOD_SUPPORT),
|
||||||
FEATURE_STATUS("dwarf", HAVE_DWARF_SUPPORT),
|
FEATURE_STATUS("dwarf", HAVE_DWARF_SUPPORT),
|
||||||
FEATURE_STATUS("dwarf_getlocations", HAVE_DWARF_GETLOCATIONS_SUPPORT),
|
FEATURE_STATUS("dwarf_getlocations", HAVE_DWARF_SUPPORT),
|
||||||
FEATURE_STATUS("dwarf-unwind", HAVE_DWARF_UNWIND_SUPPORT),
|
FEATURE_STATUS("dwarf-unwind", HAVE_DWARF_UNWIND_SUPPORT),
|
||||||
FEATURE_STATUS("auxtrace", HAVE_AUXTRACE_SUPPORT),
|
FEATURE_STATUS("auxtrace", HAVE_AUXTRACE_SUPPORT),
|
||||||
FEATURE_STATUS("libaudit", HAVE_LIBAUDIT_SUPPORT),
|
FEATURE_STATUS("libaudit", HAVE_LIBAUDIT_SUPPORT),
|
||||||
|
@ -1705,7 +1705,7 @@ int cmd_report(int argc, const char **argv)
|
|||||||
report.data_type = true;
|
report.data_type = true;
|
||||||
annotate_opts.annotate_src = false;
|
annotate_opts.annotate_src = false;
|
||||||
|
|
||||||
#ifndef HAVE_DWARF_GETLOCATIONS_SUPPORT
|
#ifndef HAVE_DWARF_SUPPORT
|
||||||
pr_err("Error: Data type profiling is disabled due to missing DWARF support\n");
|
pr_err("Error: Data type profiling is disabled due to missing DWARF support\n");
|
||||||
goto error;
|
goto error;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1182,7 +1182,6 @@ int die_get_varname(Dwarf_Die *vr_die, struct strbuf *buf)
|
|||||||
return ret < 0 ? ret : strbuf_addf(buf, "\t%s", dwarf_diename(vr_die));
|
return ret < 0 ? ret : strbuf_addf(buf, "\t%s", dwarf_diename(vr_die));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_DWARF_GETLOCATIONS_SUPPORT) || defined(HAVE_DWARF_CFI_SUPPORT)
|
|
||||||
static int reg_from_dwarf_op(Dwarf_Op *op)
|
static int reg_from_dwarf_op(Dwarf_Op *op)
|
||||||
{
|
{
|
||||||
switch (op->atom) {
|
switch (op->atom) {
|
||||||
@ -1245,9 +1244,7 @@ static bool check_allowed_ops(Dwarf_Op *ops, size_t nops)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_DWARF_GETLOCATIONS_SUPPORT || HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
|
|
||||||
#ifdef HAVE_DWARF_GETLOCATIONS_SUPPORT
|
|
||||||
/**
|
/**
|
||||||
* die_get_var_innermost_scope - Get innermost scope range of given variable DIE
|
* die_get_var_innermost_scope - Get innermost scope range of given variable DIE
|
||||||
* @sp_die: a subprogram DIE
|
* @sp_die: a subprogram DIE
|
||||||
@ -1697,9 +1694,7 @@ void die_collect_global_vars(Dwarf_Die *cu_die, struct die_var_type **var_types)
|
|||||||
|
|
||||||
die_find_child(cu_die, __die_collect_global_vars_cb, (void *)var_types, &die_mem);
|
die_find_child(cu_die, __die_collect_global_vars_cb, (void *)var_types, &die_mem);
|
||||||
}
|
}
|
||||||
#endif /* HAVE_DWARF_GETLOCATIONS_SUPPORT */
|
|
||||||
|
|
||||||
#ifdef HAVE_DWARF_CFI_SUPPORT
|
|
||||||
/**
|
/**
|
||||||
* die_get_cfa - Get frame base information
|
* die_get_cfa - Get frame base information
|
||||||
* @dwarf: a Dwarf info
|
* @dwarf: a Dwarf info
|
||||||
@ -1732,7 +1727,6 @@ int die_get_cfa(Dwarf *dwarf, u64 pc, int *preg, int *poffset)
|
|||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* die_has_loclist - Check if DW_AT_location of @vr_die is a location list
|
* die_has_loclist - Check if DW_AT_location of @vr_die is a location list
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
#include <elfutils/libdw.h>
|
#include <elfutils/libdw.h>
|
||||||
#include <elfutils/libdwfl.h>
|
#include <elfutils/libdwfl.h>
|
||||||
#include <elfutils/version.h>
|
#include <elfutils/version.h>
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
struct strbuf;
|
struct strbuf;
|
||||||
|
|
||||||
@ -157,8 +156,6 @@ Dwarf_Die *die_get_member_type(Dwarf_Die *type_die, int offset, Dwarf_Die *die_m
|
|||||||
/* Return type info where the pointer and offset point to */
|
/* Return type info where the pointer and offset point to */
|
||||||
Dwarf_Die *die_deref_ptr_type(Dwarf_Die *ptr_die, int offset, Dwarf_Die *die_mem);
|
Dwarf_Die *die_deref_ptr_type(Dwarf_Die *ptr_die, int offset, Dwarf_Die *die_mem);
|
||||||
|
|
||||||
#ifdef HAVE_DWARF_GETLOCATIONS_SUPPORT
|
|
||||||
|
|
||||||
/* Get byte offset range of given variable DIE */
|
/* Get byte offset range of given variable DIE */
|
||||||
int die_get_var_range(Dwarf_Die *sp_die, Dwarf_Die *vr_die, struct strbuf *buf);
|
int die_get_var_range(Dwarf_Die *sp_die, Dwarf_Die *vr_die, struct strbuf *buf);
|
||||||
|
|
||||||
@ -177,58 +174,7 @@ void die_collect_vars(Dwarf_Die *sc_die, struct die_var_type **var_types);
|
|||||||
/* Save all global variables in this CU */
|
/* Save all global variables in this CU */
|
||||||
void die_collect_global_vars(Dwarf_Die *cu_die, struct die_var_type **var_types);
|
void die_collect_global_vars(Dwarf_Die *cu_die, struct die_var_type **var_types);
|
||||||
|
|
||||||
#else /* HAVE_DWARF_GETLOCATIONS_SUPPORT */
|
|
||||||
|
|
||||||
static inline int die_get_var_range(Dwarf_Die *sp_die __maybe_unused,
|
|
||||||
Dwarf_Die *vr_die __maybe_unused,
|
|
||||||
struct strbuf *buf __maybe_unused)
|
|
||||||
{
|
|
||||||
return -ENOTSUP;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline Dwarf_Die *die_find_variable_by_reg(Dwarf_Die *sc_die __maybe_unused,
|
|
||||||
Dwarf_Addr pc __maybe_unused,
|
|
||||||
int reg __maybe_unused,
|
|
||||||
int *poffset __maybe_unused,
|
|
||||||
bool is_fbreg __maybe_unused,
|
|
||||||
Dwarf_Die *die_mem __maybe_unused)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline Dwarf_Die *die_find_variable_by_addr(Dwarf_Die *sc_die __maybe_unused,
|
|
||||||
Dwarf_Addr addr __maybe_unused,
|
|
||||||
Dwarf_Die *die_mem __maybe_unused,
|
|
||||||
int *offset __maybe_unused)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void die_collect_vars(Dwarf_Die *sc_die __maybe_unused,
|
|
||||||
struct die_var_type **var_types __maybe_unused)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void die_collect_global_vars(Dwarf_Die *cu_die __maybe_unused,
|
|
||||||
struct die_var_type **var_types __maybe_unused)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* HAVE_DWARF_GETLOCATIONS_SUPPORT */
|
|
||||||
|
|
||||||
#ifdef HAVE_DWARF_CFI_SUPPORT
|
|
||||||
|
|
||||||
/* Get the frame base information from CFA */
|
/* Get the frame base information from CFA */
|
||||||
int die_get_cfa(Dwarf *dwarf, u64 pc, int *preg, int *poffset);
|
int die_get_cfa(Dwarf *dwarf, u64 pc, int *preg, int *poffset);
|
||||||
|
|
||||||
#else /* HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
|
|
||||||
static inline int die_get_cfa(Dwarf *dwarf __maybe_unused, u64 pc __maybe_unused,
|
|
||||||
int *preg __maybe_unused, int *poffset __maybe_unused)
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
|
|
||||||
#endif /* _DWARF_AUX_H */
|
#endif /* _DWARF_AUX_H */
|
||||||
|
@ -602,7 +602,6 @@ static int call_probe_finder(Dwarf_Die *sc_die, struct probe_finder *pf)
|
|||||||
ret = dwarf_getlocation_addr(&fb_attr, pf->addr, &pf->fb_ops, &nops, 1);
|
ret = dwarf_getlocation_addr(&fb_attr, pf->addr, &pf->fb_ops, &nops, 1);
|
||||||
if (ret <= 0 || nops == 0) {
|
if (ret <= 0 || nops == 0) {
|
||||||
pf->fb_ops = NULL;
|
pf->fb_ops = NULL;
|
||||||
#ifdef HAVE_DWARF_CFI_SUPPORT
|
|
||||||
} else if (nops == 1 && pf->fb_ops[0].atom == DW_OP_call_frame_cfa &&
|
} else if (nops == 1 && pf->fb_ops[0].atom == DW_OP_call_frame_cfa &&
|
||||||
(pf->cfi_eh != NULL || pf->cfi_dbg != NULL)) {
|
(pf->cfi_eh != NULL || pf->cfi_dbg != NULL)) {
|
||||||
if ((dwarf_cfi_addrframe(pf->cfi_eh, pf->addr, &frame) != 0 &&
|
if ((dwarf_cfi_addrframe(pf->cfi_eh, pf->addr, &frame) != 0 &&
|
||||||
@ -613,7 +612,6 @@ static int call_probe_finder(Dwarf_Die *sc_die, struct probe_finder *pf)
|
|||||||
free(frame);
|
free(frame);
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call finder's callback handler */
|
/* Call finder's callback handler */
|
||||||
@ -1138,7 +1136,6 @@ static int debuginfo__find_probes(struct debuginfo *dbg,
|
|||||||
|
|
||||||
pf->machine = ehdr.e_machine;
|
pf->machine = ehdr.e_machine;
|
||||||
|
|
||||||
#ifdef HAVE_DWARF_CFI_SUPPORT
|
|
||||||
do {
|
do {
|
||||||
GElf_Shdr shdr;
|
GElf_Shdr shdr;
|
||||||
|
|
||||||
@ -1148,7 +1145,6 @@ static int debuginfo__find_probes(struct debuginfo *dbg,
|
|||||||
|
|
||||||
pf->cfi_dbg = dwarf_getcfi(dbg->dbg);
|
pf->cfi_dbg = dwarf_getcfi(dbg->dbg);
|
||||||
} while (0);
|
} while (0);
|
||||||
#endif /* HAVE_DWARF_CFI_SUPPORT */
|
|
||||||
|
|
||||||
ret = debuginfo__find_probe_location(dbg, pf);
|
ret = debuginfo__find_probe_location(dbg, pf);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user