http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48086

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven at gcc dot gnu.org

--- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2011-03-13 
09:59:30 UTC ---
(In reply to comment #7)
> Blocks bootstrap on a primary target; shouldn't it be P1/critical?

I don't think so, for the following reasons.

First of all, there are no primary targets in *-apple-darwin*. The only Apple
target in the release criteria is i686-apple-darwin which is a secondary target
(xf. http://gcc.gnu.org/gcc-4.6/criteria.html).

But IMVHO this is not a problem in GCC. LTO worked before, and now does not
work anymore due to a change in software that GCC has no control over. This is
a regression in Apple XCode. Even now, I can't find anywhere in the
documentation of the Mach-O file format that there is a limitation to 255
sections per segment
(xf.
http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html).
There is a limitation of 255 for sections with relocations, but that is not
applicable with GCC's LTO sections, because there are no relocations.

Call me paranoid, but I find it a suspicious coincidence that XCode 3.2.5
accepts GCC's LTO model, but Xcode 3.2.6 and newer do not, and this change
happens days before GCC's first release with LTO for Apple... The XCode
developers know that  GCC can use more than 255 sections, because we explicitly
discussed this with XCode developers when I developed LTO for Mach-O.

Reply via email to