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

Daniel Mack daniel at zonque.org
Thu Feb 20 08:03:32 PST 2014


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?


Thanks,
Daniel


More information about the systemd-devel mailing list