From owner-cvs-all Thu May 30 12:39:42 2002 Delivered-To: cvs-all@freebsd.org Received: from evilpete.dyndns.org (12-232-26-46.client.attbi.com [12.232.26.46]) by hub.freebsd.org (Postfix) with ESMTP id CEC7537B404; Thu, 30 May 2002 12:39:30 -0700 (PDT) Received: from overcee.wemm.org ([10.0.0.3]) by evilpete.dyndns.org (8.11.6/8.11.6) with ESMTP id g4UJdU170043; Thu, 30 May 2002 12:39:30 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (Postfix) with ESMTP id E5170380A; Thu, 30 May 2002 12:39:29 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: John Baldwin Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src Makefile.inc1 In-Reply-To: Date: Thu, 30 May 2002 12:39:29 -0700 From: Peter Wemm Message-Id: <20020530193929.E5170380A@overcee.wemm.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG John Baldwin wrote: > > On 29-May-2002 Peter Wemm wrote: > > peter 2002/05/28 20:59:20 PDT > > > > Modified files: > > . Makefile.inc1 > > Log: > > Bandaid for helping people who have a broken /usr/bin/c++ installation. > > > > This only affects the -current early adopters and developers who have > > done a 'make world' in the last few weeks and as a result installed a > > gcc-3.1 version of /usr/bin/c++ but without the corresponding library > > support that this now requires. This is a temporary hack that should be > > deleted within a few weeks. In this case we will use the existing > > gperf/groff one last time around for the early stage1 bootstrap. (This > > isn't so bad, because we were unconditionally using the host one before) > > Except it doesn't work for older versions of g++ it seems. :( > > > cc -v > Using built-in specs. > Configured with: FreeBSD/i386 system compiler > Thread model: posix > gcc version 3.1 [FreeBSD] 20020509 (prerelease) > > c++ -v > Using builtin specs. > gcc version 2.95.4 20020320 [FreeBSD] > > buildworld > ... > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID > -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib -I/usr/src/gnu/usr.bi n/gperf -static -o > gperf bool-array.o gen-perf.o hash-table.o iterator.o key-list.o list-node.o main.o new.o options.o > read-line.o trace.o vectors.o version.o hash.o getopt.o getopt1.o > gen-perf.o: In function `Gen_Perf::Gen_Perf(void)': > gen-perf.o(.text+0xa): undefined reference to `__get_eh_context' > gen-perf.o(.text+0x27a): undefined reference to `__sjthrow' > gen-perf.o(.text+0x2c3): undefined reference to `__sjthrow' > gen-perf.o(.text+0x2c9): undefined reference to `__terminate' > gen-perf.o(.text+0x2d1): undefined reference to `__terminate' > gen-perf.o: In function `Gen_Perf::change(List_Node *, List_Node *)': > gen-perf.o(.text+0x309): undefined reference to `__builtin_vec_new' > key-list.o: In function `Key_List::get_special_input(char)': > key-list.o(.text+0x8c): undefined reference to `__builtin_vec_new' > .. > etc. (lots more of these) > > The problem seems to maybe be that the '.c' files in gperf are compiled with > cc and not c++. Perhaps we shouldn't build any of this stuff unless we have > a 3.1 c++ compiler like so (untested): This shouldn't make any difference. The fact that getopt.c and getopt1.c are compiled with C makes no difference at all. If these files were instead compiled with gcc-3.1 and sitting in libc, it would be exactly the same thing. Oh hell. I know what is wrong. libgcc.a has been overwritten with the 3.1 version and that has removed the gcc-2.95.4 c++ support. f*ck. Your patch is probably the right thing to do. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message