Skip to contentSkip to conversation

arm: fix missing exception handling

PATCH New Benoît Thébaudeau 2 participants 5 messages Aug 19, 2014 – Aug 21, 2014

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm: fix missing exception handling

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.

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

PATCH 1/1 arm: fix missing exception handling

Beno?t,

Quoted 7 lines · Beno?t Th?baudeau

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.

Does this really _fix_ exception handling for all of these boards (as your message subject states) or just restore the state before commit 41623c9? I believe exception handling has never worked for most of these boards, they don't use it. See the discussion in [1], in particular [2] and [3].

Regards, Christian

[1] http://marc.info/?t=140247105400001&r=1&w=2
[2] http://marc.info/?l=u-boot&m=140309659906074&w=2
[3] http://marc.info/?l=u-boot&m=140450616517545&w=2

#2 lore raw

PATCH 1/1 arm: fix missing exception handling

Christian,

Quoted 18 lines · Christian Riesch

Beno?t,

Quoted 7 lines · Beno?t Th?baudeau

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.

Does this really _fix_ exception handling for all of these boards (as your message subject states) or just restore the state before commit 41623c9? I believe exception handling has never worked for most of these boards, they don't use it. See the discussion in [1], in particular [2] and [3].

Quoted 5 lines

Regards, Christian

[1] http://marc.info/?t=140247105400001&r=1&w=2
[2] http://marc.info/?l=u-boot&m=140309659906074&w=2
[3] http://marc.info/?l=u-boot&m=140450616517545&w=2

The issue is that commit 41623c9 silently removed exception handling for many boards. Whether it was working or not for these boards before this commit is another issue. My patch only fixes _missing_ exception handling, not exception handling itself. I had discussed that with Albert here:
http://lists.denx.de/pipermail/u-boot/2014-July/183073.html

What do you suggest?
- Changing the wording? In which way?
- Dropping some boards from this patch? Which ones? I think that
there should be an explicit commit from the board maintainers doing that, rather than just commit 41623c9.

Regards,
Beno?t

#3 lore raw

PATCH 1/1 arm: fix missing exception handling

Beno?t,

Quoted 24 lines · Beno?t Th?baudeau
Quoted 16 lines · Christian Riesch
Quoted 7 lines · Beno?t Th?baudeau

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.

Does this really _fix_ exception handling for all of these boards (as your message subject states) or just restore the state before commit 41623c9? I believe exception handling has never worked for most of these boards, they don't use it. See the discussion in [1], in particular [2] and [3].

Quoted 5 lines

Regards, Christian

[1] http://marc.info/?t=140247105400001&r=1&w=2
[2] http://marc.info/?l=u-boot&m=140309659906074&w=2
[3] http://marc.info/?l=u-boot&m=140450616517545&w=2

Quoted 6 lines

The issue is that commit 41623c9 silently removed exception handling for many boards. Whether it was working or not for these boards before this commit is another issue. My patch only fixes _missing_ exception handling, not exception handling itself. I had discussed that with Albert here:
http://lists.denx.de/pipermail/u-boot/2014-July/183073.html

Thanks for the pointer to the discussion.

Quoted 2 lines

What do you suggest?
- Changing the wording? In which way?

Yes, how about "Add missing .vectors section to linker scripts"? Regards, Christian

#4 lore raw

PATCH 1/1 arm: fix missing exception handling

Quoted 35 lines · Christian Riesch

Beno?t,

Quoted 24 lines · Beno?t Th?baudeau
Quoted 16 lines · Christian Riesch
Quoted 7 lines · Beno?t Th?baudeau

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.

Does this really _fix_ exception handling for all of these boards (as your message subject states) or just restore the state before commit 41623c9? I believe exception handling has never worked for most of these boards, they don't use it. See the discussion in [1], in particular [2] and [3].

Quoted 5 lines

Regards, Christian

[1] http://marc.info/?t=140247105400001&r=1&w=2
[2] http://marc.info/?l=u-boot&m=140309659906074&w=2
[3] http://marc.info/?l=u-boot&m=140450616517545&w=2

Quoted 6 lines

The issue is that commit 41623c9 silently removed exception handling for many boards. Whether it was working or not for these boards before this commit is another issue. My patch only fixes _missing_ exception handling, not exception handling itself. I had discussed that with Albert here:
http://lists.denx.de/pipermail/u-boot/2014-July/183073.html

Quoted 6 lines

Thanks for the pointer to the discussion.

Quoted 2 lines

What do you suggest?
- Changing the wording? In which way?

Yes, how about "Add missing .vectors section to linker scripts"?

Superseded by:
http://patchwork.ozlabs.org/patch/381971/

Beno?t