GNU Info

Info Node: (stabs.info)Transformations On Global Variables

(stabs.info)Transformations On Global Variables


Next: Stab Section Transformations Prev: Transformations On Static Variables Up: Transformations On Symbol Tables
Enter node , (file) or (file)node

Transformations on Global Variables
-----------------------------------

   Stabs for global variables do not contain location information. In
this case, the debugger finds location information in the assembler or
linker symbol table entry describing the variable.  The source line:

     char g_foo = 'c';

generates the stab:

     .stabs "g_foo:G2",32,0,0,0

   The variable is represented by two symbol table entries in the object
file (see below).  The first one originated as a stab.  The second one
is an external symbol.  The upper case `D' signifies that the `n_type'
field of the symbol table contains 7, `N_DATA' with local linkage.  The
stab's value is zero since the value is not used for `N_GSYM' stabs.
The value of the linker symbol is the relocatable address corresponding
to the variable.

     00000000 - 00 0000  GSYM g_foo:G2
     00000080 D _g_foo

These entries as transformed by the linker.  The linker symbol table
entry now holds an absolute address:

     00000000 - 00 0000  GSYM g_foo:G2
     ...
     0000e008 D _g_foo


automatically generated by info2www version 1.2.2.9