* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
@ 2012-02-08 0:20 Troy Kisky
2012-02-08 0:20 ` [U-Boot] [PATCH v2 2/2] RFC: Let linker create phy array Troy Kisky
2012-02-08 0:39 ` [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Graeme Russ
0 siblings, 2 replies; 11+ messages in thread
From: Troy Kisky @ 2012-02-08 0:20 UTC (permalink / raw)
To: u-boot
This makes adding linker defined tables easier
as only 1 lds file (include/u-boot-common.lds)
will need to be touched instead of 193 files.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
---
arch/arm/cpu/arm1136/u-boot.lds | 7 +------
arch/arm/cpu/arm1176/u-boot.lds | 5 +----
arch/arm/cpu/arm720t/u-boot.lds | 7 +------
arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 +----
arch/arm/cpu/arm920t/u-boot.lds | 7 +------
arch/arm/cpu/arm925t/u-boot.lds | 7 +------
arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds | 5 +----
arch/arm/cpu/arm926ejs/u-boot.lds | 7 +------
arch/arm/cpu/arm946es/u-boot.lds | 7 +------
arch/arm/cpu/arm_intcm/u-boot.lds | 7 +------
arch/arm/cpu/armv7/u-boot.lds | 8 ++------
arch/arm/cpu/ixp/u-boot.lds | 7 +------
arch/arm/cpu/lh7a40x/u-boot.lds | 7 +------
arch/arm/cpu/pxa/u-boot.lds | 7 +------
arch/arm/cpu/s3c44b0/u-boot.lds | 7 +------
arch/arm/cpu/sa1100/u-boot.lds | 7 +------
arch/avr32/cpu/u-boot.lds | 8 +-------
arch/blackfin/cpu/u-boot.lds | 17 ++++++++---------
arch/nds32/cpu/n1213/u-boot.lds | 5 +----
arch/nios2/cpu/u-boot.lds | 8 ++------
arch/powerpc/cpu/74xx_7xx/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc512x/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc5xx/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 11 +----------
arch/powerpc/cpu/mpc5xxx/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc8220/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc824x/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc8260/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc83xx/u-boot.lds | 11 +----------
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 10 +---------
arch/powerpc/cpu/mpc85xx/u-boot.lds | 10 +---------
arch/powerpc/cpu/mpc86xx/u-boot.lds | 10 +---------
arch/powerpc/cpu/ppc4xx/u-boot.lds | 10 +---------
arch/sandbox/cpu/u-boot.lds | 4 +---
arch/sh/cpu/sh2/u-boot.lds | 9 ++-------
arch/sh/cpu/sh3/u-boot.lds | 10 +++-------
arch/sh/cpu/sh4/u-boot.lds | 9 ++-------
arch/x86/cpu/u-boot.lds | 6 +-----
board/BuS/EB+MCF-EV123/u-boot.lds | 10 +---------
board/LEOX/elpt860/u-boot.lds | 10 +---------
board/LEOX/elpt860/u-boot.lds.debug | 4 +---
board/RPXClassic/u-boot.lds | 11 +----------
board/RPXClassic/u-boot.lds.debug | 9 +--------
board/RPXlite/u-boot.lds | 11 +----------
board/RPXlite/u-boot.lds.debug | 9 +--------
board/RPXlite_dw/u-boot.lds | 11 +----------
board/RPXlite_dw/u-boot.lds.debug | 9 +--------
board/RRvision/u-boot.lds | 11 +----------
board/actux1/u-boot.lds | 8 ++------
board/actux2/u-boot.lds | 8 ++------
board/actux3/u-boot.lds | 8 ++------
board/adder/u-boot.lds | 11 +----------
board/altera/nios2-generic/u-boot.lds | 8 ++------
board/amcc/acadia/u-boot-nand.lds | 11 +----------
board/amcc/bamboo/u-boot-nand.lds | 11 +----------
board/amcc/canyonlands/u-boot-nand.lds | 11 +----------
board/amcc/kilauea/u-boot-nand.lds | 11 +----------
board/amcc/sequoia/u-boot-nand.lds | 11 +----------
board/amcc/sequoia/u-boot-ram.lds | 11 +----------
board/amirix/ap1000/u-boot.lds | 9 +--------
board/astro/mcf5373l/u-boot.lds | 11 +----------
board/c2mon/u-boot.lds | 11 +----------
board/c2mon/u-boot.lds.debug | 9 +--------
board/cobra5272/u-boot.lds | 10 +---------
board/cogent/u-boot.lds | 11 +----------
board/cogent/u-boot.lds.debug | 9 +--------
board/cray/L1/u-boot.lds.debug | 9 +--------
board/dave/PPChameleonEVB/u-boot.lds | 10 +---------
board/dbau1x00/u-boot.lds | 6 +-----
board/dvlhost/u-boot.lds | 8 ++------
board/eltec/mhpc/u-boot.lds | 11 +----------
board/eltec/mhpc/u-boot.lds.debug | 9 +--------
board/emk/top860/u-boot.lds | 12 +-----------
board/emk/top860/u-boot.lds.debug | 4 +---
board/ep88x/u-boot.lds | 11 +----------
board/esd/dasa_sim/u-boot.lds | 11 +----------
board/esd/pmc440/u-boot-nand.lds | 11 +----------
board/esd/tasreg/u-boot.lds | 10 +---------
board/esteem192e/u-boot.lds | 11 +----------
board/etx094/u-boot.lds | 11 +----------
board/evb64260/u-boot.lds | 11 +----------
board/fads/u-boot.lds | 11 +----------
board/flagadm/u-boot.lds | 11 +----------
board/flagadm/u-boot.lds.debug | 9 +--------
board/freescale/m5208evbe/u-boot.lds | 10 +---------
board/freescale/m52277evb/u-boot.lds | 10 +---------
board/freescale/m5235evb/u-boot.lds | 10 +---------
board/freescale/m5249evb/u-boot.lds | 10 +---------
board/freescale/m5253demo/u-boot.lds | 10 +---------
board/freescale/m5253evbe/u-boot.lds | 10 +---------
board/freescale/m5271evb/u-boot.lds | 10 +---------
board/freescale/m5272c3/u-boot.lds | 10 +---------
board/freescale/m5275evb/u-boot.lds | 10 +---------
board/freescale/m5282evb/u-boot.lds | 10 +---------
board/freescale/m53017evb/u-boot.lds | 10 +---------
board/freescale/m5329evb/u-boot.lds | 10 +---------
board/freescale/m5373evb/u-boot.lds | 10 +---------
board/freescale/m54451evb/u-boot.lds | 10 +---------
board/freescale/m54455evb/u-boot.lds | 10 +---------
board/freescale/m547xevb/u-boot.lds | 10 +---------
board/freescale/m548xevb/u-boot.lds | 10 +---------
board/freescale/mx31ads/u-boot.lds | 5 +----
board/gaisler/gr_cpci_ax2000/u-boot.lds | 6 +-----
board/gaisler/gr_ep2s60/u-boot.lds | 6 +-----
board/gaisler/gr_xc3s_1500/u-boot.lds | 6 +-----
board/gaisler/grsim/u-boot.lds | 6 +-----
board/gaisler/grsim_leon2/u-boot.lds | 6 +-----
board/gen860t/u-boot-flashenv.lds | 10 +---------
board/gen860t/u-boot.lds | 11 +----------
board/genietv/u-boot.lds | 11 +----------
board/genietv/u-boot.lds.debug | 9 +--------
board/gth2/u-boot.lds | 6 +-----
board/hermes/u-boot.lds | 11 +----------
board/hermes/u-boot.lds.debug | 9 +--------
board/hymod/u-boot.lds | 11 +----------
board/hymod/u-boot.lds.debug | 9 +--------
board/icu862/u-boot.lds | 11 +----------
board/icu862/u-boot.lds.debug | 9 +--------
board/idmr/u-boot.lds | 10 +---------
board/incaip/u-boot.lds | 6 +-----
board/ip860/u-boot.lds | 11 +----------
board/ip860/u-boot.lds.debug | 9 +--------
board/ivm/u-boot.lds | 11 +----------
board/ivm/u-boot.lds.debug | 9 +--------
board/jornada/u-boot.lds | 6 +-----
board/korat/u-boot-F7FC.lds | 11 +----------
board/kup/kup4k/u-boot.lds | 11 +----------
board/kup/kup4k/u-boot.lds.debug | 9 +--------
board/kup/kup4x/u-boot.lds | 11 +----------
board/kup/kup4x/u-boot.lds.debug | 9 +--------
board/lantec/u-boot.lds | 11 +----------
board/lantec/u-boot.lds.debug | 9 +--------
board/lwmon/u-boot.lds | 11 +----------
board/lwmon/u-boot.lds.debug | 9 +--------
board/manroland/uc100/u-boot.lds | 11 +----------
board/matrix_vision/mvsmr/u-boot.lds | 11 +----------
board/mbx8xx/u-boot.lds | 11 +----------
board/mbx8xx/u-boot.lds.debug | 9 +--------
board/micronas/vct/u-boot.lds | 7 +------
board/ml2/u-boot.lds | 11 +----------
board/ml2/u-boot.lds.debug | 9 +--------
board/mousse/u-boot.lds | 11 +----------
board/mousse/u-boot.lds.ram | 9 +--------
board/mousse/u-boot.lds.rom | 8 +-------
board/mpl/pip405/u-boot.lds.debug | 9 +--------
board/mvblue/u-boot.lds | 11 +----------
board/netphone/u-boot.lds | 11 +----------
board/netphone/u-boot.lds.debug | 9 +--------
board/netta/u-boot.lds | 11 +----------
board/netta/u-boot.lds.debug | 9 +--------
board/netta2/u-boot.lds | 11 +----------
board/netta2/u-boot.lds.debug | 9 +--------
board/netvia/u-boot.lds | 11 +----------
board/netvia/u-boot.lds.debug | 9 +--------
board/nx823/u-boot.lds | 11 +----------
board/nx823/u-boot.lds.debug | 9 +--------
board/openrisc/openrisc-generic/u-boot.lds | 4 +---
board/pb1x00/u-boot.lds | 6 +-----
board/qemu-mips/u-boot.lds | 7 +------
board/qi/qi_lb60/u-boot.lds | 4 +---
board/quantum/u-boot.lds | 11 +----------
board/quantum/u-boot.lds.debug | 4 +---
board/r360mpi/u-boot.lds | 11 +----------
board/rbc823/u-boot.lds | 10 +---------
board/renesas/sh7757lcr/u-boot.lds | 10 +++-------
board/rsdproto/u-boot.lds | 11 +----------
board/samsung/smdk6400/u-boot-nand.lds | 4 +---
board/sandburst/karef/u-boot.lds.debug | 9 +--------
board/sandburst/metrobox/u-boot.lds.debug | 9 +--------
board/sandpoint/u-boot.lds | 11 +----------
board/siemens/IAD210/u-boot.lds | 11 +----------
board/sixnet/u-boot.lds | 11 +----------
board/snmc/qs850/u-boot.lds | 11 +----------
board/snmc/qs860t/u-boot.lds | 11 +----------
board/spc1920/u-boot.lds | 11 +----------
board/spd8xx/u-boot.lds | 11 +----------
board/spd8xx/u-boot.lds.debug | 9 +--------
board/stx/stxxtc/u-boot.lds | 11 +----------
board/stx/stxxtc/u-boot.lds.debug | 9 +--------
board/svm_sc8xx/u-boot.lds | 11 +----------
board/svm_sc8xx/u-boot.lds.debug | 4 +---
board/tqc/tqm8xx/u-boot.lds | 11 +----------
board/v37/u-boot.lds | 11 +----------
board/w7o/u-boot.lds.debug | 9 +--------
board/westel/amx860/u-boot.lds | 11 +----------
board/westel/amx860/u-boot.lds.debug | 9 +--------
board/xes/xpedite1000/u-boot.lds.debug | 9 +--------
board/xilinx/microblaze-generic/u-boot.lds | 8 +-------
board/zipitz2/u-boot.lds | 5 +----
doc/README.commands | 5 +++++
include/u-boot-common.lds | 21 +++++++++++++++++++++
nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 +----
nand_spl/board/karo/tx25/u-boot.lds | 5 +----
nand_spl/board/samsung/smdk6400/u-boot.lds | 4 +---
194 files changed, 238 insertions(+), 1550 deletions(-)
create mode 100644 include/u-boot-common.lds
diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
index d1e2851..fe07097 100644
--- a/arch/arm/cpu/arm1136/u-boot.lds
+++ b/arch/arm/cpu/arm1136/u-boot.lds
@@ -52,12 +52,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm1176/u-boot.lds b/arch/arm/cpu/arm1176/u-boot.lds
index 27d6638..8641cba 100644
--- a/arch/arm/cpu/arm1176/u-boot.lds
+++ b/arch/arm/cpu/arm1176/u-boot.lds
@@ -43,10 +43,7 @@ SECTIONS
*(.data)
}
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm720t/u-boot.lds b/arch/arm/cpu/arm720t/u-boot.lds
index 9370fad..cdc4d2e 100644
--- a/arch/arm/cpu/arm720t/u-boot.lds
+++ b/arch/arm/cpu/arm720t/u-boot.lds
@@ -42,12 +42,7 @@ SECTIONS
.data : {
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
index dc6ba34..d20ad0d 100644
--- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
+++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
@@ -47,10 +47,7 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got) }
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
__bss_start = .;
diff --git a/arch/arm/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds
index 17ba604..9e7d1c3 100644
--- a/arch/arm/cpu/arm920t/u-boot.lds
+++ b/arch/arm/cpu/arm920t/u-boot.lds
@@ -51,12 +51,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm925t/u-boot.lds b/arch/arm/cpu/arm925t/u-boot.lds
index 64e76f5..589ee90 100644
--- a/arch/arm/cpu/arm925t/u-boot.lds
+++ b/arch/arm/cpu/arm925t/u-boot.lds
@@ -46,12 +46,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds
index 0fccd52..9b5a2d5 100644
--- a/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds
+++ b/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds
@@ -49,10 +49,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
index 1480e0c..ee311e5 100644
--- a/arch/arm/cpu/arm926ejs/u-boot.lds
+++ b/arch/arm/cpu/arm926ejs/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm946es/u-boot.lds b/arch/arm/cpu/arm946es/u-boot.lds
index ff938e4..94d140c 100644
--- a/arch/arm/cpu/arm946es/u-boot.lds
+++ b/arch/arm/cpu/arm946es/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/arm_intcm/u-boot.lds b/arch/arm/cpu/arm_intcm/u-boot.lds
index f4a146c..64847cb 100644
--- a/arch/arm/cpu/arm_intcm/u-boot.lds
+++ b/arch/arm/cpu/arm_intcm/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
index 40ecf78..3a437d3 100644
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ b/arch/arm/cpu/armv7/u-boot.lds
@@ -31,6 +31,7 @@ SECTIONS
{
. = 0x00000000;
+
. = ALIGN(4);
.text :
{
@@ -46,12 +47,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds
index 7199de4..705a924 100644
--- a/arch/arm/cpu/ixp/u-boot.lds
+++ b/arch/arm/cpu/ixp/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data*)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/lh7a40x/u-boot.lds b/arch/arm/cpu/lh7a40x/u-boot.lds
index 30934ff..e1c9376 100644
--- a/arch/arm/cpu/lh7a40x/u-boot.lds
+++ b/arch/arm/cpu/lh7a40x/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/pxa/u-boot.lds b/arch/arm/cpu/pxa/u-boot.lds
index e86e781..dd7b41b 100644
--- a/arch/arm/cpu/pxa/u-boot.lds
+++ b/arch/arm/cpu/pxa/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/s3c44b0/u-boot.lds b/arch/arm/cpu/s3c44b0/u-boot.lds
index 74a259c..b0aa3b7 100644
--- a/arch/arm/cpu/s3c44b0/u-boot.lds
+++ b/arch/arm/cpu/s3c44b0/u-boot.lds
@@ -43,12 +43,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/arm/cpu/sa1100/u-boot.lds b/arch/arm/cpu/sa1100/u-boot.lds
index e6381da..1cce544 100644
--- a/arch/arm/cpu/sa1100/u-boot.lds
+++ b/arch/arm/cpu/sa1100/u-boot.lds
@@ -46,12 +46,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/avr32/cpu/u-boot.lds b/arch/avr32/cpu/u-boot.lds
index 0e532f2..f25c474 100644
--- a/arch/avr32/cpu/u-boot.lds
+++ b/arch/avr32/cpu/u-boot.lds
@@ -45,13 +45,7 @@ SECTIONS
*(.data)
*(.data.*)
}
-
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : {
- KEEP(*(.u_boot_cmd))
- }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
_got = .;
diff --git a/arch/blackfin/cpu/u-boot.lds b/arch/blackfin/cpu/u-boot.lds
index 2b8d285..40532b0 100644
--- a/arch/blackfin/cpu/u-boot.lds
+++ b/arch/blackfin/cpu/u-boot.lds
@@ -30,6 +30,8 @@
#undef ALIGN
#undef ENTRY
+#define SYMBOL_PREFIX _
+
#ifndef LDS_BOARD_TEXT
# define LDS_BOARD_TEXT
#endif
@@ -61,15 +63,17 @@ OUTPUT_ARCH(bfin)
MEMORY
{
#if CONFIG_MEM_SIZE
- ram : ORIGIN = CONFIG_SYS_MONITOR_BASE, LENGTH = CONFIG_SYS_MONITOR_LEN
# define ram_code ram
# define ram_data ram
+ ram (rwx) : ORIGIN = CONFIG_SYS_MONITOR_BASE, LENGTH = CONFIG_SYS_MONITOR_LEN
+ l1_code : ORIGIN = L1_CODE_ORIGIN, LENGTH = L1_INST_SRAM_SIZE
+ l1_data : ORIGIN = L1_DATA_B_SRAM, LENGTH = L1_DATA_B_SRAM_SIZE
#else
# define ram_code l1_code
# define ram_data l1_data
+ l1_code (rx) : ORIGIN = L1_CODE_ORIGIN, LENGTH = L1_INST_SRAM_SIZE
+ l1_data (!rx) : ORIGIN = L1_DATA_B_SRAM, LENGTH = L1_DATA_B_SRAM_SIZE
#endif
- l1_code : ORIGIN = L1_CODE_ORIGIN, LENGTH = L1_INST_SRAM_SIZE
- l1_data : ORIGIN = L1_DATA_B_SRAM, LENGTH = L1_DATA_B_SRAM_SIZE
}
ENTRY(_start)
@@ -112,12 +116,7 @@ SECTIONS
CONSTRUCTORS
} >ram_data
- .u_boot_cmd :
- {
- ___u_boot_cmd_start = .;
- *(.u_boot_cmd)
- ___u_boot_cmd_end = .;
- } >ram_data
+#include <u-boot-common.lds>
.text_l1 :
{
diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds
index 1903420..52d2f0c 100644
--- a/arch/nds32/cpu/n1213/u-boot.lds
+++ b/arch/nds32/cpu/n1213/u-boot.lds
@@ -51,10 +51,7 @@ SECTIONS
__got_end = .;
}
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds
index 4856bd3..343df0d 100644
--- a/arch/nios2/cpu/u-boot.lds
+++ b/arch/nios2/cpu/u-boot.lds
@@ -45,13 +45,9 @@ SECTIONS
* the initialization code relocates the command table as
* well -- admittedly, this is just pure laziness ;-)
*/
- __u_boot_cmd_start = .;
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- }
+#include <u-boot-common.lds>
+
. = ALIGN(4);
- __u_boot_cmd_end = .;
/* INIT DATA sections - "Small" data (see the gcc -G option)
* is always gp-relative. Here we make all init data sections
diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
index 24823cd..ec54c2c 100644
--- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds
+++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
@@ -61,16 +61,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
index 7a4d927..2920668 100644
--- a/arch/powerpc/cpu/mpc512x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
@@ -56,16 +56,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
index e02b213..b437426 100644
--- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
@@ -64,16 +64,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
index 0c6c54e..f4bbe49 100644
--- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
index 5dcaec1..71647f4 100644
--- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
@@ -59,16 +59,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds
index 39bb42e..5ca129c 100644
--- a/arch/powerpc/cpu/mpc8220/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8220/u-boot.lds
@@ -58,16 +58,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds
index b30ce76..50d3802 100644
--- a/arch/powerpc/cpu/mpc824x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc824x/u-boot.lds
@@ -59,16 +59,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
index 60b71ec..6333cbb 100644
--- a/arch/powerpc/cpu/mpc8260/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
@@ -58,16 +58,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
index 2f4b9ad..91bd154 100644
--- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
@@ -57,16 +57,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
index 04bc731..63e340e 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
@@ -68,15 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
index efe34b7..73adf4f 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
@@ -76,15 +76,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
index 121e529..47f6203 100644
--- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
@@ -63,15 +63,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
index 2466b79..f31f799 100644
--- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
@@ -77,15 +77,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds
index 2d2e50f..b27f4f1 100644
--- a/arch/sandbox/cpu/u-boot.lds
+++ b/arch/sandbox/cpu/u-boot.lds
@@ -24,9 +24,7 @@
SECTIONS
{
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
__bss_start = .;
}
diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds
index b86a822..f273de7 100644
--- a/arch/sh/cpu/sh2/u-boot.lds
+++ b/arch/sh/cpu/sh2/u-boot.lds
@@ -72,13 +72,8 @@ SECTIONS
}
PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .);
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- . = ALIGN(4);
- }
- PROVIDE (__u_boot_cmd_end = .);
+#include <u-boot-common.lds>
+ . = ALIGN(4);
PROVIDE (reloc_dst_end = .);
diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds
index 9bf8503..c2ba633 100644
--- a/arch/sh/cpu/sh3/u-boot.lds
+++ b/arch/sh/cpu/sh3/u-boot.lds
@@ -78,13 +78,9 @@ SECTIONS
}
PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .);
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- . = ALIGN(4);
- }
- PROVIDE (__u_boot_cmd_end = .);
+#include <u-boot-common.lds>
+
+ . = ALIGN(4);
PROVIDE (reloc_dst_end = .);
/* _reloc_dst_end = .; */
diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds
index d9c70bc..1f5b364 100644
--- a/arch/sh/cpu/sh4/u-boot.lds
+++ b/arch/sh/cpu/sh4/u-boot.lds
@@ -75,14 +75,9 @@ SECTIONS
}
PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .);
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- . = ALIGN(4);
- }
- PROVIDE (__u_boot_cmd_end = .);
+#include <u-boot-common.lds>
+ . = ALIGN(4);
PROVIDE (reloc_dst_end = .);
/* _reloc_dst_end = .; */
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
index fe28030..58a262b 100644
--- a/arch/x86/cpu/u-boot.lds
+++ b/arch/x86/cpu/u-boot.lds
@@ -32,11 +32,7 @@ SECTIONS
__text_start = .;
.text : { *(.text*); }
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
diff --git a/board/BuS/EB+MCF-EV123/u-boot.lds b/board/BuS/EB+MCF-EV123/u-boot.lds
index 4ba1964..21c7116 100644
--- a/board/BuS/EB+MCF-EV123/u-boot.lds
+++ b/board/BuS/EB+MCF-EV123/u-boot.lds
@@ -64,15 +64,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds
index 5aaf6b3..02f94d8 100644
--- a/board/LEOX/elpt860/u-boot.lds
+++ b/board/LEOX/elpt860/u-boot.lds
@@ -85,15 +85,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/LEOX/elpt860/u-boot.lds.debug b/board/LEOX/elpt860/u-boot.lds.debug
index 92901b1..02575fd 100644
--- a/board/LEOX/elpt860/u-boot.lds.debug
+++ b/board/LEOX/elpt860/u-boot.lds.debug
@@ -115,9 +115,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/RPXClassic/u-boot.lds
+++ b/board/RPXClassic/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/RPXClassic/u-boot.lds.debug b/board/RPXClassic/u-boot.lds.debug
index 99c48f2..879f9c5 100644
--- a/board/RPXClassic/u-boot.lds.debug
+++ b/board/RPXClassic/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/RPXlite/u-boot.lds
+++ b/board/RPXlite/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/RPXlite/u-boot.lds.debug b/board/RPXlite/u-boot.lds.debug
index 99c48f2..879f9c5 100644
--- a/board/RPXlite/u-boot.lds.debug
+++ b/board/RPXlite/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/RPXlite_dw/u-boot.lds
+++ b/board/RPXlite_dw/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/RPXlite_dw/u-boot.lds.debug b/board/RPXlite_dw/u-boot.lds.debug
index 4491edd..b65060a 100644
--- a/board/RPXlite_dw/u-boot.lds.debug
+++ b/board/RPXlite_dw/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds
index 8385373..7ea5721 100644
--- a/board/RRvision/u-boot.lds
+++ b/board/RRvision/u-boot.lds
@@ -70,16 +70,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index 9dbaa6f..5deb75c 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -53,12 +53,8 @@ SECTIONS
.got : {
*(.got)
}
- . =.;
- __u_boot_cmd_start =.;
- .u_boot_cmd : {
- *(.u_boot_cmd)
- }
- __u_boot_cmd_end =.;
+
+#include <u-boot-common.lds>
. = ALIGN (4);
.rel.dyn : {
diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds
index 3575ed9..5cbfb1a 100644
--- a/board/actux2/u-boot.lds
+++ b/board/actux2/u-boot.lds
@@ -53,12 +53,8 @@ SECTIONS
.got : {
*(.got)
}
- . =.;
- __u_boot_cmd_start =.;
- .u_boot_cmd : {
- *(.u_boot_cmd)
- }
- __u_boot_cmd_end =.;
+
+#include <u-boot-common.lds>
. = ALIGN (4);
.rel.dyn : {
diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds
index 35aab29..bd8465a 100644
--- a/board/actux3/u-boot.lds
+++ b/board/actux3/u-boot.lds
@@ -53,12 +53,8 @@ SECTIONS
.got : {
*(.got)
}
- . =.;
- __u_boot_cmd_start =.;
- .u_boot_cmd : {
- *(.u_boot_cmd)
- }
- __u_boot_cmd_end =.;
+
+#include <u-boot-common.lds>
. = ALIGN (4);
.rel.dyn : {
diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds
index a762769..6252067 100644
--- a/board/adder/u-boot.lds
+++ b/board/adder/u-boot.lds
@@ -61,16 +61,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds
index 88ced62..63b11ff 100644
--- a/board/altera/nios2-generic/u-boot.lds
+++ b/board/altera/nios2-generic/u-boot.lds
@@ -46,13 +46,9 @@ SECTIONS
* the initialization code relocates the command table as
* well -- admittedly, this is just pure laziness ;-)
*/
- __u_boot_cmd_start = .;
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- }
+#include <u-boot-common.lds>
+
. = ALIGN(4);
- __u_boot_cmd_end = .;
/* INIT DATA sections - "Small" data (see the gcc -G option)
* is always gp-relative. Here we make all init data sections
diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds
index ab67de2..cf4bc0e 100644
--- a/board/amcc/acadia/u-boot-nand.lds
+++ b/board/amcc/acadia/u-boot-nand.lds
@@ -71,16 +71,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds
index 3ad8709..baf8bb9 100644
--- a/board/amcc/bamboo/u-boot-nand.lds
+++ b/board/amcc/bamboo/u-boot-nand.lds
@@ -72,16 +72,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds
index 76f89f1..a4fdb27 100644
--- a/board/amcc/canyonlands/u-boot-nand.lds
+++ b/board/amcc/canyonlands/u-boot-nand.lds
@@ -72,16 +72,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds
index ab67de2..cf4bc0e 100644
--- a/board/amcc/kilauea/u-boot-nand.lds
+++ b/board/amcc/kilauea/u-boot-nand.lds
@@ -71,16 +71,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds
index 07ae8b1..ce375df 100644
--- a/board/amcc/sequoia/u-boot-nand.lds
+++ b/board/amcc/sequoia/u-boot-nand.lds
@@ -72,16 +72,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds
index 423400a..42d4d73 100644
--- a/board/amcc/sequoia/u-boot-ram.lds
+++ b/board/amcc/sequoia/u-boot-ram.lds
@@ -63,16 +63,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds
index cd8f5ce..2e70ca0 100644
--- a/board/amirix/ap1000/u-boot.lds
+++ b/board/amirix/ap1000/u-boot.lds
@@ -67,14 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds
index a1d8e0f..cac5dfd 100644
--- a/board/astro/mcf5373l/u-boot.lds
+++ b/board/astro/mcf5373l/u-boot.lds
@@ -108,16 +108,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds
index b9b8e3c..101f648 100644
--- a/board/c2mon/u-boot.lds
+++ b/board/c2mon/u-boot.lds
@@ -73,16 +73,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/c2mon/u-boot.lds.debug b/board/c2mon/u-boot.lds.debug
index c771102..15b2870 100644
--- a/board/c2mon/u-boot.lds.debug
+++ b/board/c2mon/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds
index c4039ed..64d7278 100644
--- a/board/cobra5272/u-boot.lds
+++ b/board/cobra5272/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds
index 2393d8d..e5d36f7 100644
--- a/board/cogent/u-boot.lds
+++ b/board/cogent/u-boot.lds
@@ -69,16 +69,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/cogent/u-boot.lds.debug b/board/cogent/u-boot.lds.debug
index 99c48f2..879f9c5 100644
--- a/board/cogent/u-boot.lds.debug
+++ b/board/cogent/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug
index fcf8ebb..366be62 100644
--- a/board/cray/L1/u-boot.lds.debug
+++ b/board/cray/L1/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds
index 3b10114..114e81a 100644
--- a/board/dave/PPChameleonEVB/u-boot.lds
+++ b/board/dave/PPChameleonEVB/u-boot.lds
@@ -73,15 +73,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds
index 4a59cea..5abdab4 100644
--- a/board/dbau1x00/u-boot.lds
+++ b/board/dbau1x00/u-boot.lds
@@ -54,11 +54,7 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds
index 01ec390..1d1576b 100644
--- a/board/dvlhost/u-boot.lds
+++ b/board/dvlhost/u-boot.lds
@@ -53,12 +53,8 @@ SECTIONS
.got : {
*(.got)
}
- . =.;
- __u_boot_cmd_start =.;
- .u_boot_cmd : {
- *(.u_boot_cmd)
- }
- __u_boot_cmd_end =.;
+
+#include <u-boot-common.lds>
. = ALIGN (4);
.rel.dyn : {
diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds
index fd4e8a5..6750c16 100644
--- a/board/eltec/mhpc/u-boot.lds
+++ b/board/eltec/mhpc/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/eltec/mhpc/u-boot.lds.debug b/board/eltec/mhpc/u-boot.lds.debug
index c771102..15b2870 100644
--- a/board/eltec/mhpc/u-boot.lds.debug
+++ b/board/eltec/mhpc/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds
index fb06648..e568e30 100644
--- a/board/emk/top860/u-boot.lds
+++ b/board/emk/top860/u-boot.lds
@@ -65,17 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/emk/top860/u-boot.lds.debug b/board/emk/top860/u-boot.lds.debug
index 39807d4..b5d6fe5 100644
--- a/board/emk/top860/u-boot.lds.debug
+++ b/board/emk/top860/u-boot.lds.debug
@@ -107,9 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds
index 332b35a..342e015 100644
--- a/board/ep88x/u-boot.lds
+++ b/board/ep88x/u-boot.lds
@@ -61,16 +61,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds
index b15948d..8e3571c 100644
--- a/board/esd/dasa_sim/u-boot.lds
+++ b/board/esd/dasa_sim/u-boot.lds
@@ -72,16 +72,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds
index 71f0fd2..aa36cc1 100644
--- a/board/esd/pmc440/u-boot-nand.lds
+++ b/board/esd/pmc440/u-boot-nand.lds
@@ -101,16 +101,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds
index f697ccd..bb203c1 100644
--- a/board/esd/tasreg/u-boot.lds
+++ b/board/esd/tasreg/u-boot.lds
@@ -64,15 +64,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds
index 163b83d..9bad809 100644
--- a/board/esteem192e/u-boot.lds
+++ b/board/esteem192e/u-boot.lds
@@ -74,16 +74,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds
index b00d2b3..f4fc8f0 100644
--- a/board/etx094/u-boot.lds
+++ b/board/etx094/u-boot.lds
@@ -75,16 +75,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds
index 2d031ef..bb39e6a 100644
--- a/board/evb64260/u-boot.lds
+++ b/board/evb64260/u-boot.lds
@@ -69,16 +69,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds
index 9ea0674..1927bc0 100644
--- a/board/fads/u-boot.lds
+++ b/board/fads/u-boot.lds
@@ -67,16 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds
index fd4e8a5..6750c16 100644
--- a/board/flagadm/u-boot.lds
+++ b/board/flagadm/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/flagadm/u-boot.lds.debug b/board/flagadm/u-boot.lds.debug
index c771102..15b2870 100644
--- a/board/flagadm/u-boot.lds.debug
+++ b/board/flagadm/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds
index 6e39be1..934983f 100644
--- a/board/freescale/m5208evbe/u-boot.lds
+++ b/board/freescale/m5208evbe/u-boot.lds
@@ -68,15 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m52277evb/u-boot.lds b/board/freescale/m52277evb/u-boot.lds
index 3e9f4c3..35f86c7 100644
--- a/board/freescale/m52277evb/u-boot.lds
+++ b/board/freescale/m52277evb/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds
index d39e734..aec8204 100644
--- a/board/freescale/m5235evb/u-boot.lds
+++ b/board/freescale/m5235evb/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds
index c4039ed..64d7278 100644
--- a/board/freescale/m5249evb/u-boot.lds
+++ b/board/freescale/m5249evb/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds
index cbd2831..dbb0781 100644
--- a/board/freescale/m5253demo/u-boot.lds
+++ b/board/freescale/m5253demo/u-boot.lds
@@ -68,15 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds
index c4039ed..64d7278 100644
--- a/board/freescale/m5253evbe/u-boot.lds
+++ b/board/freescale/m5253evbe/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds
index 4717036..438c311 100644
--- a/board/freescale/m5271evb/u-boot.lds
+++ b/board/freescale/m5271evb/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds
index c4039ed..64d7278 100644
--- a/board/freescale/m5272c3/u-boot.lds
+++ b/board/freescale/m5272c3/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds
index 6c2dfe8..d570f07 100644
--- a/board/freescale/m5275evb/u-boot.lds
+++ b/board/freescale/m5275evb/u-boot.lds
@@ -67,15 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds
index 4ba1964..21c7116 100644
--- a/board/freescale/m5282evb/u-boot.lds
+++ b/board/freescale/m5282evb/u-boot.lds
@@ -64,15 +64,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds
index 80935f2..e2dbd11 100644
--- a/board/freescale/m53017evb/u-boot.lds
+++ b/board/freescale/m53017evb/u-boot.lds
@@ -70,15 +70,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds
index 40af8bc..6dd3280 100644
--- a/board/freescale/m5329evb/u-boot.lds
+++ b/board/freescale/m5329evb/u-boot.lds
@@ -68,15 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds
index 19342ac..90e7ce5 100644
--- a/board/freescale/m5373evb/u-boot.lds
+++ b/board/freescale/m5373evb/u-boot.lds
@@ -68,15 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m54451evb/u-boot.lds b/board/freescale/m54451evb/u-boot.lds
index 45924b7..5ffc0ff 100644
--- a/board/freescale/m54451evb/u-boot.lds
+++ b/board/freescale/m54451evb/u-boot.lds
@@ -65,15 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds
index f341449..ebee44b 100644
--- a/board/freescale/m54455evb/u-boot.lds
+++ b/board/freescale/m54455evb/u-boot.lds
@@ -65,15 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds
index 5472689..fbad92d 100644
--- a/board/freescale/m547xevb/u-boot.lds
+++ b/board/freescale/m547xevb/u-boot.lds
@@ -65,15 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds
index cf3f38c..dc4b59a 100644
--- a/board/freescale/m548xevb/u-boot.lds
+++ b/board/freescale/m548xevb/u-boot.lds
@@ -65,15 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index 79eb7ac..c9ec5ec 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -56,10 +56,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds
index 87cb8e3..b5e55f3 100644
--- a/board/gaisler/gr_cpci_ax2000/u-boot.lds
+++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds
@@ -84,11 +84,7 @@ SECTIONS
_etext = .;
/* CMD Table */
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.data :
{
diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds
index 2fb44aa..02207d2 100644
--- a/board/gaisler/gr_ep2s60/u-boot.lds
+++ b/board/gaisler/gr_ep2s60/u-boot.lds
@@ -84,11 +84,7 @@ SECTIONS
_etext = .;
/* CMD Table */
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.data :
{
diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds
index 8719e97..fb53831 100644
--- a/board/gaisler/gr_xc3s_1500/u-boot.lds
+++ b/board/gaisler/gr_xc3s_1500/u-boot.lds
@@ -84,11 +84,7 @@ SECTIONS
_etext = .;
/* CMD Table */
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.data :
{
diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds
index 33890b5..9d6c309 100644
--- a/board/gaisler/grsim/u-boot.lds
+++ b/board/gaisler/grsim/u-boot.lds
@@ -83,11 +83,7 @@ SECTIONS
_etext = .;
/* CMD Table */
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.data :
{
diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds
index cf6e502..ce2ff95 100644
--- a/board/gaisler/grsim_leon2/u-boot.lds
+++ b/board/gaisler/grsim_leon2/u-boot.lds
@@ -83,11 +83,7 @@ SECTIONS
_etext = .;
/* CMD Table */
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- . = ALIGN(4);
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.data :
{
diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds
index 5bb6c62..2b0b296 100644
--- a/board/gen860t/u-boot-flashenv.lds
+++ b/board/gen860t/u-boot-flashenv.lds
@@ -70,15 +70,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds
index be99b51..b3c2c58 100644
--- a/board/gen860t/u-boot.lds
+++ b/board/gen860t/u-boot.lds
@@ -70,16 +70,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds
index 1d66a9b..01f6b8b 100644
--- a/board/genietv/u-boot.lds
+++ b/board/genietv/u-boot.lds
@@ -79,16 +79,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug
index cfa4ef3..70f421d 100644
--- a/board/genietv/u-boot.lds.debug
+++ b/board/genietv/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds
index 9fc417f..c007f55 100644
--- a/board/gth2/u-boot.lds
+++ b/board/gth2/u-boot.lds
@@ -54,11 +54,7 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds
index ca97115..e9f7b6d 100644
--- a/board/hermes/u-boot.lds
+++ b/board/hermes/u-boot.lds
@@ -71,16 +71,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug
index 8a197de..db0ce95 100644
--- a/board/hermes/u-boot.lds.debug
+++ b/board/hermes/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index 1309f20..70ffe46 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -109,16 +109,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug
index 99c48f2..879f9c5 100644
--- a/board/hymod/u-boot.lds.debug
+++ b/board/hymod/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds
index 93c79a6..bee4095 100644
--- a/board/icu862/u-boot.lds
+++ b/board/icu862/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug
index 91d3e67..97f62d7 100644
--- a/board/icu862/u-boot.lds.debug
+++ b/board/icu862/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds
index f697ccd..bb203c1 100644
--- a/board/idmr/u-boot.lds
+++ b/board/idmr/u-boot.lds
@@ -64,15 +64,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds
index 4a59cea..5abdab4 100644
--- a/board/incaip/u-boot.lds
+++ b/board/incaip/u-boot.lds
@@ -54,11 +54,7 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/ip860/u-boot.lds
+++ b/board/ip860/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug
index 2f61b11..bb8b5a0 100644
--- a/board/ip860/u-boot.lds.debug
+++ b/board/ip860/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds
index 1e843eb..75c30a1 100644
--- a/board/ivm/u-boot.lds
+++ b/board/ivm/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug
index 732a46f..ac4b6ba 100644
--- a/board/ivm/u-boot.lds.debug
+++ b/board/ivm/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/jornada/u-boot.lds b/board/jornada/u-boot.lds
index c75b21f..5b467ab 100644
--- a/board/jornada/u-boot.lds
+++ b/board/jornada/u-boot.lds
@@ -45,11 +45,7 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got) }
-
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
__bss_start = .;
diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds
index 6a017e3..9ada5ef 100644
--- a/board/korat/u-boot-F7FC.lds
+++ b/board/korat/u-boot-F7FC.lds
@@ -107,16 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/kup/kup4k/u-boot.lds
+++ b/board/kup/kup4k/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/kup/kup4k/u-boot.lds.debug b/board/kup/kup4k/u-boot.lds.debug
index 4491edd..b65060a 100644
--- a/board/kup/kup4k/u-boot.lds.debug
+++ b/board/kup/kup4k/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/kup/kup4x/u-boot.lds
+++ b/board/kup/kup4x/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/kup/kup4x/u-boot.lds.debug b/board/kup/kup4x/u-boot.lds.debug
index 4491edd..b65060a 100644
--- a/board/kup/kup4x/u-boot.lds.debug
+++ b/board/kup/kup4x/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds
index de0b355..a3acee9 100644
--- a/board/lantec/u-boot.lds
+++ b/board/lantec/u-boot.lds
@@ -74,16 +74,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/lantec/u-boot.lds.debug b/board/lantec/u-boot.lds.debug
index 856a99b..e784bcc 100644
--- a/board/lantec/u-boot.lds.debug
+++ b/board/lantec/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds
index 8bf7324..119acb5 100644
--- a/board/lwmon/u-boot.lds
+++ b/board/lwmon/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug
index 2412234..d69187d 100644
--- a/board/lwmon/u-boot.lds.debug
+++ b/board/lwmon/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds
index 731cec9..247f918 100644
--- a/board/manroland/uc100/u-boot.lds
+++ b/board/manroland/uc100/u-boot.lds
@@ -68,16 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds
index 57c37de..876b66e 100644
--- a/board/matrix_vision/mvsmr/u-boot.lds
+++ b/board/matrix_vision/mvsmr/u-boot.lds
@@ -73,16 +73,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/mbx8xx/u-boot.lds
+++ b/board/mbx8xx/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug
index a95c47f..b5d6fe5 100644
--- a/board/mbx8xx/u-boot.lds.debug
+++ b/board/mbx8xx/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds
index 3a05ef9..bdff82c 100644
--- a/board/micronas/vct/u-boot.lds
+++ b/board/micronas/vct/u-boot.lds
@@ -52,12 +52,7 @@ SECTIONS
. = ALIGN(4);
.sdata : { *(.sdata*) }
- . = ALIGN(4);
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
. = ALIGN(4);
uboot_end_data = .;
diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds
index 9f9ddb8..7f47c11 100644
--- a/board/ml2/u-boot.lds
+++ b/board/ml2/u-boot.lds
@@ -63,16 +63,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug
index fcf8ebb..366be62 100644
--- a/board/ml2/u-boot.lds.debug
+++ b/board/ml2/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds
index dae2cfc..89dbf13 100644
--- a/board/mousse/u-boot.lds
+++ b/board/mousse/u-boot.lds
@@ -59,16 +59,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/mousse/u-boot.lds.ram b/board/mousse/u-boot.lds.ram
index b3364be..ae56431 100644
--- a/board/mousse/u-boot.lds.ram
+++ b/board/mousse/u-boot.lds.ram
@@ -85,14 +85,7 @@ SECTIONS
} > ram
*/
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) } > ram
- __stop___ex_table = .;
-
+#include <u-boot-common.lds>
.ppcenv :
{
diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom
index b4b9e02..ff54e10 100644
--- a/board/mousse/u-boot.lds.rom
+++ b/board/mousse/u-boot.lds.rom
@@ -102,13 +102,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug
index fcf8ebb..366be62 100644
--- a/board/mpl/pip405/u-boot.lds.debug
+++ b/board/mpl/pip405/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds
index 11624d2..3866174 100644
--- a/board/mvblue/u-boot.lds
+++ b/board/mvblue/u-boot.lds
@@ -69,16 +69,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds
index a949e4f..ffff7f3 100644
--- a/board/netphone/u-boot.lds
+++ b/board/netphone/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/netphone/u-boot.lds.debug b/board/netphone/u-boot.lds.debug
index a001f3f..b333fc1 100644
--- a/board/netphone/u-boot.lds.debug
+++ b/board/netphone/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds
index a949e4f..ffff7f3 100644
--- a/board/netta/u-boot.lds
+++ b/board/netta/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/netta/u-boot.lds.debug b/board/netta/u-boot.lds.debug
index a001f3f..b333fc1 100644
--- a/board/netta/u-boot.lds.debug
+++ b/board/netta/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds
index a949e4f..ffff7f3 100644
--- a/board/netta2/u-boot.lds
+++ b/board/netta2/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/netta2/u-boot.lds.debug b/board/netta2/u-boot.lds.debug
index a001f3f..b333fc1 100644
--- a/board/netta2/u-boot.lds.debug
+++ b/board/netta2/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
index a949e4f..ffff7f3 100644
--- a/board/netvia/u-boot.lds
+++ b/board/netvia/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/netvia/u-boot.lds.debug b/board/netvia/u-boot.lds.debug
index 6c7d698..8e0d2d4 100644
--- a/board/netvia/u-boot.lds.debug
+++ b/board/netvia/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds
index fd4e8a5..6750c16 100644
--- a/board/nx823/u-boot.lds
+++ b/board/nx823/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/nx823/u-boot.lds.debug b/board/nx823/u-boot.lds.debug
index c771102..15b2870 100644
--- a/board/nx823/u-boot.lds.debug
+++ b/board/nx823/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/openrisc/openrisc-generic/u-boot.lds b/board/openrisc/openrisc-generic/u-boot.lds
index 1aed197..e02d2b3 100644
--- a/board/openrisc/openrisc-generic/u-boot.lds
+++ b/board/openrisc/openrisc-generic/u-boot.lds
@@ -26,9 +26,7 @@ SECTIONS
_endtext = .;
} > ram
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) } > ram
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
.rodata : {
*(.rodata);
diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
index bd0dee1..eec9921 100644
--- a/board/pb1x00/u-boot.lds
+++ b/board/pb1x00/u-boot.lds
@@ -54,11 +54,7 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds
index 9460b20..d968c8d 100644
--- a/board/qemu-mips/u-boot.lds
+++ b/board/qemu-mips/u-boot.lds
@@ -55,12 +55,7 @@ SECTIONS
. = ALIGN(4);
.sdata : { *(.sdata*) }
- . = .;
- .u_boot_cmd : {
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds
index 7317652..c37bd84 100644
--- a/board/qi/qi_lb60/u-boot.lds
+++ b/board/qi/qi_lb60/u-boot.lds
@@ -47,9 +47,7 @@ SECTIONS
.sdata : { *(.sdata*) }
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/quantum/u-boot.lds
+++ b/board/quantum/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/quantum/u-boot.lds.debug b/board/quantum/u-boot.lds.debug
index abc4640..879f9c5 100644
--- a/board/quantum/u-boot.lds.debug
+++ b/board/quantum/u-boot.lds.debug
@@ -106,9 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds
index 2fa085a..eafa14b 100644
--- a/board/r360mpi/u-boot.lds
+++ b/board/r360mpi/u-boot.lds
@@ -67,16 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds
index d943fb6..08d44fd 100644
--- a/board/rbc823/u-boot.lds
+++ b/board/rbc823/u-boot.lds
@@ -76,15 +76,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds
index 38ebe88..fff336d 100644
--- a/board/renesas/sh7757lcr/u-boot.lds
+++ b/board/renesas/sh7757lcr/u-boot.lds
@@ -77,13 +77,9 @@ SECTIONS
}
PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .);
- .u_boot_cmd :
- {
- *(.u_boot_cmd)
- . = ALIGN(4);
- }
- PROVIDE (__u_boot_cmd_end = .);
+#include <u-boot-common.lds>
+
+ . = ALIGN(4);
PROVIDE (reloc_dst_end = .);
/* _reloc_dst_end = .; */
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds
index a729c52..13d3145 100644
--- a/board/rsdproto/u-boot.lds
+++ b/board/rsdproto/u-boot.lds
@@ -96,16 +96,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds
index f162815..f978b20 100644
--- a/board/samsung/smdk6400/u-boot-nand.lds
+++ b/board/samsung/smdk6400/u-boot-nand.lds
@@ -47,9 +47,7 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got) }
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
.mmudata : { *(.mmudata) }
diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug
index 31746e3..1c2fb2a 100644
--- a/board/sandburst/karef/u-boot.lds.debug
+++ b/board/sandburst/karef/u-boot.lds.debug
@@ -115,14 +115,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug
index 4922bd2..d5f0a9c 100644
--- a/board/sandburst/metrobox/u-boot.lds.debug
+++ b/board/sandburst/metrobox/u-boot.lds.debug
@@ -115,14 +115,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds
index e382fd1..f3a6099 100644
--- a/board/sandpoint/u-boot.lds
+++ b/board/sandpoint/u-boot.lds
@@ -67,16 +67,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds
index 0e78e4f..e7611b7 100644
--- a/board/siemens/IAD210/u-boot.lds
+++ b/board/siemens/IAD210/u-boot.lds
@@ -74,16 +74,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds
index 02d1980..a0409c0 100644
--- a/board/sixnet/u-boot.lds
+++ b/board/sixnet/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds
index 9ab248a..8d4b157 100644
--- a/board/snmc/qs850/u-boot.lds
+++ b/board/snmc/qs850/u-boot.lds
@@ -68,16 +68,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/snmc/qs860t/u-boot.lds
+++ b/board/snmc/qs860t/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds
index d0b60cf..e568e30 100644
--- a/board/spc1920/u-boot.lds
+++ b/board/spc1920/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds
index a84e7fd..15970a2 100644
--- a/board/spd8xx/u-boot.lds
+++ b/board/spd8xx/u-boot.lds
@@ -74,16 +74,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug
index a95c47f..b5d6fe5 100644
--- a/board/spd8xx/u-boot.lds.debug
+++ b/board/spd8xx/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds
index a949e4f..ffff7f3 100644
--- a/board/stx/stxxtc/u-boot.lds
+++ b/board/stx/stxxtc/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/stx/stxxtc/u-boot.lds.debug b/board/stx/stxxtc/u-boot.lds.debug
index a001f3f..b333fc1 100644
--- a/board/stx/stxxtc/u-boot.lds.debug
+++ b/board/stx/stxxtc/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds
index c65f022..e41ba7f 100644
--- a/board/svm_sc8xx/u-boot.lds
+++ b/board/svm_sc8xx/u-boot.lds
@@ -82,16 +82,7 @@ SECTIONS
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/svm_sc8xx/u-boot.lds.debug b/board/svm_sc8xx/u-boot.lds.debug
index abc4640..879f9c5 100644
--- a/board/svm_sc8xx/u-boot.lds.debug
+++ b/board/svm_sc8xx/u-boot.lds.debug
@@ -106,9 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds
index 4f08be6..a2be6e3 100644
--- a/board/tqc/tqm8xx/u-boot.lds
+++ b/board/tqc/tqm8xx/u-boot.lds
@@ -82,16 +82,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds
index e62d53d..fe398d1 100644
--- a/board/v37/u-boot.lds
+++ b/board/v37/u-boot.lds
@@ -65,16 +65,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug
index 1c67b30..7e89820 100644
--- a/board/w7o/u-boot.lds.debug
+++ b/board/w7o/u-boot.lds.debug
@@ -106,14 +106,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds
index 3470b43..a650caf 100644
--- a/board/westel/amx860/u-boot.lds
+++ b/board/westel/amx860/u-boot.lds
@@ -74,16 +74,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug
index 91d3e67..97f62d7 100644
--- a/board/westel/amx860/u-boot.lds.debug
+++ b/board/westel/amx860/u-boot.lds.debug
@@ -107,14 +107,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(4096);
__init_begin = .;
diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug
index e2e66ae..ddedcbf 100644
--- a/board/xes/xpedite1000/u-boot.lds.debug
+++ b/board/xes/xpedite1000/u-boot.lds.debug
@@ -111,14 +111,7 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
-
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
+#include <u-boot-common.lds>
. = ALIGN(256);
__init_begin = .;
diff --git a/board/xilinx/microblaze-generic/u-boot.lds b/board/xilinx/microblaze-generic/u-boot.lds
index ee41145..3b86e67 100644
--- a/board/xilinx/microblaze-generic/u-boot.lds
+++ b/board/xilinx/microblaze-generic/u-boot.lds
@@ -49,13 +49,7 @@ SECTIONS
__data_end = .;
}
- .u_boot_cmd ALIGN(0x4):
- {
- . = .;
- __u_boot_cmd_start = .;
- *(.u_boot_cmd)
- __u_boot_cmd_end = .;
- }
+#include <u-boot-common.lds>
.bss ALIGN(0x4):
{
diff --git a/board/zipitz2/u-boot.lds b/board/zipitz2/u-boot.lds
index e1a1ff1..dcb2e8e 100644
--- a/board/zipitz2/u-boot.lds
+++ b/board/zipitz2/u-boot.lds
@@ -44,10 +44,7 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got) }
- . = .;
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
__bss_start = .;
diff --git a/doc/README.commands b/doc/README.commands
index d678992..55aa7d0 100644
--- a/doc/README.commands
+++ b/doc/README.commands
@@ -29,3 +29,8 @@ by writing in u-boot.lds ($(TOPDIR)/board/boardname/u-boot.lds) these
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
+
+ or
+
+#include <u-boot-common.lds>
+
diff --git a/include/u-boot-common.lds b/include/u-boot-common.lds
new file mode 100644
index 0000000..6d5a4d3
--- /dev/null
+++ b/include/u-boot-common.lds
@@ -0,0 +1,21 @@
+#ifndef SYMBOL_PREFIX
+#define U_BOOT_LDS_SYMBOL(sym) sym
+#else
+#define PASTE2(x,y) x##y
+#define PASTE(x,y) PASTE2(x,y)
+#define U_BOOT_LDS_SYMBOL(sym) PASTE(SYMBOL_PREFIX, sym)
+#endif
+ . = ALIGN(4);
+ U_BOOT_LDS_SYMBOL(__u_boot_cmd_start) = .;
+ .u_boot_cmd : {
+ KEEP(*(.u_boot_cmd))
+ }
+ U_BOOT_LDS_SYMBOL(__u_boot_cmd_end) = .;
+
+ /* powerpc specific, but harmless for others */
+ . = ALIGN(4);
+ U_BOOT_LDS_SYMBOL(__start___ex_table) = .;
+ __ex_table : {
+ KEEP(*(__ex_table))
+ }
+ U_BOOT_LDS_SYMBOL(__stop___ex_table) = .;
diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds
index d2b08f6..0c5216e 100644
--- a/nand_spl/board/freescale/mx31pdk/u-boot.lds
+++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds
@@ -45,10 +45,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds
index d2b08f6..0c5216e 100644
--- a/nand_spl/board/karo/tx25/u-boot.lds
+++ b/nand_spl/board/karo/tx25/u-boot.lds
@@ -45,10 +45,7 @@ SECTIONS
*(.data)
}
- . = ALIGN(4);
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds
index 567f635..677283d 100644
--- a/nand_spl/board/samsung/smdk6400/u-boot.lds
+++ b/nand_spl/board/samsung/smdk6400/u-boot.lds
@@ -50,9 +50,7 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got) }
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
+#include <u-boot-common.lds>
. = ALIGN(4);
--
1.7.5.4
^ permalink raw reply related [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 2/2] RFC: Let linker create phy array
2012-02-08 0:20 [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Troy Kisky
@ 2012-02-08 0:20 ` Troy Kisky
2012-02-08 0:39 ` [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Graeme Russ
1 sibling, 0 replies; 11+ messages in thread
From: Troy Kisky @ 2012-02-08 0:20 UTC (permalink / raw)
To: u-boot
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
---
drivers/net/phy/atheros.c | 9 +--------
drivers/net/phy/broadcom.c | 15 +++------------
drivers/net/phy/davicom.c | 9 +--------
drivers/net/phy/lxt.c | 9 +--------
drivers/net/phy/marvell.c | 24 ++++++------------------
drivers/net/phy/micrel.c | 12 ++----------
drivers/net/phy/natsemi.c | 9 +--------
drivers/net/phy/phy.c | 39 +++++----------------------------------
drivers/net/phy/realtek.c | 9 +--------
drivers/net/phy/smsc.c | 15 +++------------
drivers/net/phy/teranetics.c | 9 +--------
drivers/net/phy/vitesse.c | 30 ++++++++----------------------
include/phy.h | 4 ++++
include/u-boot-common.lds | 7 +++++++
14 files changed, 44 insertions(+), 156 deletions(-)
diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c
index 798473d..8e522ca 100644
--- a/drivers/net/phy/atheros.c
+++ b/drivers/net/phy/atheros.c
@@ -30,7 +30,7 @@ static int ar8021_config(struct phy_device *phydev)
return 0;
}
-struct phy_driver AR8021_driver = {
+static struct phy_driver AR8021_driver __phy_entry = {
.name = "AR8021",
.uid = 0x4dd040,
.mask = 0xfffff0,
@@ -39,10 +39,3 @@ struct phy_driver AR8021_driver = {
.startup = genphy_startup,
.shutdown = genphy_shutdown,
};
-
-int phy_atheros_init(void)
-{
- phy_register(&AR8021_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 427ac60..133e907 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -248,7 +248,7 @@ static int bcm5482_startup(struct phy_device *phydev)
return 0;
}
-static struct phy_driver BCM5461S_driver = {
+static struct phy_driver BCM5461S_driver __phy_entry = {
.name = "Broadcom BCM5461S",
.uid = 0x2060c0,
.mask = 0xfffff0,
@@ -258,7 +258,7 @@ static struct phy_driver BCM5461S_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver BCM5464S_driver = {
+static struct phy_driver BCM5464S_driver __phy_entry = {
.name = "Broadcom BCM5464S",
.uid = 0x2060b0,
.mask = 0xfffff0,
@@ -268,7 +268,7 @@ static struct phy_driver BCM5464S_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver BCM5482S_driver = {
+static struct phy_driver BCM5482S_driver __phy_entry = {
.name = "Broadcom BCM5482S",
.uid = 0x143bcb0,
.mask = 0xffffff0,
@@ -277,12 +277,3 @@ static struct phy_driver BCM5482S_driver = {
.startup = &bcm5482_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_broadcom_init(void)
-{
- phy_register(&BCM5482S_driver);
- phy_register(&BCM5464S_driver);
- phy_register(&BCM5461S_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/davicom.c b/drivers/net/phy/davicom.c
index e96a4af..4c1e6b8 100644
--- a/drivers/net/phy/davicom.c
+++ b/drivers/net/phy/davicom.c
@@ -80,7 +80,7 @@ static int dm9161_startup(struct phy_device *phydev)
return 0;
}
-static struct phy_driver DM9161_driver = {
+static struct phy_driver DM9161_driver __phy_entry = {
.name = "Davicom DM9161E",
.uid = 0x181b880,
.mask = 0xffffff0,
@@ -89,10 +89,3 @@ static struct phy_driver DM9161_driver = {
.startup = &dm9161_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_davicom_init(void)
-{
- phy_register(&DM9161_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/lxt.c b/drivers/net/phy/lxt.c
index d67bbdd..e43ea93 100644
--- a/drivers/net/phy/lxt.c
+++ b/drivers/net/phy/lxt.c
@@ -69,7 +69,7 @@ static int lxt971_startup(struct phy_device *phydev)
return 0;
}
-static struct phy_driver LXT971_driver = {
+static struct phy_driver LXT971_driver __phy_entry = {
.name = "LXT971",
.uid = 0x1378e0,
.mask = 0xfffff0,
@@ -78,10 +78,3 @@ static struct phy_driver LXT971_driver = {
.startup = &lxt971_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_lxt_init(void)
-{
- phy_register(&LXT971_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index e51e799..ebc2ba9 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -395,7 +395,7 @@ static int m88e1149_config(struct phy_device *phydev)
}
-static struct phy_driver M88E1011S_driver = {
+static struct phy_driver M88E1011S_driver __phy_entry = {
.name = "Marvell 88E1011S",
.uid = 0x1410c60,
.mask = 0xffffff0,
@@ -405,7 +405,7 @@ static struct phy_driver M88E1011S_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver M88E1111S_driver = {
+static struct phy_driver M88E1111S_driver __phy_entry = {
.name = "Marvell 88E1111S",
.uid = 0x1410cc0,
.mask = 0xffffff0,
@@ -415,7 +415,7 @@ static struct phy_driver M88E1111S_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver M88E1118_driver = {
+static struct phy_driver M88E1118_driver __phy_entry = {
.name = "Marvell 88E1118",
.uid = 0x1410e10,
.mask = 0xffffff0,
@@ -425,7 +425,7 @@ static struct phy_driver M88E1118_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver M88E1121R_driver = {
+static struct phy_driver M88E1121R_driver__phy_entry = {
.name = "Marvell 88E1121R",
.uid = 0x1410cb0,
.mask = 0xffffff0,
@@ -435,7 +435,7 @@ static struct phy_driver M88E1121R_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver M88E1145_driver = {
+static struct phy_driver M88E1145_driver __phy_entry = {
.name = "Marvell 88E1145",
.uid = 0x1410cd0,
.mask = 0xffffff0,
@@ -445,7 +445,7 @@ static struct phy_driver M88E1145_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver M88E1149S_driver = {
+static struct phy_driver M88E1149S_driver __phy_entry = {
.name = "Marvell 88E1149S",
.uid = 0x1410ca0,
.mask = 0xffffff0,
@@ -454,15 +454,3 @@ static struct phy_driver M88E1149S_driver = {
.startup = &m88e1011s_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_marvell_init(void)
-{
- phy_register(&M88E1149S_driver);
- phy_register(&M88E1145_driver);
- phy_register(&M88E1121R_driver);
- phy_register(&M88E1118_driver);
- phy_register(&M88E1111S_driver);
- phy_register(&M88E1011S_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index d4e64f2..5848f25 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -22,7 +22,7 @@
*/
#include <phy.h>
-static struct phy_driver KSZ804_driver = {
+static struct phy_driver KSZ804_driver __phy_entry = {
.name = "Micrel KSZ804",
.uid = 0x221510,
.mask = 0xfffff0,
@@ -32,7 +32,7 @@ static struct phy_driver KSZ804_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver KS8721_driver = {
+static struct phy_driver KS8721_driver __phy_entry = {
.name = "Micrel KS8721BL",
.uid = 0x221610,
.mask = 0xfffff0,
@@ -41,11 +41,3 @@ static struct phy_driver KS8721_driver = {
.startup = &genphy_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_micrel_init(void)
-{
- phy_register(&KSZ804_driver);
- phy_register(&KS8721_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/natsemi.c b/drivers/net/phy/natsemi.c
index ea60ac1..eedf505 100644
--- a/drivers/net/phy/natsemi.c
+++ b/drivers/net/phy/natsemi.c
@@ -78,7 +78,7 @@ static int dp83865_startup(struct phy_device *phydev)
}
-static struct phy_driver DP83865_driver = {
+static struct phy_driver DP83865_driver __phy_entry = {
.name = "NatSemi DP83865",
.uid = 0x20005c70,
.mask = 0xfffffff0,
@@ -87,10 +87,3 @@ static struct phy_driver DP83865_driver = {
.startup = &dp83865_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_natsemi_init(void)
-{
- phy_register(&DP83865_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index eb55180..d3441c1 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -420,40 +420,11 @@ static LIST_HEAD(phy_drivers);
int phy_init(void)
{
-#ifdef CONFIG_PHY_ATHEROS
- phy_atheros_init();
-#endif
-#ifdef CONFIG_PHY_BROADCOM
- phy_broadcom_init();
-#endif
-#ifdef CONFIG_PHY_DAVICOM
- phy_davicom_init();
-#endif
-#ifdef CONFIG_PHY_LXT
- phy_lxt_init();
-#endif
-#ifdef CONFIG_PHY_MARVELL
- phy_marvell_init();
-#endif
-#ifdef CONFIG_PHY_MICREL
- phy_micrel_init();
-#endif
-#ifdef CONFIG_PHY_NATSEMI
- phy_natsemi_init();
-#endif
-#ifdef CONFIG_PHY_REALTEK
- phy_realtek_init();
-#endif
-#ifdef CONFIG_PHY_SMSC
- phy_smsc_init();
-#endif
-#ifdef CONFIG_PHY_TERANETICS
- phy_teranetics_init();
-#endif
-#ifdef CONFIG_PHY_VITESSE
- phy_vitesse_init();
-#endif
-
+ struct phy_driver *entry = &__phy_entry_start;
+ while (entry < &__phy_entry_end) {
+ phy_register(entry);
+ entry++;
+ }
return 0;
}
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index b7e2753..ae7e2e2 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -112,7 +112,7 @@ static int rtl8211b_startup(struct phy_device *phydev)
return 0;
}
-static struct phy_driver RTL8211B_driver = {
+static struct phy_driver RTL8211B_driver __phy_entry = {
.name = "RealTek RTL8211B",
.uid = 0x1cc910,
.mask = 0xfffff0,
@@ -121,10 +121,3 @@ static struct phy_driver RTL8211B_driver = {
.startup = &rtl8211b_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_realtek_init(void)
-{
- phy_register(&RTL8211B_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index 6dee8eb..aba64bc 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -52,7 +52,7 @@ static int smsc_startup(struct phy_device *phydev)
return 0;
}
-static struct phy_driver lan8700_driver = {
+static struct phy_driver lan8700_driver __phy_entry = {
.name = "SMSC LAN8700",
.uid = 0x0007c0c0,
.mask = 0xffff0,
@@ -62,7 +62,7 @@ static struct phy_driver lan8700_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver lan911x_driver = {
+static struct phy_driver lan911x_driver __phy_entry = {
.name = "SMSC LAN911x Internal PHY",
.uid = 0x0007c0d0,
.mask = 0xffff0,
@@ -72,7 +72,7 @@ static struct phy_driver lan911x_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver lan8710_driver = {
+static struct phy_driver lan8710_driver __phy_entry = {
.name = "SMSC LAN8710/LAN8720",
.uid = 0x0007c0f0,
.mask = 0xffff0,
@@ -81,12 +81,3 @@ static struct phy_driver lan8710_driver = {
.startup = &smsc_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_smsc_init(void)
-{
- phy_register(&lan8710_driver);
- phy_register(&lan911x_driver);
- phy_register(&lan8700_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/teranetics.c b/drivers/net/phy/teranetics.c
index 78447b7..544b3fa 100644
--- a/drivers/net/phy/teranetics.c
+++ b/drivers/net/phy/teranetics.c
@@ -93,7 +93,7 @@ int tn2020_startup(struct phy_device *phydev)
return 0;
}
-struct phy_driver tn2020_driver = {
+static struct phy_driver tn2020_driver __phy_entry = {
.name = "Teranetics TN2020",
.uid = PHY_UID_TN2020,
.mask = 0xfffffff0,
@@ -105,10 +105,3 @@ struct phy_driver tn2020_driver = {
.startup = &tn2020_startup,
.shutdown = &gen10g_shutdown,
};
-
-int phy_teranetics_init(void)
-{
- phy_register(&tn2020_driver);
-
- return 0;
-}
diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
index d48d4fe..302b599 100644
--- a/drivers/net/phy/vitesse.c
+++ b/drivers/net/phy/vitesse.c
@@ -146,7 +146,7 @@ int vsc8601_config(struct phy_device *phydev)
return 0;
}
-static struct phy_driver VSC8211_driver = {
+static struct phy_driver VSC8211_driver __phy_entry = {
.name = "Vitesse VSC8211",
.uid = 0xfc4b0,
.mask = 0xffff0,
@@ -156,7 +156,7 @@ static struct phy_driver VSC8211_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver VSC8221_driver = {
+static struct phy_driver VSC8221_driver __phy_entry = {
.name = "Vitesse VSC8221",
.uid = 0xfc550,
.mask = 0xffff0,
@@ -166,7 +166,7 @@ static struct phy_driver VSC8221_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver VSC8244_driver = {
+static struct phy_driver VSC8244_driver __phy_entry = {
.name = "Vitesse VSC8244",
.uid = 0xfc6c0,
.mask = 0xffff0,
@@ -176,7 +176,7 @@ static struct phy_driver VSC8244_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver VSC8234_driver = {
+static struct phy_driver VSC8234_driver __phy_entry = {
.name = "Vitesse VSC8234",
.uid = 0xfc620,
.mask = 0xffff0,
@@ -186,7 +186,7 @@ static struct phy_driver VSC8234_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver VSC8601_driver = {
+static struct phy_driver VSC8601_driver __phy_entry = {
.name = "Vitesse VSC8601",
.uid = 0x70420,
.mask = 0xffff0,
@@ -196,7 +196,7 @@ static struct phy_driver VSC8601_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver VSC8641_driver = {
+static struct phy_driver VSC8641_driver __phy_entry = {
.name = "Vitesse VSC8641",
.uid = 0x70430,
.mask = 0xffff0,
@@ -207,7 +207,7 @@ static struct phy_driver VSC8641_driver = {
};
/* Vitesse bought Cicada, so we'll put these here */
-static struct phy_driver cis8201_driver = {
+static struct phy_driver cis8201_driver __phy_entry = {
.name = "CIS8201",
.uid = 0xfc410,
.mask = 0xffff0,
@@ -217,7 +217,7 @@ static struct phy_driver cis8201_driver = {
.shutdown = &genphy_shutdown,
};
-static struct phy_driver cis8204_driver = {
+static struct phy_driver cis8204_driver __phy_entry = {
.name = "Cicada Cis8204",
.uid = 0xfc440,
.mask = 0xffff0,
@@ -226,17 +226,3 @@ static struct phy_driver cis8204_driver = {
.startup = &vitesse_startup,
.shutdown = &genphy_shutdown,
};
-
-int phy_vitesse_init(void)
-{
- phy_register(&VSC8641_driver);
- phy_register(&VSC8601_driver);
- phy_register(&VSC8234_driver);
- phy_register(&VSC8244_driver);
- phy_register(&VSC8211_driver);
- phy_register(&VSC8221_driver);
- phy_register(&cis8201_driver);
- phy_register(&cis8204_driver);
-
- return 0;
-}
diff --git a/include/phy.h b/include/phy.h
index bc522d5..f0eb502 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -23,6 +23,7 @@
#ifndef _PHY_H
#define _PHY_H
+#include <linux/compiler.h>
#include <linux/list.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
@@ -231,4 +232,7 @@ int phy_vitesse_init(void);
/* PHY UIDs for various PHYs that are referenced in external code */
#define PHY_UID_TN2020 0x00a19410
+#define __phy_entry __attribute__((section(".phy_entry"))) __used __aligned(4)
+extern struct phy_driver __phy_entry_start, __phy_entry_end;
+
#endif
diff --git a/include/u-boot-common.lds b/include/u-boot-common.lds
index 6d5a4d3..b9e72cf 100644
--- a/include/u-boot-common.lds
+++ b/include/u-boot-common.lds
@@ -12,6 +12,13 @@
}
U_BOOT_LDS_SYMBOL(__u_boot_cmd_end) = .;
+ . = ALIGN(4);
+ U_BOOT_LDS_SYMBOL(__phy_entry_start) = .;
+ .phy_entry : {
+ KEEP(*(.phy_entry))
+ }
+ U_BOOT_LDS_SYMBOL(__phy_entry_end) = .;
+
/* powerpc specific, but harmless for others */
. = ALIGN(4);
U_BOOT_LDS_SYMBOL(__start___ex_table) = .;
--
1.7.5.4
^ permalink raw reply related [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 0:20 [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Troy Kisky
2012-02-08 0:20 ` [U-Boot] [PATCH v2 2/2] RFC: Let linker create phy array Troy Kisky
@ 2012-02-08 0:39 ` Graeme Russ
2012-02-08 0:49 ` Troy Kisky
1 sibling, 1 reply; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 0:39 UTC (permalink / raw)
To: u-boot
Hi Troy,
On Wed, Feb 8, 2012 at 11:20 AM, Troy Kisky
<troy.kisky@boundarydevices.com> wrote:
> This makes adding linker defined tables easier
> as only 1 lds file (include/u-boot-common.lds)
> will need to be touched instead of 193 files.
>
> Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
> ---
> diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
> index d1e2851..fe07097 100644
> --- a/arch/arm/cpu/arm1136/u-boot.lds
> +++ b/arch/arm/cpu/arm1136/u-boot.lds
> @@ -52,12 +52,7 @@ SECTIONS
> ? ? ? ? ? ? ? ?*(.data)
> ? ? ? ?}
>
> - ? ? ? . = ALIGN(4);
> -
> - ? ? ? . = .;
> - ? ? ? __u_boot_cmd_start = .;
> - ? ? ? .u_boot_cmd : { *(.u_boot_cmd) }
> - ? ? ? __u_boot_cmd_end = .;
> +#include <u-boot-common.lds>
>
> ? ? ? ?. = ALIGN(4);
>
Ick! A #define in the middle of a file :(
I would rather see the code block you are replacing #defined in
include/u-boot-common.lds.h and then use the define at the desired
location in the arch lds file. This will allow multiple 'functional
linker blocks' to be defined that the acrch scripts can arrange as they
see fit.
Also, ALIGN(4) may not always be a given, so maybe we should pass that in
as a parameter?
Hmmm....maybe something like (most likely not syntactically correct):
#define U_BOOT_LDS_SECTION(section, alignment) \
. = ALIGN(alignment); \
U_BOOT_LDS_SYMBOL(section ## _start) = .;
. ## section : { KEEP(*(. ## section)) }
U_BOOT_LDS_SYMBOL(section ## _end) = .;
So we can simply, in the arch lds:
U_BOOT_LDS_SECTION(text, 4)
U_BOOT_LDS_SECTION(u_boot_cmd, 4)
U_BOOT_LDS_SECTION(rodata, 4)
U_BOOT_LDS_SECTION(data, 4)
U_BOOT_LDS_SECTION(dynsym, 4)
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 0:39 ` [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Graeme Russ
@ 2012-02-08 0:49 ` Troy Kisky
2012-02-08 1:21 ` Graeme Russ
0 siblings, 1 reply; 11+ messages in thread
From: Troy Kisky @ 2012-02-08 0:49 UTC (permalink / raw)
To: u-boot
On 2/7/2012 5:39 PM, Graeme Russ wrote:
> Hi Troy,
>
> On Wed, Feb 8, 2012 at 11:20 AM, Troy Kisky
> <troy.kisky@boundarydevices.com> wrote:
>> This makes adding linker defined tables easier
>> as only 1 lds file (include/u-boot-common.lds)
>> will need to be touched instead of 193 files.
>>
>> Signed-off-by: Troy Kisky<troy.kisky@boundarydevices.com>
>> ---
>
>> diff --git a/arch/arm/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
>> index d1e2851..fe07097 100644
>> --- a/arch/arm/cpu/arm1136/u-boot.lds
>> +++ b/arch/arm/cpu/arm1136/u-boot.lds
>> @@ -52,12 +52,7 @@ SECTIONS
>> *(.data)
>> }
>>
>> - . = ALIGN(4);
>> -
>> - . = .;
>> - __u_boot_cmd_start = .;
>> - .u_boot_cmd : { *(.u_boot_cmd) }
>> - __u_boot_cmd_end = .;
>> +#include<u-boot-common.lds>
>>
>> . = ALIGN(4);
>>
> Ick! A #define in the middle of a file :(
>
> I would rather see the code block you are replacing #defined in
> include/u-boot-common.lds.h and then use the define at the desired
> location in the arch lds file. This will allow multiple 'functional
> linker blocks' to be defined that the acrch scripts can arrange as they
> see fit.
>
> Also, ALIGN(4) may not always be a given, so maybe we should pass that in
> as a parameter?
>
> Hmmm....maybe something like (most likely not syntactically correct):
>
> #define U_BOOT_LDS_SECTION(section, alignment) \
> . = ALIGN(alignment); \
> U_BOOT_LDS_SYMBOL(section ## _start) = .;
> . ## section : { KEEP(*(. ## section)) }
> U_BOOT_LDS_SYMBOL(section ## _end) = .;
>
>
> So we can simply, in the arch lds:
>
> U_BOOT_LDS_SECTION(text, 4)
> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
> U_BOOT_LDS_SECTION(rodata, 4)
> U_BOOT_LDS_SECTION(data, 4)
> U_BOOT_LDS_SECTION(dynsym, 4)
>
> Regards,
>
> Graeme
>
That works fine for existing sections.. i.e
U_BOOT_LDS_SECTION(u_boot_cmd, 4)
but what about the next patch in the series?
Do you want me to change all lds files again?
I hope you have a better idea for how to handle patch 2/2.
Thanks for the feedback.
Troy
^ permalink raw reply [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 0:49 ` Troy Kisky
@ 2012-02-08 1:21 ` Graeme Russ
2012-02-08 1:22 ` Graeme Russ
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 1:21 UTC (permalink / raw)
To: u-boot
Hi Tony,
On Wed, Feb 8, 2012 at 11:49 AM, Troy Kisky
<troy.kisky@boundarydevices.com> wrote:
> On 2/7/2012 5:39 PM, Graeme Russ wrote:
>>
>> Hi Troy,
>>
>> On Wed, Feb 8, 2012 at 11:20 AM, Troy Kisky
>> <troy.kisky@boundarydevices.com> ?wrote:
>>>
>>> This makes adding linker defined tables easier
>>> as only 1 lds file (include/u-boot-common.lds)
>>> will need to be touched instead of 193 files.
>>>
>>> Signed-off-by: Troy Kisky<troy.kisky@boundarydevices.com>
>>> ---
>>
>>
>>> diff --git a/arch/arm/cpu/arm1136/u-boot.lds
>>> b/arch/arm/cpu/arm1136/u-boot.lds
>>> index d1e2851..fe07097 100644
>>> --- a/arch/arm/cpu/arm1136/u-boot.lds
>>> +++ b/arch/arm/cpu/arm1136/u-boot.lds
>>> @@ -52,12 +52,7 @@ SECTIONS
>>> ? ? ? ? ? ? ? ?*(.data)
>>> ? ? ? ?}
>>>
>>> - ? ? ? . = ALIGN(4);
>>> -
>>> - ? ? ? . = .;
>>> - ? ? ? __u_boot_cmd_start = .;
>>> - ? ? ? .u_boot_cmd : { *(.u_boot_cmd) }
>>> - ? ? ? __u_boot_cmd_end = .;
>>> +#include<u-boot-common.lds>
>>>
>>> ? ? ? ?. = ALIGN(4);
>>>
>> Ick! A #define in the middle of a file :(
>>
>> I would rather see the code block you are replacing #defined in
>> include/u-boot-common.lds.h and then use the define at the desired
>> location in the arch lds file. This will allow multiple 'functional
>> linker blocks' to be defined that the acrch scripts can arrange as they
>> see fit.
>>
>> Also, ALIGN(4) may not always be a given, so maybe we should pass that in
>> as a parameter?
>>
>> Hmmm....maybe something like (most likely not syntactically correct):
>>
>> #define U_BOOT_LDS_SECTION(section, alignment) \
>> ? ? ? ?. = ALIGN(alignment); \
>> ? ? ? ?U_BOOT_LDS_SYMBOL(section ## _start) = .;
>> ? ? ? ?. ## section : { KEEP(*(. ## section)) }
>> ? ? ? ?U_BOOT_LDS_SYMBOL(section ## _end) = .;
>>
>>
>> So we can simply, in the arch lds:
>>
>> ? ? ? ?U_BOOT_LDS_SECTION(text, 4)
>> ? ? ? ?U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>> ? ? ? ?U_BOOT_LDS_SECTION(rodata, 4)
>> ? ? ? ?U_BOOT_LDS_SECTION(data, 4)
>> ? ? ? ?U_BOOT_LDS_SECTION(dynsym, 4)
>>
>> Regards,
>>
>> Graeme
>>
> That works fine for existing sections.. i.e
>
> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>
>
> but what about the next patch in the series?
> Do you want me to change all lds files again?
Ah, and therein lies the rub...
By adding 'phy_entry' into the common lds file, you have inflicted it on
everyone, and forced it to be after u_boot_cmd. What if I don't need the
phy_entry section (no network support) or don't want it hard-placed after
u_boot_cmd?
> I hope you have a better idea for how to handle patch 2/2.
Add ?U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts
Hmm, and this gets me to thinking that this process is going to be very
useful for my INIT_CALL series - At the moment, I collect all the
INIT_CALL declerations in a section, but I need a dedicated linker script
to create a file which only includes that section - With a slight tweak to
U_BOOT_LDS_SECTION, I should be able to selectively switch between the two
link modes (INIT_CALL versus 'final' link)
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 1:21 ` Graeme Russ
@ 2012-02-08 1:22 ` Graeme Russ
2012-02-08 1:24 ` Graeme Russ
2012-02-08 1:56 ` Troy Kisky
2 siblings, 0 replies; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 1:22 UTC (permalink / raw)
To: u-boot
Hi Troy,
On Wed, Feb 8, 2012 at 12:21 PM, Graeme Russ <graeme.russ@gmail.com> wrote:
> Hi Tony,
Oops, sorry - forgot to proof read
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 1:21 ` Graeme Russ
2012-02-08 1:22 ` Graeme Russ
@ 2012-02-08 1:24 ` Graeme Russ
2012-02-08 1:56 ` Troy Kisky
2 siblings, 0 replies; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 1:24 UTC (permalink / raw)
To: u-boot
Hi Troy,
On Wed, Feb 8, 2012 at 12:21 PM, Graeme Russ <graeme.russ@gmail.com> wrote:
> Add ?U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts
Oh, and it should have an #ifdef around it - I know it's probably harmless,
but I dislike having 'fluff' floating around :)
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 1:21 ` Graeme Russ
2012-02-08 1:22 ` Graeme Russ
2012-02-08 1:24 ` Graeme Russ
@ 2012-02-08 1:56 ` Troy Kisky
2012-02-08 2:24 ` Graeme Russ
2 siblings, 1 reply; 11+ messages in thread
From: Troy Kisky @ 2012-02-08 1:56 UTC (permalink / raw)
To: u-boot
On 2/7/2012 6:21 PM, Graeme Russ wrote:
> Hi Tony,
>
> On Wed, Feb 8, 2012 at 11:49 AM, Troy Kisky
> <troy.kisky@boundarydevices.com> wrote:
>> On 2/7/2012 5:39 PM, Graeme Russ wrote:
>>> Hi Troy,
>>>
>>> On Wed, Feb 8, 2012 at 11:20 AM, Troy Kisky
>>> <troy.kisky@boundarydevices.com> wrote:
>>>> This makes adding linker defined tables easier
>>>> as only 1 lds file (include/u-boot-common.lds)
>>>> will need to be touched instead of 193 files.
>>>>
>>>> Signed-off-by: Troy Kisky<troy.kisky@boundarydevices.com>
>>>> ---
>>>
>>>> diff --git a/arch/arm/cpu/arm1136/u-boot.lds
>>>> b/arch/arm/cpu/arm1136/u-boot.lds
>>>> index d1e2851..fe07097 100644
>>>> --- a/arch/arm/cpu/arm1136/u-boot.lds
>>>> +++ b/arch/arm/cpu/arm1136/u-boot.lds
>>>> @@ -52,12 +52,7 @@ SECTIONS
>>>> *(.data)
>>>> }
>>>>
>>>> - . = ALIGN(4);
>>>> -
>>>> - . = .;
>>>> - __u_boot_cmd_start = .;
>>>> - .u_boot_cmd : { *(.u_boot_cmd) }
>>>> - __u_boot_cmd_end = .;
>>>> +#include<u-boot-common.lds>
>>>>
>>>> . = ALIGN(4);
>>>>
>>> Ick! A #define in the middle of a file :(
>>>
>>> I would rather see the code block you are replacing #defined in
>>> include/u-boot-common.lds.h and then use the define at the desired
>>> location in the arch lds file. This will allow multiple 'functional
>>> linker blocks' to be defined that the acrch scripts can arrange as they
>>> see fit.
>>>
>>> Also, ALIGN(4) may not always be a given, so maybe we should pass that in
>>> as a parameter?
>>>
>>> Hmmm....maybe something like (most likely not syntactically correct):
>>>
>>> #define U_BOOT_LDS_SECTION(section, alignment) \
>>> . = ALIGN(alignment); \
>>> U_BOOT_LDS_SYMBOL(section ## _start) = .;
>>> . ## section : { KEEP(*(. ## section)) }
>>> U_BOOT_LDS_SYMBOL(section ## _end) = .;
>>>
>>>
>>> So we can simply, in the arch lds:
>>>
>>> U_BOOT_LDS_SECTION(text, 4)
>>> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>>> U_BOOT_LDS_SECTION(rodata, 4)
>>> U_BOOT_LDS_SECTION(data, 4)
>>> U_BOOT_LDS_SECTION(dynsym, 4)
>>>
>>> Regards,
>>>
>>> Graeme
>>>
>> That works fine for existing sections.. i.e
>>
>> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>>
>>
>> but what about the next patch in the series?
>> Do you want me to change all lds files again?
> Ah, and therein lies the rub...
>
> By adding 'phy_entry' into the common lds file, you have inflicted it on
> everyone, and forced it to be after u_boot_cmd. What if I don't need the
> phy_entry section (no network support) or don't want it hard-placed after
> u_boot_cmd?
Inflicted? I doubt that I added any bytes at all to boards that don't
use phylib.
>> I hope you have a better idea for how to handle patch 2/2.
> Add U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts
The entire reason for me for patch 1/2 was to support 2/2.
What about #include <u-boot-comon.lds.h>
at the start of each lds file,
and
#include<u-boot-common.lds>
in the middle?
If people really want to control the relative ordering of u_boot_cmd, and phy_entry,
they are not forced to include u-boot-common.lds here.
I can even throw in an unnecessary ifdef in u-boot-common.lds
#ifdef CONFIG_PHYLIB
U_BOOT_LDS_SECTION(phy_entry, 4)
#endif
This will make it easier for developers to add a table without having
to change 192 lds files. If a few boards opt not to use
"#include<u-boot-common.lds>," that still means far fewer files
to change and less risk of typos.
Troy
^ permalink raw reply [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 1:56 ` Troy Kisky
@ 2012-02-08 2:24 ` Graeme Russ
2012-02-08 2:46 ` Troy Kisky
0 siblings, 1 reply; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 2:24 UTC (permalink / raw)
To: u-boot
Hi Troy,
On Wed, Feb 8, 2012 at 12:56 PM, Troy Kisky
<troy.kisky@boundarydevices.com> wrote:
> On 2/7/2012 6:21 PM, Graeme Russ wrote:
>>
>> Hi Tony,
>>
>> On Wed, Feb 8, 2012 at 11:49 AM, Troy Kisky
>> <troy.kisky@boundarydevices.com> ?wrote:
>>>
>>> That works fine for existing sections.. i.e
>>>
>>> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>>>
>>>
>>> but what about the next patch in the series?
>>> Do you want me to change all lds files again?
>>
>> Ah, and therein lies the rub...
>>
>> By adding 'phy_entry' into the common lds file, you have inflicted it on
>> everyone, and forced it to be after u_boot_cmd. What if I don't need the
>> phy_entry section (no network support) or don't want it hard-placed after
>> u_boot_cmd?
>
>
> Inflicted? I doubt that I added any bytes at all to boards that don't use
> phylib.
You are correct, it will not add anything, but we tend to have an aversion
to dead code :)
>>> I hope you have a better idea for how to handle patch 2/2.
>>
>> Add ?U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts
>
>
> The entire reason for me for patch 1/2 was to support 2/2.
>
> What about ?#include <u-boot-comon.lds.h>
>
> at the start of each lds file,
>
> and
>
> #include<u-boot-common.lds>
>
>
> in the middle?
>
>
>
> If people really want to control the relative ordering of u_boot_cmd, and
> phy_entry,
> they are not forced to include u-boot-common.lds here.
>
> I can even throw in an unnecessary ifdef in u-boot-common.lds
>
> #ifdef CONFIG_PHYLIB
> U_BOOT_LDS_SECTION(phy_entry, 4)
> #endif
>
>
> This will make it easier for developers to add a table without having
> to change 192 lds files. If a few boards opt not to use
> "#include<u-boot-common.lds>," that still means far fewer files
> to change and less risk of typos.
That looks like a good compromise to me
As I mentioned, the U_BOOT_LDS_SECTION macro will be very useful for me
later on
The next biggie is where to define all the externs exported from the
linker script as a result of using the U_BOOT_LDS_SECTION macro. I'm half
tempted to think we could collect all the usages of U_BOOT_LDS_SECTION
in a header (for the common case, that is essentially u-boot-common.lds)
and by setting a #define you switch between full macro expansion (for
the linker) and 'extern generation' for including in C files. That way,
when you add a new section, everything happen automagically :)
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 2:24 ` Graeme Russ
@ 2012-02-08 2:46 ` Troy Kisky
2012-02-08 2:51 ` Graeme Russ
0 siblings, 1 reply; 11+ messages in thread
From: Troy Kisky @ 2012-02-08 2:46 UTC (permalink / raw)
To: u-boot
On 2/7/2012 7:24 PM, Graeme Russ wrote:
> Hi Troy,
>
> On Wed, Feb 8, 2012 at 12:56 PM, Troy Kisky
> <troy.kisky@boundarydevices.com> wrote:
>> On 2/7/2012 6:21 PM, Graeme Russ wrote:
>>> Hi Tony,
>>>
>>> On Wed, Feb 8, 2012 at 11:49 AM, Troy Kisky
>>> <troy.kisky@boundarydevices.com> wrote:
>
>>>> That works fine for existing sections.. i.e
>>>>
>>>> U_BOOT_LDS_SECTION(u_boot_cmd, 4)
>>>>
>>>>
>>>> but what about the next patch in the series?
>>>> Do you want me to change all lds files again?
>>> Ah, and therein lies the rub...
>>>
>>> By adding 'phy_entry' into the common lds file, you have inflicted it on
>>> everyone, and forced it to be after u_boot_cmd. What if I don't need the
>>> phy_entry section (no network support) or don't want it hard-placed after
>>> u_boot_cmd?
>>
>> Inflicted? I doubt that I added any bytes at all to boards that don't use
>> phylib.
> You are correct, it will not add anything, but we tend to have an aversion
> to dead code :)
>
>
>>>> I hope you have a better idea for how to handle patch 2/2.
>>> Add U_BOOT_LDS_SECTION(phy_entry, 4) to all the linker scripts
>>
>> The entire reason for me for patch 1/2 was to support 2/2.
>>
>> What about #include<u-boot-comon.lds.h>
>>
>> at the start of each lds file,
>>
>> and
>>
>> #include<u-boot-common.lds>
>>
>>
>> in the middle?
>>
>>
>>
>> If people really want to control the relative ordering of u_boot_cmd, and
>> phy_entry,
>> they are not forced to include u-boot-common.lds here.
>>
>> I can even throw in an unnecessary ifdef in u-boot-common.lds
>>
>> #ifdef CONFIG_PHYLIB
>> U_BOOT_LDS_SECTION(phy_entry, 4)
>> #endif
>>
>>
>> This will make it easier for developers to add a table without having
>> to change 192 lds files. If a few boards opt not to use
>> "#include<u-boot-common.lds>," that still means far fewer files
>> to change and less risk of typos.
> That looks like a good compromise to me
>
> As I mentioned, the U_BOOT_LDS_SECTION macro will be very useful for me
> later on
>
> The next biggie is where to define all the externs exported from the
> linker script as a result of using the U_BOOT_LDS_SECTION macro. I'm half
> tempted to think we could collect all the usages of U_BOOT_LDS_SECTION
> in a header (for the common case, that is essentially u-boot-common.lds)
> and by setting a #define you switch between full macro expansion (for
> the linker) and 'extern generation' for including in C files. That way,
> when you add a new section, everything happen automagically :)
>
> Regards,
>
> Graeme
>
So do you think this is wrong in patch 2/2?
diff --git a/include/phy.h b/include/phy.h
index bc522d5..f0eb502 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -23,6 +23,7 @@
#ifndef _PHY_H
#define _PHY_H
+#include <linux/compiler.h>
#include <linux/list.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
@@ -231,4 +232,7 @@ int phy_vitesse_init(void);
/* PHY UIDs for various PHYs that are referenced in external code */
#define PHY_UID_TN2020 0x00a19410
+#define __phy_entry __attribute__((section(".phy_entry"))) __used
__aligned(4)
+extern struct phy_driver __phy_entry_start, __phy_entry_end;
+
#endif
I don't see how this can be automatically generated.
Troy
^ permalink raw reply related [flat|nested] 11+ messages in thread* [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds
2012-02-08 2:46 ` Troy Kisky
@ 2012-02-08 2:51 ` Graeme Russ
0 siblings, 0 replies; 11+ messages in thread
From: Graeme Russ @ 2012-02-08 2:51 UTC (permalink / raw)
To: u-boot
Hi Troy,
On Wed, Feb 8, 2012 at 1:46 PM, Troy Kisky
<troy.kisky@boundarydevices.com> wrote:
> On 2/7/2012 7:24 PM, Graeme Russ wrote:
>>
>> The next biggie is where to define all the externs exported from the
>> linker script as a result of using the U_BOOT_LDS_SECTION macro. I'm half
>> tempted to think we could collect all the usages of U_BOOT_LDS_SECTION
>> in a header (for the common case, that is essentially u-boot-common.lds)
>> and by setting a #define you switch between full macro expansion (for
>> the linker) and 'extern generation' for including in C files. That way,
>> when you add a new section, everything happen automagically :)
>>
>> Regards,
>>
>> Graeme
>>
> So do you think this is wrong in patch 2/2?
>
> diff --git a/include/phy.h b/include/phy.h
> index bc522d5..f0eb502 100644
> --- a/include/phy.h
> +++ b/include/phy.h
> @@ -23,6 +23,7 @@
> ?#ifndef _PHY_H
> ?#define _PHY_H
>
> +#include <linux/compiler.h>
> ?#include <linux/list.h>
> ?#include <linux/mii.h>
> ?#include <linux/ethtool.h>
> @@ -231,4 +232,7 @@ int phy_vitesse_init(void);
> ?/* PHY UIDs for various PHYs that are referenced in external code */
> ?#define PHY_UID_TN2020 0x00a19410
>
> +#define __phy_entry ?__attribute__((section(".phy_entry"))) __used
> __aligned(4)
> +extern struct phy_driver __phy_entry_start, __phy_entry_end;
> +
Aha! Thanks - putting the extern there makes much more sense :)
> ?#endif
>
>
> I don't see how this can be automatically generated.
Yeah, I wouldn't bother either now I see above
Regards,
Graeme
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-02-08 2:51 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-08 0:20 [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Troy Kisky
2012-02-08 0:20 ` [U-Boot] [PATCH v2 2/2] RFC: Let linker create phy array Troy Kisky
2012-02-08 0:39 ` [U-Boot] [PATCH v2 1/2] RFC: create u-boot-common.lds Graeme Russ
2012-02-08 0:49 ` Troy Kisky
2012-02-08 1:21 ` Graeme Russ
2012-02-08 1:22 ` Graeme Russ
2012-02-08 1:24 ` Graeme Russ
2012-02-08 1:56 ` Troy Kisky
2012-02-08 2:24 ` Graeme Russ
2012-02-08 2:46 ` Troy Kisky
2012-02-08 2:51 ` Graeme Russ
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox