RFC: create u-boot-common.lds
Subsystems (9)
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.
Series based on Stefano's u-boot-imx
Close inspection of
board/mousse/u-boot.lds.ramarch/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
arch/arm/cpu/arm1136/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm1176/u-boot.lds +1 -4
@@ -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);
arch/arm/cpu/arm720t/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm920t/ep93xx/u-boot.lds +1 -4
@@ -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 = .;
arch/arm/cpu/arm920t/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm925t/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds +1 -4
@@ -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);
arch/arm/cpu/arm926ejs/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm946es/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/arm_intcm/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/armv7/u-boot.lds +2 -6
@@ -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);
arch/arm/cpu/ixp/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/lh7a40x/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/pxa/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/s3c44b0/u-boot.lds +1 -6
@@ -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);
arch/arm/cpu/sa1100/u-boot.lds +1 -6
@@ -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);
arch/avr32/cpu/u-boot.lds +1 -7
@@ -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 = .;
arch/blackfin/cpu/u-boot.lds +6 -9
@@ -61,15 +61,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 +114,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 : {
arch/nds32/cpu/n1213/u-boot.lds +1 -4
@@ -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);
arch/nios2/cpu/u-boot.lds +2 -6
@@ -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
arch/powerpc/cpu/74xx_7xx/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc512x/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc5xx/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc5xxx/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc8220/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc824x/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc8260/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc83xx/u-boot.lds +1 -10
@@ -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 = .;
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +1 -9
@@ -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 = .;
arch/powerpc/cpu/mpc85xx/u-boot.lds +1 -9
@@ -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 = .;
arch/powerpc/cpu/mpc86xx/u-boot.lds +1 -9
@@ -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 = .;
arch/powerpc/cpu/ppc4xx/u-boot.lds +1 -9
@@ -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 = .;
arch/sandbox/cpu/u-boot.lds +1 -3
@@ -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 = .; }
arch/sh/cpu/sh2/u-boot.lds +2 -7
@@ -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 = .);
arch/sh/cpu/sh3/u-boot.lds +3 -7
@@ -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 = .; */
arch/sh/cpu/sh4/u-boot.lds +2 -7
@@ -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 = .; */
arch/x86/cpu/u-boot.lds +1 -5
@@ -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*))) }
board/BuS/EB+MCF-EV123/u-boot.lds +1 -9
@@ -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 = .;
board/LEOX/elpt860/u-boot.lds +1 -9
@@ -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 = .;
board/LEOX/elpt860/u-boot.lds.debug +1 -3
@@ -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 = .;
board/RPXClassic/u-boot.lds +1 -10
@@ -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 = .;
board/RPXClassic/u-boot.lds.debug +1 -8
@@ -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 = .;
board/RPXlite/u-boot.lds +1 -10
@@ -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 = .;
board/RPXlite/u-boot.lds.debug +1 -8
@@ -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 = .;
board/RPXlite_dw/u-boot.lds +1 -10
@@ -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 = .;
board/RPXlite_dw/u-boot.lds.debug +1 -8
@@ -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 = .;
board/RRvision/u-boot.lds +1 -10
@@ -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 = .;
board/actux1/u-boot.lds +2 -6
@@ -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 : {
board/actux2/u-boot.lds +2 -6
@@ -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 : {
board/actux3/u-boot.lds +2 -6
@@ -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 : {
board/adder/u-boot.lds +1 -10
@@ -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 = .;
board/altera/nios2-generic/u-boot.lds +2 -6
@@ -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
board/amcc/acadia/u-boot-nand.lds +1 -10
@@ -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 = .;
board/amcc/bamboo/u-boot-nand.lds +1 -10
@@ -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 = .;
board/amcc/canyonlands/u-boot-nand.lds +1 -10
@@ -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 = .;
board/amcc/kilauea/u-boot-nand.lds +1 -10
@@ -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 = .;
board/amcc/sequoia/u-boot-nand.lds +1 -10
@@ -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 = .;
board/amcc/sequoia/u-boot-ram.lds +1 -10
@@ -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 = .;
board/amirix/ap1000/u-boot.lds +1 -8
@@ -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 = .;
board/astro/mcf5373l/u-boot.lds +1 -10
@@ -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 = .;
board/c2mon/u-boot.lds +1 -10
@@ -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 = .;
board/c2mon/u-boot.lds.debug +1 -8
@@ -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 = .;
board/cobra5272/u-boot.lds +1 -9
@@ -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 = .;
board/cogent/u-boot.lds +1 -10
@@ -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 = .;
board/cogent/u-boot.lds.debug +1 -8
@@ -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 = .;
board/cray/L1/u-boot.lds.debug +1 -8
@@ -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 = .;
board/dave/PPChameleonEVB/u-boot.lds +1 -9
@@ -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 = .;
board/dbau1x00/u-boot.lds +1 -5
@@ -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;
board/dvlhost/u-boot.lds +2 -6
@@ -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 : {
board/eltec/mhpc/u-boot.lds +1 -10
@@ -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 = .;
board/eltec/mhpc/u-boot.lds.debug +1 -8
@@ -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 = .;
board/emk/top860/u-boot.lds +1 -11
@@ -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 = .;
board/emk/top860/u-boot.lds.debug +1 -3
@@ -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 = .;
board/ep88x/u-boot.lds +1 -10
@@ -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 = .;
board/esd/dasa_sim/u-boot.lds +1 -10
@@ -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 = .;
board/esd/pmc440/u-boot-nand.lds +1 -10
@@ -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 = .;
board/esd/tasreg/u-boot.lds +1 -9
@@ -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 = .;
board/esteem192e/u-boot.lds +1 -10
@@ -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 = .;
board/etx094/u-boot.lds +1 -10
@@ -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 = .;
board/evb64260/u-boot.lds +1 -10
@@ -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 = .;
board/fads/u-boot.lds +1 -10
@@ -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 = .;
board/flagadm/u-boot.lds +1 -10
@@ -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 = .;
board/flagadm/u-boot.lds.debug +1 -8
@@ -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 = .;
board/freescale/m5208evbe/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m52277evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5235evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5249evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5253demo/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5253evbe/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5271evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5272c3/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5275evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5282evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m53017evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5329evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m5373evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m54451evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m54455evb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m547xevb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/m548xevb/u-boot.lds +1 -9
@@ -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 = .;
board/freescale/mx31ads/u-boot.lds +1 -4
@@ -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);
board/gaisler/gr_cpci_ax2000/u-boot.lds +1 -5
@@ -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 : {
board/gaisler/gr_ep2s60/u-boot.lds +1 -5
@@ -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 : {
board/gaisler/gr_xc3s_1500/u-boot.lds +1 -5
@@ -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 : {
board/gaisler/grsim/u-boot.lds +1 -5
@@ -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 : {
board/gaisler/grsim_leon2/u-boot.lds +1 -5
@@ -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 : {
board/gen860t/u-boot-flashenv.lds +1 -9
@@ -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 = .;
board/gen860t/u-boot.lds +1 -10
@@ -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 = .;
board/genietv/u-boot.lds +1 -10
@@ -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 = .;
board/genietv/u-boot.lds.debug +1 -8
@@ -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 = .;
board/gth2/u-boot.lds +1 -5
@@ -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;
board/hermes/u-boot.lds +1 -10
@@ -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 = .;
board/hermes/u-boot.lds.debug +1 -8
@@ -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 = .;
board/hymod/u-boot.lds +1 -10
@@ -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 = .;
board/hymod/u-boot.lds.debug +1 -8
@@ -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 = .;
board/icu862/u-boot.lds +1 -10
@@ -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 = .;
board/icu862/u-boot.lds.debug +1 -8
@@ -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 = .;
board/idmr/u-boot.lds +1 -9
@@ -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 = .;
board/incaip/u-boot.lds +1 -5
@@ -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;
board/ip860/u-boot.lds +1 -10
@@ -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 = .;
board/ip860/u-boot.lds.debug +1 -8
@@ -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 = .;
board/ivm/u-boot.lds +1 -10
@@ -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 = .;
board/ivm/u-boot.lds.debug +1 -8
@@ -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 = .;
board/jornada/u-boot.lds +1 -5
@@ -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 = .;
board/korat/u-boot-F7FC.lds +1 -10
@@ -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 = .;
board/kup/kup4k/u-boot.lds +1 -10
@@ -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 = .;
board/kup/kup4k/u-boot.lds.debug +1 -8
@@ -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 = .;
board/kup/kup4x/u-boot.lds +1 -10
@@ -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 = .;
board/kup/kup4x/u-boot.lds.debug +1 -8
@@ -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 = .;
board/lantec/u-boot.lds +1 -10
@@ -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 = .;
board/lantec/u-boot.lds.debug +1 -8
@@ -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 = .;
board/lwmon/u-boot.lds +1 -10
@@ -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 = .;
board/lwmon/u-boot.lds.debug +1 -8
@@ -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 = .;
board/manroland/uc100/u-boot.lds +1 -10
@@ -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 = .;
board/matrix_vision/mvsmr/u-boot.lds +1 -10
@@ -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 = .;
board/mbx8xx/u-boot.lds +1 -10
@@ -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 = .;
board/mbx8xx/u-boot.lds.debug +1 -8
@@ -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 = .;
board/micronas/vct/u-boot.lds +1 -6
@@ -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 = .;
board/ml2/u-boot.lds +1 -10
@@ -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 = .;
board/ml2/u-boot.lds.debug +1 -8
@@ -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 = .;
board/mousse/u-boot.lds +1 -10
@@ -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 = .;
board/mousse/u-boot.lds.ram +1 -8
@@ -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 : {
board/mousse/u-boot.lds.rom +1 -7
@@ -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 = .;
board/mpl/pip405/u-boot.lds.debug +1 -8
@@ -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 = .;
board/mvblue/u-boot.lds +1 -10
@@ -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 = .;
board/netphone/u-boot.lds +1 -10
@@ -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 = .;
board/netphone/u-boot.lds.debug +1 -8
@@ -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 = .;
board/netta/u-boot.lds +1 -10
@@ -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 = .;
board/netta/u-boot.lds.debug +1 -8
@@ -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 = .;
board/netta2/u-boot.lds +1 -10
@@ -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 = .;
board/netta2/u-boot.lds.debug +1 -8
@@ -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 = .;
board/netvia/u-boot.lds +1 -10
@@ -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 = .;
board/netvia/u-boot.lds.debug +1 -8
@@ -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 = .;
board/nx823/u-boot.lds +1 -10
@@ -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 = .;
board/nx823/u-boot.lds.debug +1 -8
@@ -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 = .;
board/openrisc/openrisc-generic/u-boot.lds +1 -3
@@ -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);
board/pb1x00/u-boot.lds +1 -5
@@ -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;
board/qemu-mips/u-boot.lds +1 -6
@@ -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;
board/qi/qi_lb60/u-boot.lds +1 -3
@@ -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;
board/quantum/u-boot.lds +1 -10
@@ -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 = .;
board/quantum/u-boot.lds.debug +1 -3
@@ -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 = .;
board/r360mpi/u-boot.lds +1 -10
@@ -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 = .;
board/rbc823/u-boot.lds +1 -9
@@ -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 = .;
board/renesas/sh7757lcr/u-boot.lds +3 -7
@@ -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 = .; */
board/rsdproto/u-boot.lds +1 -10
@@ -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 = .;
board/samsung/smdk6400/u-boot-nand.lds +1 -3
@@ -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) }
board/sandburst/karef/u-boot.lds.debug +1 -8
@@ -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 = .;
board/sandburst/metrobox/u-boot.lds.debug +1 -8
@@ -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 = .;
board/sandpoint/u-boot.lds +1 -10
@@ -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 = .;
board/siemens/IAD210/u-boot.lds +1 -10
@@ -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 = .;
board/sixnet/u-boot.lds +1 -10
@@ -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 = .;
board/snmc/qs850/u-boot.lds +1 -10
@@ -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 = .;
board/snmc/qs860t/u-boot.lds +1 -10
@@ -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 = .;
board/spc1920/u-boot.lds +1 -10
@@ -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 = .;
board/spd8xx/u-boot.lds +1 -10
@@ -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 = .;
board/spd8xx/u-boot.lds.debug +1 -8
@@ -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 = .;
board/stx/stxxtc/u-boot.lds +1 -10
@@ -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 = .;
board/stx/stxxtc/u-boot.lds.debug +1 -8
@@ -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 = .;
board/svm_sc8xx/u-boot.lds +1 -10
@@ -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 = .;
board/svm_sc8xx/u-boot.lds.debug +1 -3
@@ -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 = .;
board/tqc/tqm8xx/u-boot.lds +1 -10
@@ -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 = .;
board/v37/u-boot.lds +1 -10
@@ -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 = .;
board/w7o/u-boot.lds.debug +1 -8
@@ -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 = .;
board/westel/amx860/u-boot.lds +1 -10
@@ -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 = .;
board/westel/amx860/u-boot.lds.debug +1 -8
@@ -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 = .;
board/xes/xpedite1000/u-boot.lds.debug +1 -8
@@ -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 = .;
board/xilinx/microblaze-generic/u-boot.lds +1 -7
@@ -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): {
board/zipitz2/u-boot.lds +1 -4
@@ -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 = .;
doc/README.commands +5 -0
@@ -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 +
nand_spl/board/freescale/mx31pdk/Makefile +1 -1
@@ -6,7 +6,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/ LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds -LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ +LDFLAGS := -L$(TOPDIR) -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL CFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL
nand_spl/board/freescale/mx31pdk/u-boot.lds +1 -4
@@ -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);
nand_spl/board/karo/tx25/Makefile +1 -1
@@ -27,7 +27,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/ LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds -LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ +LDFLAGS := -L$(TOPDIR) -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL CFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL
nand_spl/board/karo/tx25/u-boot.lds +1 -4
@@ -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);
nand_spl/board/samsung/smdk6400/Makefile +1 -1
@@ -32,7 +32,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/ LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds -LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ +LDFLAGS := -L$(TOPDIR) -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) -gc-sections AFLAGS += -DCONFIG_NAND_SPL CFLAGS += -DCONFIG_NAND_SPL -ffunction-sections
nand_spl/board/samsung/smdk6400/u-boot.lds +1 -3
@@ -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);
spl/Makefile +2 -1
@@ -124,7 +124,8 @@ $(obj)u-boot-spl.bin: $(obj)u-boot-spl GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) | \ sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ - cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__START) \ + cd $(obj) && $(LD) -L$(TOPDIR) $(LDFLAGS) $(LDFLAGS_$(@F)) \ + $$UNDEF_SYM $(__START) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot-spl.map -o u-boot-spl
u-boot-common.lds new file +14 -0
@@ -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 = .;
Signature · 1 line
1.7.5.4
PATCH 2/2 RFC: Let linker create phy array
--- 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 | 3 +++ u-boot-common.lds | 7 +++++++ 14 files changed, 43 insertions(+), 156 deletions(-)
drivers/net/phy/atheros.c +1 -8
@@ -30,7 +30,7 @@ static int ar8021_config(struct phy_device *phydev)return 0 ; } -struct phy_driver AR8021_driver = { +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 ; -}
drivers/net/phy/broadcom.c +3 -12
@@ -248,7 +248,7 @@ static int bcm5482_startup(struct phy_device *phydev)return 0 ; } -static struct phy_driver BCM5461S_driver = { +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 = { +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 = { +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 ; -}
drivers/net/phy/davicom.c +1 -8
@@ -80,7 +80,7 @@ static int dm9161_startup(struct phy_device *phydev)return 0 ; } -static struct phy_driver DM9161_driver = { +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 ; -}
drivers/net/phy/lxt.c +1 -8
@@ -69,7 +69,7 @@ static int lxt971_startup(struct phy_device *phydev)return 0 ; } -static struct phy_driver LXT971_driver = { +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 ; -}
drivers/net/phy/marvell.c +6 -18
@@ -395,7 +395,7 @@ static int m88e1149_config(struct phy_device *phydev) } -static struct phy_driver M88E1011S_driver = { +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 = { +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 = { +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 = { +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 = { +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 = { +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 ; -}
drivers/net/phy/micrel.c +2 -10
@@ -22,7 +22,7 @@*/ #include <phy.h> -static struct phy_driver KSZ804_driver = { +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 = { +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 ; -}
drivers/net/phy/natsemi.c +1 -8
@@ -78,7 +78,7 @@ static int dp83865_startup(struct phy_device *phydev) } -static struct phy_driver DP83865_driver = { +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 ; -}
drivers/net/phy/phy.c +5 -34
@@ -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 ; }
drivers/net/phy/realtek.c +1 -8
@@ -112,7 +112,7 @@ static int rtl8211b_startup(struct phy_device *phydev)return 0 ; } -static struct phy_driver RTL8211B_driver = { +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 ; -}
drivers/net/phy/smsc.c +3 -12
@@ -52,7 +52,7 @@ static int smsc_startup(struct phy_device *phydev)return 0 ; } -static struct phy_driver lan8700_driver = { +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 = { +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 = { +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 ; -}
drivers/net/phy/teranetics.c +1 -8
@@ -93,7 +93,7 @@ int tn2020_startup(struct phy_device *phydev)return 0 ; } -struct phy_driver tn2020_driver = { +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 ; -}
drivers/net/phy/vitesse.c +8 -22
@@ -146,7 +146,7 @@ int vsc8601_config(struct phy_device *phydev)return 0 ; } -static struct phy_driver VSC8211_driver = { +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 = { +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 = { +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 = { +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 = { +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 = { +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 = { +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 = { +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 ; -}
include/phy.h +3 -0
@@ -231,4 +231,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__((unused, section(".phy_entry"), aligned(4))) +extern struct phy_driver __phy_entry_start, __phy_entry_end; +#endif
u-boot-common.lds +7 -0
@@ -5,6 +5,13 @@ } __u_boot_cmd_end = .; + . = ALIGN(4); + __phy_entry_start = .; + .phy_entry : { + KEEP(*(.phy_entry)) + } + __phy_entry_end = .; + /* powerpc specific, but harmless for others */ . = ALIGN(4); __start___ex_table = .;
Signature · 1 line
1.7.5.4
PATCH 2/2 RFC: Let linker create phy array
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +1
-1-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.
include/phy.h int phy_vitesse_init(void); · line 235
Quoted 4 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;
linker symbols should be declared like:
extern char __phy_entry_start[];
u-boot-common.lds
Quoted 2 lines
u-boot-common.lds +0
-0
i'm not seeing this in the u-boot tree ...
u-boot-common.lds line 13
Quoted 6 lines
u-boot-common.lds +6
-0+ . = ALIGN(4); + __phy_entry_start = .; + .phy_entry : { + KEEP(*(.phy_entry)) + } + __phy_entry_end = .;
might have to introduce a helper macro like Linux's VMLINUX_SYMBOL() since some targets have a symbol prefix (like an underscore)
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120204/ec278183/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Quoted 16 lines · Mike Frysinger
drivers/net/phy/broadcom.c
Quoted 5 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +1
-1-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.
include/phy.h
Quoted 4 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;linker symbols should be declared like:
Quoted 6 lines
extern char __phy_entry_start[];u-boot-common.lds
Quoted 2 lines
u-boot-common.lds +0
-0i'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.
Series based on Stefano's u-boot-imx
Close inspection of
board/mousse/u-boot.lds.ramarch/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
(quoted diff) +0 -0
b/arch/arm/cpu/arm1136/u-boot.lds
index d1e2851..cd7927c 100644
arch/arm/cpu/arm1136/u-boot.lds +1 -6
@@ -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);
(quoted diff) +0 -0
b/arch/arm/cpu/arm1176/u-boot.lds
index 27d6638..9852b0a 100644
arch/arm/cpu/arm1176/u-boot.lds +1 -4
@@ -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);
...
u-boot-common.lds new file +14 -0
@@ -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 = .;
PATCH 2/2 RFC: Let linker create phy array
In reply to Mike FrysingerHi Mike,
Le 05/02/2012 04:38, Mike Frysinger a ?crit :
Quoted 10 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines
drivers/net/phy/broadcom.c +1
-1-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.
Quoted 7 lines
include/phy.h int phy_vitesse_init(void); · line 235
Quoted 4 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;linker symbols should be declared like:
extern char __phy_entry_start[];
Why should they?
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
Quoted 11 lines · On Sunday 05 February 2012 08:26:57 Albert ARIBAUD wrote:
Le 05/02/2012 04:38, Mike Frysinger a ?crit :
Quoted 8 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
include/phy.h int phy_vitesse_init(void); · line 235
Quoted 4 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;linker symbols should be declared like:
extern char __phy_entry_start[];Why should they?
because that's what the GNU linker documentation says to, and that's how all existing symbols have been handled. look at asm/sections.h in every Linux arch.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120205/398a3e01/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Le 05/02/2012 21:40, Mike Frysinger a ?crit :
Quoted 11 lines · On Sunday 05 February 2012 08:26:57 Albert ARIBAUD wrote:
Quoted 10 lines
Le 05/02/2012 04:38, Mike Frysinger a ?crit :
Quoted 8 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
include/phy.h int phy_vitesse_init(void); · line 235
Quoted 4 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;linker symbols should be declared like:
extern char __phy_entry_start[];
Quoted 5 lines
Quoted 1 line
Why should they?
because that's what the GNU linker documentation says to, and that's how all existing symbols have been handled. look at
asm/sections.hin every Linux arch.
Does it? What I read from
<http://sourceware.org/binutils/docs-2.22/ld/Source-Code-Reference.html#Source-Code-Reference>
never says that linker-defined symbols should be declared in source code as char[]; actually, it gives examples where linker-defined symbols are defined with types int and char, not char[].
What the section says, OTOH, is that one must remember that the linker will not allocate space for a symbol unless explicitly instructed to, so such symbols my not have meaningful values, only addresses, and the code should access these symbols by address -- which is what is being done in the code of the RFC patch IIUC.
Quoted 1 line
-mike
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
In reply to Mike FrysingerQuoted 8 lines · Mike Frysinger
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +1
-1-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.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
Quoted 7 lines
include/phy.h int phy_vitesse_init(void); · line 235
Quoted 5 lines
include/phy.h +1
-0+extern struct phy_driver __phy_entry_start, __phy_entry_end;linker symbols should be declared like:
extern char __phy_entry_start[];
Why char ?
Quoted 11 lines
include/phy.h
Quoted 8 lines
include/phy.h +6
-0+ . = ALIGN(4); + __phy_entry_start = .; + .phy_entry : { + KEEP(*(.phy_entry)) + } + __phy_entry_end = .;might have to introduce a helper macro like Linux's
VMLINUX_SYMBOL()since some targets have a symbol prefix (like an underscore)
-mike
Hmmm. Your right,
grep ___u_boot_cmd_start 0001-RFC-create-u-boot-common.lds.patch
finds that arch/blackfin/cpu/u-boot.lds has an extra "_"
Thanks for pointing it out.
Troy
PATCH 2/2 RFC: Let linker create phy array
Quoted 5 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 4 lines · Mike Frysinger
Quoted 3 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +0
-0
Quoted 8 lines
Quoted 5 lines
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 2 lines
drivers/net/phy/broadcom.c +1
-1-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.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the __phy_entry define from "unused" to "used" -mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120206/abbcedb8/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Quoted 6 lines · Mike Frysinger
Quoted 5 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 4 lines · Mike Frysinger
Quoted 3 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +0
-0
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 2 lines
drivers/net/phy/broadcom.c +1
-1-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.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the
__phy_entrydefine from "unused" to "used" -mike
The would give me compiler warnings for unused variables. How does that help?
Is there a keep attribute like the linker has for sections?
Troy
PATCH 2/2 RFC: Let linker create phy array
Le 06/02/2012 21:17, Troy Kisky a ?crit :
Quoted 12 lines · Mike Frysinger
Quoted 11 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 10 lines · Mike Frysinger
Quoted 9 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines
drivers/net/phy/broadcom.c +1
-1-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.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the
__phy_entrydefine from "unused" to "used"
-mikeThe would give me compiler warnings for unused variables. How does that help?
Is there a keep attribute like the linker has for sections?
No, but indeed not keeping the 'static' keyword has this effect: the object file will keep the phy struct, in case it is referred to by another object file at link time.
Quoted 1 line
Troy
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
In reply to Troy KiskyQuoted 13 lines · On Monday 06 February 2012 15:17:32 Troy Kisky wrote:
Quoted 12 lines · Mike Frysinger
Quoted 11 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 9 lines · Mike Frysinger
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +1
-1-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.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the
__phy_entrydefine from "unused" to "used"The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120206/e716900a/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 4 lines
Quoted 2 lines
The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Some do, and some will.
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
Quoted 7 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 4 lines
Quoted 2 lines
The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Some do, and some will.
vague ... be nice to have actual examples
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120207/4ab1183e/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Le 07/02/2012 16:20, Mike Frysinger a ?crit :
Quoted 11 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Quoted 7 lines
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 4 lines
Quoted 2 lines
The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Some do, and some will.
vague ... be nice to have actual examples
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
I don't understand what you mean with this. Can you please elaborate?
Quoted 1 line
-mike
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
Quoted 7 lines · On Friday 10 February 2012 14:39:12 Albert ARIBAUD wrote:
Le 07/02/2012 16:20, Mike Frysinger a ?crit :
Quoted 6 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Quoted 5 lines
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
I don't understand what you mean with this. Can you please elaborate?
no static means it has global elf visibility (other .c files can "extern" it, and you have to worry about symbol clashes):
$ gcc -x c -c - -o test.o <<<'int foo;' && readelf -s test.o | grep foo
7: 0000000000000004 4 OBJECT GLOBAL DEFAULT COM foostatic means it has local elf visibility (other files don't get access, and you don't have to worry about symbol clashes):
$ gcc -x c -c - -o test.o <<<'static int foo;' && readelf -s test.o | grep foo
5: 0000000000000000 4 OBJECT LOCAL DEFAULT 3 fooimo, anything that should not be externally accessed should have "static". this is just good programming practice.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120210/95be4542/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Le 10/02/2012 21:32, Mike Frysinger a ?crit :
Quoted 21 lines · On Friday 10 February 2012 14:39:12 Albert ARIBAUD wrote:
Quoted 7 lines
Le 07/02/2012 16:20, Mike Frysinger a ?crit :
Quoted 6 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Quoted 5 lines
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
I don't understand what you mean with this. Can you please elaborate?
no static means it has global elf visibility (other .c files can "extern" it, and you have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'int foo;'&& readelf -s test.o | grep foo 7: 0000000000000004 4 OBJECT GLOBAL DEFAULT COM foo
Quoted 7 lines
static means it has local elf visibility (other files don't get access, and you don't have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'static int foo;'&& readelf -s test.o | grep foo 5: 0000000000000000 4 OBJECT LOCAL DEFAULT 3 fooimo, anything that should not be externally accessed should have "static". this is just good programming practice.
I would agree 100% if the symbol was truly local, i.e. declared *and used* locally. Here, however, it is used globally, by being gathered in a global section to serve as an entry in a global array.
The only interest of making the symbol static would indeed be to allow reusing the symbol name elsewhere, which I think is quite improbable considering the symbol was global so far.
So we add the static qualifier despite the object actually not being static; and because the object is not actually static, that qualifier causes a legit diagnostic; and to eliminate that diagnostic, we add an 'unused' attribute. This I find less than good programming practice.
Quoted 1 line
-mike
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
Quoted 28 lines · On Friday 10 February 2012 15:57:50 Albert ARIBAUD wrote:
Le 10/02/2012 21:32, Mike Frysinger a ?crit :
Quoted 27 lines · On Friday 10 February 2012 14:39:12 Albert ARIBAUD wrote:
Quoted 7 lines
Le 07/02/2012 16:20, Mike Frysinger a ?crit :
Quoted 6 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Quoted 5 lines
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
I don't understand what you mean with this. Can you please elaborate?
no static means it has global elf visibility (other .c files can "extern" it, and you have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'int foo;'&& readelf -s test.o | grep foo7: 0000000000000004 4 OBJECT GLOBAL DEFAULT COM foostatic means it has local elf visibility (other files don't get access, and you don't have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'static int foo;'&& readelf -s test.o | grep foo
Quoted 8 lines
Quoted 4 lines
5: 0000000000000000 4 OBJECT LOCAL DEFAULT 3 fooimo, anything that should not be externally accessed should have "static". this is just good programming practice.
I would agree 100% if the symbol was truly local, i.e. declared *and used* locally. Here, however, it is used globally, by being gathered in a global section to serve as an entry in a global array.
except access is now explicitly gated, and symbol collisions are still prevented
Quoted 3 lines
The only interest of making the symbol static would indeed be to allow reusing the symbol name elsewhere, which I think is quite improbable considering the symbol was global so far.
one or two might be global, but for the most part, they were all local. look at his patch ... he deletes the "static" keyword in many places.
this style i'm proposing has been used in the kernel in subsystems, and some of them end up using the same variable name in diff modules. like crypto/ which uses "alg" as the name for all of its shash drivers.
Quoted 4 lines
So we add the static qualifier despite the object actually not being static; and because the object is not actually static, that qualifier causes a legit diagnostic; and to eliminate that diagnostic, we add an 'unused' attribute. This I find less than good programming practice.
no, the unused attribute was added *after* removing "static". i'm proposing adding "used" so gcc won't strip it regardless of what else happens while retaining all other benefits that "static" brings us.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120210/0130816d/attachment.pgp>
PATCH 2/2 RFC: Let linker create phy array
Le 10/02/2012 22:41, Mike Frysinger a ?crit :
Quoted 41 lines · On Friday 10 February 2012 15:57:50 Albert ARIBAUD wrote:
Quoted 28 lines
Le 10/02/2012 21:32, Mike Frysinger a ?crit :
Quoted 27 lines · On Friday 10 February 2012 14:39:12 Albert ARIBAUD wrote:
Quoted 7 lines
Le 07/02/2012 16:20, Mike Frysinger a ?crit :
Quoted 6 lines · On Monday 06 February 2012 16:01:56 Albert ARIBAUD wrote:
Quoted 5 lines
Le 06/02/2012 21:57, Mike Frysinger a ?crit :
Quoted 3 lines
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
What is the point in adding a 'static' qualifier and a ((used)) attribute, when not adding them in the first place gives the same result?
to control the visibility
I don't understand what you mean with this. Can you please elaborate?
no static means it has global elf visibility (other .c files can "extern" it, and you have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'int foo;'&& readelf -s test.o | grep foo7: 0000000000000004 4 OBJECT GLOBAL DEFAULT COM foostatic means it has local elf visibility (other files don't get access, and you don't have to worry about symbol clashes):
$ gcc -x c -c - -o test.o<<<'static int foo;'&& readelf -s test.o | grep fooQuoted 8 lines
Quoted 4 lines
5: 0000000000000000 4 OBJECT LOCAL DEFAULT 3 fooimo, anything that should not be externally accessed should have "static". this is just good programming practice.
I would agree 100% if the symbol was truly local, i.e. declared *and used* locally. Here, however, it is used globally, by being gathered in a global section to serve as an entry in a global array.
except access is now explicitly gated, and symbol collisions are still prevented
Quoted 6 lines
Quoted 3 lines
The only interest of making the symbol static would indeed be to allow reusing the symbol name elsewhere, which I think is quite improbable considering the symbol was global so far.
one or two might be global, but for the most part, they were all local. look at his patch ... he deletes the "static" keyword in many places.
"Were" is precisely the point. They were indeed proper locals before the patch. With it, they are not any more -- they are not used locally, they are used globally.
Quoted 4 lines
this style i'm proposing has been used in the kernel in subsystems, and some of them end up using the same variable name in diff modules. like
crypto/which uses "alg" as the name for all of its shash drivers.
Quoted 8 lines
Quoted 4 lines
So we add the static qualifier despite the object actually not being static; and because the object is not actually static, that qualifier causes a legit diagnostic; and to eliminate that diagnostic, we add an 'unused' attribute. This I find less than good programming practice.
no, the unused attribute was added *after* removing "static". i'm proposing adding "used" so gcc won't strip it regardless of what else happens while retaining all other benefits that "static" brings us.
Correct, but it does not change my overall point that there is no point in adding a qualifier and an attribute to avoid name collisions that do not actually happen in the first place and that we can easily avoid by simply giving meaningful names to each of theses structs -- a practice which, again, is currently and successfully applied.
Plus, having globals is a good thing, because we can put names, so to speak, in the map file on what was collected in the section, whereas with statics, the section would just be just a black box and, were we to check if such entry was actually put in it, we would have to dig in the source code and build system.
Quoted 1 line
-mike
Amicalement,
Signature · 1 line
Albert.
PATCH 2/2 RFC: Let linker create phy array
In reply to Mike FrysingerQuoted 16 lines · Mike Frysinger
Quoted 15 lines · On Monday 06 February 2012 15:17:32 Troy Kisky wrote:
Quoted 14 lines · Mike Frysinger
Quoted 11 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 8 lines · Mike Frysinger
drivers/net/phy/broadcom.c static int bcm5482_startup(struct phy_device *phydev) · line 251
Quoted 5 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +1
-1-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.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the
__phy_entrydefine from "unused" to "used"
Quoted 7 lines
Quoted 2 lines
The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
-mike
Thanks, since the gcc manual I was using didn't list used, I thought you merely meant to
remove unused.
Seems the gcc version 4.1.2 does not list this option while 4.2.4 does.
What level of compiler is required ?
Troy
PATCH 2/2 RFC: Let linker create phy array
Quoted 30 lines · On Monday 06 February 2012 16:44:36 Troy Kisky wrote:
Quoted 20 lines · Mike Frysinger
Quoted 19 lines · On Monday 06 February 2012 15:17:32 Troy Kisky wrote:
Quoted 17 lines · Mike Frysinger
Quoted 5 lines · On Monday 06 February 2012 13:48:13 Troy Kisky wrote:
Quoted 4 lines · Mike Frysinger
Quoted 3 lines · On Saturday 04 February 2012 22:02:46 Troy Kisky wrote:
drivers/net/phy/broadcom.c +0
-0Quoted 8 lines
Quoted 5 lines
drivers/net/phy/broadcom.c
Quoted 2 lines
drivers/net/phy/broadcom.c +1
-1-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.
I had static to start. But the compiler ate all of the code. No references to any of the static symbols.
sounds like you should change the
__phy_entrydefine from "unused" to "used"Quoted 8 lines
Quoted 2 lines
The would give me compiler warnings for unused variables. How does that help?
does gcc issue warnings ? doesn't seem to do so for me.
Quoted 1 line
Is there a keep attribute like the linker has for sections?
yes, __attribute__((used))
Quoted 7 lines
Thanks, since the gcc manual I was using didn't list used, I thought you merely meant to
remove unused.Seems the gcc version 4.1.2 does not list this option while 4.2.4 does.
What level of compiler is required ?
in looking at how Linux does things, you should include linux/compiler.h and then utilize __maybe_unused rather than specifying the attribute yourself -mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120207/dc467c2e/attachment.pgp>
PATCH 1/2 RFC: create u-boot-common.lds
In reply to Troy KiskyQuoted 2 lines · On Saturday 04 February 2012 22:02:45 Troy Kisky wrote:
arch/blackfin/cpu/u-boot.lds
is warranted.
yes, this change will break Blackfin boards for sure
Quoted 11 lines
arch/blackfin/cpu/u-boot.lds +2
-1MEMORY { #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
arch/blackfin/cpu/u-boot.lds OUTPUT_ARCH(bfin) · line 75
Quoted 10 lines
arch/blackfin/cpu/u-boot.lds +3
-2+ 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 }
i don't understand ... why is this change necessary ?
i'm not sure the attr's are correct ... the manual says "r" is "read-only" while "w" is "read/write". so i'd expect:
ram (wx) l1_code (x) l1_data (w)
arch/blackfin/cpu/u-boot.lds
Quoted 1 line
arch/blackfin/cpu/u-boot.lds +1
-0+ INCLUDE u-boot-common.lds
since we preprocess our linker scripts now, i'd suggest using #include rather than INCLUDE
u-boot-common.lds line 6
Quoted 9 lines
u-boot-common.lds new file +6
-0+ . = ALIGN(4); + __u_boot_cmd_start = .; + .u_boot_cmd : { + KEEP(*(.u_boot_cmd)) + } + __u_boot_cmd_end = .;
rather than storing this in the top level dir, i'd suggest going the linux route and add a include/asm-generic/u-boot.lds.h header. then we can migrate people over time and piece by piece without having to worry about breaking everyone at once ...
that also allows us to cater to arches (like Blackfin) that have a symbol prefix (underscore in the Blackfin case). add the VMLINUX_SYMBOL() macro, and then this code will look like:
VMLINUX_SYMBOL(__u_boot_cmd_end) = .;
(i picked VMLINUX_SYMBOL() only because that's what Linux already has defined) -mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120205/24a77e89/attachment.pgp>
PATCH 1/2 RFC: create u-boot-common.lds
Hi Mike,
Quoted 4 lines · Mike Frysinger
On Saturday 04 February 2012 22:02:45 Troy Kisky wrote:
since we preprocess our linker scripts now, i'd suggest using #include rather than INCLUDE
+1
Quoted 12 lines
u-boot-common.lds
Quoted 9 lines
u-boot-common.lds new file +6
-0+ ? ? . = ALIGN(4); + ? ? __u_boot_cmd_start = .; + ? ? .u_boot_cmd : { + ? ? ? ? ? ? KEEP(*(.u_boot_cmd)) + ? ? } + ? ? __u_boot_cmd_end = .;rather than storing this in the top level dir, i'd suggest going the linux route and add a
include/asm-generic/u-boot.lds.hheader. ?then we can migrate
Except it's not a 'header' :) - include/asm-generic/u-boot.lds (or maybe u-boot.lds.common) should be what is included in u-boot.lds and include/asm-generic/u-boot.lds.h should be the externs for the symbols exported from the linker script
Quoted 2 lines
people over time and piece by piece without having to worry about breaking everyone at once ...
Here we go again ;) - Queue the 'what incentive will maintainers have to migrate to the common case' discussion...
On a (related) side not, do we need to lay down some ground rules for migrating to 'common' case? There seems to be a fair amount of new 'common code' or 'common architecture' being developed, but only being applied to one arch. I'm guilty too - my init sequence cleanups which lay the foundation for a common init sequence are only implemented for x86.
Quoted 5 lines
that also allows us to cater to arches (like Blackfin) that have a symbol prefix (underscore in the Blackfin case). ?add the
VMLINUX_SYMBOL()macro, and then this code will look like:
? ? ? ?VMLINUX_SYMBOL(__u_boot_cmd_end) = .;
(i pickedVMLINUX_SYMBOL()only because that's what Linux already has defined)
How about U_BOOT_LDS_SYMBOL()?
Regards,
Graeme
PATCH 1/2 RFC: create u-boot-common.lds
Quoted 16 lines · On Sunday 05 February 2012 17:07:41 Graeme Russ wrote:
Quoted 4 lines · Mike Frysinger
Quoted 3 lines · On Saturday 04 February 2012 22:02:45 Troy Kisky wrote:
u-boot-common.lds new file +0
-0Quoted 10 lines
u-boot-common.lds line 6
Quoted 6 lines
u-boot-common.lds new file +6
-0+ . = ALIGN(4); + __u_boot_cmd_start = .; + .u_boot_cmd : { + KEEP(*(.u_boot_cmd)) + } + __u_boot_cmd_end = .;rather than storing this in the top level dir, i'd suggest going the linux route and add a
include/asm-generic/u-boot.lds.hheader. then we can migrate
Quoted 1 line
Except it's not a 'header' :)
what Troy has posted isn't a header, but what i'm suggesting is. Linux's vmlinux.lds.h does things like:
#define DISCARDS \
/DISCARDS/ : { \
EXIT_TEXT \
*(.discard) \
}and then the arch linker scripts just use:
DISCARDS
Quoted 5 lines
Quoted 2 lines
people over time and piece by piece without having to worry about breaking everyone at once ...
Here we go again ;) - Queue the 'what incentive will maintainers have to migrate to the common case' discussion...
it isn't just that. i don't think a single u-boot.lds for every arch is feasible. the kernel method allows all the common pieces to be in a common header, and then the arches to expand the specific pieces in the specific order. -mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120205/78e7272a/attachment.pgp>
PATCH 1/2 RFC: create u-boot-common.lds
Hi Mike,
Quoted 27 lines · Mike Frysinger
Quoted 16 lines · On Sunday 05 February 2012 17:07:41 Graeme Russ wrote:
Quoted 4 lines · Mike Frysinger
Quoted 3 lines · On Saturday 04 February 2012 22:02:45 Troy Kisky wrote:
u-boot-common.lds new file +0
-0Quoted 10 lines
Quoted 6 lines
+ ? ? . = ALIGN(4);
+ ? ?__u_boot_cmd_start= .;
+ ? ? .u_boot_cmd : {
+ ? ? ? ? ? ? KEEP(*(.u_boot_cmd))
+ ? ? }
+ ? ?__u_boot_cmd_end= .;rather than storing this in the top level dir, i'd suggest going the linux route and add a
include/asm-generic/u-boot.lds.hheader. ?then we can migrateQuoted 1 line
Except it's not a 'header' :)
what Troy has posted isn't a header, but what i'm suggesting is. ?Linux's
vmlinux.lds.hdoes things like:
? ? ? ?#define DISCARDS \
? ? ? ? ? ? ? ?/DISCARDS/ : { \
? ? ? ? ? ? ? ?EXIT_TEXT \
? ? ? ? ? ? ? ?*(.discard) \
? ? ? ? ? ? ? ?}
Quoted 2 lines
and then the arch linker scripts just use:
? ? ? ?DISCARDS
Ah, I see. So we could have
#define LDS_U_BOOT_CMD \
__u_boot_cmd_start = .; \
.u_boot_cmd : { \
KEEP(*(.u_boot_cmd)) \
} \
__u_boot_cmd_end = .;And each arch linker script would just have
. = ALIGN(4); LDS_U_BOOT_CMD
Or some such
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines
people over time and piece by piece without having to worry about breaking everyone at once ...
Here we go again ;) - Queue the 'what incentive will maintainers have to migrate to the common case' discussion...
it isn't just that. ?i don't think a single
u-boot.ldsfor every arch is feasible. ?the kernel method allows all the common pieces to be in a common header, and then the arches to expand the specific pieces in the specific order.
I can't say I'm a fan of the 'common bits' approach - It really does reduce the readability of the linker script IMHO. It took me long enough to deal with the fact that the lds file is pre-processed for TEXT_BASE ;)
Regards,
Graeme
PATCH 1/2 RFC: create u-boot-common.lds
Quoted 9 lines · On Sunday 05 February 2012 22:43:33 Graeme Russ wrote:
Quoted 4 lines · Mike Frysinger
it isn't just that. i don't think a single
u-boot.ldsfor every arch is feasible. the kernel method allows all the common pieces to be in a common header, and then the arches to expand the specific pieces in the specific order.I can't say I'm a fan of the 'common bits' approach - It really does reduce the readability of the linker script IMHO. It took me long enough to deal with the fact that the lds file is pre-processed for
TEXT_BASE;)
yes, it does make the linker scripts a bit more opaque, but since each arch is doing something unique, it's fairly hard to merge them into a single file. the Linux approach represents what we can do in the real world -- get beyond board-specific linker scripts and to one linker script per arch. then the vmlinux.lds.h merges a lot of the stuff that can be shared between arches.
i've unified all the board/SoC linker scripts for Blackfin and now there is just one -- arch/blackfin/cpu/u-boot.lds.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120205/502d74d8/attachment.pgp>
PATCH 1/2 RFC: create u-boot-common.lds
Hi Mike,
Quoted 11 lines · Mike Frysinger
Quoted 9 lines · On Sunday 05 February 2012 22:43:33 Graeme Russ wrote:
Quoted 4 lines · Mike Frysinger
it isn't just that. ?i don't think a single
u-boot.ldsfor every arch is feasible. ?the kernel method allows all the common pieces to be in a common header, and then the arches to expand the specific pieces in the specific order.I can't say I'm a fan of the 'common bits' approach - It really does reduce the readability of the linker script IMHO. It took me long enough to deal with the fact that the lds file is pre-processed for
TEXT_BASE;)
Quoted 8 lines
yes, it does make the linker scripts a bit more opaque, but since each arch is doing something unique, it's fairly hard to merge them into a single file. ?the Linux approach represents what we can do in the real world -- get beyond board-specific linker scripts and to one linker script per arch. ?then the
vmlinux.lds.hmerges a lot of the stuff that can be shared between arches.i've unified all the board/SoC linker scripts for Blackfin and now there is just one --
arch/blackfin/cpu/u-boot.lds.
Ditto for x86
Maybe we should wait until all the arches have unified linker scripts before looking at a global script (parallels with 'skip relocation')?
Regards,
Graeme
PATCH 1/2 RFC: create u-boot-common.lds
Quoted 20 lines · On Sunday 05 February 2012 23:34:27 Graeme Russ wrote:
Quoted 19 lines · Mike Frysinger
Quoted 10 lines · On Sunday 05 February 2012 22:43:33 Graeme Russ wrote:
Quoted 4 lines · Mike Frysinger
it isn't just that. i don't think a single
u-boot.ldsfor every arch is feasible. the kernel method allows all the common pieces to be in a common header, and then the arches to expand the specific pieces in the specific order.I can't say I'm a fan of the 'common bits' approach - It really does reduce the readability of the linker script IMHO. It took me long enough to deal with the fact that the lds file is pre-processed for
TEXT_BASE;)yes, it does make the linker scripts a bit more opaque, but since each arch is doing something unique, it's fairly hard to merge them into a single file. the Linux approach represents what we can do in the real world -- get beyond board-specific linker scripts and to one linker script per arch. then the
vmlinux.lds.hmerges a lot of the stuff that can be shared between arches.
Quoted 7 lines
Quoted 2 lines
i've unified all the board/SoC linker scripts for Blackfin and now there is just one --
arch/blackfin/cpu/u-boot.lds.Ditto for x86
Maybe we should wait until all the arches have unified linker scripts before looking at a global script (parallels with 'skip relocation')?
i don't think we need to wait for that. if we have a header with defines, then any linker script can be converted to that. the arches that have cleaned up can convert over now.
seems like the big offenders in the tree are arm/m68k/mips/ppc. i have a hard time seeing them merging into their arch/ anytime soon.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120206/87125f7a/attachment.pgp>