https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71767

--- Comment #47 from Iain Sandoe <iains at gcc dot gnu.org> ---
Author: iains
Date: Sun Nov 27 14:34:54 2016
New Revision: 242895

URL: https://gcc.gnu.org/viewcvs?rev=242895&root=gcc&view=rev
Log:
[Darwin] Fix PR71767 - adjust the sections used where necessary.

 (much) Older Darwin linkers needed separate sections marked "coalesce" to
 allow for weak symbol coalescing.  This has not been needed for some time
 and is now deprecated, newer assemblers warn if the old coalesced sections
 are used.


gcc/

2016-11-27  Iain Sandoe  <i...@codesourcery.com>

        PR target/71767
        * config/darwin-sections.def (picbase_thunk_section): New.
        * config/darwin.c (darwin_init_sections): Set up picbase thunk
        section. (darwin_rodata_section, darwin_objc2_section,
        machopic_select_section, darwin_asm_declare_constant_name,
        darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
        coalesced with newer linkers.
        (darwin_override_options): Decide on usage of coalesed sections
        on the basis of the target linker version.
        * config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
        * config/darwin.opt  (mtarget-linker): New.
        * config/i386/i386.c (ix86_code_end): Do not force the thunks into
        a coalesced section, instead use a thunks section.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/darwin-sections.def
    trunk/gcc/config/darwin.c
    trunk/gcc/config/darwin.h
    trunk/gcc/config/darwin.opt
    trunk/gcc/config/i386/i386.c

Reply via email to