From 0d3fb3210755f37d40a98d2c8b0e49d1735b5a9f Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 29 Nov 2001 10:34:01 +0000 Subject: [PATCH] Do not overwite the core signal if it has already been set by another thread. --- bfd/ChangeLog | 5 +++++ bfd/elf.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b126fd7ff..599f5f0b7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-11-29 "Peter.Schauer" + + * elf.c (elfcore_grok_prstatus): Do not overwite the core signal + if it has already been set by another thread. + 2001-11-28 Jakub Jelinek * elf64-alpha.c (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Defined. diff --git a/bfd/elf.c b/bfd/elf.c index 51ae3dbdb..81923d176 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: -- 2.11.4.GIT