[U-Boot] [PATCH 2/2] RFC: Let linker create phy array

Dirk Behme dirk.behme at googlemail.com
Sun Feb 5 07:16:40 CET 2012


On 05.02.2012 04:38, Mike Frysinger wrote:
> On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
>> --- a/drivers/net/phy/broadcom.c
>> +++ b/drivers/net/phy/broadcom.c
>>
>> -static struct phy_driver BCM5461S_driver = {
>> +struct phy_driver BCM5461S_driver __phy_entry = {
>
> why do you have to remove the static ?  that shouldn't affect the section name
> that it gets placed into.
>
>> --- a/include/phy.h
>> +++ b/include/phy.h
>>
>> +extern struct phy_driver __phy_entry_start, __phy_entry_end;
>
> linker symbols should be declared like:
> 	extern char __phy_entry_start[];
>
>> --- a/u-boot-common.lds
>> +++ b/u-boot-common.lds
>
> i'm not seeing this in the u-boot tree ...

u-boot-common.lds is created by patch 1/2 of this series which seems 
to not reached the list (due to the size?). Most probably it waits for 
moderator approval. I got this directly as I'm in CC. See below [1] 
for the essential parts.

Best regards

Dirk


[1]

[PATCH 1/2] RFC: create u-boot-common.lds

This makes adding linker defined tables easier
as far fewer lds files will need to be touched.

Signed-off-by: Troy Kisky <troy.kisky at boundarydevices.com>

Series based on Stefano's u-boot-imx
Close inspection of

board/mousse/u-boot.lds.ram
arch/blackfin/cpu/u-boot.lds

is warranted.

./MAKEALL -a arm
Boards compiled: 216
Boards with warnings or errors: 71



---
  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                     |   15 ++++++---------
  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 +++++
  nand_spl/board/freescale/mx31pdk/Makefile        |    2 +-
  nand_spl/board/freescale/mx31pdk/u-boot.lds      |    5 +----
  nand_spl/board/karo/tx25/Makefile                |    2 +-
  nand_spl/board/karo/tx25/u-boot.lds              |    5 +----
  nand_spl/board/samsung/smdk6400/Makefile         |    2 +-
  nand_spl/board/samsung/smdk6400/u-boot.lds       |    4 +---
  spl/Makefile                                     |    3 ++-
  u-boot-common.lds                                |   14 ++++++++++++++
  198 files changed, 234 insertions(+), 1554 deletions(-)
  create mode 100644 u-boot-common.lds

diff --git a/arch/arm/cpu/arm1136/u-boot.lds 
b/arch/arm/cpu/arm1136/u-boot.lds
index d1e2851..cd7927c 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..9852b0a 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/u-boot-common.lds b/u-boot-common.lds
new file mode 100644
index 0000000..e9a5fc9
--- /dev/null
+++ b/u-boot-common.lds
@@ -0,0 +1,14 @@
+	. = ALIGN(4);
+	__u_boot_cmd_start = .;
+	.u_boot_cmd : {
+		KEEP(*(.u_boot_cmd))
+	}
+	__u_boot_cmd_end = .;
+
+	/* powerpc specific, but harmless for others */
+	. = ALIGN(4);
+	__start___ex_table = .;
+	__ex_table : {
+		KEEP(*(__ex_table))
+	}
+	__stop___ex_table = .;



More information about the U-Boot mailing list