Date: Thu, 30 May 2002 12:39:29 -0700 From: Peter Wemm <peter@wemm.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src Makefile.inc1 Message-ID: <20020530193929.E5170380A@overcee.wemm.org> In-Reply-To: <XFMail.20020530144712.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020530193929.E5170380A>