notes   [plain text]

Changes for the 5.12 release (the cctools-464 release):
- Made changes in preparation to build cleanly with gcc3.3
  - Removed -Wno-precomp from the Makefile and added RC_OS = macos

Changes for the 5.10 release (the cctools-400 release):
- Changed the Makefile back to again use the -dependency-file with gcc.

Changes for the 5.10 release (the cctools-396 release):
- Changed the Makefile to not use the -dependency-file with gcc as well as

Changes the 5.3 release (the cctools-292 release):
- Changed the return type of main() in profileServer.c from void to int to
  remove a warning from the egcs compiler.  Also changed the exit() calls to

Changes for the 5.3 release, MacOS X bring up (the cctools-282 release):
- For RC_OS=macos changed the Makefile to build nothing (prints a warning)
  until the mach messages are ported.  Also added a #error in profileServer.h
  that is #ifdef'ed __MACH30__ that prints a warning that this is not ported
  to Mach3.0 and if RC_OS=macos it is not built.
- Changed task_self() to mach_task_self() for MacOS X.  Also included
  "stuff/openstep_mach.h" for macros to allow it to still build on Openstep.
  Also changed ifdef's __SLICK__ to __OPENSTEP__.
- Changed the Makefile to allow for RC_OS=macos for MacOS X builds.

Changes for the 5.2 release (the cctools-267 release):
- Picked up changes to call bootstrap_register() rather than
  bootstrap_check_in(), changed the directory used to /var/tmp/profile which
  allows it to be used from bootstrap.conf and also not needed to be started as
  root. Radar bug #2227888.

Changes for the 5.1 release (the cctools-262 release):
- In Titan1P the profil(2) system call got fixed.  So the #ifdef SLICK code
  that was in create() in profileServer.c which had the divide by 2 was removed
  and now there is no #ifdef SLICK and the code that does not divide by 2 is
  used for both Rhapsody and #ifdef SLICK.  Radar bug #2215979.

Changes for the 5.1 release (the cctools-260 release):
- Added -c to all the install commands in the Makefile.

Changes for the 5.1 release (the cctools-258 release):
- Changed the profile header to match the 4.4BSD header.  The code is ifdef'ed
  __SLICK__ in profileServer.c .  Also added code to set the version and
  profrate fields of the 4.4BSD profile header. Radar bug #2204555.

  For Rhapsody as of the Titan1F2 release (late in the Premier cycle) there is a
  bug in the profil(2) system call.  It does not "map 2 bytes of address range
  to each profile bucket" when the value 65536 (0x10000 in hex) is used as the
  scale argument.  But rather it maps 4 bytes of address range to each profile
  bucket for the scale argument of 65536.  To correct for this the size of the
  buffer allocated for Rhapsody (#ifndef __SLICK__) in create() in
  profileServer.c is the textsize divided by 2.  The routine
  shared_pcsample_buffer() in images.c in dyld also has a matching #ifdef for
  the buffer size.

  Also note that for 4.2 the buffer size used for shared pcsample was the size
  of the text / HASHFRACTION, where HASHFRACTION was 1 in 4.2 and 2 in Rhapsody.
  This logicly should have been using something like HISTFRACTION which is the
  size of fraction of the text section for the histogram (the pc sample buffer)
  not the fraction of the text section for the hash table for the call arc's.
  But since HISTFRACTION's value is 2 it can't be used to get 1 to 1 mapping.
  Dividing the text section size by 1 does provide for a "mapping of 2 bytes of 
  address range to each profile bucket" which is what profil(2) describes as a
  1 to 1 mapping which uses the value 0x10000 (SCALE_1_TO_1) as the last
  argument to profil(2).  The 4.2 code (#ifdef __SLICK__) was changed to divide
  by 1 an not use the *FRACTION constants.  The routine shared_pcsample_buffer()
  in dyld was also change in this way to match.

Changes for the 5.1 release (the cctools-253 release):
- Changed the Makefile to only created the needed dst directories.

Changes for the 5.1 release (the cctools-247 release):
- Added MKDIRS if code to the Makefile to build native on Rhapsody.
- Changed the Makefile to use gnutar instead of tar because it works on Rhapsody
  where tar does not.
- Changed the Makefile to install profileServer /usr/libexec for RC_OS teflon
  and in /usr/etc for RC_OS nextstep (Radar 1680747).
- Changed the code ifdef __TEFLON__ to ifndef __SLICK__ (where __TEFLON__ will
  nolonger be defined for Rhapsody builds) so the default builds will be native
  Rhapsody builds.  The changes were to dylibprof.c

Changes for the 4.0 release (cctools-175 release):
- Changed the Makefile to ld -r builds because private externs were causing
  prebinding to fail because of overlap.

Changes for the 4.0 release (the cctools-171 release):
- Added setting the umask() to 0 and changed setting the file mode to 666 from
- Changed computing the size of the shared pc sample buffer in create() in 
  profileServer.c round to sizeof(unsigned short) because gprof complains when
  the number of samples in not a multiple that.

Changes for the 4.0 release (the cctools-170 release):
- First release of the shared pc sample buffer stuff.