2012-07-31 H.J. Lu PR ld/14156 * scripttempl/elf32msp430.sc: Add SORT_NONE to .init and .fini sections. * elf32msp430_3.sc: Likewise. diff --git a/ld/scripttempl/elf32msp430.sc b/ld/scripttempl/elf32msp430.sc index 5098c17..beabd89 100644 --- a/ld/scripttempl/elf32msp430.sc +++ b/ld/scripttempl/elf32msp430.sc @@ -99,17 +99,17 @@ SECTIONS .text : { ${RELOCATING+. = ALIGN(2);} - *(.init) - *(.init0) /* Start here after reset. */ - *(.init1) - *(.init2) /* Copy data loop */ - *(.init3) - *(.init4) /* Clear bss */ - *(.init5) - *(.init6) /* C++ constructors. */ - *(.init7) - *(.init8) - *(.init9) /* Call main(). */ + *(SORT_NONE(.init)) + *(SORT_NONE(.init0)) /* Start here after reset. */ + *(SORT_NONE(.init1)) + *(SORT_NONE(.init2)) /* Copy data loop */ + *(SORT_NONE(.init3)) + *(SORT_NONE(.init4)) /* Clear bss */ + *(SORT_NONE(.init5)) + *(SORT_NONE(.init6)) /* C++ constructors. */ + *(SORT_NONE(.init7)) + *(SORT_NONE(.init8)) + *(SORT_NONE(.init9)) /* Call main(). */ ${CONSTRUCTING+ __ctors_start = . ; } ${CONSTRUCTING+ *(.ctors) } @@ -124,17 +124,17 @@ SECTIONS *(.text.*) ${RELOCATING+. = ALIGN(2);} - *(.fini9) /* */ - *(.fini8) - *(.fini7) - *(.fini6) /* C++ destructors. */ - *(.fini5) - *(.fini4) - *(.fini3) - *(.fini2) - *(.fini1) - *(.fini0) /* Infinite loop after program termination. */ - *(.fini) + *(SORT_NONE(.fini9)) + *(SORT_NONE(.fini8)) + *(SORT_NONE(.fini7)) + *(SORT_NONE(.fini6)) /* C++ destructors. */ + *(SORT_NONE(.fini5)) + *(SORT_NONE(.fini4)) + *(SORT_NONE(.fini3)) + *(SORT_NONE(.fini2)) + *(SORT_NONE(.fini1)) + *(SORT_NONE(.fini0)) /* Infinite loop after program termination. */ + *(SORT_NONE(.fini)) _etext = .; } ${RELOCATING+ > text} diff --git a/ld/scripttempl/elf32msp430_3.sc b/ld/scripttempl/elf32msp430_3.sc index c730c5d..0ddcf0f 100644 --- a/ld/scripttempl/elf32msp430_3.sc +++ b/ld/scripttempl/elf32msp430_3.sc @@ -75,17 +75,17 @@ SECTIONS .text : { ${RELOCATING+. = ALIGN(2);} - *(.init) - *(.init0) /* Start here after reset. */ - *(.init1) - *(.init2) - *(.init3) - *(.init4) - *(.init5) - *(.init6) /* C++ constructors. */ - *(.init7) - *(.init8) - *(.init9) /* Call main(). */ + *(SORT_NONE(.init)) + *(SORT_NONE(.init0)) /* Start here after reset. */ + *(SORT_NONE(.init1)) + *(SORT_NONE(.init2)) + *(SORT_NONE(.init3)) + *(SORT_NONE(.init4)) + *(SORT_NONE(.init5)) + *(SORT_NONE(.init6)) /* C++ constructors. */ + *(SORT_NONE(.init7)) + *(SORT_NONE(.init8)) + *(SORT_NONE(.init9)) /* Call main(). */ ${CONSTRUCTING+ __ctors_start = . ; } ${CONSTRUCTING+ *(.ctors) } @@ -100,17 +100,17 @@ SECTIONS *(.text.*) ${RELOCATING+. = ALIGN(2);} - *(.fini9) - *(.fini8) - *(.fini7) - *(.fini6) /* C++ destructors. */ - *(.fini5) - *(.fini4) - *(.fini3) - *(.fini2) - *(.fini1) - *(.fini0) /* Infinite loop after program termination. */ - *(.fini) + *(SORT_NONE(.fini9)) + *(SORT_NONE(.fini8)) + *(SORT_NONE(.fini7)) + *(SORT_NONE(.fini6)) /* C++ destructors. */ + *(SORT_NONE(.fini5)) + *(SORT_NONE(.fini4)) + *(SORT_NONE(.fini3)) + *(SORT_NONE(.fini2)) + *(SORT_NONE(.fini1)) + *(SORT_NONE(.fini0)) /* Infinite loop after program termination. */ + *(SORT_NONE(.fini)) ${RELOCATING+ _etext = . ; } } ${RELOCATING+ > text}