Re: [PATCH v3 0/2] Stop some of the abuse of BUG() where compiletime checks should be used.
From: David Daney
Date: Mon Nov 28 2011 - 12:03:23 EST
On 11/24/2011 10:31 AM, Linus Torvalds wrote:
On Thu, Nov 24, 2011 at 2:24 AM, David Howells<dhowells@xxxxxxxxxx> wrote:
Have you tried asking the gcc folks if this is likely to get fixed soon?
I actually don't think it's a bug. The error message is associated
with the function declaration symbol, so it actually makes sense that
there can be only one error message per callee - not per caller.
Yes, that is correct.
Using "__LINE__" to then create fairly unique symbols (modulo
#include, of course) gets around it in a pretty natural way as ddaney
said, so if we care enough. I don't think it's a big issue (as
mentioned, I'd worry more about us making sure it's reliable enough to
be used - we've had gcc sometimes fail to compile things out just
because some optimization was not working well enough).
Since these are *build* bugs, they are of a different nature than the
*runtime* variety. They will never be seen at random times by someone
running the kernel, so making it easier to determine their cause is less
important. Really, I would expect it to never really be an issue.
We will always know which file is the culprit. Finding the line number
can be done like this:
objdump -r $file | grep build_bug | addr2line -e $file
David Daney
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/