Re: Buildworld fails with external GCC toolchain

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Mon, 14 Feb 2022 23:26:00 UTC
From: John Baldwin <jhb@FreeBSD.org>
Subject: Re: Buildworld fails with external GCC toolchain
Date: Mon, 14 Feb 2022 10:46:29 -0800

>>> Not really, the gcc 9 build has been broken for months, as far as I
>>> know.
>>>
>>> See also: https://ci.freebsd.org/job/FreeBSD-main-amd64-gcc9_build/
>>>
>>> The last build(s) show a different error from yours, though:
>>>
>>> /workspace/src/tests/sys/netinet/libalias/util.c: In function
>>> 'set_udp':
>>> /workspace/src/tests/sys/netinet/libalias/util.c:112:2: error:
>>> converting a packed 'struct ip' pointer (alignment 2) to a 'uint32_t'
>>> {aka 'unsigned int'} pointer (alignment 4) may result in an unaligned
>>> pointer value [-Werror=address-of-packed-member]
>>>    112 |  uint32_t *up = (void *)p;
>>>        |  ^~~~~~~~
>>> In file included from
>>> /workspace/src/tests/sys/netinet/libalias/util.h:37,
>>>                   from /workspace/src/tests/sys/netinet/libalias/util.c:39:
>>> /workspace/src/sys/netinet/ip.h:51:8: note: defined here
>>>     51 | struct ip {
>>>        |        ^~
>>>
>>> -Dimitry
>>>
>> Thanks for information. I went back the commit history of main branch
>> about every month and check if buildworld succeeds with GCC. But it
>> didn't succeed even if I went back about a year. And devel/binutils
>> port was update to 2.37 on last August. So I suspect external GCC
>> toolchain doesn't work well after binutils is updated to current
>> version.
> 
> I have amd64 world + kernel building with GCC 9 and the only remaining
> open review not merged yet is https://reviews.freebsd.org/D34147.
> 
> It is work to keep it working though and I hadn't worked on it again
> until recently.

Thanks for letting me know. I tried patch of the review and confirmed
both buildworld and buildkernel succeed with GCC 9 and binutils 2.37.
So I reached start point now and can test binutils 2.38.

---
Yasuhiro Kimura