Search code examples
avr-gccobjdump

Can I display disassembly code along with symbols from the .bss section only?


I'd like avr-objdump to show the disassembled code from an avr-elf binary file and also include symbols but only those from the .bss section, like this:

SYMBOL TABLE:
00800100 l    d  .bss   00000000 .bss
00800102 u     O .bss   00000001 cqueue<drv::uart0>::ptr
00800101 u     O .bss   00000001 cqueue<drv::uart1>::ptr
...

00000000 <__vectors>:
   0:       78 c0           rjmp    .+240           ; 0xf2 <__ctors_end>
   4:       b2 c0           rjmp    .+356           ; 0x16a <__bad_interrupt>
   8:       b0 c0           rjmp    .+352           ; 0x16a <__bad_interrupt>
   c:       ae c0           rjmp    .+348           ; 0x16a <__bad_interrupt>
  10:       ac c0           rjmp    .+344           ; 0x16a <__bad_interrupt>
  14:       aa c0           rjmp    .+340           ; 0x16a <__bad_interrupt>
  18:       a8 c0           rjmp    .+336           ; 0x16a <__bad_interrupt>
  1c:       a6 c0           rjmp    .+332           ; 0x16a <__bad_interrupt>
  20:       a4 c0           rjmp    .+328           ; 0x16a <__bad_interrupt>
  24:       a2 c0           rjmp    .+324           ; 0x16a <__bad_interrupt>

...

Can it be done?

So far all my attempts have leaded to either showing the .bss section but no disassembly at all or show everything, code and all symbols from all sections...


Solution

  • Depending on your shell, you can just call avr-objdump twice to give a single integrated output:

    (avr-objdump <symbols-from-bss>; avr-objdump <disassembly>)