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

           Summary: lto should be containerized in a single mach-o section
                    on darwin
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: howa...@nitro.med.uc.edu


The LTO support on darwin has been disabled...

Author: mrs
Date: Mon Mar 14 02:47:49 2011
New Revision: 170929

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170929
Log:
2011-03-13  Jack Howarth  <howa...@bromo.med.uc.edu>

        PR lto/48086
        * configure.ac: Disable LTO on darwin due to an assembler change in
        Xcode 3.2.6/4.0 that limits the total number of sections/segments to
        under 256.
        * configure: Regenerate.

Modified:
    trunk/ChangeLog
    trunk/configure
    trunk/configure.ac

due to the mishandling of <rdar://problem/7920267>, possible assembler bug
exposed by LTO, by the Apple assembler developer where a solid 255 limit has
been now imposed on all the sections= possible in a mach-o object file. This
breaks the current implementation in gcc/lto/lto-object.c which relied on the
ability to have an unlimited number of symbol-less GNU_LTO sections at the end
of the object file.
   The darwin LTO support in  gcc/lto/lto-object.c  and gcc/config/darwin.c
needs to be written to containerize all of these GNU_LTO sections into a single
mach-o section. Hopefully this can be done without having to resort to an elf
container, which would introduce an undesired dependency on libelf for FSF gcc
on darwin.

Reply via email to