On Friday 30 September 2005 12:45, Laurent Riffard wrote:
> Le 30.09.2005 01:54, Brice Goglin a écrit :
> > Le 30.09.2005 01:40, Michal Piotrowski a écrit :
> >>It maybe a problem with gentoo gcc.
> >
> > I'm seeing the same error with Debian gcc4.
> >
> > bgoglin@puligny:/usr/src/linux-mm$ gcc --version
> > gcc (GCC) 4.0.1 (Debian 4.0.1-2)
> >
> > By the way, the error appears when compiling
> > CC [M] fs/reiser4/debug.o
> > while DEBUG is disabled for REISER4.
> >
> > My .config attached
> > Note that Alexandre forgot to reenable Reiser4 in the .config he sent.
> >
> > Regards,
> > Brice
>
> It seems to appear when CONFIG_SMP=N and CONFIG_DEBUG_SPINLOCK=N and
> CONFIG_REISER4_DEBUG=N.
>
> In this case, spinlock_t is an empty struct (see
> include/linux/spinlock_types.h and
> include/linux/spinlock_types_up.h). Then sizeof(spinlock_t) _is_ 0,
> and this breaks some code like cassert calls from
> fs/reiser4/spin_macros.h line 85 (FIELD is a spinlock_t) :
> 82 static inline void spin_ ## NAME ## _init(TYPE *x) \
> 83 { \
>
> 84 __ODCA("nikita-2987", x != NULL); \
> 85 cassert(sizeof(x->FIELD) != 0); \
>
> 86 memset(& x->FIELD, 0, sizeof x->FIELD); \
>
> 87 spin_lock_init(& x->FIELD.lock); \
>
> 88 } \
>
> 89
correct.
the code will be reworked soon,
a hot fix for now is:
-----------------------------------
diff --git a/spin_macros.h b/spin_macros.h
--- a/spin_macros.h
+++ b/spin_macros.h
@@ -82,8 +82,6 @@ typedef struct reiser4_rw_data {
static inline void spin_ ## NAME ## _init(TYPE *x) \
{ \
__ODCA("nikita-2987", x != NULL); \
- cassert(sizeof(x->FIELD) != 0); \
- memset(& x->FIELD, 0, sizeof x->FIELD); \
spin_lock_init(& x->FIELD.lock); \
} \
\
@@ -236,7 +234,6 @@ typedef struct { int foo; } NAME ## _spi
static inline void rw_ ## NAME ## _init(TYPE *x) \
{ \
__ODCA("nikita-2988", x != NULL); \
- memset(& x->FIELD, 0, sizeof x->FIELD); \
rwlock_init(& x->FIELD.lock); \
} \
\
-----------------------------------
>
> ~~
> laurent
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|