[U-Boot] [PATCH v9 30/30] arm: Make all linker scripts compatible with per-symbol sections

Benoît Thébaudeau
2013-03-06T18:59:36Z

Let all ARM linker scripts handle properly -ffunction-sections
and -fdata-sections. This will be useful for future changes in order to create
symbol-specific sections in common .S files.

Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
---
Changes in v9:
- Reword following the removal of "arm: Remove duplicated start.S code".

Changes in v8:
- New patch.

Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

arch/arm/cpu/arm1136/u-boot-spl.lds | 2 +-
arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 10 +++++-----
arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 6 +++---
arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 6 +++---
arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 2 +-
arch/arm/cpu/armv7/socfpga/u-boot-spl.lds | 2 +-
board/ait/cam_enc_4xx/u-boot-spl.lds | 2 +-
board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 2 +-
board/davinci/da8xxevm/u-boot-spl-hawk.lds | 8 ++++----
board/freescale/mx31ads/u-boot.lds | 20 ++++++++++----------
board/samsung/smdk5250/smdk5250-uboot-spl.lds | 2 +-
board/vpac270/u-boot-spl.lds | 4 ++--
12 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/arch/arm/cpu/arm1136/u-boot-spl.lds b/arch/arm/cpu/arm1136/u-boot-spl.lds
index a0462ab..deae361 100644
--- a/arch/arm/cpu/arm1136/u-boot-spl.lds
+++ b/arch/arm/cpu/arm1136/u-boot-spl.lds
@@ -38,7 +38,7 @@ SECTIONS
.text :
{
__start = .;
- arch/arm/cpu/arm1136/start.o (.text)
+ arch/arm/cpu/arm1136/start.o (.text*)
*(.text*)
} >.sram

diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
index 62315de..72912de 100644
--- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
+++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
@@ -31,18 +31,18 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/arm920t/start.o (.text)
+ arch/arm/cpu/arm920t/start.o (.text*)
/* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */
. = 0x1000;
LONG(0x53555243)
- *(.text)
+ *(.text*)
}

. = ALIGN(4);
- .rodata : { *(.rodata) }
+ .rodata : { *(.rodata*) }

. = ALIGN(4);
- .data : { *(.data) }
+ .data : { *(.data*) }

. = ALIGN(4);
.got : { *(.got) }
@@ -59,7 +59,7 @@ SECTIONS
__image_copy_end = .;

__bss_start = .;
- .bss : { *(.bss) }
+ .bss : { *(.bss*) }
__bss_end__ = .;

_end = .;
diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
index 6dc681a..80693da 100644
--- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
+++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
@@ -37,8 +37,8 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/arm926ejs/mxs/start.o (.text)
- *(.text)
+ arch/arm/cpu/arm926ejs/mxs/start.o (.text*)
+ *(.text*)
}

. = ALIGN(4);
@@ -46,7 +46,7 @@ SECTIONS

. = ALIGN(4);
.data : {
- *(.data)
+ *(.data*)
}

. = ALIGN(4);
diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
index f3bd5e7..3146f79 100644
--- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
+++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
@@ -37,8 +37,8 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/arm926ejs/spear/start.o (.text)
- *(.text)
+ arch/arm/cpu/arm926ejs/spear/start.o (.text*)
+ *(.text*)
}

. = ALIGN(4);
@@ -46,7 +46,7 @@ SECTIONS

. = ALIGN(4);
.data : {
- *(.data)
+ *(.data*)
}

. = ALIGN(4);
diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
index 9979c30..0b923f8 100644
--- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
@@ -38,7 +38,7 @@ SECTIONS
.text :
{
__start = .;
- arch/arm/cpu/armv7/start.o (.text)
+ arch/arm/cpu/armv7/start.o (.text*)
*(.text*)
} >.sram

diff --git a/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds b/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
index 7cd409c..ff309b9 100644
--- a/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
@@ -27,7 +27,7 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/armv7/start.o (.text)
+ arch/arm/cpu/armv7/start.o (.text*)
*(.text*)
} >.sdram

diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds
index 656b2fb..a9d797b 100644
--- a/board/ait/cam_enc_4xx/u-boot-spl.lds
+++ b/board/ait/cam_enc_4xx/u-boot-spl.lds
@@ -38,7 +38,7 @@ SECTIONS
.text :
{
__start = .;
- arch/arm/cpu/arm926ejs/start.o (.text)
+ arch/arm/cpu/arm926ejs/start.o (.text*)
*(.text*)
} >.sram

diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
index c5fd93c..e5ebd82 100644
--- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
+++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
@@ -38,7 +38,7 @@ SECTIONS
.text :
{
__start = .;
- arch/arm/cpu/arm926ejs/start.o (.text)
+ arch/arm/cpu/arm926ejs/start.o (.text*)
*(.text*)
} >.sram

diff --git a/board/davinci/da8xxevm/u-boot-spl-hawk.lds b/board/davinci/da8xxevm/u-boot-spl-hawk.lds
index 174955e..9b2f0dd 100644
--- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds
+++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds
@@ -34,15 +34,15 @@ SECTIONS
. = ALIGN(4);
.text :
{
- arch/arm/cpu/arm926ejs/start.o (.text)
- arch/arm/cpu/arm926ejs/davinci/libdavinci.o (.text)
- drivers/mtd/nand/libnand.o (.text)
+ arch/arm/cpu/arm926ejs/start.o (.text*)
+ arch/arm/cpu/arm926ejs/davinci/libdavinci.o (.text*)
+ drivers/mtd/nand/libnand.o (.text*)

*(.text*)
}

. = ALIGN(4);
- .rodata : { *(.rodata) }
+ .rodata : { *(.rodata*) }

. = ALIGN(4);
.data : {
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index 5267729..d011c7a 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -37,23 +37,23 @@ SECTIONS
/* WARNING - the following is hand-optimized to fit within */
/* the sector layout of our flash chips! XXX FIXME XXX */

- arch/arm/cpu/arm1136/start.o (.text)
- board/freescale/mx31ads/libmx31ads.o (.text)
- arch/arm/lib/libarm.o (.text)
- net/libnet.o (.text)
- drivers/mtd/libmtd.o (.text)
+ arch/arm/cpu/arm1136/start.o (.text*)
+ board/freescale/mx31ads/libmx31ads.o (.text*)
+ arch/arm/lib/libarm.o (.text*)
+ net/libnet.o (.text*)
+ drivers/mtd/libmtd.o (.text*)

. = DEFINED(env_offset) ? env_offset : .;
- common/env_embedded.o(.text)
+ common/env_embedded.o(.text*)

- *(.text)
+ *(.text*)
}
. = ALIGN(4);
- .rodata : { *(.rodata) }
+ .rodata : { *(.rodata*) }

. = ALIGN(4);
.data : {
- *(.data)
+ *(.data*)
}

. = ALIGN(4);
@@ -82,7 +82,7 @@ SECTIONS

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
- *(.bss)
+ *(.bss*)
. = ALIGN(4);
__bss_end__ = .;
}
diff --git a/board/samsung/smdk5250/smdk5250-uboot-spl.lds b/board/samsung/smdk5250/smdk5250-uboot-spl.lds
index 951d8ce..e662a35 100644
--- a/board/samsung/smdk5250/smdk5250-uboot-spl.lds
+++ b/board/samsung/smdk5250/smdk5250-uboot-spl.lds
@@ -37,7 +37,7 @@ SECTIONS
.text :
{
__start = .;
- arch/arm/cpu/armv7/start.o (.text)
+ arch/arm/cpu/armv7/start.o (.text*)
*(.text*)
} >.sram
. = ALIGN(4);
diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds
index e344436..183ff8f 100644
--- a/board/vpac270/u-boot-spl.lds
+++ b/board/vpac270/u-boot-spl.lds
@@ -54,7 +54,7 @@ SECTIONS

. = ALIGN(4);
.data : {
- *(.data)
+ *(.data*)
}

.u_boot_list : {
@@ -82,7 +82,7 @@ SECTIONS

.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
- *(.bss)
+ *(.bss*)
. = ALIGN(4);
__bss_end__ = .;
}
--
1.7.10.4