^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __PERF_UNWIND_LIBDW_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __PERF_UNWIND_LIBDW_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <elfutils/libdwfl.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include "unwind.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct machine;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct perf_sample;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) struct thread;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) struct unwind_info {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Dwfl *dwfl;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct perf_sample *sample;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) struct machine *machine;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) struct thread *thread;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) unwind_entry_cb_t cb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) void *arg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) int max_stack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) int idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) struct unwind_entry entries[];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #endif /* __PERF_UNWIND_LIBDW_H */