[U-Boot] [PATCH v9 10/30] arm: relocate_code() is no longer noreturn

Benoît Thébaudeau
2013-03-06T18:59:16Z

Commit e05e5de7fae5bec79617e113916dac6631251156 made ARM's relocate_code()
return to its caller, but it did not update its declaration accordingly.

Fixing this function declaration fixes dropped C code following calls to
relocate_code().

Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
---
Changes in v9: None
Changes in v8:
- Update relocate_code() description in ARM start.S comments.

Changes in v7: None
Changes in v6:
- New patch, extracted from "nand: mxc: Switch NAND SPL to generic SPL".

Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

arch/arm/cpu/arm1136/start.S | 4 +---
arch/arm/cpu/arm1176/start.S | 4 +---
arch/arm/cpu/arm720t/start.S | 4 +---
arch/arm/cpu/arm920t/start.S | 4 +---
arch/arm/cpu/arm925t/start.S | 4 +---
arch/arm/cpu/arm926ejs/start.S | 4 +---
arch/arm/cpu/arm946es/start.S | 4 +---
arch/arm/cpu/arm_intcm/start.S | 4 +---
arch/arm/cpu/armv7/start.S | 4 +---
arch/arm/cpu/ixp/start.S | 4 +---
arch/arm/cpu/pxa/start.S | 4 +---
arch/arm/cpu/s3c44b0/start.S | 4 +---
arch/arm/cpu/sa1100/start.S | 4 +---
include/common.h | 6 +++++-
14 files changed, 18 insertions(+), 40 deletions(-)

diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index 4053e86..f1cb1d5 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -176,9 +176,7 @@ next:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S
index d11386a..fe947cc 100644
--- a/arch/arm/cpu/arm1176/start.S
+++ b/arch/arm/cpu/arm1176/start.S
@@ -239,9 +239,7 @@ skip_tcmdisable:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S
index 83722aa..a3d06ce 100644
--- a/arch/arm/cpu/arm720t/start.S
+++ b/arch/arm/cpu/arm720t/start.S
@@ -154,9 +154,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
index f4f14e1..e11460c 100644
--- a/arch/arm/cpu/arm920t/start.S
+++ b/arch/arm/cpu/arm920t/start.S
@@ -193,9 +193,7 @@ copyex:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S
index 95a0de7..4030d49 100644
--- a/arch/arm/cpu/arm925t/start.S
+++ b/arch/arm/cpu/arm925t/start.S
@@ -183,9 +183,7 @@ poll1:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 39f9a2e..5600599 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -200,9 +200,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S
index 0d57294..79ba8e3 100644
--- a/arch/arm/cpu/arm946es/start.S
+++ b/arch/arm/cpu/arm946es/start.S
@@ -158,9 +158,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
index f5e5381..039677e 100644
--- a/arch/arm/cpu/arm_intcm/start.S
+++ b/arch/arm/cpu/arm_intcm/start.S
@@ -154,9 +154,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
index 9bb42ae..18dad12 100644
--- a/arch/arm/cpu/armv7/start.S
+++ b/arch/arm/cpu/armv7/start.S
@@ -167,9 +167,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
ENTRY(relocate_code)
mov r4, r0 /* save addr_sp */
diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S
index 11e3efa..83823a6 100644
--- a/arch/arm/cpu/ixp/start.S
+++ b/arch/arm/cpu/ixp/start.S
@@ -256,9 +256,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
index a276ee0..6325e5f 100644
--- a/arch/arm/cpu/pxa/start.S
+++ b/arch/arm/cpu/pxa/start.S
@@ -171,9 +171,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S
index 974ca1b..0224898 100644
--- a/arch/arm/cpu/s3c44b0/start.S
+++ b/arch/arm/cpu/s3c44b0/start.S
@@ -139,9 +139,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S
index 88769e3..dc79556 100644
--- a/arch/arm/cpu/sa1100/start.S
+++ b/arch/arm/cpu/sa1100/start.S
@@ -143,9 +143,7 @@ reset:
/*
* void relocate_code (addr_sp, gd, addr_moni)
*
- * This "function" does not return, instead it continues in RAM
- * after relocating the monitor code.
- *
+ * This function relocates the monitor code.
*/
.globl relocate_code
relocate_code:
diff --git a/include/common.h b/include/common.h
index 4ad17ea..691e279 100644
--- a/include/common.h
+++ b/include/common.h
@@ -515,7 +515,11 @@ int dcache_status (void);
void dcache_enable (void);
void dcache_disable(void);
void mmu_disable(void);
-void relocate_code (ulong, gd_t *, ulong) __attribute__ ((noreturn));
+void relocate_code(ulong, gd_t *, ulong)
+#if !defined(CONFIG_ARM)
+__attribute__ ((noreturn))
+#endif
+;
ulong get_endaddr (void);
void trap_init (ulong);
#if defined (CONFIG_4xx) || \
--
1.7.10.4