Assembler
About assembler
ARM System's Developer Guide, by Sloss, Symes, Wright.
This one introduces ARM assembler in an easy way, but also has a chapter on C optimization for ARM. I find that ARM assembler is much simpler than x68 assembler.
About Linker and ELF executables
20-part blog series about linkers, by the author of the "gold" ELF linker.
https://lwn.net/Articles/276782/
Tutorial about ELF format
http://nairobi-embedded.org/005_elf_types.html
"How to write shared libraries", Ulrich Drepper: Paper about ELF optimization, that has easy to read introduction to linkers
https://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf
Computer Systems: A Programmer's Perspective, Randal E. Bryant, David R. O'Hallaron, 2011, Prentice Hall.
Textbook, but in chapter 7 has a introduces the concepts behind program linking and virtual memory on a GNU/Linux system. (see chapter 7)