[U-Boot] [PATCH V2 1/5] ARM: fix u-boot.lds for -ffunction-sections/-fdata-sections

Stephen Warren
2012-10-18T23:25:55Z

From: Stephen Warren <swarren@nvidia.com>

When -ffunction-sections or -fdata-section are used, symbols are placed
into sections such as .data.eserial1_device and .bss.serial_current.
Update the linker script to explicitly include these. Without this
change (at least with my gcc-4.5.3 built using crosstool-ng), I see that
the sections do end up being included, but __bss_end__ gets set to the
same value as __bss_start.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
v2: Removed changes from some entries where it wasn't needed.
---
arch/arm/cpu/u-boot.lds | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index e49ca0c..9153c3d 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -34,8 +34,8 @@ SECTIONS
.text :
{
__image_copy_start = .;
- CPUDIR/start.o (.text)
- *(.text)
+ CPUDIR/start.o (.text*)
+ *(.text*)
}

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

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

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

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