notes   [plain text]

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