looking for tutorial/introduction on linking

I'm at the phase of my project where I need to start generating
libraries (static and shared). I can do the simple case of produce
standard object file and get GCC to link it to an EXE. I'm now looking
for more information about using the full LLVM linker toolbar (like
lld). The topics of most interest to me are:
- static initialization
- name resolution / name conflicts / scopes and exporting
- additional data blocks

Does anybody have a tutorial on this topic? Specifically one related to
how to use LLVM to accomplish my linking phase.