If you want to learn more about linkers and linker scripts I suggest you to take a look on this series of post from Ian Lance Taylor at his blog:
http://www.airs.com/blog/archives/38
http://www.airs.com/blog/archives/39
http://www.airs.com/blog/archives/40
http://www.airs.com/blog/archives/41
http://www.airs.com/blog/archives/42
http://www.airs.com/blog/archives/43
http://www.airs.com/blog/archives/44
http://www.airs.com/blog/archives/45
http://www.airs.com/blog/archives/46
http://www.airs.com/blog/archives/47
http://www.airs.com/blog/archives/48
http://www.airs.com/blog/archives/49
http://www.airs.com/blog/archives/50
http://www.airs.com/blog/archives/51
http://www.airs.com/blog/archives/52
http://www.airs.com/blog/archives/53
http://www.airs.com/blog/archives/54
http://www.airs.com/blog/archives/55
http://www.airs.com/blog/archives/56
http://www.airs.com/blog/archives/57