[U-Boot-Users] [PATCH] Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections

Wolfgang Denk wd at denx.de
Fri Dec 7 12:16:54 CET 2007


With recent toolchain versions, some boards would not build because
or errors like this one (here for ocotea board when building with
ELDK 4.2):
ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss [fffee900 -> fffff8ab]

For many boards, the .bss section is big enough that it wraps around
at the end of the address space (0xFFFFFFFF), so the problem will not
be visible unless you use a 64 bit tool chain for development. On
some boards however, changes to the code size (due to different
optimizations) we bail out with section overlaps like above.

The fix is to add the NOLOAD attribute to the .bss and .sbss
sections, telling the linker that .bss does not consume any space in
the image.

Signed-off-by: Wolfgang Denk <wd at denx.de>
---
 board/BuS/EB+MCF-EV123/u-boot.lds      |    2 +-
 board/LEOX/elpt860/u-boot.lds          |    2 +-
 board/MAI/AmigaOneG3SE/u-boot.lds      |    2 +-
 board/Marvell/db64360/u-boot.lds       |    2 +-
 board/Marvell/db64460/u-boot.lds       |    2 +-
 board/RPXClassic/u-boot.lds            |    2 +-
 board/RPXlite/u-boot.lds               |    2 +-
 board/RPXlite_dw/u-boot.lds            |    2 +-
 board/RRvision/u-boot.lds              |    2 +-
 board/adder/u-boot.lds                 |    2 +-
 board/ads5121/u-boot.lds               |    2 +-
 board/adsvix/u-boot.lds                |    2 +-
 board/altera/dk1c20/u-boot.lds         |    2 +-
 board/altera/dk1s10/u-boot.lds         |    2 +-
 board/altera/ep1c20/u-boot.lds         |    4 ++--
 board/altera/ep1s10/u-boot.lds         |    4 ++--
 board/altera/ep1s40/u-boot.lds         |    4 ++--
 board/amcc/acadia/u-boot-nand.lds      |    2 +-
 board/amcc/acadia/u-boot.lds           |    2 +-
 board/amcc/bamboo/u-boot-nand.lds      |    2 +-
 board/amcc/bamboo/u-boot.lds           |    2 +-
 board/amcc/bubinga/u-boot.lds          |    2 +-
 board/amcc/ebony/u-boot.lds            |    2 +-
 board/amcc/katmai/u-boot.lds           |    2 +-
 board/amcc/luan/u-boot.lds             |    2 +-
 board/amcc/ocotea/u-boot.lds           |    2 +-
 board/amcc/sequoia/u-boot-nand.lds     |    2 +-
 board/amcc/sequoia/u-boot.lds          |    2 +-
 board/amcc/taihu/u-boot.lds            |    2 +-
 board/amcc/taishan/u-boot.lds          |    2 +-
 board/amcc/walnut/u-boot.lds           |    2 +-
 board/amcc/yosemite/u-boot.lds         |    2 +-
 board/amcc/yucca/u-boot.lds            |    2 +-
 board/amirix/ap1000/u-boot.lds         |    2 +-
 board/armadillo/u-boot.lds             |    2 +-
 board/assabet/u-boot.lds               |    2 +-
 board/at91rm9200dk/u-boot.lds          |    2 +-
 board/atmel/atstk1000/u-boot.lds       |    2 +-
 board/c2mon/u-boot.lds                 |    2 +-
 board/cds/mpc8541cds/u-boot.lds        |    2 +-
 board/cds/mpc8548cds/u-boot.lds        |    2 +-
 board/cds/mpc8555cds/u-boot.lds        |    2 +-
 board/cerf250/u-boot.lds               |    2 +-
 board/cm4008/u-boot.lds                |    2 +-
 board/cm41xx/u-boot.lds                |    2 +-
 board/cm5200/u-boot.lds                |    2 +-
 board/cmc_pu2/u-boot.lds               |    2 +-
 board/cobra5272/u-boot.lds             |    2 +-
 board/cogent/u-boot.lds                |    2 +-
 board/cradle/u-boot.lds                |    2 +-
 board/cray/L1/u-boot.lds               |    2 +-
 board/csb226/u-boot.lds                |    2 +-
 board/csb272/u-boot.lds                |    2 +-
 board/csb472/u-boot.lds                |    2 +-
 board/csb637/u-boot.lds                |    2 +-
 board/dave/B2/u-boot.lds               |    2 +-
 board/dave/PPChameleonEVB/u-boot.lds   |    2 +-
 board/davinci/dv-evm/u-boot.lds        |    2 +-
 board/davinci/schmoogie/u-boot.lds     |    2 +-
 board/davinci/sonata/u-boot.lds        |    2 +-
 board/dbau1x00/u-boot.lds              |    4 ++--
 board/delta/u-boot.lds                 |    2 +-
 board/dnp1110/u-boot.lds               |    2 +-
 board/eltec/bab7xx/u-boot.lds          |    2 +-
 board/eltec/elppc/u-boot.lds           |    2 +-
 board/eltec/mhpc/u-boot.lds            |    2 +-
 board/emk/top860/u-boot.lds            |    2 +-
 board/ep7312/u-boot.lds                |    2 +-
 board/ep88x/u-boot.lds                 |    2 +-
 board/eric/u-boot.lds                  |    2 +-
 board/esd/adciop/u-boot.lds            |    2 +-
 board/esd/apc405/u-boot.lds            |    2 +-
 board/esd/ar405/u-boot.lds             |    2 +-
 board/esd/ash405/u-boot.lds            |    2 +-
 board/esd/canbt/u-boot.lds             |    2 +-
 board/esd/cms700/u-boot.lds            |    2 +-
 board/esd/cpci2dp/u-boot.lds           |    2 +-
 board/esd/cpci405/u-boot.lds           |    2 +-
 board/esd/cpci440/u-boot.lds           |    2 +-
 board/esd/cpci750/u-boot.lds           |    2 +-
 board/esd/cpciiser4/u-boot.lds         |    2 +-
 board/esd/dasa_sim/u-boot.lds          |    2 +-
 board/esd/dp405/u-boot.lds             |    2 +-
 board/esd/du405/u-boot.lds             |    2 +-
 board/esd/hh405/u-boot.lds             |    2 +-
 board/esd/hub405/u-boot.lds            |    2 +-
 board/esd/ocrtc/u-boot.lds             |    2 +-
 board/esd/pci405/u-boot.lds            |    2 +-
 board/esd/plu405/u-boot.lds            |    2 +-
 board/esd/pmc405/u-boot.lds            |    2 +-
 board/esd/tasreg/u-boot.lds            |    2 +-
 board/esd/voh405/u-boot.lds            |    2 +-
 board/esd/vom405/u-boot.lds            |    2 +-
 board/esd/wuh405/u-boot.lds            |    2 +-
 board/esteem192e/u-boot.lds            |    2 +-
 board/etx094/u-boot.lds                |    2 +-
 board/evb4510/u-boot.lds               |    2 +-
 board/evb64260/u-boot.lds              |    2 +-
 board/exbitgen/u-boot.lds              |    2 +-
 board/fads/u-boot.lds                  |    2 +-
 board/flagadm/u-boot.lds               |    2 +-
 board/freescale/m5235evb/u-boot.lds    |    2 +-
 board/freescale/m5249evb/u-boot.lds    |    2 +-
 board/freescale/m5253evbe/u-boot.lds   |    2 +-
 board/freescale/m5329evb/u-boot.lds    |    2 +-
 board/freescale/m54455evb/u-boot.lds   |    2 +-
 board/freescale/mpc8544ds/u-boot.lds   |    2 +-
 board/freescale/mpc8641hpcn/u-boot.lds |    2 +-
 board/g2000/u-boot.lds                 |    2 +-
 board/gcplus/u-boot.lds                |    2 +-
 board/gen860t/u-boot-flashenv.lds      |    2 +-
 board/gen860t/u-boot.lds               |    2 +-
 board/genietv/u-boot.lds               |    2 +-
 board/gth/u-boot.lds                   |    2 +-
 board/gth2/u-boot.lds                  |    4 ++--
 board/hermes/u-boot.lds                |    2 +-
 board/hymod/u-boot.lds                 |    2 +-
 board/icu862/u-boot.lds                |    2 +-
 board/idmr/u-boot.lds                  |    2 +-
 board/impa7/u-boot.lds                 |    2 +-
 board/incaip/u-boot.lds                |    4 ++--
 board/innokom/u-boot.lds               |    2 +-
 board/ip860/u-boot.lds                 |    2 +-
 board/ivm/u-boot.lds                   |    2 +-
 board/ixdp425/u-boot.lds               |    2 +-
 board/jse/u-boot.lds                   |    2 +-
 board/kb9202/u-boot.lds                |    2 +-
 board/kup/kup4k/u-boot.lds             |    2 +-
 board/kup/kup4x/u-boot.lds             |    2 +-
 board/lantec/u-boot.lds                |    2 +-
 board/lart/u-boot.lds                  |    2 +-
 board/logodl/u-boot.lds                |    2 +-
 board/lpc2292sodimm/u-boot.lds         |    2 +-
 board/lpd7a40x/u-boot.lds              |    2 +-
 board/lubbock/u-boot.lds               |    2 +-
 board/lwmon/u-boot.lds                 |    2 +-
 board/lwmon5/u-boot.lds                |    2 +-
 board/m5271evb/u-boot.lds              |    2 +-
 board/m5272c3/u-boot.lds               |    2 +-
 board/m5282evb/u-boot.lds              |    2 +-
 board/mbx8xx/u-boot.lds                |    2 +-
 board/ml2/u-boot.lds                   |    2 +-
 board/modnet50/u-boot.lds              |    2 +-
 board/mousse/u-boot.lds                |    2 +-
 board/mp2usb/u-boot.lds                |    2 +-
 board/mpc7448hpc2/u-boot.lds           |    2 +-
 board/mpc8540ads/u-boot.lds            |    2 +-
 board/mpc8540eval/u-boot.lds           |    2 +-
 board/mpc8560ads/u-boot.lds            |    2 +-
 board/mpc8568mds/u-boot.lds            |    2 +-
 board/mpl/mip405/u-boot.lds            |    2 +-
 board/mpl/pip405/u-boot.lds            |    2 +-
 board/mpl/vcma9/u-boot.lds             |    2 +-
 board/mvs1/u-boot.lds                  |    2 +-
 board/mx1ads/u-boot.lds                |    2 +-
 board/mx1fs2/u-boot.lds                |    2 +-
 board/nc650/u-boot.lds                 |    2 +-
 board/netphone/u-boot.lds              |    2 +-
 board/netstal/hcu4/u-boot.lds          |    2 +-
 board/netstal/hcu5/u-boot.lds          |    2 +-
 board/netstar/u-boot.lds               |    2 +-
 board/netta/u-boot.lds                 |    2 +-
 board/netta2/u-boot.lds                |    2 +-
 board/netvia/u-boot.lds                |    2 +-
 board/ns9750dev/u-boot.lds             |    2 +-
 board/nx823/u-boot.lds                 |    2 +-
 board/omap1510inn/u-boot.lds           |    2 +-
 board/omap1610inn/u-boot.lds           |    2 +-
 board/omap2420h4/u-boot.lds            |    2 +-
 board/omap5912osk/u-boot.lds           |    2 +-
 board/omap730p2/u-boot.lds             |    2 +-
 board/pb1x00/u-boot.lds                |    4 ++--
 board/pcippc2/u-boot.lds               |    2 +-
 board/pcs440ep/u-boot.lds              |    2 +-
 board/pleb2/u-boot.lds                 |    2 +-
 board/pm854/u-boot.lds                 |    2 +-
 board/pm856/u-boot.lds                 |    2 +-
 board/ppmc7xx/u-boot.lds               |    2 +-
 board/prodrive/alpr/u-boot.lds         |    2 +-
 board/prodrive/p3mx/u-boot.lds         |    2 +-
 board/prodrive/p3p440/u-boot.lds       |    2 +-
 board/prodrive/pdnb3/u-boot.lds        |    2 +-
 board/psyent/pci5441/u-boot.lds        |    4 ++--
 board/psyent/pk1c20/u-boot.lds         |    4 ++--
 board/purple/u-boot.lds                |    4 ++--
 board/pxa255_idp/u-boot.lds            |    2 +-
 board/quantum/u-boot.lds               |    2 +-
 board/r360mpi/u-boot.lds               |    2 +-
 board/r5200/u-boot.lds                 |    2 +-
 board/rbc823/u-boot.lds                |    2 +-
 board/rmu/u-boot.lds                   |    2 +-
 board/rsdproto/u-boot.lds              |    2 +-
 board/sandburst/karef/u-boot.lds       |    2 +-
 board/sandburst/metrobox/u-boot.lds    |    2 +-
 board/sbc2410x/u-boot.lds              |    2 +-
 board/sbc405/u-boot.lds                |    2 +-
 board/sbc8560/u-boot.lds               |    2 +-
 board/sbc8641d/u-boot.lds              |    2 +-
 board/sc3/u-boot.lds                   |    2 +-
 board/sc520_cdp/u-boot.lds             |    2 +-
 board/sc520_spunk/u-boot.lds           |    2 +-
 board/scb9328/u-boot.lds               |    2 +-
 board/shannon/u-boot.lds               |    2 +-
 board/siemens/CCM/u-boot.lds           |    2 +-
 board/siemens/IAD210/u-boot.lds        |    2 +-
 board/siemens/SMN42/u-boot.lds         |    2 +-
 board/siemens/pcu_e/u-boot.lds         |    2 +-
 board/sixnet/u-boot.lds                |    2 +-
 board/smdk2400/u-boot.lds              |    2 +-
 board/smdk2410/u-boot.lds              |    2 +-
 board/snmc/qs850/u-boot.lds            |    2 +-
 board/snmc/qs860t/u-boot.lds           |    2 +-
 board/spc1920/u-boot.lds               |    2 +-
 board/spd8xx/u-boot.lds                |    2 +-
 board/ssv/adnpesc1/u-boot.lds          |    2 +-
 board/stxgp3/u-boot.lds                |    2 +-
 board/stxssa/u-boot.lds                |    2 +-
 board/stxxtc/u-boot.lds                |    2 +-
 board/svm_sc8xx/u-boot.lds             |    2 +-
 board/sx1/u-boot.lds                   |    2 +-
 board/tb0229/u-boot.lds                |    4 ++--
 board/tqm85xx/u-boot.lds               |    2 +-
 board/tqm8xx/u-boot.lds                |    2 +-
 board/trab/u-boot.lds                  |    2 +-
 board/trizepsiv/u-boot.lds             |    2 +-
 board/uc100/u-boot.lds                 |    2 +-
 board/v37/u-boot.lds                   |    2 +-
 board/versatile/u-boot.lds             |    2 +-
 board/voiceblue/u-boot.lds             |    2 +-
 board/w7o/u-boot.lds                   |    2 +-
 board/wepep250/u-boot.lds              |    2 +-
 board/westel/amx860/u-boot.lds         |    2 +-
 board/xaeniax/u-boot.lds               |    2 +-
 board/xilinx/ml300/u-boot.lds          |    2 +-
 board/xm250/u-boot.lds                 |    2 +-
 board/xpedite1k/u-boot.lds             |    2 +-
 board/xsengine/u-boot.lds              |    2 +-
 board/zeus/u-boot.lds                  |    2 +-
 board/zylonite/u-boot.lds              |    2 +-
 cpu/mpc5xx/u-boot.lds                  |    2 +-
 cpu/mpc5xxx/u-boot-customlayout.lds    |    2 +-
 cpu/mpc5xxx/u-boot.lds                 |    2 +-
 cpu/mpc8220/u-boot.lds                 |    2 +-
 cpu/mpc824x/u-boot.lds                 |    2 +-
 cpu/mpc8260/u-boot.lds                 |    2 +-
 cpu/mpc83xx/u-boot.lds                 |    2 +-
 nand_spl/board/amcc/acadia/u-boot.lds  |    2 +-
 nand_spl/board/amcc/bamboo/u-boot.lds  |    2 +-
 nand_spl/board/amcc/sequoia/u-boot.lds |    2 +-
 249 files changed, 260 insertions(+), 260 deletions(-)

Patch exceeds mailing list's message size limit.

Please see ftp://ftp.denx.de/pub/tmp/Fix-linker-scripts-BSS-NOLOAD.patch




More information about the U-Boot mailing list