From ab6b37ac32ddf2f2f11f800a770170814f5cbb8b Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 24 Oct 2017 14:23:30 +0200 Subject: [PATCH] backends: Ignore GCC8 -Wpacked-not-aligned for m68k_corenote.c. The GCC8 -Wpacked-not-aligned warns if a structure field with explicit padding in a packed structure will be misaligned. m68k prstatus core notes are described by a packed structure which has such aligned structure fields. Signed-off-by: Mark Wielaard --- backends/ChangeLog | 4 ++++ backends/Makefile.am | 7 +++++++ config/ChangeLog | 4 ++++ config/eu.am | 1 + 4 files changed, 16 insertions(+) diff --git a/backends/ChangeLog b/backends/ChangeLog index 8c3f42c..190ae96 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,7 @@ +2017-10-24 Mark Wielaard + + * Makefile.am (m68k_corenote_no_Wpacked_not_aligned): New variable. + 2017-08-18 Ulf Hermann * linux-core-note.c: Use attribute_packed. diff --git a/backends/Makefile.am b/backends/Makefile.am index 0fde0cb..2c62add 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -119,6 +119,13 @@ m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c \ libebl_m68k_pic_a_SOURCES = $(m68k_SRCS) am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os) +# m68k prstatus core notes are described by a packed structure +# which has not naturally aligned fields. Since we don't access +# these fields directly, but take their offset to be used later +# to extract the data through elfxx_xlatetom/memmove, this isn't +# an issue. +m68k_corenote_no_Wpacked_not_aligned = yes + bpf_SRCS = bpf_init.c bpf_regs.c cpu_bpf = ../libcpu/libcpu_bpf.a libebl_bpf_pic_a_SOURCES = $(bpf_SRCS) diff --git a/config/ChangeLog b/config/ChangeLog index 1ed3c4a..de0d890 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2017-10-24 Mark Wielaard + + * eu.am (AM_CFLAGS): Handle -Wno-packed-not-aligned. + 2017-04-27 Ulf Hermann * eu.am: Use fpic_CFLAGS. diff --git a/config/eu.am b/config/eu.am index 796f388..05c27f0 100644 --- a/config/eu.am +++ b/config/eu.am @@ -74,6 +74,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ + $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ $($(*F)_CFLAGS) COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) -- 1.8.3.1