Messages in this thread | | | Date | Wed, 29 Apr 2009 09:03:16 +0200 | From | Nick Piggin <> | Subject | Re: mmotm 2009-04-24-18-14 uploaded - NVidia indigestion |
| |
On Tue, Apr 28, 2009 at 12:01:21PM -0400, Valdis.Kletnieks@vt.edu wrote: > On Tue, 28 Apr 2009 08:15:57 +0200, Nick Piggin said: > > Here's the code (pretty much *all* the code): > > > #include <linux/version.h> > > #include <linux/utsname.h> > > int main() { > > if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) { > > return 0; > > } else { > > return 1; > > } > > } > > > Hmm, yes if you build without -O, then it appears like the compiler > > trips over this. I wouldn't be unhappy with just removing the BUILD_BUG_ON, > > but shouldn't the module be using -O[s2]? > > It's a little autoconfig chunk from vendor code that determines if we're > building on a sane/recent kernel. Not the sort of thing you'd expect to > need to invoke the frikking optimizer for program *correctness* :)
The kernel I think has for a long time required -O to compile correctly because some things marked inline have had to be inlined for correctness. This might have changed now that we have __always_inline, but anyway.
But I'll just get rid of that BUILD_BUG_ON.
Thanks, Nick
| |