I run into a problem with linker command file where was KEEP_SECTIONS defined. I include some links with this topic to get familiar with linkers.
Linker command file (gnu) [delorie.com/gnu/docs/binutils]
Commands and Operators in Linker files
Linker description and an example - Chapter 7 [csapp.cs.cmu.edu]
Linkers and Loaders book
Linker and Loaders book written by John R. Levine published online.
Beginner's guide to Linkers [www.lurklurk.org]
Beginners guide to Linkers is explanatory article about process of linking. It has introduction to C++ and how linkers are changed because of new features of C++ compare to C language.
Linker Script File [bravegnu.org]
The article explains linker script file and in a next chapter how data are placed in RAM.