diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index e44d380fc04..ff3990c9d9b 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -12,7 +12,7 @@
NuttX RTOS Porting Guide
- Last Updated: March 28, 2016
+ Last Updated: May 12, 2016
diff --git a/configs/pcduino-a10/scripts/sdram.ld b/configs/pcduino-a10/scripts/sdram.ld
index 414c408a4ac..b4eaeef8d7c 100644
--- a/configs/pcduino-a10/scripts/sdram.ld
+++ b/configs/pcduino-a10/scripts/sdram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/pcduino-a10/scripts/sdram.ld
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -49,7 +49,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -67,13 +68,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -86,7 +89,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -94,7 +98,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -102,7 +107,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sabre-6quad/scripts/dramboot.ld b/configs/sabre-6quad/scripts/dramboot.ld
index ef87268ff6f..f1134bcc926 100644
--- a/configs/sabre-6quad/scripts/dramboot.ld
+++ b/configs/sabre-6quad/scripts/dramboot.ld
@@ -55,7 +55,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -73,13 +74,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > ddr3
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > ddr3
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > ddr3
@@ -92,7 +95,10 @@ SECTIONS
} > ddr3
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ /* Uninitialized data */
+
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -100,7 +106,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > ddr3
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -108,6 +115,13 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > ddr3
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > ddr3
+
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
diff --git a/configs/sama5d2-xult/scripts/dramboot.ld b/configs/sama5d2-xult/scripts/dramboot.ld
index 0494ff0a911..e921c5e8aaf 100644
--- a/configs/sama5d2-xult/scripts/dramboot.ld
+++ b/configs/sama5d2-xult/scripts/dramboot.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d2-xult/scripts/dramboot.ld
*
- * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -54,7 +54,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -72,13 +73,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -91,7 +94,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -99,7 +103,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -107,7 +112,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d2-xult/scripts/gnu-elf.ld b/configs/sama5d2-xult/scripts/gnu-elf.ld
index d84460b4c05..7f35d218bc1 100644
--- a/configs/sama5d2-xult/scripts/gnu-elf.ld
+++ b/configs/sama5d2-xult/scripts/gnu-elf.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d2-xult/scripts/gnu-elf.ld
*
- * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -76,6 +76,15 @@ SECTIONS
_edata = . ;
}
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = . ;
+ *(.noinit*)
+ _enoinit = . ;
+ }
+
/* C++ support. For each global and static local C++ object,
* GCC creates a small subroutine to construct the object. Pointers
* to these routines (not the routines themselves) are stored as
diff --git a/configs/sama5d2-xult/scripts/isram.ld b/configs/sama5d2-xult/scripts/isram.ld
index a170e022600..a5b1afe9a03 100644
--- a/configs/sama5d2-xult/scripts/isram.ld
+++ b/configs/sama5d2-xult/scripts/isram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d2-xult/scripts/isram.ld
*
- * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -69,7 +70,8 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
@@ -88,7 +90,8 @@ SECTIONS
} > isram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -96,7 +99,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -104,7 +108,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > isram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d2-xult/scripts/uboot.ld b/configs/sama5d2-xult/scripts/uboot.ld
index 66e524d9225..3ad820747d3 100644
--- a/configs/sama5d2-xult/scripts/uboot.ld
+++ b/configs/sama5d2-xult/scripts/uboot.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d2-xult/scripts/uboot.ld
*
- * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -73,13 +74,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -92,7 +95,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -100,7 +104,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -108,7 +113,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3-xplained/scripts/ddram.ld b/configs/sama5d3-xplained/scripts/ddram.ld
index edb3f63a49e..9c3243d04e6 100644
--- a/configs/sama5d3-xplained/scripts/ddram.ld
+++ b/configs/sama5d3-xplained/scripts/ddram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3-xplained/scripts/ddram.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -73,13 +74,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -92,7 +95,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -100,7 +104,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -108,7 +113,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3-xplained/scripts/gnu-elf.ld b/configs/sama5d3-xplained/scripts/gnu-elf.ld
index 88c53fe05f0..ffd6dc04b3d 100644
--- a/configs/sama5d3-xplained/scripts/gnu-elf.ld
+++ b/configs/sama5d3-xplained/scripts/gnu-elf.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3-xplained/scripts/gnu-elf.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -76,6 +76,15 @@ SECTIONS
_edata = . ;
}
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = . ;
+ *(.noinit*)
+ _enoinit = . ;
+ }
+
/* C++ support. For each global and static local C++ object,
* GCC creates a small subroutine to construct the object. Pointers
* to these routines (not the routines themselves) are stored as
diff --git a/configs/sama5d3-xplained/scripts/isram.ld b/configs/sama5d3-xplained/scripts/isram.ld
index dae430c3081..847d3e58b30 100644
--- a/configs/sama5d3-xplained/scripts/isram.ld
+++ b/configs/sama5d3-xplained/scripts/isram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3-xplained/scripts/isram.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -69,13 +70,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > isram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > isram
@@ -88,7 +91,8 @@ SECTIONS
} > isram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -96,7 +100,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -104,7 +109,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > isram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3x-ek/scripts/ddram.ld b/configs/sama5d3x-ek/scripts/ddram.ld
index 8735df50a66..6376646ba2c 100644
--- a/configs/sama5d3x-ek/scripts/ddram.ld
+++ b/configs/sama5d3x-ek/scripts/ddram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/ddram.ld
*
- * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -73,13 +74,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -92,7 +95,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -100,7 +104,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -108,7 +113,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3x-ek/scripts/gnu-elf.ld b/configs/sama5d3x-ek/scripts/gnu-elf.ld
index 82c9b37e2f1..6b77f5dffd2 100644
--- a/configs/sama5d3x-ek/scripts/gnu-elf.ld
+++ b/configs/sama5d3x-ek/scripts/gnu-elf.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/gnu-elf.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -76,6 +76,15 @@ SECTIONS
_edata = . ;
}
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = . ;
+ *(.noinit*)
+ _enoinit = . ;
+ }
+
/* C++ support. For each global and static local C++ object,
* GCC creates a small subroutine to construct the object. Pointers
* to these routines (not the routines themselves) are stored as
diff --git a/configs/sama5d3x-ek/scripts/isram.ld b/configs/sama5d3x-ek/scripts/isram.ld
index 0dde103d990..c7c3ac1799a 100644
--- a/configs/sama5d3x-ek/scripts/isram.ld
+++ b/configs/sama5d3x-ek/scripts/isram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/isram.ld
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -69,13 +70,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > isram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > isram
@@ -88,7 +91,8 @@ SECTIONS
} > isram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -96,7 +100,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -104,7 +109,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > isram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3x-ek/scripts/nor-ddram.ld b/configs/sama5d3x-ek/scripts/nor-ddram.ld
index ecebee5930f..1787e05a194 100644
--- a/configs/sama5d3x-ek/scripts/nor-ddram.ld
+++ b/configs/sama5d3x-ek/scripts/nor-ddram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/nor-ddram.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -60,7 +60,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -78,13 +79,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > norflash
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > norflash
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > norflash
@@ -97,7 +100,8 @@ SECTIONS
} > norflash
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -107,7 +111,8 @@ SECTIONS
_eronly = LOADADDR(.data);
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -115,7 +120,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3x-ek/scripts/nor-isram.ld b/configs/sama5d3x-ek/scripts/nor-isram.ld
index c8681562e28..6d667f5e095 100644
--- a/configs/sama5d3x-ek/scripts/nor-isram.ld
+++ b/configs/sama5d3x-ek/scripts/nor-isram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/nor-isram.ld
*
- * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -56,7 +56,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -74,13 +75,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > norflash
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > norflash
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > norflash
@@ -93,7 +96,8 @@ SECTIONS
} > norflash
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -103,7 +107,8 @@ SECTIONS
_eronly = LOADADDR(.data);
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -111,7 +116,8 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
- .ramfunc ALIGN(4): {
+ .ramfunc ALIGN(4):
+ {
_sramfuncs = ABSOLUTE(.);
*(.ramfunc .ramfunc.*)
_eramfuncs = ABSOLUTE(.);
@@ -119,7 +125,17 @@ SECTIONS
_framfuncs = LOADADDR(.ramfunc);
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > isram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d3x-ek/scripts/pg-sram.ld b/configs/sama5d3x-ek/scripts/pg-sram.ld
index 549802619fe..31c49abb347 100644
--- a/configs/sama5d3x-ek/scripts/pg-sram.ld
+++ b/configs/sama5d3x-ek/scripts/pg-sram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d3x-ek/scripts/pg-isram.ld
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -79,7 +79,8 @@ ENTRY(_stext)
SECTIONS
{
- .locked : {
+ .locked :
+ {
_slocked = ABSOLUTE(.);
*(.vectors)
up_head.o locked.r (.text .text.*)
@@ -95,7 +96,8 @@ SECTIONS
_elocked = ABSOLUTE(.);
} >locked
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
@@ -110,7 +112,8 @@ SECTIONS
} > isram
PROVIDE_HIDDEN (__exidx_end = .);
- .paged : {
+ .paged :
+ {
_spaged = ABSOLUTE(.);
*(.text .text.*)
*(.fixup)
@@ -127,7 +130,8 @@ SECTIONS
_epaged = ABSOLUTE(.);
} > paged
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -135,14 +139,26 @@ SECTIONS
_edata = ABSOLUTE(.);
} > data AT > locked
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
_ebss = ABSOLUTE(.);
} > data
- /* Stabs debugging sections. */
+
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > data
+
+ /* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d4-ek/scripts/dramboot.ld b/configs/sama5d4-ek/scripts/dramboot.ld
index 4ca01c6b88f..2e19a34be30 100644
--- a/configs/sama5d4-ek/scripts/dramboot.ld
+++ b/configs/sama5d4-ek/scripts/dramboot.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d4-ek/scripts/dramboot.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -54,7 +54,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -72,13 +73,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -91,7 +94,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -99,7 +103,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -107,7 +112,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d4-ek/scripts/gnu-elf.ld b/configs/sama5d4-ek/scripts/gnu-elf.ld
index 6d402a750d7..6cab7801d10 100644
--- a/configs/sama5d4-ek/scripts/gnu-elf.ld
+++ b/configs/sama5d4-ek/scripts/gnu-elf.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d4-ek/scripts/gnu-elf.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -76,6 +76,15 @@ SECTIONS
_edata = . ;
}
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = . ;
+ *(.noinit*)
+ _enoinit = . ;
+ }
+
/* C++ support. For each global and static local C++ object,
* GCC creates a small subroutine to construct the object. Pointers
* to these routines (not the routines themselves) are stored as
diff --git a/configs/sama5d4-ek/scripts/isram.ld b/configs/sama5d4-ek/scripts/isram.ld
index 85bc4dfc4f0..70689842f29 100644
--- a/configs/sama5d4-ek/scripts/isram.ld
+++ b/configs/sama5d4-ek/scripts/isram.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d4-ek/scripts/isram.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -69,13 +70,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > isram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > isram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > isram
@@ -88,7 +91,8 @@ SECTIONS
} > isram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -96,7 +100,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > isram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -104,7 +109,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > isram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > isram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
diff --git a/configs/sama5d4-ek/scripts/uboot.ld b/configs/sama5d4-ek/scripts/uboot.ld
index 530be22418e..2a76487ccf8 100644
--- a/configs/sama5d4-ek/scripts/uboot.ld
+++ b/configs/sama5d4-ek/scripts/uboot.ld
@@ -1,7 +1,7 @@
/****************************************************************************
* configs/sama5d4-ek/scripts/uboot.ld
*
- * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,8 @@ ENTRY(_stext)
SECTIONS
{
- .text : {
+ .text :
+ {
_stext = ABSOLUTE(.);
*(.vectors)
*(.text .text.*)
@@ -73,13 +74,15 @@ SECTIONS
_etext = ABSOLUTE(.);
} > sdram
- .init_section : {
+ .init_section :
+ {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > sdram
- .ARM.extab : {
+ .ARM.extab :
+ {
*(.ARM.extab*)
} > sdram
@@ -92,7 +95,8 @@ SECTIONS
} > sdram
PROVIDE_HIDDEN (__exidx_end = .);
- .data : {
+ .data :
+ {
_sdata = ABSOLUTE(.);
*(.data .data.*)
*(.gnu.linkonce.d.*)
@@ -100,7 +104,8 @@ SECTIONS
_edata = ABSOLUTE(.);
} > sdram
- .bss : {
+ .bss :
+ {
_sbss = ABSOLUTE(.);
*(.bss .bss.*)
*(.gnu.linkonce.b.*)
@@ -108,7 +113,17 @@ SECTIONS
_ebss = ABSOLUTE(.);
} > sdram
+ /* Uninitialized data */
+
+ .noinit :
+ {
+ _snoinit = ABSOLUTE(.);
+ *(.noinit*)
+ _enoinit = ABSOLUTE(.);
+ } > sdram
+
/* Stabs debugging sections. */
+
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }