Re: git: be78a31188c5 - main - tcp: fix build issue for some cc modules
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