bootphase1 : {\r
*(.startup) \r
*(.bootphase1)\r
+ \r
+ /* It seems to be impossible to flush align a section at the\r
+ end of a memory segment. Instead, we'll put the version_information\r
+ wherever the linker wants it, and then put a pointer to the start\r
+ of the version information at the end of the section.\r
+ -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-28 */\r
+ \r
+ _version_information_start = .;\r
+ *(.version_information);\r
+ \r
+ . = LENGTH(bootphase1) - 0x4; /* Skip ahead to the end */\r
+ LONG(_version_information_start)\r
} >bootphase1\r
\r
bootphase2 : {\r