Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-09-18 11:38:13 +0400
committerNick Clifton <nickc@redhat.com>2013-09-18 11:38:13 +0400
commit796a9241b3d383297da92d59476476ebb3a83f15 (patch)
tree4c3e163508da96c65f1fdc5c852208dc5ac70f77 /libgloss/msp430/msp430-sim.ld
parent37e1d79259b3eb25f1ae26a7495961b21684b532 (diff)
* msp430/Makefile.in (SCRIPTS): Add intr_vectors.ld.
(LIB_CRT): New. (CRT_OBJS): New. (all): Add dependency upon LIB_CRT. (install): Likewise. * msp430/msp430-sim.ld: Include intr_vectors.ld. KEEP crt code, lowtext code and tm_clone_table. Separate the noinit section from the .bss section. Allow for extended .debug_line sections. * msp430/msp430.ld: Likewise. * msp430/msp430F5438A-l.ld: Likewise. * msp430/msp430F5438A-s.ld: Likewise. * msp430/msp430xl-sim.ld: Likewise . * msp430/crt_movedata.S: New. * msp430/crt_bss.S: New. * msp430/intr_vectors.ld: New.
Diffstat (limited to 'libgloss/msp430/msp430-sim.ld')
-rw-r--r--libgloss/msp430/msp430-sim.ld33
1 files changed, 25 insertions, 8 deletions
diff --git a/libgloss/msp430/msp430-sim.ld b/libgloss/msp430/msp430-sim.ld
index b01a35078..56bc8f80d 100644
--- a/libgloss/msp430/msp430-sim.ld
+++ b/libgloss/msp430/msp430-sim.ld
@@ -18,7 +18,10 @@ ENTRY(_start)
/* Do we need any of these for elf?
__DYNAMIC = 0; */
-MEMORY {
+INCLUDE intr_vectors.ld
+
+MEMORY
+{
RAM (w) : ORIGIN = 0x00200, LENGTH = 0x0ee00
RESETVEC (w) : ORIGIN = 0x0fffe, LENGTH = 0x00002
}
@@ -77,7 +80,12 @@ SECTIONS
{
. = ALIGN(2);
PROVIDE (_start = .);
- *(.lowtext .text .stub .text.* .gnu.linkonce.t.* .text:*)
+ KEEP (*(.crt_init))
+ KEEP (*(.crt_bss))
+ KEEP (*(.crt_movedata))
+ KEEP (*(.crt_main))
+ KEEP (*(.lowtext))
+ *(.text .stub .text.* .gnu.linkonce.t.* .text:*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
@@ -88,6 +96,7 @@ SECTIONS
. = ALIGN(2);
KEEP (*(.init))
KEEP (*(.fini))
+ KEEP (*(.tm_clone_table))
} > RAM
.data : {
@@ -127,15 +136,23 @@ SECTIONS
*(.dynbss)
*(.sbss .sbss.*)
*(.bss .bss.* .gnu.linkonce.b.*)
- . = ALIGN(2);
- *(COMMON)
- . = ALIGN(2);
PROVIDE (__bssend = .);
- _end = .;
- PROVIDE (end = .);
} > RAM
PROVIDE (__bsssize = SIZEOF(.bss));
+ /* This section contains data that is not initialised at startup. */
+ .noinit : {
+ . = ALIGN(2);
+ PROVIDE (__noinit_start = .);
+ *(.noinit)
+ . = ALIGN(2);
+ *(COMMON)
+ PROVIDE (__noinit_end = .);
+ } > RAM
+
+ _end = .;
+ PROVIDE (end = .);
+
.stack (ORIGIN (RAM) + LENGTH(RAM)) :
{
PROVIDE (__stack = .);
@@ -174,7 +191,7 @@ SECTIONS
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
+ .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }