[U-Boot] [PATCH] arm: fix missing exception handling

Benoît Thébaudeau benoit.thebaudeau.dev at gmail.com
Tue Aug 19 20:35:29 CEST 2014


Commit 41623c9 'arm: move exception handling out of start.S files' missed some
linker scripts. Hence, some boards no longer had exception handling linked since
this commit. Restore the original behavior by adding the .vectors section to
these linker scripts.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev at gmail.com>
Cc: Albert ARIBAUD <albert.u.boot at aribaud.net>
---
 arch/arm/cpu/arm1136/u-boot-spl.lds            | 1 +
 arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds      | 1 +
 arch/arm/cpu/armv7/am33xx/u-boot-spl.lds       | 1 +
 arch/arm/cpu/armv7/omap-common/u-boot-spl.lds  | 1 +
 arch/arm/cpu/armv7/socfpga/u-boot-spl.lds      | 1 +
 arch/arm/cpu/armv7/zynq/u-boot-spl.lds         | 1 +
 arch/arm/cpu/at91-common/u-boot-spl.lds        | 1 +
 board/Barix/ipam390/u-boot-spl-ipam390.lds     | 1 +
 board/ait/cam_enc_4xx/u-boot-spl.lds           | 1 +
 board/cirrus/edb93xx/u-boot.lds                | 1 +
 board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 1 +
 board/davinci/da8xxevm/u-boot-spl-hawk.lds     | 1 +
 board/samsung/common/exynos-uboot-spl.lds      | 1 +
 board/vpac270/u-boot-spl.lds                   | 1 +
 14 files changed, 14 insertions(+)

diff --git a/arch/arm/cpu/arm1136/u-boot-spl.lds b/arch/arm/cpu/arm1136/u-boot-spl.lds
index 0299902..97e4a8b 100644
--- a/arch/arm/cpu/arm1136/u-boot-spl.lds
+++ b/arch/arm/cpu/arm1136/u-boot-spl.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 	__start = .;
+	  *(.vectors)
 	  arch/arm/cpu/arm1136/start.o	(.text*)
 	  *(.text*)
 	} >.sram
diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
index f4bf8ac..bf2ac13 100644
--- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
+++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
@@ -21,6 +21,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text	:
 	{
+		*(.vectors)
 		arch/arm/cpu/arm926ejs/mxs/start.o	(.text*)
 		*(.text*)
 	}
diff --git a/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds b/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds
index b1c28c9..07cf267 100644
--- a/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/am33xx/u-boot-spl.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 		__start = .;
+		*(.vectors)
 		arch/arm/cpu/armv7/start.o	(.text)
 		*(.text*)
 	} >.sram
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 745603d..ccd0c83 100644
--- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 		__start = .;
+		*(.vectors)
 		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 4282beb..db9bdad 100644
--- a/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/socfpga/u-boot-spl.lds
@@ -16,6 +16,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text	:
 	{
+		*(.vectors)
 		arch/arm/cpu/armv7/start.o	(.text*)
 		*(.text*)
 	} >.sdram
diff --git a/arch/arm/cpu/armv7/zynq/u-boot-spl.lds b/arch/arm/cpu/armv7/zynq/u-boot-spl.lds
index 0c4501e..0f2f756 100644
--- a/arch/arm/cpu/armv7/zynq/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/zynq/u-boot-spl.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text :
 	{
 		__image_copy_start = .;
+		*(.vectors)
 		CPUDIR/start.o (.text*)
 		*(.text*)
 	} > .sram
diff --git a/arch/arm/cpu/at91-common/u-boot-spl.lds b/arch/arm/cpu/at91-common/u-boot-spl.lds
index 57ac1eb..eccca43 100644
--- a/arch/arm/cpu/at91-common/u-boot-spl.lds
+++ b/arch/arm/cpu/at91-common/u-boot-spl.lds
@@ -25,6 +25,7 @@ SECTIONS
 	.text      :
 	{
 		__start = .;
+		*(.vectors)
 		arch/arm/cpu/armv7/start.o	(.text*)
 		*(.text*)
 	} >.sram
diff --git a/board/Barix/ipam390/u-boot-spl-ipam390.lds b/board/Barix/ipam390/u-boot-spl-ipam390.lds
index 8604696..5f290ec 100644
--- a/board/Barix/ipam390/u-boot-spl-ipam390.lds
+++ b/board/Barix/ipam390/u-boot-spl-ipam390.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 	__start = .;
+	  *(.vectors)
 	  arch/arm/cpu/arm926ejs/start.o	(.text*)
 	  *(.text*)
 	} >.sram
diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds
index c0d09ad..f5c19df 100644
--- a/board/ait/cam_enc_4xx/u-boot-spl.lds
+++ b/board/ait/cam_enc_4xx/u-boot-spl.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 	__start = .;
+	  *(.vectors)
 	  arch/arm/cpu/arm926ejs/start.o	(.text*)
 	  *(.text*)
 	} >.sram
diff --git a/board/cirrus/edb93xx/u-boot.lds b/board/cirrus/edb93xx/u-boot.lds
index b0d892a..4aa7891 100644
--- a/board/cirrus/edb93xx/u-boot.lds
+++ b/board/cirrus/edb93xx/u-boot.lds
@@ -21,6 +21,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text : {
 		*(.__image_copy_start)
+		*(.vectors)
 		arch/arm/cpu/arm920t/start.o (.text*)
 		. = 0x1000;
 
diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
index de21a13..ab4f50c 100644
--- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
+++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
@@ -22,6 +22,7 @@ SECTIONS
 	.text      :
 	{
 	__start = .;
+	  *(.vectors)
 	  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 299226b..682f268 100644
--- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds
+++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds
@@ -18,6 +18,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text      :
 	{
+	  *(.vectors)
 	  arch/arm/cpu/arm926ejs/start.o		(.text*)
 	  arch/arm/cpu/arm926ejs/davinci/built-in.o	(.text*)
 	  drivers/mtd/nand/built-in.o			(.text*)
diff --git a/board/samsung/common/exynos-uboot-spl.lds b/board/samsung/common/exynos-uboot-spl.lds
index b22f9e0..4a933c8 100644
--- a/board/samsung/common/exynos-uboot-spl.lds
+++ b/board/samsung/common/exynos-uboot-spl.lds
@@ -21,6 +21,7 @@ SECTIONS
 	.text :
 	{
 		__start = .;
+		*(.vectors)
 		arch/arm/cpu/armv7/start.o (.text*)
 		*(.text*)
 	} >.sram
diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds
index 5dbf94e..a10ea71 100644
--- a/board/vpac270/u-boot-spl.lds
+++ b/board/vpac270/u-boot-spl.lds
@@ -19,6 +19,7 @@ SECTIONS
 	. = CONFIG_SPL_TEXT_BASE;
 	.text.0	:
 	{
+		*(.vectors)
 		arch/arm/cpu/pxa/start.o		(.text*)
 		arch/arm/lib/built-in.o			(.text*)
 		board/vpac270/built-in.o		(.text*)
-- 
1.9.1



More information about the U-Boot mailing list