[systemd-devel] Build warnings for ARM due to -Wcast-align

Lennart Poettering lennart at poettering.net
Thu Feb 20 08:21:22 PST 2014


On Thu, 20.02.14 17:03, Daniel Mack (daniel at zonque.org) wrote:

> Hi,
> 
> When cross-compiling the current git HEAD for ARM using gcc 4.8.2, I see
> ~160 warnings similar to this one:
> 
> src/core/unit.c: In function 'unit_get_exec_runtime':
> src/core/unit.c:2851:17: warning: cast increases required alignment of
> target type [-Wcast-align]
>          return *(ExecRuntime**) ((uint8_t*) u + offset);
>                  ^
> 
> The full build log is here:
> 
>   http://paste.fedoraproject.org/78944/92912005
> 
> Unaligned memory access is indeed unsupported by some older instruction
> cores. The kernel can fix up in situations where such unaligned access
> occurs, but that's of course expensive and slow.
> 
> However, systemd does not actually do unaligned memory access at runtime
> (at least I haven't seen any when booting up PXA3xx hardware). The
> warning is simply about the type of pointer arithmetic that casts to and
> from uint8_t*.
> 
> And because it's practically impossible to fix the things the compiler
> complains about here anyway, I propose removing -Wcast-align from the
> CFLAGS in configure.ac.
> 
> Any opinions?

I am fine with that. I am personally only running things on x86, so it
never showed up for me. The usual solution for cast issues is to use
some union-based type conversion, but in the case above this is not
really nicely possible. Hence, let's drop it, unless somebody has a
better solution...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list