summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1996-09-04 19:11:21 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1996-09-04 19:11:21 +0000
commitc3c8d76890b592bf5acc1a9b7faeabd9b829dd71 (patch)
tree6358a23d0df9de73b6d5d6d3a75545ff35f05b47 /gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc
parent4ba440a6e788da3a64fa29b782c37150a3f5cc18 (diff)
Merge the Cygnus 960904 sources
Diffstat (limited to 'gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc')
-rw-r--r--gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc16
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc b/gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc
index 3314d8141bb..e4bfd0db814 100644
--- a/gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc
+++ b/gnu/usr.bin/binutils/ld/scripttempl/armcoff.sc
@@ -10,23 +10,35 @@ ENTRY(${ENTRY})
SECTIONS
{
/* We start at 0x8000 because gdb assumes it (see FRAME_CHAIN).
- The bottom part of memory is reserved anyway (but 32k?). */
+ This is an artifact of the ARM Demon monitor using the bottom 32k
+ as workspace (shared with the FP instruction emulator if
+ present): */
.text ${RELOCATING+ 0x8000} : {
*(.init)
*(.text)
+ ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
+ LONG (-1); *(.ctors); *(.ctor); LONG (0); }
+ ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
+ LONG (-1); *(.dtors); *(.dtor); LONG (0); }
*(.fini)
${RELOCATING+ etext = .};
}
.data ${RELOCATING+ 0x40000 + (. & 0xffc00fff)} : {
+ __data_start__ = . ;
*(.data)
+ __data_end__ = . ;
${RELOCATING+ edata = .};
}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
+ __bss_start__ = . ;
*(.bss)
*(COMMON)
- ${RELOCATING+ end = .};
+ __bss_end__ = . ;
}
+
+ ${RELOCATING+ __end__ = .};
+
.stab 0 ${RELOCATING+(NOLOAD)} :
{
[ .stab ]