#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.