Go to the first, previous, next, last section, table of contents.


Transformations of Stabs in separate sections

For object file formats using stabs in separate sections (see section Using Stabs in Their Own 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 section Having the Linker Relocate Stabs in ELF). 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)


Go to the first, previous, next, last section, table of contents.