<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-12-03)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * startup/linkcmds.lpc32xx_mzx, startup/linkcmds.lpc32xx_mzx_stage_1,
        startup/linkcmds.lpc32xx_mzx_stage_2,
        startup/linkcmds.lpc32xx_phycore: Update due to linker command file
        changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog.diff?r1=text&tr1=1.21&r2=text&tr2=1.22&diff_format=h">M</a></td><td width='1%'>1.22</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.21 rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.22
--- rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.21   Fri Dec  3 03:29:07 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog        Fri Dec  3 04:13:07 2010
</font><font color='#997700'>@@ -1,5 +1,12 @@
</font> 2010-12-03        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * startup/linkcmds.lpc32xx_mzx, startup/linkcmds.lpc32xx_mzx_stage_1,
+       startup/linkcmds.lpc32xx_mzx_stage_2,
+       startup/linkcmds.lpc32xx_phycore: Update due to linker command file
+       changes.
+
+2010-12-03     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * include/lpc32xx.h: Added I2S module.
        * Makefile.am, bsp_specs, preinstall.am, startup/bspstarthooks.c,
        startup/linkcmds.lpc32xx, startup/linkcmds.lpc32xx_mzx,

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx:1.2 rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx:1.3
--- rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx:1.2 Fri Dec  3 03:29:07 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx     Fri Dec  3 04:13:07 2010
</font><font color='#997700'>@@ -49,8 +49,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_EXT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_EXT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1:1.2 rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1:1.3
--- rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1:1.2 Fri Dec  3 03:29:08 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1     Fri Dec  3 04:13:07 2010
</font><font color='#997700'>@@ -49,8 +49,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_INT);
 REGION_ALIAS ("REGION_DATA", RAM_INT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_INT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_INT);
</font> REGION_ALIAS ("REGION_BSS", RAM_INT);
 REGION_ALIAS ("REGION_WORK", RAM_INT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2:1.2 rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2:1.3
--- rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2:1.2 Fri Dec  3 03:29:08 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2     Fri Dec  3 04:13:07 2010
</font><font color='#997700'>@@ -49,8 +49,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_EXT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_EXT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore:1.4 rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore:1.5
--- rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore:1.4     Fri Dec  3 03:29:08 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore Fri Dec  3 04:13:07 2010
</font><font color='#997700'>@@ -51,8 +51,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_EXT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_EXT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * startup/linkcmds.lpc2362, startup/linkcmds.lpc23xx_tli800,
        startup/linkcmds.lpc24xx_ea, startup/linkcmds.lpc24xx_ncs_ram,
        startup/linkcmds.lpc24xx_ncs_rom_ext,
        startup/linkcmds.lpc24xx_ncs_rom_int: Update due to linker command
        file changes.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog.diff?r1=text&tr1=1.59&r2=text&tr2=1.60&diff_format=h">M</a></td><td width='1%'>1.60</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.59 rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.60
--- rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.59   Fri Dec  3 03:56:47 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog        Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -1,5 +1,13 @@
</font> 2010-12-03        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#000088'>+   * startup/linkcmds.lpc2362, startup/linkcmds.lpc23xx_tli800,
+       startup/linkcmds.lpc24xx_ea, startup/linkcmds.lpc24xx_ncs_ram,
+       startup/linkcmds.lpc24xx_ncs_rom_ext,
+       startup/linkcmds.lpc24xx_ncs_rom_int: Update due to linker command
+       file changes.
+
+2010-12-03     Sebastian Huber <sebastian.huber@embedded-brains.de>
+
</font>   * include/lcd.h, misc/lcd.c: New files.
        * misc/io.c, include/io.h: Documentation, bug fixes, more
        configurations.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362:1.4 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362:1.5
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362:1.4     Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362 Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -50,8 +50,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
 REGION_ALIAS ("REGION_DATA", RAM_INT);
 REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
</font> REGION_ALIAS ("REGION_BSS", RAM_INT);
 REGION_ALIAS ("REGION_WORK", RAM_INT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800:1.2 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800:1.3
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800:1.2      Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800  Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -54,8 +54,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
 REGION_ALIAS ("REGION_DATA", RAM_INT);
 REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
</font> REGION_ALIAS ("REGION_BSS", RAM_INT);
 REGION_ALIAS ("REGION_WORK", RAM_INT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea:1.3 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea:1.4
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea:1.3  Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea      Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -47,8 +47,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_EXT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram:1.3 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram:1.4
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram:1.3     Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -47,8 +47,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM_EXT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM_EXT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext:1.3 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext:1.4
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext:1.3 Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext     Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -51,8 +51,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", ROM_EXT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", ROM_EXT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", ROM_BOOT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_BOOT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_BOOT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int:1.3 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int:1.4
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int:1.3 Fri Dec  3 03:56:48 2010
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int     Fri Dec  3 04:16:38 2010
</font><font color='#997700'>@@ -51,8 +51,10 @@
</font> REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
 REGION_ALIAS ("REGION_DATA", RAM_EXT);
 REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
<font color='#880000'>-REGION_ALIAS ("REGION_FAST", RAM_INT);
-REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
</font><font color='#000088'>+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
</font> REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_INT);
</pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * startup/bspgetworkarea.c: Removed file.
        * Makefile.am, bsp_specs, start/start.S, startup/bspstart.c,
        libnds/include/nds/jtypes.h, libnds/source/arm9/gurumeditation.c,
        libnds/source/common/interruptDispatcher.S,
        libnds/source/common/interrupts.c, startup/linkcmds: Use linker
        command base file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/ChangeLog.diff?r1=text&tr1=1.59&r2=text&tr2=1.60&diff_format=h">M</a></td><td width='1%'>1.60</td><td width='100%'>c/src/lib/libbsp/arm/nds/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/Makefile.am.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>c/src/lib/libbsp/arm/nds/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/bsp_specs.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/nds/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/start/start.S.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/nds/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/startup/bspgetworkarea.c?rev=1.3&content-type=text/vnd.viewcvs-markup">R</a></td><td width='1%'><font color="#880000">1.3</font></td><td width='100%'><font color="#880000">c/src/lib/libbsp/arm/nds/startup/bspgetworkarea.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/startup/bspstart.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/nds/startup/bspstart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/nds/startup/linkcmds.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/arm/nds/startup/linkcmds</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/ChangeLog:1.59 rtems/c/src/lib/libbsp/arm/nds/ChangeLog:1.60
--- rtems/c/src/lib/libbsp/arm/nds/ChangeLog:1.59       Thu May 20 08:00:19 2010
+++ rtems/c/src/lib/libbsp/arm/nds/ChangeLog    Fri Dec  3 04:49:49 2010
</font><font color='#997700'>@@ -1,3 +1,12 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * startup/bspgetworkarea.c: Removed file.
+       * Makefile.am, bsp_specs, start/start.S, startup/bspstart.c,
+       libnds/include/nds/jtypes.h, libnds/source/arm9/gurumeditation.c,
+       libnds/source/common/interruptDispatcher.S,
+       libnds/source/common/interrupts.c, startup/linkcmds: Use linker
+       command base file.
+
</font> 2010-05-20        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * make/dswifi/arm9/makefile: Workaround for GCC bug 38644.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/Makefile.am:1.18 rtems/c/src/lib/libbsp/arm/nds/Makefile.am:1.19
--- rtems/c/src/lib/libbsp/arm/nds/Makefile.am:1.18     Fri Apr 30 08:41:52 2010
+++ rtems/c/src/lib/libbsp/arm/nds/Makefile.am  Fri Dec  3 04:49:49 2010
</font><font color='#997700'>@@ -37,7 +37,7 @@
</font> noinst_PROGRAMS += startup.rel
 startup_rel_SOURCES = ../../shared/bsplibc.c ../../shared/bsppost.c \
     startup/bspstart.c ../../shared/bspclean.c startup/bspreset.c \
<font color='#880000'>-    startup/bspgetworkarea.c ../../shared/bsppredriverhook.c \
</font><font color='#000088'>+    ../../shared/bspgetworkarea.c ../../shared/bsppredriverhook.c \
</font>     ../../shared/bsppretaskinghook.c ../../shared/bootcard.c
 startup_rel_CPPFLAGS = $(AM_CPPFLAGS) -DARM9 -I$(srcdir)/libnds/include
 startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/bsp_specs:1.3 rtems/c/src/lib/libbsp/arm/nds/bsp_specs:1.4
--- rtems/c/src/lib/libbsp/arm/nds/bsp_specs:1.3        Fri Dec  5 07:37:47 2008
+++ rtems/c/src/lib/libbsp/arm/nds/bsp_specs    Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -7,8 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }
<font color='#880000'>-
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h:1.3 rtems/c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h:1.4
--- rtems/c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h:1.3      Wed Aug 27 16:38:42 2008
+++ rtems/c/src/lib/libbsp/arm/nds/libnds/include/nds/jtypes.h  Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -38,9 +38,9 @@
</font> //---------------------------------------------------------------------------------
 // libgba compatible section macros
 //---------------------------------------------------------------------------------
<font color='#880000'>-#define ITCM_CODE  __attribute__((section(".itcm"), long_call))
</font><font color='#000088'>+#define ITCM_CODE     __attribute__((section(".bsp_fast_text"), long_call))
</font> 
<font color='#880000'>-#define DTCM_DATA  __attribute__((section(".dtcm")))
</font><font color='#000088'>+#define DTCM_DATA     __attribute__((section(".bsp_fast_data")))
</font> #define DTCM_BSS  __attribute__((section(".sbss")))
 #define ALIGN(m)       __attribute__((aligned (m)))
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c:1.4 rtems/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c:1.5
--- rtems/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c:1.4      Sun Nov 29 08:53:01 2009
+++ rtems/c/src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c  Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -34,6 +34,8 @@
</font> #include <stdio.h>
 #include <inttypes.h>
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> //---------------------------------------------------------------------------------
 unsigned long ARMShift(unsigned long value,unsigned char shift) {
 //---------------------------------------------------------------------------------
<font color='#997700'>@@ -205,7 +207,6 @@
</font>   {       "r0","r1","r2","r3","r4","r5","r6","r7",
                "r8 ","r9 ","r10","r11","r12","sp ","lr ","pc " };
 
<font color='#880000'>-extern const char __itcm_start[];
</font> //---------------------------------------------------------------------------------
 static void defaultHandler(void) {
 //---------------------------------------------------------------------------------
<font color='#997700'>@@ -232,7 +233,7 @@
</font>           iprintf ("\x1b[10Cdata abort!\n\n");
                codeAddress = exceptionRegisters[15] - offset;
                if (    (codeAddress > 0x02000000 && codeAddress < 0x02400000) ||
<font color='#880000'>-                           (codeAddress > (u32)__itcm_start && codeAddress < (u32)(__itcm_start + 32768)) )
</font><font color='#000088'>+                              (codeAddress > (u32)bsp_section_fast_text_begin && codeAddress < (u32)(bsp_section_fast_text_begin + 32768)) )
</font>                   exceptionAddress = getExceptionAddress( codeAddress, thumbState);
                else
                        exceptionAddress = codeAddress;

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S:1.4 rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S:1.5
--- rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S:1.4       Sun Nov 29 22:14:38 2009
+++ rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S   Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -28,7 +28,7 @@
</font> #endif
 
 #ifdef ARM9
<font color='#880000'>-   .section        .itcm,"ax",%progbits
</font><font color='#000088'>+      .section        .bsp_fast_text,"ax",%progbits
</font> #endif
 
        .extern irqTable

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c:1.4 rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c:1.5
--- rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c:1.4        Sun Nov 29 22:14:38 2009
+++ rtems/c/src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c    Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -34,7 +34,7 @@
</font> 
 
 #ifdef ARM9
<font color='#880000'>-#define INT_TABLE_SECTION __attribute__((section(".itcm")))
</font><font color='#000088'>+#define INT_TABLE_SECTION __attribute__((section(".bsp_fast_text")))
</font> #else
 #define INT_TABLE_SECTION
 #endif

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/start/start.S:1.4 rtems/c/src/lib/libbsp/arm/nds/start/start.S:1.5
--- rtems/c/src/lib/libbsp/arm/nds/start/start.S:1.4    Wed Apr  7 16:49:56 2010
+++ rtems/c/src/lib/libbsp/arm/nds/start/start.S        Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -1,3 +1,5 @@
</font><font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> @---------------------------------------------------------------------------------
 @ DS processor selection
 @---------------------------------------------------------------------------------
<font color='#997700'>@@ -73,9 +75,9 @@
</font>   @ Wait for write buffer to empty
        mcr     p15, 0, r0, c7, c10, 4
 
<font color='#880000'>-   ldr     r0, =__dtcm_start
</font><font color='#000088'>+      ldr     r0, =bsp_section_fast_data_begin
</font>   orr     r0,r0,#0x0a
<font color='#880000'>-   mcr     p15, 0, r0, c9, c1,0            @ DTCM base = __dtcm_start, size = 16 KB
</font><font color='#000088'>+      mcr     p15, 0, r0, c9, c1,0            @ DTCM base = bsp_section_fast_data_begin, size = 16 KB
</font> 
        mov r0,#0x20
        mcr     p15, 0, r0, c9, c1,1            @ ITCM base = 0 , size = 32 MB
<font color='#997700'>@@ -111,14 +113,14 @@
</font>   @-------------------------------------------------------------------------
        @ Region 4 - DTCM
        @-------------------------------------------------------------------------
<font color='#880000'>-   ldr     r0,=__dtcm_start
</font><font color='#000088'>+      ldr     r0,=bsp_section_fast_data_begin
</font>   orr     r0,r0,#(PAGE_16K | 1)
        mcr     p15, 0, r0, c6, c4, 0
 
        @-------------------------------------------------------------------------
        @ Region 5 - ITCM
        @-------------------------------------------------------------------------
<font color='#880000'>-   ldr     r0,=__itcm_start
</font><font color='#000088'>+      ldr     r0,=bsp_section_fast_text_begin
</font>   orr     r0,r0,#(PAGE_32K | 1)
        mcr     p15, 0, r0, c6, c5, 0
 
<font color='#997700'>@@ -169,24 +171,24 @@
</font> 
        mov     r0, #0x12               @ Switch to IRQ Mode
        msr     cpsr, r0
<font color='#880000'>-   ldr     sp, =__sp_irq           @ Set IRQ stack
</font><font color='#000088'>+      ldr     sp, =bsp_stack_irq_end  @ Set IRQ stack
</font> 
        mov     r0, #0x1f               @ Switch to SVC Mode
        msr     cpsr, r0
<font color='#880000'>-   ldr     sp, =__sp_usr           @ Set user stack
</font><font color='#000088'>+      ldr     sp, =bsp_stack_svc_end  @ Set user stack
</font> 
<font color='#880000'>-   ldr     r1, =__itcm_lma         @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA (ROM to RAM)
-       ldr     r2, =__itcm_start
-       ldr     r4, =__itcm_end
</font><font color='#000088'>+      ldr     r1, =bsp_section_fast_text_load_begin   @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA (ROM to RAM)
+       ldr     r2, =bsp_section_fast_text_begin
+       ldr     r4, =bsp_section_fast_text_end
</font>   bl      CopyMemCheck
 
<font color='#880000'>-   ldr     r1, =__dtcm_lma         @ Copy data tightly coupled memory (dtcm section) from LMA to VMA (ROM to RAM)
-       ldr     r2, =__dtcm_start
-       ldr     r4, =__dtcm_end
</font><font color='#000088'>+      ldr     r1, =bsp_section_fast_data_load_begin   @ Copy data tightly coupled memory (dtcm section) from LMA to VMA (ROM to RAM)
+       ldr     r2, =bsp_section_fast_data_begin
+       ldr     r4, =bsp_section_fast_data_end
</font>   bl      CopyMemCheck
 
<font color='#880000'>-   ldr     r0, =__bss_start        @ Clear BSS section
-       ldr     r1, =__bss_end
</font><font color='#000088'>+      ldr     r0, =bsp_section_bss_begin      @ Clear BSS section
+       ldr     r1, =bsp_section_bss_end
</font>   sub     r1, r1, r0
        bl      ClearMem
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/startup/bspstart.c:1.4 rtems/c/src/lib/libbsp/arm/nds/startup/bspstart.c:1.5
--- rtems/c/src/lib/libbsp/arm/nds/startup/bspstart.c:1.4       Sun Apr 25 20:30:08 2010
+++ rtems/c/src/lib/libbsp/arm/nds/startup/bspstart.c   Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -13,6 +13,7 @@
</font> 
 #include <bsp.h>
 #include <bsp/bootcard.h>
<font color='#000088'>+#include <bsp/linker-symbols.h>
</font> #include <nds.h>
 
 extern void BSP_rtems_irq_mngt_init (void);
<font color='#997700'>@@ -50,14 +51,11 @@
</font>  * reset bss area.
  */
 
<font color='#880000'>-extern uint8_t __bss_start;
-extern uint8_t __bss_end;
-
</font> void
 bss_reset (void)
 {
 
<font color='#880000'>-  memset (&__bss_start, 0, (uint32_t) & __bss_end - (uint32_t) & __bss_start);
</font><font color='#000088'>+  memset (bsp_section_bss_begin, 0, (size_t) bsp_section_bss_size);
</font> }
 
 /*

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/nds/startup/linkcmds:1.1 rtems/c/src/lib/libbsp/arm/nds/startup/linkcmds:1.2
--- rtems/c/src/lib/libbsp/arm/nds/startup/linkcmds:1.1 Wed Apr 16 13:37:33 2008
+++ rtems/c/src/lib/libbsp/arm/nds/startup/linkcmds     Fri Dec  3 04:49:50 2010
</font><font color='#997700'>@@ -1,246 +1,39 @@
</font><font color='#880000'>-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
</font> MEMORY {
<font color='#880000'>-
-       rom     : ORIGIN = 0x08000000, LENGTH = 32M
-       ewram   : ORIGIN = 0x02000000, LENGTH = 4M - 4k
-       dtcm    : ORIGIN = 0x0b000000, LENGTH = 16K
-       itcm    : ORIGIN = 0x01000000, LENGTH = 32K
</font><font color='#000088'>+      ROM : ORIGIN = 0x08000000, LENGTH = 32M
+       EWRAM : ORIGIN = 0x02000000, LENGTH = 4M - 4k
+       DTCM : ORIGIN = 0x0b000000, LENGTH = 16k
+       ITCM : ORIGIN = 0x01000000, LENGTH = 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-__itcm_start       =       ORIGIN(itcm);
-__ewram_end    =       ORIGIN(ewram) + LENGTH(ewram);
-__eheap_end    =       ORIGIN(ewram) + LENGTH(ewram);
-__dtcm_start   =       ORIGIN(dtcm);
-__dtcm_top     =       ORIGIN(dtcm) + LENGTH(dtcm);
-__irq_flags    =       __dtcm_top - 0x08;
-__irq_vector   =       __dtcm_top - 0x04;
-
-__sp_svc       =       __dtcm_top - 0x100;
-__sp_irq       =       __sp_svc - 0x100;
-__sp_usr       =       __sp_irq - 0x100;
-
-SECTIONS
-{
-       .init   :
-       {
-               __text_start = . ;
-               KEEP (*(.init))
-               . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-               } >ewram = 0xff
-
-       .plt : { *(.plt) } >ewram = 0xff
-
-       .text :   /* ALIGN (4): */
-       {
-               *(EXCLUDE_FILE (*.itcm*) .text)
-
-               *(.text.*)
-               *(.stub)
-               /* .gnu.warning sections are handled specially by elf32.em.  */
-               *(.gnu.warning)
-               *(.gnu.linkonce.t*)
-               *(.glue_7)
-               *(.glue_7t)
-
-                   /*
-                    * Special FreeBSD sysctl sections.
-                    */
-                   . = ALIGN (16);
-                   __start_set_sysctl_set = .;
-                   *(set_sysctl_*);
-                   __stop_set_sysctl_set = ABSOLUTE(.);
-                   *(set_domain_*);
-                   *(set_pseudo_*);
-
-               . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-       .fini           :
-       {
-               KEEP (*(.fini))
-       } >ewram =0xff
-
-       __text_end = . ;
-
-       .rodata :
-       {
-               *(.rodata)
-               *all.rodata*(*)
-               *(.roda)
-               *(.rodata.*)
-               *(.gnu.linkonce.r*)
-               SORT(CONSTRUCTORS)
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ewram
-   __exidx_start = .;
-  .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ewram
-   __exidx_end = .;
-  /* Ensure the __preinit_array_start label is properly aligned.  We
-     could instead move the label definition inside the section, but
-     the linker would then create the section even if it turns out to
-     be empty, which isn't pretty.  */
-  . = ALIGN(32 / 8);
-  PROVIDE (__preinit_array_start = .);
-  .preinit_array     : { KEEP (*(.preinit_array)) } >ewram = 0xff
-  PROVIDE (__preinit_array_end = .);
-  PROVIDE (__init_array_start = .);
-  .init_array     : { KEEP (*(.init_array)) } >ewram = 0xff
-  PROVIDE (__init_array_end = .);
-  PROVIDE (__fini_array_start = .);
-  .fini_array     : { KEEP (*(.fini_array)) } >ewram = 0xff
-  PROVIDE (__fini_array_end = .);
-
-       .ctors :
-       {
-       /* gcc uses crtbegin.o to find the start of the constructors, so
-               we make sure it is first.  Because this is a wildcard, it
-               doesn't matter if the user does not actually link against
-               crtbegin.o; the linker won't look for a file to match a
-               wildcard.  The wildcard also means that it doesn't matter which
-               directory crtbegin.o is in.  */
-               KEEP (*crtbegin.o(.ctors))
-               KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-               KEEP (*(SORT(.ctors.*)))
-               KEEP (*(.ctors))
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-       .dtors :
-       {
-               KEEP (*crtbegin.o(.dtors))
-               KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-               KEEP (*(SORT(.dtors.*)))
-               KEEP (*(.dtors))
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-       .eh_frame :
-       {
-               KEEP (*(.eh_frame))
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-       .gcc_except_table :
-       {
-               *(.gcc_except_table)
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-       .jcr            : { KEEP (*(.jcr)) } >ewram = 0
-       .got            : { *(.got.plt) *(.got) *(.rel.got) } >ewram = 0
-
-       .ewram ALIGN(4) :
-       {
-               __ewram_start = ABSOLUTE(.) ;
-               *(.ewram)
-               *ewram.*(.text)
-               . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-       } >ewram = 0xff
-
-
-       .data ALIGN(4) :
-       {
-               __data_start = ABSOLUTE(.);
-               *(.data)
-               *(.data.*)
-               *(.gnu.linkonce.d*)
-               CONSTRUCTORS
-               . = ALIGN(4);
-               __data_end = ABSOLUTE(.) ;
-       } >ewram = 0xff
-
-
-       __dtcm_lma = . ;
-
-       .dtcm __dtcm_start : AT (__dtcm_lma)
-       {
-               *(.dtcm)
-               *(.dtcm.*)
-               . = ALIGN(4);
-               __dtcm_end = ABSOLUTE(.);
-       } >dtcm = 0xff
-
-
-       __itcm_lma = __dtcm_lma + SIZEOF(.dtcm);
-
-       .itcm __itcm_start : AT (__itcm_lma)
-       {
-               *(.itcm)
-               *itcm.*(.text)
-               . = ALIGN(4);
-               __itcm_end = ABSOLUTE(.);
-       } >itcm = 0xff
-
-       .sbss __dtcm_end :
-       {
-               __sbss_start = ABSOLUTE(.);
-               __sbss_start__ = ABSOLUTE(.);
-               *(.sbss)
-               . = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
-               __sbss_end = ABSOLUTE(.);
-       } >dtcm
-
-
-
-       __bss_lma = __itcm_lma + SIZEOF(.itcm) ;
-       __appended_data = __itcm_lma + SIZEOF(.itcm) ;
-       .bss __bss_lma : AT (__bss_lma)
-       {
-               __bss_start = ABSOLUTE(.);
-               __bss_start__ = ABSOLUTE(.);
-               *(.dynbss)
-               *(.gnu.linkonce.b*)
-               *(.bss*)
-               *(COMMON)
-               . = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
-               __bss_end = ABSOLUTE(.) ;
-               __bss_end__ = __bss_end ;
-       } >ewram
-
-
-       _end = . ;
-       __end__ = . ;
-       PROVIDE (end = _end);
-
-
-
-       /* Stabs debugging sections.  */
-       .stab 0 : { *(.stab) }
-       .stabstr 0 : { *(.stabstr) }
-       .stab.excl 0 : { *(.stab.excl) }
-       .stab.exclstr 0 : { *(.stab.exclstr) }
-       .stab.index 0 : { *(.stab.index) }
-       .stab.indexstr 0 : { *(.stab.indexstr) }
-       .comment 0 : { *(.comment) }
-       /*      DWARF debug sections.
-               Symbols in the DWARF debugging sections are relative to the beginning
-               of the section so we begin them at 0.  */
-       /* DWARF 1 */
-       .debug          0 : { *(.debug) }
-       .line           0 : { *(.line) }
-       /* GNU DWARF 1 extensions */
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }
-       .debug_sfnames  0 : { *(.debug_sfnames) }
-       /* DWARF 1.1 and DWARF 2 */
-       .debug_aranges  0 : { *(.debug_aranges) }
-       .debug_pubnames 0 : { *(.debug_pubnames) }
-       /* DWARF 2 */
-       .debug_info     0 : { *(.debug_info) }
-       .debug_abbrev   0 : { *(.debug_abbrev) }
-       .debug_line     0 : { *(.debug_line) }
-       .debug_frame    0 : { *(.debug_frame) }
-       .debug_str      0 : { *(.debug_str) }
-       .debug_loc      0 : { *(.debug_loc) }
-       .debug_macinfo  0 : { *(.debug_macinfo) }
-       /* SGI/MIPS DWARF 2 extensions */
-       .debug_weaknames 0 : { *(.debug_weaknames) }
-       .debug_funcnames 0 : { *(.debug_funcnames) }
-       .debug_typenames 0 : { *(.debug_typenames) }
-       .debug_varnames  0 : { *(.debug_varnames) }
-       .stack 0x80000 : { _stack = .; *(.stack) }
-       /* These must appear regardless of  .  */
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", EWRAM);
+REGION_ALIAS ("REGION_VECTOR", DTCM);
+REGION_ALIAS ("REGION_TEXT", EWRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", EWRAM);
+REGION_ALIAS ("REGION_RODATA", EWRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", EWRAM);
+REGION_ALIAS ("REGION_DATA", EWRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", EWRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", ITCM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", EWRAM);
+REGION_ALIAS ("REGION_FAST_DATA", DTCM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", EWRAM);
+REGION_ALIAS ("REGION_BSS", EWRAM);
+REGION_ALIAS ("REGION_WORK", EWRAM);
+REGION_ALIAS ("REGION_STACK", EWRAM);
+
+__dtcm_top = ORIGIN (DTCM) + LENGTH (DTCM);
+__irq_flags = __dtcm_top - 0x08;
+__irq_vector = __dtcm_top - 0x04;
+
+SECTIONS {
+        .sbss : {
+                __sbss_start = ABSOLUTE(.);
+                __sbss_start__ = ABSOLUTE(.);
+                *(.sbss)
+                . = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
+                __sbss_end = ABSOLUTE(.);
+        } > DTCM
</font> }
<font color='#000088'>+
+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs4'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * startup/linkcmds, start/start.S: Use linker command base file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog.diff?r1=text&tr1=1.53&r2=text&tr2=1.54&diff_format=h">M</a></td><td width='1%'>1.54</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/start/start.S.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.53 rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.54
--- rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.53   Thu May 20 08:00:38 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog        Fri Dec  3 04:50:28 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * startup/linkcmds, start/start.S: Use linker command base file.
+
</font> 2010-05-20        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * make/custom/rtl22xx_t.cfg: Workaround for GCC bug 38644.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/start/start.S:1.7 rtems/c/src/lib/libbsp/arm/rtl22xx/start/start.S:1.8
--- rtems/c/src/lib/libbsp/arm/rtl22xx/start/start.S:1.7        Wed Apr  7 16:49:20 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/start/start.S    Fri Dec  3 04:50:28 2010
</font><font color='#997700'>@@ -12,7 +12,7 @@
</font>  *  $Id$
 */
 
<font color='#880000'>-/* Some standard definitions...*/
</font><font color='#000088'>+#include <bsp/linker-symbols.h>
</font> 
 /* Some standard definitions...*/
 .equ PSR_MODE_USR,       0x10
<font color='#997700'>@@ -44,16 +44,16 @@
</font>         mov     r0, #(PSR_MODE_IRQ | PSR_I | PSR_F)     /* No interrupts */
         bic    r0, r0, #PSR_T
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_irq_stack_size
-        ldr     sp, =_irq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_irq_size
+        ldr     sp, =bsp_stack_irq_begin
</font>         add     sp, sp, r1
 
         /* Enter FIQ mode and set up the FIQ stack pointer */
         mov     r0, #(PSR_MODE_FIQ | PSR_I | PSR_F)     /* No interrupts */
         bic    r0, r0, #PSR_T
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_fiq_stack_size
-        ldr     sp, =_fiq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_fiq_size
+        ldr     sp, =bsp_stack_fiq_begin
</font>         add     sp, sp, r1
 
         /* Enter ABT mode and set up the ABT stack pointer */
<font color='#997700'>@@ -61,16 +61,16 @@
</font>         bic       r0, r0, #PSR_T
         msr     cpsr, r0
         bic    r0, r0, #PSR_T
<font color='#880000'>-        ldr     r1, =_abt_stack_size
-        ldr     sp, =_abt_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_abt_size
+        ldr     sp, =bsp_stack_abt_begin
</font>         add     sp, sp, r1
 
         /* Set up the SVC stack pointer last and stay in SVC mode */
         mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
         bic    r0, r0, #PSR_T
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_svc_stack_size
-        ldr     sp, =_svc_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_svc_size
+        ldr     sp, =bsp_stack_svc_begin
</font>         add     sp, sp, r1
         sub     sp, sp, #0x64
 
<font color='#997700'>@@ -89,8 +89,8 @@
</font> 
 
         /* zero the bss */
<font color='#880000'>-        ldr     r1, =_bss_end_
-        ldr     r0, =_bss_start_
</font><font color='#000088'>+        ldr     r1, =bsp_section_bss_end
+        ldr     r0, =bsp_section_bss_begin
</font> 
 _bss_init:
         mov     r2, #0

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds:1.5 rtems/c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds:1.6
--- rtems/c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds:1.5     Fri Sep 19 16:14:01 2008
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/startup/linkcmds Fri Dec  3 04:50:28 2010
</font><font color='#997700'>@@ -1,245 +1,23 @@
</font><font color='#880000'>-/*
- * Philips lpc ARM linker script
- * By Ray,Xu
- * Rayx.cn@gmail.com
- *<span style="background-color: #FF0000">     </span>
- *  LPC22xx ARM do not have a MMU, the formatter got 512kb SRAM
- *  I set the code entry to the beging of SRAM for debugging perpurse
- *<span style="background-color: #FF0000">     </span>
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *
- *  $Id$
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0x81000000, LENGTH = 512K
-       sram : ORIGIN = 0x40000000, LENGTH = 16K
-       regs  : ORIGIN = 0xe0000000, LENGTH = 2M
</font><font color='#000088'>+      SDRAM : ORIGIN = 0x81000000, LENGTH = 512k
+       SRAM : ORIGIN = 0x40000000, LENGTH = 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x81000000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 512K;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x100;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x50;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x50;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x100;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    _sram_base = .;
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-
-
-    rtems_vector_table = .;
-    . += (8 * 4);                     /* 8 ARM interrupts */
-<span style="background-color: #FF0000">       </span>
-    /*bsp_vector_table = .;*/
-     /*. += (64 * 4);                    64 LPC22xx interrupts */
-
-    . = ALIGN (0x10);
-
-  } > sram
-
-
-  .text      :
-  {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
-
-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-  } > sdram<span style="background-color: #FF0000">  </span>
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    KEEP (*(.init))
-  } > sdram   /*=0*/
-
-  .fini      :
-  {
-    KEEP (*(.fini))
-  } > sdram  /*=0*/
-
-  .data :
-  {<span style="background-color: #FF0000"> </span>
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    *(.jcr)
-    SORT(CONSTRUCTORS)
-    _edata = .;
-  } > sdram<span style="background-color: #FF0000"> </span>
-
-  .eh_frame : { *(.eh_frame) } > sdram
-  .data1   : { *(.data1) } > sdram
-  .eh_frame : { *(.eh_frame) } > sdram
-  .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-  .rodata :
-  {
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-  } > sdram
-
-  .bss       :
-  {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(0x10);
-       _clear_end = .;
-
-       . = ALIGN (0x10);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (0x10);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (0x10);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (0x10);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-       . = ALIGN (0x10);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-  } > sdram
-
-/*
-  .regs        :
-  {
-       lpc22xx_regs_base = .;
-       lpc22xx_regs = .;
-       . += 8192;
-  } > regs
-*/
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs5'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * start/start.S, startup/linkcmds: Use linker command base file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/ChangeLog.diff?r1=text&tr1=1.61&r2=text&tr2=1.62&diff_format=h">M</a></td><td width='1%'>1.62</td><td width='100%'>c/src/lib/libbsp/arm/gp32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/start/start.S.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/gp32/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/startup/linkcmds.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/gp32/startup/linkcmds</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.61 rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.62
--- rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.61      Fri Apr 30 09:30:09 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/ChangeLog   Fri Dec  3 04:50:51 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * start/start.S, startup/linkcmds: Use linker command base file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * Makefile.am, preinstall.am: Added generic interrupt support modules.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/start/start.S:1.5 rtems/c/src/lib/libbsp/arm/gp32/start/start.S:1.6
--- rtems/c/src/lib/libbsp/arm/gp32/start/start.S:1.5   Wed Apr  7 16:49:51 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/start/start.S       Fri Dec  3 04:50:51 2010
</font><font color='#997700'>@@ -11,6 +11,8 @@
</font>  *  $Id$
  */
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> /* Some standard definitions...*/
 .equ PSR_MODE_USR,       0x10
 .equ PSR_MODE_FIQ,       0x11
<font color='#997700'>@@ -32,12 +34,12 @@
</font> @---------------------------------------------------------------------------------
 @ AXF addresses
 @---------------------------------------------------------------------------------
<font color='#880000'>-   .word   _axf_text_start
-       .word   _axf_ro_end
-       .word   _axf_data_start
-       .word   _axf_bss_end
-       .word   _axf_bss_start
-       .word   _axf_bss_end
</font><font color='#000088'>+      .word   bsp_section_text_begin
+       .word   bsp_section_rodata_end
+       .word   bsp_section_data_begin
+       .word   bsp_section_bss_end
+       .word   bsp_section_bss_begin
+       .word   bsp_section_bss_end
</font> 
 @---------------------------------------------------------------------------------
 @ GamePark magic sequence
<font color='#997700'>@@ -77,29 +79,29 @@
</font>         /* Enter IRQ mode and set up the IRQ stack pointer */
         mov     r0, #(PSR_MODE_IRQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_irq_stack_size
-        ldr     sp, =_irq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_irq_size
+        ldr     sp, =bsp_stack_irq_begin
</font>         add     sp, sp, r1
 
         /* Enter FIQ mode and set up the FIQ stack pointer */
         mov     r0, #(PSR_MODE_FIQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_fiq_stack_size
-        ldr     sp, =_fiq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_fiq_size
+        ldr     sp, =bsp_stack_fiq_begin
</font>         add     sp, sp, r1
 
         /* Enter ABT mode and set up the ABT stack pointer */
         mov     r0, #(PSR_MODE_ABT | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_abt_stack_size
-        ldr     sp, =_abt_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_abt_size
+        ldr     sp, =bsp_stack_abt_begin
</font>         add     sp, sp, r1
 
         /* Set up the SVC stack pointer last and stay in SVC mode */
         mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_svc_stack_size
-        ldr     sp, =_svc_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_svc_size
+        ldr     sp, =bsp_stack_svc_begin
</font>         add     sp, sp, r1
         sub     sp, sp, #0x64
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/startup/linkcmds:1.4 rtems/c/src/lib/libbsp/arm/gp32/startup/linkcmds:1.5
--- rtems/c/src/lib/libbsp/arm/gp32/startup/linkcmds:1.4        Fri Sep 19 16:13:59 2008
+++ rtems/c/src/lib/libbsp/arm/gp32/startup/linkcmds    Fri Dec  3 04:50:52 2010
</font><font color='#997700'>@@ -1,279 +1,25 @@
</font><font color='#880000'>-/*
- *  GP32 Linker script
- *
- *  Written by Philippe Simons <loki_666@fastmail.fm>
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-/* SEARCH_DIR(/usr/local/rtems-arm-dev-tools/arm-rtems/lib); */
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0xc000000, LENGTH = 7M
</font><font color='#000088'>+      SDRAM_MMU : ORIGIN = 0x0c000000, LENGTH = 16k
+       SDRAM : ORIGIN = 0x0c004000, LENGTH = 7M - 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-/* The base for SDRAM is set to umon's APPRAMBASE */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0xc000000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 7M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-                             /* FIXME: */
-
-    rtems_vector_table = .;
-    . += (8 * 4);                     /* 8 ARM interrupts */
-<span style="background-color: #FF0000">       </span>
-    bsp_vector_table = .;
-    . += (32 * 4);                    /* 32 S3C2400 interrupts */
-
-    . = ALIGN (0x100);
-
-
-  } > sdram
-
-
-  .text      :
-  {
-    _axf_text_start = . ;
-    *(EXCLUDE_FILE (*text.iwram*) .text)
-    *(.text.*)
-    *(.stub)
-
-    /*
-     * Special FreeBSD sysctl sections.
-     */
-    . = ALIGN (16);
-    __start_set_sysctl_set = .;
-    *(set_sysctl_*);
-    __stop_set_sysctl_set = ABSOLUTE(.);
-    *(set_domain_*);
-    *(set_pseudo_*);
-
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-    *(.gnu.linkonce.t*)
-    *(.glue_7)
-    *(.glue_7t)
-
-    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-  } > sdram
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SDRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-  __text_end = . ;
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    *(.init)
-  } > sdram   /*=0*/
-
-  .jcr :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    *(.jcr)<span style="background-color: #FF0000"> </span>
-  } > sdram
-
-
-  .fini      :
-  {
-    *(.fini)
-  } > sdram  /*=0*/
-
-  .rodata :
-  {
-    *(.rodata)
-    *all.rodata*(*)
-    *(.roda)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-    SORT(CONSTRUCTORS)
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } > sdram = 0xff
-
-  .ctors :
-  {
-    /* gcc uses crtbegin.o to find the start of the constructors, so
-       we make sure it is first.  Because this is a wildcard, it
-       doesn't matter if the user does not actually link against
-       crtbegin.o; the linker won't look for a file to match a
-       wildcard.  The wildcard also means that it doesn't matter which
-       directory crtbegin.o is in.  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-  .dtors :
-  {
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-
-  .eh_frame :
-  {
-    KEEP (*(.eh_frame))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-  .gcc_except_table :
-  {
-    *(.gcc_except_table*)
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-  _axf_ro_end = . ;
-
-  .data ALIGN(4) :
-  {
-    _axf_data_start = ABSOLUTE(.);
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    CONSTRUCTORS
-    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0xff
-
-  __data_end  =  . ;
-
-  .bss ALIGN(4):
-  {
-       _axf_bss_start = ABSOLUTE(.);
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we
- * don't have any. If we don't use more regions than TLB entries (64),
- * the lookup will only happen once for each region.
- */
-       . = ALIGN (16 * 1024);
-       _ttbl_base = .;
-       . += (16 * 1024);
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-  } > sdram
-  _axf_bss_end = . ;
-
-  _end = . ;
-  __end__ = . ;
-  PROVIDE (end = _end);
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs6'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * startup/linkcmds: Use linker command base file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/ChangeLog.diff?r1=text&tr1=1.66&r2=text&tr2=1.67&diff_format=h">M</a></td><td width='1%'>1.67</td><td width='100%'>c/src/lib/libbsp/arm/gba/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/startup/linkcmds.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/gba/startup/linkcmds</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog.diff?r1=text&tr1=1.29&r2=text&tr2=1.30&diff_format=h">M</a></td><td width='1%'>1.30</td><td width='100%'>c/src/lib/libbsp/arm/smdk2410/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/smdk2410/startup/linkcmds.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/smdk2410/startup/linkcmds</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.66 rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.67
--- rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.66       Fri Apr 30 09:55:49 2010
+++ rtems/c/src/lib/libbsp/arm/gba/ChangeLog    Fri Dec  3 04:51:22 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * startup/linkcmds: Use linker command base file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * irq/irq_asm.S, irq/irq_init.c, irq/bsp_irq_asm.S,

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/startup/linkcmds:1.2 rtems/c/src/lib/libbsp/arm/gba/startup/linkcmds:1.3
--- rtems/c/src/lib/libbsp/arm/gba/startup/linkcmds:1.2 Mon Mar  3 17:05:31 2008
+++ rtems/c/src/lib/libbsp/arm/gba/startup/linkcmds     Fri Dec  3 04:51:22 2010
</font><font color='#997700'>@@ -192,6 +192,32 @@
</font>     . = ALIGN(4);
   } =0xFF
 
<font color='#000088'>+  .ARM.extab : {
+    *(.ARM.extab* .gnu.linkonce.armextab.*)
+  } =0xff
+   __exidx_start = .;
+  .ARM.exidx : {
+    *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+  } =0xff
+   __exidx_end = .;
+  .preinit_array : {
+    PROVIDE_HIDDEN (__preinit_array_start = .);
+    KEEP (*(.preinit_array))
+    PROVIDE_HIDDEN (__preinit_array_end = .);
+  } =0xFF
+  .init_array : {
+     PROVIDE_HIDDEN (__init_array_start = .);
+     KEEP (*(SORT(.init_array.*)))
+     KEEP (*(.init_array))
+     PROVIDE_HIDDEN (__init_array_end = .);
+  } =0xFF
+  .fini_array : {
+    PROVIDE_HIDDEN (__fini_array_start = .);
+    KEEP (*(.fini_array))
+    KEEP (*(SORT(.fini_array.*)))
+    PROVIDE_HIDDEN (__fini_array_end = .);
+  } =0xFF
+
</font> /*************************************************************************
   calculate __ro_end
  *************************************************************************/
<font color='#997700'>@@ -205,7 +231,12 @@
</font>   SIZEOF(.gcc_except_table) +
        SIZEOF(.ctors) +
        SIZEOF(.dtors) +
<font color='#880000'>-   SIZEOF(.jcr);
</font><font color='#000088'>+      SIZEOF(.jcr) +
+       SIZEOF(.ARM.extab) +
+       SIZEOF(.ARM.exidx) +
+       SIZEOF(.preinit_array) +
+       SIZEOF(.init_array) +
+       SIZEOF(.fini_array);
</font>   PROVIDE(__text_end__ = __ro_end );
 
 /*** IWRAM ***/
<font color='#997700'>@@ -344,5 +375,11 @@
</font>   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
<font color='#000088'>+  /* DWARF 3 */
+  .debug_pubtypes 0 : { *(.debug_pubtypes) }
+  .debug_ranges   0 : { *(.debug_ranges) }
+  .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }
+  .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
+  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
</font> }
 /* @endcond */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.29 rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.30
--- rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.29  Fri Apr 30 08:54:07 2010
+++ rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog       Fri Dec  3 04:50:06 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * startup/linkcmds: Use linker command base file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * Makefile.am, preinstall.am: Added generic interrupt support modules.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/smdk2410/startup/linkcmds:1.4 rtems/c/src/lib/libbsp/arm/smdk2410/startup/linkcmds:1.5
--- rtems/c/src/lib/libbsp/arm/smdk2410/startup/linkcmds:1.4    Sun Sep 21 15:47:47 2008
+++ rtems/c/src/lib/libbsp/arm/smdk2410/startup/linkcmds        Fri Dec  3 04:50:06 2010
</font><font color='#997700'>@@ -1,279 +1,25 @@
</font><font color='#880000'>-/*
- *  GP32 Linker script
- *
- *  Written by Philippe Simons <loki_666@fastmail.fm>
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-/* SEARCH_DIR(/usr/local/rtems-arm-dev-tools/arm-rtems/lib); */
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0x30000000, LENGTH = 64M
</font><font color='#000088'>+      SDRAM_MMU : ORIGIN = 0x30000000, LENGTH = 16k
+       SDRAM : ORIGIN = 0x30004000, LENGTH = 64M - 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-/* The base for SDRAM is set to umon's APPRAMBASE */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x30000000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 64M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-                             /* FIXME: */
-
-    rtems_vector_table = .;
-    . += (8 * 4);                     /* 8 ARM interrupts */
-<span style="background-color: #FF0000">       </span>
-    bsp_vector_table = .;
-    . += (32 * 4);                    /* 32 S3C2400 interrupts */
-
-    . = ALIGN (0x100);
-
-
-  } > sdram
-
-
-  .text      :
-  {
-    _axf_text_start = . ;
-    *(EXCLUDE_FILE (*text.iwram*) .text)
-    *(.text.*)
-    *(.stub)
-
-    /*
-     * Special FreeBSD sysctl sections.
-     */
-    . = ALIGN (16);
-    __start_set_sysctl_set = .;
-    *(set_sysctl_*);
-    __stop_set_sysctl_set = ABSOLUTE(.);
-    *(set_domain_*);
-    *(set_pseudo_*);
-
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-    *(.gnu.linkonce.t*)
-    *(.glue_7)
-    *(.glue_7t)
-
-    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-  } > sdram
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SDRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-  __text_end = . ;
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    *(.init)
-  } > sdram   /*=0*/
-
-  .jcr :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    *(.jcr)<span style="background-color: #FF0000"> </span>
-  } > sdram
-
-
-  .fini      :
-  {
-    *(.fini)
-  } > sdram  /*=0*/
-
-  .rodata :
-  {
-    *(.rodata)
-    *all.rodata*(*)
-    *(.roda)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-    SORT(CONSTRUCTORS)
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } > sdram = 0xff
-
-  .ctors :
-  {
-    /* gcc uses crtbegin.o to find the start of the constructors, so
-       we make sure it is first.  Because this is a wildcard, it
-       doesn't matter if the user does not actually link against
-       crtbegin.o; the linker won't look for a file to match a
-       wildcard.  The wildcard also means that it doesn't matter which
-       directory crtbegin.o is in.  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-  .dtors :
-  {
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-
-  .eh_frame :
-  {
-    KEEP (*(.eh_frame))
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-
-  .gcc_except_table :
-  {
-    *(.gcc_except_table)
-    . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0
-  _axf_ro_end = . ;
-
-  .data ALIGN(4) :
-  {
-    _axf_data_start = ABSOLUTE(.);
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    CONSTRUCTORS
-    . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
-  } >sdram = 0xff
-
-  __data_end  =  . ;
-
-  .bss ALIGN(4):
-  {
-       _axf_bss_start = ABSOLUTE(.);
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we
- * don't have any. If we don't use more regions than TLB entries (64),
- * the lookup will only happen once for each region.
- */
-       . = ALIGN (16 * 1024);
-       _ttbl_base = .;
-       . += (16 * 1024);
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-
-  } > sdram
-  _axf_bss_end = . ;
-
-  _end = . ;
-  __end__ = . ;
-  PROVIDE (end = _end);
-  WorkAreaBase = .;
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs7'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * bsp_specs, start/start.S, startup/linkcmds.csb337,
        startup/linkcmds.csb637: Use linker command base file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/ChangeLog.diff?r1=text&tr1=1.72&r2=text&tr2=1.73&diff_format=h">M</a></td><td width='1%'>1.73</td><td width='100%'>c/src/lib/libbsp/arm/csb337/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/bsp_specs.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/csb337/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/start/start.S.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>c/src/lib/libbsp/arm/csb337/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.72 rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.73
--- rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.72    Fri Apr 30 09:44:17 2010
+++ rtems/c/src/lib/libbsp/arm/csb337/ChangeLog Fri Dec  3 04:51:54 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * bsp_specs, start/start.S, startup/linkcmds.csb337,
+       startup/linkcmds.csb637: Use linker command base file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * Makefile.am, preinstall.am: Added generic interrupt support modules.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/bsp_specs:1.8 rtems/c/src/lib/libbsp/arm/csb337/bsp_specs:1.9
--- rtems/c/src/lib/libbsp/arm/csb337/bsp_specs:1.8     Fri Dec  5 07:37:41 2008
+++ rtems/c/src/lib/libbsp/arm/csb337/bsp_specs Fri Dec  3 04:51:54 2010
</font><font color='#997700'>@@ -7,7 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/start/start.S:1.5 rtems/c/src/lib/libbsp/arm/csb337/start/start.S:1.6
--- rtems/c/src/lib/libbsp/arm/csb337/start/start.S:1.5 Sun Nov 29 08:53:00 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/start/start.S     Fri Dec  3 04:51:54 2010
</font><font color='#997700'>@@ -12,6 +12,8 @@
</font>  *  $Id$
 */
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> /* Some standard definitions...*/
 .equ PSR_MODE_USR,       0x10
 .equ PSR_MODE_FIQ,       0x11
<font color='#997700'>@@ -39,8 +41,8 @@
</font>         msr     cpsr, r0
 
         /* zero the bss */
<font color='#880000'>-        ldr     r1, =_bss_end_
-        ldr     r0, =_bss_start_
</font><font color='#000088'>+        ldr     r1, =bsp_section_bss_end
+        ldr     r0, =bsp_section_bss_begin
</font> 
 _bss_init:
         mov     r2, #0
<font color='#997700'>@@ -53,29 +55,29 @@
</font>         /* Enter IRQ mode and set up the IRQ stack pointer */
         mov     r0, #(PSR_MODE_IRQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_irq_stack_size
-        ldr     sp, =_irq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_irq_size
+        ldr     sp, =bsp_stack_irq_begin
</font>         add     sp, sp, r1
 
         /* Enter FIQ mode and set up the FIQ stack pointer */
         mov     r0, #(PSR_MODE_FIQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_fiq_stack_size
-        ldr     sp, =_fiq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_fiq_size
+        ldr     sp, =bsp_stack_fiq_begin
</font>         add     sp, sp, r1
 
         /* Enter ABT mode and set up the ABT stack pointer */
         mov     r0, #(PSR_MODE_ABT | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_abt_stack_size
-        ldr     sp, =_abt_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_abt_size
+        ldr     sp, =bsp_stack_abt_begin
</font>         add     sp, sp, r1
 
         /* Set up the SVC stack pointer last and stay in SVC mode */
         mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_svc_stack_size
-        ldr     sp, =_svc_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_svc_size
+        ldr     sp, =bsp_stack_svc_begin
</font>         add     sp, sp, r1
         sub     sp, sp, #0x64
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337:1.2 rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337:1.3
--- rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337:1.2       Mon Nov 30 16:00:36 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb337   Fri Dec  3 04:51:54 2010
</font><font color='#997700'>@@ -1,230 +1,26 @@
</font><font color='#880000'>-/*
- *  Cogent CSB337 Linker script
- *
- *  Copyright (c) 2004 by Jay Monkman <jtm@lopingdog.com>
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
-MEMORY
-{
-       sdram : ORIGIN = 0x20100000, LENGTH = 15M
-       sram  : ORIGIN = 0x00200000, LENGTH = 16K
</font><font color='#000088'>+MEMORY {
+       SDRAM_MMU : ORIGIN = 0x20100000, LENGTH = 16k
+       SDRAM : ORIGIN = 0x20104000, LENGTH = 15M - 16k
+       SRAM : ORIGIN = 0x00200000, LENGTH = 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x20100000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 15M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_sram_base = DEFINED(_sram_base) ? _sram_base : 0x00000000;
-_sram_size = DEFINED(_sram_size) ? _sram_size : 16K;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-    .base :
-    {
-        _sram_base = .;
-
-       /* reserve room for the vectors and function pointers */
-       arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-       . += 64;
-
-       /* 256 byte aligned rx buffer header array */
-       . = ALIGN (0x100);
-       at91rm9200_emac_rxbuf_hdrs = .;
-
-       /* 1 transmit buffer, 0x600 size */
-       . += (0x100);
-       at91rm9200_emac_txbuf = .;
-       . += (0x600);
-
-       /* 8 receive buffers, 0x600 each */
-       at91rm9200_emac_rxbufs = .;
-       . += (0x600 * 8);
-
-    } > sram
-
-    .text      :
-    {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
-
-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-    } > sdram<span style="background-color: #FF0000">  </span>
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-    .init          :<span style="background-color: #FF0000"> </span>
-    {<span style="background-color: #FF0000"> </span>
-        KEEP (*(.init))
-    } > sdram   /*=0*/
-
-    .fini      :
-    {
-        KEEP (*(.fini))
-    } > sdram  /*=0*/
-
-    .data :
-    {<span style="background-color: #FF0000"> </span>
-        *(.data)
-        *(.data.*)
-        *(.gnu.linkonce.d*)
-        *(.jcr)
-        SORT(CONSTRUCTORS)
-        _edata = .;
-    } > sdram<span style="background-color: #FF0000"> </span>
-
-    .eh_frame : { *(.eh_frame) } > sdram
-    .data1   : { *(.data1) } > sdram
-    .eh_frame : { *(.eh_frame) } > sdram
-    .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-    .rodata :
-    {
-      *(.rodata)
-      *(.rodata.*)
-      *(.gnu.linkonce.r*)
-    } > sdram
-
-    .bss       :
-    {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we need
- * 16K which is the size of SRAM. If we do the mapping right, the TLB
- * should be big enough that to hold all the translations that matter,
- * so keeping the table in SDRAM won't be a problem.
- */
-       . = ALIGN (16 * 1024);
-         _ttbl_base = .;
-         . += (16 * 1024);
-
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-    } > sdram
-
-
-/* Debugging stuff follows? */
-
-    /* Stabs debugging sections.  */
-    .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-    .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-    .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-    .stab.exclstr 0 : { *(.stab.exclstr) }
-    .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-    .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-    .comment 0 : { *(.comment) }
-    /* DWARF debug sections.
-       Symbols in the DWARF debugging sections are relative to the beginning
-       of the section so we begin them at 0.  */
-    /* DWARF 1 */
-    .debug          0 : { *(.debug) }
-    .line           0 : { *(.line) }
-    /* GNU DWARF 1 extensions */
-    .debug_srcinfo  0 : { *(.debug_srcinfo) }
-    .debug_sfnames  0 : { *(.debug_sfnames) }
-    /* DWARF 1.1 and DWARF 2 */
-    .debug_aranges  0 : { *(.debug_aranges) }
-    .debug_pubnames 0 : { *(.debug_pubnames) }
-    /* DWARF 2 */
-    .debug_info     0 : { *(.debug_info) }
-    .debug_abbrev   0 : { *(.debug_abbrev) }
-    .debug_line     0 : { *(.debug_line) }
-    .debug_frame    0 : { *(.debug_frame) }
-    .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-    .debug_loc      0 : { *(.debug_loc) }
-    .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-    /* SGI/MIPS DWARF 2 extensions */
-    .debug_weaknames 0 : { *(.debug_weaknames) }
-    .debug_funcnames 0 : { *(.debug_funcnames) }
-    .debug_typenames 0 : { *(.debug_typenames) }
-    .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-/*    .stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637:1.3 rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637:1.4
--- rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637:1.3       Mon Nov 30 16:00:36 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/startup/linkcmds.csb637   Fri Dec  3 04:51:54 2010
</font><font color='#997700'>@@ -1,237 +1,26 @@
</font><font color='#880000'>-/*
- * Cogent CSB637 linker script
- *
- *  Copyright (c) 2004 by Jay Monkman <jtm@lopingdog.com>
- *  File from the old CSB337 RTEMS BSP
- *<span style="background-color: #FF0000"> </span>
- *  Modified by Joel Sherill<span style="background-color: #FF0000"> </span>
- *  from OAR Corporation and<span style="background-color: #FF0000"> </span>
- *  Fernando Nicodemos <fgnicodemos@terra.com.br>
- *  from NCB - Sistemas Embarcados Ltda. (Brazil)
- *<span style="background-color: #FF0000"> </span>
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
-MEMORY
-{
-       sdram : ORIGIN = 0x20100000, LENGTH = 63M
-       sram  : ORIGIN = 0x00200000, LENGTH = 16K
</font><font color='#000088'>+MEMORY {
+       SDRAM_MMU : ORIGIN = 0x20100000, LENGTH = 16k
+       SDRAM : ORIGIN = 0x20104000, LENGTH = 63M - 16k
+       SRAM : ORIGIN = 0x00200000, LENGTH = 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x20100000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 63M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_sram_base = DEFINED(_sram_base) ? _sram_base : 0x00000000;
-_sram_size = DEFINED(_sram_size) ? _sram_size : 16K;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-    .base :
-    {
-        _sram_base = .;
-
-       /* reserve room for the vectors and function pointers */
-       arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-       . += 64;
-
-       /* 256 byte aligned rx buffer header array */
-       . = ALIGN (0x100);
-       at91rm9200_emac_rxbuf_hdrs = .;<span style="background-color: #FF0000"> </span>
-
-       /* 1 transmit buffer, 0x600 size */
-       . += (0x100);
-       at91rm9200_emac_txbuf = .;
-       . += (0x600);
-
-       /* 8 receive buffers, 0x600 each */
-       at91rm9200_emac_rxbufs = .;
-       . += (0x600 * 8);
-
-    } > sram
-
-    .text      :
-    {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
-
-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-    } > sdram<span style="background-color: #FF0000">  </span>
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-    .init          :<span style="background-color: #FF0000"> </span>
-    {<span style="background-color: #FF0000"> </span>
-        KEEP (*(.init))
-    } > sdram   /*=0*/
-
-    .fini      :
-    {
-        KEEP (*(.fini))
-    } > sdram  /*=0*/
-
-    .data :
-    {<span style="background-color: #FF0000"> </span>
-        *(.data)
-        *(.data.*)
-        *(.gnu.linkonce.d*)
-        *(.jcr)
-        SORT(CONSTRUCTORS)
-        _edata = .;
-    } > sdram<span style="background-color: #FF0000"> </span>
-
-    .eh_frame : { *(.eh_frame) } > sdram
-    .data1   : { *(.data1) } > sdram
-    .eh_frame : { *(.eh_frame) } > sdram
-    .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-    .rodata :
-    {
-      *(.rodata)
-      *(.rodata.*)
-      *(.gnu.linkonce.r*)
-    } > sdram
-
-    .bss       :
-    {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we need
- * 16K which is the size of SRAM. If we do the mapping right, the TLB
- * should be big enough that to hold all the translations that matter,
- * so keeping the table in SDRAM won't be a problem.
- */
-       . = ALIGN (16 * 1024);
-         _ttbl_base = .;
-         . += (16 * 1024);
-
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       . = ALIGN (32);
-       WorkAreaBase = .;
-
-    } > sdram
-
-
-/* Debugging stuff follows? */
-
-    /* Stabs debugging sections.  */
-    .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-    .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-    .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-    .stab.exclstr 0 : { *(.stab.exclstr) }
-    .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-    .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-    .comment 0 : { *(.comment) }
-    /* DWARF debug sections.
-       Symbols in the DWARF debugging sections are relative to the beginning
-       of the section so we begin them at 0.  */
-    /* DWARF 1 */
-    .debug          0 : { *(.debug) }
-    .line           0 : { *(.line) }
-    /* GNU DWARF 1 extensions */
-    .debug_srcinfo  0 : { *(.debug_srcinfo) }
-    .debug_sfnames  0 : { *(.debug_sfnames) }
-    /* DWARF 1.1 and DWARF 2 */
-    .debug_aranges  0 : { *(.debug_aranges) }
-    .debug_pubnames 0 : { *(.debug_pubnames) }
-    /* DWARF 2 */
-    .debug_info     0 : { *(.debug_info) }
-    .debug_abbrev   0 : { *(.debug_abbrev) }
-    .debug_line     0 : { *(.debug_line) }
-    .debug_frame    0 : { *(.debug_frame) }
-    .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-    .debug_loc      0 : { *(.debug_loc) }
-    .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-    /* SGI/MIPS DWARF 2 extensions */
-    .debug_weaknames 0 : { *(.debug_weaknames) }
-    .debug_funcnames 0 : { *(.debug_funcnames) }
-    .debug_typenames 0 : { *(.debug_typenames) }
-    .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-/*    .stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs8'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * bsp_specs, start/start.S, startup/linkcmds: Use linker command base
        file.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/ChangeLog.diff?r1=text&tr1=1.68&r2=text&tr2=1.69&diff_format=h">M</a></td><td width='1%'>1.69</td><td width='100%'>c/src/lib/libbsp/arm/csb336/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/bsp_specs.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/csb336/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/start/start.S.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/arm/csb336/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb336/startup/linkcmds.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/csb336/startup/linkcmds</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog.diff?r1=text&tr1=1.114&r2=text&tr2=1.115&diff_format=h">M</a></td><td width='1%'>1.115</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/bsp_specs.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/start/start.S.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/startup/linkcmds.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/startup/linkcmds</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gdbarmsim/ChangeLog.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/gdbarmsim/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gdbarmsim/bsp_specs.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/arm/gdbarmsim/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gdbarmsim/start/start.S.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/arm/gdbarmsim/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog.diff?r1=text&tr1=1.25&r2=text&tr2=1.26&diff_format=h">M</a></td><td width='1%'>1.26</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/bsp_specs.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/bsp_specs</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/start/start.S.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/start/start.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/startup/linkcmds.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/startup/linkcmds</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.68 rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.69
--- rtems/c/src/lib/libbsp/arm/csb336/ChangeLog:1.68    Fri Apr 30 09:41:12 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/ChangeLog Fri Dec  3 04:52:07 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * bsp_specs, start/start.S, startup/linkcmds: Use linker command base
+       file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * Makefile.am, preinstall.am: Added generic interrupt support modules.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/bsp_specs:1.8 rtems/c/src/lib/libbsp/arm/csb336/bsp_specs:1.9
--- rtems/c/src/lib/libbsp/arm/csb336/bsp_specs:1.8     Fri Dec  5 07:37:39 2008
+++ rtems/c/src/lib/libbsp/arm/csb336/bsp_specs Fri Dec  3 04:52:07 2010
</font><font color='#997700'>@@ -7,8 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }
<font color='#880000'>-
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/start/start.S:1.6 rtems/c/src/lib/libbsp/arm/csb336/start/start.S:1.7
--- rtems/c/src/lib/libbsp/arm/csb336/start/start.S:1.6 Wed Apr  7 16:48:14 2010
+++ rtems/c/src/lib/libbsp/arm/csb336/start/start.S     Fri Dec  3 04:52:07 2010
</font><font color='#997700'>@@ -12,6 +12,8 @@
</font>  * $Id$
  */
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> /* Some standard definitions...*/
 .equ PSR_MODE_USR,       0x10
 .equ PSR_MODE_FIQ,       0x11
<font color='#997700'>@@ -39,8 +41,8 @@
</font>         msr     cpsr, r0
 
         /* zero the bss */
<font color='#880000'>-        ldr     r1, =_bss_end_
-        ldr     r0, =_bss_start_
</font><font color='#000088'>+        ldr     r1, =bsp_section_bss_end
+        ldr     r0, =bsp_section_bss_begin
</font> 
 _bss_init:
         mov     r2, #0
<font color='#997700'>@@ -53,36 +55,36 @@
</font>         /* Enter IRQ mode and set up the IRQ stack pointer */
         mov     r0, #(PSR_MODE_IRQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_irq_stack_size
-        ldr     sp, =_irq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_irq_size
+        ldr     sp, =bsp_stack_irq_begin
</font>         add     sp, sp, r1
 
         /* Enter FIQ mode and set up the FIQ stack pointer */
         mov     r0, #(PSR_MODE_FIQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_fiq_stack_size
-        ldr     sp, =_fiq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_fiq_size
+        ldr     sp, =bsp_stack_fiq_begin
</font>         add     sp, sp, r1
 
         /* Enter ABT mode and set up the ABT stack pointer */
         mov     r0, #(PSR_MODE_ABT | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_abt_stack_size
-        ldr     sp, =_abt_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_abt_size
+        ldr     sp, =bsp_stack_abt_begin
</font>         add     sp, sp, r1
 
         /* Enter UNDEF mode and set up the UNDEF stack pointer */
         mov     r0, #(PSR_MODE_UNDEF | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_undef_stack_size
-        ldr     sp, =_undef_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_und_size
+        ldr     sp, =bsp_stack_und_begin
</font>         add     sp, sp, r1
 
         /* Set up the SVC stack pointer last and stay in SVC mode */
         mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_svc_stack_size
-        ldr     sp, =_svc_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_svc_size
+        ldr     sp, =bsp_stack_svc_begin
</font>         add     sp, sp, r1
         sub     sp, sp, #0x64
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb336/startup/linkcmds:1.7 rtems/c/src/lib/libbsp/arm/csb336/startup/linkcmds:1.8
--- rtems/c/src/lib/libbsp/arm/csb336/startup/linkcmds:1.7      Fri Sep 19 16:13:54 2008
+++ rtems/c/src/lib/libbsp/arm/csb336/startup/linkcmds  Fri Dec  3 04:52:07 2010
</font><font color='#997700'>@@ -1,247 +1,25 @@
</font><font color='#880000'>-/*
- *  Cogent CSB336 Linker script
- *
- *  Copyright (c) 2004 by Cogent Computer Systems
- *  Written by Jay Monkman <jtm@lopingdog.com>
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-/* SEARCH_DIR(/usr/local/rtems-arm-dev-tools/arm-rtems/lib); */
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0x08200000, LENGTH = 30M
</font><font color='#000088'>+      SDRAM_MMU : ORIGIN = 0x08200000, LENGTH = 16k
+       SDRAM : ORIGIN = 0x08204000, LENGTH = 30M - 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-/* The base for SDRAM is set to umon's APPRAMBASE */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x08200000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 30M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x400;
-_undef_stack_size = DEFINED(_undef_stack_size) ? _undef_stack_size : 0x400;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-                             /* FIXME: */
-
-    rtems_vector_table = .;
-    . += (8 * 4);                     /* 8 ARM interrupts */
-<span style="background-color: #FF0000">       </span>
-    . = ALIGN (0x100);
-
-
-  } > sdram
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    KEEP (*(.init))
-  } > sdram   /*=0*/
-
-  .text      :
-  {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SDRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-  } > sdram<span style="background-color: #FF0000">  </span>
-
-  .fini      :
-  {
-    KEEP (*(.fini))
-  } > sdram  /*=0*/
-
-  .data :
-  {<span style="background-color: #FF0000"> </span>
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    *(.jcr)
-    SORT(CONSTRUCTORS)
-    _edata = .;
-  } > sdram<span style="background-color: #FF0000"> </span>
-
-  .eh_frame : { *(.eh_frame) } > sdram
-  .data1   : { *(.data1) } > sdram
-  .eh_frame : { *(.eh_frame) } > sdram
-  .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-  .rodata :
-  {
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-  } > sdram
-
-  .bss       :
-  {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _undef_stack = .;
-       . += _undef_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we
- * don't have any. If we don't use more regions than TLB entries (64),
- * the lookup will only happen once for each region.
- */
-       . = ALIGN (16 * 1024);
-       _ttbl_base = .;
-       . += (16 * 1024);
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-  } > sdram
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.114 rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.115
--- rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.114  Fri Apr 30 09:48:52 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog        Fri Dec  3 04:51:37 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * bsp_specs, start/start.S, startup/linkcmds: Use linker command base
+       file.
+
</font> 2010-04-30        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * irq/bsp_irq_init.c: Removed file.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/bsp_specs:1.9 rtems/c/src/lib/libbsp/arm/edb7312/bsp_specs:1.10
--- rtems/c/src/lib/libbsp/arm/edb7312/bsp_specs:1.9    Fri Dec  5 07:37:43 2008
+++ rtems/c/src/lib/libbsp/arm/edb7312/bsp_specs        Fri Dec  3 04:51:37 2010
</font><font color='#997700'>@@ -7,7 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/start/start.S:1.9 rtems/c/src/lib/libbsp/arm/edb7312/start/start.S:1.10
--- rtems/c/src/lib/libbsp/arm/edb7312/start/start.S:1.9        Wed Apr  7 16:49:45 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/start/start.S    Fri Dec  3 04:51:37 2010
</font><font color='#997700'>@@ -1,6 +1,8 @@
</font> /*
  * Cirrus EP7312 Startup code
  *
<font color='#000088'>+ * Copyright (c) 2010 embedded brains GmbH.
+ *
</font>  * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
  *
  * Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
<font color='#997700'>@@ -14,6 +16,8 @@
</font>  *  $Id$
 */
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
+
</font> /* Some standard definitions...*/
 
 .equ Mode_USR,<span style="background-color: #FF0000">        </span>         0x10
<font color='#997700'>@@ -28,50 +32,8 @@
</font> .equ I_Bit,<span style="background-color: #FF0000">           </span>            0x80
 .equ F_Bit,<span style="background-color: #FF0000">           </span>         0x40
 
<font color='#880000'>-   .text
-       .globl  _start
-
-_start:
-       /* store the sp */
-       mov     r12, sp
-/*
- * Here is the code to initialize the low-level BSP environment
- * (Chip Select, PLL, ....?)
- */
-
-/* zero the bss */
-        LDR     r1, =_bss_end_       /* get end of ZI region */
-        LDR     r0, =_bss_start_     /* load base address of ZI region */
-
-zi_init:
-        MOV     r2, #0
-        CMP     r0, r1                /* loop whilst r0 < r1 */
-        STRLOT   r2, [r0], #4
-        BLO     zi_init
-
-/* Load basic ARM7 interrupt table */
-VectorInit:
-       MOV     R0, #0
-       ADR     R1, Vector_Init_Block
-       LDMIA   R1!, {R2, r3}   /* Copy the Vectors (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the Vectors (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the Vectors (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the Vectors (8 words) */
-       STMIA   R0!, {r2, r3}
-
-       LDMIA   R1!, {R2, r3}   /* Copy the .long'ed addresses (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the .long'ed addresses (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the .long'ed addresses (8 words) */
-       STMIA   R0!, {r2, r3}
-       LDMIA   R1!, {R2, r3}   /* Copy the .long'ed addresses (8 words) */
-       STMIA   R0!, {r2, r3}
-
-       B       init2
</font><font color='#000088'>+.section ".bsp_start_text", "ax"
+.arm
</font> 
 /*******************************************************
  standard exception vectors table
<font color='#997700'>@@ -118,38 +80,56 @@
</font> FIQ_Handler:
         B       FIQ_Handler
 
<font color='#880000'>-init2 :
</font><font color='#000088'>+      .globl  _start
+_start:
+       /* store the sp */
+       mov     r12, sp
+/*
+ * Here is the code to initialize the low-level BSP environment
+ * (Chip Select, PLL, ....?)
+ */
+
+/* zero the bss */
+        LDR     r1, =bsp_section_bss_end   /* get end of ZI region */
+        LDR     r0, =bsp_section_bss_begin /* load base address of ZI region */
+
+zi_init:
+        MOV     r2, #0
+        CMP     r0, r1                /* loop whilst r0 < r1 */
+        STRLOT   r2, [r0], #4
+        BLO     zi_init
+
</font> /* --- Initialise stack pointer registers */
 
 /* Enter IRQ mode and set up the IRQ stack pointer */
     MOV     r0, #Mode_IRQ | I_Bit | F_Bit     /* No interrupts */
     MSR     cpsr, r0
<font color='#880000'>-    ldr        r1, =_irq_stack_size
-    LDR     sp, =_irq_stack
</font><font color='#000088'>+    ldr           r1, =bsp_stack_irq_size
+    LDR     sp, =bsp_stack_irq_begin
</font>     add       sp, sp, r1
     sub     sp, sp, #0x64
 
 /* Enter FIQ mode and set up the FIQ stack pointer */
     MOV     r0, #Mode_FIQ | I_Bit | F_Bit     /* No interrupts */
     MSR     cpsr, r0
<font color='#880000'>-    ldr        r1, =_fiq_stack_size
-    LDR     sp, =_fiq_stack
</font><font color='#000088'>+    ldr           r1, =bsp_stack_fiq_size
+    LDR     sp, =bsp_stack_fiq_begin
</font>     add       sp, sp, r1
     sub     sp, sp, #0x64
 
 /* Enter ABT mode and set up the ABT stack pointer */
     MOV     r0, #Mode_ABT | I_Bit | F_Bit     /* No interrupts */
     MSR     cpsr, r0
<font color='#880000'>-    ldr        r1, =_abt_stack_size
-    LDR     sp, =_abt_stack
</font><font color='#000088'>+    ldr           r1, =bsp_stack_abt_size
+    LDR     sp, =bsp_stack_abt_begin
</font>     add       sp, sp, r1
     sub     sp, sp, #0x64
 
 /* Set up the SVC stack pointer last and stay in SVC mode */
     MOV     r0, #Mode_SVC | I_Bit | F_Bit     /* No interrupts */
     MSR     cpsr, r0
<font color='#880000'>-    ldr        r1, =_svc_stack_size
-    LDR     sp, =_svc_stack
</font><font color='#000088'>+    ldr           r1, =bsp_stack_svc_size
+    LDR     sp, =bsp_stack_svc_begin
</font>     add       sp, sp, r1
     sub     sp, sp, #0x64
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/startup/linkcmds:1.8 rtems/c/src/lib/libbsp/arm/edb7312/startup/linkcmds:1.9
--- rtems/c/src/lib/libbsp/arm/edb7312/startup/linkcmds:1.8     Fri Sep 19 16:13:57 2008
+++ rtems/c/src/lib/libbsp/arm/edb7312/startup/linkcmds Fri Dec  3 04:51:37 2010
</font><font color='#997700'>@@ -1,243 +1,24 @@
</font><font color='#880000'>-/*
- * Cirrus EP7312 linker script
- *
- * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
- *<span style="background-color: #FF0000">     </span>
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *
- *  $Id$
-*/
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0x00000000, LENGTH = 16M
-       regs  : ORIGIN = 0x80000000, LENGTH = 1M
</font><font color='#000088'>+      SDRAM : ORIGIN = 0x00000000, LENGTH = 16M
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x00000000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 16M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    _sram_base = .;
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-                             /* FIXME: */
-    fiq_vect_table    = .;    /* this and irq_vector_table should be swapped */
-    . += (32 * 4);
-
-    irq_vector_table = .;
-    . += (32 * 4);<span style="background-color: #FF0000">      </span>
-
-  } > sdram
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    KEEP (*(.init))
-  } > sdram   /*=0*/
-
-  .text      :
-  {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SDRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-  } > sdram<span style="background-color: #FF0000">  </span>
-
-  .fini      :
-  {
-    KEEP (*(.fini))
-  } > sdram  /*=0*/
-
-  .data :
-  {<span style="background-color: #FF0000"> </span>
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    *(.jcr)
-    SORT(CONSTRUCTORS)
-    _edata = .;
-  } > sdram<span style="background-color: #FF0000"> </span>
-
-  .eh_frame : { *(.eh_frame) } > sdram
-  .data1   : { *(.data1) } > sdram
-  .eh_frame : { *(.eh_frame) } > sdram
-  .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-  .rodata :
-  {
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-  } > sdram
-
-  .bss       :
-  {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-  } > sdram
-
-/*
-  .regs        :
-  {
-       ep7312_regs_base = .;
-       ep7312_regs = .;
-       . += 8192;
-  } > regs
-*/
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+bsp_vector_table_in_start_section = 1;
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gdbarmsim/ChangeLog:1.9 rtems/c/src/lib/libbsp/arm/gdbarmsim/ChangeLog:1.10
--- rtems/c/src/lib/libbsp/arm/gdbarmsim/ChangeLog:1.9  Sun Aug 15 17:51:01 2010
+++ rtems/c/src/lib/libbsp/arm/gdbarmsim/ChangeLog      Fri Dec  3 04:51:06 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * bsp_specs, start/start.S, startup/linkcmds: Use linker command base
+       file.
+
</font> 2010-08-15        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        * startup/syscalls.c: ifdef out _times since it conflicts with

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gdbarmsim/bsp_specs:1.1 rtems/c/src/lib/libbsp/arm/gdbarmsim/bsp_specs:1.2
--- rtems/c/src/lib/libbsp/arm/gdbarmsim/bsp_specs:1.1  Thu Oct  1 16:48:42 2009
+++ rtems/c/src/lib/libbsp/arm/gdbarmsim/bsp_specs      Fri Dec  3 04:51:06 2010
</font><font color='#997700'>@@ -7,8 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }
<font color='#880000'>-
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gdbarmsim/start/start.S:1.3 rtems/c/src/lib/libbsp/arm/gdbarmsim/start/start.S:1.4
--- rtems/c/src/lib/libbsp/arm/gdbarmsim/start/start.S:1.3      Wed Apr  7 16:49:49 2010
+++ rtems/c/src/lib/libbsp/arm/gdbarmsim/start/start.S  Fri Dec  3 04:51:06 2010
</font><font color='#997700'>@@ -7,6 +7,7 @@
</font> 
 #include <newlib.h>
 #include <bsp/swi.h>
<font color='#000088'>+#include <bsp/linker-symbols.h>
</font> 
 /* ANSI concatenation macros.  */
 #define CONCAT(a, b) CONCAT2(a, b)
<font color='#997700'>@@ -375,9 +376,9 @@
</font>   .fnend
 #endif
 .LC1:
<font color='#880000'>-   .word   __bss_start__
</font><font color='#000088'>+      .word   bsp_section_bss_begin
</font> .LC2:
<font color='#880000'>-   .word   __clear_end__ /* __bss_end__ */
</font><font color='#000088'>+      .word   bsp_section_bss_end
</font> #ifdef __USES_INITFINI__
 .Lfini:
        .word   FUNCTION(_fini)

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds:1.1 rtems/c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds:1.2
--- rtems/c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds:1.1   Thu Oct  1 16:48:42 2009
+++ rtems/c/src/lib/libbsp/arm/gdbarmsim/startup/linkcmds       Fri Dec  3 04:51:06 2010
</font><font color='#997700'>@@ -1,252 +1,22 @@
</font><font color='#880000'>-/*
- *  Cogent CSB336 Linker script
- *
- *  Copyright (c) 2004 by Cogent Computer Systems
- *  Written by Jay Monkman <jtm@lopingdog.com>
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-/* SEARCH_DIR(/usr/local/rtems-arm-dev-tools/arm-rtems/lib); */
-
-
</font> MEMORY {
<font color='#880000'>-   sdram : ORIGIN = 0x00000000, LENGTH = 4M
</font><font color='#000088'>+      RAM : ORIGIN = 0x00000000, LENGTH = 4M
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-
-/* The base for SDRAM is set to umon's APPRAMBASE */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0x0;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 4M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x400;
-_undef_stack_size = DEFINED(_undef_stack_size) ? _undef_stack_size : 0x400;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-  .base :
-  {
-    arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-
-    arm_reset_vect    = .;     /* 0x00 */
-    . += 4;
-
-    arm_undef_vect    = .;     /* 0x04 */
-    . += 4;
-
-    arm_swi_vect      = .;     /* 0x08 */
-    . += 4;
-
-    arm_iabrt_vect    = .;     /* 0x0c */
-    . += 4;
-
-    arm_dabrt_vect    = .;     /* 0x10 */
-    . += 4;
-
-    /* no vector here */
-    . += 4;
-
-    arm_irq_vect      = .;     /* 0x18 */
-    . += 4;
-
-    arm_fiq_vect      = .;     /* 0x1c */
-    . += 4;
-                             /* FIXME: */
-
-    rtems_vector_table = .;
-    . += (8 * 4);                     /* 8 ARM interrupts */
-<span style="background-color: #FF0000">       </span>
-    . = ALIGN (0x100);
-
-
-  } > sdram
-
-  .text      :
-  {
-       . = 0x8000;
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
-
-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-  } > sdram<span style="background-color: #FF0000">  </span>
-
-  .init          :<span style="background-color: #FF0000"> </span>
-  {<span style="background-color: #FF0000"> </span>
-    KEEP (*(.init))
-  } > sdram   /*=0*/
-
-  .fini      :
-  {
-    KEEP (*(.fini))
-  } > sdram  /*=0*/
-
-  .data :
-  {<span style="background-color: #FF0000"> </span>
-    *(.data)
-    *(.data.*)
-    *(.gnu.linkonce.d*)
-    *(.jcr)
-    SORT(CONSTRUCTORS)
-    _edata = .;
-  } > sdram<span style="background-color: #FF0000"> </span>
-
-  .eh_frame : { *(.eh_frame) } > sdram
-  .data1   : { *(.data1) } > sdram
-  .eh_frame : { *(.eh_frame) } > sdram
-  .gcc_except_table : { *(.gcc_except_table*) } > sdram
-
-  .rodata :
-  {
-    *(.rodata)
-    *(.rodata.*)
-    *(.gnu.linkonce.r*)
-  } > sdram
-
-  .bss       :
-  {
-       __bss_start__ = .;
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _undef_stack = .;
-       . += _undef_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we
- * don't have any. If we don't use more regions than TLB entries (64),
- * the lookup will only happen once for each region.
- */
-       . = ALIGN (16 * 1024);
-       _ttbl_base = .;
-       . += (16 * 1024);
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-        . = RamSize + RamBase - 1;
-       __clear_end__ = .;
-       __bss_end__ = .;
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-  } > sdram
-
-
-/* Debugging stuff follows? */
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-  .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-  .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-  .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-  .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-  /*.stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", RAM);
+REGION_ALIAS ("REGION_VECTOR", RAM);
+REGION_ALIAS ("REGION_TEXT", RAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", RAM);
+REGION_ALIAS ("REGION_RODATA", RAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", RAM);
+REGION_ALIAS ("REGION_DATA", RAM);
+REGION_ALIAS ("REGION_DATA_LOAD", RAM);
+REGION_ALIAS ("REGION_FAST_TEXT", RAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM);
+REGION_ALIAS ("REGION_FAST_DATA", RAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM);
+REGION_ALIAS ("REGION_BSS", RAM);
+REGION_ALIAS ("REGION_WORK", RAM);
+REGION_ALIAS ("REGION_STACK", RAM);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.25 rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.26
--- rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.25   Fri May 14 07:00:46 2010
+++ rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog        Fri Dec  3 04:50:40 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-12-03    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * bsp_specs, start/start.S, startup/linkcmds: Use linker command base
+       file.
+
</font> 2010-05-14        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        * rtl8019/rtl8019.c: Fix typo.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/bsp_specs:1.2 rtems/c/src/lib/libbsp/arm/gumstix/bsp_specs:1.3
--- rtems/c/src/lib/libbsp/arm/gumstix/bsp_specs:1.2    Mon Jun 29 18:16:44 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/bsp_specs        Fri Dec  3 04:50:40 2010
</font><font color='#997700'>@@ -7,7 +7,7 @@
</font> %{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}
 
 *link:
<font color='#880000'>-%{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic -N}
</font><font color='#000088'>+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
</font> 
 *endfile:
 %{!qrtems: *(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/start/start.S:1.4 rtems/c/src/lib/libbsp/arm/gumstix/start/start.S:1.5
--- rtems/c/src/lib/libbsp/arm/gumstix/start/start.S:1.4        Wed Apr  7 16:49:53 2010
+++ rtems/c/src/lib/libbsp/arm/gumstix/start/start.S    Fri Dec  3 04:50:40 2010
</font><font color='#997700'>@@ -9,6 +9,7 @@
</font>  *  $Id$
  */
 
<font color='#000088'>+#include <bsp/linker-symbols.h>
</font> 
 /* Some standard definitions...*/
 .equ PSR_MODE_USR,       0x10
<font color='#997700'>@@ -38,8 +39,8 @@
</font> 
 
         /* zero the bss */
<font color='#880000'>-        ldr     r1, =_bss_end_
-        ldr     r0, =_bss_start_
</font><font color='#000088'>+        ldr     r1, =bsp_section_bss_end
+        ldr     r0, =bsp_section_bss_begin
</font> 
 _bss_init:
         mov     r2, #0
<font color='#997700'>@@ -51,29 +52,29 @@
</font>         /* Enter IRQ mode and set up the IRQ stack pointer */
         mov     r0, #(PSR_MODE_IRQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_irq_stack_size
-        ldr     sp, =_irq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_irq_size
+        ldr     sp, =bsp_stack_irq_begin
</font>         add     sp, sp, r1
 
         /* Enter FIQ mode and set up the FIQ stack pointer */
         mov     r0, #(PSR_MODE_FIQ | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_fiq_stack_size
-        ldr     sp, =_fiq_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_fiq_size
+        ldr     sp, =bsp_stack_fiq_begin
</font>         add     sp, sp, r1
 
         /* Enter ABT mode and set up the ABT stack pointer */
         mov     r0, #(PSR_MODE_ABT | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_abt_stack_size
-        ldr     sp, =_abt_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_abt_size
+        ldr     sp, =bsp_stack_abt_begin
</font>         add     sp, sp, r1
 
         /* Set up the SVC stack pointer last and stay in SVC mode */
         mov     r0, #(PSR_MODE_SVC | PSR_I | PSR_F)     /* No interrupts */
         msr     cpsr, r0
<font color='#880000'>-        ldr     r1, =_svc_stack_size
-        ldr     sp, =_svc_stack
</font><font color='#000088'>+        ldr     r1, =bsp_stack_und_size
+        ldr     sp, =bsp_stack_und_begin
</font>         add     sp, sp, r1
         sub     sp, sp, #0x64
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/startup/linkcmds:1.2 rtems/c/src/lib/libbsp/arm/gumstix/startup/linkcmds:1.3
--- rtems/c/src/lib/libbsp/arm/gumstix/startup/linkcmds:1.2     Thu Jun 11 08:12:42 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/startup/linkcmds Fri Dec  3 04:50:40 2010
</font><font color='#997700'>@@ -1,217 +1,26 @@
</font><font color='#880000'>-/*
- * GUMSTIX linkcmd by Yang Xi <hiyangxi@gmail.com>. Borrow form CSB337 linkcmd.
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
-             "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-
-MEMORY
-{
-       sdram : ORIGIN = 0xA0000000, LENGTH = 64M
-       sram  : ORIGIN = 0x00000000, LENGTH = 16K
</font><font color='#000088'>+MEMORY {
+       SDRAM_MMU : ORIGIN = 0xa0000000, LENGTH = 16k
+       SDRAM : ORIGIN = 0xa0004000, LENGTH = 64M - 16k
+       SRAM : ORIGIN = 0x00000000, LENGTH = 16k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
</font> }
 
<font color='#880000'>-/*
- * Declare some sizes.
- */
-_sdram_base = DEFINED(_sdram_base) ? _sdram_base : 0xA0000000;
-_sdram_size = DEFINED(_sdram_size) ? _sdram_size : 64M;
-
-RamBase = _sdram_base;
-RamSize = _sdram_size;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-_sram_base = DEFINED(_sram_base) ? _sram_base : 0x00000000;
-_sram_size = DEFINED(_sram_size) ? _sram_size : 16K;
-
-
-
-_irq_stack_size = DEFINED(_irq_stack_size) ? _irq_stack_size : 0x1000;
-_fiq_stack_size = DEFINED(_fiq_stack_size) ? _fiq_stack_size : 0x400;
-_abt_stack_size = DEFINED(_abt_stack_size) ? _abt_stack_size : 0x100;
-_svc_stack_size = DEFINED(_svc_stack_size) ? _svc_stack_size : 0x1000;
-
-
-
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-
-SECTIONS
-{
-    .base :
-    {
-<span style="background-color: #FF0000">       </span>
-       arm_exception_table = .;<span style="background-color: #FF0000">    </span>
-       . += 64;
-    } > sdram
-<span style="background-color: #FF0000">   </span>
-/*    } > sram*/
-
-<span style="background-color: #FF0000">       </span>
-    .init          :<span style="background-color: #FF0000"> </span>
-    {<span style="background-color: #FF0000"> </span>
-        KEEP (*(.init))
-    } > sdram   /*=0*/
-
-    .text      :
-    {
-       _text_start = .;
-        CREATE_OBJECT_SYMBOLS
-       *(.text)<span style="background-color: #FF0000"> </span>
-       *(.text.*)
-
-        /*
-         * Special FreeBSD sysctl sections.
-         */
-        . = ALIGN (16);
-        __start_set_sysctl_set = .;
-        *(set_sysctl_*);
-        __stop_set_sysctl_set = ABSOLUTE(.);
-        *(set_domain_*);
-        *(set_pseudo_*);
-
-       /* .gnu.warning sections are handled specially by elf32.em.  */
-       *(.gnu.warning)
-       *(.gnu.linkonce.t*)
-       *(.glue_7)
-       *(.glue_7t)
-
-       /* I think these come from the ld docs: */<span style="background-color: #FF0000">      </span>
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-
-       _etext = .;
-       PROVIDE (etext = .);
-    } > sdram<span style="background-color: #FF0000">  </span>
</font><font color='#000088'>+REGION_ALIAS ("REGION_START", SDRAM);
+REGION_ALIAS ("REGION_VECTOR", SDRAM);
+REGION_ALIAS ("REGION_TEXT", SDRAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_RODATA", SDRAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_DATA", SDRAM);
+REGION_ALIAS ("REGION_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT", SDRAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA", SDRAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", SDRAM);
+REGION_ALIAS ("REGION_BSS", SDRAM);
+REGION_ALIAS ("REGION_WORK", SDRAM);
+REGION_ALIAS ("REGION_STACK", SDRAM);
</font> 
<font color='#880000'>-    .fini      :
-    {
-        KEEP (*(.fini))
-    } > sdram  /*=0*/
-
-    .data :
-    {<span style="background-color: #FF0000"> </span>
-        *(.data)
-        *(.data.*)
-        *(.gnu.linkonce.d*)
-        *(.jcr)
-        SORT(CONSTRUCTORS)
-        _edata = .;
-    } > sdram<span style="background-color: #FF0000"> </span>
-
-    .eh_frame : { *(.eh_frame) } > sdram
-    .data1   : { *(.data1) } > sdram
-    .eh_frame : { *(.eh_frame) } > sdram
-    .gcc_except_table : { *(.gcc_except_table) } > sdram
-
-    .rodata :
-    {
-      *(.rodata)
-      *(.rodata.*)
-      *(.gnu.linkonce.r*)
-    } > sdram
-
-    .bss       :
-    {
-       _bss_start_ = .;
-       _clear_start = .;
-       *(.bss)
-       *(.bss.*)
-       *(.gnu.linkonce.b.*)
-       *(COMMON)
-       . = ALIGN(64);
-       _clear_end = .;
-
-       . = ALIGN (256);
-       _abt_stack = .;
-       . += _abt_stack_size;
-
-       . = ALIGN (256);
-       _irq_stack = .;
-       . += _irq_stack_size;
-
-       . = ALIGN (256);
-       _fiq_stack = .;
-       . += _fiq_stack_size;
-
-       . = ALIGN (256);
-       _svc_stack = .;
-       . += _svc_stack_size;
-
-       _bss_end_ = .;
-       _end = .;
-       __end = .;
-
-/*<span style="background-color: #FF0000"> </span>
- * Ideally, the MMU's translation table would be in SRAM. But we need
- * 16K which is the size of SRAM. If we do the mapping right, the TLB
- * should be big enough that to hold all the translations that matter,
- * so keeping the table in SDRAM won't be a problem.
- */
-       . = ALIGN (16 * 1024);
-         _ttbl_base = .;
-         . += (16 * 1024);
-
-
-       . = ALIGN (1024);
-       _bss_free_start = .;
-       WorkAreaBase = .;
-
-    } > sdram
-
-
-/* Debugging stuff follows? */
-
-    /* Stabs debugging sections.  */
-    .stab 0 : { *(.stab) }<span style="background-color: #FF0000"> </span>
-    .stabstr 0 : { *(.stabstr) }<span style="background-color: #FF0000"> </span>
-    .stab.excl 0 : { *(.stab.excl) }<span style="background-color: #FF0000"> </span>
-    .stab.exclstr 0 : { *(.stab.exclstr) }
-    .stab.index 0 : { *(.stab.index) }<span style="background-color: #FF0000"> </span>
-    .stab.indexstr 0 : { *(.stab.indexstr) }<span style="background-color: #FF0000"> </span>
-    .comment 0 : { *(.comment) }
-    /* DWARF debug sections.
-       Symbols in the DWARF debugging sections are relative to the beginning
-       of the section so we begin them at 0.  */
-    /* DWARF 1 */
-    .debug          0 : { *(.debug) }
-    .line           0 : { *(.line) }
-    /* GNU DWARF 1 extensions */
-    .debug_srcinfo  0 : { *(.debug_srcinfo) }
-    .debug_sfnames  0 : { *(.debug_sfnames) }
-    /* DWARF 1.1 and DWARF 2 */
-    .debug_aranges  0 : { *(.debug_aranges) }
-    .debug_pubnames 0 : { *(.debug_pubnames) }
-    /* DWARF 2 */
-    .debug_info     0 : { *(.debug_info) }
-    .debug_abbrev   0 : { *(.debug_abbrev) }
-    .debug_line     0 : { *(.debug_line) }
-    .debug_frame    0 : { *(.debug_frame) }
-    .debug_str      0 : { *(.debug_str) }<span style="background-color: #FF0000"> </span>
-    .debug_loc      0 : { *(.debug_loc) }
-    .debug_macinfo  0 : { *(.debug_macinfo) }<span style="background-color: #FF0000"> </span>
-    /* SGI/MIPS DWARF 2 extensions */
-    .debug_weaknames 0 : { *(.debug_weaknames) }
-    .debug_funcnames 0 : { *(.debug_funcnames) }
-    .debug_typenames 0 : { *(.debug_typenames) }
-    .debug_varnames  0 : { *(.debug_varnames) }<span style="background-color: #FF0000"> </span>
-/*    .stack 0x80000 : { _stack = .; *(.stack) }*/
-  /* These must appear regardless of  .  */
-}
</font><font color='#000088'>+_ttbl_base = ORIGIN (SDRAM_MMU);
</font> 
<font color='#000088'>+INCLUDE linkcmds.armv4
</font></pre>
<p> </p>
<a name='cs9'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>Typo.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gba/ChangeLog.diff?r1=text&tr1=1.67&r2=text&tr2=1.68&diff_format=h">M</a></td><td width='1%'>1.68</td><td width='100%'>c/src/lib/libbsp/arm/gba/ChangeLog</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.67 rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.68
--- rtems/c/src/lib/libbsp/arm/gba/ChangeLog:1.67       Fri Dec  3 04:51:22 2010
+++ rtems/c/src/lib/libbsp/arm/gba/ChangeLog    Fri Dec  3 04:57:28 2010
</font><font color='#997700'>@@ -1,6 +1,6 @@
</font> 2010-12-03        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
<font color='#880000'>-   * startup/linkcmds: Use linker command base file.
</font><font color='#000088'>+      * startup/linkcmds: ARM EABI compatibility.
</font> 
 2010-04-30     Sebastian Huber <sebastian.huber@embedded-brains.de>
 
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>