What does the ALIGN keyword do in linker scripts? I read many tutorials about linker scripts but I cant understand what really ALIGN do. Can any one explain it simply. Thanks!>
The ALIGN() instructions tell the linker that section(bss, text) should be this much aligned.
For a typical idea, you can take a look here (4.6.3 "Output Section Description")
e.g.
//.data is aligned by word size on the 32-bit architecture and direct it to the data section
For a 32-bit machine, it typically needs to be word aligned
.data : ALIGN(4)
{
*(.data*)
} > data_sdram