public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions
@ 2011-07-22 22:55 coppro at users dot sf.net
  2011-07-23  9:29 ` [Bug libstdc++/49818] " paolo.carlini at oracle dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: coppro at users dot sf.net @ 2011-07-22 22:55 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

           Summary: libsupc++ does not export __cxa_get_globals or related
                    functions
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: coppro@users.sf.net


Some functions, including __cxa_get_globals, are not exported properly by
libsupc++. This is contrary to the ABI, which requires these to be in cxxabi.h,
and makes it impossible to implement std::uncaught_exception() properly in a
different standard library on top of libsupc++. These functions are in
unwind-cxx.h, which are not in the public interface of the library.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions
  2011-07-22 22:55 [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions coppro at users dot sf.net
@ 2011-07-23  9:29 ` paolo.carlini at oracle dot com
  2011-10-07  0:49 ` bkoz at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-07-23  9:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |rth at gcc dot gnu.org

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-07-23 09:28:11 UTC ---
I think something more detailed would help, because otherwise, in my
experience, generally the work on libsupc++ proceeds rather slowly (I think we
still have a couple of old PRs open about exceptions). Like, a detailed list of
which functions are problematic, which are not, clarify a bit what you mean by
"properly" (are those "somehow" exported?). Let's add a couple of global
maintainers in CC...


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions
  2011-07-22 22:55 [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions coppro at users dot sf.net
  2011-07-23  9:29 ` [Bug libstdc++/49818] " paolo.carlini at oracle dot com
@ 2011-10-07  0:49 ` bkoz at gcc dot gnu.org
  2011-10-10 19:04 ` bkoz at gcc dot gnu.org
  2011-10-10 19:08 ` bkoz at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: bkoz at gcc dot gnu.org @ 2011-10-07  0:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkoz at gcc dot gnu.org

--- Comment #2 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2011-10-07 00:49:06 UTC ---

__cxa_get_globals, etc. are exported from the library, so ABI is ok. But I see
your point, and have added forward declarations to bring cxxabi.h to bring the
API up to spec.

In addition, doing a quick scan of the export lists and cxxabi.h/etc. it
appears some new functionality has been added in the API without exporting it
in the ABI. Here are the fixes:

+CXXABI_1.3.6 {
+
+    __cxa_allocate_dependent_exception;
+    __cxa_free_dependent_exception;
+    __cxa_get_exception_ptr;
+    __cxa_call_terminate;

Note that __cxa_*_dependent_exception are not currently described in the EH
parts of the CXXABI. It seems likely that they should be.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions
  2011-07-22 22:55 [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions coppro at users dot sf.net
  2011-07-23  9:29 ` [Bug libstdc++/49818] " paolo.carlini at oracle dot com
  2011-10-07  0:49 ` bkoz at gcc dot gnu.org
@ 2011-10-10 19:04 ` bkoz at gcc dot gnu.org
  2011-10-10 19:08 ` bkoz at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: bkoz at gcc dot gnu.org @ 2011-10-10 19:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

--- Comment #3 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2011-10-10 19:03:43 UTC ---
Author: bkoz
Date: Mon Oct 10 19:03:39 2011
New Revision: 179769

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179769
Log:
2011-10-10  Benjamin Kosnik  <bkoz@redhat.com>

    PR libstdc++/49818
    * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
    * testsuite/util/testsuite_abi.cc: Same.
    * libsupc++/unwind-cxx.h: Move required eh API...
    * libsupc++/cxxabi.h: ... to here. Add required forward declarations.
    Use _GLIBCXX_NOTHROW.
    * libsupc++/pure.cc (__cxa_deleted_virtual): Add.
    * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
    * libsupc++/eh_catch.cc: Same.
    * libsupc++/eh_globals.cc: Same.
    * libsupc++/eh_type.cc: Same.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/libsupc++/cxxabi.h
    trunk/libstdc++-v3/libsupc++/eh_alloc.cc
    trunk/libstdc++-v3/libsupc++/eh_catch.cc
    trunk/libstdc++-v3/libsupc++/eh_globals.cc
    trunk/libstdc++-v3/libsupc++/eh_type.cc
    trunk/libstdc++-v3/libsupc++/pure.cc
    trunk/libstdc++-v3/libsupc++/unwind-cxx.h
    trunk/libstdc++-v3/testsuite/util/testsuite_abi.cc


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libstdc++/49818] libsupc++ does not export __cxa_get_globals or related functions
  2011-07-22 22:55 [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions coppro at users dot sf.net
                   ` (2 preceding siblings ...)
  2011-10-10 19:04 ` bkoz at gcc dot gnu.org
@ 2011-10-10 19:08 ` bkoz at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: bkoz at gcc dot gnu.org @ 2011-10-10 19:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49818

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.0

--- Comment #4 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2011-10-10 19:06:36 UTC ---

Fixed for 4.7.x.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-10 19:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-22 22:55 [Bug libstdc++/49818] New: libsupc++ does not export __cxa_get_globals or related functions coppro at users dot sf.net
2011-07-23  9:29 ` [Bug libstdc++/49818] " paolo.carlini at oracle dot com
2011-10-07  0:49 ` bkoz at gcc dot gnu.org
2011-10-10 19:04 ` bkoz at gcc dot gnu.org
2011-10-10 19:08 ` bkoz at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).