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