Changes for the 5.7 release (the Csu-33 release): Radar bug #2466821. - Added the flag -arch_errors_fatal to the linking of crt1.o, gcrt1.o and pscrt1.o to avoid creating a bad fat version of the file when linked on a system without a fat dyld. - Added support for module termination routines by looking up dyld's routine to call them and registering that routine with atexit() in _start() in crt.c. - Moved the file dylib1.s to dylib.s, and added the file icplusplus.c which contains the new routine __initialize_Cplusplus() which can be called from a shared library's initialization routine to force the C++ runtime to be initialized so C++ can be used in the shared library's initialization routine. The Makefile was also changed to combine the two resuting objects into the file dylib1.o . - Moved the files installed in /lib to /usr/lib. This requires a change to B&I's verification exceptions as it gets the verification exception "non_library_files" for them. - Added comments in start.s to describe where the exec_path is store as part of the kernel exec interface. And added code in crt.c to pass this along to main as a 4th argument. - Added back the 6th word in the .dyld section in dyld.s that got dropped in the integration of Csu-23 to be the address of dyld_stub_binding_helper so that the NSUnLinkModule() with the NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES option will work again. - Added a 7th word to the .dyld section in dyld.s for use by the dyld_debug(3) API's to have a word to write to to be able to debug where the dyld debug thread is executing in the target task. See the cctools project in the files dyld/debug.c and libdyld/debug.c where CORE_DEBUG is defined. Also added comments to the words in the .dyld section in dyld.s for the words with .long 0 to indicate what they are used for. Changes for the 5.0 release (the Csu-9 release): - Added support for PowerPC. - Change the project to just a handful of files with ifdef's instead of a bunch of subprojects and factored out common code.