title: Linux (64-bit), nasm and gdb
body: <p>I was searching other threads without luck. 
  My problem is perhaps simple but frustrating.
  I'm compiling two files on 64-bit Ubuntu 11.04:</p>
  
  <ol>
  <li><code>nasm -f elf64 -g file64.asm</code></li>
  <li><code>gcc -g -o file file.c file64.o</code></li>
  </ol>
  
  <p>Then I debug the resulting executables with gdb. 
  With C, everything is OK. 
  However, when debugging assembly, the source code is "not visible" to the debugger. I'm getting the following output:</p>
  
  <pre><code>(gdb) step
  Single stepping until exit from function line,
  which has no line number information.
  0x0000000000400962 in convert ()
  </code></pre>
  
  <p>A quick investigation with:</p>
  
  <pre><code>objdump --source file64.o
  </code></pre>
  
  <p>shows that the assembly source code (and line information) is contained in the file.</p>
  
  <p>Why can't I see it in a debug session? What am I doing wrong?
  These problems arose after moving to 64-bit Ubuntu. In the 32-bit Linux it worked (as it should).</p>