aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/SAM7S256/gcc/nxt.ld
diff options
context:
space:
mode:
Diffstat (limited to 'AT91SAM7S256/SAM7S256/gcc/nxt.ld')
-rw-r--r--AT91SAM7S256/SAM7S256/gcc/nxt.ld48
1 files changed, 23 insertions, 25 deletions
diff --git a/AT91SAM7S256/SAM7S256/gcc/nxt.ld b/AT91SAM7S256/SAM7S256/gcc/nxt.ld
index 7b5a9e2..e54bc5d 100644
--- a/AT91SAM7S256/SAM7S256/gcc/nxt.ld
+++ b/AT91SAM7S256/SAM7S256/gcc/nxt.ld
@@ -87,30 +87,29 @@ SECTIONS
__STARTOFUSERFLASH_FROM_LINKER =
ALIGN (LOADADDR (.data) + SIZEOF (.data), 0x100);
- /*
- * The various debugger stacks.
- */
- .stack : ALIGN(8) {
-
- /* abort stack */
- __abort_stack_bottom__ = . ;
- . += 0x80; /* 128 byte abort mode stack. */
- __abort_stack__ = .;
- __abort_stack_top__ = . ;
-
- /* debugger state */
- __debugger_stack_bottom__ = . ;
- . += 0x48; /* 16 user mode registers + SPSR + UNDEF Next Instruction Address */
- __debugger_stack__ = .;
- __debugger_stack_top__ = . ;
-
- /* breakpoints */
- __breakpoints_start__ = . ;
- . += 0x40; /* Single Stepping Breakpoint + 7 Breakpoints */
- __breakpoints_end__ = . ;
- } > DATA
-
- __breakpoints_num__ = (__breakpoints_end__ - __breakpoints_start__) / 8;
+ /*
+ * The various debugger stacks.
+ */
+ .stack : ALIGN(8) {
+ /* abort stack */
+ __abort_stack_bottom__ = . ;
+ KEEP(*(.stack.abort))
+ __abort_stack__ = . ;
+ __abort_stack_top__ = . ;
+
+ /* debugger state */
+ __debugger_stack_bottom__ = . ;
+ KEEP(*(.stack.debugger))
+ __debugger_stack__ = . ;
+ __debugger_stack_top__ = . ;
+
+ /* breakpoints */
+ __breakpoints_start__ = . ;
+ KEEP(*(.breakpoints))
+ __breakpoints_end__ = . ;
+ } > DATA
+
+ __breakpoints_num__ = (__breakpoints_end__ - __breakpoints_start__) / 8;
/* .bss section which is used for uninitialized data */
.bss (NOLOAD) :
@@ -128,7 +127,6 @@ SECTIONS
__bss_end__ = . ;
-
_end = .;
PROVIDE (end = .);