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)