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

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Fri, 14 Jul 2023 11:23:25 UTC
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.
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