[U-Boot] [PATCH v3] spl: arm: Make sure to include u_boot_list_*_part_disk_*

Tom Rini trini at konsulko.com
Wed Mar 16 02:05:55 CET 2016


Starting with 96e5b03 we use a linker list for partition table
information.  However since we use this in SPL we need to make sure that
the SPL linker scripts include these as well.  While doing this, it's
best to simply include all linker lists to future proof ourselves.

Cc: Andreas Bießmann <andreas.devel at googlemail.com>
Cc: Michal Simek <michal.simek at xilinx.com>
Reviewed-by: Simon Glass <sjg at chromium.org>
Reported-by: Nishanth Menon <nm at ti.com>
Tested-by: Nishanth Menon <nm at ti.com>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
Changes in v3:
- Rework things again, after some testing we don't need to worry about
  including empty lists, the linker doesn't waste binary space.  Also
  update the at91 linker lists and build time confirm that they were
  also broken by the opening commit.
Changes in v2:
- Drop the CONFIG_SPL_DM tests for zynq as DM is the only case for zynq
  and while in here drop a now useless line.
---
 arch/arm/cpu/armv7/omap-common/u-boot-spl.lds |    2 +-
 arch/arm/cpu/u-boot-spl.lds                   |    9 +--------
 arch/arm/mach-at91/arm926ejs/u-boot-spl.lds   |    3 +++
 arch/arm/mach-at91/armv7/u-boot-spl.lds       |    3 +++
 arch/arm/mach-zynq/u-boot-spl.lds             |    7 +------
 5 files changed, 9 insertions(+), 15 deletions(-)

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 ccd0c83..8fec715 100644
--- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
@@ -35,7 +35,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	.u_boot_list : {
-		KEEP(*(SORT(.u_boot_list*_i2c_*)));
+		KEEP(*(SORT(.u_boot_list*)));
 	} >.sram
 
 	. = ALIGN(4);
diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds
index c5b4f7c..068163b 100644
--- a/arch/arm/cpu/u-boot-spl.lds
+++ b/arch/arm/cpu/u-boot-spl.lds
@@ -32,15 +32,8 @@ SECTIONS
 	}
 
 	. = ALIGN(4);
-#ifdef CONFIG_SPL_DM
 	.u_boot_list : {
-		KEEP(*(SORT(.u_boot_list_*_driver_*)));
-		KEEP(*(SORT(.u_boot_list_*_uclass_*)));
-	}
-#endif
-	. = .;
-	.u_boot_list : {
-		KEEP(*(SORT(.u_boot_list*_i2c_*)));
+		KEEP(*(SORT(.u_boot_list*)));
 	}
 
 	. = ALIGN(4);
diff --git a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
index acadd1d..1b04206 100644
--- a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
+++ b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
@@ -30,6 +30,9 @@ SECTIONS
 	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
 
 	. = ALIGN(4);
+	.u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram
+
+	. = ALIGN(4);
 	__image_copy_end = .;
 
 	.end :
diff --git a/arch/arm/mach-at91/armv7/u-boot-spl.lds b/arch/arm/mach-at91/armv7/u-boot-spl.lds
index eccca43..c667c55 100644
--- a/arch/arm/mach-at91/armv7/u-boot-spl.lds
+++ b/arch/arm/mach-at91/armv7/u-boot-spl.lds
@@ -37,6 +37,9 @@ SECTIONS
 	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
 
 	. = ALIGN(4);
+	.u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram
+
+	. = ALIGN(4);
 	__image_copy_end = .;
 
 	.end :
diff --git a/arch/arm/mach-zynq/u-boot-spl.lds b/arch/arm/mach-zynq/u-boot-spl.lds
index ecdf6a0..9a59164 100644
--- a/arch/arm/mach-zynq/u-boot-spl.lds
+++ b/arch/arm/mach-zynq/u-boot-spl.lds
@@ -38,16 +38,11 @@ SECTIONS
 	} > .sram
 
 	. = ALIGN(4);
-#ifdef CONFIG_SPL_DM
 	.u_boot_list : {
-		KEEP(*(SORT(.u_boot_list_*_driver_*)));
-		KEEP(*(SORT(.u_boot_list_*_uclass_*)));
+		KEEP(*(SORT(.u_boot_list*)));
 	} > .sram
 
 	. = ALIGN(4);
-#endif
-
-	. = .;
 
 	_image_binary_end = .;
 
-- 
1.7.9.5



More information about the U-Boot mailing list