[ELF] Refactoring and style cleanup. No functionality change.
[ELF] Never allocate content to weak symbols as they may be merged away.

This is done by creating a new non-weak anonymous symbol and creating
an atom with content for that symbol. This is added after the weak symbol
so that they have the same address.
Trailing whitespace.