* 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:
parent
ce38539a45
commit
9de4d8f1c0
2 changed files with 21 additions and 1 deletions
|
@ -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}
|
||||
|
|
|
@ -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 . :
|
||||
|
|
Loading…
Reference in a new issue