* 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.
This commit is contained in:
Ian Lance Taylor 1993-06-10 21:02:59 +00:00
parent ce38539a45
commit 9de4d8f1c0
2 changed files with 21 additions and 1 deletions

View file

@ -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}

View file

@ -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 . :