ofono build error on ARM
Rémi Denis-Courmont
remi at remlab.net
Sat Aug 1 08:56:54 PDT 2009
Le samedi 1 août 2009 18:06:49 Marcel Holtmann, vous avez écrit :
> > > cc1: warnings being treated as errors
> > > netlink.c: In function ‘g_pn_nl_process’:
> > > netlink.c:75: error: cast increases required alignment of target type
> > > netlink.c:107: error: cast increases required alignment of target type
> > > netlink.c:109: error: cast increases required alignment of target type
> > > make[2]: *** [netlink.lo] Error 1
> >
> > I think there is no way to fix this. It comes from the Netlink packet
> > format and macros, which are confusing gcc. That's why I hate to enfore
> > -Werror.
>
> we only enforce -Werror for the developers and it is important to have
> gcc help us catch mistakes that might be easily overlooked.
If I recall correctly, `-Werror' is enforced when maintainer mode is enabled.
Really, turning off maintainer mode is primilarly useful to binary package
maintainers who *might* not want to trigger autotools updates. Then again,
some might waht to have them anyway... I find the underlying assumption to be
a bit restrictive if not flawed.
> I would have to look into these one and how we can fix them properly.
As far as I understand, those warnings come from casting receive buffers into
structure with higher-order alignment requirement - with some of your
competitors' CPU architectures anyway ;) Arguably, those are caused by
kernel/libc headers, not Ofono. I will check on Monday if we can fix them by
promoting the receive buffers to larger integer types, but it might make the
code worse.
But generally, there remain a problem that some warnings might simply be
bogus, or not under our control. For instance -outside of Ofono- I'm yet to
find a way around dummy variable "clobber warnings" when using POSIX thread
cancellation cleanup handlers. Sure, I could make all variables volatile, but
I refuse to damage optimizations for the sake of bogus warnings...
The real shame is that -Werror-* is dysfunctional in GCC :(
--
Rémi Denis-Courmont
http://www.remlab.net/
More information about the ofono
mailing list