Re: git: be78a31188c5 - main - tcp: fix build issue for some cc modules

From: <tuexen_at_freebsd.org>
Date: Fri, 14 Jul 2023 11:28:54 UTC
> On 14. Jul 2023, at 13:23, Konstantin Belousov <kostikbel@gmail.com> wrote:
> 
> On Thu, Jul 13, 2023 at 08:31:34PM +0000, Michael Tuexen wrote:
>> The branch main has been updated by tuexen:
>> 
>> URL: https://cgit.FreeBSD.org/src/commit/?id=be78a31188c530c93700396ecfdb5604a8f22fff
>> 
>> commit be78a31188c530c93700396ecfdb5604a8f22fff
>> Author:     Michael Tuexen <tuexen@FreeBSD.org>
>> AuthorDate: 2023-07-13 16:56:25 +0000
>> Commit:     Michael Tuexen <tuexen@FreeBSD.org>
>> CommitDate: 2023-07-13 16:56:25 +0000
>> 
>>   tcp: fix build issue for some cc modules
>> 
>>   The TCP_HHOOK option was moved from opt_inet.h to opt_global.h in
>>   https://cgit.FreeBSD.org/src/commit/?id=e68b3792440cac248347afe08ba5881a00ba6523
>>   The corresponding changes in two Makefiles were missed, which resulted
>>   in not building cc_cdg, cc_chd, cc_hd, and cc_vegas anymore.
>> 
>>   Reported by:            void@f-m.fm
>>   Reviewed by:            rrs, rscheff
>>   Sponsored by:           Netflix, Inc.
>>   Differential Revision:  https://reviews.freebsd.org/D41010
>> ---
>> sys/modules/cc/Makefile    | 6 +++---
>> sys/modules/khelp/Makefile | 6 +++---
>> 2 files changed, 6 insertions(+), 6 deletions(-)
>> 
>> diff --git a/sys/modules/cc/Makefile b/sys/modules/cc/Makefile
>> index 3f7110024722..b595cc204481 100644
>> --- a/sys/modules/cc/Makefile
>> +++ b/sys/modules/cc/Makefile
>> @@ -8,9 +8,9 @@ SUBDIR= cc_newreno \
>> 
>> # Do we have the TCP_HHOOK symbol defined? If not, there is no point in
>> # building these modules by default.
>> -# We will default to building these modules unless $OPT_INET is defined
>> -# and does not contain the TCP_HHOOK option.
>> -.if defined(ALL_MODULES) || ${OPT_INET:UTCP_HHOOK:MTCP_HHOOK} != ""
>> +# We will default to building these modules if $OPT_GLOBAL does contain
>> +# the TCP_HHOOK option.
>> +.if defined(ALL_MODULES) || ${OPT_GLOBAL:UTCP_HHOOK:MTCP_HHOOK} != ""
>> SUBDIR+= \
>> cc_cdg \
>> cc_chd \
>> diff --git a/sys/modules/khelp/Makefile b/sys/modules/khelp/Makefile
>> index 256d8838c573..c01d61541062 100644
>> --- a/sys/modules/khelp/Makefile
>> +++ b/sys/modules/khelp/Makefile
>> @@ -4,9 +4,9 @@ SUBDIR=
>> 
>> # Do we have the TCP_HHOOK symbol defined? If not, there is no point in
>> # building this modules by default.
>> -# We will default to building this module unless $OPT_INET is defined
>> -# and does not contain the TCP_HHOOK option.
>> -.if defined(ALL_MODULES) || ${OPT_INET:UTCP_HHOOK:MTCP_HHOOK} != ""
>> +# We will default to building this module if $OPT_GLOBAL does contain
>> +# the TCP_HHOOK option.
>> +.if defined(ALL_MODULES) || ${OPT_GLOBAL:UTCP_HHOOK:MTCP_HHOOK} != ""
>> SUBDIR+= h_ertt
>> .endif
>> 
> It seems modules are actually broken for some configurations.
Some problems are known and being worked on.

Could you share your kernel conf file and tell us, in which directory
you are running the make command?

Best regards
Michael
> I get
> 
> ===> cc/cc_cdg (all)
> /usr/home/kostik/work/DEV/src/sys/netinet/cc/cc_cdg.c:585:47: error: no member named 't_osd' in 'struct tcpcb'
>       e_t = (struct ertt *)khelp_get_osd(&CCV(ccv, t_osd), ertt_id);
>                                           ~~~~~~~~~^~~~~~
> /usr/home/kostik/work/DEV/src/sys/netinet/cc/cc_module.h:59:41: note: expanded from macro 'CCV'
> #define CCV(ccv, what) (ccv)->ccvc.tcp->what
>                      ~~~~~~~~~~~~~~~  ^
> 1 error generated.
> --- cc_cdg.o ---
> *** [cc_cdg.o] Error code 1
>