No tool is without sin. Cctools 65 had a notorious bug with four-way fat binaries (containing ppc, ppc64, i386, x86_64). The lipo tool would sometimes write the wrong offset for the last architecture, causing ld to crash with a “missing cpu subtype” error. This bug wasn’t fully fixed until cctools 79.
Additionally, the static linker in 65 lacked incremental linking—a feature GNU ld had for a decade. This made the edit-compile-debug cycle on large C++ projects (like the original Chrome for Mac) painfully slow on PowerPC hardware.
Nevertheless, the legacy of cctools 65 endures. Every modern Apple linker (ld64, then the new Mach-O linker written in Swift) inherits the segment layout, the fat binary structure, and the symbol trie first stabilized in version 65. When you run otool -l on an iOS binary today, you are staring at the ghost of cctools 65.
Compiler toolchains are critical for software development. Version numbering and naming must be unambiguous. The phrase "cctools 65 new" appears in informal queries but not in any release notes, repositories, or academic databases.
If you clarify which of these you meant, I will gladly write a complete paper for you. For example:
No tool is without sin. Cctools 65 had a notorious bug with four-way fat binaries (containing ppc, ppc64, i386, x86_64). The lipo tool would sometimes write the wrong offset for the last architecture, causing ld to crash with a “missing cpu subtype” error. This bug wasn’t fully fixed until cctools 79.
Additionally, the static linker in 65 lacked incremental linking—a feature GNU ld had for a decade. This made the edit-compile-debug cycle on large C++ projects (like the original Chrome for Mac) painfully slow on PowerPC hardware. cctools 65 new
Nevertheless, the legacy of cctools 65 endures. Every modern Apple linker (ld64, then the new Mach-O linker written in Swift) inherits the segment layout, the fat binary structure, and the symbol trie first stabilized in version 65. When you run otool -l on an iOS binary today, you are staring at the ghost of cctools 65. No tool is without sin
Compiler toolchains are critical for software development. Version numbering and naming must be unambiguous. The phrase "cctools 65 new" appears in informal queries but not in any release notes, repositories, or academic databases. This bug wasn’t fully fixed until cctools 79
If you clarify which of these you meant, I will gladly write a complete paper for you. For example: