From 2145057cb8a50aba1a27a67be19953bee9b164fd Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 25 Feb 2018 14:44:29 +0100 Subject: pkg/compiler: fix alignment corner case Fix alignemnt calculation for packed structs with alignment and bitfields. Amusingly this affected only a single real struct -- ipv6_fragment_ext_header. --- sys/test/test.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'sys/test/test.txt') diff --git a/sys/test/test.txt b/sys/test/test.txt index d63ed598b..f520afa04 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -26,6 +26,7 @@ syz_test$align3(a0 ptr[in, syz_align3]) syz_test$align4(a0 ptr[in, syz_align4]) syz_test$align5(a0 ptr[in, syz_align5]) syz_test$align6(a0 ptr[in, syz_align6]) +syz_test$align7(a0 ptr[in, syz_align7]) syz_align0 { f0 int16 @@ -97,6 +98,20 @@ syz_align6 { f1 array[int32] } +syz_align7 { + f0 syz_align8 + f1 int8 +} + +syz_align8 { + f0 int8:1 + f1 int8:1 + f2 int8:1 + f3 int16:1 + f4 int16:1 + f5 int16:1 +} [packed, align_8] + # Structs syz_test$struct(a0 ptr[in, syz_struct0]) -- cgit mrf-deployment