* Symbols converted to "local" by version script can not be overridden.
* The linker doesn't need to create PLT for function symbols that can
  not be overridden, when it generates a DSO.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2891 95820547-d848-0410-985e-9ae8fe0fa350
*_RELATIVE relocation can be generated instead of *_GLOB_DAT
relocation for symbols that can not be overridden.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2892 95820547-d848-0410-985e-9ae8fe0fa350
Symbols referenced only by *_RELATIVE relocations don't need to be
added to the dynamic symbol table.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2893 95820547-d848-0410-985e-9ae8fe0fa350
Add support for "--print-gc-sections" and "--no-print-gc-sections"
options.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2894 95820547-d848-0410-985e-9ae8fe0fa350
Add utility function "ld_info" which emits linker information to
stdout.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2895 95820547-d848-0410-985e-9ae8fe0fa350
Add support for command line options "--gc-sections" and
"--no-gc-sections".

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2896 95820547-d848-0410-985e-9ae8fe0fa350
Implement function "ld_reloc_gc_sections" that performs a breadth-first
search for sections referenced by relocations associated with "used"
sections, i.e, to find sections that should not be garbage-collected.
The initial set of "used" sections consists of sections containing
the entry symbol and extern (-u) symbols. The search is recursive:
"used" sections found are inserted to the set and their relocations
will be used to search for more "used" sections.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2897 95820547-d848-0410-985e-9ae8fe0fa350
When garbage collection (option "--gc-sections") is enabled:
* Do not add unused (garbage) sections to the output object.
* Relocation scan is deferred until search for garbage sections
  is finished.

git-svn-id: https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk@2898 95820547-d848-0410-985e-9ae8fe0fa350