qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: Helge Deller <deller@gmx.de>,
	qemu-devel@nongnu.org, Michael Tokarev <mjt@tls.msk.ru>
Subject: Re: [PATCH v4 00/10] linux-user: Detect and report host crashes
Date: Tue, 19 Sep 2023 10:29:43 +0200	[thread overview]
Message-ID: <27e2b697-55be-af45-d350-01a85866249f@linaro.org> (raw)
In-Reply-To: <51b980aa-1a80-7565-44d6-8dcba3ead422@gmx.de>

On 9/18/23 16:05, Helge Deller wrote:
> On 9/12/23 12:34, Michael Tokarev wrote:
>> 12.09.2023 12:45, Helge Deller:
>>
>>> /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/13/../../../../lib64/libc.a(abort.o): in 
>>> function `abort':
>>> (.text.unlikely+0x0): multiple definition of `abort'; 
>>> libqemu-aarch64-linux-user.fa.p/linux-user_signal.c.o:/srv/_build/../../home/cvs/qemu/qemu/linux-user/signal.c:723: first defined here
>>
>> [PATCH v4 03/10] linux-user: Use die_with_signal with abort
>>
>> Sigh.
>>
>> I'd be double-cautious when overriding system functions like this, - it's
>> almost always a bad idea.
> 
> Richard, I'm not sure, but with that change:
> 
> -void abort(void)
> +void  __attribute__((weak)) abort(void)
> 
> it will at least successfully link the binary. Not sure which effects it has,
> but probably not worse than before your patch series...

This won't work, in that it will have no effect, and we continue to have the weird longjmp 
assertion message after stack corruption.

Probably we will have to replace all of the apis that can raise abort at the source level, 
e.g.

void qemu_abort(void) __attribute__((noreturn));
void qemu_abort_msg(const char *) __attribute__((noreturn));

#undef  abort
#define abort       qemu_abort
#undef  assert
#define assert(X)   ...
#undef  g_assert
#define g_assert(X) assert(X)

etc.


r~


      parent reply	other threads:[~2023-09-19  8:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-23  5:16 [PATCH v4 00/10] linux-user: Detect and report host crashes Richard Henderson
2023-08-23  5:16 ` [PATCH v4 01/10] linux-user: Split out die_with_signal Richard Henderson
2023-08-23 12:55   ` Philippe Mathieu-Daudé
2023-08-23  5:16 ` [PATCH v4 02/10] linux-user: Exit not abort in die_with_backtrace Richard Henderson
2023-08-23 12:55   ` Philippe Mathieu-Daudé
2023-08-23  5:16 ` [PATCH v4 03/10] linux-user: Use die_with_signal with abort Richard Henderson
2023-08-23  5:16 ` [PATCH v4 04/10] linux-user: Detect and report host crashes Richard Henderson
2023-08-23  5:16 ` [PATCH v4 05/10] linux-user: Only register handlers for core_dump_signal by default Richard Henderson
2023-08-23  5:16 ` [PATCH v4 06/10] linux-user: Map unsupported signals to an out-of-bounds value Richard Henderson
2023-08-23  5:16 ` [PATCH v4 07/10] linux-user: Remap SIGPROF when CONFIG_GPROF Richard Henderson
2023-08-23  5:16 ` [PATCH v4 08/10] linux-user: Simplify signal_init Richard Henderson
2023-08-23  5:16 ` [PATCH v4 09/10] linux-user: Split out host_sig{segv,bus}_handler Richard Henderson
2023-08-23  5:16 ` [PATCH v4 10/10] linux-user: Detect and report host SIGILL, SIGFPE, SIGTRAP Richard Henderson
2023-09-09 19:12 ` [PATCH v4 00/10] linux-user: Detect and report host crashes Richard Henderson
2023-09-12  9:45   ` Helge Deller
2023-09-12 10:34     ` Michael Tokarev
2023-09-18 14:05       ` Helge Deller
2023-09-19  7:40         ` Michael Tokarev
2023-09-19  8:00           ` Helge Deller
2023-09-19  8:26             ` Michael Tokarev
2023-09-19  8:38               ` Richard Henderson
2023-09-19  9:17                 ` Helge Deller
2023-09-19 13:01                 ` Michael Tokarev
2023-09-19  8:29         ` Richard Henderson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27e2b697-55be-af45-d350-01a85866249f@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=deller@gmx.de \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).