Jack Howarth <howa...@bromo.med.uc.edu> writes: > With release of Xcode 3.2.6/4.0 this week, an unfortunate change was made > to > the darwin assembler which effectively breaks LTO support for darwin. The > design > of LTO on darwin was based on the fact that mach-o object files tolerated > additional > sections as long as they didin't contain symbols. With Xcode 3.2.6/4.0, the > assembler > appears to be strictly counting sections and objecting when these exceed 255. > This > breaks huge sections of the lto testsuite and prevents larger projects like > xplor-nih > to compile if Xcode 3.2.6/4.0 is installed. I am afraid that unless Apple > reverts this > change, our only recourse would be to resort to an elf object container for > the lto > sections within the mach-o files (introducing an undesired dependency on > libelf for > FSF gcc on darwin). My understanding was that the lto design did not allow > the number > of sections required in the lto files to be reduced.
We no longer use libelf on any system. This is largely controlled by the simple-object interface. It should be straightforward to change the way that simple-object works with Mach-O without changing the simple-object interface to the rest of gcc. Then we could change the gcc output to, e.g., put all the information in a single Mach-O section. I suppose we should first ask Apple why they made the change and whether it was intentional. Ian