title: How to disassemble one single function using objdump?
body: <p>I've got a binary installed on my system, and would like to look at the disassembly of a given function. Preferrably using <code>objdump</code>, but other solutions would be acceptable as well.</p>
  
  <p>From <a href="https://stackoverflow.com/q/6441721/1468366">this questions</a> I've learned that I might be able to disassemble part of the code if I only know the boundary addresses. From <a href="https://stackoverflow.com/a/17599967/1468366">this answer</a> I've learned how to turn my split debug symbols back into a single file.</p>
  
  <p>But even operating on that single file, and even disassembling all the code (i.e. without start or stop address, but plain <code>-d</code> parameter to <code>objdump</code>), I still don't see that symbol anywhere. Which makes sense insofar as the function in question is static, so it isn't exported. Nevertheless, <code>valgrind</code> will report the function name, so it has to be stored somewhere. </p>
  
  <p>Looking at the details of the debug sections, I find that name mentioned in the <code>.debug_str</code> section, but I don't know a tool which can turn this into an address range.</p>