summaryrefslogtreecommitdiffstats
path: root/gdb/linker.cfg
diff options
context:
space:
mode:
authorTomasz Malesinski <tomal@rockbox.org>2006-01-25 01:43:07 +0000
committerTomasz Malesinski <tomal@rockbox.org>2006-01-25 01:43:07 +0000
commit2aabc875bfb68142622e699fbb208bd808e2088f (patch)
tree96c9a17ce88e19e21037d6ce56815bc983a53345 /gdb/linker.cfg
parentd9c0ad1db69dd3a32939725006fbe4ee27dedcff (diff)
downloadrockbox-2aabc875bfb68142622e699fbb208bd808e2088f.tar.gz
rockbox-2aabc875bfb68142622e699fbb208bd808e2088f.tar.bz2
rockbox-2aabc875bfb68142622e699fbb208bd808e2088f.zip
GDB stub for ARM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8447 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'gdb/linker.cfg')
-rw-r--r--gdb/linker.cfg64
1 files changed, 63 insertions, 1 deletions
diff --git a/gdb/linker.cfg b/gdb/linker.cfg
index 5d5334b92f..2cc6a0e9b4 100644
--- a/gdb/linker.cfg
+++ b/gdb/linker.cfg
@@ -1,5 +1,65 @@
+#include "config.h"
+
+#ifdef CPU_ARM
+ENTRY(start)
+STARTUP(crt0.o)
+OUTPUT_FORMAT(elf32-littlearm)
+#else
ENTRY(_start)
OUTPUT_FORMAT(elf32-sh)
+#endif
+
+#ifdef IRIVER_IFP7XX_SERIES
+MEMORY
+{
+ IRAM : ORIGIN = 0, LENGTH = 0x10000
+ DRAM : ORIGIN = 0x24000000, LENGTH = 0x8000
+}
+
+SECTIONS
+{
+ .text :
+ {
+ *(.init*)
+ *(.text)
+ *(.text*)
+ *(.rodata)
+ *(.rodata*)
+ *(.glue_7)
+ *(.glue_7t)
+ } >DRAM
+
+ .data :
+ {
+ *(.data)
+ } >DRAM
+
+ .vectors :
+ {
+ _vectorsstart = .;
+ *(.vectors)
+ _vectorsend = .;
+ } >IRAM AT>DRAM
+ _vectorscopy = LOADADDR(.vectors);
+
+ .stack (NOLOAD) :
+ {
+ stackbegin = .;
+ . += 0x400;
+ _stub_stack = .;
+ . += 0x200;
+ stackend = .;
+ } >DRAM
+
+ .bss (NOLOAD) :
+ {
+ _edata = .;
+ *(.bss)
+ _end = .;
+ } >DRAM
+}
+#else
+
SECTIONS
{
.vectors 0x09000000 :
@@ -25,4 +85,6 @@ SECTIONS
{
LONG(0);
}
- }
+}
+
+#endif