Blackfin: linker scripts: force start.o and set initcode boundaries
authorMike Frysinger <vapier@gentoo.org>
Sun, 12 Oct 2008 00:47:58 +0000 (20:47 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 23 Oct 2008 09:03:51 +0000 (05:03 -0400)
Make sure that the start.o object is always the first object in our linker
script regardless of configuration settings, and add some linker symbols
so the ldr utility can properly locate the initcode when generating a LDR.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
board/bf533-ezkit/u-boot.lds.S
board/bf533-stamp/u-boot.lds.S
board/bf537-stamp/u-boot.lds.S
board/bf561-ezkit/u-boot.lds.S

index 538a19f..70764ac 100644 (file)
@@ -54,6 +54,8 @@ SECTIONS
 {
        .text :
        {
+               cpu/blackfin/start.o (.text)
+
 #ifdef ENV_IS_EMBEDDED
                /* WARNING - the following is hand-optimized to fit within
                 * the sector before the environment sector. If it throws
@@ -61,7 +63,6 @@ SECTIONS
                 * it linked after the configuration sector.
                 */
 
-               cpu/blackfin/start.o            (.text)
                cpu/blackfin/traps.o            (.text)
                cpu/blackfin/interrupt.o        (.text)
                cpu/blackfin/serial.o           (.text)
@@ -74,6 +75,10 @@ SECTIONS
                common/env_embedded.o   (.text)
 #endif
 
+               __initcode_start = .;
+               cpu/blackfin/initcode.o (.text)
+               __initcode_end = .;
+
                *(.text .text.*)
        } >ram
 
index 97ebd79..187309f 100644 (file)
@@ -54,6 +54,8 @@ SECTIONS
 {
        .text :
        {
+               cpu/blackfin/start.o (.text)
+
 #ifdef ENV_IS_EMBEDDED
                /* WARNING - the following is hand-optimized to fit within
                 * the sector before the environment sector. If it throws
@@ -61,7 +63,6 @@ SECTIONS
                 * it linked after the configuration sector.
                 */
 
-               cpu/blackfin/start.o            (.text)
                cpu/blackfin/traps.o            (.text)
                cpu/blackfin/interrupt.o        (.text)
                cpu/blackfin/serial.o           (.text)
@@ -72,6 +73,10 @@ SECTIONS
                common/env_embedded.o   (.text)
 #endif
 
+               __initcode_start = .;
+               cpu/blackfin/initcode.o (.text)
+               __initcode_end = .;
+
                *(.text .text.*)
        } >ram
 
index 97ebd79..187309f 100644 (file)
@@ -54,6 +54,8 @@ SECTIONS
 {
        .text :
        {
+               cpu/blackfin/start.o (.text)
+
 #ifdef ENV_IS_EMBEDDED
                /* WARNING - the following is hand-optimized to fit within
                 * the sector before the environment sector. If it throws
@@ -61,7 +63,6 @@ SECTIONS
                 * it linked after the configuration sector.
                 */
 
-               cpu/blackfin/start.o            (.text)
                cpu/blackfin/traps.o            (.text)
                cpu/blackfin/interrupt.o        (.text)
                cpu/blackfin/serial.o           (.text)
@@ -72,6 +73,10 @@ SECTIONS
                common/env_embedded.o   (.text)
 #endif
 
+               __initcode_start = .;
+               cpu/blackfin/initcode.o (.text)
+               __initcode_end = .;
+
                *(.text .text.*)
        } >ram
 
index 3defef4..99d6be6 100644 (file)
@@ -54,6 +54,8 @@ SECTIONS
 {
        .text :
        {
+               cpu/blackfin/start.o (.text)
+
 #ifdef ENV_IS_EMBEDDED
                /* WARNING - the following is hand-optimized to fit within
                 * the sector before the environment sector. If it throws
@@ -61,7 +63,6 @@ SECTIONS
                 * it linked after the configuration sector.
                 */
 
-               cpu/blackfin/start.o            (.text)
                cpu/blackfin/traps.o            (.text)
                cpu/blackfin/interrupt.o        (.text)
                cpu/blackfin/serial.o           (.text)
@@ -74,6 +75,10 @@ SECTIONS
                common/env_embedded.o   (.text)
 #endif
 
+               __initcode_start = .;
+               cpu/blackfin/initcode.o (.text)
+               __initcode_end = .;
+
                *(.text .text.*)
        } >ram