};
 
 static struct perf_stat perf_stat = {
-       .tool = {
-               .attr           = perf_event__process_attr,
-               .event_update   = perf_event__process_event_update,
-               .thread_map     = process_thread_map_event,
-               .cpu_map        = process_cpu_map_event,
-               .stat_config    = process_stat_config_event,
-               .stat           = perf_event__process_stat_event,
-               .stat_round     = process_stat_round_event,
-       },
        .aggr_mode      = AGGR_UNSET,
        .aggr_level     = 0,
 };
        perf_stat.data.path = input_name;
        perf_stat.data.mode = PERF_DATA_MODE_READ;
 
+       perf_tool__init(&perf_stat.tool, /*ordered_events=*/false);
+       perf_stat.tool.attr             = perf_event__process_attr;
+       perf_stat.tool.event_update     = perf_event__process_event_update;
+       perf_stat.tool.thread_map       = process_thread_map_event;
+       perf_stat.tool.cpu_map          = process_cpu_map_event;
+       perf_stat.tool.stat_config      = process_stat_config_event;
+       perf_stat.tool.stat             = perf_event__process_stat_event;
+       perf_stat.tool.stat_round       = process_stat_round_event;
+
        session = perf_session__new(&perf_stat.data, &perf_stat.tool);
        if (IS_ERR(session))
                return PTR_ERR(session);