Skip site navigation (1)Skip section navigation (2)
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>