Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH] Fix an uninitialised variable warning in the 8250 driver | Date | Fri, 14 Nov 2008 16:51:08 +0000 |
| |
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> Current versions of gcc that I've tested get this all correct just fine > for x86 at least.
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
> Do check that the BUG_ON() helper for whatever platform you are using > needs to correctly indicate that its BUG spewing path may not return > (__attibute((__noreturn__)). I seem to remember some of the architectures > are broken on that.
x86_64 - which doesn't do that. It uses asm volatile and an infinite for-loop.
Surely having BUG() retreat through a noreturn function may lose important state, such as the function that issued the bug as the compiler is under no requirement to save the return value, and the file/line info may not be available.
David
| |