From: Andrew Morton <akpm@zip.com.au>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Hugh Dickins <hugh@veritas.com>,
Marcelo Tosatti <marcelo@conectiva.com.br>,
"H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] BUG preserve registers
Date: Sat, 09 Feb 2002 11:34:51 -0800 [thread overview]
Message-ID: <3C6579DB.E93DAD92@zip.com.au> (raw)
In-Reply-To: <Pine.LNX.4.21.0202090808390.872-100000@localhost.localdomain> <Pine.LNX.4.33.0202091124290.8508-100000@home.transmeta.com>
Linus Torvalds wrote:
>
> On Sat, 9 Feb 2002, Hugh Dickins wrote:
> >
> > It's frustrating that when Verbose BUG() reporting is configured,
> > info gets lost: fix for i386 below. This is your area, Andrew:
> > please confirm to Marcelo if you'd like him to apply this.
> >
> > Example: in hpa's recent prune_dcache crash, %eax showed the length of
> > the kernel BUG printk, when we'd have liked to see the invalid d_count:
> > off-by-one or obviously corrupted?
>
> Don't do it this way.
>
> Instead, put the string printout in the _trap_ handler, and make the
> format of BUG() be something like this:
>
> #ifdef CONFIG_DEBUG_BUGVERBOSE
> #define BUGSTR "\"" __FILE__ "\""
> #else
> #define BUGSTR ""
> #endif
>
> #define BUG() \
> asm("ud2\n\t.word __LINE__\n\t.asciiz " BUGSTR)
>
Is better, except the filename gets expanded multipe times into
the object file. How about:
#define BUG() \
asm( "ud2\n" \
"\t.word %0\n" \
"\t.long %1\n" \
: : "i" (__LINE__), "i" (__FILE__))
void erp(void)
{
if (c())
BUG();
if (d())
BUG();
}
-
next prev parent reply other threads:[~2002-02-09 19:36 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-09 8:13 [PATCH] BUG preserve registers Hugh Dickins
2002-02-09 8:32 ` Andrew Morton
2002-02-09 10:33 ` Hugh Dickins
2002-02-09 19:30 ` Linus Torvalds
2002-02-09 19:34 ` Andrew Morton [this message]
2002-02-09 21:37 ` Linus Torvalds
2002-02-09 20:00 ` H. Peter Anvin
2002-02-09 21:49 ` Linus Torvalds
2002-02-09 20:24 ` H. Peter Anvin
2002-02-09 20:11 ` Andrew Morton
2002-02-09 20:15 ` Linus Torvalds
2002-02-09 22:07 ` Andrew Morton
2002-02-10 2:41 ` Alan Cox
2002-02-10 4:20 ` Andrew Morton
2002-02-10 4:23 ` H. Peter Anvin
2002-02-10 4:28 ` Andrew Morton
2002-02-10 6:16 ` Linus Torvalds
2002-02-10 5:28 ` Andrew Morton
2002-02-10 7:23 ` Linus Torvalds
2002-02-10 6:28 ` Andrew Morton
2002-02-10 9:05 ` Andrew Morton
[not found] ` <200202110710.g1B7A5t28328@Port.imtp.ilyichevsk.odessa.ua>
2002-02-11 7:22 ` Andrew Morton
2002-02-11 17:19 ` Hugh Dickins
2002-02-11 19:48 ` Andrew Morton
2002-02-11 20:52 ` Hugh Dickins
2002-02-10 7:13 ` H. Peter Anvin
2002-02-10 8:53 ` arjan
2002-02-11 15:26 ` Jamie Lokier
2002-02-10 6:23 ` Eric W. Biederman
2002-02-10 6:50 ` Andrew Morton
2002-02-10 15:40 ` Eric W. Biederman
2002-02-10 7:08 ` Stevie O
2002-02-10 14:35 ` Olaf Dietsche
2002-02-10 4:55 ` Linus Torvalds
2002-02-10 5:03 ` Linus Torvalds
2002-02-10 4:21 ` Brian Gerst
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=3C6579DB.E93DAD92@zip.com.au \
--to=akpm@zip.com.au \
--cc=hpa@zytor.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo@conectiva.com.br \
--cc=torvalds@transmeta.com \
/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