[U-Boot] [PATCH 0/5] Linker-generated arrays (take 2)

Marek Vasut marex at denx.de
Sun Sep 30 02:17:49 CEST 2012


This is a second stab at the linker-generated array. Basically, this
concept is a generic abstraction of how u_boot_cmd works today. The
patch 2/4 contains a huge pile of documentation which should clarify
most of the questions.

I don't see size growth, I see size fluctiation in the order of tens
of bytes with these patches applied. Subsequent patch added to this
series removes the __u_boot_cmd section completely.

NOTE: This patchset has a cross-dependency on:
        [PATCH 0/4 V2] Implant kernel-doc from Linux kernel

TAKE 2: Start again, try aligning it with patchwork workflow ... didn't
        quite work out before due to my sloppiness.

Marek Vasut (5):
  common: Add symbol handling for generic lists into Makefile
  common: Implement support for linker-generated arrays
  common: Add .u_boot_list into all linker files
  common: Convert the U-Boot commands to LG-arrays
  common: Discard the __u_boot_cmd section

 .gitignore                                       |    1 +
 Makefile                                         |   13 +-
 arch/arm/cpu/arm920t/ep93xx/u-boot.lds           |    8 +-
 arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds        |    7 +-
 arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds      |    7 +-
 arch/arm/cpu/armv7/omap-common/u-boot-spl.lds    |    5 +
 arch/arm/cpu/ixp/u-boot.lds                      |    8 +-
 arch/arm/cpu/u-boot.lds                          |    8 +-
 arch/arm/imx-common/cmd_bmode.c                  |   11 +-
 arch/avr32/cpu/u-boot.lds                        |    8 +-
 arch/avr32/lib/board.c                           |    4 +-
 arch/blackfin/cpu/u-boot.lds                     |    8 +-
 arch/m68k/lib/board.c                            |    4 +-
 arch/microblaze/cpu/u-boot.lds                   |    6 -
 arch/mips/lib/board.c                            |    4 +-
 arch/nds32/cpu/n1213/u-boot.lds                  |    8 +-
 arch/nds32/lib/board.c                           |    4 +-
 arch/nios2/cpu/u-boot.lds                        |   10 +-
 arch/powerpc/cpu/74xx_7xx/u-boot.lds             |    8 +-
 arch/powerpc/cpu/mpc512x/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc5xx/u-boot.lds               |    8 +-
 arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds |    6 +-
 arch/powerpc/cpu/mpc5xxx/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc8220/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc824x/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc8260/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc83xx/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds         |    7 +-
 arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds     |    4 +
 arch/powerpc/cpu/mpc85xx/u-boot.lds              |    8 +-
 arch/powerpc/cpu/mpc86xx/u-boot.lds              |    8 +-
 arch/powerpc/cpu/ppc4xx/u-boot.lds               |    8 +-
 arch/sandbox/cpu/u-boot.lds                      |    8 +-
 arch/sh/cpu/sh2/u-boot.lds                       |    9 +-
 arch/sh/cpu/sh3/u-boot.lds                       |    9 +-
 arch/sh/cpu/sh4/u-boot.lds                       |    9 +-
 arch/sparc/lib/board.c                           |    4 +-
 arch/x86/cpu/u-boot.lds                          |    7 +-
 board/BuS/eb_cpu5282/u-boot.lds                  |    8 +-
 board/LEOX/elpt860/u-boot.lds                    |    8 +-
 board/RPXClassic/u-boot.lds                      |    8 +-
 board/RPXClassic/u-boot.lds.debug                |    8 +-
 board/RPXlite/u-boot.lds                         |    8 +-
 board/RPXlite/u-boot.lds.debug                   |    8 +-
 board/RPXlite_dw/u-boot.lds                      |    8 +-
 board/RPXlite_dw/u-boot.lds.debug                |    8 +-
 board/RRvision/u-boot.lds                        |    8 +-
 board/actux1/u-boot.lds                          |    8 +-
 board/actux2/u-boot.lds                          |    8 +-
 board/actux3/u-boot.lds                          |    8 +-
 board/adder/u-boot.lds                           |    8 +-
 board/ait/cam_enc_4xx/u-boot-spl.lds             |    4 +
 board/altera/nios2-generic/u-boot.lds            |   10 +-
 board/amcc/acadia/u-boot-nand.lds                |    6 +-
 board/amcc/bamboo/u-boot-nand.lds                |    6 +-
 board/amcc/canyonlands/u-boot-nand.lds           |    6 +-
 board/amcc/kilauea/u-boot-nand.lds               |    6 +-
 board/amcc/sequoia/u-boot-nand.lds               |    6 +-
 board/amcc/sequoia/u-boot-ram.lds                |    6 +-
 board/amirix/ap1000/u-boot.lds                   |    8 +-
 board/astro/mcf5373l/u-boot.lds                  |    8 +-
 board/c2mon/u-boot.lds                           |    8 +-
 board/c2mon/u-boot.lds.debug                     |    8 +-
 board/cobra5272/u-boot.lds                       |    8 +-
 board/cogent/u-boot.lds                          |    8 +-
 board/cogent/u-boot.lds.debug                    |    8 +-
 board/cray/L1/u-boot.lds.debug                   |    8 +-
 board/dave/PPChameleonEVB/u-boot.lds             |    8 +-
 board/davinci/da8xxevm/u-boot-spl-da850evm.lds   |    6 +
 board/davinci/da8xxevm/u-boot-spl-hawk.lds       |    5 +
 board/dbau1x00/u-boot.lds                        |    4 -
 board/dvlhost/u-boot.lds                         |    8 +-
 board/eltec/mhpc/u-boot.lds                      |    8 +-
 board/eltec/mhpc/u-boot.lds.debug                |    8 +-
 board/emk/top860/u-boot.lds                      |    8 +-
 board/ep88x/u-boot.lds                           |    8 +-
 board/esd/dasa_sim/u-boot.lds                    |    8 +-
 board/esd/pmc440/u-boot-nand.lds                 |    6 +-
 board/esd/tasreg/u-boot.lds                      |    8 +-
 board/esteem192e/u-boot.lds                      |    8 +-
 board/etx094/u-boot.lds                          |    8 +-
 board/evb64260/u-boot.lds                        |    8 +-
 board/fads/u-boot.lds                            |    8 +-
 board/flagadm/u-boot.lds                         |    8 +-
 board/flagadm/u-boot.lds.debug                   |    8 +-
 board/freescale/m5208evbe/u-boot.lds             |    8 +-
 board/freescale/m52277evb/u-boot.lds             |    8 +-
 board/freescale/m5235evb/u-boot.lds              |    8 +-
 board/freescale/m5249evb/u-boot.lds              |    8 +-
 board/freescale/m5253demo/u-boot.lds             |    8 +-
 board/freescale/m5253evbe/u-boot.lds             |    8 +-
 board/freescale/m5271evb/u-boot.lds              |    8 +-
 board/freescale/m5272c3/u-boot.lds               |    8 +-
 board/freescale/m5275evb/u-boot.lds              |    8 +-
 board/freescale/m5282evb/u-boot.lds              |    8 +-
 board/freescale/m53017evb/u-boot.lds             |    8 +-
 board/freescale/m5329evb/u-boot.lds              |    8 +-
 board/freescale/m5373evb/u-boot.lds              |    8 +-
 board/freescale/m54451evb/u-boot.lds             |    8 +-
 board/freescale/m54455evb/u-boot.lds             |    8 +-
 board/freescale/m547xevb/u-boot.lds              |    8 +-
 board/freescale/m548xevb/u-boot.lds              |    8 +-
 board/freescale/mx31ads/u-boot.lds               |    8 +-
 board/gaisler/gr_cpci_ax2000/u-boot.lds          |    7 +-
 board/gaisler/gr_ep2s60/u-boot.lds               |    7 +-
 board/gaisler/gr_xc3s_1500/u-boot.lds            |    7 +-
 board/gaisler/grsim/u-boot.lds                   |    7 +-
 board/gaisler/grsim_leon2/u-boot.lds             |    7 +-
 board/gen860t/u-boot-flashenv.lds                |    7 +-
 board/gen860t/u-boot.lds                         |    8 +-
 board/genietv/u-boot.lds                         |    8 +-
 board/genietv/u-boot.lds.debug                   |    8 +-
 board/hermes/u-boot.lds                          |    8 +-
 board/hermes/u-boot.lds.debug                    |    8 +-
 board/hymod/u-boot.lds                           |    8 +-
 board/hymod/u-boot.lds.debug                     |    8 +-
 board/icu862/u-boot.lds                          |    8 +-
 board/icu862/u-boot.lds.debug                    |    8 +-
 board/idmr/u-boot.lds                            |    8 +-
 board/incaip/u-boot.lds                          |    4 -
 board/ip860/u-boot.lds                           |    8 +-
 board/ip860/u-boot.lds.debug                     |    8 +-
 board/ivm/u-boot.lds                             |    8 +-
 board/ivm/u-boot.lds.debug                       |    8 +-
 board/korat/u-boot-F7FC.lds                      |    6 +-
 board/kup/kup4k/u-boot.lds                       |    8 +-
 board/kup/kup4k/u-boot.lds.debug                 |    8 +-
 board/kup/kup4x/u-boot.lds                       |    8 +-
 board/kup/kup4x/u-boot.lds.debug                 |    8 +-
 board/lantec/u-boot.lds                          |    8 +-
 board/lantec/u-boot.lds.debug                    |    8 +-
 board/lwmon/u-boot.lds                           |    8 +-
 board/lwmon/u-boot.lds.debug                     |    8 +-
 board/manroland/uc100/u-boot.lds                 |    8 +-
 board/matrix_vision/mvsmr/u-boot.lds             |    8 +-
 board/mbx8xx/u-boot.lds                          |    8 +-
 board/mbx8xx/u-boot.lds.debug                    |    8 +-
 board/micronas/vct/u-boot.lds                    |    4 -
 board/ml2/u-boot.lds                             |    8 +-
 board/ml2/u-boot.lds.debug                       |    8 +-
 board/mousse/u-boot.lds                          |    8 +-
 board/mousse/u-boot.lds.ram                      |    3 -
 board/mousse/u-boot.lds.rom                      |    3 -
 board/mpl/pip405/u-boot.lds.debug                |    8 +-
 board/mvblue/u-boot.lds                          |    8 +-
 board/netphone/u-boot.lds                        |    8 +-
 board/netphone/u-boot.lds.debug                  |    8 +-
 board/netta/u-boot.lds                           |    8 +-
 board/netta/u-boot.lds.debug                     |    8 +-
 board/netta2/u-boot.lds                          |    8 +-
 board/netta2/u-boot.lds.debug                    |    8 +-
 board/netvia/u-boot.lds                          |    8 +-
 board/netvia/u-boot.lds.debug                    |    8 +-
 board/nx823/u-boot.lds                           |    8 +-
 board/nx823/u-boot.lds.debug                     |    8 +-
 board/openrisc/openrisc-generic/u-boot.lds       |    8 +-
 board/pb1x00/u-boot.lds                          |    4 -
 board/qemu-mips/u-boot.lds                       |    4 -
 board/qi/qi_lb60/u-boot.lds                      |    8 +-
 board/quantum/u-boot.lds                         |    8 +-
 board/r360mpi/u-boot.lds                         |    8 +-
 board/rbc823/u-boot.lds                          |    8 +-
 board/renesas/sh7757lcr/u-boot.lds               |    9 +-
 board/rsdproto/u-boot.lds                        |    8 +-
 board/samsung/smdk5250/smdk5250-uboot-spl.lds    |    5 +
 board/samsung/smdk6400/u-boot-nand.lds           |   10 +-
 board/sandburst/karef/u-boot.lds.debug           |    8 +-
 board/sandburst/metrobox/u-boot.lds.debug        |    8 +-
 board/sandpoint/u-boot.lds                       |    8 +-
 board/siemens/IAD210/u-boot.lds                  |    8 +-
 board/sixnet/u-boot.lds                          |    8 +-
 board/snmc/qs850/u-boot.lds                      |    8 +-
 board/snmc/qs860t/u-boot.lds                     |    8 +-
 board/spc1920/u-boot.lds                         |    8 +-
 board/spd8xx/u-boot.lds                          |    8 +-
 board/spd8xx/u-boot.lds.debug                    |    8 +-
 board/stx/stxxtc/u-boot.lds                      |    8 +-
 board/stx/stxxtc/u-boot.lds.debug                |    8 +-
 board/svm_sc8xx/u-boot.lds                       |    8 +-
 board/tqc/tqm8xx/u-boot.lds                      |    8 +-
 board/v37/u-boot.lds                             |    8 +-
 board/vpac270/u-boot-spl.lds                     |    4 +
 board/w7o/u-boot.lds.debug                       |    8 +-
 board/westel/amx860/u-boot.lds                   |    8 +-
 board/westel/amx860/u-boot.lds.debug             |    8 +-
 board/xes/xpedite1000/u-boot.lds.debug           |    8 +-
 common/cmd_help.c                                |    8 +-
 common/command.c                                 |   17 ++-
 config.mk                                        |    2 +
 doc/README.commands                              |   10 +-
 examples/standalone/mips.lds                     |    4 +
 examples/standalone/nds32.lds                    |    4 +
 examples/standalone/sparc.lds                    |    5 +
 helper.mk                                        |   64 ++++++++++
 include/command.h                                |   28 ++--
 include/linker_lists.h                           |  148 ++++++++++++++++++++++
 nand_spl/board/freescale/mpc8536ds/Makefile      |    9 +-
 nand_spl/board/freescale/mpc8569mds/Makefile     |    9 +-
 nand_spl/board/freescale/mpc8572ds/Makefile      |    9 +-
 nand_spl/board/freescale/mx31pdk/Makefile        |    9 +-
 nand_spl/board/freescale/mx31pdk/u-boot.lds      |    8 +-
 nand_spl/board/freescale/p1010rdb/Makefile       |    9 +-
 nand_spl/board/freescale/p1023rds/Makefile       |    9 +-
 nand_spl/board/freescale/p1_p2_rdb/Makefile      |    9 +-
 nand_spl/board/freescale/p1_p2_rdb_pc/Makefile   |    9 +-
 nand_spl/board/karo/tx25/Makefile                |    9 +-
 nand_spl/board/karo/tx25/u-boot.lds              |    8 +-
 nand_spl/board/samsung/smdk6400/u-boot.lds       |    8 +-
 spl/.gitignore                                   |    1 +
 spl/Makefile                                     |    6 +-
 210 files changed, 1176 insertions(+), 622 deletions(-)
 create mode 100644 helper.mk
 create mode 100644 include/linker_lists.h

Cc: Joe Hershberger <joe.hershberger at gmail.com>
Cc: Mike Frysinger <vapier at gentoo.org>

-- 
1.7.10.4



More information about the U-Boot mailing list