diff mbox

[U-Boot,v2] arm: Add missing .vectors section to linker scripts

Message ID 1408628591-29540-1-git-send-email-benoit.thebaudeau.dev@gmail.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Benoît Thébaudeau Aug. 21, 2014, 1:43 p.m. UTC
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@gmail.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>

---

Changes in v2:
 - Reword the patch subject from 'arm: fix missing exception handling' to 'arm:
   Add missing .vectors section to linker scripts'.
---
 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(+)

Comments

Michal Simek Aug. 29, 2014, 11:40 a.m. UTC | #1
On 08/21/2014 03:43 PM, Benoît Thébaudeau wrote:
> 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@gmail.com>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> 
> ---
> 
> Changes in v2:
>  - Reword the patch subject from 'arm: fix missing exception handling' to 'arm:
>    Add missing .vectors section to linker scripts'.
> ---
>  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


I have this patch for zynq in my private branch. It means when Albert or Tom
applies my zynq changes please ensure that vectors are not added twice.

Thanks,
Michal
Tom Rini Aug. 30, 2014, 3:15 p.m. UTC | #2
On Thu, Aug 21, 2014 at 03:43:11PM +0200, Benoît Thébaudeau wrote:

> 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@gmail.com>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>

Applied to u-boot/master (and checked that zynq didn't get a duplicate
entry now), thanks!
diff mbox

Patch

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*)