On 08.05.2018 12:17, Thomas Huth wrote:
> I've run into a compilation error today with the current version of GCC 8:
>
> In file included from s390-ccw.h:49,
> from main.c:12:
> cio.h:128:1: error: alignment 1 of 'struct tpi_info' is less than 4
> [-Werror=packed-not-aligned]
> } __attribute__ ((packed));
> ^
> cc1: all warnings being treated as errors
>
> Since the struct tpi_info contains an element ("struct subchannel_id schid")
> which is marked as aligned(4), we've got to mark the struct tpi_info as
> aligned(4), too.
>
> Signed-off-by: Thomas Huth <[email protected]>
> ---
> pc-bios/s390-ccw/cio.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/pc-bios/s390-ccw/cio.h b/pc-bios/s390-ccw/cio.h
> index 55eaeee..1a0795f 100644
> --- a/pc-bios/s390-ccw/cio.h
> +++ b/pc-bios/s390-ccw/cio.h
> @@ -125,7 +125,7 @@ struct tpi_info {
> __u32 reserved3 : 12;
> __u32 int_type : 3;
> __u32 reserved4 : 12;
> -} __attribute__ ((packed));
> +} __attribute__ ((packed, aligned(4)));
>
> /* channel command word (type 1) */
> struct ccw1 {
>
Late but still
Reviewed-by: David Hildenbrand <[email protected]>
--
Thanks,
David / dhildenb