http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50237
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #39 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-19 16:17:29 UTC --- (In reply to comment #38) > So far, ld -e 0 doesn't work: Well, if no Sun ld handles the section mixing right, it doesn't matter that much. We could just: .text .globl _start _start: at the end of the assembly otherwise. > (Recent?) Sun as on Solaris 10 and 11/x86 work, too. It will still not default to --enable-initfini-array there, because of the glibc version check. Does Solaris dynamic linker handle .init_array etc. right (e.g. the old H.J.'s testcase from configure if compiled with GNU ld 2.22 or later)? If yes, from which versions? Shall it be based on just target tripplets for Solaris? > On Solaris 11/SPARC, the test fails even with gas and gld 2.22: > > > objdump -s -j .init_array conftest > > conftest: file format elf32-sparc-sol2 > > Contents of section .init_array: > 20054 48484848 44444444 HHHHDDDD If it contains just two, then possibly the .ctors section has been kept around? I'd guess that H.J's testcase wouldn't succeed either. Anyway, marking this as fixed, details can be fixed up incrementally.