#define MAX_INLINE_NEST 1024
-/* If addr2line doesn't return data for 5 seconds then timeout. */
-int addr2line_timeout_ms = 5 * 1000;
-
static int filename_split(char *filename, unsigned int *line_nr)
{
char *sep;
goto out;
}
io__init(&io, a2l->out, buf, sizeof(buf));
- io.timeout_ms = addr2line_timeout_ms;
+ io.timeout_ms = symbol_conf.addr2line_timeout_ms;
switch (read_addr2line_record(&io, cmd_a2l_style, dso_name, addr, /*first=*/true,
&record_function, &record_filename, &record_line_nr)) {
case -1:
struct inline_node;
struct symbol;
-extern int addr2line_timeout_ms;
-
int cmd__addr2line(const char *dso_name, u64 addr,
char **file, unsigned int *line_nr,
struct dso *dso,
#include "util/hist.h" /* perf_hist_config */
#include "util/stat.h" /* perf_stat__set_big_num */
#include "util/evsel.h" /* evsel__hw_names, evsel__use_bpf_counters */
-#include "util/addr2line.h" /* addr2line_timeout_ms */
#include "srcline.h"
#include "build-id.h"
#include "debug.h"
proc_map_timeout = strtoul(value, NULL, 10);
if (!strcmp(var, "core.addr2line-timeout"))
- addr2line_timeout_ms = strtoul(value, NULL, 10);
+ symbol_conf.addr2line_timeout_ms = strtoul(value, NULL, 10);
if (!strcmp(var, "core.addr2line-disable-warn"))
symbol_conf.addr2line_disable_warn = perf_config_bool(var, value);
.event_group = true,
.inline_name = true,
.res_sample = 0,
+ .addr2line_timeout_ms = 5 * 1000,
};
struct map_list_node {
*bt_stop_list_str;
const char *addr2line_path;
enum a2l_style addr2line_style[MAX_A2L_STYLE];
+ int addr2line_timeout_ms;
unsigned long time_quantum;
struct strlist *dso_list,
*comm_list,