From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8507 invoked by alias); 8 Aug 2002 16:08:29 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 8500 invoked from network); 8 Aug 2002 16:08:28 -0000 Received: from unknown (HELO main.gmane.org) (80.91.224.249) by sources.redhat.com with SMTP; 8 Aug 2002 16:08:28 -0000 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 17cpp5-0006kr-00 for ; Thu, 08 Aug 2002 18:07:39 +0200 To: gcc-help@gcc.gnu.org X-Injected-Via-Gmane: http://gmane.org/ Received: from news by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 17cpp3-0006kg-00 for ; Thu, 08 Aug 2002 18:07:37 +0200 Path: not-for-mail From: Oscar Fuentes Newsgroups: gmane.comp.gcc.help Subject: Re: Link problems Date: Thu, 08 Aug 2002 09:08:00 -0000 Message-ID: References: <200208081624.26563.modem626@kymp.net> <3D5275F7.43A7E06A@fastmail.fm> NNTP-Posting-Host: 228-coru-x8.libre.retevision.es Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1028822857 24724 62.83.53.228 (8 Aug 2002 16:07:37 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 8 Aug 2002 16:07:37 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 X-SW-Source: 2002-08/txt/msg00068.txt.bz2 bjorn rohde jensen writes: > Hi Jarmo, > > You can not in general crosslink object code generated by > different compilers. You should use one and only one > compiler to create an application. One does usually not > have to rebuild the system C libraries, but C++ libs etc > definitely should be. > The unresolved symbols are probably due to different > name mangling schemes employed by gcc-2.96, which is not > actually an official gcc release, and gcc-3.0.4. This is > done to protect users from linking incompatible object > files to create applications with spectacularly odd behaviour, > such as random core dumps despite code correctness and so on. Actually, that incompatibility among gcc 2.9x and gcc 3.x comes from the introduction of a new "standard" C++ ABI on the gcc 3.x series. One of the main goals of the new ABI is to allow the interchange of object code among different C++ compilers which use said ABI. -- Oscar