diff options
author | Nick Clifton <nickc@redhat.com> | 2003-12-03 10:44:50 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-12-03 10:44:50 +0000 |
commit | f2f489ac6fb20fddeeac7824a7d217594fdc2a09 (patch) | |
tree | ce0da3f5fde654782bb6f0d4e94da361829f73cc /ld | |
parent | 251a3ae3a6020eb316ce93fe131d15890d9e3486 (diff) | |
download | gdb-f2f489ac6fb20fddeeac7824a7d217594fdc2a09.zip gdb-f2f489ac6fb20fddeeac7824a7d217594fdc2a09.tar.gz gdb-f2f489ac6fb20fddeeac7824a7d217594fdc2a09.tar.bz2 |
(HEAP_SECTION_MSP430): New section for forthcoming devices.
(_etext): provide this defenition for all scripts.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/scripttempl/elf32msp430.sc | 25 |
2 files changed, 30 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index edd3828..3a4059b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2003-12-03 Dmitry Diky <diwil@mail.ru> + + * scripttempl/elf32msp430.sc (HEAP_SECTION_MSP430): New section for + forthcoming devices. + (_etext): provide this defenition for all scripts. + 2003-12-02 Kazu Hirata <kazu@cs.umass.edu> * emultempl/beos.em: Remove ARGSUSED. diff --git a/ld/scripttempl/elf32msp430.sc b/ld/scripttempl/elf32msp430.sc index c3e78d3..5754d66 100644 --- a/ld/scripttempl/elf32msp430.sc +++ b/ld/scripttempl/elf32msp430.sc @@ -1,3 +1,23 @@ +#!/bin/sh + +HEAP_SECTION_MSP430=" " +HEAP_MEMORY_MSP430=" " + +if test ${GOT_HEAP_MSP-0} -ne 0 +then +HEAP_SECTION_MSP430=".heap ${RELOCATING-0} : + { + ${RELOCATING+ PROVIDE (__heap_data_start = .) ; } + *(.heap*) + ${RELOCATING+ PROVIDE (_heap_data_end = .) ; } + ${RELOCATING+. = ALIGN(2);} + ${RELOCATING+ PROVIDE (__heap_bottom = .) ; } + ${RELOCATING+ PROVIDE (__heap_top = ${HEAP_START} + ${HEAP_LENGTH}) ; } + } ${RELOCATING+ > heap}" +HEAP_MEMORY_MSP430="heap(rwx) : ORIGIN = $HEAP_START, LENGTH = $HEAP_LENGTH" +fi + + cat <<EOF OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}") OUTPUT_ARCH(${ARCH}) @@ -10,6 +30,7 @@ MEMORY bootloader(rx) : ORIGIN = 0x0c00, LENGTH = 1K infomem(rx) : ORIGIN = 0x1000, LENGTH = 256 infomemnobits(rx) : ORIGIN = 0x1000, LENGTH = 256 + ${HEAP_MEMORY_MSP430} } SECTIONS @@ -115,7 +136,7 @@ SECTIONS *(.fini0) /* Infinite loop after program termination. */ *(.fini) - ${RELOCATING+ _etext = . ; } + _etext = .; } ${RELOCATING+ > text} .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))} @@ -179,6 +200,7 @@ SECTIONS ${RELOCATING+ _vectors_end = . ; } } ${RELOCATING+ > vectors} + ${HEAP_SECTION_MSP430} /* Stabs debugging sections. */ .stab 0 : { *(.stab) } @@ -219,5 +241,6 @@ SECTIONS PROVIDE (__data_end_rom = _etext + SIZEOF (.data)) ; PROVIDE (__noinit_start_rom = _etext + SIZEOF (.data)) ; PROVIDE (__noinit_end_rom = _etext + SIZEOF (.data) + SIZEOF (.noinit)) ; + PROVIDE (__subdevice_has_heap = ${GOT_HEAP_MSP-0}) ; } EOF |