title: What exactly does <puts@plt> mean?
body: <p>at the moment i try to get a bit closer to assembler programming and therefore looked at the assembler code of an easy hello world program:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main () 
  {
      int i;
      for(i=0; i&lt;10; i++)
      {
          printf("Hello, world!\n");
      }
      return 0;
  }
  </code></pre>
  
  <p>Now i try to understand how a fiew simple assembler commands work while going step by step through the assembler code and analyzing what exactly happens:</p>
  
  <pre><code>   0x000000000040052d &lt;+0&gt;: push   rbp
     0x000000000040052e &lt;+1&gt;: mov    rbp,rsp
     0x0000000000400531 &lt;+4&gt;: sub    rsp,0x10
     0x0000000000400535 &lt;+8&gt;: mov    DWORD PTR [rbp-0x4],0x0
     0x000000000040053c &lt;+15&gt;:    jmp    0x40054c &lt;main+31&gt;
     0x000000000040053e &lt;+17&gt;:    mov    edi,0x4005e4
     0x0000000000400543 &lt;+22&gt;:    call   0x400410 &lt;puts@plt&gt;
     0x0000000000400548 &lt;+27&gt;:    add    DWORD PTR [rbp-0x4],0x1
     0x000000000040054c &lt;+31&gt;:    cmp    DWORD PTR [rbp-0x4],0x9
     0x0000000000400550 &lt;+35&gt;:    jle    0x40053e &lt;main+17&gt;
     0x0000000000400552 &lt;+37&gt;:    mov    eax,0x0
     0x0000000000400557 &lt;+42&gt;:    leave  
     0x0000000000400558 &lt;+43&gt;:    ret 
  </code></pre>
  
  <p>The problem is that i dont really understand this line:</p>
  
  <pre><code>0x0000000000400543 &lt;+22&gt;:   call   0x400410 &lt;puts@plt&gt;
  </code></pre>
  
  <p>I tried looking at the adress 0x400410 in various ways but i dont really get it what it really does :/ Also i dont know what this exactly means: <code>&lt;puts@plt&gt;</code></p>
  
  <p>Would be really great if someone could help me to understand this specific line :)
  Greetings Sleepy</p>