/* Internal definitions for libdwfl.
- Copyright (C) 2005-2015, 2018, 2024 Red Hat, Inc.
+ Copyright (C) 2005-2015, 2018, 2024-2025 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
extern void __libdwfl_process_free (Dwfl_Process *process)
internal_function;
+/* Basic implementation of Dwfl_Thread_Callbacks.set_initial_registers.
+ ARG must be a Dwfl_Thread *. Calls dwfl_thread_state_register_pc
+ if firstreg is -1 (indicating arch PC), dwfl_thread_state_registers
+ otherwise. */
+extern bool __libdwfl_set_initial_registers_thread (int firstreg,
+ unsigned nregs,
+ const Dwarf_Word *regs,
+ void *arg);
+
/* Update STATE->unwound for the unwound frame.
On error STATE->unwound == NULL
or STATE->unwound->pc_state == DWFL_FRAME_STATE_ERROR;
/* Get Dwarf Frame state for target live PID process.
- Copyright (C) 2013, 2014, 2015, 2018 Red Hat, Inc.
+ Copyright (C) 2013, 2014, 2015, 2018, 2025 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
/* Implement the ebl_set_initial_registers_tid setfunc callback. */
-static bool
-pid_thread_state_registers_cb (int firstreg, unsigned nregs,
- const Dwarf_Word *regs, void *arg)
+bool
+/* XXX No internal_function annotation,
+ as this function gets passed as ebl_tid_registers_t *. */
+__libdwfl_set_initial_registers_thread (int firstreg, unsigned nregs,
+ const Dwarf_Word *regs, void *arg)
{
Dwfl_Thread *thread = (Dwfl_Thread *) arg;
if (firstreg == -1)
Dwfl_Process *process = thread->process;
Ebl *ebl = process->ebl;
return ebl_set_initial_registers_tid (ebl, tid,
- pid_thread_state_registers_cb, thread);
+ __libdwfl_set_initial_registers_thread, thread);
}
static void