Previous: Transformations On Global Variables, Up: Transformations On Symbol Tables

#### 7.2.3 Transformations of Stabs in separate sections

For object file formats using stabs in separate sections (see Stab Sections), use `objdump --stabs` instead of `nm` to show the stabs in an object or executable file. `objdump` is a GNU utility; Sun does not provide any equivalent.

The following example is for a stab whose value is an address is relative to the compilation unit (see ELF Linker Relocation). For example, if the source line

         static int ld = 5;

appears within a function, then the assembly language output from the compiler contains:

         .Ddata.data:
         ...
                 .stabs "ld:V(0,3)",0x26,0,4,.L18-Ddata.data    # 0x26 is N_STSYM
         ...
         .L18:
                 .align 4
                 .word 0x5

Because the value is formed by subtracting one symbol from another, the value is absolute, not relocatable, and so the object file contains

         Symnum n_type n_othr n_desc n_value  n_strx String
         31     STSYM  0      4      00000004 680    ld:V(0,3)

without any relocations, and the executable file also contains

         Symnum n_type n_othr n_desc n_value  n_strx String
         31     STSYM  0      4      00000004 680    ld:V(0,3)