[haiku-bugs] Re: [Haiku] #6793: Issues with __cxa_atexit

  • From: "kaliber" <trac@xxxxxxxxxxxx>
  • Date: Sat, 06 Nov 2010 19:05:53 -0000

#6793: Issues with __cxa_atexit
--------------------------------+------------------------------
  Reporter:  kaliber            |        Owner:  axeld
      Type:  bug                |       Status:  closed
  Priority:  normal             |    Milestone:  R1
 Component:  System/libroot.so  |      Version:  R1/Development
Resolution:  fixed              |     Keywords:
Blocked By:                     |  Has a Patch:  0
  Platform:  All                |     Blocking:
--------------------------------+------------------------------

Comment (by kaliber):

 In my opinion tool chain call looks fine:

 {{{
 clang --verbose -fno-strict-aliasing -fno-tree-vrp -Xlinker --no-undefined
 -nostart -Xlinker -soname="PS Compatible" -nostdlib -Xlinker --no-
 undefined -o "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PS Compatible"
 "generated/objects/haiku/x86/release/system/glue/arch/x86/crti.o"
 "/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtbegin.o"
 "generated/objects/haiku/x86/release/system/glue/init_term_dyn.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSEntry.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PS.o" "generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/PSCap.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSData.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/SelectPPDDlg.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PPDParser.o"
 "generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/FilterIO.o"
 "generated/objects/haiku/x86/release/kits/libbe.so"
 "generated/objects/haiku/x86/release/libs/print/libprint/libprint.a"
 "/boot/system/lib/libstdc++.so"
 "generated/objects/haiku/x86/release/system/libroot/libroot.so"
 "/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtend.o"
 "generated/objects/haiku/x86/release/system/glue/arch/x86/crtn.o"
 clang version 2.9 (trunk 118327)
 Target: i386-pc-haiku
 Thread model: posix
  "/boot/develop/tools/gnupro/bin/gcc" -v -fno-strict-aliasing -fno-tree-
 vrp -nostart -nostdlib -m32 -o generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PS Compatible -Xlinker --no-undefined
 -Xlinker -soname=PS Compatible -Xlinker --no-undefined
 generated/objects/haiku/x86/release/system/glue/arch/x86/crti.o
 /boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtbegin.o
 generated/objects/haiku/x86/release/system/glue/init_term_dyn.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSEntry.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/PS.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/PSCap.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSData.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/SelectPPDDlg.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PPDParser.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/FilterIO.o
 generated/objects/haiku/x86/release/kits/libbe.so
 generated/objects/haiku/x86/release/libs/print/libprint/libprint.a
 /boot/system/lib/libstdc++.so
 generated/objects/haiku/x86/release/system/libroot/libroot.so
 /boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtend.o
 generated/objects/haiku/x86/release/system/glue/arch/x86/crtn.o
 Using built-in specs.
 Target: i586-pc-haiku
 Configured with: ../gcc/configure --target=i586-pc-haiku --disable-nls
 --enable-languages=c,c++ --disable-multilib
 --prefix=/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705
 Thread model: single
 gcc version 4.4.4 (GCC)
 
COMPILER_PATH=/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/libexec/gcc/i586
 -pc-
 
haiku/4.4.4/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/libexec/gcc/i586
 -pc-
 
haiku/4.4.4/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/libexec/gcc/i586
 -pc-
 haiku/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-
 
haiku/4.4.4/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-
 haiku/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-haiku/4.4.4/../../../../i586-pc-haiku/bin/
 BELIBRARIES=/boot/develop/abi/current/library-
 
paths/common/:/boot/develop/lib/x86/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-
 
haiku/4.4.4/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-haiku/4.4.4/../../../../i586-pc-
 haiku/lib/:/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586
 -pc-haiku/4.4.4/../../../
 COLLECT_GCC_OPTIONS='-v' '-fno-strict-aliasing' '-fno-tree-vrp' '-nostart'
 '-nostdlib' '-m32' '-o' 'generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PS Compatible' '-mtune=pentium'
  /boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/libexec/gcc/i586
 -pc-haiku/4.4.4/collect2 -m elf_i386_haiku -shared -Bsymbolic -e 0 -o
 generated/objects/haiku/x86/release/add-ons/print/drivers/postscript/PS
 Compatible -L/boot/develop/abi/current/library-paths/common
 -L/boot/develop/lib/x86
 -L/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4
 -L/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/../../../../i586-pc-haiku/lib
 -L/boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/../../.. --no-undefined -soname=PS Compatible --no-undefined
 generated/objects/haiku/x86/release/system/glue/arch/x86/crti.o
 /boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtbegin.o
 generated/objects/haiku/x86/release/system/glue/init_term_dyn.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSEntry.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/PS.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/PSCap.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PSData.o generated/objects/haiku/x86/release
 /add-ons/print/drivers/postscript/SelectPPDDlg.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/PPDParser.o
 generated/objects/haiku/x86/release/add-
 ons/print/drivers/postscript/FilterIO.o
 generated/objects/haiku/x86/release/kits/libbe.so
 generated/objects/haiku/x86/release/libs/print/libprint/libprint.a
 /boot/system/lib/libstdc++.so
 generated/objects/haiku/x86/release/system/libroot/libroot.so
 /boot/develop/abi/x86/gcc4/tools/gcc-4.4.4-haiku-100705/lib/gcc/i586-pc-
 haiku/4.4.4/crtend.o
 generated/objects/haiku/x86/release/system/glue/arch/x86/crtn.o
 }}}

 Shouldn't dlclose() call/register "atexit"? LSB specification
 http://refspecs.freestandards.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-
 generic/baselib---cxa_finalize.html says: "The implementation shall
 arrange for _cxa_finalize() to be called during early shared library
 unload (e.g. dlclose()) with a handle to the shared library".

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6793#comment:5>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: