Typo in ABI document

Mark Mitchell mark at codesourcery.com
Thu Apr 11 18:50:51 UTC 2002


I believe that there is a typo in 3.3.5.3, which says:

  When linking any DSO containing a call to __cxa_atexit, the linker should 

  define a hidden symbol __dso_handle, with a value which is an address in
  one of the object's segments. (It does not matter what address, as long 
as
  they are different in different DSOs.) It should also include a call to
  the following function in the FINI list (to be executed first):
  extern "C" void __cxa_finalize ( dso_handle d );
  The parameter passed should be &__dso_handle.

The last line should read "The parameter passed should be __dso_handle."

This is what G++ does, and it is what makes sense: the value of
__dso_handle is NULL in the main object and is the address of some
object in the DSO otherwise.  Passing the address of __dso_handle is
weird; then the runtime would have to dereference the pointer to
get the real value.

I will make this change in a week or so if there is no objection.

-- 
Mark Mitchell                mark at codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com



More information about the cxx-abi-dev mailing list