summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-04 17:18:25 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-04 17:18:25 +0000
commit813efa266bb67269669e532b5ce6f00ee2097948 (patch)
treeac30163b79435767a2d5c7a4b350531bb945c3b9
parentd619bef95e6e08dea3d15b52f991e056fb869ebf (diff)
downloadnuttx-813efa266bb67269669e532b5ce6f00ee2097948.tar.gz
nuttx-813efa266bb67269669e532b5ce6f00ee2097948.tar.bz2
nuttx-813efa266bb67269669e532b5ce6f00ee2097948.zip
Massive clean-up of linker scripts from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5307 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--apps/examples/README.txt10
-rw-r--r--nuttx/ChangeLog2
-rwxr-xr-xnuttx/configs/avr32dev1/nsh/ld.script4
-rwxr-xr-xnuttx/configs/avr32dev1/ostest/ld.script4
-rwxr-xr-xnuttx/configs/demo9s12ne64/ostest/ld.script.banked4
-rwxr-xr-xnuttx/configs/demo9s12ne64/ostest/ld.script.nonbanked4
-rw-r--r--nuttx/configs/ea3131/locked/ld-locked.script4
-rw-r--r--nuttx/configs/ea3131/scripts/ld.script28
-rw-r--r--nuttx/configs/ea3131/scripts/pg-ld.script36
-rw-r--r--nuttx/configs/ea3152/scripts/ld.script30
-rw-r--r--nuttx/configs/eagle100/README.txt2
-rw-r--r--nuttx/configs/eagle100/httpd/Make.defs4
-rw-r--r--nuttx/configs/eagle100/nettest/Make.defs4
-rw-r--r--nuttx/configs/eagle100/nettest/ld.script112
-rw-r--r--nuttx/configs/eagle100/nsh/Make.defs4
-rw-r--r--nuttx/configs/eagle100/nsh/ld.script112
-rw-r--r--nuttx/configs/eagle100/nxflat/Make.defs4
-rw-r--r--nuttx/configs/eagle100/nxflat/ld.script112
-rw-r--r--nuttx/configs/eagle100/ostest/Make.defs4
-rw-r--r--nuttx/configs/eagle100/ostest/ld.script112
-rw-r--r--nuttx/configs/eagle100/scripts/ld.script (renamed from nuttx/configs/eagle100/httpd/ld.script)20
-rw-r--r--nuttx/configs/eagle100/thttpd/Make.defs4
-rw-r--r--nuttx/configs/eagle100/thttpd/ld.script112
-rw-r--r--nuttx/configs/ekk-lm3s9b96/scripts/ld.script30
-rw-r--r--nuttx/configs/fire-stm32v2/scripts/ld.script30
-rw-r--r--nuttx/configs/fire-stm32v2/scripts/ld.script.dfu30
-rw-r--r--nuttx/configs/hymini-stm32v/scripts/ld.script30
-rw-r--r--nuttx/configs/hymini-stm32v/scripts/ld.script.dfu30
-rw-r--r--nuttx/configs/kwikstik-k40/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/kwikstik-k40/ostest/ld.script32
-rw-r--r--nuttx/configs/lincoln60/scripts/ld.script32
-rw-r--r--nuttx/configs/lm3s6432-s2e/nsh/Make.defs4
-rw-r--r--nuttx/configs/lm3s6432-s2e/ostest/Make.defs4
-rw-r--r--nuttx/configs/lm3s6432-s2e/ostest/ld.script108
-rw-r--r--nuttx/configs/lm3s6432-s2e/scripts/ld.script (renamed from nuttx/configs/lm3s6432-s2e/nsh/ld.script)34
-rw-r--r--nuttx/configs/lm3s6965-ek/nsh/Make.defs4
-rw-r--r--nuttx/configs/lm3s6965-ek/nx/Make.defs4
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nx/ld.script108
-rw-r--r--nuttx/configs/lm3s6965-ek/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/lm3s6965-ek/ostest/ld.script108
-rwxr-xr-xnuttx/configs/lm3s6965-ek/scripts/ld.script (renamed from nuttx/configs/lm3s6965-ek/nsh/ld.script)34
-rw-r--r--nuttx/configs/lm3s8962-ek/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/lm3s8962-ek/nsh/ld.script108
-rw-r--r--nuttx/configs/lm3s8962-ek/nx/Make.defs4
-rw-r--r--nuttx/configs/lm3s8962-ek/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/lm3s8962-ek/ostest/ld.script108
-rwxr-xr-xnuttx/configs/lm3s8962-ek/scripts/ld.script (renamed from nuttx/configs/lm3s8962-ek/nx/ld.script)34
-rw-r--r--nuttx/configs/lpc4330-xplorer/scripts/ramconfig.ld32
-rw-r--r--nuttx/configs/lpc4330-xplorer/scripts/spificonfig.ld32
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/scripts/ld.script30
-rw-r--r--nuttx/configs/mbed/hidkbd/Make.defs4
-rw-r--r--nuttx/configs/mbed/hidkbd/ld.script109
-rw-r--r--nuttx/configs/mbed/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/mbed/scripts/ld.script (renamed from nuttx/configs/nucleus2g/usbserial/ld.script)34
-rw-r--r--nuttx/configs/mcu123-lpc214x/composite/Make.defs4
-rw-r--r--nuttx/configs/mcu123-lpc214x/composite/ld.script120
-rw-r--r--nuttx/configs/mcu123-lpc214x/nsh/Make.defs4
-rw-r--r--nuttx/configs/mcu123-lpc214x/ostest/Make.defs4
-rw-r--r--nuttx/configs/mcu123-lpc214x/ostest/ld.script119
-rw-r--r--nuttx/configs/mcu123-lpc214x/scripts/ld.script (renamed from nuttx/configs/mcu123-lpc214x/nsh/ld.script)35
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbserial/Make.defs4
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbserial/ld.script119
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbstorage/Make.defs4
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbstorage/ld.script119
-rw-r--r--nuttx/configs/mirtoo/scripts/c32-debug.ld4
-rw-r--r--nuttx/configs/mirtoo/scripts/c32-release.ld10
-rw-r--r--nuttx/configs/mirtoo/scripts/mips-elf-debug.ld4
-rw-r--r--nuttx/configs/mirtoo/scripts/mips-elf-release.ld10
-rw-r--r--nuttx/configs/mirtoo/scripts/xc32-debug.ld4
-rw-r--r--nuttx/configs/mirtoo/scripts/xc32-release.ld10
-rwxr-xr-xnuttx/configs/ne64badge/ostest/ld.script.banked4
-rwxr-xr-xnuttx/configs/ne64badge/ostest/ld.script.nonbanked4
-rw-r--r--nuttx/configs/nucleus2g/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/nucleus2g/nsh/ld.script109
-rw-r--r--nuttx/configs/nucleus2g/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/nucleus2g/ostest/ld.script109
-rwxr-xr-xnuttx/configs/nucleus2g/scripts/ld.script (renamed from nuttx/configs/mbed/nsh/ld.script)34
-rw-r--r--nuttx/configs/nucleus2g/usbserial/Make.defs4
-rw-r--r--nuttx/configs/nucleus2g/usbstorage/Make.defs4
-rwxr-xr-xnuttx/configs/nucleus2g/usbstorage/ld.script109
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/scripts/ld.script30
-rw-r--r--nuttx/configs/olimex-lpc2378/nsh/Make.defs4
-rw-r--r--nuttx/configs/olimex-lpc2378/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/olimex-lpc2378/ostest/ld.script166
-rwxr-xr-xnuttx/configs/olimex-lpc2378/scripts/ld.script (renamed from nuttx/configs/olimex-lpc2378/nsh/ld.script)42
-rw-r--r--nuttx/configs/olimex-stm32-p107/scripts/ld.script30
-rw-r--r--nuttx/configs/olimex-stm32-p107/scripts/ld.script.dfu30
-rw-r--r--nuttx/configs/olimex-strp711/nettest/Make.defs4
-rw-r--r--nuttx/configs/olimex-strp711/nsh/Make.defs4
-rw-r--r--nuttx/configs/olimex-strp711/nsh/ld.script122
-rw-r--r--nuttx/configs/olimex-strp711/ostest/Make.defs4
-rw-r--r--nuttx/configs/olimex-strp711/ostest/ld.script122
-rwxr-xr-xnuttx/configs/olimex-strp711/scripts/ld.script (renamed from nuttx/configs/olimex-strp711/nettest/ld.script)35
-rw-r--r--nuttx/configs/pcblogic-pic32mx/nsh/ld.script10
-rw-r--r--nuttx/configs/pcblogic-pic32mx/ostest/ld.script10
-rw-r--r--nuttx/configs/pic32-starterkit/nsh/ld.script10
-rw-r--r--nuttx/configs/pic32-starterkit/nsh2/ld.script10
-rw-r--r--nuttx/configs/pic32-starterkit/ostest/ld.script10
-rw-r--r--nuttx/configs/pic32mx7mmb/nsh/ld.script10
-rw-r--r--nuttx/configs/pic32mx7mmb/ostest/ld.script10
-rwxr-xr-xnuttx/configs/qemu-i486/nsh/ld.script4
-rwxr-xr-xnuttx/configs/qemu-i486/ostest/ld.script4
-rw-r--r--nuttx/configs/sam3u-ek/kernel/kernel.ld32
-rwxr-xr-xnuttx/configs/sam3u-ek/knsh/ld.script32
-rw-r--r--nuttx/configs/sam3u-ek/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/sam3u-ek/nsh/ld.script111
-rw-r--r--nuttx/configs/sam3u-ek/nx/Make.defs4
-rw-r--r--nuttx/configs/sam3u-ek/ostest/Make.defs4
-rwxr-xr-xnuttx/configs/sam3u-ek/ostest/ld.script111
-rwxr-xr-xnuttx/configs/sam3u-ek/scripts/ld.script (renamed from nuttx/configs/sam3u-ek/nx/ld.script)8
-rw-r--r--nuttx/configs/sam3u-ek/touchscreen/Make.defs4
-rwxr-xr-xnuttx/configs/sam3u-ek/touchscreen/ld.script111
-rw-r--r--nuttx/configs/shenzhou/scripts/ld.script12
-rw-r--r--nuttx/configs/shenzhou/scripts/ld.script.dfu12
-rw-r--r--nuttx/configs/stm3210e-eval/RIDE/README.txt76
-rwxr-xr-xnuttx/configs/stm3210e-eval/RIDE/nuttx.elf.ld4
-rwxr-xr-xnuttx/configs/stm3210e-eval/RIDE/nuttx.rapp2
-rwxr-xr-xnuttx/configs/stm3210e-eval/RIDE/stm32-nuttx.ld111
-rw-r--r--nuttx/configs/stm3210e-eval/scripts/ld.script30
-rw-r--r--nuttx/configs/stm3210e-eval/scripts/ld.script.dfu30
-rw-r--r--nuttx/configs/stm3220g-eval/scripts/ld.script12
-rw-r--r--nuttx/configs/stm3240g-eval/scripts/ld.script12
-rw-r--r--nuttx/configs/stm32f4discovery/scripts/ld.script12
-rw-r--r--nuttx/configs/sure-pic32mx/nsh/ld.script10
-rw-r--r--nuttx/configs/sure-pic32mx/ostest/ld.script10
-rw-r--r--nuttx/configs/sure-pic32mx/usbnsh/ld.script10
-rw-r--r--nuttx/configs/twr-k60n512/nsh/Make.defs4
-rw-r--r--nuttx/configs/twr-k60n512/ostest/Make.defs4
-rw-r--r--nuttx/configs/twr-k60n512/ostest/ld.script135
-rw-r--r--nuttx/configs/twr-k60n512/scripts/ld.script (renamed from nuttx/configs/twr-k60n512/nsh/ld.script)34
-rw-r--r--nuttx/configs/ubw32/nsh/ld.script10
-rw-r--r--nuttx/configs/ubw32/ostest/ld.script10
-rw-r--r--nuttx/configs/vsn/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/vsn/nsh/ld.script34
-rwxr-xr-xnuttx/configs/vsn/nsh/ld.script.dfu34
135 files changed, 861 insertions, 3675 deletions
diff --git a/apps/examples/README.txt b/apps/examples/README.txt
index fd0dcf5c5..3bc6e50b5 100644
--- a/apps/examples/README.txt
+++ b/apps/examples/README.txt
@@ -594,6 +594,11 @@ examples/lcdrw
* CONFIG_EXAMPLES_LDCRW_YRES
LCD Y resolution. Default: 320
+ NOTE: This test exercises internal lcd driver interfaces. As such, it
+ relies on internal OS interfaces that are not normally available to a
+ user-space program. As a result, this example cannot be used if a
+ NuttX is built as a protected, supervisor kernel (CONFIG_NUTTX_KERNEL).
+
examples/mm
^^^^^^^^^^^
@@ -1226,6 +1231,11 @@ examples/relays
Requires CONFIG_ARCH_RELAYS.
Contributed by Darcy Gong.
+ NOTE: This test exercises internal relay driver interfaces. As such, it
+ relies on internal OS interfaces that are not normally available to a
+ user-space program. As a result, this example cannot be used if a
+ NuttX is built as a protected, supervisor kernel (CONFIG_NUTTX_KERNEL).
+
examples/rgmp
^^^^^^^^^^^^^
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 06bc13fd6..3b60fc812 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3562,4 +3562,6 @@
and this results in a crash. On the STM324Discovery, I will have
better control over when the static constructors run.
* RGMP 4.0 updated from Qiany Yu.
+ * configs/*/Make.defs and configs/*/ld.script: Massive clean-up
+ and standardization of linker scripts from Freddie Chopin.
diff --git a/nuttx/configs/avr32dev1/nsh/ld.script b/nuttx/configs/avr32dev1/nsh/ld.script
index 1a7035a73..5f661ca44 100755
--- a/nuttx/configs/avr32dev1/nsh/ld.script
+++ b/nuttx/configs/avr32dev1/nsh/ld.script
@@ -58,10 +58,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/avr32dev1/ostest/ld.script b/nuttx/configs/avr32dev1/ostest/ld.script
index 189a9ebe3..f878abef8 100755
--- a/nuttx/configs/avr32dev1/ostest/ld.script
+++ b/nuttx/configs/avr32dev1/ostest/ld.script
@@ -58,10 +58,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/demo9s12ne64/ostest/ld.script.banked b/nuttx/configs/demo9s12ne64/ostest/ld.script.banked
index 798658f39..812f5f19c 100755
--- a/nuttx/configs/demo9s12ne64/ostest/ld.script.banked
+++ b/nuttx/configs/demo9s12ne64/ostest/ld.script.banked
@@ -90,10 +90,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/demo9s12ne64/ostest/ld.script.nonbanked b/nuttx/configs/demo9s12ne64/ostest/ld.script.nonbanked
index ab36d1c4e..fae728f62 100755
--- a/nuttx/configs/demo9s12ne64/ostest/ld.script.nonbanked
+++ b/nuttx/configs/demo9s12ne64/ostest/ld.script.nonbanked
@@ -63,10 +63,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/ea3131/locked/ld-locked.script b/nuttx/configs/ea3131/locked/ld-locked.script
index 955505364..334c328c0 100644
--- a/nuttx/configs/ea3131/locked/ld-locked.script
+++ b/nuttx/configs/ea3131/locked/ld-locked.script
@@ -38,6 +38,6 @@ OUTPUT_ARCH(arm)
SECTIONS
{
.text.locked : { *(.text .text.*) }
- .data : { *(.data) }
- .bss : { *(.bss) *(COMMON) }
+ .data : { *(.data) }
+ .bss : { *(.bss) *(COMMON) }
}
diff --git a/nuttx/configs/ea3131/scripts/ld.script b/nuttx/configs/ea3131/scripts/ld.script
index 333117c19..72a3d9f97 100644
--- a/nuttx/configs/ea3131/scripts/ld.script
+++ b/nuttx/configs/ea3131/scripts/ld.script
@@ -51,10 +51,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -64,19 +64,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
} > isram
.ARM.extab : {
*(.ARM.extab*)
- } >isram
+ } > isram
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
@@ -84,6 +80,16 @@ SECTIONS
} > isram
__exidx_end = ABSOLUTE(.);
+ _eronly = ABSOLUTE(.);
+
+ .data : {
+ _sdata = ABSOLUTE(.);
+ *(.data .data.*)
+ *(.gnu.linkonce.d.*)
+ CONSTRUCTORS
+ _edata = ABSOLUTE(.);
+ } > isram
+
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/ea3131/scripts/pg-ld.script b/nuttx/configs/ea3131/scripts/pg-ld.script
index 90a713c7d..d7c1f1d4d 100644
--- a/nuttx/configs/ea3131/scripts/pg-ld.script
+++ b/nuttx/configs/ea3131/scripts/pg-ld.script
@@ -32,7 +32,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
-
+
/* The LPC3131 has 192Kb of ISRAM beginning at virtual address 0x1102:8000.
* LPC31xx boot ROM expects the boot image be compiled with entry point at
* 0x1102:9000. A 128b header will appear at this address (applied by
@@ -80,10 +80,10 @@ SECTIONS
.locked : {
_slocked = ABSOLUTE(.);
*(.vectors)
- up_head.o locked.r (.text .text.*)
+ up_head.o locked.r (.text .text.*)
up_head.o locked.r (.fixup)
up_head.o locked.r (.gnu.warning)
- up_head.o locked.r (.rodata .rodata.*)
+ up_head.o locked.r (.rodata .rodata.*)
up_head.o locked.r (.gnu.linkonce.t.*)
up_head.o locked.r (.glue_7)
up_head.o locked.r (.glue_7t)
@@ -93,14 +93,30 @@ SECTIONS
_elocked = ABSOLUTE(.);
} >locked
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > locked
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > locked
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > locked
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.paged : {
_spaged = ABSOLUTE(.);
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -118,16 +134,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > data AT > locked
- .ARM.extab : {
- *(.ARM.extab*)
- } >data
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } > data
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/ea3152/scripts/ld.script b/nuttx/configs/ea3152/scripts/ld.script
index cf5b5d519..ff1578df2 100644
--- a/nuttx/configs/ea3152/scripts/ld.script
+++ b/nuttx/configs/ea3152/scripts/ld.script
@@ -51,10 +51,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -64,6 +64,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > isram
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > isram
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > isram
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -74,16 +90,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
- .ARM.extab : {
- *(.ARM.extab*)
- } >isram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } > isram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/eagle100/README.txt b/nuttx/configs/eagle100/README.txt
index c9253960a..ce607c764 100644
--- a/nuttx/configs/eagle100/README.txt
+++ b/nuttx/configs/eagle100/README.txt
@@ -100,7 +100,7 @@ CodeSourcery on Linux
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -O2
The values for TOPDIR is provided by the make system; the value for CONFIG_ARCH_BOARD
diff --git a/nuttx/configs/eagle100/httpd/Make.defs b/nuttx/configs/eagle100/httpd/Make.defs
index dc252dfb3..4d5024d24 100644
--- a/nuttx/configs/eagle100/httpd/Make.defs
+++ b/nuttx/configs/eagle100/httpd/Make.defs
@@ -60,7 +60,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/httpd/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -70,7 +70,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/httpd/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/nettest/Make.defs b/nuttx/configs/eagle100/nettest/Make.defs
index 3de14846e..98b544ed9 100644
--- a/nuttx/configs/eagle100/nettest/Make.defs
+++ b/nuttx/configs/eagle100/nettest/Make.defs
@@ -60,7 +60,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nettest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -70,7 +70,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nettest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/nettest/ld.script b/nuttx/configs/eagle100/nettest/ld.script
deleted file mode 100644
index 4997200af..000000000
--- a/nuttx/configs/eagle100/nettest/ld.script
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
- * configs/eagle100/nettest/ld.script
- *
- * Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6918 has 256Kb of FLASH beginning at address 0x0000:0000. However,
- * if the Eagle100 Ethernet bootloader is used, then the entry point must
- * be at the following offset in FLASH (and the size of the FLASH must be
- * reduced to 248Kb):
- */
-
-MEMORY
-{
-/* flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K */
- flash (rx) : ORIGIN = 0x00002000, LENGTH = 248K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > flash
- __exidx_end = ABSOLUTE(.);
-
- _eronly = ABSOLUTE(.);
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/eagle100/nsh/Make.defs b/nuttx/configs/eagle100/nsh/Make.defs
index ff6675933..efd473f7a 100644
--- a/nuttx/configs/eagle100/nsh/Make.defs
+++ b/nuttx/configs/eagle100/nsh/Make.defs
@@ -60,7 +60,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -70,7 +70,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/nsh/ld.script b/nuttx/configs/eagle100/nsh/ld.script
deleted file mode 100644
index cdf1a4110..000000000
--- a/nuttx/configs/eagle100/nsh/ld.script
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
- * configs/eagle100/nsh/ld.script
- *
- * Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6918 has 256Kb of FLASH beginning at address 0x0000:0000. However,
- * if the Eagle100 Ethernet bootloader is used, then the entry point must
- * be at the following offset in FLASH (and the size of the FLASH must be
- * reduced to 248Kb):
- */
-
-MEMORY
-{
-/* flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K */
- flash (rx) : ORIGIN = 0x00002000, LENGTH = 248K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > flash
- __exidx_end = ABSOLUTE(.);
-
- _eronly = ABSOLUTE(.);
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/eagle100/nxflat/Make.defs b/nuttx/configs/eagle100/nxflat/Make.defs
index 780e85850..6c6965d20 100644
--- a/nuttx/configs/eagle100/nxflat/Make.defs
+++ b/nuttx/configs/eagle100/nxflat/Make.defs
@@ -63,7 +63,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nxflat/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -73,7 +73,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nxflat/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/nxflat/ld.script b/nuttx/configs/eagle100/nxflat/ld.script
deleted file mode 100644
index 153e777b5..000000000
--- a/nuttx/configs/eagle100/nxflat/ld.script
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
- * configs/eagle100/nxflat/ld.script
- *
- * Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6918 has 256Kb of FLASH beginning at address 0x0000:0000. However,
- * if the Eagle100 Ethernet bootloader is used, then the entry point must
- * be at the following offset in FLASH (and the size of the FLASH must be
- * reduced to 248Kb):
- */
-
-MEMORY
-{
-/* flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K */
- flash (rx) : ORIGIN = 0x00002000, LENGTH = 248K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > flash
- __exidx_end = ABSOLUTE(.);
-
- _eronly = ABSOLUTE(.);
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/eagle100/ostest/Make.defs b/nuttx/configs/eagle100/ostest/Make.defs
index 78db5644e..f28f6d90b 100644
--- a/nuttx/configs/eagle100/ostest/Make.defs
+++ b/nuttx/configs/eagle100/ostest/Make.defs
@@ -60,7 +60,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -70,7 +70,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/ostest/ld.script b/nuttx/configs/eagle100/ostest/ld.script
deleted file mode 100644
index 10c2f0cfa..000000000
--- a/nuttx/configs/eagle100/ostest/ld.script
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
- * configs/eagle100/ostest/ld.script
- *
- * Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6918 has 256Kb of FLASH beginning at address 0x0000:0000. However,
- * if the Eagle100 Ethernet bootloader is used, then the entry point must
- * be at the following offset in FLASH (and the size of the FLASH must be
- * reduced to 248Kb):
- */
-
-MEMORY
-{
-/* flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K */
- flash (rx) : ORIGIN = 0x00002000, LENGTH = 248K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > flash
- __exidx_end = ABSOLUTE(.);
-
- _eronly = ABSOLUTE(.);
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/eagle100/httpd/ld.script b/nuttx/configs/eagle100/scripts/ld.script
index 24e9c90b7..038230769 100644
--- a/nuttx/configs/eagle100/httpd/ld.script
+++ b/nuttx/configs/eagle100/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/eagle100/httpd/ld.script
+ * configs/eagle100/scripts/ld.script
*
* Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,6 +66,16 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
@@ -84,10 +94,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/eagle100/thttpd/Make.defs b/nuttx/configs/eagle100/thttpd/Make.defs
index 87157525b..83abbe411 100644
--- a/nuttx/configs/eagle100/thttpd/Make.defs
+++ b/nuttx/configs/eagle100/thttpd/Make.defs
@@ -63,7 +63,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/thttpd/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -73,7 +73,7 @@ else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/thttpd/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/eagle100/thttpd/ld.script b/nuttx/configs/eagle100/thttpd/ld.script
deleted file mode 100644
index 7a1d7c75d..000000000
--- a/nuttx/configs/eagle100/thttpd/ld.script
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
- * configs/eagle100/thttpd/ld.script
- *
- * Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6918 has 256Kb of FLASH beginning at address 0x0000:0000. However,
- * if the Eagle100 Ethernet bootloader is used, then the entry point must
- * be at the following offset in FLASH (and the size of the FLASH must be
- * reduced to 248Kb):
- */
-
-MEMORY
-{
-/* flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K */
- flash (rx) : ORIGIN = 0x00002000, LENGTH = 248K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > flash
- __exidx_end = ABSOLUTE(.);
-
- _eronly = ABSOLUTE(.);
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/ekk-lm3s9b96/scripts/ld.script b/nuttx/configs/ekk-lm3s9b96/scripts/ld.script
index 22d2edfdb..a85999f6e 100644
--- a/nuttx/configs/ekk-lm3s9b96/scripts/ld.script
+++ b/nuttx/configs/ekk-lm3s9b96/scripts/ld.script
@@ -51,10 +51,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -64,6 +64,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -74,16 +90,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/fire-stm32v2/scripts/ld.script b/nuttx/configs/fire-stm32v2/scripts/ld.script
index 443dec50d..225af3834 100644
--- a/nuttx/configs/fire-stm32v2/scripts/ld.script
+++ b/nuttx/configs/fire-stm32v2/scripts/ld.script
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,6 +66,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -78,16 +94,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/fire-stm32v2/scripts/ld.script.dfu b/nuttx/configs/fire-stm32v2/scripts/ld.script.dfu
index c7add1422..fd6576cc3 100644
--- a/nuttx/configs/fire-stm32v2/scripts/ld.script.dfu
+++ b/nuttx/configs/fire-stm32v2/scripts/ld.script.dfu
@@ -52,10 +52,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -65,6 +65,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -77,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/hymini-stm32v/scripts/ld.script b/nuttx/configs/hymini-stm32v/scripts/ld.script
index cef391bf4..15370f39a 100644
--- a/nuttx/configs/hymini-stm32v/scripts/ld.script
+++ b/nuttx/configs/hymini-stm32v/scripts/ld.script
@@ -54,10 +54,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -67,6 +67,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */
@@ -79,16 +95,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/hymini-stm32v/scripts/ld.script.dfu b/nuttx/configs/hymini-stm32v/scripts/ld.script.dfu
index 1f51a9fc3..23ab5e196 100644
--- a/nuttx/configs/hymini-stm32v/scripts/ld.script.dfu
+++ b/nuttx/configs/hymini-stm32v/scripts/ld.script.dfu
@@ -52,10 +52,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -65,6 +65,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */
@@ -77,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/kwikstik-k40/ostest/Make.defs b/nuttx/configs/kwikstik-k40/ostest/Make.defs
index a51f37e94..f239d872d 100644
--- a/nuttx/configs/kwikstik-k40/ostest/Make.defs
+++ b/nuttx/configs/kwikstik-k40/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/kwikstik-k40/ostest/ld.script b/nuttx/configs/kwikstik-k40/ostest/ld.script
index 2b7b517fa..97ac473ca 100755
--- a/nuttx/configs/kwikstik-k40/ostest/ld.script
+++ b/nuttx/configs/kwikstik-k40/ostest/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/kwikstik-k40/ostest/ld.script
+ * configs/kwikstik-k40/scripts/ld.script
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -70,10 +70,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -83,6 +83,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > progflash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > progflash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > progflash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > progflash
+ __exidx_end = ABSOLUTE(.);
+
.data : {
_sdata = ABSOLUTE(.);
*(.data .data.*)
@@ -101,16 +117,6 @@ SECTIONS
_framfuncs = LOADADDR(.ramfunc);
- .ARM.extab : {
- *(.ARM.extab*)
- } > datasram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > datasram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lincoln60/scripts/ld.script b/nuttx/configs/lincoln60/scripts/ld.script
index 262e62df8..ece01a00a 100644
--- a/nuttx/configs/lincoln60/scripts/ld.script
+++ b/nuttx/configs/lincoln60/scripts/ld.script
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,26 +66,32 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
.ARM.extab : {
*(.ARM.extab*)
- } >sram
+ } > flash
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
- } >sram
+ } > flash
__exidx_end = ABSOLUTE(.);
+ _eronly = ABSOLUTE(.);
+
+ .data : {
+ _sdata = ABSOLUTE(.);
+ *(.data .data.*)
+ *(.gnu.linkonce.d.*)
+ CONSTRUCTORS
+ _edata = ABSOLUTE(.);
+ } > sram AT > flash
+
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lm3s6432-s2e/nsh/Make.defs b/nuttx/configs/lm3s6432-s2e/nsh/Make.defs
index c9ade8028..795d928d2 100644
--- a/nuttx/configs/lm3s6432-s2e/nsh/Make.defs
+++ b/nuttx/configs/lm3s6432-s2e/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s6432-s2e/ostest/Make.defs b/nuttx/configs/lm3s6432-s2e/ostest/Make.defs
index 5f48145bf..8a0fc0317 100644
--- a/nuttx/configs/lm3s6432-s2e/ostest/Make.defs
+++ b/nuttx/configs/lm3s6432-s2e/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s6432-s2e/ostest/ld.script b/nuttx/configs/lm3s6432-s2e/ostest/ld.script
deleted file mode 100644
index bfbf8d302..000000000
--- a/nuttx/configs/lm3s6432-s2e/ostest/ld.script
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * configs/lm3s6432-s2e/ostest/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6432 has 96Kb of FLASH beginning at address 0x0000:0000 and 32Kb
- * of SRAM beginning at 0x2000:0000.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 96K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The LM3S6432 has 32Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/lm3s6432-s2e/nsh/ld.script b/nuttx/configs/lm3s6432-s2e/scripts/ld.script
index 0701841c5..555eb77ba 100644
--- a/nuttx/configs/lm3s6432-s2e/nsh/ld.script
+++ b/nuttx/configs/lm3s6432-s2e/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/lm3s6432-s2e/nsh/ld.script
+ * configs/lm3s6432-s2e/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -50,10 +50,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -63,7 +63,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
/* The LM3S6432 has 32Kb of SRAM beginning at the following address */
@@ -75,16 +91,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lm3s6965-ek/nsh/Make.defs b/nuttx/configs/lm3s6965-ek/nsh/Make.defs
index 6fc8616aa..72ea6b151 100644
--- a/nuttx/configs/lm3s6965-ek/nsh/Make.defs
+++ b/nuttx/configs/lm3s6965-ek/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s6965-ek/nx/Make.defs b/nuttx/configs/lm3s6965-ek/nx/Make.defs
index 887bb823a..2a409101b 100644
--- a/nuttx/configs/lm3s6965-ek/nx/Make.defs
+++ b/nuttx/configs/lm3s6965-ek/nx/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s6965-ek/nx/ld.script b/nuttx/configs/lm3s6965-ek/nx/ld.script
deleted file mode 100755
index dcb12fa99..000000000
--- a/nuttx/configs/lm3s6965-ek/nx/ld.script
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * configs/lm3s6965-ek/nx/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6965 has 256Kb of FLASH beginning at address 0x0000:0000 and 64Kb
- * of SRAM beginning at 0x2000:0000.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/lm3s6965-ek/ostest/Make.defs b/nuttx/configs/lm3s6965-ek/ostest/Make.defs
index 0c02e22bb..ae376da0c 100644
--- a/nuttx/configs/lm3s6965-ek/ostest/Make.defs
+++ b/nuttx/configs/lm3s6965-ek/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s6965-ek/ostest/ld.script b/nuttx/configs/lm3s6965-ek/ostest/ld.script
deleted file mode 100755
index e330f35ae..000000000
--- a/nuttx/configs/lm3s6965-ek/ostest/ld.script
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * configs/lm3s6965-ek/ostest/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S6965 has 256Kb of FLASH beginning at address 0x0000:0000 and 64Kb
- * of SRAM beginning at 0x2000:0000.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/lm3s6965-ek/nsh/ld.script b/nuttx/configs/lm3s6965-ek/scripts/ld.script
index d3a0d668e..7350cf5ee 100755
--- a/nuttx/configs/lm3s6965-ek/nsh/ld.script
+++ b/nuttx/configs/lm3s6965-ek/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/lm3s6965-ek/nsh/ld.script
+ * configs/lm3s6965-ek/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -50,10 +50,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -63,7 +63,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
/* The LM3S6918 has 64Kb of SRAM beginning at the following address */
@@ -75,16 +91,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lm3s8962-ek/nsh/Make.defs b/nuttx/configs/lm3s8962-ek/nsh/Make.defs
index 671ccec32..b0b57559c 100644
--- a/nuttx/configs/lm3s8962-ek/nsh/Make.defs
+++ b/nuttx/configs/lm3s8962-ek/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s8962-ek/nsh/ld.script b/nuttx/configs/lm3s8962-ek/nsh/ld.script
deleted file mode 100755
index fdf7c8968..000000000
--- a/nuttx/configs/lm3s8962-ek/nsh/ld.script
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * configs/lm3s8962-ek/nsh/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S8962 has 256Kb of FLASH beginning at address 0x0000:0000 and 64Kb
- * of SRAM beginning at 0x2000:0000.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/lm3s8962-ek/nx/Make.defs b/nuttx/configs/lm3s8962-ek/nx/Make.defs
index 2563c58dd..7d0d0aa55 100644
--- a/nuttx/configs/lm3s8962-ek/nx/Make.defs
+++ b/nuttx/configs/lm3s8962-ek/nx/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s8962-ek/ostest/Make.defs b/nuttx/configs/lm3s8962-ek/ostest/Make.defs
index 2559ed89a..50368f34f 100644
--- a/nuttx/configs/lm3s8962-ek/ostest/Make.defs
+++ b/nuttx/configs/lm3s8962-ek/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/lm3s8962-ek/ostest/ld.script b/nuttx/configs/lm3s8962-ek/ostest/ld.script
deleted file mode 100755
index 6aa9f5f37..000000000
--- a/nuttx/configs/lm3s8962-ek/ostest/ld.script
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * configs/lm3s8962-ek/ostest/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LM3S8962 has 256Kb of FLASH beginning at address 0x0000:0000 and 64Kb
- * of SRAM beginning at 0x2000:0000.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/lm3s8962-ek/nx/ld.script b/nuttx/configs/lm3s8962-ek/scripts/ld.script
index 71f0be6c5..ccb22ddfa 100755
--- a/nuttx/configs/lm3s8962-ek/nx/ld.script
+++ b/nuttx/configs/lm3s8962-ek/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/lm3s8962-ek/nx/ld.script
+ * configs/lm3s8962-ek/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -50,10 +50,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -63,7 +63,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
/* The LM3S6918 has 64Kb of SRAM beginning at the following address */
@@ -75,16 +91,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lpc4330-xplorer/scripts/ramconfig.ld b/nuttx/configs/lpc4330-xplorer/scripts/ramconfig.ld
index f44d6181e..d95612020 100644
--- a/nuttx/configs/lpc4330-xplorer/scripts/ramconfig.ld
+++ b/nuttx/configs/lpc4330-xplorer/scripts/ramconfig.ld
@@ -88,10 +88,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -101,7 +101,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > progmem
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > progmem
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > progmem
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > progmem
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
.data : {
_sdata = ABSOLUTE(.);
@@ -111,16 +127,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > datamem AT > progmem
- .ARM.extab : {
- *(.ARM.extab*)
- } >datamem
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >datamem
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lpc4330-xplorer/scripts/spificonfig.ld b/nuttx/configs/lpc4330-xplorer/scripts/spificonfig.ld
index 1b8df48b2..8ed668bee 100644
--- a/nuttx/configs/lpc4330-xplorer/scripts/spificonfig.ld
+++ b/nuttx/configs/lpc4330-xplorer/scripts/spificonfig.ld
@@ -84,10 +84,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -97,7 +97,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > progmem
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > progmem
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > progmem
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > progmem
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
.data : {
_sdata = ABSOLUTE(.);
@@ -107,16 +123,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > datamem AT > progmem
- .ARM.extab : {
- *(.ARM.extab*)
- } >datamem
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >datamem
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/lpcxpresso-lpc1768/scripts/ld.script b/nuttx/configs/lpcxpresso-lpc1768/scripts/ld.script
index bdfa15547..67e3a4f15 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/scripts/ld.script
+++ b/nuttx/configs/lpcxpresso-lpc1768/scripts/ld.script
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,6 +66,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -76,16 +92,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/mbed/hidkbd/Make.defs b/nuttx/configs/mbed/hidkbd/Make.defs
index b1dfb73e1..92c6c7cea 100644
--- a/nuttx/configs/mbed/hidkbd/Make.defs
+++ b/nuttx/configs/mbed/hidkbd/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/hidkbd/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/hidkbd/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/mbed/hidkbd/ld.script b/nuttx/configs/mbed/hidkbd/ld.script
deleted file mode 100644
index 152f8bc2a..000000000
--- a/nuttx/configs/mbed/hidkbd/ld.script
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * configs/olimex-lpc1766stk/hidkbd/ld.script
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LPC1766 has 256Kb of FLASH beginning at address 0x0000:0000 and
- * 64Kb of total SRAM: 32Kb of SRAM in the CPU block beginning at address
- * 0x10000000 and 32Kb of AHB SRAM in two banks of 16Kb beginning at addresses
- * 0x20070000 and 0x20080000. Here we assume that .data and .bss will all fit
- * into the 32Kb CPU SRAM address range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mbed/nsh/Make.defs b/nuttx/configs/mbed/nsh/Make.defs
index f1983a7b7..9a72736d2 100644
--- a/nuttx/configs/mbed/nsh/Make.defs
+++ b/nuttx/configs/mbed/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/nucleus2g/usbserial/ld.script b/nuttx/configs/mbed/scripts/ld.script
index 2fa9249ff..2d90a7608 100755
--- a/nuttx/configs/nucleus2g/usbserial/ld.script
+++ b/nuttx/configs/mbed/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/nucleus2g/usbserial/ld.script
+ * configs/nucleus2g/mbed/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,7 +66,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
.data : {
_sdata = ABSOLUTE(.);
@@ -76,16 +92,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/mcu123-lpc214x/composite/Make.defs b/nuttx/configs/mcu123-lpc214x/composite/Make.defs
index fcbc0b809..7b9b8f22f 100644
--- a/nuttx/configs/mcu123-lpc214x/composite/Make.defs
+++ b/nuttx/configs/mcu123-lpc214x/composite/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/composite/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/composite/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/mcu123-lpc214x/composite/ld.script b/nuttx/configs/mcu123-lpc214x/composite/ld.script
deleted file mode 100644
index 4065f2991..000000000
--- a/nuttx/configs/mcu123-lpc214x/composite/ld.script
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
- * configs/mcu123-lpc214x/composite/ld.script
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* FLASH:
- * The lpc2148 has 512Kb of non-volatile memory beginning at address
- * 0x00000000. The OS entry point is via the reset vector at address
- * 0x00000000 (default MEMMAP mode assumed)
- *
- * SRAM:
- * The lpc2148 has 32Kb of on-chip static RAM beginning at address
- * 0x40000000. The first 512 bytes of RAM are reserved for used by
- * the bootloader. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 500K
- sram (rw) : ORIGIN = 0x40000200, LENGTH = 32K - 512 - 32
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mcu123-lpc214x/nsh/Make.defs b/nuttx/configs/mcu123-lpc214x/nsh/Make.defs
index eed15974a..ddccbb473 100644
--- a/nuttx/configs/mcu123-lpc214x/nsh/Make.defs
+++ b/nuttx/configs/mcu123-lpc214x/nsh/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/mcu123-lpc214x/ostest/Make.defs b/nuttx/configs/mcu123-lpc214x/ostest/Make.defs
index 46beab526..255515a42 100644
--- a/nuttx/configs/mcu123-lpc214x/ostest/Make.defs
+++ b/nuttx/configs/mcu123-lpc214x/ostest/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/mcu123-lpc214x/ostest/ld.script b/nuttx/configs/mcu123-lpc214x/ostest/ld.script
deleted file mode 100644
index 590e490eb..000000000
--- a/nuttx/configs/mcu123-lpc214x/ostest/ld.script
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
- * configs/mcu123-lpc214x/ostest/ld.script
- *
- * Copyright (C) 2007-2009, 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* FLASH:
- * The lpc2148 has 512Kb of non-volatile memory beginning at address
- * 0x00000000. The OS entry point is via the reset vector at address
- * 0x00000000 (default MEMMAP mode assumed)
- *
- * SRAM:
- * The lpc2148 has 32Kb of on-chip static RAM beginning at address
- * 0x40000000. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 500K
- sram (rw) : ORIGIN = 0x40000000, LENGTH = 32K - 32
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mcu123-lpc214x/nsh/ld.script b/nuttx/configs/mcu123-lpc214x/scripts/ld.script
index d6128621b..8ce83748f 100644
--- a/nuttx/configs/mcu123-lpc214x/nsh/ld.script
+++ b/nuttx/configs/mcu123-lpc214x/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/mcu123-lpc214x/nsh/ld.script
+ * configs/mcu123-lpc214x/scripts/ld.script
*
* Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -70,31 +70,32 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
.ARM.extab : {
*(.ARM.extab*)
- } >sram
+ } > flash
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
- } >sram
+ } > flash
__exidx_end = ABSOLUTE(.);
+ _eronly = ABSOLUTE(.);
+
+ .data : {
+ _sdata = ABSOLUTE(.);
+ *(.data .data.*)
+ *(.gnu.linkonce.d.*)
+ CONSTRUCTORS
+ _edata = ABSOLUTE(.);
+ } > sram AT > flash
+
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/Make.defs b/nuttx/configs/mcu123-lpc214x/usbserial/Make.defs
index 377c39b1d..6f05d79f7 100644
--- a/nuttx/configs/mcu123-lpc214x/usbserial/Make.defs
+++ b/nuttx/configs/mcu123-lpc214x/usbserial/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbserial/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbserial/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/ld.script b/nuttx/configs/mcu123-lpc214x/usbserial/ld.script
deleted file mode 100644
index c73d9bda5..000000000
--- a/nuttx/configs/mcu123-lpc214x/usbserial/ld.script
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
- * configs/mcu123-lpc214x/usbserial/ld.script
- *
- * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* FLASH:
- * The lpc2148 has 512Kb of non-volatile memory beginning at address
- * 0x00000000. The OS entry point is via the reset vector at address
- * 0x00000000 (default MEMMAP mode assumed)
- *
- * SRAM:
- * The lpc2148 has 32Kb of on-chip static RAM beginning at address
- * 0x40000000. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 500K
- sram (rw) : ORIGIN = 0x40000000, LENGTH = 32K - 32
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/Make.defs b/nuttx/configs/mcu123-lpc214x/usbstorage/Make.defs
index d26a22d6f..35ea7af7a 100644
--- a/nuttx/configs/mcu123-lpc214x/usbstorage/Make.defs
+++ b/nuttx/configs/mcu123-lpc214x/usbstorage/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbstorage/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbstorage/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/ld.script b/nuttx/configs/mcu123-lpc214x/usbstorage/ld.script
deleted file mode 100644
index 41404fa6e..000000000
--- a/nuttx/configs/mcu123-lpc214x/usbstorage/ld.script
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
- * configs/mcu123-lpc214x/usbstorage/ld.script
- *
- * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* FLASH:
- * The lpc2148 has 512Kb of non-volatile memory beginning at address
- * 0x00000000. The OS entry point is via the reset vector at address
- * 0x00000000 (default MEMMAP mode assumed)
- *
- * SRAM:
- * The lpc2148 has 32Kb of on-chip static RAM beginning at address
- * 0x40000000. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 500K
- sram (rw) : ORIGIN = 0x40000000, LENGTH = 32K - 32
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mirtoo/scripts/c32-debug.ld b/nuttx/configs/mirtoo/scripts/c32-debug.ld
index d91aa5e72..161c5b81e 100644
--- a/nuttx/configs/mirtoo/scripts/c32-debug.ld
+++ b/nuttx/configs/mirtoo/scripts/c32-debug.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -179,7 +179,7 @@ SECTIONS
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/mirtoo/scripts/c32-release.ld b/nuttx/configs/mirtoo/scripts/c32-release.ld
index 05f0ecc06..e34a3b8e1 100644
--- a/nuttx/configs/mirtoo/scripts/c32-release.ld
+++ b/nuttx/configs/mirtoo/scripts/c32-release.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -166,8 +166,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -176,12 +176,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/mirtoo/scripts/mips-elf-debug.ld b/nuttx/configs/mirtoo/scripts/mips-elf-debug.ld
index c08ba13c8..990bc154b 100644
--- a/nuttx/configs/mirtoo/scripts/mips-elf-debug.ld
+++ b/nuttx/configs/mirtoo/scripts/mips-elf-debug.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -179,7 +179,7 @@ SECTIONS
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/mirtoo/scripts/mips-elf-release.ld b/nuttx/configs/mirtoo/scripts/mips-elf-release.ld
index ce64e67a5..2c3ee892f 100644
--- a/nuttx/configs/mirtoo/scripts/mips-elf-release.ld
+++ b/nuttx/configs/mirtoo/scripts/mips-elf-release.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -166,8 +166,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -176,12 +176,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/mirtoo/scripts/xc32-debug.ld b/nuttx/configs/mirtoo/scripts/xc32-debug.ld
index 7582dcaab..3c5cc949d 100644
--- a/nuttx/configs/mirtoo/scripts/xc32-debug.ld
+++ b/nuttx/configs/mirtoo/scripts/xc32-debug.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -179,7 +179,7 @@ SECTIONS
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/mirtoo/scripts/xc32-release.ld b/nuttx/configs/mirtoo/scripts/xc32-release.ld
index 2c8471ad8..b6b24cc71 100644
--- a/nuttx/configs/mirtoo/scripts/xc32-release.ld
+++ b/nuttx/configs/mirtoo/scripts/xc32-release.ld
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX250F128D has 128Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K
/* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses
@@ -166,8 +166,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -176,12 +176,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/ne64badge/ostest/ld.script.banked b/nuttx/configs/ne64badge/ostest/ld.script.banked
index 5f466e649..9ec5f7551 100755
--- a/nuttx/configs/ne64badge/ostest/ld.script.banked
+++ b/nuttx/configs/ne64badge/ostest/ld.script.banked
@@ -94,10 +94,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(nonbanked)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/ne64badge/ostest/ld.script.nonbanked b/nuttx/configs/ne64badge/ostest/ld.script.nonbanked
index dfa8b15b2..f0577a06b 100755
--- a/nuttx/configs/ne64badge/ostest/ld.script.nonbanked
+++ b/nuttx/configs/ne64badge/ostest/ld.script.nonbanked
@@ -67,10 +67,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(nonbanked)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/nucleus2g/nsh/Make.defs b/nuttx/configs/nucleus2g/nsh/Make.defs
index 85e175df0..aed194e10 100644
--- a/nuttx/configs/nucleus2g/nsh/Make.defs
+++ b/nuttx/configs/nucleus2g/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/nucleus2g/nsh/ld.script b/nuttx/configs/nucleus2g/nsh/ld.script
deleted file mode 100755
index bc4d89cf1..000000000
--- a/nuttx/configs/nucleus2g/nsh/ld.script
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * configs/nucleus2g/nsh/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LPC1768 has 512Kb of FLASH beginning at address 0x0000:0000 and
- * 64Kb of total SRAM: 32Kb of SRAM in the CPU block beginning at address
- * 0x10000000 and 32Kb of AHB SRAM in two banks of 16Kb beginning at addresses
- * 0x20070000 and 0x20080000. Here we assume that .data and .bss will all fit
- * into the 32Kb CPU SRAM address range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K
- sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/nucleus2g/ostest/Make.defs b/nuttx/configs/nucleus2g/ostest/Make.defs
index fc12eccad..239424083 100644
--- a/nuttx/configs/nucleus2g/ostest/Make.defs
+++ b/nuttx/configs/nucleus2g/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/nucleus2g/ostest/ld.script b/nuttx/configs/nucleus2g/ostest/ld.script
deleted file mode 100755
index 5d3b874af..000000000
--- a/nuttx/configs/nucleus2g/ostest/ld.script
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * configs/nucleus2g/ostest/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LPC1768 has 512Kb of FLASH beginning at address 0x0000:0000 and
- * 64Kb of total SRAM: 32Kb of SRAM in the CPU block beginning at address
- * 0x10000000 and 32Kb of AHB SRAM in two banks of 16Kb beginning at addresses
- * 0x20070000 and 0x20080000. Here we assume that .data and .bss will all fit
- * into the 32Kb CPU SRAM address range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K
- sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/mbed/nsh/ld.script b/nuttx/configs/nucleus2g/scripts/ld.script
index d96d51dd9..3d6fcb1d2 100755
--- a/nuttx/configs/mbed/nsh/ld.script
+++ b/nuttx/configs/nucleus2g/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/mbed/nsh/ld.script
+ * configs/nucleus2g/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,7 +66,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
.data : {
_sdata = ABSOLUTE(.);
@@ -76,16 +92,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/nucleus2g/usbserial/Make.defs b/nuttx/configs/nucleus2g/usbserial/Make.defs
index d82b5d1bc..81f17e86d 100644
--- a/nuttx/configs/nucleus2g/usbserial/Make.defs
+++ b/nuttx/configs/nucleus2g/usbserial/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbserial/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbserial/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/nucleus2g/usbstorage/Make.defs b/nuttx/configs/nucleus2g/usbstorage/Make.defs
index d5819e82a..06af74d39 100644
--- a/nuttx/configs/nucleus2g/usbstorage/Make.defs
+++ b/nuttx/configs/nucleus2g/usbstorage/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbstorage/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/usbstorage/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/nucleus2g/usbstorage/ld.script b/nuttx/configs/nucleus2g/usbstorage/ld.script
deleted file mode 100755
index a1056f8a7..000000000
--- a/nuttx/configs/nucleus2g/usbstorage/ld.script
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * configs/nucleus2g/usbstorage/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The LPC1768 has 512Kb of FLASH beginning at address 0x0000:0000 and
- * 64Kb of total SRAM: 32Kb of SRAM in the CPU block beginning at address
- * 0x10000000 and 32Kb of AHB SRAM in two banks of 16Kb beginning at addresses
- * 0x20070000 and 0x20080000. Here we assume that .data and .bss will all fit
- * into the 32Kb CPU SRAM address range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K
- sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/olimex-lpc1766stk/scripts/ld.script b/nuttx/configs/olimex-lpc1766stk/scripts/ld.script
index 76da77689..51615624e 100755
--- a/nuttx/configs/olimex-lpc1766stk/scripts/ld.script
+++ b/nuttx/configs/olimex-lpc1766stk/scripts/ld.script
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,6 +66,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -76,16 +92,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/olimex-lpc2378/nsh/Make.defs b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
index 022f3670b..5fba7e214 100644
--- a/nuttx/configs/olimex-lpc2378/nsh/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
@@ -72,13 +72,13 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/olimex-lpc2378/ostest/Make.defs b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
index 043f7ad8e..2c007cd39 100644
--- a/nuttx/configs/olimex-lpc2378/ostest/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
@@ -72,13 +72,13 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/olimex-lpc2378/ostest/ld.script b/nuttx/configs/olimex-lpc2378/ostest/ld.script
deleted file mode 100755
index e9ffbb450..000000000
--- a/nuttx/configs/olimex-lpc2378/ostest/ld.script
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
- * configs/olimex-lpc2378/ostest/ld.script
- *
- * Copyright (C) 2010 Rommel Marcelo. All rights reserved.
- * Author: Rommel Marcelo
- *
- * This is part of the NuttX RTOS and based on the LPC2148 port:
- *
- * Copyright (C) 2010, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-MEMORY
-{
- ROM (rx) : ORIGIN = 0x00000000, LENGTH = (512k-8k) /* Flash: 512k - boot code */
- RAM (rw) : ORIGIN = 0x40000000, LENGTH = (32k-32) /* SRAM: 32k - IAP work */
- URAM (rw) : ORIGIN = 0x7FD00000, LENGTH = (8k) /* USB RAM: 8k */
- ERAM (rw) : ORIGIN = 0x7FE00000, LENGTH = (16k) /* Ethernet RAM: 16k */
- BRAM (rw) : ORIGIN = 0xE0084000, LENGTH = (2k) /* Battery RAM: 2k */
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors) /* Startup code */
- *(.text .text.*) /* remaining code */
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*) /* read-only data (constants) */
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- . = ALIGN(4);
- } > ROM
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
- . = ALIGN(4);
- _eronly = ABSOLUTE(.);
-
- .data :
- {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > RAM AT > ROM
-
- .ARM.extab : {
- *(.ARM.extab*)
- } > RAM
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > RAM
- __exidx_end = ABSOLUTE(.);
-
-
-/* .bss section which is initialized by 0 */
- /* This section will be filled with zero by startup code */
- .bss (NOLOAD) :
- {
- _sbss = ABSOLUTE(.) ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > RAM
-
- .usbram (NOLOAD) :
- {
- __usbram_start = . ;
- __usbram_start__ = . ;
- *(.usbram)
- . = ALIGN(4);
- } > URAM
-
- .etherram (NOLOAD) :
- {
- __etherram_start = . ;
- __etherram_start__ = . ;
- *(.etherram)
- . = ALIGN(4);
- } > ERAM
-
- .batteryram (NOLOAD) :
- {
- __batteryram_start = . ;
- __batteryram_start__ = . ;
- *(.batteryram)
- . = ALIGN(4);
- } > BRAM
-
- /* 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 .gnu.linkonce.wi.*) }
- .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) }
-}
diff --git a/nuttx/configs/olimex-lpc2378/nsh/ld.script b/nuttx/configs/olimex-lpc2378/scripts/ld.script
index d591fcd66..8434249b6 100755
--- a/nuttx/configs/olimex-lpc2378/nsh/ld.script
+++ b/nuttx/configs/olimex-lpc2378/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/olimex-lpc2378/nsh/ld.script
+ * configs/olimex-lpc2378/scripts/ld.script
*
* Copyright (C) 2010 Rommel Marcelo. All rights reserved.
* Author: Rommel Marcelo
@@ -52,11 +52,11 @@ SECTIONS
{
.text : {
_stext = ABSOLUTE(.);
- *(.vectors) /* Startup code */
- *(.text .text.*) /* remaining code */
+ *(.vectors)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*) /* read-only data (constants) */
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -64,16 +64,26 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.r.*)
_etext = ABSOLUTE(.);
- . = ALIGN(4);
} > ROM
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
- . = ALIGN(4);
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > ROM
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > ROM
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > ROM
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
-
+
.data :
{
_sdata = ABSOLUTE(.);
@@ -83,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > RAM AT > ROM
- .ARM.extab : {
- *(.ARM.extab*)
- } > RAM
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > RAM
- __exidx_end = ABSOLUTE(.);
-
/* .bss section which is initialized by 0 */
/* This section will be filled with zero by startup code */
.bss (NOLOAD) :
diff --git a/nuttx/configs/olimex-stm32-p107/scripts/ld.script b/nuttx/configs/olimex-stm32-p107/scripts/ld.script
index 5037954ba..651848df7 100644
--- a/nuttx/configs/olimex-stm32-p107/scripts/ld.script
+++ b/nuttx/configs/olimex-stm32-p107/scripts/ld.script
@@ -47,10 +47,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -60,6 +60,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F107VC has 64Kb of SRAM beginning at the following address */
@@ -72,16 +88,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/olimex-stm32-p107/scripts/ld.script.dfu b/nuttx/configs/olimex-stm32-p107/scripts/ld.script.dfu
index 87acb12f9..c20a6224f 100644
--- a/nuttx/configs/olimex-stm32-p107/scripts/ld.script.dfu
+++ b/nuttx/configs/olimex-stm32-p107/scripts/ld.script.dfu
@@ -47,10 +47,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -60,6 +60,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -72,16 +88,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/olimex-strp711/nettest/Make.defs b/nuttx/configs/olimex-strp711/nettest/Make.defs
index 1c751be09..64259e919 100644
--- a/nuttx/configs/olimex-strp711/nettest/Make.defs
+++ b/nuttx/configs/olimex-strp711/nettest/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nettest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nettest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/olimex-strp711/nsh/Make.defs b/nuttx/configs/olimex-strp711/nsh/Make.defs
index d2c674d3a..69c6b4c27 100644
--- a/nuttx/configs/olimex-strp711/nsh/Make.defs
+++ b/nuttx/configs/olimex-strp711/nsh/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/olimex-strp711/nsh/ld.script b/nuttx/configs/olimex-strp711/nsh/ld.script
deleted file mode 100644
index 7a95410f4..000000000
--- a/nuttx/configs/olimex-strp711/nsh/ld.script
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
- * configs/olimex-strp711/nsh/ld.script
- *
- * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The str71x has 256Kb of non-volatile memory beginning at address
- * 0x4000:0000 for program storage (Bank0, an addition 16Kb is available
- * for data storage in Bank1). The OS entry point is via the reset vector
- * at address 0x00000000 where the FLASH is remapped at reset.
- *
- * The str71x has 64Kb of on-chip static RAM beginning at address
- * 0x2000:0000. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-/* The STR711 has 256Kb of FLASH beginning at address 0x4000:0000 and 64Kb
- * of SRAM beginning at address 0x2000:0000
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x40000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/olimex-strp711/ostest/Make.defs b/nuttx/configs/olimex-strp711/ostest/Make.defs
index 37adf602a..722a45951 100644
--- a/nuttx/configs/olimex-strp711/ostest/Make.defs
+++ b/nuttx/configs/olimex-strp711/ostest/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CROSSDEV),arm-nuttx-elf-)
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
MAXOPTIMIZATION = -Os
else
WINTOOL = y
@@ -76,7 +76,7 @@ else
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
endif
diff --git a/nuttx/configs/olimex-strp711/ostest/ld.script b/nuttx/configs/olimex-strp711/ostest/ld.script
deleted file mode 100644
index 9a5c45745..000000000
--- a/nuttx/configs/olimex-strp711/ostest/ld.script
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
- * configs/olimex-strp711/ostest/ld.script
- *
- * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The str71x has 256Kb of non-volatile memory beginning at address
- * 0x4000:0000 for program storage (Bank0, an addition 16Kb is available
- * for data storage in Bank1). The OS entry point is via the reset vector
- * at address 0x00000000 where the FLASH is remapped at reset.
- *
- * The str71x has 64Kb of on-chip static RAM beginning at address
- * 0x2000:0000. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
-/* The STR711 has 256Kb of FLASH beginning at address 0x4000:0000 and 64Kb
- * of SRAM beginning at address 0x2000:0000
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x40000000, LENGTH = 256K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
-
- _eronly = ABSOLUTE(.);
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/olimex-strp711/nettest/ld.script b/nuttx/configs/olimex-strp711/scripts/ld.script
index b3b5c6ff8..2717592dc 100755
--- a/nuttx/configs/olimex-strp711/nettest/ld.script
+++ b/nuttx/configs/olimex-strp711/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/olimex-strp711/nettest/ld.script
+ * configs/olimex-strp711/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -73,13 +73,24 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- /* This is where the .data section is relocated for execution out
- * FLASH. The .data section will be relocated from _eronly
- * to _sdata at boot time.
- */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
- _eronly = ABSOLUTE(.);
-
.data : {
_sdata = ABSOLUTE(.);
*(.data .data.*)
@@ -88,16 +99,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/pcblogic-pic32mx/nsh/ld.script b/nuttx/configs/pcblogic-pic32mx/nsh/ld.script
index ff1618acf..f80cc0436 100644
--- a/nuttx/configs/pcblogic-pic32mx/nsh/ld.script
+++ b/nuttx/configs/pcblogic-pic32mx/nsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX460F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX460F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pcblogic-pic32mx/ostest/ld.script b/nuttx/configs/pcblogic-pic32mx/ostest/ld.script
index dd181b4d9..93e932065 100644
--- a/nuttx/configs/pcblogic-pic32mx/ostest/ld.script
+++ b/nuttx/configs/pcblogic-pic32mx/ostest/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX460F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX460F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pic32-starterkit/nsh/ld.script b/nuttx/configs/pic32-starterkit/nsh/ld.script
index 88f722064..3e5ea6e03 100644
--- a/nuttx/configs/pic32-starterkit/nsh/ld.script
+++ b/nuttx/configs/pic32-starterkit/nsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX795F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX795F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pic32-starterkit/nsh2/ld.script b/nuttx/configs/pic32-starterkit/nsh2/ld.script
index 1f07ee651..1c9511cc4 100644
--- a/nuttx/configs/pic32-starterkit/nsh2/ld.script
+++ b/nuttx/configs/pic32-starterkit/nsh2/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX795F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX795F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pic32-starterkit/ostest/ld.script b/nuttx/configs/pic32-starterkit/ostest/ld.script
index d2c1f162b..45712df4d 100644
--- a/nuttx/configs/pic32-starterkit/ostest/ld.script
+++ b/nuttx/configs/pic32-starterkit/ostest/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX795F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX795F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pic32mx7mmb/nsh/ld.script b/nuttx/configs/pic32mx7mmb/nsh/ld.script
index a3ffbe91a..f6ec304c3 100644
--- a/nuttx/configs/pic32mx7mmb/nsh/ld.script
+++ b/nuttx/configs/pic32mx7mmb/nsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX795F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX795F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/pic32mx7mmb/ostest/ld.script b/nuttx/configs/pic32mx7mmb/ostest/ld.script
index a01074d21..7f27c6adc 100644
--- a/nuttx/configs/pic32mx7mmb/ostest/ld.script
+++ b/nuttx/configs/pic32mx7mmb/ostest/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX795F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX795F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/qemu-i486/nsh/ld.script b/nuttx/configs/qemu-i486/nsh/ld.script
index 3fffc8459..ddab1327e 100755
--- a/nuttx/configs/qemu-i486/nsh/ld.script
+++ b/nuttx/configs/qemu-i486/nsh/ld.script
@@ -41,14 +41,14 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
- *(.text .text.*)
+ *(.text .text.*)
*(.gnu.linkonce.t.*)
_etext = ABSOLUTE(.);
}
.text ALIGN (0x1000) : {
_srodata = ABSOLUTE(.);
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.fixup)
*(.gnu.warning)
*(.glue_7)
diff --git a/nuttx/configs/qemu-i486/ostest/ld.script b/nuttx/configs/qemu-i486/ostest/ld.script
index d59771078..e6e1c90e7 100755
--- a/nuttx/configs/qemu-i486/ostest/ld.script
+++ b/nuttx/configs/qemu-i486/ostest/ld.script
@@ -41,14 +41,14 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
- *(.text .text.*)
+ *(.text .text.*)
*(.gnu.linkonce.t.*)
_etext = ABSOLUTE(.);
}
.text ALIGN (0x1000) : {
_srodata = ABSOLUTE(.);
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.fixup)
*(.gnu.warning)
*(.glue_7)
diff --git a/nuttx/configs/sam3u-ek/kernel/kernel.ld b/nuttx/configs/sam3u-ek/kernel/kernel.ld
index 9388bf88c..93d16124a 100644
--- a/nuttx/configs/sam3u-ek/kernel/kernel.ld
+++ b/nuttx/configs/sam3u-ek/kernel/kernel.ld
@@ -33,7 +33,7 @@
*
****************************************************************************/
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
+/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
* 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
* at address 0x2008:000 (used only for heap). When booting from FLASH,
* FLASH memory is aliased to address 0x0000:0000 where the code expects to
@@ -89,10 +89,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -102,6 +102,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > uflash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > uflash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > uflash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > uflash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -112,16 +128,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > usram1 AT > uflash
- .ARM.extab : {
- *(.ARM.extab*)
- } >usram1
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >usram1
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/sam3u-ek/knsh/ld.script b/nuttx/configs/sam3u-ek/knsh/ld.script
index 34c4fbb32..e24a5bcbf 100755
--- a/nuttx/configs/sam3u-ek/knsh/ld.script
+++ b/nuttx/configs/sam3u-ek/knsh/ld.script
@@ -33,7 +33,7 @@
*
****************************************************************************/
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
+/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
* 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
* at address 0x2008:000 (used only for heap). When booting from FLASH,
* FLASH memory is aliased to address 0x0000:0000 where the code expects to
@@ -69,10 +69,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -82,6 +82,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > kflash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > kflash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > kflash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > kflash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
.data : {
@@ -92,16 +108,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > ksram1 AT > kflash
- .ARM.extab : {
- *(.ARM.extab*)
- } >ksram1
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >ksram1
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/sam3u-ek/nsh/Make.defs b/nuttx/configs/sam3u-ek/nsh/Make.defs
index 5bf989aad..337b98df8 100644
--- a/nuttx/configs/sam3u-ek/nsh/Make.defs
+++ b/nuttx/configs/sam3u-ek/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/sam3u-ek/nsh/ld.script b/nuttx/configs/sam3u-ek/nsh/ld.script
deleted file mode 100755
index 94ae47403..000000000
--- a/nuttx/configs/sam3u-ek/nsh/ld.script
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * configs/sam3u-ek/nsh/ld.script
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
- * 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
- * at address 0x2008:000 (used only for heap). When booting from FLASH,
- * FLASH memory is aliased to address 0x0000:0000 where the code expects to
- * begin execution by jumping to the entry point in the 0x0800:0000 address
- * range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00080000, LENGTH = 256K
- sram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 32K
- sram2 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram1 AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram1
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram1
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram1
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/sam3u-ek/nx/Make.defs b/nuttx/configs/sam3u-ek/nx/Make.defs
index e4140a110..86a1c5c38 100644
--- a/nuttx/configs/sam3u-ek/nx/Make.defs
+++ b/nuttx/configs/sam3u-ek/nx/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nx/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/sam3u-ek/ostest/Make.defs b/nuttx/configs/sam3u-ek/ostest/Make.defs
index 8c765976b..25f386df7 100644
--- a/nuttx/configs/sam3u-ek/ostest/Make.defs
+++ b/nuttx/configs/sam3u-ek/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/sam3u-ek/ostest/ld.script b/nuttx/configs/sam3u-ek/ostest/ld.script
deleted file mode 100755
index 70fd611e7..000000000
--- a/nuttx/configs/sam3u-ek/ostest/ld.script
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * configs/sam3u-ek/ostest/ld.script
- *
- * Copyright (C) 2009-2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
- * 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
- * at address 0x2008:000 (used only for heap). When booting from FLASH,
- * FLASH memory is aliased to address 0x0000:0000 where the code expects to
- * begin execution by jumping to the entry point in the 0x0800:0000 address
- * range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00080000, LENGTH = 256K
- sram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 32K
- sram2 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram1 AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram1
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram1
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram1
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/sam3u-ek/nx/ld.script b/nuttx/configs/sam3u-ek/scripts/ld.script
index 56ae5d6a4..e38216583 100755
--- a/nuttx/configs/sam3u-ek/nx/ld.script
+++ b/nuttx/configs/sam3u-ek/scripts/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/sam3u-ek/nx/ld.script
+ * configs/sam3u-ek/scripts/ld.script
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -33,7 +33,7 @@
*
****************************************************************************/
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
+/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
* 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
* at address 0x2008:000 (used only for heap). When booting from FLASH,
* FLASH memory is aliased to address 0x0000:0000 where the code expects to
@@ -55,10 +55,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
diff --git a/nuttx/configs/sam3u-ek/touchscreen/Make.defs b/nuttx/configs/sam3u-ek/touchscreen/Make.defs
index 99410a652..fce80ec25 100644
--- a/nuttx/configs/sam3u-ek/touchscreen/Make.defs
+++ b/nuttx/configs/sam3u-ek/touchscreen/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/touchscreen/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/touchscreen/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/sam3u-ek/touchscreen/ld.script b/nuttx/configs/sam3u-ek/touchscreen/ld.script
deleted file mode 100755
index dd30648a2..000000000
--- a/nuttx/configs/sam3u-ek/touchscreen/ld.script
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * configs/sam3u-ek/touchscreen/ld.script
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The AT91SAM3U-4 has 256Kb of FLASH beginning at address 0x0008:0000,
- * 32Kb of SRAM beginning at address 0x2000:0000, and 16Kb of SRAM beginning
- * at address 0x2008:000 (used only for heap). When booting from FLASH,
- * FLASH memory is aliased to address 0x0000:0000 where the code expects to
- * begin execution by jumping to the entry point in the 0x0800:0000 address
- * range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x00080000, LENGTH = 256K
- sram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 32K
- sram2 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram1 AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram1
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram1
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram1
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/shenzhou/scripts/ld.script b/nuttx/configs/shenzhou/scripts/ld.script
index d167cc49d..1a23385f7 100644
--- a/nuttx/configs/shenzhou/scripts/ld.script
+++ b/nuttx/configs/shenzhou/scripts/ld.script
@@ -50,10 +50,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -69,15 +69,15 @@ SECTIONS
_einit = ABSOLUTE(.);
} > flash
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
} > flash
__exidx_end = ABSOLUTE(.);
-
- .ARM.extab : {
- *(.ARM.extab*)
- } > flash
_eronly = ABSOLUTE(.);
diff --git a/nuttx/configs/shenzhou/scripts/ld.script.dfu b/nuttx/configs/shenzhou/scripts/ld.script.dfu
index c6d0d76b8..dcf57b9b0 100644
--- a/nuttx/configs/shenzhou/scripts/ld.script.dfu
+++ b/nuttx/configs/shenzhou/scripts/ld.script.dfu
@@ -52,10 +52,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -71,6 +71,10 @@ SECTIONS
_einit = ABSOLUTE(.);
} > flash
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
@@ -89,10 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/stm3210e-eval/RIDE/README.txt b/nuttx/configs/stm3210e-eval/RIDE/README.txt
index 8da1c38c9..b8f40e400 100644
--- a/nuttx/configs/stm3210e-eval/RIDE/README.txt
+++ b/nuttx/configs/stm3210e-eval/RIDE/README.txt
@@ -1,38 +1,38 @@
-README
-------
-
-This directory contains a simple RIDE7 project used to bring up the
-STM3210E-EVAL board. This project includes only the STM32 boot-up
-code under arch/arm/src and configs/stm3210e-eval/src plus as little
-additional environmental support as necessary.
-
-bigfatstub.c
-
- The NuttX OS is not included in this project. This file contains
- stubs for all of the NuttX entry points and this replaces NuttX
-
-Make.defs, defconfig, setenv.h
-
- The first step to using this RIDE project is to build a compatible
- cygwin project. This will set up of the directories and produce
- all of the necessary autogenerated files.
-
- cd tools
- ./configure.sh stm3210e-eva/RIDE
- cd ..
- . ./setenv.sh
- make
-
-nuttx.*
-
- RIDE7 project files
-
-stm32-nuttx.ld
-
- This is the linker script that replaces the RIDE7 linker script.
-
-stm32-ld.sh
-
- This is a shell script that will use the RIDE7 tools to relink the
- NuttX binaries. Useful because RIDE7 does not provide much linker
- output to see what is going on.
+README
+------
+
+This directory contains a simple RIDE7 project used to bring up the
+STM3210E-EVAL board. This project includes only the STM32 boot-up
+code under arch/arm/src and configs/stm3210e-eval/src plus as little
+additional environmental support as necessary.
+
+bigfatstub.c
+
+ The NuttX OS is not included in this project. This file contains
+ stubs for all of the NuttX entry points and this replaces NuttX
+
+Make.defs, defconfig, setenv.h
+
+ The first step to using this RIDE project is to build a compatible
+ cygwin project. This will set up of the directories and produce
+ all of the necessary autogenerated files.
+
+ cd tools
+ ./configure.sh stm3210e-eva/RIDE
+ cd ..
+ . ./setenv.sh
+ make
+
+nuttx.*
+
+ RIDE7 project files
+
+../scripts/ld.scrip
+
+ This is the linker script that replaces the RIDE7 linker script.
+
+stm32-ld.sh
+
+ This is a shell script that will use the RIDE7 tools to relink the
+ NuttX binaries. Useful because RIDE7 does not provide much linker
+ output to see what is going on.
diff --git a/nuttx/configs/stm3210e-eval/RIDE/nuttx.elf.ld b/nuttx/configs/stm3210e-eval/RIDE/nuttx.elf.ld
index f4d3a6ca1..515f91cc2 100755
--- a/nuttx/configs/stm3210e-eval/RIDE/nuttx.elf.ld
+++ b/nuttx/configs/stm3210e-eval/RIDE/nuttx.elf.ld
@@ -1,4 +1,4 @@
-
+
SEARCH_DIR(".")
SEARCH_DIR("C:\Program Files\Raisonance\Ride\Lib\ARM")
STARTUP("C:\cygwin\home\Owner\projects\nuttx\nuttx\arch\arm\src\stm32_vectors.o")
@@ -16,4 +16,4 @@ INPUT("C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\up_b
INPUT("C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\irq_unexpectedisr.o")
INPUT("C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\lib_memcpy.o")
OUTPUT("C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\nuttx.elf")
-INCLUDE "C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\stm32-nuttx.ld"
+INCLUDE "C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\scripts\ld.script"
diff --git a/nuttx/configs/stm3210e-eval/RIDE/nuttx.rapp b/nuttx/configs/stm3210e-eval/RIDE/nuttx.rapp
index 4ab167792..ce9ffc81e 100755
--- a/nuttx/configs/stm3210e-eval/RIDE/nuttx.rapp
+++ b/nuttx/configs/stm3210e-eval/RIDE/nuttx.rapp
@@ -62,7 +62,7 @@
</Section>
<Section Header="Scripts" >
<Property Header="SCRIPTFILES" Value="No" Removable="1" />
- <Property Header="File" Value="C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\RIDE\stm32-nuttx.ld" Removable="1" />
+ <Property Header="File" Value="C:\cygwin\home\Owner\projects\nuttx\nuttx\configs\stm3210e-eval\scripts\ld.script" Removable="1" />
</Section>
<Section Header="Linker" >
diff --git a/nuttx/configs/stm3210e-eval/RIDE/stm32-nuttx.ld b/nuttx/configs/stm3210e-eval/RIDE/stm32-nuttx.ld
deleted file mode 100755
index 704960ad9..000000000
--- a/nuttx/configs/stm3210e-eval/RIDE/stm32-nuttx.ld
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * configs/stm3210e-eval/RIDE/stm32-nuttx.ld
- *
- * Copyright (C) 2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The STM32F103ZET6 has 512Kb of FLASH beginning at address 0x0800:0000 and
- * 64Kb of SRAM beginning at address 0x2000:0000. When booting from FLASH,
- * FLASH memory is aliased to address 0x0000:0000 where the code expects to
- * begin execution by jumping to the entry point in the 0x0800:0000 address
- * range.
- */
-
-MEMORY
-{
- flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K
- sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .text : {
- _stext = ABSOLUTE(.);
- *(.vectors)
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > flash
-
- _eronly = ABSOLUTE(.); /* See below */
-
- /* The STM32F103Z has 64Kb of SRAM beginning at the following address */
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > sram AT > flash
-
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
- .bss : { /* BSS */
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > sram
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/stm3210e-eval/scripts/ld.script b/nuttx/configs/stm3210e-eval/scripts/ld.script
index 5504f0f61..0f0e017aa 100644
--- a/nuttx/configs/stm3210e-eval/scripts/ld.script
+++ b/nuttx/configs/stm3210e-eval/scripts/ld.script
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,6 +66,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -78,16 +94,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/stm3210e-eval/scripts/ld.script.dfu b/nuttx/configs/stm3210e-eval/scripts/ld.script.dfu
index 8f879983a..8669a0f02 100644
--- a/nuttx/configs/stm3210e-eval/scripts/ld.script.dfu
+++ b/nuttx/configs/stm3210e-eval/scripts/ld.script.dfu
@@ -52,10 +52,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -65,6 +65,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
_eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -77,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } >sram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/stm3220g-eval/scripts/ld.script b/nuttx/configs/stm3220g-eval/scripts/ld.script
index 1c9f12bba..1b8809166 100644
--- a/nuttx/configs/stm3220g-eval/scripts/ld.script
+++ b/nuttx/configs/stm3220g-eval/scripts/ld.script
@@ -58,10 +58,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -77,6 +77,10 @@ SECTIONS
_einit = ABSOLUTE(.);
} > flash
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
@@ -93,10 +97,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/stm3240g-eval/scripts/ld.script b/nuttx/configs/stm3240g-eval/scripts/ld.script
index 078f2890f..e319a896a 100644
--- a/nuttx/configs/stm3240g-eval/scripts/ld.script
+++ b/nuttx/configs/stm3240g-eval/scripts/ld.script
@@ -59,10 +59,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -78,6 +78,10 @@ SECTIONS
_einit = ABSOLUTE(.);
} > flash
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
@@ -94,10 +98,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/stm32f4discovery/scripts/ld.script b/nuttx/configs/stm32f4discovery/scripts/ld.script
index 67879e8d1..edc4a7091 100644
--- a/nuttx/configs/stm32f4discovery/scripts/ld.script
+++ b/nuttx/configs/stm32f4discovery/scripts/ld.script
@@ -59,10 +59,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -78,6 +78,10 @@ SECTIONS
_einit = ABSOLUTE(.);
} > flash
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
__exidx_start = ABSOLUTE(.);
.ARM.exidx : {
*(.ARM.exidx*)
@@ -94,10 +98,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/sure-pic32mx/nsh/ld.script b/nuttx/configs/sure-pic32mx/nsh/ld.script
index a88bdc2c8..0975477cc 100644
--- a/nuttx/configs/sure-pic32mx/nsh/ld.script
+++ b/nuttx/configs/sure-pic32mx/nsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX440F512H has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX440F512H has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/sure-pic32mx/ostest/ld.script b/nuttx/configs/sure-pic32mx/ostest/ld.script
index 7b5ffa3c4..01d97ad55 100644
--- a/nuttx/configs/sure-pic32mx/ostest/ld.script
+++ b/nuttx/configs/sure-pic32mx/ostest/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX440F512H has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX440F512H has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/sure-pic32mx/usbnsh/ld.script b/nuttx/configs/sure-pic32mx/usbnsh/ld.script
index 5bdc5af6f..088f812d8 100644
--- a/nuttx/configs/sure-pic32mx/usbnsh/ld.script
+++ b/nuttx/configs/sure-pic32mx/usbnsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX440F512H has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX440F512H has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/twr-k60n512/nsh/Make.defs b/nuttx/configs/twr-k60n512/nsh/Make.defs
index f2922c575..a558cc010 100644
--- a/nuttx/configs/twr-k60n512/nsh/Make.defs
+++ b/nuttx/configs/twr-k60n512/nsh/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/twr-k60n512/ostest/Make.defs b/nuttx/configs/twr-k60n512/ostest/Make.defs
index 871141640..6d4945521 100644
--- a/nuttx/configs/twr-k60n512/ostest/Make.defs
+++ b/nuttx/configs/twr-k60n512/ostest/Make.defs
@@ -74,14 +74,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/ostest/ld.script
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/twr-k60n512/ostest/ld.script b/nuttx/configs/twr-k60n512/ostest/ld.script
deleted file mode 100644
index 717a45747..000000000
--- a/nuttx/configs/twr-k60n512/ostest/ld.script
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
- * configs/twr-k60n512/ostest/ld.script
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/* The K60N512VMD100 has 512Kb of FLASH beginning at address 0x0000:0000 and
- * 128Kb of SRAM beginning at address 0x1800:0000 (SRAM_L) and 0x2000:000
- * (SRAM_U).
- *
- * NOTE: that the first part of the K40 FLASH region is reserved for
- * interrupt vectflash and, following that, is a region from 0x0000:0400
- * to 0x0000:040f that is reserved for the FLASH control fields (FCF).
- *
- * NOTE: The on-chip RAM is split evenly among SRAM_L and SRAM_U. The RAM is
- * also implemented such that the SRAM_L and SRAM_U ranges form a
- * contiguous block in the memory map.
- */
-
-MEMORY
-{
- vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - 16
- cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16
- progflash (rx) : ORIGIN = 0x00000800, LENGTH = 512K - 2K
- datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 128K
-}
-
-OUTPUT_ARCH(arm)
-ENTRY(_stext)
-SECTIONS
-{
- .vectors : {
- _svectors = ABSOLUTE(.);
- *(.vectors)
- _evectors = ABSOLUTE(.);
- } > vectflash
-
- .cfmprotect : {
- *(.cfmconfig)
- } > cfmprotect
-
- .text : {
- _stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.fixup)
- *(.gnu.warning)
- *(.rodata .rodata.*)
- *(.gnu.linkonce.t.*)
- *(.glue_7)
- *(.glue_7t)
- *(.got)
- *(.gcc_except_table)
- *(.gnu.linkonce.r.*)
- _etext = ABSOLUTE(.);
- } > progflash
-
- .data : {
- _sdata = ABSOLUTE(.);
- *(.data .data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- _edata = ABSOLUTE(.);
- } > datasram AT > progflash
-
- _eronly = LOADADDR(.data);
-
- .ramfunc ALIGN(4): {
- _sramfuncs = ABSOLUTE(.);
- *(.ramfunc .ramfunc.*)
- _eramfuncs = ABSOLUTE(.);
- } > datasram AT > progflash
-
- _framfuncs = LOADADDR(.ramfunc);
-
- .ARM.extab : {
- *(.ARM.extab*)
- } > datasram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > datasram
- __exidx_end = ABSOLUTE(.);
-
- .bss : {
- _sbss = ABSOLUTE(.);
- *(.bss .bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- _ebss = ABSOLUTE(.);
- } > datasram
-
- /* 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) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_info 0 : { *(.debug_info) }
- .debug_line 0 : { *(.debug_line) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- .debug_aranges 0 : { *(.debug_aranges) }
-}
diff --git a/nuttx/configs/twr-k60n512/nsh/ld.script b/nuttx/configs/twr-k60n512/scripts/ld.script
index e8e5e7de1..26410e6d8 100644
--- a/nuttx/configs/twr-k60n512/nsh/ld.script
+++ b/nuttx/configs/twr-k60n512/scripts/ld.script
@@ -1,5 +1,5 @@
-/****************************************************************************
- * configs/twr-k60n512/nsh/ld.script
+ /****************************************************************************
+ * configs/twr-k60n512/scripts/ld.script
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -70,10 +70,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -83,6 +83,22 @@ SECTIONS
_etext = ABSOLUTE(.);
} > progflash
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > progflash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > progflash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > progflash
+ __exidx_end = ABSOLUTE(.);
+
.data : {
_sdata = ABSOLUTE(.);
*(.data .data.*)
@@ -101,16 +117,6 @@ SECTIONS
_framfuncs = LOADADDR(.ramfunc);
- .ARM.extab : {
- *(.ARM.extab*)
- } > datasram
-
- __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- *(.ARM.exidx*)
- } > datasram
- __exidx_end = ABSOLUTE(.);
-
.bss : {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/ubw32/nsh/ld.script b/nuttx/configs/ubw32/nsh/ld.script
index b053aebe6..43e64a51b 100644
--- a/nuttx/configs/ubw32/nsh/ld.script
+++ b/nuttx/configs/ubw32/nsh/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX460F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX460F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/ubw32/ostest/ld.script b/nuttx/configs/ubw32/ostest/ld.script
index ff4d1c79f..3a64fff23 100644
--- a/nuttx/configs/ubw32/ostest/ld.script
+++ b/nuttx/configs/ubw32/ostest/ld.script
@@ -39,7 +39,7 @@ MEMORY
/* The PIC32MX460F512L has 512Kb of program FLASH at physical address
* 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000
*/
-
+
kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K
/* The PIC32MX460F512L has 12Kb of boot FLASH at physical address
@@ -168,8 +168,8 @@ SECTIONS
.text :
{
_stext = ABSOLUTE(.);
- *(.text .text.*)
- *(.stub)
+ *(.text .text.*)
+ *(.stub)
KEEP (*(.text.*personality*))
*(.gnu.linkonce.t.*)
*(.gnu.warning)
@@ -178,12 +178,12 @@ SECTIONS
/* Read-only data is included in the text section */
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.rodata1)
*(.gnu.linkonce.r.*)
/* Small initialized constant global and static data */
-
+
*(.sdata2 .sdata2.*)
*(.gnu.linkonce.s2.*)
diff --git a/nuttx/configs/vsn/nsh/Make.defs b/nuttx/configs/vsn/nsh/Make.defs
index 64b972ee2..c6ab376de 100644
--- a/nuttx/configs/vsn/nsh/Make.defs
+++ b/nuttx/configs/vsn/nsh/Make.defs
@@ -86,14 +86,14 @@ ifeq ($(WINTOOL),y)
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
- ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/$(LDSCRIPT)}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)}"
MAXOPTIMIZATION = -O2
else
# Linux/Cygwin-native toolchain
MKDEP = $(TOPDIR)/tools/mkdeps.sh
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
- ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/$(LDSCRIPT)
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)
endif
CC = $(CROSSDEV)gcc
diff --git a/nuttx/configs/vsn/nsh/ld.script b/nuttx/configs/vsn/nsh/ld.script
index 63c8585eb..1ee155fb5 100755
--- a/nuttx/configs/vsn/nsh/ld.script
+++ b/nuttx/configs/vsn/nsh/ld.script
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/stm3210e-eval/nsh/ld.script
+ * configs/stm3210e-eval/scripts/ld.script
*
* Copyright (C) 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -53,10 +53,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -66,7 +66,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -78,16 +94,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
diff --git a/nuttx/configs/vsn/nsh/ld.script.dfu b/nuttx/configs/vsn/nsh/ld.script.dfu
index aa077ba3b..3f5e2a06a 100755
--- a/nuttx/configs/vsn/nsh/ld.script.dfu
+++ b/nuttx/configs/vsn/nsh/ld.script.dfu
@@ -1,5 +1,5 @@
/****************************************************************************
- * configs/stm3210e-eval/nsh/ld.script.dfu
+ * configs/stm3210e-eval/scripts/ld.script.dfu
*
* Copyright (C) 2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -52,10 +52,10 @@ SECTIONS
.text : {
_stext = ABSOLUTE(.);
*(.vectors)
- *(.text .text.*)
+ *(.text .text.*)
*(.fixup)
*(.gnu.warning)
- *(.rodata .rodata.*)
+ *(.rodata .rodata.*)
*(.gnu.linkonce.t.*)
*(.glue_7)
*(.glue_7t)
@@ -65,7 +65,23 @@ SECTIONS
_etext = ABSOLUTE(.);
} > flash
- _eronly = ABSOLUTE(.); /* See below */
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
/* The STM32F103Z has 64Kb of SRAM beginning at the following address */
@@ -77,16 +93,6 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sram AT > flash
- .ARM.extab : {
- *(.ARM.extab*)
- } >sram
-
- .ARM.exidx : {
- __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- __exidx_end = ABSOLUTE(.);
- } >sram
-
.bss : { /* BSS */
_sbss = ABSOLUTE(.);
*(.bss .bss.*)