Skip to contentSkip to conversation

add BUG_ON to 2.4 #1

PATCH In review Robert Love 2 participants 4 messages Jan 25, 2002 – Jan 26, 2002

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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, plus BUG_ON is 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 
#2 lore raw
Quoted 6 lines · John Levon

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)

Hopefully Marcelo will take this patch and we won't need BUG_ON, at least, for 2.5->2.4 compatibility.

Robert Love

#3 lore raw
In reply to 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