Re: Looks like the kyua zfs tests likely are not used on aarch64 or other contexts with unsigned char

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 11 Sep 2023 08:53:55 UTC
On Sep 11, 2023, at 00:03, Mark Millard <marklmi@yahoo.com> wrote:

> On Sep 10, 2023, at 23:57, Dag-Erling Smørgrav <des@FreeBSD.org> wrote:
> 
>> Mark Millard <marklmi@yahoo.com> writes:
>>> I'm not aware of there being other documentation for what
>>> is appropriate for setting up such for kyua runs.
>> 
>> https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/build-test_image-head.sh#L69-L84
>> 
> 
> Thanks for the reference that does not involve looking at
> CI log files. Filed away for future references.
> 
> 
> Side note . . .
> 
> Turns out that tcptestsuite does not build for aarch64
> do to alignment problems via packing in net/packetdrill :
> 
> In file included from run_packet.c:45:
> In file included from ./tcp_options_iterator.h:31:
> ./tcp_options.h:108:2: error: field  within 'struct tcp_option' is less aligned than 'union tcp_option::(anonymous at ./tcp_options.h:108:2)' and is usually due to 'struct tcp_option' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]
>       union {
>       ^
> --- sctp_iterator.o ---
> cc  -O2 -pipe -mcpu=cortex-a7

Looks like I messed up and reported an armv7 context.
aarch64 built net/packetdrill and net/tcptestsuite just
fine. Sorry for the noise.

>  -Wno-deprecated -g -fstack-protector-strong -fno-strict-aliasing  -mcpu=cortex-a7 -Wall -Werror -g -c sctp_iterator.c -o sctp_iterator.o
> --- tcp_options.o ---
> cc  -O2 -pipe -mcpu=cortex-a7  -Wno-deprecated -g -fstack-protector-strong -fno-strict-aliasing  -mcpu=cortex-a7 -Wall -Werror -g -c tcp_options.c -o tcp_options.o
> --- run_packet.o ---
> 1 error generated.
> *** [run_packet.o] Error code 1
> 
> make[1]: stopped in /wrkdirs/usr/ports/net/packetdrill/work/packetdrill-aebdc35/gtests/net/packetdrill
> --- tcp_options.o ---
> In file included from tcp_options.c:25:
> ./tcp_options.h:108:2: error: field  within 'struct tcp_option' is less aligned than 'union tcp_option::(anonymous at ./tcp_options.h:108:2)' and is usually due to 'struct tcp_option' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]
>       union {
>       ^
> 1 error generated.
> *** [tcp_options.o] Error code 1
> 
> make[1]: stopped in /wrkdirs/usr/ports/net/packetdrill/work/packetdrill-aebdc35/gtests/net/packetdrill
> 2 errors
> 



===
Mark Millard
marklmi at yahoo.com