title: Linux executable memory mapping
body: <p>An elf executable contains a section table. This sections are mapped to segments when the program is loaded in memory.
  I think it is the compiler which decide the segments address in memory ?
  Do you think it is possible for the operating system to change the segments address when the program is loaded.</p>
  
  <p>I am talking about a single elf executable. This is not a library.
  In fact, i have a binary. I know a function address in memory and i want to hook this function from an external program. I just want to be sure that this address will never change. I won t recompile or change anything in the target program.</p>