pro64-support
[Top] [All Lists]

Re: Problems with version 0.01.0-10

To: "Ross A. Towle" <rat@xxxxxxxxxxxxxxxxxxx>
Subject: Re: Problems with version 0.01.0-10
From: Dan Pop <Dan.Pop@xxxxxxx>
Date: Thu, 17 Aug 2000 00:46:32 +0200 (MET DST)
Cc: pro64-support@xxxxxxxxxxx, georgep@xxxxxxxxxxxxxxxxxxx, Sverre Jarp <Sverre.Jarp@xxxxxxx>, Vicente Lara <Vicente.Lara@xxxxxxx>
In-reply-to: <200008161750.KAA53720@cchkms.engr.sgi.com>
Sender: owner-pro64-support@xxxxxxxxxxx

On Wed, 16 Aug 2000, Ross A. Towle wrote:

> Problem 1: segfault
>   I suspect it is really a kernel problem.  Does other IA-32 apps also
>   fail? I think a newer kernel will fix the problem.

It seems that it was a transient problem.  Now I can run the compilers
on a native ia64 system, but I have a linking problem with sgiCC: 

    pc64-016:~ 0 31> sgiCC cpptest.cpp                                          
     
    
/usr/lib/gcc-lib/ia64-redhat-linux/2.9-ia64-000216-final/libstdc++.a(filebuf.o):../../../libio/filebuf.cc:98:
 undefined reference to `__throw'
    
/usr/lib/gcc-lib/ia64-redhat-linux/2.9-ia64-000216-final/libstdc++.a(filebuf.o):
 In function `filebuf::filebuf(int)':
    filebuf.o(.text+0x282): undefined reference to `__throw'
    
/usr/lib/gcc-lib/ia64-redhat-linux/2.9-ia64-000216-final/libstdc++.a(filebuf.o):
 In function `filebuf::filebuf(int, char *, int)':
    filebuf.o(.text+0x432): undefined reference to `__throw'
    collect2: ld returned 1 exit status

The problem is caused by a mismatch between 
/usr/lib/gcc-lib/ia64-redhat-linux/2.9-ia64-000216-final/libstdc++.a
and /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/libgcc.a.

The former uses the __throw symbol, expecting the latter to define
it, which is not the case.

The libgcc.a supplied by RedHat does define __throw:

    pc64-016:~ 1 36> nm 
/usr/lib/gcc-lib/ia64-redhat-linux/2.9-ia64-000216-final/libgcc.a | grep 
__throw$ | head -1
    0000000000001120 T __throw

Unfortunately, this libgcc.a cannot be used as a replacement for the one
supplied with the SGI compilers, because of other incompatibilities.

Probably the best fix would be to include libstdc++.a in the Pro64
package, to ensure its compatibility with libgcc.a.

Dan


<Prev in Thread] Current Thread [Next in Thread>