Re: 11.0 -r300944 build*KERNEL* via amd64-gcc fails for: .../dev/cxgb/ulp/tom/cxgb_listen.c:926:13: error: redundant redeclaration of 'tcp_dooptions'; cxgbe has an issue too

From: Mark Millard <markmi_at_dsl-only.net>
Date: Tue, 31 May 2016 22:49:29 -0700
On 2016-May-31, at 10:31 PM, Mark Millard <markmi at dsl-only.net> wrote:

> [I'm too used to typing "buildworld": The subject line should have referenced buildkernel and this resend does.]
> 
> On 2016-May-31, at 10:21 PM, Mark Millard <markmi at dsl-only.net> wrote:
>> 
>>> --- all_subdir_cxgb ---
>>> /usr/src/sys/modules/cxgb/tom/../../../dev/cxgb/ulp/tom/cxgb_listen.c:926:13: error: redundant redeclaration of 'tcp_dooptions' [-Werror=redundant-decls]
>>> extern void tcp_dooptions(struct tcpopt *, u_char *, int, int);
>>>            ^
>>> In file included from /usr/src/sys/modules/cxgb/tom/../../../dev/cxgb/ulp/tom/cxgb_listen.c:49:0:
>>> /usr/src/sys/netinet/tcp_var.h:769:7: note: previous declaration of 'tcp_dooptions' was here
>>> void  tcp_dooptions(struct tcpopt *, u_char *, int, int);
>>>      ^
>> . . .
>> --- all_subdir_cxgb ---
>>> cc1: all warnings being treated as errors
>>> *** [cxgb_listen.o] Error code 1
>> 
>> 
>> I got this while experimenting with WITH_META_MODE=yes for an external toolchain.
>> 
>> 
>> src.conf details:
>> (Yes it has some redundancies.)
>> 
>> TO_TYPE=amd64
>> TOOLS_TO_TYPE=x86_64
>> VERSION_CONTEXT=11.0
>> #
>> KERNCONF=GENERIC-NODEBUG
>> TARGET=${TO_TYPE}
>> .if ${.MAKE.LEVEL} == 0
>> TARGET_ARCH=${TO_TYPE}
>> .export TARGET_ARCH
>> .endif
>> #
>> WITHOUT_CROSS_COMPILER=
>> WITHOUT_SYSTEM_COMPILER=
>> #
>> WITH_LIBCPLUSPLUS=
>> WITHOUT_BINUTILS_BOOTSTRAP=
>> WITHOUT_CLANG_BOOTSTRAP=
>> WITH_CLANG=
>> WITH_CLANG_IS_CC=
>> WITH_CLANG_FULL=
>> WITH_CLANG_EXTRAS=
>> WITH_LLDB=
>> #PORTS_MODULES=emulators/virtualbox-ose-additions
>> #
>> #WITH_BOOT= for amd64-xtoolschain-gcc/amd64-gcc gets... 
>> # --- all_subdir_sys ---
>> # -994 bytes available
>> # *** [boot2] Error code 1
>> WITHOUT_BOOT=
>> WITH_LIB32=
>> #
>> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
>> WITHOUT_GCC_BOOTSTRAP=
>> WITHOUT_GCC=
>> WITHOUT_GCC_IS_CC=
>> WITHOUT_GNUCXX=
>> #
>> NO_WERROR=
>> #WERROR=
>> MALLOC_PRODUCTION=
>> #
>> WITH_DEBUG_FILES=
>> #
>> #
>> # For TO (so-called "cross") stages . . .
>> # So-called-cross via ${TO_TYPE}-xtoolchain-gcc/${TO_TYPE}-gcc. . .
>> # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils. . .
>> #
>> CROSS_TOOLCHAIN=${TO_TYPE}-gcc
>> X_COMPILER_TYPE=gcc
>> CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
>> .if ${.MAKE.LEVEL} == 0
>> XCC=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-gcc
>> XCXX=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-g++
>> XCPP=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-cpp
>> .export XCC
>> .export XCXX
>> .export XCPP
>> XAS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as
>> XAR=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar
>> XLD=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld
>> XNM=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm
>> XOBJCOPY=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy
>> XOBJDUMP=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump
>> XRANLIB=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib
>> XSIZE=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size
>> #NO-SUCH: XSTRINGS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings
>> XSTRINGS=/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings
>> .export XAS
>> .export XAR
>> .export XLD
>> .export XNM
>> .export XOBJCOPY
>> .export XOBJDUMP
>> .export XRANLIB
>> .export XSIZE
>> .export XSTRINGS
>> .endif
>> #
>> #
>> # From based on clang (via system). . .
>> #
>> .if ${.MAKE.LEVEL} == 0
>> CC=/usr/bin/clang
>> CXX=/usr/bin/clang++
>> CPP=/usr/bin/clang-cpp
>> .export CC
>> .export CXX
>> .export CPP
>> .endif
> 
> 
> ===
> Mark Millard
> markmi at dsl-only.net



If the offending declaration in cxgb_listen.c is commented out (or removed) there is a "next problem" but for cxgbe:

> --- all_subdir_cxgbe/tom ---
> /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c: In function 'do_pass_accept_req':
> /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:640:1: warning: inlining failed in call to 'release_synqe': call is unlikely and code size would grow [-Winline]
> release_synqe(struct synq_entry *synqe)
> ^
> /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:1406:3: warning: called from here [-Winline]
>   release_synqe(synqe); /* extra hold */
>   ^
> /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:640:1: warning: inlining failed in call to 'release_synqe': call is unlikely and code size would grow [-Winline]
> release_synqe(struct synq_entry *synqe)
> ^
> /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:1411:2: warning: called from here [-Winline]
>  release_synqe(synqe); /* extra hold */
>  ^
. . .
> --- all_subdir_cxgbe/tom ---
> cc1: all warnings being treated as errors
> *** [t4_listen.o] Error code 1

It looks like this code area has not been tried under devel/amd64-gcc compiles.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209920 has the material for these.


===
Mark Millard
markmi at dsl-only.net
Received on Wed Jun 01 2016 - 03:49:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC