[U-Boot] [PATCH] Align end of bss by 4 bytes.

Selvamuthukumar selva.muthukumar at e-coninfotech.com
Wed Oct 15 22:17:48 CEST 2008


Most of the bss initialization loop increments 4 bytes
at a time. And the loop end is checked for an 'equal'
condition. Make the bss end address aligned by 4, so
that the loop will end as expected.


Signed-off-by: Selvamuthukumar <selva.muthukumar at e-coninfotech.com>
---
Following script was used to do the changes. After
running the script through all lds files, duplicate ALIGN
around bss was removed.

$*=1;
open(INPUT,"<$ARGV[0]") or die;
@input_array=<INPUT>;
close(INPUT);
$input_scalar=join("", at input_array);
$input_scalar =~ s#([\s]*?)(\*\(.bss\))([\s\S]*?)([\s]*?})#\1\2\3\1. = ALIGN(4);\4#ig;
open(OUTPUT,">$ARGV[0]") or die;
print(OUTPUT $input_scalar);
close(OUTPUT);

 board/AtmarkTechno/suzaku/u-boot.lds         |    1 +
 board/LEOX/elpt860/u-boot.lds                |    1 +
 board/MAI/AmigaOneG3SE/u-boot.lds            |    1 +
 board/Marvell/db64360/u-boot.lds             |    1 +
 board/Marvell/db64460/u-boot.lds             |    1 +
 board/RPXClassic/u-boot.lds                  |    1 +
 board/RPXlite/u-boot.lds                     |    1 +
 board/RPXlite_dw/u-boot.lds                  |    1 +
 board/RRvision/u-boot.lds                    |    1 +
 board/actux1/u-boot.lds                      |    1 +
 board/actux2/u-boot.lds                      |    1 +
 board/actux3/u-boot.lds                      |    1 +
 board/actux4/u-boot.lds                      |    1 +
 board/adder/u-boot.lds                       |    1 +
 board/ads5121/u-boot.lds                     |    1 +
 board/amcc/acadia/u-boot-nand.lds            |    1 +
 board/amcc/acadia/u-boot.lds                 |    1 +
 board/amcc/bamboo/u-boot-nand.lds            |    1 +
 board/amcc/bamboo/u-boot.lds                 |    1 +
 board/amcc/bubinga/u-boot.lds                |    1 +
 board/amcc/canyonlands/u-boot-nand.lds       |    1 +
 board/amcc/canyonlands/u-boot.lds            |    1 +
 board/amcc/ebony/u-boot.lds                  |    1 +
 board/amcc/katmai/u-boot.lds                 |    1 +
 board/amcc/kilauea/u-boot-nand.lds           |    1 +
 board/amcc/kilauea/u-boot.lds                |    1 +
 board/amcc/luan/u-boot.lds                   |    1 +
 board/amcc/makalu/u-boot.lds                 |    1 +
 board/amcc/ocotea/u-boot.lds                 |    1 +
 board/amcc/redwood/u-boot.lds                |    1 +
 board/amcc/sequoia/u-boot-nand.lds           |    1 +
 board/amcc/sequoia/u-boot.lds                |    1 +
 board/amcc/taihu/u-boot.lds                  |    1 +
 board/amcc/taishan/u-boot.lds                |    1 +
 board/amcc/walnut/u-boot.lds                 |    1 +
 board/amcc/yosemite/u-boot.lds               |    1 +
 board/amcc/yucca/u-boot.lds                  |    1 +
 board/amirix/ap1000/u-boot.lds               |    1 +
 board/apollon/u-boot.lds                     |    2 +-
 board/armadillo/u-boot.lds                   |    2 +-
 board/assabet/u-boot.lds                     |    2 +-
 board/atmel/at91rm9200dk/u-boot.lds          |    2 +-
 board/atmel/atngw100/u-boot.lds              |    1 +
 board/atmel/atstk1000/u-boot.lds             |    1 +
 board/atum8548/u-boot.lds                    |    1 +
 board/c2mon/u-boot.lds                       |    1 +
 board/cerf250/u-boot.lds                     |    2 +-
 board/cm4008/u-boot.lds                      |    2 +-
 board/cm41xx/u-boot.lds                      |    2 +-
 board/cm5200/u-boot.lds                      |    1 +
 board/cmc_pu2/u-boot.lds                     |    2 +-
 board/cogent/u-boot.lds                      |    1 +
 board/cradle/u-boot.lds                      |    2 +-
 board/cray/L1/u-boot.lds                     |    1 +
 board/csb226/u-boot.lds                      |    2 +-
 board/csb272/u-boot.lds                      |    1 +
 board/csb472/u-boot.lds                      |    1 +
 board/csb637/u-boot.lds                      |    2 +-
 board/dave/B2/u-boot.lds                     |    2 +-
 board/dave/PPChameleonEVB/u-boot.lds         |    1 +
 board/davinci/dvevm/u-boot.lds               |    2 +-
 board/davinci/schmoogie/u-boot.lds           |    2 +-
 board/davinci/sffsdr/u-boot.lds              |    2 +-
 board/davinci/sonata/u-boot.lds              |    2 +-
 board/dbau1x00/u-boot.lds                    |    2 +-
 board/delta/u-boot.lds                       |    2 +-
 board/dnp1110/u-boot.lds                     |    2 +-
 board/earthlcd/favr-32-ezkit/u-boot.lds      |    1 +
 board/eltec/bab7xx/u-boot.lds                |    1 +
 board/eltec/elppc/u-boot.lds                 |    1 +
 board/eltec/mhpc/u-boot.lds                  |    1 +
 board/emk/top860/u-boot.lds                  |    1 +
 board/ep7312/u-boot.lds                      |    2 +-
 board/ep88x/u-boot.lds                       |    1 +
 board/eric/u-boot.lds                        |    1 +
 board/esd/adciop/u-boot.lds                  |    1 +
 board/esd/apc405/u-boot.lds                  |    1 +
 board/esd/ar405/u-boot.lds                   |    1 +
 board/esd/ash405/u-boot.lds                  |    1 +
 board/esd/canbt/u-boot.lds                   |    1 +
 board/esd/cms700/u-boot.lds                  |    1 +
 board/esd/cpci2dp/u-boot.lds                 |    1 +
 board/esd/cpci405/u-boot.lds                 |    1 +
 board/esd/cpci750/u-boot.lds                 |    1 +
 board/esd/cpciiser4/u-boot.lds               |    1 +
 board/esd/dasa_sim/u-boot.lds                |    1 +
 board/esd/dp405/u-boot.lds                   |    1 +
 board/esd/du405/u-boot.lds                   |    1 +
 board/esd/du440/u-boot.lds                   |    1 +
 board/esd/hh405/u-boot.lds                   |    1 +
 board/esd/hub405/u-boot.lds                  |    1 +
 board/esd/ocrtc/u-boot.lds                   |    1 +
 board/esd/pci405/u-boot.lds                  |    1 +
 board/esd/plu405/u-boot.lds                  |    1 +
 board/esd/pmc405/u-boot.lds                  |    1 +
 board/esd/pmc440/u-boot-nand.lds             |    1 +
 board/esd/pmc440/u-boot.lds                  |    1 +
 board/esd/tasreg/u-boot.lds                  |    1 +
 board/esd/voh405/u-boot.lds                  |    1 +
 board/esd/vom405/u-boot.lds                  |    1 +
 board/esd/wuh405/u-boot.lds                  |    1 +
 board/esteem192e/u-boot.lds                  |    1 +
 board/etx094/u-boot.lds                      |    1 +
 board/evb4510/u-boot.lds                     |    2 +-
 board/evb64260/u-boot.lds                    |    1 +
 board/exbitgen/u-boot.lds                    |    1 +
 board/fads/u-boot.lds                        |    1 +
 board/flagadm/u-boot.lds                     |    1 +
 board/freescale/mpc7448hpc2/u-boot.lds       |    1 +
 board/freescale/mpc8610hpcd/u-boot.lds       |    1 +
 board/freescale/mpc8641hpcn/u-boot.lds       |    1 +
 board/freescale/mx31ads/u-boot.lds           |    2 +-
 board/g2000/u-boot.lds                       |    1 +
 board/gcplus/u-boot.lds                      |    2 +-
 board/gen860t/u-boot-flashenv.lds            |    1 +
 board/gen860t/u-boot.lds                     |    1 +
 board/genietv/u-boot.lds                     |    1 +
 board/gth/u-boot.lds                         |    1 +
 board/gth2/u-boot.lds                        |    2 +-
 board/hermes/u-boot.lds                      |    1 +
 board/hymod/u-boot.lds                       |    1 +
 board/icu862/u-boot.lds                      |    1 +
 board/impa7/u-boot.lds                       |    2 +-
 board/imx31_litekit/u-boot.lds               |    2 +-
 board/imx31_phycore/u-boot.lds               |    2 +-
 board/incaip/u-boot.lds                      |    2 +-
 board/innokom/u-boot.lds                     |    2 +-
 board/ip860/u-boot.lds                       |    1 +
 board/ivm/u-boot.lds                         |    1 +
 board/ixdp425/u-boot.lds                     |    2 +-
 board/jse/u-boot.lds                         |    1 +
 board/kb9202/u-boot.lds                      |    2 +-
 board/korat/u-boot-F7FC.lds                  |    1 +
 board/korat/u-boot.lds                       |    1 +
 board/kup/kup4k/u-boot.lds                   |    1 +
 board/kup/kup4x/u-boot.lds                   |    1 +
 board/lantec/u-boot.lds                      |    1 +
 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                       |    1 +
 board/lwmon5/u-boot.lds                      |    1 +
 board/m501sk/u-boot.lds                      |    2 +-
 board/mbx8xx/u-boot.lds                      |    1 +
 board/mgsuvd/u-boot.lds                      |    1 +
 board/ml2/u-boot.lds                         |    1 +
 board/modnet50/u-boot.lds                    |    2 +-
 board/mousse/u-boot.lds                      |    1 +
 board/mp2usb/u-boot.lds                      |    2 +-
 board/mpc8540eval/u-boot.lds                 |    1 +
 board/mpl/mip405/u-boot.lds                  |    1 +
 board/mpl/pip405/u-boot.lds                  |    1 +
 board/mpl/vcma9/u-boot.lds                   |    2 +-
 board/munices/u-boot.lds                     |    1 +
 board/mx1ads/u-boot.lds                      |    2 +-
 board/mx1fs2/u-boot.lds                      |    2 +-
 board/nc650/u-boot.lds                       |    1 +
 board/netphone/u-boot.lds                    |    1 +
 board/netstal/hcu4/u-boot.lds                |    1 +
 board/netstal/hcu5/u-boot.lds                |    1 +
 board/netstal/mcu25/u-boot.lds               |    1 +
 board/netstar/eeprom.lds                     |    2 +-
 board/netstar/u-boot.lds                     |    2 +-
 board/netta/u-boot.lds                       |    1 +
 board/netta2/u-boot.lds                      |    1 +
 board/netvia/u-boot.lds                      |    1 +
 board/ns9750dev/u-boot.lds                   |    2 +-
 board/nx823/u-boot.lds                       |    1 +
 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                      |    2 +-
 board/pcippc2/u-boot.lds                     |    1 +
 board/pcs440ep/u-boot.lds                    |    1 +
 board/pleb2/u-boot.lds                       |    2 +-
 board/pm854/u-boot.lds                       |    1 +
 board/pm856/u-boot.lds                       |    1 +
 board/ppmc7xx/u-boot.lds                     |    1 +
 board/prodrive/alpr/u-boot.lds               |    1 +
 board/prodrive/p3mx/u-boot.lds               |    1 +
 board/prodrive/p3p440/u-boot.lds             |    1 +
 board/prodrive/pdnb3/u-boot.lds              |    2 +-
 board/purple/u-boot.lds                      |    2 +-
 board/pxa255_idp/u-boot.lds                  |    2 +-
 board/qemu-mips/u-boot.lds                   |    2 +-
 board/quad100hd/u-boot.lds                   |    1 +
 board/quantum/u-boot.lds                     |    1 +
 board/r360mpi/u-boot.lds                     |    1 +
 board/rbc823/u-boot.lds                      |    1 +
 board/rmu/u-boot.lds                         |    1 +
 board/rsdproto/u-boot.lds                    |    1 +
 board/samsung/smdk6400/u-boot-nand.lds       |    2 +-
 board/sandburst/karef/u-boot.lds             |    1 +
 board/sandburst/metrobox/u-boot.lds          |    1 +
 board/sbc2410x/u-boot.lds                    |    2 +-
 board/sbc405/u-boot.lds                      |    1 +
 board/sbc8548/u-boot.lds                     |    1 +
 board/sbc8560/u-boot.lds                     |    1 +
 board/sbc8641d/u-boot.lds                    |    1 +
 board/sc3/u-boot.lds                         |    1 +
 board/sc520_cdp/u-boot.lds                   |    2 +-
 board/sc520_spunk/u-boot.lds                 |    2 +-
 board/scb9328/u-boot.lds                     |    2 +-
 board/sh7763rdp/u-boot.lds                   |    1 +
 board/shannon/u-boot.lds                     |    2 +-
 board/siemens/CCM/u-boot.lds                 |    1 +
 board/siemens/IAD210/u-boot.lds              |    1 +
 board/siemens/SMN42/u-boot.lds               |    2 +-
 board/siemens/pcu_e/u-boot.lds               |    1 +
 board/sixnet/u-boot.lds                      |    1 +
 board/smdk2400/u-boot.lds                    |    2 +-
 board/smdk2410/u-boot.lds                    |    2 +-
 board/snmc/qs850/u-boot.lds                  |    1 +
 board/snmc/qs860t/u-boot.lds                 |    1 +
 board/socrates/u-boot.lds                    |    1 +
 board/spc1920/u-boot.lds                     |    1 +
 board/spd8xx/u-boot.lds                      |    1 +
 board/ssv/adnpesc1/u-boot.lds                |    1 +
 board/stxgp3/u-boot.lds                      |    1 +
 board/stxssa/u-boot.lds                      |    1 +
 board/stxxtc/u-boot.lds                      |    1 +
 board/svm_sc8xx/u-boot.lds                   |    1 +
 board/sx1/u-boot.lds                         |    2 +-
 board/tb0229/u-boot.lds                      |    2 +-
 board/tqc/tqm85xx/u-boot.lds                 |    1 +
 board/tqc/tqm8xx/u-boot.lds                  |    1 +
 board/trab/u-boot.lds                        |    2 +-
 board/trizepsiv/u-boot.lds                   |    2 +-
 board/uc100/u-boot.lds                       |    1 +
 board/v37/u-boot.lds                         |    1 +
 board/versatile/u-boot.lds                   |    2 +-
 board/voiceblue/eeprom.lds                   |    2 +-
 board/voiceblue/u-boot.lds                   |    2 +-
 board/w7o/u-boot.lds                         |    1 +
 board/wepep250/u-boot.lds                    |    2 +-
 board/westel/amx860/u-boot.lds               |    1 +
 board/xaeniax/u-boot.lds                     |    2 +-
 board/xilinx/ml300/u-boot.lds                |    1 +
 board/xilinx/ml401/u-boot.lds                |    1 +
 board/xilinx/ppc440-generic/u-boot-ram.lds   |    1 +
 board/xilinx/ppc440-generic/u-boot-rom.lds   |    1 +
 board/xilinx/xupv2p/u-boot.lds               |    1 +
 board/xm250/u-boot.lds                       |    2 +-
 board/xpedite1k/u-boot.lds                   |    1 +
 board/xsengine/u-boot.lds                    |    2 +-
 board/zeus/u-boot.lds                        |    1 +
 board/zylonite/u-boot.lds                    |    2 +-
 cpu/arm926ejs/at91/u-boot.lds                |    2 +-
 cpu/mpc5xx/u-boot.lds                        |    1 +
 cpu/mpc5xxx/u-boot-customlayout.lds          |    1 +
 cpu/mpc5xxx/u-boot.lds                       |    1 +
 cpu/mpc8220/u-boot.lds                       |    1 +
 cpu/mpc824x/u-boot.lds                       |    1 +
 cpu/mpc8260/u-boot.lds                       |    1 +
 examples/mips.lds                            |    2 +-
 nand_spl/board/amcc/acadia/u-boot.lds        |    1 +
 nand_spl/board/amcc/bamboo/u-boot.lds        |    1 +
 nand_spl/board/amcc/canyonlands/u-boot.lds   |    1 +
 nand_spl/board/amcc/kilauea/u-boot.lds       |    1 +
 nand_spl/board/amcc/sequoia/u-boot.lds       |    1 +
 nand_spl/board/samsung/smdk6400/u-boot.lds   |    2 +-
 onenand_ipl/board/apollon/u-boot.onenand.lds |    2 +-
 266 files changed, 266 insertions(+), 81 deletions(-)

diff --git a/board/AtmarkTechno/suzaku/u-boot.lds b/board/AtmarkTechno/suzaku/u-boot.lds
index cb90854..990e5a6 100644
--- a/board/AtmarkTechno/suzaku/u-boot.lds
+++ b/board/AtmarkTechno/suzaku/u-boot.lds
@@ -62,6 +62,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		__bss_end = .;
+		. = ALIGN(4);
 	}
 	__end = . ;
 }
diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds
index 40a611a..9b9b980 100644
--- a/board/LEOX/elpt860/u-boot.lds
+++ b/board/LEOX/elpt860/u-boot.lds
@@ -147,6 +147,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/MAI/AmigaOneG3SE/u-boot.lds b/board/MAI/AmigaOneG3SE/u-boot.lds
index e107b47..f0306f2 100644
--- a/board/MAI/AmigaOneG3SE/u-boot.lds
+++ b/board/MAI/AmigaOneG3SE/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = ALIGN(4) /*.*/ ;
   PROVIDE (end = ALIGN(4) /*.*/);
diff --git a/board/Marvell/db64360/u-boot.lds b/board/Marvell/db64360/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/Marvell/db64360/u-boot.lds
+++ b/board/Marvell/db64360/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/Marvell/db64460/u-boot.lds b/board/Marvell/db64460/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/Marvell/db64460/u-boot.lds
+++ b/board/Marvell/db64460/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds
index 271ac76..55cb5ec 100644
--- a/board/RPXClassic/u-boot.lds
+++ b/board/RPXClassic/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds
index 271ac76..55cb5ec 100644
--- a/board/RPXlite/u-boot.lds
+++ b/board/RPXlite/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds
index 8ccffa2..8d17894 100644
--- a/board/RPXlite_dw/u-boot.lds
+++ b/board/RPXlite_dw/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds
index ce1148d..9fd77f8 100644
--- a/board/RRvision/u-boot.lds
+++ b/board/RRvision/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index ae9b36c..ccdb78e 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -64,6 +64,7 @@ SECTIONS
 	__bss_start =.;
 	.bss (NOLOAD): {
 		*(.bss)
+		. = ALIGN(4);
 	}
 	_end =.;
 }
diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds
index d1f7a0a..1131936 100644
--- a/board/actux2/u-boot.lds
+++ b/board/actux2/u-boot.lds
@@ -69,6 +69,7 @@ SECTIONS
 	__bss_start =.;
 	.bss (NOLOAD): {
 		*(.bss)
+		. = ALIGN(4);
 	}
 	_end =.;
 }
diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds
index 114e5a8..e861955 100644
--- a/board/actux3/u-boot.lds
+++ b/board/actux3/u-boot.lds
@@ -69,6 +69,7 @@ SECTIONS
 	__bss_start =.;
 	.bss (NOLOAD): {
 		*(.bss)
+		. = ALIGN(4);
 	}
 	_end =.;
 }
diff --git a/board/actux4/u-boot.lds b/board/actux4/u-boot.lds
index c8784a0..0e1155a 100644
--- a/board/actux4/u-boot.lds
+++ b/board/actux4/u-boot.lds
@@ -60,6 +60,7 @@ SECTIONS
 	__bss_start =.;
 	.bss (NOLOAD): {
 		*(.bss)
+		. = ALIGN(4);
 	}
 	_end =.;
 }
diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds
index 25aaa7d..d97c049 100644
--- a/board/adder/u-boot.lds
+++ b/board/adder/u-boot.lds
@@ -118,6 +118,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ads5121/u-boot.lds b/board/ads5121/u-boot.lds
index f2f6e14..a059033 100644
--- a/board/ads5121/u-boot.lds
+++ b/board/ads5121/u-boot.lds
@@ -115,6 +115,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/acadia/u-boot-nand.lds b/board/amcc/acadia/u-boot-nand.lds
index bfe2769..799c28f 100644
--- a/board/amcc/acadia/u-boot-nand.lds
+++ b/board/amcc/acadia/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/acadia/u-boot.lds b/board/amcc/acadia/u-boot.lds
index d52b51a..fd5f3df 100644
--- a/board/amcc/acadia/u-boot.lds
+++ b/board/amcc/acadia/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/bamboo/u-boot-nand.lds b/board/amcc/bamboo/u-boot-nand.lds
index bfe2769..799c28f 100644
--- a/board/amcc/bamboo/u-boot-nand.lds
+++ b/board/amcc/bamboo/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/bamboo/u-boot.lds b/board/amcc/bamboo/u-boot.lds
index 25d917a..113418d 100644
--- a/board/amcc/bamboo/u-boot.lds
+++ b/board/amcc/bamboo/u-boot.lds
@@ -138,6 +138,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/bubinga/u-boot.lds b/board/amcc/bubinga/u-boot.lds
index d52b51a..fd5f3df 100644
--- a/board/amcc/bubinga/u-boot.lds
+++ b/board/amcc/bubinga/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/canyonlands/u-boot-nand.lds b/board/amcc/canyonlands/u-boot-nand.lds
index 6e871cf..9f13d03 100644
--- a/board/amcc/canyonlands/u-boot-nand.lds
+++ b/board/amcc/canyonlands/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/canyonlands/u-boot.lds b/board/amcc/canyonlands/u-boot.lds
index 1783bc7..f0db0b2 100644
--- a/board/amcc/canyonlands/u-boot.lds
+++ b/board/amcc/canyonlands/u-boot.lds
@@ -136,6 +136,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/ebony/u-boot.lds b/board/amcc/ebony/u-boot.lds
index 6be4bd1..17d1ba8 100644
--- a/board/amcc/ebony/u-boot.lds
+++ b/board/amcc/ebony/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/katmai/u-boot.lds b/board/amcc/katmai/u-boot.lds
index 36aa6de..464bc6e 100644
--- a/board/amcc/katmai/u-boot.lds
+++ b/board/amcc/katmai/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/kilauea/u-boot-nand.lds b/board/amcc/kilauea/u-boot-nand.lds
index bfe2769..799c28f 100644
--- a/board/amcc/kilauea/u-boot-nand.lds
+++ b/board/amcc/kilauea/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/kilauea/u-boot.lds b/board/amcc/kilauea/u-boot.lds
index fe51ca1..0ac21e3 100644
--- a/board/amcc/kilauea/u-boot.lds
+++ b/board/amcc/kilauea/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/luan/u-boot.lds b/board/amcc/luan/u-boot.lds
index 7911785..b66c768 100644
--- a/board/amcc/luan/u-boot.lds
+++ b/board/amcc/luan/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/makalu/u-boot.lds b/board/amcc/makalu/u-boot.lds
index fe51ca1..0ac21e3 100644
--- a/board/amcc/makalu/u-boot.lds
+++ b/board/amcc/makalu/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/ocotea/u-boot.lds b/board/amcc/ocotea/u-boot.lds
index 298aba8..8f61873 100644
--- a/board/amcc/ocotea/u-boot.lds
+++ b/board/amcc/ocotea/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/redwood/u-boot.lds b/board/amcc/redwood/u-boot.lds
index 8091dac..8362c9b 100644
--- a/board/amcc/redwood/u-boot.lds
+++ b/board/amcc/redwood/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/sequoia/u-boot-nand.lds b/board/amcc/sequoia/u-boot-nand.lds
index 6608e65..6e1e169 100644
--- a/board/amcc/sequoia/u-boot-nand.lds
+++ b/board/amcc/sequoia/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/amcc/sequoia/u-boot.lds b/board/amcc/sequoia/u-boot.lds
index b20fb1c..b6bae74 100644
--- a/board/amcc/sequoia/u-boot.lds
+++ b/board/amcc/sequoia/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/amcc/taihu/u-boot.lds b/board/amcc/taihu/u-boot.lds
index d52b51a..fd5f3df 100644
--- a/board/amcc/taihu/u-boot.lds
+++ b/board/amcc/taihu/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/taishan/u-boot.lds b/board/amcc/taishan/u-boot.lds
index 85d3759..e620808 100644
--- a/board/amcc/taishan/u-boot.lds
+++ b/board/amcc/taishan/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/walnut/u-boot.lds b/board/amcc/walnut/u-boot.lds
index 5d07e44..c9472f9 100644
--- a/board/amcc/walnut/u-boot.lds
+++ b/board/amcc/walnut/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/yosemite/u-boot.lds b/board/amcc/yosemite/u-boot.lds
index c12aad7..ccb510e 100644
--- a/board/amcc/yosemite/u-boot.lds
+++ b/board/amcc/yosemite/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amcc/yucca/u-boot.lds b/board/amcc/yucca/u-boot.lds
index 4477cd8..adfa28b 100644
--- a/board/amcc/yucca/u-boot.lds
+++ b/board/amcc/yucca/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds
index f5a5616..27a6f8b 100644
--- a/board/amirix/ap1000/u-boot.lds
+++ b/board/amirix/ap1000/u-boot.lds
@@ -138,6 +138,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/apollon/u-boot.lds b/board/apollon/u-boot.lds
index 7b29a5b..0aeb437 100644
--- a/board/apollon/u-boot.lds
+++ b/board/apollon/u-boot.lds
@@ -58,6 +58,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/armadillo/u-boot.lds b/board/armadillo/u-boot.lds
index 418101f..49d18f7 100644
--- a/board/armadillo/u-boot.lds
+++ b/board/armadillo/u-boot.lds
@@ -50,6 +50,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/assabet/u-boot.lds b/board/assabet/u-boot.lds
index 3f52f04..5507dd3 100644
--- a/board/assabet/u-boot.lds
+++ b/board/assabet/u-boot.lds
@@ -53,6 +53,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/atmel/at91rm9200dk/u-boot.lds b/board/atmel/at91rm9200dk/u-boot.lds
index 14cd228..987b07d 100644
--- a/board/atmel/at91rm9200dk/u-boot.lds
+++ b/board/atmel/at91rm9200dk/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/atmel/atngw100/u-boot.lds b/board/atmel/atngw100/u-boot.lds
index e736adf..17a3460 100644
--- a/board/atmel/atngw100/u-boot.lds
+++ b/board/atmel/atngw100/u-boot.lds
@@ -67,6 +67,7 @@ SECTIONS
 	.bss : {
 		*(.bss)
 		*(.bss.*)
+		. = ALIGN(4);
 	}
 	. = ALIGN(8);
 	_end = .;
diff --git a/board/atmel/atstk1000/u-boot.lds b/board/atmel/atstk1000/u-boot.lds
index 0d3b19c..76fb8f8 100644
--- a/board/atmel/atstk1000/u-boot.lds
+++ b/board/atmel/atstk1000/u-boot.lds
@@ -67,6 +67,7 @@ SECTIONS
 	.bss (NOLOAD) : {
 		*(.bss)
 		*(.bss.*)
+		. = ALIGN(4);
 	}
 	. = ALIGN(8);
 	_end = .;
diff --git a/board/atum8548/u-boot.lds b/board/atum8548/u-boot.lds
index 46c45d7..650cb9e 100644
--- a/board/atum8548/u-boot.lds
+++ b/board/atum8548/u-boot.lds
@@ -138,6 +138,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds
index 2229f61..ef9a251 100644
--- a/board/c2mon/u-boot.lds
+++ b/board/c2mon/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/cerf250/u-boot.lds b/board/cerf250/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/cerf250/u-boot.lds
+++ b/board/cerf250/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/cm4008/u-boot.lds b/board/cm4008/u-boot.lds
index 3d38f23..e1febe1 100644
--- a/board/cm4008/u-boot.lds
+++ b/board/cm4008/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/cm41xx/u-boot.lds b/board/cm41xx/u-boot.lds
index 3d38f23..e1febe1 100644
--- a/board/cm41xx/u-boot.lds
+++ b/board/cm41xx/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/cm5200/u-boot.lds b/board/cm5200/u-boot.lds
index 87f37de..7bd6d4d 100644
--- a/board/cm5200/u-boot.lds
+++ b/board/cm5200/u-boot.lds
@@ -116,6 +116,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/cmc_pu2/u-boot.lds b/board/cmc_pu2/u-boot.lds
index 14cd228..987b07d 100644
--- a/board/cmc_pu2/u-boot.lds
+++ b/board/cmc_pu2/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds
index e9f05d3..5fd9f79 100644
--- a/board/cogent/u-boot.lds
+++ b/board/cogent/u-boot.lds
@@ -122,6 +122,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/cradle/u-boot.lds b/board/cradle/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/cradle/u-boot.lds
+++ b/board/cradle/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/cray/L1/u-boot.lds b/board/cray/L1/u-boot.lds
index 9d37257..3737d88 100644
--- a/board/cray/L1/u-boot.lds
+++ b/board/cray/L1/u-boot.lds
@@ -146,6 +146,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/csb226/u-boot.lds b/board/csb226/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/csb226/u-boot.lds
+++ b/board/csb226/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/csb272/u-boot.lds b/board/csb272/u-boot.lds
index be381e1..47267c7 100644
--- a/board/csb272/u-boot.lds
+++ b/board/csb272/u-boot.lds
@@ -147,6 +147,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/csb472/u-boot.lds b/board/csb472/u-boot.lds
index 375150d..4d1e470 100644
--- a/board/csb472/u-boot.lds
+++ b/board/csb472/u-boot.lds
@@ -147,6 +147,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/csb637/u-boot.lds b/board/csb637/u-boot.lds
index 3b79776..d0666ac 100644
--- a/board/csb637/u-boot.lds
+++ b/board/csb637/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/dave/B2/u-boot.lds b/board/dave/B2/u-boot.lds
index 8c10d47..a6fc6d7 100644
--- a/board/dave/B2/u-boot.lds
+++ b/board/dave/B2/u-boot.lds
@@ -53,6 +53,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/dave/PPChameleonEVB/u-boot.lds b/board/dave/PPChameleonEVB/u-boot.lds
index e42c76f..289cbc2 100644
--- a/board/dave/PPChameleonEVB/u-boot.lds
+++ b/board/dave/PPChameleonEVB/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/davinci/dvevm/u-boot.lds b/board/davinci/dvevm/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/davinci/dvevm/u-boot.lds
+++ b/board/davinci/dvevm/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/davinci/schmoogie/u-boot.lds b/board/davinci/schmoogie/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/davinci/schmoogie/u-boot.lds
+++ b/board/davinci/schmoogie/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/davinci/sffsdr/u-boot.lds b/board/davinci/sffsdr/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/davinci/sffsdr/u-boot.lds
+++ b/board/davinci/sffsdr/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/davinci/sonata/u-boot.lds b/board/davinci/sonata/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/davinci/sonata/u-boot.lds
+++ b/board/davinci/sonata/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds
index 1e1c559..da20de1 100644
--- a/board/dbau1x00/u-boot.lds
+++ b/board/dbau1x00/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/delta/u-boot.lds b/board/delta/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/delta/u-boot.lds
+++ b/board/delta/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/dnp1110/u-boot.lds b/board/dnp1110/u-boot.lds
index 6bd0627..fce2533 100644
--- a/board/dnp1110/u-boot.lds
+++ b/board/dnp1110/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/earthlcd/favr-32-ezkit/u-boot.lds b/board/earthlcd/favr-32-ezkit/u-boot.lds
index ad056b3..c9b449a 100644
--- a/board/earthlcd/favr-32-ezkit/u-boot.lds
+++ b/board/earthlcd/favr-32-ezkit/u-boot.lds
@@ -65,6 +65,7 @@ SECTIONS
 	.bss (NOLOAD) : {
 		*(.bss)
 		*(.bss.*)
+		. = ALIGN(4);
 	}
 	. = ALIGN(8);
 	_end = .;
diff --git a/board/eltec/bab7xx/u-boot.lds b/board/eltec/bab7xx/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/eltec/bab7xx/u-boot.lds
+++ b/board/eltec/bab7xx/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/eltec/elppc/u-boot.lds b/board/eltec/elppc/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/eltec/elppc/u-boot.lds
+++ b/board/eltec/elppc/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds
index 465566d..759b412 100644
--- a/board/eltec/mhpc/u-boot.lds
+++ b/board/eltec/mhpc/u-boot.lds
@@ -124,6 +124,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds
index 97ef89a..da23fff 100644
--- a/board/emk/top860/u-boot.lds
+++ b/board/emk/top860/u-boot.lds
@@ -124,6 +124,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ep7312/u-boot.lds b/board/ep7312/u-boot.lds
index 4a89ceb..a79bb8c 100644
--- a/board/ep7312/u-boot.lds
+++ b/board/ep7312/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds
index 3545142..1b6e417 100644
--- a/board/ep88x/u-boot.lds
+++ b/board/ep88x/u-boot.lds
@@ -115,6 +115,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/eric/u-boot.lds b/board/eric/u-boot.lds
index 153e71f..65eff7e 100644
--- a/board/eric/u-boot.lds
+++ b/board/eric/u-boot.lds
@@ -146,6 +146,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/adciop/u-boot.lds b/board/esd/adciop/u-boot.lds
index db65fe6..e918163 100644
--- a/board/esd/adciop/u-boot.lds
+++ b/board/esd/adciop/u-boot.lds
@@ -132,6 +132,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/apc405/u-boot.lds b/board/esd/apc405/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/apc405/u-boot.lds
+++ b/board/esd/apc405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/ar405/u-boot.lds b/board/esd/ar405/u-boot.lds
index 4a881b6..7216cc0 100644
--- a/board/esd/ar405/u-boot.lds
+++ b/board/esd/ar405/u-boot.lds
@@ -156,6 +156,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/ash405/u-boot.lds b/board/esd/ash405/u-boot.lds
index fba3de8..e2e2512 100644
--- a/board/esd/ash405/u-boot.lds
+++ b/board/esd/ash405/u-boot.lds
@@ -142,6 +142,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/canbt/u-boot.lds b/board/esd/canbt/u-boot.lds
index bf3f534..74280e6 100644
--- a/board/esd/canbt/u-boot.lds
+++ b/board/esd/canbt/u-boot.lds
@@ -154,6 +154,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/cms700/u-boot.lds b/board/esd/cms700/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/cms700/u-boot.lds
+++ b/board/esd/cms700/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/cpci2dp/u-boot.lds b/board/esd/cpci2dp/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/cpci2dp/u-boot.lds
+++ b/board/esd/cpci2dp/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/cpci405/u-boot.lds b/board/esd/cpci405/u-boot.lds
index 2a1fc31..5d59761 100644
--- a/board/esd/cpci405/u-boot.lds
+++ b/board/esd/cpci405/u-boot.lds
@@ -128,6 +128,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/cpci750/u-boot.lds b/board/esd/cpci750/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/esd/cpci750/u-boot.lds
+++ b/board/esd/cpci750/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/cpciiser4/u-boot.lds b/board/esd/cpciiser4/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/cpciiser4/u-boot.lds
+++ b/board/esd/cpciiser4/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds
index f97da2d..6acf7b8 100644
--- a/board/esd/dasa_sim/u-boot.lds
+++ b/board/esd/dasa_sim/u-boot.lds
@@ -157,6 +157,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/dp405/u-boot.lds b/board/esd/dp405/u-boot.lds
index 7ff074c..e7a5ece 100644
--- a/board/esd/dp405/u-boot.lds
+++ b/board/esd/dp405/u-boot.lds
@@ -144,6 +144,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/du405/u-boot.lds b/board/esd/du405/u-boot.lds
index 37c5ea7..858ae61 100644
--- a/board/esd/du405/u-boot.lds
+++ b/board/esd/du405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/du440/u-boot.lds b/board/esd/du440/u-boot.lds
index b20fb1c..b6bae74 100644
--- a/board/esd/du440/u-boot.lds
+++ b/board/esd/du440/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/esd/hh405/u-boot.lds b/board/esd/hh405/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/hh405/u-boot.lds
+++ b/board/esd/hh405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/hub405/u-boot.lds b/board/esd/hub405/u-boot.lds
index c4a1a4b..817299c 100644
--- a/board/esd/hub405/u-boot.lds
+++ b/board/esd/hub405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/ocrtc/u-boot.lds b/board/esd/ocrtc/u-boot.lds
index 42ad849..1fb754c 100644
--- a/board/esd/ocrtc/u-boot.lds
+++ b/board/esd/ocrtc/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/pci405/u-boot.lds b/board/esd/pci405/u-boot.lds
index 004be51..9697cc6 100644
--- a/board/esd/pci405/u-boot.lds
+++ b/board/esd/pci405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/plu405/u-boot.lds b/board/esd/plu405/u-boot.lds
index d52b51a..fd5f3df 100644
--- a/board/esd/plu405/u-boot.lds
+++ b/board/esd/plu405/u-boot.lds
@@ -130,6 +130,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/pmc405/u-boot.lds b/board/esd/pmc405/u-boot.lds
index 87449d4..ca615f5 100644
--- a/board/esd/pmc405/u-boot.lds
+++ b/board/esd/pmc405/u-boot.lds
@@ -142,6 +142,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/pmc440/u-boot-nand.lds b/board/esd/pmc440/u-boot-nand.lds
index 6608e65..6e1e169 100644
--- a/board/esd/pmc440/u-boot-nand.lds
+++ b/board/esd/pmc440/u-boot-nand.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/esd/pmc440/u-boot.lds b/board/esd/pmc440/u-boot.lds
index b20fb1c..b6bae74 100644
--- a/board/esd/pmc440/u-boot.lds
+++ b/board/esd/pmc440/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds
index aec7e9b..f38028e 100644
--- a/board/esd/tasreg/u-boot.lds
+++ b/board/esd/tasreg/u-boot.lds
@@ -139,6 +139,7 @@ SECTIONS
    *(COMMON)
    . = ALIGN(4);
    _ebss = .;
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/voh405/u-boot.lds b/board/esd/voh405/u-boot.lds
index 7ff074c..e7a5ece 100644
--- a/board/esd/voh405/u-boot.lds
+++ b/board/esd/voh405/u-boot.lds
@@ -144,6 +144,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/vom405/u-boot.lds b/board/esd/vom405/u-boot.lds
index 5d07e44..c9472f9 100644
--- a/board/esd/vom405/u-boot.lds
+++ b/board/esd/vom405/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esd/wuh405/u-boot.lds b/board/esd/wuh405/u-boot.lds
index fba3de8..e2e2512 100644
--- a/board/esd/wuh405/u-boot.lds
+++ b/board/esd/wuh405/u-boot.lds
@@ -142,6 +142,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds
index cdc3ccc..c4e17d6 100644
--- a/board/esteem192e/u-boot.lds
+++ b/board/esteem192e/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds
index 4ed7570..340825e 100644
--- a/board/etx094/u-boot.lds
+++ b/board/etx094/u-boot.lds
@@ -136,6 +136,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/evb4510/u-boot.lds b/board/evb4510/u-boot.lds
index b3c2bf9..a435466 100644
--- a/board/evb4510/u-boot.lds
+++ b/board/evb4510/u-boot.lds
@@ -51,7 +51,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 				  /* Stabs debugging sections.	  */
 	.stab 0 : { *(.stab) }
diff --git a/board/evb64260/u-boot.lds b/board/evb64260/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/evb64260/u-boot.lds
+++ b/board/evb64260/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/exbitgen/u-boot.lds b/board/exbitgen/u-boot.lds
index cf66426..d76b97e 100644
--- a/board/exbitgen/u-boot.lds
+++ b/board/exbitgen/u-boot.lds
@@ -145,6 +145,7 @@ SECTIONS
   . = ALIGN(4);
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds
index 8e408a6..194ca69 100644
--- a/board/fads/u-boot.lds
+++ b/board/fads/u-boot.lds
@@ -124,6 +124,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds
index f098412..f36259a 100644
--- a/board/flagadm/u-boot.lds
+++ b/board/flagadm/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/freescale/mpc7448hpc2/u-boot.lds b/board/freescale/mpc7448hpc2/u-boot.lds
index 68110ff..f3f6c54 100644
--- a/board/freescale/mpc7448hpc2/u-boot.lds
+++ b/board/freescale/mpc7448hpc2/u-boot.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/freescale/mpc8610hpcd/u-boot.lds b/board/freescale/mpc8610hpcd/u-boot.lds
index b88138e..4127492 100644
--- a/board/freescale/mpc8610hpcd/u-boot.lds
+++ b/board/freescale/mpc8610hpcd/u-boot.lds
@@ -128,6 +128,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/freescale/mpc8641hpcn/u-boot.lds b/board/freescale/mpc8641hpcn/u-boot.lds
index 4f884f9..6c9da1f 100644
--- a/board/freescale/mpc8641hpcn/u-boot.lds
+++ b/board/freescale/mpc8641hpcn/u-boot.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index 1c35fa6..e682f30 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/g2000/u-boot.lds b/board/g2000/u-boot.lds
index 7ff074c..e7a5ece 100644
--- a/board/g2000/u-boot.lds
+++ b/board/g2000/u-boot.lds
@@ -144,6 +144,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/gcplus/u-boot.lds b/board/gcplus/u-boot.lds
index 5ab6801..ab7f76b 100644
--- a/board/gcplus/u-boot.lds
+++ b/board/gcplus/u-boot.lds
@@ -53,6 +53,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds
index 8215a23..6c8346a 100644
--- a/board/gen860t/u-boot-flashenv.lds
+++ b/board/gen860t/u-boot-flashenv.lds
@@ -125,6 +125,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds
index d33aa2e..cab7a10 100644
--- a/board/gen860t/u-boot.lds
+++ b/board/gen860t/u-boot.lds
@@ -126,6 +126,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds
index 99d743b..d70036e 100644
--- a/board/genietv/u-boot.lds
+++ b/board/genietv/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   . = ALIGN(256 * 1024);
   .ppcenv	:
diff --git a/board/gth/u-boot.lds b/board/gth/u-boot.lds
index ea5fafe..d5df1f4 100644
--- a/board/gth/u-boot.lds
+++ b/board/gth/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds
index 8265130..0594643 100644
--- a/board/gth2/u-boot.lds
+++ b/board/gth2/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds
index 47c4c7b..540e614 100644
--- a/board/hermes/u-boot.lds
+++ b/board/hermes/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index 2b7e54b..2192b48 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -136,6 +136,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   . = ALIGN(256 * 1024);
   .ppcenv	:
diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds
index 5594633..645baa0 100644
--- a/board/icu862/u-boot.lds
+++ b/board/icu862/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/impa7/u-boot.lds b/board/impa7/u-boot.lds
index 4a89ceb..a79bb8c 100644
--- a/board/impa7/u-boot.lds
+++ b/board/impa7/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/imx31_litekit/u-boot.lds b/board/imx31_litekit/u-boot.lds
index 1460adc..9285bd5 100644
--- a/board/imx31_litekit/u-boot.lds
+++ b/board/imx31_litekit/u-boot.lds
@@ -54,6 +54,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/imx31_phycore/u-boot.lds b/board/imx31_phycore/u-boot.lds
index 1460adc..9285bd5 100644
--- a/board/imx31_phycore/u-boot.lds
+++ b/board/imx31_phycore/u-boot.lds
@@ -54,6 +54,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds
index 1e1c559..da20de1 100644
--- a/board/incaip/u-boot.lds
+++ b/board/incaip/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/innokom/u-boot.lds b/board/innokom/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/innokom/u-boot.lds
+++ b/board/innokom/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds
index 8335364..d1cb7e2 100644
--- a/board/ip860/u-boot.lds
+++ b/board/ip860/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds
index c869e27..2583a59 100644
--- a/board/ivm/u-boot.lds
+++ b/board/ivm/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ixdp425/u-boot.lds b/board/ixdp425/u-boot.lds
index 58393d0..f46a7c7 100644
--- a/board/ixdp425/u-boot.lds
+++ b/board/ixdp425/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/jse/u-boot.lds b/board/jse/u-boot.lds
index 3789db9..7141c5a 100644
--- a/board/jse/u-boot.lds
+++ b/board/jse/u-boot.lds
@@ -136,6 +136,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/kb9202/u-boot.lds b/board/kb9202/u-boot.lds
index 3b79776..d0666ac 100644
--- a/board/kb9202/u-boot.lds
+++ b/board/kb9202/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/korat/u-boot-F7FC.lds b/board/korat/u-boot-F7FC.lds
index 6dccf95..9bed401 100644
--- a/board/korat/u-boot-F7FC.lds
+++ b/board/korat/u-boot-F7FC.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/korat/u-boot.lds b/board/korat/u-boot.lds
index b20fb1c..b6bae74 100644
--- a/board/korat/u-boot.lds
+++ b/board/korat/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
index 466a8f2..120ca00 100644
--- a/board/kup/kup4k/u-boot.lds
+++ b/board/kup/kup4k/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds
index 466a8f2..120ca00 100644
--- a/board/kup/kup4x/u-boot.lds
+++ b/board/kup/kup4x/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds
index 185a9f8..6028c26 100644
--- a/board/lantec/u-boot.lds
+++ b/board/lantec/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/lart/u-boot.lds b/board/lart/u-boot.lds
index 6bd0627..fce2533 100644
--- a/board/lart/u-boot.lds
+++ b/board/lart/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/logodl/u-boot.lds b/board/logodl/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/logodl/u-boot.lds
+++ b/board/logodl/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/lpc2292sodimm/u-boot.lds b/board/lpc2292sodimm/u-boot.lds
index 418101f..49d18f7 100644
--- a/board/lpc2292sodimm/u-boot.lds
+++ b/board/lpc2292sodimm/u-boot.lds
@@ -50,6 +50,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/lpd7a40x/u-boot.lds b/board/lpd7a40x/u-boot.lds
index b5f8ff9..3c14437 100644
--- a/board/lpd7a40x/u-boot.lds
+++ b/board/lpd7a40x/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/lubbock/u-boot.lds b/board/lubbock/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/lubbock/u-boot.lds
+++ b/board/lubbock/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds
index a513ab5..319cc7b 100644
--- a/board/lwmon/u-boot.lds
+++ b/board/lwmon/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/lwmon5/u-boot.lds b/board/lwmon5/u-boot.lds
index b20fb1c..b6bae74 100644
--- a/board/lwmon5/u-boot.lds
+++ b/board/lwmon5/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFF8000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/m501sk/u-boot.lds b/board/m501sk/u-boot.lds
index 99e2ac1..ae6caf5 100644
--- a/board/m501sk/u-boot.lds
+++ b/board/m501sk/u-boot.lds
@@ -50,6 +50,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds
index 2998e83..24484c7 100644
--- a/board/mbx8xx/u-boot.lds
+++ b/board/mbx8xx/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/mgsuvd/u-boot.lds b/board/mgsuvd/u-boot.lds
index 26aa5d6..5af36c9 100644
--- a/board/mgsuvd/u-boot.lds
+++ b/board/mgsuvd/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds
index 1182f74..3b01c33 100644
--- a/board/ml2/u-boot.lds
+++ b/board/ml2/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/modnet50/u-boot.lds b/board/modnet50/u-boot.lds
index b3c2bf9..a435466 100644
--- a/board/modnet50/u-boot.lds
+++ b/board/modnet50/u-boot.lds
@@ -51,7 +51,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 				  /* Stabs debugging sections.	  */
 	.stab 0 : { *(.stab) }
diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds
index 86a1d85..8188873 100644
--- a/board/mousse/u-boot.lds
+++ b/board/mousse/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/mp2usb/u-boot.lds b/board/mp2usb/u-boot.lds
index 3b79776..d0666ac 100644
--- a/board/mp2usb/u-boot.lds
+++ b/board/mp2usb/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/mpc8540eval/u-boot.lds b/board/mpc8540eval/u-boot.lds
index dadfc7d..d65ccbe 100644
--- a/board/mpc8540eval/u-boot.lds
+++ b/board/mpc8540eval/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/mpl/mip405/u-boot.lds b/board/mpl/mip405/u-boot.lds
index 717f0d2..6663e6a 100644
--- a/board/mpl/mip405/u-boot.lds
+++ b/board/mpl/mip405/u-boot.lds
@@ -150,6 +150,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/mpl/pip405/u-boot.lds b/board/mpl/pip405/u-boot.lds
index dfc233f..afe203b 100644
--- a/board/mpl/pip405/u-boot.lds
+++ b/board/mpl/pip405/u-boot.lds
@@ -145,6 +145,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/mpl/vcma9/u-boot.lds b/board/mpl/vcma9/u-boot.lds
index 14cd228..987b07d 100644
--- a/board/mpl/vcma9/u-boot.lds
+++ b/board/mpl/vcma9/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/munices/u-boot.lds b/board/munices/u-boot.lds
index e9b3be8..0a1a6ad 100644
--- a/board/munices/u-boot.lds
+++ b/board/munices/u-boot.lds
@@ -116,6 +116,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/mx1ads/u-boot.lds b/board/mx1ads/u-boot.lds
index f2f8afc..5460c8c 100644
--- a/board/mx1ads/u-boot.lds
+++ b/board/mx1ads/u-boot.lds
@@ -53,6 +53,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/mx1fs2/u-boot.lds b/board/mx1fs2/u-boot.lds
index 46ed451..c96e58a 100644
--- a/board/mx1fs2/u-boot.lds
+++ b/board/mx1fs2/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/nc650/u-boot.lds b/board/nc650/u-boot.lds
index 09a442a..ca91ac4 100644
--- a/board/nc650/u-boot.lds
+++ b/board/nc650/u-boot.lds
@@ -122,6 +122,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds
index 8272a55..8836560 100644
--- a/board/netphone/u-boot.lds
+++ b/board/netphone/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netstal/hcu4/u-boot.lds b/board/netstal/hcu4/u-boot.lds
index 368e3a4..d9abcd6 100644
--- a/board/netstal/hcu4/u-boot.lds
+++ b/board/netstal/hcu4/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netstal/hcu5/u-boot.lds b/board/netstal/hcu5/u-boot.lds
index c72e5ba..72605ec 100644
--- a/board/netstal/hcu5/u-boot.lds
+++ b/board/netstal/hcu5/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/netstal/mcu25/u-boot.lds b/board/netstal/mcu25/u-boot.lds
index 093c080..a00f570 100644
--- a/board/netstal/mcu25/u-boot.lds
+++ b/board/netstal/mcu25/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netstar/eeprom.lds b/board/netstar/eeprom.lds
index 89b0a82..f3be320 100644
--- a/board/netstar/eeprom.lds
+++ b/board/netstar/eeprom.lds
@@ -46,6 +46,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/netstar/u-boot.lds b/board/netstar/u-boot.lds
index 39646e6..5823f62 100644
--- a/board/netstar/u-boot.lds
+++ b/board/netstar/u-boot.lds
@@ -50,6 +50,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds
index 861f6ba..4966f4d 100644
--- a/board/netta/u-boot.lds
+++ b/board/netta/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds
index 861f6ba..4966f4d 100644
--- a/board/netta2/u-boot.lds
+++ b/board/netta2/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
index 58bd757..6bc5768 100644
--- a/board/netvia/u-boot.lds
+++ b/board/netvia/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ns9750dev/u-boot.lds b/board/ns9750dev/u-boot.lds
index a3de6ac..c656701 100644
--- a/board/ns9750dev/u-boot.lds
+++ b/board/ns9750dev/u-boot.lds
@@ -53,7 +53,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = . ;
 
 }
diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds
index 465566d..759b412 100644
--- a/board/nx823/u-boot.lds
+++ b/board/nx823/u-boot.lds
@@ -124,6 +124,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/omap1510inn/u-boot.lds b/board/omap1510inn/u-boot.lds
index e0c7920..1c70fcd 100644
--- a/board/omap1510inn/u-boot.lds
+++ b/board/omap1510inn/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/omap1610inn/u-boot.lds b/board/omap1610inn/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/omap1610inn/u-boot.lds
+++ b/board/omap1610inn/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/omap2420h4/u-boot.lds b/board/omap2420h4/u-boot.lds
index aae716c..89e627b 100644
--- a/board/omap2420h4/u-boot.lds
+++ b/board/omap2420h4/u-boot.lds
@@ -54,6 +54,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/omap5912osk/u-boot.lds b/board/omap5912osk/u-boot.lds
index 9a34e46..0bf6eff 100644
--- a/board/omap5912osk/u-boot.lds
+++ b/board/omap5912osk/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/omap730p2/u-boot.lds b/board/omap730p2/u-boot.lds
index a4fcd1a..d86eb36 100644
--- a/board/omap730p2/u-boot.lds
+++ b/board/omap730p2/u-boot.lds
@@ -47,6 +47,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
index 1e1c559..da20de1 100644
--- a/board/pb1x00/u-boot.lds
+++ b/board/pb1x00/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/pcippc2/u-boot.lds b/board/pcippc2/u-boot.lds
index ad41f20..5395108 100644
--- a/board/pcippc2/u-boot.lds
+++ b/board/pcippc2/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/pcs440ep/u-boot.lds b/board/pcs440ep/u-boot.lds
index ed61359..6b7dd21 100644
--- a/board/pcs440ep/u-boot.lds
+++ b/board/pcs440ep/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/board/pleb2/u-boot.lds b/board/pleb2/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/pleb2/u-boot.lds
+++ b/board/pleb2/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/pm854/u-boot.lds b/board/pm854/u-boot.lds
index f200810..18cb27a 100644
--- a/board/pm854/u-boot.lds
+++ b/board/pm854/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/pm856/u-boot.lds b/board/pm856/u-boot.lds
index 01727d1..e9c6a12 100644
--- a/board/pm856/u-boot.lds
+++ b/board/pm856/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ppmc7xx/u-boot.lds b/board/ppmc7xx/u-boot.lds
index bfa4975..ca2e300 100644
--- a/board/ppmc7xx/u-boot.lds
+++ b/board/ppmc7xx/u-boot.lds
@@ -128,6 +128,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/prodrive/alpr/u-boot.lds b/board/prodrive/alpr/u-boot.lds
index d114bd6..33b03af 100644
--- a/board/prodrive/alpr/u-boot.lds
+++ b/board/prodrive/alpr/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/prodrive/p3mx/u-boot.lds b/board/prodrive/p3mx/u-boot.lds
index b6b37ef..ff2d8b7 100644
--- a/board/prodrive/p3mx/u-boot.lds
+++ b/board/prodrive/p3mx/u-boot.lds
@@ -131,6 +131,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/prodrive/p3p440/u-boot.lds b/board/prodrive/p3p440/u-boot.lds
index 0e6c878..17cfde8 100644
--- a/board/prodrive/p3p440/u-boot.lds
+++ b/board/prodrive/p3p440/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/prodrive/pdnb3/u-boot.lds b/board/prodrive/pdnb3/u-boot.lds
index 638edbe..dc59119 100644
--- a/board/prodrive/pdnb3/u-boot.lds
+++ b/board/prodrive/pdnb3/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/purple/u-boot.lds b/board/purple/u-boot.lds
index 09d6847..bf1394b 100644
--- a/board/purple/u-boot.lds
+++ b/board/purple/u-boot.lds
@@ -75,6 +75,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/pxa255_idp/u-boot.lds b/board/pxa255_idp/u-boot.lds
index 381b6b7..96ac25c 100644
--- a/board/pxa255_idp/u-boot.lds
+++ b/board/pxa255_idp/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds
index c2a8566..03bcb09 100644
--- a/board/qemu-mips/u-boot.lds
+++ b/board/qemu-mips/u-boot.lds
@@ -67,6 +67,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss  : { *(.sbss) }
-	.bss  : { *(.bss) }
+	.bss  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/quad100hd/u-boot.lds b/board/quad100hd/u-boot.lds
index 195d91b..7cf4d4f 100644
--- a/board/quad100hd/u-boot.lds
+++ b/board/quad100hd/u-boot.lds
@@ -127,6 +127,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds
index 271ac76..55cb5ec 100644
--- a/board/quantum/u-boot.lds
+++ b/board/quantum/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds
index 88c1b30..db28544 100644
--- a/board/r360mpi/u-boot.lds
+++ b/board/r360mpi/u-boot.lds
@@ -132,6 +132,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds
index 8247430..63bd21b 100644
--- a/board/rbc823/u-boot.lds
+++ b/board/rbc823/u-boot.lds
@@ -133,6 +133,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/rmu/u-boot.lds b/board/rmu/u-boot.lds
index 271ac76..55cb5ec 100644
--- a/board/rmu/u-boot.lds
+++ b/board/rmu/u-boot.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/rsdproto/u-boot.lds b/board/rsdproto/u-boot.lds
index 07a7277..b2bd576 100644
--- a/board/rsdproto/u-boot.lds
+++ b/board/rsdproto/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds
index 132ab21..bd6b24f 100644
--- a/board/samsung/smdk6400/u-boot-nand.lds
+++ b/board/samsung/smdk6400/u-boot-nand.lds
@@ -57,6 +57,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/sandburst/karef/u-boot.lds b/board/sandburst/karef/u-boot.lds
index 9b2c078..47c7cc7 100644
--- a/board/sandburst/karef/u-boot.lds
+++ b/board/sandburst/karef/u-boot.lds
@@ -152,6 +152,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sandburst/metrobox/u-boot.lds b/board/sandburst/metrobox/u-boot.lds
index 16e0709..7fdf5ed 100644
--- a/board/sandburst/metrobox/u-boot.lds
+++ b/board/sandburst/metrobox/u-boot.lds
@@ -152,6 +152,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sbc2410x/u-boot.lds b/board/sbc2410x/u-boot.lds
index 3b79776..d0666ac 100644
--- a/board/sbc2410x/u-boot.lds
+++ b/board/sbc2410x/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/sbc405/u-boot.lds b/board/sbc405/u-boot.lds
index f3fd56f..34526f9 100644
--- a/board/sbc405/u-boot.lds
+++ b/board/sbc405/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sbc8548/u-boot.lds b/board/sbc8548/u-boot.lds
index eba7e8a..70d11f2 100644
--- a/board/sbc8548/u-boot.lds
+++ b/board/sbc8548/u-boot.lds
@@ -140,6 +140,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sbc8560/u-boot.lds b/board/sbc8560/u-boot.lds
index 237a3b6..759ee82 100644
--- a/board/sbc8560/u-boot.lds
+++ b/board/sbc8560/u-boot.lds
@@ -146,6 +146,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sbc8641d/u-boot.lds b/board/sbc8641d/u-boot.lds
index a9e9d80..adfa816 100644
--- a/board/sbc8641d/u-boot.lds
+++ b/board/sbc8641d/u-boot.lds
@@ -128,6 +128,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sc3/u-boot.lds b/board/sc3/u-boot.lds
index c67aa96..d729f2e 100644
--- a/board/sc3/u-boot.lds
+++ b/board/sc3/u-boot.lds
@@ -143,6 +143,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sc520_cdp/u-boot.lds b/board/sc520_cdp/u-boot.lds
index 9609326..719ecba 100644
--- a/board/sc520_cdp/u-boot.lds
+++ b/board/sc520_cdp/u-boot.lds
@@ -45,7 +45,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	_i386boot_bss_start = ABSOLUTE(.);
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_i386boot_bss_size = SIZEOF(.bss);
 
 
diff --git a/board/sc520_spunk/u-boot.lds b/board/sc520_spunk/u-boot.lds
index 33480d3..4d6603c 100644
--- a/board/sc520_spunk/u-boot.lds
+++ b/board/sc520_spunk/u-boot.lds
@@ -46,7 +46,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	_i386boot_bss_start = ABSOLUTE(.);
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_i386boot_bss_size = SIZEOF(.bss);
 
 
diff --git a/board/scb9328/u-boot.lds b/board/scb9328/u-boot.lds
index 46ed451..c96e58a 100644
--- a/board/scb9328/u-boot.lds
+++ b/board/scb9328/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/sh7763rdp/u-boot.lds b/board/sh7763rdp/u-boot.lds
index 7177416..3d50fb0 100644
--- a/board/sh7763rdp/u-boot.lds
+++ b/board/sh7763rdp/u-boot.lds
@@ -98,6 +98,7 @@ SECTIONS
 	{
 		*(.bss)
 		. = ALIGN(4);
+		. = ALIGN(4);
 	}
 	PROVIDE (bss_end = .);
 
diff --git a/board/shannon/u-boot.lds b/board/shannon/u-boot.lds
index 6bd0627..fce2533 100644
--- a/board/shannon/u-boot.lds
+++ b/board/shannon/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/siemens/CCM/u-boot.lds b/board/siemens/CCM/u-boot.lds
index 2229f61..ef9a251 100644
--- a/board/siemens/CCM/u-boot.lds
+++ b/board/siemens/CCM/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds
index 7a0d746..47677c6 100644
--- a/board/siemens/IAD210/u-boot.lds
+++ b/board/siemens/IAD210/u-boot.lds
@@ -132,6 +132,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/siemens/SMN42/u-boot.lds b/board/siemens/SMN42/u-boot.lds
index 418101f..49d18f7 100644
--- a/board/siemens/SMN42/u-boot.lds
+++ b/board/siemens/SMN42/u-boot.lds
@@ -50,6 +50,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/siemens/pcu_e/u-boot.lds b/board/siemens/pcu_e/u-boot.lds
index a513ab5..319cc7b 100644
--- a/board/siemens/pcu_e/u-boot.lds
+++ b/board/siemens/pcu_e/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds
index 974e45c..efa4244 100644
--- a/board/sixnet/u-boot.lds
+++ b/board/sixnet/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/smdk2400/u-boot.lds b/board/smdk2400/u-boot.lds
index 14cd228..987b07d 100644
--- a/board/smdk2400/u-boot.lds
+++ b/board/smdk2400/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/smdk2410/u-boot.lds b/board/smdk2410/u-boot.lds
index 14cd228..987b07d 100644
--- a/board/smdk2410/u-boot.lds
+++ b/board/smdk2410/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds
index f1de08b..6fa9b81 100644
--- a/board/snmc/qs850/u-boot.lds
+++ b/board/snmc/qs850/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds
index f1de08b..6fa9b81 100644
--- a/board/snmc/qs860t/u-boot.lds
+++ b/board/snmc/qs860t/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/socrates/u-boot.lds b/board/socrates/u-boot.lds
index 8d2f65c..499f531 100644
--- a/board/socrates/u-boot.lds
+++ b/board/socrates/u-boot.lds
@@ -144,6 +144,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds
index 26aa5d6..5af36c9 100644
--- a/board/spc1920/u-boot.lds
+++ b/board/spc1920/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds
index 6a65b4f..7d94421 100644
--- a/board/spd8xx/u-boot.lds
+++ b/board/spd8xx/u-boot.lds
@@ -123,6 +123,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/ssv/adnpesc1/u-boot.lds b/board/ssv/adnpesc1/u-boot.lds
index be77952..24d1c39 100644
--- a/board/ssv/adnpesc1/u-boot.lds
+++ b/board/ssv/adnpesc1/u-boot.lds
@@ -64,6 +64,7 @@ SECTIONS
 	.bss (NOLOAD) :
 	{
 		*(.bss)
+		. = ALIGN(4);
 	}
 	. = ALIGN(4);
 	__bss_end = .;
diff --git a/board/stxgp3/u-boot.lds b/board/stxgp3/u-boot.lds
index d5363be..cdcb39a 100644
--- a/board/stxgp3/u-boot.lds
+++ b/board/stxgp3/u-boot.lds
@@ -148,6 +148,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/stxssa/u-boot.lds b/board/stxssa/u-boot.lds
index 93bedda..6ee8d60 100644
--- a/board/stxssa/u-boot.lds
+++ b/board/stxssa/u-boot.lds
@@ -149,6 +149,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/stxxtc/u-boot.lds b/board/stxxtc/u-boot.lds
index 861f6ba..4966f4d 100644
--- a/board/stxxtc/u-boot.lds
+++ b/board/stxxtc/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds
index d4fe718..ceab4d2 100644
--- a/board/svm_sc8xx/u-boot.lds
+++ b/board/svm_sc8xx/u-boot.lds
@@ -138,6 +138,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/sx1/u-boot.lds b/board/sx1/u-boot.lds
index b608223..9a9dd21 100644
--- a/board/sx1/u-boot.lds
+++ b/board/sx1/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/tb0229/u-boot.lds b/board/tb0229/u-boot.lds
index b18e6a6..086d74d 100644
--- a/board/tb0229/u-boot.lds
+++ b/board/tb0229/u-boot.lds
@@ -65,6 +65,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	.sbss (NOLOAD)  : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 	uboot_end = .;
 }
diff --git a/board/tqc/tqm85xx/u-boot.lds b/board/tqc/tqm85xx/u-boot.lds
index 8cb551a..b1637a5 100644
--- a/board/tqc/tqm85xx/u-boot.lds
+++ b/board/tqc/tqm85xx/u-boot.lds
@@ -141,6 +141,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds
index 26aa5d6..5af36c9 100644
--- a/board/tqc/tqm8xx/u-boot.lds
+++ b/board/tqc/tqm8xx/u-boot.lds
@@ -137,6 +137,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/trab/u-boot.lds b/board/trab/u-boot.lds
index 45a4410..bd13d13 100644
--- a/board/trab/u-boot.lds
+++ b/board/trab/u-boot.lds
@@ -60,6 +60,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/trizepsiv/u-boot.lds b/board/trizepsiv/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/trizepsiv/u-boot.lds
+++ b/board/trizepsiv/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/uc100/u-boot.lds b/board/uc100/u-boot.lds
index c69fe47..66a57e6 100644
--- a/board/uc100/u-boot.lds
+++ b/board/uc100/u-boot.lds
@@ -136,6 +136,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds
index f4ea41e..bf78a32 100644
--- a/board/v37/u-boot.lds
+++ b/board/v37/u-boot.lds
@@ -139,6 +139,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/versatile/u-boot.lds b/board/versatile/u-boot.lds
index 82cb8e3..6e6e29b 100644
--- a/board/versatile/u-boot.lds
+++ b/board/versatile/u-boot.lds
@@ -46,6 +46,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/voiceblue/eeprom.lds b/board/voiceblue/eeprom.lds
index 89b0a82..f3be320 100644
--- a/board/voiceblue/eeprom.lds
+++ b/board/voiceblue/eeprom.lds
@@ -46,6 +46,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/voiceblue/u-boot.lds b/board/voiceblue/u-boot.lds
index bce925b..8bf1990 100644
--- a/board/voiceblue/u-boot.lds
+++ b/board/voiceblue/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/w7o/u-boot.lds b/board/w7o/u-boot.lds
index 3373793..80e960b 100644
--- a/board/w7o/u-boot.lds
+++ b/board/w7o/u-boot.lds
@@ -128,6 +128,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/wepep250/u-boot.lds b/board/wepep250/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/wepep250/u-boot.lds
+++ b/board/wepep250/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds
index 2229f61..ef9a251 100644
--- a/board/westel/amx860/u-boot.lds
+++ b/board/westel/amx860/u-boot.lds
@@ -134,6 +134,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/xaeniax/u-boot.lds b/board/xaeniax/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/xaeniax/u-boot.lds
+++ b/board/xaeniax/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/xilinx/ml300/u-boot.lds b/board/xilinx/ml300/u-boot.lds
index f05c7a6..b6813c6 100644
--- a/board/xilinx/ml300/u-boot.lds
+++ b/board/xilinx/ml300/u-boot.lds
@@ -142,6 +142,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/xilinx/ml401/u-boot.lds b/board/xilinx/ml401/u-boot.lds
index cb90854..990e5a6 100644
--- a/board/xilinx/ml401/u-boot.lds
+++ b/board/xilinx/ml401/u-boot.lds
@@ -62,6 +62,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		__bss_end = .;
+		. = ALIGN(4);
 	}
 	__end = . ;
 }
diff --git a/board/xilinx/ppc440-generic/u-boot-ram.lds b/board/xilinx/ppc440-generic/u-boot-ram.lds
index 2c98d27..6dd9583 100644
--- a/board/xilinx/ppc440-generic/u-boot-ram.lds
+++ b/board/xilinx/ppc440-generic/u-boot-ram.lds
@@ -125,6 +125,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/xilinx/ppc440-generic/u-boot-rom.lds b/board/xilinx/ppc440-generic/u-boot-rom.lds
index d5da018..62075ca 100644
--- a/board/xilinx/ppc440-generic/u-boot-rom.lds
+++ b/board/xilinx/ppc440-generic/u-boot-rom.lds
@@ -135,6 +135,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
diff --git a/board/xilinx/xupv2p/u-boot.lds b/board/xilinx/xupv2p/u-boot.lds
index cb90854..990e5a6 100644
--- a/board/xilinx/xupv2p/u-boot.lds
+++ b/board/xilinx/xupv2p/u-boot.lds
@@ -62,6 +62,7 @@ SECTIONS
 		__bss_start = .;
 		*(.bss)
 		__bss_end = .;
+		. = ALIGN(4);
 	}
 	__end = . ;
 }
diff --git a/board/xm250/u-boot.lds b/board/xm250/u-boot.lds
index bf42e9f..1e88820 100644
--- a/board/xm250/u-boot.lds
+++ b/board/xm250/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/xpedite1k/u-boot.lds b/board/xpedite1k/u-boot.lds
index c365c6f..13c52b9 100644
--- a/board/xpedite1k/u-boot.lds
+++ b/board/xpedite1k/u-boot.lds
@@ -150,6 +150,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/xsengine/u-boot.lds b/board/xsengine/u-boot.lds
index bf42e9f..1e88820 100644
--- a/board/xsengine/u-boot.lds
+++ b/board/xsengine/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/board/zeus/u-boot.lds b/board/zeus/u-boot.lds
index d803625..877573e 100644
--- a/board/zeus/u-boot.lds
+++ b/board/zeus/u-boot.lds
@@ -126,6 +126,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/board/zylonite/u-boot.lds b/board/zylonite/u-boot.lds
index 14d264a..7cf9fdf 100644
--- a/board/zylonite/u-boot.lds
+++ b/board/zylonite/u-boot.lds
@@ -51,6 +51,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss (NOLOAD) : { *(.bss) }
+	.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/cpu/arm926ejs/at91/u-boot.lds b/cpu/arm926ejs/at91/u-boot.lds
index 996f401..4778d1e 100644
--- a/cpu/arm926ejs/at91/u-boot.lds
+++ b/cpu/arm926ejs/at91/u-boot.lds
@@ -52,6 +52,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/cpu/mpc5xx/u-boot.lds b/cpu/mpc5xx/u-boot.lds
index c83f155..bf52179 100644
--- a/cpu/mpc5xx/u-boot.lds
+++ b/cpu/mpc5xx/u-boot.lds
@@ -126,6 +126,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/cpu/mpc5xxx/u-boot-customlayout.lds b/cpu/mpc5xxx/u-boot-customlayout.lds
index df8eb7e..f6bb858 100644
--- a/cpu/mpc5xxx/u-boot-customlayout.lds
+++ b/cpu/mpc5xxx/u-boot-customlayout.lds
@@ -129,6 +129,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/cpu/mpc5xxx/u-boot.lds b/cpu/mpc5xxx/u-boot.lds
index 13fffb8..8d1fa60 100644
--- a/cpu/mpc5xxx/u-boot.lds
+++ b/cpu/mpc5xxx/u-boot.lds
@@ -118,6 +118,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/cpu/mpc8220/u-boot.lds b/cpu/mpc8220/u-boot.lds
index e34a9d4..2a12a69 100644
--- a/cpu/mpc8220/u-boot.lds
+++ b/cpu/mpc8220/u-boot.lds
@@ -118,6 +118,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/cpu/mpc824x/u-boot.lds b/cpu/mpc824x/u-boot.lds
index aa3050d..8c7e135 100644
--- a/cpu/mpc824x/u-boot.lds
+++ b/cpu/mpc824x/u-boot.lds
@@ -118,6 +118,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/cpu/mpc8260/u-boot.lds b/cpu/mpc8260/u-boot.lds
index 39f2ce9..d65a939 100644
--- a/cpu/mpc8260/u-boot.lds
+++ b/cpu/mpc8260/u-boot.lds
@@ -118,6 +118,7 @@ SECTIONS
    *(.dynbss)
    *(.bss)
    *(COMMON)
+   . = ALIGN(4);
   }
   _end = . ;
   PROVIDE (end = .);
diff --git a/examples/mips.lds b/examples/mips.lds
index aceb6e9..939e0e6 100644
--- a/examples/mips.lds
+++ b/examples/mips.lds
@@ -53,7 +53,7 @@ SECTIONS
 	. = ALIGN(4);
 	__bss_start = .;
 	.sbss (NOLOAD) : { *(.sbss) }
-	.bss (NOLOAD)  : { *(.bss) }
+	.bss (NOLOAD)  : { *(.bss) . = ALIGN(4); }
 
 	_end = .;
 }
diff --git a/nand_spl/board/amcc/acadia/u-boot.lds b/nand_spl/board/amcc/acadia/u-boot.lds
index 7df55e7..ab42701 100644
--- a/nand_spl/board/amcc/acadia/u-boot.lds
+++ b/nand_spl/board/amcc/acadia/u-boot.lds
@@ -57,6 +57,7 @@ SECTIONS
   {
    *(.sbss)
    *(.bss)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/nand_spl/board/amcc/bamboo/u-boot.lds b/nand_spl/board/amcc/bamboo/u-boot.lds
index 9dfca69..b13168f 100644
--- a/nand_spl/board/amcc/bamboo/u-boot.lds
+++ b/nand_spl/board/amcc/bamboo/u-boot.lds
@@ -59,6 +59,7 @@ SECTIONS
   {
    *(.sbss)
    *(.bss)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/nand_spl/board/amcc/canyonlands/u-boot.lds b/nand_spl/board/amcc/canyonlands/u-boot.lds
index 5bffb5b..ef6d560 100644
--- a/nand_spl/board/amcc/canyonlands/u-boot.lds
+++ b/nand_spl/board/amcc/canyonlands/u-boot.lds
@@ -59,6 +59,7 @@ SECTIONS
   {
    *(.sbss)
    *(.bss)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/nand_spl/board/amcc/kilauea/u-boot.lds b/nand_spl/board/amcc/kilauea/u-boot.lds
index 03e0b79..1335532 100644
--- a/nand_spl/board/amcc/kilauea/u-boot.lds
+++ b/nand_spl/board/amcc/kilauea/u-boot.lds
@@ -57,6 +57,7 @@ SECTIONS
   {
    *(.sbss)
    *(.bss)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/nand_spl/board/amcc/sequoia/u-boot.lds b/nand_spl/board/amcc/sequoia/u-boot.lds
index 0645ee7..d38d097 100644
--- a/nand_spl/board/amcc/sequoia/u-boot.lds
+++ b/nand_spl/board/amcc/sequoia/u-boot.lds
@@ -59,6 +59,7 @@ SECTIONS
   {
    *(.sbss)
    *(.bss)
+   . = ALIGN(4);
   }
 
   _end = . ;
diff --git a/nand_spl/board/samsung/smdk6400/u-boot.lds b/nand_spl/board/samsung/smdk6400/u-boot.lds
index 1bf022c..eb8910c 100644
--- a/nand_spl/board/samsung/smdk6400/u-boot.lds
+++ b/nand_spl/board/samsung/smdk6400/u-boot.lds
@@ -56,6 +56,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
diff --git a/onenand_ipl/board/apollon/u-boot.onenand.lds b/onenand_ipl/board/apollon/u-boot.onenand.lds
index 559f9f2..c8b00a1 100644
--- a/onenand_ipl/board/apollon/u-boot.onenand.lds
+++ b/onenand_ipl/board/apollon/u-boot.onenand.lds
@@ -48,6 +48,6 @@ SECTIONS
 
 	. = ALIGN(4);
 	__bss_start = .;
-	.bss : { *(.bss) }
+	.bss : { *(.bss) . = ALIGN(4); }
 	_end = .;
 }
-- 
1.5.5



More information about the U-Boot mailing list