From 9de4d8f1c0540a6a8f0343329b197156adadf220 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 10 Jun 1993 21:02:59 +0000 Subject: [PATCH] * ldexp.c (exp_fold_tree): Don't lose the old flag bits. * ldgram.y (statement_list_opt): New nonterminal, either empty or statement_list. (section): Use statement_list_opt, not statement_list. * m68kcoff.sc-sh: Gather constructors and destructors and define __CTOR_LIST__ and __DTOR_LIST__ appropriately. * sa29200.sc-sh: Gather constructors and destructors and define ___CTOR_LIST__ and ___DTOR_LIST__ appropriately. --- ld/m68kcoff.sc-sh | 12 +++++++++++- ld/sa29200.sc-sh | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ld/m68kcoff.sc-sh b/ld/m68kcoff.sc-sh index 1ef0265d891..519791c110c 100644 --- a/ld/m68kcoff.sc-sh +++ b/ld/m68kcoff.sc-sh @@ -15,7 +15,17 @@ SECTIONS { .text : { *(.text) - ${RELOCATING+ etext = .}; + ${RELOCATING+ etext = .;} + ${CONSTRUCTING+ __CTOR_LIST__ = .;} + ${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)} + *(.ctors) + ${CONSTRUCTING+ LONG(0)} + ${CONSTRUCTING+ __CTOR_END__ = .;} + ${CONSTRUCTING+ __DTOR_LIST__ = .;} + ${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)} + *(.dtors) + ${CONSTRUCTING+ LONG(0)} + ${CONSTRUCTING+ __DTOR_END__ = .;} *(.lit) *(.shdata) } ${RELOCATING+ > text} diff --git a/ld/sa29200.sc-sh b/ld/sa29200.sc-sh index d0a395bebe3..6526614762e 100755 --- a/ld/sa29200.sc-sh +++ b/ld/sa29200.sc-sh @@ -22,6 +22,16 @@ SECTIONS { *(.data2); ${RELOCATING+_edata = .}; ${CONSTRUCTING+CONSTRUCTORS} + ${CONSTRUCTING+ ___CTOR_LIST__ = .;} + ${CONSTRUCTING+ LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)} + *(.ctors) + ${CONSTRUCTING+ LONG(0)} + ${CONSTRUCTING+ ___CTOR_END__ = .;} + ${CONSTRUCTING+ ___DTOR_LIST__ = .;} + ${CONSTRUCTING+ LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)} + *(.dtors) + ${CONSTRUCTING+ LONG(0)} + ${CONSTRUCTING+ ___DTOR_END__ = .;} } .bss . : -- 2.30.2