Messages in this thread | | | Date | Thu, 19 Feb 2009 11:53:30 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] x86: remove unneeded endless loop in BUG() |
| |
Ingo Molnar wrote: > > the problem is that the DO_BUG() will generate the u2d > instruction into a random place where GCC puts it. It certainly > wont be in the place where the __bug_table logic above expects > it. > > The result will be cryptic crashes instead of a clean BUG > message assert. >
For that to happen, it would have to move the asm volatile relative to the __builtin_trap(), which seems slightly unlikely -- are there any cases at which this has been known to happen, or is that conjecture on your part?
It would be more of a "right thing" to do this with a label on the __builtin_trap(), but the problem with that labels have function scope even if they occur inside a block.
-hpa
| |