This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: darwin LTO broken under Xcode 3.2.6/4.0


On Sun, Mar 13, 2011 at 09:38:06PM +0100, Steven Bosscher wrote:
> On Sun, Mar 13, 2011 at 9:03 PM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> > On Sun, Mar 13, 2011 at 08:42:58PM +0100, Steven Bosscher wrote:
> >> (sorry Chris, I forgot the list)
> >>
> >> On Mar 13, 2011,@11:59 AM, Chris Lattner wrote:
> >>
> >> > Sorry, I actually mean 255 of course, because of the NO_SECT
> >> > sentinel. ?Here are the relevant bits from nlist.h. ?I'm not
> >> > sure how you expect the toolchain to store more than 256
> >> > sections in a uint8_t.
> >>
> >> How self-righteous, and misinformed.
> >>
> >> No-one is expecting to store >256 in a uint8_t. The structures you
> >> quote only apply to symbol tables, which are references into sections
> >> in Mach-O. But not all sections have symbols. None of the sections in
> >> the GNU_LTO segment have symbols.
> >>
> >> The documentation you should be quoting is the part about Mach-O
> >> loader commands, and there is no limit AFAICT on the number of
> >> LC_SEGMENT/LC_SEGMENT_64 loader commands. There is also nothing in the
> >> segment command structures that suggests a limit of 255 sections.
> >>
> >> Besides, it worked before, which suggests that, well, it worked.
> >>
> >> This is not the limitation of Mach-O you are looking for.
> >>
> >> Ciao!
> >> Steven
> >
> > Steven,
> > ? While I agree that we are likely correct in the details of this
> > problem, I suspect we will be unsuccessful in getting Apple to revert
> > this change. Even if they do so, it is likely to be for Xcode 4.0.1
> > only (since the 3.2.x series is being depreciated) and at best we
> > might see the fix in 6-9 months if not later. It is far better, despite
> > the pain, to recode this in order to protect ourselves in the future
> > from arbitary changes in Xcode. IMHO, one major problem is that Apple has
> > left mach-o poorly documented in some areas which leaves them the
> > lattitude to redefine the corner cases like this as they please.
> > ? ? ? ? ? ? ? ? ? ?Jack
> >
> 
> Hi,
> 
> I agree it is probably better to re-code things, but that will be
> impossible do before GCC 4.6 goes out.
> 
> We have to make a decision: keep the LTO support for Mach-O in for now
> and recommend a non-recent Xcode, disable it for the GCC 4.6 release
> and for the GCC 4.5.x series.

Steven,
   Did I misread you message at...

http://gcc.gnu.org/ml/gcc-bugs/2011-03/msg01336.html

as it seems to suggest otherwise? We do need a clear answer from Apple 
about how n_sect is validated though (per segment or per file).
                Jack
> 
> Ciao!
> Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]