_start symbol contains only 32-bit data number 0x27051956 despite it is
marked as text section. This magic number is IH_MAGIC which is used for
marking uboot image header.

mpc85xx start.S code does not define valid uboot image header, so IH_MAGIC
number in _start symbol is useless there.

Moreover this _start symbol is not used at all. Entry point is at symbol
_start_e500.

So because this _start symbol is not used for anything, completely remove
it with IH_MAGIC number. After _start symbol was _start_cont symbol, so
replace all relative address calculations by _start_cont.

Signed-off-by: Pali Rohár <p...@kernel.org>
---
 arch/powerpc/cpu/mpc85xx/start.S | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/cpu/mpc85xx/start.S b/arch/powerpc/cpu/mpc85xx/start.S
index 656cc6ec8024..71b04b9f7286 100644
--- a/arch/powerpc/cpu/mpc85xx/start.S
+++ b/arch/powerpc/cpu/mpc85xx/start.S
@@ -46,7 +46,6 @@
        GOT_ENTRY(_FIXUP_TABLE_)
 
 #ifndef MINIMAL_SPL
-       GOT_ENTRY(_start)
        GOT_ENTRY(_start_of_vectors)
        GOT_ENTRY(_end_of_vectors)
        GOT_ENTRY(transfer_to_handler)
@@ -1128,16 +1127,12 @@ switch_as:
        /*--------------------------------------------------------------*/
        lis     r3,CONFIG_SYS_MONITOR_BASE@h
        ori     r3,r3,CONFIG_SYS_MONITOR_BASE@l
-       addi    r3,r3,_start_cont - _start
+       addi    r3,r3,_start_cont - _start_cont
        mtlr    r3
        blr
 #endif
 
        .text
-       .globl  _start
-_start:
-       .long   0x27051956              /* U-BOOT Magic Number */
-
        .globl  _start_cont
 _start_cont:
        /* Setup the stack in initial RAM,could be L2-as-SRAM or L1 dcache*/
@@ -1604,7 +1599,7 @@ relocate_code:
  * initialization, now running from RAM.
  */
 
-       addi    r0,r10,in_ram - _start
+       addi    r0,r10,in_ram - _start_cont
 
        /*
         * As IVPR is going to point RAM address,
-- 
2.20.1

Reply via email to