aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-11-29 10:34:01 +0000
committerNick Clifton <nickc@redhat.com>2001-11-29 10:34:01 +0000
commitfa49d2248e709504508688986a2560564f6690bf (patch)
treea09e74faceb566f9cedb3bf591c08566e1ffdcc6 /bfd/elf.c
parent1000a02a2944998f22cae7fd82bff701f161f69a (diff)
downloadgdb-fa49d2248e709504508688986a2560564f6690bf.zip
gdb-fa49d2248e709504508688986a2560564f6690bf.tar.gz
gdb-fa49d2248e709504508688986a2560564f6690bf.tar.bz2
Do not overwite the core signal if it has already been set by another thread.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 51ae3db..81923d1 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -5753,7 +5753,10 @@ elfcore_grok_prstatus (abfd, note)
offset = offsetof (prstatus_t, pr_reg);
memcpy (&prstat, note->descdata, sizeof (prstat));
- elf_tdata (abfd)->core_signal = prstat.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 = prstat.pr_cursig;
elf_tdata (abfd)->core_pid = prstat.pr_pid;
/* pr_who exists on:
@@ -5776,7 +5779,10 @@ elfcore_grok_prstatus (abfd, note)
offset = offsetof (prstatus32_t, pr_reg);
memcpy (&prstat, note->descdata, sizeof (prstat));
- elf_tdata (abfd)->core_signal = prstat.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 = prstat.pr_cursig;
elf_tdata (abfd)->core_pid = prstat.pr_pid;
/* pr_who exists on: