From: Stephane Carrez Date: Wed, 23 Jul 2003 19:33:20 +0000 (+0000) Subject: * scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into X-Git-Tag: ezannoni_pie-20030916-branchpoint~673 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=494fee87a7c1231994f2e62844191bdb2fc6b55e;p=external%2Fbinutils.git * scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into account .tramp sections; * scripttempl/elfm68hc12.sc: Likewise. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 34c8f30..eee8e54 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2003-07-23 Stephane Carrez + + * scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into + account .tramp sections; + * scripttempl/elfm68hc12.sc: Likewise. + 2003-07-17 Charles Wilson * ld/pe-dll.c: Add libcygwin to autofilter_liblist[] diff --git a/ld/scripttempl/elfm68hc11.sc b/ld/scripttempl/elfm68hc11.sc index 0883b97..5188982 100644 --- a/ld/scripttempl/elfm68hc11.sc +++ b/ld/scripttempl/elfm68hc11.sc @@ -28,15 +28,7 @@ CTOR=".ctors ${CONSTRUCTING-0} : { ${CONSTRUCTING+ PROVIDE (__CTOR_LIST__ = .); } ${CONSTRUCTING+${CTOR_START}} - *(.ctors) - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last - - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) */ + KEEP (*(.ctors)) ${CONSTRUCTING+${CTOR_END}} ${CONSTRUCTING+ PROVIDE(__CTOR_END__ = .); } @@ -45,12 +37,7 @@ CTOR=".ctors ${CONSTRUCTING-0} : DTOR=" .dtors ${CONSTRUCTING-0} : { ${CONSTRUCTING+ PROVIDE(__DTOR_LIST__ = .); } - *(.dtors) - /* - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) */ + KEEP (*(.dtors)) ${CONSTRUCTING+ PROVIDE(__DTOR_END__ = .); } } ${RELOCATING+ > ${TEXT_MEMORY}}" @@ -326,6 +313,8 @@ SECTIONS /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) ${RELOCATING+*(.gnu.linkonce.t.*)} + ${RELOCATING+*(.tramp)} + ${RELOCATING+*(.tramp.*)} ${RELOCATING+${FINISH_CODE}} diff --git a/ld/scripttempl/elfm68hc12.sc b/ld/scripttempl/elfm68hc12.sc index d9a41fd..94f10c9 100644 --- a/ld/scripttempl/elfm68hc12.sc +++ b/ld/scripttempl/elfm68hc12.sc @@ -28,15 +28,7 @@ CTOR=".ctors ${CONSTRUCTING-0} : { ${CONSTRUCTING+ PROVIDE (__CTOR_LIST__ = .); } ${CONSTRUCTING+${CTOR_START}} - *(.ctors) - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last - - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) */ + KEEP (*(.ctors)) ${CONSTRUCTING+${CTOR_END}} ${CONSTRUCTING+ PROVIDE(__CTOR_END__ = .); } @@ -45,12 +37,7 @@ CTOR=".ctors ${CONSTRUCTING-0} : DTOR=" .dtors ${CONSTRUCTING-0} : { ${CONSTRUCTING+ PROVIDE(__DTOR_LIST__ = .); } - *(.dtors) - /* - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) */ + KEEP (*(.dtors)) ${CONSTRUCTING+ PROVIDE(__DTOR_END__ = .); } } ${RELOCATING+ > ${TEXT_MEMORY}}" @@ -324,6 +311,8 @@ SECTIONS /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) ${RELOCATING+*(.gnu.linkonce.t.*)} + ${RELOCATING+*(.tramp)} + ${RELOCATING+*(.tramp.*)} ${RELOCATING+${FINISH_CODE}}