title: Interpret different lines of the proc/<pid>/maps output
body: <p>On a Ubuntu 32-bit machine, I read out the memory map of a process which is a simple C program I wrote. I notice there are three memory region allocated for /malloc/malloc_example which is the path to my binary. A few questions:</p>
  
  <p>1.What are the meanings of these three memory regions? (The second one looks like stack) </p>
  
  <p>2.Similarly, what are the meanings of the three memory regions for /lib/i386-linux-gnu/libc-2.15.so? </p>
  
  <p>3.What is the purpose of [vdso] region?</p>
  
  <p>4.What is the purpose of [stack] region? (I assume that is not the actual stack of the main function because program stack normally starts at 0x0804xxxx)</p>
  
  <pre><code>$cat /proc/27429/maps 
  08048000-08049000 r-xp 00000000 08:01 292930     /malloc/malloc_example
  08049000-0804a000 r-xp 00000000 08:01 292930     /malloc/malloc_example
  0804a000-0804b000 rwxp 00001000 08:01 292930     /malloc/malloc_example
  b7e05000-b7e07000 rwxp 00000000 00:00 0 
  b7e07000-b7faa000 r-xp 00000000 08:01 7311       /lib/i386-linux-gnu/libc-2.15.so
  b7faa000-b7fac000 r-xp 001a3000 08:01 7311       /lib/i386-linux-gnu/libc-2.15.so
  b7fac000-b7fad000 rwxp 001a5000 08:01 7311       /lib/i386-linux-gnu/libc-2.15.so
  b7fad000-b7fb0000 rwxp 00000000 00:00 0 
  b7fb0000-b7fc7000 r-xp 00000000 08:01 7416       /lib/i386-linux-gnu/libpthread-2.15.so
  b7fc7000-b7fc8000 r-xp 00016000 08:01 7416       /lib/i386-linux-gnu/libpthread-2.15.so
  b7fc8000-b7fc9000 rwxp 00017000 08:01 7416       /lib/i386-linux-gnu/libpthread-2.15.so
  b7fc9000-b7fcb000 rwxp 00000000 00:00 0 
  b7fd9000-b7fdd000 rwxp 00000000 00:00 0 
  b7fdd000-b7fde000 r-xp 00000000 00:00 0          [vdso]
  b7fde000-b7ffe000 r-xp 00000000 08:01 7612       /lib/i386-linux-gnu/ld-2.15.so
  b7ffe000-b7fff000 r-xp 0001f000 08:01 7612       /lib/i386-linux-gnu/ld-2.15.so
  b7fff000-b8000000 rwxp 00020000 08:01 7612       /lib/i386-linux-gnu/ld-2.15.so
  bffdf000-c0000000 rwxp 00000000 00:00 0          [stack]
  </code></pre>