This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/33704] AIX runs c++ constructors in incorrect order
- From: "dje at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 23 Nov 2013 15:38:09 +0000
- Subject: [Bug target/33704] AIX runs c++ constructors in incorrect order
- Auto-submitted: auto-generated
- References: <bug-33704-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33704
--- Comment #23 from David Edelsohn <dje at gcc dot gnu.org> ---
Author: dje
Date: Sat Nov 23 15:38:07 2013
New Revision: 205309
URL: http://gcc.gnu.org/viewcvs?rev=205309&root=gcc&view=rev
Log:
libgcc:
PR target/33704
* config/rs6000/aixinitfini.c: New file.
* config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
* config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
symbols.
gcc:
PR target/33704
* config/rs6000/aix.h (COLLECT_SHARED_INIT_FUNC): Define.
(COLLECT_SHARED_FINI_FUNC): Define.
* collect2.c (aix_shared_initname): Declare.
(aix_shared_fininame): Declare.
(symkind): Add SYM_AIXI and SYM_AIXD.
(scanfilter_masks): Add SCAN_AIXI and SCAN_AIXD.
(struct names special): Add GLOBAL__AIXI_ and GLOBAL__AIXD_.
(aixlazy_flag): Parse.
(extract_init_priority): SYM_AIXI and SYM_AIXD have highest priority.
(scan_prog_file, COFF): Handle SYM_AIXI and SYM_AIXD.
Added:
trunk/libgcc/config/rs6000/aixinitfini.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/collect2.c
trunk/gcc/config/rs6000/aix.h
trunk/libgcc/ChangeLog
trunk/libgcc/config/rs6000/libgcc-aix-cxa.ver
trunk/libgcc/config/rs6000/t-aix-cxa