notes   [plain text]

Changes for the 5.11 release (the Csu-45 release):
- To avoid "relocation overflow" errors from the static link editor we want
  to make sure that the .text section and the stub sections don't have any 
  sections between them (like the .cstring section).  To do this the an ordered
  list of the section directives was added to the start of the sources of the
  first object loaded (start.s, dylib.s and bundle1.s).  Radar bug #2949170.

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.