add BUG_ON to 2.4 #1
PATCH 1/1 add BUG_ON to 2.4 #1
The following patch adds the BUG_ON (as seen on TV and 2.5) define to the 2.4 kernel. This will help in portability and back-porting from 2.5 to 2.4, plus BUG_ON is a nice optimization and aids readability.
For the unaware, BUG_ON(condition) calls bug on !condition, which is marked unlikely().
This is the generalized arch-independent BUG_ON as in later 2.5 kernels.
Marcelo, please apply.
Robert Love
include/linux/kernel.h +2 -0
@@ -11,6 +11,7 @@#include <linux/linkage.h> #include <linux/stddef.h> #include <linux/types.h> +#include <linux/compiler.h> /* Optimization barrier */ /* The "volatile" is due to gcc bugs */
@@ -181,4 +182,5 @@ char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */ }; +#define BUG_ON (condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)#endif
Quoted 3 lines · Robert Love
The following patch adds the
BUG_ON(as seen on TV and 2.5) define to the 2.4 kernel. This will help in portability and back-porting from 2.5 to 2.4, plusBUG_ONis a nice optimization and aids readability.
I mentioned earlier today we need someone to step up and write a kcompat.h for 2.5 stuff like minor() and the new remap_page_range().
I'll have to do this anyway for the stuff I use (I already have oodles of 2.2 stuff) but it would be nice to be able to use a "standard" header (and .c if necessary)
regards
john
Signature · 2 lines
"ALL television is children's television." - Richard Adler
Quoted 6 lines · John Levon
I mentioned earlier today we need someone to step up and write a
kcompat.hfor 2.5 stuff likeminor()and the newremap_page_range().I'll have to do this anyway for the stuff I use (I already have oodles of 2.2 stuff) but it would be nice to be able to use a "standard" header (and .c if necessary)
Hopefully Marcelo will take this patch and we won't need BUG_ON, at least, for 2.5->2.4 compatibility.
Robert Love
Quoted 2 lines · Robert Love
Hopefully Marcelo will take this patch and we won't need
BUG_ON, at least, for 2.5->2.4 compatibility.
we still need it in kcompat.h so I can compile under 2.4.<random>, and 2.2.<random> for that matter.
regards
john
Signature · 2 lines
"ALL television is children's television." - Richard Adler