From nobody@FreeBSD.org  Thu Sep 13 14:11:41 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id EFD79106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Sep 2012 14:11:40 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id BEC2F8FC12
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Sep 2012 14:11:40 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id q8DEBebW041149
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Sep 2012 14:11:40 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id q8DEBe2S041148;
	Thu, 13 Sep 2012 14:11:40 GMT
	(envelope-from nobody)
Message-Id: <201209131411.q8DEBe2S041148@red.freebsd.org>
Date: Thu, 13 Sep 2012 14:11:40 GMT
From: Roman Divacky <rdivacky@FreeBSD.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: recent libstdc++ regression
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         171610
>Category:       kern
>Synopsis:       [libstdc++] recent libstdc++ regression
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    theraven
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 13 14:20:01 UTC 2012
>Closed-Date:    
>Last-Modified:  Tue Feb  5 19:20:00 UTC 2013
>Originator:     Roman Divacky
>Release:        -current
>Organization:
>Environment:
-current on amd64
>Description:
http://lev.vlakno.cz/~rdivacky/test_exception.cc

This test program fails with recent libstdc++, it seems to work ok (without recompilation) with newer libstdc++ (from gcc4.7). It also works ok on 8.2release.

Thus I believe it's caused by the recent "fixes" to libstdc++ by pfg@
>How-To-Repeat:
Download the test program http://lev.vlakno.cz/~rdivacky/test_exception.cc and compile/run on -current.
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->pfg 
Responsible-Changed-By: eadler 
Responsible-Changed-When: Thu Sep 13 14:29:51 UTC 2012 
Responsible-Changed-Why:  
by request of rdivacky> 

http://www.freebsd.org/cgi/query-pr.cgi?pr=171610 

From: Pedro Giffuni <pfg@FreeBSD.org>
To: bug-followup@FreeBSD.org, rdivacky@FreeBSD.org
Cc:  
Subject: Re: misc/171610: recent libstdc++ regression
Date: Thu, 13 Sep 2012 15:11:36 -0500

 On my system:
 FreeBSD pcbsd-8555 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #1: Thu Aug 30 
 16:14:32 COT 2012 Pedro@pcbsd-8555:/sys/amd64/compile/GENERIC  amd64
 
 After reverting both r228780 (from llvm-gcc) and r236829 (from the FSF
 gcc42 branch) the results of the tests are unchanged:
 
 _________
 % g++ -g -o test test_exception.cc
 % ./test
 Test passed: test_exception.cc:125: Caught int
 Test passed: test_exception.cc:199: Cleanup ran correctly
 Test passed: test_exception.cc:131: Caught float
 Test passed: test_exception.cc:200: Cleanup ran correctly
 Test passed: test_exception.cc:137: Caught struct
 Test passed: test_exception.cc:201: Cleanup ran correctly
 Test passed: test_exception.cc:137: Caught struct
 Test passed: test_exception.cc:202: Cleanup ran correctly
 Test passed: test_exception.cc:142: Caught non_pod
 Test passed: test_exception.cc:203: Cleanup ran correctly
 Test passed: test_exception.cc:162: Caught int
 Test passed: test_exception.cc:167: Caught float inside outer catch block
 Test passed: test_exception.cc:182: Caught re-thrown float
 Test passed: test_exception.cc:204: Cleanup ran correctly
 terminate called after throwing an instance of 'long'
 Abort
 ________
 
 The problem is unrelated to my libstdc++ changes.
 It is probably related to some of the changes in
 gcc but this requires a regression hunt.
 
 

From: Roman Divacky <rdivacky@freebsd.org>
To: Pedro Giffuni <pfg@FreeBSD.org>
Cc: bug-followup@FreeBSD.org
Subject: Re: misc/171610: recent libstdc++ regression
Date: Thu, 13 Sep 2012 22:46:23 +0200

 No, it's in libstdc++
 
 1) it reproduces with clang++
 
 2) you dont even have to recompile the binary, just relink it to libstdc++ from
 gcc4.7 and it starts working
 
 Can you try to revert some more commits from libstdc++?
Responsible-Changed-From-To: pfg->theraven 
Responsible-Changed-By: pfg 
Responsible-Changed-When: Mon Jan 21 04:23:41 UTC 2013 
Responsible-Changed-Why:  
The problem seems to be in the libstdc++ configuration, perhaps 
r233749 and subsequent changes. 

Please investigate. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=171610 

From: Pedro Giffuni <pfg@freebsd.org>
To: "bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>,
  "rdivacky@FreeBSD.org" <rdivacky@FreeBSD.org>
Cc:  
Subject: Re: kern/171610: [libstdc  ] recent libstdc   regression
Date: Sun, 20 Jan 2013 20:21:15 -0800 (PST)

 --464114708-788621470-1358742075=:55047
 Content-Type: text/plain; charset=utf-8
 Content-Transfer-Encoding: quoted-printable
 
 I got this fixed in my local box by reverting the changes in=0Agnu/lib/libs=
 tdc++ (Makefiles + configure),=0A=0Aspecifically the changes to build libst=
 dc++ as a filter library=0Ato the share libsupc++ and subsequent changes.=
 =0A=0AThe updates to the specific C++ code in contrib seem to=0Abe fine.
 --464114708-788621470-1358742075=:55047
 Content-Type: text/plain; name="patch-gnu-libstdc++.txt"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="patch-gnu-libstdc++.txt"
 
 SW5kZXg6IGdudS9saWIvbGlic3RkYysrCj09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT0KLS0tIGdudS9saWIvbGlic3RkYysrCShyZXZpc2lvbiAyNDU3MDYpCisr
 KyBnbnUvbGliL2xpYnN0ZGMrKwkod29ya2luZyBjb3B5KQoKUHJvcGVydHkg
 Y2hhbmdlcyBvbjogZ251L2xpYi9saWJzdGRjKysKX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fXwpNb2RpZmllZDogc3ZuOm1lcmdlaW5mbwogICBSZXZlcnNlLW1l
 cmdlZCAvcHJvamVjdHMvYmludXRpbHMtMi4xNy9nbnUvbGliL2xpYnN0ZGMr
 KzpyMjEzOTkyLTIxODgxNwogICBSZXZlcnNlLW1lcmdlZCAvcHJvamVjdHMv
 cXVvdGE2NC9nbnUvbGliL2xpYnN0ZGMrKzpyMTg0MTI1LTIwNzcwNwogICBS
 ZXZlcnNlLW1lcmdlZCAvaGVhZC9nbnUvbGliL2xpYnN0ZGMrKzpyMjI3MDA2
 LDIyNzIxNSwyMzM3NDksMjM3MDk4LDIzOTY5NSwyNDE5NjAKICAgUmV2ZXJz
 ZS1tZXJnZWQgL3ZlbmRvci9yZXNvbHZlci9kaXN0L2dudS9saWIvbGlic3Rk
 YysrOnIxNTQwLTE4NjA4NQogICBSZXZlcnNlLW1lcmdlZCAvcHJvamVjdHMv
 bGFyZ2VTTVAvZ251L2xpYi9saWJzdGRjKys6cjIyMTI3My0yMjI4MTIsMjIy
 ODE1LTIyMzc1NwpJbmRleDogZ251L2xpYi9saWJzdGRjKysvY29uZmlnLmgK
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ251L2xpYi9saWJzdGRjKysv
 Y29uZmlnLmgJKHJldmlzaW9uIDI0NTcwNikKKysrIGdudS9saWIvbGlic3Rk
 YysrL2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzEsNyArMzcxLDcg
 QEAKIC8qICN1bmRlZiBIQVZFX1RBTkwgKi8KIAogLyogRGVmaW5lIHRvIDEg
 aWYgdGhlIHRhcmdldCBzdXBwb3J0cyB0aHJlYWQtbG9jYWwgc3RvcmFnZS4g
 Ki8KLSNpZiAhZGVmaW5lZChfX21pcHNfXykKKyNpZiAhZGVmaW5lZChfX2Fy
 bV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKICNkZWZpbmUgSEFWRV9UTFMg
 MQogI2VuZGlmCiAKSW5kZXg6IGdudS9saWIvbGlic3RkYysrL01ha2VmaWxl
 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdudS9saWIvbGlic3RkYysr
 L01ha2VmaWxlCShyZXZpc2lvbiAyNDU3MDYpCisrKyBnbnUvbGliL2xpYnN0
 ZGMrKy9NYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
 QAogUE9fQ1hYRkxBR1M9CSR7Q1hYRkxBR1M6Ti1mZnVuY3Rpb24tc2VjdGlv
 bnN9CiAKIERQQUREPQkJJHtMSUJNfQotTERBREQ9CQktbG0gIC1XbCwtZixs
 aWJzdXBjKysuc28uMQorTERBREQ9CQktbG0KIAogIyBsaWJzdGRjKysgc291
 cmNlcwogU1JDUys9CWJpdG1hcF9hbGxvY2F0b3IuY2MgcG9vbF9hbGxvY2F0
 b3IuY2MgXApAQCAtNjI1LDYgKzYyNSwzIEBACiBDTEVBTkZJTEVTKz0JJHtW
 RVJTSU9OX01BUH0KIAogLmluY2x1ZGUgPGJzZC5saWIubWs+Ci0KLSMgRmls
 dGVyIG91dCBsaWJjKystc3BlY2lmaWMgZmxhZ3MsIGFuZCAtc3RkPSBmbGFn
 cyBhYm92ZSBjKys5OCBvciBnbnUrKzk4LgotQ1hYRkxBR1M6PQkke0NYWEZM
 QUdTOk4tc3RkbGliPWxpYmMrKzpOLXN0ZD1jKytbMDFdWzEzeF06Ti1zdGQ9
 Z251KytbMDFdWzEzeF19Cg==
 
 --464114708-788621470-1358742075=:55047--

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/171610: commit references a PR
Date: Mon, 28 Jan 2013 11:13:34 +0000 (UTC)

 Author: theraven
 Date: Mon Jan 28 11:12:49 2013
 New Revision: 246028
 URL: http://svnweb.freebsd.org/changeset/base/246028
 
 Log:
   Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt
   that were causing the runtime and STL libraries to see different versions of
   various classes and functions when libstdc++ is used as a filter.
   
   Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in
   -STABLE for testing and is not used by anything unless explicitly enabled by
   the end user.  No default compiler configurations use it.
   
   libc++ will need to be recompiled after this change.  make buildworld will do
   this automatically, but make in lib/libc++ will not necessarily work unless the
   new libcxxrt is installed first.
   
   PR:		kern/171610, stand/175453
   Reviewed by:	kib
   MFC after:	1 week
 
 Modified:
   head/gnu/lib/libsupc++/Version.map
   head/lib/libcxxrt/Version.map
 
 Modified: head/gnu/lib/libsupc++/Version.map
 ==============================================================================
 --- head/gnu/lib/libsupc++/Version.map	Mon Jan 28 10:52:24 2013	(r246027)
 +++ head/gnu/lib/libsupc++/Version.map	Mon Jan 28 11:12:49 2013	(r246028)
 @@ -142,8 +142,37 @@ GLIBCXX_3.4 {
      _ZdaPvRKSt9nothrow_t;
      _ZdlPv;
      _ZdlPvRKSt9nothrow_t;
 +    extern "C++" {
 +      std::set_new_handler*;
 +      std::set_terminate*;
 +      std::set_unexpected*;
 +
 +      std::bad_alloc;
 +      std::bad_cast;
 +      std::exception*;
 +
 +      "typeinfo for std::bad_alloc";
 +      "typeinfo for std::bad_cast";
 +      "typeinfo for std::exception";
 +
 +      "typeinfo name for std::bad_alloc";
 +      "typeinfo name for std::bad_cast";
 +      "typeinfo name for std::exception";
 +
 +      "vtable for std::bad_alloc";
 +      "vtable for std::bad_cast";
 +      "vtable for std::exception";
 +    };
  };
  
 +GLIBCXX_3.4.9 {
 +    extern "C++" {
 +        "std::bad_alloc::what() const";
 +        "std::bad_cast::what() const";
 +        "std::bad_typeid::what() const";
 +    };
 +} GLIBCXX_3.4;
 +
  CXXABI_1.3.1 {
  
      __cxa_get_exception_ptr;
 
 Modified: head/lib/libcxxrt/Version.map
 ==============================================================================
 --- head/lib/libcxxrt/Version.map	Mon Jan 28 10:52:24 2013	(r246027)
 +++ head/lib/libcxxrt/Version.map	Mon Jan 28 11:12:49 2013	(r246028)
 @@ -209,18 +209,7 @@ CXXABI_1.3 {
  
          "std::type_info::type_info(std::type_info const&)";
          "std::type_info::type_info(std::type_info const&)";
 -        "std::type_info::~type_info()";
 -        "std::type_info::~type_info()";
 -        "std::type_info::~type_info()";
          "std::type_info::operator=(std::type_info const&)";
 -        "std::unexpected()";
 -        "std::get_terminate()";
 -        "std::set_terminate(void (*)())";
 -        "std::get_unexpected()";
 -        "std::set_unexpected(void (*)())";
 -        "std::set_new_handler(void (*)())";
 -        "std::uncaught_exception()";
 -        "std::terminate()";
  
  
          # Extensions
 @@ -243,67 +232,22 @@ CXXABI_1.3.1 {
  CXXRT_1.0 {
  
      extern "C++" {
 -        "std::bad_cast::what() const";
 -        "std::bad_typeid::what() const";
 -        "std::bad_alloc::what() const";
 -        "std::exception::what() const";
          "std::type_info::name() const";
          "std::type_info::before(std::type_info const&) const";
          "std::type_info::operator==(std::type_info const&) const";
          "std::type_info::operator!=(std::type_info const&) const";
 -        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
 -        "std::bad_typeid::bad_typeid()";
 -        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
 -        "std::bad_typeid::bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::operator=(std::bad_typeid const&)";
          "std::bad_cast::bad_cast(std::bad_cast const&)";
          "std::bad_cast::bad_cast()";
          "std::bad_cast::bad_cast(std::bad_cast const&)";
          "std::bad_cast::bad_cast()";
 -        "std::bad_cast::~bad_cast()";
 -        "std::bad_cast::~bad_cast()";
 -        "std::bad_cast::~bad_cast()";
          "std::bad_cast::operator=(std::bad_cast const&)";
 -        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
 -        "std::bad_alloc::bad_alloc()";
 -        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
 -        "std::bad_alloc::bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::operator=(std::bad_alloc const&)";
          "std::exception::exception(std::exception const&)";
          "std::exception::exception()";
          "std::exception::exception(std::exception const&)";
          "std::exception::exception()";
 -        "std::exception::~exception()";
 -        "std::exception::~exception()";
 -        "std::exception::~exception()";
          "std::exception::operator=(std::exception const&)";
  
  
 -        "vtable for std::bad_typeid";
 -        "vtable for std::bad_cast";
 -        "vtable for std::bad_alloc";
 -        "vtable for std::exception";
 -        "vtable for std::type_info";
 -        "typeinfo for std::bad_typeid";
 -        "typeinfo for std::bad_cast";
 -        "typeinfo for std::bad_alloc";
 -        "typeinfo for std::exception";
 -        "typeinfo for std::type_info";
 -        "typeinfo name for std::bad_typeid";
 -        "typeinfo name for std::bad_cast";
 -        "typeinfo name for std::bad_alloc";
 -        "typeinfo name for std::exception";
 -        "typeinfo name for std::type_info";
 -
 -        "std::type_info::__is_function_p() const";
 -        "std::type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const";
 -        "std::type_info::__is_pointer_p() const";
  
  
  
 @@ -317,6 +261,7 @@ CXXRT_1.0 {
  
  } CXXABI_1.3.1;
  
 +
  GLIBCXX_3.4 {
      extern "C++" {
          "operator delete[](void*)";
 @@ -327,5 +272,50 @@ GLIBCXX_3.4 {
          "operator new[](unsigned long)";
          "operator new(unsigned long)";
          "operator new(unsigned long, std::nothrow_t const&)";
 +
 +        "std::unexpected()";
 +        "std::get_terminate()";
 +        "std::get_unexpected()";
 +        "std::uncaught_exception()";
 +        "std::terminate()";
 +
 +        "std::type_info::~type_info()";
 +        "std::bad_cast::~bad_cast()";
 +        "std::exception::~exception()";
 +
 +        std::set_new_handler*;
 +        std::set_terminate*;
 +        std::set_unexpected*;
 +        std::exception*;
 +        std::bad_alloc;
 +        std::bad_typeid;
 +        std::type_info*;
 +
 +        "vtable for std::bad_alloc";
 +        "vtable for std::bad_cast";
 +        "vtable for std::bad_typeid";
 +        "vtable for std::exception";
 +        "vtable for std::type_info";
 +
 +        "typeinfo for std::bad_alloc";
 +        "typeinfo for std::bad_typeid";
 +        "typeinfo for std::exception";
 +        "typeinfo for std::bad_cast";
 +        "typeinfo for std::exception";
 +        "typeinfo for std::type_info";
 +        "typeinfo name for std::bad_typeid";
 +        "typeinfo name for std::bad_cast";
 +        "typeinfo name for std::exception";
 +        "typeinfo name for std::type_info";
 +
      };
  };
 +
 +GLIBCXX_3.4.9 {
 +    extern "C++" {
 +        "std::bad_typeid::what() const";
 +        "std::bad_cast::what() const";
 +        "std::bad_alloc::what() const";
 +    };
 +} GLIBCXX_3.4;
 +
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/171610: commit references a PR
Date: Tue,  5 Feb 2013 19:11:05 +0000 (UTC)

 Author: dim
 Date: Tue Feb  5 19:10:50 2013
 New Revision: 246368
 URL: http://svnweb.freebsd.org/changeset/base/246368
 
 Log:
   MFC r246028 (by theraven):
   
     Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt
     that were causing the runtime and STL libraries to see different versions of
     various classes and functions when libstdc++ is used as a filter.
   
     Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in
     -STABLE for testing and is not used by anything unless explicitly enabled by
     the end user.  No default compiler configurations use it.
   
     libc++ will need to be recompiled after this change.  make buildworld will do
     this automatically, but make in lib/libc++ will not necessarily work unless the
     new libcxxrt is installed first.
   
     PR:		kern/171610, stand/175453
     Reviewed by:	kib
   
   MFC r246297:
   
     Add several missing symbols to libcxxrt's symbol version map, and remove
     a few duplicates.  This should fix building world with -stdlib=libc++
     after r246028.
   
     Submitted by:	Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
 
 Modified:
   stable/9/gnu/lib/libsupc++/Version.map
   stable/9/lib/libcxxrt/Version.map
 Directory Properties:
   stable/9/gnu/lib/libsupc++/   (props changed)
   stable/9/lib/libcxxrt/   (props changed)
 
 Modified: stable/9/gnu/lib/libsupc++/Version.map
 ==============================================================================
 --- stable/9/gnu/lib/libsupc++/Version.map	Tue Feb  5 18:55:09 2013	(r246367)
 +++ stable/9/gnu/lib/libsupc++/Version.map	Tue Feb  5 19:10:50 2013	(r246368)
 @@ -142,8 +142,37 @@ GLIBCXX_3.4 {
      _ZdaPvRKSt9nothrow_t;
      _ZdlPv;
      _ZdlPvRKSt9nothrow_t;
 +    extern "C++" {
 +      std::set_new_handler*;
 +      std::set_terminate*;
 +      std::set_unexpected*;
 +
 +      std::bad_alloc;
 +      std::bad_cast;
 +      std::exception*;
 +
 +      "typeinfo for std::bad_alloc";
 +      "typeinfo for std::bad_cast";
 +      "typeinfo for std::exception";
 +
 +      "typeinfo name for std::bad_alloc";
 +      "typeinfo name for std::bad_cast";
 +      "typeinfo name for std::exception";
 +
 +      "vtable for std::bad_alloc";
 +      "vtable for std::bad_cast";
 +      "vtable for std::exception";
 +    };
  };
  
 +GLIBCXX_3.4.9 {
 +    extern "C++" {
 +        "std::bad_alloc::what() const";
 +        "std::bad_cast::what() const";
 +        "std::bad_typeid::what() const";
 +    };
 +} GLIBCXX_3.4;
 +
  CXXABI_1.3.1 {
  
      __cxa_get_exception_ptr;
 
 Modified: stable/9/lib/libcxxrt/Version.map
 ==============================================================================
 --- stable/9/lib/libcxxrt/Version.map	Tue Feb  5 18:55:09 2013	(r246367)
 +++ stable/9/lib/libcxxrt/Version.map	Tue Feb  5 19:10:50 2013	(r246368)
 @@ -208,19 +208,7 @@ CXXABI_1.3 {
          "typeinfo name for __cxxabiv1::__vmi_class_type_info";
  
          "std::type_info::type_info(std::type_info const&)";
 -        "std::type_info::type_info(std::type_info const&)";
 -        "std::type_info::~type_info()";
 -        "std::type_info::~type_info()";
 -        "std::type_info::~type_info()";
          "std::type_info::operator=(std::type_info const&)";
 -        "std::unexpected()";
 -        "std::get_terminate()";
 -        "std::set_terminate(void (*)())";
 -        "std::get_unexpected()";
 -        "std::set_unexpected(void (*)())";
 -        "std::set_new_handler(void (*)())";
 -        "std::uncaught_exception()";
 -        "std::terminate()";
  
  
          # Extensions
 @@ -243,69 +231,22 @@ CXXABI_1.3.1 {
  CXXRT_1.0 {
  
      extern "C++" {
 -        "std::bad_cast::what() const";
 -        "std::bad_typeid::what() const";
 -        "std::bad_alloc::what() const";
 -        "std::exception::what() const";
          "std::type_info::name() const";
          "std::type_info::before(std::type_info const&) const";
          "std::type_info::operator==(std::type_info const&) const";
          "std::type_info::operator!=(std::type_info const&) const";
 -        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
 -        "std::bad_typeid::bad_typeid()";
 -        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
 -        "std::bad_typeid::bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::~bad_typeid()";
 -        "std::bad_typeid::operator=(std::bad_typeid const&)";
          "std::bad_cast::bad_cast(std::bad_cast const&)";
          "std::bad_cast::bad_cast()";
 -        "std::bad_cast::bad_cast(std::bad_cast const&)";
 -        "std::bad_cast::bad_cast()";
 -        "std::bad_cast::~bad_cast()";
 -        "std::bad_cast::~bad_cast()";
 -        "std::bad_cast::~bad_cast()";
          "std::bad_cast::operator=(std::bad_cast const&)";
 -        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
 -        "std::bad_alloc::bad_alloc()";
 -        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
 -        "std::bad_alloc::bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::~bad_alloc()";
 -        "std::bad_alloc::operator=(std::bad_alloc const&)";
 -        "std::exception::exception(std::exception const&)";
 -        "std::exception::exception()";
 +        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
 +        "std::bad_typeid::bad_typeid()";
 +        "std::bad_typeid::operator=(std::bad_typeid const&)";
          "std::exception::exception(std::exception const&)";
          "std::exception::exception()";
 -        "std::exception::~exception()";
 -        "std::exception::~exception()";
 -        "std::exception::~exception()";
          "std::exception::operator=(std::exception const&)";
 -
 -
 -        "vtable for std::bad_typeid";
 -        "vtable for std::bad_cast";
 -        "vtable for std::bad_alloc";
 -        "vtable for std::exception";
 -        "vtable for std::type_info";
 -        "typeinfo for std::bad_typeid";
 -        "typeinfo for std::bad_cast";
 -        "typeinfo for std::bad_alloc";
 -        "typeinfo for std::exception";
 -        "typeinfo for std::type_info";
 -        "typeinfo name for std::bad_typeid";
 -        "typeinfo name for std::bad_cast";
 -        "typeinfo name for std::bad_alloc";
 -        "typeinfo name for std::exception";
 -        "typeinfo name for std::type_info";
 -
 -        "std::type_info::__is_function_p() const";
 -        "std::type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const";
 -        "std::type_info::__is_pointer_p() const";
 -
 -
 +        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
 +        "std::bad_alloc::bad_alloc()";
 +        "std::bad_alloc::operator=(std::bad_alloc const&)";
  
      };
      __cxa_allocate_dependent_exception;
 @@ -317,6 +258,7 @@ CXXRT_1.0 {
  
  } CXXABI_1.3.1;
  
 +
  GLIBCXX_3.4 {
      extern "C++" {
          "operator delete[](void*)";
 @@ -327,5 +269,51 @@ GLIBCXX_3.4 {
          "operator new[](unsigned long)";
          "operator new(unsigned long)";
          "operator new(unsigned long, std::nothrow_t const&)";
 +
 +        "std::unexpected()";
 +        "std::get_terminate()";
 +        "std::get_unexpected()";
 +        "std::uncaught_exception()";
 +        "std::terminate()";
 +
 +        "std::type_info::~type_info()";
 +        "std::bad_cast::~bad_cast()";
 +        "std::bad_typeid::~bad_typeid()";
 +        "std::exception::~exception()";
 +        "std::bad_alloc::~bad_alloc()";
 +
 +        "std::exception::what() const";
 +
 +        std::set_new_handler*;
 +        std::set_terminate*;
 +        std::set_unexpected*;
 +        std::type_info::__*;
 +
 +        "vtable for std::bad_alloc";
 +        "vtable for std::bad_cast";
 +        "vtable for std::bad_typeid";
 +        "vtable for std::exception";
 +        "vtable for std::type_info";
 +
 +        "typeinfo for std::bad_alloc";
 +        "typeinfo for std::bad_typeid";
 +        "typeinfo for std::bad_cast";
 +        "typeinfo for std::exception";
 +        "typeinfo for std::type_info";
 +        "typeinfo name for std::bad_alloc";
 +        "typeinfo name for std::bad_typeid";
 +        "typeinfo name for std::bad_cast";
 +        "typeinfo name for std::exception";
 +        "typeinfo name for std::type_info";
 +
      };
  };
 +
 +GLIBCXX_3.4.9 {
 +    extern "C++" {
 +        "std::bad_typeid::what() const";
 +        "std::bad_cast::what() const";
 +        "std::bad_alloc::what() const";
 +    };
 +} GLIBCXX_3.4;
 +
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
>Unformatted:
