On Tue 19 June 2012 14:50:09 Ezequiel Garcia wrote:
> Hi Hans,
> 
> On Tue, Jun 19, 2012 at 3:34 AM, Hans Verkuil <hverk...@xs4all.nl> wrote:
> > Hi all,
> >
> > Yesterday I upgraded the gcc version I use to compile the daily build to
> > 4.7.1.
> >
> > This causes very strange errors when compiling 2.6.39 - 3.3:
> >
> > FATAL: media_build/v4l/tuner: sizeof(struct i2c_device_id)=32 is not a
> > modulo of the size of section __mod_i2c_device_table=18.
> > Fix definition of struct i2c_device_id in mod_devicetable.h
> >
> > This error does not appear when compiling with gcc 4.6.3, and I see
> > absolutely nothing
> > wrong with mod_devicetable.h.
> >
> > I tried very hard to figure out what is going on and why older and newer
> > kernels
> > are not affected, but I still have no idea.
> >
> > The error itself it reported by scripts/mod/file2alias.c. I can suppress
> > that error
> > but that will just lead to a modpost crash later in the compile process.
> >
> > The tuner.o file always causes this. Commenting tuner.o in the Makefile will
> > cause
> > the same problems in other modules (cafe_ccic), but there are also i2c
> > modules that
> > compile just fine.
> >
> > Does anyone have an insight into this? Did something magical change in
> > kernel 3.4
> > that fixed this?
> >
> 
> Perhaps this thread could be useful:
> 
> https://lkml.org/lkml/2012/6/15/323

Yeah, I read that as well. But there there is a clear change that caused the
problem. As far as I can tell include/linux/mod_devicetable.h has identical
i2c_device_id structs for linux-3.0/1/2/3/4, yet all compile fine with 
gcc-4.6.3,
but for gcc-4.7.1 only linux-3.4 compiles.

I'm stumped.

Regards,

        Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to