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 mwccppc. 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 returns()'s. 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 777. - 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.