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

Thomas H.P. Andersen phomes at gmail.com
Thu Feb 20 13:26:02 PST 2014

On Thu, Feb 20, 2014 at 5:03 PM, 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?

Clang also caught those. I had to add -Wno-cast-align in the
autogen-shortcut to keep the noise down. It would be nice not to have
to do that of course.

More information about the systemd-devel mailing list