From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Fri, 12 Oct 2012 22:27:00 +0200 Subject: [U-Boot] [PATCH 0/6 V3] Linker-generated arrays (take 2) In-Reply-To: <1349568385-27173-1-git-send-email-marex@denx.de> References: <1349568385-27173-1-git-send-email-marex@denx.de> Message-ID: <1350073626-17024-1-git-send-email-marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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. Marek Vasut (6): 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 kerneldoc: tmpl: Implement template for LG-arrays .gitignore | 1 + Makefile | 19 ++- 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 | 9 +- 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/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 | 7 +- 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 | 7 +- 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 | 6 +- 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 | 7 +- board/qemu-mips/u-boot.lds | 8 +- 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/DocBook/Makefile | 2 +- doc/DocBook/linker_lists.tmpl | 46 +++++++ doc/README.commands | 10 +- examples/standalone/sparc.lds | 1 + 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 | 8 +- 207 files changed, 1217 insertions(+), 619 deletions(-) create mode 100644 doc/DocBook/linker_lists.tmpl create mode 100644 helper.mk create mode 100644 include/linker_lists.h Cc: Joe Hershberger Cc: Mike Frysinger -- 1.7.10.4