stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-199) [XLC++ 8.0/Linux/PPC] SIGSEGV throwing an exception
Date Wed, 14 Jun 2006 15:36:31 GMT
    [ http://issues.apache.org/jira/browse/STDCXX-199?page=comments#action_12416216 ] 

Martin Sebor commented on STDCXX-199:
-------------------------------------

-------- Original Message --------
Subject: Re: PMR #: 02264,K78,000-abnormal exit of code on execution
Date: Wed, 14 Jun 2006 09:34:55 -0600
From: Martin Sebor <sebor@roguewave.com>
Organization: Rogue Wave Software
To: Basil Kanneth <bkanneth@ca.ibm.com>
CC: Zoran Kulina <zoran@ca.ibm.com>
References: <OFB3EB6F54.C3AC71A6-ON8525718D.00532492-8525718D.00549EB5@ca.ibm.com>

Basil Kanneth wrote:
> Hi Martin,
> 
> Our investigation determined this is not a compiler issue.
> 
> The problem is you used a C compiler (xlc) to compile and link a C++ 
> program. The C compiler will not link in the necessary C++ components such 
> as C++ libraries.
> 
> When using the '-q64' option with xlc, the default '-lgcc_eh' library gets 
> invoked at link time instead of the desired '-lgcc_s_64' library. Hence 
> the 'segmentation fault' at execution time. 

Aha!

> 
> The best solution is to use xlc++ when compiling C++ programs since we 
> support linking C++ objects with xlc++.

We cannot use the xlC driver when using our implementation
of the C++ Standard Library since it links with libstdc++,
the GNU implementation of the same. The link line we are
using now was provided to us by IBM in lieu of a more
convenient interface (such as xlCcore on AIX that we would
have vastly preferred). We wish IBM would reconsider the
request and help us and out mutual customers avoid these
types of problems in the future. Please see PMR 02151 for
more.

Thanks
Martin

> [XLC++ 8.0/Linux/PPC] SIGSEGV throwing an exception
> ---------------------------------------------------
>
>          Key: STDCXX-199
>          URL: http://issues.apache.org/jira/browse/STDCXX-199
>      Project: C++ Standard Library
>         Type: Bug

>   Components: External
>     Versions: 4.1.3
>  Environment: XLC++ 8.0, gcc 3.3.3, SuSE Linux on PowerPC:
> $ uname -srvp && /lib64/tls/libc.so.6
> Linux 2.6.5-7.191-pseries64 #1 SMP Tue Jun 28 14:58:56 UTC
> 2005 ppc64
> GNU C Library stable release version 2.3.3 (20040412), by
> Roland McGrath et al.
> Copyright (C) 2004 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.
> There is NO warranty; not even for MERCHANTABILITY or
> FITNESS FOR A
> PARTICULAR PURPOSE.
> Configured for ppc64-suse-linux.
> Compiled by GNU CC version 3.3.3 (SuSE Linux).
> Compiled on a Linux 2.6.5 system on 2005-06-03.
> Available extensions:
>         GNU libio by Per Bothner
>         crypt add-on version 2.1 by Michael Glad and others
>         NPTL 0.61 by Ulrich Drepper
>         GNU Libidn by Simon Josefsson
>         BIND-8.2.3-T5B
>         NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
> Thread-local storage support included.
> Report bugs using the `glibcbug' script to <bugs@gnu.org>.
>     Reporter: Martin Sebor

>
> PMR 02264,K78,000
> When compiled and linked with XLC++ 8.0 using the specified command line options the
program below exits abnormally. The same program runs successfully to
> completion when compiled and linked with gcc on the same machine (using gcc -g -m64 t.cpp
-lsupc++).
> $ cat t.cpp && xlc -qversion && xlc t.cpp -q64 -g -lxlopt -lxl -libmc++
-lsupc++ -lgcc -lgcc_eh && ./a.out 
> struct A { };
> void foo ();
> void bar () throw (A) { return foo (); }
> int foobar ()
> {
>     try {
>         bar ();
>         return 1;
>     }
>     catch (A) { return 0; }
>     catch (...) { }
>     return 2;
> }
> int main ()
> {
>     return foobar ();
> }
> void foo ()
> {
>     struct B: A { };
>     B b;
>     throw b;
> }
> IBM XL C/C++ Advanced Edition V8.0 for Linux   
> Version: 08.00.0000.0000  
> Segmentation fault

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message