]> git.sur5r.net Git - u-boot/commitdiff
MIPS: start.S: use symbol __image_copy_end for U-Boot image relocation
authorDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tue, 12 Feb 2013 21:22:13 +0000 (22:22 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tue, 12 Feb 2013 21:22:13 +0000 (22:22 +0100)
Use the newly introduced symbol __image_copy_end as end address for
relocation of U-Boot image. This is needed for dynamic relocation added
in later patches. This patch obsoletes the symbols uboot_end and
uboot_end_data which are removed.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
arch/mips/cpu/mips32/start.S
arch/mips/cpu/mips64/start.S
arch/mips/cpu/u-boot.lds
arch/mips/cpu/xburst/start.S
arch/mips/include/asm/u-boot-mips.h

index cd8b914da317248a6bd9f4bf1d9d5e37a3f5eed1..649c0bbf5ce364193ea07abf07780769827a5181 100644 (file)
@@ -173,7 +173,7 @@ relocate_code:
        sub     s1, s2, t0              # s1 <-- relocation offset
 
        la      t3, in_ram
-       lw      t2, -12(t3)             # t2 <-- uboot_end_data
+       lw      t2, -12(t3)             # t2 <-- __image_copy_end
        move    t1, a2
 
        add     gp, s1                  # adjust gp
@@ -201,9 +201,8 @@ relocate_code:
        jr      t0
         nop
 
+       .word   __image_copy_end
        .word   _GLOBAL_OFFSET_TABLE_
-       .word   uboot_end_data
-       .word   uboot_end
        .word   num_got_entries
 
 in_ram:
@@ -214,7 +213,7 @@ in_ram:
         * generated by GNU ld. Skip these reserved entries from relocation.
         */
        lw      t3, -4(t0)              # t3 <-- num_got_entries
-       lw      t4, -16(t0)             # t4 <-- _GLOBAL_OFFSET_TABLE_
+       lw      t4, -8(t0)              # t4 <-- _GLOBAL_OFFSET_TABLE_
        add     t4, s1                  # t4 now holds relocated _G_O_T_
        addi    t4, t4, 8               # skipping first two entries
        li      t2, 2
index ba4ca4de38e010073d3a8027b74e309259fbfb90..5c2c7b5bad612eaeffaea4035260fb8fbff85924 100644 (file)
@@ -165,7 +165,7 @@ relocate_code:
        dsub    s1, s2, t0              # s1 <-- relocation offset
 
        dla     t3, in_ram
-       ld      t2, -24(t3)             # t2 <-- uboot_end_data
+       ld      t2, -24(t3)             # t2 <-- __image_copy_end
        move    t1, a2
 
        dadd    gp, s1                  # adjust gp
@@ -193,9 +193,8 @@ relocate_code:
        jr      t0
         nop
 
+       .dword  __image_copy_end
        .dword  _GLOBAL_OFFSET_TABLE_
-       .dword  uboot_end_data
-       .dword  uboot_end
        .dword  num_got_entries
 
 in_ram:
@@ -206,7 +205,7 @@ in_ram:
         * generated by GNU ld. Skip these reserved entries from relocation.
         */
        ld      t3, -8(t0)              # t3 <-- num_got_entries
-       ld      t8, -32(t0)             # t8 <-- _GLOBAL_OFFSET_TABLE_
+       ld      t8, -16(t0)             # t8 <-- _GLOBAL_OFFSET_TABLE_
        dadd    t8, s1                  # t8 now holds relocated _G_O_T_
        daddi   t8, t8, 16              # skipping first two entries
        dli     t2, 2
index 7b5fca09634aba8a1ca7db9c5ed176690c3f0b23..4cd983ae4f20865bb4f473eadcc40dace9190e1a 100644 (file)
@@ -67,8 +67,6 @@ SECTIONS
                #include <u-boot.lst>
        }
 
-       uboot_end_data = .;
-
        . = ALIGN(4);
        __image_copy_end = .;
 
@@ -80,6 +78,4 @@ SECTIONS
                . = ALIGN(4);
                __bss_end = .;
        }
-
-       uboot_end = .;
 }
index bd9390ae5e396431480eee744c5e93018f150093..6b30d3ee8a5d82310f38211b8a812fae4e72d3fe 100644 (file)
@@ -67,7 +67,7 @@ relocate_code:
        sub     t6, a2, t0              # t6 <-- relocation offset
 
        la      t3, in_ram
-       lw      t2, -12(t3)             # t2 <-- uboot_end_data
+       lw      t2, -12(t3)             # t2 <-- __image_copy_end
        move    t1, a2
 
        add     gp, t6                  # adjust gp
@@ -116,9 +116,8 @@ relocate_code:
        jr      t0
         nop
 
+       .word   __image_copy_end
        .word   _GLOBAL_OFFSET_TABLE_
-       .word   uboot_end_data
-       .word   uboot_end
        .word   num_got_entries
 
 in_ram:
@@ -129,7 +128,7 @@ in_ram:
         * generated by GNU ld. Skip these reserved entries from relocation.
         */
        lw      t3, -4(t0)              # t3 <-- num_got_entries
-       lw      t4, -16(t0)             # t4 <-- _GLOBAL_OFFSET_TABLE_
+       lw      t4, -8(t0)              # t4 <-- _GLOBAL_OFFSET_TABLE_
        add     t4, t6                  # t4 now holds relocated _G_O_T_
        addi    t4, t4, 8               # skipping first two entries
        li      t2, 2
index bfb6a4a43a373e28ff13b6ce9459c797221a624e..a483166a9c992eeca804fa03f3b31f226b2c803c 100644 (file)
@@ -5,9 +5,6 @@
  * Copyright (C) 2003 Wolfgang Denk, DENX Software Engineering, wd@denx.de
  */
 
-extern ulong uboot_end_data;
-extern ulong uboot_end;
-
 static inline unsigned long bss_start(void)
 {
        extern ulong __bss_start;