Summary: | 11.0 -r303469 buildkernel via amd64-gcc fails for: .../dev/cxgb/ulp/tom/cxgb_listen.c:926:13: error: redundant redeclaration of 'tcp_dooptions'; (not retested: a different cxbge issue too) | ||
---|---|---|---|
Product: | Base System | Reporter: | Mark Millard <marklmi26-fbsd> |
Component: | kern | Assignee: | Enji Cooper <ngie> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | amd64, ngie, np |
Priority: | Normal | Flags: | ngie:
mfc-stable11+
ngie: mfc-stable10- ngie: mfc-stable9- |
Version: | 11.0-BETA3 | ||
Hardware: | amd64 | ||
OS: | Any |
Description
Mark Millard
2016-06-01 05:28:21 UTC
(In reply to Mark Millard from comment #0) If the offending declaration in cxgb_listen.c is commented out (or removed) there is a "next problem" for csgb: --- 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 has not been tried under devel/amd64-gcc compiles. (In reply to Mark Millard from comment #1) Actually: cxbge for the second problem, not cxgb. (In reply to Mark Millard from comment #1) Actually: cxbge for the second amd64-gcc rejection, not cxgb. (In reply to Mark Millard from comment #3) After the cxgbe failed-inline error is cleared by removing the "inline" cxgbe then gets another error: --- t4_listen.o --- /usr/src/sys/modules/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:669: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/cxgbe/tom/../../../dev/cxgbe/tom/t4_listen.c:61: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); ^ . . . --- t4_listen.o --- cc1: all warnings being treated as errors *** [t4_listen.o] Error code 1 (In reply to Mark Millard from comment #4) As of 11.0 -r301815 the example changes tested have not been applied and so the status has not changed. (I can not update official FreeBSD source so someone else would have to.) # svnlite diff /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c Index: /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c =================================================================== --- /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c (revision 301815) +++ /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c (working copy) @@ -923,7 +923,7 @@ } /* XXX */ -extern void tcp_dooptions(struct tcpopt *, u_char *, int, int); +//extern void tcp_dooptions(struct tcpopt *, u_char *, int, int); int t3_syncache_respond(struct toedev *tod, void *arg, struct mbuf *m) # svnlite diff /usr/src/sys/dev/cxgbe/tom/t4_listen.c Index: /usr/src/sys/dev/cxgbe/tom/t4_listen.c =================================================================== --- /usr/src/sys/dev/cxgbe/tom/t4_listen.c (revision 301815) +++ /usr/src/sys/dev/cxgbe/tom/t4_listen.c (working copy) @@ -636,7 +636,7 @@ refcount_acquire(&synqe->refcnt); } -static inline void +static /* inline */ void release_synqe(struct synq_entry *synqe) { @@ -666,7 +666,7 @@ } /* XXX */ -extern void tcp_dooptions(struct tcpopt *, u_char *, int, int); +//extern void tcp_dooptions(struct tcpopt *, u_char *, int, int); int t4_syncache_respond(struct toedev *tod, void *arg, struct mbuf *m) This still is true of -r302457. So I've updated the Version selected. A commit references this bug: Author: ngie Date: Mon Jul 11 16:56:51 UTC 2016 New revision: 302576 URL: https://svnweb.freebsd.org/changeset/base/302576 Log: (Re-do r302574 with corrected commit message..) Remove redundant declaration for tcp_dooptions netinet/tcp_var.h already defines this function Differential Revision: https://reviews.freebsd.org/D7187 MFC after: 1 week PR: 209920 Reported by: Mark Millard <markmi@dsl-only.net> Reviewed by: np Tested with: clang 3.8.0, gcc 4.2.1, gcc 5.3.0 Sponsored by: EMC / Isilon Storage Division Changes: head/sys/dev/cxgb/ulp/tom/cxgb_listen.c A commit references this bug: Author: ngie Date: Mon Jul 11 17:11:19 UTC 2016 New revision: 302581 URL: https://svnweb.freebsd.org/changeset/base/302581 Log: Remove redundant declaration for tcp_dooptions, similar to r302576 netinet/tcp_var.h already defines this function Differential Revision: https://reviews.freebsd.org/D7189 MFC after: 1 week PR: 209920 Reported by: Mark Millard <markmi@dsl-only.net> Reviewed by: np Tested with: clang 3.8.0, gcc 4.2.1, gcc 5.3.0 Sponsored by: EMC / Isilon Storage Division Changes: head/sys/dev/cxgbe/tom/t4_listen.c Attempting to builds BETA3 via amd64-gcc again got the following so I'm updating het information to track: /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:766:7: note: previous declaration of 'tcp_dooptions' was here void tcp_dooptions(struct tcpopt *, u_char *, int, int); ^ cc1: all warnings being treated as errors *** [cxgb_listen.o] Error code 1 (I have not re-testd what was later reported in comments 1 or 4.) Context: make[5]: stopped in /usr/src/sys/modules/cxgb/tom # uname -apKU FreeBSD FreeBSDx64 11.0-BETA3 FreeBSD 11.0-BETA3 #1 r303469M: Fri Jul 29 03:54:43 PDT 2016 markmi@FreeBSDx64:/usr/obj/clang/amd64.amd64/usr/src/sys/GENERIC-NODBG amd64 amd64 1100120 1100120 # svnlite info Path: . Working Copy Root Path: /usr/src URL: svn://svn.freebsd.org/base/stable/11 Relative URL: ^/stable/11 Repository Root: svn://svn.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 303469 Node Kind: directory Schedule: normal Last Changed Author: gjb Last Changed Rev: 303469 Last Changed Date: 2016-07-28 17:00:54 -0700 (Thu, 28 Jul 2016) A commit references this bug: Author: ngie Date: Tue Aug 2 23:35:00 UTC 2016 New revision: 303686 URL: https://svnweb.freebsd.org/changeset/base/303686 Log: MFC r302581: Remove redundant declaration for tcp_dooptions, similar to r302576 netinet/tcp_var.h already defines this function Approved by: re (gjb) PR: 209920 Changes: _U stable/11/ stable/11/sys/dev/cxgbe/tom/t4_listen.c A commit references this bug: Author: ngie Date: Wed Aug 3 00:19:52 UTC 2016 New revision: 303690 URL: https://svnweb.freebsd.org/changeset/base/303690 Log: MFC r302576: Approved by: re (gjb) r302576: (Re-do r302574 with corrected commit message..) Remove redundant declaration for tcp_dooptions netinet/tcp_var.h already defines this function PR: 209920 Tested with: clang 3.8.0, gcc 4.2.1, gcc 5.3.0 Changes: _U stable/11/ stable/11/sys/dev/cxgb/ulp/tom/cxgb_listen.c Updating to -r303691 allowed my build attempt to get farther but I've submitted 211540 for the next things that stopped the amd64-gcc build that 11.0-BETA3+. I classified 211540 as 11.0-STABLE as it is between 11.0-BETA3 and the future 11.0-RC1: it is not right at what a BETA3 tag would identify. |