From owner-freebsd-current Sun Mar 5 15:36:36 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id PAA10092 for current-outgoing; Sun, 5 Mar 1995 15:36:36 -0800 Received: from estienne.cs.berkeley.edu (estienne.CS.Berkeley.EDU [128.32.42.147]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id PAA10085 for ; Sun, 5 Mar 1995 15:36:35 -0800 Received: from localhost (localhost [127.0.0.1]) by estienne.cs.berkeley.edu (8.6.9/8.6.9) with SMTP id PAA10545; Sun, 5 Mar 1995 15:36:15 -0800 Message-Id: <199503052336.PAA10545@estienne.cs.berkeley.edu> X-Authentication-Warning: estienne.cs.berkeley.edu: Host localhost didn't use HELO protocol To: nate@sneezy.sri.com (Nate Williams) cc: current@FreeBSD.org Subject: Re: Kernel build fails? In-reply-to: Your message of "Sun, 05 Mar 1995 16:30:28 MST." <199503052330.QAA16270@trout.sri.MT.net> Date: Sun, 05 Mar 1995 15:36:15 -0800 From: "Justin T. Gibbs" Sender: current-owner@FreeBSD.org Precedence: bulk > >Justin T. Gibbs writes: >> >> Today's kernel falls over for me: >> >> loading kernel >> tty.o: Definition of symbol `_ttydefchars' (multiply defined) >> tcp_output.o: Definition of symbol `_tcp_outflags' (multiply defined) >> tcp_subr.o: Definition of symbol `_tcp_outflags' (multiply defined) >> sio.o: Definition of symbol `_ttydefchars' (multiply defined) >> *** Error code 1 >> >> Is this related to Nate's ld changes? I did a make world last night, so >> this should be with the new ld. > >It *could* be. I thought I got them all, but it's possible since the >new ld is a lot less tolerant on multiple definitions and I never even >thought to try it on the kernel since I assumed there wouldn't be any >redundant definitions. > >Geeze, I thought I had checked it all. Sigh..... > > >Nate I fixed these two by doing something like this: #ifdef TCPOUTFLAGS /* * Flags used when sending segments in tcp_output. * Basic flags (TH_RST,TH_ACK,TH_SYN,TH_FIN) are totally * determined by state, with the proviso that TH_FIN is sent only * if all data queued for output is included in the segment. */ u_char tcp_outflags[TCP_NSTATES] = { TH_RST|TH_ACK, 0, TH_SYN, TH_SYN|TH_ACK, TH_ACK, TH_ACK, TH_FIN|TH_ACK, TH_ACK, TH_FIN|TH_ACK, TH_ACK, TH_ACK, }; #else <=== Added this section. extern u_char tcp_outflags[]; #endif And then removing TCPOUTFLAGS from tcp_subr.c. If this is the correct approach, there are other places (for example in tcp_fsm.h) that need this treatment. -- Justin T. Gibbs ============================================== TCS Instructional Group - Programmer/Analyst 1 Cory | Po | Danube | Volga | Parker | Torus ==============================================