public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 4/5] Generic BUG for powerpc
       [not found] ` <20061003201812.313852083@goop.org>
@ 2006-10-04  0:54   ` Michael Ellerman
  2006-10-04  4:30     ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Ellerman @ 2006-10-04  0:54 UTC (permalink / raw)
  To: Jeremy Fitzhardinge
  Cc: Andrew Morton, linux-kernel, Andi Kleen, Hugh Dickens,
	Paul Mackerras, Benjamin Herrenschmidt, Rusty Russell

[-- Attachment #1: Type: text/plain, Size: 1394 bytes --]

On Tue, 2006-10-03 at 13:16 -0700, Jeremy Fitzhardinge wrote:
> plain text document attachment (mm)
> This makes powerpc use the generic BUG machinery.  The biggest
> difference from the previous powerpc bug code is that it no longer
> reports the function name, since it is redundant with kallsyms, and
> not needed in general.
> 
> There is an overall reduction of code, since module_32/64 duplicated several
> functions.
> 
> Unfortunately there's no way to tell gcc that BUG won't return, so the
> BUG macro includes a goto loop.  This will generate a real jmp
> instruction, which is never used.

I posted a patch a few weeks back to use __builtin_trap(), which gives
GCC the hint that it's not going to return.
(http://patchwork.ozlabs.org/linuxppc/patch?id=7047)

Unfortunately this generated some negative feedback from some of our
crackhead ... er wonderful colleagues who want to be able to step over
BUGs in some circumstances.
(http://ozlabs.org/pipermail/linuxppc-dev/2006-September/026161.html)

I think they conceeded that it could be configurable, but I wasn't sure
it was worth the trouble.

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 191 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 4/5] Generic BUG for powerpc
  2006-10-04  0:54   ` [PATCH 4/5] Generic BUG for powerpc Michael Ellerman
@ 2006-10-04  4:30     ` Jeremy Fitzhardinge
  0 siblings, 0 replies; 2+ messages in thread
From: Jeremy Fitzhardinge @ 2006-10-04  4:30 UTC (permalink / raw)
  To: michael
  Cc: Andrew Morton, linux-kernel, Andi Kleen, Hugh Dickens,
	Paul Mackerras, Benjamin Herrenschmidt, Rusty Russell

Michael Ellerman wrote:
> I posted a patch a few weeks back to use __builtin_trap(), which gives
> GCC the hint that it's not going to return.
>   

Ah, interesting.  I'd been looking for it, and, yep, completely 
undocumented.  It even generates the right instruction on x86.  
Unfortunately, your asm sequence isn't correct, since there's no 
guarantee that the asm and the builtin_trap will be adjacent (though its 
hard to see what might be interposed in this case, since it would be 
dead code).  If only gcc labels-as-values worked properly...

> (http://patchwork.ozlabs.org/linuxppc/patch?id=7047)
>
> Unfortunately this generated some negative feedback from some of our
> crackhead ... er wonderful colleagues who want to be able to step over
> BUGs in some circumstances.
> (http://ozlabs.org/pipermail/linuxppc-dev/2006-September/026161.html)
>
> I think they conceeded that it could be configurable, but I wasn't sure
> it was worth the trouble.
>   

Hm, not really.  Well, it can be an arch-by-arch decision.

    J

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-04  4:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20061003201618.974094245@goop.org>
     [not found] ` <20061003201812.313852083@goop.org>
2006-10-04  0:54   ` [PATCH 4/5] Generic BUG for powerpc Michael Ellerman
2006-10-04  4:30     ` Jeremy Fitzhardinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox