From owner-freebsd-questions Wed May 12 11:38:37 1999 Delivered-To: freebsd-questions@freebsd.org Received: from resnet.uoregon.edu (resnet.uoregon.edu [128.223.144.32]) by hub.freebsd.org (Postfix) with ESMTP id 4EAC614FCB for ; Wed, 12 May 1999 11:38:36 -0700 (PDT) (envelope-from dwhite@resnet.uoregon.edu) Received: from localhost (dwhite@localhost) by resnet.uoregon.edu (8.8.8/8.8.8) with ESMTP id LAA12942; Wed, 12 May 1999 11:38:32 -0700 (PDT) (envelope-from dwhite@resnet.uoregon.edu) Date: Wed, 12 May 1999 11:38:32 -0700 (PDT) From: Doug White To: Mark Ovens Cc: FreeBSD-questions Subject: Re: gcc differences between aout & ELF In-Reply-To: <19990506213653.B255@marder-1> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG What FreeBSD version are you on? On Thu, 6 May 1999, Mark Ovens wrote: > Having looked more closely at the output I realize that it's the > linker that is erroring, not the compiler (I mistakenly thought > that the compiler and linker were a matched pair, i.e. gcc-2.8.1 > came with it's own linker, - not so) yup. > The problem is that symbols defined in libstdc++ are being redefined > in libgcc. This is the sort of output I'm getting (the linker is > run from a script, not a Makefile): > > linking PCOMPILE for OPL/autopcc > /usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/libgcc.a(exception.o): In function `bad_cast type_info function': > > /tmp/usr/ports/lang/gcc28/work/gcc-2.8.1/./cp/exception.cc(.text+0x0): multiple definition of `terminate(void)' > > /usr/lib/libstdc++.a(exceptioni.o)(.text+0x128): first defined here > > /usr/libexec/elf/ld: Warning: size of symbol `terminate__Fv' changed from 65 to 12 in exception.o > > and: > > /usr/marko/libopt/libutc.a(utc_string.o): In function `UTC_String::operator<<(short const &)': > utc_string.o(.text+0x13d5): undefined reference to `ios virtual table' > utc_string.o(.text+0x1427): undefined reference to `ostream::ios virtual table' > utc_string.o(.text+0x1431): undefined reference to `ostrstream::ios virtual table' This was a bug introduced into -current for a short while, then reverted when it broke all C++ libraries. > Does any of the above tell you anything? and, more importantly, > can you suggest a fix? 'make clean'? Doug White Internet: dwhite@resnet.uoregon.edu | FreeBSD: The Power to Serve http://gladstone.uoregon.edu/~dwhite | www.freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message