ARCH_SLAB_MINALIGN might be defined as
#define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)
but gcc 3.3 cannot understand
#if __alignof__(unsigned long long)
line.
CC mm/slab.o
mm/slab.c:3156:5: warning: "__alignof__" is not defined
mm/slab.c:3156:5: missing binary operator before token "("
make[1]: *** [mm/slab.o] Error 1
make: *** [mm] Error 2
Use "if (ARCH_SLAB_MINALIGN)" rather than "#if ARCH_SLAB_MINALIGN".
Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
---
mm/slab.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
--- linux-3.0-next.orig/mm/slab.c
+++ linux-3.0-next/mm/slab.c
@@ -3153,12 +3153,9 @@ static void *cache_alloc_debugcheck_afte
objp += obj_offset(cachep);
if (cachep->ctor && cachep->flags & SLAB_POISON)
cachep->ctor(objp);
-#if ARCH_SLAB_MINALIGN
- if ((u32)objp & (ARCH_SLAB_MINALIGN-1)) {
+ if (ARCH_SLAB_MINALIGN && ((u32)objp & (ARCH_SLAB_MINALIGN-1)))
printk(KERN_ERR "0x%p: not aligned to ARCH_SLAB_MINALIGN=%d\n",
objp, ARCH_SLAB_MINALIGN);
- }
-#endif
return objp;