|
|
@@ -254,9 +254,17 @@ void mcd_gen_coredump(struct thread_info_ops *ops)
|
|
254
|
254
|
m_ctx.writeout_func((uint8_t *)&m_ctx.tmp.program_header, sizeof(elf_phdr_t));
|
|
255
|
255
|
}
|
|
256
|
256
|
|
|
|
257
|
+ int cur_index = ops->get_current_thread_idx(ops);
|
|
|
258
|
+ ops->get_thread_regset(ops, cur_index,
|
|
|
259
|
+ &m_ctx.tmp_core_rset, &m_ctx.tmp_fp_rset);
|
|
|
260
|
+ fill_one_threads_regset(&m_ctx.tmp_core_rset, &m_ctx.tmp_fp_rset);
|
|
|
261
|
+
|
|
257
|
262
|
/* Write all threads in index order */
|
|
258
|
263
|
for (int i = 0; i < ops->get_threads_count(ops); i++)
|
|
259
|
264
|
{
|
|
|
265
|
+ if (cur_index == i)
|
|
|
266
|
+ continue;
|
|
|
267
|
+
|
|
260
|
268
|
ops->get_thread_regset(ops, i,
|
|
261
|
269
|
&m_ctx.tmp_core_rset, &m_ctx.tmp_fp_rset);
|
|
262
|
270
|
fill_one_threads_regset(&m_ctx.tmp_core_rset, &m_ctx.tmp_fp_rset);
|