* elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
        if it has already been set.
+2010-01-29  Joel Brobecker  <brobecker@adacore.com>
+
+       * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
+       if it has already been set.
+
 2010-01-27  Tristan Gingold  <gingold@adacore.com>
 
        * vms.h: Remove trailing spaces.
 
   memcpy (&lwpstat, note->descdata, sizeof (lwpstat));
 
   elf_tdata (abfd)->core_lwpid = lwpstat.pr_lwpid;
-  elf_tdata (abfd)->core_signal = lwpstat.pr_cursig;
+  /* Do not overwrite the core signal if it has already been set by
+     another thread.  */
+  if (elf_tdata (abfd)->core_signal == 0)
+    elf_tdata (abfd)->core_signal = lwpstat.pr_cursig;
 
   /* Make a ".reg/999" section.  */