Define __EH_FRAME_{BEGIN|END}__

This commit is contained in:
Nick Clifton 2001-10-20 09:56:29 +00:00
parent d66b75d138
commit fd521b4750
2 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
* scripttempl/armcoff.sc: Define __EH_FRAME_BEGIN__ and
__EH_FRAME_END__ and accept eh frames into data section.
Add ctor and dtor sections.
2001-10-19 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
* pe-dll.c (autofilter_objectlist): Add gcrt0.o.

View File

@ -6,6 +6,18 @@ if test -z "${DATA_ADDR}"; then
DATA_ADDR=.
fi
fi
# These are substituted in as variables in order to get '}' in a shell
# conditional expansion.
CTOR='.ctor : {
*(SORT(.ctors.*))
*(.ctor)
}'
DTOR='.dtor : {
*(SORT(.dtors.*))
*(.dtor)
}'
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
@ -35,10 +47,19 @@ SECTIONS
.data ${RELOCATING+${DATA_ADDR-0x40000 + (. & 0xfffc0fff)}} : {
${RELOCATING+ __data_start__ = . ;}
*(.data*)
${RELOCATING+*(.gcc_exc*)}
${RELOCATING+___EH_FRAME_BEGIN__ = . ;}
${RELOCATING+*(.eh_fram*)}
${RELOCATING+___EH_FRAME_END__ = . ;}
${RELOCATING+LONG(0);}
${RELOCATING+ __data_end__ = . ;}
${RELOCATING+ edata = .;}
${RELOCATING+ _edata = .;}
}
${CONSTRUCTING+${RELOCATING-$CTOR}}
${CONSTRUCTING+${RELOCATING-$DTOR}}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
${RELOCATING+ __bss_start__ = . ;}