> We really do need precise descriptions of the problems so we can avoid them.
One family of problems is platform lack of initializer support in the object file format; any system with traditional a.out (or b.out) is vulnerable (also, COFF is, IIRC). The solution e.g. g++ came up with is to have the collect2 linker replacement combine all such initializers into a synthesized function __main; this function then gets "magically" called by main(), provided that main() itself gets compiled by a C++ compiler. Python used to have a ccpython.cc entry point to support such systems. This machinery is known to fail in the following ways: a) main() is not compiled with g++: static objects get not constructed b) code that gets linked into shared libraries (assuming the system supports them) does not get its initializers invoked. c) compilation of main() with a C++ compiler, but then linking with ld results in an unresolved symbol __main. Not sure whether U-S has any global C++ objects that need construction (but I would be surprised if it didn't). Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com