[U-Boot] [RFC] [PATCH 0/3] Linker-generated arrays

This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/3 contains a huge pile of documentation which should clarify most of the questions.
NOTE: Compile-testing in progress, but it works with m28evk and sandbox for now.
Marek Vasut (3): common: Add symbol handling for generic lists into Makefile common: Implement support for linker-generated arrays common: Add .u_boot_list into all linker files
Makefile | 21 +++- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 + arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 + arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 + arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 + arch/arm/cpu/ixp/u-boot.lds | 5 + arch/arm/cpu/u-boot.lds | 5 + arch/avr32/cpu/u-boot.lds | 5 + arch/blackfin/cpu/u-boot.lds | 4 + arch/microblaze/cpu/u-boot.lds | 5 + arch/nds32/cpu/n1213/u-boot.lds | 5 + arch/nios2/cpu/u-boot.lds | 5 + arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc512x/u-boot.lds | 5 + arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 + arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 + arch/powerpc/cpu/mpc8220/u-boot.lds | 5 + arch/powerpc/cpu/mpc824x/u-boot.lds | 5 + arch/powerpc/cpu/mpc8260/u-boot.lds | 5 + arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 + arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 + arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 + arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 + arch/sandbox/cpu/u-boot.lds | 5 + arch/sh/cpu/sh2/u-boot.lds | 4 + arch/sh/cpu/sh3/u-boot.lds | 4 + arch/sh/cpu/sh4/u-boot.lds | 4 + arch/x86/cpu/u-boot.lds | 5 + board/BuS/eb_cpu5282/u-boot.lds | 5 + board/LEOX/elpt860/u-boot.lds | 5 + board/RPXClassic/u-boot.lds | 5 + board/RPXlite/u-boot.lds | 5 + board/RPXlite_dw/u-boot.lds | 5 + board/RRvision/u-boot.lds | 5 + board/actux1/u-boot.lds | 5 + board/actux2/u-boot.lds | 5 + board/actux3/u-boot.lds | 5 + board/adder/u-boot.lds | 5 + board/ait/cam_enc_4xx/u-boot-spl.lds | 4 + board/altera/nios2-generic/u-boot.lds | 5 + board/amcc/acadia/u-boot-nand.lds | 3 + board/amcc/bamboo/u-boot-nand.lds | 3 + board/amcc/canyonlands/u-boot-nand.lds | 3 + board/amcc/kilauea/u-boot-nand.lds | 3 + board/amcc/sequoia/u-boot-nand.lds | 3 + board/amcc/sequoia/u-boot-ram.lds | 3 + board/amirix/ap1000/u-boot.lds | 5 + board/astro/mcf5373l/u-boot.lds | 5 + board/c2mon/u-boot.lds | 5 + board/cobra5272/u-boot.lds | 5 + board/cogent/u-boot.lds | 5 + board/dave/PPChameleonEVB/u-boot.lds | 5 + board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 + board/dbau1x00/u-boot.lds | 5 + board/dvlhost/u-boot.lds | 5 + board/eltec/mhpc/u-boot.lds | 5 + board/emk/top860/u-boot.lds | 5 + board/ep88x/u-boot.lds | 5 + board/esd/dasa_sim/u-boot.lds | 5 + board/esd/pmc440/u-boot-nand.lds | 3 + board/esd/tasreg/u-boot.lds | 5 + board/esteem192e/u-boot.lds | 5 + board/etx094/u-boot.lds | 5 + board/evb64260/u-boot.lds | 5 + board/fads/u-boot.lds | 5 + board/flagadm/u-boot.lds | 5 + board/freescale/m5208evbe/u-boot.lds | 5 + board/freescale/m52277evb/u-boot.lds | 5 + board/freescale/m5235evb/u-boot.lds | 5 + board/freescale/m5249evb/u-boot.lds | 5 + board/freescale/m5253demo/u-boot.lds | 5 + board/freescale/m5253evbe/u-boot.lds | 5 + board/freescale/m5271evb/u-boot.lds | 5 + board/freescale/m5272c3/u-boot.lds | 5 + board/freescale/m5275evb/u-boot.lds | 5 + board/freescale/m5282evb/u-boot.lds | 5 + board/freescale/m53017evb/u-boot.lds | 5 + board/freescale/m5329evb/u-boot.lds | 5 + board/freescale/m5373evb/u-boot.lds | 5 + board/freescale/m54451evb/u-boot.lds | 5 + board/freescale/m54455evb/u-boot.lds | 5 + board/freescale/m547xevb/u-boot.lds | 5 + board/freescale/m548xevb/u-boot.lds | 5 + board/freescale/mx31ads/u-boot.lds | 5 + board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 + board/gaisler/gr_ep2s60/u-boot.lds | 5 + board/gaisler/gr_xc3s_1500/u-boot.lds | 5 + board/gaisler/grsim/u-boot.lds | 5 + board/gaisler/grsim_leon2/u-boot.lds | 5 + board/gen860t/u-boot-flashenv.lds | 4 + board/gen860t/u-boot.lds | 5 + board/genietv/u-boot.lds | 5 + board/gth2/u-boot.lds | 5 + board/hermes/u-boot.lds | 5 + board/hymod/u-boot.lds | 5 + board/icu862/u-boot.lds | 5 + board/idmr/u-boot.lds | 5 + board/incaip/u-boot.lds | 5 + board/ip860/u-boot.lds | 5 + board/ivm/u-boot.lds | 5 + board/korat/u-boot-F7FC.lds | 3 + board/kup/kup4k/u-boot.lds | 5 + board/kup/kup4x/u-boot.lds | 5 + board/lantec/u-boot.lds | 5 + board/lwmon/u-boot.lds | 5 + board/manroland/uc100/u-boot.lds | 5 + board/matrix_vision/mvsmr/u-boot.lds | 5 + board/mbx8xx/u-boot.lds | 5 + board/micronas/vct/u-boot.lds | 5 + board/ml2/u-boot.lds | 5 + board/mousse/u-boot.lds | 5 + board/mvblue/u-boot.lds | 5 + board/netphone/u-boot.lds | 5 + board/netta/u-boot.lds | 5 + board/netta2/u-boot.lds | 5 + board/netvia/u-boot.lds | 5 + board/nx823/u-boot.lds | 5 + board/openrisc/openrisc-generic/u-boot.lds | 5 + board/pb1x00/u-boot.lds | 5 + board/qemu-mips/u-boot.lds | 5 + board/qi/qi_lb60/u-boot.lds | 5 + board/quantum/u-boot.lds | 5 + board/r360mpi/u-boot.lds | 5 + board/rbc823/u-boot.lds | 5 + board/renesas/sh7757lcr/u-boot.lds | 4 + board/rsdproto/u-boot.lds | 5 + board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 + board/samsung/smdk6400/u-boot-nand.lds | 7 +- board/sandpoint/u-boot.lds | 5 + board/siemens/IAD210/u-boot.lds | 5 + board/sixnet/u-boot.lds | 5 + board/snmc/qs850/u-boot.lds | 5 + board/snmc/qs860t/u-boot.lds | 5 + board/spc1920/u-boot.lds | 5 + board/spd8xx/u-boot.lds | 5 + board/stx/stxxtc/u-boot.lds | 5 + board/svm_sc8xx/u-boot.lds | 5 + board/tqc/tqm8xx/u-boot.lds | 5 + board/v37/u-boot.lds | 5 + board/vpac270/u-boot-spl.lds | 4 + board/westel/amx860/u-boot.lds | 5 + examples/standalone/mips.lds | 4 + examples/standalone/nds32.lds | 4 + examples/standalone/sparc.lds | 5 + include/linker_lists.h | 125 ++++++++++++++++++++++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 + nand_spl/board/karo/tx25/u-boot.lds | 5 + nand_spl/board/samsung/smdk6400/u-boot.lds | 5 + spl/Makefile | 14 ++- 153 files changed, 876 insertions(+), 5 deletions(-) create mode 100644 include/linker_lists.h
Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org

This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds .
Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- Makefile | 21 ++++++++++++++++++--- spl/Makefile | 14 +++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile index e3a27c6..592987a 100644 --- a/Makefile +++ b/Makefile @@ -510,7 +510,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ - cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \ + UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ + sed -n -e 's/.*($(SYM_PREFIX)__u_boot_list_.*)/-u\1/p'|sort|uniq`;\ + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \ + $$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot endif @@ -543,8 +546,20 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@)
-$(obj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(obj)u-boot.lst: $(LIBBOARD) $(LIBS) + $(OBJDUMP) -h $(LIBBOARD) $(LIBS) | \ + sed -n -e 's/.*(.u_boot_list[^ ]+).*$$/\1/p' | \ + sed 's/.[^.]+$$//' | \ + sed -n ':s /^.+$$/ { p;s/^(.*).[^.]*$$/\1/;b s }' | \ + sed -n 's/./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ + LC_COLLATE=C sort -u | \ + sed 's/#//g' | \ + sed -n -e '/\a$$/ { s/./_/g;s/\a$$/__start = .;/p; }'\ + -e '/~$$/ { s/./_/g;s/~$$/__end = .;/p; }'\ + -e '/@$$/ { s/(.*)@$$/*(SORT(\1.*));/p }' >$@ + +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all diff --git a/spl/Makefile b/spl/Makefile index d4cb668..545adfe 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -148,7 +148,19 @@ $(START): depend $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +$(obj)u-boot-spl.lst: $(LIBS) + $(OBJDUMP) -h $(LIBS) | \ + sed -n -e 's/.*(.u_boot_list[^ ]+).*$$/\1/p' | \ + sed 's/.[^.]+$$//' | \ + sed -n ':s /^.+$$/ { p;s/^(.*).[^.]*$$/\1/;b s }' | \ + sed -n 's/./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ + LC_COLLATE=C sort -u | \ + sed 's/#//g' | \ + sed -n -e '/\a$$/ { s/./_/g;s/\a$$/__start = .;/p; }'\ + -e '/~$$/ { s/./_/g;s/~$$/__end = .;/p; }'\ + -e '/@$$/ { s/(.*)@$$/*(SORT(\1.*));/p }' >$@ + +$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
depend: $(obj).depend

Hi Marek,
On Sun, Sep 23, 2012 at 8:21 PM, Marek Vasut marex@denx.de wrote:
This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds .
Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
Makefile | 21 ++++++++++++++++++--- spl/Makefile | 14 +++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile index e3a27c6..592987a 100644 --- a/Makefile +++ b/Makefile @@ -510,7 +510,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \
UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
$$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot
endif @@ -543,8 +546,20 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@)
-$(obj)u-boot.lds: $(LDSCRIPT)
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
+$(obj)u-boot.lst: $(LIBBOARD) $(LIBS)
$(OBJDUMP) -h $(LIBBOARD) $(LIBS) | \
sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$/\1/p' | \
sed 's/\.[^\.]\+$$//' | \
sed -n ':s /^.\+$$/ { p;s/^\(.*\)\.[^\.]*$$/\1/;b s }' | \
sed -n 's/\./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \
LC_COLLATE=C sort -u | \
sed 's/#//g' | \
sed -n -e '/\a$$/ { s/\./_/g;s/\a$$/__start = .;/p; }'\
-e '/~$$/ { s/\./_/g;s/~$$/__end = .;/p; }'\
-e '/@$$/ { s/\(.*\)@$$/*(SORT(\1.*));/p }' >$@
It might be nice to litter this with comments indicating what you're accomplishing at each step.
+$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all diff --git a/spl/Makefile b/spl/Makefile index d4cb668..545adfe 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -148,7 +148,19 @@ $(START): depend $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +$(obj)u-boot-spl.lst: $(LIBS)
$(OBJDUMP) -h $(LIBS) | \
sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$/\1/p' | \
sed 's/\.[^\.]\+$$//' | \
sed -n ':s /^.\+$$/ { p;s/^\(.*\)\.[^\.]*$$/\1/;b s }' | \
sed -n 's/\./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \
LC_COLLATE=C sort -u | \
sed 's/#//g' | \
sed -n -e '/\a$$/ { s/\./_/g;s/\a$$/__start = .;/p; }'\
-e '/~$$/ { s/\./_/g;s/~$$/__end = .;/p; }'\
-e '/@$$/ { s/\(.*\)@$$/*(SORT(\1.*));/p }' >$@
Could you not reuse this complicated logic by defining a make function and then call + eval it? Something like this:
define list_rule_template $(1) : $(2) $(OBJDUMP) -h $^ | \ sed -n -e 's/.*(.u_boot_list[^ ]+).*$$/\1/p' | \ sed 's/.[^.]+$$//' | \ sed -n ':s /^.+$$/ { p;s/^(.*).[^.]*$$/\1/;b s }' | \ sed -n 's/./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ LC_COLLATE=C sort -u | \ sed 's/#//g' | \ sed -n -e '/\a$$/ { s/./_/g;s/\a$$/__start = .;/p; }'\ -e '/~$$/ { s/./_/g;s/~$$/__end = .;/p; }'\ -e '/@$$/ { s/(.*)@$$/*(SORT(\1.*));/p }' >$@ endef ... $(eval $(call list_rule_template,$(obj)u-boot.lst,$(LIBBOARD) $(LIBS))) ... $(eval $(call list_rule_template,$(obj)u-boot-spl.lst,$(LIBS)))
+$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
-Joe

Dear Joe Hershberger,
Hi Marek,
[...]
It's a RFC, lemme explain:
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +$(obj)u-boot-spl.lst: $(LIBS)
$(OBJDUMP) -h $(LIBS) | \
Dump the section headers in all object files
sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$/\1/p' | \
Filter only .u_boot_list.* symbols
sed 's/\.[^\.]\+$$//' | \
Remove the last .[^.]$ from each line. That's because the last part behind . is the name of the variable, we don't need that for generation of subsection boundary symbols.
sed -n ':s /^.\+$$/ { p;s/^\(.*\)\.[^\.]*$$/\1/;b s }' | \
For each line in format .u_boot_list.x.y.z, generate a list of as such (list of substrings with . as separator): .u_boot_list.x.y.z .u_boot_list.x.y .u_boot_list.x .u_boot_list
sed -n 's/\./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \
For each line, print the line thrice, first time append \a at the end, second @ and third ~. Also replace each dot with .# . See [1] and look for the list under "The order_end Keyword" section.
LC_COLLATE=C sort -u | \
Sort the list, it's imperative to use the C collating here, because of [1]. This results in lines ending with \a float above all lines ending with either @ or continuing with further dots. Same goes for ~, which falls at the end.
sed 's/#//g' | \
Remove the hashes.
sed -n -e '/\a$$/ { s/\./_/g;s/\a$$/__start = .;/p; }'\
-e '/~$$/ { s/\./_/g;s/~$$/__end = .;/p; }'\
-e '/@$$/ { s/\(.*\)@$$/*(SORT(\1.*));/p }' >$@
Replace \a with __start ... so this defines the subsection start marker, ~ with __end for subsection end marker and lines ending with @ with the SORT(subsection.*) so they catch the contents of subsection.
Could you not reuse this complicated logic by defining a make function and then call + eval it? Something like this:
Can you elaborate more? I don't quite get it ... :-(
define list_rule_template $(1) : $(2) $(OBJDUMP) -h $^ | \ sed -n -e 's/.*(.u_boot_list[^ ]+).*$$/\1/p' | \ sed 's/.[^.]+$$//' | \ sed -n ':s /^.+$$/ { p;s/^(.*).[^.]*$$/\1/;b s }' | \ sed -n 's/./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ LC_COLLATE=C sort -u | \ sed 's/#//g' | \ sed -n -e '/\a$$/ { s/./_/g;s/\a$$/__start = .;/p; }'\ -e '/~$$/ { s/./_/g;s/~$$/__end = .;/p; }'\ -e '/@$$/ { s/(.*)@$$/*(SORT(\1.*));/p }' >$@ endef ... $(eval $(call list_rule_template,$(obj)u-boot.lst,$(LIBBOARD) $(LIBS))) ... $(eval $(call list_rule_template,$(obj)u-boot-spl.lst,$(LIBS)))
+$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
-Joe
[1] http://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html
Best regards, Marek Vasut

Hi Marex,
On Mon, Sep 24, 2012 at 11:04 AM, Marek Vasut marex@denx.de wrote:
Dear Joe Hershberger,
[...]
Could you not reuse this complicated logic by defining a make function and then call + eval it? Something like this:
Can you elaborate more? I don't quite get it ... :-(
Consolidate the complicated rule that only differs by target and sources into a single place. I also replaced your duplication of the sources in the rule with "$^"
define list_rule_template $(1) : $(2) $(OBJDUMP) -h $^ | \ sed -n -e 's/.*(.u_boot_list[^ ]+).*$$/\1/p' | \ sed 's/.[^.]+$$//' | \ sed -n ':s /^.+$$/ { p;s/^(.*).[^.]*$$/\1/;b s }' | \ sed -n 's/./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ LC_COLLATE=C sort -u | \ sed 's/#//g' | \ sed -n -e '/\a$$/ { s/./_/g;s/\a$$/__start = .;/p; }'\ -e '/~$$/ { s/./_/g;s/~$$/__end = .;/p; }'\ -e '/@$$/ { s/(.*)@$$/*(SORT(\1.*));/p }' >$@ endef ...
Then you instantiate the rule at each place in the Makefile where you need it, passing the target and sources:
$(eval $(call list_rule_template,$(obj)u-boot.lst,$(LIBBOARD) $(LIBS))) ... $(eval $(call list_rule_template,$(obj)u-boot-spl.lst,$(LIBS)))
+$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
-Joe

Dear Joe Hershberger,
Hi Marex,
On Mon, Sep 24, 2012 at 11:04 AM, Marek Vasut marex@denx.de wrote:
Dear Joe Hershberger,
[...]
Could you not reuse this complicated logic by defining a make function
and then call + eval it? Something like this:
Can you elaborate more? I don't quite get it ... :-(
Consolidate the complicated rule that only differs by target and sources into a single place. I also replaced your duplication of the sources in the rule with "$^"
Ok, I get it ... and where do I put this consolidation ?
define list_rule_template $(1) : $(2)
$(OBJDUMP) -h $^ | \ sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$/\1/p' | \ sed 's/\.[^\.]\+$$//' | \ sed -n ':s /^.\+$$/ { p;s/^\(.*\)\.[^\.]*$$/\1/;b s }' | \ sed -n 's/\./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ LC_COLLATE=C sort -u | \ sed 's/#//g' | \ sed -n -e '/\a$$/ { s/\./_/g;s/\a$$/__start = .;/p; }'\ -e '/~$$/ { s/\./_/g;s/~$$/__end = .;/p; }'\ -e '/@$$/ { s/\(.*\)@$$/*(SORT(\1.*));/p }' >$@
endef ...
Then you instantiate the rule at each place in the Makefile where you
need it, passing the target and sources:
$(eval $(call list_rule_template,$(obj)u-boot.lst,$(LIBBOARD) $(LIBS))) ... $(eval $(call list_rule_template,$(obj)u-boot-spl.lst,$(LIBS)))
+$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
-Joe
Best regards, Marek Vasut

Hi Marek,
On Mon, Sep 24, 2012 at 12:08 PM, Marek Vasut marex@denx.de wrote:
Dear Joe Hershberger,
Hi Marex,
On Mon, Sep 24, 2012 at 11:04 AM, Marek Vasut marex@denx.de wrote:
Dear Joe Hershberger,
[...]
Could you not reuse this complicated logic by defining a make function
and then call + eval it? Something like this:
Can you elaborate more? I don't quite get it ... :-(
Consolidate the complicated rule that only differs by target and sources into a single place. I also replaced your duplication of the sources in the rule with "$^"
Ok, I get it ... and where do I put this consolidation ?
I would just put it in tools/linker_list.mk and include it in the Makefiles.
define list_rule_template $(1) : $(2)
$(OBJDUMP) -h $^ | \ sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$/\1/p' | \ sed 's/\.[^\.]\+$$//' | \ sed -n ':s /^.\+$$/ { p;s/^\(.*\)\.[^\.]*$$/\1/;b s }' | \ sed -n 's/\./.#/g;h;s/$$/\a/p;g;s/$$/@/p;g;s/$$/~/p;' | \ LC_COLLATE=C sort -u | \ sed 's/#//g' | \ sed -n -e '/\a$$/ { s/\./_/g;s/\a$$/__start = .;/p; }'\ -e '/~$$/ { s/\./_/g;s/~$$/__end = .;/p; }'\ -e '/@$$/ { s/\(.*\)@$$/*(SORT(\1.*));/p }' >$@
endef ...
Then you instantiate the rule at each place in the Makefile where you
need it, passing the target and sources:
$(eval $(call list_rule_template,$(obj)u-boot.lst,$(LIBBOARD) $(LIBS))) ... $(eval $(call list_rule_template,$(obj)u-boot-spl.lst,$(LIBS)))
+$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot-spl.lst depend
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
-Joe

This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
Basically, the idea is to generate an array, where elements of the array are statically initialized at compiler time and each element is declared separatelly at different place. Such array though can later be accessed and used via special accessor.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list linker section . Once compiled, it is possible to dump all symbols placed in .u_boot_list section and generate appropriate bounds for each subsection of the .u_boot_list section. Each such subsection this contains .__start and .__end entries at the begining and end respecitively.
This allows for simple run-time traversing of the array, since the symbols are properly defined.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- include/linker_lists.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 include/linker_lists.h
diff --git a/include/linker_lists.h b/include/linker_lists.h new file mode 100644 index 0000000..ffa95f6 --- /dev/null +++ b/include/linker_lists.h @@ -0,0 +1,125 @@ +/* + * include/linker_lists.h + * + * Implementation of linker-generated arrays + * + * Copyright (C) 2012 Marek Vasut marex@denx.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + */ +#ifndef __LINKER_LISTS_H__ +#define __LINKER_LISTS_H__ + +/** + * ll_entry_declare() - Declare linker-generated array entry + * _type: Data type of the entry + * _name: Name of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots, for name concatenation) + * _section_d: Subsection of u_boot_list in which this entry is placed + * (with dots, for section concatenation) + * + * This macro declares a variable that is placed into a linker-generated + * array. This is a basic building block for more advanced use of linker- + * generated arrays. The user is expected to build their own macro wrapper + * around this one. + * + * A variable declared using this macro must be compile-time initialized + * and is as such placed into subsection of special section, .u_boot_list. + * The subsection is specified by the _section_[u,d] parameter, see below. + * The base name of the variable is _name, yet the actual variable is + * declared as concatenation of: + * + * _u_boot_list_ + _section_u + _ + _name + * + * which ensures name uniqueness. This variable shall never be refered + * directly though. + * + * Special precaution must be made when using this macro: + * + * 1) The _type must not contain the "static" keyword, otherwise the entry + * is not generated. + * 2) The _section_u and _section_d variables must match, the only difference + * is that in _section_u is every dot "." character present in _section_d + * replaced by a single underscore "_" character in _section_u. The actual + * purpose of these parameters is to select proper subsection in the global + * .u_boot_list section. + * 3) In case a section is declared that contains some array elements AND a + * subsection of this section is declared and contains some elements, it is + * imperative that the elements are of the same type. + * 4) In case an outer section is declared that contains some array elements + * AND am inner subsection of this section is declared and contains some + * elements, then when traversing the outer section, even the elements of + * the inner sections are present in the array. + * + * Example of usage: + * + * ll_entry_declare(struct my_sub_cmd, my_sub_cmd, cmd_sub, cmd.sub) = { + * .x = 3, + * .y = 4, + * }; + */ +#define ll_entry_declare(_type, _name, _section_u, _section_d) \ + _type _u_boot_list_##_section_u##_##_name __attribute__(( \ + unused, aligned(4), \ + section(".u_boot_list."#_section_d"."#_name))); \ + _type _u_boot_list_##_section_u##_##_name + +/** + * ll_entry_start() - Point to first entry of linker-generated array + * _type: Data type of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns (_type *) pointer to the very first entry of a + * linker-generated array placed into subsection of .u_boot_list section + * specified by _section_u argument. + * + * Example of usage: + * + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + */ +#define ll_entry_start(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + _type *_ll_result = &_u_boot_list_##_section_u##__start;\ + _ll_result; \ + }) + +/** + * ll_entry_count() - Return the number of elements in linker-generated array + * _type: Data type of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns the number of elements of a linker-generated array + * placed into subsection of .u_boot_list section specified by _section_u + * argument. The result is of an unsigned int type. + * + * Example of usage: + * + * int i; + * const unsigned int count = ll_entry_count(struct my_sub_cmd, cmd_sub); + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + * for (i = 0; i < count; i++) { + * printf("Entry %i, x=%i y=%i\n", i, msc->x, msc->y); + * msc++; + * } + */ +#define ll_entry_count(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + extern _type _u_boot_list_##_section_u##__end; \ + unsigned int _ll_result = \ + &_u_boot_list_##_section_u##__end - \ + &_u_boot_list_##_section_u##__start; \ + _ll_result; \ + }) + +#endif /* __LINKER_LISTS_H__ */

Hi Marek,
On Sun, Sep 23, 2012 at 8:21 PM, Marek Vasut marex@denx.de wrote:
This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
Basically, the idea is to generate an array, where elements of the array are statically initialized at compiler time and each element is declared separatelly at different place. Such array though can later be accessed and used via special accessor.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list linker section . Once compiled, it is possible to dump all symbols placed in .u_boot_list section and generate appropriate bounds for each subsection of the .u_boot_list section. Each such subsection this contains .__start and .__end entries at the begining and end respecitively.
This allows for simple run-time traversing of the array, since the symbols are properly defined.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
include/linker_lists.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 include/linker_lists.h
diff --git a/include/linker_lists.h b/include/linker_lists.h new file mode 100644 index 0000000..ffa95f6 --- /dev/null +++ b/include/linker_lists.h @@ -0,0 +1,125 @@ +/*
- include/linker_lists.h
- Implementation of linker-generated arrays
- Copyright (C) 2012 Marek Vasut marex@denx.de
- See file CREDITS for list of people who contributed to this
- project.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
- */
+#ifndef __LINKER_LISTS_H__ +#define __LINKER_LISTS_H__
+/**
- ll_entry_declare() - Declare linker-generated array entry
- _type: Data type of the entry
- _name: Name of the entry
- _section_u: Subsection of u_boot_list in which this entry is placed
(with underscores instead of dots, for name concatenation)
- _section_d: Subsection of u_boot_list in which this entry is placed
(with dots, for section concatenation)
- This macro declares a variable that is placed into a linker-generated
- array. This is a basic building block for more advanced use of linker-
- generated arrays. The user is expected to build their own macro wrapper
- around this one.
- A variable declared using this macro must be compile-time initialized
- and is as such placed into subsection of special section, .u_boot_list.
- The subsection is specified by the _section_[u,d] parameter, see below.
- The base name of the variable is _name, yet the actual variable is
- declared as concatenation of:
- _u_boot_list_ + _section_u + _ + _name
- which ensures name uniqueness. This variable shall never be refered
- directly though.
- Special precaution must be made when using this macro:
- The _type must not contain the "static" keyword, otherwise the entry
- is not generated.
- The _section_u and _section_d variables must match, the only difference
- is that in _section_u is every dot "." character present in _section_d
- replaced by a single underscore "_" character in _section_u. The actual
- purpose of these parameters is to select proper subsection in the global
- .u_boot_list section.
- In case a section is declared that contains some array elements AND a
- subsection of this section is declared and contains some elements, it is
- imperative that the elements are of the same type.
- In case an outer section is declared that contains some array elements
- AND am inner subsection of this section is declared and contains some
- elements, then when traversing the outer section, even the elements of
- the inner sections are present in the array.
- Example of usage:
- ll_entry_declare(struct my_sub_cmd, my_sub_cmd, cmd_sub, cmd.sub) = {
.x = 3,
.y = 4,
- };
- */
+#define ll_entry_declare(_type, _name, _section_u, _section_d) \
_type _u_boot_list_##_section_u##_##_name __attribute__(( \
unused, aligned(4), \
section(".u_boot_list."#_section_d"."#_name))); \
_type _u_boot_list_##_section_u##_##_name
Why repeat the "_type _u_boot_list_##_section_u##_##_name" instead of just leaving the semicolon off after the __attribute__()?
+/**
- ll_entry_start() - Point to first entry of linker-generated array
- _type: Data type of the entry
- _section_u: Subsection of u_boot_list in which this entry is placed
(with underscores instead of dots)
- This function returns (_type *) pointer to the very first entry of a
- linker-generated array placed into subsection of .u_boot_list section
- specified by _section_u argument.
- Example of usage:
- struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub);
- */
+#define ll_entry_start(_type, _section_u) \
({ \
extern _type _u_boot_list_##_section_u##__start; \
_type *_ll_result = &_u_boot_list_##_section_u##__start;\
_ll_result; \
})
Tricky. I didn't realize this gcc extension existed.
+/**
- ll_entry_count() - Return the number of elements in linker-generated array
- _type: Data type of the entry
- _section_u: Subsection of u_boot_list in which this entry is placed
(with underscores instead of dots)
- This function returns the number of elements of a linker-generated array
- placed into subsection of .u_boot_list section specified by _section_u
- argument. The result is of an unsigned int type.
- Example of usage:
- int i;
- const unsigned int count = ll_entry_count(struct my_sub_cmd, cmd_sub);
- struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub);
- for (i = 0; i < count; i++) {
printf("Entry %i, x=%i y=%i\n", i, msc->x, msc->y);
msc++;
- }
- */
+#define ll_entry_count(_type, _section_u) \
({ \
extern _type _u_boot_list_##_section_u##__start; \
extern _type _u_boot_list_##_section_u##__end; \
unsigned int _ll_result = \
&_u_boot_list_##_section_u##__end - \
&_u_boot_list_##_section_u##__start; \
_ll_result; \
})
+#endif /* __LINKER_LISTS_H__ */
1.7.10.4

Dear Joe Hershberger,
[...]
+#define ll_entry_declare(_type, _name, _section_u, _section_d) \
_type _u_boot_list_##_section_u##_##_name __attribute__(( \
unused, aligned(4), \
section(".u_boot_list."#_section_d"."#_name))); \
_type _u_boot_list_##_section_u##_##_name
Why repeat the "_type _u_boot_list_##_section_u##_##_name" instead of just leaving the semicolon off after the __attribute__()?
Good idea. Do you like my documentation fairytail btw ? :p
+/**
- ll_entry_start() - Point to first entry of linker-generated array
- _type: Data type of the entry
- _section_u: Subsection of u_boot_list in which this entry is placed
(with underscores instead of dots)
- This function returns (_type *) pointer to the very first entry of a
- linker-generated array placed into subsection of .u_boot_list section
- specified by _section_u argument.
- Example of usage:
- struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub);
- */
+#define ll_entry_start(_type, _section_u) \
({ \
extern _type _u_boot_list_##_section_u##__start; \
_type *_ll_result = &_u_boot_list_##_section_u##__start;\
_ll_result; \
})
Tricky. I didn't realize this gcc extension existed.
All this is a horrible pile of tricks
[...]

Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 +++++ arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 ++++ arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 ++++ arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 +++++ arch/arm/cpu/ixp/u-boot.lds | 5 +++++ arch/arm/cpu/u-boot.lds | 5 +++++ arch/avr32/cpu/u-boot.lds | 5 +++++ arch/blackfin/cpu/u-boot.lds | 4 ++++ arch/microblaze/cpu/u-boot.lds | 5 +++++ arch/nds32/cpu/n1213/u-boot.lds | 5 +++++ arch/nios2/cpu/u-boot.lds | 5 +++++ arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc512x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 +++ arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8220/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc824x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8260/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 +++++ arch/sandbox/cpu/u-boot.lds | 5 +++++ arch/sh/cpu/sh2/u-boot.lds | 4 ++++ arch/sh/cpu/sh3/u-boot.lds | 4 ++++ arch/sh/cpu/sh4/u-boot.lds | 4 ++++ arch/x86/cpu/u-boot.lds | 5 +++++ board/BuS/eb_cpu5282/u-boot.lds | 5 +++++ board/LEOX/elpt860/u-boot.lds | 5 +++++ board/RPXClassic/u-boot.lds | 5 +++++ board/RPXlite/u-boot.lds | 5 +++++ board/RPXlite_dw/u-boot.lds | 5 +++++ board/RRvision/u-boot.lds | 5 +++++ board/actux1/u-boot.lds | 5 +++++ board/actux2/u-boot.lds | 5 +++++ board/actux3/u-boot.lds | 5 +++++ board/adder/u-boot.lds | 5 +++++ board/ait/cam_enc_4xx/u-boot-spl.lds | 4 ++++ board/altera/nios2-generic/u-boot.lds | 5 +++++ board/amcc/acadia/u-boot-nand.lds | 3 +++ board/amcc/bamboo/u-boot-nand.lds | 3 +++ board/amcc/canyonlands/u-boot-nand.lds | 3 +++ board/amcc/kilauea/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-ram.lds | 3 +++ board/amirix/ap1000/u-boot.lds | 5 +++++ board/astro/mcf5373l/u-boot.lds | 5 +++++ board/c2mon/u-boot.lds | 5 +++++ board/cobra5272/u-boot.lds | 5 +++++ board/cogent/u-boot.lds | 5 +++++ board/dave/PPChameleonEVB/u-boot.lds | 5 +++++ board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++++++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 +++++ board/dbau1x00/u-boot.lds | 5 +++++ board/dvlhost/u-boot.lds | 5 +++++ board/eltec/mhpc/u-boot.lds | 5 +++++ board/emk/top860/u-boot.lds | 5 +++++ board/ep88x/u-boot.lds | 5 +++++ board/esd/dasa_sim/u-boot.lds | 5 +++++ board/esd/pmc440/u-boot-nand.lds | 3 +++ board/esd/tasreg/u-boot.lds | 5 +++++ board/esteem192e/u-boot.lds | 5 +++++ board/etx094/u-boot.lds | 5 +++++ board/evb64260/u-boot.lds | 5 +++++ board/fads/u-boot.lds | 5 +++++ board/flagadm/u-boot.lds | 5 +++++ board/freescale/m5208evbe/u-boot.lds | 5 +++++ board/freescale/m52277evb/u-boot.lds | 5 +++++ board/freescale/m5235evb/u-boot.lds | 5 +++++ board/freescale/m5249evb/u-boot.lds | 5 +++++ board/freescale/m5253demo/u-boot.lds | 5 +++++ board/freescale/m5253evbe/u-boot.lds | 5 +++++ board/freescale/m5271evb/u-boot.lds | 5 +++++ board/freescale/m5272c3/u-boot.lds | 5 +++++ board/freescale/m5275evb/u-boot.lds | 5 +++++ board/freescale/m5282evb/u-boot.lds | 5 +++++ board/freescale/m53017evb/u-boot.lds | 5 +++++ board/freescale/m5329evb/u-boot.lds | 5 +++++ board/freescale/m5373evb/u-boot.lds | 5 +++++ board/freescale/m54451evb/u-boot.lds | 5 +++++ board/freescale/m54455evb/u-boot.lds | 5 +++++ board/freescale/m547xevb/u-boot.lds | 5 +++++ board/freescale/m548xevb/u-boot.lds | 5 +++++ board/freescale/mx31ads/u-boot.lds | 5 +++++ board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 +++++ board/gaisler/gr_ep2s60/u-boot.lds | 5 +++++ board/gaisler/gr_xc3s_1500/u-boot.lds | 5 +++++ board/gaisler/grsim/u-boot.lds | 5 +++++ board/gaisler/grsim_leon2/u-boot.lds | 5 +++++ board/gen860t/u-boot-flashenv.lds | 4 ++++ board/gen860t/u-boot.lds | 5 +++++ board/genietv/u-boot.lds | 5 +++++ board/gth2/u-boot.lds | 5 +++++ board/hermes/u-boot.lds | 5 +++++ board/hymod/u-boot.lds | 5 +++++ board/icu862/u-boot.lds | 5 +++++ board/idmr/u-boot.lds | 5 +++++ board/incaip/u-boot.lds | 5 +++++ board/ip860/u-boot.lds | 5 +++++ board/ivm/u-boot.lds | 5 +++++ board/korat/u-boot-F7FC.lds | 3 +++ board/kup/kup4k/u-boot.lds | 5 +++++ board/kup/kup4x/u-boot.lds | 5 +++++ board/lantec/u-boot.lds | 5 +++++ board/lwmon/u-boot.lds | 5 +++++ board/manroland/uc100/u-boot.lds | 5 +++++ board/matrix_vision/mvsmr/u-boot.lds | 5 +++++ board/mbx8xx/u-boot.lds | 5 +++++ board/micronas/vct/u-boot.lds | 5 +++++ board/ml2/u-boot.lds | 5 +++++ board/mousse/u-boot.lds | 5 +++++ board/mvblue/u-boot.lds | 5 +++++ board/netphone/u-boot.lds | 5 +++++ board/netta/u-boot.lds | 5 +++++ board/netta2/u-boot.lds | 5 +++++ board/netvia/u-boot.lds | 5 +++++ board/nx823/u-boot.lds | 5 +++++ board/openrisc/openrisc-generic/u-boot.lds | 5 +++++ board/pb1x00/u-boot.lds | 5 +++++ board/qemu-mips/u-boot.lds | 5 +++++ board/qi/qi_lb60/u-boot.lds | 5 +++++ board/quantum/u-boot.lds | 5 +++++ board/r360mpi/u-boot.lds | 5 +++++ board/rbc823/u-boot.lds | 5 +++++ board/renesas/sh7757lcr/u-boot.lds | 4 ++++ board/rsdproto/u-boot.lds | 5 +++++ board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 +++++ board/samsung/smdk6400/u-boot-nand.lds | 7 ++++++- board/sandpoint/u-boot.lds | 5 +++++ board/siemens/IAD210/u-boot.lds | 5 +++++ board/sixnet/u-boot.lds | 5 +++++ board/snmc/qs850/u-boot.lds | 5 +++++ board/snmc/qs860t/u-boot.lds | 5 +++++ board/spc1920/u-boot.lds | 5 +++++ board/spd8xx/u-boot.lds | 5 +++++ board/stx/stxxtc/u-boot.lds | 5 +++++ board/svm_sc8xx/u-boot.lds | 5 +++++ board/tqc/tqm8xx/u-boot.lds | 5 +++++ board/v37/u-boot.lds | 5 +++++ board/vpac270/u-boot-spl.lds | 4 ++++ board/westel/amx860/u-boot.lds | 5 +++++ examples/standalone/mips.lds | 4 ++++ examples/standalone/nds32.lds | 4 ++++ examples/standalone/sparc.lds | 5 +++++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 +++++ nand_spl/board/karo/tx25/u-boot.lds | 5 +++++ nand_spl/board/samsung/smdk6400/u-boot.lds | 5 +++++ 150 files changed, 720 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index dc6ba34..6ad9169 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __bss_start = .; .bss : { *(.bss) } __bss_end__ = .; diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index f8ea38c..2124b63 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index afd3381..d3f93ea 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds index 8867e06..2051576 100644 --- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds @@ -47,6 +47,11 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4); __image_copy_end = .; _end = .; diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds index 7199de4..e08f10b 100644 --- a/arch/arm/cpu/ixp/u-boot.lds +++ b/arch/arm/cpu/ixp/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index e49ca0c..18eaf73 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
__image_copy_end = .;
diff --git a/arch/avr32/cpu/u-boot.lds b/arch/avr32/cpu/u-boot.lds index 0e532f2..5aef19b 100644 --- a/arch/avr32/cpu/u-boot.lds +++ b/arch/avr32/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); _got = .; .got : { *(.got) diff --git a/arch/blackfin/cpu/u-boot.lds b/arch/blackfin/cpu/u-boot.lds index 2b8d285..be70d81 100644 --- a/arch/blackfin/cpu/u-boot.lds +++ b/arch/blackfin/cpu/u-boot.lds @@ -119,6 +119,10 @@ SECTIONS ___u_boot_cmd_end = .; } >ram_data
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >ram_data + .text_l1 : { . = ALIGN(4); diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds index d033a28..86773b5e 100644 --- a/arch/microblaze/cpu/u-boot.lds +++ b/arch/microblaze/cpu/u-boot.lds @@ -56,6 +56,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
.bss ALIGN(0x4): diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds index 1903420..48d5b90 100644 --- a/arch/nds32/cpu/n1213/u-boot.lds +++ b/arch/nds32/cpu/n1213/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
_end = .;
diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds index 4856bd3..33cd0e2 100644 --- a/arch/nios2/cpu/u-boot.lds +++ b/arch/nios2/cpu/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds index 24823cd..049ae63 100644 --- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds +++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds index 7a4d927..d93c097 100644 --- a/arch/powerpc/cpu/mpc512x/u-boot.lds +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds @@ -61,6 +61,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds index e02b213..2fbc379 100644 --- a/arch/powerpc/cpu/mpc5xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds index 0c6c54e..1574767 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds @@ -70,6 +70,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds index 5dcaec1..52755e6 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds index 39bb42e..222f907 100644 --- a/arch/powerpc/cpu/mpc8220/u-boot.lds +++ b/arch/powerpc/cpu/mpc8220/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds index b30ce76..bb16926 100644 --- a/arch/powerpc/cpu/mpc824x/u-boot.lds +++ b/arch/powerpc/cpu/mpc824x/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds index 60b71ec..722d7fb 100644 --- a/arch/powerpc/cpu/mpc8260/u-boot.lds +++ b/arch/powerpc/cpu/mpc8260/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds index 2f4b9ad..416bc07 100644 --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds index 8ba9399..5563b5f 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds @@ -74,6 +74,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds index 668158f..8315aa3 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds @@ -53,6 +53,10 @@ SECTIONS } _edata = .;
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(8); __init_begin = .; __init_end = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds index efe34b7..009214b 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds index 121e529..e3b19d4 100644 --- a/arch/powerpc/cpu/mpc86xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds index 2466b79..005ec61 100644 --- a/arch/powerpc/cpu/ppc4xx/u-boot.lds +++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds @@ -82,6 +82,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds index 9960138..0a37657 100644 --- a/arch/sandbox/cpu/u-boot.lds +++ b/arch/sandbox/cpu/u-boot.lds @@ -28,6 +28,11 @@ SECTIONS _u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + __u_boot_sandbox_option_start = .; _u_boot_sandbox_getopt : { *(.u_boot_sandbox_getopt) } __u_boot_sandbox_option_end = .; diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds index b86a822..2331152 100644 --- a/arch/sh/cpu/sh2/u-boot.lds +++ b/arch/sh/cpu/sh2/u-boot.lds @@ -80,6 +80,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .);
PROVIDE (bss_start = .); diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds index 9bf8503..9d99434 100644 --- a/arch/sh/cpu/sh3/u-boot.lds +++ b/arch/sh/cpu/sh3/u-boot.lds @@ -86,6 +86,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds index d9c70bc..8702c9e 100644 --- a/arch/sh/cpu/sh4/u-boot.lds +++ b/arch/sh/cpu/sh4/u-boot.lds @@ -83,6 +83,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds index fe28030..aa2b653 100644 --- a/arch/x86/cpu/u-boot.lds +++ b/arch/x86/cpu/u-boot.lds @@ -39,6 +39,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4); diff --git a/board/BuS/eb_cpu5282/u-boot.lds b/board/BuS/eb_cpu5282/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/BuS/eb_cpu5282/u-boot.lds +++ b/board/BuS/eb_cpu5282/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index 5aaf6b3..d85943c 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index 8385373..3c2c708 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds index 9dbaa6f..e5d59db 100644 --- a/board/actux1/u-boot.lds +++ b/board/actux1/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds index 3575ed9..09bb7ab 100644 --- a/board/actux2/u-boot.lds +++ b/board/actux2/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds index 35aab29..71b6791 100644 --- a/board/actux3/u-boot.lds +++ b/board/actux3/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index a762769..62afcb80 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds index 52c986e..71f796a 100644 --- a/board/ait/cam_enc_4xx/u-boot-spl.lds +++ b/board/ait/cam_enc_4xx/u-boot-spl.lds @@ -48,6 +48,10 @@ SECTIONS . = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot-spl.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; *(.rel*) diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds index 88ced62..764cc7d 100644 --- a/board/altera/nios2-generic/u-boot.lds +++ b/board/altera/nios2-generic/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/acadia/u-boot-nand.lds +++ b/board/amcc/acadia/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds index 3ad8709..2382ea9 100644 --- a/board/amcc/bamboo/u-boot-nand.lds +++ b/board/amcc/bamboo/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds index 76f89f1..0816387 100644 --- a/board/amcc/canyonlands/u-boot-nand.lds +++ b/board/amcc/canyonlands/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/kilauea/u-boot-nand.lds +++ b/board/amcc/kilauea/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds index 07ae8b1..94234de 100644 --- a/board/amcc/sequoia/u-boot-nand.lds +++ b/board/amcc/sequoia/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds index 423400a..0f594f5 100644 --- a/board/amcc/sequoia/u-boot-ram.lds +++ b/board/amcc/sequoia/u-boot-ram.lds @@ -68,6 +68,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds index cd8f5ce..575d390 100644 --- a/board/amirix/ap1000/u-boot.lds +++ b/board/amirix/ap1000/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds index a1d8e0f..d800805 100644 --- a/board/astro/mcf5373l/u-boot.lds +++ b/board/astro/mcf5373l/u-boot.lds @@ -113,6 +113,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index b9b8e3c..a170f06 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/cobra5272/u-boot.lds +++ b/board/cobra5272/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 2393d8d..3a3d988 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds index 3b10114..fb40e3d 100644 --- a/board/dave/PPChameleonEVB/u-boot.lds +++ b/board/dave/PPChameleonEVB/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds index 6f6e065..f1b53aa 100644 --- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds +++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds @@ -47,6 +47,12 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/davinci/da8xxevm/u-boot-spl-hawk.lds b/board/davinci/da8xxevm/u-boot-spl-hawk.lds index b3a41af..15fa53a 100644 --- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds +++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds @@ -58,6 +58,11 @@ SECTIONS }
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __rel_dyn_start = .; __rel_dyn_end = .; __dynsym_start = .; diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds index 4a59cea..0569133 100644 --- a/board/dbau1x00/u-boot.lds +++ b/board/dbau1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds index 01ec390..897263e 100644 --- a/board/dvlhost/u-boot.lds +++ b/board/dvlhost/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index fb06648..887ee6b 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index 332b35a..0c5a03e 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds index b15948d..9a3249d 100644 --- a/board/esd/dasa_sim/u-boot.lds +++ b/board/esd/dasa_sim/u-boot.lds @@ -77,6 +77,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds index 71f0fd2..d4ef403 100644 --- a/board/esd/pmc440/u-boot-nand.lds +++ b/board/esd/pmc440/u-boot-nand.lds @@ -106,6 +106,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/esd/tasreg/u-boot.lds +++ b/board/esd/tasreg/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 163b83d..83d9ec0 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index 8465937..a98ee23 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds index 2d031ef..1eb7f30 100644 --- a/board/evb64260/u-boot.lds +++ b/board/evb64260/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index 9ea0674..deee255 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds index 6e39be1..e184013 100644 --- a/board/freescale/m5208evbe/u-boot.lds +++ b/board/freescale/m5208evbe/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m52277evb/u-boot.lds b/board/freescale/m52277evb/u-boot.lds index 3e9f4c3..6214098 100644 --- a/board/freescale/m52277evb/u-boot.lds +++ b/board/freescale/m52277evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds index d39e734..9b5e5e2 100644 --- a/board/freescale/m5235evb/u-boot.lds +++ b/board/freescale/m5235evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5249evb/u-boot.lds +++ b/board/freescale/m5249evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds index cbd2831..3487a8d 100644 --- a/board/freescale/m5253demo/u-boot.lds +++ b/board/freescale/m5253demo/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5253evbe/u-boot.lds +++ b/board/freescale/m5253evbe/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds index 4717036..3a86350 100644 --- a/board/freescale/m5271evb/u-boot.lds +++ b/board/freescale/m5271evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5272c3/u-boot.lds +++ b/board/freescale/m5272c3/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds index 6c2dfe8..b37b06b 100644 --- a/board/freescale/m5275evb/u-boot.lds +++ b/board/freescale/m5275evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/freescale/m5282evb/u-boot.lds +++ b/board/freescale/m5282evb/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds index 80935f2..662bd31 100644 --- a/board/freescale/m53017evb/u-boot.lds +++ b/board/freescale/m53017evb/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index 40af8bc..fe5be41 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds index 19342ac..8ff6fc9 100644 --- a/board/freescale/m5373evb/u-boot.lds +++ b/board/freescale/m5373evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54451evb/u-boot.lds b/board/freescale/m54451evb/u-boot.lds index 45924b7..ea0984f 100644 --- a/board/freescale/m54451evb/u-boot.lds +++ b/board/freescale/m54451evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds index f341449..fe1b58c 100644 --- a/board/freescale/m54455evb/u-boot.lds +++ b/board/freescale/m54455evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds index 5472689..877eaf2 100644 --- a/board/freescale/m547xevb/u-boot.lds +++ b/board/freescale/m547xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds index cf3f38c..33e054b 100644 --- a/board/freescale/m548xevb/u-boot.lds +++ b/board/freescale/m548xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds index 79eb7ac..3db5dc3 100644 --- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds index 87cb8e3..416761b 100644 --- a/board/gaisler/gr_cpci_ax2000/u-boot.lds +++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds index 2fb44aa..43faf26 100644 --- a/board/gaisler/gr_ep2s60/u-boot.lds +++ b/board/gaisler/gr_ep2s60/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds index 8719e97..14c631e 100644 --- a/board/gaisler/gr_xc3s_1500/u-boot.lds +++ b/board/gaisler/gr_xc3s_1500/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds index 33890b5..4766465 100644 --- a/board/gaisler/grsim/u-boot.lds +++ b/board/gaisler/grsim/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds index cf6e502..cbd4ed6 100644 --- a/board/gaisler/grsim_leon2/u-boot.lds +++ b/board/gaisler/grsim_leon2/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 5bb6c62..1302eaa 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -75,6 +75,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index be99b51..de57dd1 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index 1d66a9b..45c56bb 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -84,6 +84,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds index 9fc417f..c415594 100644 --- a/board/gth2/u-boot.lds +++ b/board/gth2/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index ca97115..8b90f6c 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -76,6 +76,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds index 1309f20..83d2dd4 100644 --- a/board/hymod/u-boot.lds +++ b/board/hymod/u-boot.lds @@ -114,6 +114,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 93c79a6..23d4405 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/idmr/u-boot.lds +++ b/board/idmr/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds index 4a59cea..0569133 100644 --- a/board/incaip/u-boot.lds +++ b/board/incaip/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index 1e843eb..d0d9a37 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds index 6a017e3..da33f00 100644 --- a/board/korat/u-boot-F7FC.lds +++ b/board/korat/u-boot-F7FC.lds @@ -112,6 +112,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index de0b355..9360839 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index 8bf7324..7dfa157 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds index 731cec9..d291d60 100644 --- a/board/manroland/uc100/u-boot.lds +++ b/board/manroland/uc100/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds index 57c37de..2445b97 100644 --- a/board/matrix_vision/mvsmr/u-boot.lds +++ b/board/matrix_vision/mvsmr/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds index 3a05ef9..273d190 100644 --- a/board/micronas/vct/u-boot.lds +++ b/board/micronas/vct/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
. = ALIGN(4); diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds index 9f9ddb8..a6cad6d 100644 --- a/board/ml2/u-boot.lds +++ b/board/ml2/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds index dae2cfc..863468e 100644 --- a/board/mousse/u-boot.lds +++ b/board/mousse/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds index 11624d2..4610de9 100644 --- a/board/mvblue/u-boot.lds +++ b/board/mvblue/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/openrisc/openrisc-generic/u-boot.lds b/board/openrisc/openrisc-generic/u-boot.lds index 1aed197..bc610bd 100644 --- a/board/openrisc/openrisc-generic/u-boot.lds +++ b/board/openrisc/openrisc-generic/u-boot.lds @@ -30,6 +30,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } > ram __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .rodata : { *(.rodata); *(.rodata.*) diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds index bd0dee1..cac9188 100644 --- a/board/pb1x00/u-boot.lds +++ b/board/pb1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds index 9460b20..1f37e8b 100644 --- a/board/qemu-mips/u-boot.lds +++ b/board/qemu-mips/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds index 7317652..e1bb826 100644 --- a/board/qi/qi_lb60/u-boot.lds +++ b/board/qi/qi_lb60/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + uboot_end_data = .; num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 2fa085a..181468d 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index d943fb6..50c3eee 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds index 38ebe88..cff6ff5 100644 --- a/board/renesas/sh7757lcr/u-boot.lds +++ b/board/renesas/sh7757lcr/u-boot.lds @@ -85,6 +85,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds index a729c52..ee651d4 100644 --- a/board/rsdproto/u-boot.lds +++ b/board/rsdproto/u-boot.lds @@ -101,6 +101,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/samsung/smdk5250/smdk5250-uboot-spl.lds b/board/samsung/smdk5250/smdk5250-uboot-spl.lds index d78dd77..c6e6414 100644 --- a/board/samsung/smdk5250/smdk5250-uboot-spl.lds +++ b/board/samsung/smdk5250/smdk5250-uboot-spl.lds @@ -48,6 +48,11 @@ SECTIONS .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); + /* Align .machine_param on 256 byte boundary for easier searching */ .machine_param ALIGN(0x100) : { *(.machine_param) } >.sram . = ALIGN(4); diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds index f162815..27693f0e 100644 --- a/board/samsung/smdk6400/u-boot-nand.lds +++ b/board/samsung/smdk6400/u-boot-nand.lds @@ -51,7 +51,12 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
- . = ALIGN(4); + . = align(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = align(4); .mmudata : { *(.mmudata) }
. = ALIGN(4); diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds index e382fd1..a4421a7 100644 --- a/board/sandpoint/u-boot.lds +++ b/board/sandpoint/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index 0e78e4f..3532d3b 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index 02d1980..4153927 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 9ab248a..039597e 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index a84e7fd..ada68f1 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index c65f022..af83956 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 4f08be6..226cfc1 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index e62d53d..feb3870 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds index 1958c2f..5c8edbd 100644 --- a/board/vpac270/u-boot-spl.lds +++ b/board/vpac270/u-boot-spl.lds @@ -57,6 +57,10 @@ SECTIONS *(.data) }
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index 3470b43..e642a3a 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds index 5f766ed..4540c7e 100644 --- a/examples/standalone/mips.lds +++ b/examples/standalone/mips.lds @@ -39,6 +39,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data*) }
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = .; _gp = ALIGN(16) + 0x7ff0;
diff --git a/examples/standalone/nds32.lds b/examples/standalone/nds32.lds index 50b4c4b..9d25db1 100644 --- a/examples/standalone/nds32.lds +++ b/examples/standalone/nds32.lds @@ -36,6 +36,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data) }
+ .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4);
.got : { diff --git a/examples/standalone/sparc.lds b/examples/standalone/sparc.lds index 9733daa..7fddebc 100644 --- a/examples/standalone/sparc.lds +++ b/examples/standalone/sparc.lds @@ -46,6 +46,11 @@ SECTIONS { *(.data) } + + .u_boot_list : { + INCLUDE u-boot-spl.lst; + } + . = ALIGN(4); __data_end = .;
diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds index d2b08f6..8332710 100644 --- a/nand_spl/board/freescale/mx31pdk/u-boot.lds +++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index d2b08f6..8332710 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds index 567f635..7ceae32 100644 --- a/nand_spl/board/samsung/smdk6400/u-boot.lds +++ b/nand_spl/board/samsung/smdk6400/u-boot.lds @@ -55,6 +55,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .;

Hi Marek,
On Sun, Sep 23, 2012 at 8:21 PM, Marek Vasut marex@denx.de wrote:
Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 +++++ arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 ++++ arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 ++++ arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 +++++ arch/arm/cpu/ixp/u-boot.lds | 5 +++++ arch/arm/cpu/u-boot.lds | 5 +++++ arch/avr32/cpu/u-boot.lds | 5 +++++ arch/blackfin/cpu/u-boot.lds | 4 ++++ arch/microblaze/cpu/u-boot.lds | 5 +++++ arch/nds32/cpu/n1213/u-boot.lds | 5 +++++ arch/nios2/cpu/u-boot.lds | 5 +++++ arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc512x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 +++ arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8220/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc824x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8260/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 +++++ arch/sandbox/cpu/u-boot.lds | 5 +++++ arch/sh/cpu/sh2/u-boot.lds | 4 ++++ arch/sh/cpu/sh3/u-boot.lds | 4 ++++ arch/sh/cpu/sh4/u-boot.lds | 4 ++++ arch/x86/cpu/u-boot.lds | 5 +++++ board/BuS/eb_cpu5282/u-boot.lds | 5 +++++ board/LEOX/elpt860/u-boot.lds | 5 +++++ board/RPXClassic/u-boot.lds | 5 +++++ board/RPXlite/u-boot.lds | 5 +++++ board/RPXlite_dw/u-boot.lds | 5 +++++ board/RRvision/u-boot.lds | 5 +++++ board/actux1/u-boot.lds | 5 +++++ board/actux2/u-boot.lds | 5 +++++ board/actux3/u-boot.lds | 5 +++++ board/adder/u-boot.lds | 5 +++++ board/ait/cam_enc_4xx/u-boot-spl.lds | 4 ++++ board/altera/nios2-generic/u-boot.lds | 5 +++++ board/amcc/acadia/u-boot-nand.lds | 3 +++ board/amcc/bamboo/u-boot-nand.lds | 3 +++ board/amcc/canyonlands/u-boot-nand.lds | 3 +++ board/amcc/kilauea/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-ram.lds | 3 +++ board/amirix/ap1000/u-boot.lds | 5 +++++ board/astro/mcf5373l/u-boot.lds | 5 +++++ board/c2mon/u-boot.lds | 5 +++++ board/cobra5272/u-boot.lds | 5 +++++ board/cogent/u-boot.lds | 5 +++++ board/dave/PPChameleonEVB/u-boot.lds | 5 +++++ board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++++++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 +++++ board/dbau1x00/u-boot.lds | 5 +++++ board/dvlhost/u-boot.lds | 5 +++++ board/eltec/mhpc/u-boot.lds | 5 +++++ board/emk/top860/u-boot.lds | 5 +++++ board/ep88x/u-boot.lds | 5 +++++ board/esd/dasa_sim/u-boot.lds | 5 +++++ board/esd/pmc440/u-boot-nand.lds | 3 +++ board/esd/tasreg/u-boot.lds | 5 +++++ board/esteem192e/u-boot.lds | 5 +++++ board/etx094/u-boot.lds | 5 +++++ board/evb64260/u-boot.lds | 5 +++++ board/fads/u-boot.lds | 5 +++++ board/flagadm/u-boot.lds | 5 +++++ board/freescale/m5208evbe/u-boot.lds | 5 +++++ board/freescale/m52277evb/u-boot.lds | 5 +++++ board/freescale/m5235evb/u-boot.lds | 5 +++++ board/freescale/m5249evb/u-boot.lds | 5 +++++ board/freescale/m5253demo/u-boot.lds | 5 +++++ board/freescale/m5253evbe/u-boot.lds | 5 +++++ board/freescale/m5271evb/u-boot.lds | 5 +++++ board/freescale/m5272c3/u-boot.lds | 5 +++++ board/freescale/m5275evb/u-boot.lds | 5 +++++ board/freescale/m5282evb/u-boot.lds | 5 +++++ board/freescale/m53017evb/u-boot.lds | 5 +++++ board/freescale/m5329evb/u-boot.lds | 5 +++++ board/freescale/m5373evb/u-boot.lds | 5 +++++ board/freescale/m54451evb/u-boot.lds | 5 +++++ board/freescale/m54455evb/u-boot.lds | 5 +++++ board/freescale/m547xevb/u-boot.lds | 5 +++++ board/freescale/m548xevb/u-boot.lds | 5 +++++ board/freescale/mx31ads/u-boot.lds | 5 +++++ board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 +++++ board/gaisler/gr_ep2s60/u-boot.lds | 5 +++++ board/gaisler/gr_xc3s_1500/u-boot.lds | 5 +++++ board/gaisler/grsim/u-boot.lds | 5 +++++ board/gaisler/grsim_leon2/u-boot.lds | 5 +++++ board/gen860t/u-boot-flashenv.lds | 4 ++++ board/gen860t/u-boot.lds | 5 +++++ board/genietv/u-boot.lds | 5 +++++ board/gth2/u-boot.lds | 5 +++++ board/hermes/u-boot.lds | 5 +++++ board/hymod/u-boot.lds | 5 +++++ board/icu862/u-boot.lds | 5 +++++ board/idmr/u-boot.lds | 5 +++++ board/incaip/u-boot.lds | 5 +++++ board/ip860/u-boot.lds | 5 +++++ board/ivm/u-boot.lds | 5 +++++ board/korat/u-boot-F7FC.lds | 3 +++ board/kup/kup4k/u-boot.lds | 5 +++++ board/kup/kup4x/u-boot.lds | 5 +++++ board/lantec/u-boot.lds | 5 +++++ board/lwmon/u-boot.lds | 5 +++++ board/manroland/uc100/u-boot.lds | 5 +++++ board/matrix_vision/mvsmr/u-boot.lds | 5 +++++ board/mbx8xx/u-boot.lds | 5 +++++ board/micronas/vct/u-boot.lds | 5 +++++ board/ml2/u-boot.lds | 5 +++++ board/mousse/u-boot.lds | 5 +++++ board/mvblue/u-boot.lds | 5 +++++ board/netphone/u-boot.lds | 5 +++++ board/netta/u-boot.lds | 5 +++++ board/netta2/u-boot.lds | 5 +++++ board/netvia/u-boot.lds | 5 +++++ board/nx823/u-boot.lds | 5 +++++ board/openrisc/openrisc-generic/u-boot.lds | 5 +++++ board/pb1x00/u-boot.lds | 5 +++++ board/qemu-mips/u-boot.lds | 5 +++++ board/qi/qi_lb60/u-boot.lds | 5 +++++ board/quantum/u-boot.lds | 5 +++++ board/r360mpi/u-boot.lds | 5 +++++ board/rbc823/u-boot.lds | 5 +++++ board/renesas/sh7757lcr/u-boot.lds | 4 ++++ board/rsdproto/u-boot.lds | 5 +++++ board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 +++++ board/samsung/smdk6400/u-boot-nand.lds | 7 ++++++- board/sandpoint/u-boot.lds | 5 +++++ board/siemens/IAD210/u-boot.lds | 5 +++++ board/sixnet/u-boot.lds | 5 +++++ board/snmc/qs850/u-boot.lds | 5 +++++ board/snmc/qs860t/u-boot.lds | 5 +++++ board/spc1920/u-boot.lds | 5 +++++ board/spd8xx/u-boot.lds | 5 +++++ board/stx/stxxtc/u-boot.lds | 5 +++++ board/svm_sc8xx/u-boot.lds | 5 +++++ board/tqc/tqm8xx/u-boot.lds | 5 +++++ board/v37/u-boot.lds | 5 +++++ board/vpac270/u-boot-spl.lds | 4 ++++ board/westel/amx860/u-boot.lds | 5 +++++ examples/standalone/mips.lds | 4 ++++ examples/standalone/nds32.lds | 4 ++++ examples/standalone/sparc.lds | 5 +++++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 +++++ nand_spl/board/karo/tx25/u-boot.lds | 5 +++++ nand_spl/board/samsung/smdk6400/u-boot.lds | 5 +++++ 150 files changed, 720 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index dc6ba34..6ad9169 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS __u_boot_cmd_end = .;
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
. = ALIGN(4);
.u_boot_list : {
INCLUDE u-boot.lst;
}
. = ALIGN(4); __bss_start = .; .bss : { *(.bss) } __bss_end__ = .;
-Joe

Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
. = ALIGN(4);
.u_boot_list : {
INCLUDE u-boot.lst;
}
. = ALIGN(4); __bss_start = .; .bss : { *(.bss) } __bss_end__ = .;
-Joe
Best regards, Marek Vasut

On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected. Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.

Dear Tom Rini,
On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected.
+1 (actually +inf.)
Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.
exec step ?
Best regards, Marek Vasut

On Mon, Sep 24, 2012 at 07:09:35PM +0200, Marek Vasut wrote:
Dear Tom Rini,
On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected.
+1 (actually +inf.)
Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.
exec step ?
Yes, in 'git rebase -i' you can insert exec lines after each commit such as: pick 12345 Commit 1 exec script-that-runs-MAKEALL.sh pick 6789a Commit 2 exec script-that-runs-MAKEALL.sh
I use my MAKEALL wrapper (http://pastebin.com/fNhG4iCd but I've updated a bit more since I uploaded that) and --log `git rev-parse --short HEAD` so I can see what's gone on for every step in a series.

Hi Tom,
On Mon, Sep 24, 2012 at 12:18 PM, Tom Rini trini@ti.com wrote:
On Mon, Sep 24, 2012 at 07:09:35PM +0200, Marek Vasut wrote:
Dear Tom Rini,
On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected.
+1 (actually +inf.)
Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.
exec step ?
Yes, in 'git rebase -i' you can insert exec lines after each commit such as: pick 12345 Commit 1 exec script-that-runs-MAKEALL.sh pick 6789a Commit 2 exec script-that-runs-MAKEALL.sh
I use my MAKEALL wrapper (http://pastebin.com/fNhG4iCd but I've updated a bit more since I uploaded that) and --log `git rev-parse --short HEAD` so I can see what's gone on for every step in a series.
That's interesting. I've been using git-test-sequence for a similar purpose. It doesn't require the exec steps to be added manually, though.
http://dustin.github.com/2010/03/28/git-test-sequence.html
-Joe

On Mon, Sep 24, 2012 at 12:23:10PM -0500, Joe Hershberger wrote:
Hi Tom,
On Mon, Sep 24, 2012 at 12:18 PM, Tom Rini trini@ti.com wrote:
On Mon, Sep 24, 2012 at 07:09:35PM +0200, Marek Vasut wrote:
Dear Tom Rini,
On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected.
+1 (actually +inf.)
Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.
exec step ?
Yes, in 'git rebase -i' you can insert exec lines after each commit such as: pick 12345 Commit 1 exec script-that-runs-MAKEALL.sh pick 6789a Commit 2 exec script-that-runs-MAKEALL.sh
I use my MAKEALL wrapper (http://pastebin.com/fNhG4iCd but I've updated a bit more since I uploaded that) and --log `git rev-parse --short HEAD` so I can see what's gone on for every step in a series.
That's interesting. I've been using git-test-sequence for a similar purpose. It doesn't require the exec steps to be added manually, though.
+1 to git test-squence as well. I think the reason I didn't use that after a while was that MAKEALL didn't non-zero exit on warnings. Of course since I've moved on to logging all output from each step to verfiy by hand, test-sequence would also work great here.

Dear Tom Rini,
On Mon, Sep 24, 2012 at 07:09:35PM +0200, Marek Vasut wrote:
Dear Tom Rini,
On Mon, Sep 24, 2012 at 06:53:19PM +0200, Marek Vasut wrote:
Dear Joe Hershberger,
[...]
While you're touching all these files, why not replace the __u_boot_cmd* implementation with this as well. There's no need to leave a special case in there as well is there?
Not in the first stab, it can be indeed done later, but now I'd like to avoid breakage. Besides, replacing u_boot_cmd would break bisectability, I want to preserve it and rather apply more patches slowly than less patches recklessly.
Agreed. We need to work hard to make sure we do lots of incremental steps here to make sure breakage can be bisected.
+1 (actually +inf.)
Making use of the 'exec' step in git rebase is very helpful for making sure this is the case too, btw.
exec step ?
Yes, in 'git rebase -i' you can insert exec lines after each commit such as: pick 12345 Commit 1 exec script-that-runs-MAKEALL.sh pick 6789a Commit 2 exec script-that-runs-MAKEALL.sh
I use my MAKEALL wrapper (http://pastebin.com/fNhG4iCd but I've updated a bit more since I uploaded that) and --log `git rev-parse --short HEAD` so I can see what's gone on for every step in a series.
I guess you have one hell of a badass computer cluster then ;-)
Best regards, Marek Vasut

On Mon, Sep 24, 2012 at 03:21:54AM +0200, Marek Vasut wrote:
This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/3 contains a huge pile of documentation which should clarify most of the questions.
NOTE: Compile-testing in progress, but it works with m28evk and sandbox for now.
Marek Vasut (3): common: Add symbol handling for generic lists into Makefile common: Implement support for linker-generated arrays common: Add .u_boot_list into all linker files
So... it's a generic version of the u_boot_cmd infrastructure. Do you start using this in DM? Would it be a lot of work to make patch #4 be converting u_boot_cmd? Or do you just want to say, once folks are happy with this of course, that the first bits of DM will depend on this series being merged? Thanks!

Dear Tom Rini,
On Mon, Sep 24, 2012 at 03:21:54AM +0200, Marek Vasut wrote:
This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/3 contains a huge pile of documentation which should clarify most of the questions.
NOTE: Compile-testing in progress, but it works with m28evk and sandbox
for now.
Marek Vasut (3): common: Add symbol handling for generic lists into Makefile common: Implement support for linker-generated arrays common: Add .u_boot_list into all linker files
So... it's a generic version of the u_boot_cmd infrastructure. Do you start using this in DM?
Exactly
Would it be a lot of work to make patch #4 be converting u_boot_cmd?
I don't want to. I want to do it in a separate patch. One reason is because this might be used where u_boot_cmd is not. Other reason is that this will eventually replace u_boot_cmd, but I want that in a separate patch (I do have that in works).
Or do you just want to say, once folks are happy with this of course, that the first bits of DM will depend on this series being merged?
DM will depend on this, yes
Thanks!
Best regards, Marek Vasut

This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/3 contains a huge pile of documentation which should clarify most of the questions.
Marek Vasut (3): common: Add symbol handling for generic lists into Makefile common: Implement support for linker-generated arrays common: Add .u_boot_list into all linker files
Makefile | 10 +- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 + arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 + arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 + arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 + arch/arm/cpu/ixp/u-boot.lds | 5 + arch/arm/cpu/u-boot.lds | 5 + arch/avr32/cpu/u-boot.lds | 5 + arch/blackfin/cpu/u-boot.lds | 4 + arch/microblaze/cpu/u-boot.lds | 5 + arch/nds32/cpu/n1213/u-boot.lds | 5 + arch/nios2/cpu/u-boot.lds | 5 + arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc512x/u-boot.lds | 5 + arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 + arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 + arch/powerpc/cpu/mpc8220/u-boot.lds | 5 + arch/powerpc/cpu/mpc824x/u-boot.lds | 5 + arch/powerpc/cpu/mpc8260/u-boot.lds | 5 + arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 + arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 + arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 + arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 + arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 + arch/sandbox/cpu/u-boot.lds | 5 + arch/sh/cpu/sh2/u-boot.lds | 4 + arch/sh/cpu/sh3/u-boot.lds | 4 + arch/sh/cpu/sh4/u-boot.lds | 4 + arch/x86/cpu/u-boot.lds | 5 + board/BuS/eb_cpu5282/u-boot.lds | 5 + board/LEOX/elpt860/u-boot.lds | 5 + board/RPXClassic/u-boot.lds | 5 + board/RPXlite/u-boot.lds | 5 + board/RPXlite_dw/u-boot.lds | 5 + board/RRvision/u-boot.lds | 5 + board/actux1/u-boot.lds | 5 + board/actux2/u-boot.lds | 5 + board/actux3/u-boot.lds | 5 + board/adder/u-boot.lds | 5 + board/ait/cam_enc_4xx/u-boot-spl.lds | 4 + board/altera/nios2-generic/u-boot.lds | 5 + board/amcc/acadia/u-boot-nand.lds | 3 + board/amcc/bamboo/u-boot-nand.lds | 3 + board/amcc/canyonlands/u-boot-nand.lds | 3 + board/amcc/kilauea/u-boot-nand.lds | 3 + board/amcc/sequoia/u-boot-nand.lds | 3 + board/amcc/sequoia/u-boot-ram.lds | 3 + board/amirix/ap1000/u-boot.lds | 5 + board/astro/mcf5373l/u-boot.lds | 5 + board/c2mon/u-boot.lds | 5 + board/cobra5272/u-boot.lds | 5 + board/cogent/u-boot.lds | 5 + board/dave/PPChameleonEVB/u-boot.lds | 5 + board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 + board/dbau1x00/u-boot.lds | 5 + board/dvlhost/u-boot.lds | 5 + board/eltec/mhpc/u-boot.lds | 5 + board/emk/top860/u-boot.lds | 5 + board/ep88x/u-boot.lds | 5 + board/esd/dasa_sim/u-boot.lds | 5 + board/esd/pmc440/u-boot-nand.lds | 3 + board/esd/tasreg/u-boot.lds | 5 + board/esteem192e/u-boot.lds | 5 + board/etx094/u-boot.lds | 5 + board/evb64260/u-boot.lds | 5 + board/fads/u-boot.lds | 5 + board/flagadm/u-boot.lds | 5 + board/freescale/m5208evbe/u-boot.lds | 5 + board/freescale/m52277evb/u-boot.lds | 5 + board/freescale/m5235evb/u-boot.lds | 5 + board/freescale/m5249evb/u-boot.lds | 5 + board/freescale/m5253demo/u-boot.lds | 5 + board/freescale/m5253evbe/u-boot.lds | 5 + board/freescale/m5271evb/u-boot.lds | 5 + board/freescale/m5272c3/u-boot.lds | 5 + board/freescale/m5275evb/u-boot.lds | 5 + board/freescale/m5282evb/u-boot.lds | 5 + board/freescale/m53017evb/u-boot.lds | 5 + board/freescale/m5329evb/u-boot.lds | 5 + board/freescale/m5373evb/u-boot.lds | 5 + board/freescale/m54451evb/u-boot.lds | 5 + board/freescale/m54455evb/u-boot.lds | 5 + board/freescale/m547xevb/u-boot.lds | 5 + board/freescale/m548xevb/u-boot.lds | 5 + board/freescale/mx31ads/u-boot.lds | 5 + board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 + board/gaisler/gr_ep2s60/u-boot.lds | 5 + board/gaisler/gr_xc3s_1500/u-boot.lds | 5 + board/gaisler/grsim/u-boot.lds | 5 + board/gaisler/grsim_leon2/u-boot.lds | 5 + board/gen860t/u-boot-flashenv.lds | 4 + board/gen860t/u-boot.lds | 5 + board/genietv/u-boot.lds | 5 + board/gth2/u-boot.lds | 5 + board/hermes/u-boot.lds | 5 + board/hymod/u-boot.lds | 5 + board/icu862/u-boot.lds | 5 + board/idmr/u-boot.lds | 5 + board/incaip/u-boot.lds | 5 + board/ip860/u-boot.lds | 5 + board/ivm/u-boot.lds | 5 + board/korat/u-boot-F7FC.lds | 3 + board/kup/kup4k/u-boot.lds | 5 + board/kup/kup4x/u-boot.lds | 5 + board/lantec/u-boot.lds | 5 + board/lwmon/u-boot.lds | 5 + board/manroland/uc100/u-boot.lds | 5 + board/matrix_vision/mvsmr/u-boot.lds | 5 + board/mbx8xx/u-boot.lds | 5 + board/micronas/vct/u-boot.lds | 5 + board/ml2/u-boot.lds | 5 + board/mousse/u-boot.lds | 5 + board/mvblue/u-boot.lds | 5 + board/netphone/u-boot.lds | 5 + board/netta/u-boot.lds | 5 + board/netta2/u-boot.lds | 5 + board/netvia/u-boot.lds | 5 + board/nx823/u-boot.lds | 5 + board/openrisc/openrisc-generic/u-boot.lds | 5 + board/pb1x00/u-boot.lds | 5 + board/qemu-mips/u-boot.lds | 5 + board/qi/qi_lb60/u-boot.lds | 5 + board/quantum/u-boot.lds | 5 + board/r360mpi/u-boot.lds | 5 + board/rbc823/u-boot.lds | 5 + board/renesas/sh7757lcr/u-boot.lds | 4 + board/rsdproto/u-boot.lds | 5 + board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 + board/samsung/smdk6400/u-boot-nand.lds | 7 +- board/sandpoint/u-boot.lds | 5 + board/siemens/IAD210/u-boot.lds | 5 + board/sixnet/u-boot.lds | 5 + board/snmc/qs850/u-boot.lds | 5 + board/snmc/qs860t/u-boot.lds | 5 + board/spc1920/u-boot.lds | 5 + board/spd8xx/u-boot.lds | 5 + board/stx/stxxtc/u-boot.lds | 5 + board/svm_sc8xx/u-boot.lds | 5 + board/tqc/tqm8xx/u-boot.lds | 5 + board/v37/u-boot.lds | 5 + board/vpac270/u-boot-spl.lds | 4 + board/westel/amx860/u-boot.lds | 5 + config.mk | 2 + examples/standalone/mips.lds | 4 + examples/standalone/nds32.lds | 4 + examples/standalone/sparc.lds | 5 + helper.mk | 62 +++++++++++ include/linker_lists.h | 124 ++++++++++++++++++++++ nand_spl/board/freescale/mpc8536ds/Makefile | 6 +- nand_spl/board/freescale/mpc8569mds/Makefile | 6 +- nand_spl/board/freescale/mpc8572ds/Makefile | 6 +- nand_spl/board/freescale/mx31pdk/Makefile | 6 +- nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 + nand_spl/board/freescale/p1010rdb/Makefile | 6 +- nand_spl/board/freescale/p1023rds/Makefile | 6 +- nand_spl/board/freescale/p1_p2_rdb/Makefile | 6 +- nand_spl/board/freescale/p1_p2_rdb_pc/Makefile | 6 +- nand_spl/board/karo/tx25/Makefile | 6 +- nand_spl/board/karo/tx25/u-boot.lds | 5 + nand_spl/board/samsung/smdk6400/u-boot.lds | 5 + spl/Makefile | 3 +- 164 files changed, 953 insertions(+), 23 deletions(-) create mode 100644 helper.mk create mode 100644 include/linker_lists.h
Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org

This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds .
Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- Makefile | 10 ++-- config.mk | 2 + helper.mk | 62 ++++++++++++++++++++++++ nand_spl/board/freescale/mpc8536ds/Makefile | 6 ++- nand_spl/board/freescale/mpc8569mds/Makefile | 6 ++- nand_spl/board/freescale/mpc8572ds/Makefile | 6 ++- nand_spl/board/freescale/mx31pdk/Makefile | 6 ++- nand_spl/board/freescale/p1010rdb/Makefile | 6 ++- nand_spl/board/freescale/p1023rds/Makefile | 6 ++- nand_spl/board/freescale/p1_p2_rdb/Makefile | 6 ++- nand_spl/board/freescale/p1_p2_rdb_pc/Makefile | 6 ++- nand_spl/board/karo/tx25/Makefile | 6 ++- spl/Makefile | 3 +- 13 files changed, 109 insertions(+), 22 deletions(-) create mode 100644 helper.mk
V2: - Move all the regex goo that generates u-boot.lst into helper.mk - Implant the eval call idea from Joe - Fix the nand spl boards where the builds failed. - Continue my documentation quest (no, I'm not planning to become a writer ;-) )
diff --git a/Makefile b/Makefile index e3a27c6..864432e 100644 --- a/Makefile +++ b/Makefile @@ -510,7 +510,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ - cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \ + UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ + sed -n -e 's/.*($(SYM_PREFIX)__u_boot_list_.*)/-u\1/p'|sort|uniq`;\ + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \ + $$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot endif @@ -543,8 +546,9 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@)
-$(obj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all diff --git a/config.mk b/config.mk index c3822a2..d2ed5bf 100644 --- a/config.mk +++ b/config.mk @@ -23,6 +23,8 @@
#########################################################################
+include $(TOPDIR)/helper.mk + ifeq ($(CURDIR),$(SRCTREE)) dir := else diff --git a/helper.mk b/helper.mk new file mode 100644 index 0000000..e9177ff --- /dev/null +++ b/helper.mk @@ -0,0 +1,62 @@ +# +# Copyright (C) 2012 Marek Vasut marex@denx.de +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +######################################################################### + +## +# make_u_boot_list - Generate contents of u_boot_list section +# 1: The name of the resulting file (usually u-boot.lst) +# 2: Files to analyze for possible u_boot_list entries +# +# This function generates the contents of the u_boot_list section, +# including all the border symbols for it's subsections. The operation +# of this function is as follows, numbering goes per lines: +# +# 1) Dump the ELF header sections from all files supplied via $(2) +# 2) Filter out all other stuff that does not belong into .u_boot_list +# section. Also, fix up the lines so that the resulting output is +# is in format ".u_boot_list.*". +# 3) Remove the last .something$, since that only contains the name +# of the variable to be put into a subsection. This name is irelevant +# for generation of border symbols, thus of no interest, remove it. +# 4) Take each line and for every dot "." in that line, print the whole +# line until that dot "." . This is important so that we have all +# parent border symbols generated as well. +# 5) Load every line and firstly append "\a" at the end and print the +# line. Next, append "@" at the end and print the line. Finally, +# append "~" at the end of line. This will make sense in conjunction +# with 6) and 7). +# 6) Sort the lines. It is imperative to use LC_COLLATE=C here because +# with this, the "\a" symbol is first and "~" symbol is last. Any +# other symbols fall inbetween. Symbols like "@", which marks the +# end of current line (representing current section) and ".", which +# means the line continues and thus represents subsection. +# 7) With such ordering, all lines ending with "\a" will float at the +# begining of all lines with the same prefix. Thus it is easy to +# replace "\a" with __start and make it the __start border symbol. +# Very similarly for "~", which will be always at the bottom and so +# can be replaced by "__end" and made into the __end border symbol. +# Finally, every line ending with "@" symbol will be transformed +# into " *(SORT(${line}*)); " format, which in the linker parlance +# will allow it to trap all symbols relevant to the subsection. +# +define make_u_boot_list +$(1): $(2) + $(OBJDUMP) -h $(2) | \ + sed -n -e 's/.*(.u_boot_list[^ ]+).*$$$$/\1/p' | \ + sed 's/.[^.]+$$$$//' | \ + sed -n ':s /^.+$$$$/ { p;s/^(.*).[^.]*$$$$/\1/;b s }' | \ + sed -n 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \ + LC_COLLATE=C sort -u | \ + sed -n -e '/\a$$$$/ { s/./_/g;s/\a$$$$/__start = .;/p; }'\ + -e '/~$$$$/ { s/./_/g;s/~$$$$/__end = .;/p; }'\ + -e '/@$$$$/ { s/(.*)@$$$$/*(SORT(\1.*));/p }' > $(1) +endef diff --git a/nand_spl/board/freescale/mpc8536ds/Makefile b/nand_spl/board/freescale/mpc8536ds/Makefile index 43da3df..fb6bcd6 100644 --- a/nand_spl/board/freescale/mpc8536ds/Makefile +++ b/nand_spl/board/freescale/mpc8536ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8569mds/Makefile b/nand_spl/board/freescale/mpc8569mds/Makefile index 43da3df..fb6bcd6 100644 --- a/nand_spl/board/freescale/mpc8569mds/Makefile +++ b/nand_spl/board/freescale/mpc8569mds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8572ds/Makefile b/nand_spl/board/freescale/mpc8572ds/Makefile index 43da3df..fb6bcd6 100644 --- a/nand_spl/board/freescale/mpc8572ds/Makefile +++ b/nand_spl/board/freescale/mpc8572ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mx31pdk/Makefile b/nand_spl/board/freescale/mx31pdk/Makefile index 87784d2..62a7adf 100644 --- a/nand_spl/board/freescale/mx31pdk/Makefile +++ b/nand_spl/board/freescale/mx31pdk/Makefile @@ -6,6 +6,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -36,8 +37,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/nand_spl/board/freescale/p1010rdb/Makefile b/nand_spl/board/freescale/p1010rdb/Makefile index 8d240ea..5d49ec9 100644 --- a/nand_spl/board/freescale/p1010rdb/Makefile +++ b/nand_spl/board/freescale/p1010rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1023rds/Makefile b/nand_spl/board/freescale/p1023rds/Makefile index 168e868..37fda4a 100644 --- a/nand_spl/board/freescale/p1023rds/Makefile +++ b/nand_spl/board/freescale/p1023rds/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -56,8 +57,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb/Makefile b/nand_spl/board/freescale/p1_p2_rdb/Makefile index 43da3df..fb6bcd6 100644 --- a/nand_spl/board/freescale/p1_p2_rdb/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile index 475cc49..f9effd2 100644 --- a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/karo/tx25/Makefile b/nand_spl/board/karo/tx25/Makefile index 0336346..2ac1b7c 100644 --- a/nand_spl/board/karo/tx25/Makefile +++ b/nand_spl/board/karo/tx25/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -57,8 +58,9 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/spl/Makefile b/spl/Makefile index d4cb668..f3e74b9 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -148,7 +148,8 @@ $(START): depend $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS))) +$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
depend: $(obj).depend

Dear Marek Vasut,
In message 1348589520-14395-2-git-send-email-marex@denx.de you wrote:
This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
...
--- a/Makefile +++ b/Makefile @@ -510,7 +510,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \
UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
$$UNDEF_SYM $$UNDEF_LST $(__OBJS) \
I dislike the exact duplication of the commands here.
Would it not make sense to provide some function / script to do that?
+$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
I think this needs a comment to explain what sort of magic you are invoking here.
...
--- /dev/null +++ b/helper.mk
...
- $(OBJDUMP) -h $(2) | \
- sed -n -e 's/.*(.u_boot_list[^ ]+).*$$$$/\1/p' | \
- sed 's/.[^.]+$$$$//' | \
- sed -n ':s /^.+$$$$/ { p;s/^(.*).[^.]*$$$$/\1/;b s }' | \
- sed -n 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \
...
Why exactly do you need 4 invocations of sed here? Seems just like a waste of processes to me.
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst
BTW: what exactly is "LST" supposed to mean?
+$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
- $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
Comment needed.
Best regards,
Wolfgang Denk

Dear Wolfgang Denk,
Dear Marek Vasut,
In message 1348589520-14395-2-git-send-email-marex@denx.de you wrote:
This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
...
--- a/Makefile +++ b/Makefile @@ -510,7 +510,10 @@ else
GEN_UBOOT = \
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|
uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM
$(__OBJS)
\ + UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_list_.*\)/-u\1/p'|sort|
uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
$$UNDEF_SYM $$UNDEF_LST $(__OBJS) \
I dislike the exact duplication of the commands here.
These shall begone once the cmd stuff is flipped over to these generic lists.
Would it not make sense to provide some function / script to do that?
How do you like helper.mk ? %^) But see above, I think it'll grow pointless soon.
+$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$<
$@
I think this needs a comment to explain what sort of magic you are invoking here.
...
--- /dev/null +++ b/helper.mk
...
- $(OBJDUMP) -h $(2) | \
- sed -n -e 's/.*(.u_boot_list[^ ]+).*$$$$/\1/p' | \
- sed 's/.[^.]+$$$$//' | \
- sed -n ':s /^.+$$$$/ { p;s/^(.*).[^.]*$$$$/\1/;b s }' | \
- sed -n 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \
...
Why exactly do you need 4 invocations of sed here? Seems just like a waste of processes to me.
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
+LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst
BTW: what exactly is "LST" supposed to mean?
LIST ... that's from Supaplex, there was this levels.lst file IIRC ;-)
+$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
- $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
Comment needed.
The eval call ... ?
Best regards,
Wolfgang Denk
Best regards, Marek Vasut

This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
Basically, the idea is to generate an array, where elements of the array are statically initialized at compiler time and each element is declared separatelly at different place. Such array though can later be accessed and used via special accessor.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list linker section . Once compiled, it is possible to dump all symbols placed in .u_boot_list section and generate appropriate bounds for each subsection of the .u_boot_list section. Each such subsection this contains .__start and .__end entries at the begining and end respecitively.
This allows for simple run-time traversing of the array, since the symbols are properly defined.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- include/linker_lists.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 include/linker_lists.h
V2: Don't define the variable twice in ll_entry_declare()
diff --git a/include/linker_lists.h b/include/linker_lists.h new file mode 100644 index 0000000..27ae40b --- /dev/null +++ b/include/linker_lists.h @@ -0,0 +1,124 @@ +/* + * include/linker_lists.h + * + * Implementation of linker-generated arrays + * + * Copyright (C) 2012 Marek Vasut marex@denx.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + */ +#ifndef __LINKER_LISTS_H__ +#define __LINKER_LISTS_H__ + +/** + * ll_entry_declare() - Declare linker-generated array entry + * _type: Data type of the entry + * _name: Name of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots, for name concatenation) + * _section_d: Subsection of u_boot_list in which this entry is placed + * (with dots, for section concatenation) + * + * This macro declares a variable that is placed into a linker-generated + * array. This is a basic building block for more advanced use of linker- + * generated arrays. The user is expected to build their own macro wrapper + * around this one. + * + * A variable declared using this macro must be compile-time initialized + * and is as such placed into subsection of special section, .u_boot_list. + * The subsection is specified by the _section_[u,d] parameter, see below. + * The base name of the variable is _name, yet the actual variable is + * declared as concatenation of: + * + * _u_boot_list_ + _section_u + _ + _name + * + * which ensures name uniqueness. This variable shall never be refered + * directly though. + * + * Special precaution must be made when using this macro: + * + * 1) The _type must not contain the "static" keyword, otherwise the entry + * is not generated. + * 2) The _section_u and _section_d variables must match, the only difference + * is that in _section_u is every dot "." character present in _section_d + * replaced by a single underscore "_" character in _section_u. The actual + * purpose of these parameters is to select proper subsection in the global + * .u_boot_list section. + * 3) In case a section is declared that contains some array elements AND a + * subsection of this section is declared and contains some elements, it is + * imperative that the elements are of the same type. + * 4) In case an outer section is declared that contains some array elements + * AND am inner subsection of this section is declared and contains some + * elements, then when traversing the outer section, even the elements of + * the inner sections are present in the array. + * + * Example of usage: + * + * ll_entry_declare(struct my_sub_cmd, my_sub_cmd, cmd_sub, cmd.sub) = { + * .x = 3, + * .y = 4, + * }; + */ +#define ll_entry_declare(_type, _name, _section_u, _section_d) \ + _type _u_boot_list_##_section_u##_##_name __attribute__(( \ + unused, aligned(4), \ + section(".u_boot_list."#_section_d"."#_name))) + +/** + * ll_entry_start() - Point to first entry of linker-generated array + * _type: Data type of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns (_type *) pointer to the very first entry of a + * linker-generated array placed into subsection of .u_boot_list section + * specified by _section_u argument. + * + * Example of usage: + * + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + */ +#define ll_entry_start(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + _type *_ll_result = &_u_boot_list_##_section_u##__start;\ + _ll_result; \ + }) + +/** + * ll_entry_count() - Return the number of elements in linker-generated array + * _type: Data type of the entry + * _section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns the number of elements of a linker-generated array + * placed into subsection of .u_boot_list section specified by _section_u + * argument. The result is of an unsigned int type. + * + * Example of usage: + * + * int i; + * const unsigned int count = ll_entry_count(struct my_sub_cmd, cmd_sub); + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + * for (i = 0; i < count; i++) { + * printf("Entry %i, x=%i y=%i\n", i, msc->x, msc->y); + * msc++; + * } + */ +#define ll_entry_count(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + extern _type _u_boot_list_##_section_u##__end; \ + unsigned int _ll_result = \ + &_u_boot_list_##_section_u##__end - \ + &_u_boot_list_##_section_u##__start; \ + _ll_result; \ + }) + +#endif /* __LINKER_LISTS_H__ */

Dear Marek Vasut,
In message 1348589520-14395-3-git-send-email-marex@denx.de you wrote:
This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
...
... Such array though can
later be accessed and used via special accessor.
Can you please translate this to me? I don't get what it means.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list
"into subsection" ? Do you mean "into a subsection", or "into a specific subsection" or what?
...
--- /dev/null +++ b/include/linker_lists.h
...
+/**
- ll_entry_declare() - Declare linker-generated array entry
...
Incorrect multiline comment style. Please fix globally.
Best regards,
Wolfgang Denk

Dear Wolfgang Denk,
Dear Marek Vasut,
In message 1348589520-14395-3-git-send-email-marex@denx.de you wrote:
This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
...
... Such array though can
later be accessed and used via special accessor.
Can you please translate this to me? I don't get what it means.
That you call a function that returns the pointer to the first member of the array.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list
"into subsection" ? Do you mean "into a subsection", or "into a specific subsection" or what?
... into a matching subsection ...
...
--- /dev/null +++ b/include/linker_lists.h
...
+/**
- ll_entry_declare() - Declare linker-generated array entry
...
Incorrect multiline comment style. Please fix globally.
You mean what ...
/** *
This? Kernel-doc style ...
Best regards,
Wolfgang Denk
Best regards, Marek Vasut

Dear Marek,
In message 201209252224.32686.marex@denx.de you wrote:
... Such array though can
later be accessed and used via special accessor.
Can you please translate this to me? I don't get what it means.
That you call a function that returns the pointer to the first member of the array.
then please write this down?
Do we always need such a function? Where is it coming from? Auto-generated? What about the memory footprint?
You mean what ...
/**
This? Kernel-doc style ...
It violates the kernel CodyngStyle...
Best regards,
Wolfgang Denk

Dear Wolfgang Denk,
Dear Marek,
In message 201209252224.32686.marex@denx.de you wrote:
... Such array though can
later be accessed and used via special accessor.
Can you please translate this to me? I don't get what it means.
That you call a function that returns the pointer to the first member of the array.
then please write this down?
I rewrote it, it made no sense.
Do we always need such a function? Where is it coming from?
It's not a function, macro, sorry for the confusion
Auto-generated? What about the memory footprint?
None, it's a macro. Doing exactly what &__u_boot_cmd... did, but instead of doing it at n places, it does so at one place now and is expanded as needed.
You mean what ...
/**
This? Kernel-doc style ...
It violates the kernel CodyngStyle...
Yes, well ... let's discuss it.
Best regards,
Wolfgang Denk
Best regards, Marek Vasut

Hi Marek,
On Tue, Sep 25, 2012 at 11:11 AM, Marek Vasut marex@denx.de wrote:
This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
Basically, the idea is to generate an array, where elements of the array are statically initialized at compiler time and each element is declared separatelly at different place. Such array though can later be accessed and used via special accessor.
The actual implementation relies on placing any variable that is to represent an element of LG-array into subsection of .u_boot_list linker section . Once compiled, it is possible to dump all symbols placed in .u_boot_list section and generate appropriate bounds for each subsection of the .u_boot_list section. Each such subsection this contains .__start and .__end entries at the begining and end respecitively.
This allows for simple run-time traversing of the array, since the symbols are properly defined.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
include/linker_lists.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 include/linker_lists.h
V2: Don't define the variable twice in ll_entry_declare()
diff --git a/include/linker_lists.h b/include/linker_lists.h new file mode 100644 index 0000000..27ae40b --- /dev/null +++ b/include/linker_lists.h
[...]
+/**
- ll_entry_count() - Return the number of elements in linker-generated array
- _type: Data type of the entry
- _section_u: Subsection of u_boot_list in which this entry is placed
(with underscores instead of dots)
- This function returns the number of elements of a linker-generated array
- placed into subsection of .u_boot_list section specified by _section_u
- argument. The result is of an unsigned int type.
- Example of usage:
- int i;
- const unsigned int count = ll_entry_count(struct my_sub_cmd, cmd_sub);
- struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub);
- for (i = 0; i < count; i++) {
printf("Entry %i, x=%i y=%i\n", i, msc->x, msc->y);
msc++;
- }
- */
+#define ll_entry_count(_type, _section_u) \
({ \
extern _type _u_boot_list_##_section_u##__start; \
extern _type _u_boot_list_##_section_u##__end; \
unsigned int _ll_result = \
&_u_boot_list_##_section_u##__end - \
&_u_boot_list_##_section_u##__start; \
_ll_result; \
})
While ll_entry_count is great and all, it is more natural to compare your list pointer to The End (tm) or not. It would make client code capable of being cleaner if you also include ll_entry_end() as well.
Thanks, -Joe

Dear Joe Hershberger,
[...]
While ll_entry_count is great and all, it is more natural to compare your list pointer to The End (tm) or not. It would make client code capable of being cleaner if you also include ll_entry_end() as well.
Ain't that
#define ll_entry_end(_type, u) \ ll_entry_start(_type, u) + ll_entry_count(_type, u)
...
_type *end = ll_entry_end(_type, u);
?
Thanks, -Joe
Best regards, Marek Vasut

Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 +++++ arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 ++++ arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 ++++ arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 +++++ arch/arm/cpu/ixp/u-boot.lds | 5 +++++ arch/arm/cpu/u-boot.lds | 5 +++++ arch/avr32/cpu/u-boot.lds | 5 +++++ arch/blackfin/cpu/u-boot.lds | 4 ++++ arch/microblaze/cpu/u-boot.lds | 5 +++++ arch/nds32/cpu/n1213/u-boot.lds | 5 +++++ arch/nios2/cpu/u-boot.lds | 5 +++++ arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc512x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 +++ arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8220/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc824x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8260/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 +++++ arch/sandbox/cpu/u-boot.lds | 5 +++++ arch/sh/cpu/sh2/u-boot.lds | 4 ++++ arch/sh/cpu/sh3/u-boot.lds | 4 ++++ arch/sh/cpu/sh4/u-boot.lds | 4 ++++ arch/x86/cpu/u-boot.lds | 5 +++++ board/BuS/eb_cpu5282/u-boot.lds | 5 +++++ board/LEOX/elpt860/u-boot.lds | 5 +++++ board/RPXClassic/u-boot.lds | 5 +++++ board/RPXlite/u-boot.lds | 5 +++++ board/RPXlite_dw/u-boot.lds | 5 +++++ board/RRvision/u-boot.lds | 5 +++++ board/actux1/u-boot.lds | 5 +++++ board/actux2/u-boot.lds | 5 +++++ board/actux3/u-boot.lds | 5 +++++ board/adder/u-boot.lds | 5 +++++ board/ait/cam_enc_4xx/u-boot-spl.lds | 4 ++++ board/altera/nios2-generic/u-boot.lds | 5 +++++ board/amcc/acadia/u-boot-nand.lds | 3 +++ board/amcc/bamboo/u-boot-nand.lds | 3 +++ board/amcc/canyonlands/u-boot-nand.lds | 3 +++ board/amcc/kilauea/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-ram.lds | 3 +++ board/amirix/ap1000/u-boot.lds | 5 +++++ board/astro/mcf5373l/u-boot.lds | 5 +++++ board/c2mon/u-boot.lds | 5 +++++ board/cobra5272/u-boot.lds | 5 +++++ board/cogent/u-boot.lds | 5 +++++ board/dave/PPChameleonEVB/u-boot.lds | 5 +++++ board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++++++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 +++++ board/dbau1x00/u-boot.lds | 5 +++++ board/dvlhost/u-boot.lds | 5 +++++ board/eltec/mhpc/u-boot.lds | 5 +++++ board/emk/top860/u-boot.lds | 5 +++++ board/ep88x/u-boot.lds | 5 +++++ board/esd/dasa_sim/u-boot.lds | 5 +++++ board/esd/pmc440/u-boot-nand.lds | 3 +++ board/esd/tasreg/u-boot.lds | 5 +++++ board/esteem192e/u-boot.lds | 5 +++++ board/etx094/u-boot.lds | 5 +++++ board/evb64260/u-boot.lds | 5 +++++ board/fads/u-boot.lds | 5 +++++ board/flagadm/u-boot.lds | 5 +++++ board/freescale/m5208evbe/u-boot.lds | 5 +++++ board/freescale/m52277evb/u-boot.lds | 5 +++++ board/freescale/m5235evb/u-boot.lds | 5 +++++ board/freescale/m5249evb/u-boot.lds | 5 +++++ board/freescale/m5253demo/u-boot.lds | 5 +++++ board/freescale/m5253evbe/u-boot.lds | 5 +++++ board/freescale/m5271evb/u-boot.lds | 5 +++++ board/freescale/m5272c3/u-boot.lds | 5 +++++ board/freescale/m5275evb/u-boot.lds | 5 +++++ board/freescale/m5282evb/u-boot.lds | 5 +++++ board/freescale/m53017evb/u-boot.lds | 5 +++++ board/freescale/m5329evb/u-boot.lds | 5 +++++ board/freescale/m5373evb/u-boot.lds | 5 +++++ board/freescale/m54451evb/u-boot.lds | 5 +++++ board/freescale/m54455evb/u-boot.lds | 5 +++++ board/freescale/m547xevb/u-boot.lds | 5 +++++ board/freescale/m548xevb/u-boot.lds | 5 +++++ board/freescale/mx31ads/u-boot.lds | 5 +++++ board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 +++++ board/gaisler/gr_ep2s60/u-boot.lds | 5 +++++ board/gaisler/gr_xc3s_1500/u-boot.lds | 5 +++++ board/gaisler/grsim/u-boot.lds | 5 +++++ board/gaisler/grsim_leon2/u-boot.lds | 5 +++++ board/gen860t/u-boot-flashenv.lds | 4 ++++ board/gen860t/u-boot.lds | 5 +++++ board/genietv/u-boot.lds | 5 +++++ board/gth2/u-boot.lds | 5 +++++ board/hermes/u-boot.lds | 5 +++++ board/hymod/u-boot.lds | 5 +++++ board/icu862/u-boot.lds | 5 +++++ board/idmr/u-boot.lds | 5 +++++ board/incaip/u-boot.lds | 5 +++++ board/ip860/u-boot.lds | 5 +++++ board/ivm/u-boot.lds | 5 +++++ board/korat/u-boot-F7FC.lds | 3 +++ board/kup/kup4k/u-boot.lds | 5 +++++ board/kup/kup4x/u-boot.lds | 5 +++++ board/lantec/u-boot.lds | 5 +++++ board/lwmon/u-boot.lds | 5 +++++ board/manroland/uc100/u-boot.lds | 5 +++++ board/matrix_vision/mvsmr/u-boot.lds | 5 +++++ board/mbx8xx/u-boot.lds | 5 +++++ board/micronas/vct/u-boot.lds | 5 +++++ board/ml2/u-boot.lds | 5 +++++ board/mousse/u-boot.lds | 5 +++++ board/mvblue/u-boot.lds | 5 +++++ board/netphone/u-boot.lds | 5 +++++ board/netta/u-boot.lds | 5 +++++ board/netta2/u-boot.lds | 5 +++++ board/netvia/u-boot.lds | 5 +++++ board/nx823/u-boot.lds | 5 +++++ board/openrisc/openrisc-generic/u-boot.lds | 5 +++++ board/pb1x00/u-boot.lds | 5 +++++ board/qemu-mips/u-boot.lds | 5 +++++ board/qi/qi_lb60/u-boot.lds | 5 +++++ board/quantum/u-boot.lds | 5 +++++ board/r360mpi/u-boot.lds | 5 +++++ board/rbc823/u-boot.lds | 5 +++++ board/renesas/sh7757lcr/u-boot.lds | 4 ++++ board/rsdproto/u-boot.lds | 5 +++++ board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 +++++ board/samsung/smdk6400/u-boot-nand.lds | 7 ++++++- board/sandpoint/u-boot.lds | 5 +++++ board/siemens/IAD210/u-boot.lds | 5 +++++ board/sixnet/u-boot.lds | 5 +++++ board/snmc/qs850/u-boot.lds | 5 +++++ board/snmc/qs860t/u-boot.lds | 5 +++++ board/spc1920/u-boot.lds | 5 +++++ board/spd8xx/u-boot.lds | 5 +++++ board/stx/stxxtc/u-boot.lds | 5 +++++ board/svm_sc8xx/u-boot.lds | 5 +++++ board/tqc/tqm8xx/u-boot.lds | 5 +++++ board/v37/u-boot.lds | 5 +++++ board/vpac270/u-boot-spl.lds | 4 ++++ board/westel/amx860/u-boot.lds | 5 +++++ examples/standalone/mips.lds | 4 ++++ examples/standalone/nds32.lds | 4 ++++ examples/standalone/sparc.lds | 5 +++++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 +++++ nand_spl/board/karo/tx25/u-boot.lds | 5 +++++ nand_spl/board/samsung/smdk6400/u-boot.lds | 5 +++++ 150 files changed, 720 insertions(+), 1 deletion(-)
V2: Fix a few board linker files where the compile failed.
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index dc6ba34..6ad9169 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __bss_start = .; .bss : { *(.bss) } __bss_end__ = .; diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index f8ea38c..dd12607 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index afd3381..65f80c2 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds index 8867e06..b1b357f 100644 --- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds @@ -47,6 +47,11 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4); __image_copy_end = .; _end = .; diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds index 7199de4..e08f10b 100644 --- a/arch/arm/cpu/ixp/u-boot.lds +++ b/arch/arm/cpu/ixp/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index e49ca0c..18eaf73 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
__image_copy_end = .;
diff --git a/arch/avr32/cpu/u-boot.lds b/arch/avr32/cpu/u-boot.lds index 0e532f2..5aef19b 100644 --- a/arch/avr32/cpu/u-boot.lds +++ b/arch/avr32/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); _got = .; .got : { *(.got) diff --git a/arch/blackfin/cpu/u-boot.lds b/arch/blackfin/cpu/u-boot.lds index 2b8d285..be70d81 100644 --- a/arch/blackfin/cpu/u-boot.lds +++ b/arch/blackfin/cpu/u-boot.lds @@ -119,6 +119,10 @@ SECTIONS ___u_boot_cmd_end = .; } >ram_data
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >ram_data + .text_l1 : { . = ALIGN(4); diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds index d033a28..86773b5e 100644 --- a/arch/microblaze/cpu/u-boot.lds +++ b/arch/microblaze/cpu/u-boot.lds @@ -56,6 +56,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
.bss ALIGN(0x4): diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds index 1903420..48d5b90 100644 --- a/arch/nds32/cpu/n1213/u-boot.lds +++ b/arch/nds32/cpu/n1213/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
_end = .;
diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds index 4856bd3..33cd0e2 100644 --- a/arch/nios2/cpu/u-boot.lds +++ b/arch/nios2/cpu/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds index 24823cd..049ae63 100644 --- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds +++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds index 7a4d927..d93c097 100644 --- a/arch/powerpc/cpu/mpc512x/u-boot.lds +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds @@ -61,6 +61,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds index e02b213..2fbc379 100644 --- a/arch/powerpc/cpu/mpc5xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds index 0c6c54e..1574767 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds @@ -70,6 +70,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds index 5dcaec1..52755e6 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds index 39bb42e..222f907 100644 --- a/arch/powerpc/cpu/mpc8220/u-boot.lds +++ b/arch/powerpc/cpu/mpc8220/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds index b30ce76..bb16926 100644 --- a/arch/powerpc/cpu/mpc824x/u-boot.lds +++ b/arch/powerpc/cpu/mpc824x/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds index 60b71ec..722d7fb 100644 --- a/arch/powerpc/cpu/mpc8260/u-boot.lds +++ b/arch/powerpc/cpu/mpc8260/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds index 2f4b9ad..416bc07 100644 --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds index 8ba9399..5563b5f 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds @@ -74,6 +74,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds index 668158f..6c8ae9a 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds @@ -53,6 +53,10 @@ SECTIONS } _edata = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(8); __init_begin = .; __init_end = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds index efe34b7..009214b 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds index 121e529..e3b19d4 100644 --- a/arch/powerpc/cpu/mpc86xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds index 2466b79..005ec61 100644 --- a/arch/powerpc/cpu/ppc4xx/u-boot.lds +++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds @@ -82,6 +82,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds index 9960138..0a37657 100644 --- a/arch/sandbox/cpu/u-boot.lds +++ b/arch/sandbox/cpu/u-boot.lds @@ -28,6 +28,11 @@ SECTIONS _u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + __u_boot_sandbox_option_start = .; _u_boot_sandbox_getopt : { *(.u_boot_sandbox_getopt) } __u_boot_sandbox_option_end = .; diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds index b86a822..2331152 100644 --- a/arch/sh/cpu/sh2/u-boot.lds +++ b/arch/sh/cpu/sh2/u-boot.lds @@ -80,6 +80,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .);
PROVIDE (bss_start = .); diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds index 9bf8503..9d99434 100644 --- a/arch/sh/cpu/sh3/u-boot.lds +++ b/arch/sh/cpu/sh3/u-boot.lds @@ -86,6 +86,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds index d9c70bc..8702c9e 100644 --- a/arch/sh/cpu/sh4/u-boot.lds +++ b/arch/sh/cpu/sh4/u-boot.lds @@ -83,6 +83,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds index fe28030..aa2b653 100644 --- a/arch/x86/cpu/u-boot.lds +++ b/arch/x86/cpu/u-boot.lds @@ -39,6 +39,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4); diff --git a/board/BuS/eb_cpu5282/u-boot.lds b/board/BuS/eb_cpu5282/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/BuS/eb_cpu5282/u-boot.lds +++ b/board/BuS/eb_cpu5282/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index 5aaf6b3..d85943c 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index 8385373..3c2c708 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds index 9dbaa6f..e5d59db 100644 --- a/board/actux1/u-boot.lds +++ b/board/actux1/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds index 3575ed9..09bb7ab 100644 --- a/board/actux2/u-boot.lds +++ b/board/actux2/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds index 35aab29..71b6791 100644 --- a/board/actux3/u-boot.lds +++ b/board/actux3/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index a762769..62afcb80 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds index 52c986e..9403c3c 100644 --- a/board/ait/cam_enc_4xx/u-boot-spl.lds +++ b/board/ait/cam_enc_4xx/u-boot-spl.lds @@ -48,6 +48,10 @@ SECTIONS . = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; *(.rel*) diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds index 88ced62..764cc7d 100644 --- a/board/altera/nios2-generic/u-boot.lds +++ b/board/altera/nios2-generic/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/acadia/u-boot-nand.lds +++ b/board/amcc/acadia/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds index 3ad8709..2382ea9 100644 --- a/board/amcc/bamboo/u-boot-nand.lds +++ b/board/amcc/bamboo/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds index 76f89f1..0816387 100644 --- a/board/amcc/canyonlands/u-boot-nand.lds +++ b/board/amcc/canyonlands/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/kilauea/u-boot-nand.lds +++ b/board/amcc/kilauea/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds index 07ae8b1..94234de 100644 --- a/board/amcc/sequoia/u-boot-nand.lds +++ b/board/amcc/sequoia/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds index 423400a..0f594f5 100644 --- a/board/amcc/sequoia/u-boot-ram.lds +++ b/board/amcc/sequoia/u-boot-ram.lds @@ -68,6 +68,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds index cd8f5ce..575d390 100644 --- a/board/amirix/ap1000/u-boot.lds +++ b/board/amirix/ap1000/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds index a1d8e0f..d800805 100644 --- a/board/astro/mcf5373l/u-boot.lds +++ b/board/astro/mcf5373l/u-boot.lds @@ -113,6 +113,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index b9b8e3c..a170f06 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/cobra5272/u-boot.lds +++ b/board/cobra5272/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 2393d8d..3a3d988 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds index 3b10114..fb40e3d 100644 --- a/board/dave/PPChameleonEVB/u-boot.lds +++ b/board/dave/PPChameleonEVB/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds index 6f6e065..f1b53aa 100644 --- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds +++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds @@ -47,6 +47,12 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/davinci/da8xxevm/u-boot-spl-hawk.lds b/board/davinci/da8xxevm/u-boot-spl-hawk.lds index b3a41af..15fa53a 100644 --- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds +++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds @@ -58,6 +58,11 @@ SECTIONS }
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __rel_dyn_start = .; __rel_dyn_end = .; __dynsym_start = .; diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds index 4a59cea..0569133 100644 --- a/board/dbau1x00/u-boot.lds +++ b/board/dbau1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds index 01ec390..897263e 100644 --- a/board/dvlhost/u-boot.lds +++ b/board/dvlhost/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index fb06648..887ee6b 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index 332b35a..0c5a03e 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds index b15948d..9a3249d 100644 --- a/board/esd/dasa_sim/u-boot.lds +++ b/board/esd/dasa_sim/u-boot.lds @@ -77,6 +77,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds index 71f0fd2..d4ef403 100644 --- a/board/esd/pmc440/u-boot-nand.lds +++ b/board/esd/pmc440/u-boot-nand.lds @@ -106,6 +106,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/esd/tasreg/u-boot.lds +++ b/board/esd/tasreg/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 163b83d..83d9ec0 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index 8465937..a98ee23 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds index 2d031ef..1eb7f30 100644 --- a/board/evb64260/u-boot.lds +++ b/board/evb64260/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index 9ea0674..deee255 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds index 6e39be1..e184013 100644 --- a/board/freescale/m5208evbe/u-boot.lds +++ b/board/freescale/m5208evbe/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m52277evb/u-boot.lds b/board/freescale/m52277evb/u-boot.lds index 3e9f4c3..6214098 100644 --- a/board/freescale/m52277evb/u-boot.lds +++ b/board/freescale/m52277evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds index d39e734..9b5e5e2 100644 --- a/board/freescale/m5235evb/u-boot.lds +++ b/board/freescale/m5235evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5249evb/u-boot.lds +++ b/board/freescale/m5249evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds index cbd2831..3487a8d 100644 --- a/board/freescale/m5253demo/u-boot.lds +++ b/board/freescale/m5253demo/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5253evbe/u-boot.lds +++ b/board/freescale/m5253evbe/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds index 4717036..3a86350 100644 --- a/board/freescale/m5271evb/u-boot.lds +++ b/board/freescale/m5271evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5272c3/u-boot.lds +++ b/board/freescale/m5272c3/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds index 6c2dfe8..b37b06b 100644 --- a/board/freescale/m5275evb/u-boot.lds +++ b/board/freescale/m5275evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/freescale/m5282evb/u-boot.lds +++ b/board/freescale/m5282evb/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds index 80935f2..662bd31 100644 --- a/board/freescale/m53017evb/u-boot.lds +++ b/board/freescale/m53017evb/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index 40af8bc..fe5be41 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds index 19342ac..8ff6fc9 100644 --- a/board/freescale/m5373evb/u-boot.lds +++ b/board/freescale/m5373evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54451evb/u-boot.lds b/board/freescale/m54451evb/u-boot.lds index 45924b7..ea0984f 100644 --- a/board/freescale/m54451evb/u-boot.lds +++ b/board/freescale/m54451evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds index f341449..fe1b58c 100644 --- a/board/freescale/m54455evb/u-boot.lds +++ b/board/freescale/m54455evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds index 5472689..877eaf2 100644 --- a/board/freescale/m547xevb/u-boot.lds +++ b/board/freescale/m547xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds index cf3f38c..33e054b 100644 --- a/board/freescale/m548xevb/u-boot.lds +++ b/board/freescale/m548xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds index 79eb7ac..3db5dc3 100644 --- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds index 87cb8e3..416761b 100644 --- a/board/gaisler/gr_cpci_ax2000/u-boot.lds +++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds index 2fb44aa..43faf26 100644 --- a/board/gaisler/gr_ep2s60/u-boot.lds +++ b/board/gaisler/gr_ep2s60/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds index 8719e97..14c631e 100644 --- a/board/gaisler/gr_xc3s_1500/u-boot.lds +++ b/board/gaisler/gr_xc3s_1500/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds index 33890b5..4766465 100644 --- a/board/gaisler/grsim/u-boot.lds +++ b/board/gaisler/grsim/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds index cf6e502..cbd4ed6 100644 --- a/board/gaisler/grsim_leon2/u-boot.lds +++ b/board/gaisler/grsim_leon2/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 5bb6c62..1302eaa 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -75,6 +75,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index be99b51..de57dd1 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index 1d66a9b..45c56bb 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -84,6 +84,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds index 9fc417f..c415594 100644 --- a/board/gth2/u-boot.lds +++ b/board/gth2/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index ca97115..8b90f6c 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -76,6 +76,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds index 1309f20..83d2dd4 100644 --- a/board/hymod/u-boot.lds +++ b/board/hymod/u-boot.lds @@ -114,6 +114,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 93c79a6..23d4405 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/idmr/u-boot.lds +++ b/board/idmr/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds index 4a59cea..0569133 100644 --- a/board/incaip/u-boot.lds +++ b/board/incaip/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index 1e843eb..d0d9a37 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds index 6a017e3..da33f00 100644 --- a/board/korat/u-boot-F7FC.lds +++ b/board/korat/u-boot-F7FC.lds @@ -112,6 +112,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index de0b355..9360839 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index 8bf7324..7dfa157 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds index 731cec9..d291d60 100644 --- a/board/manroland/uc100/u-boot.lds +++ b/board/manroland/uc100/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds index 57c37de..2445b97 100644 --- a/board/matrix_vision/mvsmr/u-boot.lds +++ b/board/matrix_vision/mvsmr/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds index 3a05ef9..273d190 100644 --- a/board/micronas/vct/u-boot.lds +++ b/board/micronas/vct/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
. = ALIGN(4); diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds index 9f9ddb8..a6cad6d 100644 --- a/board/ml2/u-boot.lds +++ b/board/ml2/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds index dae2cfc..863468e 100644 --- a/board/mousse/u-boot.lds +++ b/board/mousse/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds index 11624d2..4610de9 100644 --- a/board/mvblue/u-boot.lds +++ b/board/mvblue/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/openrisc/openrisc-generic/u-boot.lds b/board/openrisc/openrisc-generic/u-boot.lds index 1aed197..bc610bd 100644 --- a/board/openrisc/openrisc-generic/u-boot.lds +++ b/board/openrisc/openrisc-generic/u-boot.lds @@ -30,6 +30,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } > ram __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .rodata : { *(.rodata); *(.rodata.*) diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds index bd0dee1..cac9188 100644 --- a/board/pb1x00/u-boot.lds +++ b/board/pb1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds index 9460b20..1f37e8b 100644 --- a/board/qemu-mips/u-boot.lds +++ b/board/qemu-mips/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds index 7317652..e1bb826 100644 --- a/board/qi/qi_lb60/u-boot.lds +++ b/board/qi/qi_lb60/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + uboot_end_data = .; num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 2fa085a..181468d 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index d943fb6..50c3eee 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds index 38ebe88..cff6ff5 100644 --- a/board/renesas/sh7757lcr/u-boot.lds +++ b/board/renesas/sh7757lcr/u-boot.lds @@ -85,6 +85,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds index a729c52..ee651d4 100644 --- a/board/rsdproto/u-boot.lds +++ b/board/rsdproto/u-boot.lds @@ -101,6 +101,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/samsung/smdk5250/smdk5250-uboot-spl.lds b/board/samsung/smdk5250/smdk5250-uboot-spl.lds index d78dd77..c6e6414 100644 --- a/board/samsung/smdk5250/smdk5250-uboot-spl.lds +++ b/board/samsung/smdk5250/smdk5250-uboot-spl.lds @@ -48,6 +48,11 @@ SECTIONS .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); + /* Align .machine_param on 256 byte boundary for easier searching */ .machine_param ALIGN(0x100) : { *(.machine_param) } >.sram . = ALIGN(4); diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds index f162815..27693f0e 100644 --- a/board/samsung/smdk6400/u-boot-nand.lds +++ b/board/samsung/smdk6400/u-boot-nand.lds @@ -51,7 +51,12 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
- . = ALIGN(4); + . = align(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = align(4); .mmudata : { *(.mmudata) }
. = ALIGN(4); diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds index e382fd1..a4421a7 100644 --- a/board/sandpoint/u-boot.lds +++ b/board/sandpoint/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index 0e78e4f..3532d3b 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index 02d1980..4153927 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 9ab248a..039597e 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index a84e7fd..ada68f1 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index c65f022..af83956 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 4f08be6..226cfc1 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index e62d53d..feb3870 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds index 1958c2f..b3551dd 100644 --- a/board/vpac270/u-boot-spl.lds +++ b/board/vpac270/u-boot-spl.lds @@ -57,6 +57,10 @@ SECTIONS *(.data) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index 3470b43..e642a3a 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds index 5f766ed..65c654d 100644 --- a/examples/standalone/mips.lds +++ b/examples/standalone/mips.lds @@ -39,6 +39,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data*) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; _gp = ALIGN(16) + 0x7ff0;
diff --git a/examples/standalone/nds32.lds b/examples/standalone/nds32.lds index 50b4c4b..4e581ad 100644 --- a/examples/standalone/nds32.lds +++ b/examples/standalone/nds32.lds @@ -36,6 +36,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.got : { diff --git a/examples/standalone/sparc.lds b/examples/standalone/sparc.lds index 9733daa..908a9be 100644 --- a/examples/standalone/sparc.lds +++ b/examples/standalone/sparc.lds @@ -46,6 +46,11 @@ SECTIONS { *(.data) } + + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4); __data_end = .;
diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds index d2b08f6..363690f 100644 --- a/nand_spl/board/freescale/mx31pdk/u-boot.lds +++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index d2b08f6..8332710 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds index 567f635..7ceae32 100644 --- a/nand_spl/board/samsung/smdk6400/u-boot.lds +++ b/nand_spl/board/samsung/smdk6400/u-boot.lds @@ -55,6 +55,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .;

On Tue, Sep 25, 2012 at 1:12 PM, Marek Vasut marex@denx.de wrote:
Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
This has a mix of indentation; I did not check every file but it seems not consistent.

Dear Otavio Salvador,
On Tue, Sep 25, 2012 at 1:12 PM, Marek Vasut marex@denx.de wrote:
Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org
This has a mix of indentation; I did not check every file but it seems not consistent.
It's not due to the patch, but because the indent in those linker files is frakked up ...
find . -name u-boot.lds | \ xargs -i sed -i "s/^([ \t]*)(__u_boot_cmd_end[\t ]*=[\t ]*.[\t ]*; )$/\1\2\n\n\1. = ALIGN(4);\n\1.u_boot_list : {\n\tINCLUDE u-boot.lst;\n\1}/" {}
Best regards, Marek Vasut

Dear Marek Vasut,
In message 1348589520-14395-4-git-send-email-marex@denx.de you wrote:
Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
How well has this been tested?
My understanding is that in theory this change should still produce the very same binary images as before? So did you compare the binaries?
Best regards,
Wolfgang Denk

Dear Wolfgang Denk,
Dear Marek Vasut,
In message 1348589520-14395-4-git-send-email-marex@denx.de you wrote:
Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
How well has this been tested?
My understanding is that in theory this change should still produce the very same binary images as before? So did you compare the binaries?
It's been compile-tested.I did not compare the binaries.
Best regards,
Wolfgang Denk
Best regards, Marek Vasut

This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/4 contains a huge pile of documentation which should clarify most of the questions.
I don't see size growth, I see size fluctiation in the order of tens of bytes with these patches applied. Subsequent patch added to this series removes the __u_boot_cmd section completely.
V2: Flip over commands to the LG-arrays, inline the documentation with kernel-doc (most people seems to be happy about KD, it's just a matter of negotiating the rules). Add patch discarding the u_boot_cmd section.
NOTE: This patchset has a cross-dependency on: [PATCH 0/4] Implant kernel-doc from Linux kernel
NOTE: Compile-testing of the latest patch in progress ... comments welcome.
Marek Vasut (5): common: Add symbol handling for generic lists into Makefile common: Implement support for linker-generated arrays common: Add .u_boot_list into all linker files common: Convert the U-Boot commands to LG-arrays common: Discard the __u_boot_cmd section
Makefile | 13 +- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 8 +- arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 7 +- arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 7 +- arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 + arch/arm/cpu/ixp/u-boot.lds | 8 +- arch/arm/cpu/u-boot.lds | 8 +- arch/arm/imx-common/cmd_bmode.c | 11 +- arch/avr32/cpu/u-boot.lds | 8 +- arch/avr32/lib/board.c | 4 +- arch/blackfin/cpu/u-boot.lds | 8 +- arch/m68k/lib/board.c | 4 +- arch/microblaze/cpu/u-boot.lds | 6 - arch/mips/lib/board.c | 4 +- arch/nds32/cpu/n1213/u-boot.lds | 8 +- arch/nds32/lib/board.c | 4 +- arch/nios2/cpu/u-boot.lds | 10 +- arch/powerpc/cpu/74xx_7xx/u-boot.lds | 8 +- arch/powerpc/cpu/mpc512x/u-boot.lds | 8 +- arch/powerpc/cpu/mpc5xx/u-boot.lds | 8 +- arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 6 +- arch/powerpc/cpu/mpc5xxx/u-boot.lds | 8 +- arch/powerpc/cpu/mpc8220/u-boot.lds | 8 +- arch/powerpc/cpu/mpc824x/u-boot.lds | 8 +- arch/powerpc/cpu/mpc8260/u-boot.lds | 8 +- arch/powerpc/cpu/mpc83xx/u-boot.lds | 8 +- arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 7 +- arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 + arch/powerpc/cpu/mpc85xx/u-boot.lds | 8 +- arch/powerpc/cpu/mpc86xx/u-boot.lds | 8 +- arch/powerpc/cpu/ppc4xx/u-boot.lds | 8 +- arch/sandbox/cpu/u-boot.lds | 8 +- arch/sh/cpu/sh2/u-boot.lds | 9 +- arch/sh/cpu/sh3/u-boot.lds | 9 +- arch/sh/cpu/sh4/u-boot.lds | 9 +- arch/sparc/lib/board.c | 4 +- arch/x86/cpu/u-boot.lds | 7 +- board/BuS/eb_cpu5282/u-boot.lds | 8 +- board/LEOX/elpt860/u-boot.lds | 8 +- board/RPXClassic/u-boot.lds | 8 +- board/RPXClassic/u-boot.lds.debug | 8 +- board/RPXlite/u-boot.lds | 8 +- board/RPXlite/u-boot.lds.debug | 8 +- board/RPXlite_dw/u-boot.lds | 8 +- board/RPXlite_dw/u-boot.lds.debug | 8 +- board/RRvision/u-boot.lds | 8 +- board/actux1/u-boot.lds | 8 +- board/actux2/u-boot.lds | 8 +- board/actux3/u-boot.lds | 8 +- board/adder/u-boot.lds | 8 +- board/ait/cam_enc_4xx/u-boot-spl.lds | 4 + board/altera/nios2-generic/u-boot.lds | 10 +- board/amcc/acadia/u-boot-nand.lds | 6 +- board/amcc/bamboo/u-boot-nand.lds | 6 +- board/amcc/canyonlands/u-boot-nand.lds | 6 +- board/amcc/kilauea/u-boot-nand.lds | 6 +- board/amcc/sequoia/u-boot-nand.lds | 6 +- board/amcc/sequoia/u-boot-ram.lds | 6 +- board/amirix/ap1000/u-boot.lds | 8 +- board/astro/mcf5373l/u-boot.lds | 8 +- board/c2mon/u-boot.lds | 8 +- board/c2mon/u-boot.lds.debug | 8 +- board/cobra5272/u-boot.lds | 8 +- board/cogent/u-boot.lds | 8 +- board/cogent/u-boot.lds.debug | 8 +- board/cray/L1/u-boot.lds.debug | 8 +- board/dave/PPChameleonEVB/u-boot.lds | 8 +- board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 + board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 + board/dbau1x00/u-boot.lds | 4 - board/dvlhost/u-boot.lds | 8 +- board/eltec/mhpc/u-boot.lds | 8 +- board/eltec/mhpc/u-boot.lds.debug | 8 +- board/emk/top860/u-boot.lds | 8 +- board/ep88x/u-boot.lds | 8 +- board/esd/dasa_sim/u-boot.lds | 8 +- board/esd/pmc440/u-boot-nand.lds | 6 +- board/esd/tasreg/u-boot.lds | 8 +- board/esteem192e/u-boot.lds | 8 +- board/etx094/u-boot.lds | 8 +- board/evb64260/u-boot.lds | 8 +- board/fads/u-boot.lds | 8 +- board/flagadm/u-boot.lds | 8 +- board/flagadm/u-boot.lds.debug | 8 +- board/freescale/m5208evbe/u-boot.lds | 8 +- board/freescale/m52277evb/u-boot.lds | 8 +- board/freescale/m5235evb/u-boot.lds | 8 +- board/freescale/m5249evb/u-boot.lds | 8 +- board/freescale/m5253demo/u-boot.lds | 8 +- board/freescale/m5253evbe/u-boot.lds | 8 +- board/freescale/m5271evb/u-boot.lds | 8 +- board/freescale/m5272c3/u-boot.lds | 8 +- board/freescale/m5275evb/u-boot.lds | 8 +- board/freescale/m5282evb/u-boot.lds | 8 +- board/freescale/m53017evb/u-boot.lds | 8 +- board/freescale/m5329evb/u-boot.lds | 8 +- board/freescale/m5373evb/u-boot.lds | 8 +- board/freescale/m54451evb/u-boot.lds | 8 +- board/freescale/m54455evb/u-boot.lds | 8 +- board/freescale/m547xevb/u-boot.lds | 8 +- board/freescale/m548xevb/u-boot.lds | 8 +- board/freescale/mx31ads/u-boot.lds | 8 +- board/gaisler/gr_cpci_ax2000/u-boot.lds | 7 +- board/gaisler/gr_ep2s60/u-boot.lds | 7 +- board/gaisler/gr_xc3s_1500/u-boot.lds | 7 +- board/gaisler/grsim/u-boot.lds | 7 +- board/gaisler/grsim_leon2/u-boot.lds | 7 +- board/gen860t/u-boot-flashenv.lds | 7 +- board/gen860t/u-boot.lds | 8 +- board/genietv/u-boot.lds | 8 +- board/genietv/u-boot.lds.debug | 8 +- board/hermes/u-boot.lds | 8 +- board/hermes/u-boot.lds.debug | 8 +- board/hymod/u-boot.lds | 8 +- board/hymod/u-boot.lds.debug | 8 +- board/icu862/u-boot.lds | 8 +- board/icu862/u-boot.lds.debug | 8 +- board/idmr/u-boot.lds | 8 +- board/incaip/u-boot.lds | 4 - board/ip860/u-boot.lds | 8 +- board/ip860/u-boot.lds.debug | 8 +- board/ivm/u-boot.lds | 8 +- board/ivm/u-boot.lds.debug | 8 +- board/korat/u-boot-F7FC.lds | 6 +- board/kup/kup4k/u-boot.lds | 8 +- board/kup/kup4k/u-boot.lds.debug | 8 +- board/kup/kup4x/u-boot.lds | 8 +- board/kup/kup4x/u-boot.lds.debug | 8 +- board/lantec/u-boot.lds | 8 +- board/lantec/u-boot.lds.debug | 8 +- board/lwmon/u-boot.lds | 8 +- board/lwmon/u-boot.lds.debug | 8 +- board/manroland/uc100/u-boot.lds | 8 +- board/matrix_vision/mvsmr/u-boot.lds | 8 +- board/mbx8xx/u-boot.lds | 8 +- board/mbx8xx/u-boot.lds.debug | 8 +- board/micronas/vct/u-boot.lds | 4 - board/ml2/u-boot.lds | 8 +- board/ml2/u-boot.lds.debug | 8 +- board/mousse/u-boot.lds | 8 +- board/mousse/u-boot.lds.ram | 3 - board/mousse/u-boot.lds.rom | 3 - board/mpl/pip405/u-boot.lds.debug | 8 +- board/mvblue/u-boot.lds | 8 +- board/netphone/u-boot.lds | 8 +- board/netphone/u-boot.lds.debug | 8 +- board/netta/u-boot.lds | 8 +- board/netta/u-boot.lds.debug | 8 +- board/netta2/u-boot.lds | 8 +- board/netta2/u-boot.lds.debug | 8 +- board/netvia/u-boot.lds | 8 +- board/netvia/u-boot.lds.debug | 8 +- board/nx823/u-boot.lds | 8 +- board/nx823/u-boot.lds.debug | 8 +- board/openrisc/openrisc-generic/u-boot.lds | 8 +- board/pb1x00/u-boot.lds | 4 - board/qemu-mips/u-boot.lds | 4 - board/qi/qi_lb60/u-boot.lds | 8 +- board/quantum/u-boot.lds | 8 +- board/r360mpi/u-boot.lds | 8 +- board/rbc823/u-boot.lds | 8 +- board/renesas/sh7757lcr/u-boot.lds | 9 +- board/rsdproto/u-boot.lds | 8 +- board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 + board/samsung/smdk6400/u-boot-nand.lds | 10 +- board/sandburst/karef/u-boot.lds.debug | 8 +- board/sandburst/metrobox/u-boot.lds.debug | 8 +- board/sandpoint/u-boot.lds | 8 +- board/siemens/IAD210/u-boot.lds | 8 +- board/sixnet/u-boot.lds | 8 +- board/snmc/qs850/u-boot.lds | 8 +- board/snmc/qs860t/u-boot.lds | 8 +- board/spc1920/u-boot.lds | 8 +- board/spd8xx/u-boot.lds | 8 +- board/spd8xx/u-boot.lds.debug | 8 +- board/stx/stxxtc/u-boot.lds | 8 +- board/stx/stxxtc/u-boot.lds.debug | 8 +- board/svm_sc8xx/u-boot.lds | 8 +- board/tqc/tqm8xx/u-boot.lds | 8 +- board/v37/u-boot.lds | 8 +- board/vpac270/u-boot-spl.lds | 4 + board/w7o/u-boot.lds.debug | 8 +- board/westel/amx860/u-boot.lds | 8 +- board/westel/amx860/u-boot.lds.debug | 8 +- board/xes/xpedite1000/u-boot.lds.debug | 8 +- common/cmd_help.c | 8 +- common/command.c | 17 ++- config.mk | 2 + doc/README.commands | 10 +- examples/standalone/mips.lds | 4 + examples/standalone/nds32.lds | 4 + examples/standalone/sparc.lds | 5 + helper.mk | 64 ++++++++++ include/command.h | 28 ++-- include/linker_lists.h | 148 ++++++++++++++++++++++ nand_spl/board/freescale/mpc8536ds/Makefile | 9 +- nand_spl/board/freescale/mpc8569mds/Makefile | 9 +- nand_spl/board/freescale/mpc8572ds/Makefile | 9 +- nand_spl/board/freescale/mx31pdk/Makefile | 9 +- nand_spl/board/freescale/mx31pdk/u-boot.lds | 8 +- nand_spl/board/freescale/p1010rdb/Makefile | 9 +- nand_spl/board/freescale/p1023rds/Makefile | 9 +- nand_spl/board/freescale/p1_p2_rdb/Makefile | 9 +- nand_spl/board/freescale/p1_p2_rdb_pc/Makefile | 9 +- nand_spl/board/karo/tx25/Makefile | 9 +- nand_spl/board/karo/tx25/u-boot.lds | 8 +- nand_spl/board/samsung/smdk6400/u-boot.lds | 8 +- spl/Makefile | 6 +- 208 files changed, 1174 insertions(+), 622 deletions(-) create mode 100644 helper.mk create mode 100644 include/linker_lists.h

This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds .
Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- Makefile | 13 +++-- config.mk | 2 + helper.mk | 64 ++++++++++++++++++++++++ nand_spl/board/freescale/mpc8536ds/Makefile | 9 +++- nand_spl/board/freescale/mpc8569mds/Makefile | 9 +++- nand_spl/board/freescale/mpc8572ds/Makefile | 9 +++- nand_spl/board/freescale/mx31pdk/Makefile | 9 +++- nand_spl/board/freescale/p1010rdb/Makefile | 9 +++- nand_spl/board/freescale/p1023rds/Makefile | 9 +++- nand_spl/board/freescale/p1_p2_rdb/Makefile | 9 +++- nand_spl/board/freescale/p1_p2_rdb_pc/Makefile | 9 +++- nand_spl/board/karo/tx25/Makefile | 9 +++- spl/Makefile | 6 ++- 13 files changed, 144 insertions(+), 22 deletions(-) create mode 100644 helper.mk
diff --git a/Makefile b/Makefile index eb9c388..54cc91b 100644 --- a/Makefile +++ b/Makefile @@ -515,7 +515,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ - cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \ + UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ + sed -n -e 's/.*($(SYM_PREFIX)__u_boot_list_.*)/-u\1/p'|sort|uniq`;\ + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \ + $$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot endif @@ -548,8 +551,12 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@)
-$(obj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates u-boot.lst, +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all diff --git a/config.mk b/config.mk index c3822a2..d2ed5bf 100644 --- a/config.mk +++ b/config.mk @@ -23,6 +23,8 @@
#########################################################################
+include $(TOPDIR)/helper.mk + ifeq ($(CURDIR),$(SRCTREE)) dir := else diff --git a/helper.mk b/helper.mk new file mode 100644 index 0000000..79a1da0 --- /dev/null +++ b/helper.mk @@ -0,0 +1,64 @@ +# +# Copyright (C) 2012 Marek Vasut marex@denx.de +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +######################################################################### + +## +# make_u_boot_list - Generate contents of u_boot_list section +# 1: The name of the resulting file (usually u-boot.lst) +# 2: Files to analyze for possible u_boot_list entries +# +# This function generates the contents of the u_boot_list section, +# including all the border symbols for it's subsections. The operation +# of this function is as follows, numbering goes per lines: +# +# 1) Dump the ELF header sections from all files supplied via $(2) +# 2) Filter out all other stuff that does not belong into .u_boot_list +# section. +# 3) Fix up the lines so that the resulting output is is in format +# ".u_boot_list.*". +# 4) Remove the last .something$, since that only contains the name +# of the variable to be put into a subsection. This name is irelevant +# for generation of border symbols, thus of no interest, remove it. +# 5) Take each line and for every dot "." in that line, print the whole +# line until that dot "." . This is important so that we have all +# parent border symbols generated as well. +# 6) Load every line and firstly append "\a" at the end and print the +# line. Next, append "@" at the end and print the line. Finally, +# append "~" at the end of line. This will make sense in conjunction +# with 6) and 7). +# 7) Sort the lines. It is imperative to use LC_COLLATE=C here because +# with this, the "\a" symbol is first and "~" symbol is last. Any +# other symbols fall inbetween. Symbols like "@", which marks the +# end of current line (representing current section) and ".", which +# means the line continues and thus represents subsection. +# 8) With such ordering, all lines ending with "\a" will float at the +# begining of all lines with the same prefix. Thus it is easy to +# replace "\a" with __start and make it the __start border symbol. +# Very similarly for "~", which will be always at the bottom and so +# can be replaced by "__end" and made into the __end border symbol. +# Finally, every line ending with "@" symbol will be transformed +# into " *(SORT(${line}*)); " format, which in the linker parlance +# will allow it to trap all symbols relevant to the subsection. +# +define make_u_boot_list +$(1): $(2) + $(OBJDUMP) -h $(2) | \ + sed -n -e '/.*.u_boot_list[^ ]+/ ! {d;n}' \ + -e 's/.*(.u_boot_list[^ ]+).*$$$$/\1/' \ + -e 's/.[^.]+$$$$//' \ + -e ':s /^.+$$$$/ { p;s/^(.*).[^.]*$$$$/\1/;b s }' | \ + sed -n -e 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \ + LC_COLLATE=C sort -u | \ + sed -n -e '/\a$$$$/ { s/./_/g;s/\a$$$$/__start = .;/p; }'\ + -e '/~$$$$/ { s/./_/g;s/~$$$$/__end = .;/p; }'\ + -e '/@$$$$/ { s/(.*)@$$$$/*(SORT(\1.*));/p }' > $(1) +endef diff --git a/nand_spl/board/freescale/mpc8536ds/Makefile b/nand_spl/board/freescale/mpc8536ds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8536ds/Makefile +++ b/nand_spl/board/freescale/mpc8536ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8569mds/Makefile b/nand_spl/board/freescale/mpc8569mds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8569mds/Makefile +++ b/nand_spl/board/freescale/mpc8569mds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8572ds/Makefile b/nand_spl/board/freescale/mpc8572ds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8572ds/Makefile +++ b/nand_spl/board/freescale/mpc8572ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mx31pdk/Makefile b/nand_spl/board/freescale/mx31pdk/Makefile index 87784d2..4beb3f3 100644 --- a/nand_spl/board/freescale/mx31pdk/Makefile +++ b/nand_spl/board/freescale/mx31pdk/Makefile @@ -6,6 +6,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -36,8 +37,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/nand_spl/board/freescale/p1010rdb/Makefile b/nand_spl/board/freescale/p1010rdb/Makefile index cdbd492..9c2c588 100644 --- a/nand_spl/board/freescale/p1010rdb/Makefile +++ b/nand_spl/board/freescale/p1010rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1023rds/Makefile b/nand_spl/board/freescale/p1023rds/Makefile index da43521..8c71ee1 100644 --- a/nand_spl/board/freescale/p1023rds/Makefile +++ b/nand_spl/board/freescale/p1023rds/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb/Makefile b/nand_spl/board/freescale/p1_p2_rdb/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/p1_p2_rdb/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile index 46cf709..abd6e68 100644 --- a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/karo/tx25/Makefile b/nand_spl/board/karo/tx25/Makefile index 0336346..bfd5bde 100644 --- a/nand_spl/board/karo/tx25/Makefile +++ b/nand_spl/board/karo/tx25/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/spl/Makefile b/spl/Makefile index d9b1c2f..6b37339 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -149,7 +149,11 @@ $(START): depend $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +# The following line expands into whole rule which generates u-boot.lst, +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS))) +$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
depend: $(obj).depend

This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked.
The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds .
Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- .gitignore | 1 + Makefile | 13 +++-- config.mk | 2 + helper.mk | 64 ++++++++++++++++++++++++ nand_spl/board/freescale/mpc8536ds/Makefile | 9 +++- nand_spl/board/freescale/mpc8569mds/Makefile | 9 +++- nand_spl/board/freescale/mpc8572ds/Makefile | 9 +++- nand_spl/board/freescale/mx31pdk/Makefile | 9 +++- nand_spl/board/freescale/p1010rdb/Makefile | 9 +++- nand_spl/board/freescale/p1023rds/Makefile | 9 +++- nand_spl/board/freescale/p1_p2_rdb/Makefile | 9 +++- nand_spl/board/freescale/p1_p2_rdb_pc/Makefile | 9 +++- nand_spl/board/karo/tx25/Makefile | 9 +++- spl/.gitignore | 1 + spl/Makefile | 6 ++- 15 files changed, 146 insertions(+), 22 deletions(-) create mode 100644 helper.mk
V2: Add .gitignore entries
diff --git a/.gitignore b/.gitignore index d91e91b..1ac43f2 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ /u-boot.sha1 /u-boot.dis /u-boot.lds +/u-boot.lst /u-boot.ubl /u-boot.ais /u-boot.dtb diff --git a/Makefile b/Makefile index eb9c388..54cc91b 100644 --- a/Makefile +++ b/Makefile @@ -515,7 +515,10 @@ else GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*($(SYM_PREFIX)__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ - cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \ + UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ + sed -n -e 's/.*($(SYM_PREFIX)__u_boot_list_.*)/-u\1/p'|sort|uniq`;\ + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \ + $$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot endif @@ -548,8 +551,12 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot $(LDSCRIPT): depend $(MAKE) -C $(dir $@) $(notdir $@)
-$(obj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates u-boot.lst, +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all diff --git a/config.mk b/config.mk index c3822a2..d2ed5bf 100644 --- a/config.mk +++ b/config.mk @@ -23,6 +23,8 @@
#########################################################################
+include $(TOPDIR)/helper.mk + ifeq ($(CURDIR),$(SRCTREE)) dir := else diff --git a/helper.mk b/helper.mk new file mode 100644 index 0000000..79a1da0 --- /dev/null +++ b/helper.mk @@ -0,0 +1,64 @@ +# +# Copyright (C) 2012 Marek Vasut marex@denx.de +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +######################################################################### + +## +# make_u_boot_list - Generate contents of u_boot_list section +# 1: The name of the resulting file (usually u-boot.lst) +# 2: Files to analyze for possible u_boot_list entries +# +# This function generates the contents of the u_boot_list section, +# including all the border symbols for it's subsections. The operation +# of this function is as follows, numbering goes per lines: +# +# 1) Dump the ELF header sections from all files supplied via $(2) +# 2) Filter out all other stuff that does not belong into .u_boot_list +# section. +# 3) Fix up the lines so that the resulting output is is in format +# ".u_boot_list.*". +# 4) Remove the last .something$, since that only contains the name +# of the variable to be put into a subsection. This name is irelevant +# for generation of border symbols, thus of no interest, remove it. +# 5) Take each line and for every dot "." in that line, print the whole +# line until that dot "." . This is important so that we have all +# parent border symbols generated as well. +# 6) Load every line and firstly append "\a" at the end and print the +# line. Next, append "@" at the end and print the line. Finally, +# append "~" at the end of line. This will make sense in conjunction +# with 6) and 7). +# 7) Sort the lines. It is imperative to use LC_COLLATE=C here because +# with this, the "\a" symbol is first and "~" symbol is last. Any +# other symbols fall inbetween. Symbols like "@", which marks the +# end of current line (representing current section) and ".", which +# means the line continues and thus represents subsection. +# 8) With such ordering, all lines ending with "\a" will float at the +# begining of all lines with the same prefix. Thus it is easy to +# replace "\a" with __start and make it the __start border symbol. +# Very similarly for "~", which will be always at the bottom and so +# can be replaced by "__end" and made into the __end border symbol. +# Finally, every line ending with "@" symbol will be transformed +# into " *(SORT(${line}*)); " format, which in the linker parlance +# will allow it to trap all symbols relevant to the subsection. +# +define make_u_boot_list +$(1): $(2) + $(OBJDUMP) -h $(2) | \ + sed -n -e '/.*.u_boot_list[^ ]+/ ! {d;n}' \ + -e 's/.*(.u_boot_list[^ ]+).*$$$$/\1/' \ + -e 's/.[^.]+$$$$//' \ + -e ':s /^.+$$$$/ { p;s/^(.*).[^.]*$$$$/\1/;b s }' | \ + sed -n -e 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \ + LC_COLLATE=C sort -u | \ + sed -n -e '/\a$$$$/ { s/./_/g;s/\a$$$$/__start = .;/p; }'\ + -e '/~$$$$/ { s/./_/g;s/~$$$$/__end = .;/p; }'\ + -e '/@$$$$/ { s/(.*)@$$$$/*(SORT(\1.*));/p }' > $(1) +endef diff --git a/nand_spl/board/freescale/mpc8536ds/Makefile b/nand_spl/board/freescale/mpc8536ds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8536ds/Makefile +++ b/nand_spl/board/freescale/mpc8536ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8569mds/Makefile b/nand_spl/board/freescale/mpc8569mds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8569mds/Makefile +++ b/nand_spl/board/freescale/mpc8569mds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mpc8572ds/Makefile b/nand_spl/board/freescale/mpc8572ds/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/mpc8572ds/Makefile +++ b/nand_spl/board/freescale/mpc8572ds/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/mx31pdk/Makefile b/nand_spl/board/freescale/mx31pdk/Makefile index 87784d2..4beb3f3 100644 --- a/nand_spl/board/freescale/mx31pdk/Makefile +++ b/nand_spl/board/freescale/mx31pdk/Makefile @@ -6,6 +6,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -36,8 +37,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/nand_spl/board/freescale/p1010rdb/Makefile b/nand_spl/board/freescale/p1010rdb/Makefile index cdbd492..9c2c588 100644 --- a/nand_spl/board/freescale/p1010rdb/Makefile +++ b/nand_spl/board/freescale/p1010rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1023rds/Makefile b/nand_spl/board/freescale/p1023rds/Makefile index da43521..8c71ee1 100644 --- a/nand_spl/board/freescale/p1023rds/Makefile +++ b/nand_spl/board/freescale/p1023rds/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb/Makefile b/nand_spl/board/freescale/p1_p2_rdb/Makefile index 43da3df..fe6a8e0 100644 --- a/nand_spl/board/freescale/p1_p2_rdb/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile index 46cf709..abd6e68 100644 --- a/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile +++ b/nand_spl/board/freescale/p1_p2_rdb_pc/Makefile @@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \ $(LDFLAGS) $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_NAND_SPL @@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds -Map $(nandobj)u-boot-spl.map \ -o $(nandobj)u-boot-spl
-$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
# create symbolic links for common files
diff --git a/nand_spl/board/karo/tx25/Makefile b/nand_spl/board/karo/tx25/Makefile index 0336346..bfd5bde 100644 --- a/nand_spl/board/karo/tx25/Makefile +++ b/nand_spl/board/karo/tx25/Makefile @@ -27,6 +27,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk nandobj := $(OBJTREE)/nand_spl/
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \ $(LDFLAGS_FINAL) AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL @@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds -Map $(nandobj)u-boot-spl.map \ -o $@
-$(nandobj)u-boot.lds: $(LDSCRIPT) - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ +# The following line expands into whole rule which generates $(LSTSCRIPT), +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) +$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT) + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
#########################################################################
diff --git a/spl/.gitignore b/spl/.gitignore index 7c88147..8cf487e 100644 --- a/spl/.gitignore +++ b/spl/.gitignore @@ -2,3 +2,4 @@ u-boot-spl u-boot-spl.bin u-boot-spl.lds u-boot-spl.map +u-boot.lst diff --git a/spl/Makefile b/spl/Makefile index d9b1c2f..6b37339 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -149,7 +149,11 @@ $(START): depend $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
-$(obj)u-boot-spl.lds: $(LDSCRIPT) depend +# The following line expands into whole rule which generates u-boot.lst, +# the file containing u-boots LG-array linker section. This is included into +# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file. +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS))) +$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
depend: $(obj).depend

This patch adds support for linker-generated array. These arrays are a generalization of the U-Boot command declaration approach.
Basically, the idea is to generate an array, where elements of the array are statically initialized at compile time and each element is declared separatelly at different place. Such array is assembled together into continuous piece of memory by linker and a pointer to it's first entry can then be retrieved via accessor.
The actual implementation relies on placing any variable that is to represent an element of LG-array into particular subsection of the .u_boot_list linker section . The subsection is determined by user options. Once compiled, it is possible to dump all symbols placed in .u_boot_list section and the subsections in which they should be and generate appropriate bounds for each requested subsection of the .u_boot_list section. Each such subsection thus contains __start and __end entries at the begining and end respecitively.
This allows for simple run-time traversing of the array, since the symbols are properly defined.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- include/linker_lists.h | 148 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 include/linker_lists.h
diff --git a/include/linker_lists.h b/include/linker_lists.h new file mode 100644 index 0000000..0b405d7 --- /dev/null +++ b/include/linker_lists.h @@ -0,0 +1,148 @@ +/* + * include/linker_lists.h + * + * Implementation of linker-generated arrays + * + * Copyright (C) 2012 Marek Vasut marex@denx.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + */ +#ifndef __LINKER_LISTS_H__ +#define __LINKER_LISTS_H__ + +/** + * ll_entry_declare() - Declare linker-generated array entry + * @_type: Data type of the entry + * @_name: Name of the entry + * @_section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots, for name concatenation) + * @_section_d: Subsection of u_boot_list in which this entry is placed + * (with dots, for section concatenation) + * + * This macro declares a variable that is placed into a linker-generated + * array. This is a basic building block for more advanced use of linker- + * generated arrays. The user is expected to build their own macro wrapper + * around this one. + * + * A variable declared using this macro must be compile-time initialized + * and is as such placed into subsection of special section, .u_boot_list. + * The subsection is specified by the _section_[u,d] parameter, see below. + * The base name of the variable is _name, yet the actual variable is + * declared as concatenation of + * + * %_u_boot_list_ + @_section_u + _ + @_name + * + * which ensures name uniqueness. This variable shall never be refered + * directly though. + * + * Special precaution must be made when using this macro: + * 1) The _type must not contain the "static" keyword, otherwise the entry + * is not generated. + * + * 2) The @_section_u and @_section_d variables must match, the only difference + * is that in @_section_u is every dot "." character present in @_section_d + * replaced by a single underscore "_" character in @_section_u. The actual + * purpose of these parameters is to select proper subsection in the global + * .u_boot_list section. + * + * 3) In case a section is declared that contains some array elements AND a + * subsection of this section is declared and contains some elements, it is + * imperative that the elements are of the same type. + * + * 4) In case an outer section is declared that contains some array elements + * AND am inner subsection of this section is declared and contains some + * elements, then when traversing the outer section, even the elements of + * the inner sections are present in the array. + * + * Example: + * ll_entry_declare(struct my_sub_cmd, my_sub_cmd, cmd_sub, cmd.sub) = { + * .x = 3, + * .y = 4, + * }; + */ +#define ll_entry_declare(_type, _name, _section_u, _section_d) \ + _type _u_boot_list_##_section_u##_##_name __attribute__(( \ + unused, aligned(4), \ + section(".u_boot_list."#_section_d"."#_name))) + +/** + * ll_entry_start() - Point to first entry of linker-generated array + * @_type: Data type of the entry + * @_section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns (_type *) pointer to the very first entry of a + * linker-generated array placed into subsection of .u_boot_list section + * specified by _section_u argument. + * + * Example: + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + */ +#define ll_entry_start(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + _type *_ll_result = &_u_boot_list_##_section_u##__start;\ + _ll_result; \ + }) + +/** + * ll_entry_count() - Return the number of elements in linker-generated array + * @_type: Data type of the entry + * @_section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns the number of elements of a linker-generated array + * placed into subsection of .u_boot_list section specified by _section_u + * argument. The result is of an unsigned int type. + * + * Example: + * int i; + * const unsigned int count = ll_entry_count(struct my_sub_cmd, cmd_sub); + * struct my_sub_cmd *msc = ll_entry_start(struct my_sub_cmd, cmd_sub); + * for (i = 0; i < count; i++, msc++) + * printf("Entry %i, x=%i y=%i\n", i, msc->x, msc->y); + */ +#define ll_entry_count(_type, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##__start; \ + extern _type _u_boot_list_##_section_u##__end; \ + unsigned int _ll_result = \ + &_u_boot_list_##_section_u##__end - \ + &_u_boot_list_##_section_u##__start; \ + _ll_result; \ + }) + + +/** + * ll_entry_get() - Retrieve entry from linker-generated array by name + * @_type: Data type of the entry + * @_name: Name of the entry + * @_section_u: Subsection of u_boot_list in which this entry is placed + * (with underscores instead of dots) + * + * This function returns a pointer to a particular entry in LG-array + * identified by the subsection of u_boot_list where the entry resides + * and it's name. + * + * Example: + * ll_entry_declare(struct my_sub_cmd, my_sub_cmd, cmd_sub, cmd.sub) = { + * .x = 3, + * .y = 4, + * }; + * ... + * struct my_sub_cmd *c = ll_entry_get(struct my_sub_cmd, my_sub_cmd, cmd_sub); + */ +#define ll_entry_get(_type, _name, _section_u) \ + ({ \ + extern _type _u_boot_list_##_section_u##_##_name; \ + _type *_ll_result = &_u_boot_list_##_section_u##_##_name;\ + _ll_result; \ + }) + +#endif /* __LINKER_LISTS_H__ */

Add section for the linker-generated lists into all possible linker files, so that everyone can easily use these lists. This is mostly a mechanical adjustment.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 5 +++++ arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 4 ++++ arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 ++++ arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 5 +++++ arch/arm/cpu/ixp/u-boot.lds | 5 +++++ arch/arm/cpu/u-boot.lds | 5 +++++ arch/avr32/cpu/u-boot.lds | 5 +++++ arch/blackfin/cpu/u-boot.lds | 4 ++++ arch/microblaze/cpu/u-boot.lds | 5 +++++ arch/nds32/cpu/n1213/u-boot.lds | 5 +++++ arch/nios2/cpu/u-boot.lds | 5 +++++ arch/powerpc/cpu/74xx_7xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc512x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 +++ arch/powerpc/cpu/mpc5xxx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8220/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc824x/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc8260/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc83xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 4 ++++ arch/powerpc/cpu/mpc85xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/mpc86xx/u-boot.lds | 5 +++++ arch/powerpc/cpu/ppc4xx/u-boot.lds | 5 +++++ arch/sandbox/cpu/u-boot.lds | 5 +++++ arch/sh/cpu/sh2/u-boot.lds | 4 ++++ arch/sh/cpu/sh3/u-boot.lds | 4 ++++ arch/sh/cpu/sh4/u-boot.lds | 4 ++++ arch/x86/cpu/u-boot.lds | 5 +++++ board/BuS/eb_cpu5282/u-boot.lds | 5 +++++ board/LEOX/elpt860/u-boot.lds | 5 +++++ board/RPXClassic/u-boot.lds | 5 +++++ board/RPXClassic/u-boot.lds.debug | 5 +++++ board/RPXlite/u-boot.lds | 5 +++++ board/RPXlite/u-boot.lds.debug | 5 +++++ board/RPXlite_dw/u-boot.lds | 5 +++++ board/RPXlite_dw/u-boot.lds.debug | 5 +++++ board/RRvision/u-boot.lds | 5 +++++ board/actux1/u-boot.lds | 5 +++++ board/actux2/u-boot.lds | 5 +++++ board/actux3/u-boot.lds | 5 +++++ board/adder/u-boot.lds | 5 +++++ board/ait/cam_enc_4xx/u-boot-spl.lds | 4 ++++ board/altera/nios2-generic/u-boot.lds | 5 +++++ board/amcc/acadia/u-boot-nand.lds | 3 +++ board/amcc/bamboo/u-boot-nand.lds | 3 +++ board/amcc/canyonlands/u-boot-nand.lds | 3 +++ board/amcc/kilauea/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-nand.lds | 3 +++ board/amcc/sequoia/u-boot-ram.lds | 3 +++ board/amirix/ap1000/u-boot.lds | 5 +++++ board/astro/mcf5373l/u-boot.lds | 5 +++++ board/c2mon/u-boot.lds | 5 +++++ board/c2mon/u-boot.lds.debug | 5 +++++ board/cobra5272/u-boot.lds | 5 +++++ board/cogent/u-boot.lds | 5 +++++ board/cogent/u-boot.lds.debug | 5 +++++ board/cray/L1/u-boot.lds.debug | 5 +++++ board/dave/PPChameleonEVB/u-boot.lds | 5 +++++ board/davinci/da8xxevm/u-boot-spl-da850evm.lds | 6 ++++++ board/davinci/da8xxevm/u-boot-spl-hawk.lds | 5 +++++ board/dbau1x00/u-boot.lds | 5 +++++ board/dvlhost/u-boot.lds | 5 +++++ board/eltec/mhpc/u-boot.lds | 5 +++++ board/eltec/mhpc/u-boot.lds.debug | 5 +++++ board/emk/top860/u-boot.lds | 5 +++++ board/ep88x/u-boot.lds | 5 +++++ board/esd/dasa_sim/u-boot.lds | 5 +++++ board/esd/pmc440/u-boot-nand.lds | 3 +++ board/esd/tasreg/u-boot.lds | 5 +++++ board/esteem192e/u-boot.lds | 5 +++++ board/etx094/u-boot.lds | 5 +++++ board/evb64260/u-boot.lds | 5 +++++ board/fads/u-boot.lds | 5 +++++ board/flagadm/u-boot.lds | 5 +++++ board/flagadm/u-boot.lds.debug | 5 +++++ board/freescale/m5208evbe/u-boot.lds | 5 +++++ board/freescale/m52277evb/u-boot.lds | 5 +++++ board/freescale/m5235evb/u-boot.lds | 5 +++++ board/freescale/m5249evb/u-boot.lds | 5 +++++ board/freescale/m5253demo/u-boot.lds | 5 +++++ board/freescale/m5253evbe/u-boot.lds | 5 +++++ board/freescale/m5271evb/u-boot.lds | 5 +++++ board/freescale/m5272c3/u-boot.lds | 5 +++++ board/freescale/m5275evb/u-boot.lds | 5 +++++ board/freescale/m5282evb/u-boot.lds | 5 +++++ board/freescale/m53017evb/u-boot.lds | 5 +++++ board/freescale/m5329evb/u-boot.lds | 5 +++++ board/freescale/m5373evb/u-boot.lds | 5 +++++ board/freescale/m54451evb/u-boot.lds | 5 +++++ board/freescale/m54455evb/u-boot.lds | 5 +++++ board/freescale/m547xevb/u-boot.lds | 5 +++++ board/freescale/m548xevb/u-boot.lds | 5 +++++ board/freescale/mx31ads/u-boot.lds | 5 +++++ board/gaisler/gr_cpci_ax2000/u-boot.lds | 5 +++++ board/gaisler/gr_ep2s60/u-boot.lds | 5 +++++ board/gaisler/gr_xc3s_1500/u-boot.lds | 5 +++++ board/gaisler/grsim/u-boot.lds | 5 +++++ board/gaisler/grsim_leon2/u-boot.lds | 5 +++++ board/gen860t/u-boot-flashenv.lds | 4 ++++ board/gen860t/u-boot.lds | 5 +++++ board/genietv/u-boot.lds | 5 +++++ board/genietv/u-boot.lds.debug | 5 +++++ board/hermes/u-boot.lds | 5 +++++ board/hermes/u-boot.lds.debug | 5 +++++ board/hymod/u-boot.lds | 5 +++++ board/hymod/u-boot.lds.debug | 5 +++++ board/icu862/u-boot.lds | 5 +++++ board/icu862/u-boot.lds.debug | 5 +++++ board/idmr/u-boot.lds | 5 +++++ board/incaip/u-boot.lds | 5 +++++ board/ip860/u-boot.lds | 5 +++++ board/ip860/u-boot.lds.debug | 5 +++++ board/ivm/u-boot.lds | 5 +++++ board/ivm/u-boot.lds.debug | 5 +++++ board/korat/u-boot-F7FC.lds | 3 +++ board/kup/kup4k/u-boot.lds | 5 +++++ board/kup/kup4k/u-boot.lds.debug | 5 +++++ board/kup/kup4x/u-boot.lds | 5 +++++ board/kup/kup4x/u-boot.lds.debug | 5 +++++ board/lantec/u-boot.lds | 5 +++++ board/lantec/u-boot.lds.debug | 5 +++++ board/lwmon/u-boot.lds | 5 +++++ board/lwmon/u-boot.lds.debug | 5 +++++ board/manroland/uc100/u-boot.lds | 5 +++++ board/matrix_vision/mvsmr/u-boot.lds | 5 +++++ board/mbx8xx/u-boot.lds | 5 +++++ board/mbx8xx/u-boot.lds.debug | 5 +++++ board/micronas/vct/u-boot.lds | 5 +++++ board/ml2/u-boot.lds | 5 +++++ board/ml2/u-boot.lds.debug | 5 +++++ board/mousse/u-boot.lds | 5 +++++ board/mpl/pip405/u-boot.lds.debug | 5 +++++ board/mvblue/u-boot.lds | 5 +++++ board/netphone/u-boot.lds | 5 +++++ board/netphone/u-boot.lds.debug | 5 +++++ board/netta/u-boot.lds | 5 +++++ board/netta/u-boot.lds.debug | 5 +++++ board/netta2/u-boot.lds | 5 +++++ board/netta2/u-boot.lds.debug | 5 +++++ board/netvia/u-boot.lds | 5 +++++ board/netvia/u-boot.lds.debug | 5 +++++ board/nx823/u-boot.lds | 5 +++++ board/nx823/u-boot.lds.debug | 5 +++++ board/openrisc/openrisc-generic/u-boot.lds | 5 +++++ board/pb1x00/u-boot.lds | 5 +++++ board/qemu-mips/u-boot.lds | 5 +++++ board/qi/qi_lb60/u-boot.lds | 5 +++++ board/quantum/u-boot.lds | 5 +++++ board/r360mpi/u-boot.lds | 5 +++++ board/rbc823/u-boot.lds | 5 +++++ board/renesas/sh7757lcr/u-boot.lds | 4 ++++ board/rsdproto/u-boot.lds | 5 +++++ board/samsung/smdk5250/smdk5250-uboot-spl.lds | 5 +++++ board/samsung/smdk6400/u-boot-nand.lds | 7 ++++++- board/sandburst/karef/u-boot.lds.debug | 5 +++++ board/sandburst/metrobox/u-boot.lds.debug | 5 +++++ board/sandpoint/u-boot.lds | 5 +++++ board/siemens/IAD210/u-boot.lds | 5 +++++ board/sixnet/u-boot.lds | 5 +++++ board/snmc/qs850/u-boot.lds | 5 +++++ board/snmc/qs860t/u-boot.lds | 5 +++++ board/spc1920/u-boot.lds | 5 +++++ board/spd8xx/u-boot.lds | 5 +++++ board/spd8xx/u-boot.lds.debug | 5 +++++ board/stx/stxxtc/u-boot.lds | 5 +++++ board/stx/stxxtc/u-boot.lds.debug | 5 +++++ board/svm_sc8xx/u-boot.lds | 5 +++++ board/tqc/tqm8xx/u-boot.lds | 5 +++++ board/v37/u-boot.lds | 5 +++++ board/vpac270/u-boot-spl.lds | 4 ++++ board/w7o/u-boot.lds.debug | 5 +++++ board/westel/amx860/u-boot.lds | 5 +++++ board/westel/amx860/u-boot.lds.debug | 5 +++++ board/xes/xpedite1000/u-boot.lds.debug | 5 +++++ examples/standalone/mips.lds | 4 ++++ examples/standalone/nds32.lds | 4 ++++ examples/standalone/sparc.lds | 5 +++++ nand_spl/board/freescale/mx31pdk/u-boot.lds | 5 +++++ nand_spl/board/karo/tx25/u-boot.lds | 5 +++++ nand_spl/board/samsung/smdk6400/u-boot.lds | 5 +++++ 182 files changed, 880 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index dc6ba34..6ad9169 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __bss_start = .; .bss : { *(.bss) } __bss_end__ = .; diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index f8ea38c..dd12607 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index afd3381..65f80c2 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -54,6 +54,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds index 1d8efb2..c24c4e9 100644 --- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds @@ -47,6 +47,11 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4); __image_copy_end = .; _end = .; diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds index 7199de4..e08f10b 100644 --- a/arch/arm/cpu/ixp/u-boot.lds +++ b/arch/arm/cpu/ixp/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index e49ca0c..18eaf73 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
__image_copy_end = .;
diff --git a/arch/avr32/cpu/u-boot.lds b/arch/avr32/cpu/u-boot.lds index 0e532f2..5aef19b 100644 --- a/arch/avr32/cpu/u-boot.lds +++ b/arch/avr32/cpu/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); _got = .; .got : { *(.got) diff --git a/arch/blackfin/cpu/u-boot.lds b/arch/blackfin/cpu/u-boot.lds index 2b8d285..be70d81 100644 --- a/arch/blackfin/cpu/u-boot.lds +++ b/arch/blackfin/cpu/u-boot.lds @@ -119,6 +119,10 @@ SECTIONS ___u_boot_cmd_end = .; } >ram_data
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >ram_data + .text_l1 : { . = ALIGN(4); diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds index d033a28..86773b5e 100644 --- a/arch/microblaze/cpu/u-boot.lds +++ b/arch/microblaze/cpu/u-boot.lds @@ -56,6 +56,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
.bss ALIGN(0x4): diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds index 1903420..48d5b90 100644 --- a/arch/nds32/cpu/n1213/u-boot.lds +++ b/arch/nds32/cpu/n1213/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
_end = .;
diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds index 4856bd3..33cd0e2 100644 --- a/arch/nios2/cpu/u-boot.lds +++ b/arch/nios2/cpu/u-boot.lds @@ -53,6 +53,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds index 24823cd..049ae63 100644 --- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds +++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds index 7a4d927..d93c097 100644 --- a/arch/powerpc/cpu/mpc512x/u-boot.lds +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds @@ -61,6 +61,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds index e02b213..2fbc379 100644 --- a/arch/powerpc/cpu/mpc5xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds index 0c6c54e..1574767 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds @@ -70,6 +70,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds index 5dcaec1..52755e6 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds index 39bb42e..222f907 100644 --- a/arch/powerpc/cpu/mpc8220/u-boot.lds +++ b/arch/powerpc/cpu/mpc8220/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds index b30ce76..bb16926 100644 --- a/arch/powerpc/cpu/mpc824x/u-boot.lds +++ b/arch/powerpc/cpu/mpc824x/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds index 60b71ec..722d7fb 100644 --- a/arch/powerpc/cpu/mpc8260/u-boot.lds +++ b/arch/powerpc/cpu/mpc8260/u-boot.lds @@ -63,6 +63,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds index 2f4b9ad..416bc07 100644 --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds index 8ba9399..5563b5f 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds @@ -74,6 +74,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds index 668158f..6c8ae9a 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds @@ -53,6 +53,10 @@ SECTIONS } _edata = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(8); __init_begin = .; __init_end = .; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds index efe34b7..009214b 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds index 121e529..e3b19d4 100644 --- a/arch/powerpc/cpu/mpc86xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds index 2466b79..005ec61 100644 --- a/arch/powerpc/cpu/ppc4xx/u-boot.lds +++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds @@ -82,6 +82,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds index 9960138..0a37657 100644 --- a/arch/sandbox/cpu/u-boot.lds +++ b/arch/sandbox/cpu/u-boot.lds @@ -28,6 +28,11 @@ SECTIONS _u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + __u_boot_sandbox_option_start = .; _u_boot_sandbox_getopt : { *(.u_boot_sandbox_getopt) } __u_boot_sandbox_option_end = .; diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds index b86a822..2331152 100644 --- a/arch/sh/cpu/sh2/u-boot.lds +++ b/arch/sh/cpu/sh2/u-boot.lds @@ -80,6 +80,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .);
PROVIDE (bss_start = .); diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds index 9bf8503..9d99434 100644 --- a/arch/sh/cpu/sh3/u-boot.lds +++ b/arch/sh/cpu/sh3/u-boot.lds @@ -86,6 +86,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds index d9c70bc..8702c9e 100644 --- a/arch/sh/cpu/sh4/u-boot.lds +++ b/arch/sh/cpu/sh4/u-boot.lds @@ -83,6 +83,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds index fe28030..aa2b653 100644 --- a/arch/x86/cpu/u-boot.lds +++ b/arch/x86/cpu/u-boot.lds @@ -39,6 +39,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4); diff --git a/board/BuS/eb_cpu5282/u-boot.lds b/board/BuS/eb_cpu5282/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/BuS/eb_cpu5282/u-boot.lds +++ b/board/BuS/eb_cpu5282/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index 5aaf6b3..d85943c 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXClassic/u-boot.lds.debug b/board/RPXClassic/u-boot.lds.debug index 99c48f2..47ad2e7 100644 --- a/board/RPXClassic/u-boot.lds.debug +++ b/board/RPXClassic/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite/u-boot.lds.debug b/board/RPXlite/u-boot.lds.debug index 99c48f2..47ad2e7 100644 --- a/board/RPXlite/u-boot.lds.debug +++ b/board/RPXlite/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/RPXlite_dw/u-boot.lds.debug b/board/RPXlite_dw/u-boot.lds.debug index 4491edd..c76f9d0 100644 --- a/board/RPXlite_dw/u-boot.lds.debug +++ b/board/RPXlite_dw/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index 8385373..3c2c708 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds index 9dbaa6f..e5d59db 100644 --- a/board/actux1/u-boot.lds +++ b/board/actux1/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds index 3575ed9..09bb7ab 100644 --- a/board/actux2/u-boot.lds +++ b/board/actux2/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds index 35aab29..71b6791 100644 --- a/board/actux3/u-boot.lds +++ b/board/actux3/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index a762769..62afcb80 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ait/cam_enc_4xx/u-boot-spl.lds b/board/ait/cam_enc_4xx/u-boot-spl.lds index 52c986e..9403c3c 100644 --- a/board/ait/cam_enc_4xx/u-boot-spl.lds +++ b/board/ait/cam_enc_4xx/u-boot-spl.lds @@ -48,6 +48,10 @@ SECTIONS . = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; *(.rel*) diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds index 88ced62..764cc7d 100644 --- a/board/altera/nios2-generic/u-boot.lds +++ b/board/altera/nios2-generic/u-boot.lds @@ -54,6 +54,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + /* INIT DATA sections - "Small" data (see the gcc -G option) * is always gp-relative. Here we make all init data sections * adjacent to simplify the startup code -- and provide diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/acadia/u-boot-nand.lds +++ b/board/amcc/acadia/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds index 3ad8709..2382ea9 100644 --- a/board/amcc/bamboo/u-boot-nand.lds +++ b/board/amcc/bamboo/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds index 76f89f1..0816387 100644 --- a/board/amcc/canyonlands/u-boot-nand.lds +++ b/board/amcc/canyonlands/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds index ab67de2..bc0356b 100644 --- a/board/amcc/kilauea/u-boot-nand.lds +++ b/board/amcc/kilauea/u-boot-nand.lds @@ -76,6 +76,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds index 07ae8b1..94234de 100644 --- a/board/amcc/sequoia/u-boot-nand.lds +++ b/board/amcc/sequoia/u-boot-nand.lds @@ -77,6 +77,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds index 423400a..0f594f5 100644 --- a/board/amcc/sequoia/u-boot-ram.lds +++ b/board/amcc/sequoia/u-boot-ram.lds @@ -68,6 +68,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds index cd8f5ce..575d390 100644 --- a/board/amirix/ap1000/u-boot.lds +++ b/board/amirix/ap1000/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds index a1d8e0f..d800805 100644 --- a/board/astro/mcf5373l/u-boot.lds +++ b/board/astro/mcf5373l/u-boot.lds @@ -113,6 +113,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index b9b8e3c..a170f06 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/c2mon/u-boot.lds.debug b/board/c2mon/u-boot.lds.debug index c771102..fd278a4 100644 --- a/board/c2mon/u-boot.lds.debug +++ b/board/c2mon/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/cobra5272/u-boot.lds +++ b/board/cobra5272/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 2393d8d..3a3d988 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/cogent/u-boot.lds.debug b/board/cogent/u-boot.lds.debug index 99c48f2..47ad2e7 100644 --- a/board/cogent/u-boot.lds.debug +++ b/board/cogent/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug index fcf8ebb..78fe44c 100644 --- a/board/cray/L1/u-boot.lds.debug +++ b/board/cray/L1/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds index 3b10114..fb40e3d 100644 --- a/board/dave/PPChameleonEVB/u-boot.lds +++ b/board/dave/PPChameleonEVB/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds index 6f6e065..f1b53aa 100644 --- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds +++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds @@ -47,6 +47,12 @@ SECTIONS
. = ALIGN(4); .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/davinci/da8xxevm/u-boot-spl-hawk.lds b/board/davinci/da8xxevm/u-boot-spl-hawk.lds index b3a41af..15fa53a 100644 --- a/board/davinci/da8xxevm/u-boot-spl-hawk.lds +++ b/board/davinci/da8xxevm/u-boot-spl-hawk.lds @@ -58,6 +58,11 @@ SECTIONS }
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4); __rel_dyn_start = .; __rel_dyn_end = .; __dynsym_start = .; diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds index 4a59cea..0569133 100644 --- a/board/dbau1x00/u-boot.lds +++ b/board/dbau1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds index 01ec390..897263e 100644 --- a/board/dvlhost/u-boot.lds +++ b/board/dvlhost/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS } __u_boot_cmd_end =.;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN (4); .rel.dyn : { __rel_dyn_start = .; diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/eltec/mhpc/u-boot.lds.debug b/board/eltec/mhpc/u-boot.lds.debug index c771102..fd278a4 100644 --- a/board/eltec/mhpc/u-boot.lds.debug +++ b/board/eltec/mhpc/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index fb06648..887ee6b 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -71,6 +71,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index 332b35a..0c5a03e 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -66,6 +66,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds index b15948d..9a3249d 100644 --- a/board/esd/dasa_sim/u-boot.lds +++ b/board/esd/dasa_sim/u-boot.lds @@ -77,6 +77,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds index 71f0fd2..d4ef403 100644 --- a/board/esd/pmc440/u-boot-nand.lds +++ b/board/esd/pmc440/u-boot-nand.lds @@ -106,6 +106,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/esd/tasreg/u-boot.lds +++ b/board/esd/tasreg/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 163b83d..83d9ec0 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index 8465937..a98ee23 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds index 2d031ef..1eb7f30 100644 --- a/board/evb64260/u-boot.lds +++ b/board/evb64260/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index 9ea0674..deee255 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/flagadm/u-boot.lds.debug b/board/flagadm/u-boot.lds.debug index c771102..fd278a4 100644 --- a/board/flagadm/u-boot.lds.debug +++ b/board/flagadm/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds index 6e39be1..e184013 100644 --- a/board/freescale/m5208evbe/u-boot.lds +++ b/board/freescale/m5208evbe/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m52277evb/u-boot.lds b/board/freescale/m52277evb/u-boot.lds index 3e9f4c3..6214098 100644 --- a/board/freescale/m52277evb/u-boot.lds +++ b/board/freescale/m52277evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds index d39e734..9b5e5e2 100644 --- a/board/freescale/m5235evb/u-boot.lds +++ b/board/freescale/m5235evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5249evb/u-boot.lds +++ b/board/freescale/m5249evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds index cbd2831..3487a8d 100644 --- a/board/freescale/m5253demo/u-boot.lds +++ b/board/freescale/m5253demo/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5253evbe/u-boot.lds +++ b/board/freescale/m5253evbe/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds index 4717036..3a86350 100644 --- a/board/freescale/m5271evb/u-boot.lds +++ b/board/freescale/m5271evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds index c4039ed..d49b0ef 100644 --- a/board/freescale/m5272c3/u-boot.lds +++ b/board/freescale/m5272c3/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds index 6c2dfe8..b37b06b 100644 --- a/board/freescale/m5275evb/u-boot.lds +++ b/board/freescale/m5275evb/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds index 4ba1964..3132a55 100644 --- a/board/freescale/m5282evb/u-boot.lds +++ b/board/freescale/m5282evb/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds index 80935f2..662bd31 100644 --- a/board/freescale/m53017evb/u-boot.lds +++ b/board/freescale/m53017evb/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index 40af8bc..fe5be41 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds index 19342ac..8ff6fc9 100644 --- a/board/freescale/m5373evb/u-boot.lds +++ b/board/freescale/m5373evb/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54451evb/u-boot.lds b/board/freescale/m54451evb/u-boot.lds index 45924b7..ea0984f 100644 --- a/board/freescale/m54451evb/u-boot.lds +++ b/board/freescale/m54451evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds index f341449..fe1b58c 100644 --- a/board/freescale/m54455evb/u-boot.lds +++ b/board/freescale/m54455evb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds index 5472689..877eaf2 100644 --- a/board/freescale/m547xevb/u-boot.lds +++ b/board/freescale/m547xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds index cf3f38c..33e054b 100644 --- a/board/freescale/m548xevb/u-boot.lds +++ b/board/freescale/m548xevb/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds index 79eb7ac..3db5dc3 100644 --- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -62,6 +62,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds index 87cb8e3..416761b 100644 --- a/board/gaisler/gr_cpci_ax2000/u-boot.lds +++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds index 2fb44aa..43faf26 100644 --- a/board/gaisler/gr_ep2s60/u-boot.lds +++ b/board/gaisler/gr_ep2s60/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds index 8719e97..14c631e 100644 --- a/board/gaisler/gr_xc3s_1500/u-boot.lds +++ b/board/gaisler/gr_xc3s_1500/u-boot.lds @@ -90,6 +90,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds index 33890b5..4766465 100644 --- a/board/gaisler/grsim/u-boot.lds +++ b/board/gaisler/grsim/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds index cf6e502..cbd4ed6 100644 --- a/board/gaisler/grsim_leon2/u-boot.lds +++ b/board/gaisler/grsim_leon2/u-boot.lds @@ -89,6 +89,11 @@ SECTIONS . = ALIGN(4); __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .data : { *(.data) diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 5bb6c62..1302eaa 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -75,6 +75,10 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index be99b51..de57dd1 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -75,6 +75,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index 1d66a9b..45c56bb 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -84,6 +84,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug index cfa4ef3..4783367 100644 --- a/board/genietv/u-boot.lds.debug +++ b/board/genietv/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index ca97115..8b90f6c 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -76,6 +76,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug index 8a197de..53ffee1 100644 --- a/board/hermes/u-boot.lds.debug +++ b/board/hermes/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds index 1309f20..83d2dd4 100644 --- a/board/hymod/u-boot.lds +++ b/board/hymod/u-boot.lds @@ -114,6 +114,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug index 99c48f2..47ad2e7 100644 --- a/board/hymod/u-boot.lds.debug +++ b/board/hymod/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 93c79a6..23d4405 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug index 91d3e67..203f704 100644 --- a/board/icu862/u-boot.lds.debug +++ b/board/icu862/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds index f697ccd..b302ba0 100644 --- a/board/idmr/u-boot.lds +++ b/board/idmr/u-boot.lds @@ -69,6 +69,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds index 4a59cea..0569133 100644 --- a/board/incaip/u-boot.lds +++ b/board/incaip/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug index 2f61b11..4fc4c0f 100644 --- a/board/ip860/u-boot.lds.debug +++ b/board/ip860/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index 1e843eb..d0d9a37 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug index 732a46f..f4c04b3 100644 --- a/board/ivm/u-boot.lds.debug +++ b/board/ivm/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds index 6a017e3..da33f00 100644 --- a/board/korat/u-boot-F7FC.lds +++ b/board/korat/u-boot-F7FC.lds @@ -112,6 +112,9 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ .u_boot_list : { + INCLUDE u-boot.lst; + }
. = .; __start___ex_table = .; diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/kup/kup4k/u-boot.lds.debug b/board/kup/kup4k/u-boot.lds.debug index 4491edd..c76f9d0 100644 --- a/board/kup/kup4k/u-boot.lds.debug +++ b/board/kup/kup4k/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/kup/kup4x/u-boot.lds.debug b/board/kup/kup4x/u-boot.lds.debug index 4491edd..c76f9d0 100644 --- a/board/kup/kup4x/u-boot.lds.debug +++ b/board/kup/kup4x/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index de0b355..9360839 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lantec/u-boot.lds.debug b/board/lantec/u-boot.lds.debug index 856a99b..7c1ccb2 100644 --- a/board/lantec/u-boot.lds.debug +++ b/board/lantec/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index 8bf7324..7dfa157 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug index 2412234..0778758 100644 --- a/board/lwmon/u-boot.lds.debug +++ b/board/lwmon/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds index 731cec9..d291d60 100644 --- a/board/manroland/uc100/u-boot.lds +++ b/board/manroland/uc100/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds index 57c37de..2445b97 100644 --- a/board/matrix_vision/mvsmr/u-boot.lds +++ b/board/matrix_vision/mvsmr/u-boot.lds @@ -78,6 +78,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug index a95c47f..7e62932 100644 --- a/board/mbx8xx/u-boot.lds.debug +++ b/board/mbx8xx/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds index 3a05ef9..273d190 100644 --- a/board/micronas/vct/u-boot.lds +++ b/board/micronas/vct/u-boot.lds @@ -57,6 +57,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
. = ALIGN(4); diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds index 9f9ddb8..a6cad6d 100644 --- a/board/ml2/u-boot.lds +++ b/board/ml2/u-boot.lds @@ -68,6 +68,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug index fcf8ebb..78fe44c 100644 --- a/board/ml2/u-boot.lds.debug +++ b/board/ml2/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds index dae2cfc..863468e 100644 --- a/board/mousse/u-boot.lds +++ b/board/mousse/u-boot.lds @@ -64,6 +64,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug index fcf8ebb..78fe44c 100644 --- a/board/mpl/pip405/u-boot.lds.debug +++ b/board/mpl/pip405/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds index 11624d2..4610de9 100644 --- a/board/mvblue/u-boot.lds +++ b/board/mvblue/u-boot.lds @@ -74,6 +74,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netphone/u-boot.lds.debug b/board/netphone/u-boot.lds.debug index a001f3f..480feff 100644 --- a/board/netphone/u-boot.lds.debug +++ b/board/netphone/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta/u-boot.lds.debug b/board/netta/u-boot.lds.debug index a001f3f..480feff 100644 --- a/board/netta/u-boot.lds.debug +++ b/board/netta/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netta2/u-boot.lds.debug b/board/netta2/u-boot.lds.debug index a001f3f..480feff 100644 --- a/board/netta2/u-boot.lds.debug +++ b/board/netta2/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/netvia/u-boot.lds.debug b/board/netvia/u-boot.lds.debug index 6c7d698..2e3f83e 100644 --- a/board/netvia/u-boot.lds.debug +++ b/board/netvia/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index fd4e8a5..4385876 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/nx823/u-boot.lds.debug b/board/nx823/u-boot.lds.debug index c771102..fd278a4 100644 --- a/board/nx823/u-boot.lds.debug +++ b/board/nx823/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/openrisc/openrisc-generic/u-boot.lds b/board/openrisc/openrisc-generic/u-boot.lds index 1aed197..bc610bd 100644 --- a/board/openrisc/openrisc-generic/u-boot.lds +++ b/board/openrisc/openrisc-generic/u-boot.lds @@ -30,6 +30,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } > ram __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + .rodata : { *(.rodata); *(.rodata.*) diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds index bd0dee1..cac9188 100644 --- a/board/pb1x00/u-boot.lds +++ b/board/pb1x00/u-boot.lds @@ -58,6 +58,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds index 9460b20..1f37e8b 100644 --- a/board/qemu-mips/u-boot.lds +++ b/board/qemu-mips/u-boot.lds @@ -60,6 +60,11 @@ SECTIONS __u_boot_cmd_start = .; *(.u_boot_cmd) __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } }
uboot_end_data = .; diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds index 7317652..e1bb826 100644 --- a/board/qi/qi_lb60/u-boot.lds +++ b/board/qi/qi_lb60/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + uboot_end_data = .; num_got_entries = (__got_end - __got_start) >> 2;
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 2fa085a..181468d 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index d943fb6..50c3eee 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -81,6 +81,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; __start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds index 38ebe88..cff6ff5 100644 --- a/board/renesas/sh7757lcr/u-boot.lds +++ b/board/renesas/sh7757lcr/u-boot.lds @@ -85,6 +85,10 @@ SECTIONS } PROVIDE (__u_boot_cmd_end = .);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + PROVIDE (reloc_dst_end = .); /* _reloc_dst_end = .; */
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds index a729c52..ee651d4 100644 --- a/board/rsdproto/u-boot.lds +++ b/board/rsdproto/u-boot.lds @@ -101,6 +101,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/samsung/smdk5250/smdk5250-uboot-spl.lds b/board/samsung/smdk5250/smdk5250-uboot-spl.lds index d78dd77..c6e6414 100644 --- a/board/samsung/smdk5250/smdk5250-uboot-spl.lds +++ b/board/samsung/smdk5250/smdk5250-uboot-spl.lds @@ -48,6 +48,11 @@ SECTIONS .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram . = ALIGN(4);
+ .u_boot_list : { + INCLUDE u-boot.lst; + } >.sram + . = ALIGN(4); + /* Align .machine_param on 256 byte boundary for easier searching */ .machine_param ALIGN(0x100) : { *(.machine_param) } >.sram . = ALIGN(4); diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds index f162815..27693f0e 100644 --- a/board/samsung/smdk6400/u-boot-nand.lds +++ b/board/samsung/smdk6400/u-boot-nand.lds @@ -51,7 +51,12 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
- . = ALIGN(4); + . = align(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = align(4); .mmudata : { *(.mmudata) }
. = ALIGN(4); diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug index 31746e3..586dc95 100644 --- a/board/sandburst/karef/u-boot.lds.debug +++ b/board/sandburst/karef/u-boot.lds.debug @@ -119,6 +119,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug index 4922bd2..48f5be0 100644 --- a/board/sandburst/metrobox/u-boot.lds.debug +++ b/board/sandburst/metrobox/u-boot.lds.debug @@ -119,6 +119,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds index e382fd1..a4421a7 100644 --- a/board/sandpoint/u-boot.lds +++ b/board/sandpoint/u-boot.lds @@ -72,6 +72,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index 0e78e4f..3532d3b 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index 02d1980..4153927 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 9ab248a..039597e 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -73,6 +73,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index d0b60cf..92f78be 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index a84e7fd..ada68f1 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug index a95c47f..7e62932 100644 --- a/board/spd8xx/u-boot.lds.debug +++ b/board/spd8xx/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index a949e4f..86bb3b4 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/stx/stxxtc/u-boot.lds.debug b/board/stx/stxxtc/u-boot.lds.debug index a001f3f..480feff 100644 --- a/board/stx/stxxtc/u-boot.lds.debug +++ b/board/stx/stxxtc/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index c65f022..af83956 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 4f08be6..226cfc1 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -87,6 +87,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index e62d53d..feb3870 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -70,6 +70,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds index 1958c2f..b3551dd 100644 --- a/board/vpac270/u-boot-spl.lds +++ b/board/vpac270/u-boot-spl.lds @@ -57,6 +57,10 @@ SECTIONS *(.data) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.rel.dyn : { diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug index 1c67b30..520acd5 100644 --- a/board/w7o/u-boot.lds.debug +++ b/board/w7o/u-boot.lds.debug @@ -110,6 +110,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index 3470b43..e642a3a 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -79,6 +79,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
. = .; __start___ex_table = .; diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug index 91d3e67..203f704 100644 --- a/board/westel/amx860/u-boot.lds.debug +++ b/board/westel/amx860/u-boot.lds.debug @@ -111,6 +111,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug index e2e66ae..d685738 100644 --- a/board/xes/xpedite1000/u-boot.lds.debug +++ b/board/xes/xpedite1000/u-boot.lds.debug @@ -115,6 +115,11 @@ SECTIONS .u_boot_cmd : { *(.u_boot_cmd) } __u_boot_cmd_end = .;
+ . = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } +
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds index 5f766ed..65c654d 100644 --- a/examples/standalone/mips.lds +++ b/examples/standalone/mips.lds @@ -39,6 +39,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data*) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = .; _gp = ALIGN(16) + 0x7ff0;
diff --git a/examples/standalone/nds32.lds b/examples/standalone/nds32.lds index 50b4c4b..4e581ad 100644 --- a/examples/standalone/nds32.lds +++ b/examples/standalone/nds32.lds @@ -36,6 +36,10 @@ SECTIONS . = ALIGN(4); .data : { *(.data) }
+ .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4);
.got : { diff --git a/examples/standalone/sparc.lds b/examples/standalone/sparc.lds index 9733daa..908a9be 100644 --- a/examples/standalone/sparc.lds +++ b/examples/standalone/sparc.lds @@ -46,6 +46,11 @@ SECTIONS { *(.data) } + + .u_boot_list : { + INCLUDE u-boot.lst; + } + . = ALIGN(4); __data_end = .;
diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds index d2b08f6..363690f 100644 --- a/nand_spl/board/freescale/mx31pdk/u-boot.lds +++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index d2b08f6..8332710 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -51,6 +51,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .; diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds index 567f635..7ceae32 100644 --- a/nand_spl/board/samsung/smdk6400/u-boot.lds +++ b/nand_spl/board/samsung/smdk6400/u-boot.lds @@ -55,6 +55,11 @@ SECTIONS __u_boot_cmd_end = .;
. = ALIGN(4); + .u_boot_list : { + INCLUDE u-boot.lst; + } + + . = ALIGN(4);
.rel.dyn : { __rel_dyn_start = .;

This patch converts the old method of creating a list of command onto the new LG-arrays code. The old u_boot_cmd section is converted to new u_boot_list_cmd subsection and LG-array macros used as needed.
Minor adjustments had to be made to the common code to work with the LG-array macros, mostly the fixup_cmdtable() calls are now passed the ll_entry_start and ll_entry_count instead of linker-generated symbols.
The command.c had to be adjusted as well so it would use the newly introduced LG-array API instead of directly using linker-generated symbols.
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- arch/arm/imx-common/cmd_bmode.c | 11 +++++++---- arch/avr32/lib/board.c | 4 ++-- arch/m68k/lib/board.c | 4 ++-- arch/mips/lib/board.c | 4 ++-- arch/nds32/lib/board.c | 4 ++-- arch/sparc/lib/board.c | 4 ++-- common/cmd_help.c | 8 ++++---- common/command.c | 17 ++++++++++------- doc/README.commands | 10 +++++----- include/command.h | 26 ++++++++++++++------------ 10 files changed, 50 insertions(+), 42 deletions(-)
diff --git a/arch/arm/imx-common/cmd_bmode.c b/arch/arm/imx-common/cmd_bmode.c index 02fe72e..ddc14b0 100644 --- a/arch/arm/imx-common/cmd_bmode.c +++ b/arch/arm/imx-common/cmd_bmode.c @@ -24,6 +24,7 @@ #include <asm/io.h> #include <asm/imx-common/boot_mode.h> #include <malloc.h> +#include <command.h>
static const struct boot_mode *modes[2];
@@ -103,9 +104,11 @@ void add_board_boot_modes(const struct boot_mode *p) int size; char *dest;
- if (__u_boot_cmd_bmode.usage) { - free(__u_boot_cmd_bmode.usage); - __u_boot_cmd_bmode.usage = NULL; + cmd_tbl_t *entry = ll_entry_get(cmd_tbl_t, bmode, cmd); + + if (entry->usage) { + free(entry->usage); + entry->usage = NULL; }
modes[0] = p; @@ -114,6 +117,6 @@ void add_board_boot_modes(const struct boot_mode *p) dest = malloc(size); if (dest) { create_usage(dest); - __u_boot_cmd_bmode.usage = dest; + entry->usage = dest; } } diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c index 9d3b76e..e3287c4 100644 --- a/arch/avr32/lib/board.c +++ b/arch/avr32/lib/board.c @@ -272,8 +272,8 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) /* * We have to relocate the command table manually */ - fixup_cmdtable(&__u_boot_cmd_start, - (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); + fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd), + ll_entry_count(cmd_tbl_t, cmd)); #endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
/* there are some other pointer constants we must deal with */ diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index 2add630..fc94f2b 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -417,8 +417,8 @@ void board_init_r (gd_t *id, ulong dest_addr) /* * We have to relocate the command table manually */ - fixup_cmdtable(&__u_boot_cmd_start, - (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); + fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd), + ll_entry_count(cmd_tbl_t, cmd)); #endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
/* there are some other pointer constants we must deal with */ diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c index b14b33e..7ddd778 100644 --- a/arch/mips/lib/board.c +++ b/arch/mips/lib/board.c @@ -266,8 +266,8 @@ void board_init_r(gd_t *id, ulong dest_addr) /* * We have to relocate the command table manually */ - fixup_cmdtable(&__u_boot_cmd_start, - (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); + fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd), + ll_entry_count(cmd_tbl_t, cmd)); #endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
/* there are some other pointer constants we must deal with */ diff --git a/arch/nds32/lib/board.c b/arch/nds32/lib/board.c index 17d3ee0..b2fa40d 100644 --- a/arch/nds32/lib/board.c +++ b/arch/nds32/lib/board.c @@ -320,8 +320,8 @@ void board_init_r(gd_t *id, ulong dest_addr) /* * We have to relocate the command table manually */ - fixup_cmdtable(&__u_boot_cmd_start, - (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); + fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd), + ll_entry_count(cmd_tbl_t, cmd)); #endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
#ifdef CONFIG_SERIAL_MULTI diff --git a/arch/sparc/lib/board.c b/arch/sparc/lib/board.c index ff0e0f2..32d025a 100644 --- a/arch/sparc/lib/board.c +++ b/arch/sparc/lib/board.c @@ -246,8 +246,8 @@ void board_init_f(ulong bootflag) /* * We have to relocate the command table manually */ - fixup_cmdtable(&__u_boot_cmd_start, - (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); + fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd), + ll_entry_count(cmd_tbl_t, cmd)); #endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
#if defined(CONFIG_CMD_AMBAPP) && defined(CONFIG_SYS_AMBAPP_PRINT_ON_STARTUP) diff --git a/common/cmd_help.c b/common/cmd_help.c index 8c8178e..3178a1a 100644 --- a/common/cmd_help.c +++ b/common/cmd_help.c @@ -26,9 +26,9 @@
int do_help(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { - return _do_help(&__u_boot_cmd_start, - &__u_boot_cmd_end - &__u_boot_cmd_start, - cmdtp, flag, argc, argv); + cmd_tbl_t *start = ll_entry_start(cmd_tbl_t, cmd); + const int len = ll_entry_count(cmd_tbl_t, cmd); + return _do_help(start, len, cmdtp, flag, argc, argv); }
U_BOOT_CMD( @@ -41,7 +41,7 @@ U_BOOT_CMD( );
/* This does not use the U_BOOT_CMD macro as ? can't be used in symbol names */ -cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = { +ll_entry_declare(cmd_tbl_t, question_mark, cmd, cmd) = { "?", CONFIG_SYS_MAXARGS, 1, do_help, "alias for 'help'", #ifdef CONFIG_SYS_LONGHELP diff --git a/common/command.c b/common/command.c index aa0fb0a..50c8429 100644 --- a/common/command.c +++ b/common/command.c @@ -137,8 +137,9 @@ cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len)
cmd_tbl_t *find_cmd (const char *cmd) { - int len = &__u_boot_cmd_end - &__u_boot_cmd_start; - return find_cmd_tbl(cmd, &__u_boot_cmd_start, len); + cmd_tbl_t *start = ll_entry_start(cmd_tbl_t, cmd); + const int len = ll_entry_count(cmd_tbl_t, cmd); + return find_cmd_tbl(cmd, start, len); }
int cmd_usage(const cmd_tbl_t *cmdtp) @@ -181,7 +182,9 @@ int var_complete(int argc, char * const argv[], char last_char, int maxv, char *
static int complete_cmdv(int argc, char * const argv[], char last_char, int maxv, char *cmdv[]) { - cmd_tbl_t *cmdtp; + cmd_tbl_t *cmdtp = ll_entry_start(cmd_tbl_t, cmd); + const int count = ll_entry_count(cmd_tbl_t, cmd); + const cmd_tbl_t *cmdend = cmdtp + count; const char *p; int len, clen; int n_found = 0; @@ -195,12 +198,12 @@ static int complete_cmdv(int argc, char * const argv[], char last_char, int maxv
if (argc == 0) { /* output full list of commands */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { + for (; cmdtp != cmdend; cmdtp++) { if (n_found >= maxv - 2) { - cmdv[n_found++] = "..."; + cmdv[n_found] = "..."; break; } - cmdv[n_found++] = cmdtp->name; + cmdv[n_found] = cmdtp->name; } cmdv[n_found] = NULL; return n_found; @@ -228,7 +231,7 @@ static int complete_cmdv(int argc, char * const argv[], char last_char, int maxv len = p - cmd;
/* return the partial matches */ - for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) { + for (; cmdtp != cmdend; cmdtp++) {
clen = strlen(cmdtp->name); if (clen < len) diff --git a/doc/README.commands b/doc/README.commands index 125f077..ec492b2 100644 --- a/doc/README.commands +++ b/doc/README.commands @@ -15,12 +15,12 @@ help: Long description. This is a string
**** Behind the scene ******
-The structure created is named with a special prefix (__u_boot_cmd_) +The structure created is named with a special prefix (__u_boot_list_cmd_) and placed by the linker in a special section.
This makes it possible for the final link to extract all commands compiled into any object code and construct a static array so the -command can be found in an array starting at __u_boot_cmd_start. +command can be found in an array starting at _u_boot_list_cmd__start.
To ensure that the linker does not discard these symbols when linking full U-Boot we generate a list of all the commands we have built (based @@ -33,6 +33,6 @@ If a new board is defined do not forget to define the command section by writing in u-boot.lds ($(TOPDIR)/board/boardname/u-boot.lds) these 3 lines:
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; + .u_boot_list : { + INCLUDE u-boot.lst; + } diff --git a/include/command.h b/include/command.h index 1f06aa1..24864d5 100644 --- a/include/command.h +++ b/include/command.h @@ -28,6 +28,7 @@ #define __COMMAND_H
#include <config.h> +#include <linker_lists.h>
#ifndef NULL #define NULL 0 @@ -153,9 +154,6 @@ int cmd_process(int flag, int argc, char * const argv[], #define CMD_FLAG_REPEAT 0x0001 /* repeat last command */ #define CMD_FLAG_BOOTD 0x0002 /* command is from bootd */
-#define Struct_Section __attribute__((unused, section(".u_boot_cmd"), \ - aligned(4))) - #ifdef CONFIG_AUTO_COMPLETE # define _CMD_COMPLETE(x) x, #else @@ -167,18 +165,22 @@ int cmd_process(int flag, int argc, char * const argv[], # define _CMD_HELP(x) #endif
-#define U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \ - {#name, maxargs, rep, cmd, usage, _CMD_HELP(help) _CMD_COMPLETE(comp)} +#define U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ + _usage, _help, _comp) \ + { #_name, _maxargs, _rep, _cmd, _usage, \ + _CMD_HELP(_help) _CMD_COMPLETE(_comp) }
-#define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \ - U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL) +#define U_BOOT_CMD_MKENT(_name, _maxargs, _rep, _cmd, _usage, _help) \ + U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ + _usage, _help, NULL)
-#define U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \ - cmd_tbl_t __u_boot_cmd_##name Struct_Section = \ - U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) +#define U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, _comp) \ + ll_entry_declare(cmd_tbl_t, _name, cmd, cmd) = \ + U_BOOT_CMD_MKENT_COMPLETE(_name, _maxargs, _rep, _cmd, \ + _usage, _help, _comp);
-#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ - U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL) +#define U_BOOT_CMD(_name, _maxargs, _rep, _cmd, _usage, _help) \ + U_BOOT_CMD_COMPLETE(_name, _maxargs, _rep, _cmd, _usage, _help, NULL)
#if defined(CONFIG_NEEDS_MANUAL_RELOC) void fixup_cmdtable(cmd_tbl_t *cmdtp, int size);

The command declaration now uses the new LG-array method to generate list of commands. Thus the __u_boot_cmd section is now superseded and redundant and therefore can be removed. Also, remove externed symbols associated with this section from include/command.h .
Signed-off-by: Marek Vasut marex@denx.de Cc: Joe Hershberger joe.hershberger@gmail.com Cc: Mike Frysinger vapier@gentoo.org --- arch/arm/cpu/arm920t/ep93xx/u-boot.lds | 3 --- arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 3 --- arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 3 --- arch/arm/cpu/ixp/u-boot.lds | 3 --- arch/arm/cpu/u-boot.lds | 3 --- arch/avr32/cpu/u-boot.lds | 5 ----- arch/blackfin/cpu/u-boot.lds | 6 ------ arch/microblaze/cpu/u-boot.lds | 11 ----------- arch/nds32/cpu/n1213/u-boot.lds | 3 --- arch/nios2/cpu/u-boot.lds | 7 ------- arch/powerpc/cpu/74xx_7xx/u-boot.lds | 3 --- arch/powerpc/cpu/mpc512x/u-boot.lds | 3 --- arch/powerpc/cpu/mpc5xx/u-boot.lds | 3 --- arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds | 3 --- arch/powerpc/cpu/mpc5xxx/u-boot.lds | 3 --- arch/powerpc/cpu/mpc8220/u-boot.lds | 3 --- arch/powerpc/cpu/mpc824x/u-boot.lds | 3 --- arch/powerpc/cpu/mpc8260/u-boot.lds | 3 --- arch/powerpc/cpu/mpc83xx/u-boot.lds | 3 --- arch/powerpc/cpu/mpc85xx/u-boot-nand.lds | 3 --- arch/powerpc/cpu/mpc85xx/u-boot.lds | 3 --- arch/powerpc/cpu/mpc86xx/u-boot.lds | 3 --- arch/powerpc/cpu/ppc4xx/u-boot.lds | 3 --- arch/sandbox/cpu/u-boot.lds | 3 --- arch/sh/cpu/sh2/u-boot.lds | 7 ------- arch/sh/cpu/sh3/u-boot.lds | 7 ------- arch/sh/cpu/sh4/u-boot.lds | 7 ------- arch/x86/cpu/u-boot.lds | 4 ---- board/BuS/eb_cpu5282/u-boot.lds | 3 --- board/LEOX/elpt860/u-boot.lds | 3 --- board/RPXClassic/u-boot.lds | 3 --- board/RPXClassic/u-boot.lds.debug | 3 --- board/RPXlite/u-boot.lds | 3 --- board/RPXlite/u-boot.lds.debug | 3 --- board/RPXlite_dw/u-boot.lds | 3 --- board/RPXlite_dw/u-boot.lds.debug | 3 --- board/RRvision/u-boot.lds | 3 --- board/actux1/u-boot.lds | 5 ----- board/actux2/u-boot.lds | 5 ----- board/actux3/u-boot.lds | 5 ----- board/adder/u-boot.lds | 3 --- board/altera/nios2-generic/u-boot.lds | 7 ------- board/amcc/acadia/u-boot-nand.lds | 3 --- board/amcc/bamboo/u-boot-nand.lds | 3 --- board/amcc/canyonlands/u-boot-nand.lds | 3 --- board/amcc/kilauea/u-boot-nand.lds | 3 --- board/amcc/sequoia/u-boot-nand.lds | 3 --- board/amcc/sequoia/u-boot-ram.lds | 3 --- board/amirix/ap1000/u-boot.lds | 3 --- board/astro/mcf5373l/u-boot.lds | 3 --- board/c2mon/u-boot.lds | 3 --- board/c2mon/u-boot.lds.debug | 3 --- board/cobra5272/u-boot.lds | 3 --- board/cogent/u-boot.lds | 3 --- board/cogent/u-boot.lds.debug | 3 --- board/cray/L1/u-boot.lds.debug | 3 --- board/dave/PPChameleonEVB/u-boot.lds | 3 --- board/dbau1x00/u-boot.lds | 9 --------- board/dvlhost/u-boot.lds | 5 ----- board/eltec/mhpc/u-boot.lds | 3 --- board/eltec/mhpc/u-boot.lds.debug | 3 --- board/emk/top860/u-boot.lds | 3 --- board/ep88x/u-boot.lds | 3 --- board/esd/dasa_sim/u-boot.lds | 3 --- board/esd/pmc440/u-boot-nand.lds | 3 --- board/esd/tasreg/u-boot.lds | 3 --- board/esteem192e/u-boot.lds | 3 --- board/etx094/u-boot.lds | 3 --- board/evb64260/u-boot.lds | 3 --- board/fads/u-boot.lds | 3 --- board/flagadm/u-boot.lds | 3 --- board/flagadm/u-boot.lds.debug | 3 --- board/freescale/m5208evbe/u-boot.lds | 3 --- board/freescale/m52277evb/u-boot.lds | 3 --- board/freescale/m5235evb/u-boot.lds | 3 --- board/freescale/m5249evb/u-boot.lds | 3 --- board/freescale/m5253demo/u-boot.lds | 3 --- board/freescale/m5253evbe/u-boot.lds | 3 --- board/freescale/m5271evb/u-boot.lds | 3 --- board/freescale/m5272c3/u-boot.lds | 3 --- board/freescale/m5275evb/u-boot.lds | 3 --- board/freescale/m5282evb/u-boot.lds | 3 --- board/freescale/m53017evb/u-boot.lds | 3 --- board/freescale/m5329evb/u-boot.lds | 3 --- board/freescale/m5373evb/u-boot.lds | 3 --- board/freescale/m54451evb/u-boot.lds | 3 --- board/freescale/m54455evb/u-boot.lds | 3 --- board/freescale/m547xevb/u-boot.lds | 3 --- board/freescale/m548xevb/u-boot.lds | 3 --- board/freescale/mx31ads/u-boot.lds | 3 --- board/gaisler/gr_cpci_ax2000/u-boot.lds | 4 ---- board/gaisler/gr_ep2s60/u-boot.lds | 4 ---- board/gaisler/gr_xc3s_1500/u-boot.lds | 4 ---- board/gaisler/grsim/u-boot.lds | 4 ---- board/gaisler/grsim_leon2/u-boot.lds | 4 ---- board/gen860t/u-boot-flashenv.lds | 3 --- board/gen860t/u-boot.lds | 3 --- board/genietv/u-boot.lds | 3 --- board/genietv/u-boot.lds.debug | 3 --- board/hermes/u-boot.lds | 3 --- board/hermes/u-boot.lds.debug | 3 --- board/hymod/u-boot.lds | 3 --- board/hymod/u-boot.lds.debug | 3 --- board/icu862/u-boot.lds | 3 --- board/icu862/u-boot.lds.debug | 3 --- board/idmr/u-boot.lds | 3 --- board/incaip/u-boot.lds | 9 --------- board/ip860/u-boot.lds | 3 --- board/ip860/u-boot.lds.debug | 3 --- board/ivm/u-boot.lds | 3 --- board/ivm/u-boot.lds.debug | 3 --- board/korat/u-boot-F7FC.lds | 3 --- board/kup/kup4k/u-boot.lds | 3 --- board/kup/kup4k/u-boot.lds.debug | 3 --- board/kup/kup4x/u-boot.lds | 3 --- board/kup/kup4x/u-boot.lds.debug | 3 --- board/lantec/u-boot.lds | 3 --- board/lantec/u-boot.lds.debug | 3 --- board/lwmon/u-boot.lds | 3 --- board/lwmon/u-boot.lds.debug | 3 --- board/manroland/uc100/u-boot.lds | 3 --- board/matrix_vision/mvsmr/u-boot.lds | 3 --- board/mbx8xx/u-boot.lds | 3 --- board/mbx8xx/u-boot.lds.debug | 3 --- board/micronas/vct/u-boot.lds | 9 --------- board/ml2/u-boot.lds | 3 --- board/ml2/u-boot.lds.debug | 3 --- board/mousse/u-boot.lds | 3 --- board/mousse/u-boot.lds.ram | 3 --- board/mousse/u-boot.lds.rom | 3 --- board/mpl/pip405/u-boot.lds.debug | 3 --- board/mvblue/u-boot.lds | 3 --- board/netphone/u-boot.lds | 3 --- board/netphone/u-boot.lds.debug | 3 --- board/netta/u-boot.lds | 3 --- board/netta/u-boot.lds.debug | 3 --- board/netta2/u-boot.lds | 3 --- board/netta2/u-boot.lds.debug | 3 --- board/netvia/u-boot.lds | 3 --- board/netvia/u-boot.lds.debug | 3 --- board/nx823/u-boot.lds | 3 --- board/nx823/u-boot.lds.debug | 3 --- board/openrisc/openrisc-generic/u-boot.lds | 3 --- board/pb1x00/u-boot.lds | 9 --------- board/qemu-mips/u-boot.lds | 9 --------- board/qi/qi_lb60/u-boot.lds | 3 --- board/quantum/u-boot.lds | 3 --- board/r360mpi/u-boot.lds | 3 --- board/rbc823/u-boot.lds | 3 --- board/renesas/sh7757lcr/u-boot.lds | 7 ------- board/rsdproto/u-boot.lds | 3 --- board/samsung/smdk6400/u-boot-nand.lds | 3 --- board/sandburst/karef/u-boot.lds.debug | 3 --- board/sandburst/metrobox/u-boot.lds.debug | 3 --- board/sandpoint/u-boot.lds | 3 --- board/siemens/IAD210/u-boot.lds | 3 --- board/sixnet/u-boot.lds | 3 --- board/snmc/qs850/u-boot.lds | 3 --- board/snmc/qs860t/u-boot.lds | 3 --- board/spc1920/u-boot.lds | 3 --- board/spd8xx/u-boot.lds | 3 --- board/spd8xx/u-boot.lds.debug | 3 --- board/stx/stxxtc/u-boot.lds | 3 --- board/stx/stxxtc/u-boot.lds.debug | 3 --- board/svm_sc8xx/u-boot.lds | 3 --- board/tqc/tqm8xx/u-boot.lds | 3 --- board/v37/u-boot.lds | 3 --- board/w7o/u-boot.lds.debug | 3 --- board/westel/amx860/u-boot.lds | 3 --- board/westel/amx860/u-boot.lds.debug | 3 --- board/xes/xpedite1000/u-boot.lds.debug | 3 --- include/command.h | 2 -- nand_spl/board/freescale/mx31pdk/u-boot.lds | 3 --- nand_spl/board/karo/tx25/u-boot.lds | 3 --- nand_spl/board/samsung/smdk6400/u-boot.lds | 3 --- 175 files changed, 605 deletions(-)
diff --git a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds index 6ad9169..7da65ab 100644 --- a/arch/arm/cpu/arm920t/ep93xx/u-boot.lds +++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds @@ -48,9 +48,6 @@ SECTIONS .got : { *(.got) }
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index dd12607..2a9b150 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -50,9 +50,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index 65f80c2..abb8aa1 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -50,9 +50,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds index e08f10b..e444619 100644 --- a/arch/arm/cpu/ixp/u-boot.lds +++ b/arch/arm/cpu/ixp/u-boot.lds @@ -46,9 +46,6 @@ SECTIONS . = ALIGN(4);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index 18eaf73..71adb6c 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -49,9 +49,6 @@ SECTIONS . = ALIGN(4);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/avr32/cpu/u-boot.lds b/arch/avr32/cpu/u-boot.lds index 5aef19b..d035502 100644 --- a/arch/avr32/cpu/u-boot.lds +++ b/arch/avr32/cpu/u-boot.lds @@ -47,11 +47,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { - KEEP(*(.u_boot_cmd)) - } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/blackfin/cpu/u-boot.lds b/arch/blackfin/cpu/u-boot.lds index be70d81..0c87618 100644 --- a/arch/blackfin/cpu/u-boot.lds +++ b/arch/blackfin/cpu/u-boot.lds @@ -112,12 +112,6 @@ SECTIONS CONSTRUCTORS } >ram_data
- .u_boot_cmd : - { - ___u_boot_cmd_start = .; - *(.u_boot_cmd) - ___u_boot_cmd_end = .; - } >ram_data
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds index 86773b5e..7ef14a6 100644 --- a/arch/microblaze/cpu/u-boot.lds +++ b/arch/microblaze/cpu/u-boot.lds @@ -50,17 +50,6 @@ SECTIONS __data_end = .; }
- .u_boot_cmd ALIGN(0x4): - { - . = .; - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
.bss ALIGN(0x4): diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds index 48d5b90..c46d8bb 100644 --- a/arch/nds32/cpu/n1213/u-boot.lds +++ b/arch/nds32/cpu/n1213/u-boot.lds @@ -52,9 +52,6 @@ SECTIONS }
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds index 33cd0e2..4fd2fb0 100644 --- a/arch/nios2/cpu/u-boot.lds +++ b/arch/nios2/cpu/u-boot.lds @@ -45,13 +45,6 @@ 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) - } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds b/arch/powerpc/cpu/74xx_7xx/u-boot.lds index 049ae63..0575b68 100644 --- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds +++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds @@ -62,9 +62,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds index d93c097..4056af4 100644 --- a/arch/powerpc/cpu/mpc512x/u-boot.lds +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds @@ -57,9 +57,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds index 2fbc379..7d1fc30 100644 --- a/arch/powerpc/cpu/mpc5xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds @@ -65,9 +65,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds index 1574767..6f66ee0 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot-customlayout.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds index 52755e6..0d0fe22 100644 --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds @@ -60,9 +60,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds b/arch/powerpc/cpu/mpc8220/u-boot.lds index 222f907..db586ab 100644 --- a/arch/powerpc/cpu/mpc8220/u-boot.lds +++ b/arch/powerpc/cpu/mpc8220/u-boot.lds @@ -59,9 +59,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds index bb16926..c2f1469 100644 --- a/arch/powerpc/cpu/mpc824x/u-boot.lds +++ b/arch/powerpc/cpu/mpc824x/u-boot.lds @@ -60,9 +60,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds index 722d7fb..50f1713 100644 --- a/arch/powerpc/cpu/mpc8260/u-boot.lds +++ b/arch/powerpc/cpu/mpc8260/u-boot.lds @@ -59,9 +59,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds index 416bc07..be604a1 100644 --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds @@ -58,9 +58,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds index 5563b5f..39886b5 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds @@ -70,9 +70,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds index 009214b..4c26da9 100644 --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds @@ -77,9 +77,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds index e3b19d4..19b36f9 100644 --- a/arch/powerpc/cpu/mpc86xx/u-boot.lds +++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds @@ -64,9 +64,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds index 005ec61..6907b18 100644 --- a/arch/powerpc/cpu/ppc4xx/u-boot.lds +++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds @@ -78,9 +78,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds index 0a37657..dba1a32 100644 --- a/arch/sandbox/cpu/u-boot.lds +++ b/arch/sandbox/cpu/u-boot.lds @@ -24,9 +24,6 @@
SECTIONS { - __u_boot_cmd_start = .; - _u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds index 2331152..41a783d 100644 --- a/arch/sh/cpu/sh2/u-boot.lds +++ b/arch/sh/cpu/sh2/u-boot.lds @@ -72,13 +72,6 @@ SECTIONS } PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .);
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/sh3/u-boot.lds index 9d99434..1c7cc80 100644 --- a/arch/sh/cpu/sh3/u-boot.lds +++ b/arch/sh/cpu/sh3/u-boot.lds @@ -78,13 +78,6 @@ SECTIONS } PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .);
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds index 8702c9e..70e7c54 100644 --- a/arch/sh/cpu/sh4/u-boot.lds +++ b/arch/sh/cpu/sh4/u-boot.lds @@ -75,13 +75,6 @@ SECTIONS } PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .);
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds index aa2b653..7c1eb6a 100644 --- a/arch/x86/cpu/u-boot.lds +++ b/arch/x86/cpu/u-boot.lds @@ -33,10 +33,6 @@ SECTIONS .text : { *(.text*); }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/BuS/eb_cpu5282/u-boot.lds b/board/BuS/eb_cpu5282/u-boot.lds index 3132a55..2d27f06 100644 --- a/board/BuS/eb_cpu5282/u-boot.lds +++ b/board/BuS/eb_cpu5282/u-boot.lds @@ -65,9 +65,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index d85943c..5aafcfb 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -86,9 +86,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXClassic/u-boot.lds.debug b/board/RPXClassic/u-boot.lds.debug index 47ad2e7..888cbc5 100644 --- a/board/RPXClassic/u-boot.lds.debug +++ b/board/RPXClassic/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXlite/u-boot.lds.debug b/board/RPXlite/u-boot.lds.debug index 47ad2e7..888cbc5 100644 --- a/board/RPXlite/u-boot.lds.debug +++ b/board/RPXlite/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RPXlite_dw/u-boot.lds.debug b/board/RPXlite_dw/u-boot.lds.debug index c76f9d0..f99c742 100644 --- a/board/RPXlite_dw/u-boot.lds.debug +++ b/board/RPXlite_dw/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index 3c2c708..3c42391 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -71,9 +71,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds index e5d59db..9ae694d 100644 --- a/board/actux1/u-boot.lds +++ b/board/actux1/u-boot.lds @@ -54,11 +54,6 @@ SECTIONS *(.got) } . =.; - __u_boot_cmd_start =.; - .u_boot_cmd : { - *(.u_boot_cmd) - } - __u_boot_cmd_end =.;
. = ALIGN(4); .u_boot_list : { diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds index 09bb7ab..879bb07 100644 --- a/board/actux2/u-boot.lds +++ b/board/actux2/u-boot.lds @@ -54,11 +54,6 @@ SECTIONS *(.got) } . =.; - __u_boot_cmd_start =.; - .u_boot_cmd : { - *(.u_boot_cmd) - } - __u_boot_cmd_end =.;
. = ALIGN(4); .u_boot_list : { diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds index 71b6791..843fc73 100644 --- a/board/actux3/u-boot.lds +++ b/board/actux3/u-boot.lds @@ -54,11 +54,6 @@ SECTIONS *(.got) } . =.; - __u_boot_cmd_start =.; - .u_boot_cmd : { - *(.u_boot_cmd) - } - __u_boot_cmd_end =.;
. = ALIGN(4); .u_boot_list : { diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index 62afcb80..d6d3bd5 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -62,9 +62,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/altera/nios2-generic/u-boot.lds b/board/altera/nios2-generic/u-boot.lds index 764cc7d..13661c7 100644 --- a/board/altera/nios2-generic/u-boot.lds +++ b/board/altera/nios2-generic/u-boot.lds @@ -46,13 +46,6 @@ 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) - } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds index bc0356b..9e28604 100644 --- a/board/amcc/acadia/u-boot-nand.lds +++ b/board/amcc/acadia/u-boot-nand.lds @@ -72,9 +72,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds index 2382ea9..b9f9de1 100644 --- a/board/amcc/bamboo/u-boot-nand.lds +++ b/board/amcc/bamboo/u-boot-nand.lds @@ -73,9 +73,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds index 0816387..001fa7f 100644 --- a/board/amcc/canyonlands/u-boot-nand.lds +++ b/board/amcc/canyonlands/u-boot-nand.lds @@ -73,9 +73,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds index bc0356b..9e28604 100644 --- a/board/amcc/kilauea/u-boot-nand.lds +++ b/board/amcc/kilauea/u-boot-nand.lds @@ -72,9 +72,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds index 94234de..163980e 100644 --- a/board/amcc/sequoia/u-boot-nand.lds +++ b/board/amcc/sequoia/u-boot-nand.lds @@ -73,9 +73,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amcc/sequoia/u-boot-ram.lds b/board/amcc/sequoia/u-boot-ram.lds index 0f594f5..568529e 100644 --- a/board/amcc/sequoia/u-boot-ram.lds +++ b/board/amcc/sequoia/u-boot-ram.lds @@ -64,9 +64,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds index 575d390..d45dba6 100644 --- a/board/amirix/ap1000/u-boot.lds +++ b/board/amirix/ap1000/u-boot.lds @@ -67,9 +67,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds index d800805..9242af2 100644 --- a/board/astro/mcf5373l/u-boot.lds +++ b/board/astro/mcf5373l/u-boot.lds @@ -109,9 +109,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index a170f06..5652797 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -74,9 +74,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/c2mon/u-boot.lds.debug b/board/c2mon/u-boot.lds.debug index fd278a4..8bbe86a 100644 --- a/board/c2mon/u-boot.lds.debug +++ b/board/c2mon/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds index d49b0ef..897847e 100644 --- a/board/cobra5272/u-boot.lds +++ b/board/cobra5272/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 3a3d988..723c26f 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -70,9 +70,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/cogent/u-boot.lds.debug b/board/cogent/u-boot.lds.debug index 47ad2e7..888cbc5 100644 --- a/board/cogent/u-boot.lds.debug +++ b/board/cogent/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug index 78fe44c..0e3940f 100644 --- a/board/cray/L1/u-boot.lds.debug +++ b/board/cray/L1/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds index fb40e3d..9b9264b 100644 --- a/board/dave/PPChameleonEVB/u-boot.lds +++ b/board/dave/PPChameleonEVB/u-boot.lds @@ -74,9 +74,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds index 0569133..471efc1 100644 --- a/board/dbau1x00/u-boot.lds +++ b/board/dbau1x00/u-boot.lds @@ -54,15 +54,6 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : { - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
uboot_end_data = .; diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds index 897263e..83e3913 100644 --- a/board/dvlhost/u-boot.lds +++ b/board/dvlhost/u-boot.lds @@ -54,11 +54,6 @@ SECTIONS *(.got) } . =.; - __u_boot_cmd_start =.; - .u_boot_cmd : { - *(.u_boot_cmd) - } - __u_boot_cmd_end =.;
. = ALIGN(4); .u_boot_list : { diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index 4385876..dc204d2 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/eltec/mhpc/u-boot.lds.debug b/board/eltec/mhpc/u-boot.lds.debug index fd278a4..8bbe86a 100644 --- a/board/eltec/mhpc/u-boot.lds.debug +++ b/board/eltec/mhpc/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index 887ee6b..2d738a4 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -67,9 +67,6 @@ SECTIONS
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index 0c5a03e..47ea19c 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -62,9 +62,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds index 9a3249d..b1842e1 100644 --- a/board/esd/dasa_sim/u-boot.lds +++ b/board/esd/dasa_sim/u-boot.lds @@ -73,9 +73,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds index d4ef403..910793b 100644 --- a/board/esd/pmc440/u-boot-nand.lds +++ b/board/esd/pmc440/u-boot-nand.lds @@ -102,9 +102,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds index b302ba0..053a54a 100644 --- a/board/esd/tasreg/u-boot.lds +++ b/board/esd/tasreg/u-boot.lds @@ -65,9 +65,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 83d9ec0..ec757ad 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index a98ee23..f26e473 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds index 1eb7f30..e4f735a 100644 --- a/board/evb64260/u-boot.lds +++ b/board/evb64260/u-boot.lds @@ -70,9 +70,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index deee255..0549239 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index 4385876..dc204d2 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/flagadm/u-boot.lds.debug b/board/flagadm/u-boot.lds.debug index fd278a4..8bbe86a 100644 --- a/board/flagadm/u-boot.lds.debug +++ b/board/flagadm/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds index e184013..41b1cc9 100644 --- a/board/freescale/m5208evbe/u-boot.lds +++ b/board/freescale/m5208evbe/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m52277evb/u-boot.lds b/board/freescale/m52277evb/u-boot.lds index 6214098..dc5150a 100644 --- a/board/freescale/m52277evb/u-boot.lds +++ b/board/freescale/m52277evb/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds index 9b5e5e2..8ddda1a 100644 --- a/board/freescale/m5235evb/u-boot.lds +++ b/board/freescale/m5235evb/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds index d49b0ef..897847e 100644 --- a/board/freescale/m5249evb/u-boot.lds +++ b/board/freescale/m5249evb/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds index 3487a8d..1c2e067 100644 --- a/board/freescale/m5253demo/u-boot.lds +++ b/board/freescale/m5253demo/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds index d49b0ef..897847e 100644 --- a/board/freescale/m5253evbe/u-boot.lds +++ b/board/freescale/m5253evbe/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds index 3a86350..04ca088 100644 --- a/board/freescale/m5271evb/u-boot.lds +++ b/board/freescale/m5271evb/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds index d49b0ef..897847e 100644 --- a/board/freescale/m5272c3/u-boot.lds +++ b/board/freescale/m5272c3/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5275evb/u-boot.lds b/board/freescale/m5275evb/u-boot.lds index b37b06b..335acbc 100644 --- a/board/freescale/m5275evb/u-boot.lds +++ b/board/freescale/m5275evb/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5282evb/u-boot.lds b/board/freescale/m5282evb/u-boot.lds index 3132a55..2d27f06 100644 --- a/board/freescale/m5282evb/u-boot.lds +++ b/board/freescale/m5282evb/u-boot.lds @@ -65,9 +65,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds index 662bd31..dab62bf 100644 --- a/board/freescale/m53017evb/u-boot.lds +++ b/board/freescale/m53017evb/u-boot.lds @@ -71,9 +71,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index fe5be41..e3ac171 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds index 8ff6fc9..fe0bb7d 100644 --- a/board/freescale/m5373evb/u-boot.lds +++ b/board/freescale/m5373evb/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m54451evb/u-boot.lds b/board/freescale/m54451evb/u-boot.lds index ea0984f..3eb25dd 100644 --- a/board/freescale/m54451evb/u-boot.lds +++ b/board/freescale/m54451evb/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds index fe1b58c..186d122 100644 --- a/board/freescale/m54455evb/u-boot.lds +++ b/board/freescale/m54455evb/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds index 877eaf2..87744e7 100644 --- a/board/freescale/m547xevb/u-boot.lds +++ b/board/freescale/m547xevb/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds index 33e054b..d877872 100644 --- a/board/freescale/m548xevb/u-boot.lds +++ b/board/freescale/m548xevb/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds index 3db5dc3..8f97de5 100644 --- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -57,9 +57,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gaisler/gr_cpci_ax2000/u-boot.lds b/board/gaisler/gr_cpci_ax2000/u-boot.lds index 416761b..8c4a0e5 100644 --- a/board/gaisler/gr_cpci_ax2000/u-boot.lds +++ b/board/gaisler/gr_cpci_ax2000/u-boot.lds @@ -85,10 +85,6 @@ SECTIONS
/* CMD Table */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gaisler/gr_ep2s60/u-boot.lds b/board/gaisler/gr_ep2s60/u-boot.lds index 43faf26..c647246 100644 --- a/board/gaisler/gr_ep2s60/u-boot.lds +++ b/board/gaisler/gr_ep2s60/u-boot.lds @@ -85,10 +85,6 @@ SECTIONS
/* CMD Table */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gaisler/gr_xc3s_1500/u-boot.lds b/board/gaisler/gr_xc3s_1500/u-boot.lds index 14c631e..96c98f3 100644 --- a/board/gaisler/gr_xc3s_1500/u-boot.lds +++ b/board/gaisler/gr_xc3s_1500/u-boot.lds @@ -85,10 +85,6 @@ SECTIONS
/* CMD Table */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gaisler/grsim/u-boot.lds b/board/gaisler/grsim/u-boot.lds index 4766465..df7f187 100644 --- a/board/gaisler/grsim/u-boot.lds +++ b/board/gaisler/grsim/u-boot.lds @@ -84,10 +84,6 @@ SECTIONS
/* CMD Table */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gaisler/grsim_leon2/u-boot.lds b/board/gaisler/grsim_leon2/u-boot.lds index cbd4ed6..ebcdf1c 100644 --- a/board/gaisler/grsim_leon2/u-boot.lds +++ b/board/gaisler/grsim_leon2/u-boot.lds @@ -84,10 +84,6 @@ SECTIONS
/* CMD Table */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - . = ALIGN(4); - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 1302eaa..e72e168 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -71,9 +71,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index de57dd1..6433828 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -71,9 +71,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index 45c56bb..d1303ff 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -80,9 +80,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug index 4783367..06ee03d 100644 --- a/board/genietv/u-boot.lds.debug +++ b/board/genietv/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index 8b90f6c..e912128 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -72,9 +72,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug index 53ffee1..3618c37 100644 --- a/board/hermes/u-boot.lds.debug +++ b/board/hermes/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds index 83d2dd4..b266ec5 100644 --- a/board/hymod/u-boot.lds +++ b/board/hymod/u-boot.lds @@ -110,9 +110,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug index 47ad2e7..888cbc5 100644 --- a/board/hymod/u-boot.lds.debug +++ b/board/hymod/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 23d4405..34f6b75 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug index 203f704..598b07d 100644 --- a/board/icu862/u-boot.lds.debug +++ b/board/icu862/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds index b302ba0..053a54a 100644 --- a/board/idmr/u-boot.lds +++ b/board/idmr/u-boot.lds @@ -65,9 +65,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds index 0569133..471efc1 100644 --- a/board/incaip/u-boot.lds +++ b/board/incaip/u-boot.lds @@ -54,15 +54,6 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : { - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
uboot_end_data = .; diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug index 4fc4c0f..aedab36 100644 --- a/board/ip860/u-boot.lds.debug +++ b/board/ip860/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index d0d9a37..9e9565b 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug index f4c04b3..1f66592 100644 --- a/board/ivm/u-boot.lds.debug +++ b/board/ivm/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds index da33f00..06ece39 100644 --- a/board/korat/u-boot-F7FC.lds +++ b/board/korat/u-boot-F7FC.lds @@ -108,9 +108,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/kup/kup4k/u-boot.lds.debug b/board/kup/kup4k/u-boot.lds.debug index c76f9d0..f99c742 100644 --- a/board/kup/kup4k/u-boot.lds.debug +++ b/board/kup/kup4k/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/kup/kup4x/u-boot.lds.debug b/board/kup/kup4x/u-boot.lds.debug index c76f9d0..f99c742 100644 --- a/board/kup/kup4x/u-boot.lds.debug +++ b/board/kup/kup4x/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index 9360839..4c80452 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/lantec/u-boot.lds.debug b/board/lantec/u-boot.lds.debug index 7c1ccb2..b8dd61d 100644 --- a/board/lantec/u-boot.lds.debug +++ b/board/lantec/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index 7dfa157..6264d2d 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug index 0778758..dbc722e 100644 --- a/board/lwmon/u-boot.lds.debug +++ b/board/lwmon/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds index d291d60..4a96fe4 100644 --- a/board/manroland/uc100/u-boot.lds +++ b/board/manroland/uc100/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/matrix_vision/mvsmr/u-boot.lds b/board/matrix_vision/mvsmr/u-boot.lds index 2445b97..99b29ce 100644 --- a/board/matrix_vision/mvsmr/u-boot.lds +++ b/board/matrix_vision/mvsmr/u-boot.lds @@ -74,9 +74,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug index 7e62932..da784f0 100644 --- a/board/mbx8xx/u-boot.lds.debug +++ b/board/mbx8xx/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds index 273d190..f3905e6 100644 --- a/board/micronas/vct/u-boot.lds +++ b/board/micronas/vct/u-boot.lds @@ -53,15 +53,6 @@ SECTIONS .sdata : { *(.sdata*) }
. = ALIGN(4); - .u_boot_cmd : { - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
. = ALIGN(4); diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds index a6cad6d..343d0bc 100644 --- a/board/ml2/u-boot.lds +++ b/board/ml2/u-boot.lds @@ -64,9 +64,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug index 78fe44c..0e3940f 100644 --- a/board/ml2/u-boot.lds.debug +++ b/board/ml2/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds index 863468e..fbfea7e 100644 --- a/board/mousse/u-boot.lds +++ b/board/mousse/u-boot.lds @@ -60,9 +60,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/mousse/u-boot.lds.ram b/board/mousse/u-boot.lds.ram index b3364be..5255651 100644 --- a/board/mousse/u-boot.lds.ram +++ b/board/mousse/u-boot.lds.ram @@ -85,9 +85,6 @@ SECTIONS } > ram */
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
__start___ex_table = .; __ex_table : { *(__ex_table) } > ram diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom index b4b9e02..29a34fb 100644 --- a/board/mousse/u-boot.lds.rom +++ b/board/mousse/u-boot.lds.rom @@ -102,9 +102,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
__start___ex_table = .; __ex_table : { *(__ex_table) } diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug index 78fe44c..0e3940f 100644 --- a/board/mpl/pip405/u-boot.lds.debug +++ b/board/mpl/pip405/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/mvblue/u-boot.lds b/board/mvblue/u-boot.lds index 4610de9..e3de27a 100644 --- a/board/mvblue/u-boot.lds +++ b/board/mvblue/u-boot.lds @@ -70,9 +70,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index 86bb3b4..1bd1fa0 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netphone/u-boot.lds.debug b/board/netphone/u-boot.lds.debug index 480feff..7b933f2 100644 --- a/board/netphone/u-boot.lds.debug +++ b/board/netphone/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index 86bb3b4..1bd1fa0 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netta/u-boot.lds.debug b/board/netta/u-boot.lds.debug index 480feff..7b933f2 100644 --- a/board/netta/u-boot.lds.debug +++ b/board/netta/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index 86bb3b4..1bd1fa0 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netta2/u-boot.lds.debug b/board/netta2/u-boot.lds.debug index 480feff..7b933f2 100644 --- a/board/netta2/u-boot.lds.debug +++ b/board/netta2/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index 86bb3b4..1bd1fa0 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/netvia/u-boot.lds.debug b/board/netvia/u-boot.lds.debug index 2e3f83e..cb71f3c 100644 --- a/board/netvia/u-boot.lds.debug +++ b/board/netvia/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index 4385876..dc204d2 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/nx823/u-boot.lds.debug b/board/nx823/u-boot.lds.debug index fd278a4..8bbe86a 100644 --- a/board/nx823/u-boot.lds.debug +++ b/board/nx823/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/openrisc/openrisc-generic/u-boot.lds b/board/openrisc/openrisc-generic/u-boot.lds index bc610bd..912aca0 100644 --- a/board/openrisc/openrisc-generic/u-boot.lds +++ b/board/openrisc/openrisc-generic/u-boot.lds @@ -26,9 +26,6 @@ SECTIONS _endtext = .; } > ram
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } > ram - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds index cac9188..4af40c6 100644 --- a/board/pb1x00/u-boot.lds +++ b/board/pb1x00/u-boot.lds @@ -54,15 +54,6 @@ SECTIONS
.sdata : { *(.sdata*) }
- .u_boot_cmd : { - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
uboot_end_data = .; diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds index 1f37e8b..4b159cf 100644 --- a/board/qemu-mips/u-boot.lds +++ b/board/qemu-mips/u-boot.lds @@ -56,15 +56,6 @@ SECTIONS .sdata : { *(.sdata*) }
. = .; - .u_boot_cmd : { - __u_boot_cmd_start = .; - *(.u_boot_cmd) - __u_boot_cmd_end = .; - - . = ALIGN(4); - .u_boot_list : { - INCLUDE u-boot.lst; - } }
uboot_end_data = .; diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds index e1bb826..286806a 100644 --- a/board/qi/qi_lb60/u-boot.lds +++ b/board/qi/qi_lb60/u-boot.lds @@ -47,9 +47,6 @@ SECTIONS
.sdata : { *(.sdata*) }
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 181468d..4748a6b 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index 50c3eee..30e01d2 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -77,9 +77,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds index cff6ff5..76cb82e 100644 --- a/board/renesas/sh7757lcr/u-boot.lds +++ b/board/renesas/sh7757lcr/u-boot.lds @@ -77,13 +77,6 @@ SECTIONS } PROVIDE (_egot = .);
- PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .);
.u_boot_list : { INCLUDE u-boot.lst; diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds index ee651d4..d69af28 100644 --- a/board/rsdproto/u-boot.lds +++ b/board/rsdproto/u-boot.lds @@ -97,9 +97,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds index 27693f0e..c34bd15 100644 --- a/board/samsung/smdk6400/u-boot-nand.lds +++ b/board/samsung/smdk6400/u-boot-nand.lds @@ -47,9 +47,6 @@ SECTIONS . = ALIGN(4); .got : { *(.got) }
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = align(4); .u_boot_list : { diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug index 586dc95..84e22ad 100644 --- a/board/sandburst/karef/u-boot.lds.debug +++ b/board/sandburst/karef/u-boot.lds.debug @@ -115,9 +115,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug index 48f5be0..4aa3f21 100644 --- a/board/sandburst/metrobox/u-boot.lds.debug +++ b/board/sandburst/metrobox/u-boot.lds.debug @@ -115,9 +115,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/sandpoint/u-boot.lds b/board/sandpoint/u-boot.lds index a4421a7..ba20d64 100644 --- a/board/sandpoint/u-boot.lds +++ b/board/sandpoint/u-boot.lds @@ -68,9 +68,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index 3532d3b..ed60bf5 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index 4153927..bf5ac93 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 039597e..17917bf 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -69,9 +69,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index 92f78be..ca421d5 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index ada68f1..4fbabdf 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug index 7e62932..da784f0 100644 --- a/board/spd8xx/u-boot.lds.debug +++ b/board/spd8xx/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index 86bb3b4..1bd1fa0 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/stx/stxxtc/u-boot.lds.debug b/board/stx/stxxtc/u-boot.lds.debug index 480feff..7b933f2 100644 --- a/board/stx/stxxtc/u-boot.lds.debug +++ b/board/stx/stxxtc/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index af83956..e9caa85 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -83,9 +83,6 @@ SECTIONS
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 226cfc1..ff70607 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -83,9 +83,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index feb3870..8626675 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -66,9 +66,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug index 520acd5..a0a9814 100644 --- a/board/w7o/u-boot.lds.debug +++ b/board/w7o/u-boot.lds.debug @@ -106,9 +106,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index e642a3a..116c5a8 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -75,9 +75,6 @@ SECTIONS PROVIDE (edata = .);
. = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug index 203f704..598b07d 100644 --- a/board/westel/amx860/u-boot.lds.debug +++ b/board/westel/amx860/u-boot.lds.debug @@ -107,9 +107,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug index d685738..774dcbb 100644 --- a/board/xes/xpedite1000/u-boot.lds.debug +++ b/board/xes/xpedite1000/u-boot.lds.debug @@ -111,9 +111,6 @@ SECTIONS _edata = .; PROVIDE (edata = .);
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/include/command.h b/include/command.h index 24864d5..10bc260 100644 --- a/include/command.h +++ b/include/command.h @@ -62,8 +62,6 @@ struct cmd_tbl_s {
typedef struct cmd_tbl_s cmd_tbl_t;
-extern cmd_tbl_t __u_boot_cmd_start; -extern cmd_tbl_t __u_boot_cmd_end;
#if defined(CONFIG_CMD_RUN) extern int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); diff --git a/nand_spl/board/freescale/mx31pdk/u-boot.lds b/nand_spl/board/freescale/mx31pdk/u-boot.lds index 363690f..7a75603 100644 --- a/nand_spl/board/freescale/mx31pdk/u-boot.lds +++ b/nand_spl/board/freescale/mx31pdk/u-boot.lds @@ -46,9 +46,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index 8332710..d7c7060 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -46,9 +46,6 @@ SECTIONS }
. = ALIGN(4); - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : { diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds index 7ceae32..7e92a02 100644 --- a/nand_spl/board/samsung/smdk6400/u-boot.lds +++ b/nand_spl/board/samsung/smdk6400/u-boot.lds @@ -50,9 +50,6 @@ SECTIONS . = ALIGN(4); .got : { *(.got) }
- __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .;
. = ALIGN(4); .u_boot_list : {

Dear Marek Vasut,
This is a first stab at the linker-generated array. Basically, this concept is a generic abstraction of how u_boot_cmd works today. The patch 2/4 contains a huge pile of documentation which should clarify most of the questions.
I don't see size growth, I see size fluctiation in the order of tens of bytes with these patches applied. Subsequent patch added to this series removes the __u_boot_cmd section completely.
V2: Flip over commands to the LG-arrays, inline the documentation with kernel-doc (most people seems to be happy about KD, it's just a matter of negotiating the rules). Add patch discarding the u_boot_cmd section.
[...]
Argh, this should have obviously been V3 :-/
Best regards, Marek Vasut
participants (5)
-
Joe Hershberger
-
Marek Vasut
-
Otavio Salvador
-
Tom Rini
-
Wolfgang Denk