title: When / How does Linux load shared libraries into address space?
body: <p>My question is the following:</p>
  
  <p>When is the address of shared objects specified in programs?  During linking?  Loading?  If I wanted to find the memory address of the <code>system</code> command inside of <code>libc</code> inside of my program I could find it easily in <code>gdb</code>, but what if I don't want to bring the program into a debugger?</p>
  
  <p>Could this address change from run to run?  Are there any other static analysis tool that will allow be to view where libraries or functions will be loaded into this program's memory space when run?</p>
  
  <p>EDIT:  I want this information outside of the program (ie. using utilities like <code>objdump</code> to gather information)</p>