Hi Andrew, > Something that has been kicking around the GDB list but is really a > BFD problem. Anyone want to grab this and run with it? I don't > know enough about core dumps to do the job myself.
Sadly neither do I. The patch however looks wrong to me. With the patch applied, the code looks like this: > offset = offsetof (prstatus_t, pr_reg); > memcpy (&prstat, note->descdata, sizeof (prstat)); > > ! if (elf_tdata (abfd)->core_signal == 0) > ! elf_tdata (abfd)->core_signal = prstat.pr_cursig; > elf_tdata (abfd)->core_pid = prstat.pr_pid; > > /* pr_who exists on: So it seem that if core_signal has already been set (from a previous thread ?) then it will not be overwritten. But the process ID will be changed, so now you have a signal and a PID that do not match... I can see why you would want to preserve the signal, but shouldn't you also preserve the PID (and any other core related data) as well ? In fact isn't this really a multithreading problem, with a single BFD structure being used to represent multiple (potential) thread cores ? Cheers Nick _______________________________________________ Bug-gdb mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-gdb