X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libdwfl%2Fdwfl_frame.c;h=d63993983078c9caa9558217a1221232041efee5;hb=82c3b58b54026d061a4d81ad95f3023d5d883ab2;hp=f6f86c0de6f14b46ede53afdfa551fc705438c30;hpb=a286dd013ef8d46edf013efc0908822a59d8ac81;p=platform%2Fupstream%2Felfutils.git diff --git a/libdwfl/dwfl_frame.c b/libdwfl/dwfl_frame.c index f6f86c0..d639939 100644 --- a/libdwfl/dwfl_frame.c +++ b/libdwfl/dwfl_frame.c @@ -57,7 +57,7 @@ state_fetch_pc (Dwfl_Frame *state) __libdwfl_seterrno (DWFL_E_LIBEBL_BAD); return false; } - state->pc = state->regs[ra]; + state->pc = state->regs[ra] + ebl_ra_offset (ebl); state->pc_state = DWFL_FRAME_STATE_PC_SET; } return true; @@ -143,7 +143,8 @@ dwfl_attach_state (Dwfl *dwfl, Elf *elf, pid_t pid, /* Reset any previous error, we are just going to try again. */ dwfl->attacherr = DWFL_E_NOERROR; - if (thread_callbacks == NULL || thread_callbacks->next_thread == NULL + /* thread_callbacks is declared NN */ + if (thread_callbacks->next_thread == NULL || thread_callbacks->set_initial_registers == NULL) { dwfl->attacherr = DWFL_E_INVALID_ARGUMENT;